google-apis-gkehub_v1beta 0.1.0 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 57204a1b465926b4a0eda0924db5ba94c50a4efee4af4f8f6c88c3e33d7b8746
4
- data.tar.gz: c7477932ebfc1b69074cf4179ed008531bc3451d8493d4d6a4e53e3c9fe4453e
3
+ metadata.gz: 4e4ed27ab09e9bae05c991ea03ed6b88f3bd7fdd80abf4f83814c5eb57381840
4
+ data.tar.gz: bb951d6c24a5b7529cc8d416f4b98fe38e8ed9c04bd962f9b571b67a2cdd1acc
5
5
  SHA512:
6
- metadata.gz: f60a60a63d5e8fc5a93e84d25ce351b785e93f14fefec2522af4d5be4def9a2733c17c597451b9c80d2893fcbd838241e83c6a0d015a55bc5b97b78c3005d7c4
7
- data.tar.gz: 6eb56661253b04be32fe8de7edb952cb0ef781fcb43b474db28057ee2cd0e5ca63085f2f7ba8d93c20c5582a4c80715222cfc1c6fd5297405ff0b1ab49182415
6
+ metadata.gz: f1a569933a2d1bcf10916c4adf0d93f6c244cae591ca92ea0f11481ff143b78fb3d0c645c815a66c47314cf5cff3997ee88c727be9623185df16a1b5f9662568
7
+ data.tar.gz: db62309f80fb95b9e49c485ed8f5086d81302138b5f26367a9b107e771a7d663c7c99a5542fdda3e0ed17a2c568c9abefc0845d554a20ae94875b9b0eaf1ec54
data/CHANGELOG.md CHANGED
@@ -1,5 +1,26 @@
1
1
  # Release history for google-apis-gkehub_v1beta
2
2
 
3
+ ### v0.6.0 (2021-06-29)
4
+
5
+ * Regenerated using generator version 0.4.0
6
+
7
+ ### v0.5.0 (2021-06-25)
8
+
9
+ * Regenerated from discovery document revision 20210622
10
+ * Regenerated using generator version 0.3.0
11
+
12
+ ### v0.4.0 (2021-05-19)
13
+
14
+ * Unspecified changes
15
+
16
+ ### v0.3.0 (2021-05-12)
17
+
18
+ * Regenerated from discovery document revision 20210507
19
+
20
+ ### v0.2.0 (2021-03-25)
21
+
22
+ * Regenerated from discovery document revision 20210322
23
+
3
24
  ### v0.1.0 (2021-03-21)
4
25
 
5
26
  * Regenerated from discovery document revision 20210315
@@ -177,6 +177,876 @@ module Google
177
177
  end
178
178
  end
179
179
 
