google-apis-gkehub_v1 0.2.0 → 0.7.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: 07ca67bde9eabaee1cb17aeee8c8604a9cdcaafd2bda0e5204487d994aca2972
4
- data.tar.gz: 18a70f5b54a77fd7711c4fde30614babc15f543d3682c7d59fcbdff4bbf6e784
3
+ metadata.gz: 61c219dccfc52008bcc4a6ba4c2715786a4f20a0db7d31b5292b8e5a9b075131
4
+ data.tar.gz: 6a4c7071c7d49b8aa54cc9de213f1198b7f926c67ca9e6878bc86fefb427662c
5
5
  SHA512:
6
- metadata.gz: f4ba8cf772d5e45c8ed654cc8eaa056c13b7ec53038d2c6b966052f670be911ecaa45ae837093bf5f3ec84a9ee22d69fe75f701726fe046772c759b023407dcb
7
- data.tar.gz: 1caee697a210f3b3a69f13526828ec0b902d473e351d25932980ef4b49502c4e0b380d5fb826aae65eda311b3383f7fed7438c3ac398969dd3603a081fa90e05
6
+ metadata.gz: 664738fe06c7f05877e442ba7c6e35655c37d38e5ccb4fe52b4ee9ad6de0f04f8cf67e866b6624cfc15e7789e2345263b0cb4ba72ff64d3af23f2aec8c3ffa59
7
+ data.tar.gz: 8cfaf0cfc69124f76e4495d5155add897b2a2be5edf7e472f64a12e420de2a248084463a1e1379b22a378593f0325e9ae18c967ea10fa51515da21b548e98348
data/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # Release history for google-apis-gkehub_v1
2
2
 
3
+ ### v0.7.0 (2021-06-30)
4
+
5
+ * Regenerated using generator version 0.4.0
6
+
7
+ ### v0.6.0 (2021-06-25)
8
+
9
+ * Regenerated from discovery document revision 20210622
10
+ * Unspecified changes
11
+
12
+ ### v0.5.0 (2021-06-10)
13
+
14
+ * Regenerated from discovery document revision 20210604
15
+ * Regenerated using generator version 0.3.0
16
+
17
+ ### v0.4.0 (2021-05-25)
18
+
19
+ * Regenerated from discovery document revision 20210521
20
+
21
+ ### v0.3.0 (2021-05-19)
22
+
23
+ * Regenerated from discovery document revision 20210512
24
+
3
25
  ### v0.2.0 (2021-05-13)
4
26
 
5
27
  * Regenerated from discovery document revision 20210507
@@ -117,6 +117,14 @@ module Google
117
117
  # @return [String]
118
118
  attr_accessor :issuer
119
119
 
120
+ # Optional. OIDC verification keys for this Membership in JWKS format (RFC 7517).
121
+ # When this field is set, OIDC discovery will NOT be performed on `issuer`, and
122
+ # instead OIDC tokens will be validated using this field.
123
+ # Corresponds to the JSON property `oidcJwks`
124
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
125
+ # @return [String]
126
+ attr_accessor :oidc_jwks
127
+
120
128
  # Output only. The name of the workload identity pool in which `issuer` will be
121
129
  # recognized. There is a single Workload Identity Pool per Hub that is shared
122
130
  # between all Memberships that belong to that Hub. For a Hub hosted in `
@@ -132,70 +140,819 @@ module Google
132
140
 
133
141
  # Update properties of this object
134
142
  def update!(**args)
