google-cloud-container 0.11.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (28) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +2 -1
  3. data/AUTHENTICATION.md +51 -54
  4. data/LICENSE.md +203 -0
  5. data/MIGRATING.md +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