180
+ # CommonFeatureSpec contains Hub-wide configuration information
181
+ class CommonFeatureSpec
182
+ include Google::Apis::Core::Hashable
183
+
184
+ # **Multi-cluster Ingress**: The configuration for the MultiClusterIngress
185
+ # feature.
186
+ # Corresponds to the JSON property `multiclusteringress`
187
+ # @return [Google::Apis::GkehubV1beta::MultiClusterIngressFeatureSpec]
188
+ attr_accessor :multiclusteringress
189
+
190
+ def initialize(**args)
191
+ update!(**args)
192
+ end
193
+
194
+ # Update properties of this object
195
+ def update!(**args)
196
+ @multiclusteringress = args[:multiclusteringress] if args.key?(:multiclusteringress)
197
+ end
198
+ end
199
+
200
+ # CommonFeatureState contains Hub-wide Feature status information.
201
+ class CommonFeatureState
202
+ include Google::Apis::Core::Hashable
203
+
204
+ # FeatureState describes the high-level state of a Feature. It may be used to
205
+ # describe a Feature's state at the environ-level, or per-membershop, depending
206
+ # on the context.
207
+ # Corresponds to the JSON property `state`
208
+ # @return [Google::Apis::GkehubV1beta::FeatureState]
209
+ attr_accessor :state
210
+
211
+ def initialize(**args)
212
+ update!(**args)
213
+ end
214
+
215
+ # Update properties of this object
216
+ def update!(**args)
217
+ @state = args[:state] if args.key?(:state)
218
+ end
219
+ end
220
+
221
+ # Configuration for Binauthz
222
+ class ConfigManagementBinauthzConfig
223
+ include Google::Apis::Core::Hashable
224
+
225
+ # Whether binauthz is enabled in this cluster.
226
+ # Corresponds to the JSON property `enabled`
227
+ # @return [Boolean]
228
+ attr_accessor :enabled
229
+ alias_method :enabled?, :enabled
230
+
231
+ def initialize(**args)
232
+ update!(**args)
233
+ end
234
+
235
+ # Update properties of this object
236
+ def update!(**args)
237
+ @enabled = args[:enabled] if args.key?(:enabled)
238
+ end
239
+ end
240
+
241
+ # State for Binauthz
242
+ class ConfigManagementBinauthzState
243
+ include Google::Apis::Core::Hashable
244
+
245
+ # The version of binauthz.
246
+ # Corresponds to the JSON property `version`
247
+ # @return [Google::Apis::GkehubV1beta::ConfigManagementBinauthzVersion]
248
+ attr_accessor :version
249
+
250
+ # The state of the binauthz webhook.
251
+ # Corresponds to the JSON property `webhook`
252
+ # @return [String]
253
+ attr_accessor :webhook
254
+
255
+ def initialize(**args)
256
+ update!(**args)
257
+ end
258
+
259
+ # Update properties of this object
260
+ def update!(**args)
261
+ @version = args[:version] if args.key?(:version)
262
+ @webhook = args[:webhook] if args.key?(:webhook)
263
+ end
264
+ end
265
+
266
+ # The version of binauthz.
267
+ class ConfigManagementBinauthzVersion
268
+ include Google::Apis::Core::Hashable
269
+
270
+ # The version of the binauthz webhook.
271
+ # Corresponds to the JSON property `webhookVersion`
272
+ # @return [String]
273
+ attr_accessor :webhook_version
274
+
275
+ def initialize(**args)
276
+ update!(**args)
277
+ end
278
+
279
+ # Update properties of this object
280
+ def update!(**args)
281
+ @webhook_version = args[:webhook_version] if args.key?(:webhook_version)
282
+ end
283
+ end
284
+
285
+ # Configuration for Config Sync
286
+ class ConfigManagementConfigSync
287
+ include Google::Apis::Core::Hashable
288
+
289
+ # Git repo configuration for a single cluster.
290
+ # Corresponds to the JSON property `git`
291
+ # @return [Google::Apis::GkehubV1beta::ConfigManagementGitConfig]
292
+ attr_accessor :git
293
+
294
+ # Specifies whether the Config Sync Repo is in “hierarchical” or “unstructured”
295
+ # mode.
296
+ # Corresponds to the JSON property `sourceFormat`
297
+ # @return [String]
298
+ attr_accessor :source_format
299
+
300
+ def initialize(**args)
301
+ update!(**args)
302
+ end
303
+
304
+ # Update properties of this object
305
+ def update!(**args)
306
+ @git = args[:git] if args.key?(:git)
307
+ @source_format = args[:source_format] if args.key?(:source_format)
308
+ end
309
+ end
310
+
311
+ # The state of ConfigSync's deployment on a cluster
312
+ class ConfigManagementConfigSyncDeploymentState
313
+ include Google::Apis::Core::Hashable
314
+
315
+ # Deployment state of the git-sync pod
316
+ # Corresponds to the JSON property `gitSync`
317
+ # @return [String]
318
+ attr_accessor :git_sync
319
+
320
+ # Deployment state of the importer pod
321
+ # Corresponds to the JSON property `importer`
322
+ # @return [String]
323
+ attr_accessor :importer
324
+
325
+ # Deployment state of the monitor pod
326
+ # Corresponds to the JSON property `monitor`
327
+ # @return [String]
328
+ attr_accessor :monitor
329
+
330
+ # Deployment state of reconciler-manager pod
331
+ # Corresponds to the JSON property `reconcilerManager`
332
+ # @return [String]
333
+ attr_accessor :reconciler_manager
334
+
335
+ # Deployment state of root-reconciler
336
+ # Corresponds to the JSON property `rootReconciler`
337
+ # @return [String]
338
+ attr_accessor :root_reconciler
339
+
340
+ # Deployment state of the syncer pod
341
+ # Corresponds to the JSON property `syncer`
342
+ # @return [String]
343
+ attr_accessor :syncer
344
+
345
+ def initialize(**args)
346
+ update!(**args)
347
+ end
348
+
349
+ # Update properties of this object
350
+ def update!(**args)
351
+ @git_sync = args[:git_sync] if args.key?(:git_sync)
352
+ @importer = args[:importer] if args.key?(:importer)
353
+ @monitor = args[:monitor] if args.key?(:monitor)
354
+ @reconciler_manager = args[:reconciler_manager] if args.key?(:reconciler_manager)
355
+ @root_reconciler = args[:root_reconciler] if args.key?(:root_reconciler)
356
+ @syncer = args[:syncer] if args.key?(:syncer)
357
+ end
358
+ end
359
+
360
+ # State information for ConfigSync
361
+ class ConfigManagementConfigSyncState
362
+ include Google::Apis::Core::Hashable
363
+
364
+ # The state of ConfigSync's deployment on a cluster
365
+ # Corresponds to the JSON property `deploymentState`
366
+ # @return [Google::Apis::GkehubV1beta::ConfigManagementConfigSyncDeploymentState]
367
+ attr_accessor :deployment_state
368
+
369
+ # State indicating an ACM's progress syncing configurations to a cluster
370
+ # Corresponds to the JSON property `syncState`
371
+ # @return [Google::Apis::GkehubV1beta::ConfigManagementSyncState]
372
+ attr_accessor :sync_state
373
+
374
+ # Specific versioning information pertaining to ConfigSync's Pods
375
+ # Corresponds to the JSON property `version`
376
+ # @return [Google::Apis::GkehubV1beta::ConfigManagementConfigSyncVersion]
377
+ attr_accessor :version
378
+
379
+ def initialize(**args)
380
+ update!(**args)
381
+ end
382
+
383
+ # Update properties of this object
384
+ def update!(**args)
385
+ @deployment_state = args[:deployment_state] if args.key?(:deployment_state)
386
+ @sync_state = args[:sync_state] if args.key?(:sync_state)
387
+ @version = args[:version] if args.key?(:version)
388
+ end
389
+ end
390
+
391
+ # Specific versioning information pertaining to ConfigSync's Pods
392
+ class ConfigManagementConfigSyncVersion
393
+ include Google::Apis::Core::Hashable
394
+
395
+ # Version of the deployed git-sync pod
396
+ # Corresponds to the JSON property `gitSync`
397
+ # @return [String]
398
+ attr_accessor :git_sync
399
+
400
+ # Version of the deployed importer pod
401
+ # Corresponds to the JSON property `importer`
402
+ # @return [String]
403
+ attr_accessor :importer
404
+
405
+ # Version of the deployed monitor pod
406
+ # Corresponds to the JSON property `monitor`
407
+ # @return [String]
408
+ attr_accessor :monitor
409
+
410
+ # Version of the deployed reconciler-manager pod
411
+ # Corresponds to the JSON property `reconcilerManager`
412
+ # @return [String]
413
+ attr_accessor :reconciler_manager
414
+
415
+ # Version of the deployed reconciler container in root-reconciler pod
416
+ # Corresponds to the JSON property `rootReconciler`
417
+ # @return [String]
418
+ attr_accessor :root_reconciler
419
+
420
+ # Version of the deployed syncer pod
421
+ # Corresponds to the JSON property `syncer`
422
+ # @return [String]
423
+ attr_accessor :syncer
424
+
425
+ def initialize(**args)
426
+ update!(**args)
427
+ end
428
+
429
+ # Update properties of this object
430
+ def update!(**args)
431
+ @git_sync = args[:git_sync] if args.key?(:git_sync)
432
+ @importer = args[:importer] if args.key?(:importer)
433
+ @monitor = args[:monitor] if args.key?(:monitor)
434
+ @reconciler_manager = args[:reconciler_manager] if args.key?(:reconciler_manager)
435
+ @root_reconciler = args[:root_reconciler] if args.key?(:root_reconciler)
436
+ @syncer = args[:syncer] if args.key?(:syncer)
437
+ end
438
+ end
439
+
440
+ # Model for a config file in the git repo with an associated Sync error
441
+ class ConfigManagementErrorResource
442
+ include Google::Apis::Core::Hashable
443
+
444
+ # A Kubernetes object's GVK
445
+ # Corresponds to the JSON property `resourceGvk`
446
+ # @return [Google::Apis::GkehubV1beta::ConfigManagementGroupVersionKind]
447
+ attr_accessor :resource_gvk
448
+
449
+ # Metadata name of the resource that is causing an error
450
+ # Corresponds to the JSON property `resourceName`
451
+ # @return [String]
452
+ attr_accessor :resource_name
453
+
454
+ # Namespace of the resource that is causing an error
455
+ # Corresponds to the JSON property `resourceNamespace`
456
+ # @return [String]
457
+ attr_accessor :resource_namespace
458
+
459
+ # Path in the git repo of the erroneous config
460
+ # Corresponds to the JSON property `sourcePath`
461
+ # @return [String]
462
+ attr_accessor :source_path
463
+
464
+ def initialize(**args)
465
+ update!(**args)
466
+ end
467
+
468
+ # Update properties of this object
469
+ def update!(**args)
470
+ @resource_gvk = args[:resource_gvk] if args.key?(:resource_gvk)
471
+ @resource_name = args[:resource_name] if args.key?(:resource_name)
472
+ @resource_namespace = args[:resource_namespace] if args.key?(:resource_namespace)
473
+ @source_path = args[:source_path] if args.key?(:source_path)
474
+ end
475
+ end
476
+
477
+ # State of Policy Controller installation.
478
+ class ConfigManagementGatekeeperDeploymentState
479
+ include Google::Apis::Core::Hashable
480
+
481
+ # Status of gatekeeper-audit deployment.
482
+ # Corresponds to the JSON property `gatekeeperAudit`
483
+ # @return [String]
484
+ attr_accessor :gatekeeper_audit
485
+
486
+ # Status of gatekeeper-controller-manager pod.
487
+ # Corresponds to the JSON property `gatekeeperControllerManagerState`
488
+ # @return [String]
489
+ attr_accessor :gatekeeper_controller_manager_state
490
+
491
+ def initialize(**args)
492
+ update!(**args)
493
+ end
494
+
495
+ # Update properties of this object
496
+ def update!(**args)
497
+ @gatekeeper_audit = args[:gatekeeper_audit] if args.key?(:gatekeeper_audit)
498
+ @gatekeeper_controller_manager_state = args[:gatekeeper_controller_manager_state] if args.key?(:gatekeeper_controller_manager_state)
499
+ end
500
+ end
501
+
502
+ # Git repo configuration for a single cluster.
503
+ class ConfigManagementGitConfig
504
+ include Google::Apis::Core::Hashable
505
+
506
+ # The GCP Service Account Email used for auth when secret_type is
507
+ # gcpServiceAccount.
508
+ # Corresponds to the JSON property `gcpServiceAccountEmail`
509
+ # @return [String]
510
+ attr_accessor :gcp_service_account_email
511
+
512
+ # URL for the HTTPS proxy to be used when communicating with the Git repo.
513
+ # Corresponds to the JSON property `httpsProxy`
514
+ # @return [String]
515
+ attr_accessor :https_proxy
516
+
517
+ # The path within the Git repository that represents the top level of the repo
518
+ # to sync. Default: the root directory of the repository.
519
+ # Corresponds to the JSON property `policyDir`
520
+ # @return [String]
521
+ attr_accessor :policy_dir
522
+
523
+ # Type of secret configured for access to the Git repo.
524
+ # Corresponds to the JSON property `secretType`
525
+ # @return [String]
526
+ attr_accessor :secret_type
527
+
528
+ # The branch of the repository to sync from. Default: master.
529
+ # Corresponds to the JSON property `syncBranch`
530
+ # @return [String]
531
+ attr_accessor :sync_branch
532
+
533
+ # The URL of the Git repository to use as the source of truth.
534
+ # Corresponds to the JSON property `syncRepo`
535
+ # @return [String]
536
+ attr_accessor :sync_repo
537
+
538
+ # Git revision (tag or hash) to check out. Default HEAD.
539
+ # Corresponds to the JSON property `syncRev`
540
+ # @return [String]
541
+ attr_accessor :sync_rev
542
+
543
+ # Period in seconds between consecutive syncs. Default: 15.
544
+ # Corresponds to the JSON property `syncWaitSecs`
545
+ # @return [Fixnum]
546
+ attr_accessor :sync_wait_secs
547
+
548
+ def initialize(**args)
549
+ update!(**args)
550
+ end
551
+
552
+ # Update properties of this object
553
+ def update!(**args)
554
+ @gcp_service_account_email = args[:gcp_service_account_email] if args.key?(:gcp_service_account_email)
555
+ @https_proxy = args[:https_proxy] if args.key?(:https_proxy)
556
+ @policy_dir = args[:policy_dir] if args.key?(:policy_dir)
557
+ @secret_type = args[:secret_type] if args.key?(:secret_type)
558
+ @sync_branch = args[:sync_branch] if args.key?(:sync_branch)
559
+ @sync_repo = args[:sync_repo] if args.key?(:sync_repo)
560
+ @sync_rev = args[:sync_rev] if args.key?(:sync_rev)
561
+ @sync_wait_secs = args[:sync_wait_secs] if args.key?(:sync_wait_secs)
562
+ end
563
+ end
564
+
565
+ # A Kubernetes object's GVK
566
+ class ConfigManagementGroupVersionKind
567
+ include Google::Apis::Core::Hashable
568
+
569
+ # Kubernetes Group
570
+ # Corresponds to the JSON property `group`
571
+ # @return [String]
572
+ attr_accessor :group
573
+
574
+ # Kubernetes Kind
575
+ # Corresponds to the JSON property `kind`
576
+ # @return [String]
577
+ attr_accessor :kind
578
+
579
+ # Kubernetes Version
580
+ # Corresponds to the JSON property `version`
581
+ # @return [String]
582
+ attr_accessor :version
583
+
584
+ def initialize(**args)
585
+ update!(**args)
586
+ end
587
+
588
+ # Update properties of this object
589
+ def update!(**args)
590
+ @group = args[:group] if args.key?(:group)
591
+ @kind = args[:kind] if args.key?(:kind)
592
+ @version = args[:version] if args.key?(:version)
593
+ end
594
+ end
595
+
596
+ # Configuration for Hierarchy Controller
597
+ class ConfigManagementHierarchyControllerConfig
598
+ include Google::Apis::Core::Hashable
599
+
600
+ # Whether hierarchical resource quota is enabled in this cluster.
601
+ # Corresponds to the JSON property `enableHierarchicalResourceQuota`
602
+ # @return [Boolean]
603
+ attr_accessor :enable_hierarchical_resource_quota
604
+ alias_method :enable_hierarchical_resource_quota?, :enable_hierarchical_resource_quota
605
+
606
+ # Whether pod tree labels are enabled in this cluster.
607
+ # Corresponds to the JSON property `enablePodTreeLabels`
608
+ # @return [Boolean]
609
+ attr_accessor :enable_pod_tree_labels
610
+ alias_method :enable_pod_tree_labels?, :enable_pod_tree_labels
611
+
612
+ # Whether Hierarchy Controller is enabled in this cluster.
613
+ # Corresponds to the JSON property `enabled`
614
+ # @return [Boolean]
615
+ attr_accessor :enabled
616
+ alias_method :enabled?, :enabled
617
+
618
+ def initialize(**args)
619
+ update!(**args)
620
+ end
621
+
622
+ # Update properties of this object
623
+ def update!(**args)
624
+ @enable_hierarchical_resource_quota = args[:enable_hierarchical_resource_quota] if args.key?(:enable_hierarchical_resource_quota)
625
+ @enable_pod_tree_labels = args[:enable_pod_tree_labels] if args.key?(:enable_pod_tree_labels)
626
+ @enabled = args[:enabled] if args.key?(:enabled)
627
+ end
628
+ end
629
+
630
+ # Deployment state for Hierarchy Controller
631
+ class ConfigManagementHierarchyControllerDeploymentState
632
+ include Google::Apis::Core::Hashable
633
+
634
+ # The deployment state for Hierarchy Controller extension (e.g. v0.7.0-hc.1)
635
+ # Corresponds to the JSON property `extension`
636
+ # @return [String]
637
+ attr_accessor :extension
638
+
639
+ # The deployment state for open source HNC (e.g. v0.7.0-hc.0)
640
+ # Corresponds to the JSON property `hnc`
641
+ # @return [String]
642
+ attr_accessor :hnc
643
+
644
+ def initialize(**args)
645
+ update!(**args)
646
+ end
647
+
648
+ # Update properties of this object
649
+ def update!(**args)
650
+ @extension = args[:extension] if args.key?(:extension)
651
+ @hnc = args[:hnc] if args.key?(:hnc)
652
+ end
653
+ end
654
+
655
+ # State for Hierarchy Controller
656
+ class ConfigManagementHierarchyControllerState
657
+ include Google::Apis::Core::Hashable
658
+
659
+ # Deployment state for Hierarchy Controller
660
+ # Corresponds to the JSON property `state`
661
+ # @return [Google::Apis::GkehubV1beta::ConfigManagementHierarchyControllerDeploymentState]
662
+ attr_accessor :state
663
+
664
+ # Version for Hierarchy Controller
665
+ # Corresponds to the JSON property `version`
666
+ # @return [Google::Apis::GkehubV1beta::ConfigManagementHierarchyControllerVersion]
667
+ attr_accessor :version
668
+
669
+ def initialize(**args)
670
+ update!(**args)
671
+ end
672
+
673
+ # Update properties of this object
674
+ def update!(**args)
675
+ @state = args[:state] if args.key?(:state)
676
+ @version = args[:version] if args.key?(:version)
677
+ end
678
+ end
679
+
680
+ # Version for Hierarchy Controller
681
+ class ConfigManagementHierarchyControllerVersion
682
+ include Google::Apis::Core::Hashable
683
+
684
+ # Version for Hierarchy Controller extension
685
+ # Corresponds to the JSON property `extension`
686
+ # @return [String]
687
+ attr_accessor :extension
688
+
689
+ # Version for open source HNC
690
+ # Corresponds to the JSON property `hnc`
691
+ # @return [String]
692
+ attr_accessor :hnc
693
+
694
+ def initialize(**args)
695
+ update!(**args)
696
+ end
697
+
698
+ # Update properties of this object
699
+ def update!(**args)
700
+ @extension = args[:extension] if args.key?(:extension)
701
+ @hnc = args[:hnc] if args.key?(:hnc)
702
+ end
703
+ end
704
+
705
+ # Errors pertaining to the installation of ACM
706
+ class ConfigManagementInstallError
707
+ include Google::Apis::Core::Hashable
708
+
709
+ # A string representing the user facing error message
710
+ # Corresponds to the JSON property `errorMessage`
711
+ # @return [String]
712
+ attr_accessor :error_message
713
+
714
+ def initialize(**args)
715
+ update!(**args)
716
+ end
717
+
718
+ # Update properties of this object
719
+ def update!(**args)
720
+ @error_message = args[:error_message] if args.key?(:error_message)
721
+ end
722
+ end
723
+
724
+ # **Anthos Config Management**: Configuration for a single cluster. Intended to
725
+ # parallel the ConfigManagement CR.
726
+ class ConfigManagementMembershipSpec
727
+ include Google::Apis::Core::Hashable
728
+
729
+ # Configuration for Binauthz
730
+ # Corresponds to the JSON property `binauthz`
731
+ # @return [Google::Apis::GkehubV1beta::ConfigManagementBinauthzConfig]
732
+ attr_accessor :binauthz
733
+
734
+ # Configuration for Config Sync
735
+ # Corresponds to the JSON property `configSync`
736
+ # @return [Google::Apis::GkehubV1beta::ConfigManagementConfigSync]
737
+ attr_accessor :config_sync
738
+
739
+ # Configuration for Hierarchy Controller
740
+ # Corresponds to the JSON property `hierarchyController`
741
+ # @return [Google::Apis::GkehubV1beta::ConfigManagementHierarchyControllerConfig]
742
+ attr_accessor :hierarchy_controller
743
+
744
+ # Configuration for Policy Controller
745
+ # Corresponds to the JSON property `policyController`
746
+ # @return [Google::Apis::GkehubV1beta::ConfigManagementPolicyController]
747
+ attr_accessor :policy_controller
748
+
749
+ # Version of ACM installed.
750
+ # Corresponds to the JSON property `version`
751
+ # @return [String]
752
+ attr_accessor :version
753
+
754
+ def initialize(**args)
755
+ update!(**args)
756
+ end
757
+
758
+ # Update properties of this object
759
+ def update!(**args)
760
+ @binauthz = args[:binauthz] if args.key?(:binauthz)
761
+ @config_sync = args[:config_sync] if args.key?(:config_sync)
762
+ @hierarchy_controller = args[:hierarchy_controller] if args.key?(:hierarchy_controller)
763
+ @policy_controller = args[:policy_controller] if args.key?(:policy_controller)
764
+ @version = args[:version] if args.key?(:version)
765
+ end
766
+ end
767
+
768
+ # **Anthos Config Management**: State for a single cluster.
769
+ class ConfigManagementMembershipState
770
+ include Google::Apis::Core::Hashable
771
+
772
+ # State for Binauthz
773
+ # Corresponds to the JSON property `binauthzState`
774
+ # @return [Google::Apis::GkehubV1beta::ConfigManagementBinauthzState]
775
+ attr_accessor :binauthz_state
776
+
777
+ # The user-defined name for the cluster used by ClusterSelectors to group
778
+ # clusters together. This should match Membership's membership_name, unless the
779
+ # user installed ACM on the cluster manually prior to enabling the ACM hub
780
+ # feature. Unique within a Anthos Config Management installation.
781
+ # Corresponds to the JSON property `clusterName`
782
+ # @return [String]
783
+ attr_accessor :cluster_name
784
+
785
+ # State information for ConfigSync
786
+ # Corresponds to the JSON property `configSyncState`
787
+ # @return [Google::Apis::GkehubV1beta::ConfigManagementConfigSyncState]
788
+ attr_accessor :config_sync_state
789
+
790
+ # State for Hierarchy Controller
791
+ # Corresponds to the JSON property `hierarchyControllerState`
792
+ # @return [Google::Apis::GkehubV1beta::ConfigManagementHierarchyControllerState]
793
+ attr_accessor :hierarchy_controller_state
794
+
795
+ # **Anthos Config Management**: Configuration for a single cluster. Intended to
796
+ # parallel the ConfigManagement CR.
797
+ # Corresponds to the JSON property `membershipSpec`
798
+ # @return [Google::Apis::GkehubV1beta::ConfigManagementMembershipSpec]
799
+ attr_accessor :membership_spec
800
+
801
+ # State information for an ACM's Operator
802
+ # Corresponds to the JSON property `operatorState`
803
+ # @return [Google::Apis::GkehubV1beta::ConfigManagementOperatorState]
804
+ attr_accessor :operator_state
805
+
806
+ # State for PolicyControllerState.
807
+ # Corresponds to the JSON property `policyControllerState`
808
+ # @return [Google::Apis::GkehubV1beta::ConfigManagementPolicyControllerState]
809
+ attr_accessor :policy_controller_state
810
+
811
+ def initialize(**args)
812
+ update!(**args)
813
+ end
814
+
815
+ # Update properties of this object
816
+ def update!(**args)
817
+ @binauthz_state = args[:binauthz_state] if args.key?(:binauthz_state)
818
+ @cluster_name = args[:cluster_name] if args.key?(:cluster_name)
819
+ @config_sync_state = args[:config_sync_state] if args.key?(:config_sync_state)
820
+ @hierarchy_controller_state = args[:hierarchy_controller_state] if args.key?(:hierarchy_controller_state)
821
+ @membership_spec = args[:membership_spec] if args.key?(:membership_spec)
822
+ @operator_state = args[:operator_state] if args.key?(:operator_state)
823
+ @policy_controller_state = args[:policy_controller_state] if args.key?(:policy_controller_state)
824
+ end
825
+ end
826
+
827
+ # State information for an ACM's Operator
828
+ class ConfigManagementOperatorState
829
+ include Google::Apis::Core::Hashable
830
+
831
+ # The state of the Operator's deployment
832
+ # Corresponds to the JSON property `deploymentState`
833
+ # @return [String]
834
+ attr_accessor :deployment_state
835
+
836
+ # Install errors.
837
+ # Corresponds to the JSON property `errors`
838
+ # @return [Array<Google::Apis::GkehubV1beta::ConfigManagementInstallError>]
839
+ attr_accessor :errors
840
+
841
+ # The semenatic version number of the operator
842
+ # Corresponds to the JSON property `version`
843
+ # @return [String]
844
+ attr_accessor :version
845
+
846
+ def initialize(**args)
847
+ update!(**args)
848
+ end
849
+
850
+ # Update properties of this object
851
+ def update!(**args)
852
+ @deployment_state = args[:deployment_state] if args.key?(:deployment_state)
853
+ @errors = args[:errors] if args.key?(:errors)
854
+ @version = args[:version] if args.key?(:version)
855
+ end
856
+ end
857
+
858
+ # Configuration for Policy Controller
859
+ class ConfigManagementPolicyController
860
+ include Google::Apis::Core::Hashable
861
+
862
+ # Sets the interval for Policy Controller Audit Scans (in seconds). When set to
863
+ # 0, this disables audit functionality altogether.
864
+ # Corresponds to the JSON property `auditIntervalSeconds`
865
+ # @return [Fixnum]
866
+ attr_accessor :audit_interval_seconds
867
+
868
+ # Enables the installation of Policy Controller. If false, the rest of
869
+ # PolicyController fields take no effect.
870
+ # Corresponds to the JSON property `enabled`
871
+ # @return [Boolean]
872
+ attr_accessor :enabled
873
+ alias_method :enabled?, :enabled
874
+
875
+ # The set of namespaces that are excluded from Policy Controller checks.
876
+ # Namespaces do not need to currently exist on the cluster.
877
+ # Corresponds to the JSON property `exemptableNamespaces`
878
+ # @return [Array<String>]
879
+ attr_accessor :exemptable_namespaces
880
+
881
+ # Logs all denies and dry run failures.
882
+ # Corresponds to the JSON property `logDeniesEnabled`
883
+ # @return [Boolean]
884
+ attr_accessor :log_denies_enabled
885
+ alias_method :log_denies_enabled?, :log_denies_enabled
886
+
887
+ # Enables the ability to use Constraint Templates that reference to objects
888
+ # other than the object currently being evaluated.
889
+ # Corresponds to the JSON property `referentialRulesEnabled`
890
+ # @return [Boolean]
891
+ attr_accessor :referential_rules_enabled
892
+ alias_method :referential_rules_enabled?, :referential_rules_enabled
893
+
894
+ # Installs the default template library along with Policy Controller.
895
+ # Corresponds to the JSON property `templateLibraryInstalled`
896
+ # @return [Boolean]
897
+ attr_accessor :template_library_installed
898
+ alias_method :template_library_installed?, :template_library_installed
899
+
900
+ def initialize(**args)
901
+ update!(**args)
902
+ end
903
+
904
+ # Update properties of this object
905
+ def update!(**args)
906
+ @audit_interval_seconds = args[:audit_interval_seconds] if args.key?(:audit_interval_seconds)
907
+ @enabled = args[:enabled] if args.key?(:enabled)
908
+ @exemptable_namespaces = args[:exemptable_namespaces] if args.key?(:exemptable_namespaces)
909
+ @log_denies_enabled = args[:log_denies_enabled] if args.key?(:log_denies_enabled)
910
+ @referential_rules_enabled = args[:referential_rules_enabled] if args.key?(:referential_rules_enabled)
911
+ @template_library_installed = args[:template_library_installed] if args.key?(:template_library_installed)
912
+ end
913
+ end
914
+
915
+ # State for PolicyControllerState.
916
+ class ConfigManagementPolicyControllerState
917
+ include Google::Apis::Core::Hashable
918
+
919
+ # State of Policy Controller installation.
920
+ # Corresponds to the JSON property `deploymentState`
921
+ # @return [Google::Apis::GkehubV1beta::ConfigManagementGatekeeperDeploymentState]
922
+ attr_accessor :deployment_state
923
+
924
+ # The build version of Gatekeeper Policy Controller is using.
925
+ # Corresponds to the JSON property `version`
926
+ # @return [Google::Apis::GkehubV1beta::ConfigManagementPolicyControllerVersion]
927
+ attr_accessor :version
928
+
929
+ def initialize(**args)
930
+ update!(**args)
931
+ end
932
+
933
+ # Update properties of this object
934
+ def update!(**args)
935
+ @deployment_state = args[:deployment_state] if args.key?(:deployment_state)
936
+ @version = args[:version] if args.key?(:version)
937
+ end
938
+ end
939
+
940
+ # The build version of Gatekeeper Policy Controller is using.
941
+ class ConfigManagementPolicyControllerVersion
942
+ include Google::Apis::Core::Hashable
943
+
944
+ # The gatekeeper image tag that is composed of ACM version, git tag, build
945
+ # number.
946
+ # Corresponds to the JSON property `version`
947
+ # @return [String]
948
+ attr_accessor :version
949
+
950
+ def initialize(**args)
951
+ update!(**args)
952
+ end
953
+
954
+ # Update properties of this object
955
+ def update!(**args)
956
+ @version = args[:version] if args.key?(:version)
957
+ end
958
+ end
959
+
960
+ # An ACM created error representing a problem syncing configurations
961
+ class ConfigManagementSyncError
962
+ include Google::Apis::Core::Hashable
963
+
964
+ # An ACM defined error code
965
+ # Corresponds to the JSON property `code`
966
+ # @return [String]
967
+ attr_accessor :code
968
+
969
+ # A description of the error
970
+ # Corresponds to the JSON property `errorMessage`
971
+ # @return [String]
972
+ attr_accessor :error_message
973
+
974
+ # A list of config(s) associated with the error, if any
975
+ # Corresponds to the JSON property `errorResources`
976
+ # @return [Array<Google::Apis::GkehubV1beta::ConfigManagementErrorResource>]
977
+ attr_accessor :error_resources
978
+
979
+ def initialize(**args)
980
+ update!(**args)
981
+ end
982
+
983
+ # Update properties of this object
984
+ def update!(**args)
985
+ @code = args[:code] if args.key?(:code)
986
+ @error_message = args[:error_message] if args.key?(:error_message)
987
+ @error_resources = args[:error_resources] if args.key?(:error_resources)
988
+ end
989
+ end
990
+
991
+ # State indicating an ACM's progress syncing configurations to a cluster
992
+ class ConfigManagementSyncState
993
+ include Google::Apis::Core::Hashable
994
+
995
+ # Sync status code
996
+ # Corresponds to the JSON property `code`
997
+ # @return [String]
998
+ attr_accessor :code
999
+
1000
+ # A list of errors resulting from problematic configs. This list will be
1001
+ # truncated after 100 errors, although it is unlikely for that many errors to
1002
+ # simultaneously exist.
1003
+ # Corresponds to the JSON property `errors`
1004
+ # @return [Array<Google::Apis::GkehubV1beta::ConfigManagementSyncError>]
1005
+ attr_accessor :errors
1006
+
1007
+ # Token indicating the state of the importer.
1008
+ # Corresponds to the JSON property `importToken`
1009
+ # @return [String]
1010
+ attr_accessor :import_token
1011
+
1012
+ # Deprecated: use last_sync_time instead. Timestamp of when ACM last
1013
+ # successfully synced the repo The time format is specified in https://golang.
1014
+ # org/pkg/time/#Time.String
1015
+ # Corresponds to the JSON property `lastSync`
1016
+ # @return [String]
1017
+ attr_accessor :last_sync
1018
+
1019
+ # Timestamp type of when ACM last successfully synced the repo
1020
+ # Corresponds to the JSON property `lastSyncTime`
1021
+ # @return [String]
1022
+ attr_accessor :last_sync_time
1023
+
1024
+ # Token indicating the state of the repo.
1025
+ # Corresponds to the JSON property `sourceToken`
1026
+ # @return [String]
1027
+ attr_accessor :source_token
1028
+
1029
+ # Token indicating the state of the syncer.
1030
+ # Corresponds to the JSON property `syncToken`
1031
+ # @return [String]
1032
+ attr_accessor :sync_token
1033
+
1034
+ def initialize(**args)
1035
+ update!(**args)
1036
+ end
1037
+
1038
+ # Update properties of this object
1039
+ def update!(**args)
1040
+ @code = args[:code] if args.key?(:code)
1041
+ @errors = args[:errors] if args.key?(:errors)
1042
+ @import_token = args[:import_token] if args.key?(:import_token)
1043
+ @last_sync = args[:last_sync] if args.key?(:last_sync)
1044
+ @last_sync_time = args[:last_sync_time] if args.key?(:last_sync_time)
1045
+ @source_token = args[:source_token] if args.key?(:source_token)
1046
+ @sync_token = args[:sync_token] if args.key?(:sync_token)
1047
+ end
1048
+ end
1049
+
180
1050
  # A generic empty message that you can re-use to avoid defining duplicated empty