135
- @identity_provider = args[:identity_provider] if args.key?(:identity_provider)
136
- @issuer = args[:issuer] if args.key?(:issuer)
137
- @workload_identity_pool = args[:workload_identity_pool] if args.key?(:workload_identity_pool)
143
+ @identity_provider = args[:identity_provider] if args.key?(:identity_provider)
144
+ @issuer = args[:issuer] if args.key?(:issuer)
145
+ @oidc_jwks = args[:oidc_jwks] if args.key?(:oidc_jwks)
146
+ @workload_identity_pool = args[:workload_identity_pool] if args.key?(:workload_identity_pool)
147
+ end
148
+ end
149
+
150
+ # Associates `members` with a `role`.
151
+ class Binding
152
+ include Google::Apis::Core::Hashable
153
+
154
+ # Represents a textual expression in the Common Expression Language (CEL) syntax.
155
+ # CEL is a C-like expression language. The syntax and semantics of CEL are
156
+ # documented at https://github.com/google/cel-spec. Example (Comparison): title:
157
+ # "Summary size limit" description: "Determines if a summary is less than 100
158
+ # chars" expression: "document.summary.size() < 100" Example (Equality): title: "
159
+ # Requestor is owner" description: "Determines if requestor is the document
160
+ # owner" expression: "document.owner == request.auth.claims.email" Example (
161
+ # Logic): title: "Public documents" description: "Determine whether the document
162
+ # should be publicly visible" expression: "document.type != 'private' &&
163
+ # document.type != 'internal'" Example (Data Manipulation): title: "Notification
164
+ # string" description: "Create a notification string with a timestamp."
165
+ # expression: "'New message received at ' + string(document.create_time)" The
166
+ # exact variables and functions that may be referenced within an expression are
167
+ # determined by the service that evaluates it. See the service documentation for
168
+ # additional information.
169
+ # Corresponds to the JSON property `condition`
170
+ # @return [Google::Apis::GkehubV1::Expr]
171
+ attr_accessor :condition
172
+
173
+ # Specifies the identities requesting access for a Cloud Platform resource. `
174
+ # members` can have the following values: * `allUsers`: A special identifier
175
+ # that represents anyone who is on the internet; with or without a Google
176
+ # account. * `allAuthenticatedUsers`: A special identifier that represents
177
+ # anyone who is authenticated with a Google account or a service account. * `
178
+ # user:`emailid``: An email address that represents a specific Google account.
179
+ # For example, `alice@example.com` . * `serviceAccount:`emailid``: An email
180
+ # address that represents a service account. For example, `my-other-app@appspot.
181
+ # gserviceaccount.com`. * `group:`emailid``: An email address that represents a
182
+ # Google group. For example, `admins@example.com`. * `deleted:user:`emailid`?uid=
183
+ # `uniqueid``: An email address (plus unique identifier) representing a user
184
+ # that has been recently deleted. For example, `alice@example.com?uid=
185
+ # 123456789012345678901`. If the user is recovered, this value reverts to `user:`
186
+ # emailid`` and the recovered user retains the role in the binding. * `deleted:
187
+ # serviceAccount:`emailid`?uid=`uniqueid``: An email address (plus unique
188
+ # identifier) representing a service account that has been recently deleted. For
189
+ # example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
190
+ # If the service account is undeleted, this value reverts to `serviceAccount:`
191
+ # emailid`` and the undeleted service account retains the role in the binding. *
192
+ # `deleted:group:`emailid`?uid=`uniqueid``: An email address (plus unique
193
+ # identifier) representing a Google group that has been recently deleted. For
194
+ # example, `admins@example.com?uid=123456789012345678901`. If the group is
195
+ # recovered, this value reverts to `group:`emailid`` and the recovered group
196
+ # retains the role in the binding. * `domain:`domain``: The G Suite domain (
197
+ # primary) that represents all the users of that domain. For example, `google.
198
+ # com` or `example.com`.
199
+ # Corresponds to the JSON property `members`
200
+ # @return [Array<String>]
201
+ attr_accessor :members
202
+
203
+ # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`
204
+ # , or `roles/owner`.
205
+ # Corresponds to the JSON property `role`
206
+ # @return [String]
207
+ attr_accessor :role
208
+
209
+ def initialize(**args)
210
+ update!(**args)
211
+ end
212
+
213
+ # Update properties of this object
214
+ def update!(**args)
215
+ @condition = args[:condition] if args.key?(:condition)
216
+ @members = args[:members] if args.key?(:members)
217
+ @role = args[:role] if args.key?(:role)
218
+ end
219
+ end
220
+
221
+ # The request message for Operations.CancelOperation.
222
+ class CancelOperationRequest
223
+ include Google::Apis::Core::Hashable
224
+
225
+ def initialize(**args)
226
+ update!(**args)
227
+ end
228
+
229
+ # Update properties of this object
230
+ def update!(**args)
231
+ end
232
+ end
233
+
234
+ # CommonFeatureSpec contains Hub-wide configuration information
235
+ class CommonFeatureSpec
236
+ include Google::Apis::Core::Hashable
237
+
238
+ # **Multi-cluster Ingress**: The configuration for the MultiClusterIngress
239
+ # feature.
240
+ # Corresponds to the JSON property `multiclusteringress`
241
+ # @return [Google::Apis::GkehubV1::MultiClusterIngressFeatureSpec]
242
+ attr_accessor :multiclusteringress
243
+
244
+ def initialize(**args)
245
+ update!(**args)
246
+ end
247
+
248
+ # Update properties of this object
249
+ def update!(**args)
250
+ @multiclusteringress = args[:multiclusteringress] if args.key?(:multiclusteringress)
251
+ end
252
+ end
253
+
254
+ # CommonFeatureState contains Hub-wide Feature status information.
255
+ class CommonFeatureState
256
+ include Google::Apis::Core::Hashable
257
+
258
+ # FeatureState describes the high-level state of a Feature. It may be used to
259
+ # describe a Feature's state at the environ-level, or per-membershop, depending
260
+ # on the context.
261
+ # Corresponds to the JSON property `state`
262
+ # @return [Google::Apis::GkehubV1::FeatureState]
263
+ attr_accessor :state
264
+
265
+ def initialize(**args)
266
+ update!(**args)
267
+ end
268
+
269
+ # Update properties of this object
270
+ def update!(**args)
271
+ @state = args[:state] if args.key?(:state)
272
+ end
273
+ end
274
+
275
+ # Configuration for Config Sync
276
+ class ConfigManagementConfigSync
277
+ include Google::Apis::Core::Hashable
278
+
279
+ # Git repo configuration for a single cluster.
280
+ # Corresponds to the JSON property `git`
281
+ # @return [Google::Apis::GkehubV1::ConfigManagementGitConfig]
282
+ attr_accessor :git
283
+
284
+ # Specifies whether the Config Sync Repo is in “hierarchical” or “unstructured”
285
+ # mode.
286
+ # Corresponds to the JSON property `sourceFormat`
287
+ # @return [String]
288
+ attr_accessor :source_format
289
+
290
+ def initialize(**args)
291
+ update!(**args)
292
+ end
293
+
294
+ # Update properties of this object
295
+ def update!(**args)
296
+ @git = args[:git] if args.key?(:git)
297
+ @source_format = args[:source_format] if args.key?(:source_format)
298
+ end
299
+ end
300
+
301
+ # The state of ConfigSync's deployment on a cluster
302
+ class ConfigManagementConfigSyncDeploymentState
303
+ include Google::Apis::Core::Hashable
304
+
305
+ # Deployment state of the git-sync pod
306
+ # Corresponds to the JSON property `gitSync`
307
+ # @return [String]
308
+ attr_accessor :git_sync
309
+
310
+ # Deployment state of the importer pod
311
+ # Corresponds to the JSON property `importer`
312
+ # @return [String]
313
+ attr_accessor :importer
314
+
315
+ # Deployment state of the monitor pod
316
+ # Corresponds to the JSON property `monitor`
317
+ # @return [String]
318
+ attr_accessor :monitor
319
+
320
+ # Deployment state of reconciler-manager pod
321
+ # Corresponds to the JSON property `reconcilerManager`
322
+ # @return [String]
323
+ attr_accessor :reconciler_manager
324
+
325
+ # Deployment state of root-reconciler
326
+ # Corresponds to the JSON property `rootReconciler`
327
+ # @return [String]
328
+ attr_accessor :root_reconciler
329
+
330
+ # Deployment state of the syncer pod
331
+ # Corresponds to the JSON property `syncer`
332
+ # @return [String]
333
+ attr_accessor :syncer
334
+
335
+ def initialize(**args)
336
+ update!(**args)
337
+ end
338
+
339
+ # Update properties of this object
340
+ def update!(**args)
341
+ @git_sync = args[:git_sync] if args.key?(:git_sync)
342
+ @importer = args[:importer] if args.key?(:importer)
343
+ @monitor = args[:monitor] if args.key?(:monitor)
344
+ @reconciler_manager = args[:reconciler_manager] if args.key?(:reconciler_manager)
345
+ @root_reconciler = args[:root_reconciler] if args.key?(:root_reconciler)
346
+ @syncer = args[:syncer] if args.key?(:syncer)
347
+ end
348
+ end
349
+
350
+ # State information for ConfigSync
351
+ class ConfigManagementConfigSyncState
352
+ include Google::Apis::Core::Hashable
353
+
354
+ # The state of ConfigSync's deployment on a cluster
355
+ # Corresponds to the JSON property `deploymentState`
356
+ # @return [Google::Apis::GkehubV1::ConfigManagementConfigSyncDeploymentState]
357
+ attr_accessor :deployment_state
358
+
359
+ # State indicating an ACM's progress syncing configurations to a cluster
360
+ # Corresponds to the JSON property `syncState`
361
+ # @return [Google::Apis::GkehubV1::ConfigManagementSyncState]
362
+ attr_accessor :sync_state
363
+
364
+ # Specific versioning information pertaining to ConfigSync's Pods
365
+ # Corresponds to the JSON property `version`
366
+ # @return [Google::Apis::GkehubV1::ConfigManagementConfigSyncVersion]
367
+ attr_accessor :version
368
+
369
+ def initialize(**args)
370
+ update!(**args)
371
+ end
372
+
373
+ # Update properties of this object
374
+ def update!(**args)
375
+ @deployment_state = args[:deployment_state] if args.key?(:deployment_state)
376
+ @sync_state = args[:sync_state] if args.key?(:sync_state)
377
+ @version = args[:version] if args.key?(:version)
378
+ end
379
+ end
380
+
381
+ # Specific versioning information pertaining to ConfigSync's Pods
382
+ class ConfigManagementConfigSyncVersion
383
+ include Google::Apis::Core::Hashable
384
+
385
+ # Version of the deployed git-sync pod
386
+ # Corresponds to the JSON property `gitSync`
387
+ # @return [String]
388
+ attr_accessor :git_sync
389
+
390
+ # Version of the deployed importer pod
391
+ # Corresponds to the JSON property `importer`
392
+ # @return [String]
393
+ attr_accessor :importer
394
+
395
+ # Version of the deployed monitor pod
396
+ # Corresponds to the JSON property `monitor`
397
+ # @return [String]
398
+ attr_accessor :monitor
399
+
400
+ # Version of the deployed reconciler-manager pod
401
+ # Corresponds to the JSON property `reconcilerManager`
402
+ # @return [String]
403
+ attr_accessor :reconciler_manager
404
+
405
+ # Version of the deployed reconciler container in root-reconciler pod
406
+ # Corresponds to the JSON property `rootReconciler`
407
+ # @return [String]
408
+ attr_accessor :root_reconciler
409
+
410
+ # Version of the deployed syncer pod
411
+ # Corresponds to the JSON property `syncer`
412
+ # @return [String]
413
+ attr_accessor :syncer
414
+
415
+ def initialize(**args)
416
+ update!(**args)
417
+ end
418
+
419
+ # Update properties of this object
420
+ def update!(**args)
421
+ @git_sync = args[:git_sync] if args.key?(:git_sync)
422
+ @importer = args[:importer] if args.key?(:importer)
423
+ @monitor = args[:monitor] if args.key?(:monitor)
424
+ @reconciler_manager = args[:reconciler_manager] if args.key?(:reconciler_manager)
425
+ @root_reconciler = args[:root_reconciler] if args.key?(:root_reconciler)
426
+ @syncer = args[:syncer] if args.key?(:syncer)
427
+ end
428
+ end
429
+
430
+ # Model for a config file in the git repo with an associated Sync error
431
+ class ConfigManagementErrorResource
432
+ include Google::Apis::Core::Hashable
433
+
434
+ # A Kubernetes object's GVK
435
+ # Corresponds to the JSON property `resourceGvk`
436
+ # @return [Google::Apis::GkehubV1::ConfigManagementGroupVersionKind]
437
+ attr_accessor :resource_gvk
438
+
439
+ # Metadata name of the resource that is causing an error
440
+ # Corresponds to the JSON property `resourceName`
441
+ # @return [String]
442
+ attr_accessor :resource_name
443
+
444
+ # Namespace of the resource that is causing an error
445
+ # Corresponds to the JSON property `resourceNamespace`
446
+ # @return [String]
447
+ attr_accessor :resource_namespace
448
+
449
+ # Path in the git repo of the erroneous config
450
+ # Corresponds to the JSON property `sourcePath`
451
+ # @return [String]
452
+ attr_accessor :source_path
453
+
454
+ def initialize(**args)
455
+ update!(**args)
456
+ end
457
+
458
+ # Update properties of this object
459
+ def update!(**args)
460
+ @resource_gvk = args[:resource_gvk] if args.key?(:resource_gvk)
461
+ @resource_name = args[:resource_name] if args.key?(:resource_name)
462
+ @resource_namespace = args[:resource_namespace] if args.key?(:resource_namespace)
463
+ @source_path = args[:source_path] if args.key?(:source_path)
464
+ end
465
+ end
466
+
467
+ # State of Policy Controller installation.
468
+ class ConfigManagementGatekeeperDeploymentState
469
+ include Google::Apis::Core::Hashable
470
+
471
+ # Status of gatekeeper-audit deployment.
472
+ # Corresponds to the JSON property `gatekeeperAudit`
473
+ # @return [String]
474
+ attr_accessor :gatekeeper_audit
475
+
476
+ # Status of gatekeeper-controller-manager pod.
477
+ # Corresponds to the JSON property `gatekeeperControllerManagerState`
478
+ # @return [String]
479
+ attr_accessor :gatekeeper_controller_manager_state
480
+
481
+ def initialize(**args)
482
+ update!(**args)
483
+ end
484
+
485
+ # Update properties of this object
486
+ def update!(**args)
487
+ @gatekeeper_audit = args[:gatekeeper_audit] if args.key?(:gatekeeper_audit)
488
+ @gatekeeper_controller_manager_state = args[:gatekeeper_controller_manager_state] if args.key?(:gatekeeper_controller_manager_state)
489
+ end
490
+ end
491
+
492
+ # Git repo configuration for a single cluster.
493
+ class ConfigManagementGitConfig
494
+ include Google::Apis::Core::Hashable
495
+
496
+ # The GCP Service Account Email used for auth when secret_type is
497
+ # gcpServiceAccount.
498
+ # Corresponds to the JSON property `gcpServiceAccountEmail`
499
+ # @return [String]
500
+ attr_accessor :gcp_service_account_email
501
+
502
+ # URL for the HTTPS proxy to be used when communicating with the Git repo.
503
+ # Corresponds to the JSON property `httpsProxy`
504
+ # @return [String]
505
+ attr_accessor :https_proxy
506
+
507
+ # The path within the Git repository that represents the top level of the repo
508
+ # to sync. Default: the root directory of the repository.
509
+ # Corresponds to the JSON property `policyDir`
510
+ # @return [String]
511
+ attr_accessor :policy_dir
512
+
513
+ # Type of secret configured for access to the Git repo.
514
+ # Corresponds to the JSON property `secretType`
515
+ # @return [String]
516
+ attr_accessor :secret_type
517
+
518
+ # The branch of the repository to sync from. Default: master.
519
+ # Corresponds to the JSON property `syncBranch`
520
+ # @return [String]
521
+ attr_accessor :sync_branch
522
+
523
+ # The URL of the Git repository to use as the source of truth.
524
+ # Corresponds to the JSON property `syncRepo`
525
+ # @return [String]
526
+ attr_accessor :sync_repo
527
+
528
+ # Git revision (tag or hash) to check out. Default HEAD.
529
+ # Corresponds to the JSON property `syncRev`
530
+ # @return [String]
531
+ attr_accessor :sync_rev
532
+
533
+ # Period in seconds between consecutive syncs. Default: 15.
534
+ # Corresponds to the JSON property `syncWaitSecs`
535
+ # @return [Fixnum]
536
+ attr_accessor :sync_wait_secs
537
+
538
+ def initialize(**args)
539
+ update!(**args)
540
+ end
541
+
542
+ # Update properties of this object
543
+ def update!(**args)
544
+ @gcp_service_account_email = args[:gcp_service_account_email] if args.key?(:gcp_service_account_email)
545
+ @https_proxy = args[:https_proxy] if args.key?(:https_proxy)
546
+ @policy_dir = args[:policy_dir] if args.key?(:policy_dir)
547
+ @secret_type = args[:secret_type] if args.key?(:secret_type)
548
+ @sync_branch = args[:sync_branch] if args.key?(:sync_branch)
549
+ @sync_repo = args[:sync_repo] if args.key?(:sync_repo)
550
+ @sync_rev = args[:sync_rev] if args.key?(:sync_rev)
551
+ @sync_wait_secs = args[:sync_wait_secs] if args.key?(:sync_wait_secs)
552
+ end
553
+ end
554
+
555
+ # A Kubernetes object's GVK
556
+ class ConfigManagementGroupVersionKind
557
+ include Google::Apis::Core::Hashable
558
+
559
+ # Kubernetes Group
560
+ # Corresponds to the JSON property `group`
561
+ # @return [String]
562
+ attr_accessor :group
563
+
564
+ # Kubernetes Kind
565
+ # Corresponds to the JSON property `kind`
566
+ # @return [String]
567
+ attr_accessor :kind
568
+
569
+ # Kubernetes Version
570
+ # Corresponds to the JSON property `version`
571
+ # @return [String]
572
+ attr_accessor :version
573
+
574
+ def initialize(**args)
575
+ update!(**args)
576
+ end
577
+
578
+ # Update properties of this object
579
+ def update!(**args)
580
+ @group = args[:group] if args.key?(:group)
581
+ @kind = args[:kind] if args.key?(:kind)
582
+ @version = args[:version] if args.key?(:version)
583
+ end
584
+ end
585
+
586
+ # Configuration for Hierarchy Controller
587
+ class ConfigManagementHierarchyControllerConfig
588
+ include Google::Apis::Core::Hashable
589
+
590
+ # Whether hierarchical resource quota is enabled in this cluster.
591
+ # Corresponds to the JSON property `enableHierarchicalResourceQuota`
592
+ # @return [Boolean]
593
+ attr_accessor :enable_hierarchical_resource_quota
594
+ alias_method :enable_hierarchical_resource_quota?, :enable_hierarchical_resource_quota
595
+
596
+ # Whether pod tree labels are enabled in this cluster.
597
+ # Corresponds to the JSON property `enablePodTreeLabels`
598
+ # @return [Boolean]
599
+ attr_accessor :enable_pod_tree_labels
600
+ alias_method :enable_pod_tree_labels?, :enable_pod_tree_labels
601
+
602
+ # Whether Hierarchy Controller is enabled in this cluster.
603
+ # Corresponds to the JSON property `enabled`
604
+ # @return [Boolean]
605
+ attr_accessor :enabled
606
+ alias_method :enabled?, :enabled
607
+
608
+ def initialize(**args)
609
+ update!(**args)
610
+ end
611
+
612
+ # Update properties of this object
613
+ def update!(**args)
614
+ @enable_hierarchical_resource_quota = args[:enable_hierarchical_resource_quota] if args.key?(:enable_hierarchical_resource_quota)
615
+ @enable_pod_tree_labels = args[:enable_pod_tree_labels] if args.key?(:enable_pod_tree_labels)
616
+ @enabled = args[:enabled] if args.key?(:enabled)
617
+ end
618
+ end
619
+
620
+ # Deployment state for Hierarchy Controller
621
+ class ConfigManagementHierarchyControllerDeploymentState
622
+ include Google::Apis::Core::Hashable
623
+
624
+ # The deployment state for Hierarchy Controller extension (e.g. v0.7.0-hc.1)
625
+ # Corresponds to the JSON property `extension`
626
+ # @return [String]
627
+ attr_accessor :extension
628
+
629
+ # The deployment state for open source HNC (e.g. v0.7.0-hc.0)
630
+ # Corresponds to the JSON property `hnc`
631
+ # @return [String]
632
+ attr_accessor :hnc
633
+
634
+ def initialize(**args)
635
+ update!(**args)
636
+ end
637
+
638
+ # Update properties of this object
639
+ def update!(**args)
640
+ @extension = args[:extension] if args.key?(:extension)
641
+ @hnc = args[:hnc] if args.key?(:hnc)
642
+ end
643
+ end
644
+
645
+ # State for Hierarchy Controller
646
+ class ConfigManagementHierarchyControllerState
647
+ include Google::Apis::Core::Hashable
648
+
649
+ # Deployment state for Hierarchy Controller
650
+ # Corresponds to the JSON property `state`
651
+ # @return [Google::Apis::GkehubV1::ConfigManagementHierarchyControllerDeploymentState]
652
+ attr_accessor :state
653
+
654
+ # Version for Hierarchy Controller
655
+ # Corresponds to the JSON property `version`
656
+ # @return [Google::Apis::GkehubV1::ConfigManagementHierarchyControllerVersion]
657
+ attr_accessor :version
658
+
659
+ def initialize(**args)
660
+ update!(**args)
661
+ end
662
+
663
+ # Update properties of this object
664
+ def update!(**args)
665
+ @state = args[:state] if args.key?(:state)
666
+ @version = args[:version] if args.key?(:version)
667
+ end
668
+ end
669
+
670
+ # Version for Hierarchy Controller
671
+ class ConfigManagementHierarchyControllerVersion
672
+ include Google::Apis::Core::Hashable
673
+
674
+ # Version for Hierarchy Controller extension
675
+ # Corresponds to the JSON property `extension`
676
+ # @return [String]
677
+ attr_accessor :extension
678
+
679
+ # Version for open source HNC
680
+ # Corresponds to the JSON property `hnc`
681
+ # @return [String]
682
+ attr_accessor :hnc
683
+
684
+ def initialize(**args)
685
+ update!(**args)
686
+ end
687
+
688
+ # Update properties of this object
689
+ def update!(**args)
690
+ @extension = args[:extension] if args.key?(:extension)
691
+ @hnc = args[:hnc] if args.key?(:hnc)
692
+ end
693
+ end
694
+
695
+ # Errors pertaining to the installation of ACM
696
+ class ConfigManagementInstallError
697
+ include Google::Apis::Core::Hashable
698
+
699
+ # A string representing the user facing error message
700
+ # Corresponds to the JSON property `errorMessage`
701
+ # @return [String]
702
+ attr_accessor :error_message
703
+
704
+ def initialize(**args)
705
+ update!(**args)
706
+ end
707
+
708
+ # Update properties of this object
709
+ def update!(**args)
710
+ @error_message = args[:error_message] if args.key?(:error_message)
711
+ end
712
+ end
713
+
714
+ # **Anthos Config Management**: Configuration for a single cluster. Intended to
715
+ # parallel the ConfigManagement CR.
716
+ class ConfigManagementMembershipSpec
717
+ include Google::Apis::Core::Hashable
718
+
719
+ # Configuration for Config Sync
720
+ # Corresponds to the JSON property `configSync`
721
+ # @return [Google::Apis::GkehubV1::ConfigManagementConfigSync]
722
+ attr_accessor :config_sync
723
+
724
+ # Configuration for Hierarchy Controller
725
+ # Corresponds to the JSON property `hierarchyController`
726
+ # @return [Google::Apis::GkehubV1::ConfigManagementHierarchyControllerConfig]
727
+ attr_accessor :hierarchy_controller
728
+
729
+ # Configuration for Policy Controller
730
+ # Corresponds to the JSON property `policyController`
731
+ # @return [Google::Apis::GkehubV1::ConfigManagementPolicyController]
732
+ attr_accessor :policy_controller
733
+
734
+ # Version of ACM installed.
735
+ # Corresponds to the JSON property `version`
736
+ # @return [String]
737
+ attr_accessor :version
738
+
739
+ def initialize(**args)
740
+ update!(**args)
741
+ end
742
+
743
+ # Update properties of this object
744
+ def update!(**args)
745
+ @config_sync = args[:config_sync] if args.key?(:config_sync)
746
+ @hierarchy_controller = args[:hierarchy_controller] if args.key?(:hierarchy_controller)
747
+ @policy_controller = args[:policy_controller] if args.key?(:policy_controller)
748
+ @version = args[:version] if args.key?(:version)
749
+ end
750
+ end
751
+
752
+ # **Anthos Config Management**: State for a single cluster.
753
+ class ConfigManagementMembershipState
754
+ include Google::Apis::Core::Hashable
755
+
756
+ # The user-defined name for the cluster used by ClusterSelectors to group
757
+ # clusters together. This should match Membership's membership_name, unless the
758
+ # user installed ACM on the cluster manually prior to enabling the ACM hub
759
+ # feature. Unique within a Anthos Config Management installation.
760
+ # Corresponds to the JSON property `clusterName`
761
+ # @return [String]
762
+ attr_accessor :cluster_name
763
+
764
+ # State information for ConfigSync
765
+ # Corresponds to the JSON property `configSyncState`
766
+ # @return [Google::Apis::GkehubV1::ConfigManagementConfigSyncState]
767
+ attr_accessor :config_sync_state
768
+
769
+ # State for Hierarchy Controller
770
+ # Corresponds to the JSON property `hierarchyControllerState`
771
+ # @return [Google::Apis::GkehubV1::ConfigManagementHierarchyControllerState]
772
+ attr_accessor :hierarchy_controller_state
773
+
774
+ # **Anthos Config Management**: Configuration for a single cluster. Intended to
775
+ # parallel the ConfigManagement CR.
776
+ # Corresponds to the JSON property `membershipSpec`
777
+ # @return [Google::Apis::GkehubV1::ConfigManagementMembershipSpec]
778
+ attr_accessor :membership_spec
779
+
780
+ # State information for an ACM's Operator
781
+ # Corresponds to the JSON property `operatorState`
782
+ # @return [Google::Apis::GkehubV1::ConfigManagementOperatorState]
783
+ attr_accessor :operator_state
784
+
785
+ # State for PolicyControllerState.
786
+ # Corresponds to the JSON property `policyControllerState`
787
+ # @return [Google::Apis::GkehubV1::ConfigManagementPolicyControllerState]
788
+ attr_accessor :policy_controller_state
789
+
790
+ def initialize(**args)
791
+ update!(**args)
792
+ end
793
+
794
+ # Update properties of this object
795
+ def update!(**args)
796
+ @cluster_name = args[:cluster_name] if args.key?(:cluster_name)
797
+ @config_sync_state = args[:config_sync_state] if args.key?(:config_sync_state)
798
+ @hierarchy_controller_state = args[:hierarchy_controller_state] if args.key?(:hierarchy_controller_state)
799
+ @membership_spec = args[:membership_spec] if args.key?(:membership_spec)
800
+ @operator_state = args[:operator_state] if args.key?(:operator_state)
801
+ @policy_controller_state = args[:policy_controller_state] if args.key?(:policy_controller_state)
802
+ end
803
+ end
804
+
805
+ # State information for an ACM's Operator
806
+ class ConfigManagementOperatorState
807
+ include Google::Apis::Core::Hashable
808
+
809
+ # The state of the Operator's deployment
810
+ # Corresponds to the JSON property `deploymentState`
811
+ # @return [String]
812
+ attr_accessor :deployment_state
813
+
814
+ # Install errors.
815
+ # Corresponds to the JSON property `errors`
816
+ # @return [Array<Google::Apis::GkehubV1::ConfigManagementInstallError>]
817
+ attr_accessor :errors
818
+
819
+ # The semenatic version number of the operator
820
+ # Corresponds to the JSON property `version`
821
+ # @return [String]
822
+ attr_accessor :version
823
+
824
+ def initialize(**args)
825
+ update!(**args)
826
+ end
827
+
828
+ # Update properties of this object
829
+ def update!(**args)
830
+ @deployment_state = args[:deployment_state] if args.key?(:deployment_state)
831
+ @errors = args[:errors] if args.key?(:errors)
832
+ @version = args[:version] if args.key?(:version)
833
+ end
834
+ end
835
+
836
+ # Configuration for Policy Controller
837
+ class ConfigManagementPolicyController
838
+ include Google::Apis::Core::Hashable
839
+
840
+ # Sets the interval for Policy Controller Audit Scans (in seconds). When set to
841
+ # 0, this disables audit functionality altogether.
842
+ # Corresponds to the JSON property `auditIntervalSeconds`
843
+ # @return [Fixnum]
844
+ attr_accessor :audit_interval_seconds
845
+
846
+ # Enables the installation of Policy Controller. If false, the rest of
847
+ # PolicyController fields take no effect.
848
+ # Corresponds to the JSON property `enabled`
849
+ # @return [Boolean]
850
+ attr_accessor :enabled
851
+ alias_method :enabled?, :enabled
852
+
853
+ # The set of namespaces that are excluded from Policy Controller checks.
854
+ # Namespaces do not need to currently exist on the cluster.
855
+ # Corresponds to the JSON property `exemptableNamespaces`
856
+ # @return [Array<String>]
857
+ attr_accessor :exemptable_namespaces
858
+
859
+ # Logs all denies and dry run failures.
860
+ # Corresponds to the JSON property `logDeniesEnabled`
861
+ # @return [Boolean]
862
+ attr_accessor :log_denies_enabled
863
+ alias_method :log_denies_enabled?, :log_denies_enabled
864
+
865
+ # Enables the ability to use Constraint Templates that reference to objects
866
+ # other than the object currently being evaluated.
867
+ # Corresponds to the JSON property `referentialRulesEnabled`
868
+ # @return [Boolean]
869
+ attr_accessor :referential_rules_enabled
870
+ alias_method :referential_rules_enabled?, :referential_rules_enabled
871
+
872
+ # Installs the default template library along with Policy Controller.
873
+ # Corresponds to the JSON property `templateLibraryInstalled`
874
+ # @return [Boolean]
875
+ attr_accessor :template_library_installed
876
+ alias_method :template_library_installed?, :template_library_installed
877
+
878
+ def initialize(**args)
879
+ update!(**args)
880
+ end
881
+
882
+ # Update properties of this object
883
+ def update!(**args)
884
+ @audit_interval_seconds = args[:audit_interval_seconds] if args.key?(:audit_interval_seconds)
885
+ @enabled = args[:enabled] if args.key?(:enabled)
886
+ @exemptable_namespaces = args[:exemptable_namespaces] if args.key?(:exemptable_namespaces)
887
+ @log_denies_enabled = args[:log_denies_enabled] if args.key?(:log_denies_enabled)
888
+ @referential_rules_enabled = args[:referential_rules_enabled] if args.key?(:referential_rules_enabled)
889
+ @template_library_installed = args[:template_library_installed] if args.key?(:template_library_installed)
890
+ end
891
+ end
892
+
893
+ # State for PolicyControllerState.
894
+ class ConfigManagementPolicyControllerState
895
+ include Google::Apis::Core::Hashable
896
+
897
+ # State of Policy Controller installation.
898
+ # Corresponds to the JSON property `deploymentState`
899
+ # @return [Google::Apis::GkehubV1::ConfigManagementGatekeeperDeploymentState]
900
+ attr_accessor :deployment_state
901
+
902
+ # The build version of Gatekeeper Policy Controller is using.
903
+ # Corresponds to the JSON property `version`
904
+ # @return [Google::Apis::GkehubV1::ConfigManagementPolicyControllerVersion]
905
+ attr_accessor :version
906
+
907
+ def initialize(**args)
908
+ update!(**args)
909
+ end
910
+
911
+ # Update properties of this object
912
+ def update!(**args)
913
+ @deployment_state = args[:deployment_state] if args.key?(:deployment_state)
914
+ @version = args[:version] if args.key?(:version)
138
915
  end
