google-cloud-gke_hub-v1 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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