181
1051
  # messages in your APIs. A typical example is to use it as the request or the
182
1052
  # response type of an API method. For instance: service Foo ` rpc Bar(google.
@@ -248,6 +1118,151 @@ module Google
248
1118
  end
249
1119
  end
250
1120
 
1121
+ # Feature represents the settings and status of any Hub Feature.
1122
+ class Feature
1123
+ include Google::Apis::Core::Hashable
1124
+
1125
+ # Output only. When the Feature resource was created.
1126
+ # Corresponds to the JSON property `createTime`
1127
+ # @return [String]
1128
+ attr_accessor :create_time
1129
+
1130
+ # Output only. When the Feature resource was deleted.
1131
+ # Corresponds to the JSON property `deleteTime`
1132
+ # @return [String]
1133
+ attr_accessor :delete_time
1134
+
1135
+ # GCP labels for this Feature.
1136
+ # Corresponds to the JSON property `labels`
1137
+ # @return [Hash<String,String>]
1138
+ attr_accessor :labels
1139
+
1140
+ # Optional. Membership-specific configuration for this Feature. If this Feature
1141
+ # does not support any per-Membership configuration, this field may be unused.
1142
+ # The keys indicate which Membership the configuration is for, in the form:
1143
+ # projects/`p`/locations/`l`/memberships/`m` Where `p` is the project, `l` is a
1144
+ # valid location and `m` is a valid Membership in this project at that location.
1145
+ # `p` WILL match the Feature's project. `p` will always be returned as the
1146
+ # project number, but the project ID is also accepted during input. If the same
1147
+ # Membership is specified in the map twice (using the project ID form, and the
1148
+ # project number form), exactly ONE of the entries will be saved, with no
1149
+ # guarantees as to which. For this reason, it is recommended the same format be
1150
+ # used for all entries when mutating a Feature.
1151
+ # Corresponds to the JSON property `membershipSpecs`
1152
+ # @return [Hash<String,Google::Apis::GkehubV1beta::MembershipFeatureSpec>]
1153
+ attr_accessor :membership_specs
1154
+
1155
+ # Output only. Membership-specific Feature status. If this Feature does report
1156
+ # any per-Membership status, this field may be unused. The keys indicate which
1157
+ # Membership the state is for, in the form: projects/`p`/locations/`l`/
1158
+ # memberships/`m` Where `p` is the project number, `l` is a valid location and `
1159
+ # m` is a valid Membership in this project at that location. `p` MUST match the
1160
+ # Feature's project number.
1161
+ # Corresponds to the JSON property `membershipStates`
1162
+ # @return [Hash<String,Google::Apis::GkehubV1beta::MembershipFeatureState>]
1163
+ attr_accessor :membership_states
1164
+
1165
+ # Output only. The full, unique name of this Feature resource in the format `
1166
+ # projects/*/locations/*/features/*`.
1167
+ # Corresponds to the JSON property `name`
1168
+ # @return [String]
1169
+ attr_accessor :name
1170
+
1171
+ # FeatureResourceState describes the state of a Feature *resource* in the GkeHub
1172
+ # API. See `FeatureState` for the "running state" of the Feature in the Hub and
1173
+ # across Memberships.
1174
+ # Corresponds to the JSON property `resourceState`
1175
+ # @return [Google::Apis::GkehubV1beta::FeatureResourceState]
1176
+ attr_accessor :resource_state
1177
+
1178
+ # CommonFeatureSpec contains Hub-wide configuration information
1179
+ # Corresponds to the JSON property `spec`
1180
+ # @return [Google::Apis::GkehubV1beta::CommonFeatureSpec]
1181
+ attr_accessor :spec
1182
+
1183
+ # CommonFeatureState contains Hub-wide Feature status information.
1184
+ # Corresponds to the JSON property `state`
1185
+ # @return [Google::Apis::GkehubV1beta::CommonFeatureState]
1186
+ attr_accessor :state
1187
+
1188
+ # Output only. When the Feature resource was last updated.
1189
+ # Corresponds to the JSON property `updateTime`
1190
+ # @return [String]
1191
+ attr_accessor :update_time
1192
+
1193
+ def initialize(**args)
1194
+ update!(**args)
1195
+ end
1196
+
1197
+ # Update properties of this object
1198
+ def update!(**args)
1199
+ @create_time = args[:create_time] if args.key?(:create_time)
1200
+ @delete_time = args[:delete_time] if args.key?(:delete_time)
1201
+ @labels = args[:labels] if args.key?(:labels)
1202
+ @membership_specs = args[:membership_specs] if args.key?(:membership_specs)
1203
+ @membership_states = args[:membership_states] if args.key?(:membership_states)
1204
+ @name = args[:name] if args.key?(:name)
1205
+ @resource_state = args[:resource_state] if args.key?(:resource_state)
1206
+ @spec = args[:spec] if args.key?(:spec)
1207
+ @state = args[:state] if args.key?(:state)
1208
+ @update_time = args[:update_time] if args.key?(:update_time)
1209
+ end
1210
+ end
1211
+
1212
+ # FeatureResourceState describes the state of a Feature *resource* in the GkeHub
1213
+ # API. See `FeatureState` for the "running state" of the Feature in the Hub and
1214
+ # across Memberships.
1215
+ class FeatureResourceState
1216
+ include Google::Apis::Core::Hashable
1217
+
1218
+ # The current state of the Feature resource in the Hub API.
1219
+ # Corresponds to the JSON property `state`
1220
+ # @return [String]
1221
+ attr_accessor :state
1222
+
1223
+ def initialize(**args)
1224
+ update!(**args)
1225
+ end
1226
+
1227
+ # Update properties of this object
1228
+ def update!(**args)
1229
+ @state = args[:state] if args.key?(:state)
1230
+ end
1231
+ end
1232
+
1233
+ # FeatureState describes the high-level state of a Feature. It may be used to
1234
+ # describe a Feature's state at the environ-level, or per-membershop, depending
1235
+ # on the context.
1236
+ class FeatureState
1237
+ include Google::Apis::Core::Hashable
1238
+
1239
+ # The high-level, machine-readable status of this Feature.
1240
+ # Corresponds to the JSON property `code`
1241
+ # @return [String]
1242
+ attr_accessor :code
1243
+
1244
+ # A human-readable description of the current status.
1245
+ # Corresponds to the JSON property `description`
1246
+ # @return [String]
1247
+ attr_accessor :description
1248
+
1249
+ # The time this status and any related Feature-specific details were updated.
1250
+ # Corresponds to the JSON property `updateTime`
1251
+ # @return [String]
1252
+ attr_accessor :update_time
1253
+
1254
+ def initialize(**args)
1255
+ update!(**args)
1256
+ end
1257
+
1258
+ # Update properties of this object
1259
+ def update!(**args)
1260
+ @code = args[:code] if args.key?(:code)
1261
+ @description = args[:description] if args.key?(:description)
1262
+ @update_time = args[:update_time] if args.key?(:update_time)
1263
+ end
1264
+ end
1265
+
251
1266
  # The `Status` type defines a logical error model that is suitable for different