139
916
  end
140
917
 
141
- # Associates `members` with a `role`.
142
- class Binding
918
+ # The build version of Gatekeeper Policy Controller is using.
919
+ class ConfigManagementPolicyControllerVersion
143
920
  include Google::Apis::Core::Hashable
144
921
 
145
- # Represents a textual expression in the Common Expression Language (CEL) syntax.
146
- # CEL is a C-like expression language. The syntax and semantics of CEL are
147
- # documented at https://github.com/google/cel-spec. Example (Comparison): title:
148
- # "Summary size limit" description: "Determines if a summary is less than 100
149
- # chars" expression: "document.summary.size() < 100" Example (Equality): title: "
150
- # Requestor is owner" description: "Determines if requestor is the document
151
- # owner" expression: "document.owner == request.auth.claims.email" Example (
152
- # Logic): title: "Public documents" description: "Determine whether the document
153
- # should be publicly visible" expression: "document.type != 'private' &&
154
- # document.type != 'internal'" Example (Data Manipulation): title: "Notification
155
- # string" description: "Create a notification string with a timestamp."
156
- # expression: "'New message received at ' + string(document.create_time)" The
157
- # exact variables and functions that may be referenced within an expression are
158
- # determined by the service that evaluates it. See the service documentation for
159
- # additional information.
160
- # Corresponds to the JSON property `condition`
161
- # @return [Google::Apis::GkehubV1::Expr]
162
- attr_accessor :condition
922
+ # The gatekeeper image tag that is composed of ACM version, git tag, build
923
+ # number.
924
+ # Corresponds to the JSON property `version`
925
+ # @return [String]
926
+ attr_accessor :version
163
927
 
