google-cloud-gke_multi_cloud-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.
- checksums.yaml +7 -0
- data/.yardopts +12 -0
- data/AUTHENTICATION.md +149 -0
- data/LICENSE.md +201 -0
- data/README.md +144 -0
- data/lib/google/cloud/gke_multi_cloud/v1/aws_clusters/client.rb +1729 -0
- data/lib/google/cloud/gke_multi_cloud/v1/aws_clusters/credentials.rb +47 -0
- data/lib/google/cloud/gke_multi_cloud/v1/aws_clusters/operations.rb +767 -0
- data/lib/google/cloud/gke_multi_cloud/v1/aws_clusters/paths.rb +107 -0
- data/lib/google/cloud/gke_multi_cloud/v1/aws_clusters.rb +51 -0
- data/lib/google/cloud/gke_multi_cloud/v1/azure_clusters/client.rb +2184 -0
- data/lib/google/cloud/gke_multi_cloud/v1/azure_clusters/credentials.rb +47 -0
- data/lib/google/cloud/gke_multi_cloud/v1/azure_clusters/operations.rb +767 -0
- data/lib/google/cloud/gke_multi_cloud/v1/azure_clusters/paths.rb +126 -0
- data/lib/google/cloud/gke_multi_cloud/v1/azure_clusters.rb +51 -0
- data/lib/google/cloud/gke_multi_cloud/v1/version.rb +28 -0
- data/lib/google/cloud/gke_multi_cloud/v1.rb +41 -0
- data/lib/google/cloud/gkemulticloud/v1/aws_resources_pb.rb +187 -0
- data/lib/google/cloud/gkemulticloud/v1/aws_service_pb.rb +110 -0
- data/lib/google/cloud/gkemulticloud/v1/aws_service_services_pb.rb +90 -0
- data/lib/google/cloud/gkemulticloud/v1/azure_resources_pb.rb +183 -0
- data/lib/google/cloud/gkemulticloud/v1/azure_service_pb.rb +138 -0
- data/lib/google/cloud/gkemulticloud/v1/azure_service_services_pb.rb +115 -0
- data/lib/google/cloud/gkemulticloud/v1/common_resources_pb.rb +71 -0
- data/lib/google-cloud-gke_multi_cloud-v1.rb +21 -0
- data/proto_docs/README.md +4 -0
- data/proto_docs/google/api/field_behavior.rb +71 -0
- data/proto_docs/google/api/resource.rb +222 -0
- data/proto_docs/google/cloud/gkemulticloud/v1/aws_resources.rb +633 -0
- data/proto_docs/google/cloud/gkemulticloud/v1/aws_service.rb +383 -0
- data/proto_docs/google/cloud/gkemulticloud/v1/azure_resources.rb +716 -0
- data/proto_docs/google/cloud/gkemulticloud/v1/azure_service.rb +473 -0
- data/proto_docs/google/cloud/gkemulticloud/v1/common_resources.rb +164 -0
- data/proto_docs/google/longrunning/operations.rb +164 -0
- data/proto_docs/google/protobuf/any.rb +141 -0
- data/proto_docs/google/protobuf/duration.rb +98 -0
- data/proto_docs/google/protobuf/empty.rb +36 -0
- data/proto_docs/google/protobuf/field_mask.rb +229 -0
- data/proto_docs/google/protobuf/timestamp.rb +129 -0
- data/proto_docs/google/rpc/status.rb +46 -0
- metadata +232 -0
@@ -0,0 +1,633 @@
|
|
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 AWS.
|
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>/awsClusters/<cluster-id>`.
|
31
|
+
#
|
32
|
+
# See [Resource Names](https://cloud.google.com/apis/design/resource_names)
|
33
|
+
# for more details on GCP 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] networking
|
39
|
+
# @return [::Google::Cloud::GkeMultiCloud::V1::AwsClusterNetworking]
|
40
|
+
# Required. Cluster-wide networking configuration.
|
41
|
+
# @!attribute [rw] aws_region
|
42
|
+
# @return [::String]
|
43
|
+
# Required. The AWS region where the cluster runs.
|
44
|
+
#
|
45
|
+
# Each Google Cloud region supports a subset of nearby AWS regions.
|
46
|
+
# You can call
|
47
|
+
# {::Google::Cloud::GkeMultiCloud::V1::AwsClusters::Client#get_aws_server_config GetAwsServerConfig}
|
48
|
+
# to list all supported AWS regions within a given Google Cloud region.
|
49
|
+
# @!attribute [rw] control_plane
|
50
|
+
# @return [::Google::Cloud::GkeMultiCloud::V1::AwsControlPlane]
|
51
|
+
# Required. Configuration related to the cluster control plane.
|
52
|
+
# @!attribute [rw] authorization
|
53
|
+
# @return [::Google::Cloud::GkeMultiCloud::V1::AwsAuthorization]
|
54
|
+
# Required. Configuration related to the cluster RBAC settings.
|
55
|
+
# @!attribute [r] state
|
56
|
+
# @return [::Google::Cloud::GkeMultiCloud::V1::AwsCluster::State]
|
57
|
+
# Output only. The current state of the cluster.
|
58
|
+
# @!attribute [r] endpoint
|
59
|
+
# @return [::String]
|
60
|
+
# Output only. The endpoint of the cluster's API server.
|
61
|
+
# @!attribute [r] uid
|
62
|
+
# @return [::String]
|
63
|
+
# Output only. A globally unique identifier for the cluster.
|
64
|
+
# @!attribute [r] reconciling
|
65
|
+
# @return [::Boolean]
|
66
|
+
# Output only. If set, there are currently changes in flight to the cluster.
|
67
|
+
# @!attribute [r] create_time
|
68
|
+
# @return [::Google::Protobuf::Timestamp]
|
69
|
+
# Output only. The time at which this cluster was created.
|
70
|
+
# @!attribute [r] update_time
|
71
|
+
# @return [::Google::Protobuf::Timestamp]
|
72
|
+
# Output only. The time at which this cluster was last updated.
|
73
|
+
# @!attribute [rw] etag
|
74
|
+
# @return [::String]
|
75
|
+
# Allows clients to perform consistent read-modify-writes
|
76
|
+
# through optimistic concurrency control.
|
77
|
+
#
|
78
|
+
# Can be sent on update and delete requests to ensure the
|
79
|
+
# client has an up-to-date value before proceeding.
|
80
|
+
# @!attribute [rw] annotations
|
81
|
+
# @return [::Google::Protobuf::Map{::String => ::String}]
|
82
|
+
# Optional. Annotations on the cluster.
|
83
|
+
#
|
84
|
+
# This field has the same restrictions as Kubernetes annotations.
|
85
|
+
# The total size of all keys and values combined is limited to 256k.
|
86
|
+
# Key can have 2 segments: prefix (optional) and name (required),
|
87
|
+
# separated by a slash (/).
|
88
|
+
# Prefix must be a DNS subdomain.
|
89
|
+
# Name must be 63 characters or less, begin and end with alphanumerics,
|
90
|
+
# with dashes (-), underscores (_), dots (.), and alphanumerics between.
|
91
|
+
# @!attribute [r] workload_identity_config
|
92
|
+
# @return [::Google::Cloud::GkeMultiCloud::V1::WorkloadIdentityConfig]
|
93
|
+
# Output only. Workload Identity settings.
|
94
|
+
# @!attribute [r] cluster_ca_certificate
|
95
|
+
# @return [::String]
|
96
|
+
# Output only. PEM encoded x509 certificate of the cluster root of trust.
|
97
|
+
# @!attribute [rw] fleet
|
98
|
+
# @return [::Google::Cloud::GkeMultiCloud::V1::Fleet]
|
99
|
+
# Optional. Fleet configuration.
|
100
|
+
# @!attribute [rw] logging_config
|
101
|
+
# @return [::Google::Cloud::GkeMultiCloud::V1::LoggingConfig]
|
102
|
+
# Optional. Logging configuration for this cluster.
|
103
|
+
class AwsCluster
|
104
|
+
include ::Google::Protobuf::MessageExts
|
105
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
106
|
+
|
107
|
+
# @!attribute [rw] key
|
108
|
+
# @return [::String]
|
109
|
+
# @!attribute [rw] value
|
110
|
+
# @return [::String]
|
111
|
+
class AnnotationsEntry
|
112
|
+
include ::Google::Protobuf::MessageExts
|
113
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
114
|
+
end
|
115
|
+
|
116
|
+
# The lifecycle state of the cluster.
|
117
|
+
module State
|
118
|
+
# Not set.
|
119
|
+
STATE_UNSPECIFIED = 0
|
120
|
+
|
121
|
+
# The PROVISIONING state indicates the cluster is being created.
|
122
|
+
PROVISIONING = 1
|
123
|
+
|
124
|
+
# The RUNNING state indicates the cluster has been created and is fully
|
125
|
+
# usable.
|
126
|
+
RUNNING = 2
|
127
|
+
|
128
|
+
# The RECONCILING state indicates that some work is actively being done on
|
129
|
+
# the cluster, such as upgrading the control plane replicas.
|
130
|
+
RECONCILING = 3
|
131
|
+
|
132
|
+
# The STOPPING state indicates the cluster is being deleted.
|
133
|
+
STOPPING = 4
|
134
|
+
|
135
|
+
# The ERROR state indicates the cluster is in a broken unrecoverable
|
136
|
+
# state.
|
137
|
+
ERROR = 5
|
138
|
+
|
139
|
+
# The DEGRADED state indicates the cluster requires user action to
|
140
|
+
# restore full functionality.
|
141
|
+
DEGRADED = 6
|
142
|
+
end
|
143
|
+
end
|
144
|
+
|
145
|
+
# ControlPlane defines common parameters between control plane nodes.
|
146
|
+
# @!attribute [rw] version
|
147
|
+
# @return [::String]
|
148
|
+
# Required. The Kubernetes version to run on control plane replicas
|
149
|
+
# (e.g. `1.19.10-gke.1000`).
|
150
|
+
#
|
151
|
+
# You can list all supported versions on a given Google Cloud region by
|
152
|
+
# calling
|
153
|
+
# {::Google::Cloud::GkeMultiCloud::V1::AwsClusters::Client#get_aws_server_config GetAwsServerConfig}.
|
154
|
+
# @!attribute [rw] instance_type
|
155
|
+
# @return [::String]
|
156
|
+
# Optional. The AWS instance type.
|
157
|
+
#
|
158
|
+
# When unspecified, it uses a default based on the cluster's version.
|
159
|
+
# @!attribute [rw] ssh_config
|
160
|
+
# @return [::Google::Cloud::GkeMultiCloud::V1::AwsSshConfig]
|
161
|
+
# Optional. SSH configuration for how to access the underlying control plane
|
162
|
+
# machines.
|
163
|
+
# @!attribute [rw] subnet_ids
|
164
|
+
# @return [::Array<::String>]
|
165
|
+
# Required. The list of subnets where control plane replicas will run.
|
166
|
+
# A replica will be provisioned on each subnet and up to three values
|
167
|
+
# can be provided.
|
168
|
+
# Each subnet must be in a different AWS Availability Zone (AZ).
|
169
|
+
# @!attribute [rw] security_group_ids
|
170
|
+
# @return [::Array<::String>]
|
171
|
+
# Optional. The IDs of additional security groups to add to control plane
|
172
|
+
# replicas. The Anthos Multi-Cloud API will automatically create and manage
|
173
|
+
# security groups with the minimum rules needed for a functioning cluster.
|
174
|
+
# @!attribute [rw] iam_instance_profile
|
175
|
+
# @return [::String]
|
176
|
+
# Required. The name or ARN of the AWS IAM instance profile to assign to each control
|
177
|
+
# plane replica.
|
178
|
+
# @!attribute [rw] root_volume
|
179
|
+
# @return [::Google::Cloud::GkeMultiCloud::V1::AwsVolumeTemplate]
|
180
|
+
# Optional. Configuration related to the root volume provisioned for each
|
181
|
+
# control plane replica.
|
182
|
+
#
|
183
|
+
# Volumes will be provisioned in the availability zone associated
|
184
|
+
# with the corresponding subnet.
|
185
|
+
#
|
186
|
+
# When unspecified, it defaults to 32 GiB with the GP2 volume type.
|
187
|
+
# @!attribute [rw] main_volume
|
188
|
+
# @return [::Google::Cloud::GkeMultiCloud::V1::AwsVolumeTemplate]
|
189
|
+
# Optional. Configuration related to the main volume provisioned for each
|
190
|
+
# control plane replica.
|
191
|
+
# The main volume is in charge of storing all of the cluster's etcd state.
|
192
|
+
#
|
193
|
+
# Volumes will be provisioned in the availability zone associated
|
194
|
+
# with the corresponding subnet.
|
195
|
+
#
|
196
|
+
# When unspecified, it defaults to 8 GiB with the GP2 volume type.
|
197
|
+
# @!attribute [rw] database_encryption
|
198
|
+
# @return [::Google::Cloud::GkeMultiCloud::V1::AwsDatabaseEncryption]
|
199
|
+
# Required. The ARN of the AWS KMS key used to encrypt cluster secrets.
|
200
|
+
# @!attribute [rw] tags
|
201
|
+
# @return [::Google::Protobuf::Map{::String => ::String}]
|
202
|
+
# Optional. A set of AWS resource tags to propagate to all underlying managed AWS
|
203
|
+
# resources.
|
204
|
+
#
|
205
|
+
# Specify at most 50 pairs containing alphanumerics, spaces, and symbols
|
206
|
+
# (.+-=_:@/). Keys can be up to 127 Unicode characters. Values can be up to
|
207
|
+
# 255 Unicode characters.
|
208
|
+
# @!attribute [rw] aws_services_authentication
|
209
|
+
# @return [::Google::Cloud::GkeMultiCloud::V1::AwsServicesAuthentication]
|
210
|
+
# Required. Authentication configuration for management of AWS resources.
|
211
|
+
# @!attribute [rw] proxy_config
|
212
|
+
# @return [::Google::Cloud::GkeMultiCloud::V1::AwsProxyConfig]
|
213
|
+
# Optional. Proxy configuration for outbound HTTP(S) traffic.
|
214
|
+
# @!attribute [rw] config_encryption
|
215
|
+
# @return [::Google::Cloud::GkeMultiCloud::V1::AwsConfigEncryption]
|
216
|
+
# Required. Config encryption for user data.
|
217
|
+
# @!attribute [rw] instance_placement
|
218
|
+
# @return [::Google::Cloud::GkeMultiCloud::V1::AwsInstancePlacement]
|
219
|
+
# Optional. The placement to use on control plane instances.
|
220
|
+
# When unspecified, the VPC's default tenancy will be used.
|
221
|
+
class AwsControlPlane
|
222
|
+
include ::Google::Protobuf::MessageExts
|
223
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
224
|
+
|
225
|
+
# @!attribute [rw] key
|
226
|
+
# @return [::String]
|
227
|
+
# @!attribute [rw] value
|
228
|
+
# @return [::String]
|
229
|
+
class TagsEntry
|
230
|
+
include ::Google::Protobuf::MessageExts
|
231
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
232
|
+
end
|
233
|
+
end
|
234
|
+
|
235
|
+
# Authentication configuration for the management of AWS resources.
|
236
|
+
# @!attribute [rw] role_arn
|
237
|
+
# @return [::String]
|
238
|
+
# Required. The Amazon Resource Name (ARN) of the role that the Anthos Multi-Cloud API
|
239
|
+
# will assume when managing AWS resources on your account.
|
240
|
+
# @!attribute [rw] role_session_name
|
241
|
+
# @return [::String]
|
242
|
+
# Optional. An identifier for the assumed role session.
|
243
|
+
#
|
244
|
+
# When unspecified, it defaults to `multicloud-service-agent`.
|
245
|
+
class AwsServicesAuthentication
|
246
|
+
include ::Google::Protobuf::MessageExts
|
247
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
248
|
+
end
|
249
|
+
|
250
|
+
# Configuration related to the cluster RBAC settings.
|
251
|
+
# @!attribute [rw] admin_users
|
252
|
+
# @return [::Array<::Google::Cloud::GkeMultiCloud::V1::AwsClusterUser>]
|
253
|
+
# Required. Users that can perform operations as a cluster admin. A managed
|
254
|
+
# ClusterRoleBinding will be created to grant the `cluster-admin` ClusterRole
|
255
|
+
# to the users. Up to ten admin users can be provided.
|
256
|
+
#
|
257
|
+
# For more info on RBAC, see
|
258
|
+
# https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles
|
259
|
+
class AwsAuthorization
|
260
|
+
include ::Google::Protobuf::MessageExts
|
261
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
262
|
+
end
|
263
|
+
|
264
|
+
# Identities of a user-type subject for AWS clusters.
|
265
|
+
# @!attribute [rw] username
|
266
|
+
# @return [::String]
|
267
|
+
# Required. The name of the user, e.g. `my-gcp-id@gmail.com`.
|
268
|
+
class AwsClusterUser
|
269
|
+
include ::Google::Protobuf::MessageExts
|
270
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
271
|
+
end
|
272
|
+
|
273
|
+
# Configuration related to application-layer secrets encryption.
|
274
|
+
# @!attribute [rw] kms_key_arn
|
275
|
+
# @return [::String]
|
276
|
+
# Required. The ARN of the AWS KMS key used to encrypt cluster secrets.
|
277
|
+
class AwsDatabaseEncryption
|
278
|
+
include ::Google::Protobuf::MessageExts
|
279
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
280
|
+
end
|
281
|
+
|
282
|
+
# Configuration template for AWS EBS volumes.
|
283
|
+
# @!attribute [rw] size_gib
|
284
|
+
# @return [::Integer]
|
285
|
+
# Optional. The size of the volume, in GiBs.
|
286
|
+
#
|
287
|
+
# When unspecified, a default value is provided. See the specific reference
|
288
|
+
# in the parent resource.
|
289
|
+
# @!attribute [rw] volume_type
|
290
|
+
# @return [::Google::Cloud::GkeMultiCloud::V1::AwsVolumeTemplate::VolumeType]
|
291
|
+
# Optional. Type of the EBS volume.
|
292
|
+
#
|
293
|
+
# When unspecified, it defaults to GP2 volume.
|
294
|
+
# @!attribute [rw] iops
|
295
|
+
# @return [::Integer]
|
296
|
+
# Optional. The number of I/O operations per second (IOPS) to provision for GP3 volume.
|
297
|
+
# @!attribute [rw] kms_key_arn
|
298
|
+
# @return [::String]
|
299
|
+
# Optional. The Amazon Resource Name (ARN) of the Customer Managed Key (CMK) used to
|
300
|
+
# encrypt AWS EBS volumes.
|
301
|
+
#
|
302
|
+
# If not specified, the default Amazon managed key associated to
|
303
|
+
# the AWS region where this cluster runs will be used.
|
304
|
+
class AwsVolumeTemplate
|
305
|
+
include ::Google::Protobuf::MessageExts
|
306
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
307
|
+
|
308
|
+
# Types of supported EBS volumes. We currently only support GP2 or GP3
|
309
|
+
# volumes.
|
310
|
+
# See https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html
|
311
|
+
# for more information.
|
312
|
+
module VolumeType
|
313
|
+
# Not set.
|
314
|
+
VOLUME_TYPE_UNSPECIFIED = 0
|
315
|
+
|
316
|
+
# GP2 (General Purpose SSD volume type).
|
317
|
+
GP2 = 1
|
318
|
+
|
319
|
+
# GP3 (General Purpose SSD volume type).
|
320
|
+
GP3 = 2
|
321
|
+
end
|
322
|
+
end
|
323
|
+
|
324
|
+
# ClusterNetworking defines cluster-wide networking configuration.
|
325
|
+
#
|
326
|
+
# Anthos clusters on AWS run on a single VPC. This includes control
|
327
|
+
# plane replicas and node pool nodes.
|
328
|
+
# @!attribute [rw] vpc_id
|
329
|
+
# @return [::String]
|
330
|
+
# Required. The VPC associated with the cluster. All component clusters
|
331
|
+
# (i.e. control plane and node pools) run on a single VPC.
|
332
|
+
#
|
333
|
+
# This field cannot be changed after creation.
|
334
|
+
# @!attribute [rw] pod_address_cidr_blocks
|
335
|
+
# @return [::Array<::String>]
|
336
|
+
# Required. All pods in the cluster are assigned an IPv4 address from these ranges.
|
337
|
+
# Only a single range is supported.
|
338
|
+
# This field cannot be changed after creation.
|
339
|
+
# @!attribute [rw] service_address_cidr_blocks
|
340
|
+
# @return [::Array<::String>]
|
341
|
+
# Required. All services in the cluster are assigned an IPv4 address from these ranges.
|
342
|
+
# Only a single range is supported.
|
343
|
+
# This field cannot be changed after creation.
|
344
|
+
class AwsClusterNetworking
|
345
|
+
include ::Google::Protobuf::MessageExts
|
346
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
347
|
+
end
|
348
|
+
|
349
|
+
# An Anthos node pool running on AWS.
|
350
|
+
# @!attribute [rw] name
|
351
|
+
# @return [::String]
|
352
|
+
# The name of this resource.
|
353
|
+
#
|
354
|
+
# Node pool names are formatted as
|
355
|
+
# `projects/<project-number>/locations/<region>/awsClusters/<cluster-id>/awsNodePools/<node-pool-id>`.
|
356
|
+
#
|
357
|
+
# For more details on Google Cloud resource names,
|
358
|
+
# see [Resource Names](https://cloud.google.com/apis/design/resource_names)
|
359
|
+
# @!attribute [rw] version
|
360
|
+
# @return [::String]
|
361
|
+
# Required. The Kubernetes version to run on this node pool (e.g. `1.19.10-gke.1000`).
|
362
|
+
#
|
363
|
+
# You can list all supported versions on a given Google Cloud region by
|
364
|
+
# calling
|
365
|
+
# {::Google::Cloud::GkeMultiCloud::V1::AwsClusters::Client#get_aws_server_config GetAwsServerConfig}.
|
366
|
+
# @!attribute [rw] config
|
367
|
+
# @return [::Google::Cloud::GkeMultiCloud::V1::AwsNodeConfig]
|
368
|
+
# Required. The configuration of the node pool.
|
369
|
+
# @!attribute [rw] autoscaling
|
370
|
+
# @return [::Google::Cloud::GkeMultiCloud::V1::AwsNodePoolAutoscaling]
|
371
|
+
# Required. Autoscaler configuration for this node pool.
|
372
|
+
# @!attribute [rw] subnet_id
|
373
|
+
# @return [::String]
|
374
|
+
# Required. The subnet where the node pool node run.
|
375
|
+
# @!attribute [r] state
|
376
|
+
# @return [::Google::Cloud::GkeMultiCloud::V1::AwsNodePool::State]
|
377
|
+
# Output only. The lifecycle state of the node pool.
|
378
|
+
# @!attribute [r] uid
|
379
|
+
# @return [::String]
|
380
|
+
# Output only. A globally unique identifier for the node pool.
|
381
|
+
# @!attribute [r] reconciling
|
382
|
+
# @return [::Boolean]
|
383
|
+
# Output only. If set, there are currently changes in flight to the node
|
384
|
+
# pool.
|
385
|
+
# @!attribute [r] create_time
|
386
|
+
# @return [::Google::Protobuf::Timestamp]
|
387
|
+
# Output only. The time at which this node pool was created.
|
388
|
+
# @!attribute [r] update_time
|
389
|
+
# @return [::Google::Protobuf::Timestamp]
|
390
|
+
# Output only. The time at which this node pool was last updated.
|
391
|
+
# @!attribute [rw] etag
|
392
|
+
# @return [::String]
|
393
|
+
# Allows clients to perform consistent read-modify-writes
|
394
|
+
# through optimistic concurrency control.
|
395
|
+
#
|
396
|
+
# Can be sent on update and delete requests to ensure the
|
397
|
+
# client has an up-to-date value before proceeding.
|
398
|
+
# @!attribute [rw] annotations
|
399
|
+
# @return [::Google::Protobuf::Map{::String => ::String}]
|
400
|
+
# Optional. Annotations on the node pool.
|
401
|
+
#
|
402
|
+
# This field has the same restrictions as Kubernetes annotations.
|
403
|
+
# The total size of all keys and values combined is limited to 256k.
|
404
|
+
# Key can have 2 segments: prefix (optional) and name (required),
|
405
|
+
# separated by a slash (/).
|
406
|
+
# Prefix must be a DNS subdomain.
|
407
|
+
# Name must be 63 characters or less, begin and end with alphanumerics,
|
408
|
+
# with dashes (-), underscores (_), dots (.), and alphanumerics between.
|
409
|
+
# @!attribute [rw] max_pods_constraint
|
410
|
+
# @return [::Google::Cloud::GkeMultiCloud::V1::MaxPodsConstraint]
|
411
|
+
# Required. The constraint on the maximum number of pods that can be run
|
412
|
+
# simultaneously on a node in the node pool.
|
413
|
+
class AwsNodePool
|
414
|
+
include ::Google::Protobuf::MessageExts
|
415
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
416
|
+
|
417
|
+
# @!attribute [rw] key
|
418
|
+
# @return [::String]
|
419
|
+
# @!attribute [rw] value
|
420
|
+
# @return [::String]
|
421
|
+
class AnnotationsEntry
|
422
|
+
include ::Google::Protobuf::MessageExts
|
423
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
424
|
+
end
|
425
|
+
|
426
|
+
# The lifecycle state of the node pool.
|
427
|
+
module State
|
428
|
+
# Not set.
|
429
|
+
STATE_UNSPECIFIED = 0
|
430
|
+
|
431
|
+
# The PROVISIONING state indicates the node pool is being created.
|
432
|
+
PROVISIONING = 1
|
433
|
+
|
434
|
+
# The RUNNING state indicates the node pool has been created
|
435
|
+
# and is fully usable.
|
436
|
+
RUNNING = 2
|
437
|
+
|
438
|
+
# The RECONCILING state indicates that the node pool is being reconciled.
|
439
|
+
RECONCILING = 3
|
440
|
+
|
441
|
+
# The STOPPING state indicates the node pool is being deleted.
|
442
|
+
STOPPING = 4
|
443
|
+
|
444
|
+
# The ERROR state indicates the node pool is in a broken unrecoverable
|
445
|
+
# state.
|
446
|
+
ERROR = 5
|
447
|
+
|
448
|
+
# The DEGRADED state indicates the node pool requires user action to
|
449
|
+
# restore full functionality.
|
450
|
+
DEGRADED = 6
|
451
|
+
end
|
452
|
+
end
|
453
|
+
|
454
|
+
# Parameters that describe the nodes in a cluster.
|
455
|
+
# @!attribute [rw] instance_type
|
456
|
+
# @return [::String]
|
457
|
+
# Optional. The AWS instance type.
|
458
|
+
#
|
459
|
+
# When unspecified, it uses a default based on the node pool's version.
|
460
|
+
# @!attribute [rw] root_volume
|
461
|
+
# @return [::Google::Cloud::GkeMultiCloud::V1::AwsVolumeTemplate]
|
462
|
+
# Optional. Template for the root volume provisioned for node pool nodes.
|
463
|
+
# Volumes will be provisioned in the availability zone assigned
|
464
|
+
# to the node pool subnet.
|
465
|
+
#
|
466
|
+
# When unspecified, it defaults to 32 GiB with the GP2 volume type.
|
467
|
+
# @!attribute [rw] taints
|
468
|
+
# @return [::Array<::Google::Cloud::GkeMultiCloud::V1::NodeTaint>]
|
469
|
+
# Optional. The initial taints assigned to nodes of this node pool.
|
470
|
+
# @!attribute [rw] labels
|
471
|
+
# @return [::Google::Protobuf::Map{::String => ::String}]
|
472
|
+
# Optional. The initial labels assigned to nodes of this node pool. An object
|
473
|
+
# containing a list of "key": value pairs. Example: { "name": "wrench",
|
474
|
+
# "mass": "1.3kg", "count": "3" }.
|
475
|
+
# @!attribute [rw] tags
|
476
|
+
# @return [::Google::Protobuf::Map{::String => ::String}]
|
477
|
+
# Optional. Key/value metadata to assign to each underlying AWS resource. Specify at
|
478
|
+
# most 50 pairs containing alphanumerics, spaces, and symbols (.+-=_:@/).
|
479
|
+
# Keys can be up to 127 Unicode characters.
|
480
|
+
# Values can be up to 255 Unicode characters.
|
481
|
+
# @!attribute [rw] iam_instance_profile
|
482
|
+
# @return [::String]
|
483
|
+
# Required. The name or ARN of the AWS IAM role assigned to nodes in the pool.
|
484
|
+
# @!attribute [rw] image_type
|
485
|
+
# @return [::String]
|
486
|
+
# Optional. The OS image type to use on node pool instances.
|
487
|
+
# Can have a value of `ubuntu`, or `windows` if the cluster enables
|
488
|
+
# the Windows node pool preview feature.
|
489
|
+
#
|
490
|
+
# When unspecified, it defaults to `ubuntu`.
|
491
|
+
# @!attribute [rw] ssh_config
|
492
|
+
# @return [::Google::Cloud::GkeMultiCloud::V1::AwsSshConfig]
|
493
|
+
# Optional. The SSH configuration.
|
494
|
+
# @!attribute [rw] security_group_ids
|
495
|
+
# @return [::Array<::String>]
|
496
|
+
# Optional. The IDs of additional security groups to add to nodes in this pool. The
|
497
|
+
# manager will automatically create security groups with minimum rules
|
498
|
+
# needed for a functioning cluster.
|
499
|
+
# @!attribute [rw] proxy_config
|
500
|
+
# @return [::Google::Cloud::GkeMultiCloud::V1::AwsProxyConfig]
|
501
|
+
# Optional. Proxy configuration for outbound HTTP(S) traffic.
|
502
|
+
# @!attribute [rw] config_encryption
|
503
|
+
# @return [::Google::Cloud::GkeMultiCloud::V1::AwsConfigEncryption]
|
504
|
+
# Required. Config encryption for user data.
|
505
|
+
# @!attribute [rw] instance_placement
|
506
|
+
# @return [::Google::Cloud::GkeMultiCloud::V1::AwsInstancePlacement]
|
507
|
+
# Optional. Placement related info for this node.
|
508
|
+
# When unspecified, the VPC's default tenancy will be used.
|
509
|
+
class AwsNodeConfig
|
510
|
+
include ::Google::Protobuf::MessageExts
|
511
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
512
|
+
|
513
|
+
# @!attribute [rw] key
|
514
|
+
# @return [::String]
|
515
|
+
# @!attribute [rw] value
|
516
|
+
# @return [::String]
|
517
|
+
class LabelsEntry
|
518
|
+
include ::Google::Protobuf::MessageExts
|
519
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
520
|
+
end
|
521
|
+
|
522
|
+
# @!attribute [rw] key
|
523
|
+
# @return [::String]
|
524
|
+
# @!attribute [rw] value
|
525
|
+
# @return [::String]
|
526
|
+
class TagsEntry
|
527
|
+
include ::Google::Protobuf::MessageExts
|
528
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
529
|
+
end
|
530
|
+
end
|
531
|
+
|
532
|
+
# AwsNodePoolAutoscaling contains information required by cluster autoscaler
|
533
|
+
# to adjust the size of the node pool to the current cluster usage.
|
534
|
+
# @!attribute [rw] min_node_count
|
535
|
+
# @return [::Integer]
|
536
|
+
# Required. Minimum number of nodes in the node pool. Must be greater than or equal to
|
537
|
+
# 1 and less than or equal to max_node_count.
|
538
|
+
# @!attribute [rw] max_node_count
|
539
|
+
# @return [::Integer]
|
540
|
+
# Required. Maximum number of nodes in the node pool. Must be greater than or equal to
|
541
|
+
# min_node_count and less than or equal to 50.
|
542
|
+
class AwsNodePoolAutoscaling
|
543
|
+
include ::Google::Protobuf::MessageExts
|
544
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
545
|
+
end
|
546
|
+
|
547
|
+
# AwsServerConfig is the configuration of GKE cluster on AWS.
|
548
|
+
# @!attribute [rw] name
|
549
|
+
# @return [::String]
|
550
|
+
# The resource name of the config.
|
551
|
+
# @!attribute [rw] valid_versions
|
552
|
+
# @return [::Array<::Google::Cloud::GkeMultiCloud::V1::AwsK8sVersionInfo>]
|
553
|
+
# List of valid Kubernetes versions.
|
554
|
+
# @!attribute [rw] supported_aws_regions
|
555
|
+
# @return [::Array<::String>]
|
556
|
+
# The list of supported AWS regions.
|
557
|
+
class AwsServerConfig
|
558
|
+
include ::Google::Protobuf::MessageExts
|
559
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
560
|
+
end
|
561
|
+
|
562
|
+
# Kubernetes version information of GKE cluster on AWS.
|
563
|
+
# @!attribute [rw] version
|
564
|
+
# @return [::String]
|
565
|
+
# Kubernetes version name.
|
566
|
+
class AwsK8sVersionInfo
|
567
|
+
include ::Google::Protobuf::MessageExts
|
568
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
569
|
+
end
|
570
|
+
|
571
|
+
# SSH configuration for AWS resources.
|
572
|
+
# @!attribute [rw] ec2_key_pair
|
573
|
+
# @return [::String]
|
574
|
+
# Required. The name of the EC2 key pair used to login into cluster machines.
|
575
|
+
class AwsSshConfig
|
576
|
+
include ::Google::Protobuf::MessageExts
|
577
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
578
|
+
end
|
579
|
+
|
580
|
+
# Details of a proxy config stored in AWS Secret Manager.
|
581
|
+
# @!attribute [rw] secret_arn
|
582
|
+
# @return [::String]
|
583
|
+
# The ARN of the AWS Secret Manager secret that contains the HTTP(S) proxy
|
584
|
+
# configuration.
|
585
|
+
# @!attribute [rw] secret_version
|
586
|
+
# @return [::String]
|
587
|
+
# The version string of the AWS Secret Manager secret that contains the
|
588
|
+
# HTTP(S) proxy configuration.
|
589
|
+
class AwsProxyConfig
|
590
|
+
include ::Google::Protobuf::MessageExts
|
591
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
592
|
+
end
|
593
|
+
|
594
|
+
# Config encryption for user data.
|
595
|
+
# @!attribute [rw] kms_key_arn
|
596
|
+
# @return [::String]
|
597
|
+
# Required. The ARN of the AWS KMS key used to encrypt user data.
|
598
|
+
class AwsConfigEncryption
|
599
|
+
include ::Google::Protobuf::MessageExts
|
600
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
601
|
+
end
|
602
|
+
|
603
|
+
# Details of placement information for an instance.
|
604
|
+
# Limitations for using the `host` tenancy:
|
605
|
+
#
|
606
|
+
# * T3 instances that use the unlimited CPU credit option don't support host
|
607
|
+
# tenancy.
|
608
|
+
# @!attribute [rw] tenancy
|
609
|
+
# @return [::Google::Cloud::GkeMultiCloud::V1::AwsInstancePlacement::Tenancy]
|
610
|
+
# Required. The tenancy for instance.
|
611
|
+
class AwsInstancePlacement
|
612
|
+
include ::Google::Protobuf::MessageExts
|
613
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
614
|
+
|
615
|
+
# Tenancy defines how EC2 instances are distributed across physical hardware.
|
616
|
+
module Tenancy
|
617
|
+
# Not set.
|
618
|
+
TENANCY_UNSPECIFIED = 0
|
619
|
+
|
620
|
+
# Use default VPC tenancy.
|
621
|
+
DEFAULT = 1
|
622
|
+
|
623
|
+
# Run a dedicated instance.
|
624
|
+
DEDICATED = 2
|
625
|
+
|
626
|
+
# Launch this instance to a dedicated host.
|
627
|
+
HOST = 3
|
628
|
+
end
|
629
|
+
end
|
630
|
+
end
|
631
|
+
end
|
632
|
+
end
|
633
|
+
end
|