252
1267
  # programming environments, including REST APIs and RPC APIs. It is used by [
253
1268
  # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
@@ -287,6 +1302,32 @@ module Google
287
1302
  end
288
1303
  end
289
1304
 
1305
+ # Response message for the `GkeHub.ListFeatures` method.
1306
+ class ListFeaturesResponse
1307
+ include Google::Apis::Core::Hashable
1308
+
1309
+ # A token to request the next page of resources from the `ListFeatures` method.
1310
+ # The value of an empty string means that there are no more resources to return.
1311
+ # Corresponds to the JSON property `nextPageToken`
1312
+ # @return [String]
1313
+ attr_accessor :next_page_token
1314
+
1315
+ # The list of matching Features
1316
+ # Corresponds to the JSON property `resources`
1317
+ # @return [Array<Google::Apis::GkehubV1beta::Feature>]
1318
+ attr_accessor :resources
1319
+
1320
+ def initialize(**args)
1321
+ update!(**args)
1322
+ end
1323
+
1324
+ # Update properties of this object
1325
+ def update!(**args)
1326
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1327
+ @resources = args[:resources] if args.key?(:resources)
1328
+ end
1329
+ end
1330
+
290
1331
  # The response message for Locations.ListLocations.
291
1332
  class ListLocationsResponse