164
- # Specifies the identities requesting access for a Cloud Platform resource. `
165
- # members` can have the following values: * `allUsers`: A special identifier
166
- # that represents anyone who is on the internet; with or without a Google
167
- # account. * `allAuthenticatedUsers`: A special identifier that represents
168
- # anyone who is authenticated with a Google account or a service account. * `
169
- # user:`emailid``: An email address that represents a specific Google account.
170
- # For example, `alice@example.com` . * `serviceAccount:`emailid``: An email
171
- # address that represents a service account. For example, `my-other-app@appspot.
172
- # gserviceaccount.com`. * `group:`emailid``: An email address that represents a
173
- # Google group. For example, `admins@example.com`. * `deleted:user:`emailid`?uid=
174
- # `uniqueid``: An email address (plus unique identifier) representing a user
175
- # that has been recently deleted. For example, `alice@example.com?uid=
176
- # 123456789012345678901`. If the user is recovered, this value reverts to `user:`
177
- # emailid`` and the recovered user retains the role in the binding. * `deleted:
178
- # serviceAccount:`emailid`?uid=`uniqueid``: An email address (plus unique
179
- # identifier) representing a service account that has been recently deleted. For
180
- # example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
181
- # If the service account is undeleted, this value reverts to `serviceAccount:`
182
- # emailid`` and the undeleted service account retains the role in the binding. *
183
- # `deleted:group:`emailid`?uid=`uniqueid``: An email address (plus unique
184
- # identifier) representing a Google group that has been recently deleted. For
185
- # example, `admins@example.com?uid=123456789012345678901`. If the group is
186
- # recovered, this value reverts to `group:`emailid`` and the recovered group
187
- # retains the role in the binding. * `domain:`domain``: The G Suite domain (
188
- # primary) that represents all the users of that domain. For example, `google.
189
- # com` or `example.com`.
190
- # Corresponds to the JSON property `members`
191
- # @return [Array<String>]
192
- attr_accessor :members
928
+ def initialize(**args)
929
+ update!(**args)
930
+ end
193
931
 
