google-cloud-container 0.11.0 → 1.0.0

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