google-apis-gkehub_v1beta 0.1.0 → 0.2.0

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