google-cloud-container 0.11.0 → 1.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (28) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +2 -1
  3. data/AUTHENTICATION.md +51 -54
  4. data/LICENSE.md +203 -0
  5. data/MIGRATING.md +280 -0
  6. data/README.md +93 -34
  7. data/lib/{google/cloud/container/v1/doc/google/protobuf/empty.rb → google-cloud-container.rb} +4 -14
  8. data/lib/google/cloud/container.rb +87 -128
  9. data/lib/google/cloud/container/version.rb +6 -2
  10. metadata +72 -58
  11. data/LICENSE +0 -201
  12. data/lib/google/cloud/container/v1.rb +0 -157
  13. data/lib/google/cloud/container/v1/cluster_manager_client.rb +0 -2197
  14. data/lib/google/cloud/container/v1/cluster_manager_client_config.json +0 -181
  15. data/lib/google/cloud/container/v1/credentials.rb +0 -41
  16. data/lib/google/cloud/container/v1/doc/google/container/v1/cluster_service.rb +0 -2358
  17. data/lib/google/cloud/container/v1/doc/google/protobuf/timestamp.rb +0 -113
  18. data/lib/google/cloud/container/v1beta1.rb +0 -157
  19. data/lib/google/cloud/container/v1beta1/cluster_manager_client.rb +0 -2515
  20. data/lib/google/cloud/container/v1beta1/cluster_manager_client_config.json +0 -186
  21. data/lib/google/cloud/container/v1beta1/credentials.rb +0 -41
  22. data/lib/google/cloud/container/v1beta1/doc/google/container/v1beta1/cluster_service.rb +0 -2533
  23. data/lib/google/cloud/container/v1beta1/doc/google/protobuf/empty.rb +0 -29
  24. data/lib/google/cloud/container/v1beta1/doc/google/protobuf/timestamp.rb +0 -113
  25. data/lib/google/container/v1/cluster_service_pb.rb +0 -729
  26. data/lib/google/container/v1/cluster_service_services_pb.rb +0 -132
  27. data/lib/google/container/v1beta1/cluster_service_pb.rb +0 -798
  28. data/lib/google/container/v1beta1/cluster_service_services_pb.rb +0 -134