194
- # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`
195
- # , or `roles/owner`.
196
- # Corresponds to the JSON property `role`
932
+ # Update properties of this object
933
+ def update!(**args)
934
+ @version = args[:version] if args.key?(:version)
935
+ end
936
+ end
937
+
938
+ # An ACM created error representing a problem syncing configurations
939
+ class ConfigManagementSyncError
940
+ include Google::Apis::Core::Hashable
941
+
942
+ # An ACM defined error code
943
+ # Corresponds to the JSON property `code`
197
944
  # @return [String]
198
- attr_accessor :role
945
+ attr_accessor :code
946
+
947
+ # A description of the error
948
+ # Corresponds to the JSON property `errorMessage`
949
+ # @return [String]
950
+ attr_accessor :error_message
951
+
952
+ # A list of config(s) associated with the error, if any
953
+ # Corresponds to the JSON property `errorResources`
954
+ # @return [Array<Google::Apis::GkehubV1::ConfigManagementErrorResource>]
955
+ attr_accessor :error_resources
199
956
 
200
957
  def initialize(**args)
201
958
  update!(**args)
@@ -203,22 +960,68 @@ module Google
203
960
 
204
961
  # Update properties of this object
205
962
  def update!(**args)
206
- @condition = args[:condition] if args.key?(:condition)
207
- @members = args[:members] if args.key?(:members)
208
- @role = args[:role] if args.key?(:role)
963
+ @code = args[:code] if args.key?(:code)
964
+ @error_message = args[:error_message] if args.key?(:error_message)
965
+ @error_resources = args[:error_resources] if args.key?(:error_resources)
209
966
  end
