google-cloud-container 0.10.0 → 1.1.1

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