google-cloud-gke_multi_cloud-v1 0.2.0 → 0.4.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 (34) hide show
  1. checksums.yaml +4 -4
  2. data/AUTHENTICATION.md +7 -7
  3. data/README.md +4 -4
  4. data/lib/google/cloud/gke_multi_cloud/v1/attached_clusters/client.rb +1289 -0
  5. data/lib/google/cloud/gke_multi_cloud/v1/attached_clusters/credentials.rb +47 -0
  6. data/lib/google/cloud/gke_multi_cloud/v1/attached_clusters/operations.rb +770 -0
  7. data/lib/google/cloud/gke_multi_cloud/v1/attached_clusters/paths.rb +86 -0
  8. data/lib/google/cloud/gke_multi_cloud/v1/attached_clusters.rb +52 -0
  9. data/lib/google/cloud/gke_multi_cloud/v1/aws_clusters/client.rb +96 -54
  10. data/lib/google/cloud/gke_multi_cloud/v1/aws_clusters.rb +1 -1
  11. data/lib/google/cloud/gke_multi_cloud/v1/azure_clusters/client.rb +133 -79
  12. data/lib/google/cloud/gke_multi_cloud/v1/azure_clusters.rb +1 -1
  13. data/lib/google/cloud/gke_multi_cloud/v1/version.rb +1 -1
  14. data/lib/google/cloud/gke_multi_cloud/v1.rb +4 -3
  15. data/lib/google/cloud/gkemulticloud/v1/attached_resources_pb.rb +82 -0
  16. data/lib/google/cloud/gkemulticloud/v1/attached_service_pb.rb +84 -0
  17. data/lib/google/cloud/gkemulticloud/v1/attached_service_services_pb.rb +85 -0
  18. data/lib/google/cloud/gkemulticloud/v1/aws_resources_pb.rb +17 -0
  19. data/lib/google/cloud/gkemulticloud/v1/aws_service_services_pb.rb +19 -11
  20. data/lib/google/cloud/gkemulticloud/v1/azure_resources_pb.rb +19 -0
  21. data/lib/google/cloud/gkemulticloud/v1/azure_service_services_pb.rb +28 -17
  22. data/lib/google/cloud/gkemulticloud/v1/common_resources_pb.rb +10 -0
  23. data/proto_docs/google/api/client.rb +318 -0
  24. data/proto_docs/google/api/launch_stage.rb +71 -0
  25. data/proto_docs/google/cloud/gkemulticloud/v1/attached_resources.rb +239 -0
  26. data/proto_docs/google/cloud/gkemulticloud/v1/attached_service.rb +294 -0
  27. data/proto_docs/google/cloud/gkemulticloud/v1/aws_resources.rb +87 -30
  28. data/proto_docs/google/cloud/gkemulticloud/v1/aws_service.rb +82 -47
  29. data/proto_docs/google/cloud/gkemulticloud/v1/azure_resources.rb +100 -41
  30. data/proto_docs/google/cloud/gkemulticloud/v1/azure_service.rb +112 -68
  31. data/proto_docs/google/cloud/gkemulticloud/v1/common_resources.rb +36 -3
  32. data/proto_docs/google/protobuf/empty.rb +0 -2
  33. data/proto_docs/google/rpc/status.rb +4 -2
  34. metadata +17 -5
