google-cloud-gke_hub-v1 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (35) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +169 -0
  4. data/LICENSE.md +201 -0
  5. data/README.md +139 -0
  6. data/lib/google/cloud/gke_hub/v1/gke_hub/client.rb +1388 -0
  7. data/lib/google/cloud/gke_hub/v1/gke_hub/credentials.rb +51 -0
  8. data/lib/google/cloud/gke_hub/v1/gke_hub/operations.rb +664 -0
  9. data/lib/google/cloud/gke_hub/v1/gke_hub/paths.rb +88 -0
  10. data/lib/google/cloud/gke_hub/v1/gke_hub.rb +63 -0
  11. data/lib/google/cloud/gke_hub/v1/version.rb +28 -0
  12. data/lib/google/cloud/gke_hub/v1.rb +38 -0
  13. data/lib/google/cloud/gkehub/v1/configmanagement/configmanagement_pb.rb +179 -0
  14. data/lib/google/cloud/gkehub/v1/feature_pb.rb +86 -0
  15. data/lib/google/cloud/gkehub/v1/membership_pb.rb +77 -0
  16. data/lib/google/cloud/gkehub/v1/multiclusteringress/multiclusteringress_pb.rb +25 -0
  17. data/lib/google/cloud/gkehub/v1/service_pb.rb +135 -0
  18. data/lib/google/cloud/gkehub/v1/service_services_pb.rb +89 -0
  19. data/lib/google-cloud-gke_hub-v1.rb +21 -0
  20. data/proto_docs/README.md +4 -0
  21. data/proto_docs/google/api/field_behavior.rb +71 -0
  22. data/proto_docs/google/api/resource.rb +283 -0
  23. data/proto_docs/google/cloud/gkehub/v1/configmanagement/configmanagement.rb +446 -0
  24. data/proto_docs/google/cloud/gkehub/v1/feature.rb +230 -0
  25. data/proto_docs/google/cloud/gkehub/v1/membership.rb +229 -0
  26. data/proto_docs/google/cloud/gkehub/v1/multiclusteringress/multiclusteringress.rb +39 -0
  27. data/proto_docs/google/cloud/gkehub/v1/service.rb +473 -0
  28. data/proto_docs/google/longrunning/operations.rb +164 -0
  29. data/proto_docs/google/protobuf/any.rb +141 -0
  30. data/proto_docs/google/protobuf/duration.rb +98 -0
  31. data/proto_docs/google/protobuf/empty.rb +36 -0
  32. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  33. data/proto_docs/google/protobuf/timestamp.rb +129 -0
  34. data/proto_docs/google/rpc/status.rb +46 -0
  35. metadata +225 -0