292
1333
  include Google::Apis::Core::Hashable
@@ -384,6 +1425,115 @@ module Google
384
1425
  end
385
1426
  end
386
1427
 
1428
+ # MembershipFeatureSpec contains configuration information for a single
1429
+ # Membership.
1430
+ class MembershipFeatureSpec
1431
+ include Google::Apis::Core::Hashable
1432
+
1433
+ # **Anthos Config Management**: Configuration for a single cluster. Intended to
1434
+ # parallel the ConfigManagement CR.
1435
+ # Corresponds to the JSON property `configmanagement`
1436
+ # @return [Google::Apis::GkehubV1beta::ConfigManagementMembershipSpec]
1437
+ attr_accessor :configmanagement
1438
+
1439
+ def initialize(**args)
1440
+ update!(**args)
1441
+ end
1442
+
1443
+ # Update properties of this object
1444
+ def update!(**args)
1445
+ @configmanagement = args[:configmanagement] if args.key?(:configmanagement)
1446
+ end
1447
+ end
1448
+
1449
+ # MembershipFeatureState contains Feature status information for a single
1450
+ # Membership.
1451
+ class MembershipFeatureState
1452
+ include Google::Apis::Core::Hashable
1453
+
1454
+ # **Anthos Config Management**: State for a single cluster.
1455
+ # Corresponds to the JSON property `configmanagement`
1456
+ # @return [Google::Apis::GkehubV1beta::ConfigManagementMembershipState]
1457
+ attr_accessor :configmanagement
1458
+
1459
+ # **Metering**: Per-Membership Feature State.
1460
+ # Corresponds to the JSON property `metering`
1461
+ # @return [Google::Apis::GkehubV1beta::MeteringMembershipState]
1462
+ attr_accessor :metering
1463
+
1464
+ # FeatureState describes the high-level state of a Feature. It may be used to
1465
+ # describe a Feature's state at the environ-level, or per-membershop, depending
1466
+ # on the context.
1467
+ # Corresponds to the JSON property `state`
1468
+ # @return [Google::Apis::GkehubV1beta::FeatureState]
1469
+ attr_accessor :state
1470
+
1471
+ def initialize(**args)
1472
+ update!(**args)
1473
+ end
1474
+
1475
+ # Update properties of this object
1476
+ def update!(**args)
1477
+ @configmanagement = args[:configmanagement] if args.key?(:configmanagement)
1478
+ @metering = args[:metering] if args.key?(:metering)
1479
+ @state = args[:state] if args.key?(:state)
1480
+ end
1481
+ end
1482
+
1483
+ # **Metering**: Per-Membership Feature State.
1484
+ class MeteringMembershipState
1485
+ include Google::Apis::Core::Hashable
1486
+
1487
+ # The time stamp of the most recent measurement of the number of vCPUs in the
1488
+ # cluster.
1489
+ # Corresponds to the JSON property `lastMeasurementTime`
1490
+ # @return [String]
1491
+ attr_accessor :last_measurement_time
1492
+
1493
+ # The vCPUs capacity in the cluster according to the most recent measurement (1/
1494
+ # 1000 precision).
1495
+ # Corresponds to the JSON property `preciseLastMeasuredClusterVcpuCapacity`
1496
+ # @return [Float]
1497
+ attr_accessor :precise_last_measured_cluster_vcpu_capacity
1498
+
1499
+ def initialize(**args)
1500
+ update!(**args)
1501
+ end
1502
+
1503
+ # Update properties of this object
1504
+ def update!(**args)
1505
+ @last_measurement_time = args[:last_measurement_time] if args.key?(:last_measurement_time)
1506
+ @precise_last_measured_cluster_vcpu_capacity = args[:precise_last_measured_cluster_vcpu_capacity] if args.key?(:precise_last_measured_cluster_vcpu_capacity)
1507
+ end
1508
+ end
1509
+
1510
+ # **Multi-cluster Ingress**: The configuration for the MultiClusterIngress
1511
+ # feature.
1512
+ class MultiClusterIngressFeatureSpec
1513
+ include Google::Apis::Core::Hashable
1514
+
1515
+ # Customer's billing structure
1516
+ # Corresponds to the JSON property `billing`
1517
+ # @return [String]
1518
+ attr_accessor :billing
1519
+
1520
+ # Fully-qualified Membership name which hosts the MultiClusterIngress CRD.
1521
+ # Example: `projects/foo-proj/locations/global/memberships/bar`
1522
+ # Corresponds to the JSON property `configMembership`
1523
+ # @return [String]
1524
+ attr_accessor :config_membership
1525
+
1526
+ def initialize(**args)
1527
+ update!(**args)
1528
+ end
1529
+
1530
+ # Update properties of this object
1531
+ def update!(**args)
1532
+ @billing = args[:billing] if args.key?(:billing)
1533
+ @config_membership = args[:config_membership] if args.key?(:config_membership)
1534
+ end
1535
+ end
1536
+
387
1537
  # This resource represents a long-running operation that is the result of a
388
1538
  # network API call.
389
1539
  class Operation