@@ -0,0 +1,318 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 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 Api
22
+ # Required information for every language.
23
+ # @!attribute [rw] reference_docs_uri
24
+ # @return [::String]
25
+ # Link to automatically generated reference documentation. Example:
26
+ # https://cloud.google.com/nodejs/docs/reference/asset/latest
27
+ # @!attribute [rw] destinations
28
+ # @return [::Array<::Google::Api::ClientLibraryDestination>]
29
+ # The destination where API teams want this client library to be published.
30
+ class CommonLanguageSettings
31
+ include ::Google::Protobuf::MessageExts
32
+ extend ::Google::Protobuf::MessageExts::ClassMethods
33
+ end
34
+
35
+ # Details about how and where to publish client libraries.
36
+ # @!attribute [rw] version
37
+ # @return [::String]
38
+ # Version of the API to apply these settings to.
39
+ # @!attribute [rw] launch_stage
40
+ # @return [::Google::Api::LaunchStage]
41
+ # Launch stage of this version of the API.
42
+ # @!attribute [rw] rest_numeric_enums
43
+ # @return [::Boolean]
44
+ # When using transport=rest, the client request will encode enums as
45
+ # numbers rather than strings.
46
+ # @!attribute [rw] java_settings
47
+ # @return [::Google::Api::JavaSettings]
48
+ # Settings for legacy Java features, supported in the Service YAML.
49
+ # @!attribute [rw] cpp_settings
50
+ # @return [::Google::Api::CppSettings]
51
+ # Settings for C++ client libraries.
52
+ # @!attribute [rw] php_settings
53
+ # @return [::Google::Api::PhpSettings]
54
+ # Settings for PHP client libraries.
55
+ # @!attribute [rw] python_settings
56
+ # @return [::Google::Api::PythonSettings]
57
+ # Settings for Python client libraries.
58
+ # @!attribute [rw] node_settings
59
+ # @return [::Google::Api::NodeSettings]
60
+ # Settings for Node client libraries.
61
+ # @!attribute [rw] dotnet_settings
62
+ # @return [::Google::Api::DotnetSettings]
63
+ # Settings for .NET client libraries.
64
+ # @!attribute [rw] ruby_settings
65
+ # @return [::Google::Api::RubySettings]
66
+ # Settings for Ruby client libraries.
67
+ # @!attribute [rw] go_settings
68
+ # @return [::Google::Api::GoSettings]
69
+ # Settings for Go client libraries.
70
+ class ClientLibrarySettings
71
+ include ::Google::Protobuf::MessageExts
72
+ extend ::Google::Protobuf::MessageExts::ClassMethods
73
+ end
74
+
75
+ # This message configures the settings for publishing [Google Cloud Client
76
+ # libraries](https://cloud.google.com/apis/docs/cloud-client-libraries)
77
+ # generated from the service config.
78
+ # @!attribute [rw] method_settings
79
+ # @return [::Array<::Google::Api::MethodSettings>]
80
+ # A list of API method settings, e.g. the behavior for methods that use the
81
+ # long-running operation pattern.
82
+ # @!attribute [rw] new_issue_uri
83
+ # @return [::String]
84
+ # Link to a place that API users can report issues. Example:
85
+ # https://issuetracker.google.com/issues/new?component=190865&template=1161103
86
+ # @!attribute [rw] documentation_uri
87
+ # @return [::String]
88
+ # Link to product home page. Example:
89
+ # https://cloud.google.com/asset-inventory/docs/overview
90
+ # @!attribute [rw] api_short_name
91
+ # @return [::String]
92
+ # Used as a tracking tag when collecting data about the APIs developer
93
+ # relations artifacts like docs, packages delivered to package managers,
94
+ # etc. Example: "speech".
95
+ # @!attribute [rw] github_label
96
+ # @return [::String]
97
+ # GitHub label to apply to issues and pull requests opened for this API.
98
+ # @!attribute [rw] codeowner_github_teams
99
+ # @return [::Array<::String>]
100
+ # GitHub teams to be added to CODEOWNERS in the directory in GitHub
101
+ # containing source code for the client libraries for this API.
102
+ # @!attribute [rw] doc_tag_prefix
103
+ # @return [::String]
104
+ # A prefix used in sample code when demarking regions to be included in
105
+ # documentation.
106
+ # @!attribute [rw] organization
107
+ # @return [::Google::Api::ClientLibraryOrganization]
108
+ # For whom the client library is being published.
109
+ # @!attribute [rw] library_settings
110
+ # @return [::Array<::Google::Api::ClientLibrarySettings>]
111
+ # Client library settings. If the same version string appears multiple
112
+ # times in this list, then the last one wins. Settings from earlier
113
+ # settings with the same version string are discarded.
114
+ class Publishing
115
+ include ::Google::Protobuf::MessageExts
116
+ extend ::Google::Protobuf::MessageExts::ClassMethods
117
+ end
118
+
119
+ # Settings for Java client libraries.
120
+ # @!attribute [rw] library_package
121
+ # @return [::String]
122
+ # The package name to use in Java. Clobbers the java_package option
123
+ # set in the protobuf. This should be used **only** by APIs
124
+ # who have already set the language_settings.java.package_name" field
125
+ # in gapic.yaml. API teams should use the protobuf java_package option
126
+ # where possible.
127
+ #
128
+ # Example of a YAML configuration::
129
+ #
130
+ # publishing:
131
+ # java_settings:
132
+ # library_package: com.google.cloud.pubsub.v1
133
+ # @!attribute [rw] service_class_names
134
+ # @return [::Google::Protobuf::Map{::String => ::String}]
135
+ # Configure the Java class name to use instead of the service's for its
136
+ # corresponding generated GAPIC client. Keys are fully-qualified
137
+ # service names as they appear in the protobuf (including the full
138
+ # the language_settings.java.interface_names" field in gapic.yaml. API
139
+ # teams should otherwise use the service name as it appears in the
140
+ # protobuf.
141
+ #
142
+ # Example of a YAML configuration::
143
+ #
144
+ # publishing:
145
+ # java_settings:
146
+ # service_class_names:
147
+ # - google.pubsub.v1.Publisher: TopicAdmin
148
+ # - google.pubsub.v1.Subscriber: SubscriptionAdmin
149
+ # @!attribute [rw] common
150
+ # @return [::Google::Api::CommonLanguageSettings]
151
+ # Some settings.
152
+ class JavaSettings
153
+ include ::Google::Protobuf::MessageExts
154
+ extend ::Google::Protobuf::MessageExts::ClassMethods
155
+
156
+ # @!attribute [rw] key
157
+ # @return [::String]
158
+ # @!attribute [rw] value
159
+ # @return [::String]
160
+ class ServiceClassNamesEntry
161
+ include ::Google::Protobuf::MessageExts
162
+ extend ::Google::Protobuf::MessageExts::ClassMethods
163
+ end
164
+ end
165
+
166
+ # Settings for C++ client libraries.
167
+ # @!attribute [rw] common
168
+ # @return [::Google::Api::CommonLanguageSettings]
169
+ # Some settings.
170
+ class CppSettings
171
+ include ::Google::Protobuf::MessageExts
172
+ extend ::Google::Protobuf::MessageExts::ClassMethods
173
+ end
174
+
175
+ # Settings for Php client libraries.
176
+ # @!attribute [rw] common
177
+ # @return [::Google::Api::CommonLanguageSettings]
178
+ # Some settings.
179
+ class PhpSettings
180
+ include ::Google::Protobuf::MessageExts
181
+ extend ::Google::Protobuf::MessageExts::ClassMethods
182
+ end
183
+
184
+ # Settings for Python client libraries.
185
+ # @!attribute [rw] common
186
+ # @return [::Google::Api::CommonLanguageSettings]
187
+ # Some settings.
188
+ class PythonSettings
189
+ include ::Google::Protobuf::MessageExts
190
+ extend ::Google::Protobuf::MessageExts::ClassMethods
191
+ end
192
+
193
+ # Settings for Node client libraries.
194
+ # @!attribute [rw] common
195
+ # @return [::Google::Api::CommonLanguageSettings]
196
+ # Some settings.
197
+ class NodeSettings
198
+ include ::Google::Protobuf::MessageExts
199
+ extend ::Google::Protobuf::MessageExts::ClassMethods
200
+ end
201
+
202
+ # Settings for Dotnet client libraries.
203
+ # @!attribute [rw] common
204
+ # @return [::Google::Api::CommonLanguageSettings]
205
+ # Some settings.
206
+ class DotnetSettings
207
+ include ::Google::Protobuf::MessageExts
208
+ extend ::Google::Protobuf::MessageExts::ClassMethods
209
+ end
210
+
211
+ # Settings for Ruby client libraries.
212
+ # @!attribute [rw] common
213
+ # @return [::Google::Api::CommonLanguageSettings]
214
+ # Some settings.
215
+ class RubySettings
216
+ include ::Google::Protobuf::MessageExts
217
+ extend ::Google::Protobuf::MessageExts::ClassMethods
218
+ end
219
+
220
+ # Settings for Go client libraries.
221
+ # @!attribute [rw] common
222
+ # @return [::Google::Api::CommonLanguageSettings]
223
+ # Some settings.
224
+ class GoSettings
225
+ include ::Google::Protobuf::MessageExts
226
+ extend ::Google::Protobuf::MessageExts::ClassMethods
227
+ end
228
+
229
+ # Describes the generator configuration for a method.
230
+ # @!attribute [rw] selector
231
+ # @return [::String]
232
+ # The fully qualified name of the method, for which the options below apply.
233
+ # This is used to find the method to apply the options.
234
+ # @!attribute [rw] long_running
235
+ # @return [::Google::Api::MethodSettings::LongRunning]
236
+ # Describes settings to use for long-running operations when generating
237
+ # API methods for RPCs. Complements RPCs that use the annotations in
238
+ # google/longrunning/operations.proto.
239
+ #
240
+ # Example of a YAML configuration::
241
+ #
242
+ # publishing:
243
+ # method_behavior:
244
+ # - selector: CreateAdDomain
245
+ # long_running:
246
+ # initial_poll_delay:
247
+ # seconds: 60 # 1 minute
248
+ # poll_delay_multiplier: 1.5
249
+ # max_poll_delay:
250
+ # seconds: 360 # 6 minutes
251
+ # total_poll_timeout:
252
+ # seconds: 54000 # 90 minutes
253
+ class MethodSettings
254
+ include ::Google::Protobuf::MessageExts
255
+ extend ::Google::Protobuf::MessageExts::ClassMethods
256
+
257
+ # Describes settings to use when generating API methods that use the
258
+ # long-running operation pattern.
259
+ # All default values below are from those used in the client library
260
+ # generators (e.g.
261
+ # [Java](https://github.com/googleapis/gapic-generator-java/blob/04c2faa191a9b5a10b92392fe8482279c4404803/src/main/java/com/google/api/generator/gapic/composer/common/RetrySettingsComposer.java)).
262
+ # @!attribute [rw] initial_poll_delay
263
+ # @return [::Google::Protobuf::Duration]
264
+ # Initial delay after which the first poll request will be made.
265
+ # Default value: 5 seconds.
266
+ # @!attribute [rw] poll_delay_multiplier
267
+ # @return [::Float]
268
+ # Multiplier to gradually increase delay between subsequent polls until it
269
+ # reaches max_poll_delay.
270
+ # Default value: 1.5.
271
+ # @!attribute [rw] max_poll_delay
272
+ # @return [::Google::Protobuf::Duration]
273
+ # Maximum time between two subsequent poll requests.
274
+ # Default value: 45 seconds.
275
+ # @!attribute [rw] total_poll_timeout
276
+ # @return [::Google::Protobuf::Duration]
277
+ # Total polling timeout.
278
+ # Default value: 5 minutes.
279
+ class LongRunning
280
+ include ::Google::Protobuf::MessageExts
281
+ extend ::Google::Protobuf::MessageExts::ClassMethods
282
+ end
283
+ end
284
+
285
+ # The organization for which the client libraries are being published.
286
+ # Affects the url where generated docs are published, etc.
287
+ module ClientLibraryOrganization
288
+ # Not useful.
289
+ CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED = 0
290
+
291
+ # Google Cloud Platform Org.
292
+ CLOUD = 1
293
+
294
+ # Ads (Advertising) Org.
295
+ ADS = 2
296
+
297
+ # Photos Org.
298
+ PHOTOS = 3
299
+
300
+ # Street View Org.
301
+ STREET_VIEW = 4
302
+ end
303
+
304
+ # To where should client libraries be published?
305
+ module ClientLibraryDestination
306
+ # Client libraries will neither be generated nor published to package
307
+ # managers.
308
+ CLIENT_LIBRARY_DESTINATION_UNSPECIFIED = 0
309
+
310
+ # Generate the client library in a repo under github.com/googleapis,
311
+ # but don't publish it to package managers.
312
+ GITHUB = 10
313
+
314
+ # Publish the library to package managers like nuget.org and npmjs.com.
315
+ PACKAGE_MANAGER = 20
316
+ end
317
+ end
318
+ end
@@ -0,0 +1,71 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 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 Api
22
+ # The launch stage as defined by [Google Cloud Platform
23
+ # Launch Stages](https://cloud.google.com/terms/launch-stages).
24
+ module LaunchStage
25
+ # Do not use this default value.
26
+ LAUNCH_STAGE_UNSPECIFIED = 0
27
+
28
+ # The feature is not yet implemented. Users can not use it.
29
+ UNIMPLEMENTED = 6
30
+
31
+ # Prelaunch features are hidden from users and are only visible internally.
32
+ PRELAUNCH = 7
33
+
34
+ # Early Access features are limited to a closed group of testers. To use
35
+ # these features, you must sign up in advance and sign a Trusted Tester
36
+ # agreement (which includes confidentiality provisions). These features may
37
+ # be unstable, changed in backward-incompatible ways, and are not
38
+ # guaranteed to be released.
39
+ EARLY_ACCESS = 1
40
+
41
+ # Alpha is a limited availability test for releases before they are cleared
42
+ # for widespread use. By Alpha, all significant design issues are resolved
43
+ # and we are in the process of verifying functionality. Alpha customers
44
+ # need to apply for access, agree to applicable terms, and have their
45
+ # projects allowlisted. Alpha releases don't have to be feature complete,
46
+ # no SLAs are provided, and there are no technical support obligations, but
47
+ # they will be far enough along that customers can actually use them in
48
+ # test environments or for limited-use tests -- just like they would in
49
+ # normal production cases.
50
+ ALPHA = 2
51
+
52
+ # Beta is the point at which we are ready to open a release for any
53
+ # customer to use. There are no SLA or technical support obligations in a
54
+ # Beta release. Products will be complete from a feature perspective, but
55
+ # may have some open outstanding issues. Beta releases are suitable for
56
+ # limited production use cases.
57
+ BETA = 3
58
+
59
+ # GA features are open to all developers and are considered stable and
60
+ # fully qualified for production use.
61
+ GA = 4
62
+
63
+ # Deprecated features are scheduled to be shut down and removed. For more
64
+ # information, see the "Deprecation Policy" section of our [Terms of
65
+ # Service](https://cloud.google.com/terms/)
66
+ # and the [Google Cloud Platform Subject to the Deprecation
67
+ # Policy](https://cloud.google.com/terms/deprecation) documentation.
68
+ DEPRECATED = 5
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,239 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 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 GkeMultiCloud
23
+ module V1
24
+ # An Anthos cluster running on customer own infrastructure.
25
+ # @!attribute [rw] name
26
+ # @return [::String]
27
+ # The name of this resource.
28
+ #
29
+ # Cluster names are formatted as
30
+ # `projects/<project-number>/locations/<region>/attachedClusters/<cluster-id>`.
31
+ #
32
+ # See [Resource Names](https://cloud.google.com/apis/design/resource_names)
33
+ # for more details on Google Cloud Platform resource names.
34
+ # @!attribute [rw] description
35
+ # @return [::String]
36
+ # Optional. A human readable description of this cluster.
37
+ # Cannot be longer than 255 UTF-8 encoded bytes.
38
+ # @!attribute [rw] oidc_config
39
+ # @return [::Google::Cloud::GkeMultiCloud::V1::AttachedOidcConfig]
40
+ # Required. OpenID Connect (OIDC) configuration for the cluster.
41
+ # @!attribute [rw] platform_version
42
+ # @return [::String]
43
+ # Required. The platform version for the cluster (e.g. `1.19.0-gke.1000`).
44
+ #
45
+ # You can list all supported versions on a given Google Cloud region by
46
+ # calling
47
+ # {::Google::Cloud::GkeMultiCloud::V1::AttachedClusters::Client#get_attached_server_config GetAttachedServerConfig}.
48
+ # @!attribute [rw] distribution
49
+ # @return [::String]
50
+ # Required. The Kubernetes distribution of the underlying attached cluster.
51
+ #
52
+ # Supported values: ["eks", "aks"].
53
+ # @!attribute [r] cluster_region
54
+ # @return [::String]
55
+ # Output only. The region where this cluster runs.
56
+ #
57
+ # For EKS clusters, this is a AWS region. For AKS clusters,
58
+ # this is an Azure region.
59
+ # @!attribute [rw] fleet
60
+ # @return [::Google::Cloud::GkeMultiCloud::V1::Fleet]
61
+ # Required. Fleet configuration.
62
+ # @!attribute [r] state
63
+ # @return [::Google::Cloud::GkeMultiCloud::V1::AttachedCluster::State]
64
+ # Output only. The current state of the cluster.
65
+ # @!attribute [r] uid
66
+ # @return [::String]
67
+ # Output only. A globally unique identifier for the cluster.
68
+ # @!attribute [r] reconciling
69
+ # @return [::Boolean]
70
+ # Output only. If set, there are currently changes in flight to the cluster.
71
+ # @!attribute [r] create_time
72
+ # @return [::Google::Protobuf::Timestamp]
73
+ # Output only. The time at which this cluster was registered.
74
+ # @!attribute [r] update_time
75
+ # @return [::Google::Protobuf::Timestamp]
76
+ # Output only. The time at which this cluster was last updated.
77
+ # @!attribute [rw] etag
78
+ # @return [::String]
79
+ # Allows clients to perform consistent read-modify-writes
80
+ # through optimistic concurrency control.
81
+ #
82
+ # Can be sent on update and delete requests to ensure the
83
+ # client has an up-to-date value before proceeding.
84
+ # @!attribute [r] kubernetes_version
85
+ # @return [::String]
86
+ # Output only. The Kubernetes version of the cluster.
87
+ # @!attribute [rw] annotations
88
+ # @return [::Google::Protobuf::Map{::String => ::String}]
89
+ # Optional. Annotations on the cluster.
90
+ #
91
+ # This field has the same restrictions as Kubernetes annotations.
92
+ # The total size of all keys and values combined is limited to 256k.
93
+ # Key can have 2 segments: prefix (optional) and name (required),
94
+ # separated by a slash (/).
95
+ # Prefix must be a DNS subdomain.
96
+ # Name must be 63 characters or less, begin and end with alphanumerics,
97
+ # with dashes (-), underscores (_), dots (.), and alphanumerics between.
98
+ # @!attribute [r] workload_identity_config
99
+ # @return [::Google::Cloud::GkeMultiCloud::V1::WorkloadIdentityConfig]
100
+ # Output only. Workload Identity settings.
101
+ # @!attribute [rw] logging_config
102
+ # @return [::Google::Cloud::GkeMultiCloud::V1::LoggingConfig]
103
+ # Optional. Logging configuration for this cluster.
104
+ # @!attribute [r] errors
105
+ # @return [::Array<::Google::Cloud::GkeMultiCloud::V1::AttachedClusterError>]
106
+ # Output only. A set of errors found in the cluster.
107
+ # @!attribute [rw] authorization
108
+ # @return [::Google::Cloud::GkeMultiCloud::V1::AttachedClustersAuthorization]
109
+ # Optional. Configuration related to the cluster RBAC settings.
110
+ # @!attribute [rw] monitoring_config
111
+ # @return [::Google::Cloud::GkeMultiCloud::V1::MonitoringConfig]
112
+ # Optional. Monitoring configuration for this cluster.
113
+ class AttachedCluster
114
+ include ::Google::Protobuf::MessageExts
115
+ extend ::Google::Protobuf::MessageExts::ClassMethods
116
+
117
+ # @!attribute [rw] key
118
+ # @return [::String]
119
+ # @!attribute [rw] value
120
+ # @return [::String]
121
+ class AnnotationsEntry
122
+ include ::Google::Protobuf::MessageExts
123
+ extend ::Google::Protobuf::MessageExts::ClassMethods
124
+ end
125
+
126
+ # The lifecycle state of the cluster.
127
+ module State
128
+ # Not set.
129
+ STATE_UNSPECIFIED = 0
130
+
131
+ # The PROVISIONING state indicates the cluster is being registered.
132
+ PROVISIONING = 1
133
+
134
+ # The RUNNING state indicates the cluster has been register and is fully
135
+ # usable.
136
+ RUNNING = 2
137
+
138
+ # The RECONCILING state indicates that some work is actively being done on
139
+ # the cluster, such as upgrading software components.
140
+ RECONCILING = 3
141
+
142
+ # The STOPPING state indicates the cluster is being de-registered.
143
+ STOPPING = 4
144
+
145
+ # The ERROR state indicates the cluster is in a broken unrecoverable
146
+ # state.
147
+ ERROR = 5
148
+
149
+ # The DEGRADED state indicates the cluster requires user action to
150
+ # restore full functionality.
151
+ DEGRADED = 6
152
+ end
153
+ end
154
+
155
+ # Configuration related to the cluster RBAC settings.
156
+ # @!attribute [rw] admin_users
157
+ # @return [::Array<::Google::Cloud::GkeMultiCloud::V1::AttachedClusterUser>]
158
+ # Required. Users that can perform operations as a cluster admin. A managed
159
+ # ClusterRoleBinding will be created to grant the `cluster-admin` ClusterRole
160
+ # to the users. Up to ten admin users can be provided.
161
+ #
162
+ # For more info on RBAC, see
163
+ # https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles
164
+ class AttachedClustersAuthorization
165
+ include ::Google::Protobuf::MessageExts
166
+ extend ::Google::Protobuf::MessageExts::ClassMethods
167
+ end
168
+
169
+ # Identities of a user-type subject for Attached clusters.
170
+ # @!attribute [rw] username
171
+ # @return [::String]
172
+ # Required. The name of the user, e.g. `my-gcp-id@gmail.com`.
173
+ class AttachedClusterUser
174
+ include ::Google::Protobuf::MessageExts
175
+ extend ::Google::Protobuf::MessageExts::ClassMethods
176
+ end
177
+
178
+ # OIDC discovery information of the target cluster.
179
+ #
180
+ # Kubernetes Service Account (KSA) tokens are JWT tokens signed by the cluster
181
+ # API server. This fields indicates how Google Cloud Platform services
182
+ # validate KSA tokens in order to allow system workloads (such as GKE Connect
183
+ # and telemetry agents) to authenticate back to Google Cloud Platform.
184
+ #
185
+ # Both clusters with public and private issuer URLs are supported.
186
+ # Clusters with public issuers only need to specify the `issuer_url` field
187
+ # while clusters with private issuers need to provide both
188
+ # `issuer_url` and `oidc_jwks`.
189
+ # @!attribute [rw] issuer_url
190
+ # @return [::String]
191
+ # A JSON Web Token (JWT) issuer URI. `issuer` must start with `https://`.
192
+ # @!attribute [rw] jwks
193
+ # @return [::String]
194
+ # Optional. OIDC verification keys in JWKS format (RFC 7517).
195
+ # It contains a list of OIDC verification keys that can be used to verify
196
+ # OIDC JWTs.
197
+ #
198
+ # This field is required for cluster that doesn't have a publicly available
199
+ # discovery endpoint. When provided, it will be directly used
200
+ # to verify the OIDC JWT asserted by the IDP.
201
+ class AttachedOidcConfig
202
+ include ::Google::Protobuf::MessageExts
203
+ extend ::Google::Protobuf::MessageExts::ClassMethods
204
+ end
205
+
206
+ # AttachedServerConfig provides information about supported
207
+ # Kubernetes versions
208
+ # @!attribute [rw] name
209
+ # @return [::String]
210
+ # The resource name of the config.
211
+ # @!attribute [rw] valid_versions
212
+ # @return [::Array<::Google::Cloud::GkeMultiCloud::V1::AttachedPlatformVersionInfo>]
213
+ # List of valid platform versions.
214
+ class AttachedServerConfig
215
+ include ::Google::Protobuf::MessageExts
216
+ extend ::Google::Protobuf::MessageExts::ClassMethods
217
+ end
218
+
219
+ # Information about a supported Attached Clusters platform version.
220
+ # @!attribute [rw] version
221
+ # @return [::String]
222
+ # Platform version name.
223
+ class AttachedPlatformVersionInfo
224
+ include ::Google::Protobuf::MessageExts
225
+ extend ::Google::Protobuf::MessageExts::ClassMethods
226
+ end
227
+
228
+ # AttachedClusterError describes errors found on attached clusters.
229
+ # @!attribute [rw] message
230
+ # @return [::String]
231
+ # Human-friendly description of the error.
232
+ class AttachedClusterError
233
+ include ::Google::Protobuf::MessageExts
234
+ extend ::Google::Protobuf::MessageExts::ClassMethods
235
+ end
236
+ end
237
+ end
238
+ end
239
+ end