@@ -0,0 +1,446 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2021 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module GkeHub
23
+ module ConfigManagement
24
+ module V1
25
+ # **Anthos Config Management**: State for a single cluster.
26
+ # @!attribute [rw] cluster_name
27
+ # @return [::String]
28
+ # The user-defined name for the cluster used by ClusterSelectors to group
29
+ # clusters together. This should match Membership's membership_name,
30
+ # unless the user installed ACM on the cluster manually prior to enabling
31
+ # the ACM hub feature.
32
+ # Unique within a Anthos Config Management installation.
33
+ # @!attribute [rw] membership_spec
34
+ # @return [::Google::Cloud::GkeHub::ConfigManagement::V1::MembershipSpec]
35
+ # Membership configuration in the cluster. This represents the actual state
36
+ # in the cluster, while the MembershipSpec in the FeatureSpec represents
37
+ # the intended state
38
+ # @!attribute [rw] operator_state
39
+ # @return [::Google::Cloud::GkeHub::ConfigManagement::V1::OperatorState]
40
+ # Current install status of ACM's Operator
41
+ # @!attribute [rw] config_sync_state
42
+ # @return [::Google::Cloud::GkeHub::ConfigManagement::V1::ConfigSyncState]
43
+ # Current sync status
44
+ # @!attribute [rw] policy_controller_state
45
+ # @return [::Google::Cloud::GkeHub::ConfigManagement::V1::PolicyControllerState]
46
+ # PolicyController status
47
+ # @!attribute [rw] hierarchy_controller_state
48
+ # @return [::Google::Cloud::GkeHub::ConfigManagement::V1::HierarchyControllerState]
49
+ # Hierarchy Controller status
50
+ class MembershipState
51
+ include ::Google::Protobuf::MessageExts
52
+ extend ::Google::Protobuf::MessageExts::ClassMethods
53
+ end
54
+
55
+ # **Anthos Config Management**: Configuration for a single cluster.
56
+ # Intended to parallel the ConfigManagement CR.
57
+ # @!attribute [rw] config_sync
58
+ # @return [::Google::Cloud::GkeHub::ConfigManagement::V1::ConfigSync]
59
+ # Config Sync configuration for the cluster.
60
+ # @!attribute [rw] policy_controller
61
+ # @return [::Google::Cloud::GkeHub::ConfigManagement::V1::PolicyController]
62
+ # Policy Controller configuration for the cluster.
63
+ # @!attribute [rw] hierarchy_controller
64
+ # @return [::Google::Cloud::GkeHub::ConfigManagement::V1::HierarchyControllerConfig]
65
+ # Hierarchy Controller configuration for the cluster.
66
+ # @!attribute [rw] version
67
+ # @return [::String]
68
+ # Version of ACM installed.
69
+ class MembershipSpec
70
+ include ::Google::Protobuf::MessageExts
71
+ extend ::Google::Protobuf::MessageExts::ClassMethods
72
+ end
73
+
74
+ # Configuration for Config Sync
75
+ # @!attribute [rw] git
76
+ # @return [::Google::Cloud::GkeHub::ConfigManagement::V1::GitConfig]
77
+ # Git repo configuration for the cluster.
78
+ # @!attribute [rw] source_format
79
+ # @return [::String]
80
+ # Specifies whether the Config Sync Repo is
81
+ # in “hierarchical” or “unstructured” mode.
82
+ class ConfigSync
83
+ include ::Google::Protobuf::MessageExts
84
+ extend ::Google::Protobuf::MessageExts::ClassMethods
85
+ end
86
+
87
+ # Git repo configuration for a single cluster.
88
+ # @!attribute [rw] sync_repo
89
+ # @return [::String]
90
+ # The URL of the Git repository to use as the source of truth.
91
+ # @!attribute [rw] sync_branch
92
+ # @return [::String]
93
+ # The branch of the repository to sync from. Default: master.
94
+ # @!attribute [rw] policy_dir
95
+ # @return [::String]
96
+ # The path within the Git repository that represents the top level of the
97
+ # repo to sync. Default: the root directory of the repository.
98
+ # @!attribute [rw] sync_wait_secs
99
+ # @return [::Integer]
100
+ # Period in seconds between consecutive syncs. Default: 15.
101
+ # @!attribute [rw] sync_rev
102
+ # @return [::String]
103
+ # Git revision (tag or hash) to check out. Default HEAD.
104
+ # @!attribute [rw] secret_type
105
+ # @return [::String]
106
+ # Type of secret configured for access to the Git repo.
107
+ # @!attribute [rw] https_proxy
108
+ # @return [::String]
109
+ # URL for the HTTPS proxy to be used when communicating with the Git repo.
110
+ # @!attribute [rw] gcp_service_account_email
111
+ # @return [::String]
112
+ # The GCP Service Account Email used for auth when secret_type is
113
+ # gcpServiceAccount.
114
+ class GitConfig
115
+ include ::Google::Protobuf::MessageExts
116
+ extend ::Google::Protobuf::MessageExts::ClassMethods
117
+ end
118
+
119
+ # Configuration for Policy Controller
120
+ # @!attribute [rw] enabled
121
+ # @return [::Boolean]
122
+ # Enables the installation of Policy Controller.
123
+ # If false, the rest of PolicyController fields take no
124
+ # effect.
125
+ # @!attribute [rw] template_library_installed
126
+ # @return [::Boolean]
127
+ # Installs the default template library along with Policy Controller.
128
+ # @!attribute [rw] audit_interval_seconds
129
+ # @return [::Integer]
130
+ # Sets the interval for Policy Controller Audit Scans (in seconds).
131
+ # When set to 0, this disables audit functionality altogether.
132
+ # @!attribute [rw] exemptable_namespaces
133
+ # @return [::Array<::String>]
134
+ # The set of namespaces that are excluded from Policy Controller checks.
135
+ # Namespaces do not need to currently exist on the cluster.
136
+ # @!attribute [rw] referential_rules_enabled
137
+ # @return [::Boolean]
138
+ # Enables the ability to use Constraint Templates that reference to objects
139
+ # other than the object currently being evaluated.
140
+ # @!attribute [rw] log_denies_enabled
141
+ # @return [::Boolean]
142
+ # Logs all denies and dry run failures.
143
+ class PolicyController
144
+ include ::Google::Protobuf::MessageExts
145
+ extend ::Google::Protobuf::MessageExts::ClassMethods
146
+ end
147
+
148
+ # Configuration for Hierarchy Controller
149
+ # @!attribute [rw] enabled
150
+ # @return [::Boolean]
151
+ # Whether Hierarchy Controller is enabled in this cluster.
152
+ # @!attribute [rw] enable_pod_tree_labels
153
+ # @return [::Boolean]
154
+ # Whether pod tree labels are enabled in this cluster.
155
+ # @!attribute [rw] enable_hierarchical_resource_quota
156
+ # @return [::Boolean]
157
+ # Whether hierarchical resource quota is enabled in this cluster.
158
+ class HierarchyControllerConfig
159
+ include ::Google::Protobuf::MessageExts
160
+ extend ::Google::Protobuf::MessageExts::ClassMethods
161
+ end
162
+
163
+ # Deployment state for Hierarchy Controller
164
+ # @!attribute [rw] hnc
165
+ # @return [::Google::Cloud::GkeHub::ConfigManagement::V1::DeploymentState]
166
+ # The deployment state for open source HNC (e.g. v0.7.0-hc.0)
167
+ # @!attribute [rw] extension
168
+ # @return [::Google::Cloud::GkeHub::ConfigManagement::V1::DeploymentState]
169
+ # The deployment state for Hierarchy Controller extension (e.g. v0.7.0-hc.1)
170
+ class HierarchyControllerDeploymentState
171
+ include ::Google::Protobuf::MessageExts
172
+ extend ::Google::Protobuf::MessageExts::ClassMethods
173
+ end
174
+
175
+ # Version for Hierarchy Controller
176
+ # @!attribute [rw] hnc
177
+ # @return [::String]
178
+ # Version for open source HNC
179
+ # @!attribute [rw] extension
180
+ # @return [::String]
181
+ # Version for Hierarchy Controller extension
182
+ class HierarchyControllerVersion
183
+ include ::Google::Protobuf::MessageExts
184
+ extend ::Google::Protobuf::MessageExts::ClassMethods
185
+ end
186
+
187
+ # State for Hierarchy Controller
188
+ # @!attribute [rw] version
189
+ # @return [::Google::Cloud::GkeHub::ConfigManagement::V1::HierarchyControllerVersion]
190
+ # The version for Hierarchy Controller
191
+ # @!attribute [rw] state
192
+ # @return [::Google::Cloud::GkeHub::ConfigManagement::V1::HierarchyControllerDeploymentState]
193
+ # The deployment state for Hierarchy Controller
194
+ class HierarchyControllerState
195
+ include ::Google::Protobuf::MessageExts
196
+ extend ::Google::Protobuf::MessageExts::ClassMethods
197
+ end
198
+
199
+ # State information for an ACM's Operator
200
+ # @!attribute [rw] version
201
+ # @return [::String]
202
+ # The semenatic version number of the operator
203
+ # @!attribute [rw] deployment_state
204
+ # @return [::Google::Cloud::GkeHub::ConfigManagement::V1::DeploymentState]
205
+ # The state of the Operator's deployment
206
+ # @!attribute [rw] errors
207
+ # @return [::Array<::Google::Cloud::GkeHub::ConfigManagement::V1::InstallError>]
208
+ # Install errors.
209
+ class OperatorState
210
+ include ::Google::Protobuf::MessageExts
211
+ extend ::Google::Protobuf::MessageExts::ClassMethods
212
+ end
213
+
214
+ # Errors pertaining to the installation of ACM
215
+ # @!attribute [rw] error_message
216
+ # @return [::String]
217
+ # A string representing the user facing error message
218
+ class InstallError
219
+ include ::Google::Protobuf::MessageExts
220
+ extend ::Google::Protobuf::MessageExts::ClassMethods
221
+ end
222
+
223
+ # State information for ConfigSync
224
+ # @!attribute [rw] version
225
+ # @return [::Google::Cloud::GkeHub::ConfigManagement::V1::ConfigSyncVersion]
226
+ # The version of ConfigSync deployed
227
+ # @!attribute [rw] deployment_state
228
+ # @return [::Google::Cloud::GkeHub::ConfigManagement::V1::ConfigSyncDeploymentState]
229
+ # Information about the deployment of ConfigSync, including the version
230
+ # of the various Pods deployed
231
+ # @!attribute [rw] sync_state
232
+ # @return [::Google::Cloud::GkeHub::ConfigManagement::V1::SyncState]
233
+ # The state of ConfigSync's process to sync configs to a cluster
234
+ class ConfigSyncState
235
+ include ::Google::Protobuf::MessageExts
236
+ extend ::Google::Protobuf::MessageExts::ClassMethods
237
+ end
238
+
239
+ # Specific versioning information pertaining to ConfigSync's Pods
240
+ # @!attribute [rw] importer
241
+ # @return [::String]
242
+ # Version of the deployed importer pod
243
+ # @!attribute [rw] syncer
244
+ # @return [::String]
245
+ # Version of the deployed syncer pod
246
+ # @!attribute [rw] git_sync
247
+ # @return [::String]
248
+ # Version of the deployed git-sync pod
249
+ # @!attribute [rw] monitor
250
+ # @return [::String]
251
+ # Version of the deployed monitor pod
252
+ # @!attribute [rw] reconciler_manager
253
+ # @return [::String]
254
+ # Version of the deployed reconciler-manager pod
255
+ # @!attribute [rw] root_reconciler
256
+ # @return [::String]
257
+ # Version of the deployed reconciler container in root-reconciler pod
258
+ class ConfigSyncVersion
259
+ include ::Google::Protobuf::MessageExts
260
+ extend ::Google::Protobuf::MessageExts::ClassMethods
261
+ end
262
+
263
+ # The state of ConfigSync's deployment on a cluster
264
+ # @!attribute [rw] importer
265
+ # @return [::Google::Cloud::GkeHub::ConfigManagement::V1::DeploymentState]
266
+ # Deployment state of the importer pod
267
+ # @!attribute [rw] syncer
268
+ # @return [::Google::Cloud::GkeHub::ConfigManagement::V1::DeploymentState]
269
+ # Deployment state of the syncer pod
270
+ # @!attribute [rw] git_sync
271
+ # @return [::Google::Cloud::GkeHub::ConfigManagement::V1::DeploymentState]
272
+ # Deployment state of the git-sync pod
273
+ # @!attribute [rw] monitor
274
+ # @return [::Google::Cloud::GkeHub::ConfigManagement::V1::DeploymentState]
275
+ # Deployment state of the monitor pod
276
+ # @!attribute [rw] reconciler_manager
277
+ # @return [::Google::Cloud::GkeHub::ConfigManagement::V1::DeploymentState]
278
+ # Deployment state of reconciler-manager pod
279
+ # @!attribute [rw] root_reconciler
280
+ # @return [::Google::Cloud::GkeHub::ConfigManagement::V1::DeploymentState]
281
+ # Deployment state of root-reconciler
282
+ class ConfigSyncDeploymentState
283
+ include ::Google::Protobuf::MessageExts
284
+ extend ::Google::Protobuf::MessageExts::ClassMethods
285
+ end
286
+
287
+ # State indicating an ACM's progress syncing configurations to a cluster
288
+ # @!attribute [rw] source_token
289
+ # @return [::String]
290
+ # Token indicating the state of the repo.
291
+ # @!attribute [rw] import_token
292
+ # @return [::String]
293
+ # Token indicating the state of the importer.
294
+ # @!attribute [rw] sync_token
295
+ # @return [::String]
296
+ # Token indicating the state of the syncer.
297
+ # @!attribute [rw] last_sync
298
+ # @return [::String]
299
+ # Deprecated: use last_sync_time instead.
300
+ # Timestamp of when ACM last successfully synced the repo
301
+ # The time format is specified in https://golang.org/pkg/time/#Time.String
302
+ # @!attribute [rw] last_sync_time
303
+ # @return [::Google::Protobuf::Timestamp]
304
+ # Timestamp type of when ACM last successfully synced the repo
305
+ # @!attribute [rw] code
306
+ # @return [::Google::Cloud::GkeHub::ConfigManagement::V1::SyncState::SyncCode]
307
+ # Sync status code
308
+ # @!attribute [rw] errors
309
+ # @return [::Array<::Google::Cloud::GkeHub::ConfigManagement::V1::SyncError>]
310
+ # A list of errors resulting from problematic configs.
311
+ # This list will be truncated after 100 errors, although it is
312
+ # unlikely for that many errors to simultaneously exist.
313
+ class SyncState
314
+ include ::Google::Protobuf::MessageExts
315
+ extend ::Google::Protobuf::MessageExts::ClassMethods
316
+
317
+ # An enum representing an ACM's status syncing configs to a cluster
318
+ module SyncCode
319
+ # ACM cannot determine a sync code
320
+ SYNC_CODE_UNSPECIFIED = 0
321
+
322
+ # ACM successfully synced the git Repo with the cluster
323
+ SYNCED = 1
324
+
325
+ # ACM is in the progress of syncing a new change
326
+ PENDING = 2
327
+
328
+ # Indicates an error configuring ACM, and user action is required
329
+ ERROR = 3
330
+
331
+ # ACM has been installed (operator manifest deployed),
332
+ # but not configured.
333
+ NOT_CONFIGURED = 4
334
+
335
+ # ACM has not been installed (no operator pod found)
336
+ NOT_INSTALLED = 5
337
+
338
+ # Error authorizing with the cluster
339
+ UNAUTHORIZED = 6
340
+
341
+ # Cluster could not be reached
342
+ UNREACHABLE = 7
343
+ end
344
+ end
345
+
346
+ # An ACM created error representing a problem syncing configurations
347
+ # @!attribute [rw] code
348
+ # @return [::String]
349
+ # An ACM defined error code
350
+ # @!attribute [rw] error_message
351
+ # @return [::String]
352
+ # A description of the error
353
+ # @!attribute [rw] error_resources
354
+ # @return [::Array<::Google::Cloud::GkeHub::ConfigManagement::V1::ErrorResource>]
355
+ # A list of config(s) associated with the error, if any
356
+ class SyncError
357
+ include ::Google::Protobuf::MessageExts
358
+ extend ::Google::Protobuf::MessageExts::ClassMethods
359
+ end
360
+
361
+ # Model for a config file in the git repo with an associated Sync error
362
+ # @!attribute [rw] source_path
363
+ # @return [::String]
364
+ # Path in the git repo of the erroneous config
365
+ # @!attribute [rw] resource_name
366
+ # @return [::String]
367
+ # Metadata name of the resource that is causing an error
368
+ # @!attribute [rw] resource_namespace
369
+ # @return [::String]
370
+ # Namespace of the resource that is causing an error
371
+ # @!attribute [rw] resource_gvk
372
+ # @return [::Google::Cloud::GkeHub::ConfigManagement::V1::GroupVersionKind]
373
+ # Group/version/kind of the resource that is causing an error
374
+ class ErrorResource
375
+ include ::Google::Protobuf::MessageExts
376
+ extend ::Google::Protobuf::MessageExts::ClassMethods
377
+ end
378
+
379
+ # A Kubernetes object's GVK
380
+ # @!attribute [rw] group
381
+ # @return [::String]
382
+ # Kubernetes Group
383
+ # @!attribute [rw] version
384
+ # @return [::String]
385
+ # Kubernetes Version
386
+ # @!attribute [rw] kind
387
+ # @return [::String]
388
+ # Kubernetes Kind
389
+ class GroupVersionKind
390
+ include ::Google::Protobuf::MessageExts
391
+ extend ::Google::Protobuf::MessageExts::ClassMethods
392
+ end
393
+
394
+ # State for PolicyControllerState.
395
+ # @!attribute [rw] version
396
+ # @return [::Google::Cloud::GkeHub::ConfigManagement::V1::PolicyControllerVersion]
397
+ # The version of Gatekeeper Policy Controller deployed.
398
+ # @!attribute [rw] deployment_state
399
+ # @return [::Google::Cloud::GkeHub::ConfigManagement::V1::GatekeeperDeploymentState]
400
+ # The state about the policy controller installation.
401
+ class PolicyControllerState
402
+ include ::Google::Protobuf::MessageExts
403
+ extend ::Google::Protobuf::MessageExts::ClassMethods
404
+ end
405
+
406
+ # The build version of Gatekeeper Policy Controller is using.
407
+ # @!attribute [rw] version
408
+ # @return [::String]
409
+ # The gatekeeper image tag that is composed of ACM version, git tag, build
410
+ # number.
411
+ class PolicyControllerVersion
412
+ include ::Google::Protobuf::MessageExts
413
+ extend ::Google::Protobuf::MessageExts::ClassMethods
414
+ end
415
+
416
+ # State of Policy Controller installation.
417
+ # @!attribute [rw] gatekeeper_controller_manager_state
418
+ # @return [::Google::Cloud::GkeHub::ConfigManagement::V1::DeploymentState]
419
+ # Status of gatekeeper-controller-manager pod.
420
+ # @!attribute [rw] gatekeeper_audit
421
+ # @return [::Google::Cloud::GkeHub::ConfigManagement::V1::DeploymentState]
422
+ # Status of gatekeeper-audit deployment.
423
+ class GatekeeperDeploymentState
424
+ include ::Google::Protobuf::MessageExts
425
+ extend ::Google::Protobuf::MessageExts::ClassMethods
426
+ end
427
+
428
+ # Enum representing the state of an ACM's deployment on a cluster
429
+ module DeploymentState
430
+ # Deployment's state cannot be determined
431
+ DEPLOYMENT_STATE_UNSPECIFIED = 0
432
+
433
+ # Deployment is not installed
434
+ NOT_INSTALLED = 1
435
+
436
+ # Deployment is installed
437
+ INSTALLED = 2
438
+
439
+ # Deployment was attempted to be installed, but has errors
440
+ ERROR = 3
441
+ end
442
+ end
443
+ end
444
+ end
445
+ end
446
+ end
@@ -0,0 +1,230 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2021 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module GkeHub
23
+ module V1
24
+ # Feature represents the settings and status of any Hub Feature.
25
+ # @!attribute [r] name
26
+ # @return [::String]
27
+ # Output only. The full, unique name of this Feature resource in the format
28
+ # `projects/*/locations/*/features/*`.
29
+ # @!attribute [rw] labels
30
+ # @return [::Google::Protobuf::Map{::String => ::String}]
31
+ # GCP labels for this Feature.
32
+ # @!attribute [r] resource_state
33
+ # @return [::Google::Cloud::GkeHub::V1::FeatureResourceState]
34
+ # Output only. State of the Feature resource itself.
35
+ # @!attribute [rw] spec
36
+ # @return [::Google::Cloud::GkeHub::V1::CommonFeatureSpec]
37
+ # Optional. Hub-wide Feature configuration. If this Feature does not support any
38
+ # Hub-wide configuration, this field may be unused.
39
+ # @!attribute [rw] membership_specs
40
+ # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::GkeHub::V1::MembershipFeatureSpec}]
41
+ # Optional. Membership-specific configuration for this Feature. If this Feature does
42
+ # not support any per-Membership configuration, this field may be unused.
43
+ #
44
+ # The keys indicate which Membership the configuration is for, in the form:
45
+ #
46
+ # projects/{p}/locations/{l}/memberships/{m}
47
+ #
48
+ # Where \\{p} is the project, \\{l} is a valid location and \\{m} is a valid
49
+ # Membership in this project at that location. \\{p} WILL match the Feature's
50
+ # project.
51
+ #
52
+ # \\{p} will always be returned as the project number, but the project ID is
53
+ # also accepted during input. If the same Membership is specified in the map
54
+ # twice (using the project ID form, and the project number form), exactly
55
+ # ONE of the entries will be saved, with no guarantees as to which. For this
56
+ # reason, it is recommended the same format be used for all entries when
57
+ # mutating a Feature.
58
+ # @!attribute [r] state
59
+ # @return [::Google::Cloud::GkeHub::V1::CommonFeatureState]
60
+ # Output only. The Hub-wide Feature state.
61
+ # @!attribute [r] membership_states
62
+ # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::GkeHub::V1::MembershipFeatureState}]
63
+ # Output only. Membership-specific Feature status. If this Feature does
64
+ # report any per-Membership status, this field may be unused.
65
+ #
66
+ # The keys indicate which Membership the state is for, in the form:
67
+ #
68
+ # projects/{p}/locations/{l}/memberships/{m}
69
+ #
70
+ # Where \\{p} is the project number, \\{l} is a valid location and \\{m} is a valid
71
+ # Membership in this project at that location. \\{p} MUST match the Feature's
72
+ # project number.
73
+ # @!attribute [r] create_time
74
+ # @return [::Google::Protobuf::Timestamp]
75
+ # Output only. When the Feature resource was created.
76
+ # @!attribute [r] update_time
77
+ # @return [::Google::Protobuf::Timestamp]
78
+ # Output only. When the Feature resource was last updated.
79
+ # @!attribute [r] delete_time
80
+ # @return [::Google::Protobuf::Timestamp]
81
+ # Output only. When the Feature resource was deleted.
82
+ class Feature
83
+ include ::Google::Protobuf::MessageExts
84
+ extend ::Google::Protobuf::MessageExts::ClassMethods
85
+
86
+ # @!attribute [rw] key
87
+ # @return [::String]
88
+ # @!attribute [rw] value
89
+ # @return [::String]
90
+ class LabelsEntry
91
+ include ::Google::Protobuf::MessageExts
92
+ extend ::Google::Protobuf::MessageExts::ClassMethods
93
+ end
94
+
95
+ # @!attribute [rw] key
96
+ # @return [::String]
97
+ # @!attribute [rw] value
98
+ # @return [::Google::Cloud::GkeHub::V1::MembershipFeatureSpec]
99
+ class MembershipSpecsEntry
100
+ include ::Google::Protobuf::MessageExts
101
+ extend ::Google::Protobuf::MessageExts::ClassMethods
102
+ end
103
+
104
+ # @!attribute [rw] key
105
+ # @return [::String]
106
+ # @!attribute [rw] value
107
+ # @return [::Google::Cloud::GkeHub::V1::MembershipFeatureState]
108
+ class MembershipStatesEntry
109
+ include ::Google::Protobuf::MessageExts
110
+ extend ::Google::Protobuf::MessageExts::ClassMethods
111
+ end
112
+ end
113
+
114
+ # FeatureResourceState describes the state of a Feature *resource* in the
115
+ # GkeHub API. See `FeatureState` for the "running state" of the Feature in the
116
+ # Hub and across Memberships.
117
+ # @!attribute [rw] state
118
+ # @return [::Google::Cloud::GkeHub::V1::FeatureResourceState::State]
119
+ # The current state of the Feature resource in the Hub API.
120
+ class FeatureResourceState
121
+ include ::Google::Protobuf::MessageExts
122
+ extend ::Google::Protobuf::MessageExts::ClassMethods
123
+
124
+ # State describes the lifecycle status of a Feature.
125
+ module State
126
+ # State is unknown or not set.
127
+ STATE_UNSPECIFIED = 0
128
+
129
+ # The Feature is being enabled, and the Feature resource is being created.
130
+ # Once complete, the corresponding Feature will be enabled in this Hub.
131
+ ENABLING = 1
132
+
133
+ # The Feature is enabled in this Hub, and the Feature resource is fully
134
+ # available.
135
+ ACTIVE = 2
136
+
137
+ # The Feature is being disabled in this Hub, and the Feature resource
138
+ # is being deleted.
139
+ DISABLING = 3
140
+
141
+ # The Feature resource is being updated.
142
+ UPDATING = 4
143
+
144
+ # The Feature resource is being updated by the Hub Service.
145
+ SERVICE_UPDATING = 5
146
+ end
147
+ end
148
+
149
+ # FeatureState describes the high-level state of a Feature. It may be used to
150
+ # describe a Feature's state at the environ-level, or per-membershop, depending
151
+ # on the context.
152
+ # @!attribute [rw] code
153
+ # @return [::Google::Cloud::GkeHub::V1::FeatureState::Code]
154
+ # The high-level, machine-readable status of this Feature.
155
+ # @!attribute [rw] description
156
+ # @return [::String]
157
+ # A human-readable description of the current status.
158
+ # @!attribute [rw] update_time
159
+ # @return [::Google::Protobuf::Timestamp]
160
+ # The time this status and any related Feature-specific details were updated.
161
+ class FeatureState
162
+ include ::Google::Protobuf::MessageExts
163
+ extend ::Google::Protobuf::MessageExts::ClassMethods
164
+
165
+ # Code represents a machine-readable, high-level status of the Feature.
166
+ module Code
167
+ # Unknown or not set.
168
+ CODE_UNSPECIFIED = 0
169
+
170
+ # The Feature is operating normally.
171
+ OK = 1
172
+
173
+ # The Feature has encountered an issue, and is operating in a degraded
174
+ # state. The Feature may need intervention to return to normal operation.
175
+ # See the description and any associated Feature-specific details for more
176
+ # information.
177
+ WARNING = 2
178
+
179
+ # The Feature is not operating or is in a severely degraded state.
180
+ # The Feature may need intervention to return to normal operation.
181
+ # See the description and any associated Feature-specific details for more
182
+ # information.
183
+ ERROR = 3
184
+ end
185
+ end
186
+
187
+ # CommonFeatureSpec contains Hub-wide configuration information
188
+ # @!attribute [rw] multiclusteringress
189
+ # @return [::Google::Cloud::GkeHub::MultiClusterIngress::V1::FeatureSpec]
190
+ # Multicluster Ingress-specific spec.
191
+ class CommonFeatureSpec
192
+ include ::Google::Protobuf::MessageExts
193
+ extend ::Google::Protobuf::MessageExts::ClassMethods
194
+ end
195
+
196
+ # CommonFeatureState contains Hub-wide Feature status information.
197
+ # @!attribute [r] state
198
+ # @return [::Google::Cloud::GkeHub::V1::FeatureState]
199
+ # Output only. The "running state" of the Feature in this Hub.
200
+ class CommonFeatureState
201
+ include ::Google::Protobuf::MessageExts
202
+ extend ::Google::Protobuf::MessageExts::ClassMethods
203
+ end
204
+
205
+ # MembershipFeatureSpec contains configuration information for a single
206
+ # Membership.
207
+ # @!attribute [rw] configmanagement
208
+ # @return [::Google::Cloud::GkeHub::ConfigManagement::V1::MembershipSpec]
209
+ # Config Management-specific spec.
210
+ class MembershipFeatureSpec
211
+ include ::Google::Protobuf::MessageExts
212
+ extend ::Google::Protobuf::MessageExts::ClassMethods
213
+ end
214
+
215
+ # MembershipFeatureState contains Feature status information for a single
216
+ # Membership.
217
+ # @!attribute [rw] configmanagement
218
+ # @return [::Google::Cloud::GkeHub::ConfigManagement::V1::MembershipState]
219
+ # Config Management-specific state.
220
+ # @!attribute [rw] state
221
+ # @return [::Google::Cloud::GkeHub::V1::FeatureState]
222
+ # The high-level state of this Feature for a single membership.
223
+ class MembershipFeatureState
224
+ include ::Google::Protobuf::MessageExts
225
+ extend ::Google::Protobuf::MessageExts::ClassMethods
226
+ end
227
+ end
228
+ end
229
+ end
230
+ end