google-apis-gkehub_v2alpha 0.17.0 → 0.18.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/lib/google/apis/gkehub_v2alpha/classes.rb +3265 -118
- data/lib/google/apis/gkehub_v2alpha/gem_version.rb +3 -3
- data/lib/google/apis/gkehub_v2alpha/representations.rb +1431 -25
- data/lib/google/apis/gkehub_v2alpha/service.rb +204 -0
- metadata +4 -4
@@ -22,6 +22,50 @@ module Google
|
|
22
22
|
module Apis
|
23
23
|
module GkehubV2alpha
|
24
24
|
|
25
|
+
# State for App Dev Exp Feature.
|
26
|
+
class AppDevExperienceState
|
27
|
+
include Google::Apis::Core::Hashable
|
28
|
+
|
29
|
+
# Status specifies state for the subcomponent.
|
30
|
+
# Corresponds to the JSON property `networkingInstallSucceeded`
|
31
|
+
# @return [Google::Apis::GkehubV2alpha::AppDevExperienceStatus]
|
32
|
+
attr_accessor :networking_install_succeeded
|
33
|
+
|
34
|
+
def initialize(**args)
|
35
|
+
update!(**args)
|
36
|
+
end
|
37
|
+
|
38
|
+
# Update properties of this object
|
39
|
+
def update!(**args)
|
40
|
+
@networking_install_succeeded = args[:networking_install_succeeded] if args.key?(:networking_install_succeeded)
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
# Status specifies state for the subcomponent.
|
45
|
+
class AppDevExperienceStatus
|
46
|
+
include Google::Apis::Core::Hashable
|
47
|
+
|
48
|
+
# Code specifies AppDevExperienceFeature's subcomponent ready state.
|
49
|
+
# Corresponds to the JSON property `code`
|
50
|
+
# @return [String]
|
51
|
+
attr_accessor :code
|
52
|
+
|
53
|
+
# Description is populated if Code is Failed, explaining why it has failed.
|
54
|
+
# Corresponds to the JSON property `description`
|
55
|
+
# @return [String]
|
56
|
+
attr_accessor :description
|
57
|
+
|
58
|
+
def initialize(**args)
|
59
|
+
update!(**args)
|
60
|
+
end
|
61
|
+
|
62
|
+
# Update properties of this object
|
63
|
+
def update!(**args)
|
64
|
+
@code = args[:code] if args.key?(:code)
|
65
|
+
@description = args[:description] if args.key?(:description)
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
25
69
|
# The request message for Operations.CancelOperation.
|
26
70
|
class CancelOperationRequest
|
27
71
|
include Google::Apis::Core::Hashable
|
@@ -35,48 +79,3059 @@ module Google
|
|
35
79
|
end
|
36
80
|
end
|
37
81
|
|
38
|
-
#
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
82
|
+
# **Cloud Build**: Configurations for each Cloud Build enabled cluster.
|
83
|
+
class CloudBuildSpec
|
84
|
+
include Google::Apis::Core::Hashable
|
85
|
+
|
86
|
+
# Whether it is allowed to run the privileged builds on the cluster or not.
|
87
|
+
# Corresponds to the JSON property `securityPolicy`
|
88
|
+
# @return [String]
|
89
|
+
attr_accessor :security_policy
|
90
|
+
|
91
|
+
# Version of the cloud build software on the cluster.
|
92
|
+
# Corresponds to the JSON property `version`
|
93
|
+
# @return [String]
|
94
|
+
attr_accessor :version
|
95
|
+
|
96
|
+
def initialize(**args)
|
97
|
+
update!(**args)
|
98
|
+
end
|
99
|
+
|
100
|
+
# Update properties of this object
|
101
|
+
def update!(**args)
|
102
|
+
@security_policy = args[:security_policy] if args.key?(:security_policy)
|
103
|
+
@version = args[:version] if args.key?(:version)
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
107
|
+
# GKEUpgrade represents a GKE provided upgrade, e.g., control plane upgrade.
|
108
|
+
class ClusterUpgradeGkeUpgrade
|
109
|
+
include Google::Apis::Core::Hashable
|
110
|
+
|
111
|
+
# Name of the upgrade, e.g., "k8s_control_plane".
|
112
|
+
# Corresponds to the JSON property `name`
|
113
|
+
# @return [String]
|
114
|
+
attr_accessor :name
|
115
|
+
|
116
|
+
# Version of the upgrade, e.g., "1.22.1-gke.100".
|
117
|
+
# Corresponds to the JSON property `version`
|
118
|
+
# @return [String]
|
119
|
+
attr_accessor :version
|
120
|
+
|
121
|
+
def initialize(**args)
|
122
|
+
update!(**args)
|
123
|
+
end
|
124
|
+
|
125
|
+
# Update properties of this object
|
126
|
+
def update!(**args)
|
127
|
+
@name = args[:name] if args.key?(:name)
|
128
|
+
@version = args[:version] if args.key?(:version)
|
129
|
+
end
|
130
|
+
end
|
131
|
+
|
132
|
+
# IgnoredMembership represents a membership ignored by the feature. A membership
|
133
|
+
# can be ignored because it was manually upgraded to a newer version than RC
|
134
|
+
# default.
|
135
|
+
class ClusterUpgradeIgnoredMembership
|
136
|
+
include Google::Apis::Core::Hashable
|
137
|
+
|
138
|
+
# Time when the membership was first set to ignored.
|
139
|
+
# Corresponds to the JSON property `ignoredTime`
|
140
|
+
# @return [String]
|
141
|
+
attr_accessor :ignored_time
|
142
|
+
|
143
|
+
# Reason why the membership is ignored.
|
144
|
+
# Corresponds to the JSON property `reason`
|
145
|
+
# @return [String]
|
146
|
+
attr_accessor :reason
|
147
|
+
|
148
|
+
def initialize(**args)
|
149
|
+
update!(**args)
|
150
|
+
end
|
151
|
+
|
152
|
+
# Update properties of this object
|
153
|
+
def update!(**args)
|
154
|
+
@ignored_time = args[:ignored_time] if args.key?(:ignored_time)
|
155
|
+
@reason = args[:reason] if args.key?(:reason)
|
156
|
+
end
|
157
|
+
end
|
158
|
+
|
159
|
+
# MembershipGKEUpgradeState is a GKEUpgrade and its state per-membership.
|
160
|
+
class ClusterUpgradeMembershipGkeUpgradeState
|
161
|
+
include Google::Apis::Core::Hashable
|
162
|
+
|
163
|
+
# UpgradeStatus provides status information for each upgrade.
|
164
|
+
# Corresponds to the JSON property `status`
|
165
|
+
# @return [Google::Apis::GkehubV2alpha::ClusterUpgradeUpgradeStatus]
|
166
|
+
attr_accessor :status
|
167
|
+
|
168
|
+
# GKEUpgrade represents a GKE provided upgrade, e.g., control plane upgrade.
|
169
|
+
# Corresponds to the JSON property `upgrade`
|
170
|
+
# @return [Google::Apis::GkehubV2alpha::ClusterUpgradeGkeUpgrade]
|
171
|
+
attr_accessor :upgrade
|
172
|
+
|
173
|
+
def initialize(**args)
|
174
|
+
update!(**args)
|
175
|
+
end
|
176
|
+
|
177
|
+
# Update properties of this object
|
178
|
+
def update!(**args)
|
179
|
+
@status = args[:status] if args.key?(:status)
|
180
|
+
@upgrade = args[:upgrade] if args.key?(:upgrade)
|
181
|
+
end
|
182
|
+
end
|
183
|
+
|
184
|
+
# Per-membership state for this feature.
|
185
|
+
class ClusterUpgradeState
|
186
|
+
include Google::Apis::Core::Hashable
|
187
|
+
|
188
|
+
# IgnoredMembership represents a membership ignored by the feature. A membership
|
189
|
+
# can be ignored because it was manually upgraded to a newer version than RC
|
190
|
+
# default.
|
191
|
+
# Corresponds to the JSON property `ignored`
|
192
|
+
# @return [Google::Apis::GkehubV2alpha::ClusterUpgradeIgnoredMembership]
|
193
|
+
attr_accessor :ignored
|
194
|
+
|
195
|
+
# Actual upgrade state against desired.
|
196
|
+
# Corresponds to the JSON property `upgrades`
|
197
|
+
# @return [Array<Google::Apis::GkehubV2alpha::ClusterUpgradeMembershipGkeUpgradeState>]
|
198
|
+
attr_accessor :upgrades
|
199
|
+
|
200
|
+
def initialize(**args)
|
201
|
+
update!(**args)
|
202
|
+
end
|
203
|
+
|
204
|
+
# Update properties of this object
|
205
|
+
def update!(**args)
|
206
|
+
@ignored = args[:ignored] if args.key?(:ignored)
|
207
|
+
@upgrades = args[:upgrades] if args.key?(:upgrades)
|
208
|
+
end
|
209
|
+
end
|
210
|
+
|
211
|
+
# UpgradeStatus provides status information for each upgrade.
|
212
|
+
class ClusterUpgradeUpgradeStatus
|
213
|
+
include Google::Apis::Core::Hashable
|
214
|
+
|
215
|
+
# Status code of the upgrade.
|
216
|
+
# Corresponds to the JSON property `code`
|
217
|
+
# @return [String]
|
218
|
+
attr_accessor :code
|
219
|
+
|
220
|
+
# Reason for this status.
|
221
|
+
# Corresponds to the JSON property `reason`
|
222
|
+
# @return [String]
|
223
|
+
attr_accessor :reason
|
224
|
+
|
225
|
+
# Last timestamp the status was updated.
|
226
|
+
# Corresponds to the JSON property `updateTime`
|
227
|
+
# @return [String]
|
228
|
+
attr_accessor :update_time
|
229
|
+
|
230
|
+
def initialize(**args)
|
231
|
+
update!(**args)
|
232
|
+
end
|
233
|
+
|
234
|
+
# Update properties of this object
|
235
|
+
def update!(**args)
|
236
|
+
@code = args[:code] if args.key?(:code)
|
237
|
+
@reason = args[:reason] if args.key?(:reason)
|
238
|
+
@update_time = args[:update_time] if args.key?(:update_time)
|
239
|
+
end
|
240
|
+
end
|
241
|
+
|
242
|
+
# Configuration for Binauthz.
|
243
|
+
class ConfigManagementBinauthzConfig
|
244
|
+
include Google::Apis::Core::Hashable
|
245
|
+
|
246
|
+
# Whether binauthz is enabled in this cluster.
|
247
|
+
# Corresponds to the JSON property `enabled`
|
248
|
+
# @return [Boolean]
|
249
|
+
attr_accessor :enabled
|
250
|
+
alias_method :enabled?, :enabled
|
251
|
+
|
252
|
+
def initialize(**args)
|
253
|
+
update!(**args)
|
254
|
+
end
|
255
|
+
|
256
|
+
# Update properties of this object
|
257
|
+
def update!(**args)
|
258
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
259
|
+
end
|
260
|
+
end
|
261
|
+
|
262
|
+
# State for Binauthz.
|
263
|
+
class ConfigManagementBinauthzState
|
264
|
+
include Google::Apis::Core::Hashable
|
265
|
+
|
266
|
+
# The version of binauthz.
|
267
|
+
# Corresponds to the JSON property `version`
|
268
|
+
# @return [Google::Apis::GkehubV2alpha::ConfigManagementBinauthzVersion]
|
269
|
+
attr_accessor :version
|
270
|
+
|
271
|
+
# The state of the binauthz webhook.
|
272
|
+
# Corresponds to the JSON property `webhook`
|
273
|
+
# @return [String]
|
274
|
+
attr_accessor :webhook
|
275
|
+
|
276
|
+
def initialize(**args)
|
277
|
+
update!(**args)
|
278
|
+
end
|
279
|
+
|
280
|
+
# Update properties of this object
|
281
|
+
def update!(**args)
|
282
|
+
@version = args[:version] if args.key?(:version)
|
283
|
+
@webhook = args[:webhook] if args.key?(:webhook)
|
284
|
+
end
|
285
|
+
end
|
286
|
+
|
287
|
+
# The version of binauthz.
|
288
|
+
class ConfigManagementBinauthzVersion
|
289
|
+
include Google::Apis::Core::Hashable
|
290
|
+
|
291
|
+
# The version of the binauthz webhook.
|
292
|
+
# Corresponds to the JSON property `webhookVersion`
|
293
|
+
# @return [String]
|
294
|
+
attr_accessor :webhook_version
|
295
|
+
|
296
|
+
def initialize(**args)
|
297
|
+
update!(**args)
|
298
|
+
end
|
299
|
+
|
300
|
+
# Update properties of this object
|
301
|
+
def update!(**args)
|
302
|
+
@webhook_version = args[:webhook_version] if args.key?(:webhook_version)
|
303
|
+
end
|
304
|
+
end
|
305
|
+
|
306
|
+
# Configuration for Config Sync
|
307
|
+
class ConfigManagementConfigSync
|
308
|
+
include Google::Apis::Core::Hashable
|
309
|
+
|
310
|
+
# Set to true to allow the vertical scaling. Defaults to false which disallows
|
311
|
+
# vertical scaling. This field is deprecated.
|
312
|
+
# Corresponds to the JSON property `allowVerticalScale`
|
313
|
+
# @return [Boolean]
|
314
|
+
attr_accessor :allow_vertical_scale
|
315
|
+
alias_method :allow_vertical_scale?, :allow_vertical_scale
|
316
|
+
|
317
|
+
# Enables the installation of ConfigSync. If set to true, ConfigSync resources
|
318
|
+
# will be created and the other ConfigSync fields will be applied if exist. If
|
319
|
+
# set to false, all other ConfigSync fields will be ignored, ConfigSync
|
320
|
+
# resources will be deleted. If omitted, ConfigSync resources will be managed
|
321
|
+
# depends on the presence of the git or oci field.
|
322
|
+
# Corresponds to the JSON property `enabled`
|
323
|
+
# @return [Boolean]
|
324
|
+
attr_accessor :enabled
|
325
|
+
alias_method :enabled?, :enabled
|
326
|
+
|
327
|
+
# Git repo configuration for a single cluster.
|
328
|
+
# Corresponds to the JSON property `git`
|
329
|
+
# @return [Google::Apis::GkehubV2alpha::ConfigManagementGitConfig]
|
330
|
+
attr_accessor :git
|
331
|
+
|
332
|
+
# The Email of the Google Cloud Service Account (GSA) used for exporting Config
|
333
|
+
# Sync metrics to Cloud Monitoring and Cloud Monarch when Workload Identity is
|
334
|
+
# enabled. The GSA should have the Monitoring Metric Writer (roles/monitoring.
|
335
|
+
# metricWriter) IAM role. The Kubernetes ServiceAccount `default` in the
|
336
|
+
# namespace `config-management-monitoring` should be bound to the GSA.
|
337
|
+
# Deprecated: If Workload Identity Federation for GKE is enabled, Google Cloud
|
338
|
+
# Service Account is no longer needed for exporting Config Sync metrics: https://
|
339
|
+
# cloud.google.com/kubernetes-engine/enterprise/config-sync/docs/how-to/monitor-
|
340
|
+
# config-sync-cloud-monitoring#custom-monitoring.
|
341
|
+
# Corresponds to the JSON property `metricsGcpServiceAccountEmail`
|
342
|
+
# @return [String]
|
343
|
+
attr_accessor :metrics_gcp_service_account_email
|
344
|
+
|
345
|
+
# OCI repo configuration for a single cluster.
|
346
|
+
# Corresponds to the JSON property `oci`
|
347
|
+
# @return [Google::Apis::GkehubV2alpha::ConfigManagementOciConfig]
|
348
|
+
attr_accessor :oci
|
349
|
+
|
350
|
+
# Set to true to enable the Config Sync admission webhook to prevent drifts. If
|
351
|
+
# set to `false`, disables the Config Sync admission webhook and does not
|
352
|
+
# prevent drifts.
|
353
|
+
# Corresponds to the JSON property `preventDrift`
|
354
|
+
# @return [Boolean]
|
355
|
+
attr_accessor :prevent_drift
|
356
|
+
alias_method :prevent_drift?, :prevent_drift
|
357
|
+
|
358
|
+
# Specifies whether the Config Sync Repo is in "hierarchical" or "unstructured"
|
359
|
+
# mode.
|
360
|
+
# Corresponds to the JSON property `sourceFormat`
|
361
|
+
# @return [String]
|
362
|
+
attr_accessor :source_format
|
363
|
+
|
364
|
+
# Set to true to stop syncing configs for a single cluster. Default to false.
|
365
|
+
# Corresponds to the JSON property `stopSyncing`
|
366
|
+
# @return [Boolean]
|
367
|
+
attr_accessor :stop_syncing
|
368
|
+
alias_method :stop_syncing?, :stop_syncing
|
369
|
+
|
370
|
+
def initialize(**args)
|
371
|
+
update!(**args)
|
372
|
+
end
|
373
|
+
|
374
|
+
# Update properties of this object
|
375
|
+
def update!(**args)
|
376
|
+
@allow_vertical_scale = args[:allow_vertical_scale] if args.key?(:allow_vertical_scale)
|
377
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
378
|
+
@git = args[:git] if args.key?(:git)
|
379
|
+
@metrics_gcp_service_account_email = args[:metrics_gcp_service_account_email] if args.key?(:metrics_gcp_service_account_email)
|
380
|
+
@oci = args[:oci] if args.key?(:oci)
|
381
|
+
@prevent_drift = args[:prevent_drift] if args.key?(:prevent_drift)
|
382
|
+
@source_format = args[:source_format] if args.key?(:source_format)
|
383
|
+
@stop_syncing = args[:stop_syncing] if args.key?(:stop_syncing)
|
384
|
+
end
|
385
|
+
end
|
386
|
+
|
387
|
+
# The state of ConfigSync's deployment on a cluster.
|
388
|
+
class ConfigManagementConfigSyncDeploymentState
|
389
|
+
include Google::Apis::Core::Hashable
|
390
|
+
|
391
|
+
# Deployment state of admission-webhook.
|
392
|
+
# Corresponds to the JSON property `admissionWebhook`
|
393
|
+
# @return [String]
|
394
|
+
attr_accessor :admission_webhook
|
395
|
+
|
396
|
+
# Deployment state of the git-sync pod.
|
397
|
+
# Corresponds to the JSON property `gitSync`
|
398
|
+
# @return [String]
|
399
|
+
attr_accessor :git_sync
|
400
|
+
|
401
|
+
# Deployment state of the importer pod.
|
402
|
+
# Corresponds to the JSON property `importer`
|
403
|
+
# @return [String]
|
404
|
+
attr_accessor :importer
|
405
|
+
|
406
|
+
# Deployment state of the monitor pod.
|
407
|
+
# Corresponds to the JSON property `monitor`
|
408
|
+
# @return [String]
|
409
|
+
attr_accessor :monitor
|
410
|
+
|
411
|
+
# Deployment state of otel-collector
|
412
|
+
# Corresponds to the JSON property `otelCollector`
|
413
|
+
# @return [String]
|
414
|
+
attr_accessor :otel_collector
|
415
|
+
|
416
|
+
# Deployment state of reconciler-manager pod.
|
417
|
+
# Corresponds to the JSON property `reconcilerManager`
|
418
|
+
# @return [String]
|
419
|
+
attr_accessor :reconciler_manager
|
420
|
+
|
421
|
+
# Deployment state of resource-group-controller-manager
|
422
|
+
# Corresponds to the JSON property `resourceGroupControllerManager`
|
423
|
+
# @return [String]
|
424
|
+
attr_accessor :resource_group_controller_manager
|
425
|
+
|
426
|
+
# Deployment state of root-reconciler.
|
427
|
+
# Corresponds to the JSON property `rootReconciler`
|
428
|
+
# @return [String]
|
429
|
+
attr_accessor :root_reconciler
|
430
|
+
|
431
|
+
# Deployment state of the syncer pod.
|
432
|
+
# Corresponds to the JSON property `syncer`
|
433
|
+
# @return [String]
|
434
|
+
attr_accessor :syncer
|
435
|
+
|
436
|
+
def initialize(**args)
|
437
|
+
update!(**args)
|
438
|
+
end
|
439
|
+
|
440
|
+
# Update properties of this object
|
441
|
+
def update!(**args)
|
442
|
+
@admission_webhook = args[:admission_webhook] if args.key?(:admission_webhook)
|
443
|
+
@git_sync = args[:git_sync] if args.key?(:git_sync)
|
444
|
+
@importer = args[:importer] if args.key?(:importer)
|
445
|
+
@monitor = args[:monitor] if args.key?(:monitor)
|
446
|
+
@otel_collector = args[:otel_collector] if args.key?(:otel_collector)
|
447
|
+
@reconciler_manager = args[:reconciler_manager] if args.key?(:reconciler_manager)
|
448
|
+
@resource_group_controller_manager = args[:resource_group_controller_manager] if args.key?(:resource_group_controller_manager)
|
449
|
+
@root_reconciler = args[:root_reconciler] if args.key?(:root_reconciler)
|
450
|
+
@syncer = args[:syncer] if args.key?(:syncer)
|
451
|
+
end
|
452
|
+
end
|
453
|
+
|
454
|
+
# Errors pertaining to the installation of Config Sync
|
455
|
+
class ConfigManagementConfigSyncError
|
456
|
+
include Google::Apis::Core::Hashable
|
457
|
+
|
458
|
+
# A string representing the user facing error message
|
459
|
+
# Corresponds to the JSON property `errorMessage`
|
460
|
+
# @return [String]
|
461
|
+
attr_accessor :error_message
|
462
|
+
|
463
|
+
def initialize(**args)
|
464
|
+
update!(**args)
|
465
|
+
end
|
466
|
+
|
467
|
+
# Update properties of this object
|
468
|
+
def update!(**args)
|
469
|
+
@error_message = args[:error_message] if args.key?(:error_message)
|
470
|
+
end
|
471
|
+
end
|
472
|
+
|
473
|
+
# State information for ConfigSync.
|
474
|
+
class ConfigManagementConfigSyncState
|
475
|
+
include Google::Apis::Core::Hashable
|
476
|
+
|
477
|
+
# Whether syncing resources to the cluster is stopped at the cluster level.
|
478
|
+
# Corresponds to the JSON property `clusterLevelStopSyncingState`
|
479
|
+
# @return [String]
|
480
|
+
attr_accessor :cluster_level_stop_syncing_state
|
481
|
+
|
482
|
+
# Output only. The number of RootSync and RepoSync CRs in the cluster.
|
483
|
+
# Corresponds to the JSON property `crCount`
|
484
|
+
# @return [Fixnum]
|
485
|
+
attr_accessor :cr_count
|
486
|
+
|
487
|
+
# The state of ConfigSync's deployment on a cluster.
|
488
|
+
# Corresponds to the JSON property `deploymentState`
|
489
|
+
# @return [Google::Apis::GkehubV2alpha::ConfigManagementConfigSyncDeploymentState]
|
490
|
+
attr_accessor :deployment_state
|
491
|
+
|
492
|
+
# Errors pertaining to the installation of Config Sync.
|
493
|
+
# Corresponds to the JSON property `errors`
|
494
|
+
# @return [Array<Google::Apis::GkehubV2alpha::ConfigManagementConfigSyncError>]
|
495
|
+
attr_accessor :errors
|
496
|
+
|
497
|
+
# The state of the Reposync CRD
|
498
|
+
# Corresponds to the JSON property `reposyncCrd`
|
499
|
+
# @return [String]
|
500
|
+
attr_accessor :reposync_crd
|
501
|
+
|
502
|
+
# The state of the RootSync CRD
|
503
|
+
# Corresponds to the JSON property `rootsyncCrd`
|
504
|
+
# @return [String]
|
505
|
+
attr_accessor :rootsync_crd
|
506
|
+
|
507
|
+
# The state of CS This field summarizes the other fields in this message.
|
508
|
+
# Corresponds to the JSON property `state`
|
509
|
+
# @return [String]
|
510
|
+
attr_accessor :state
|
511
|
+
|
512
|
+
# State indicating an ACM's progress syncing configurations to a cluster.
|
513
|
+
# Corresponds to the JSON property `syncState`
|
514
|
+
# @return [Google::Apis::GkehubV2alpha::ConfigManagementSyncState]
|
515
|
+
attr_accessor :sync_state
|
516
|
+
|
517
|
+
# Specific versioning information pertaining to ConfigSync's Pods.
|
518
|
+
# Corresponds to the JSON property `version`
|
519
|
+
# @return [Google::Apis::GkehubV2alpha::ConfigManagementConfigSyncVersion]
|
520
|
+
attr_accessor :version
|
521
|
+
|
522
|
+
def initialize(**args)
|
523
|
+
update!(**args)
|
524
|
+
end
|
525
|
+
|
526
|
+
# Update properties of this object
|
527
|
+
def update!(**args)
|
528
|
+
@cluster_level_stop_syncing_state = args[:cluster_level_stop_syncing_state] if args.key?(:cluster_level_stop_syncing_state)
|
529
|
+
@cr_count = args[:cr_count] if args.key?(:cr_count)
|
530
|
+
@deployment_state = args[:deployment_state] if args.key?(:deployment_state)
|
531
|
+
@errors = args[:errors] if args.key?(:errors)
|
532
|
+
@reposync_crd = args[:reposync_crd] if args.key?(:reposync_crd)
|
533
|
+
@rootsync_crd = args[:rootsync_crd] if args.key?(:rootsync_crd)
|
534
|
+
@state = args[:state] if args.key?(:state)
|
535
|
+
@sync_state = args[:sync_state] if args.key?(:sync_state)
|
536
|
+
@version = args[:version] if args.key?(:version)
|
537
|
+
end
|
538
|
+
end
|
539
|
+
|
540
|
+
# Specific versioning information pertaining to ConfigSync's Pods.
|
541
|
+
class ConfigManagementConfigSyncVersion
|
542
|
+
include Google::Apis::Core::Hashable
|
543
|
+
|
544
|
+
# Version of the deployed admission-webhook pod.
|
545
|
+
# Corresponds to the JSON property `admissionWebhook`
|
546
|
+
# @return [String]
|
547
|
+
attr_accessor :admission_webhook
|
548
|
+
|
549
|
+
# Version of the deployed git-sync pod.
|
550
|
+
# Corresponds to the JSON property `gitSync`
|
551
|
+
# @return [String]
|
552
|
+
attr_accessor :git_sync
|
553
|
+
|
554
|
+
# Version of the deployed importer pod.
|
555
|
+
# Corresponds to the JSON property `importer`
|
556
|
+
# @return [String]
|
557
|
+
attr_accessor :importer
|
558
|
+
|
559
|
+
# Version of the deployed monitor pod.
|
560
|
+
# Corresponds to the JSON property `monitor`
|
561
|
+
# @return [String]
|
562
|
+
attr_accessor :monitor
|
563
|
+
|
564
|
+
# Version of the deployed otel-collector pod
|
565
|
+
# Corresponds to the JSON property `otelCollector`
|
566
|
+
# @return [String]
|
567
|
+
attr_accessor :otel_collector
|
568
|
+
|
569
|
+
# Version of the deployed reconciler-manager pod.
|
570
|
+
# Corresponds to the JSON property `reconcilerManager`
|
571
|
+
# @return [String]
|
572
|
+
attr_accessor :reconciler_manager
|
573
|
+
|
574
|
+
# Version of the deployed resource-group-controller-manager pod
|
575
|
+
# Corresponds to the JSON property `resourceGroupControllerManager`
|
576
|
+
# @return [String]
|
577
|
+
attr_accessor :resource_group_controller_manager
|
578
|
+
|
579
|
+
# Version of the deployed reconciler container in root-reconciler pod.
|
580
|
+
# Corresponds to the JSON property `rootReconciler`
|
581
|
+
# @return [String]
|
582
|
+
attr_accessor :root_reconciler
|
583
|
+
|
584
|
+
# Version of the deployed syncer pod.
|
585
|
+
# Corresponds to the JSON property `syncer`
|
586
|
+
# @return [String]
|
587
|
+
attr_accessor :syncer
|
588
|
+
|
589
|
+
def initialize(**args)
|
590
|
+
update!(**args)
|
591
|
+
end
|
592
|
+
|
593
|
+
# Update properties of this object
|
594
|
+
def update!(**args)
|
595
|
+
@admission_webhook = args[:admission_webhook] if args.key?(:admission_webhook)
|
596
|
+
@git_sync = args[:git_sync] if args.key?(:git_sync)
|
597
|
+
@importer = args[:importer] if args.key?(:importer)
|
598
|
+
@monitor = args[:monitor] if args.key?(:monitor)
|
599
|
+
@otel_collector = args[:otel_collector] if args.key?(:otel_collector)
|
600
|
+
@reconciler_manager = args[:reconciler_manager] if args.key?(:reconciler_manager)
|
601
|
+
@resource_group_controller_manager = args[:resource_group_controller_manager] if args.key?(:resource_group_controller_manager)
|
602
|
+
@root_reconciler = args[:root_reconciler] if args.key?(:root_reconciler)
|
603
|
+
@syncer = args[:syncer] if args.key?(:syncer)
|
604
|
+
end
|
605
|
+
end
|
606
|
+
|
607
|
+
# Model for a config file in the git repo with an associated Sync error.
|
608
|
+
class ConfigManagementErrorResource
|
609
|
+
include Google::Apis::Core::Hashable
|
610
|
+
|
611
|
+
# A Kubernetes object's GVK.
|
612
|
+
# Corresponds to the JSON property `resourceGvk`
|
613
|
+
# @return [Google::Apis::GkehubV2alpha::ConfigManagementGroupVersionKind]
|
614
|
+
attr_accessor :resource_gvk
|
615
|
+
|
616
|
+
# Metadata name of the resource that is causing an error
|
617
|
+
# Corresponds to the JSON property `resourceName`
|
618
|
+
# @return [String]
|
619
|
+
attr_accessor :resource_name
|
620
|
+
|
621
|
+
# Namespace of the resource that is causing an error
|
622
|
+
# Corresponds to the JSON property `resourceNamespace`
|
623
|
+
# @return [String]
|
624
|
+
attr_accessor :resource_namespace
|
625
|
+
|
626
|
+
# Path in the git repo of the erroneous config
|
627
|
+
# Corresponds to the JSON property `sourcePath`
|
628
|
+
# @return [String]
|
629
|
+
attr_accessor :source_path
|
630
|
+
|
631
|
+
def initialize(**args)
|
632
|
+
update!(**args)
|
633
|
+
end
|
634
|
+
|
635
|
+
# Update properties of this object
|
636
|
+
def update!(**args)
|
637
|
+
@resource_gvk = args[:resource_gvk] if args.key?(:resource_gvk)
|
638
|
+
@resource_name = args[:resource_name] if args.key?(:resource_name)
|
639
|
+
@resource_namespace = args[:resource_namespace] if args.key?(:resource_namespace)
|
640
|
+
@source_path = args[:source_path] if args.key?(:source_path)
|
641
|
+
end
|
642
|
+
end
|
643
|
+
|
644
|
+
# State of Policy Controller installation.
|
645
|
+
class ConfigManagementGatekeeperDeploymentState
|
646
|
+
include Google::Apis::Core::Hashable
|
647
|
+
|
648
|
+
# Status of gatekeeper-audit deployment.
|
649
|
+
# Corresponds to the JSON property `gatekeeperAudit`
|
650
|
+
# @return [String]
|
651
|
+
attr_accessor :gatekeeper_audit
|
652
|
+
|
653
|
+
# Status of gatekeeper-controller-manager pod.
|
654
|
+
# Corresponds to the JSON property `gatekeeperControllerManagerState`
|
655
|
+
# @return [String]
|
656
|
+
attr_accessor :gatekeeper_controller_manager_state
|
657
|
+
|
658
|
+
# Status of the pod serving the mutation webhook.
|
659
|
+
# Corresponds to the JSON property `gatekeeperMutation`
|
660
|
+
# @return [String]
|
661
|
+
attr_accessor :gatekeeper_mutation
|
662
|
+
|
663
|
+
def initialize(**args)
|
664
|
+
update!(**args)
|
665
|
+
end
|
666
|
+
|
667
|
+
# Update properties of this object
|
668
|
+
def update!(**args)
|
669
|
+
@gatekeeper_audit = args[:gatekeeper_audit] if args.key?(:gatekeeper_audit)
|
670
|
+
@gatekeeper_controller_manager_state = args[:gatekeeper_controller_manager_state] if args.key?(:gatekeeper_controller_manager_state)
|
671
|
+
@gatekeeper_mutation = args[:gatekeeper_mutation] if args.key?(:gatekeeper_mutation)
|
672
|
+
end
|
673
|
+
end
|
674
|
+
|
675
|
+
# Git repo configuration for a single cluster.
|
676
|
+
class ConfigManagementGitConfig
|
677
|
+
include Google::Apis::Core::Hashable
|
678
|
+
|
679
|
+
# The Google Cloud Service Account Email used for auth when secret_type is
|
680
|
+
# gcpServiceAccount.
|
681
|
+
# Corresponds to the JSON property `gcpServiceAccountEmail`
|
682
|
+
# @return [String]
|
683
|
+
attr_accessor :gcp_service_account_email
|
684
|
+
|
685
|
+
# URL for the HTTPS proxy to be used when communicating with the Git repo.
|
686
|
+
# Corresponds to the JSON property `httpsProxy`
|
687
|
+
# @return [String]
|
688
|
+
attr_accessor :https_proxy
|
689
|
+
|
690
|
+
# The path within the Git repository that represents the top level of the repo
|
691
|
+
# to sync. Default: the root directory of the repository.
|
692
|
+
# Corresponds to the JSON property `policyDir`
|
693
|
+
# @return [String]
|
694
|
+
attr_accessor :policy_dir
|
695
|
+
|
696
|
+
# Type of secret configured for access to the Git repo. Must be one of ssh,
|
697
|
+
# cookiefile, gcenode, token, gcpserviceaccount or none. The validation of this
|
698
|
+
# is case-sensitive. Required.
|
699
|
+
# Corresponds to the JSON property `secretType`
|
700
|
+
# @return [String]
|
701
|
+
attr_accessor :secret_type
|
702
|
+
|
703
|
+
# The branch of the repository to sync from. Default: master.
|
704
|
+
# Corresponds to the JSON property `syncBranch`
|
705
|
+
# @return [String]
|
706
|
+
attr_accessor :sync_branch
|
707
|
+
|
708
|
+
# The URL of the Git repository to use as the source of truth.
|
709
|
+
# Corresponds to the JSON property `syncRepo`
|
710
|
+
# @return [String]
|
711
|
+
attr_accessor :sync_repo
|
712
|
+
|
713
|
+
# Git revision (tag or hash) to check out. Default HEAD.
|
714
|
+
# Corresponds to the JSON property `syncRev`
|
715
|
+
# @return [String]
|
716
|
+
attr_accessor :sync_rev
|
717
|
+
|
718
|
+
# Period in seconds between consecutive syncs. Default: 15.
|
719
|
+
# Corresponds to the JSON property `syncWaitSecs`
|
720
|
+
# @return [Fixnum]
|
721
|
+
attr_accessor :sync_wait_secs
|
722
|
+
|
723
|
+
def initialize(**args)
|
724
|
+
update!(**args)
|
725
|
+
end
|
726
|
+
|
727
|
+
# Update properties of this object
|
728
|
+
def update!(**args)
|
729
|
+
@gcp_service_account_email = args[:gcp_service_account_email] if args.key?(:gcp_service_account_email)
|
730
|
+
@https_proxy = args[:https_proxy] if args.key?(:https_proxy)
|
731
|
+
@policy_dir = args[:policy_dir] if args.key?(:policy_dir)
|
732
|
+
@secret_type = args[:secret_type] if args.key?(:secret_type)
|
733
|
+
@sync_branch = args[:sync_branch] if args.key?(:sync_branch)
|
734
|
+
@sync_repo = args[:sync_repo] if args.key?(:sync_repo)
|
735
|
+
@sync_rev = args[:sync_rev] if args.key?(:sync_rev)
|
736
|
+
@sync_wait_secs = args[:sync_wait_secs] if args.key?(:sync_wait_secs)
|
737
|
+
end
|
738
|
+
end
|
739
|
+
|
740
|
+
# A Kubernetes object's GVK.
|
741
|
+
class ConfigManagementGroupVersionKind
|
742
|
+
include Google::Apis::Core::Hashable
|
743
|
+
|
744
|
+
# Kubernetes Group
|
745
|
+
# Corresponds to the JSON property `group`
|
746
|
+
# @return [String]
|
747
|
+
attr_accessor :group
|
748
|
+
|
749
|
+
# Kubernetes Kind
|
750
|
+
# Corresponds to the JSON property `kind`
|
751
|
+
# @return [String]
|
752
|
+
attr_accessor :kind
|
753
|
+
|
754
|
+
# Kubernetes Version
|
755
|
+
# Corresponds to the JSON property `version`
|
756
|
+
# @return [String]
|
757
|
+
attr_accessor :version
|
758
|
+
|
759
|
+
def initialize(**args)
|
760
|
+
update!(**args)
|
761
|
+
end
|
762
|
+
|
763
|
+
# Update properties of this object
|
764
|
+
def update!(**args)
|
765
|
+
@group = args[:group] if args.key?(:group)
|
766
|
+
@kind = args[:kind] if args.key?(:kind)
|
767
|
+
@version = args[:version] if args.key?(:version)
|
768
|
+
end
|
769
|
+
end
|
770
|
+
|
771
|
+
# Configuration for Hierarchy Controller.
|
772
|
+
class ConfigManagementHierarchyControllerConfig
|
773
|
+
include Google::Apis::Core::Hashable
|
774
|
+
|
775
|
+
# Whether hierarchical resource quota is enabled in this cluster.
|
776
|
+
# Corresponds to the JSON property `enableHierarchicalResourceQuota`
|
777
|
+
# @return [Boolean]
|
778
|
+
attr_accessor :enable_hierarchical_resource_quota
|
779
|
+
alias_method :enable_hierarchical_resource_quota?, :enable_hierarchical_resource_quota
|
780
|
+
|
781
|
+
# Whether pod tree labels are enabled in this cluster.
|
782
|
+
# Corresponds to the JSON property `enablePodTreeLabels`
|
783
|
+
# @return [Boolean]
|
784
|
+
attr_accessor :enable_pod_tree_labels
|
785
|
+
alias_method :enable_pod_tree_labels?, :enable_pod_tree_labels
|
786
|
+
|
787
|
+
# Whether Hierarchy Controller is enabled in this cluster.
|
788
|
+
# Corresponds to the JSON property `enabled`
|
789
|
+
# @return [Boolean]
|
790
|
+
attr_accessor :enabled
|
791
|
+
alias_method :enabled?, :enabled
|
792
|
+
|
793
|
+
def initialize(**args)
|
794
|
+
update!(**args)
|
795
|
+
end
|
796
|
+
|
797
|
+
# Update properties of this object
|
798
|
+
def update!(**args)
|
799
|
+
@enable_hierarchical_resource_quota = args[:enable_hierarchical_resource_quota] if args.key?(:enable_hierarchical_resource_quota)
|
800
|
+
@enable_pod_tree_labels = args[:enable_pod_tree_labels] if args.key?(:enable_pod_tree_labels)
|
801
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
802
|
+
end
|
803
|
+
end
|
804
|
+
|
805
|
+
# Deployment state for Hierarchy Controller
|
806
|
+
class ConfigManagementHierarchyControllerDeploymentState
|
807
|
+
include Google::Apis::Core::Hashable
|
808
|
+
|
809
|
+
# The deployment state for Hierarchy Controller extension (e.g. v0.7.0-hc.1).
|
810
|
+
# Corresponds to the JSON property `extension`
|
811
|
+
# @return [String]
|
812
|
+
attr_accessor :extension
|
813
|
+
|
814
|
+
# The deployment state for open source HNC (e.g. v0.7.0-hc.0).
|
815
|
+
# Corresponds to the JSON property `hnc`
|
816
|
+
# @return [String]
|
817
|
+
attr_accessor :hnc
|
818
|
+
|
819
|
+
def initialize(**args)
|
820
|
+
update!(**args)
|
821
|
+
end
|
822
|
+
|
823
|
+
# Update properties of this object
|
824
|
+
def update!(**args)
|
825
|
+
@extension = args[:extension] if args.key?(:extension)
|
826
|
+
@hnc = args[:hnc] if args.key?(:hnc)
|
827
|
+
end
|
828
|
+
end
|
829
|
+
|
830
|
+
# State for Hierarchy Controller.
|
831
|
+
class ConfigManagementHierarchyControllerState
|
832
|
+
include Google::Apis::Core::Hashable
|
833
|
+
|
834
|
+
# Deployment state for Hierarchy Controller
|
835
|
+
# Corresponds to the JSON property `state`
|
836
|
+
# @return [Google::Apis::GkehubV2alpha::ConfigManagementHierarchyControllerDeploymentState]
|
837
|
+
attr_accessor :state
|
838
|
+
|
839
|
+
# Version for Hierarchy Controller.
|
840
|
+
# Corresponds to the JSON property `version`
|
841
|
+
# @return [Google::Apis::GkehubV2alpha::ConfigManagementHierarchyControllerVersion]
|
842
|
+
attr_accessor :version
|
843
|
+
|
844
|
+
def initialize(**args)
|
845
|
+
update!(**args)
|
846
|
+
end
|
847
|
+
|
848
|
+
# Update properties of this object
|
849
|
+
def update!(**args)
|
850
|
+
@state = args[:state] if args.key?(:state)
|
851
|
+
@version = args[:version] if args.key?(:version)
|
852
|
+
end
|
853
|
+
end
|
854
|
+
|
855
|
+
# Version for Hierarchy Controller.
|
856
|
+
class ConfigManagementHierarchyControllerVersion
|
857
|
+
include Google::Apis::Core::Hashable
|
858
|
+
|
859
|
+
# Version for Hierarchy Controller extension.
|
860
|
+
# Corresponds to the JSON property `extension`
|
861
|
+
# @return [String]
|
862
|
+
attr_accessor :extension
|
863
|
+
|
864
|
+
# Version for open source HNC.
|
865
|
+
# Corresponds to the JSON property `hnc`
|
866
|
+
# @return [String]
|
867
|
+
attr_accessor :hnc
|
868
|
+
|
869
|
+
def initialize(**args)
|
870
|
+
update!(**args)
|
871
|
+
end
|
872
|
+
|
873
|
+
# Update properties of this object
|
874
|
+
def update!(**args)
|
875
|
+
@extension = args[:extension] if args.key?(:extension)
|
876
|
+
@hnc = args[:hnc] if args.key?(:hnc)
|
877
|
+
end
|
878
|
+
end
|
879
|
+
|
880
|
+
# Errors pertaining to the installation of ACM.
|
881
|
+
class ConfigManagementInstallError
|
882
|
+
include Google::Apis::Core::Hashable
|
883
|
+
|
884
|
+
# A string representing the user facing error message.
|
885
|
+
# Corresponds to the JSON property `errorMessage`
|
886
|
+
# @return [String]
|
887
|
+
attr_accessor :error_message
|
888
|
+
|
889
|
+
def initialize(**args)
|
890
|
+
update!(**args)
|
891
|
+
end
|
892
|
+
|
893
|
+
# Update properties of this object
|
894
|
+
def update!(**args)
|
895
|
+
@error_message = args[:error_message] if args.key?(:error_message)
|
896
|
+
end
|
897
|
+
end
|
898
|
+
|
899
|
+
# OCI repo configuration for a single cluster.
|
900
|
+
class ConfigManagementOciConfig
|
901
|
+
include Google::Apis::Core::Hashable
|
902
|
+
|
903
|
+
# The Google Cloud Service Account Email used for auth when secret_type is
|
904
|
+
# gcpServiceAccount.
|
905
|
+
# Corresponds to the JSON property `gcpServiceAccountEmail`
|
906
|
+
# @return [String]
|
907
|
+
attr_accessor :gcp_service_account_email
|
908
|
+
|
909
|
+
# The absolute path of the directory that contains the local resources. Default:
|
910
|
+
# the root directory of the image.
|
911
|
+
# Corresponds to the JSON property `policyDir`
|
912
|
+
# @return [String]
|
913
|
+
attr_accessor :policy_dir
|
914
|
+
|
915
|
+
# Type of secret configured for access to the Git repo.
|
916
|
+
# Corresponds to the JSON property `secretType`
|
917
|
+
# @return [String]
|
918
|
+
attr_accessor :secret_type
|
919
|
+
|
920
|
+
# The OCI image repository URL for the package to sync from. e.g. `LOCATION-
|
921
|
+
# docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME`.
|
922
|
+
# Corresponds to the JSON property `syncRepo`
|
923
|
+
# @return [String]
|
924
|
+
attr_accessor :sync_repo
|
925
|
+
|
926
|
+
# Period in seconds between consecutive syncs. Default: 15.
|
927
|
+
# Corresponds to the JSON property `syncWaitSecs`
|
928
|
+
# @return [Fixnum]
|
929
|
+
attr_accessor :sync_wait_secs
|
930
|
+
|
931
|
+
def initialize(**args)
|
932
|
+
update!(**args)
|
933
|
+
end
|
934
|
+
|
935
|
+
# Update properties of this object
|
936
|
+
def update!(**args)
|
937
|
+
@gcp_service_account_email = args[:gcp_service_account_email] if args.key?(:gcp_service_account_email)
|
938
|
+
@policy_dir = args[:policy_dir] if args.key?(:policy_dir)
|
939
|
+
@secret_type = args[:secret_type] if args.key?(:secret_type)
|
940
|
+
@sync_repo = args[:sync_repo] if args.key?(:sync_repo)
|
941
|
+
@sync_wait_secs = args[:sync_wait_secs] if args.key?(:sync_wait_secs)
|
942
|
+
end
|
943
|
+
end
|
944
|
+
|
945
|
+
# State information for an ACM's Operator.
|
946
|
+
class ConfigManagementOperatorState
|
947
|
+
include Google::Apis::Core::Hashable
|
948
|
+
|
949
|
+
# The state of the Operator's deployment.
|
950
|
+
# Corresponds to the JSON property `deploymentState`
|
951
|
+
# @return [String]
|
952
|
+
attr_accessor :deployment_state
|
953
|
+
|
954
|
+
# Install errors.
|
955
|
+
# Corresponds to the JSON property `errors`
|
956
|
+
# @return [Array<Google::Apis::GkehubV2alpha::ConfigManagementInstallError>]
|
957
|
+
attr_accessor :errors
|
958
|
+
|
959
|
+
# The semenatic version number of the operator.
|
960
|
+
# Corresponds to the JSON property `version`
|
961
|
+
# @return [String]
|
962
|
+
attr_accessor :version
|
963
|
+
|
964
|
+
def initialize(**args)
|
965
|
+
update!(**args)
|
966
|
+
end
|
967
|
+
|
968
|
+
# Update properties of this object
|
969
|
+
def update!(**args)
|
970
|
+
@deployment_state = args[:deployment_state] if args.key?(:deployment_state)
|
971
|
+
@errors = args[:errors] if args.key?(:errors)
|
972
|
+
@version = args[:version] if args.key?(:version)
|
973
|
+
end
|
974
|
+
end
|
975
|
+
|
976
|
+
# Configuration for Policy Controller
|
977
|
+
class ConfigManagementPolicyController
|
978
|
+
include Google::Apis::Core::Hashable
|
979
|
+
|
980
|
+
# Sets the interval for Policy Controller Audit Scans (in seconds). When set to
|
981
|
+
# 0, this disables audit functionality altogether.
|
982
|
+
# Corresponds to the JSON property `auditIntervalSeconds`
|
983
|
+
# @return [Fixnum]
|
984
|
+
attr_accessor :audit_interval_seconds
|
985
|
+
|
986
|
+
# Enables the installation of Policy Controller. If false, the rest of
|
987
|
+
# PolicyController fields take no effect.
|
988
|
+
# Corresponds to the JSON property `enabled`
|
989
|
+
# @return [Boolean]
|
990
|
+
attr_accessor :enabled
|
991
|
+
alias_method :enabled?, :enabled
|
992
|
+
|
993
|
+
# The set of namespaces that are excluded from Policy Controller checks.
|
994
|
+
# Namespaces do not need to currently exist on the cluster.
|
995
|
+
# Corresponds to the JSON property `exemptableNamespaces`
|
996
|
+
# @return [Array<String>]
|
997
|
+
attr_accessor :exemptable_namespaces
|
998
|
+
|
999
|
+
# Logs all denies and dry run failures.
|
1000
|
+
# Corresponds to the JSON property `logDeniesEnabled`
|
1001
|
+
# @return [Boolean]
|
1002
|
+
attr_accessor :log_denies_enabled
|
1003
|
+
alias_method :log_denies_enabled?, :log_denies_enabled
|
1004
|
+
|
1005
|
+
# PolicyControllerMonitoring specifies the backends Policy Controller should
|
1006
|
+
# export metrics to. For example, to specify metrics should be exported to Cloud
|
1007
|
+
# Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"]
|
1008
|
+
# Corresponds to the JSON property `monitoring`
|
1009
|
+
# @return [Google::Apis::GkehubV2alpha::ConfigManagementPolicyControllerMonitoring]
|
1010
|
+
attr_accessor :monitoring
|
1011
|
+
|
1012
|
+
# Enable or disable mutation in policy controller. If true, mutation CRDs,
|
1013
|
+
# webhook and controller deployment will be deployed to the cluster.
|
1014
|
+
# Corresponds to the JSON property `mutationEnabled`
|
1015
|
+
# @return [Boolean]
|
1016
|
+
attr_accessor :mutation_enabled
|
1017
|
+
alias_method :mutation_enabled?, :mutation_enabled
|
1018
|
+
|
1019
|
+
# Enables the ability to use Constraint Templates that reference to objects
|
1020
|
+
# other than the object currently being evaluated.
|
1021
|
+
# Corresponds to the JSON property `referentialRulesEnabled`
|
1022
|
+
# @return [Boolean]
|
1023
|
+
attr_accessor :referential_rules_enabled
|
1024
|
+
alias_method :referential_rules_enabled?, :referential_rules_enabled
|
1025
|
+
|
1026
|
+
# Installs the default template library along with Policy Controller.
|
1027
|
+
# Corresponds to the JSON property `templateLibraryInstalled`
|
1028
|
+
# @return [Boolean]
|
1029
|
+
attr_accessor :template_library_installed
|
1030
|
+
alias_method :template_library_installed?, :template_library_installed
|
1031
|
+
|
1032
|
+
# Output only. Last time this membership spec was updated.
|
1033
|
+
# Corresponds to the JSON property `updateTime`
|
1034
|
+
# @return [String]
|
1035
|
+
attr_accessor :update_time
|
1036
|
+
|
1037
|
+
def initialize(**args)
|
1038
|
+
update!(**args)
|
1039
|
+
end
|
1040
|
+
|
1041
|
+
# Update properties of this object
|
1042
|
+
def update!(**args)
|
1043
|
+
@audit_interval_seconds = args[:audit_interval_seconds] if args.key?(:audit_interval_seconds)
|
1044
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
1045
|
+
@exemptable_namespaces = args[:exemptable_namespaces] if args.key?(:exemptable_namespaces)
|
1046
|
+
@log_denies_enabled = args[:log_denies_enabled] if args.key?(:log_denies_enabled)
|
1047
|
+
@monitoring = args[:monitoring] if args.key?(:monitoring)
|
1048
|
+
@mutation_enabled = args[:mutation_enabled] if args.key?(:mutation_enabled)
|
1049
|
+
@referential_rules_enabled = args[:referential_rules_enabled] if args.key?(:referential_rules_enabled)
|
1050
|
+
@template_library_installed = args[:template_library_installed] if args.key?(:template_library_installed)
|
1051
|
+
@update_time = args[:update_time] if args.key?(:update_time)
|
1052
|
+
end
|
1053
|
+
end
|
1054
|
+
|
1055
|
+
# State for the migration of PolicyController from ACM -> PoCo Hub.
|
1056
|
+
class ConfigManagementPolicyControllerMigration
|
1057
|
+
include Google::Apis::Core::Hashable
|
1058
|
+
|
1059
|
+
# Last time this membership spec was copied to PoCo feature.
|
1060
|
+
# Corresponds to the JSON property `copyTime`
|
1061
|
+
# @return [String]
|
1062
|
+
attr_accessor :copy_time
|
1063
|
+
|
1064
|
+
# Stage of the migration.
|
1065
|
+
# Corresponds to the JSON property `stage`
|
1066
|
+
# @return [String]
|
1067
|
+
attr_accessor :stage
|
1068
|
+
|
1069
|
+
def initialize(**args)
|
1070
|
+
update!(**args)
|
1071
|
+
end
|
1072
|
+
|
1073
|
+
# Update properties of this object
|
1074
|
+
def update!(**args)
|
1075
|
+
@copy_time = args[:copy_time] if args.key?(:copy_time)
|
1076
|
+
@stage = args[:stage] if args.key?(:stage)
|
1077
|
+
end
|
1078
|
+
end
|
1079
|
+
|
1080
|
+
# PolicyControllerMonitoring specifies the backends Policy Controller should
|
1081
|
+
# export metrics to. For example, to specify metrics should be exported to Cloud
|
1082
|
+
# Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"]
|
1083
|
+
class ConfigManagementPolicyControllerMonitoring
|
1084
|
+
include Google::Apis::Core::Hashable
|
1085
|
+
|
1086
|
+
# Specifies the list of backends Policy Controller will export to. An empty list
|
1087
|
+
# would effectively disable metrics export.
|
1088
|
+
# Corresponds to the JSON property `backends`
|
1089
|
+
# @return [Array<String>]
|
1090
|
+
attr_accessor :backends
|
1091
|
+
|
1092
|
+
def initialize(**args)
|
1093
|
+
update!(**args)
|
1094
|
+
end
|
1095
|
+
|
1096
|
+
# Update properties of this object
|
1097
|
+
def update!(**args)
|
1098
|
+
@backends = args[:backends] if args.key?(:backends)
|
1099
|
+
end
|
1100
|
+
end
|
1101
|
+
|
1102
|
+
# State for PolicyControllerState.
|
1103
|
+
class ConfigManagementPolicyControllerState
|
1104
|
+
include Google::Apis::Core::Hashable
|
1105
|
+
|
1106
|
+
# State of Policy Controller installation.
|
1107
|
+
# Corresponds to the JSON property `deploymentState`
|
1108
|
+
# @return [Google::Apis::GkehubV2alpha::ConfigManagementGatekeeperDeploymentState]
|
1109
|
+
attr_accessor :deployment_state
|
1110
|
+
|
1111
|
+
# State for the migration of PolicyController from ACM -> PoCo Hub.
|
1112
|
+
# Corresponds to the JSON property `migration`
|
1113
|
+
# @return [Google::Apis::GkehubV2alpha::ConfigManagementPolicyControllerMigration]
|
1114
|
+
attr_accessor :migration
|
1115
|
+
|
1116
|
+
# The build version of Gatekeeper Policy Controller is using.
|
1117
|
+
# Corresponds to the JSON property `version`
|
1118
|
+
# @return [Google::Apis::GkehubV2alpha::ConfigManagementPolicyControllerVersion]
|
1119
|
+
attr_accessor :version
|
1120
|
+
|
1121
|
+
def initialize(**args)
|
1122
|
+
update!(**args)
|
1123
|
+
end
|
1124
|
+
|
1125
|
+
# Update properties of this object
|
1126
|
+
def update!(**args)
|
1127
|
+
@deployment_state = args[:deployment_state] if args.key?(:deployment_state)
|
1128
|
+
@migration = args[:migration] if args.key?(:migration)
|
1129
|
+
@version = args[:version] if args.key?(:version)
|
1130
|
+
end
|
1131
|
+
end
|
1132
|
+
|
1133
|
+
# The build version of Gatekeeper Policy Controller is using.
|
1134
|
+
class ConfigManagementPolicyControllerVersion
|
1135
|
+
include Google::Apis::Core::Hashable
|
1136
|
+
|
1137
|
+
# The gatekeeper image tag that is composed of ACM version, git tag, build
|
1138
|
+
# number.
|
1139
|
+
# Corresponds to the JSON property `version`
|
1140
|
+
# @return [String]
|
1141
|
+
attr_accessor :version
|
1142
|
+
|
1143
|
+
def initialize(**args)
|
1144
|
+
update!(**args)
|
1145
|
+
end
|
1146
|
+
|
1147
|
+
# Update properties of this object
|
1148
|
+
def update!(**args)
|
1149
|
+
@version = args[:version] if args.key?(:version)
|
1150
|
+
end
|
1151
|
+
end
|
1152
|
+
|
1153
|
+
# **Anthos Config Management**: Configuration for a single cluster. Intended to
|
1154
|
+
# parallel the ConfigManagement CR.
|
1155
|
+
class ConfigManagementSpec
|
1156
|
+
include Google::Apis::Core::Hashable
|
1157
|
+
|
1158
|
+
# Configuration for Binauthz.
|
1159
|
+
# Corresponds to the JSON property `binauthz`
|
1160
|
+
# @return [Google::Apis::GkehubV2alpha::ConfigManagementBinauthzConfig]
|
1161
|
+
attr_accessor :binauthz
|
1162
|
+
|
1163
|
+
# The user-specified cluster name used by Config Sync cluster-name-selector
|
1164
|
+
# annotation or ClusterSelector, for applying configs to only a subset of
|
1165
|
+
# clusters. Omit this field if the cluster's fleet membership name is used by
|
1166
|
+
# Config Sync cluster-name-selector annotation or ClusterSelector. Set this
|
1167
|
+
# field if a name different from the cluster's fleet membership name is used by
|
1168
|
+
# Config Sync cluster-name-selector annotation or ClusterSelector.
|
1169
|
+
# Corresponds to the JSON property `cluster`
|
1170
|
+
# @return [String]
|
1171
|
+
attr_accessor :cluster
|
1172
|
+
|
1173
|
+
# Configuration for Config Sync
|
1174
|
+
# Corresponds to the JSON property `configSync`
|
1175
|
+
# @return [Google::Apis::GkehubV2alpha::ConfigManagementConfigSync]
|
1176
|
+
attr_accessor :config_sync
|
1177
|
+
|
1178
|
+
# Configuration for Hierarchy Controller.
|
1179
|
+
# Corresponds to the JSON property `hierarchyController`
|
1180
|
+
# @return [Google::Apis::GkehubV2alpha::ConfigManagementHierarchyControllerConfig]
|
1181
|
+
attr_accessor :hierarchy_controller
|
1182
|
+
|
1183
|
+
# Enables automatic Feature management.
|
1184
|
+
# Corresponds to the JSON property `management`
|
1185
|
+
# @return [String]
|
1186
|
+
attr_accessor :management
|
1187
|
+
|
1188
|
+
# Configuration for Policy Controller
|
1189
|
+
# Corresponds to the JSON property `policyController`
|
1190
|
+
# @return [Google::Apis::GkehubV2alpha::ConfigManagementPolicyController]
|
1191
|
+
attr_accessor :policy_controller
|
1192
|
+
|
1193
|
+
# Version of ACM installed.
|
1194
|
+
# Corresponds to the JSON property `version`
|
1195
|
+
# @return [String]
|
1196
|
+
attr_accessor :version
|
1197
|
+
|
1198
|
+
def initialize(**args)
|
1199
|
+
update!(**args)
|
1200
|
+
end
|
1201
|
+
|
1202
|
+
# Update properties of this object
|
1203
|
+
def update!(**args)
|
1204
|
+
@binauthz = args[:binauthz] if args.key?(:binauthz)
|
1205
|
+
@cluster = args[:cluster] if args.key?(:cluster)
|
1206
|
+
@config_sync = args[:config_sync] if args.key?(:config_sync)
|
1207
|
+
@hierarchy_controller = args[:hierarchy_controller] if args.key?(:hierarchy_controller)
|
1208
|
+
@management = args[:management] if args.key?(:management)
|
1209
|
+
@policy_controller = args[:policy_controller] if args.key?(:policy_controller)
|
1210
|
+
@version = args[:version] if args.key?(:version)
|
1211
|
+
end
|
1212
|
+
end
|
1213
|
+
|
1214
|
+
# **Anthos Config Management**: State for a single cluster.
|
1215
|
+
class ConfigManagementState
|
1216
|
+
include Google::Apis::Core::Hashable
|
1217
|
+
|
1218
|
+
# State for Binauthz.
|
1219
|
+
# Corresponds to the JSON property `binauthzState`
|
1220
|
+
# @return [Google::Apis::GkehubV2alpha::ConfigManagementBinauthzState]
|
1221
|
+
attr_accessor :binauthz_state
|
1222
|
+
|
1223
|
+
# This field is set to the `cluster_name` field of the Membership Spec if it is
|
1224
|
+
# not empty. Otherwise, it is set to the cluster's fleet membership name.
|
1225
|
+
# Corresponds to the JSON property `clusterName`
|
1226
|
+
# @return [String]
|
1227
|
+
attr_accessor :cluster_name
|
1228
|
+
|
1229
|
+
# State information for ConfigSync.
|
1230
|
+
# Corresponds to the JSON property `configSyncState`
|
1231
|
+
# @return [Google::Apis::GkehubV2alpha::ConfigManagementConfigSyncState]
|
1232
|
+
attr_accessor :config_sync_state
|
1233
|
+
|
1234
|
+
# State for Hierarchy Controller.
|
1235
|
+
# Corresponds to the JSON property `hierarchyControllerState`
|
1236
|
+
# @return [Google::Apis::GkehubV2alpha::ConfigManagementHierarchyControllerState]
|
1237
|
+
attr_accessor :hierarchy_controller_state
|
1238
|
+
|
1239
|
+
# **Anthos Config Management**: Configuration for a single cluster. Intended to
|
1240
|
+
# parallel the ConfigManagement CR.
|
1241
|
+
# Corresponds to the JSON property `membershipSpec`
|
1242
|
+
# @return [Google::Apis::GkehubV2alpha::ConfigManagementSpec]
|
1243
|
+
attr_accessor :membership_spec
|
1244
|
+
|
1245
|
+
# State information for an ACM's Operator.
|
1246
|
+
# Corresponds to the JSON property `operatorState`
|
1247
|
+
# @return [Google::Apis::GkehubV2alpha::ConfigManagementOperatorState]
|
1248
|
+
attr_accessor :operator_state
|
1249
|
+
|
1250
|
+
# State for PolicyControllerState.
|
1251
|
+
# Corresponds to the JSON property `policyControllerState`
|
1252
|
+
# @return [Google::Apis::GkehubV2alpha::ConfigManagementPolicyControllerState]
|
1253
|
+
attr_accessor :policy_controller_state
|
1254
|
+
|
1255
|
+
def initialize(**args)
|
1256
|
+
update!(**args)
|
1257
|
+
end
|
1258
|
+
|
1259
|
+
# Update properties of this object
|
1260
|
+
def update!(**args)
|
1261
|
+
@binauthz_state = args[:binauthz_state] if args.key?(:binauthz_state)
|
1262
|
+
@cluster_name = args[:cluster_name] if args.key?(:cluster_name)
|
1263
|
+
@config_sync_state = args[:config_sync_state] if args.key?(:config_sync_state)
|
1264
|
+
@hierarchy_controller_state = args[:hierarchy_controller_state] if args.key?(:hierarchy_controller_state)
|
1265
|
+
@membership_spec = args[:membership_spec] if args.key?(:membership_spec)
|
1266
|
+
@operator_state = args[:operator_state] if args.key?(:operator_state)
|
1267
|
+
@policy_controller_state = args[:policy_controller_state] if args.key?(:policy_controller_state)
|
1268
|
+
end
|
1269
|
+
end
|
1270
|
+
|
1271
|
+
# An ACM created error representing a problem syncing configurations.
|
1272
|
+
class ConfigManagementSyncError
|
1273
|
+
include Google::Apis::Core::Hashable
|
1274
|
+
|
1275
|
+
# An ACM defined error code
|
1276
|
+
# Corresponds to the JSON property `code`
|
1277
|
+
# @return [String]
|
1278
|
+
attr_accessor :code
|
1279
|
+
|
1280
|
+
# A description of the error
|
1281
|
+
# Corresponds to the JSON property `errorMessage`
|
1282
|
+
# @return [String]
|
1283
|
+
attr_accessor :error_message
|
1284
|
+
|
1285
|
+
# A list of config(s) associated with the error, if any
|
1286
|
+
# Corresponds to the JSON property `errorResources`
|
1287
|
+
# @return [Array<Google::Apis::GkehubV2alpha::ConfigManagementErrorResource>]
|
1288
|
+
attr_accessor :error_resources
|
1289
|
+
|
1290
|
+
def initialize(**args)
|
1291
|
+
update!(**args)
|
1292
|
+
end
|
1293
|
+
|
1294
|
+
# Update properties of this object
|
1295
|
+
def update!(**args)
|
1296
|
+
@code = args[:code] if args.key?(:code)
|
1297
|
+
@error_message = args[:error_message] if args.key?(:error_message)
|
1298
|
+
@error_resources = args[:error_resources] if args.key?(:error_resources)
|
1299
|
+
end
|
1300
|
+
end
|
1301
|
+
|
1302
|
+
# State indicating an ACM's progress syncing configurations to a cluster.
|
1303
|
+
class ConfigManagementSyncState
|
1304
|
+
include Google::Apis::Core::Hashable
|
1305
|
+
|
1306
|
+
# Sync status code.
|
1307
|
+
# Corresponds to the JSON property `code`
|
1308
|
+
# @return [String]
|
1309
|
+
attr_accessor :code
|
1310
|
+
|
1311
|
+
# A list of errors resulting from problematic configs. This list will be
|
1312
|
+
# truncated after 100 errors, although it is unlikely for that many errors to
|
1313
|
+
# simultaneously exist.
|
1314
|
+
# Corresponds to the JSON property `errors`
|
1315
|
+
# @return [Array<Google::Apis::GkehubV2alpha::ConfigManagementSyncError>]
|
1316
|
+
attr_accessor :errors
|
1317
|
+
|
1318
|
+
# Token indicating the state of the importer.
|
1319
|
+
# Corresponds to the JSON property `importToken`
|
1320
|
+
# @return [String]
|
1321
|
+
attr_accessor :import_token
|
1322
|
+
|
1323
|
+
# Deprecated: use last_sync_time instead. Timestamp of when ACM last
|
1324
|
+
# successfully synced the repo. The time format is specified in https://golang.
|
1325
|
+
# org/pkg/time/#Time.String
|
1326
|
+
# Corresponds to the JSON property `lastSync`
|
1327
|
+
# @return [String]
|
1328
|
+
attr_accessor :last_sync
|
1329
|
+
|
1330
|
+
# Timestamp type of when ACM last successfully synced the repo.
|
1331
|
+
# Corresponds to the JSON property `lastSyncTime`
|
1332
|
+
# @return [String]
|
1333
|
+
attr_accessor :last_sync_time
|
1334
|
+
|
1335
|
+
# Token indicating the state of the repo.
|
1336
|
+
# Corresponds to the JSON property `sourceToken`
|
1337
|
+
# @return [String]
|
1338
|
+
attr_accessor :source_token
|
1339
|
+
|
1340
|
+
# Token indicating the state of the syncer.
|
1341
|
+
# Corresponds to the JSON property `syncToken`
|
1342
|
+
# @return [String]
|
1343
|
+
attr_accessor :sync_token
|
1344
|
+
|
1345
|
+
def initialize(**args)
|
1346
|
+
update!(**args)
|
1347
|
+
end
|
1348
|
+
|
1349
|
+
# Update properties of this object
|
1350
|
+
def update!(**args)
|
1351
|
+
@code = args[:code] if args.key?(:code)
|
1352
|
+
@errors = args[:errors] if args.key?(:errors)
|
1353
|
+
@import_token = args[:import_token] if args.key?(:import_token)
|
1354
|
+
@last_sync = args[:last_sync] if args.key?(:last_sync)
|
1355
|
+
@last_sync_time = args[:last_sync_time] if args.key?(:last_sync_time)
|
1356
|
+
@source_token = args[:source_token] if args.key?(:source_token)
|
1357
|
+
@sync_token = args[:sync_token] if args.key?(:sync_token)
|
1358
|
+
end
|
1359
|
+
end
|
1360
|
+
|
1361
|
+
# A generic empty message that you can re-use to avoid defining duplicated empty
|
1362
|
+
# messages in your APIs. A typical example is to use it as the request or the
|
1363
|
+
# response type of an API method. For instance: service Foo ` rpc Bar(google.
|
1364
|
+
# protobuf.Empty) returns (google.protobuf.Empty); `
|
1365
|
+
class Empty
|
1366
|
+
include Google::Apis::Core::Hashable
|
1367
|
+
|
1368
|
+
def initialize(**args)
|
1369
|
+
update!(**args)
|
1370
|
+
end
|
1371
|
+
|
1372
|
+
# Update properties of this object
|
1373
|
+
def update!(**args)
|
1374
|
+
end
|
1375
|
+
end
|
1376
|
+
|
1377
|
+
# Information of the FeatureConfig applied on the MembershipFeature.
|
1378
|
+
class FeatureConfigRef
|
1379
|
+
include Google::Apis::Core::Hashable
|
1380
|
+
|
1381
|
+
# Input only. Resource name of FeatureConfig, in the format: `projects/`project`/
|
1382
|
+
# locations/global/featureConfigs/`feature_config``.
|
1383
|
+
# Corresponds to the JSON property `config`
|
1384
|
+
# @return [String]
|
1385
|
+
attr_accessor :config
|
1386
|
+
|
1387
|
+
# Output only. When the FeatureConfig was last applied and copied to FeatureSpec.
|
1388
|
+
# Corresponds to the JSON property `configUpdateTime`
|
1389
|
+
# @return [String]
|
1390
|
+
attr_accessor :config_update_time
|
1391
|
+
|
1392
|
+
# Output only. An id that uniquely identify a FeatureConfig object.
|
1393
|
+
# Corresponds to the JSON property `uuid`
|
1394
|
+
# @return [String]
|
1395
|
+
attr_accessor :uuid
|
1396
|
+
|
1397
|
+
def initialize(**args)
|
1398
|
+
update!(**args)
|
1399
|
+
end
|
1400
|
+
|
1401
|
+
# Update properties of this object
|
1402
|
+
def update!(**args)
|
1403
|
+
@config = args[:config] if args.key?(:config)
|
1404
|
+
@config_update_time = args[:config_update_time] if args.key?(:config_update_time)
|
1405
|
+
@uuid = args[:uuid] if args.key?(:uuid)
|
1406
|
+
end
|
1407
|
+
end
|
1408
|
+
|
1409
|
+
# FeatureSpec contains user input per-feature spec information.
|
1410
|
+
class FeatureSpec
|
1411
|
+
include Google::Apis::Core::Hashable
|
1412
|
+
|
1413
|
+
# **Cloud Build**: Configurations for each Cloud Build enabled cluster.
|
1414
|
+
# Corresponds to the JSON property `cloudbuild`
|
1415
|
+
# @return [Google::Apis::GkehubV2alpha::CloudBuildSpec]
|
1416
|
+
attr_accessor :cloudbuild
|
1417
|
+
|
1418
|
+
# **Anthos Config Management**: Configuration for a single cluster. Intended to
|
1419
|
+
# parallel the ConfigManagement CR.
|
1420
|
+
# Corresponds to the JSON property `configmanagement`
|
1421
|
+
# @return [Google::Apis::GkehubV2alpha::ConfigManagementSpec]
|
1422
|
+
attr_accessor :configmanagement
|
1423
|
+
|
1424
|
+
# **IdentityService**: Configuration for a single membership.
|
1425
|
+
# Corresponds to the JSON property `identityservice`
|
1426
|
+
# @return [Google::Apis::GkehubV2alpha::IdentityServiceSpec]
|
1427
|
+
attr_accessor :identityservice
|
1428
|
+
|
1429
|
+
# Origin defines where this FeatureSpec originated from.
|
1430
|
+
# Corresponds to the JSON property `origin`
|
1431
|
+
# @return [Google::Apis::GkehubV2alpha::Origin]
|
1432
|
+
attr_accessor :origin
|
1433
|
+
|
1434
|
+
# **Policy Controller**: Configuration for a single cluster. Intended to
|
1435
|
+
# parallel the PolicyController CR.
|
1436
|
+
# Corresponds to the JSON property `policycontroller`
|
1437
|
+
# @return [Google::Apis::GkehubV2alpha::PolicyControllerSpec]
|
1438
|
+
attr_accessor :policycontroller
|
1439
|
+
|
1440
|
+
# **Service Mesh**: Spec for a single Membership for the servicemesh feature
|
1441
|
+
# Corresponds to the JSON property `servicemesh`
|
1442
|
+
# @return [Google::Apis::GkehubV2alpha::ServiceMeshSpec]
|
1443
|
+
attr_accessor :servicemesh
|
1444
|
+
|
1445
|
+
# **WorkloadCertificate**: The membership-specific input for WorkloadCertificate
|
1446
|
+
# feature.
|
1447
|
+
# Corresponds to the JSON property `workloadcertificate`
|
1448
|
+
# @return [Google::Apis::GkehubV2alpha::WorkloadCertificateSpec]
|
1449
|
+
attr_accessor :workloadcertificate
|
1450
|
+
|
1451
|
+
def initialize(**args)
|
1452
|
+
update!(**args)
|
1453
|
+
end
|
1454
|
+
|
1455
|
+
# Update properties of this object
|
1456
|
+
def update!(**args)
|
1457
|
+
@cloudbuild = args[:cloudbuild] if args.key?(:cloudbuild)
|
1458
|
+
@configmanagement = args[:configmanagement] if args.key?(:configmanagement)
|
1459
|
+
@identityservice = args[:identityservice] if args.key?(:identityservice)
|
1460
|
+
@origin = args[:origin] if args.key?(:origin)
|
1461
|
+
@policycontroller = args[:policycontroller] if args.key?(:policycontroller)
|
1462
|
+
@servicemesh = args[:servicemesh] if args.key?(:servicemesh)
|
1463
|
+
@workloadcertificate = args[:workloadcertificate] if args.key?(:workloadcertificate)
|
1464
|
+
end
|
1465
|
+
end
|
1466
|
+
|
1467
|
+
# FeatureState contains high-level state information and per-feature state
|
1468
|
+
# information for this MembershipFeature.
|
1469
|
+
class FeatureState
|
1470
|
+
include Google::Apis::Core::Hashable
|
1471
|
+
|
1472
|
+
# State for App Dev Exp Feature.
|
1473
|
+
# Corresponds to the JSON property `appdevexperience`
|
1474
|
+
# @return [Google::Apis::GkehubV2alpha::AppDevExperienceState]
|
1475
|
+
attr_accessor :appdevexperience
|
1476
|
+
|
1477
|
+
# Per-membership state for this feature.
|
1478
|
+
# Corresponds to the JSON property `clusterupgrade`
|
1479
|
+
# @return [Google::Apis::GkehubV2alpha::ClusterUpgradeState]
|
1480
|
+
attr_accessor :clusterupgrade
|
1481
|
+
|
1482
|
+
# **Anthos Config Management**: State for a single cluster.
|
1483
|
+
# Corresponds to the JSON property `configmanagement`
|
1484
|
+
# @return [Google::Apis::GkehubV2alpha::ConfigManagementState]
|
1485
|
+
attr_accessor :configmanagement
|
1486
|
+
|
1487
|
+
# **IdentityService**: State for a single membership, analyzed and reported by
|
1488
|
+
# feature controller.
|
1489
|
+
# Corresponds to the JSON property `identityservice`
|
1490
|
+
# @return [Google::Apis::GkehubV2alpha::IdentityServiceState]
|
1491
|
+
attr_accessor :identityservice
|
1492
|
+
|
1493
|
+
# **Metering**: State for a single membership, analyzed and reported by feature
|
1494
|
+
# controller.
|
1495
|
+
# Corresponds to the JSON property `metering`
|
1496
|
+
# @return [Google::Apis::GkehubV2alpha::MeteringState]
|
1497
|
+
attr_accessor :metering
|
1498
|
+
|
1499
|
+
# **Policy Controller**: State for a single cluster.
|
1500
|
+
# Corresponds to the JSON property `policycontroller`
|
1501
|
+
# @return [Google::Apis::GkehubV2alpha::PolicyControllerState]
|
1502
|
+
attr_accessor :policycontroller
|
1503
|
+
|
1504
|
+
# **Service Mesh**: State for a single Membership, as analyzed by the Service
|
1505
|
+
# Mesh Hub Controller.
|
1506
|
+
# Corresponds to the JSON property `servicemesh`
|
1507
|
+
# @return [Google::Apis::GkehubV2alpha::ServiceMeshState]
|
1508
|
+
attr_accessor :servicemesh
|
1509
|
+
|
1510
|
+
# High-level state of a MembershipFeature.
|
1511
|
+
# Corresponds to the JSON property `state`
|
1512
|
+
# @return [Google::Apis::GkehubV2alpha::State]
|
1513
|
+
attr_accessor :state
|
1514
|
+
|
1515
|
+
def initialize(**args)
|
1516
|
+
update!(**args)
|
1517
|
+
end
|
1518
|
+
|
1519
|
+
# Update properties of this object
|
1520
|
+
def update!(**args)
|
1521
|
+
@appdevexperience = args[:appdevexperience] if args.key?(:appdevexperience)
|
1522
|
+
@clusterupgrade = args[:clusterupgrade] if args.key?(:clusterupgrade)
|
1523
|
+
@configmanagement = args[:configmanagement] if args.key?(:configmanagement)
|
1524
|
+
@identityservice = args[:identityservice] if args.key?(:identityservice)
|
1525
|
+
@metering = args[:metering] if args.key?(:metering)
|
1526
|
+
@policycontroller = args[:policycontroller] if args.key?(:policycontroller)
|
1527
|
+
@servicemesh = args[:servicemesh] if args.key?(:servicemesh)
|
1528
|
+
@state = args[:state] if args.key?(:state)
|
1529
|
+
end
|
1530
|
+
end
|
1531
|
+
|
1532
|
+
# The `Status` type defines a logical error model that is suitable for different
|
1533
|
+
# programming environments, including REST APIs and RPC APIs. It is used by [
|
1534
|
+
# gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
|
1535
|
+
# data: error code, error message, and error details. You can find out more
|
1536
|
+
# about this error model and how to work with it in the [API Design Guide](https:
|
1537
|
+
# //cloud.google.com/apis/design/errors).
|
1538
|
+
class GoogleRpcStatus
|
1539
|
+
include Google::Apis::Core::Hashable
|
1540
|
+
|
1541
|
+
# The status code, which should be an enum value of google.rpc.Code.
|
1542
|
+
# Corresponds to the JSON property `code`
|
1543
|
+
# @return [Fixnum]
|
1544
|
+
attr_accessor :code
|
1545
|
+
|
1546
|
+
# A list of messages that carry the error details. There is a common set of
|
1547
|
+
# message types for APIs to use.
|
1548
|
+
# Corresponds to the JSON property `details`
|
1549
|
+
# @return [Array<Hash<String,Object>>]
|
1550
|
+
attr_accessor :details
|
1551
|
+
|
1552
|
+
# A developer-facing error message, which should be in English. Any user-facing
|
1553
|
+
# error message should be localized and sent in the google.rpc.Status.details
|
1554
|
+
# field, or localized by the client.
|
1555
|
+
# Corresponds to the JSON property `message`
|
1556
|
+
# @return [String]
|
1557
|
+
attr_accessor :message
|
1558
|
+
|
1559
|
+
def initialize(**args)
|
1560
|
+
update!(**args)
|
1561
|
+
end
|
1562
|
+
|
1563
|
+
# Update properties of this object
|
1564
|
+
def update!(**args)
|
1565
|
+
@code = args[:code] if args.key?(:code)
|
1566
|
+
@details = args[:details] if args.key?(:details)
|
1567
|
+
@message = args[:message] if args.key?(:message)
|
1568
|
+
end
|
1569
|
+
end
|
1570
|
+
|
1571
|
+
# Configuration of an auth method for a member/cluster. Only one authentication
|
1572
|
+
# method (e.g., OIDC and LDAP) can be set per AuthMethod.
|
1573
|
+
class IdentityServiceAuthMethod
|
1574
|
+
include Google::Apis::Core::Hashable
|
1575
|
+
|
1576
|
+
# Configuration for the AzureAD Auth flow.
|
1577
|
+
# Corresponds to the JSON property `azureadConfig`
|
1578
|
+
# @return [Google::Apis::GkehubV2alpha::IdentityServiceAzureAdConfig]
|
1579
|
+
attr_accessor :azuread_config
|
1580
|
+
|
1581
|
+
# Configuration for the Google Plugin Auth flow.
|
1582
|
+
# Corresponds to the JSON property `googleConfig`
|
1583
|
+
# @return [Google::Apis::GkehubV2alpha::IdentityServiceGoogleConfig]
|
1584
|
+
attr_accessor :google_config
|
1585
|
+
|
1586
|
+
# Configuration for the LDAP Auth flow.
|
1587
|
+
# Corresponds to the JSON property `ldapConfig`
|
1588
|
+
# @return [Google::Apis::GkehubV2alpha::IdentityServiceLdapConfig]
|
1589
|
+
attr_accessor :ldap_config
|
1590
|
+
|
1591
|
+
# Identifier for auth config.
|
1592
|
+
# Corresponds to the JSON property `name`
|
1593
|
+
# @return [String]
|
1594
|
+
attr_accessor :name
|
1595
|
+
|
1596
|
+
# Configuration for OIDC Auth flow.
|
1597
|
+
# Corresponds to the JSON property `oidcConfig`
|
1598
|
+
# @return [Google::Apis::GkehubV2alpha::IdentityServiceOidcConfig]
|
1599
|
+
attr_accessor :oidc_config
|
1600
|
+
|
1601
|
+
# Proxy server address to use for auth method.
|
1602
|
+
# Corresponds to the JSON property `proxy`
|
1603
|
+
# @return [String]
|
1604
|
+
attr_accessor :proxy
|
1605
|
+
|
1606
|
+
# Configuration for the SAML Auth flow.
|
1607
|
+
# Corresponds to the JSON property `samlConfig`
|
1608
|
+
# @return [Google::Apis::GkehubV2alpha::IdentityServiceSamlConfig]
|
1609
|
+
attr_accessor :saml_config
|
1610
|
+
|
1611
|
+
def initialize(**args)
|
1612
|
+
update!(**args)
|
1613
|
+
end
|
1614
|
+
|
1615
|
+
# Update properties of this object
|
1616
|
+
def update!(**args)
|
1617
|
+
@azuread_config = args[:azuread_config] if args.key?(:azuread_config)
|
1618
|
+
@google_config = args[:google_config] if args.key?(:google_config)
|
1619
|
+
@ldap_config = args[:ldap_config] if args.key?(:ldap_config)
|
1620
|
+
@name = args[:name] if args.key?(:name)
|
1621
|
+
@oidc_config = args[:oidc_config] if args.key?(:oidc_config)
|
1622
|
+
@proxy = args[:proxy] if args.key?(:proxy)
|
1623
|
+
@saml_config = args[:saml_config] if args.key?(:saml_config)
|
1624
|
+
end
|
1625
|
+
end
|
1626
|
+
|
1627
|
+
# Configuration for the AzureAD Auth flow.
|
1628
|
+
class IdentityServiceAzureAdConfig
|
1629
|
+
include Google::Apis::Core::Hashable
|
1630
|
+
|
1631
|
+
# ID for the registered client application that makes authentication requests to
|
1632
|
+
# the Azure AD identity provider.
|
1633
|
+
# Corresponds to the JSON property `clientId`
|
1634
|
+
# @return [String]
|
1635
|
+
attr_accessor :client_id
|
1636
|
+
|
1637
|
+
# Input only. Unencrypted AzureAD client secret will be passed to the GKE Hub
|
1638
|
+
# CLH.
|
1639
|
+
# Corresponds to the JSON property `clientSecret`
|
1640
|
+
# @return [String]
|
1641
|
+
attr_accessor :client_secret
|
1642
|
+
|
1643
|
+
# Output only. Encrypted AzureAD client secret.
|
1644
|
+
# Corresponds to the JSON property `encryptedClientSecret`
|
1645
|
+
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
1646
|
+
# @return [String]
|
1647
|
+
attr_accessor :encrypted_client_secret
|
1648
|
+
|
1649
|
+
# Optional. Format of the AzureAD groups that the client wants for auth.
|
1650
|
+
# Corresponds to the JSON property `groupFormat`
|
1651
|
+
# @return [String]
|
1652
|
+
attr_accessor :group_format
|
1653
|
+
|
1654
|
+
# The redirect URL that kubectl uses for authorization.
|
1655
|
+
# Corresponds to the JSON property `kubectlRedirectUri`
|
1656
|
+
# @return [String]
|
1657
|
+
attr_accessor :kubectl_redirect_uri
|
1658
|
+
|
1659
|
+
# Kind of Azure AD account to be authenticated. Supported values are or for
|
1660
|
+
# accounts belonging to a specific tenant.
|
1661
|
+
# Corresponds to the JSON property `tenant`
|
1662
|
+
# @return [String]
|
1663
|
+
attr_accessor :tenant
|
1664
|
+
|
1665
|
+
# Optional. Claim in the AzureAD ID Token that holds the user details.
|
1666
|
+
# Corresponds to the JSON property `userClaim`
|
1667
|
+
# @return [String]
|
1668
|
+
attr_accessor :user_claim
|
1669
|
+
|
1670
|
+
def initialize(**args)
|
1671
|
+
update!(**args)
|
1672
|
+
end
|
1673
|
+
|
1674
|
+
# Update properties of this object
|
1675
|
+
def update!(**args)
|
1676
|
+
@client_id = args[:client_id] if args.key?(:client_id)
|
1677
|
+
@client_secret = args[:client_secret] if args.key?(:client_secret)
|
1678
|
+
@encrypted_client_secret = args[:encrypted_client_secret] if args.key?(:encrypted_client_secret)
|
1679
|
+
@group_format = args[:group_format] if args.key?(:group_format)
|
1680
|
+
@kubectl_redirect_uri = args[:kubectl_redirect_uri] if args.key?(:kubectl_redirect_uri)
|
1681
|
+
@tenant = args[:tenant] if args.key?(:tenant)
|
1682
|
+
@user_claim = args[:user_claim] if args.key?(:user_claim)
|
1683
|
+
end
|
1684
|
+
end
|
1685
|
+
|
1686
|
+
# Configuration options for the AIS diagnostic interface.
|
1687
|
+
class IdentityServiceDiagnosticInterface
|
1688
|
+
include Google::Apis::Core::Hashable
|
1689
|
+
|
1690
|
+
# Determines whether to enable the diagnostic interface.
|
1691
|
+
# Corresponds to the JSON property `enabled`
|
1692
|
+
# @return [Boolean]
|
1693
|
+
attr_accessor :enabled
|
1694
|
+
alias_method :enabled?, :enabled
|
1695
|
+
|
1696
|
+
# Determines the expiration time of the diagnostic interface enablement. When
|
1697
|
+
# reached, requests to the interface would be automatically rejected.
|
1698
|
+
# Corresponds to the JSON property `expirationTime`
|
1699
|
+
# @return [String]
|
1700
|
+
attr_accessor :expiration_time
|
1701
|
+
|
1702
|
+
def initialize(**args)
|
1703
|
+
update!(**args)
|
1704
|
+
end
|
1705
|
+
|
1706
|
+
# Update properties of this object
|
1707
|
+
def update!(**args)
|
1708
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
1709
|
+
@expiration_time = args[:expiration_time] if args.key?(:expiration_time)
|
1710
|
+
end
|
1711
|
+
end
|
1712
|
+
|
1713
|
+
# Configuration for the Google Plugin Auth flow.
|
1714
|
+
class IdentityServiceGoogleConfig
|
1715
|
+
include Google::Apis::Core::Hashable
|
1716
|
+
|
1717
|
+
# Disable automatic configuration of Google Plugin on supported platforms.
|
1718
|
+
# Corresponds to the JSON property `disable`
|
1719
|
+
# @return [Boolean]
|
1720
|
+
attr_accessor :disable
|
1721
|
+
alias_method :disable?, :disable
|
1722
|
+
|
1723
|
+
def initialize(**args)
|
1724
|
+
update!(**args)
|
1725
|
+
end
|
1726
|
+
|
1727
|
+
# Update properties of this object
|
1728
|
+
def update!(**args)
|
1729
|
+
@disable = args[:disable] if args.key?(:disable)
|
1730
|
+
end
|
1731
|
+
end
|
1732
|
+
|
1733
|
+
# Contains the properties for locating and authenticating groups in the
|
1734
|
+
# directory.
|
1735
|
+
class IdentityServiceGroupConfig
|
1736
|
+
include Google::Apis::Core::Hashable
|
1737
|
+
|
1738
|
+
# Required. The location of the subtree in the LDAP directory to search for
|
1739
|
+
# group entries.
|
1740
|
+
# Corresponds to the JSON property `baseDn`
|
1741
|
+
# @return [String]
|
1742
|
+
attr_accessor :base_dn
|
1743
|
+
|
1744
|
+
# Optional. Optional filter to be used when searching for groups a user belongs
|
1745
|
+
# to. This can be used to explicitly match only certain groups in order to
|
1746
|
+
# reduce the amount of groups returned for each user. This defaults to "(
|
1747
|
+
# objectClass=Group)".
|
1748
|
+
# Corresponds to the JSON property `filter`
|
1749
|
+
# @return [String]
|
1750
|
+
attr_accessor :filter
|
1751
|
+
|
1752
|
+
# Optional. The identifying name of each group a user belongs to. For example,
|
1753
|
+
# if this is set to "distinguishedName" then RBACs and other group expectations
|
1754
|
+
# should be written as full DNs. This defaults to "distinguishedName".
|
1755
|
+
# Corresponds to the JSON property `idAttribute`
|
1756
|
+
# @return [String]
|
1757
|
+
attr_accessor :id_attribute
|
1758
|
+
|
1759
|
+
def initialize(**args)
|
1760
|
+
update!(**args)
|
1761
|
+
end
|
1762
|
+
|
1763
|
+
# Update properties of this object
|
1764
|
+
def update!(**args)
|
1765
|
+
@base_dn = args[:base_dn] if args.key?(:base_dn)
|
1766
|
+
@filter = args[:filter] if args.key?(:filter)
|
1767
|
+
@id_attribute = args[:id_attribute] if args.key?(:id_attribute)
|
1768
|
+
end
|
1769
|
+
end
|
1770
|
+
|
1771
|
+
# Holds non-protocol-related configuration options.
|
1772
|
+
class IdentityServiceIdentityServiceOptions
|
1773
|
+
include Google::Apis::Core::Hashable
|
1774
|
+
|
1775
|
+
# Configuration options for the AIS diagnostic interface.
|
1776
|
+
# Corresponds to the JSON property `diagnosticInterface`
|
1777
|
+
# @return [Google::Apis::GkehubV2alpha::IdentityServiceDiagnosticInterface]
|
1778
|
+
attr_accessor :diagnostic_interface
|
1779
|
+
|
1780
|
+
# Determines the lifespan of STS tokens issued by Anthos Identity Service.
|
1781
|
+
# Corresponds to the JSON property `sessionDuration`
|
1782
|
+
# @return [String]
|
1783
|
+
attr_accessor :session_duration
|
1784
|
+
|
1785
|
+
def initialize(**args)
|
1786
|
+
update!(**args)
|
1787
|
+
end
|
1788
|
+
|
1789
|
+
# Update properties of this object
|
1790
|
+
def update!(**args)
|
1791
|
+
@diagnostic_interface = args[:diagnostic_interface] if args.key?(:diagnostic_interface)
|
1792
|
+
@session_duration = args[:session_duration] if args.key?(:session_duration)
|
1793
|
+
end
|
1794
|
+
end
|
1795
|
+
|
1796
|
+
# Configuration for the LDAP Auth flow.
|
1797
|
+
class IdentityServiceLdapConfig
|
1798
|
+
include Google::Apis::Core::Hashable
|
1799
|
+
|
1800
|
+
# Contains the properties for locating and authenticating groups in the
|
1801
|
+
# directory.
|
1802
|
+
# Corresponds to the JSON property `group`
|
1803
|
+
# @return [Google::Apis::GkehubV2alpha::IdentityServiceGroupConfig]
|
1804
|
+
attr_accessor :group
|
1805
|
+
|
1806
|
+
# Server settings for the external LDAP server.
|
1807
|
+
# Corresponds to the JSON property `server`
|
1808
|
+
# @return [Google::Apis::GkehubV2alpha::IdentityServiceServerConfig]
|
1809
|
+
attr_accessor :server
|
1810
|
+
|
1811
|
+
# Contains the credentials of the service account which is authorized to perform
|
1812
|
+
# the LDAP search in the directory. The credentials can be supplied by the
|
1813
|
+
# combination of the DN and password or the client certificate.
|
1814
|
+
# Corresponds to the JSON property `serviceAccount`
|
1815
|
+
# @return [Google::Apis::GkehubV2alpha::IdentityServiceServiceAccountConfig]
|
1816
|
+
attr_accessor :service_account
|
1817
|
+
|
1818
|
+
# Defines where users exist in the LDAP directory.
|
1819
|
+
# Corresponds to the JSON property `user`
|
1820
|
+
# @return [Google::Apis::GkehubV2alpha::IdentityServiceUserConfig]
|
1821
|
+
attr_accessor :user
|
1822
|
+
|
1823
|
+
def initialize(**args)
|
1824
|
+
update!(**args)
|
1825
|
+
end
|
1826
|
+
|
1827
|
+
# Update properties of this object
|
1828
|
+
def update!(**args)
|
1829
|
+
@group = args[:group] if args.key?(:group)
|
1830
|
+
@server = args[:server] if args.key?(:server)
|
1831
|
+
@service_account = args[:service_account] if args.key?(:service_account)
|
1832
|
+
@user = args[:user] if args.key?(:user)
|
1833
|
+
end
|
1834
|
+
end
|
1835
|
+
|
1836
|
+
# Configuration for OIDC Auth flow.
|
1837
|
+
class IdentityServiceOidcConfig
|
1838
|
+
include Google::Apis::Core::Hashable
|
1839
|
+
|
1840
|
+
# PEM-encoded CA for OIDC provider.
|
1841
|
+
# Corresponds to the JSON property `certificateAuthorityData`
|
1842
|
+
# @return [String]
|
1843
|
+
attr_accessor :certificate_authority_data
|
1844
|
+
|
1845
|
+
# ID for OIDC client application.
|
1846
|
+
# Corresponds to the JSON property `clientId`
|
1847
|
+
# @return [String]
|
1848
|
+
attr_accessor :client_id
|
1849
|
+
|
1850
|
+
# Input only. Unencrypted OIDC client secret will be passed to the GKE Hub CLH.
|
1851
|
+
# Corresponds to the JSON property `clientSecret`
|
1852
|
+
# @return [String]
|
1853
|
+
attr_accessor :client_secret
|
1854
|
+
|
1855
|
+
# Flag to denote if reverse proxy is used to connect to auth provider. This flag
|
1856
|
+
# should be set to true when provider is not reachable by Google Cloud Console.
|
1857
|
+
# Corresponds to the JSON property `deployCloudConsoleProxy`
|
1858
|
+
# @return [Boolean]
|
1859
|
+
attr_accessor :deploy_cloud_console_proxy
|
1860
|
+
alias_method :deploy_cloud_console_proxy?, :deploy_cloud_console_proxy
|
1861
|
+
|
1862
|
+
# Enable access token.
|
1863
|
+
# Corresponds to the JSON property `enableAccessToken`
|
1864
|
+
# @return [Boolean]
|
1865
|
+
attr_accessor :enable_access_token
|
1866
|
+
alias_method :enable_access_token?, :enable_access_token
|
1867
|
+
|
1868
|
+
# Output only. Encrypted OIDC Client secret
|
1869
|
+
# Corresponds to the JSON property `encryptedClientSecret`
|
1870
|
+
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
1871
|
+
# @return [String]
|
1872
|
+
attr_accessor :encrypted_client_secret
|
1873
|
+
|
1874
|
+
# Comma-separated list of key-value pairs.
|
1875
|
+
# Corresponds to the JSON property `extraParams`
|
1876
|
+
# @return [String]
|
1877
|
+
attr_accessor :extra_params
|
1878
|
+
|
1879
|
+
# Prefix to prepend to group name.
|
1880
|
+
# Corresponds to the JSON property `groupPrefix`
|
1881
|
+
# @return [String]
|
1882
|
+
attr_accessor :group_prefix
|
1883
|
+
|
1884
|
+
# Claim in OIDC ID token that holds group information.
|
1885
|
+
# Corresponds to the JSON property `groupsClaim`
|
1886
|
+
# @return [String]
|
1887
|
+
attr_accessor :groups_claim
|
1888
|
+
|
1889
|
+
# URI for the OIDC provider. This should point to the level below .well-known/
|
1890
|
+
# openid-configuration.
|
1891
|
+
# Corresponds to the JSON property `issuerUri`
|
1892
|
+
# @return [String]
|
1893
|
+
attr_accessor :issuer_uri
|
1894
|
+
|
1895
|
+
# Registered redirect uri to redirect users going through OAuth flow using
|
1896
|
+
# kubectl plugin.
|
1897
|
+
# Corresponds to the JSON property `kubectlRedirectUri`
|
1898
|
+
# @return [String]
|
1899
|
+
attr_accessor :kubectl_redirect_uri
|
1900
|
+
|
1901
|
+
# Comma-separated list of identifiers.
|
1902
|
+
# Corresponds to the JSON property `scopes`
|
1903
|
+
# @return [String]
|
1904
|
+
attr_accessor :scopes
|
1905
|
+
|
1906
|
+
# Claim in OIDC ID token that holds username.
|
1907
|
+
# Corresponds to the JSON property `userClaim`
|
1908
|
+
# @return [String]
|
1909
|
+
attr_accessor :user_claim
|
1910
|
+
|
1911
|
+
# Prefix to prepend to user name.
|
1912
|
+
# Corresponds to the JSON property `userPrefix`
|
1913
|
+
# @return [String]
|
1914
|
+
attr_accessor :user_prefix
|
1915
|
+
|
1916
|
+
def initialize(**args)
|
1917
|
+
update!(**args)
|
1918
|
+
end
|
1919
|
+
|
1920
|
+
# Update properties of this object
|
1921
|
+
def update!(**args)
|
1922
|
+
@certificate_authority_data = args[:certificate_authority_data] if args.key?(:certificate_authority_data)
|
1923
|
+
@client_id = args[:client_id] if args.key?(:client_id)
|
1924
|
+
@client_secret = args[:client_secret] if args.key?(:client_secret)
|
1925
|
+
@deploy_cloud_console_proxy = args[:deploy_cloud_console_proxy] if args.key?(:deploy_cloud_console_proxy)
|
1926
|
+
@enable_access_token = args[:enable_access_token] if args.key?(:enable_access_token)
|
1927
|
+
@encrypted_client_secret = args[:encrypted_client_secret] if args.key?(:encrypted_client_secret)
|
1928
|
+
@extra_params = args[:extra_params] if args.key?(:extra_params)
|
1929
|
+
@group_prefix = args[:group_prefix] if args.key?(:group_prefix)
|
1930
|
+
@groups_claim = args[:groups_claim] if args.key?(:groups_claim)
|
1931
|
+
@issuer_uri = args[:issuer_uri] if args.key?(:issuer_uri)
|
1932
|
+
@kubectl_redirect_uri = args[:kubectl_redirect_uri] if args.key?(:kubectl_redirect_uri)
|
1933
|
+
@scopes = args[:scopes] if args.key?(:scopes)
|
1934
|
+
@user_claim = args[:user_claim] if args.key?(:user_claim)
|
1935
|
+
@user_prefix = args[:user_prefix] if args.key?(:user_prefix)
|
1936
|
+
end
|
1937
|
+
end
|
1938
|
+
|
1939
|
+
# Configuration for the SAML Auth flow.
|
1940
|
+
class IdentityServiceSamlConfig
|
1941
|
+
include Google::Apis::Core::Hashable
|
1942
|
+
|
1943
|
+
# Optional. The mapping of additional user attributes like nickname, birthday
|
1944
|
+
# and address etc.. `key` is the name of this additional attribute. `value` is a
|
1945
|
+
# string presenting as CEL(common expression language, go/cel) used for getting
|
1946
|
+
# the value from the resources. Take nickname as an example, in this case, `key`
|
1947
|
+
# is "attribute.nickname" and `value` is "assertion.nickname".
|
1948
|
+
# Corresponds to the JSON property `attributeMapping`
|
1949
|
+
# @return [Hash<String,String>]
|
1950
|
+
attr_accessor :attribute_mapping
|
1951
|
+
|
1952
|
+
# Optional. Prefix to prepend to group name.
|
1953
|
+
# Corresponds to the JSON property `groupPrefix`
|
1954
|
+
# @return [String]
|
1955
|
+
attr_accessor :group_prefix
|
1956
|
+
|
1957
|
+
# Optional. The SAML attribute to read groups from. This value is expected to be
|
1958
|
+
# a string and will be passed along as-is (with the option of being prefixed by
|
1959
|
+
# the `group_prefix`).
|
1960
|
+
# Corresponds to the JSON property `groupsAttribute`
|
1961
|
+
# @return [String]
|
1962
|
+
attr_accessor :groups_attribute
|
1963
|
+
|
1964
|
+
# Required. The list of IdP certificates to validate the SAML response against.
|
1965
|
+
# Corresponds to the JSON property `identityProviderCertificates`
|
1966
|
+
# @return [Array<String>]
|
1967
|
+
attr_accessor :identity_provider_certificates
|
1968
|
+
|
1969
|
+
# Required. The entity ID of the SAML IdP.
|
1970
|
+
# Corresponds to the JSON property `identityProviderId`
|
1971
|
+
# @return [String]
|
1972
|
+
attr_accessor :identity_provider_id
|
1973
|
+
|
1974
|
+
# Required. The URI where the SAML IdP exposes the SSO service.
|
1975
|
+
# Corresponds to the JSON property `identityProviderSsoUri`
|
1976
|
+
# @return [String]
|
1977
|
+
attr_accessor :identity_provider_sso_uri
|
1978
|
+
|
1979
|
+
# Optional. The SAML attribute to read username from. If unspecified, the
|
1980
|
+
# username will be read from the NameID element of the assertion in SAML
|
1981
|
+
# response. This value is expected to be a string and will be passed along as-is
|
1982
|
+
# (with the option of being prefixed by the `user_prefix`).
|
1983
|
+
# Corresponds to the JSON property `userAttribute`
|
1984
|
+
# @return [String]
|
1985
|
+
attr_accessor :user_attribute
|
1986
|
+
|
1987
|
+
# Optional. Prefix to prepend to user name.
|
1988
|
+
# Corresponds to the JSON property `userPrefix`
|
1989
|
+
# @return [String]
|
1990
|
+
attr_accessor :user_prefix
|
1991
|
+
|
1992
|
+
def initialize(**args)
|
1993
|
+
update!(**args)
|
1994
|
+
end
|
1995
|
+
|
1996
|
+
# Update properties of this object
|
1997
|
+
def update!(**args)
|
1998
|
+
@attribute_mapping = args[:attribute_mapping] if args.key?(:attribute_mapping)
|
1999
|
+
@group_prefix = args[:group_prefix] if args.key?(:group_prefix)
|
2000
|
+
@groups_attribute = args[:groups_attribute] if args.key?(:groups_attribute)
|
2001
|
+
@identity_provider_certificates = args[:identity_provider_certificates] if args.key?(:identity_provider_certificates)
|
2002
|
+
@identity_provider_id = args[:identity_provider_id] if args.key?(:identity_provider_id)
|
2003
|
+
@identity_provider_sso_uri = args[:identity_provider_sso_uri] if args.key?(:identity_provider_sso_uri)
|
2004
|
+
@user_attribute = args[:user_attribute] if args.key?(:user_attribute)
|
2005
|
+
@user_prefix = args[:user_prefix] if args.key?(:user_prefix)
|
2006
|
+
end
|
2007
|
+
end
|
2008
|
+
|
2009
|
+
# Server settings for the external LDAP server.
|
2010
|
+
class IdentityServiceServerConfig
|
2011
|
+
include Google::Apis::Core::Hashable
|
2012
|
+
|
2013
|
+
# Optional. Contains a Base64 encoded, PEM formatted certificate authority
|
2014
|
+
# certificate for the LDAP server. This must be provided for the "ldaps" and "
|
2015
|
+
# startTLS" connections.
|
2016
|
+
# Corresponds to the JSON property `certificateAuthorityData`
|
2017
|
+
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
2018
|
+
# @return [String]
|
2019
|
+
attr_accessor :certificate_authority_data
|
2020
|
+
|
2021
|
+
# Optional. Defines the connection type to communicate with the LDAP server. If `
|
2022
|
+
# starttls` or `ldaps` is specified, the certificate_authority_data should not
|
2023
|
+
# be empty.
|
2024
|
+
# Corresponds to the JSON property `connectionType`
|
2025
|
+
# @return [String]
|
2026
|
+
attr_accessor :connection_type
|
2027
|
+
|
2028
|
+
# Required. Defines the hostname or IP of the LDAP server. Port is optional and
|
2029
|
+
# will default to 389, if unspecified. For example, "ldap.server.example" or "10.
|
2030
|
+
# 10.10.10:389".
|
2031
|
+
# Corresponds to the JSON property `host`
|
2032
|
+
# @return [String]
|
2033
|
+
attr_accessor :host
|
2034
|
+
|
2035
|
+
def initialize(**args)
|
2036
|
+
update!(**args)
|
2037
|
+
end
|
2038
|
+
|
2039
|
+
# Update properties of this object
|
2040
|
+
def update!(**args)
|
2041
|
+
@certificate_authority_data = args[:certificate_authority_data] if args.key?(:certificate_authority_data)
|
2042
|
+
@connection_type = args[:connection_type] if args.key?(:connection_type)
|
2043
|
+
@host = args[:host] if args.key?(:host)
|
2044
|
+
end
|
2045
|
+
end
|
2046
|
+
|
2047
|
+
# Contains the credentials of the service account which is authorized to perform
|
2048
|
+
# the LDAP search in the directory. The credentials can be supplied by the
|
2049
|
+
# combination of the DN and password or the client certificate.
|
2050
|
+
class IdentityServiceServiceAccountConfig
|
2051
|
+
include Google::Apis::Core::Hashable
|
2052
|
+
|
2053
|
+
# The structure holds the LDAP simple binding credential.
|
2054
|
+
# Corresponds to the JSON property `simpleBindCredentials`
|
2055
|
+
# @return [Google::Apis::GkehubV2alpha::IdentityServiceSimpleBindCredentials]
|
2056
|
+
attr_accessor :simple_bind_credentials
|
2057
|
+
|
2058
|
+
def initialize(**args)
|
2059
|
+
update!(**args)
|
2060
|
+
end
|
2061
|
+
|
2062
|
+
# Update properties of this object
|
2063
|
+
def update!(**args)
|
2064
|
+
@simple_bind_credentials = args[:simple_bind_credentials] if args.key?(:simple_bind_credentials)
|
2065
|
+
end
|
2066
|
+
end
|
2067
|
+
|
2068
|
+
# The structure holds the LDAP simple binding credential.
|
2069
|
+
class IdentityServiceSimpleBindCredentials
|
2070
|
+
include Google::Apis::Core::Hashable
|
2071
|
+
|
2072
|
+
# Required. The distinguished name(DN) of the service account object/user.
|
2073
|
+
# Corresponds to the JSON property `dn`
|
2074
|
+
# @return [String]
|
2075
|
+
attr_accessor :dn
|
2076
|
+
|
2077
|
+
# Output only. The encrypted password of the service account object/user.
|
2078
|
+
# Corresponds to the JSON property `encryptedPassword`
|
2079
|
+
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
2080
|
+
# @return [String]
|
2081
|
+
attr_accessor :encrypted_password
|
2082
|
+
|
2083
|
+
# Required. Input only. The password of the service account object/user.
|
2084
|
+
# Corresponds to the JSON property `password`
|
2085
|
+
# @return [String]
|
2086
|
+
attr_accessor :password
|
2087
|
+
|
2088
|
+
def initialize(**args)
|
2089
|
+
update!(**args)
|
2090
|
+
end
|
2091
|
+
|
2092
|
+
# Update properties of this object
|
2093
|
+
def update!(**args)
|
2094
|
+
@dn = args[:dn] if args.key?(:dn)
|
2095
|
+
@encrypted_password = args[:encrypted_password] if args.key?(:encrypted_password)
|
2096
|
+
@password = args[:password] if args.key?(:password)
|
2097
|
+
end
|
2098
|
+
end
|
2099
|
+
|
2100
|
+
# **IdentityService**: Configuration for a single membership.
|
2101
|
+
class IdentityServiceSpec
|
2102
|
+
include Google::Apis::Core::Hashable
|
2103
|
+
|
2104
|
+
# A member may support multiple auth methods.
|
2105
|
+
# Corresponds to the JSON property `authMethods`
|
2106
|
+
# @return [Array<Google::Apis::GkehubV2alpha::IdentityServiceAuthMethod>]
|
2107
|
+
attr_accessor :auth_methods
|
2108
|
+
|
2109
|
+
# Holds non-protocol-related configuration options.
|
2110
|
+
# Corresponds to the JSON property `identityServiceOptions`
|
2111
|
+
# @return [Google::Apis::GkehubV2alpha::IdentityServiceIdentityServiceOptions]
|
2112
|
+
attr_accessor :identity_service_options
|
2113
|
+
|
2114
|
+
def initialize(**args)
|
2115
|
+
update!(**args)
|
2116
|
+
end
|
2117
|
+
|
2118
|
+
# Update properties of this object
|
2119
|
+
def update!(**args)
|
2120
|
+
@auth_methods = args[:auth_methods] if args.key?(:auth_methods)
|
2121
|
+
@identity_service_options = args[:identity_service_options] if args.key?(:identity_service_options)
|
2122
|
+
end
|
2123
|
+
end
|
2124
|
+
|
2125
|
+
# **IdentityService**: State for a single membership, analyzed and reported by
|
2126
|
+
# feature controller.
|
2127
|
+
class IdentityServiceState
|
2128
|
+
include Google::Apis::Core::Hashable
|
2129
|
+
|
2130
|
+
# The reason of the failure.
|
2131
|
+
# Corresponds to the JSON property `failureReason`
|
2132
|
+
# @return [String]
|
2133
|
+
attr_accessor :failure_reason
|
2134
|
+
|
2135
|
+
# Installed AIS version. This is the AIS version installed on this member. The
|
2136
|
+
# values makes sense iff state is OK.
|
2137
|
+
# Corresponds to the JSON property `installedVersion`
|
2138
|
+
# @return [String]
|
2139
|
+
attr_accessor :installed_version
|
2140
|
+
|
2141
|
+
# **IdentityService**: Configuration for a single membership.
|
2142
|
+
# Corresponds to the JSON property `memberConfig`
|
2143
|
+
# @return [Google::Apis::GkehubV2alpha::IdentityServiceSpec]
|
2144
|
+
attr_accessor :member_config
|
2145
|
+
|
2146
|
+
# Deployment state on this member
|
2147
|
+
# Corresponds to the JSON property `state`
|
2148
|
+
# @return [String]
|
2149
|
+
attr_accessor :state
|
2150
|
+
|
2151
|
+
def initialize(**args)
|
2152
|
+
update!(**args)
|
2153
|
+
end
|
2154
|
+
|
2155
|
+
# Update properties of this object
|
2156
|
+
def update!(**args)
|
2157
|
+
@failure_reason = args[:failure_reason] if args.key?(:failure_reason)
|
2158
|
+
@installed_version = args[:installed_version] if args.key?(:installed_version)
|
2159
|
+
@member_config = args[:member_config] if args.key?(:member_config)
|
2160
|
+
@state = args[:state] if args.key?(:state)
|
2161
|
+
end
|
2162
|
+
end
|
2163
|
+
|
2164
|
+
# Defines where users exist in the LDAP directory.
|
2165
|
+
class IdentityServiceUserConfig
|
2166
|
+
include Google::Apis::Core::Hashable
|
2167
|
+
|
2168
|
+
# Required. The location of the subtree in the LDAP directory to search for user
|
2169
|
+
# entries.
|
2170
|
+
# Corresponds to the JSON property `baseDn`
|
2171
|
+
# @return [String]
|
2172
|
+
attr_accessor :base_dn
|
2173
|
+
|
2174
|
+
# Optional. Filter to apply when searching for the user. This can be used to
|
2175
|
+
# further restrict the user accounts which are allowed to login. This defaults
|
2176
|
+
# to "(objectClass=User)".
|
2177
|
+
# Corresponds to the JSON property `filter`
|
2178
|
+
# @return [String]
|
2179
|
+
attr_accessor :filter
|
2180
|
+
|
2181
|
+
# Optional. Determines which attribute to use as the user's identity after they
|
2182
|
+
# are authenticated. This is distinct from the loginAttribute field to allow
|
2183
|
+
# users to login with a username, but then have their actual identifier be an
|
2184
|
+
# email address or full Distinguished Name (DN). For example, setting
|
2185
|
+
# loginAttribute to "sAMAccountName" and identifierAttribute to "
|
2186
|
+
# userPrincipalName" would allow a user to login as "bsmith", but actual RBAC
|
2187
|
+
# policies for the user would be written as "bsmith@example.com". Using "
|
2188
|
+
# userPrincipalName" is recommended since this will be unique for each user.
|
2189
|
+
# This defaults to "userPrincipalName".
|
2190
|
+
# Corresponds to the JSON property `idAttribute`
|
2191
|
+
# @return [String]
|
2192
|
+
attr_accessor :id_attribute
|
2193
|
+
|
2194
|
+
# Optional. The name of the attribute which matches against the input username.
|
2195
|
+
# This is used to find the user in the LDAP database e.g. "(=)" and is combined
|
2196
|
+
# with the optional filter field. This defaults to "userPrincipalName".
|
2197
|
+
# Corresponds to the JSON property `loginAttribute`
|
2198
|
+
# @return [String]
|
2199
|
+
attr_accessor :login_attribute
|
2200
|
+
|
2201
|
+
def initialize(**args)
|
2202
|
+
update!(**args)
|
2203
|
+
end
|
2204
|
+
|
2205
|
+
# Update properties of this object
|
2206
|
+
def update!(**args)
|
2207
|
+
@base_dn = args[:base_dn] if args.key?(:base_dn)
|
2208
|
+
@filter = args[:filter] if args.key?(:filter)
|
2209
|
+
@id_attribute = args[:id_attribute] if args.key?(:id_attribute)
|
2210
|
+
@login_attribute = args[:login_attribute] if args.key?(:login_attribute)
|
2211
|
+
end
|
2212
|
+
end
|
2213
|
+
|
2214
|
+
# LifecycleState describes the state of a MembershipFeature *resource* in the
|
2215
|
+
# GkeHub API. See `FeatureState` for the "running state" of the
|
2216
|
+
# MembershipFeature.
|
2217
|
+
class LifecycleState
|
2218
|
+
include Google::Apis::Core::Hashable
|
2219
|
+
|
2220
|
+
# Output only. The current state of the Feature resource in the Hub API.
|
2221
|
+
# Corresponds to the JSON property `state`
|
2222
|
+
# @return [String]
|
2223
|
+
attr_accessor :state
|
2224
|
+
|
2225
|
+
def initialize(**args)
|
2226
|
+
update!(**args)
|
2227
|
+
end
|
2228
|
+
|
2229
|
+
# Update properties of this object
|
2230
|
+
def update!(**args)
|
2231
|
+
@state = args[:state] if args.key?(:state)
|
2232
|
+
end
|
2233
|
+
end
|
2234
|
+
|
2235
|
+
# The response message for Locations.ListLocations.
|
2236
|
+
class ListLocationsResponse
|
2237
|
+
include Google::Apis::Core::Hashable
|
2238
|
+
|
2239
|
+
# A list of locations that matches the specified filter in the request.
|
2240
|
+
# Corresponds to the JSON property `locations`
|
2241
|
+
# @return [Array<Google::Apis::GkehubV2alpha::Location>]
|
2242
|
+
attr_accessor :locations
|
2243
|
+
|
2244
|
+
# The standard List next-page token.
|
2245
|
+
# Corresponds to the JSON property `nextPageToken`
|
2246
|
+
# @return [String]
|
2247
|
+
attr_accessor :next_page_token
|
2248
|
+
|
2249
|
+
def initialize(**args)
|
2250
|
+
update!(**args)
|
2251
|
+
end
|
2252
|
+
|
2253
|
+
# Update properties of this object
|
2254
|
+
def update!(**args)
|
2255
|
+
@locations = args[:locations] if args.key?(:locations)
|
2256
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
2257
|
+
end
|
2258
|
+
end
|
2259
|
+
|
2260
|
+
# Response message for the `GkeHubFeature.ListMembershipFeatures` method.
|
2261
|
+
class ListMembershipFeaturesResponse
|
2262
|
+
include Google::Apis::Core::Hashable
|
2263
|
+
|
2264
|
+
# The list of matching MembershipFeatures.
|
2265
|
+
# Corresponds to the JSON property `membershipFeatures`
|
2266
|
+
# @return [Array<Google::Apis::GkehubV2alpha::MembershipFeature>]
|
2267
|
+
attr_accessor :membership_features
|
2268
|
+
|
2269
|
+
# A token to request the next page of resources from the `ListMembershipFeatures`
|
2270
|
+
# method. The value of an empty string means that there are no more resources
|
2271
|
+
# to return.
|
2272
|
+
# Corresponds to the JSON property `nextPageToken`
|
2273
|
+
# @return [String]
|
2274
|
+
attr_accessor :next_page_token
|
2275
|
+
|
2276
|
+
# List of locations that could not be reached while fetching this list.
|
2277
|
+
# Corresponds to the JSON property `unreachable`
|
2278
|
+
# @return [Array<String>]
|
2279
|
+
attr_accessor :unreachable
|
2280
|
+
|
2281
|
+
def initialize(**args)
|
2282
|
+
update!(**args)
|
2283
|
+
end
|
2284
|
+
|
2285
|
+
# Update properties of this object
|
2286
|
+
def update!(**args)
|
2287
|
+
@membership_features = args[:membership_features] if args.key?(:membership_features)
|
2288
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
2289
|
+
@unreachable = args[:unreachable] if args.key?(:unreachable)
|
2290
|
+
end
|
2291
|
+
end
|
2292
|
+
|
2293
|
+
# The response message for Operations.ListOperations.
|
2294
|
+
class ListOperationsResponse
|
2295
|
+
include Google::Apis::Core::Hashable
|
2296
|
+
|
2297
|
+
# The standard List next-page token.
|
2298
|
+
# Corresponds to the JSON property `nextPageToken`
|
2299
|
+
# @return [String]
|
2300
|
+
attr_accessor :next_page_token
|
2301
|
+
|
2302
|
+
# A list of operations that matches the specified filter in the request.
|
2303
|
+
# Corresponds to the JSON property `operations`
|
2304
|
+
# @return [Array<Google::Apis::GkehubV2alpha::Operation>]
|
2305
|
+
attr_accessor :operations
|
2306
|
+
|
2307
|
+
def initialize(**args)
|
2308
|
+
update!(**args)
|
2309
|
+
end
|
2310
|
+
|
2311
|
+
# Update properties of this object
|
2312
|
+
def update!(**args)
|
2313
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
2314
|
+
@operations = args[:operations] if args.key?(:operations)
|
2315
|
+
end
|
2316
|
+
end
|
2317
|
+
|
2318
|
+
# A resource that represents a Google Cloud location.
|
2319
|
+
class Location
|
2320
|
+
include Google::Apis::Core::Hashable
|
2321
|
+
|
2322
|
+
# The friendly name for this location, typically a nearby city name. For example,
|
2323
|
+
# "Tokyo".
|
2324
|
+
# Corresponds to the JSON property `displayName`
|
2325
|
+
# @return [String]
|
2326
|
+
attr_accessor :display_name
|
2327
|
+
|
2328
|
+
# Cross-service attributes for the location. For example `"cloud.googleapis.com/
|
2329
|
+
# region": "us-east1"`
|
2330
|
+
# Corresponds to the JSON property `labels`
|
2331
|
+
# @return [Hash<String,String>]
|
2332
|
+
attr_accessor :labels
|
2333
|
+
|
2334
|
+
# The canonical id for this location. For example: `"us-east1"`.
|
2335
|
+
# Corresponds to the JSON property `locationId`
|
2336
|
+
# @return [String]
|
2337
|
+
attr_accessor :location_id
|
2338
|
+
|
2339
|
+
# Service-specific metadata. For example the available capacity at the given
|
2340
|
+
# location.
|
2341
|
+
# Corresponds to the JSON property `metadata`
|
2342
|
+
# @return [Hash<String,Object>]
|
2343
|
+
attr_accessor :metadata
|
2344
|
+
|
2345
|
+
# Resource name for the location, which may vary between implementations. For
|
2346
|
+
# example: `"projects/example-project/locations/us-east1"`
|
2347
|
+
# Corresponds to the JSON property `name`
|
2348
|
+
# @return [String]
|
2349
|
+
attr_accessor :name
|
2350
|
+
|
2351
|
+
def initialize(**args)
|
2352
|
+
update!(**args)
|
2353
|
+
end
|
2354
|
+
|
2355
|
+
# Update properties of this object
|
2356
|
+
def update!(**args)
|
2357
|
+
@display_name = args[:display_name] if args.key?(:display_name)
|
2358
|
+
@labels = args[:labels] if args.key?(:labels)
|
2359
|
+
@location_id = args[:location_id] if args.key?(:location_id)
|
2360
|
+
@metadata = args[:metadata] if args.key?(:metadata)
|
2361
|
+
@name = args[:name] if args.key?(:name)
|
2362
|
+
end
|
2363
|
+
end
|
2364
|
+
|
2365
|
+
# MembershipFeature represents the settings and status of a Fleet Feature
|
2366
|
+
# enabled on a single Fleet Membership.
|
2367
|
+
class MembershipFeature
|
2368
|
+
include Google::Apis::Core::Hashable
|
2369
|
+
|
2370
|
+
# Output only. When the MembershipFeature resource was created.
|
2371
|
+
# Corresponds to the JSON property `createTime`
|
2372
|
+
# @return [String]
|
2373
|
+
attr_accessor :create_time
|
2374
|
+
|
2375
|
+
# Output only. When the MembershipFeature resource was deleted.
|
2376
|
+
# Corresponds to the JSON property `deleteTime`
|
2377
|
+
# @return [String]
|
2378
|
+
attr_accessor :delete_time
|
2379
|
+
|
2380
|
+
# Information of the FeatureConfig applied on the MembershipFeature.
|
2381
|
+
# Corresponds to the JSON property `featureConfigRef`
|
2382
|
+
# @return [Google::Apis::GkehubV2alpha::FeatureConfigRef]
|
2383
|
+
attr_accessor :feature_config_ref
|
2384
|
+
|
2385
|
+
# GCP labels for this MembershipFeature.
|
2386
|
+
# Corresponds to the JSON property `labels`
|
2387
|
+
# @return [Hash<String,String>]
|
2388
|
+
attr_accessor :labels
|
2389
|
+
|
2390
|
+
# LifecycleState describes the state of a MembershipFeature *resource* in the
|
2391
|
+
# GkeHub API. See `FeatureState` for the "running state" of the
|
2392
|
+
# MembershipFeature.
|
2393
|
+
# Corresponds to the JSON property `lifecycleState`
|
2394
|
+
# @return [Google::Apis::GkehubV2alpha::LifecycleState]
|
2395
|
+
attr_accessor :lifecycle_state
|
2396
|
+
|
2397
|
+
# Output only. The resource name of the membershipFeature, in the format: `
|
2398
|
+
# projects/`project`/locations/`location`/memberships/`membership`/features/`
|
2399
|
+
# feature``. Note that `membershipFeatures` is shortened to `features` in the
|
2400
|
+
# resource name. (see http://go/aip/122#collection-identifiers)
|
2401
|
+
# Corresponds to the JSON property `name`
|
2402
|
+
# @return [String]
|
2403
|
+
attr_accessor :name
|
2404
|
+
|
2405
|
+
# FeatureSpec contains user input per-feature spec information.
|
2406
|
+
# Corresponds to the JSON property `spec`
|
2407
|
+
# @return [Google::Apis::GkehubV2alpha::FeatureSpec]
|
2408
|
+
attr_accessor :spec
|
2409
|
+
|
2410
|
+
# FeatureState contains high-level state information and per-feature state
|
2411
|
+
# information for this MembershipFeature.
|
2412
|
+
# Corresponds to the JSON property `state`
|
2413
|
+
# @return [Google::Apis::GkehubV2alpha::FeatureState]
|
2414
|
+
attr_accessor :state
|
2415
|
+
|
2416
|
+
# Output only. When the MembershipFeature resource was last updated.
|
2417
|
+
# Corresponds to the JSON property `updateTime`
|
2418
|
+
# @return [String]
|
2419
|
+
attr_accessor :update_time
|
2420
|
+
|
2421
|
+
def initialize(**args)
|
2422
|
+
update!(**args)
|
2423
|
+
end
|
2424
|
+
|
2425
|
+
# Update properties of this object
|
2426
|
+
def update!(**args)
|
2427
|
+
@create_time = args[:create_time] if args.key?(:create_time)
|
2428
|
+
@delete_time = args[:delete_time] if args.key?(:delete_time)
|
2429
|
+
@feature_config_ref = args[:feature_config_ref] if args.key?(:feature_config_ref)
|
2430
|
+
@labels = args[:labels] if args.key?(:labels)
|
2431
|
+
@lifecycle_state = args[:lifecycle_state] if args.key?(:lifecycle_state)
|
2432
|
+
@name = args[:name] if args.key?(:name)
|
2433
|
+
@spec = args[:spec] if args.key?(:spec)
|
2434
|
+
@state = args[:state] if args.key?(:state)
|
2435
|
+
@update_time = args[:update_time] if args.key?(:update_time)
|
2436
|
+
end
|
2437
|
+
end
|
2438
|
+
|
2439
|
+
# **Metering**: State for a single membership, analyzed and reported by feature
|
2440
|
+
# controller.
|
2441
|
+
class MeteringState
|
2442
|
+
include Google::Apis::Core::Hashable
|
2443
|
+
|
2444
|
+
# The time stamp of the most recent measurement of the number of vCPUs in the
|
2445
|
+
# cluster.
|
2446
|
+
# Corresponds to the JSON property `lastMeasurementTime`
|
2447
|
+
# @return [String]
|
2448
|
+
attr_accessor :last_measurement_time
|
2449
|
+
|
2450
|
+
# The vCPUs capacity in the cluster according to the most recent measurement (1/
|
2451
|
+
# 1000 precision).
|
2452
|
+
# Corresponds to the JSON property `preciseLastMeasuredClusterVcpuCapacity`
|
2453
|
+
# @return [Float]
|
2454
|
+
attr_accessor :precise_last_measured_cluster_vcpu_capacity
|
2455
|
+
|
2456
|
+
def initialize(**args)
|
2457
|
+
update!(**args)
|
2458
|
+
end
|
2459
|
+
|
2460
|
+
# Update properties of this object
|
2461
|
+
def update!(**args)
|
2462
|
+
@last_measurement_time = args[:last_measurement_time] if args.key?(:last_measurement_time)
|
2463
|
+
@precise_last_measured_cluster_vcpu_capacity = args[:precise_last_measured_cluster_vcpu_capacity] if args.key?(:precise_last_measured_cluster_vcpu_capacity)
|
2464
|
+
end
|
2465
|
+
end
|
2466
|
+
|
2467
|
+
# This resource represents a long-running operation that is the result of a
|
2468
|
+
# network API call.
|
2469
|
+
class Operation
|
2470
|
+
include Google::Apis::Core::Hashable
|
2471
|
+
|
2472
|
+
# If the value is `false`, it means the operation is still in progress. If `true`
|
2473
|
+
# , the operation is completed, and either `error` or `response` is available.
|
2474
|
+
# Corresponds to the JSON property `done`
|
2475
|
+
# @return [Boolean]
|
2476
|
+
attr_accessor :done
|
2477
|
+
alias_method :done?, :done
|
2478
|
+
|
2479
|
+
# The `Status` type defines a logical error model that is suitable for different
|
2480
|
+
# programming environments, including REST APIs and RPC APIs. It is used by [
|
2481
|
+
# gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
|
2482
|
+
# data: error code, error message, and error details. You can find out more
|
2483
|
+
# about this error model and how to work with it in the [API Design Guide](https:
|
2484
|
+
# //cloud.google.com/apis/design/errors).
|
2485
|
+
# Corresponds to the JSON property `error`
|
2486
|
+
# @return [Google::Apis::GkehubV2alpha::GoogleRpcStatus]
|
2487
|
+
attr_accessor :error
|
2488
|
+
|
2489
|
+
# Service-specific metadata associated with the operation. It typically contains
|
2490
|
+
# progress information and common metadata such as create time. Some services
|
2491
|
+
# might not provide such metadata. Any method that returns a long-running
|
2492
|
+
# operation should document the metadata type, if any.
|
2493
|
+
# Corresponds to the JSON property `metadata`
|
2494
|
+
# @return [Hash<String,Object>]
|
2495
|
+
attr_accessor :metadata
|
2496
|
+
|
2497
|
+
# The server-assigned name, which is only unique within the same service that
|
2498
|
+
# originally returns it. If you use the default HTTP mapping, the `name` should
|
2499
|
+
# be a resource name ending with `operations/`unique_id``.
|
2500
|
+
# Corresponds to the JSON property `name`
|
2501
|
+
# @return [String]
|
2502
|
+
attr_accessor :name
|
2503
|
+
|
2504
|
+
# The normal, successful response of the operation. If the original method
|
2505
|
+
# returns no data on success, such as `Delete`, the response is `google.protobuf.
|
2506
|
+
# Empty`. If the original method is standard `Get`/`Create`/`Update`, the
|
2507
|
+
# response should be the resource. For other methods, the response should have
|
2508
|
+
# the type `XxxResponse`, where `Xxx` is the original method name. For example,
|
2509
|
+
# if the original method name is `TakeSnapshot()`, the inferred response type is
|
2510
|
+
# `TakeSnapshotResponse`.
|
2511
|
+
# Corresponds to the JSON property `response`
|
2512
|
+
# @return [Hash<String,Object>]
|
2513
|
+
attr_accessor :response
|
2514
|
+
|
2515
|
+
def initialize(**args)
|
2516
|
+
update!(**args)
|
2517
|
+
end
|
2518
|
+
|
2519
|
+
# Update properties of this object
|
2520
|
+
def update!(**args)
|
2521
|
+
@done = args[:done] if args.key?(:done)
|
2522
|
+
@error = args[:error] if args.key?(:error)
|
2523
|
+
@metadata = args[:metadata] if args.key?(:metadata)
|
2524
|
+
@name = args[:name] if args.key?(:name)
|
2525
|
+
@response = args[:response] if args.key?(:response)
|
2526
|
+
end
|
2527
|
+
end
|
2528
|
+
|
2529
|
+
# Metadata of the long-running operation.
|
2530
|
+
class OperationMetadata
|
2531
|
+
include Google::Apis::Core::Hashable
|
2532
|
+
|
2533
|
+
# Output only. API version used to start the operation.
|
2534
|
+
# Corresponds to the JSON property `apiVersion`
|
2535
|
+
# @return [String]
|
2536
|
+
attr_accessor :api_version
|
2537
|
+
|
2538
|
+
# Output only. Identifies whether the user has requested cancellation of the
|
2539
|
+
# operation. Operations that have successfully been cancelled have Operation.
|
2540
|
+
# error value with a google.rpc.Status.code of 1, corresponding to `Code.
|
2541
|
+
# CANCELLED`.
|
2542
|
+
# Corresponds to the JSON property `cancelRequested`
|
2543
|
+
# @return [Boolean]
|
2544
|
+
attr_accessor :cancel_requested
|
2545
|
+
alias_method :cancel_requested?, :cancel_requested
|
2546
|
+
|
2547
|
+
# Output only. The time the operation was created.
|
2548
|
+
# Corresponds to the JSON property `createTime`
|
2549
|
+
# @return [String]
|
2550
|
+
attr_accessor :create_time
|
2551
|
+
|
2552
|
+
# Output only. The time the operation finished running.
|
2553
|
+
# Corresponds to the JSON property `endTime`
|
2554
|
+
# @return [String]
|
2555
|
+
attr_accessor :end_time
|
2556
|
+
|
2557
|
+
# Output only. Human-readable status of the operation, if any.
|
2558
|
+
# Corresponds to the JSON property `statusDetail`
|
2559
|
+
# @return [String]
|
2560
|
+
attr_accessor :status_detail
|
2561
|
+
|
2562
|
+
# Output only. Server-defined resource path for the target of the operation.
|
2563
|
+
# Corresponds to the JSON property `target`
|
2564
|
+
# @return [String]
|
2565
|
+
attr_accessor :target
|
2566
|
+
|
2567
|
+
# Output only. Name of the verb executed by the operation.
|
2568
|
+
# Corresponds to the JSON property `verb`
|
2569
|
+
# @return [String]
|
2570
|
+
attr_accessor :verb
|
2571
|
+
|
2572
|
+
def initialize(**args)
|
2573
|
+
update!(**args)
|
2574
|
+
end
|
2575
|
+
|
2576
|
+
# Update properties of this object
|
2577
|
+
def update!(**args)
|
2578
|
+
@api_version = args[:api_version] if args.key?(:api_version)
|
2579
|
+
@cancel_requested = args[:cancel_requested] if args.key?(:cancel_requested)
|
2580
|
+
@create_time = args[:create_time] if args.key?(:create_time)
|
2581
|
+
@end_time = args[:end_time] if args.key?(:end_time)
|
2582
|
+
@status_detail = args[:status_detail] if args.key?(:status_detail)
|
2583
|
+
@target = args[:target] if args.key?(:target)
|
2584
|
+
@verb = args[:verb] if args.key?(:verb)
|
2585
|
+
end
|
2586
|
+
end
|
2587
|
+
|
2588
|
+
# Origin defines where this FeatureSpec originated from.
|
2589
|
+
class Origin
|
2590
|
+
include Google::Apis::Core::Hashable
|
2591
|
+
|
2592
|
+
# Type specifies which type of origin is set.
|
2593
|
+
# Corresponds to the JSON property `type`
|
2594
|
+
# @return [String]
|
2595
|
+
attr_accessor :type
|
2596
|
+
|
2597
|
+
def initialize(**args)
|
2598
|
+
update!(**args)
|
2599
|
+
end
|
2600
|
+
|
2601
|
+
# Update properties of this object
|
2602
|
+
def update!(**args)
|
2603
|
+
@type = args[:type] if args.key?(:type)
|
2604
|
+
end
|
2605
|
+
end
|
2606
|
+
|
2607
|
+
# BundleInstallSpec is the specification configuration for a single managed
|
2608
|
+
# bundle.
|
2609
|
+
class PolicyControllerBundleInstallSpec
|
2610
|
+
include Google::Apis::Core::Hashable
|
2611
|
+
|
2612
|
+
# the set of namespaces to be exempted from the bundle
|
2613
|
+
# Corresponds to the JSON property `exemptedNamespaces`
|
2614
|
+
# @return [Array<String>]
|
2615
|
+
attr_accessor :exempted_namespaces
|
2616
|
+
|
2617
|
+
def initialize(**args)
|
2618
|
+
update!(**args)
|
2619
|
+
end
|
2620
|
+
|
2621
|
+
# Update properties of this object
|
2622
|
+
def update!(**args)
|
2623
|
+
@exempted_namespaces = args[:exempted_namespaces] if args.key?(:exempted_namespaces)
|
2624
|
+
end
|
2625
|
+
end
|
2626
|
+
|
2627
|
+
# Configuration for Policy Controller
|
2628
|
+
class PolicyControllerHubConfig
|
2629
|
+
include Google::Apis::Core::Hashable
|
2630
|
+
|
2631
|
+
# Sets the interval for Policy Controller Audit Scans (in seconds). When set to
|
2632
|
+
# 0, this disables audit functionality altogether.
|
2633
|
+
# Corresponds to the JSON property `auditIntervalSeconds`
|
2634
|
+
# @return [Fixnum]
|
2635
|
+
attr_accessor :audit_interval_seconds
|
2636
|
+
|
2637
|
+
# The maximum number of audit violations to be stored in a constraint. If not
|
2638
|
+
# set, the internal default (currently 20) will be used.
|
2639
|
+
# Corresponds to the JSON property `constraintViolationLimit`
|
2640
|
+
# @return [Fixnum]
|
2641
|
+
attr_accessor :constraint_violation_limit
|
2642
|
+
|
2643
|
+
# Map of deployment configs to deployments (“admission”, “audit”, “mutation”).
|
2644
|
+
# Corresponds to the JSON property `deploymentConfigs`
|
2645
|
+
# @return [Hash<String,Google::Apis::GkehubV2alpha::PolicyControllerPolicyControllerDeploymentConfig>]
|
2646
|
+
attr_accessor :deployment_configs
|
2647
|
+
|
2648
|
+
# The set of namespaces that are excluded from Policy Controller checks.
|
2649
|
+
# Namespaces do not need to currently exist on the cluster.
|
2650
|
+
# Corresponds to the JSON property `exemptableNamespaces`
|
2651
|
+
# @return [Array<String>]
|
2652
|
+
attr_accessor :exemptable_namespaces
|
2653
|
+
|
2654
|
+
# The install_spec represents the intended state specified by the latest request
|
2655
|
+
# that mutated install_spec in the feature spec, not the lifecycle state of the
|
2656
|
+
# feature observed by the Hub feature controller that is reported in the feature
|
2657
|
+
# state.
|
2658
|
+
# Corresponds to the JSON property `installSpec`
|
2659
|
+
# @return [String]
|
2660
|
+
attr_accessor :install_spec
|
2661
|
+
|
2662
|
+
# Logs all denies and dry run failures.
|
2663
|
+
# Corresponds to the JSON property `logDeniesEnabled`
|
2664
|
+
# @return [Boolean]
|
2665
|
+
attr_accessor :log_denies_enabled
|
2666
|
+
alias_method :log_denies_enabled?, :log_denies_enabled
|
2667
|
+
|
2668
|
+
# MonitoringConfig specifies the backends Policy Controller should export
|
2669
|
+
# metrics to. For example, to specify metrics should be exported to Cloud
|
2670
|
+
# Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"]
|
2671
|
+
# Corresponds to the JSON property `monitoring`
|
2672
|
+
# @return [Google::Apis::GkehubV2alpha::PolicyControllerMonitoringConfig]
|
2673
|
+
attr_accessor :monitoring
|
2674
|
+
|
2675
|
+
# Enables the ability to mutate resources using Policy Controller.
|
2676
|
+
# Corresponds to the JSON property `mutationEnabled`
|
2677
|
+
# @return [Boolean]
|
2678
|
+
attr_accessor :mutation_enabled
|
2679
|
+
alias_method :mutation_enabled?, :mutation_enabled
|
2680
|
+
|
2681
|
+
# PolicyContentSpec defines the user's desired content configuration on the
|
2682
|
+
# cluster.
|
2683
|
+
# Corresponds to the JSON property `policyContent`
|
2684
|
+
# @return [Google::Apis::GkehubV2alpha::PolicyControllerPolicyContentSpec]
|
2685
|
+
attr_accessor :policy_content
|
2686
|
+
|
2687
|
+
# Enables the ability to use Constraint Templates that reference to objects
|
2688
|
+
# other than the object currently being evaluated.
|
2689
|
+
# Corresponds to the JSON property `referentialRulesEnabled`
|
2690
|
+
# @return [Boolean]
|
2691
|
+
attr_accessor :referential_rules_enabled
|
2692
|
+
alias_method :referential_rules_enabled?, :referential_rules_enabled
|
2693
|
+
|
2694
|
+
def initialize(**args)
|
2695
|
+
update!(**args)
|
2696
|
+
end
|
2697
|
+
|
2698
|
+
# Update properties of this object
|
2699
|
+
def update!(**args)
|
2700
|
+
@audit_interval_seconds = args[:audit_interval_seconds] if args.key?(:audit_interval_seconds)
|
2701
|
+
@constraint_violation_limit = args[:constraint_violation_limit] if args.key?(:constraint_violation_limit)
|
2702
|
+
@deployment_configs = args[:deployment_configs] if args.key?(:deployment_configs)
|
2703
|
+
@exemptable_namespaces = args[:exemptable_namespaces] if args.key?(:exemptable_namespaces)
|
2704
|
+
@install_spec = args[:install_spec] if args.key?(:install_spec)
|
2705
|
+
@log_denies_enabled = args[:log_denies_enabled] if args.key?(:log_denies_enabled)
|
2706
|
+
@monitoring = args[:monitoring] if args.key?(:monitoring)
|
2707
|
+
@mutation_enabled = args[:mutation_enabled] if args.key?(:mutation_enabled)
|
2708
|
+
@policy_content = args[:policy_content] if args.key?(:policy_content)
|
2709
|
+
@referential_rules_enabled = args[:referential_rules_enabled] if args.key?(:referential_rules_enabled)
|
2710
|
+
end
|
2711
|
+
end
|
2712
|
+
|
2713
|
+
# MonitoringConfig specifies the backends Policy Controller should export
|
2714
|
+
# metrics to. For example, to specify metrics should be exported to Cloud
|
2715
|
+
# Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"]
|
2716
|
+
class PolicyControllerMonitoringConfig
|
2717
|
+
include Google::Apis::Core::Hashable
|
2718
|
+
|
2719
|
+
# Specifies the list of backends Policy Controller will export to. An empty list
|
2720
|
+
# would effectively disable metrics export.
|
2721
|
+
# Corresponds to the JSON property `backends`
|
2722
|
+
# @return [Array<String>]
|
2723
|
+
attr_accessor :backends
|
2724
|
+
|
2725
|
+
def initialize(**args)
|
2726
|
+
update!(**args)
|
2727
|
+
end
|
2728
|
+
|
2729
|
+
# Update properties of this object
|
2730
|
+
def update!(**args)
|
2731
|
+
@backends = args[:backends] if args.key?(:backends)
|
2732
|
+
end
|
2733
|
+
end
|
2734
|
+
|
2735
|
+
# OnClusterState represents the state of a sub-component of Policy Controller.
|
2736
|
+
class PolicyControllerOnClusterState
|
2737
|
+
include Google::Apis::Core::Hashable
|
2738
|
+
|
2739
|
+
# Surface potential errors or information logs.
|
2740
|
+
# Corresponds to the JSON property `details`
|
2741
|
+
# @return [String]
|
2742
|
+
attr_accessor :details
|
2743
|
+
|
2744
|
+
# The lifecycle state of this component.
|
2745
|
+
# Corresponds to the JSON property `state`
|
2746
|
+
# @return [String]
|
2747
|
+
attr_accessor :state
|
2748
|
+
|
2749
|
+
def initialize(**args)
|
2750
|
+
update!(**args)
|
2751
|
+
end
|
2752
|
+
|
2753
|
+
# Update properties of this object
|
2754
|
+
def update!(**args)
|
2755
|
+
@details = args[:details] if args.key?(:details)
|
2756
|
+
@state = args[:state] if args.key?(:state)
|
2757
|
+
end
|
2758
|
+
end
|
2759
|
+
|
2760
|
+
# PolicyContentSpec defines the user's desired content configuration on the
|
2761
|
+
# cluster.
|
2762
|
+
class PolicyControllerPolicyContentSpec
|
2763
|
+
include Google::Apis::Core::Hashable
|
2764
|
+
|
2765
|
+
# map of bundle name to BundleInstallSpec. The bundle name maps to the `
|
2766
|
+
# bundleName` key in the `policycontroller.gke.io/constraintData` annotation on
|
2767
|
+
# a constraint.
|
2768
|
+
# Corresponds to the JSON property `bundles`
|
2769
|
+
# @return [Hash<String,Google::Apis::GkehubV2alpha::PolicyControllerBundleInstallSpec>]
|
2770
|
+
attr_accessor :bundles
|
2771
|
+
|
2772
|
+
# The config specifying which default library templates to install.
|
2773
|
+
# Corresponds to the JSON property `templateLibrary`
|
2774
|
+
# @return [Google::Apis::GkehubV2alpha::PolicyControllerTemplateLibraryConfig]
|
2775
|
+
attr_accessor :template_library
|
2776
|
+
|
2777
|
+
def initialize(**args)
|
2778
|
+
update!(**args)
|
2779
|
+
end
|
2780
|
+
|
2781
|
+
# Update properties of this object
|
2782
|
+
def update!(**args)
|
2783
|
+
@bundles = args[:bundles] if args.key?(:bundles)
|
2784
|
+
@template_library = args[:template_library] if args.key?(:template_library)
|
2785
|
+
end
|
2786
|
+
end
|
2787
|
+
|
2788
|
+
# The state of the policy controller policy content
|
2789
|
+
class PolicyControllerPolicyContentState
|
2790
|
+
include Google::Apis::Core::Hashable
|
2791
|
+
|
2792
|
+
# The state of the any bundles included in the chosen version of the manifest
|
2793
|
+
# Corresponds to the JSON property `bundleStates`
|
2794
|
+
# @return [Hash<String,Google::Apis::GkehubV2alpha::PolicyControllerOnClusterState>]
|
2795
|
+
attr_accessor :bundle_states
|
2796
|
+
|
2797
|
+
# OnClusterState represents the state of a sub-component of Policy Controller.
|
2798
|
+
# Corresponds to the JSON property `referentialSyncConfigState`
|
2799
|
+
# @return [Google::Apis::GkehubV2alpha::PolicyControllerOnClusterState]
|
2800
|
+
attr_accessor :referential_sync_config_state
|
2801
|
+
|
2802
|
+
# OnClusterState represents the state of a sub-component of Policy Controller.
|
2803
|
+
# Corresponds to the JSON property `templateLibraryState`
|
2804
|
+
# @return [Google::Apis::GkehubV2alpha::PolicyControllerOnClusterState]
|
2805
|
+
attr_accessor :template_library_state
|
2806
|
+
|
2807
|
+
def initialize(**args)
|
2808
|
+
update!(**args)
|
2809
|
+
end
|
2810
|
+
|
2811
|
+
# Update properties of this object
|
2812
|
+
def update!(**args)
|
2813
|
+
@bundle_states = args[:bundle_states] if args.key?(:bundle_states)
|
2814
|
+
@referential_sync_config_state = args[:referential_sync_config_state] if args.key?(:referential_sync_config_state)
|
2815
|
+
@template_library_state = args[:template_library_state] if args.key?(:template_library_state)
|
2816
|
+
end
|
2817
|
+
end
|
2818
|
+
|
2819
|
+
# Deployment-specific configuration.
|
2820
|
+
class PolicyControllerPolicyControllerDeploymentConfig
|
2821
|
+
include Google::Apis::Core::Hashable
|
2822
|
+
|
2823
|
+
# ResourceRequirements describes the compute resource requirements.
|
2824
|
+
# Corresponds to the JSON property `containerResources`
|
2825
|
+
# @return [Google::Apis::GkehubV2alpha::PolicyControllerResourceRequirements]
|
2826
|
+
attr_accessor :container_resources
|
2827
|
+
|
2828
|
+
# Pod affinity configuration.
|
2829
|
+
# Corresponds to the JSON property `podAffinity`
|
2830
|
+
# @return [String]
|
2831
|
+
attr_accessor :pod_affinity
|
2832
|
+
|
2833
|
+
# Pod anti-affinity enablement. Deprecated: use `pod_affinity` instead.
|
2834
|
+
# Corresponds to the JSON property `podAntiAffinity`
|
2835
|
+
# @return [Boolean]
|
2836
|
+
attr_accessor :pod_anti_affinity
|
2837
|
+
alias_method :pod_anti_affinity?, :pod_anti_affinity
|
2838
|
+
|
2839
|
+
# Pod tolerations of node taints.
|
2840
|
+
# Corresponds to the JSON property `podTolerations`
|
2841
|
+
# @return [Array<Google::Apis::GkehubV2alpha::PolicyControllerToleration>]
|
2842
|
+
attr_accessor :pod_tolerations
|
2843
|
+
|
2844
|
+
# Pod replica count.
|
2845
|
+
# Corresponds to the JSON property `replicaCount`
|
2846
|
+
# @return [Fixnum]
|
2847
|
+
attr_accessor :replica_count
|
2848
|
+
|
2849
|
+
def initialize(**args)
|
2850
|
+
update!(**args)
|
2851
|
+
end
|
2852
|
+
|
2853
|
+
# Update properties of this object
|
2854
|
+
def update!(**args)
|
2855
|
+
@container_resources = args[:container_resources] if args.key?(:container_resources)
|
2856
|
+
@pod_affinity = args[:pod_affinity] if args.key?(:pod_affinity)
|
2857
|
+
@pod_anti_affinity = args[:pod_anti_affinity] if args.key?(:pod_anti_affinity)
|
2858
|
+
@pod_tolerations = args[:pod_tolerations] if args.key?(:pod_tolerations)
|
2859
|
+
@replica_count = args[:replica_count] if args.key?(:replica_count)
|
2860
|
+
end
|
2861
|
+
end
|
2862
|
+
|
2863
|
+
# ResourceList contains container resource requirements.
|
2864
|
+
class PolicyControllerResourceList
|
2865
|
+
include Google::Apis::Core::Hashable
|
2866
|
+
|
2867
|
+
# CPU requirement expressed in Kubernetes resource units.
|
2868
|
+
# Corresponds to the JSON property `cpu`
|
2869
|
+
# @return [String]
|
2870
|
+
attr_accessor :cpu
|
2871
|
+
|
2872
|
+
# Memory requirement expressed in Kubernetes resource units.
|
2873
|
+
# Corresponds to the JSON property `memory`
|
2874
|
+
# @return [String]
|
2875
|
+
attr_accessor :memory
|
2876
|
+
|
2877
|
+
def initialize(**args)
|
2878
|
+
update!(**args)
|
2879
|
+
end
|
2880
|
+
|
2881
|
+
# Update properties of this object
|
2882
|
+
def update!(**args)
|
2883
|
+
@cpu = args[:cpu] if args.key?(:cpu)
|
2884
|
+
@memory = args[:memory] if args.key?(:memory)
|
2885
|
+
end
|
2886
|
+
end
|
2887
|
+
|
2888
|
+
# ResourceRequirements describes the compute resource requirements.
|
2889
|
+
class PolicyControllerResourceRequirements
|
2890
|
+
include Google::Apis::Core::Hashable
|
2891
|
+
|
2892
|
+
# ResourceList contains container resource requirements.
|
2893
|
+
# Corresponds to the JSON property `limits`
|
2894
|
+
# @return [Google::Apis::GkehubV2alpha::PolicyControllerResourceList]
|
2895
|
+
attr_accessor :limits
|
2896
|
+
|
2897
|
+
# ResourceList contains container resource requirements.
|
2898
|
+
# Corresponds to the JSON property `requests`
|
2899
|
+
# @return [Google::Apis::GkehubV2alpha::PolicyControllerResourceList]
|
2900
|
+
attr_accessor :requests
|
2901
|
+
|
2902
|
+
def initialize(**args)
|
2903
|
+
update!(**args)
|
2904
|
+
end
|
2905
|
+
|
2906
|
+
# Update properties of this object
|
2907
|
+
def update!(**args)
|
2908
|
+
@limits = args[:limits] if args.key?(:limits)
|
2909
|
+
@requests = args[:requests] if args.key?(:requests)
|
2910
|
+
end
|
2911
|
+
end
|
2912
|
+
|
2913
|
+
# **Policy Controller**: Configuration for a single cluster. Intended to
|
2914
|
+
# parallel the PolicyController CR.
|
2915
|
+
class PolicyControllerSpec
|
2916
|
+
include Google::Apis::Core::Hashable
|
2917
|
+
|
2918
|
+
# Configuration for Policy Controller
|
2919
|
+
# Corresponds to the JSON property `policyControllerHubConfig`
|
2920
|
+
# @return [Google::Apis::GkehubV2alpha::PolicyControllerHubConfig]
|
2921
|
+
attr_accessor :policy_controller_hub_config
|
2922
|
+
|
2923
|
+
# Version of Policy Controller installed.
|
2924
|
+
# Corresponds to the JSON property `version`
|
2925
|
+
# @return [String]
|
2926
|
+
attr_accessor :version
|
2927
|
+
|
2928
|
+
def initialize(**args)
|
2929
|
+
update!(**args)
|
2930
|
+
end
|
2931
|
+
|
2932
|
+
# Update properties of this object
|
2933
|
+
def update!(**args)
|
2934
|
+
@policy_controller_hub_config = args[:policy_controller_hub_config] if args.key?(:policy_controller_hub_config)
|
2935
|
+
@version = args[:version] if args.key?(:version)
|
2936
|
+
end
|
2937
|
+
end
|
2938
|
+
|
2939
|
+
# **Policy Controller**: State for a single cluster.
|
2940
|
+
class PolicyControllerState
|
2941
|
+
include Google::Apis::Core::Hashable
|
2942
|
+
|
2943
|
+
# Currently these include (also serving as map keys): 1. "admission" 2. "audit"
|
2944
|
+
# 3. "mutation"
|
2945
|
+
# Corresponds to the JSON property `componentStates`
|
2946
|
+
# @return [Hash<String,Google::Apis::GkehubV2alpha::PolicyControllerOnClusterState>]
|
2947
|
+
attr_accessor :component_states
|
2948
|
+
|
2949
|
+
# The state of the policy controller policy content
|
2950
|
+
# Corresponds to the JSON property `policyContentState`
|
2951
|
+
# @return [Google::Apis::GkehubV2alpha::PolicyControllerPolicyContentState]
|
2952
|
+
attr_accessor :policy_content_state
|
2953
|
+
|
2954
|
+
# The overall Policy Controller lifecycle state observed by the Hub Feature
|
2955
|
+
# controller.
|
2956
|
+
# Corresponds to the JSON property `state`
|
2957
|
+
# @return [String]
|
2958
|
+
attr_accessor :state
|
2959
|
+
|
2960
|
+
def initialize(**args)
|
2961
|
+
update!(**args)
|
2962
|
+
end
|
2963
|
+
|
2964
|
+
# Update properties of this object
|
2965
|
+
def update!(**args)
|
2966
|
+
@component_states = args[:component_states] if args.key?(:component_states)
|
2967
|
+
@policy_content_state = args[:policy_content_state] if args.key?(:policy_content_state)
|
2968
|
+
@state = args[:state] if args.key?(:state)
|
2969
|
+
end
|
2970
|
+
end
|
2971
|
+
|
2972
|
+
# The config specifying which default library templates to install.
|
2973
|
+
class PolicyControllerTemplateLibraryConfig
|
2974
|
+
include Google::Apis::Core::Hashable
|
2975
|
+
|
2976
|
+
# Configures the manner in which the template library is installed on the
|
2977
|
+
# cluster.
|
2978
|
+
# Corresponds to the JSON property `installation`
|
2979
|
+
# @return [String]
|
2980
|
+
attr_accessor :installation
|
2981
|
+
|
2982
|
+
def initialize(**args)
|
2983
|
+
update!(**args)
|
2984
|
+
end
|
2985
|
+
|
2986
|
+
# Update properties of this object
|
2987
|
+
def update!(**args)
|
2988
|
+
@installation = args[:installation] if args.key?(:installation)
|
2989
|
+
end
|
2990
|
+
end
|
2991
|
+
|
2992
|
+
# Toleration of a node taint.
|
2993
|
+
class PolicyControllerToleration
|
43
2994
|
include Google::Apis::Core::Hashable
|
44
2995
|
|
2996
|
+
# Matches a taint effect.
|
2997
|
+
# Corresponds to the JSON property `effect`
|
2998
|
+
# @return [String]
|
2999
|
+
attr_accessor :effect
|
3000
|
+
|
3001
|
+
# Matches a taint key (not necessarily unique).
|
3002
|
+
# Corresponds to the JSON property `key`
|
3003
|
+
# @return [String]
|
3004
|
+
attr_accessor :key
|
3005
|
+
|
3006
|
+
# Matches a taint operator.
|
3007
|
+
# Corresponds to the JSON property `operator`
|
3008
|
+
# @return [String]
|
3009
|
+
attr_accessor :operator
|
3010
|
+
|
3011
|
+
# Matches a taint value.
|
3012
|
+
# Corresponds to the JSON property `value`
|
3013
|
+
# @return [String]
|
3014
|
+
attr_accessor :value
|
3015
|
+
|
45
3016
|
def initialize(**args)
|
46
3017
|
update!(**args)
|
47
3018
|
end
|
48
3019
|
|
49
3020
|
# Update properties of this object
|
50
3021
|
def update!(**args)
|
3022
|
+
@effect = args[:effect] if args.key?(:effect)
|
3023
|
+
@key = args[:key] if args.key?(:key)
|
3024
|
+
@operator = args[:operator] if args.key?(:operator)
|
3025
|
+
@value = args[:value] if args.key?(:value)
|
51
3026
|
end
|
52
3027
|
end
|
53
3028
|
|
54
|
-
#
|
55
|
-
#
|
56
|
-
#
|
57
|
-
|
58
|
-
# about this error model and how to work with it in the [API Design Guide](https:
|
59
|
-
# //cloud.google.com/apis/design/errors).
|
60
|
-
class GoogleRpcStatus
|
3029
|
+
# AnalysisMessage is a single message produced by an analyzer, and it used to
|
3030
|
+
# communicate to the end user about the state of their Service Mesh
|
3031
|
+
# configuration.
|
3032
|
+
class ServiceMeshAnalysisMessage
|
61
3033
|
include Google::Apis::Core::Hashable
|
62
3034
|
|
63
|
-
#
|
3035
|
+
# A UI can combine these args with a template (based on message_base.type) to
|
3036
|
+
# produce an internationalized message.
|
3037
|
+
# Corresponds to the JSON property `args`
|
3038
|
+
# @return [Hash<String,Object>]
|
3039
|
+
attr_accessor :args
|
3040
|
+
|
3041
|
+
# A human readable description of what the error means. It is suitable for non-
|
3042
|
+
# internationalize display purposes.
|
3043
|
+
# Corresponds to the JSON property `description`
|
3044
|
+
# @return [String]
|
3045
|
+
attr_accessor :description
|
3046
|
+
|
3047
|
+
# AnalysisMessageBase describes some common information that is needed for all
|
3048
|
+
# messages.
|
3049
|
+
# Corresponds to the JSON property `messageBase`
|
3050
|
+
# @return [Google::Apis::GkehubV2alpha::ServiceMeshAnalysisMessageBase]
|
3051
|
+
attr_accessor :message_base
|
3052
|
+
|
3053
|
+
# A list of strings specifying the resource identifiers that were the cause of
|
3054
|
+
# message generation. A "path" here may be: * MEMBERSHIP_ID if the cause is a
|
3055
|
+
# specific member cluster * MEMBERSHIP_ID/(NAMESPACE\/)?RESOURCETYPE/NAME if the
|
3056
|
+
# cause is a resource in a cluster
|
3057
|
+
# Corresponds to the JSON property `resourcePaths`
|
3058
|
+
# @return [Array<String>]
|
3059
|
+
attr_accessor :resource_paths
|
3060
|
+
|
3061
|
+
def initialize(**args)
|
3062
|
+
update!(**args)
|
3063
|
+
end
|
3064
|
+
|
3065
|
+
# Update properties of this object
|
3066
|
+
def update!(**args)
|
3067
|
+
@args = args[:args] if args.key?(:args)
|
3068
|
+
@description = args[:description] if args.key?(:description)
|
3069
|
+
@message_base = args[:message_base] if args.key?(:message_base)
|
3070
|
+
@resource_paths = args[:resource_paths] if args.key?(:resource_paths)
|
3071
|
+
end
|
3072
|
+
end
|
3073
|
+
|
3074
|
+
# AnalysisMessageBase describes some common information that is needed for all
|
3075
|
+
# messages.
|
3076
|
+
class ServiceMeshAnalysisMessageBase
|
3077
|
+
include Google::Apis::Core::Hashable
|
3078
|
+
|
3079
|
+
# A url pointing to the Service Mesh or Istio documentation for this specific
|
3080
|
+
# error type.
|
3081
|
+
# Corresponds to the JSON property `documentationUrl`
|
3082
|
+
# @return [String]
|
3083
|
+
attr_accessor :documentation_url
|
3084
|
+
|
3085
|
+
# Represents how severe a message is.
|
3086
|
+
# Corresponds to the JSON property `level`
|
3087
|
+
# @return [String]
|
3088
|
+
attr_accessor :level
|
3089
|
+
|
3090
|
+
# A unique identifier for the type of message. Display_name is intended to be
|
3091
|
+
# human-readable, code is intended to be machine readable. There should be a one-
|
3092
|
+
# to-one mapping between display_name and code. (i.e. do not re-use
|
3093
|
+
# display_names or codes between message types.) See istio.analysis.v1alpha1.
|
3094
|
+
# AnalysisMessageBase.Type
|
3095
|
+
# Corresponds to the JSON property `type`
|
3096
|
+
# @return [Google::Apis::GkehubV2alpha::ServiceMeshType]
|
3097
|
+
attr_accessor :type
|
3098
|
+
|
3099
|
+
def initialize(**args)
|
3100
|
+
update!(**args)
|
3101
|
+
end
|
3102
|
+
|
3103
|
+
# Update properties of this object
|
3104
|
+
def update!(**args)
|
3105
|
+
@documentation_url = args[:documentation_url] if args.key?(:documentation_url)
|
3106
|
+
@level = args[:level] if args.key?(:level)
|
3107
|
+
@type = args[:type] if args.key?(:type)
|
3108
|
+
end
|
3109
|
+
end
|
3110
|
+
|
3111
|
+
# Condition being reported.
|
3112
|
+
class ServiceMeshCondition
|
3113
|
+
include Google::Apis::Core::Hashable
|
3114
|
+
|
3115
|
+
# Unique identifier of the condition which describes the condition recognizable
|
3116
|
+
# to the user.
|
64
3117
|
# Corresponds to the JSON property `code`
|
65
|
-
# @return [
|
3118
|
+
# @return [String]
|
66
3119
|
attr_accessor :code
|
67
3120
|
|
68
|
-
# A
|
69
|
-
# message types for APIs to use.
|
3121
|
+
# A short summary about the issue.
|
70
3122
|
# Corresponds to the JSON property `details`
|
71
|
-
# @return [
|
3123
|
+
# @return [String]
|
72
3124
|
attr_accessor :details
|
73
3125
|
|
74
|
-
#
|
75
|
-
#
|
76
|
-
# field, or localized by the client.
|
77
|
-
# Corresponds to the JSON property `message`
|
3126
|
+
# Links contains actionable information.
|
3127
|
+
# Corresponds to the JSON property `documentationLink`
|
78
3128
|
# @return [String]
|
79
|
-
attr_accessor :
|
3129
|
+
attr_accessor :documentation_link
|
3130
|
+
|
3131
|
+
# Severity level of the condition.
|
3132
|
+
# Corresponds to the JSON property `severity`
|
3133
|
+
# @return [String]
|
3134
|
+
attr_accessor :severity
|
80
3135
|
|
81
3136
|
def initialize(**args)
|
82
3137
|
update!(**args)
|
@@ -86,23 +3141,29 @@ module Google
|
|
86
3141
|
def update!(**args)
|
87
3142
|
@code = args[:code] if args.key?(:code)
|
88
3143
|
@details = args[:details] if args.key?(:details)
|
89
|
-
@
|
3144
|
+
@documentation_link = args[:documentation_link] if args.key?(:documentation_link)
|
3145
|
+
@severity = args[:severity] if args.key?(:severity)
|
90
3146
|
end
|
91
3147
|
end
|
92
3148
|
|
93
|
-
#
|
94
|
-
class
|
3149
|
+
# Status of control plane management.
|
3150
|
+
class ServiceMeshControlPlaneManagement
|
95
3151
|
include Google::Apis::Core::Hashable
|
96
3152
|
|
97
|
-
#
|
98
|
-
# Corresponds to the JSON property `
|
99
|
-
# @return [Array<Google::Apis::GkehubV2alpha::
|
100
|
-
attr_accessor :
|
3153
|
+
# Explanation of state.
|
3154
|
+
# Corresponds to the JSON property `details`
|
3155
|
+
# @return [Array<Google::Apis::GkehubV2alpha::ServiceMeshStatusDetails>]
|
3156
|
+
attr_accessor :details
|
101
3157
|
|
102
|
-
#
|
103
|
-
# Corresponds to the JSON property `
|
3158
|
+
# Output only. Implementation of managed control plane.
|
3159
|
+
# Corresponds to the JSON property `implementation`
|
104
3160
|
# @return [String]
|
105
|
-
attr_accessor :
|
3161
|
+
attr_accessor :implementation
|
3162
|
+
|
3163
|
+
# LifecycleState of control plane management.
|
3164
|
+
# Corresponds to the JSON property `state`
|
3165
|
+
# @return [String]
|
3166
|
+
attr_accessor :state
|
106
3167
|
|
107
3168
|
def initialize(**args)
|
108
3169
|
update!(**args)
|
@@ -110,24 +3171,63 @@ module Google
|
|
110
3171
|
|
111
3172
|
# Update properties of this object
|
112
3173
|
def update!(**args)
|
113
|
-
@
|
114
|
-
@
|
3174
|
+
@details = args[:details] if args.key?(:details)
|
3175
|
+
@implementation = args[:implementation] if args.key?(:implementation)
|
3176
|
+
@state = args[:state] if args.key?(:state)
|
115
3177
|
end
|
116
3178
|
end
|
117
3179
|
|
118
|
-
#
|
119
|
-
class
|
3180
|
+
# Status of data plane management. Only reported per-member.
|
3181
|
+
class ServiceMeshDataPlaneManagement
|
120
3182
|
include Google::Apis::Core::Hashable
|
121
3183
|
|
122
|
-
#
|
123
|
-
# Corresponds to the JSON property `
|
3184
|
+
# Explanation of the status.
|
3185
|
+
# Corresponds to the JSON property `details`
|
3186
|
+
# @return [Array<Google::Apis::GkehubV2alpha::ServiceMeshStatusDetails>]
|
3187
|
+
attr_accessor :details
|
3188
|
+
|
3189
|
+
# Lifecycle status of data plane management.
|
3190
|
+
# Corresponds to the JSON property `state`
|
124
3191
|
# @return [String]
|
125
|
-
attr_accessor :
|
3192
|
+
attr_accessor :state
|
126
3193
|
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
3194
|
+
def initialize(**args)
|
3195
|
+
update!(**args)
|
3196
|
+
end
|
3197
|
+
|
3198
|
+
# Update properties of this object
|
3199
|
+
def update!(**args)
|
3200
|
+
@details = args[:details] if args.key?(:details)
|
3201
|
+
@state = args[:state] if args.key?(:state)
|
3202
|
+
end
|
3203
|
+
end
|
3204
|
+
|
3205
|
+
# **Service Mesh**: Spec for a single Membership for the servicemesh feature
|
3206
|
+
class ServiceMeshSpec
|
3207
|
+
include Google::Apis::Core::Hashable
|
3208
|
+
|
3209
|
+
# Optional. Specifies the API that will be used for configuring the mesh
|
3210
|
+
# workloads.
|
3211
|
+
# Corresponds to the JSON property `configApi`
|
3212
|
+
# @return [String]
|
3213
|
+
attr_accessor :config_api
|
3214
|
+
|
3215
|
+
# Deprecated: use `management` instead Enables automatic control plane
|
3216
|
+
# management.
|
3217
|
+
# Corresponds to the JSON property `controlPlane`
|
3218
|
+
# @return [String]
|
3219
|
+
attr_accessor :control_plane
|
3220
|
+
|
3221
|
+
# Determines which release channel to use for default injection and service mesh
|
3222
|
+
# APIs.
|
3223
|
+
# Corresponds to the JSON property `defaultChannel`
|
3224
|
+
# @return [String]
|
3225
|
+
attr_accessor :default_channel
|
3226
|
+
|
3227
|
+
# Optional. Enables automatic Service Mesh management.
|
3228
|
+
# Corresponds to the JSON property `management`
|
3229
|
+
# @return [String]
|
3230
|
+
attr_accessor :management
|
131
3231
|
|
132
3232
|
def initialize(**args)
|
133
3233
|
update!(**args)
|
@@ -135,43 +3235,104 @@ module Google
|
|
135
3235
|
|
136
3236
|
# Update properties of this object
|
137
3237
|
def update!(**args)
|
138
|
-
@
|
139
|
-
@
|
3238
|
+
@config_api = args[:config_api] if args.key?(:config_api)
|
3239
|
+
@control_plane = args[:control_plane] if args.key?(:control_plane)
|
3240
|
+
@default_channel = args[:default_channel] if args.key?(:default_channel)
|
3241
|
+
@management = args[:management] if args.key?(:management)
|
140
3242
|
end
|
141
3243
|
end
|
142
3244
|
|
143
|
-
#
|
144
|
-
|
3245
|
+
# **Service Mesh**: State for a single Membership, as analyzed by the Service
|
3246
|
+
# Mesh Hub Controller.
|
3247
|
+
class ServiceMeshState
|
145
3248
|
include Google::Apis::Core::Hashable
|
146
3249
|
|
147
|
-
#
|
148
|
-
#
|
149
|
-
#
|
3250
|
+
# Output only. Results of running Service Mesh analyzers.
|
3251
|
+
# Corresponds to the JSON property `analysisMessages`
|
3252
|
+
# @return [Array<Google::Apis::GkehubV2alpha::ServiceMeshAnalysisMessage>]
|
3253
|
+
attr_accessor :analysis_messages
|
3254
|
+
|
3255
|
+
# Output only. List of conditions reported for this membership.
|
3256
|
+
# Corresponds to the JSON property `conditions`
|
3257
|
+
# @return [Array<Google::Apis::GkehubV2alpha::ServiceMeshCondition>]
|
3258
|
+
attr_accessor :conditions
|
3259
|
+
|
3260
|
+
# The API version (i.e. Istio CRD version) for configuring service mesh in this
|
3261
|
+
# cluster. This version is influenced by the `default_channel` field.
|
3262
|
+
# Corresponds to the JSON property `configApiVersion`
|
150
3263
|
# @return [String]
|
151
|
-
attr_accessor :
|
3264
|
+
attr_accessor :config_api_version
|
152
3265
|
|
153
|
-
#
|
154
|
-
#
|
155
|
-
#
|
156
|
-
|
157
|
-
attr_accessor :labels
|
3266
|
+
# Status of control plane management.
|
3267
|
+
# Corresponds to the JSON property `controlPlaneManagement`
|
3268
|
+
# @return [Google::Apis::GkehubV2alpha::ServiceMeshControlPlaneManagement]
|
3269
|
+
attr_accessor :control_plane_management
|
158
3270
|
|
159
|
-
#
|
160
|
-
# Corresponds to the JSON property `
|
3271
|
+
# Status of data plane management. Only reported per-member.
|
3272
|
+
# Corresponds to the JSON property `dataPlaneManagement`
|
3273
|
+
# @return [Google::Apis::GkehubV2alpha::ServiceMeshDataPlaneManagement]
|
3274
|
+
attr_accessor :data_plane_management
|
3275
|
+
|
3276
|
+
def initialize(**args)
|
3277
|
+
update!(**args)
|
3278
|
+
end
|
3279
|
+
|
3280
|
+
# Update properties of this object
|
3281
|
+
def update!(**args)
|
3282
|
+
@analysis_messages = args[:analysis_messages] if args.key?(:analysis_messages)
|
3283
|
+
@conditions = args[:conditions] if args.key?(:conditions)
|
3284
|
+
@config_api_version = args[:config_api_version] if args.key?(:config_api_version)
|
3285
|
+
@control_plane_management = args[:control_plane_management] if args.key?(:control_plane_management)
|
3286
|
+
@data_plane_management = args[:data_plane_management] if args.key?(:data_plane_management)
|
3287
|
+
end
|
3288
|
+
end
|
3289
|
+
|
3290
|
+
# Structured and human-readable details for a status.
|
3291
|
+
class ServiceMeshStatusDetails
|
3292
|
+
include Google::Apis::Core::Hashable
|
3293
|
+
|
3294
|
+
# A machine-readable code that further describes a broad status.
|
3295
|
+
# Corresponds to the JSON property `code`
|
161
3296
|
# @return [String]
|
162
|
-
attr_accessor :
|
3297
|
+
attr_accessor :code
|
163
3298
|
|
164
|
-
#
|
165
|
-
#
|
166
|
-
#
|
167
|
-
|
168
|
-
attr_accessor :metadata
|
3299
|
+
# Human-readable explanation of code.
|
3300
|
+
# Corresponds to the JSON property `details`
|
3301
|
+
# @return [String]
|
3302
|
+
attr_accessor :details
|
169
3303
|
|
170
|
-
|
171
|
-
|
172
|
-
|
3304
|
+
def initialize(**args)
|
3305
|
+
update!(**args)
|
3306
|
+
end
|
3307
|
+
|
3308
|
+
# Update properties of this object
|
3309
|
+
def update!(**args)
|
3310
|
+
@code = args[:code] if args.key?(:code)
|
3311
|
+
@details = args[:details] if args.key?(:details)
|
3312
|
+
end
|
3313
|
+
end
|
3314
|
+
|
3315
|
+
# A unique identifier for the type of message. Display_name is intended to be
|
3316
|
+
# human-readable, code is intended to be machine readable. There should be a one-
|
3317
|
+
# to-one mapping between display_name and code. (i.e. do not re-use
|
3318
|
+
# display_names or codes between message types.) See istio.analysis.v1alpha1.
|
3319
|
+
# AnalysisMessageBase.Type
|
3320
|
+
class ServiceMeshType
|
3321
|
+
include Google::Apis::Core::Hashable
|
3322
|
+
|
3323
|
+
# A 7 character code matching `^IST[0-9]`4`$` or `^ASM[0-9]`4`$`, intended to
|
3324
|
+
# uniquely identify the message type. (e.g. "IST0001" is mapped to the "
|
3325
|
+
# InternalError" message type.)
|
3326
|
+
# Corresponds to the JSON property `code`
|
173
3327
|
# @return [String]
|
174
|
-
attr_accessor :
|
3328
|
+
attr_accessor :code
|
3329
|
+
|
3330
|
+
# A human-readable name for the message type. e.g. "InternalError", "
|
3331
|
+
# PodMissingProxy". This should be the same for all messages of the same type. (
|
3332
|
+
# This corresponds to the `name` field in open-source Istio.)
|
3333
|
+
# Corresponds to the JSON property `displayName`
|
3334
|
+
# @return [String]
|
3335
|
+
attr_accessor :display_name
|
175
3336
|
|
176
3337
|
def initialize(**args)
|
177
3338
|
update!(**args)
|
@@ -179,61 +3340,51 @@ module Google
|
|
179
3340
|
|
180
3341
|
# Update properties of this object
|
181
3342
|
def update!(**args)
|
3343
|
+
@code = args[:code] if args.key?(:code)
|
182
3344
|
@display_name = args[:display_name] if args.key?(:display_name)
|
183
|
-
@labels = args[:labels] if args.key?(:labels)
|
184
|
-
@location_id = args[:location_id] if args.key?(:location_id)
|
185
|
-
@metadata = args[:metadata] if args.key?(:metadata)
|
186
|
-
@name = args[:name] if args.key?(:name)
|
187
3345
|
end
|
188
3346
|
end
|
189
3347
|
|
190
|
-
#
|
191
|
-
|
192
|
-
class Operation
|
3348
|
+
# High-level state of a MembershipFeature.
|
3349
|
+
class State
|
193
3350
|
include Google::Apis::Core::Hashable
|
194
3351
|
|
195
|
-
#
|
196
|
-
#
|
197
|
-
#
|
198
|
-
|
199
|
-
attr_accessor :done
|
200
|
-
alias_method :done?, :done
|
201
|
-
|
202
|
-
# The `Status` type defines a logical error model that is suitable for different
|
203
|
-
# programming environments, including REST APIs and RPC APIs. It is used by [
|
204
|
-
# gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
|
205
|
-
# data: error code, error message, and error details. You can find out more
|
206
|
-
# about this error model and how to work with it in the [API Design Guide](https:
|
207
|
-
# //cloud.google.com/apis/design/errors).
|
208
|
-
# Corresponds to the JSON property `error`
|
209
|
-
# @return [Google::Apis::GkehubV2alpha::GoogleRpcStatus]
|
210
|
-
attr_accessor :error
|
3352
|
+
# The high-level, machine-readable status of this MembershipFeature.
|
3353
|
+
# Corresponds to the JSON property `code`
|
3354
|
+
# @return [String]
|
3355
|
+
attr_accessor :code
|
211
3356
|
|
212
|
-
#
|
213
|
-
#
|
214
|
-
#
|
215
|
-
|
216
|
-
# Corresponds to the JSON property `metadata`
|
217
|
-
# @return [Hash<String,Object>]
|
218
|
-
attr_accessor :metadata
|
3357
|
+
# A human-readable description of the current status.
|
3358
|
+
# Corresponds to the JSON property `description`
|
3359
|
+
# @return [String]
|
3360
|
+
attr_accessor :description
|
219
3361
|
|
220
|
-
# The
|
221
|
-
#
|
222
|
-
# be a resource name ending with `operations/`unique_id``.
|
223
|
-
# Corresponds to the JSON property `name`
|
3362
|
+
# The time this status and any related Feature-specific details were updated.
|
3363
|
+
# Corresponds to the JSON property `updateTime`
|
224
3364
|
# @return [String]
|
225
|
-
attr_accessor :
|
3365
|
+
attr_accessor :update_time
|
226
3366
|
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
#
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
3367
|
+
def initialize(**args)
|
3368
|
+
update!(**args)
|
3369
|
+
end
|
3370
|
+
|
3371
|
+
# Update properties of this object
|
3372
|
+
def update!(**args)
|
3373
|
+
@code = args[:code] if args.key?(:code)
|
3374
|
+
@description = args[:description] if args.key?(:description)
|
3375
|
+
@update_time = args[:update_time] if args.key?(:update_time)
|
3376
|
+
end
|
3377
|
+
end
|
3378
|
+
|
3379
|
+
# **WorkloadCertificate**: The membership-specific input for WorkloadCertificate
|
3380
|
+
# feature.
|
3381
|
+
class WorkloadCertificateSpec
|
3382
|
+
include Google::Apis::Core::Hashable
|
3383
|
+
|
3384
|
+
# CertificateManagement specifies workload certificate management.
|
3385
|
+
# Corresponds to the JSON property `certificateManagement`
|
3386
|
+
# @return [String]
|
3387
|
+
attr_accessor :certificate_management
|
237
3388
|
|
238
3389
|
def initialize(**args)
|
239
3390
|
update!(**args)
|
@@ -241,11 +3392,7 @@ module Google
|
|
241
3392
|
|
242
3393
|
# Update properties of this object
|
243
3394
|
def update!(**args)
|
244
|
-
@
|
245
|
-
@error = args[:error] if args.key?(:error)
|
246
|
-
@metadata = args[:metadata] if args.key?(:metadata)
|
247
|
-
@name = args[:name] if args.key?(:name)
|
248
|
-
@response = args[:response] if args.key?(:response)
|
3395
|
+
@certificate_management = args[:certificate_management] if args.key?(:certificate_management)
|
249
3396
|
end
|
250
3397
|
end
|
251
3398
|
end
|