210
967
  end
211
968
 
212
- # The request message for Operations.CancelOperation.
213
- class CancelOperationRequest
969
+ # State indicating an ACM's progress syncing configurations to a cluster
970
+ class ConfigManagementSyncState
214
971
  include Google::Apis::Core::Hashable
215
972
 
973
+ # Sync status code
974
+ # Corresponds to the JSON property `code`
975
+ # @return [String]
976
+ attr_accessor :code
977
+
978
+ # A list of errors resulting from problematic configs. This list will be
979
+ # truncated after 100 errors, although it is unlikely for that many errors to
980
+ # simultaneously exist.
981
+ # Corresponds to the JSON property `errors`
982
+ # @return [Array<Google::Apis::GkehubV1::ConfigManagementSyncError>]
983
+ attr_accessor :errors
984
+
985
+ # Token indicating the state of the importer.
986
+ # Corresponds to the JSON property `importToken`
987
+ # @return [String]
988
+ attr_accessor :import_token
989
+
990
+ # Deprecated: use last_sync_time instead. Timestamp of when ACM last
991
+ # successfully synced the repo The time format is specified in https://golang.
992
+ # org/pkg/time/#Time.String
993
+ # Corresponds to the JSON property `lastSync`
994
+ # @return [String]
995
+ attr_accessor :last_sync
996
+
997
+ # Timestamp type of when ACM last successfully synced the repo
998
+ # Corresponds to the JSON property `lastSyncTime`
999
+ # @return [String]
1000
+ attr_accessor :last_sync_time
1001
+
1002
+ # Token indicating the state of the repo.
1003
+ # Corresponds to the JSON property `sourceToken`
1004
+ # @return [String]
1005
+ attr_accessor :source_token
1006
+
1007
+ # Token indicating the state of the syncer.
1008
+ # Corresponds to the JSON property `syncToken`
1009
+ # @return [String]
1010
+ attr_accessor :sync_token
1011
+
216
1012
  def initialize(**args)
