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,716 @@
|
|
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 Azure.
|
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>/azureClusters/<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] azure_region
|
39
|
+
# @return [::String]
|
40
|
+
# Required. The Azure region where the cluster runs.
|
41
|
+
#
|
42
|
+
# Each Google Cloud region supports a subset of nearby Azure regions.
|
43
|
+
# You can call
|
44
|
+
# {::Google::Cloud::GkeMultiCloud::V1::AzureClusters::Client#get_azure_server_config GetAzureServerConfig}
|
45
|
+
# to list all supported Azure regions within a given Google Cloud region.
|
46
|
+
# @!attribute [rw] resource_group_id
|
47
|
+
# @return [::String]
|
48
|
+
# Required. The ARM ID of the resource group where the cluster resources are deployed.
|
49
|
+
# For example:
|
50
|
+
# `/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>`
|
51
|
+
# @!attribute [rw] azure_client
|
52
|
+
# @return [::String]
|
53
|
+
# Required. Name of the {::Google::Cloud::GkeMultiCloud::V1::AzureClient AzureClient} that contains authentication configuration for
|
54
|
+
# how the Anthos Multi-Cloud API connects to Azure APIs.
|
55
|
+
#
|
56
|
+
# The `AzureClient` resource must reside on the same GCP project and region
|
57
|
+
# as the `AzureCluster`.
|
58
|
+
#
|
59
|
+
# `AzureClient` names are formatted as
|
60
|
+
# `projects/<project-number>/locations/<region>/azureClients/<client-id>`.
|
61
|
+
#
|
62
|
+
# See [Resource Names](https://cloud.google.com/apis/design/resource_names)
|
63
|
+
# for more details on Google Cloud resource names.
|
64
|
+
# @!attribute [rw] networking
|
65
|
+
# @return [::Google::Cloud::GkeMultiCloud::V1::AzureClusterNetworking]
|
66
|
+
# Required. Cluster-wide networking configuration.
|
67
|
+
# @!attribute [rw] control_plane
|
68
|
+
# @return [::Google::Cloud::GkeMultiCloud::V1::AzureControlPlane]
|
69
|
+
# Required. Configuration related to the cluster control plane.
|
70
|
+
# @!attribute [rw] authorization
|
71
|
+
# @return [::Google::Cloud::GkeMultiCloud::V1::AzureAuthorization]
|
72
|
+
# Required. Configuration related to the cluster RBAC settings.
|
73
|
+
# @!attribute [r] state
|
74
|
+
# @return [::Google::Cloud::GkeMultiCloud::V1::AzureCluster::State]
|
75
|
+
# Output only. The current state of the cluster.
|
76
|
+
# @!attribute [r] endpoint
|
77
|
+
# @return [::String]
|
78
|
+
# Output only. The endpoint of the cluster's API server.
|
79
|
+
# @!attribute [r] uid
|
80
|
+
# @return [::String]
|
81
|
+
# Output only. A globally unique identifier for the cluster.
|
82
|
+
# @!attribute [r] reconciling
|
83
|
+
# @return [::Boolean]
|
84
|
+
# Output only. If set, there are currently changes in flight to the cluster.
|
85
|
+
# @!attribute [r] create_time
|
86
|
+
# @return [::Google::Protobuf::Timestamp]
|
87
|
+
# Output only. The time at which this cluster was created.
|
88
|
+
# @!attribute [r] update_time
|
89
|
+
# @return [::Google::Protobuf::Timestamp]
|
90
|
+
# Output only. The time at which this cluster was last updated.
|
91
|
+
# @!attribute [rw] etag
|
92
|
+
# @return [::String]
|
93
|
+
# Allows clients to perform consistent read-modify-writes
|
94
|
+
# through optimistic concurrency control.
|
95
|
+
#
|
96
|
+
# Can be sent on update and delete requests to ensure the
|
97
|
+
# client has an up-to-date value before proceeding.
|
98
|
+
# @!attribute [rw] annotations
|
99
|
+
# @return [::Google::Protobuf::Map{::String => ::String}]
|
100
|
+
# Optional. Annotations on the cluster.
|
101
|
+
#
|
102
|
+
# This field has the same restrictions as Kubernetes annotations.
|
103
|
+
# The total size of all keys and values combined is limited to 256k.
|
104
|
+
# Keys can have 2 segments: prefix (optional) and name (required),
|
105
|
+
# separated by a slash (/).
|
106
|
+
# Prefix must be a DNS subdomain.
|
107
|
+
# Name must be 63 characters or less, begin and end with alphanumerics,
|
108
|
+
# with dashes (-), underscores (_), dots (.), and alphanumerics between.
|
109
|
+
# @!attribute [r] workload_identity_config
|
110
|
+
# @return [::Google::Cloud::GkeMultiCloud::V1::WorkloadIdentityConfig]
|
111
|
+
# Output only. Workload Identity settings.
|
112
|
+
# @!attribute [r] cluster_ca_certificate
|
113
|
+
# @return [::String]
|
114
|
+
# Output only. PEM encoded x509 certificate of the cluster root of trust.
|
115
|
+
# @!attribute [rw] fleet
|
116
|
+
# @return [::Google::Cloud::GkeMultiCloud::V1::Fleet]
|
117
|
+
# Optional. Fleet configuration.
|
118
|
+
# @!attribute [r] managed_resources
|
119
|
+
# @return [::Google::Cloud::GkeMultiCloud::V1::AzureClusterResources]
|
120
|
+
# Output only. Mananged Azure resources for this cluster.
|
121
|
+
# @!attribute [rw] logging_config
|
122
|
+
# @return [::Google::Cloud::GkeMultiCloud::V1::LoggingConfig]
|
123
|
+
# Optional. Logging configuration for this cluster.
|
124
|
+
class AzureCluster
|
125
|
+
include ::Google::Protobuf::MessageExts
|
126
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
127
|
+
|
128
|
+
# @!attribute [rw] key
|
129
|
+
# @return [::String]
|
130
|
+
# @!attribute [rw] value
|
131
|
+
# @return [::String]
|
132
|
+
class AnnotationsEntry
|
133
|
+
include ::Google::Protobuf::MessageExts
|
134
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
135
|
+
end
|
136
|
+
|
137
|
+
# The lifecycle state of the cluster.
|
138
|
+
module State
|
139
|
+
# Not set.
|
140
|
+
STATE_UNSPECIFIED = 0
|
141
|
+
|
142
|
+
# The PROVISIONING state indicates the cluster is being created.
|
143
|
+
PROVISIONING = 1
|
144
|
+
|
145
|
+
# The RUNNING state indicates the cluster has been created and is fully
|
146
|
+
# usable.
|
147
|
+
RUNNING = 2
|
148
|
+
|
149
|
+
# The RECONCILING state indicates that some work is actively being done on
|
150
|
+
# the cluster, such as upgrading the control plane replicas.
|
151
|
+
RECONCILING = 3
|
152
|
+
|
153
|
+
# The STOPPING state indicates the cluster is being deleted.
|
154
|
+
STOPPING = 4
|
155
|
+
|
156
|
+
# The ERROR state indicates the cluster is in a broken unrecoverable
|
157
|
+
# state.
|
158
|
+
ERROR = 5
|
159
|
+
|
160
|
+
# The DEGRADED state indicates the cluster requires user action to
|
161
|
+
# restore full functionality.
|
162
|
+
DEGRADED = 6
|
163
|
+
end
|
164
|
+
end
|
165
|
+
|
166
|
+
# ClusterNetworking contains cluster-wide networking configuration.
|
167
|
+
# @!attribute [rw] virtual_network_id
|
168
|
+
# @return [::String]
|
169
|
+
# Required. The Azure Resource Manager (ARM) ID of the VNet associated with your
|
170
|
+
# cluster.
|
171
|
+
#
|
172
|
+
# All components in the cluster (i.e. control plane and node pools) run on a
|
173
|
+
# single VNet.
|
174
|
+
#
|
175
|
+
# Example:
|
176
|
+
# `/subscriptions/<subscription-id>/resourceGroups/<resource-group-id>/providers/Microsoft.Network/virtualNetworks/<vnet-id>`
|
177
|
+
#
|
178
|
+
# This field cannot be changed after creation.
|
179
|
+
# @!attribute [rw] pod_address_cidr_blocks
|
180
|
+
# @return [::Array<::String>]
|
181
|
+
# Required. The IP address range of the pods in this cluster, in CIDR
|
182
|
+
# notation (e.g. `10.96.0.0/14`).
|
183
|
+
#
|
184
|
+
# All pods in the cluster get assigned a unique IPv4 address from these
|
185
|
+
# ranges. Only a single range is supported.
|
186
|
+
#
|
187
|
+
# This field cannot be changed after creation.
|
188
|
+
# @!attribute [rw] service_address_cidr_blocks
|
189
|
+
# @return [::Array<::String>]
|
190
|
+
# Required. The IP address range for services in this cluster, in CIDR
|
191
|
+
# notation (e.g. `10.96.0.0/14`).
|
192
|
+
#
|
193
|
+
# All services in the cluster get assigned a unique IPv4 address from these
|
194
|
+
# ranges. Only a single range is supported.
|
195
|
+
#
|
196
|
+
# This field cannot be changed after creating a cluster.
|
197
|
+
# @!attribute [rw] service_load_balancer_subnet_id
|
198
|
+
# @return [::String]
|
199
|
+
# Optional. The ARM ID of the subnet where Kubernetes private service type load
|
200
|
+
# balancers are deployed. When unspecified, it defaults to
|
201
|
+
# AzureControlPlane.subnet_id.
|
202
|
+
#
|
203
|
+
# Example:
|
204
|
+
# "/subscriptions/d00494d6-6f3c-4280-bbb2-899e163d1d30/resourceGroups/anthos_cluster_gkeust4/providers/Microsoft.Network/virtualNetworks/gke-vnet-gkeust4/subnets/subnetid456"
|
205
|
+
class AzureClusterNetworking
|
206
|
+
include ::Google::Protobuf::MessageExts
|
207
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
208
|
+
end
|
209
|
+
|
210
|
+
# AzureControlPlane represents the control plane configurations.
|
211
|
+
# @!attribute [rw] version
|
212
|
+
# @return [::String]
|
213
|
+
# Required. The Kubernetes version to run on control plane replicas
|
214
|
+
# (e.g. `1.19.10-gke.1000`).
|
215
|
+
#
|
216
|
+
# You can list all supported versions on a given Google Cloud region by
|
217
|
+
# calling
|
218
|
+
# {::Google::Cloud::GkeMultiCloud::V1::AzureClusters::Client#get_azure_server_config GetAzureServerConfig}.
|
219
|
+
# @!attribute [rw] subnet_id
|
220
|
+
# @return [::String]
|
221
|
+
# Optional. The ARM ID of the default subnet for the control plane. The control plane
|
222
|
+
# VMs are deployed in this subnet, unless
|
223
|
+
# `AzureControlPlane.replica_placements` is specified. This subnet will also
|
224
|
+
# be used as default for `AzureControlPlane.endpoint_subnet_id` if
|
225
|
+
# `AzureControlPlane.endpoint_subnet_id` is not specified. Similarly it will
|
226
|
+
# be used as default for
|
227
|
+
# `AzureClusterNetworking.service_load_balancer_subnet_id`.
|
228
|
+
#
|
229
|
+
# Example:
|
230
|
+
# `/subscriptions/<subscription-id>/resourceGroups/<resource-group-id>/providers/Microsoft.Network/virtualNetworks/<vnet-id>/subnets/default`.
|
231
|
+
# @!attribute [rw] vm_size
|
232
|
+
# @return [::String]
|
233
|
+
# Optional. The Azure VM size name. Example: `Standard_DS2_v2`.
|
234
|
+
#
|
235
|
+
# For available VM sizes, see
|
236
|
+
# https://docs.microsoft.com/en-us/azure/virtual-machines/vm-naming-conventions.
|
237
|
+
#
|
238
|
+
# When unspecified, it defaults to `Standard_DS2_v2`.
|
239
|
+
# @!attribute [rw] ssh_config
|
240
|
+
# @return [::Google::Cloud::GkeMultiCloud::V1::AzureSshConfig]
|
241
|
+
# Required. SSH configuration for how to access the underlying control plane
|
242
|
+
# machines.
|
243
|
+
# @!attribute [rw] root_volume
|
244
|
+
# @return [::Google::Cloud::GkeMultiCloud::V1::AzureDiskTemplate]
|
245
|
+
# Optional. Configuration related to the root volume provisioned for each
|
246
|
+
# control plane replica.
|
247
|
+
#
|
248
|
+
# When unspecified, it defaults to 32-GiB Azure Disk.
|
249
|
+
# @!attribute [rw] main_volume
|
250
|
+
# @return [::Google::Cloud::GkeMultiCloud::V1::AzureDiskTemplate]
|
251
|
+
# Optional. Configuration related to the main volume provisioned for each
|
252
|
+
# control plane replica.
|
253
|
+
# The main volume is in charge of storing all of the cluster's etcd state.
|
254
|
+
#
|
255
|
+
# When unspecified, it defaults to a 8-GiB Azure Disk.
|
256
|
+
# @!attribute [rw] database_encryption
|
257
|
+
# @return [::Google::Cloud::GkeMultiCloud::V1::AzureDatabaseEncryption]
|
258
|
+
# Optional. Configuration related to application-layer secrets encryption.
|
259
|
+
# @!attribute [rw] proxy_config
|
260
|
+
# @return [::Google::Cloud::GkeMultiCloud::V1::AzureProxyConfig]
|
261
|
+
# Optional. Proxy configuration for outbound HTTP(S) traffic.
|
262
|
+
# @!attribute [rw] config_encryption
|
263
|
+
# @return [::Google::Cloud::GkeMultiCloud::V1::AzureConfigEncryption]
|
264
|
+
# Optional. Configuration related to vm config encryption.
|
265
|
+
# @!attribute [rw] tags
|
266
|
+
# @return [::Google::Protobuf::Map{::String => ::String}]
|
267
|
+
# Optional. A set of tags to apply to all underlying control plane Azure resources.
|
268
|
+
# @!attribute [rw] replica_placements
|
269
|
+
# @return [::Array<::Google::Cloud::GkeMultiCloud::V1::ReplicaPlacement>]
|
270
|
+
# Optional. Configuration for where to place the control plane replicas.
|
271
|
+
#
|
272
|
+
# Up to three replica placement instances can be specified. If
|
273
|
+
# replica_placements is set, the replica placement instances will be applied
|
274
|
+
# to the three control plane replicas as evenly as possible.
|
275
|
+
# @!attribute [rw] endpoint_subnet_id
|
276
|
+
# @return [::String]
|
277
|
+
# Optional. The ARM ID of the subnet where the control plane load balancer is deployed.
|
278
|
+
# When unspecified, it defaults to AzureControlPlane.subnet_id.
|
279
|
+
#
|
280
|
+
# Example:
|
281
|
+
# "/subscriptions/d00494d6-6f3c-4280-bbb2-899e163d1d30/resourceGroups/anthos_cluster_gkeust4/providers/Microsoft.Network/virtualNetworks/gke-vnet-gkeust4/subnets/subnetid123"
|
282
|
+
class AzureControlPlane
|
283
|
+
include ::Google::Protobuf::MessageExts
|
284
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
285
|
+
|
286
|
+
# @!attribute [rw] key
|
287
|
+
# @return [::String]
|
288
|
+
# @!attribute [rw] value
|
289
|
+
# @return [::String]
|
290
|
+
class TagsEntry
|
291
|
+
include ::Google::Protobuf::MessageExts
|
292
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
293
|
+
end
|
294
|
+
end
|
295
|
+
|
296
|
+
# Configuration for the placement of a control plane replica.
|
297
|
+
# @!attribute [rw] subnet_id
|
298
|
+
# @return [::String]
|
299
|
+
# Required. For a given replica, the ARM ID of the subnet where the control plane VM is
|
300
|
+
# deployed. Make sure it's a subnet under the virtual network in the cluster
|
301
|
+
# configuration.
|
302
|
+
# @!attribute [rw] azure_availability_zone
|
303
|
+
# @return [::String]
|
304
|
+
# Required. For a given replica, the Azure availability zone where to provision the
|
305
|
+
# control plane VM and the ETCD disk.
|
306
|
+
class ReplicaPlacement
|
307
|
+
include ::Google::Protobuf::MessageExts
|
308
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
309
|
+
end
|
310
|
+
|
311
|
+
# Details of a proxy config stored in Azure Key Vault.
|
312
|
+
# @!attribute [rw] resource_group_id
|
313
|
+
# @return [::String]
|
314
|
+
# The ARM ID the of the resource group containing proxy keyvault.
|
315
|
+
#
|
316
|
+
# Resource group ids are formatted as
|
317
|
+
# `/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>`.
|
318
|
+
# @!attribute [rw] secret_id
|
319
|
+
# @return [::String]
|
320
|
+
# The URL the of the proxy setting secret with its version.
|
321
|
+
#
|
322
|
+
# Secret ids are formatted as
|
323
|
+
# `https://<key-vault-name>.vault.azure.net/secrets/<secret-name>/<secret-version>`.
|
324
|
+
class AzureProxyConfig
|
325
|
+
include ::Google::Protobuf::MessageExts
|
326
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
327
|
+
end
|
328
|
+
|
329
|
+
# Configuration related to application-layer secrets encryption.
|
330
|
+
#
|
331
|
+
# Anthos clusters on Azure encrypts your Kubernetes data at rest
|
332
|
+
# in etcd using Azure Key Vault.
|
333
|
+
# @!attribute [rw] key_id
|
334
|
+
# @return [::String]
|
335
|
+
# Required. The ARM ID of the Azure Key Vault key to encrypt / decrypt data.
|
336
|
+
#
|
337
|
+
# For example:
|
338
|
+
# `/subscriptions/<subscription-id>/resourceGroups/<resource-group-id>/providers/Microsoft.KeyVault/vaults/<key-vault-id>/keys/<key-name>`
|
339
|
+
# Encryption will always take the latest version of the key and hence
|
340
|
+
# specific version is not supported.
|
341
|
+
class AzureDatabaseEncryption
|
342
|
+
include ::Google::Protobuf::MessageExts
|
343
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
344
|
+
end
|
345
|
+
|
346
|
+
# Configuration related to config data encryption.
|
347
|
+
#
|
348
|
+
# Azure VM bootstrap secret is envelope encrypted with the provided key vault
|
349
|
+
# key.
|
350
|
+
# @!attribute [rw] key_id
|
351
|
+
# @return [::String]
|
352
|
+
# Required. The ARM ID of the Azure Key Vault key to encrypt / decrypt config data.
|
353
|
+
#
|
354
|
+
# For example:
|
355
|
+
# `/subscriptions/<subscription-id>/resourceGroups/<resource-group-id>/providers/Microsoft.KeyVault/vaults/<key-vault-id>/keys/<key-name>`
|
356
|
+
# @!attribute [rw] public_key
|
357
|
+
# @return [::String]
|
358
|
+
# Optional. RSA key of the Azure Key Vault public key to use for encrypting the data.
|
359
|
+
#
|
360
|
+
# This key must be formatted as a PEM-encoded SubjectPublicKeyInfo (RFC 5280)
|
361
|
+
# in ASN.1 DER form. The string must be comprised of a single PEM block of
|
362
|
+
# type "PUBLIC KEY".
|
363
|
+
class AzureConfigEncryption
|
364
|
+
include ::Google::Protobuf::MessageExts
|
365
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
366
|
+
end
|
367
|
+
|
368
|
+
# Configuration for Azure Disks.
|
369
|
+
# @!attribute [rw] size_gib
|
370
|
+
# @return [::Integer]
|
371
|
+
# Optional. The size of the disk, in GiBs.
|
372
|
+
#
|
373
|
+
# When unspecified, a default value is provided. See the specific reference
|
374
|
+
# in the parent resource.
|
375
|
+
class AzureDiskTemplate
|
376
|
+
include ::Google::Protobuf::MessageExts
|
377
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
378
|
+
end
|
379
|
+
|
380
|
+
# `AzureClient` resources hold client authentication information needed by the
|
381
|
+
# Anthos Multi-Cloud API to manage Azure resources on your Azure subscription.
|
382
|
+
#
|
383
|
+
# When an {::Google::Cloud::GkeMultiCloud::V1::AzureCluster AzureCluster} is created, an `AzureClient` resource needs to be
|
384
|
+
# provided and all operations on Azure resources associated to that cluster
|
385
|
+
# will authenticate to Azure services using the given client.
|
386
|
+
#
|
387
|
+
# `AzureClient` resources are immutable and cannot be modified upon creation.
|
388
|
+
#
|
389
|
+
# Each `AzureClient` resource is bound to a single Azure Active Directory
|
390
|
+
# Application and tenant.
|
391
|
+
# @!attribute [rw] name
|
392
|
+
# @return [::String]
|
393
|
+
# The name of this resource.
|
394
|
+
#
|
395
|
+
# `AzureClient` resource names are formatted as
|
396
|
+
# `projects/<project-number>/locations/<region>/azureClients/<client-id>`.
|
397
|
+
#
|
398
|
+
# See [Resource Names](https://cloud.google.com/apis/design/resource_names)
|
399
|
+
# for more details on Google Cloud resource names.
|
400
|
+
# @!attribute [rw] tenant_id
|
401
|
+
# @return [::String]
|
402
|
+
# Required. The Azure Active Directory Tenant ID.
|
403
|
+
# @!attribute [rw] application_id
|
404
|
+
# @return [::String]
|
405
|
+
# Required. The Azure Active Directory Application ID.
|
406
|
+
# @!attribute [rw] annotations
|
407
|
+
# @return [::Google::Protobuf::Map{::String => ::String}]
|
408
|
+
# Optional. Annotations on the resource.
|
409
|
+
#
|
410
|
+
# This field has the same restrictions as Kubernetes annotations.
|
411
|
+
# The total size of all keys and values combined is limited to 256k.
|
412
|
+
# Keys can have 2 segments: prefix (optional) and name (required),
|
413
|
+
# separated by a slash (/).
|
414
|
+
# Prefix must be a DNS subdomain.
|
415
|
+
# Name must be 63 characters or less, begin and end with alphanumerics,
|
416
|
+
# with dashes (-), underscores (_), dots (.), and alphanumerics between.
|
417
|
+
# @!attribute [r] pem_certificate
|
418
|
+
# @return [::String]
|
419
|
+
# Output only. The PEM encoded x509 certificate.
|
420
|
+
# @!attribute [r] uid
|
421
|
+
# @return [::String]
|
422
|
+
# Output only. A globally unique identifier for the client.
|
423
|
+
# @!attribute [r] create_time
|
424
|
+
# @return [::Google::Protobuf::Timestamp]
|
425
|
+
# Output only. The time at which this resource was created.
|
426
|
+
class AzureClient
|
427
|
+
include ::Google::Protobuf::MessageExts
|
428
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
429
|
+
|
430
|
+
# @!attribute [rw] key
|
431
|
+
# @return [::String]
|
432
|
+
# @!attribute [rw] value
|
433
|
+
# @return [::String]
|
434
|
+
class AnnotationsEntry
|
435
|
+
include ::Google::Protobuf::MessageExts
|
436
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
437
|
+
end
|
438
|
+
end
|
439
|
+
|
440
|
+
# Configuration related to the cluster RBAC settings.
|
441
|
+
# @!attribute [rw] admin_users
|
442
|
+
# @return [::Array<::Google::Cloud::GkeMultiCloud::V1::AzureClusterUser>]
|
443
|
+
# Required. Users that can perform operations as a cluster admin. A managed
|
444
|
+
# ClusterRoleBinding will be created to grant the `cluster-admin` ClusterRole
|
445
|
+
# to the users. Up to ten admin users can be provided.
|
446
|
+
#
|
447
|
+
# For more info on RBAC, see
|
448
|
+
# https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles
|
449
|
+
class AzureAuthorization
|
450
|
+
include ::Google::Protobuf::MessageExts
|
451
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
452
|
+
end
|
453
|
+
|
454
|
+
# Identities of a user-type subject for Azure clusters.
|
455
|
+
# @!attribute [rw] username
|
456
|
+
# @return [::String]
|
457
|
+
# Required. The name of the user, e.g. `my-gcp-id@gmail.com`.
|
458
|
+
class AzureClusterUser
|
459
|
+
include ::Google::Protobuf::MessageExts
|
460
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
461
|
+
end
|
462
|
+
|
463
|
+
# An Anthos node pool running on Azure.
|
464
|
+
# @!attribute [rw] name
|
465
|
+
# @return [::String]
|
466
|
+
# The name of this resource.
|
467
|
+
#
|
468
|
+
# Node pool names are formatted as
|
469
|
+
# `projects/<project-number>/locations/<region>/azureClusters/<cluster-id>/azureNodePools/<node-pool-id>`.
|
470
|
+
#
|
471
|
+
# For more details on Google Cloud resource names,
|
472
|
+
# see [Resource Names](https://cloud.google.com/apis/design/resource_names)
|
473
|
+
# @!attribute [rw] version
|
474
|
+
# @return [::String]
|
475
|
+
# Required. The Kubernetes version (e.g. `1.19.10-gke.1000`) running on this node pool.
|
476
|
+
# @!attribute [rw] config
|
477
|
+
# @return [::Google::Cloud::GkeMultiCloud::V1::AzureNodeConfig]
|
478
|
+
# Required. The node configuration of the node pool.
|
479
|
+
# @!attribute [rw] subnet_id
|
480
|
+
# @return [::String]
|
481
|
+
# Required. The ARM ID of the subnet where the node pool VMs run. Make sure it's a
|
482
|
+
# subnet under the virtual network in the cluster configuration.
|
483
|
+
# @!attribute [rw] autoscaling
|
484
|
+
# @return [::Google::Cloud::GkeMultiCloud::V1::AzureNodePoolAutoscaling]
|
485
|
+
# Required. Autoscaler configuration for this node pool.
|
486
|
+
# @!attribute [r] state
|
487
|
+
# @return [::Google::Cloud::GkeMultiCloud::V1::AzureNodePool::State]
|
488
|
+
# Output only. The current state of the node pool.
|
489
|
+
# @!attribute [r] uid
|
490
|
+
# @return [::String]
|
491
|
+
# Output only. A globally unique identifier for the node pool.
|
492
|
+
# @!attribute [r] reconciling
|
493
|
+
# @return [::Boolean]
|
494
|
+
# Output only. If set, there are currently pending changes to the node
|
495
|
+
# pool.
|
496
|
+
# @!attribute [r] create_time
|
497
|
+
# @return [::Google::Protobuf::Timestamp]
|
498
|
+
# Output only. The time at which this node pool was created.
|
499
|
+
# @!attribute [r] update_time
|
500
|
+
# @return [::Google::Protobuf::Timestamp]
|
501
|
+
# Output only. The time at which this node pool was last updated.
|
502
|
+
# @!attribute [rw] etag
|
503
|
+
# @return [::String]
|
504
|
+
# Allows clients to perform consistent read-modify-writes
|
505
|
+
# through optimistic concurrency control.
|
506
|
+
#
|
507
|
+
# Can be sent on update and delete requests to ensure the
|
508
|
+
# client has an up-to-date value before proceeding.
|
509
|
+
# @!attribute [rw] annotations
|
510
|
+
# @return [::Google::Protobuf::Map{::String => ::String}]
|
511
|
+
# Optional. Annotations on the node pool.
|
512
|
+
#
|
513
|
+
# This field has the same restrictions as Kubernetes annotations.
|
514
|
+
# The total size of all keys and values combined is limited to 256k.
|
515
|
+
# Keys can have 2 segments: prefix (optional) and name (required),
|
516
|
+
# separated by a slash (/).
|
517
|
+
# Prefix must be a DNS subdomain.
|
518
|
+
# Name must be 63 characters or less, begin and end with alphanumerics,
|
519
|
+
# with dashes (-), underscores (_), dots (.), and alphanumerics between.
|
520
|
+
# @!attribute [rw] max_pods_constraint
|
521
|
+
# @return [::Google::Cloud::GkeMultiCloud::V1::MaxPodsConstraint]
|
522
|
+
# Required. The constraint on the maximum number of pods that can be run
|
523
|
+
# simultaneously on a node in the node pool.
|
524
|
+
# @!attribute [rw] azure_availability_zone
|
525
|
+
# @return [::String]
|
526
|
+
# Optional. The Azure availability zone of the nodes in this nodepool.
|
527
|
+
#
|
528
|
+
# When unspecified, it defaults to `1`.
|
529
|
+
class AzureNodePool
|
530
|
+
include ::Google::Protobuf::MessageExts
|
531
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
532
|
+
|
533
|
+
# @!attribute [rw] key
|
534
|
+
# @return [::String]
|
535
|
+
# @!attribute [rw] value
|
536
|
+
# @return [::String]
|
537
|
+
class AnnotationsEntry
|
538
|
+
include ::Google::Protobuf::MessageExts
|
539
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
540
|
+
end
|
541
|
+
|
542
|
+
# The lifecycle state of the node pool.
|
543
|
+
module State
|
544
|
+
# Not set.
|
545
|
+
STATE_UNSPECIFIED = 0
|
546
|
+
|
547
|
+
# The PROVISIONING state indicates the node pool is being created.
|
548
|
+
PROVISIONING = 1
|
549
|
+
|
550
|
+
# The RUNNING state indicates the node pool has been created and is fully
|
551
|
+
# usable.
|
552
|
+
RUNNING = 2
|
553
|
+
|
554
|
+
# The RECONCILING state indicates that the node pool is being reconciled.
|
555
|
+
RECONCILING = 3
|
556
|
+
|
557
|
+
# The STOPPING state indicates the node pool is being deleted.
|
558
|
+
STOPPING = 4
|
559
|
+
|
560
|
+
# The ERROR state indicates the node pool is in a broken unrecoverable
|
561
|
+
# state.
|
562
|
+
ERROR = 5
|
563
|
+
|
564
|
+
# The DEGRADED state indicates the node pool requires user action to
|
565
|
+
# restore full functionality.
|
566
|
+
DEGRADED = 6
|
567
|
+
end
|
568
|
+
end
|
569
|
+
|
570
|
+
# Parameters that describe the configuration of all node machines
|
571
|
+
# on a given node pool.
|
572
|
+
# @!attribute [rw] vm_size
|
573
|
+
# @return [::String]
|
574
|
+
# Optional. The Azure VM size name. Example: `Standard_DS2_v2`.
|
575
|
+
#
|
576
|
+
# See [Supported VM
|
577
|
+
# sizes](/anthos/clusters/docs/azure/reference/supported-vms) for options.
|
578
|
+
#
|
579
|
+
# When unspecified, it defaults to `Standard_DS2_v2`.
|
580
|
+
# @!attribute [rw] root_volume
|
581
|
+
# @return [::Google::Cloud::GkeMultiCloud::V1::AzureDiskTemplate]
|
582
|
+
# Optional. Configuration related to the root volume provisioned for each
|
583
|
+
# node pool machine.
|
584
|
+
#
|
585
|
+
# When unspecified, it defaults to a 32-GiB Azure Disk.
|
586
|
+
# @!attribute [rw] tags
|
587
|
+
# @return [::Google::Protobuf::Map{::String => ::String}]
|
588
|
+
# Optional. A set of tags to apply to all underlying Azure resources for this node
|
589
|
+
# pool. This currently only includes Virtual Machine Scale Sets.
|
590
|
+
#
|
591
|
+
# Specify at most 50 pairs containing alphanumerics, spaces, and symbols
|
592
|
+
# (.+-=_:@/). Keys can be up to 127 Unicode characters. Values can be up to
|
593
|
+
# 255 Unicode characters.
|
594
|
+
# @!attribute [rw] image_type
|
595
|
+
# @return [::String]
|
596
|
+
# Optional. The OS image type to use on node pool instances.
|
597
|
+
# Can have a value of `ubuntu`, or `windows` if the cluster enables
|
598
|
+
# the Windows node pool preview feature.
|
599
|
+
#
|
600
|
+
# When unspecified, it defaults to `ubuntu`.
|
601
|
+
# @!attribute [rw] ssh_config
|
602
|
+
# @return [::Google::Cloud::GkeMultiCloud::V1::AzureSshConfig]
|
603
|
+
# Required. SSH configuration for how to access the node pool machines.
|
604
|
+
# @!attribute [rw] proxy_config
|
605
|
+
# @return [::Google::Cloud::GkeMultiCloud::V1::AzureProxyConfig]
|
606
|
+
# Optional. Proxy configuration for outbound HTTP(S) traffic.
|
607
|
+
# @!attribute [rw] config_encryption
|
608
|
+
# @return [::Google::Cloud::GkeMultiCloud::V1::AzureConfigEncryption]
|
609
|
+
# Optional. Configuration related to vm config encryption.
|
610
|
+
# @!attribute [rw] taints
|
611
|
+
# @return [::Array<::Google::Cloud::GkeMultiCloud::V1::NodeTaint>]
|
612
|
+
# Optional. The initial taints assigned to nodes of this node pool.
|
613
|
+
# @!attribute [rw] labels
|
614
|
+
# @return [::Google::Protobuf::Map{::String => ::String}]
|
615
|
+
# Optional. The initial labels assigned to nodes of this node pool. An object
|
616
|
+
# containing a list of "key": value pairs. Example: { "name": "wrench",
|
617
|
+
# "mass": "1.3kg", "count": "3" }.
|
618
|
+
class AzureNodeConfig
|
619
|
+
include ::Google::Protobuf::MessageExts
|
620
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
621
|
+
|
622
|
+
# @!attribute [rw] key
|
623
|
+
# @return [::String]
|
624
|
+
# @!attribute [rw] value
|
625
|
+
# @return [::String]
|
626
|
+
class TagsEntry
|
627
|
+
include ::Google::Protobuf::MessageExts
|
628
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
629
|
+
end
|
630
|
+
|
631
|
+
# @!attribute [rw] key
|
632
|
+
# @return [::String]
|
633
|
+
# @!attribute [rw] value
|
634
|
+
# @return [::String]
|
635
|
+
class LabelsEntry
|
636
|
+
include ::Google::Protobuf::MessageExts
|
637
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
638
|
+
end
|
639
|
+
end
|
640
|
+
|
641
|
+
# Configuration related to Kubernetes cluster autoscaler.
|
642
|
+
#
|
643
|
+
# The Kubernetes cluster autoscaler will automatically adjust the
|
644
|
+
# size of the node pool based on the cluster load.
|
645
|
+
# @!attribute [rw] min_node_count
|
646
|
+
# @return [::Integer]
|
647
|
+
# Required. Minimum number of nodes in the node pool. Must be greater than or equal to
|
648
|
+
# 1 and less than or equal to max_node_count.
|
649
|
+
# @!attribute [rw] max_node_count
|
650
|
+
# @return [::Integer]
|
651
|
+
# Required. Maximum number of nodes in the node pool. Must be greater than or equal to
|
652
|
+
# min_node_count and less than or equal to 50.
|
653
|
+
class AzureNodePoolAutoscaling
|
654
|
+
include ::Google::Protobuf::MessageExts
|
655
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
656
|
+
end
|
657
|
+
|
658
|
+
# AzureServerConfig contains information about a Google Cloud location, such as
|
659
|
+
# supported Azure regions and Kubernetes versions.
|
660
|
+
# @!attribute [rw] name
|
661
|
+
# @return [::String]
|
662
|
+
# The `AzureServerConfig` resource name.
|
663
|
+
#
|
664
|
+
# `AzureServerConfig` names are formatted as
|
665
|
+
# `projects/<project-number>/locations/<region>/azureServerConfig`.
|
666
|
+
#
|
667
|
+
# See [Resource Names](https://cloud.google.com/apis/design/resource_names)
|
668
|
+
# for more details on GCP resource names.
|
669
|
+
# @!attribute [rw] valid_versions
|
670
|
+
# @return [::Array<::Google::Cloud::GkeMultiCloud::V1::AzureK8sVersionInfo>]
|
671
|
+
# List of valid Kubernetes versions.
|
672
|
+
# @!attribute [rw] supported_azure_regions
|
673
|
+
# @return [::Array<::String>]
|
674
|
+
# The list of supported Azure regions.
|
675
|
+
class AzureServerConfig
|
676
|
+
include ::Google::Protobuf::MessageExts
|
677
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
678
|
+
end
|
679
|
+
|
680
|
+
# Information about a supported Kubernetes version.
|
681
|
+
# @!attribute [rw] version
|
682
|
+
# @return [::String]
|
683
|
+
# A supported Kubernetes version (for example, `1.19.10-gke.1000`)
|
684
|
+
class AzureK8sVersionInfo
|
685
|
+
include ::Google::Protobuf::MessageExts
|
686
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
687
|
+
end
|
688
|
+
|
689
|
+
# SSH configuration for Azure resources.
|
690
|
+
# @!attribute [rw] authorized_key
|
691
|
+
# @return [::String]
|
692
|
+
# Required. The SSH public key data for VMs managed by Anthos. This accepts the
|
693
|
+
# authorized_keys file format used in OpenSSH according to the sshd(8) manual
|
694
|
+
# page.
|
695
|
+
class AzureSshConfig
|
696
|
+
include ::Google::Protobuf::MessageExts
|
697
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
698
|
+
end
|
699
|
+
|
700
|
+
# Managed Azure resources for the cluster.
|
701
|
+
#
|
702
|
+
# The values could change and be empty, depending on the state of the cluster.
|
703
|
+
# @!attribute [r] network_security_group_id
|
704
|
+
# @return [::String]
|
705
|
+
# Output only. The ARM ID of the cluster network security group.
|
706
|
+
# @!attribute [r] control_plane_application_security_group_id
|
707
|
+
# @return [::String]
|
708
|
+
# Output only. The ARM ID of the control plane application security group.
|
709
|
+
class AzureClusterResources
|
710
|
+
include ::Google::Protobuf::MessageExts
|
711
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
712
|
+
end
|
713
|
+
end
|
714
|
+
end
|
715
|
+
end
|
716
|
+
end
|