@@ -1,186 +0,0 @@
1
- {
2
- "interfaces": {
3
- "google.container.v1beta1.ClusterManager": {
4
- "retry_codes": {
5
- "idempotent": [
6
- "DEADLINE_EXCEEDED",
7
- "UNAVAILABLE"
8
- ],
9
- "non_idempotent": []
10
- },
11
- "retry_params": {
12
- "default": {
13
- "initial_retry_delay_millis": 100,
14
- "retry_delay_multiplier": 1.3,
15
- "max_retry_delay_millis": 60000,
16
- "initial_rpc_timeout_millis": 20000,
17
- "rpc_timeout_multiplier": 1.0,
18
- "max_rpc_timeout_millis": 20000,
19
- "total_timeout_millis": 600000
20
- }
21
- },
22
- "methods": {
23
- "ListClusters": {
24
- "timeout_millis": 60000,
25
- "retry_codes_name": "idempotent",
26
- "retry_params_name": "default"
27
- },
28
- "GetCluster": {
29
- "timeout_millis": 60000,
30
- "retry_codes_name": "idempotent",
31
- "retry_params_name": "default"
32
- },
33
- "CreateCluster": {
34
- "timeout_millis": 60000,
35
- "retry_codes_name": "non_idempotent",
36
- "retry_params_name": "default"
37
- },
38
- "UpdateCluster": {
39
- "timeout_millis": 60000,
40
- "retry_codes_name": "non_idempotent",
41
- "retry_params_name": "default"
42
- },
43
- "UpdateNodePool": {
44
- "timeout_millis": 60000,
45
- "retry_codes_name": "non_idempotent",
46
- "retry_params_name": "default"
47
- },
48
- "SetNodePoolAutoscaling": {
49
- "timeout_millis": 60000,
50
- "retry_codes_name": "non_idempotent",
51
- "retry_params_name": "default"
52
- },
53
- "SetLoggingService": {
54
- "timeout_millis": 60000,
55
- "retry_codes_name": "non_idempotent",
56
- "retry_params_name": "default"
57
- },
58
- "SetMonitoringService": {
59
- "timeout_millis": 60000,
60
- "retry_codes_name": "non_idempotent",
61
- "retry_params_name": "default"
62
- },
63
- "SetAddonsConfig": {
64
- "timeout_millis": 60000,
65
- "retry_codes_name": "non_idempotent",
66
- "retry_params_name": "default"
67
- },
68
- "SetLocations": {
69
- "timeout_millis": 60000,
70
- "retry_codes_name": "non_idempotent",
71
- "retry_params_name": "default"
72
- },
73
- "UpdateMaster": {
74
- "timeout_millis": 60000,
75
- "retry_codes_name": "non_idempotent",
76
- "retry_params_name": "default"
77
- },
78
- "SetMasterAuth": {
79
- "timeout_millis": 60000,
80
- "retry_codes_name": "non_idempotent",
81
- "retry_params_name": "default"
82
- },
83
- "DeleteCluster": {
84
- "timeout_millis": 60000,
85
- "retry_codes_name": "non_idempotent",
86
- "retry_params_name": "default"
87
- },
88
- "ListOperations": {
89
- "timeout_millis": 60000,
90
- "retry_codes_name": "idempotent",
91
- "retry_params_name": "default"
92
- },
93
- "GetOperation": {
94
- "timeout_millis": 60000,
95
- "retry_codes_name": "idempotent",
96
- "retry_params_name": "default"
97
- },
98
- "CancelOperation": {
99
- "timeout_millis": 60000,
100
- "retry_codes_name": "non_idempotent",
101
- "retry_params_name": "default"
102
- },
103
- "GetServerConfig": {
104
- "timeout_millis": 60000,
105
- "retry_codes_name": "idempotent",
106
- "retry_params_name": "default"
107
- },
108
- "ListNodePools": {
109
- "timeout_millis": 60000,
110
- "retry_codes_name": "idempotent",
111
- "retry_params_name": "default"
112
- },
113
- "GetNodePool": {
114
- "timeout_millis": 60000,
115
- "retry_codes_name": "idempotent",
116
- "retry_params_name": "default"
117
- },
118
- "CreateNodePool": {
119
- "timeout_millis": 60000,
120
- "retry_codes_name": "non_idempotent",
121
- "retry_params_name": "default"
122
- },
123
- "DeleteNodePool": {
124
- "timeout_millis": 60000,
125
- "retry_codes_name": "non_idempotent",
126
- "retry_params_name": "default"
127
- },
128
- "RollbackNodePoolUpgrade": {
129
- "timeout_millis": 60000,
130
- "retry_codes_name": "non_idempotent",
131
- "retry_params_name": "default"
132
- },
133
- "SetNodePoolManagement": {
134
- "timeout_millis": 60000,
135
- "retry_codes_name": "non_idempotent",
136
- "retry_params_name": "default"
137
- },
138
- "SetLabels": {
139
- "timeout_millis": 60000,
140
- "retry_codes_name": "non_idempotent",
141
- "retry_params_name": "default"
142
- },
143
- "SetLegacyAbac": {
144
- "timeout_millis": 60000,
145
- "retry_codes_name": "non_idempotent",
146
- "retry_params_name": "default"
147
- },
148
- "StartIPRotation": {
149
- "timeout_millis": 60000,
150
- "retry_codes_name": "non_idempotent",
151
- "retry_params_name": "default"
152
- },
153
- "CompleteIPRotation": {
154
- "timeout_millis": 60000,
155
- "retry_codes_name": "non_idempotent",
156
- "retry_params_name": "default"
157
- },
158
- "SetNodePoolSize": {
159
- "timeout_millis": 60000,
160
- "retry_codes_name": "non_idempotent",
161
- "retry_params_name": "default"
162
- },
163
- "SetNetworkPolicy": {
164
- "timeout_millis": 60000,
165
- "retry_codes_name": "non_idempotent",
166
- "retry_params_name": "default"
167
- },
168
- "SetMaintenancePolicy": {
169
- "timeout_millis": 60000,
170
- "retry_codes_name": "non_idempotent",
171
- "retry_params_name": "default"
172
- },
173
- "ListUsableSubnetworks": {
174
- "timeout_millis": 60000,
175
- "retry_codes_name": "idempotent",
176
- "retry_params_name": "default"
177
- },
178
- "ListLocations": {
179
- "timeout_millis": 60000,
180
- "retry_codes_name": "idempotent",
181
- "retry_params_name": "default"
182
- }
183
- }
184
- }
185
- }
186
- }
@@ -1,41 +0,0 @@
1
- # Copyright 2020 Google LLC
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # https://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
-
16
- require "googleauth"
17
-
18
- module Google
19
- module Cloud
20
- module Container
21
- module V1beta1
22
- class Credentials < Google::Auth::Credentials
23
- SCOPE = [
24
- "https://www.googleapis.com/auth/cloud-platform"
25
- ].freeze
26
- PATH_ENV_VARS = %w(CONTAINER_CREDENTIALS
27
- CONTAINER_KEYFILE
28
- GOOGLE_CLOUD_CREDENTIALS
29
- GOOGLE_CLOUD_KEYFILE
30
- GCLOUD_KEYFILE)
31
- JSON_ENV_VARS = %w(CONTAINER_CREDENTIALS_JSON
32
- CONTAINER_KEYFILE_JSON
33
- GOOGLE_CLOUD_CREDENTIALS_JSON
34
- GOOGLE_CLOUD_KEYFILE_JSON
35
- GCLOUD_KEYFILE_JSON)
36
- DEFAULT_PATHS = ["~/.config/gcloud/application_default_credentials.json"]
37
- end
38
- end
39
- end
40
- end
41
- end
@@ -1,2533 +0,0 @@
1
- # Copyright 2020 Google LLC
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # https://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
-
16
- module Google
17
- module Container
18
- module V1beta1
19
- # Parameters that describe the nodes in a cluster.
20
- # @!attribute [rw] machine_type
21
- # @return [String]
22
- # The name of a Google Compute Engine [machine
23
- # type](https://cloud.google.com/compute/docs/machine-types) (e.g.
24
- # `n1-standard-1`).
25
- #
26
- # If unspecified, the default machine type is
27
- # `n1-standard-1`.
28
- # @!attribute [rw] disk_size_gb
29
- # @return [Integer]
30
- # Size of the disk attached to each node, specified in GB.
31
- # The smallest allowed disk size is 10GB.
32
- #
33
- # If unspecified, the default disk size is 100GB.
34
- # @!attribute [rw] oauth_scopes
35
- # @return [Array<String>]
36
- # The set of Google API scopes to be made available on all of the
37
- # node VMs under the "default" service account.
38
- #
39
- # The following scopes are recommended, but not required, and by default are
40
- # not included:
41
- #
42
- # * `https://www.googleapis.com/auth/compute` is required for mounting
43
- # persistent storage on your nodes.
44
- # * `https://www.googleapis.com/auth/devstorage.read_only` is required for
45
- # communicating with **gcr.io**
46
- # (the [Google Container Registry](https://cloud.google.com/container-registry/)).
47
- #
48
- # If unspecified, no scopes are added, unless Cloud Logging or Cloud
49
- # Monitoring are enabled, in which case their required scopes will be added.
50
- # @!attribute [rw] service_account
51
- # @return [String]
52
- # The Google Cloud Platform Service Account to be used by the node VMs. If
53
- # no Service Account is specified, the "default" service account is used.
54
- # @!attribute [rw] metadata
55
- # @return [Hash{String => String}]
56
- # The metadata key/value pairs assigned to instances in the cluster.
57
- #
58
- # Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes
59
- # in length. These are reflected as part of a URL in the metadata server.
60
- # Additionally, to avoid ambiguity, keys must not conflict with any other
61
- # metadata keys for the project or be one of the reserved keys:
62
- # "cluster-location"
63
- # "cluster-name"
64
- # "cluster-uid"
65
- # "configure-sh"
66
- # "containerd-configure-sh"
67
- # "enable-oslogin"
68
- # "gci-ensure-gke-docker"
69
- # "gci-metrics-enabled"
70
- # "gci-update-strategy"
71
- # "instance-template"
72
- # "kube-env"
73
- # "startup-script"
74
- # "user-data"
75
- # "disable-address-manager"
76
- # "windows-startup-script-ps1"
77
- # "common-psm1"
78
- # "k8s-node-setup-psm1"
79
- # "install-ssh-psm1"
80
- # "user-profile-psm1"
81
- # "serial-port-logging-enable"
82
- # Values are free-form strings, and only have meaning as interpreted by
83
- # the image running in the instance. The only restriction placed on them is
84
- # that each value's size must be less than or equal to 32 KB.
85
- #
86
- # The total size of all keys and values must be less than 512 KB.
87
- # @!attribute [rw] image_type
88
- # @return [String]
89
- # The image type to use for this node. Note that for a given image type,
90
- # the latest version of it will be used.
91
- # @!attribute [rw] labels
92
- # @return [Hash{String => String}]
93
- # The map of Kubernetes labels (key/value pairs) to be applied to each node.
94
- # These will added in addition to any default label(s) that
95
- # Kubernetes may apply to the node.
96
- # In case of conflict in label keys, the applied set may differ depending on
97
- # the Kubernetes version -- it's best to assume the behavior is undefined
98
- # and conflicts should be avoided.
99
- # For more information, including usage and the valid values, see:
100
- # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
101
- # @!attribute [rw] local_ssd_count
102
- # @return [Integer]
103
- # The number of local SSD disks to be attached to the node.
104
- #
105
- # The limit for this value is dependent upon the maximum number of
106
- # disks available on a machine per zone. See:
107
- # https://cloud.google.com/compute/docs/disks/local-ssd
108
- # for more information.
109
- # @!attribute [rw] tags
110
- # @return [Array<String>]
111
- # The list of instance tags applied to all nodes. Tags are used to identify
112
- # valid sources or targets for network firewalls and are specified by
113
- # the client during cluster or node pool creation. Each tag within the list
114
- # must comply with RFC1035.
115
- # @!attribute [rw] preemptible
116
- # @return [true, false]
117
- # Whether the nodes are created as preemptible VM instances. See:
118
- # https://cloud.google.com/compute/docs/instances/preemptible for more
119
- # inforamtion about preemptible VM instances.
120
- # @!attribute [rw] accelerators
121
- # @return [Array<Google::Container::V1beta1::AcceleratorConfig>]
122
- # A list of hardware accelerators to be attached to each node.
123
- # See https://cloud.google.com/compute/docs/gpus for more information about
124
- # support for GPUs.
125
- # @!attribute [rw] disk_type
126
- # @return [String]
127
- # Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd')
128
- #
129
- # If unspecified, the default disk type is 'pd-standard'
130
- # @!attribute [rw] min_cpu_platform
131
- # @return [String]
132
- # Minimum CPU platform to be used by this instance. The instance may be
133
- # scheduled on the specified or newer CPU platform. Applicable values are the
134
- # friendly names of CPU platforms, such as
135
- # <code>minCpuPlatform: &quot;Intel Haswell&quot;</code> or
136
- # <code>minCpuPlatform: &quot;Intel Sandy Bridge&quot;</code>. For more
137
- # information, read [how to specify min CPU
138
- # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
139
- # To unset the min cpu platform field pass "automatic" as field value.
140
- # @!attribute [rw] workload_metadata_config
141
- # @return [Google::Container::V1beta1::WorkloadMetadataConfig]
142
- # The workload metadata configuration for this node.
143
- # @!attribute [rw] taints
144
- # @return [Array<Google::Container::V1beta1::NodeTaint>]
145
- # List of kubernetes taints to be applied to each node.
146
- #
147
- # For more information, including usage and the valid values, see:
148
- # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
149
- # @!attribute [rw] shielded_instance_config
150
- # @return [Google::Container::V1beta1::ShieldedInstanceConfig]
151
- # Shielded Instance options.
152
- class NodeConfig; end
153
-
154
- # A set of Shielded Instance options.
155
- # @!attribute [rw] enable_secure_boot
156
- # @return [true, false]
157
- # Defines whether the instance has Secure Boot enabled.
158
- #
159
- # Secure Boot helps ensure that the system only runs authentic software by
160
- # verifying the digital signature of all boot components, and halting the
161
- # boot process if signature verification fails.
162
- # @!attribute [rw] enable_integrity_monitoring
163
- # @return [true, false]
164
- # Defines whether the instance has integrity monitoring enabled.
165
- #
166
- # Enables monitoring and attestation of the boot integrity of the instance.
167
- # The attestation is performed against the integrity policy baseline. This
168
- # baseline is initially derived from the implicitly trusted boot image when
169
- # the instance is created.
170
- class ShieldedInstanceConfig; end
171
-
172
- # Kubernetes taint is comprised of three fields: key, value, and effect. Effect
173
- # can only be one of three types: NoSchedule, PreferNoSchedule or NoExecute.
174
- #
175
- # For more information, including usage and the valid values, see:
176
- # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
177
- # @!attribute [rw] key
178
- # @return [String]
179
- # Key for taint.
180
- # @!attribute [rw] value
181
- # @return [String]
182
- # Value for taint.
183
- # @!attribute [rw] effect
184
- # @return [Google::Container::V1beta1::NodeTaint::Effect]
185
- # Effect for taint.
186
- class NodeTaint
187
- # Possible values for Effect in taint.
188
- module Effect
189
- # Not set
190
- EFFECT_UNSPECIFIED = 0
191
-
192
- # NoSchedule
193
- NO_SCHEDULE = 1
194
-
195
- # PreferNoSchedule
196
- PREFER_NO_SCHEDULE = 2
197
-
198
- # NoExecute
199
- NO_EXECUTE = 3
200
- end
201
- end
202
-
203
- # The authentication information for accessing the master endpoint.
204
- # Authentication can be done using HTTP basic auth or using client
205
- # certificates.
206
- # @!attribute [rw] username
207
- # @return [String]
208
- # The username to use for HTTP basic authentication to the master endpoint.
209
- # For clusters v1.6.0 and later, basic authentication can be disabled by
210
- # leaving username unspecified (or setting it to the empty string).
211
- # @!attribute [rw] password
212
- # @return [String]
213
- # The password to use for HTTP basic authentication to the master endpoint.
214
- # Because the master endpoint is open to the Internet, you should create a
215
- # strong password. If a password is provided for cluster creation, username
216
- # must be non-empty.
217
- # @!attribute [rw] client_certificate_config
218
- # @return [Google::Container::V1beta1::ClientCertificateConfig]
219
- # Configuration for client certificate authentication on the cluster. For
220
- # clusters before v1.12, if no configuration is specified, a client
221
- # certificate is issued.
222
- # @!attribute [rw] cluster_ca_certificate
223
- # @return [String]
224
- # [Output only] Base64-encoded public certificate that is the root of
225
- # trust for the cluster.
226
- # @!attribute [rw] client_certificate
227
- # @return [String]
228
- # [Output only] Base64-encoded public certificate used by clients to
229
- # authenticate to the cluster endpoint.
230
- # @!attribute [rw] client_key
231
- # @return [String]
232
- # [Output only] Base64-encoded private key used by clients to authenticate
233
- # to the cluster endpoint.
234
- class MasterAuth; end
235
-
236
- # Configuration for client certificates on the cluster.
237
- # @!attribute [rw] issue_client_certificate
238
- # @return [true, false]
239
- # Issue a client certificate.
240
- class ClientCertificateConfig; end
241
-
242
- # Configuration for the addons that can be automatically spun up in the
243
- # cluster, enabling additional functionality.
244
- # @!attribute [rw] http_load_balancing
245
- # @return [Google::Container::V1beta1::HttpLoadBalancing]
246
- # Configuration for the HTTP (L7) load balancing controller addon, which
247
- # makes it easy to set up HTTP load balancers for services in a cluster.
248
- # @!attribute [rw] horizontal_pod_autoscaling
249
- # @return [Google::Container::V1beta1::HorizontalPodAutoscaling]
250
- # Configuration for the horizontal pod autoscaling feature, which
251
- # increases or decreases the number of replica pods a replication controller
252
- # has based on the resource usage of the existing pods.
253
- # @!attribute [rw] kubernetes_dashboard
254
- # @return [Google::Container::V1beta1::KubernetesDashboard]
255
- # Configuration for the Kubernetes Dashboard.
256
- # This addon is deprecated, and will be disabled in 1.15. It is recommended
257
- # to use the Cloud Console to manage and monitor your Kubernetes clusters,
258
- # workloads and applications. For more information, see:
259
- # https://cloud.google.com/kubernetes-engine/docs/concepts/dashboards
260
- # @!attribute [rw] network_policy_config
261
- # @return [Google::Container::V1beta1::NetworkPolicyConfig]
262
- # Configuration for NetworkPolicy. This only tracks whether the addon
263
- # is enabled or not on the Master, it does not track whether network policy
264
- # is enabled for the nodes.
265
- # @!attribute [rw] istio_config
266
- # @return [Google::Container::V1beta1::IstioConfig]
267
- # Configuration for Istio, an open platform to connect, manage, and secure
268
- # microservices.
269
- # @!attribute [rw] cloud_run_config
270
- # @return [Google::Container::V1beta1::CloudRunConfig]
271
- # Configuration for the Cloud Run addon. The `IstioConfig` addon must be
272
- # enabled in order to enable Cloud Run addon. This option can only be enabled
273
- # at cluster creation time.
274
- class AddonsConfig; end
275
-
276
- # Configuration options for the HTTP (L7) load balancing controller addon,
277
- # which makes it easy to set up HTTP load balancers for services in a cluster.
278
- # @!attribute [rw] disabled
279
- # @return [true, false]
280
- # Whether the HTTP Load Balancing controller is enabled in the cluster.
281
- # When enabled, it runs a small pod in the cluster that manages the load
282
- # balancers.
283
- class HttpLoadBalancing; end
284
-
285
- # Configuration options for the horizontal pod autoscaling feature, which
286
- # increases or decreases the number of replica pods a replication controller
287
- # has based on the resource usage of the existing pods.
288
- # @!attribute [rw] disabled
289
- # @return [true, false]
290
- # Whether the Horizontal Pod Autoscaling feature is enabled in the cluster.
291
- # When enabled, it ensures that a Heapster pod is running in the cluster,
292
- # which is also used by the Cloud Monitoring service.
293
- class HorizontalPodAutoscaling; end
294
-
295
- # Configuration for the Kubernetes Dashboard.
296
- # @!attribute [rw] disabled
297
- # @return [true, false]
298
- # Whether the Kubernetes Dashboard is enabled for this cluster.
299
- class KubernetesDashboard; end
300
-
301
- # Configuration for NetworkPolicy. This only tracks whether the addon
302
- # is enabled or not on the Master, it does not track whether network policy
303
- # is enabled for the nodes.
304
- # @!attribute [rw] disabled
305
- # @return [true, false]
306
- # Whether NetworkPolicy is enabled for this cluster.
307
- class NetworkPolicyConfig; end
308
-
309
- # Configuration options for private clusters.
310
- # @!attribute [rw] enable_private_nodes
311
- # @return [true, false]
312
- # Whether nodes have internal IP addresses only. If enabled, all nodes are
313
- # given only RFC 1918 private addresses and communicate with the master via
314
- # private networking.
315
- # @!attribute [rw] enable_private_endpoint
316
- # @return [true, false]
317
- # Whether the master's internal IP address is used as the cluster endpoint.
318
- # @!attribute [rw] master_ipv4_cidr_block
319
- # @return [String]
320
- # The IP range in CIDR notation to use for the hosted master network. This
321
- # range will be used for assigning internal IP addresses to the master or
322
- # set of masters, as well as the ILB VIP. This range must not overlap with
323
- # any other ranges in use within the cluster's network.
324
- # @!attribute [rw] private_endpoint
325
- # @return [String]
326
- # Output only. The internal IP address of this cluster's master endpoint.
327
- # @!attribute [rw] public_endpoint
328
- # @return [String]
329
- # Output only. The external IP address of this cluster's master endpoint.
330
- class PrivateClusterConfig; end
331
-
332
- # Configuration options for Istio addon.
333
- # @!attribute [rw] disabled
334
- # @return [true, false]
335
- # Whether Istio is enabled for this cluster.
336
- # @!attribute [rw] auth
337
- # @return [Google::Container::V1beta1::IstioConfig::IstioAuthMode]
338
- # The specified Istio auth mode, either none, or mutual TLS.
339
- class IstioConfig
340
- # Istio auth mode, https://istio.io/docs/concepts/security/mutual-tls.html
341
- module IstioAuthMode
342
- # auth not enabled
343
- AUTH_NONE = 0
344
-
345
- # auth mutual TLS enabled
346
- AUTH_MUTUAL_TLS = 1
347
- end
348
- end
349
-
350
- # Configuration options for the Cloud Run feature.
351
- # @!attribute [rw] disabled
352
- # @return [true, false]
353
- # Whether Cloud Run addon is enabled for this cluster.
354
- class CloudRunConfig; end
355
-
356
- # Configuration options for the master authorized networks feature. Enabled
357
- # master authorized networks will disallow all external traffic to access
358
- # Kubernetes master through HTTPS except traffic from the given CIDR blocks,
359
- # Google Compute Engine Public IPs and Google Prod IPs.
360
- # @!attribute [rw] enabled
361
- # @return [true, false]
362
- # Whether or not master authorized networks is enabled.
363
- # @!attribute [rw] cidr_blocks
364
- # @return [Array<Google::Container::V1beta1::MasterAuthorizedNetworksConfig::CidrBlock>]
365
- # cidr_blocks define up to 10 external networks that could access
366
- # Kubernetes master through HTTPS.
367
- class MasterAuthorizedNetworksConfig
368
- # CidrBlock contains an optional name and one CIDR block.
369
- # @!attribute [rw] display_name
370
- # @return [String]
371
- # display_name is an optional field for users to identify CIDR blocks.
372
- # @!attribute [rw] cidr_block
373
- # @return [String]
374
- # cidr_block must be specified in CIDR notation.
375
- class CidrBlock; end
376
- end
377
-
378
- # Configuration for the legacy Attribute Based Access Control authorization
379
- # mode.
380
- # @!attribute [rw] enabled
381
- # @return [true, false]
382
- # Whether the ABAC authorizer is enabled for this cluster. When enabled,
383
- # identities in the system, including service accounts, nodes, and
384
- # controllers, will have statically granted permissions beyond those
385
- # provided by the RBAC configuration or IAM.
386
- class LegacyAbac; end
387
-
388
- # Configuration options for the NetworkPolicy feature.
389
- # https://kubernetes.io/docs/concepts/services-networking/networkpolicies/
390
- # @!attribute [rw] provider
391
- # @return [Google::Container::V1beta1::NetworkPolicy::Provider]
392
- # The selected network policy provider.
393
- # @!attribute [rw] enabled
394
- # @return [true, false]
395
- # Whether network policy is enabled on the cluster.
396
- class NetworkPolicy
397
- # Allowed Network Policy providers.
398
- module Provider
399
- # Not set
400
- PROVIDER_UNSPECIFIED = 0
401
-
402
- # Tigera (Calico Felix).
403
- CALICO = 1
404
- end
405
- end
406
-
407
- # Configuration for controlling how IPs are allocated in the cluster.
408
- # @!attribute [rw] use_ip_aliases
409
- # @return [true, false]
410
- # Whether alias IPs will be used for pod IPs in the cluster.
411
- # @!attribute [rw] create_subnetwork
412
- # @return [true, false]
413
- # Whether a new subnetwork will be created automatically for the cluster.
414
- #
415
- # This field is only applicable when `use_ip_aliases` is true.
416
- # @!attribute [rw] subnetwork_name
417
- # @return [String]
418
- # A custom subnetwork name to be used if `create_subnetwork` is true. If
419
- # this field is empty, then an automatic name will be chosen for the new
420
- # subnetwork.
421
- # @!attribute [rw] cluster_ipv4_cidr
422
- # @return [String]
423
- # This field is deprecated, use cluster_ipv4_cidr_block.
424
- # @!attribute [rw] node_ipv4_cidr
425
- # @return [String]
426
- # This field is deprecated, use node_ipv4_cidr_block.
427
- # @!attribute [rw] services_ipv4_cidr
428
- # @return [String]
429
- # This field is deprecated, use services_ipv4_cidr_block.
430
- # @!attribute [rw] cluster_secondary_range_name
431
- # @return [String]
432
- # The name of the secondary range to be used for the cluster CIDR
433
- # block. The secondary range will be used for pod IP
434
- # addresses. This must be an existing secondary range associated
435
- # with the cluster subnetwork.
436
- #
437
- # This field is only applicable with use_ip_aliases and
438
- # create_subnetwork is false.
439
- # @!attribute [rw] services_secondary_range_name
440
- # @return [String]
441
- # The name of the secondary range to be used as for the services
442
- # CIDR block. The secondary range will be used for service
443
- # ClusterIPs. This must be an existing secondary range associated
444
- # with the cluster subnetwork.
445
- #
446
- # This field is only applicable with use_ip_aliases and
447
- # create_subnetwork is false.
448
- # @!attribute [rw] cluster_ipv4_cidr_block
449
- # @return [String]
450
- # The IP address range for the cluster pod IPs. If this field is set, then
451
- # `cluster.cluster_ipv4_cidr` must be left blank.
452
- #
453
- # This field is only applicable when `use_ip_aliases` is true.
454
- #
455
- # Set to blank to have a range chosen with the default size.
456
- #
457
- # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
458
- # netmask.
459
- #
460
- # Set to a
461
- # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
462
- # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
463
- # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
464
- # to use.
465
- # @!attribute [rw] node_ipv4_cidr_block
466
- # @return [String]
467
- # The IP address range of the instance IPs in this cluster.
468
- #
469
- # This is applicable only if `create_subnetwork` is true.
470
- #
471
- # Set to blank to have a range chosen with the default size.
472
- #
473
- # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
474
- # netmask.
475
- #
476
- # Set to a
477
- # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
478
- # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
479
- # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
480
- # to use.
481
- # @!attribute [rw] services_ipv4_cidr_block
482
- # @return [String]
483
- # The IP address range of the services IPs in this cluster. If blank, a range
484
- # will be automatically chosen with the default size.
485
- #
486
- # This field is only applicable when `use_ip_aliases` is true.
487
- #
488
- # Set to blank to have a range chosen with the default size.
489
- #
490
- # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
491
- # netmask.
492
- #
493
- # Set to a
494
- # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
495
- # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
496
- # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
497
- # to use.
498
- # @!attribute [rw] allow_route_overlap
499
- # @return [true, false]
500
- # If true, allow allocation of cluster CIDR ranges that overlap with certain
501
- # kinds of network routes. By default we do not allow cluster CIDR ranges to
502
- # intersect with any user declared routes. With allow_route_overlap == true,
503
- # we allow overlapping with CIDR ranges that are larger than the cluster CIDR
504
- # range.
505
- #
506
- # If this field is set to true, then cluster and services CIDRs must be
507
- # fully-specified (e.g. `10.96.0.0/14`, but not `/14`), which means:
508
- # 1) When `use_ip_aliases` is true, `cluster_ipv4_cidr_block` and
509
- # `services_ipv4_cidr_block` must be fully-specified.
510
- # 2) When `use_ip_aliases` is false, `cluster.cluster_ipv4_cidr` muse be
511
- # fully-specified.
512
- # @!attribute [rw] tpu_ipv4_cidr_block
513
- # @return [String]
514
- # The IP address range of the Cloud TPUs in this cluster. If unspecified, a
515
- # range will be automatically chosen with the default size.
516
- #
517
- # This field is only applicable when `use_ip_aliases` is true.
518
- #
519
- # If unspecified, the range will use the default size.
520
- #
521
- # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
522
- # netmask.
523
- #
524
- # Set to a
525
- # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
526
- # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
527
- # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
528
- # to use.
529
- class IPAllocationPolicy; end
530
-
531
- # Configuration for Binary Authorization.
532
- # @!attribute [rw] enabled
533
- # @return [true, false]
534
- # Enable Binary Authorization for this cluster. If enabled, all container
535
- # images will be validated by Google Binauthz.
536
- class BinaryAuthorization; end
537
-
538
- # Configuration for the PodSecurityPolicy feature.
539
- # @!attribute [rw] enabled
540
- # @return [true, false]
541
- # Enable the PodSecurityPolicy controller for this cluster. If enabled, pods
542
- # must be valid under a PodSecurityPolicy to be created.
543
- class PodSecurityPolicyConfig; end
544
-
545
- # Configuration for returning group information from authenticators.
546
- # @!attribute [rw] enabled
547
- # @return [true, false]
548
- # Whether this cluster should return group membership lookups
549
- # during authentication using a group of security groups.
550
- # @!attribute [rw] security_group
551
- # @return [String]
552
- # The name of the security group-of-groups to be used. Only relevant
553
- # if enabled = true.
554
- class AuthenticatorGroupsConfig; end
555
-
556
- # A Google Kubernetes Engine cluster.
557
- # @!attribute [rw] name
558
- # @return [String]
559
- # The name of this cluster. The name must be unique within this project
560
- # and location (e.g. zone or region), and can be up to 40 characters with
561
- # the following restrictions:
562
- #
563
- # * Lowercase letters, numbers, and hyphens only.
564
- # * Must start with a letter.
565
- # * Must end with a number or a letter.
566
- # @!attribute [rw] description
567
- # @return [String]
568
- # An optional description of this cluster.
569
- # @!attribute [rw] initial_node_count
570
- # @return [Integer]
571
- # The number of nodes to create in this cluster. You must ensure that your
572
- # Compute Engine <a href="/compute/docs/resource-quotas">resource quota</a>
573
- # is sufficient for this number of instances. You must also have available
574
- # firewall and routes quota.
575
- # For requests, this field should only be used in lieu of a
576
- # "node_pool" object, since this configuration (along with the
577
- # "node_config") will be used to create a "NodePool" object with an
578
- # auto-generated name. Do not use this and a node_pool at the same time.
579
- #
580
- # This field is deprecated, use node_pool.initial_node_count instead.
581
- # @!attribute [rw] node_config
582
- # @return [Google::Container::V1beta1::NodeConfig]
583
- # Parameters used in creating the cluster's nodes.
584
- # For requests, this field should only be used in lieu of a
585
- # "node_pool" object, since this configuration (along with the
586
- # "initial_node_count") will be used to create a "NodePool" object with an
587
- # auto-generated name. Do not use this and a node_pool at the same time.
588
- # For responses, this field will be populated with the node configuration of
589
- # the first node pool. (For configuration of each node pool, see
590
- # `node_pool.config`)
591
- #
592
- # If unspecified, the defaults are used.
593
- # This field is deprecated, use node_pool.config instead.
594
- # @!attribute [rw] master_auth
595
- # @return [Google::Container::V1beta1::MasterAuth]
596
- # The authentication information for accessing the master endpoint.
597
- # If unspecified, the defaults are used:
598
- # For clusters before v1.12, if master_auth is unspecified, `username` will
599
- # be set to "admin", a random password will be generated, and a client
600
- # certificate will be issued.
601
- # @!attribute [rw] logging_service
602
- # @return [String]
603
- # The logging service the cluster should use to write logs.
604
- # Currently available options:
605
- #
606
- # * `logging.googleapis.com` - the Google Cloud Logging service.
607
- # * `none` - no logs will be exported from the cluster.
608
- # * if left as an empty string,`logging.googleapis.com` will be used.
609
- # @!attribute [rw] monitoring_service
610
- # @return [String]
611
- # The monitoring service the cluster should use to write metrics.
612
- # Currently available options:
613
- #
614
- # * `monitoring.googleapis.com` - the Google Cloud Monitoring service.
615
- # * `none` - no metrics will be exported from the cluster.
616
- # * if left as an empty string, `monitoring.googleapis.com` will be used.
617
- # @!attribute [rw] network
618
- # @return [String]
619
- # The name of the Google Compute Engine
620
- # [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks) to which the
621
- # cluster is connected. If left unspecified, the `default` network
622
- # will be used. On output this shows the network ID instead of
623
- # the name.
624
- # @!attribute [rw] cluster_ipv4_cidr
625
- # @return [String]
626
- # The IP address range of the container pods in this cluster, in
627
- # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
628
- # notation (e.g. `10.96.0.0/14`). Leave blank to have
629
- # one automatically chosen or specify a `/14` block in `10.0.0.0/8`.
630
- # @!attribute [rw] addons_config
631
- # @return [Google::Container::V1beta1::AddonsConfig]
632
- # Configurations for the various addons available to run in the cluster.
633
- # @!attribute [rw] subnetwork
634
- # @return [String]
635
- # The name of the Google Compute Engine
636
- # [subnetwork](https://cloud.google.com/compute/docs/subnetworks) to which the
637
- # cluster is connected. On output this shows the subnetwork ID instead of
638
- # the name.
639
- # @!attribute [rw] node_pools
640
- # @return [Array<Google::Container::V1beta1::NodePool>]
641
- # The node pools associated with this cluster.
642
- # This field should not be set if "node_config" or "initial_node_count" are
643
- # specified.
644
- # @!attribute [rw] locations
645
- # @return [Array<String>]
646
- # The list of Google Compute Engine
647
- # [zones](https://cloud.google.com/compute/docs/zones#available) in which the cluster's nodes
648
- # should be located.
649
- # @!attribute [rw] enable_kubernetes_alpha
650
- # @return [true, false]
651
- # Kubernetes alpha features are enabled on this cluster. This includes alpha
652
- # API groups (e.g. v1beta1) and features that may not be production ready in
653
- # the kubernetes version of the master and nodes.
654
- # The cluster has no SLA for uptime and master/node upgrades are disabled.
655
- # Alpha enabled clusters are automatically deleted thirty days after
656
- # creation.
657
- # @!attribute [rw] resource_labels
658
- # @return [Hash{String => String}]
659
- # The resource labels for the cluster to use to annotate any related
660
- # Google Compute Engine resources.
661
- # @!attribute [rw] label_fingerprint
662
- # @return [String]
663
- # The fingerprint of the set of labels for this cluster.
664
- # @!attribute [rw] legacy_abac
665
- # @return [Google::Container::V1beta1::LegacyAbac]
666
- # Configuration for the legacy ABAC authorization mode.
667
- # @!attribute [rw] network_policy
668
- # @return [Google::Container::V1beta1::NetworkPolicy]
669
- # Configuration options for the NetworkPolicy feature.
670
- # @!attribute [rw] ip_allocation_policy
671
- # @return [Google::Container::V1beta1::IPAllocationPolicy]
672
- # Configuration for cluster IP allocation.
673
- # @!attribute [rw] master_authorized_networks_config
674
- # @return [Google::Container::V1beta1::MasterAuthorizedNetworksConfig]
675
- # The configuration options for master authorized networks feature.
676
- # @!attribute [rw] maintenance_policy
677
- # @return [Google::Container::V1beta1::MaintenancePolicy]
678
- # Configure the maintenance policy for this cluster.
679
- # @!attribute [rw] binary_authorization
680
- # @return [Google::Container::V1beta1::BinaryAuthorization]
681
- # Configuration for Binary Authorization.
682
- # @!attribute [rw] pod_security_policy_config
683
- # @return [Google::Container::V1beta1::PodSecurityPolicyConfig]
684
- # Configuration for the PodSecurityPolicy feature.
685
- # @!attribute [rw] autoscaling
686
- # @return [Google::Container::V1beta1::ClusterAutoscaling]
687
- # Cluster-level autoscaling configuration.
688
- # @!attribute [rw] network_config
689
- # @return [Google::Container::V1beta1::NetworkConfig]
690
- # Configuration for cluster networking.
691
- # @!attribute [rw] private_cluster
692
- # @return [true, false]
693
- # If this is a private cluster setup. Private clusters are clusters that, by
694
- # default have no external IP addresses on the nodes and where nodes and the
695
- # master communicate over private IP addresses.
696
- # This field is deprecated, use private_cluster_config.enable_private_nodes
697
- # instead.
698
- # @!attribute [rw] master_ipv4_cidr_block
699
- # @return [String]
700
- # The IP prefix in CIDR notation to use for the hosted master network.
701
- # This prefix will be used for assigning private IP addresses to the
702
- # master or set of masters, as well as the ILB VIP.
703
- # This field is deprecated, use
704
- # private_cluster_config.master_ipv4_cidr_block instead.
705
- # @!attribute [rw] default_max_pods_constraint
706
- # @return [Google::Container::V1beta1::MaxPodsConstraint]
707
- # The default constraint on the maximum number of pods that can be run
708
- # simultaneously on a node in the node pool of this cluster. Only honored
709
- # if cluster created with IP Alias support.
710
- # @!attribute [rw] resource_usage_export_config
711
- # @return [Google::Container::V1beta1::ResourceUsageExportConfig]
712
- # Configuration for exporting resource usages. Resource usage export is
713
- # disabled when this config unspecified.
714
- # @!attribute [rw] authenticator_groups_config
715
- # @return [Google::Container::V1beta1::AuthenticatorGroupsConfig]
716
- # Configuration controlling RBAC group membership information.
717
- # @!attribute [rw] private_cluster_config
718
- # @return [Google::Container::V1beta1::PrivateClusterConfig]
719
- # Configuration for private cluster.
720
- # @!attribute [rw] vertical_pod_autoscaling
721
- # @return [Google::Container::V1beta1::VerticalPodAutoscaling]
722
- # Cluster-level Vertical Pod Autoscaling configuration.
723
- # @!attribute [rw] self_link
724
- # @return [String]
725
- # [Output only] Server-defined URL for the resource.
726
- # @!attribute [rw] zone
727
- # @return [String]
728
- # [Output only] The name of the Google Compute Engine
729
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
730
- # resides.
731
- # This field is deprecated, use location instead.
732
- # @!attribute [rw] endpoint
733
- # @return [String]
734
- # [Output only] The IP address of this cluster's master endpoint.
735
- # The endpoint can be accessed from the internet at
736
- # `https://username:password@endpoint/`.
737
- #
738
- # See the `masterAuth` property of this resource for username and
739
- # password information.
740
- # @!attribute [rw] initial_cluster_version
741
- # @return [String]
742
- # The initial Kubernetes version for this cluster. Valid versions are those
743
- # found in validMasterVersions returned by getServerConfig. The version can
744
- # be upgraded over time; such upgrades are reflected in
745
- # currentMasterVersion and currentNodeVersion.
746
- #
747
- # Users may specify either explicit versions offered by
748
- # Kubernetes Engine or version aliases, which have the following behavior:
749
- #
750
- # * "latest": picks the highest valid Kubernetes version
751
- # * "1.X": picks the highest valid patch+gke.N patch in the 1.X version
752
- # * "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
753
- # * "1.X.Y-gke.N": picks an explicit Kubernetes version
754
- # * "","-": picks the default Kubernetes version
755
- # @!attribute [rw] current_master_version
756
- # @return [String]
757
- # [Output only] The current software version of the master endpoint.
758
- # @!attribute [rw] current_node_version
759
- # @return [String]
760
- # [Output only] Deprecated, use
761
- # [NodePool.version](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters.nodePools)
762
- # instead. The current version of the node software components.
763
- # If they are currently at multiple versions because they're in the process
764
- # of being upgraded, this reflects the minimum version of all nodes.
765
- # @!attribute [rw] create_time
766
- # @return [String]
767
- # [Output only] The time the cluster was created, in
768
- # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
769
- # @!attribute [rw] status
770
- # @return [Google::Container::V1beta1::Cluster::Status]
771
- # [Output only] The current status of this cluster.
772
- # @!attribute [rw] status_message
773
- # @return [String]
774
- # [Output only] Additional information about the current status of this
775
- # cluster, if available.
776
- # @!attribute [rw] node_ipv4_cidr_size
777
- # @return [Integer]
778
- # [Output only] The size of the address space on each node for hosting
779
- # containers. This is provisioned from within the `container_ipv4_cidr`
780
- # range. This field will only be set when cluster is in route-based network
781
- # mode.
782
- # @!attribute [rw] services_ipv4_cidr
783
- # @return [String]
784
- # [Output only] The IP address range of the Kubernetes services in
785
- # this cluster, in
786
- # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
787
- # notation (e.g. `1.2.3.4/29`). Service addresses are
788
- # typically put in the last `/16` from the container CIDR.
789
- # @!attribute [rw] instance_group_urls
790
- # @return [Array<String>]
791
- # Deprecated. Use node_pools.instance_group_urls.
792
- # @!attribute [rw] current_node_count
793
- # @return [Integer]
794
- # [Output only] The number of nodes currently in the cluster. Deprecated.
795
- # Call Kubernetes API directly to retrieve node information.
796
- # @!attribute [rw] expire_time
797
- # @return [String]
798
- # [Output only] The time the cluster will be automatically
799
- # deleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
800
- # @!attribute [rw] location
801
- # @return [String]
802
- # [Output only] The name of the Google Compute Engine
803
- # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available) or
804
- # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available) in which
805
- # the cluster resides.
806
- # @!attribute [rw] enable_tpu
807
- # @return [true, false]
808
- # Enable the ability to use Cloud TPUs in this cluster.
809
- # @!attribute [rw] tpu_ipv4_cidr_block
810
- # @return [String]
811
- # [Output only] The IP address range of the Cloud TPUs in this cluster, in
812
- # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
813
- # notation (e.g. `1.2.3.4/29`).
814
- # @!attribute [rw] database_encryption
815
- # @return [Google::Container::V1beta1::DatabaseEncryption]
816
- # Configuration of etcd encryption.
817
- # @!attribute [rw] conditions
818
- # @return [Array<Google::Container::V1beta1::StatusCondition>]
819
- # Which conditions caused the current cluster state.
820
- class Cluster
821
- # The current status of the cluster.
822
- module Status
823
- # Not set.
824
- STATUS_UNSPECIFIED = 0
825
-
826
- # The PROVISIONING state indicates the cluster is being created.
827
- PROVISIONING = 1
828
-
829
- # The RUNNING state indicates the cluster has been created and is fully
830
- # usable.
831
- RUNNING = 2
832
-
833
- # The RECONCILING state indicates that some work is actively being done on
834
- # the cluster, such as upgrading the master or node software. Details can
835
- # be found in the `statusMessage` field.
836
- RECONCILING = 3
837
-
838
- # The STOPPING state indicates the cluster is being deleted.
839
- STOPPING = 4
840
-
841
- # The ERROR state indicates the cluster may be unusable. Details
842
- # can be found in the `statusMessage` field.
843
- ERROR = 5
844
-
845
- # The DEGRADED state indicates the cluster requires user action to restore
846
- # full functionality. Details can be found in the `statusMessage` field.
847
- DEGRADED = 6
848
- end
849
- end
850
-
851
- # ClusterUpdate describes an update to the cluster. Exactly one update can
852
- # be applied to a cluster with each request, so at most one field can be
853
- # provided.
854
- # @!attribute [rw] desired_node_version
855
- # @return [String]
856
- # The Kubernetes version to change the nodes to (typically an
857
- # upgrade).
858
- #
859
- # Users may specify either explicit versions offered by
860
- # Kubernetes Engine or version aliases, which have the following behavior:
861
- #
862
- # * "latest": picks the highest valid Kubernetes version
863
- # * "1.X": picks the highest valid patch+gke.N patch in the 1.X version
864
- # * "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
865
- # * "1.X.Y-gke.N": picks an explicit Kubernetes version
866
- # * "-": picks the Kubernetes master version
867
- # @!attribute [rw] desired_monitoring_service
868
- # @return [String]
869
- # The monitoring service the cluster should use to write metrics.
870
- # Currently available options:
871
- #
872
- # * "monitoring.googleapis.com/kubernetes" - the Google Cloud Monitoring
873
- # service with Kubernetes-native resource model
874
- # * "monitoring.googleapis.com" - the Google Cloud Monitoring service
875
- # * "none" - no metrics will be exported from the cluster
876
- # @!attribute [rw] desired_addons_config
877
- # @return [Google::Container::V1beta1::AddonsConfig]
878
- # Configurations for the various addons available to run in the cluster.
879
- # @!attribute [rw] desired_node_pool_id
880
- # @return [String]
881
- # The node pool to be upgraded. This field is mandatory if
882
- # "desired_node_version", "desired_image_family",
883
- # "desired_node_pool_autoscaling", or "desired_workload_metadata_config"
884
- # is specified and there is more than one node pool on the cluster.
885
- # @!attribute [rw] desired_image_type
886
- # @return [String]
887
- # The desired image type for the node pool.
888
- # NOTE: Set the "desired_node_pool" field as well.
889
- # @!attribute [rw] desired_node_pool_autoscaling
890
- # @return [Google::Container::V1beta1::NodePoolAutoscaling]
891
- # Autoscaler configuration for the node pool specified in
892
- # desired_node_pool_id. If there is only one pool in the
893
- # cluster and desired_node_pool_id is not provided then
894
- # the change applies to that single node pool.
895
- # @!attribute [rw] desired_locations
896
- # @return [Array<String>]
897
- # The desired list of Google Compute Engine
898
- # [zones](https://cloud.google.com/compute/docs/zones#available) in which the cluster's nodes
899
- # should be located. Changing the locations a cluster is in will result
900
- # in nodes being either created or removed from the cluster, depending on
901
- # whether locations are being added or removed.
902
- #
903
- # This list must always include the cluster's primary zone.
904
- # @!attribute [rw] desired_master_authorized_networks_config
905
- # @return [Google::Container::V1beta1::MasterAuthorizedNetworksConfig]
906
- # The desired configuration options for master authorized networks feature.
907
- # @!attribute [rw] desired_pod_security_policy_config
908
- # @return [Google::Container::V1beta1::PodSecurityPolicyConfig]
909
- # The desired configuration options for the PodSecurityPolicy feature.
910
- # @!attribute [rw] desired_cluster_autoscaling
911
- # @return [Google::Container::V1beta1::ClusterAutoscaling]
912
- # Cluster-level autoscaling configuration.
913
- # @!attribute [rw] desired_binary_authorization
914
- # @return [Google::Container::V1beta1::BinaryAuthorization]
915
- # The desired configuration options for the Binary Authorization feature.
916
- # @!attribute [rw] desired_logging_service
917
- # @return [String]
918
- # The logging service the cluster should use to write metrics.
919
- # Currently available options:
920
- #
921
- # * "logging.googleapis.com/kubernetes" - the Google Cloud Logging
922
- # service with Kubernetes-native resource model
923
- # * "logging.googleapis.com" - the Google Cloud Logging service
924
- # * "none" - no logs will be exported from the cluster
925
- # @!attribute [rw] desired_resource_usage_export_config
926
- # @return [Google::Container::V1beta1::ResourceUsageExportConfig]
927
- # The desired configuration for exporting resource usage.
928
- # @!attribute [rw] desired_vertical_pod_autoscaling
929
- # @return [Google::Container::V1beta1::VerticalPodAutoscaling]
930
- # Cluster-level Vertical Pod Autoscaling configuration.
931
- # @!attribute [rw] desired_intra_node_visibility_config
932
- # @return [Google::Container::V1beta1::IntraNodeVisibilityConfig]
933
- # The desired config of Intra-node visibility.
934
- # @!attribute [rw] desired_master_version
935
- # @return [String]
936
- # The Kubernetes version to change the master to. The only valid value is the
937
- # latest supported version.
938
- #
939
- # Users may specify either explicit versions offered by
940
- # Kubernetes Engine or version aliases, which have the following behavior:
941
- #
942
- # * "latest": picks the highest valid Kubernetes version
943
- # * "1.X": picks the highest valid patch+gke.N patch in the 1.X version
944
- # * "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
945
- # * "1.X.Y-gke.N": picks an explicit Kubernetes version
946
- # * "-": picks the default Kubernetes version
947
- class ClusterUpdate; end
948
-
949
- # This operation resource represents operations that may have happened or are
950
- # happening on the cluster. All fields are output only.
951
- # @!attribute [rw] name
952
- # @return [String]
953
- # The server-assigned ID for the operation.
954
- # @!attribute [rw] zone
955
- # @return [String]
956
- # The name of the Google Compute Engine
957
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the operation
958
- # is taking place.
959
- # This field is deprecated, use location instead.
960
- # @!attribute [rw] operation_type
961
- # @return [Google::Container::V1beta1::Operation::Type]
962
- # The operation type.
963
- # @!attribute [rw] status
964
- # @return [Google::Container::V1beta1::Operation::Status]
965
- # The current status of the operation.
966
- # @!attribute [rw] detail
967
- # @return [String]
968
- # Detailed operation progress, if available.
969
- # @!attribute [rw] status_message
970
- # @return [String]
971
- # If an error has occurred, a textual description of the error.
972
- # @!attribute [rw] self_link
973
- # @return [String]
974
- # Server-defined URL for the resource.
975
- # @!attribute [rw] target_link
976
- # @return [String]
977
- # Server-defined URL for the target of the operation.
978
- # @!attribute [rw] location
979
- # @return [String]
980
- # [Output only] The name of the Google Compute Engine
981
- # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available) or
982
- # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available) in which
983
- # the cluster resides.
984
- # @!attribute [rw] start_time
985
- # @return [String]
986
- # [Output only] The time the operation started, in
987
- # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
988
- # @!attribute [rw] end_time
989
- # @return [String]
990
- # [Output only] The time the operation completed, in
991
- # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
992
- # @!attribute [rw] progress
993
- # @return [Google::Container::V1beta1::OperationProgress]
994
- # [Output only] Progress information for an operation.
995
- # @!attribute [rw] cluster_conditions
996
- # @return [Array<Google::Container::V1beta1::StatusCondition>]
997
- # Which conditions caused the current cluster state.
998
- # @!attribute [rw] nodepool_conditions
999
- # @return [Array<Google::Container::V1beta1::StatusCondition>]
1000
- # Which conditions caused the current node pool state.
1001
- class Operation
1002
- # Current status of the operation.
1003
- module Status
1004
- # Not set.
1005
- STATUS_UNSPECIFIED = 0
1006
-
1007
- # The operation has been created.
1008
- PENDING = 1
1009
-
1010
- # The operation is currently running.
1011
- RUNNING = 2
1012
-
1013
- # The operation is done, either cancelled or completed.
1014
- DONE = 3
1015
-
1016
- # The operation is aborting.
1017
- ABORTING = 4
1018
- end
1019
-
1020
- # Operation type.
1021
- module Type
1022
- # Not set.
1023
- TYPE_UNSPECIFIED = 0
1024
-
1025
- # Cluster create.
1026
- CREATE_CLUSTER = 1
1027
-
1028
- # Cluster delete.
1029
- DELETE_CLUSTER = 2
1030
-
1031
- # A master upgrade.
1032
- UPGRADE_MASTER = 3
1033
-
1034
- # A node upgrade.
1035
- UPGRADE_NODES = 4
1036
-
1037
- # Cluster repair.
1038
- REPAIR_CLUSTER = 5
1039
-
1040
- # Cluster update.
1041
- UPDATE_CLUSTER = 6
1042
-
1043
- # Node pool create.
1044
- CREATE_NODE_POOL = 7
1045
-
1046
- # Node pool delete.
1047
- DELETE_NODE_POOL = 8
1048
-
1049
- # Set node pool management.
1050
- SET_NODE_POOL_MANAGEMENT = 9
1051
-
1052
- # Automatic node pool repair.
1053
- AUTO_REPAIR_NODES = 10
1054
-
1055
- # Automatic node upgrade.
1056
- AUTO_UPGRADE_NODES = 11
1057
-
1058
- # Set labels.
1059
- SET_LABELS = 12
1060
-
1061
- # Set/generate master auth materials
1062
- SET_MASTER_AUTH = 13
1063
-
1064
- # Set node pool size.
1065
- SET_NODE_POOL_SIZE = 14
1066
-
1067
- # Updates network policy for a cluster.
1068
- SET_NETWORK_POLICY = 15
1069
-
1070
- # Set the maintenance policy.
1071
- SET_MAINTENANCE_POLICY = 16
1072
- end
1073
- end
1074
-
1075
- # Information about operation (or operation stage) progress.
1076
- # @!attribute [rw] name
1077
- # @return [String]
1078
- # A non-parameterized string describing an operation stage.
1079
- # Unset for single-stage operations.
1080
- # @!attribute [rw] status
1081
- # @return [Google::Container::V1beta1::Operation::Status]
1082
- # Status of an operation stage.
1083
- # Unset for single-stage operations.
1084
- # @!attribute [rw] metrics
1085
- # @return [Array<Google::Container::V1beta1::OperationProgress::Metric>]
1086
- # Progress metric bundle, for example:
1087
- # metrics: [{name: "nodes done", int_value: 15},
1088
- # {name: "nodes total", int_value: 32}]
1089
- # or
1090
- # metrics: [{name: "progress", double_value: 0.56},
1091
- # {name: "progress scale", double_value: 1.0}]
1092
- # @!attribute [rw] stages
1093
- # @return [Array<Google::Container::V1beta1::OperationProgress>]
1094
- # Substages of an operation or a stage.
1095
- class OperationProgress
1096
- # Progress metric is (string, int|float|string) pair.
1097
- # @!attribute [rw] name
1098
- # @return [String]
1099
- # Metric name, required.
1100
- # e.g., "nodes total", "percent done"
1101
- # @!attribute [rw] int_value
1102
- # @return [Integer]
1103
- # For metrics with integer value.
1104
- # @!attribute [rw] double_value
1105
- # @return [Float]
1106
- # For metrics with floating point value.
1107
- # @!attribute [rw] string_value
1108
- # @return [String]
1109
- # For metrics with custom values (ratios, visual progress, etc.).
1110
- class Metric; end
1111
- end
1112
-
1113
- # CreateClusterRequest creates a cluster.
1114
- # @!attribute [rw] project_id
1115
- # @return [String]
1116
- # Required. Deprecated. The Google Developers Console [project ID or project
1117
- # number](https://support.google.com/cloud/answer/6158840).
1118
- # This field has been deprecated and replaced by the parent field.
1119
- # @!attribute [rw] zone
1120
- # @return [String]
1121
- # Required. Deprecated. The name of the Google Compute Engine
1122
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1123
- # resides.
1124
- # This field has been deprecated and replaced by the parent field.
1125
- # @!attribute [rw] cluster
1126
- # @return [Google::Container::V1beta1::Cluster]
1127
- # Required. A [cluster
1128
- # resource](https://cloud.google.com/container-engine/reference/rest/v1beta1/projects.zones.clusters)
1129
- # @!attribute [rw] parent
1130
- # @return [String]
1131
- # The parent (project and location) where the cluster will be created.
1132
- # Specified in the format `projects/*/locations/*`.
1133
- class CreateClusterRequest; end
1134
-
1135
- # GetClusterRequest gets the settings of a cluster.
1136
- # @!attribute [rw] project_id
1137
- # @return [String]
1138
- # Required. Deprecated. The Google Developers Console [project ID or project
1139
- # number](https://support.google.com/cloud/answer/6158840).
1140
- # This field has been deprecated and replaced by the name field.
1141
- # @!attribute [rw] zone
1142
- # @return [String]
1143
- # Required. Deprecated. The name of the Google Compute Engine
1144
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1145
- # resides.
1146
- # This field has been deprecated and replaced by the name field.
1147
- # @!attribute [rw] cluster_id
1148
- # @return [String]
1149
- # Required. Deprecated. The name of the cluster to retrieve.
1150
- # This field has been deprecated and replaced by the name field.
1151
- # @!attribute [rw] name
1152
- # @return [String]
1153
- # The name (project, location, cluster) of the cluster to retrieve.
1154
- # Specified in the format `projects/*/locations/*/clusters/*`.
1155
- class GetClusterRequest; end
1156
-
1157
- # UpdateClusterRequest updates the settings of a cluster.
1158
- # @!attribute [rw] project_id
1159
- # @return [String]
1160
- # Required. Deprecated. The Google Developers Console [project ID or project
1161
- # number](https://support.google.com/cloud/answer/6158840).
1162
- # This field has been deprecated and replaced by the name field.
1163
- # @!attribute [rw] zone
1164
- # @return [String]
1165
- # Required. Deprecated. The name of the Google Compute Engine
1166
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1167
- # resides.
1168
- # This field has been deprecated and replaced by the name field.
1169
- # @!attribute [rw] cluster_id
1170
- # @return [String]
1171
- # Required. Deprecated. The name of the cluster to upgrade.
1172
- # This field has been deprecated and replaced by the name field.
1173
- # @!attribute [rw] update
1174
- # @return [Google::Container::V1beta1::ClusterUpdate]
1175
- # Required. A description of the update.
1176
- # @!attribute [rw] name
1177
- # @return [String]
1178
- # The name (project, location, cluster) of the cluster to update.
1179
- # Specified in the format `projects/*/locations/*/clusters/*`.
1180
- class UpdateClusterRequest; end
1181
-
1182
- # SetNodePoolVersionRequest updates the version of a node pool.
1183
- # @!attribute [rw] project_id
1184
- # @return [String]
1185
- # Required. Deprecated. The Google Developers Console [project ID or project
1186
- # number](https://support.google.com/cloud/answer/6158840).
1187
- # This field has been deprecated and replaced by the name field.
1188
- # @!attribute [rw] zone
1189
- # @return [String]
1190
- # Required. Deprecated. The name of the Google Compute Engine
1191
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1192
- # resides.
1193
- # This field has been deprecated and replaced by the name field.
1194
- # @!attribute [rw] cluster_id
1195
- # @return [String]
1196
- # Required. Deprecated. The name of the cluster to upgrade.
1197
- # This field has been deprecated and replaced by the name field.
1198
- # @!attribute [rw] node_pool_id
1199
- # @return [String]
1200
- # Required. Deprecated. The name of the node pool to upgrade.
1201
- # This field has been deprecated and replaced by the name field.
1202
- # @!attribute [rw] node_version
1203
- # @return [String]
1204
- # Required. The Kubernetes version to change the nodes to (typically an
1205
- # upgrade).
1206
- #
1207
- # Users may specify either explicit versions offered by Kubernetes Engine or
1208
- # version aliases, which have the following behavior:
1209
- #
1210
- # * "latest": picks the highest valid Kubernetes version
1211
- # * "1.X": picks the highest valid patch+gke.N patch in the 1.X version
1212
- # * "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
1213
- # * "1.X.Y-gke.N": picks an explicit Kubernetes version
1214
- # * "-": picks the Kubernetes master version
1215
- # @!attribute [rw] image_type
1216
- # @return [String]
1217
- # Required. The desired image type for the node pool.
1218
- # @!attribute [rw] workload_metadata_config
1219
- # @return [Google::Container::V1beta1::WorkloadMetadataConfig]
1220
- # The desired image type for the node pool.
1221
- # @!attribute [rw] name
1222
- # @return [String]
1223
- # The name (project, location, cluster, node pool) of the node pool to
1224
- # update. Specified in the format
1225
- # `projects/*/locations/*/clusters/*/nodePools/*`.
1226
- class UpdateNodePoolRequest; end
1227
-
1228
- # SetNodePoolAutoscalingRequest sets the autoscaler settings of a node pool.
1229
- # @!attribute [rw] project_id
1230
- # @return [String]
1231
- # Required. Deprecated. The Google Developers Console [project ID or project
1232
- # number](https://support.google.com/cloud/answer/6158840).
1233
- # This field has been deprecated and replaced by the name field.
1234
- # @!attribute [rw] zone
1235
- # @return [String]
1236
- # Required. Deprecated. The name of the Google Compute Engine
1237
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1238
- # resides.
1239
- # This field has been deprecated and replaced by the name field.
1240
- # @!attribute [rw] cluster_id
1241
- # @return [String]
1242
- # Required. Deprecated. The name of the cluster to upgrade.
1243
- # This field has been deprecated and replaced by the name field.
1244
- # @!attribute [rw] node_pool_id
1245
- # @return [String]
1246
- # Required. Deprecated. The name of the node pool to upgrade.
1247
- # This field has been deprecated and replaced by the name field.
1248
- # @!attribute [rw] autoscaling
1249
- # @return [Google::Container::V1beta1::NodePoolAutoscaling]
1250
- # Required. Autoscaling configuration for the node pool.
1251
- # @!attribute [rw] name
1252
- # @return [String]
1253
- # The name (project, location, cluster, node pool) of the node pool to set
1254
- # autoscaler settings. Specified in the format
1255
- # `projects/*/locations/*/clusters/*/nodePools/*`.
1256
- class SetNodePoolAutoscalingRequest; end
1257
-
1258
- # SetLoggingServiceRequest sets the logging service of a cluster.
1259
- # @!attribute [rw] project_id
1260
- # @return [String]
1261
- # Required. Deprecated. The Google Developers Console [project ID or project
1262
- # number](https://support.google.com/cloud/answer/6158840).
1263
- # This field has been deprecated and replaced by the name field.
1264
- # @!attribute [rw] zone
1265
- # @return [String]
1266
- # Required. Deprecated. The name of the Google Compute Engine
1267
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1268
- # resides.
1269
- # This field has been deprecated and replaced by the name field.
1270
- # @!attribute [rw] cluster_id
1271
- # @return [String]
1272
- # Required. Deprecated. The name of the cluster to upgrade.
1273
- # This field has been deprecated and replaced by the name field.
1274
- # @!attribute [rw] logging_service
1275
- # @return [String]
1276
- # Required. The logging service the cluster should use to write metrics.
1277
- # Currently available options:
1278
- #
1279
- # * "logging.googleapis.com" - the Google Cloud Logging service
1280
- # * "none" - no metrics will be exported from the cluster
1281
- # @!attribute [rw] name
1282
- # @return [String]
1283
- # The name (project, location, cluster) of the cluster to set logging.
1284
- # Specified in the format `projects/*/locations/*/clusters/*`.
1285
- class SetLoggingServiceRequest; end
1286
-
1287
- # SetMonitoringServiceRequest sets the monitoring service of a cluster.
1288
- # @!attribute [rw] project_id
1289
- # @return [String]
1290
- # Required. Deprecated. The Google Developers Console [project ID or project
1291
- # number](https://support.google.com/cloud/answer/6158840).
1292
- # This field has been deprecated and replaced by the name field.
1293
- # @!attribute [rw] zone
1294
- # @return [String]
1295
- # Required. Deprecated. The name of the Google Compute Engine
1296
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1297
- # resides.
1298
- # This field has been deprecated and replaced by the name field.
1299
- # @!attribute [rw] cluster_id
1300
- # @return [String]
1301
- # Required. Deprecated. The name of the cluster to upgrade.
1302
- # This field has been deprecated and replaced by the name field.
1303
- # @!attribute [rw] monitoring_service
1304
- # @return [String]
1305
- # Required. The monitoring service the cluster should use to write metrics.
1306
- # Currently available options:
1307
- #
1308
- # * "monitoring.googleapis.com" - the Google Cloud Monitoring service
1309
- # * "none" - no metrics will be exported from the cluster
1310
- # @!attribute [rw] name
1311
- # @return [String]
1312
- # The name (project, location, cluster) of the cluster to set monitoring.
1313
- # Specified in the format `projects/*/locations/*/clusters/*`.
1314
- class SetMonitoringServiceRequest; end
1315
-
1316
- # SetAddonsRequest sets the addons associated with the cluster.
1317
- # @!attribute [rw] project_id
1318
- # @return [String]
1319
- # Required. Deprecated. The Google Developers Console [project ID or project
1320
- # number](https://support.google.com/cloud/answer/6158840).
1321
- # This field has been deprecated and replaced by the name field.
1322
- # @!attribute [rw] zone
1323
- # @return [String]
1324
- # Required. Deprecated. The name of the Google Compute Engine
1325
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1326
- # resides.
1327
- # This field has been deprecated and replaced by the name field.
1328
- # @!attribute [rw] cluster_id
1329
- # @return [String]
1330
- # Required. Deprecated. The name of the cluster to upgrade.
1331
- # This field has been deprecated and replaced by the name field.
1332
- # @!attribute [rw] addons_config
1333
- # @return [Google::Container::V1beta1::AddonsConfig]
1334
- # Required. The desired configurations for the various addons available to run in the
1335
- # cluster.
1336
- # @!attribute [rw] name
1337
- # @return [String]
1338
- # The name (project, location, cluster) of the cluster to set addons.
1339
- # Specified in the format `projects/*/locations/*/clusters/*`.
1340
- class SetAddonsConfigRequest; end
1341
-
1342
- # SetLocationsRequest sets the locations of the cluster.
1343
- # @!attribute [rw] project_id
1344
- # @return [String]
1345
- # Required. Deprecated. The Google Developers Console [project ID or project
1346
- # number](https://support.google.com/cloud/answer/6158840).
1347
- # This field has been deprecated and replaced by the name field.
1348
- # @!attribute [rw] zone
1349
- # @return [String]
1350
- # Required. Deprecated. The name of the Google Compute Engine
1351
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1352
- # resides.
1353
- # This field has been deprecated and replaced by the name field.
1354
- # @!attribute [rw] cluster_id
1355
- # @return [String]
1356
- # Required. Deprecated. The name of the cluster to upgrade.
1357
- # This field has been deprecated and replaced by the name field.
1358
- # @!attribute [rw] locations
1359
- # @return [Array<String>]
1360
- # Required. The desired list of Google Compute Engine
1361
- # [zones](https://cloud.google.com/compute/docs/zones#available) in which the cluster's nodes
1362
- # should be located. Changing the locations a cluster is in will result
1363
- # in nodes being either created or removed from the cluster, depending on
1364
- # whether locations are being added or removed.
1365
- #
1366
- # This list must always include the cluster's primary zone.
1367
- # @!attribute [rw] name
1368
- # @return [String]
1369
- # The name (project, location, cluster) of the cluster to set locations.
1370
- # Specified in the format `projects/*/locations/*/clusters/*`.
1371
- class SetLocationsRequest; end
1372
-
1373
- # UpdateMasterRequest updates the master of the cluster.
1374
- # @!attribute [rw] project_id
1375
- # @return [String]
1376
- # Required. Deprecated. The Google Developers Console [project ID or project
1377
- # number](https://support.google.com/cloud/answer/6158840).
1378
- # This field has been deprecated and replaced by the name field.
1379
- # @!attribute [rw] zone
1380
- # @return [String]
1381
- # Required. Deprecated. The name of the Google Compute Engine
1382
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1383
- # resides.
1384
- # This field has been deprecated and replaced by the name field.
1385
- # @!attribute [rw] cluster_id
1386
- # @return [String]
1387
- # Required. Deprecated. The name of the cluster to upgrade.
1388
- # This field has been deprecated and replaced by the name field.
1389
- # @!attribute [rw] master_version
1390
- # @return [String]
1391
- # Required. The Kubernetes version to change the master to.
1392
- #
1393
- # Users may specify either explicit versions offered by
1394
- # Kubernetes Engine or version aliases, which have the following behavior:
1395
- #
1396
- # * "latest": picks the highest valid Kubernetes version
1397
- # * "1.X": picks the highest valid patch+gke.N patch in the 1.X version
1398
- # * "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
1399
- # * "1.X.Y-gke.N": picks an explicit Kubernetes version
1400
- # * "-": picks the default Kubernetes version
1401
- # @!attribute [rw] name
1402
- # @return [String]
1403
- # The name (project, location, cluster) of the cluster to update.
1404
- # Specified in the format `projects/*/locations/*/clusters/*`.
1405
- class UpdateMasterRequest; end
1406
-
1407
- # SetMasterAuthRequest updates the admin password of a cluster.
1408
- # @!attribute [rw] project_id
1409
- # @return [String]
1410
- # Required. Deprecated. The Google Developers Console [project ID or project
1411
- # number](https://support.google.com/cloud/answer/6158840).
1412
- # This field has been deprecated and replaced by the name field.
1413
- # @!attribute [rw] zone
1414
- # @return [String]
1415
- # Required. Deprecated. The name of the Google Compute Engine
1416
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1417
- # resides.
1418
- # This field has been deprecated and replaced by the name field.
1419
- # @!attribute [rw] cluster_id
1420
- # @return [String]
1421
- # Required. Deprecated. The name of the cluster to upgrade.
1422
- # This field has been deprecated and replaced by the name field.
1423
- # @!attribute [rw] action
1424
- # @return [Google::Container::V1beta1::SetMasterAuthRequest::Action]
1425
- # Required. The exact form of action to be taken on the master auth.
1426
- # @!attribute [rw] update
1427
- # @return [Google::Container::V1beta1::MasterAuth]
1428
- # Required. A description of the update.
1429
- # @!attribute [rw] name
1430
- # @return [String]
1431
- # The name (project, location, cluster) of the cluster to set auth.
1432
- # Specified in the format `projects/*/locations/*/clusters/*`.
1433
- class SetMasterAuthRequest
1434
- # Operation type: what type update to perform.
1435
- module Action
1436
- # Operation is unknown and will error out.
1437
- UNKNOWN = 0
1438
-
1439
- # Set the password to a user generated value.
1440
- SET_PASSWORD = 1
1441
-
1442
- # Generate a new password and set it to that.
1443
- GENERATE_PASSWORD = 2
1444
-
1445
- # Set the username. If an empty username is provided, basic authentication
1446
- # is disabled for the cluster. If a non-empty username is provided, basic
1447
- # authentication is enabled, with either a provided password or a generated
1448
- # one.
1449
- SET_USERNAME = 3
1450
- end
1451
- end
1452
-
1453
- # DeleteClusterRequest deletes a cluster.
1454
- # @!attribute [rw] project_id
1455
- # @return [String]
1456
- # Required. Deprecated. The Google Developers Console [project ID or project
1457
- # number](https://support.google.com/cloud/answer/6158840).
1458
- # This field has been deprecated and replaced by the name field.
1459
- # @!attribute [rw] zone
1460
- # @return [String]
1461
- # Required. Deprecated. The name of the Google Compute Engine
1462
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1463
- # resides.
1464
- # This field has been deprecated and replaced by the name field.
1465
- # @!attribute [rw] cluster_id
1466
- # @return [String]
1467
- # Required. Deprecated. The name of the cluster to delete.
1468
- # This field has been deprecated and replaced by the name field.
1469
- # @!attribute [rw] name
1470
- # @return [String]
1471
- # The name (project, location, cluster) of the cluster to delete.
1472
- # Specified in the format `projects/*/locations/*/clusters/*`.
1473
- class DeleteClusterRequest; end
1474
-
1475
- # ListClustersRequest lists clusters.
1476
- # @!attribute [rw] project_id
1477
- # @return [String]
1478
- # Required. Deprecated. The Google Developers Console [project ID or project
1479
- # number](https://support.google.com/cloud/answer/6158840).
1480
- # This field has been deprecated and replaced by the parent field.
1481
- # @!attribute [rw] zone
1482
- # @return [String]
1483
- # Required. Deprecated. The name of the Google Compute Engine
1484
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1485
- # resides, or "-" for all zones.
1486
- # This field has been deprecated and replaced by the parent field.
1487
- # @!attribute [rw] parent
1488
- # @return [String]
1489
- # The parent (project and location) where the clusters will be listed.
1490
- # Specified in the format `projects/*/locations/*`.
1491
- # Location "-" matches all zones and all regions.
1492
- class ListClustersRequest; end
1493
-
1494
- # ListClustersResponse is the result of ListClustersRequest.
1495
- # @!attribute [rw] clusters
1496
- # @return [Array<Google::Container::V1beta1::Cluster>]
1497
- # A list of clusters in the project in the specified zone, or
1498
- # across all ones.
1499
- # @!attribute [rw] missing_zones
1500
- # @return [Array<String>]
1501
- # If any zones are listed here, the list of clusters returned
1502
- # may be missing those zones.
1503
- class ListClustersResponse; end
1504
-
1505
- # GetOperationRequest gets a single operation.
1506
- # @!attribute [rw] project_id
1507
- # @return [String]
1508
- # Required. Deprecated. The Google Developers Console [project ID or project
1509
- # number](https://support.google.com/cloud/answer/6158840).
1510
- # This field has been deprecated and replaced by the name field.
1511
- # @!attribute [rw] zone
1512
- # @return [String]
1513
- # Required. Deprecated. The name of the Google Compute Engine
1514
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1515
- # resides.
1516
- # This field has been deprecated and replaced by the name field.
1517
- # @!attribute [rw] operation_id
1518
- # @return [String]
1519
- # Required. Deprecated. The server-assigned `name` of the operation.
1520
- # This field has been deprecated and replaced by the name field.
1521
- # @!attribute [rw] name
1522
- # @return [String]
1523
- # The name (project, location, operation id) of the operation to get.
1524
- # Specified in the format `projects/*/locations/*/operations/*`.
1525
- class GetOperationRequest; end
1526
-
1527
- # ListOperationsRequest lists operations.
1528
- # @!attribute [rw] project_id
1529
- # @return [String]
1530
- # Required. Deprecated. The Google Developers Console [project ID or project
1531
- # number](https://support.google.com/cloud/answer/6158840).
1532
- # This field has been deprecated and replaced by the parent field.
1533
- # @!attribute [rw] zone
1534
- # @return [String]
1535
- # Required. Deprecated. The name of the Google Compute Engine
1536
- # [zone](https://cloud.google.com/compute/docs/zones#available) to return operations for, or `-` for
1537
- # all zones. This field has been deprecated and replaced by the parent field.
1538
- # @!attribute [rw] parent
1539
- # @return [String]
1540
- # The parent (project and location) where the operations will be listed.
1541
- # Specified in the format `projects/*/locations/*`.
1542
- # Location "-" matches all zones and all regions.
1543
- class ListOperationsRequest; end
1544
-
1545
- # CancelOperationRequest cancels a single operation.
1546
- # @!attribute [rw] project_id
1547
- # @return [String]
1548
- # Required. Deprecated. The Google Developers Console [project ID or project
1549
- # number](https://support.google.com/cloud/answer/6158840).
1550
- # This field has been deprecated and replaced by the name field.
1551
- # @!attribute [rw] zone
1552
- # @return [String]
1553
- # Required. Deprecated. The name of the Google Compute Engine
1554
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the operation resides.
1555
- # This field has been deprecated and replaced by the name field.
1556
- # @!attribute [rw] operation_id
1557
- # @return [String]
1558
- # Required. Deprecated. The server-assigned `name` of the operation.
1559
- # This field has been deprecated and replaced by the name field.
1560
- # @!attribute [rw] name
1561
- # @return [String]
1562
- # The name (project, location, operation id) of the operation to cancel.
1563
- # Specified in the format `projects/*/locations/*/operations/*`.
1564
- class CancelOperationRequest; end
1565
-
1566
- # ListOperationsResponse is the result of ListOperationsRequest.
1567
- # @!attribute [rw] operations
1568
- # @return [Array<Google::Container::V1beta1::Operation>]
1569
- # A list of operations in the project in the specified zone.
1570
- # @!attribute [rw] missing_zones
1571
- # @return [Array<String>]
1572
- # If any zones are listed here, the list of operations returned
1573
- # may be missing the operations from those zones.
1574
- class ListOperationsResponse; end
1575
-
1576
- # Gets the current Kubernetes Engine service configuration.
1577
- # @!attribute [rw] project_id
1578
- # @return [String]
1579
- # Required. Deprecated. The Google Developers Console [project ID or project
1580
- # number](https://support.google.com/cloud/answer/6158840).
1581
- # This field has been deprecated and replaced by the name field.
1582
- # @!attribute [rw] zone
1583
- # @return [String]
1584
- # Required. Deprecated. The name of the Google Compute Engine
1585
- # [zone](https://cloud.google.com/compute/docs/zones#available) to return operations for.
1586
- # This field has been deprecated and replaced by the name field.
1587
- # @!attribute [rw] name
1588
- # @return [String]
1589
- # The name (project and location) of the server config to get,
1590
- # specified in the format `projects/*/locations/*`.
1591
- class GetServerConfigRequest; end
1592
-
1593
- # Kubernetes Engine service configuration.
1594
- # @!attribute [rw] default_cluster_version
1595
- # @return [String]
1596
- # Version of Kubernetes the service deploys by default.
1597
- # @!attribute [rw] valid_node_versions
1598
- # @return [Array<String>]
1599
- # List of valid node upgrade target versions.
1600
- # @!attribute [rw] default_image_type
1601
- # @return [String]
1602
- # Default image type.
1603
- # @!attribute [rw] valid_image_types
1604
- # @return [Array<String>]
1605
- # List of valid image types.
1606
- # @!attribute [rw] valid_master_versions
1607
- # @return [Array<String>]
1608
- # List of valid master versions.
1609
- class ServerConfig; end
1610
-
1611
- # CreateNodePoolRequest creates a node pool for a cluster.
1612
- # @!attribute [rw] project_id
1613
- # @return [String]
1614
- # Required. Deprecated. The Google Developers Console [project ID or project
1615
- # number](https://developers.google.com/console/help/new/#projectnumber).
1616
- # This field has been deprecated and replaced by the parent field.
1617
- # @!attribute [rw] zone
1618
- # @return [String]
1619
- # Required. Deprecated. The name of the Google Compute Engine
1620
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1621
- # resides.
1622
- # This field has been deprecated and replaced by the parent field.
1623
- # @!attribute [rw] cluster_id
1624
- # @return [String]
1625
- # Required. Deprecated. The name of the cluster.
1626
- # This field has been deprecated and replaced by the parent field.
1627
- # @!attribute [rw] node_pool
1628
- # @return [Google::Container::V1beta1::NodePool]
1629
- # Required. The node pool to create.
1630
- # @!attribute [rw] parent
1631
- # @return [String]
1632
- # The parent (project, location, cluster id) where the node pool will be
1633
- # created. Specified in the format
1634
- # `projects/*/locations/*/clusters/*`.
1635
- class CreateNodePoolRequest; end
1636
-
1637
- # DeleteNodePoolRequest deletes a node pool for a cluster.
1638
- # @!attribute [rw] project_id
1639
- # @return [String]
1640
- # Required. Deprecated. The Google Developers Console [project ID or project
1641
- # number](https://developers.google.com/console/help/new/#projectnumber).
1642
- # This field has been deprecated and replaced by the name field.
1643
- # @!attribute [rw] zone
1644
- # @return [String]
1645
- # Required. Deprecated. The name of the Google Compute Engine
1646
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1647
- # resides.
1648
- # This field has been deprecated and replaced by the name field.
1649
- # @!attribute [rw] cluster_id
1650
- # @return [String]
1651
- # Required. Deprecated. The name of the cluster.
1652
- # This field has been deprecated and replaced by the name field.
1653
- # @!attribute [rw] node_pool_id
1654
- # @return [String]
1655
- # Required. Deprecated. The name of the node pool to delete.
1656
- # This field has been deprecated and replaced by the name field.
1657
- # @!attribute [rw] name
1658
- # @return [String]
1659
- # The name (project, location, cluster, node pool id) of the node pool to
1660
- # delete. Specified in the format
1661
- # `projects/*/locations/*/clusters/*/nodePools/*`.
1662
- class DeleteNodePoolRequest; end
1663
-
1664
- # ListNodePoolsRequest lists the node pool(s) for a cluster.
1665
- # @!attribute [rw] project_id
1666
- # @return [String]
1667
- # Required. Deprecated. The Google Developers Console [project ID or project
1668
- # number](https://developers.google.com/console/help/new/#projectnumber).
1669
- # This field has been deprecated and replaced by the parent field.
1670
- # @!attribute [rw] zone
1671
- # @return [String]
1672
- # Required. Deprecated. The name of the Google Compute Engine
1673
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1674
- # resides.
1675
- # This field has been deprecated and replaced by the parent field.
1676
- # @!attribute [rw] cluster_id
1677
- # @return [String]
1678
- # Required. Deprecated. The name of the cluster.
1679
- # This field has been deprecated and replaced by the parent field.
1680
- # @!attribute [rw] parent
1681
- # @return [String]
1682
- # The parent (project, location, cluster id) where the node pools will be
1683
- # listed. Specified in the format `projects/*/locations/*/clusters/*`.
1684
- class ListNodePoolsRequest; end
1685
-
1686
- # GetNodePoolRequest retrieves a node pool for a cluster.
1687
- # @!attribute [rw] project_id
1688
- # @return [String]
1689
- # Required. Deprecated. The Google Developers Console [project ID or project
1690
- # number](https://developers.google.com/console/help/new/#projectnumber).
1691
- # This field has been deprecated and replaced by the name field.
1692
- # @!attribute [rw] zone
1693
- # @return [String]
1694
- # Required. Deprecated. The name of the Google Compute Engine
1695
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1696
- # resides.
1697
- # This field has been deprecated and replaced by the name field.
1698
- # @!attribute [rw] cluster_id
1699
- # @return [String]
1700
- # Required. Deprecated. The name of the cluster.
1701
- # This field has been deprecated and replaced by the name field.
1702
- # @!attribute [rw] node_pool_id
1703
- # @return [String]
1704
- # Required. Deprecated. The name of the node pool.
1705
- # This field has been deprecated and replaced by the name field.
1706
- # @!attribute [rw] name
1707
- # @return [String]
1708
- # The name (project, location, cluster, node pool id) of the node pool to
1709
- # get. Specified in the format
1710
- # `projects/*/locations/*/clusters/*/nodePools/*`.
1711
- class GetNodePoolRequest; end
1712
-
1713
- # NodePool contains the name and configuration for a cluster's node pool.
1714
- # Node pools are a set of nodes (i.e. VM's), with a common configuration and
1715
- # specification, under the control of the cluster master. They may have a set
1716
- # of Kubernetes labels applied to them, which may be used to reference them
1717
- # during pod scheduling. They may also be resized up or down, to accommodate
1718
- # the workload.
1719
- # @!attribute [rw] name
1720
- # @return [String]
1721
- # The name of the node pool.
1722
- # @!attribute [rw] config
1723
- # @return [Google::Container::V1beta1::NodeConfig]
1724
- # The node configuration of the pool.
1725
- # @!attribute [rw] initial_node_count
1726
- # @return [Integer]
1727
- # The initial node count for the pool. You must ensure that your
1728
- # Compute Engine <a href="/compute/docs/resource-quotas">resource quota</a>
1729
- # is sufficient for this number of instances. You must also have available
1730
- # firewall and routes quota.
1731
- # @!attribute [rw] self_link
1732
- # @return [String]
1733
- # [Output only] Server-defined URL for the resource.
1734
- # @!attribute [rw] version
1735
- # @return [String]
1736
- # The version of the Kubernetes of this node.
1737
- # @!attribute [rw] instance_group_urls
1738
- # @return [Array<String>]
1739
- # [Output only] The resource URLs of the [managed instance
1740
- # groups](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances)
1741
- # associated with this node pool.
1742
- # @!attribute [rw] status
1743
- # @return [Google::Container::V1beta1::NodePool::Status]
1744
- # [Output only] The status of the nodes in this pool instance.
1745
- # @!attribute [rw] status_message
1746
- # @return [String]
1747
- # [Output only] Additional information about the current status of this
1748
- # node pool instance, if available.
1749
- # @!attribute [rw] autoscaling
1750
- # @return [Google::Container::V1beta1::NodePoolAutoscaling]
1751
- # Autoscaler configuration for this NodePool. Autoscaler is enabled
1752
- # only if a valid configuration is present.
1753
- # @!attribute [rw] management
1754
- # @return [Google::Container::V1beta1::NodeManagement]
1755
- # NodeManagement configuration for this NodePool.
1756
- # @!attribute [rw] max_pods_constraint
1757
- # @return [Google::Container::V1beta1::MaxPodsConstraint]
1758
- # The constraint on the maximum number of pods that can be run
1759
- # simultaneously on a node in the node pool.
1760
- # @!attribute [rw] conditions
1761
- # @return [Array<Google::Container::V1beta1::StatusCondition>]
1762
- # Which conditions caused the current node pool state.
1763
- # @!attribute [rw] pod_ipv4_cidr_size
1764
- # @return [Integer]
1765
- # [Output only] The pod CIDR block size per node in this node pool.
1766
- class NodePool
1767
- # The current status of the node pool instance.
1768
- module Status
1769
- # Not set.
1770
- STATUS_UNSPECIFIED = 0
1771
-
1772
- # The PROVISIONING state indicates the node pool is being created.
1773
- PROVISIONING = 1
1774
-
1775
- # The RUNNING state indicates the node pool has been created
1776
- # and is fully usable.
1777
- RUNNING = 2
1778
-
1779
- # The RUNNING_WITH_ERROR state indicates the node pool has been created
1780
- # and is partially usable. Some error state has occurred and some
1781
- # functionality may be impaired. Customer may need to reissue a request
1782
- # or trigger a new update.
1783
- RUNNING_WITH_ERROR = 3
1784
-
1785
- # The RECONCILING state indicates that some work is actively being done on
1786
- # the node pool, such as upgrading node software. Details can
1787
- # be found in the `statusMessage` field.
1788
- RECONCILING = 4
1789
-
1790
- # The STOPPING state indicates the node pool is being deleted.
1791
- STOPPING = 5
1792
-
1793
- # The ERROR state indicates the node pool may be unusable. Details
1794
- # can be found in the `statusMessage` field.
1795
- ERROR = 6
1796
- end
1797
- end
1798
-
1799
- # NodeManagement defines the set of node management services turned on for the
1800
- # node pool.
1801
- # @!attribute [rw] auto_upgrade
1802
- # @return [true, false]
1803
- # Whether the nodes will be automatically upgraded.
1804
- # @!attribute [rw] auto_repair
1805
- # @return [true, false]
1806
- # Whether the nodes will be automatically repaired.
1807
- # @!attribute [rw] upgrade_options
1808
- # @return [Google::Container::V1beta1::AutoUpgradeOptions]
1809
- # Specifies the Auto Upgrade knobs for the node pool.
1810
- class NodeManagement; end
1811
-
1812
- # AutoUpgradeOptions defines the set of options for the user to control how
1813
- # the Auto Upgrades will proceed.
1814
- # @!attribute [rw] auto_upgrade_start_time
1815
- # @return [String]
1816
- # [Output only] This field is set when upgrades are about to commence
1817
- # with the approximate start time for the upgrades, in
1818
- # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
1819
- # @!attribute [rw] description
1820
- # @return [String]
1821
- # [Output only] This field is set when upgrades are about to commence
1822
- # with the description of the upgrade.
1823
- class AutoUpgradeOptions; end
1824
-
1825
- # MaintenancePolicy defines the maintenance policy to be used for the cluster.
1826
- # @!attribute [rw] window
1827
- # @return [Google::Container::V1beta1::MaintenanceWindow]
1828
- # Specifies the maintenance window in which maintenance may be performed.
1829
- # @!attribute [rw] resource_version
1830
- # @return [String]
1831
- # A hash identifying the version of this policy, so that updates to fields of
1832
- # the policy won't accidentally undo intermediate changes (and so that users
1833
- # of the API unaware of some fields won't accidentally remove other fields).
1834
- # Make a <code>get()</code> request to the cluster to get the current
1835
- # resource version and include it with requests to set the policy.
1836
- class MaintenancePolicy; end
1837
-
1838
- # MaintenanceWindow defines the maintenance window to be used for the cluster.
1839
- # @!attribute [rw] daily_maintenance_window
1840
- # @return [Google::Container::V1beta1::DailyMaintenanceWindow]
1841
- # DailyMaintenanceWindow specifies a daily maintenance operation window.
1842
- # @!attribute [rw] recurring_window
1843
- # @return [Google::Container::V1beta1::RecurringTimeWindow]
1844
- # RecurringWindow specifies some number of recurring time periods for
1845
- # maintenance to occur. The time windows may be overlapping. If no
1846
- # maintenance windows are set, maintenance can occur at any time.
1847
- # @!attribute [rw] maintenance_exclusions
1848
- # @return [Hash{String => Google::Container::V1beta1::TimeWindow}]
1849
- # Exceptions to maintenance window. Non-emergency maintenance should not
1850
- # occur in these windows.
1851
- class MaintenanceWindow; end
1852
-
1853
- # Represents an arbitrary window of time.
1854
- # @!attribute [rw] start_time
1855
- # @return [Google::Protobuf::Timestamp]
1856
- # The time that the window first starts.
1857
- # @!attribute [rw] end_time
1858
- # @return [Google::Protobuf::Timestamp]
1859
- # The time that the window ends. The end time should take place after the
1860
- # start time.
1861
- class TimeWindow; end
1862
-
1863
- # Represents an arbitrary window of time that recurs.
1864
- # @!attribute [rw] window
1865
- # @return [Google::Container::V1beta1::TimeWindow]
1866
- # The window of the first recurrence.
1867
- # @!attribute [rw] recurrence
1868
- # @return [String]
1869
- # An RRULE (https://tools.ietf.org/html/rfc5545#section-3.8.5.3) for how
1870
- # this window reccurs. They go on for the span of time between the start and
1871
- # end time.
1872
- #
1873
- # For example, to have something repeat every weekday, you'd use:
1874
- # <code>FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR</code>
1875
- # To repeat some window daily (equivalent to the DailyMaintenanceWindow):
1876
- # <code>FREQ=DAILY</code>
1877
- # For the first weekend of every month:
1878
- # <code>FREQ=MONTHLY;BYSETPOS=1;BYDAY=SA,SU</code>
1879
- # This specifies how frequently the window starts. Eg, if you wanted to have
1880
- # a 9-5 UTC-4 window every weekday, you'd use something like:
1881
- # <code>
1882
- # start time = 2019-01-01T09:00:00-0400
1883
- # end time = 2019-01-01T17:00:00-0400
1884
- # recurrence = FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR
1885
- # </code>
1886
- # Windows can span multiple days. Eg, to make the window encompass every
1887
- # weekend from midnight Saturday till the last minute of Sunday UTC:
1888
- # <code>
1889
- # start time = 2019-01-05T00:00:00Z
1890
- # end time = 2019-01-07T23:59:00Z
1891
- # recurrence = FREQ=WEEKLY;BYDAY=SA
1892
- # </code>
1893
- # Note the start and end time's specific dates are largely arbitrary except
1894
- # to specify duration of the window and when it first starts.
1895
- # The FREQ values of HOURLY, MINUTELY, and SECONDLY are not supported.
1896
- class RecurringTimeWindow; end
1897
-
1898
- # Time window specified for daily maintenance operations.
1899
- # @!attribute [rw] start_time
1900
- # @return [String]
1901
- # Time within the maintenance window to start the maintenance operations.
1902
- # It must be in format "HH:MM", where HH : [00-23] and MM : [00-59] GMT.
1903
- # @!attribute [rw] duration
1904
- # @return [String]
1905
- # [Output only] Duration of the time window, automatically chosen to be
1906
- # smallest possible in the given scenario.
1907
- class DailyMaintenanceWindow; end
1908
-
1909
- # SetNodePoolManagementRequest sets the node management properties of a node
1910
- # pool.
1911
- # @!attribute [rw] project_id
1912
- # @return [String]
1913
- # Required. Deprecated. The Google Developers Console [project ID or project
1914
- # number](https://support.google.com/cloud/answer/6158840).
1915
- # This field has been deprecated and replaced by the name field.
1916
- # @!attribute [rw] zone
1917
- # @return [String]
1918
- # Required. Deprecated. The name of the Google Compute Engine
1919
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1920
- # resides.
1921
- # This field has been deprecated and replaced by the name field.
1922
- # @!attribute [rw] cluster_id
1923
- # @return [String]
1924
- # Required. Deprecated. The name of the cluster to update.
1925
- # This field has been deprecated and replaced by the name field.
1926
- # @!attribute [rw] node_pool_id
1927
- # @return [String]
1928
- # Required. Deprecated. The name of the node pool to update.
1929
- # This field has been deprecated and replaced by the name field.
1930
- # @!attribute [rw] management
1931
- # @return [Google::Container::V1beta1::NodeManagement]
1932
- # Required. NodeManagement configuration for the node pool.
1933
- # @!attribute [rw] name
1934
- # @return [String]
1935
- # The name (project, location, cluster, node pool id) of the node pool to set
1936
- # management properties. Specified in the format
1937
- # `projects/*/locations/*/clusters/*/nodePools/*`.
1938
- class SetNodePoolManagementRequest; end
1939
-
1940
- # SetNodePoolSizeRequest sets the size a node
1941
- # pool.
1942
- # @!attribute [rw] project_id
1943
- # @return [String]
1944
- # Required. Deprecated. The Google Developers Console [project ID or project
1945
- # number](https://support.google.com/cloud/answer/6158840).
1946
- # This field has been deprecated and replaced by the name field.
1947
- # @!attribute [rw] zone
1948
- # @return [String]
1949
- # Required. Deprecated. The name of the Google Compute Engine
1950
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1951
- # resides.
1952
- # This field has been deprecated and replaced by the name field.
1953
- # @!attribute [rw] cluster_id
1954
- # @return [String]
1955
- # Required. Deprecated. The name of the cluster to update.
1956
- # This field has been deprecated and replaced by the name field.
1957
- # @!attribute [rw] node_pool_id
1958
- # @return [String]
1959
- # Required. Deprecated. The name of the node pool to update.
1960
- # This field has been deprecated and replaced by the name field.
1961
- # @!attribute [rw] node_count
1962
- # @return [Integer]
1963
- # Required. The desired node count for the pool.
1964
- # @!attribute [rw] name
1965
- # @return [String]
1966
- # The name (project, location, cluster, node pool id) of the node pool to set
1967
- # size.
1968
- # Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.
1969
- class SetNodePoolSizeRequest; end
1970
-
1971
- # RollbackNodePoolUpgradeRequest rollbacks the previously Aborted or Failed
1972
- # NodePool upgrade. This will be an no-op if the last upgrade successfully
1973
- # completed.
1974
- # @!attribute [rw] project_id
1975
- # @return [String]
1976
- # Required. Deprecated. The Google Developers Console [project ID or project
1977
- # number](https://support.google.com/cloud/answer/6158840).
1978
- # This field has been deprecated and replaced by the name field.
1979
- # @!attribute [rw] zone
1980
- # @return [String]
1981
- # Required. Deprecated. The name of the Google Compute Engine
1982
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1983
- # resides.
1984
- # This field has been deprecated and replaced by the name field.
1985
- # @!attribute [rw] cluster_id
1986
- # @return [String]
1987
- # Required. Deprecated. The name of the cluster to rollback.
1988
- # This field has been deprecated and replaced by the name field.
1989
- # @!attribute [rw] node_pool_id
1990
- # @return [String]
1991
- # Required. Deprecated. The name of the node pool to rollback.
1992
- # This field has been deprecated and replaced by the name field.
1993
- # @!attribute [rw] name
1994
- # @return [String]
1995
- # The name (project, location, cluster, node pool id) of the node poll to
1996
- # rollback upgrade.
1997
- # Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.
1998
- class RollbackNodePoolUpgradeRequest; end
1999
-
2000
- # ListNodePoolsResponse is the result of ListNodePoolsRequest.
2001
- # @!attribute [rw] node_pools
2002
- # @return [Array<Google::Container::V1beta1::NodePool>]
2003
- # A list of node pools for a cluster.
2004
- class ListNodePoolsResponse; end
2005
-
2006
- # ClusterAutoscaling contains global, per-cluster information
2007
- # required by Cluster Autoscaler to automatically adjust
2008
- # the size of the cluster and create/delete
2009
- # node pools based on the current needs.
2010
- # @!attribute [rw] enable_node_autoprovisioning
2011
- # @return [true, false]
2012
- # Enables automatic node pool creation and deletion.
2013
- # @!attribute [rw] resource_limits
2014
- # @return [Array<Google::Container::V1beta1::ResourceLimit>]
2015
- # Contains global constraints regarding minimum and maximum
2016
- # amount of resources in the cluster.
2017
- # @!attribute [rw] autoprovisioning_node_pool_defaults
2018
- # @return [Google::Container::V1beta1::AutoprovisioningNodePoolDefaults]
2019
- # AutoprovisioningNodePoolDefaults contains defaults for a node pool
2020
- # created by NAP.
2021
- # @!attribute [rw] autoprovisioning_locations
2022
- # @return [Array<String>]
2023
- # The list of Google Compute Engine [zones](https://cloud.google.com/compute/docs/zones#available)
2024
- # in which the NodePool's nodes can be created by NAP.
2025
- class ClusterAutoscaling; end
2026
-
2027
- # AutoprovisioningNodePoolDefaults contains defaults for a node pool created
2028
- # by NAP.
2029
- # @!attribute [rw] oauth_scopes
2030
- # @return [Array<String>]
2031
- # Scopes that are used by NAP when creating node pools. If oauth_scopes are
2032
- # specified, service_account should be empty.
2033
- # @!attribute [rw] service_account
2034
- # @return [String]
2035
- # The Google Cloud Platform Service Account to be used by the node VMs. If
2036
- # service_account is specified, scopes should be empty.
2037
- class AutoprovisioningNodePoolDefaults; end
2038
-
2039
- # Contains information about amount of some resource in the cluster.
2040
- # For memory, value should be in GB.
2041
- # @!attribute [rw] resource_type
2042
- # @return [String]
2043
- # Resource name "cpu", "memory" or gpu-specific string.
2044
- # @!attribute [rw] minimum
2045
- # @return [Integer]
2046
- # Minimum amount of the resource in the cluster.
2047
- # @!attribute [rw] maximum
2048
- # @return [Integer]
2049
- # Maximum amount of the resource in the cluster.
2050
- class ResourceLimit; end
2051
-
2052
- # NodePoolAutoscaling contains information required by cluster autoscaler to
2053
- # adjust the size of the node pool to the current cluster usage.
2054
- # @!attribute [rw] enabled
2055
- # @return [true, false]
2056
- # Is autoscaling enabled for this node pool.
2057
- # @!attribute [rw] min_node_count
2058
- # @return [Integer]
2059
- # Minimum number of nodes in the NodePool. Must be >= 1 and <=
2060
- # max_node_count.
2061
- # @!attribute [rw] max_node_count
2062
- # @return [Integer]
2063
- # Maximum number of nodes in the NodePool. Must be >= min_node_count. There
2064
- # has to enough quota to scale up the cluster.
2065
- # @!attribute [rw] autoprovisioned
2066
- # @return [true, false]
2067
- # Can this node pool be deleted automatically.
2068
- class NodePoolAutoscaling; end
2069
-
2070
- # SetLabelsRequest sets the Google Cloud Platform labels on a Google Container
2071
- # Engine cluster, which will in turn set them for Google Compute Engine
2072
- # resources used by that cluster
2073
- # @!attribute [rw] project_id
2074
- # @return [String]
2075
- # Required. Deprecated. The Google Developers Console [project ID or project
2076
- # number](https://developers.google.com/console/help/new/#projectnumber).
2077
- # This field has been deprecated and replaced by the name field.
2078
- # @!attribute [rw] zone
2079
- # @return [String]
2080
- # Required. Deprecated. The name of the Google Compute Engine
2081
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
2082
- # resides.
2083
- # This field has been deprecated and replaced by the name field.
2084
- # @!attribute [rw] cluster_id
2085
- # @return [String]
2086
- # Required. Deprecated. The name of the cluster.
2087
- # This field has been deprecated and replaced by the name field.
2088
- # @!attribute [rw] resource_labels
2089
- # @return [Hash{String => String}]
2090
- # Required. The labels to set for that cluster.
2091
- # @!attribute [rw] label_fingerprint
2092
- # @return [String]
2093
- # Required. The fingerprint of the previous set of labels for this resource,
2094
- # used to detect conflicts. The fingerprint is initially generated by
2095
- # Kubernetes Engine and changes after every request to modify or update
2096
- # labels. You must always provide an up-to-date fingerprint hash when
2097
- # updating or changing labels. Make a <code>get()</code> request to the
2098
- # resource to get the latest fingerprint.
2099
- # @!attribute [rw] name
2100
- # @return [String]
2101
- # The name (project, location, cluster id) of the cluster to set labels.
2102
- # Specified in the format `projects/*/locations/*/clusters/*`.
2103
- class SetLabelsRequest; end
2104
-
2105
- # SetLegacyAbacRequest enables or disables the ABAC authorization mechanism for
2106
- # a cluster.
2107
- # @!attribute [rw] project_id
2108
- # @return [String]
2109
- # Required. Deprecated. The Google Developers Console [project ID or project
2110
- # number](https://support.google.com/cloud/answer/6158840).
2111
- # This field has been deprecated and replaced by the name field.
2112
- # @!attribute [rw] zone
2113
- # @return [String]
2114
- # Required. Deprecated. The name of the Google Compute Engine
2115
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
2116
- # resides.
2117
- # This field has been deprecated and replaced by the name field.
2118
- # @!attribute [rw] cluster_id
2119
- # @return [String]
2120
- # Required. Deprecated. The name of the cluster to update.
2121
- # This field has been deprecated and replaced by the name field.
2122
- # @!attribute [rw] enabled
2123
- # @return [true, false]
2124
- # Required. Whether ABAC authorization will be enabled in the cluster.
2125
- # @!attribute [rw] name
2126
- # @return [String]
2127
- # The name (project, location, cluster id) of the cluster to set legacy abac.
2128
- # Specified in the format `projects/*/locations/*/clusters/*`.
2129
- class SetLegacyAbacRequest; end
2130
-
2131
- # StartIPRotationRequest creates a new IP for the cluster and then performs
2132
- # a node upgrade on each node pool to point to the new IP.
2133
- # @!attribute [rw] project_id
2134
- # @return [String]
2135
- # Required. Deprecated. The Google Developers Console [project ID or project
2136
- # number](https://developers.google.com/console/help/new/#projectnumber).
2137
- # This field has been deprecated and replaced by the name field.
2138
- # @!attribute [rw] zone
2139
- # @return [String]
2140
- # Required. Deprecated. The name of the Google Compute Engine
2141
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
2142
- # resides.
2143
- # This field has been deprecated and replaced by the name field.
2144
- # @!attribute [rw] cluster_id
2145
- # @return [String]
2146
- # Required. Deprecated. The name of the cluster.
2147
- # This field has been deprecated and replaced by the name field.
2148
- # @!attribute [rw] name
2149
- # @return [String]
2150
- # The name (project, location, cluster id) of the cluster to start IP
2151
- # rotation. Specified in the format `projects/*/locations/*/clusters/*`.
2152
- # @!attribute [rw] rotate_credentials
2153
- # @return [true, false]
2154
- # Whether to rotate credentials during IP rotation.
2155
- class StartIPRotationRequest; end
2156
-
2157
- # CompleteIPRotationRequest moves the cluster master back into single-IP mode.
2158
- # @!attribute [rw] project_id
2159
- # @return [String]
2160
- # Required. Deprecated. The Google Developers Console [project ID or project
2161
- # number](https://developers.google.com/console/help/new/#projectnumber).
2162
- # This field has been deprecated and replaced by the name field.
2163
- # @!attribute [rw] zone
2164
- # @return [String]
2165
- # Required. Deprecated. The name of the Google Compute Engine
2166
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
2167
- # resides.
2168
- # This field has been deprecated and replaced by the name field.
2169
- # @!attribute [rw] cluster_id
2170
- # @return [String]
2171
- # Required. Deprecated. The name of the cluster.
2172
- # This field has been deprecated and replaced by the name field.
2173
- # @!attribute [rw] name
2174
- # @return [String]
2175
- # The name (project, location, cluster id) of the cluster to complete IP
2176
- # rotation. Specified in the format `projects/*/locations/*/clusters/*`.
2177
- class CompleteIPRotationRequest; end
2178
-
2179
- # AcceleratorConfig represents a Hardware Accelerator request.
2180
- # @!attribute [rw] accelerator_count
2181
- # @return [Integer]
2182
- # The number of the accelerator cards exposed to an instance.
2183
- # @!attribute [rw] accelerator_type
2184
- # @return [String]
2185
- # The accelerator type resource name. List of supported accelerators
2186
- # [here](https://cloud.google.com/compute/docs/gpus)
2187
- class AcceleratorConfig; end
2188
-
2189
- # WorkloadMetadataConfig defines the metadata configuration to expose to
2190
- # workloads on the node pool.
2191
- # @!attribute [rw] node_metadata
2192
- # @return [Google::Container::V1beta1::WorkloadMetadataConfig::NodeMetadata]
2193
- # NodeMetadata is the configuration for how to expose metadata to the
2194
- # workloads running on the node.
2195
- class WorkloadMetadataConfig
2196
- # NodeMetadata is the configuration for if and how to expose the node
2197
- # metadata to the workload running on the node.
2198
- module NodeMetadata
2199
- # Not set.
2200
- UNSPECIFIED = 0
2201
-
2202
- # Prevent workloads not in hostNetwork from accessing certain VM metadata,
2203
- # specifically kube-env, which contains Kubelet credentials, and the
2204
- # instance identity token.
2205
- #
2206
- # Metadata concealment is a temporary security solution available while the
2207
- # bootstrapping process for cluster nodes is being redesigned with
2208
- # significant security improvements. This feature is scheduled to be
2209
- # deprecated in the future and later removed.
2210
- SECURE = 1
2211
-
2212
- # Expose all VM metadata to pods.
2213
- EXPOSE = 2
2214
- end
2215
- end
2216
-
2217
- # SetNetworkPolicyRequest enables/disables network policy for a cluster.
2218
- # @!attribute [rw] project_id
2219
- # @return [String]
2220
- # Required. Deprecated. The Google Developers Console [project ID or project
2221
- # number](https://developers.google.com/console/help/new/#projectnumber).
2222
- # This field has been deprecated and replaced by the name field.
2223
- # @!attribute [rw] zone
2224
- # @return [String]
2225
- # Required. Deprecated. The name of the Google Compute Engine
2226
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
2227
- # resides.
2228
- # This field has been deprecated and replaced by the name field.
2229
- # @!attribute [rw] cluster_id
2230
- # @return [String]
2231
- # Required. Deprecated. The name of the cluster.
2232
- # This field has been deprecated and replaced by the name field.
2233
- # @!attribute [rw] network_policy
2234
- # @return [Google::Container::V1beta1::NetworkPolicy]
2235
- # Required. Configuration options for the NetworkPolicy feature.
2236
- # @!attribute [rw] name
2237
- # @return [String]
2238
- # The name (project, location, cluster id) of the cluster to set networking
2239
- # policy. Specified in the format `projects/*/locations/*/clusters/*`.
2240
- class SetNetworkPolicyRequest; end
2241
-
2242
- # SetMaintenancePolicyRequest sets the maintenance policy for a cluster.
2243
- # @!attribute [rw] project_id
2244
- # @return [String]
2245
- # Required. The Google Developers Console [project ID or project
2246
- # number](https://support.google.com/cloud/answer/6158840).
2247
- # @!attribute [rw] zone
2248
- # @return [String]
2249
- # Required. The name of the Google Compute Engine
2250
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
2251
- # resides.
2252
- # @!attribute [rw] cluster_id
2253
- # @return [String]
2254
- # Required. The name of the cluster to update.
2255
- # @!attribute [rw] maintenance_policy
2256
- # @return [Google::Container::V1beta1::MaintenancePolicy]
2257
- # Required. The maintenance policy to be set for the cluster. An empty field
2258
- # clears the existing maintenance policy.
2259
- # @!attribute [rw] name
2260
- # @return [String]
2261
- # The name (project, location, cluster id) of the cluster to set maintenance
2262
- # policy.
2263
- # Specified in the format `projects/*/locations/*/clusters/*`.
2264
- class SetMaintenancePolicyRequest; end
2265
-
2266
- # ListLocationsRequest is used to request the locations that offer GKE.
2267
- # @!attribute [rw] parent
2268
- # @return [String]
2269
- # Required. Contains the name of the resource requested.
2270
- # Specified in the format `projects/*`.
2271
- class ListLocationsRequest; end
2272
-
2273
- # ListLocationsResponse returns the list of all GKE locations and their
2274
- # recommendation state.
2275
- # @!attribute [rw] locations
2276
- # @return [Array<Google::Container::V1beta1::Location>]
2277
- # A full list of GKE locations.
2278
- # @!attribute [rw] next_page_token
2279
- # @return [String]
2280
- # Only return ListLocationsResponse that occur after the page_token. This
2281
- # value should be populated from the ListLocationsResponse.next_page_token if
2282
- # that response token was set (which happens when listing more Locations than
2283
- # fit in a single ListLocationsResponse).
2284
- class ListLocationsResponse; end
2285
-
2286
- # Location returns the location name, and if the location is recommended
2287
- # for GKE cluster scheduling.
2288
- # @!attribute [rw] type
2289
- # @return [Google::Container::V1beta1::Location::LocationType]
2290
- # Contains the type of location this Location is for.
2291
- # Regional or Zonal.
2292
- # @!attribute [rw] name
2293
- # @return [String]
2294
- # Contains the name of the resource requested.
2295
- # Specified in the format `projects/*/locations/*`.
2296
- # @!attribute [rw] recommended
2297
- # @return [true, false]
2298
- # Whether the location is recomended for GKE cluster scheduling.
2299
- class Location
2300
- # LocationType is the type of GKE location, regional or zonal.
2301
- module LocationType
2302
- # LOCATION_TYPE_UNSPECIFIED means the location type was not determined.
2303
- LOCATION_TYPE_UNSPECIFIED = 0
2304
-
2305
- # A GKE Location where Zonal clusters can be created.
2306
- ZONE = 1
2307
-
2308
- # A GKE Location where Regional clusters can be created.
2309
- REGION = 2
2310
- end
2311
- end
2312
-
2313
- # StatusCondition describes why a cluster or a node pool has a certain status
2314
- # (e.g., ERROR or DEGRADED).
2315
- # @!attribute [rw] code
2316
- # @return [Google::Container::V1beta1::StatusCondition::Code]
2317
- # Machine-friendly representation of the condition
2318
- # @!attribute [rw] message
2319
- # @return [String]
2320
- # Human-friendly representation of the condition
2321
- class StatusCondition
2322
- # Code for each condition
2323
- module Code
2324
- # UNKNOWN indicates a generic condition.
2325
- UNKNOWN = 0
2326
-
2327
- # GCE_STOCKOUT indicates a Google Compute Engine stockout.
2328
- GCE_STOCKOUT = 1
2329
-
2330
- # GKE_SERVICE_ACCOUNT_DELETED indicates that the user deleted their robot
2331
- # service account.
2332
- GKE_SERVICE_ACCOUNT_DELETED = 2
2333
-
2334
- # Google Compute Engine quota was exceeded.
2335
- GCE_QUOTA_EXCEEDED = 3
2336
-
2337
- # Cluster state was manually changed by an SRE due to a system logic error.
2338
- SET_BY_OPERATOR = 4
2339
-
2340
- # Unable to perform an encrypt operation against the CloudKMS key used for
2341
- # etcd level encryption.
2342
- # More codes TBA
2343
- CLOUD_KMS_KEY_ERROR = 7
2344
- end
2345
- end
2346
-
2347
- # NetworkConfig reports the relative names of network & subnetwork.
2348
- # @!attribute [rw] network
2349
- # @return [String]
2350
- # Output only. The relative name of the Google Compute Engine
2351
- # {Google::Container::V1beta1::NetworkConfig#network network}(https://cloud.google.com/compute/docs/networks-and-firewalls#networks) to which
2352
- # the cluster is connected.
2353
- # Example: projects/my-project/global/networks/my-network
2354
- # @!attribute [rw] subnetwork
2355
- # @return [String]
2356
- # Output only. The relative name of the Google Compute Engine
2357
- # [subnetwork](https://cloud.google.com/compute/docs/vpc) to which the cluster is connected.
2358
- # Example: projects/my-project/regions/us-central1/subnetworks/my-subnet
2359
- # @!attribute [rw] enable_intra_node_visibility
2360
- # @return [true, false]
2361
- # Whether Intra-node visibility is enabled for this cluster.
2362
- # This makes same node pod to pod traffic visible for VPC network.
2363
- class NetworkConfig; end
2364
-
2365
- # ListUsableSubnetworksRequest requests the list of usable subnetworks.
2366
- # available to a user for creating clusters.
2367
- # @!attribute [rw] parent
2368
- # @return [String]
2369
- # Required. The parent project where subnetworks are usable.
2370
- # Specified in the format `projects/*`.
2371
- # @!attribute [rw] filter
2372
- # @return [String]
2373
- # Filtering currently only supports equality on the networkProjectId and must
2374
- # be in the form: "networkProjectId=[PROJECTID]", where `networkProjectId`
2375
- # is the project which owns the listed subnetworks. This defaults to the
2376
- # parent project ID.
2377
- # @!attribute [rw] page_size
2378
- # @return [Integer]
2379
- # The max number of results per page that should be returned. If the number
2380
- # of available results is larger than `page_size`, a `next_page_token` is
2381
- # returned which can be used to get the next page of results in subsequent
2382
- # requests. Acceptable values are 0 to 500, inclusive. (Default: 500)
2383
- # @!attribute [rw] page_token
2384
- # @return [String]
2385
- # Specifies a page token to use. Set this to the nextPageToken returned by
2386
- # previous list requests to get the next page of results.
2387
- class ListUsableSubnetworksRequest; end
2388
-
2389
- # ListUsableSubnetworksResponse is the response of
2390
- # ListUsableSubnetworksRequest.
2391
- # @!attribute [rw] subnetworks
2392
- # @return [Array<Google::Container::V1beta1::UsableSubnetwork>]
2393
- # A list of usable subnetworks in the specified network project.
2394
- # @!attribute [rw] next_page_token
2395
- # @return [String]
2396
- # This token allows you to get the next page of results for list requests.
2397
- # If the number of results is larger than `page_size`, use the
2398
- # `next_page_token` as a value for the query parameter `page_token` in the
2399
- # next request. The value will become empty when there are no more pages.
2400
- class ListUsableSubnetworksResponse; end
2401
-
2402
- # Secondary IP range of a usable subnetwork.
2403
- # @!attribute [rw] range_name
2404
- # @return [String]
2405
- # The name associated with this subnetwork secondary range, used when adding
2406
- # an alias IP range to a VM instance.
2407
- # @!attribute [rw] ip_cidr_range
2408
- # @return [String]
2409
- # The range of IP addresses belonging to this subnetwork secondary range.
2410
- # @!attribute [rw] status
2411
- # @return [Google::Container::V1beta1::UsableSubnetworkSecondaryRange::Status]
2412
- # This field is to determine the status of the secondary range programmably.
2413
- class UsableSubnetworkSecondaryRange
2414
- # Status shows the current usage of a secondary IP range.
2415
- module Status
2416
- # UNKNOWN is the zero value of the Status enum. It's not a valid status.
2417
- UNKNOWN = 0
2418
-
2419
- # UNUSED denotes that this range is unclaimed by any cluster.
2420
- UNUSED = 1
2421
-
2422
- # IN_USE_SERVICE denotes that this range is claimed by a cluster for
2423
- # services. It cannot be used for other clusters.
2424
- IN_USE_SERVICE = 2
2425
-
2426
- # IN_USE_SHAREABLE_POD denotes this range was created by the network admin
2427
- # and is currently claimed by a cluster for pods. It can only be used by
2428
- # other clusters as a pod range.
2429
- IN_USE_SHAREABLE_POD = 3
2430
-
2431
- # IN_USE_MANAGED_POD denotes this range was created by GKE and is claimed
2432
- # for pods. It cannot be used for other clusters.
2433
- IN_USE_MANAGED_POD = 4
2434
- end
2435
- end
2436
-
2437
- # UsableSubnetwork resource returns the subnetwork name, its associated network
2438
- # and the primary CIDR range.
2439
- # @!attribute [rw] subnetwork
2440
- # @return [String]
2441
- # Subnetwork Name.
2442
- # Example: projects/my-project/regions/us-central1/subnetworks/my-subnet
2443
- # @!attribute [rw] network
2444
- # @return [String]
2445
- # Network Name.
2446
- # Example: projects/my-project/global/networks/my-network
2447
- # @!attribute [rw] ip_cidr_range
2448
- # @return [String]
2449
- # The range of internal addresses that are owned by this subnetwork.
2450
- # @!attribute [rw] secondary_ip_ranges
2451
- # @return [Array<Google::Container::V1beta1::UsableSubnetworkSecondaryRange>]
2452
- # Secondary IP ranges.
2453
- # @!attribute [rw] status_message
2454
- # @return [String]
2455
- # A human readable status message representing the reasons for cases where
2456
- # the caller cannot use the secondary ranges under the subnet. For example if
2457
- # the secondary_ip_ranges is empty due to a permission issue, an insufficient
2458
- # permission message will be given by status_message.
2459
- class UsableSubnetwork; end
2460
-
2461
- # VerticalPodAutoscaling contains global, per-cluster information
2462
- # required by Vertical Pod Autoscaler to automatically adjust
2463
- # the resources of pods controlled by it.
2464
- # @!attribute [rw] enabled
2465
- # @return [true, false]
2466
- # Enables vertical pod autoscaling.
2467
- class VerticalPodAutoscaling; end
2468
-
2469
- # IntraNodeVisibilityConfig contains the desired config of the intra-node
2470
- # visibility on this cluster.
2471
- # @!attribute [rw] enabled
2472
- # @return [true, false]
2473
- # Enables intra node visibility for this cluster.
2474
- class IntraNodeVisibilityConfig; end
2475
-
2476
- # Constraints applied to pods.
2477
- # @!attribute [rw] max_pods_per_node
2478
- # @return [Integer]
2479
- # Constraint enforced on the max num of pods per node.
2480
- class MaxPodsConstraint; end
2481
-
2482
- # Configuration of etcd encryption.
2483
- # @!attribute [rw] state
2484
- # @return [Google::Container::V1beta1::DatabaseEncryption::State]
2485
- # Denotes the state of etcd encryption.
2486
- # @!attribute [rw] key_name
2487
- # @return [String]
2488
- # Name of CloudKMS key to use for the encryption of secrets in etcd.
2489
- # Ex. projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-key
2490
- class DatabaseEncryption
2491
- # State of etcd encryption.
2492
- module State
2493
- # Should never be set
2494
- UNKNOWN = 0
2495
-
2496
- # Secrets in etcd are encrypted.
2497
- ENCRYPTED = 1
2498
-
2499
- # Secrets in etcd are stored in plain text (at etcd level) - this is
2500
- # unrelated to Google Compute Engine level full disk encryption.
2501
- DECRYPTED = 2
2502
- end
2503
- end
2504
-
2505
- # Configuration for exporting cluster resource usages.
2506
- # @!attribute [rw] bigquery_destination
2507
- # @return [Google::Container::V1beta1::ResourceUsageExportConfig::BigQueryDestination]
2508
- # Configuration to use BigQuery as usage export destination.
2509
- # @!attribute [rw] enable_network_egress_metering
2510
- # @return [true, false]
2511
- # Whether to enable network egress metering for this cluster. If enabled, a
2512
- # daemonset will be created in the cluster to meter network egress traffic.
2513
- # @!attribute [rw] consumption_metering_config
2514
- # @return [Google::Container::V1beta1::ResourceUsageExportConfig::ConsumptionMeteringConfig]
2515
- # Configuration to enable resource consumption metering.
2516
- class ResourceUsageExportConfig
2517
- # Parameters for using BigQuery as the destination of resource usage export.
2518
- # @!attribute [rw] dataset_id
2519
- # @return [String]
2520
- # The ID of a BigQuery Dataset.
2521
- class BigQueryDestination; end
2522
-
2523
- # Parameters for controlling consumption metering.
2524
- # @!attribute [rw] enabled
2525
- # @return [true, false]
2526
- # Whether to enable consumption metering for this cluster. If enabled, a
2527
- # second BigQuery table will be created to hold resource consumption
2528
- # records.
2529
- class ConsumptionMeteringConfig; end
2530
- end
2531
- end
2532
- end
2533
- end