217
1013
  update!(**args)
218
1014
  end
219
1015
 
220
1016
  # Update properties of this object
221
1017
  def update!(**args)
1018
+ @code = args[:code] if args.key?(:code)
1019
+ @errors = args[:errors] if args.key?(:errors)
1020
+ @import_token = args[:import_token] if args.key?(:import_token)
1021
+ @last_sync = args[:last_sync] if args.key?(:last_sync)
1022
+ @last_sync_time = args[:last_sync_time] if args.key?(:last_sync_time)
1023
+ @source_token = args[:source_token] if args.key?(:source_token)
1024
+ @sync_token = args[:sync_token] if args.key?(:sync_token)
222
1025
  end
223
1026
  end
224
1027
 
@@ -320,6 +1123,151 @@ module Google
320
1123
  end
321
1124
  end
322
1125
 
1126
+ # Feature represents the settings and status of any Hub Feature.
1127
+ class Feature
1128
+ include Google::Apis::Core::Hashable
1129
+
1130
+ # Output only. When the Feature resource was created.
1131
+ # Corresponds to the JSON property `createTime`
1132
+ # @return [String]
1133
+ attr_accessor :create_time
1134
+
1135
+ # Output only. When the Feature resource was deleted.
1136
+ # Corresponds to the JSON property `deleteTime`
1137
+ # @return [String]
1138
+ attr_accessor :delete_time
1139
+
1140
+ # GCP labels for this Feature.
1141
+ # Corresponds to the JSON property `labels`
1142
+ # @return [Hash<String,String>]
1143
+ attr_accessor :labels
1144
+
1145
+ # Optional. Membership-specific configuration for this Feature. If this Feature
1146
+ # does not support any per-Membership configuration, this field may be unused.
1147
+ # The keys indicate which Membership the configuration is for, in the form:
1148
+ # projects/`p`/locations/`l`/memberships/`m` Where `p` is the project, `l` is a
1149
+ # valid location and `m` is a valid Membership in this project at that location.
1150
+ # `p` WILL match the Feature's project. `p` will always be returned as the
1151
+ # project number, but the project ID is also accepted during input. If the same
1152
+ # Membership is specified in the map twice (using the project ID form, and the
1153
+ # project number form), exactly ONE of the entries will be saved, with no
1154
+ # guarantees as to which. For this reason, it is recommended the same format be
1155
+ # used for all entries when mutating a Feature.
1156
+ # Corresponds to the JSON property `membershipSpecs`
1157
+ # @return [Hash<String,Google::Apis::GkehubV1::MembershipFeatureSpec>]
1158
+ attr_accessor :membership_specs
1159
+
1160
+ # Output only. Membership-specific Feature status. If this Feature does report
1161
+ # any per-Membership status, this field may be unused. The keys indicate which
1162
+ # Membership the state is for, in the form: projects/`p`/locations/`l`/
1163
+ # memberships/`m` Where `p` is the project number, `l` is a valid location and `
1164
+ # m` is a valid Membership in this project at that location. `p` MUST match the
1165
+ # Feature's project number.
1166
+ # Corresponds to the JSON property `membershipStates`
1167
+ # @return [Hash<String,Google::Apis::GkehubV1::MembershipFeatureState>]
1168
+ attr_accessor :membership_states
1169
+
1170
+ # Output only. The full, unique name of this Feature resource in the format `
1171
+ # projects/*/locations/*/features/*`.
1172
+ # Corresponds to the JSON property `name`
1173
+ # @return [String]
1174
+ attr_accessor :name
1175
+
1176
+ # FeatureResourceState describes the state of a Feature *resource* in the GkeHub
1177
+ # API. See `FeatureState` for the "running state" of the Feature in the Hub and
1178
+ # across Memberships.
1179
+ # Corresponds to the JSON property `resourceState`
1180
+ # @return [Google::Apis::GkehubV1::FeatureResourceState]
1181
+ attr_accessor :resource_state
1182
+
1183
+ # CommonFeatureSpec contains Hub-wide configuration information
1184
+ # Corresponds to the JSON property `spec`
1185
+ # @return [Google::Apis::GkehubV1::CommonFeatureSpec]
1186
+ attr_accessor :spec
1187
+
1188
+ # CommonFeatureState contains Hub-wide Feature status information.
1189
+ # Corresponds to the JSON property `state`
1190
+ # @return [Google::Apis::GkehubV1::CommonFeatureState]
1191
+ attr_accessor :state
1192
+
1193
+ # Output only. When the Feature resource was last updated.
1194
+ # Corresponds to the JSON property `updateTime`
1195
+ # @return [String]
1196
+ attr_accessor :update_time
1197
+
1198
+ def initialize(**args)
1199
+ update!(**args)
1200
+ end
1201
+
1202
+ # Update properties of this object
1203
+ def update!(**args)
1204
+ @create_time = args[:create_time] if args.key?(:create_time)
1205
+ @delete_time = args[:delete_time] if args.key?(:delete_time)
1206
+ @labels = args[:labels] if args.key?(:labels)
1207
+ @membership_specs = args[:membership_specs] if args.key?(:membership_specs)
1208
+ @membership_states = args[:membership_states] if args.key?(:membership_states)
1209
+ @name = args[:name] if args.key?(:name)
1210
+ @resource_state = args[:resource_state] if args.key?(:resource_state)
1211
+ @spec = args[:spec] if args.key?(:spec)
1212
+ @state = args[:state] if args.key?(:state)
1213
+ @update_time = args[:update_time] if args.key?(:update_time)
1214
+ end
1215
+ end
1216
+
1217
+ # FeatureResourceState describes the state of a Feature *resource* in the GkeHub
1218
+ # API. See `FeatureState` for the "running state" of the Feature in the Hub and
1219
+ # across Memberships.
1220
+ class FeatureResourceState
1221
+ include Google::Apis::Core::Hashable
1222
+
1223
+ # The current state of the Feature resource in the Hub API.
1224
+ # Corresponds to the JSON property `state`
1225
+ # @return [String]
1226
+ attr_accessor :state
1227
+
1228
+ def initialize(**args)
1229
+ update!(**args)
1230
+ end
1231
+
1232
+ # Update properties of this object
1233
+ def update!(**args)
1234
+ @state = args[:state] if args.key?(:state)
1235
+ end
1236
+ end
1237
+
1238
+ # FeatureState describes the high-level state of a Feature. It may be used to
1239
+ # describe a Feature's state at the environ-level, or per-membershop, depending
1240
+ # on the context.
1241
+ class FeatureState
1242
+ include Google::Apis::Core::Hashable
1243
+
1244
+ # The high-level, machine-readable status of this Feature.
1245
+ # Corresponds to the JSON property `code`
1246
+ # @return [String]
1247
+ attr_accessor :code
1248
+
1249
+ # A human-readable description of the current status.
1250
+ # Corresponds to the JSON property `description`
1251
+ # @return [String]
1252
+ attr_accessor :description
1253
+
1254
+ # The time this status and any related Feature-specific details were updated.
1255
+ # Corresponds to the JSON property `updateTime`
1256
+ # @return [String]
1257
+ attr_accessor :update_time
1258
+
1259
+ def initialize(**args)
1260
+ update!(**args)
1261
+ end
1262
+
1263
+ # Update properties of this object
1264
+ def update!(**args)
1265
+ @code = args[:code] if args.key?(:code)
1266
+ @description = args[:description] if args.key?(:description)
1267
+ @update_time = args[:update_time] if args.key?(:update_time)
1268
+ end
1269
+ end
1270
+
323
1271
  # GenerateConnectManifestResponse contains manifest information for installing/
324
1272
  # upgrading a Connect agent.
325
1273
  class GenerateConnectManifestResponse
@@ -457,6 +1405,32 @@ module Google
457
1405
  end
458
1406
  end
459
1407
 
1408
+ # Response message for the `GkeHub.ListFeatures` method.
1409
+ class ListFeaturesResponse
1410
+ include Google::Apis::Core::Hashable
1411
+
1412
+ # A token to request the next page of resources from the `ListFeatures` method.
1413
+ # The value of an empty string means that there are no more resources to return.
1414
+ # Corresponds to the JSON property `nextPageToken`
1415
+ # @return [String]
1416
+ attr_accessor :next_page_token
1417
+
1418
+ # The list of matching Features
1419
+ # Corresponds to the JSON property `resources`
1420
+ # @return [Array<Google::Apis::GkehubV1::Feature>]
1421
+ attr_accessor :resources
1422
+
1423
+ def initialize(**args)
1424
+ update!(**args)
1425
+ end
1426
+
1427
+ # Update properties of this object
1428
+ def update!(**args)
1429
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1430
+ @resources = args[:resources] if args.key?(:resources)
1431
+ end
1432
+ end
1433
+
460
1434
  # The response message for Locations.ListLocations.
461
1435
  class ListLocationsResponse
462
1436
  include Google::Apis::Core::Hashable
@@ -717,6 +1691,55 @@ module Google
717
1691
  end
718
1692
  end
719
1693
 
1694
+ # MembershipFeatureSpec contains configuration information for a single
1695
+ # Membership.
1696
+ class MembershipFeatureSpec
1697
+ include Google::Apis::Core::Hashable
1698
+
1699
+ # **Anthos Config Management**: Configuration for a single cluster. Intended to
1700
+ # parallel the ConfigManagement CR.
1701
+ # Corresponds to the JSON property `configmanagement`
1702
+ # @return [Google::Apis::GkehubV1::ConfigManagementMembershipSpec]
1703
+ attr_accessor :configmanagement
1704
+
1705
+ def initialize(**args)
1706
+ update!(**args)
1707
+ end
1708
+
1709
+ # Update properties of this object
1710
+ def update!(**args)
1711
+ @configmanagement = args[:configmanagement] if args.key?(:configmanagement)
1712
+ end
1713
+ end
1714
+
1715
+ # MembershipFeatureState contains Feature status information for a single
1716
+ # Membership.
1717
+ class MembershipFeatureState
1718
+ include Google::Apis::Core::Hashable
1719
+
1720
+ # **Anthos Config Management**: State for a single cluster.
1721
+ # Corresponds to the JSON property `configmanagement`
1722
+ # @return [Google::Apis::GkehubV1::ConfigManagementMembershipState]
1723
+ attr_accessor :configmanagement
1724
+
1725
+ # FeatureState describes the high-level state of a Feature. It may be used to
1726
+ # describe a Feature's state at the environ-level, or per-membershop, depending
1727
+ # on the context.
1728
+ # Corresponds to the JSON property `state`
1729
+ # @return [Google::Apis::GkehubV1::FeatureState]
1730
+ attr_accessor :state
1731
+
1732
+ def initialize(**args)
1733
+ update!(**args)
1734
+ end
1735
+
1736
+ # Update properties of this object
1737
+ def update!(**args)
1738
+ @configmanagement = args[:configmanagement] if args.key?(:configmanagement)
1739
+ @state = args[:state] if args.key?(:state)
1740
+ end
1741
+ end
1742
+
720
1743
  # MembershipState describes the state of a Membership resource.
721
1744
  class MembershipState
722
1745
  include Google::Apis::Core::Hashable
@@ -736,6 +1759,27 @@ module Google
736
1759
  end
737
1760
  end
738
1761
 
1762
+ # **Multi-cluster Ingress**: The configuration for the MultiClusterIngress
1763
+ # feature.
1764
+ class MultiClusterIngressFeatureSpec
1765
+ include Google::Apis::Core::Hashable
1766
+
1767
+ # Fully-qualified Membership name which hosts the MultiClusterIngress CRD.
1768
+ # Example: `projects/foo-proj/locations/global/memberships/bar`
1769
+ # Corresponds to the JSON property `configMembership`
1770
+ # @return [String]
1771
+ attr_accessor :config_membership
1772
+
1773
+ def initialize(**args)
1774
+ update!(**args)
1775
+ end
1776
+
1777
+ # Update properties of this object
1778
+ def update!(**args)
1779
+ @config_membership = args[:config_membership] if args.key?(:config_membership)
1780
+ end
1781
+ end
1782
+
739
1783
  # This resource represents a long-running operation that is the result of a
740
1784
  # network API call.
741
1785
  class Operation