1"""Generated message classes for container version v1alpha1.
2
3Builds and manages container-based applications, powered by the open source
4Kubernetes technology.
5"""
6# NOTE: This file is autogenerated and should not be edited by hand.
7
8from __future__ import absolute_import
9
10from apitools.base.protorpclite import messages as _messages
11from apitools.base.py import encoding
12from apitools.base.py import extra_types
13
14
15package = 'container'
16
17
18class AcceleratorConfig(_messages.Message):
19  r"""AcceleratorConfig represents a Hardware Accelerator request.
20
21  Fields:
22    acceleratorCount: The number of the accelerator cards exposed to an
23      instance.
24    acceleratorType: The accelerator type resource name. List of supported
25      accelerators [here](/compute/docs/gpus)
26    gpuPartitionSize: Size of partitions to create on the GPU. Valid values
27      are described in the NVIDIA [mig user
28      guide](https://docs.nvidia.com/datacenter/tesla/mig-user-
29      guide/#partitioning).
30  """
31
32  acceleratorCount = _messages.IntegerField(1)
33  acceleratorType = _messages.StringField(2)
34  gpuPartitionSize = _messages.StringField(3)
35
36
37class AddonsConfig(_messages.Message):
38  r"""Configuration for the addons that can be automatically spun up in the
39  cluster, enabling additional functionality.
40
41  Fields:
42    cloudBuildConfig: Configuration for the Cloud Build addon.
43    cloudRunConfig: Configuration for the Cloud Run addon. The `IstioConfig`
44      addon must be enabled in order to enable Cloud Run. This option can only
45      be enabled at cluster creation time.
46    configConnectorConfig: Configuration for the ConfigConnector add-on, a
47      Kubernetes extension to manage hosted GCP services through the
48      Kubernetes API
49    dnsCacheConfig: Configuration for NodeLocalDNS, a dns cache running on
50      cluster nodes
51    gcePersistentDiskCsiDriverConfig: Configuration for the Compute Engine
52      Persistent Disk CSI driver.
53    horizontalPodAutoscaling: Configuration for the horizontal pod autoscaling
54      feature, which increases or decreases the number of replica pods a
55      replication controller has based on the resource usage of the existing
56      pods.
57    httpLoadBalancing: Configuration for the HTTP (L7) load balancing
58      controller addon, which makes it easy to set up HTTP load balancers for
59      services in a cluster.
60    istioConfig: Configuration for Istio, an open platform to connect, manage,
61      and secure microservices.
62    kalmConfig: Configuration for the KALM addon, which manages the lifecycle
63      of k8s applications.
64    kubernetesDashboard: Configuration for the Kubernetes Dashboard. This
65      addon is deprecated, and will be disabled in 1.15. It is recommended to
66      use the Cloud Console to manage and monitor your Kubernetes clusters,
67      workloads and applications. For more information, see:
68      https://cloud.google.com/kubernetes-engine/docs/concepts/dashboards
69    networkPolicyConfig: Configuration for NetworkPolicy. This only tracks
70      whether the addon is enabled or not on the Master, it does not track
71      whether network policy is enabled for the nodes.
72  """
73
74  cloudBuildConfig = _messages.MessageField('CloudBuildConfig', 1)
75  cloudRunConfig = _messages.MessageField('CloudRunConfig', 2)
76  configConnectorConfig = _messages.MessageField('ConfigConnectorConfig', 3)
77  dnsCacheConfig = _messages.MessageField('DnsCacheConfig', 4)
78  gcePersistentDiskCsiDriverConfig = _messages.MessageField('GcePersistentDiskCsiDriverConfig', 5)
79  horizontalPodAutoscaling = _messages.MessageField('HorizontalPodAutoscaling', 6)
80  httpLoadBalancing = _messages.MessageField('HttpLoadBalancing', 7)
81  istioConfig = _messages.MessageField('IstioConfig', 8)
82  kalmConfig = _messages.MessageField('KalmConfig', 9)
83  kubernetesDashboard = _messages.MessageField('KubernetesDashboard', 10)
84  networkPolicyConfig = _messages.MessageField('NetworkPolicyConfig', 11)
85
86
87class AuthenticatorGroupsConfig(_messages.Message):
88  r"""Configuration for returning group information from authenticators.
89
90  Fields:
91    enabled: Whether this cluster should return group membership lookups
92      during authentication using a group of security groups.
93    securityGroup: The name of the security group-of-groups to be used. Only
94      relevant if enabled = true.
95  """
96
97  enabled = _messages.BooleanField(1)
98  securityGroup = _messages.StringField(2)
99
100
101class AutoGKE(_messages.Message):
102  r"""AutoGKE is the configuration for AutoGKE settings on the cluster.
103  Replaced by Autopilot.
104
105  Fields:
106    enabled: Enable AutoGKE
107  """
108
109  enabled = _messages.BooleanField(1)
110
111
112class AutoUpgradeOptions(_messages.Message):
113  r"""AutoUpgradeOptions defines the set of options for the user to control
114  how the Auto Upgrades will proceed.
115
116  Fields:
117    autoUpgradeStartTime: [Output only] This field is set when upgrades are
118      about to commence with the approximate start time for the upgrades, in
119      [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
120    description: [Output only] This field is set when upgrades are about to
121      commence with the description of the upgrade.
122  """
123
124  autoUpgradeStartTime = _messages.StringField(1)
125  description = _messages.StringField(2)
126
127
128class Autopilot(_messages.Message):
129  r"""Autopilot is the configuration for Autopilot settings on the cluster.
130
131  Fields:
132    enabled: Enable Autopilot
133  """
134
135  enabled = _messages.BooleanField(1)
136
137
138class AutoprovisioningNodePoolDefaults(_messages.Message):
139  r"""AutoprovisioningNodePoolDefaults contains defaults for a node pool
140  created by NAP.
141
142  Fields:
143    bootDiskKmsKey:  The Customer Managed Encryption Key used to encrypt the
144      boot disk attached to each node in the node pool. This should be of the
145      form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]
146      /cryptoKeys/[KEY_NAME]. For more information about protecting resources
147      with Cloud KMS Keys please see:
148      https://cloud.google.com/compute/docs/disks/customer-managed-encryption
149    diskSizeGb: Size of the disk attached to each node, specified in GB. The
150      smallest allowed disk size is 10GB. If unspecified, the default disk
151      size is 100GB.
152    diskType: Type of the disk attached to each node (e.g. 'pd-standard', 'pd-
153      ssd' or 'pd-balanced') If unspecified, the default disk type is 'pd-
154      standard'
155    imageType: The image type to use for NAP created node.
156    management: NodeManagement configuration for this NodePool.
157    minCpuPlatform: Minimum CPU platform to be used by this instance. The
158      instance may be scheduled on the specified or newer CPU platform.
159      Applicable values are the friendly names of CPU platforms, such as
160      `minCpuPlatform: "Intel Haswell"` or `minCpuPlatform: "Intel Sandy
161      Bridge"`. For more information, read [how to specify min CPU
162      platform](https://cloud.google.com/compute/docs/instances/specify-min-
163      cpu-platform) To unset the min cpu platform field pass "automatic" as
164      field value.
165    oauthScopes: The set of Google API scopes to be made available on all of
166      the node VMs under the "default" service account. The following scopes
167      are recommended, but not required, and by default are not included: *
168      `https://www.googleapis.com/auth/compute` is required for mounting
169      persistent storage on your nodes. *
170      `https://www.googleapis.com/auth/devstorage.read_only` is required for
171      communicating with **gcr.io** (the [Google Container
172      Registry](https://cloud.google.com/container-registry/)). If
173      unspecified, no scopes are added, unless Cloud Logging or Cloud
174      Monitoring are enabled, in which case their required scopes will be
175      added.
176    serviceAccount: The Google Cloud Platform Service Account to be used by
177      the node VMs. Specify the email address of the Service Account;
178      otherwise, if no Service Account is specified, the "default" service
179      account is used.
180    shieldedInstanceConfig: Shielded Instance options.
181    upgradeSettings: Upgrade settings control disruption and speed of the
182      upgrade.
183  """
184
185  bootDiskKmsKey = _messages.StringField(1)
186  diskSizeGb = _messages.IntegerField(2, variant=_messages.Variant.INT32)
187  diskType = _messages.StringField(3)
188  imageType = _messages.StringField(4)
189  management = _messages.MessageField('NodeManagement', 5)
190  minCpuPlatform = _messages.StringField(6)
191  oauthScopes = _messages.StringField(7, repeated=True)
192  serviceAccount = _messages.StringField(8)
193  shieldedInstanceConfig = _messages.MessageField('ShieldedInstanceConfig', 9)
194  upgradeSettings = _messages.MessageField('UpgradeSettings', 10)
195
196
197class AvailableVersion(_messages.Message):
198  r"""Deprecated.
199
200  Fields:
201    reason: Reason for availability.
202    version: Kubernetes version.
203  """
204
205  reason = _messages.StringField(1)
206  version = _messages.StringField(2)
207
208
209class BigQueryDestination(_messages.Message):
210  r"""Parameters for using BigQuery as the destination of resource usage
211  export.
212
213  Fields:
214    datasetId: The ID of a BigQuery Dataset.
215  """
216
217  datasetId = _messages.StringField(1)
218
219
220class BinaryAuthorization(_messages.Message):
221  r"""Configuration for Binary Authorization.
222
223  Fields:
224    enabled: Enable Binary Authorization for this cluster. If enabled, all
225      container images will be validated by Google Binauthz.
226  """
227
228  enabled = _messages.BooleanField(1)
229
230
231class CancelOperationRequest(_messages.Message):
232  r"""CancelOperationRequest cancels a single operation.
233
234  Fields:
235    name: The name (project, location, operation id) of the operation to
236      cancel. Specified in the format 'projects/*/locations/*/operations/*'.
237    operationId: Deprecated. The server-assigned `name` of the operation. This
238      field has been deprecated and replaced by the name field.
239    projectId: Deprecated. The Google Developers Console [project ID or
240      project number](https://support.google.com/cloud/answer/6158840). This
241      field has been deprecated and replaced by the name field.
242    zone: Deprecated. The name of the Google Compute Engine
243      [zone](/compute/docs/zones#available) in which the operation resides.
244      This field has been deprecated and replaced by the name field.
245  """
246
247  name = _messages.StringField(1)
248  operationId = _messages.StringField(2)
249  projectId = _messages.StringField(3)
250  zone = _messages.StringField(4)
251
252
253class CidrBlock(_messages.Message):
254  r"""CidrBlock contains an optional name and one CIDR block.
255
256  Fields:
257    cidrBlock: cidr_block must be specified in CIDR notation.
258    displayName: display_name is an optional field for users to identify CIDR
259      blocks.
260  """
261
262  cidrBlock = _messages.StringField(1)
263  displayName = _messages.StringField(2)
264
265
266class ClientCertificateConfig(_messages.Message):
267  r"""Configuration for client certificates on the cluster.
268
269  Fields:
270    issueClientCertificate: Issue a client certificate.
271  """
272
273  issueClientCertificate = _messages.BooleanField(1)
274
275
276class CloudBuildConfig(_messages.Message):
277  r"""Configuration options for the Cloud Build addon.
278
279  Fields:
280    enabled: Whether the Cloud Build addon is enabled for this cluster.
281  """
282
283  enabled = _messages.BooleanField(1)
284
285
286class CloudNatStatus(_messages.Message):
287  r"""CloudNatStatus contains the desired state of the cloud nat functionality
288  on this cluster.
289
290  Fields:
291    enabled: Enables Cloud Nat on this cluster. On an update if
292      update.desired_cloud_nat_status.enabled = true, The API will check if
293      any Routers in the cluster's network has Cloud NAT enabled on the pod
294      range. a. If so, then the cluster nodes will be updated to not perform
295      SNAT. b. If no NAT configuration exists, a new Router with Cloud NAT on
296      the secondary range will be created first, and then the nodes will be
297      updated to no longer do SNAT.
298  """
299
300  enabled = _messages.BooleanField(1)
301
302
303class CloudRunConfig(_messages.Message):
304  r"""Configuration options for the Cloud Run feature.
305
306  Enums:
307    LoadBalancerTypeValueValuesEnum: Which load balancer type is installed for
308      Cloud Run.
309
310  Fields:
311    disabled: Whether Cloud Run is enabled for this cluster.
312    enableAlphaFeatures: Enable alpha features of Cloud Run. These features
313      are only available to trusted testers.
314    loadBalancerType: Which load balancer type is installed for Cloud Run.
315  """
316
317  class LoadBalancerTypeValueValuesEnum(_messages.Enum):
318    r"""Which load balancer type is installed for Cloud Run.
319
320    Values:
321      LOAD_BALANCER_TYPE_UNSPECIFIED: Load balancer type for Cloud Run is
322        unspecified.
323      LOAD_BALANCER_TYPE_EXTERNAL: Install external load balancer for Cloud
324        Run.
325      LOAD_BALANCER_TYPE_INTERNAL: Install internal load balancer for Cloud
326        Run.
327    """
328    LOAD_BALANCER_TYPE_UNSPECIFIED = 0
329    LOAD_BALANCER_TYPE_EXTERNAL = 1
330    LOAD_BALANCER_TYPE_INTERNAL = 2
331
332  disabled = _messages.BooleanField(1)
333  enableAlphaFeatures = _messages.BooleanField(2)
334  loadBalancerType = _messages.EnumField('LoadBalancerTypeValueValuesEnum', 3)
335
336
337class Cluster(_messages.Message):
338  r"""A Google Kubernetes Engine cluster.
339
340  Enums:
341    NodeSchedulingStrategyValueValuesEnum: Defines behaviour of k8s scheduler.
342    StatusValueValuesEnum: [Output only] The current status of this cluster.
343
344  Messages:
345    ResourceLabelsValue: The resource labels for the cluster to use to
346      annotate any related GCE resources.
347
348  Fields:
349    addonsConfig: Configurations for the various addons available to run in
350      the cluster.
351    authenticatorGroupsConfig: Configuration controlling RBAC group membership
352      information.
353    autogke: AutoGKE configuration for the cluster. It has the same semantics
354      as autopilot and is overridden by the autopilot setting.
355    autopilot: Autopilot configuration for the cluster.
356    autoscaling: Cluster-level autoscaling configuration.
357    binaryAuthorization: Configuration for Binary Authorization.
358    clusterIpv4Cidr: The IP address range of the container pods in this
359      cluster, in [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-
360      Domain_Routing) notation (e.g. `10.96.0.0/14`). Leave blank to have one
361      automatically chosen or specify a `/14` block in `10.0.0.0/8`.
362    clusterTelemetry: Telemetry integration for the cluster.
363    conditions: Which conditions caused the current cluster state.
364    confidentialNodes: Configuration of Confidential Nodes
365    costManagementConfig: Configuration for the fine-grained cost management
366      feature.
367    createTime: [Output only] The time the cluster was created, in
368      [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
369    currentMasterVersion: The current software version of the master endpoint.
370    currentNodeCount: [Output only] The number of nodes currently in the
371      cluster. Deprecated. Call Kubernetes API directly to retrieve node
372      information.
373    currentNodeVersion: [Output only] Deprecated, use
374      [NodePool.version](/kubernetes-engine/docs/reference/rest/v1alpha1/proje
375      cts.locations.clusters.nodePool) instead. The current version of the
376      node software components. If they are currently at multiple versions
377      because they're in the process of being upgraded, this reflects the
378      minimum version of all nodes.
379    databaseEncryption: Configuration of etcd encryption.
380    databaseEncryptionKeyId: Resource name of a CloudKMS key to be used for
381      the encryption of secrets in etcd. Ex. projects/kms-
382      project/locations/global/keyRings/ring-1/cryptoKeys/key-1 Deprecated,
383      use database_encryption instead.
384    defaultMaxPodsConstraint: The default constraint on the maximum number of
385      pods that can be run simultaneously on a node in the node pool of this
386      cluster. Only honored if cluster created with IP Alias support.
387    description: An optional description of this cluster.
388    enableGvnic: Enable or disable gvnic on this cluster. This field is not
389      yet used.
390    enableKubernetesAlpha: Kubernetes alpha features are enabled on this
391      cluster. This includes alpha API groups (e.g. v1alpha1) and features
392      that may not be production ready in the kubernetes version of the master
393      and nodes. The cluster has no SLA for uptime and master/node upgrades
394      are disabled. Alpha enabled clusters are automatically deleted thirty
395      days after creation.
396    enableTpu: Enable the ability to use Cloud TPUs in this cluster. This
397      field is deprecated, use tpu_config.enabled instead.
398    endpoint: [Output only] The IP address of this cluster's master endpoint.
399      The endpoint can be accessed from the internet at
400      `https://username:password@endpoint/`. See the `masterAuth` property of
401      this resource for username and password information.
402    expireTime: [Output only] The time the cluster will be automatically
403      deleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
404    gkeOidcConfig: Security message for security related configuration
405    id: Output only. Unique id for the cluster.
406    initialClusterVersion: The initial Kubernetes version for this cluster.
407      Valid versions are those found in validMasterVersions returned by
408      getServerConfig. The version can be upgraded over time; such upgrades
409      are reflected in currentMasterVersion and currentNodeVersion. Users may
410      specify either explicit versions offered by Kubernetes Engine or version
411      aliases, which have the following behavior: - "latest": picks the
412      highest valid Kubernetes version - "1.X": picks the highest valid
413      patch+gke.N patch in the 1.X version - "1.X.Y": picks the highest valid
414      gke.N patch in the 1.X.Y version - "1.X.Y-gke.N": picks an explicit
415      Kubernetes version - "","-": picks the default Kubernetes version
416    initialNodeCount: The number of nodes to create in this cluster. You must
417      ensure that your Compute Engine resource quota is sufficient for this
418      number of instances. You must also have available firewall and routes
419      quota. For requests, this field should only be used in lieu of a
420      "node_pool" object, since this configuration (along with the
421      "node_config") will be used to create a "NodePool" object with an auto-
422      generated name. Do not use this and a node_pool at the same time. This
423      field is deprecated, use node_pool.initial_node_count instead.
424    instanceGroupUrls: Deprecated. Use node_pools.instance_group_urls.
425    ipAllocationPolicy: Configuration for cluster IP allocation.
426    kubernetesObjectsExportConfig: Configuration which enables export of
427      kubernetes objects changes and snapshots to specified targets.
428    labelFingerprint: The fingerprint of the set of labels for this cluster.
429    legacyAbac: Configuration for the legacy ABAC authorization mode.
430    location: [Output only] The name of the Google Compute Engine
431      [zone](/compute/docs/regions-zones/regions-zones#available) or
432      [region](/compute/docs/regions-zones/regions-zones#available) in which
433      the cluster resides.
434    locations: The list of Google Compute Engine
435      [zones](https://cloud.google.com/compute/docs/zones#available) in which
436      the cluster's nodes should be located. This field provides a default
437      value if [NodePool.Locations](https://cloud.google.com/kubernetes-engine
438      /docs/reference/rest/v1/projects.locations.clusters.nodePools#NodePool.F
439      IELDS.locations) are not specified during node pool creation. Warning:
440      changing cluster locations will update the
441      [NodePool.Locations](https://cloud.google.com/kubernetes-engine/docs/ref
442      erence/rest/v1/projects.locations.clusters.nodePools#NodePool.FIELDS.loc
443      ations) of all node pools and will result in nodes being added and/or
444      removed.
445    loggingService: The logging service the cluster should use to write logs.
446      Currently available options: * `logging.googleapis.com/kubernetes` - The
447      Cloud Logging service with a Kubernetes-native resource model *
448      `logging.googleapis.com` - The legacy Cloud Logging service (no longer
449      available as of GKE 1.15). * `none` - no logs will be exported from the
450      cluster. If left as an empty string,`logging.googleapis.com/kubernetes`
451      will be used for GKE 1.14+ or `logging.googleapis.com` for earlier
452      versions.
453    maintenancePolicy: Configure the maintenance policy for this cluster.
454    master: Configuration for master components.
455    masterAuth: The authentication information for accessing the master
456      endpoint. If unspecified, the defaults are used: For clusters before
457      v1.12, if master_auth is unspecified, `username` will be set to "admin",
458      a random password will be generated, and a client certificate will be
459      issued.
460    masterAuthorizedNetworksConfig: The configuration options for master
461      authorized networks feature.
462    masterIpv4CidrBlock: The IP prefix in CIDR notation to use for the hosted
463      master network. This prefix will be used for assigning private IP
464      addresses to the master or set of masters, as well as the ILB VIP. This
465      field is deprecated, use private_cluster_config.master_ipv4_cidr_block
466      instead.
467    monitoringService: The monitoring service the cluster should use to write
468      metrics. Currently available options: *
469      "monitoring.googleapis.com/kubernetes" - The Cloud Monitoring service
470      with a Kubernetes-native resource model * `monitoring.googleapis.com` -
471      The legacy Cloud Monitoring service (no longer available as of GKE
472      1.15). * `none` - No metrics will be exported from the cluster. If left
473      as an empty string,`monitoring.googleapis.com/kubernetes` will be used
474      for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions.
475    name: The name of this cluster. The name must be unique within this
476      project and location (e.g. zone or region), and can be up to 40
477      characters with the following restrictions: * Lowercase letters,
478      numbers, and hyphens only. * Must start with a letter. * Must end with a
479      number or a letter.
480    network: The name of the Google Compute Engine
481      [network](/compute/docs/networks-and-firewalls#networks) to which the
482      cluster is connected. If left unspecified, the `default` network will be
483      used.
484    networkConfig: Configuration for cluster networking.
485    networkPolicy: Configuration options for the NetworkPolicy feature.
486    nodeConfig: Parameters used in creating the cluster's nodes. For requests,
487      this field should only be used in lieu of a "node_pool" object, since
488      this configuration (along with the "initial_node_count") will be used to
489      create a "NodePool" object with an auto-generated name. Do not use this
490      and a node_pool at the same time. For responses, this field will be
491      populated with the node configuration of the first node pool. (For
492      configuration of each node pool, see `node_pool.config`) If unspecified,
493      the defaults are used. This field is deprecated, use node_pool.config
494      instead.
495    nodeIpv4CidrSize: [Output only] The size of the address space on each node
496      for hosting containers. This is provisioned from within the
497      `container_ipv4_cidr` range. This field will only be set when cluster is
498      in route-based network mode.
499    nodePools: The node pools associated with this cluster. This field should
500      not be set if "node_config" or "initial_node_count" are specified.
501    nodeSchedulingStrategy: Defines behaviour of k8s scheduler.
502    notificationConfig: Notification configuration of the cluster.
503    podSecurityPolicyConfig: Configuration for the PodSecurityPolicy feature.
504    privateCluster: If this is a private cluster setup. Private clusters are
505      clusters that, by default have no external IP addresses on the nodes and
506      where nodes and the master communicate over private IP addresses. This
507      field is deprecated, use private_cluster_config.enable_private_nodes
508      instead.
509    privateClusterConfig: Configuration for private cluster.
510    releaseChannel: Release channel configuration.
511    resourceLabels: The resource labels for the cluster to use to annotate any
512      related GCE resources.
513    resourceUsageExportConfig: Configuration for exporting resource usages.
514      Resource usage export is disabled when this config unspecified.
515    resourceVersion: Server-defined resource version (etag).
516    securityProfile: User selected security profile
517    selfLink: [Output only] Server-defined URL for the resource.
518    servicesIpv4Cidr: [Output only] The IP address range of the Kubernetes
519      services in this cluster, in
520      [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
521      notation (e.g. `1.2.3.4/29`). Service addresses are typically put in the
522      last `/16` from the container CIDR.
523    shieldedNodes: Shielded Nodes configuration.
524    status: [Output only] The current status of this cluster.
525    statusMessage: [Output only] Additional information about the current
526      status of this cluster, if available. Deprecated, use the field
527      conditions instead.
528    subnetwork: The name of the Google Compute Engine
529      [subnetwork](/compute/docs/subnetworks) to which the cluster is
530      connected. On output this shows the subnetwork ID instead of the name.
531    tpuConfig: Configuration for Cloud TPU support;
532    tpuIpv4CidrBlock: [Output only] The IP address range of the Cloud TPUs in
533      this cluster, in [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-
534      Domain_Routing) notation (e.g. `1.2.3.4/29`).
535    verticalPodAutoscaling: Cluster-level Vertical Pod Autoscaling
536      configuration.
537    workloadIdentityConfig: Configuration for the use of k8s Service Accounts
538      in GCP IAM policies.
539    workloadMonitoringEnabledEap: Whether to send workload metrics from the
540      cluster to Google Cloud Monitoring. Temporary flag for EAP.
541    zone: [Output only] The name of the Google Compute Engine
542      [zone](/compute/docs/zones#available) in which the cluster resides. This
543      field is deprecated, use location instead.
544  """
545
546  class NodeSchedulingStrategyValueValuesEnum(_messages.Enum):
547    r"""Defines behaviour of k8s scheduler.
548
549    Values:
550      STRATEGY_UNSPECIFIED: Use default scheduling strategy.
551      PRIORITIZE_LEAST_UTILIZED: Least utilized nodes will be prioritized by
552        k8s scheduler.
553      PRIORITIZE_MEDIUM_UTILIZED: Nodes with medium utilization will be
554        prioritized by k8s scheduler. This option improves interoperability of
555        scheduler with cluster autoscaler.
556    """
557    STRATEGY_UNSPECIFIED = 0
558    PRIORITIZE_LEAST_UTILIZED = 1
559    PRIORITIZE_MEDIUM_UTILIZED = 2
560
561  class StatusValueValuesEnum(_messages.Enum):
562    r"""[Output only] The current status of this cluster.
563
564    Values:
565      STATUS_UNSPECIFIED: Not set.
566      PROVISIONING: The PROVISIONING state indicates the cluster is being
567        created.
568      RUNNING: The RUNNING state indicates the cluster has been created and is
569        fully usable.
570      RECONCILING: The RECONCILING state indicates that some work is actively
571        being done on the cluster, such as upgrading the master or node
572        software. Details can be found in the `statusMessage` field.
573      STOPPING: The STOPPING state indicates the cluster is being deleted.
574      ERROR: The ERROR state indicates the cluster may be unusable. Details
575        can be found in the `statusMessage` field.
576      DEGRADED: The DEGRADED state indicates the cluster requires user action
577        to restore full functionality. Details can be found in the
578        `statusMessage` field.
579    """
580    STATUS_UNSPECIFIED = 0
581    PROVISIONING = 1
582    RUNNING = 2
583    RECONCILING = 3
584    STOPPING = 4
585    ERROR = 5
586    DEGRADED = 6
587
588  @encoding.MapUnrecognizedFields('additionalProperties')
589  class ResourceLabelsValue(_messages.Message):
590    r"""The resource labels for the cluster to use to annotate any related GCE
591    resources.
592
593    Messages:
594      AdditionalProperty: An additional property for a ResourceLabelsValue
595        object.
596
597    Fields:
598      additionalProperties: Additional properties of type ResourceLabelsValue
599    """
600
601    class AdditionalProperty(_messages.Message):
602      r"""An additional property for a ResourceLabelsValue object.
603
604      Fields:
605        key: Name of the additional property.
606        value: A string attribute.
607      """
608
609      key = _messages.StringField(1)
610      value = _messages.StringField(2)
611
612    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)
613
614  addonsConfig = _messages.MessageField('AddonsConfig', 1)
615  authenticatorGroupsConfig = _messages.MessageField('AuthenticatorGroupsConfig', 2)
616  autogke = _messages.MessageField('AutoGKE', 3)
617  autopilot = _messages.MessageField('Autopilot', 4)
618  autoscaling = _messages.MessageField('ClusterAutoscaling', 5)
619  binaryAuthorization = _messages.MessageField('BinaryAuthorization', 6)
620  clusterIpv4Cidr = _messages.StringField(7)
621  clusterTelemetry = _messages.MessageField('ClusterTelemetry', 8)
622  conditions = _messages.MessageField('StatusCondition', 9, repeated=True)
623  confidentialNodes = _messages.MessageField('ConfidentialNodes', 10)
624  costManagementConfig = _messages.MessageField('CostManagementConfig', 11)
625  createTime = _messages.StringField(12)
626  currentMasterVersion = _messages.StringField(13)
627  currentNodeCount = _messages.IntegerField(14, variant=_messages.Variant.INT32)
628  currentNodeVersion = _messages.StringField(15)
629  databaseEncryption = _messages.MessageField('DatabaseEncryption', 16)
630  databaseEncryptionKeyId = _messages.StringField(17)
631  defaultMaxPodsConstraint = _messages.MessageField('MaxPodsConstraint', 18)
632  description = _messages.StringField(19)
633  enableGvnic = _messages.BooleanField(20)
634  enableKubernetesAlpha = _messages.BooleanField(21)
635  enableTpu = _messages.BooleanField(22)
636  endpoint = _messages.StringField(23)
637  expireTime = _messages.StringField(24)
638  gkeOidcConfig = _messages.MessageField('GkeOidcConfig', 25)
639  id = _messages.StringField(26)
640  initialClusterVersion = _messages.StringField(27)
641  initialNodeCount = _messages.IntegerField(28, variant=_messages.Variant.INT32)
642  instanceGroupUrls = _messages.StringField(29, repeated=True)
643  ipAllocationPolicy = _messages.MessageField('IPAllocationPolicy', 30)
644  kubernetesObjectsExportConfig = _messages.MessageField('KubernetesObjectsExportConfig', 31)
645  labelFingerprint = _messages.StringField(32)
646  legacyAbac = _messages.MessageField('LegacyAbac', 33)
647  location = _messages.StringField(34)
648  locations = _messages.StringField(35, repeated=True)
649  loggingService = _messages.StringField(36)
650  maintenancePolicy = _messages.MessageField('MaintenancePolicy', 37)
651  master = _messages.MessageField('Master', 38)
652  masterAuth = _messages.MessageField('MasterAuth', 39)
653  masterAuthorizedNetworksConfig = _messages.MessageField('MasterAuthorizedNetworksConfig', 40)
654  masterIpv4CidrBlock = _messages.StringField(41)
655  monitoringService = _messages.StringField(42)
656  name = _messages.StringField(43)
657  network = _messages.StringField(44)
658  networkConfig = _messages.MessageField('NetworkConfig', 45)
659  networkPolicy = _messages.MessageField('NetworkPolicy', 46)
660  nodeConfig = _messages.MessageField('NodeConfig', 47)
661  nodeIpv4CidrSize = _messages.IntegerField(48, variant=_messages.Variant.INT32)
662  nodePools = _messages.MessageField('NodePool', 49, repeated=True)
663  nodeSchedulingStrategy = _messages.EnumField('NodeSchedulingStrategyValueValuesEnum', 50)
664  notificationConfig = _messages.MessageField('NotificationConfig', 51)
665  podSecurityPolicyConfig = _messages.MessageField('PodSecurityPolicyConfig', 52)
666  privateCluster = _messages.BooleanField(53)
667  privateClusterConfig = _messages.MessageField('PrivateClusterConfig', 54)
668  releaseChannel = _messages.MessageField('ReleaseChannel', 55)
669  resourceLabels = _messages.MessageField('ResourceLabelsValue', 56)
670  resourceUsageExportConfig = _messages.MessageField('ResourceUsageExportConfig', 57)
671  resourceVersion = _messages.StringField(58)
672  securityProfile = _messages.MessageField('SecurityProfile', 59)
673  selfLink = _messages.StringField(60)
674  servicesIpv4Cidr = _messages.StringField(61)
675  shieldedNodes = _messages.MessageField('ShieldedNodes', 62)
676  status = _messages.EnumField('StatusValueValuesEnum', 63)
677  statusMessage = _messages.StringField(64)
678  subnetwork = _messages.StringField(65)
679  tpuConfig = _messages.MessageField('TpuConfig', 66)
680  tpuIpv4CidrBlock = _messages.StringField(67)
681  verticalPodAutoscaling = _messages.MessageField('VerticalPodAutoscaling', 68)
682  workloadIdentityConfig = _messages.MessageField('WorkloadIdentityConfig', 69)
683  workloadMonitoringEnabledEap = _messages.BooleanField(70)
684  zone = _messages.StringField(71)
685
686
687class ClusterAutoscaling(_messages.Message):
688  r"""ClusterAutoscaling contains global, per-cluster information required by
689  Cluster Autoscaler to automatically adjust the size of the cluster and
690  create/delete node pools based on the current needs.
691
692  Enums:
693    AutoscalingProfileValueValuesEnum: Defines autoscaling behaviour.
694
695  Fields:
696    autoprovisioningLocations: The list of Google Compute Engine
697      [zones](/compute/docs/zones#available) in which the NodePool's nodes can
698      be created by NAP.
699    autoprovisioningNodePoolDefaults: AutoprovisioningNodePoolDefaults
700      contains defaults for a node pool created by NAP.
701    autoscalingProfile: Defines autoscaling behaviour.
702    enableNodeAutoprovisioning: Enables automatic node pool creation and
703      deletion.
704    resourceLimits: Contains global constraints regarding minimum and maximum
705      amount of resources in the cluster.
706  """
707
708  class AutoscalingProfileValueValuesEnum(_messages.Enum):
709    r"""Defines autoscaling behaviour.
710
711    Values:
712      PROFILE_UNSPECIFIED: No change to autoscaling configuration.
713      OPTIMIZE_UTILIZATION: Prioritize optimizing utilization of resources.
714      BALANCED: Use default (balanced) autoscaling configuration.
715    """
716    PROFILE_UNSPECIFIED = 0
717    OPTIMIZE_UTILIZATION = 1
718    BALANCED = 2
719
720  autoprovisioningLocations = _messages.StringField(1, repeated=True)
721  autoprovisioningNodePoolDefaults = _messages.MessageField('AutoprovisioningNodePoolDefaults', 2)
722  autoscalingProfile = _messages.EnumField('AutoscalingProfileValueValuesEnum', 3)
723  enableNodeAutoprovisioning = _messages.BooleanField(4)
724  resourceLimits = _messages.MessageField('ResourceLimit', 5, repeated=True)
725
726
727class ClusterTelemetry(_messages.Message):
728  r"""Telemetry integration for the cluster.
729
730  Enums:
731    TypeValueValuesEnum: Type of the integration.
732
733  Fields:
734    type: Type of the integration.
735  """
736
737  class TypeValueValuesEnum(_messages.Enum):
738    r"""Type of the integration.
739
740    Values:
741      UNSPECIFIED: Not set.
742      DISABLED: Monitoring integration is disabled.
743      ENABLED: Monitoring integration is enabled.
744      SYSTEM_ONLY: Only system components are monitored and logged.
745    """
746    UNSPECIFIED = 0
747    DISABLED = 1
748    ENABLED = 2
749    SYSTEM_ONLY = 3
750
751  type = _messages.EnumField('TypeValueValuesEnum', 1)
752
753
754class ClusterUpdate(_messages.Message):
755  r"""ClusterUpdate describes an update to the cluster. Exactly one update can
756  be applied to a cluster with each request, so at most one field can be
757  provided.
758
759  Enums:
760    DesiredDatapathProviderValueValuesEnum: The desired datapath provider for
761      the cluster.
762    DesiredPrivateIpv6GoogleAccessValueValuesEnum: The desired state of IPv6
763      connectivity to Google Services.
764
765  Fields:
766    concurrentNodeCount: Controls how many nodes to upgrade in parallel. A
767      maximum of 20 concurrent nodes is allowed. Deprecated. This feature will
768      be replaced by an equivalent new feature that gives better control over
769      concurrency. It is not planned to propagate this field to GA and it will
770      be eventually removed from the API.
771    desiredAddonsConfig: Configurations for the various addons available to
772      run in the cluster.
773    desiredAutoGke: AutoGKE is the configuration for AutoGKE settings on the
774      cluster.
775    desiredAutopilot: The desired Autopilot configuration for the cluster.
776    desiredBinaryAuthorization: The desired configuration options for the
777      Binary Authorization feature.
778    desiredCloudNatStatus: The desired status of Cloud NAT for this cluster.
779      Deprecated: use desired_default_snat_status instead.
780    desiredClusterAutoscaling: The desired cluster-level autoscaling
781      configuration.
782    desiredClusterTelemetry: The desired telemetry integration for the
783      cluster.
784    desiredCostManagementConfig: The desired configuration for the fine-
785      grained cost management feature.
786    desiredDatabaseEncryption: Configuration of etcd encryption.
787    desiredDatapathProvider: The desired datapath provider for the cluster.
788    desiredDefaultSnatStatus: The desired status of whether to disable default
789      sNAT for this cluster.
790    desiredDnsConfig: DNSConfig contains clusterDNS config for this cluster.
791    desiredEnableGvnic: Enable or disable gvnic on this cluster. This field is
792      not yet used.
793    desiredGkeOidcConfig: Security message for security related configuration
794    desiredImage: The desired name of the image to use for this node. This is
795      used to create clusters using a custom image.
796    desiredImageProject: The project containing the desired image to use for
797      this node. This is used to create clusters using a custom image.
798    desiredImageType: The desired image type for the node pool. NOTE: Set the
799      "desired_node_pool" field as well.
800    desiredIntraNodeVisibilityConfig: The desired config of Intra-node
801      visibility.
802    desiredKubernetesObjectsExportConfig: Configuration which enables export
803      of kubernetes objects changes and snapshots to specified targets.
804    desiredL4ilbSubsettingConfig: The desired L4 Internal Load Balancer
805      Subsetting configuration.
806    desiredLocations: The desired list of Google Compute Engine
807      [zones](https://cloud.google.com/compute/docs/zones#available) in which
808      the cluster's nodes should be located. This list must always include the
809      cluster's primary zone. Warning: changing cluster locations will update
810      the locations of all node pools and will result in nodes being added
811      and/or removed.
812    desiredLoggingService: The logging service the cluster should use to write
813      logs. Currently available options: * `logging.googleapis.com/kubernetes`
814      - The Cloud Logging service with a Kubernetes-native resource model *
815      `logging.googleapis.com` - The legacy Cloud Logging service (no longer
816      available as of GKE 1.15). * `none` - no logs will be exported from the
817      cluster. If left as an empty string,`logging.googleapis.com/kubernetes`
818      will be used for GKE 1.14+ or `logging.googleapis.com` for earlier
819      versions.
820    desiredMaster: Configuration for master components.
821    desiredMasterAuthorizedNetworksConfig: The desired configuration options
822      for master authorized networks feature.
823    desiredMasterVersion: The Kubernetes version to change the master to.
824      Users may specify either explicit versions offered by Kubernetes Engine
825      or version aliases, which have the following behavior: - "latest": picks
826      the highest valid Kubernetes version - "1.X": picks the highest valid
827      patch+gke.N patch in the 1.X version - "1.X.Y": picks the highest valid
828      gke.N patch in the 1.X.Y version - "1.X.Y-gke.N": picks an explicit
829      Kubernetes version - "-": picks the default Kubernetes version
830    desiredMonitoringService: The monitoring service the cluster should use to
831      write metrics. Currently available options: *
832      "monitoring.googleapis.com/kubernetes" - The Cloud Monitoring service
833      with a Kubernetes-native resource model * `monitoring.googleapis.com` -
834      The legacy Cloud Monitoring service (no longer available as of GKE
835      1.15). * `none` - No metrics will be exported from the cluster. If left
836      as an empty string,`monitoring.googleapis.com/kubernetes` will be used
837      for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions.
838    desiredNodeNetworkPolicy: NodeNetworkPolicy specifies the config for the
839      node firewall feature. This feature is only supported with
840      DatapathProvider=ADVANCED_DATAPATH.
841    desiredNodePoolAutoscaling: Autoscaler configuration for the node pool
842      specified in desired_node_pool_id. If there is only one pool in the
843      cluster and desired_node_pool_id is not provided then the change applies
844      to that single node pool.
845    desiredNodePoolId: The node pool to be upgraded. This field is mandatory
846      if "desired_node_version", "desired_image_family",
847      "desired_node_pool_autoscaling", or "desired_workload_metadata_config"
848      is specified and there is more than one node pool on the cluster.
849    desiredNodeVersion: The Kubernetes version to change the nodes to
850      (typically an upgrade). Users may specify either explicit versions
851      offered by Kubernetes Engine or version aliases, which have the
852      following behavior: - "latest": picks the highest valid Kubernetes
853      version - "1.X": picks the highest valid patch+gke.N patch in the 1.X
854      version - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y
855      version - "1.X.Y-gke.N": picks an explicit Kubernetes version - "-":
856      picks the Kubernetes master version
857    desiredNotificationConfig: The desired notification configuration.
858    desiredPodSecurityPolicyConfig: The desired configuration options for the
859      PodSecurityPolicy feature.
860    desiredPrivateClusterConfig: The desired private cluster configuration.
861    desiredPrivateIpv6Access: The desired status of Private IPv6 access for
862      this cluster. Deprecated. Use desired_private_ipv6_google_access
863      instead.
864    desiredPrivateIpv6GoogleAccess: The desired state of IPv6 connectivity to
865      Google Services.
866    desiredReleaseChannel: The desired release channel configuration.
867    desiredResourceUsageExportConfig: The desired configuration for exporting
868      resource usage.
869    desiredServiceExternalIpsConfig: ServiceExternalIPsConfig specifies the
870      config for the use of Services with ExternalIPs field.
871    desiredShieldedNodes: Configuration for Shielded Nodes.
872    desiredTpuConfig: The desired Cloud TPU configuration.
873    desiredVerticalPodAutoscaling: Cluster-level Vertical Pod Autoscaling
874      configuration.
875    desiredWorkloadIdentityConfig: Configuration for Workload Identity.
876    desiredWorkloadMonitoringEapConfig: Configuration for workload monitoring
877      EAP.
878    privateClusterConfig: The desired private cluster configuration.
879    securityProfile: User may change security profile during update
880  """
881
882  class DesiredDatapathProviderValueValuesEnum(_messages.Enum):
883    r"""The desired datapath provider for the cluster.
884
885    Values:
886      DATAPATH_PROVIDER_UNSPECIFIED: Default value.
887      LEGACY_DATAPATH: Use the IPTables implementation based on kube-proxy.
888      ADVANCED_DATAPATH: Use the eBPF based data plane with additional
889        visibility features.
890    """
891    DATAPATH_PROVIDER_UNSPECIFIED = 0
892    LEGACY_DATAPATH = 1
893    ADVANCED_DATAPATH = 2
894
895  class DesiredPrivateIpv6GoogleAccessValueValuesEnum(_messages.Enum):
896    r"""The desired state of IPv6 connectivity to Google Services.
897
898    Values:
899      PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED: Default value. Same as DISABLED
900      PRIVATE_IPV6_GOOGLE_ACCESS_DISABLED: No private access to or from Google
901        Services
902      PRIVATE_IPV6_GOOGLE_ACCESS_TO_GOOGLE: Enables private IPv6 access to
903        Google Services from GKE
904      PRIVATE_IPV6_GOOGLE_ACCESS_BIDIRECTIONAL: Enables priate IPv6 access to
905        and from Google Services
906    """
907    PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED = 0
908    PRIVATE_IPV6_GOOGLE_ACCESS_DISABLED = 1
909    PRIVATE_IPV6_GOOGLE_ACCESS_TO_GOOGLE = 2
910    PRIVATE_IPV6_GOOGLE_ACCESS_BIDIRECTIONAL = 3
911
912  concurrentNodeCount = _messages.IntegerField(1, variant=_messages.Variant.INT32)
913  desiredAddonsConfig = _messages.MessageField('AddonsConfig', 2)
914  desiredAutoGke = _messages.MessageField('AutoGKE', 3)
915  desiredAutopilot = _messages.MessageField('Autopilot', 4)
916  desiredBinaryAuthorization = _messages.MessageField('BinaryAuthorization', 5)
917  desiredCloudNatStatus = _messages.MessageField('CloudNatStatus', 6)
918  desiredClusterAutoscaling = _messages.MessageField('ClusterAutoscaling', 7)
919  desiredClusterTelemetry = _messages.MessageField('ClusterTelemetry', 8)
920  desiredCostManagementConfig = _messages.MessageField('CostManagementConfig', 9)
921  desiredDatabaseEncryption = _messages.MessageField('DatabaseEncryption', 10)
922  desiredDatapathProvider = _messages.EnumField('DesiredDatapathProviderValueValuesEnum', 11)
923  desiredDefaultSnatStatus = _messages.MessageField('DefaultSnatStatus', 12)
924  desiredDnsConfig = _messages.MessageField('DNSConfig', 13)
925  desiredEnableGvnic = _messages.BooleanField(14)
926  desiredGkeOidcConfig = _messages.MessageField('GkeOidcConfig', 15)
927  desiredImage = _messages.StringField(16)
928  desiredImageProject = _messages.StringField(17)
929  desiredImageType = _messages.StringField(18)
930  desiredIntraNodeVisibilityConfig = _messages.MessageField('IntraNodeVisibilityConfig', 19)
931  desiredKubernetesObjectsExportConfig = _messages.MessageField('KubernetesObjectsExportConfig', 20)
932  desiredL4ilbSubsettingConfig = _messages.MessageField('ILBSubsettingConfig', 21)
933  desiredLocations = _messages.StringField(22, repeated=True)
934  desiredLoggingService = _messages.StringField(23)
935  desiredMaster = _messages.MessageField('Master', 24)
936  desiredMasterAuthorizedNetworksConfig = _messages.MessageField('MasterAuthorizedNetworksConfig', 25)
937  desiredMasterVersion = _messages.StringField(26)
938  desiredMonitoringService = _messages.StringField(27)
939  desiredNodeNetworkPolicy = _messages.MessageField('NodeNetworkPolicy', 28)
940  desiredNodePoolAutoscaling = _messages.MessageField('NodePoolAutoscaling', 29)
941  desiredNodePoolId = _messages.StringField(30)
942  desiredNodeVersion = _messages.StringField(31)
943  desiredNotificationConfig = _messages.MessageField('NotificationConfig', 32)
944  desiredPodSecurityPolicyConfig = _messages.MessageField('PodSecurityPolicyConfig', 33)
945  desiredPrivateClusterConfig = _messages.MessageField('PrivateClusterConfig', 34)
946  desiredPrivateIpv6Access = _messages.MessageField('PrivateIPv6Status', 35)
947  desiredPrivateIpv6GoogleAccess = _messages.EnumField('DesiredPrivateIpv6GoogleAccessValueValuesEnum', 36)
948  desiredReleaseChannel = _messages.MessageField('ReleaseChannel', 37)
949  desiredResourceUsageExportConfig = _messages.MessageField('ResourceUsageExportConfig', 38)
950  desiredServiceExternalIpsConfig = _messages.MessageField('ServiceExternalIPsConfig', 39)
951  desiredShieldedNodes = _messages.MessageField('ShieldedNodes', 40)
952  desiredTpuConfig = _messages.MessageField('TpuConfig', 41)
953  desiredVerticalPodAutoscaling = _messages.MessageField('VerticalPodAutoscaling', 42)
954  desiredWorkloadIdentityConfig = _messages.MessageField('WorkloadIdentityConfig', 43)
955  desiredWorkloadMonitoringEapConfig = _messages.MessageField('WorkloadMonitoringEapConfig', 44)
956  privateClusterConfig = _messages.MessageField('PrivateClusterConfig', 45)
957  securityProfile = _messages.MessageField('SecurityProfile', 46)
958
959
960class CompleteIPRotationRequest(_messages.Message):
961  r"""CompleteIPRotationRequest moves the cluster master back into single-IP
962  mode.
963
964  Fields:
965    clusterId: Deprecated. The name of the cluster. This field has been
966      deprecated and replaced by the name field.
967    name: The name (project, location, cluster id) of the cluster to complete
968      IP rotation. Specified in the format
969      'projects/*/locations/*/clusters/*'.
970    projectId: Deprecated. The Google Developers Console [project ID or
971      project
972      number](https://developers.google.com/console/help/new/#projectnumber).
973      This field has been deprecated and replaced by the name field.
974    zone: Deprecated. The name of the Google Compute Engine
975      [zone](/compute/docs/zones#available) in which the cluster resides. This
976      field has been deprecated and replaced by the name field.
977  """
978
979  clusterId = _messages.StringField(1)
980  name = _messages.StringField(2)
981  projectId = _messages.StringField(3)
982  zone = _messages.StringField(4)
983
984
985class ConfidentialNodes(_messages.Message):
986  r"""ConfidentialNodes is configuration for the confidential nodes feature,
987  which makes nodes run on confidential VMs.
988
989  Fields:
990    enabled: Whether Confidential Nodes feature is enabled for all nodes in
991      this cluster.
992  """
993
994  enabled = _messages.BooleanField(1)
995
996
997class ConfigConnectorConfig(_messages.Message):
998  r"""Configuration options for the Config Connector add-on.
999
1000  Fields:
1001    enabled: Whether Cloud Connector is enabled for this cluster.
1002  """
1003
1004  enabled = _messages.BooleanField(1)
1005
1006
1007class ConsumptionMeteringConfig(_messages.Message):
1008  r"""Parameters for controlling consumption metering.
1009
1010  Fields:
1011    enabled: Whether to enable consumption metering for this cluster. If
1012      enabled, a second BigQuery table will be created to hold resource
1013      consumption records.
1014  """
1015
1016  enabled = _messages.BooleanField(1)
1017
1018
1019class ContainerProjectsAggregatedUsableSubnetworksListRequest(_messages.Message):
1020  r"""A ContainerProjectsAggregatedUsableSubnetworksListRequest object.
1021
1022  Fields:
1023    filter: Filtering currently only supports equality on the networkProjectId
1024      and must be in the form: "networkProjectId=[PROJECTID]", where
1025      `networkProjectId` is the project which owns the listed subnetworks.
1026      This defaults to the parent project ID.
1027    pageSize: The max number of results per page that should be returned. If
1028      the number of available results is larger than `page_size`, a
1029      `next_page_token` is returned which can be used to get the next page of
1030      results in subsequent requests. Acceptable values are 0 to 500,
1031      inclusive. (Default: 500)
1032    pageToken: Specifies a page token to use. Set this to the next_page_token
1033      returned by previous list requests to get the next page of results.
1034    parent: The parent project where subnetworks are usable. Specified in the
1035      format 'projects/*'.
1036  """
1037
1038  filter = _messages.StringField(1)
1039  pageSize = _messages.IntegerField(2, variant=_messages.Variant.INT32)
1040  pageToken = _messages.StringField(3)
1041  parent = _messages.StringField(4, required=True)
1042
1043
1044class ContainerProjectsLocationsClustersDeleteRequest(_messages.Message):
1045  r"""A ContainerProjectsLocationsClustersDeleteRequest object.
1046
1047  Fields:
1048    clusterId: Deprecated. The name of the cluster to delete. This field has
1049      been deprecated and replaced by the name field.
1050    name: The name (project, location, cluster) of the cluster to delete.
1051      Specified in the format 'projects/*/locations/*/clusters/*'.
1052    projectId: Deprecated. The Google Developers Console [project ID or
1053      project number](https://support.google.com/cloud/answer/6158840). This
1054      field has been deprecated and replaced by the name field.
1055    zone: Deprecated. The name of the Google Compute Engine
1056      [zone](/compute/docs/zones#available) in which the cluster resides. This
1057      field has been deprecated and replaced by the name field.
1058  """
1059
1060  clusterId = _messages.StringField(1)
1061  name = _messages.StringField(2, required=True)
1062  projectId = _messages.StringField(3)
1063  zone = _messages.StringField(4)
1064
1065
1066class ContainerProjectsLocationsClustersGetJwksRequest(_messages.Message):
1067  r"""A ContainerProjectsLocationsClustersGetJwksRequest object.
1068
1069  Fields:
1070    parent: The cluster (project, location, cluster id) to get keys for.
1071      Specified in the format 'projects/*/locations/*/clusters/*'.
1072  """
1073
1074  parent = _messages.StringField(1, required=True)
1075
1076
1077class ContainerProjectsLocationsClustersGetRequest(_messages.Message):
1078  r"""A ContainerProjectsLocationsClustersGetRequest object.
1079
1080  Fields:
1081    clusterId: Deprecated. The name of the cluster to retrieve. This field has
1082      been deprecated and replaced by the name field.
1083    name: The name (project, location, cluster) of the cluster to retrieve.
1084      Specified in the format 'projects/*/locations/*/clusters/*'.
1085    projectId: Deprecated. The Google Developers Console [project ID or
1086      project number](https://support.google.com/cloud/answer/6158840). This
1087      field has been deprecated and replaced by the name field.
1088    zone: Deprecated. The name of the Google Compute Engine
1089      [zone](/compute/docs/zones#available) in which the cluster resides. This
1090      field has been deprecated and replaced by the name field.
1091  """
1092
1093  clusterId = _messages.StringField(1)
1094  name = _messages.StringField(2, required=True)
1095  projectId = _messages.StringField(3)
1096  zone = _messages.StringField(4)
1097
1098
1099class ContainerProjectsLocationsClustersListRequest(_messages.Message):
1100  r"""A ContainerProjectsLocationsClustersListRequest object.
1101
1102  Fields:
1103    parent: The parent (project and location) where the clusters will be
1104      listed. Specified in the format 'projects/*/locations/*'. Location "-"
1105      matches all zones and all regions.
1106    projectId: Deprecated. The Google Developers Console [project ID or
1107      project number](https://support.google.com/cloud/answer/6158840). This
1108      field has been deprecated and replaced by the parent field.
1109    zone: Deprecated. The name of the Google Compute Engine
1110      [zone](/compute/docs/zones#available) in which the cluster resides, or
1111      "-" for all zones. This field has been deprecated and replaced by the
1112      parent field.
1113  """
1114
1115  parent = _messages.StringField(1, required=True)
1116  projectId = _messages.StringField(2)
1117  zone = _messages.StringField(3)
1118
1119
1120class ContainerProjectsLocationsClustersNodePoolsDeleteRequest(_messages.Message):
1121  r"""A ContainerProjectsLocationsClustersNodePoolsDeleteRequest object.
1122
1123  Fields:
1124    clusterId: Deprecate. The name of the cluster. This field has been
1125      deprecated and replaced by the name field.
1126    name: The name (project, location, cluster, node pool id) of the node pool
1127      to delete. Specified in the format
1128      'projects/*/locations/*/clusters/*/nodePools/*'.
1129    nodePoolId: Deprecated. The name of the node pool to delete. This field
1130      has been deprecated and replaced by the name field.
1131    projectId: Deprecated. The Google Developers Console [project ID or
1132      project
1133      number](https://developers.google.com/console/help/new/#projectnumber).
1134      This field has been deprecated and replaced by the name field.
1135    zone: Deprecated. The name of the Google Compute Engine
1136      [zone](/compute/docs/zones#available) in which the cluster resides. This
1137      field has been deprecated and replaced by the name field.
1138  """
1139
1140  clusterId = _messages.StringField(1)
1141  name = _messages.StringField(2, required=True)
1142  nodePoolId = _messages.StringField(3)
1143  projectId = _messages.StringField(4)
1144  zone = _messages.StringField(5)
1145
1146
1147class ContainerProjectsLocationsClustersNodePoolsGetRequest(_messages.Message):
1148  r"""A ContainerProjectsLocationsClustersNodePoolsGetRequest object.
1149
1150  Fields:
1151    clusterId: Deprecated. The name of the cluster. This field has been
1152      deprecated and replaced by the name field.
1153    name: The name (project, location, cluster, node pool id) of the node pool
1154      to get. Specified in the format
1155      'projects/*/locations/*/clusters/*/nodePools/*'.
1156    nodePoolId: Deprecated. The name of the node pool. This field has been
1157      deprecated and replaced by the name field.
1158    projectId: Deprecated. The Google Developers Console [project ID or
1159      project
1160      number](https://developers.google.com/console/help/new/#projectnumber).
1161      This field has been deprecated and replaced by the name field.
1162    zone: Deprecated. The name of the Google Compute Engine
1163      [zone](/compute/docs/zones#available) in which the cluster resides. This
1164      field has been deprecated and replaced by the name field.
1165  """
1166
1167  clusterId = _messages.StringField(1)
1168  name = _messages.StringField(2, required=True)
1169  nodePoolId = _messages.StringField(3)
1170  projectId = _messages.StringField(4)
1171  zone = _messages.StringField(5)
1172
1173
1174class ContainerProjectsLocationsClustersNodePoolsListRequest(_messages.Message):
1175  r"""A ContainerProjectsLocationsClustersNodePoolsListRequest object.
1176
1177  Fields:
1178    clusterId: Deprecated. The name of the cluster. This field has been
1179      deprecated and replaced by the parent field.
1180    parent: The parent (project, location, cluster id) where the node pools
1181      will be listed. Specified in the format
1182      'projects/*/locations/*/clusters/*'.
1183    projectId: Deprecated. The Google Developers Console [project ID or
1184      project
1185      number](https://developers.google.com/console/help/new/#projectnumber).
1186      This field has been deprecated and replaced by the parent field.
1187    zone: Deprecated. The name of the Google Compute Engine
1188      [zone](/compute/docs/zones#available) in which the cluster resides. This
1189      field has been deprecated and replaced by the parent field.
1190  """
1191
1192  clusterId = _messages.StringField(1)
1193  parent = _messages.StringField(2, required=True)
1194  projectId = _messages.StringField(3)
1195  zone = _messages.StringField(4)
1196
1197
1198class ContainerProjectsLocationsClustersWellKnownGetOpenidConfigurationRequest(_messages.Message):
1199  r"""A
1200  ContainerProjectsLocationsClustersWellKnownGetOpenidConfigurationRequest
1201  object.
1202
1203  Fields:
1204    parent: The cluster (project, location, cluster id) to get the discovery
1205      document for. Specified in the format
1206      'projects/*/locations/*/clusters/*'.
1207  """
1208
1209  parent = _messages.StringField(1, required=True)
1210
1211
1212class ContainerProjectsLocationsGetServerConfigRequest(_messages.Message):
1213  r"""A ContainerProjectsLocationsGetServerConfigRequest object.
1214
1215  Fields:
1216    name: The name (project and location) of the server config to get,
1217      specified in the format 'projects/*/locations/*'.
1218    projectId: Deprecated. The Google Developers Console [project ID or
1219      project number](https://support.google.com/cloud/answer/6158840). This
1220      field has been deprecated and replaced by the name field.
1221    zone: Deprecated. The name of the Google Compute Engine
1222      [zone](/compute/docs/zones#available) to return operations for. This
1223      field has been deprecated and replaced by the name field.
1224  """
1225
1226  name = _messages.StringField(1, required=True)
1227  projectId = _messages.StringField(2)
1228  zone = _messages.StringField(3)
1229
1230
1231class ContainerProjectsLocationsListRequest(_messages.Message):
1232  r"""A ContainerProjectsLocationsListRequest object.
1233
1234  Fields:
1235    parent: Contains the name of the resource requested. Specified in the
1236      format 'projects/*'.
1237  """
1238
1239  parent = _messages.StringField(1, required=True)
1240
1241
1242class ContainerProjectsLocationsOperationsGetRequest(_messages.Message):
1243  r"""A ContainerProjectsLocationsOperationsGetRequest object.
1244
1245  Fields:
1246    name: The name (project, location, operation id) of the operation to get.
1247      Specified in the format 'projects/*/locations/*/operations/*'.
1248    operationId: Deprecated. The server-assigned `name` of the operation. This
1249      field has been deprecated and replaced by the name field.
1250    projectId: Deprecated. The Google Developers Console [project ID or
1251      project number](https://support.google.com/cloud/answer/6158840). This
1252      field has been deprecated and replaced by the name field.
1253    zone: Deprecated. The name of the Google Compute Engine
1254      [zone](/compute/docs/zones#available) in which the cluster resides. This
1255      field has been deprecated and replaced by the name field.
1256  """
1257
1258  name = _messages.StringField(1, required=True)
1259  operationId = _messages.StringField(2)
1260  projectId = _messages.StringField(3)
1261  zone = _messages.StringField(4)
1262
1263
1264class ContainerProjectsLocationsOperationsListRequest(_messages.Message):
1265  r"""A ContainerProjectsLocationsOperationsListRequest object.
1266
1267  Fields:
1268    parent: The parent (project and location) where the operations will be
1269      listed. Specified in the format 'projects/*/locations/*'. Location "-"
1270      matches all zones and all regions.
1271    projectId: Deprecated. The Google Developers Console [project ID or
1272      project number](https://support.google.com/cloud/answer/6158840). This
1273      field has been deprecated and replaced by the parent field.
1274    zone: Deprecated. The name of the Google Compute Engine
1275      [zone](/compute/docs/zones#available) to return operations for, or `-`
1276      for all zones. This field has been deprecated and replaced by the parent
1277      field.
1278  """
1279
1280  parent = _messages.StringField(1, required=True)
1281  projectId = _messages.StringField(2)
1282  zone = _messages.StringField(3)
1283
1284
1285class ContainerProjectsZonesClustersDeleteRequest(_messages.Message):
1286  r"""A ContainerProjectsZonesClustersDeleteRequest object.
1287
1288  Fields:
1289    clusterId: Deprecated. The name of the cluster to delete. This field has
1290      been deprecated and replaced by the name field.
1291    name: The name (project, location, cluster) of the cluster to delete.
1292      Specified in the format 'projects/*/locations/*/clusters/*'.
1293    projectId: Deprecated. The Google Developers Console [project ID or
1294      project number](https://support.google.com/cloud/answer/6158840). This
1295      field has been deprecated and replaced by the name field.
1296    zone: Deprecated. The name of the Google Compute Engine
1297      [zone](/compute/docs/zones#available) in which the cluster resides. This
1298      field has been deprecated and replaced by the name field.
1299  """
1300
1301  clusterId = _messages.StringField(1, required=True)
1302  name = _messages.StringField(2)
1303  projectId = _messages.StringField(3, required=True)
1304  zone = _messages.StringField(4, required=True)
1305
1306
1307class ContainerProjectsZonesClustersGetRequest(_messages.Message):
1308  r"""A ContainerProjectsZonesClustersGetRequest object.
1309
1310  Fields:
1311    clusterId: Deprecated. The name of the cluster to retrieve. This field has
1312      been deprecated and replaced by the name field.
1313    name: The name (project, location, cluster) of the cluster to retrieve.
1314      Specified in the format 'projects/*/locations/*/clusters/*'.
1315    projectId: Deprecated. The Google Developers Console [project ID or
1316      project number](https://support.google.com/cloud/answer/6158840). This
1317      field has been deprecated and replaced by the name field.
1318    zone: Deprecated. The name of the Google Compute Engine
1319      [zone](/compute/docs/zones#available) in which the cluster resides. This
1320      field has been deprecated and replaced by the name field.
1321  """
1322
1323  clusterId = _messages.StringField(1, required=True)
1324  name = _messages.StringField(2)
1325  projectId = _messages.StringField(3, required=True)
1326  zone = _messages.StringField(4, required=True)
1327
1328
1329class ContainerProjectsZonesClustersListRequest(_messages.Message):
1330  r"""A ContainerProjectsZonesClustersListRequest object.
1331
1332  Fields:
1333    parent: The parent (project and location) where the clusters will be
1334      listed. Specified in the format 'projects/*/locations/*'. Location "-"
1335      matches all zones and all regions.
1336    projectId: Deprecated. The Google Developers Console [project ID or
1337      project number](https://support.google.com/cloud/answer/6158840). This
1338      field has been deprecated and replaced by the parent field.
1339    zone: Deprecated. The name of the Google Compute Engine
1340      [zone](/compute/docs/zones#available) in which the cluster resides, or
1341      "-" for all zones. This field has been deprecated and replaced by the
1342      parent field.
1343  """
1344
1345  parent = _messages.StringField(1)
1346  projectId = _messages.StringField(2, required=True)
1347  zone = _messages.StringField(3, required=True)
1348
1349
1350class ContainerProjectsZonesClustersNodePoolsDeleteRequest(_messages.Message):
1351  r"""A ContainerProjectsZonesClustersNodePoolsDeleteRequest object.
1352
1353  Fields:
1354    clusterId: Deprecate. The name of the cluster. This field has been
1355      deprecated and replaced by the name field.
1356    name: The name (project, location, cluster, node pool id) of the node pool
1357      to delete. Specified in the format
1358      'projects/*/locations/*/clusters/*/nodePools/*'.
1359    nodePoolId: Deprecated. The name of the node pool to delete. This field
1360      has been deprecated and replaced by the name field.
1361    projectId: Deprecated. The Google Developers Console [project ID or
1362      project
1363      number](https://developers.google.com/console/help/new/#projectnumber).
1364      This field has been deprecated and replaced by the name field.
1365    zone: Deprecated. The name of the Google Compute Engine
1366      [zone](/compute/docs/zones#available) in which the cluster resides. This
1367      field has been deprecated and replaced by the name field.
1368  """
1369
1370  clusterId = _messages.StringField(1, required=True)
1371  name = _messages.StringField(2)
1372  nodePoolId = _messages.StringField(3, required=True)
1373  projectId = _messages.StringField(4, required=True)
1374  zone = _messages.StringField(5, required=True)
1375
1376
1377class ContainerProjectsZonesClustersNodePoolsGetRequest(_messages.Message):
1378  r"""A ContainerProjectsZonesClustersNodePoolsGetRequest object.
1379
1380  Fields:
1381    clusterId: Deprecated. The name of the cluster. This field has been
1382      deprecated and replaced by the name field.
1383    name: The name (project, location, cluster, node pool id) of the node pool
1384      to get. Specified in the format
1385      'projects/*/locations/*/clusters/*/nodePools/*'.
1386    nodePoolId: Deprecated. The name of the node pool. This field has been
1387      deprecated and replaced by the name field.
1388    projectId: Deprecated. The Google Developers Console [project ID or
1389      project
1390      number](https://developers.google.com/console/help/new/#projectnumber).
1391      This field has been deprecated and replaced by the name field.
1392    zone: Deprecated. The name of the Google Compute Engine
1393      [zone](/compute/docs/zones#available) in which the cluster resides. This
1394      field has been deprecated and replaced by the name field.
1395  """
1396
1397  clusterId = _messages.StringField(1, required=True)
1398  name = _messages.StringField(2)
1399  nodePoolId = _messages.StringField(3, required=True)
1400  projectId = _messages.StringField(4, required=True)
1401  zone = _messages.StringField(5, required=True)
1402
1403
1404class ContainerProjectsZonesClustersNodePoolsListRequest(_messages.Message):
1405  r"""A ContainerProjectsZonesClustersNodePoolsListRequest object.
1406
1407  Fields:
1408    clusterId: Deprecated. The name of the cluster. This field has been
1409      deprecated and replaced by the parent field.
1410    parent: The parent (project, location, cluster id) where the node pools
1411      will be listed. Specified in the format
1412      'projects/*/locations/*/clusters/*'.
1413    projectId: Deprecated. The Google Developers Console [project ID or
1414      project
1415      number](https://developers.google.com/console/help/new/#projectnumber).
1416      This field has been deprecated and replaced by the parent field.
1417    zone: Deprecated. The name of the Google Compute Engine
1418      [zone](/compute/docs/zones#available) in which the cluster resides. This
1419      field has been deprecated and replaced by the parent field.
1420  """
1421
1422  clusterId = _messages.StringField(1, required=True)
1423  parent = _messages.StringField(2)
1424  projectId = _messages.StringField(3, required=True)
1425  zone = _messages.StringField(4, required=True)
1426
1427
1428class ContainerProjectsZonesGetServerconfigRequest(_messages.Message):
1429  r"""A ContainerProjectsZonesGetServerconfigRequest object.
1430
1431  Fields:
1432    name: The name (project and location) of the server config to get,
1433      specified in the format 'projects/*/locations/*'.
1434    projectId: Deprecated. The Google Developers Console [project ID or
1435      project number](https://support.google.com/cloud/answer/6158840). This
1436      field has been deprecated and replaced by the name field.
1437    zone: Deprecated. The name of the Google Compute Engine
1438      [zone](/compute/docs/zones#available) to return operations for. This
1439      field has been deprecated and replaced by the name field.
1440  """
1441
1442  name = _messages.StringField(1)
1443  projectId = _messages.StringField(2, required=True)
1444  zone = _messages.StringField(3, required=True)
1445
1446
1447class ContainerProjectsZonesOperationsGetRequest(_messages.Message):
1448  r"""A ContainerProjectsZonesOperationsGetRequest object.
1449
1450  Fields:
1451    name: The name (project, location, operation id) of the operation to get.
1452      Specified in the format 'projects/*/locations/*/operations/*'.
1453    operationId: Deprecated. The server-assigned `name` of the operation. This
1454      field has been deprecated and replaced by the name field.
1455    projectId: Deprecated. The Google Developers Console [project ID or
1456      project number](https://support.google.com/cloud/answer/6158840). This
1457      field has been deprecated and replaced by the name field.
1458    zone: Deprecated. The name of the Google Compute Engine
1459      [zone](/compute/docs/zones#available) in which the cluster resides. This
1460      field has been deprecated and replaced by the name field.
1461  """
1462
1463  name = _messages.StringField(1)
1464  operationId = _messages.StringField(2, required=True)
1465  projectId = _messages.StringField(3, required=True)
1466  zone = _messages.StringField(4, required=True)
1467
1468
1469class ContainerProjectsZonesOperationsListRequest(_messages.Message):
1470  r"""A ContainerProjectsZonesOperationsListRequest object.
1471
1472  Fields:
1473    parent: The parent (project and location) where the operations will be
1474      listed. Specified in the format 'projects/*/locations/*'. Location "-"
1475      matches all zones and all regions.
1476    projectId: Deprecated. The Google Developers Console [project ID or
1477      project number](https://support.google.com/cloud/answer/6158840). This
1478      field has been deprecated and replaced by the parent field.
1479    zone: Deprecated. The name of the Google Compute Engine
1480      [zone](/compute/docs/zones#available) to return operations for, or `-`
1481      for all zones. This field has been deprecated and replaced by the parent
1482      field.
1483  """
1484
1485  parent = _messages.StringField(1)
1486  projectId = _messages.StringField(2, required=True)
1487  zone = _messages.StringField(3, required=True)
1488
1489
1490class CostManagementConfig(_messages.Message):
1491  r"""Configuration for fine-grained cost management feature.
1492
1493  Fields:
1494    enabled: Whether the feature is enabled or not.
1495  """
1496
1497  enabled = _messages.BooleanField(1)
1498
1499
1500class CreateClusterRequest(_messages.Message):
1501  r"""CreateClusterRequest creates a cluster.
1502
1503  Fields:
1504    cluster: A [cluster resource](/container-
1505      engine/reference/rest/v1alpha1/projects.locations.clusters)
1506    parent: The parent (project and location) where the cluster will be
1507      created. Specified in the format 'projects/*/locations/*'.
1508    projectId: Deprecated. The Google Developers Console [project ID or
1509      project number](https://support.google.com/cloud/answer/6158840). This
1510      field has been deprecated and replaced by the parent field.
1511    zone: Deprecated. The name of the Google Compute Engine
1512      [zone](/compute/docs/zones#available) in which the cluster resides. This
1513      field has been deprecated and replaced by the parent field.
1514  """
1515
1516  cluster = _messages.MessageField('Cluster', 1)
1517  parent = _messages.StringField(2)
1518  projectId = _messages.StringField(3)
1519  zone = _messages.StringField(4)
1520
1521
1522class CreateNodePoolRequest(_messages.Message):
1523  r"""CreateNodePoolRequest creates a node pool for a cluster.
1524
1525  Fields:
1526    clusterId: Deprecated. The name of the cluster. This field has been
1527      deprecated and replaced by the parent field.
1528    nodePool: The node pool to create.
1529    parent: The parent (project, location, cluster id) where the node pool
1530      will be created. Specified in the format
1531      'projects/*/locations/*/clusters/*'.
1532    projectId: Deprecated. The Google Developers Console [project ID or
1533      project
1534      number](https://developers.google.com/console/help/new/#projectnumber).
1535      This field has been deprecated and replaced by the parent field.
1536    zone: Deprecated. The name of the Google Compute Engine
1537      [zone](/compute/docs/zones#available) in which the cluster resides. This
1538      field has been deprecated and replaced by the parent field.
1539  """
1540
1541  clusterId = _messages.StringField(1)
1542  nodePool = _messages.MessageField('NodePool', 2)
1543  parent = _messages.StringField(3)
1544  projectId = _messages.StringField(4)
1545  zone = _messages.StringField(5)
1546
1547
1548class CrossConnectConfig(_messages.Message):
1549  r"""Configuration for managing inter vpc subnetworks for cluster's private
1550  endpoint availability.
1551
1552  Fields:
1553    fingerprint: The fingerprint of the set of subnetworks, used to detect
1554      conflicts. The fingerprint is initially generated by Kubernetes Engine
1555      and changes after every request to modify or update cross connect
1556      config. You must always provide an up-to-date fingerprint hash when
1557      updating the cross connect config. Make a get() request to the resource
1558      to get the latest fingerprint.
1559    items: List of cross connect items where cluster's private endpoint is
1560      accessible.
1561  """
1562
1563  fingerprint = _messages.StringField(1)
1564  items = _messages.MessageField('CrossConnectItem', 2, repeated=True)
1565
1566
1567class CrossConnectItem(_messages.Message):
1568  r"""Item for controlling single cross connect network's configuration.
1569
1570  Fields:
1571    displayName: Optional. display_name is intended only for UI elements to
1572      help humans identify this item, not as a unique identifier.
1573    privateEndpoint: Output only. The internal IP address of this cluster's
1574      endpoint in the requested subnetwork.
1575    subnetwork: Subnetworks where cluster's private endpoint is accessible.
1576      specified in projects/*/regions/*/subnetworks/* format.
1577  """
1578
1579  displayName = _messages.StringField(1)
1580  privateEndpoint = _messages.StringField(2)
1581  subnetwork = _messages.StringField(3)
1582
1583
1584class CustomImageConfig(_messages.Message):
1585  r"""CustomImageConfig contains the information
1586
1587  Fields:
1588    image: The name of the image to use for this node.
1589    imageFamily: The name of the image family to use for this node.
1590    imageProject: The project containing the image to use for this node.
1591  """
1592
1593  image = _messages.StringField(1)
1594  imageFamily = _messages.StringField(2)
1595  imageProject = _messages.StringField(3)
1596
1597
1598class DNSConfig(_messages.Message):
1599  r"""DNSConfig contains the desired set of options for configuring
1600  clusterDNS.
1601
1602  Enums:
1603    ClusterDnsValueValuesEnum: cluster_dns indicates which in-cluster DNS
1604      provider should be used.
1605    ClusterDnsScopeValueValuesEnum: cluster_dns_scope indicates the scope of
1606      access to cluster DNS records.
1607
1608  Fields:
1609    clusterDns: cluster_dns indicates which in-cluster DNS provider should be
1610      used.
1611    clusterDnsDomain: cluster_dns_domain is the suffix used for all cluster
1612      service records.
1613    clusterDnsScope: cluster_dns_scope indicates the scope of access to
1614      cluster DNS records.
1615  """
1616
1617  class ClusterDnsScopeValueValuesEnum(_messages.Enum):
1618    r"""cluster_dns_scope indicates the scope of access to cluster DNS
1619    records.
1620
1621    Values:
1622      DNS_SCOPE_UNSPECIFIED: Default value, will be inferred as cluster scope
1623      CLUSTER_SCOPE: DNS records are accessible from within the cluster
1624      VPC_SCOPE: DNS records are accessible from within the VPC
1625    """
1626    DNS_SCOPE_UNSPECIFIED = 0
1627    CLUSTER_SCOPE = 1
1628    VPC_SCOPE = 2
1629
1630  class ClusterDnsValueValuesEnum(_messages.Enum):
1631    r"""cluster_dns indicates which in-cluster DNS provider should be used.
1632
1633    Values:
1634      PROVIDER_UNSPECIFIED: Default value
1635      PLATFORM_DEFAULT: Use GKE default DNS provider(kube-dns) for DNS
1636        resolution
1637      CLOUD_DNS: Use CloudDNS for DNS resolution
1638    """
1639    PROVIDER_UNSPECIFIED = 0
1640    PLATFORM_DEFAULT = 1
1641    CLOUD_DNS = 2
1642
1643  clusterDns = _messages.EnumField('ClusterDnsValueValuesEnum', 1)
1644  clusterDnsDomain = _messages.StringField(2)
1645  clusterDnsScope = _messages.EnumField('ClusterDnsScopeValueValuesEnum', 3)
1646
1647
1648class DailyMaintenanceWindow(_messages.Message):
1649  r"""Time window specified for daily maintenance operations.
1650
1651  Fields:
1652    duration: [Output only] Duration of the time window, automatically chosen
1653      to be smallest possible in the given scenario.
1654    startTime: Time within the maintenance window to start the maintenance
1655      operations. It must be in format "HH:MM", where HH : [00-23] and MM :
1656      [00-59] GMT.
1657  """
1658
1659  duration = _messages.StringField(1)
1660  startTime = _messages.StringField(2)
1661
1662
1663class DatabaseEncryption(_messages.Message):
1664  r"""Configuration of etcd encryption.
1665
1666  Enums:
1667    StateValueValuesEnum: Denotes the state of etcd encryption.
1668
1669  Fields:
1670    keyName: Name of CloudKMS key to use for the encryption of secrets in
1671      etcd. Ex. projects/my-project/locations/global/keyRings/my-
1672      ring/cryptoKeys/my-key
1673    state: Denotes the state of etcd encryption.
1674  """
1675
1676  class StateValueValuesEnum(_messages.Enum):
1677    r"""Denotes the state of etcd encryption.
1678
1679    Values:
1680      UNKNOWN: Should never be set
1681      ENCRYPTED: Secrets in etcd are encrypted.
1682      DECRYPTED: Secrets in etcd are stored in plain text (at etcd level) -
1683        this is unrelated to Compute Engine level full disk encryption.
1684    """
1685    UNKNOWN = 0
1686    ENCRYPTED = 1
1687    DECRYPTED = 2
1688
1689  keyName = _messages.StringField(1)
1690  state = _messages.EnumField('StateValueValuesEnum', 2)
1691
1692
1693class DefaultSnatStatus(_messages.Message):
1694  r"""DefaultSnatStatus contains the desired state of whether default sNAT
1695  should be disabled on the cluster.
1696
1697  Fields:
1698    disabled: Disables cluster default sNAT rules.
1699  """
1700
1701  disabled = _messages.BooleanField(1)
1702
1703
1704class DnsCacheConfig(_messages.Message):
1705  r"""Configuration for NodeLocal DNSCache
1706
1707  Fields:
1708    enabled: Whether NodeLocal DNSCache is enabled for this cluster.
1709  """
1710
1711  enabled = _messages.BooleanField(1)
1712
1713
1714class Empty(_messages.Message):
1715  r"""A generic empty message that you can re-use to avoid defining duplicated
1716  empty messages in your APIs. A typical example is to use it as the request
1717  or the response type of an API method. For instance: service Foo { rpc
1718  Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON
1719  representation for `Empty` is empty JSON object `{}`.
1720  """
1721
1722
1723
1724class EphemeralStorageConfig(_messages.Message):
1725  r"""EphemeralStorageConfig contains configuration for the ephemeral storage
1726  filesystem.
1727
1728  Fields:
1729    localSsdCount: Number of local SSDs to use to back ephemeral storage. Uses
1730      NVMe interfaces. Each local SSD is 375 GB in size. If zero, it means to
1731      disable using local SSDs as ephemeral storage.
1732  """
1733
1734  localSsdCount = _messages.IntegerField(1, variant=_messages.Variant.INT32)
1735
1736
1737class GcePersistentDiskCsiDriverConfig(_messages.Message):
1738  r"""Configuration for the Compute Engine PD CSI driver.
1739
1740  Fields:
1741    enabled: Whether the Compute Engine PD CSI driver is enabled for this
1742      cluster.
1743  """
1744
1745  enabled = _messages.BooleanField(1)
1746
1747
1748class GcfsConfig(_messages.Message):
1749  r"""GcfsConfig contains configurations of Google Container File System.
1750
1751  Fields:
1752    enabled: Whether to use GCFS.
1753  """
1754
1755  enabled = _messages.BooleanField(1)
1756
1757
1758class GetJSONWebKeysResponse(_messages.Message):
1759  r"""GetJSONWebKeysResponse is a valid JSON Web Key Set as specififed in rfc
1760  7517
1761
1762  Fields:
1763    cacheHeader: OnePlatform automagically extracts this field and uses it to
1764      set the HTTP Cache-Control header.
1765    keys: The public component of the keys used by the cluster to sign token
1766      requests.
1767  """
1768
1769  cacheHeader = _messages.MessageField('HttpCacheControlResponseHeader', 1)
1770  keys = _messages.MessageField('Jwk', 2, repeated=True)
1771
1772
1773class GetOpenIDConfigResponse(_messages.Message):
1774  r"""GetOpenIDConfigResponse is an OIDC discovery document for the cluster.
1775  See the OpenID Connect Discovery 1.0 specification for details.
1776
1777  Fields:
1778    cacheHeader: OnePlatform automagically extracts this field and uses it to
1779      set the HTTP Cache-Control header.
1780    claims_supported: Supported claims.
1781    grant_types: Supported grant types.
1782    id_token_signing_alg_values_supported: supported ID Token signing
1783      Algorithms.
1784    issuer: OIDC Issuer.
1785    jwks_uri: JSON Web Key uri.
1786    response_types_supported: Supported response types.
1787    subject_types_supported: Supported subject types.
1788  """
1789
1790  cacheHeader = _messages.MessageField('HttpCacheControlResponseHeader', 1)
1791  claims_supported = _messages.StringField(2, repeated=True)
1792  grant_types = _messages.StringField(3, repeated=True)
1793  id_token_signing_alg_values_supported = _messages.StringField(4, repeated=True)
1794  issuer = _messages.StringField(5)
1795  jwks_uri = _messages.StringField(6)
1796  response_types_supported = _messages.StringField(7, repeated=True)
1797  subject_types_supported = _messages.StringField(8, repeated=True)
1798
1799
1800class GkeOidcConfig(_messages.Message):
1801  r"""GkeOidcConfig is configuration for GKE OIDC which allows customers to
1802  use external OIDC providers with the K8S API
1803
1804  Fields:
1805    enabled: Whether to enable the GKD OIDC component
1806  """
1807
1808  enabled = _messages.BooleanField(1)
1809
1810
1811class HorizontalPodAutoscaling(_messages.Message):
1812  r"""Configuration options for the horizontal pod autoscaling feature, which
1813  increases or decreases the number of replica pods a replication controller
1814  has based on the resource usage of the existing pods.
1815
1816  Fields:
1817    disabled: Whether the Horizontal Pod Autoscaling feature is enabled in the
1818      cluster. When enabled, it ensures that metrics are collected into
1819      Stackdriver Monitoring.
1820  """
1821
1822  disabled = _messages.BooleanField(1)
1823
1824
1825class HttpCacheControlResponseHeader(_messages.Message):
1826  r"""RFC-2616: cache control support
1827
1828  Fields:
1829    age: 14.6 response cache age, in seconds since the response is generated
1830    directive: 14.9 request and response directives
1831    expires: 14.21 response cache expires, in RFC 1123 date format
1832  """
1833
1834  age = _messages.IntegerField(1)
1835  directive = _messages.StringField(2)
1836  expires = _messages.StringField(3)
1837
1838
1839class HttpLoadBalancing(_messages.Message):
1840  r"""Configuration options for the HTTP (L7) load balancing controller addon,
1841  which makes it easy to set up HTTP load balancers for services in a cluster.
1842
1843  Fields:
1844    disabled: Whether the HTTP Load Balancing controller is enabled in the
1845      cluster. When enabled, it runs a small pod in the cluster that manages
1846      the load balancers.
1847  """
1848
1849  disabled = _messages.BooleanField(1)
1850
1851
1852class ILBSubsettingConfig(_messages.Message):
1853  r"""ILBSubsettingConfig contains the desired config of L4 Internal
1854  LoadBalancer subsetting on this cluster.
1855
1856  Fields:
1857    enabled: Enables l4 ILB subsetting for this cluster
1858  """
1859
1860  enabled = _messages.BooleanField(1)
1861
1862
1863class IPAllocationPolicy(_messages.Message):
1864  r"""Configuration for controlling how IPs are allocated in the cluster.
1865
1866  Enums:
1867    StackTypeValueValuesEnum: IP stack type
1868
1869  Fields:
1870    allowRouteOverlap: If true, allow allocation of cluster CIDR ranges that
1871      overlap with certain kinds of network routes. By default we do not allow
1872      cluster CIDR ranges to intersect with any user declared routes. With
1873      allow_route_overlap == true, we allow overlapping with CIDR ranges that
1874      are larger than the cluster CIDR range. If this field is set to true,
1875      then cluster and services CIDRs must be fully-specified (e.g.
1876      `10.96.0.0/14`, but not `/14`), which means: 1) When `use_ip_aliases` is
1877      true, `cluster_ipv4_cidr_block` and `services_ipv4_cidr_block` must be
1878      fully-specified. 2) When `use_ip_aliases` is false,
1879      `cluster.cluster_ipv4_cidr` muse be fully-specified.
1880    clusterIpv4Cidr: This field is deprecated, use cluster_ipv4_cidr_block.
1881    clusterIpv4CidrBlock: The IP address range for the cluster pod IPs. If
1882      this field is set, then `cluster.cluster_ipv4_cidr` must be left blank.
1883      This field is only applicable when `use_ip_aliases` is true. Set to
1884      blank to have a range chosen with the default size. Set to /netmask
1885      (e.g. `/14`) to have a range chosen with a specific netmask. Set to a
1886      [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
1887      notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
1888      `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific
1889      range to use.
1890    clusterSecondaryRangeName: The name of the secondary range to be used for
1891      the cluster CIDR block. The secondary range will be used for pod IP
1892      addresses. This must be an existing secondary range associated with the
1893      cluster subnetwork. This field is only applicable if use_ip_aliases is
1894      true and create_subnetwork is false.
1895    createSubnetwork: Whether a new subnetwork will be created automatically
1896      for the cluster. This field is only applicable when `use_ip_aliases` is
1897      true.
1898    nodeIpv4Cidr: This field is deprecated, use node_ipv4_cidr_block.
1899    nodeIpv4CidrBlock: The IP address range of the instance IPs in this
1900      cluster. This is applicable only if `create_subnetwork` is true. Set to
1901      blank to have a range chosen with the default size. Set to /netmask
1902      (e.g. `/14`) to have a range chosen with a specific netmask. Set to a
1903      [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
1904      notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
1905      `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific
1906      range to use.
1907    servicesIpv4Cidr: This field is deprecated, use services_ipv4_cidr_block.
1908    servicesIpv4CidrBlock: The IP address range of the services IPs in this
1909      cluster. If blank, a range will be automatically chosen with the default
1910      size. This field is only applicable when `use_ip_aliases` is true. Set
1911      to blank to have a range chosen with the default size. Set to /netmask
1912      (e.g. `/14`) to have a range chosen with a specific netmask. Set to a
1913      [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
1914      notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
1915      `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific
1916      range to use.
1917    servicesSecondaryRangeName: The name of the secondary range to be used as
1918      for the services CIDR block. The secondary range will be used for
1919      service ClusterIPs. This must be an existing secondary range associated
1920      with the cluster subnetwork. This field is only applicable with
1921      use_ip_aliases is true and create_subnetwork is false.
1922    stackType: IP stack type
1923    subnetworkName: A custom subnetwork name to be used if `create_subnetwork`
1924      is true. If this field is empty, then an automatic name will be chosen
1925      for the new subnetwork.
1926    tpuIpv4CidrBlock: The IP address range of the Cloud TPUs in this cluster.
1927      If unspecified, a range will be automatically chosen with the default
1928      size. This field is only applicable when `use_ip_aliases` is true, and
1929      it must not be specified when the `tpu_use_service_networking` is
1930      `true`. Unspecified to have a range chosen with the default size `/20`.
1931      Set to /netmask (e.g. `/14`) to have a range chosen with a specific
1932      netmask. Set to a [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-
1933      Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private
1934      networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick
1935      a specific range to use. This field is deprecated, use
1936      cluster.tpu_config.ipv4_cidr_block instead.
1937    tpuUseServiceNetworking: Enable Cloud TPU's Service Networking mode. In
1938      this mode, the CIDR blocks used by the Cloud TPUs will be allocated and
1939      managed by Service Networking, instead of GKE. This field must be
1940      `false` when `tpu_ipv4_cidr_block` is specified. This field is
1941      deprecated, use cluster.tpu_config.use_service_networking instead.
1942    useIpAliases: Whether alias IPs will be used for pod IPs in the cluster.
1943      This is used in conjunction with use_routes. It cannot be true if
1944      use_routes is true. If both use_ip_aliases and use_routes are false,
1945      then the server picks the default IP allocation mode
1946    useRoutes: Whether routes will be used for pod IPs in the cluster. This is
1947      used in conjunction with use_ip_aliases. It cannot be true if
1948      use_ip_aliases is true. If both use_ip_aliases and use_routes are false,
1949      then the server picks the default IP allocation mode
1950  """
1951
1952  class StackTypeValueValuesEnum(_messages.Enum):
1953    r"""IP stack type
1954
1955    Values:
1956      STACK_TYPE_UNSPECIFIED: By default, the clusters will be IPV4 only
1957      IPV4: The value used if the cluster is a IPV4 only
1958      IPV4_IPV6: The value used if the cluster is a dual stack cluster
1959    """
1960    STACK_TYPE_UNSPECIFIED = 0
1961    IPV4 = 1
1962    IPV4_IPV6 = 2
1963
1964  allowRouteOverlap = _messages.BooleanField(1)
1965  clusterIpv4Cidr = _messages.StringField(2)
1966  clusterIpv4CidrBlock = _messages.StringField(3)
1967  clusterSecondaryRangeName = _messages.StringField(4)
1968  createSubnetwork = _messages.BooleanField(5)
1969  nodeIpv4Cidr = _messages.StringField(6)
1970  nodeIpv4CidrBlock = _messages.StringField(7)
1971  servicesIpv4Cidr = _messages.StringField(8)
1972  servicesIpv4CidrBlock = _messages.StringField(9)
1973  servicesSecondaryRangeName = _messages.StringField(10)
1974  stackType = _messages.EnumField('StackTypeValueValuesEnum', 11)
1975  subnetworkName = _messages.StringField(12)
1976  tpuIpv4CidrBlock = _messages.StringField(13)
1977  tpuUseServiceNetworking = _messages.BooleanField(14)
1978  useIpAliases = _messages.BooleanField(15)
1979  useRoutes = _messages.BooleanField(16)
1980
1981
1982class IntraNodeVisibilityConfig(_messages.Message):
1983  r"""IntraNodeVisibilityConfig contains the desired config of the intra-node
1984  visibility on this cluster.
1985
1986  Fields:
1987    enabled: Enables intra node visibility for this cluster.
1988  """
1989
1990  enabled = _messages.BooleanField(1)
1991
1992
1993class IstioConfig(_messages.Message):
1994  r"""Configuration options for Istio addon.
1995
1996  Enums:
1997    AuthValueValuesEnum: The specified Istio auth mode, either none, or mutual
1998      TLS.
1999
2000  Fields:
2001    auth: The specified Istio auth mode, either none, or mutual TLS.
2002    csmMeshName: DEPRECATED: No longer used.
2003    disabled: Whether Istio is enabled for this cluster.
2004  """
2005
2006  class AuthValueValuesEnum(_messages.Enum):
2007    r"""The specified Istio auth mode, either none, or mutual TLS.
2008
2009    Values:
2010      AUTH_NONE: auth not enabled
2011      AUTH_MUTUAL_TLS: auth mutual TLS enabled
2012    """
2013    AUTH_NONE = 0
2014    AUTH_MUTUAL_TLS = 1
2015
2016  auth = _messages.EnumField('AuthValueValuesEnum', 1)
2017  csmMeshName = _messages.StringField(2)
2018  disabled = _messages.BooleanField(3)
2019
2020
2021class Jwk(_messages.Message):
2022  r"""Jwk is a JSON Web Key as specified in RFC 7517
2023
2024  Fields:
2025    alg: Algorithm.
2026    crv: Used for ECDSA keys.
2027    e: Used for RSA keys.
2028    kid: Key ID.
2029    kty: Key Type.
2030    n: Used for RSA keys.
2031    use: Permitted uses for the public keys.
2032    x: Used for ECDSA keys.
2033    y: Used for ECDSA keys.
2034  """
2035
2036  alg = _messages.StringField(1)
2037  crv = _messages.StringField(2)
2038  e = _messages.StringField(3)
2039  kid = _messages.StringField(4)
2040  kty = _messages.StringField(5)
2041  n = _messages.StringField(6)
2042  use = _messages.StringField(7)
2043  x = _messages.StringField(8)
2044  y = _messages.StringField(9)
2045
2046
2047class KalmConfig(_messages.Message):
2048  r"""Configuration options for the KALM addon.
2049
2050  Fields:
2051    enabled: Whether KALM is enabled for this cluster.
2052  """
2053
2054  enabled = _messages.BooleanField(1)
2055
2056
2057class KubernetesDashboard(_messages.Message):
2058  r"""Configuration for the Kubernetes Dashboard.
2059
2060  Fields:
2061    disabled: Whether the Kubernetes Dashboard is enabled for this cluster.
2062  """
2063
2064  disabled = _messages.BooleanField(1)
2065
2066
2067class KubernetesObjectsExportConfig(_messages.Message):
2068  r"""KubernetesObjectsExportConfig is configuration which enables export of
2069  kubernetes resource changes to specified targets.
2070
2071  Fields:
2072    kubernetesObjectsChangesTarget: Target to which objects changes should be
2073      sent. Currently the only supported value here is CLOUD_LOGGING.
2074    kubernetesObjectsSnapshotsTarget: Target to which objects snapshots should
2075      be sent. Currently the only supported value here is CLOUD_LOGGING.
2076  """
2077
2078  kubernetesObjectsChangesTarget = _messages.StringField(1)
2079  kubernetesObjectsSnapshotsTarget = _messages.StringField(2)
2080
2081
2082class LegacyAbac(_messages.Message):
2083  r"""Configuration for the legacy Attribute Based Access Control
2084  authorization mode.
2085
2086  Fields:
2087    enabled: Whether the ABAC authorizer is enabled for this cluster. When
2088      enabled, identities in the system, including service accounts, nodes,
2089      and controllers, will have statically granted permissions beyond those
2090      provided by the RBAC configuration or IAM.
2091  """
2092
2093  enabled = _messages.BooleanField(1)
2094
2095
2096class LinuxNodeConfig(_messages.Message):
2097  r"""Parameters that can be configured on Linux nodes.
2098
2099  Messages:
2100    SysctlsValue: The Linux kernel parameters to be applied to the nodes and
2101      all pods running on the nodes. The following parameters are supported.
2102      net.core.netdev_max_backlog net.core.rmem_max net.core.wmem_default
2103      net.core.wmem_max net.core.optmem_max net.core.somaxconn
2104      net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse
2105
2106  Fields:
2107    sysctls: The Linux kernel parameters to be applied to the nodes and all
2108      pods running on the nodes. The following parameters are supported.
2109      net.core.netdev_max_backlog net.core.rmem_max net.core.wmem_default
2110      net.core.wmem_max net.core.optmem_max net.core.somaxconn
2111      net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse
2112  """
2113
2114  @encoding.MapUnrecognizedFields('additionalProperties')
2115  class SysctlsValue(_messages.Message):
2116    r"""The Linux kernel parameters to be applied to the nodes and all pods
2117    running on the nodes. The following parameters are supported.
2118    net.core.netdev_max_backlog net.core.rmem_max net.core.wmem_default
2119    net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem
2120    net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse
2121
2122    Messages:
2123      AdditionalProperty: An additional property for a SysctlsValue object.
2124
2125    Fields:
2126      additionalProperties: Additional properties of type SysctlsValue
2127    """
2128
2129    class AdditionalProperty(_messages.Message):
2130      r"""An additional property for a SysctlsValue object.
2131
2132      Fields:
2133        key: Name of the additional property.
2134        value: A string attribute.
2135      """
2136
2137      key = _messages.StringField(1)
2138      value = _messages.StringField(2)
2139
2140    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)
2141
2142  sysctls = _messages.MessageField('SysctlsValue', 1)
2143
2144
2145class ListClustersResponse(_messages.Message):
2146  r"""ListClustersResponse is the result of ListClustersRequest.
2147
2148  Fields:
2149    clusters: A list of clusters in the project in the specified zone, or
2150      across all ones.
2151    missingZones: If any zones are listed here, the list of clusters returned
2152      may be missing those zones.
2153  """
2154
2155  clusters = _messages.MessageField('Cluster', 1, repeated=True)
2156  missingZones = _messages.StringField(2, repeated=True)
2157
2158
2159class ListLocationsResponse(_messages.Message):
2160  r"""ListLocationsResponse returns the list of all GKE locations and their
2161  recommendation state.
2162
2163  Fields:
2164    locations: A full list of GKE locations.
2165    nextPageToken: Only return ListLocationsResponse that occur after the
2166      page_token. This value should be populated from the
2167      ListLocationsResponse.next_page_token if that response token was set
2168      (which happens when listing more Locations than fit in a single
2169      ListLocationsResponse). This is currently not used and will be honored
2170      once we use pagination.
2171  """
2172
2173  locations = _messages.MessageField('Location', 1, repeated=True)
2174  nextPageToken = _messages.StringField(2)
2175
2176
2177class ListNodePoolsResponse(_messages.Message):
2178  r"""ListNodePoolsResponse is the result of ListNodePoolsRequest.
2179
2180  Fields:
2181    nodePools: A list of node pools for a cluster.
2182  """
2183
2184  nodePools = _messages.MessageField('NodePool', 1, repeated=True)
2185
2186
2187class ListOperationsResponse(_messages.Message):
2188  r"""ListOperationsResponse is the result of ListOperationsRequest.
2189
2190  Fields:
2191    missingZones: If any zones are listed here, the list of operations
2192      returned may be missing the operations from those zones.
2193    operations: A list of operations in the project in the specified zone.
2194  """
2195
2196  missingZones = _messages.StringField(1, repeated=True)
2197  operations = _messages.MessageField('Operation', 2, repeated=True)
2198
2199
2200class ListUsableSubnetworksResponse(_messages.Message):
2201  r"""ListUsableSubnetworksResponse is the response of
2202  ListUsableSubnetworksRequest.
2203
2204  Fields:
2205    nextPageToken: This token allows you to get the next page of results for
2206      list requests. If the number of results is larger than `page_size`, use
2207      the `next_page_token` as a value for the query parameter `page_token` in
2208      the next request. The value will become empty when there are no more
2209      pages.
2210    subnetworks: A list of usable subnetworks in the specified network
2211      project.
2212  """
2213
2214  nextPageToken = _messages.StringField(1)
2215  subnetworks = _messages.MessageField('UsableSubnetwork', 2, repeated=True)
2216
2217
2218class LocalSsdVolumeConfig(_messages.Message):
2219  r"""LocalSsdVolumeConfig is comprised of three fields, count, type, and
2220  format. Count is the number of ssds of this grouping requested, type is the
2221  interface type and is either nvme or scsi, and format is whether the disk is
2222  to be formatted with a filesystem or left for block storage
2223
2224  Enums:
2225    FormatValueValuesEnum: Format of the local SSD (fs/block).
2226
2227  Fields:
2228    count: Number of local SSDs to use
2229    format: Format of the local SSD (fs/block).
2230    type: Local SSD interface to use (nvme/scsi).
2231  """
2232
2233  class FormatValueValuesEnum(_messages.Enum):
2234    r"""Format of the local SSD (fs/block).
2235
2236    Values:
2237      FORMAT_UNSPECIFIED: Default value
2238      FS: File system formatted
2239      BLOCK: Raw block
2240    """
2241    FORMAT_UNSPECIFIED = 0
2242    FS = 1
2243    BLOCK = 2
2244
2245  count = _messages.IntegerField(1, variant=_messages.Variant.INT32)
2246  format = _messages.EnumField('FormatValueValuesEnum', 2)
2247  type = _messages.StringField(3)
2248
2249
2250class Location(_messages.Message):
2251  r"""Location returns the location name, and if the location is recommended
2252  for GKE cluster scheduling.
2253
2254  Enums:
2255    TypeValueValuesEnum: Contains the type of location this Location is for.
2256      Regional or Zonal.
2257
2258  Fields:
2259    name: Contains the name of the resource requested. Specified in the format
2260      'projects/*/locations/*'.
2261    recommended: Recommended is a bool combining the drain state of the
2262      location (ie- has the region been drained manually?), and the stockout
2263      status of any zone according to Zone Advisor. This will be internal only
2264      for use by pantheon.
2265    type: Contains the type of location this Location is for. Regional or
2266      Zonal.
2267  """
2268
2269  class TypeValueValuesEnum(_messages.Enum):
2270    r"""Contains the type of location this Location is for. Regional or Zonal.
2271
2272    Values:
2273      LOCATION_TYPE_UNSPECIFIED: LOCATION_TYPE_UNSPECIFIED means the location
2274        type was not determined.
2275      ZONE: A GKE Location where Zonal clusters can be created.
2276      REGION: A GKE Location where Regional clusters can be created.
2277    """
2278    LOCATION_TYPE_UNSPECIFIED = 0
2279    ZONE = 1
2280    REGION = 2
2281
2282  name = _messages.StringField(1)
2283  recommended = _messages.BooleanField(2)
2284  type = _messages.EnumField('TypeValueValuesEnum', 3)
2285
2286
2287class MaintenancePolicy(_messages.Message):
2288  r"""MaintenancePolicy defines the maintenance policy to be used for the
2289  cluster.
2290
2291  Fields:
2292    resourceVersion: A hash identifying the version of this policy, so that
2293      updates to fields of the policy won't accidentally undo intermediate
2294      changes (and so that users of the API unaware of some fields won't
2295      accidentally remove other fields). Make a `get()` request to the cluster
2296      to get the current resource version and include it with requests to set
2297      the policy.
2298    window: Specifies the maintenance window in which maintenance may be
2299      performed.
2300  """
2301
2302  resourceVersion = _messages.StringField(1)
2303  window = _messages.MessageField('MaintenanceWindow', 2)
2304
2305
2306class MaintenanceWindow(_messages.Message):
2307  r"""MaintenanceWindow defines the maintenance window to be used for the
2308  cluster.
2309
2310  Messages:
2311    MaintenanceExclusionsValue: Exceptions to maintenance window. Non-
2312      emergency maintenance should not occur in these windows.
2313
2314  Fields:
2315    dailyMaintenanceWindow: DailyMaintenanceWindow specifies a daily
2316      maintenance operation window.
2317    maintenanceExclusions: Exceptions to maintenance window. Non-emergency
2318      maintenance should not occur in these windows.
2319    recurringWindow: RecurringWindow specifies some number of recurring time
2320      periods for maintenance to occur. The time windows may be overlapping.
2321      If no maintenance windows are set, maintenance can occur at any time.
2322  """
2323
2324  @encoding.MapUnrecognizedFields('additionalProperties')
2325  class MaintenanceExclusionsValue(_messages.Message):
2326    r"""Exceptions to maintenance window. Non-emergency maintenance should not
2327    occur in these windows.
2328
2329    Messages:
2330      AdditionalProperty: An additional property for a
2331        MaintenanceExclusionsValue object.
2332
2333    Fields:
2334      additionalProperties: Additional properties of type
2335        MaintenanceExclusionsValue
2336    """
2337
2338    class AdditionalProperty(_messages.Message):
2339      r"""An additional property for a MaintenanceExclusionsValue object.
2340
2341      Fields:
2342        key: Name of the additional property.
2343        value: A TimeWindow attribute.
2344      """
2345
2346      key = _messages.StringField(1)
2347      value = _messages.MessageField('TimeWindow', 2)
2348
2349    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)
2350
2351  dailyMaintenanceWindow = _messages.MessageField('DailyMaintenanceWindow', 1)
2352  maintenanceExclusions = _messages.MessageField('MaintenanceExclusionsValue', 2)
2353  recurringWindow = _messages.MessageField('RecurringTimeWindow', 3)
2354
2355
2356class Master(_messages.Message):
2357  r"""Master is the configuration for components on master.
2358
2359  Fields:
2360    signalsConfig: Configuration used to enable sending selected master logs
2361      and metrics to customer project.
2362  """
2363
2364  signalsConfig = _messages.MessageField('MasterSignalsConfig', 1)
2365
2366
2367class MasterAuth(_messages.Message):
2368  r"""The authentication information for accessing the master endpoint.
2369  Authentication can be done using HTTP basic auth or using client
2370  certificates.
2371
2372  Fields:
2373    clientCertificate: [Output only] Base64-encoded public certificate used by
2374      clients to authenticate to the cluster endpoint.
2375    clientCertificateConfig: Configuration for client certificate
2376      authentication on the cluster. For clusters before v1.12, if no
2377      configuration is specified, a client certificate is issued.
2378    clientKey: [Output only] Base64-encoded private key used by clients to
2379      authenticate to the cluster endpoint.
2380    clusterCaCertificate: [Output only] Base64-encoded public certificate that
2381      is the root of trust for the cluster.
2382    password: The password to use for HTTP basic authentication to the master
2383      endpoint. Because the master endpoint is open to the Internet, you
2384      should create a strong password. If a password is provided for cluster
2385      creation, username must be non-empty. Warning: basic authentication is
2386      deprecated, and will be removed in GKE control plane versions 1.19 and
2387      newer. For a list of recommended authentication methods, see:
2388      https://cloud.google.com/kubernetes-engine/docs/how-to/api-server-
2389      authentication
2390    username: The username to use for HTTP basic authentication to the master
2391      endpoint. For clusters v1.6.0 and later, basic authentication can be
2392      disabled by leaving username unspecified (or setting it to the empty
2393      string). Warning: basic authentication is deprecated, and will be
2394      removed in GKE control plane versions 1.19 and newer. For a list of
2395      recommended authentication methods, see:
2396      https://cloud.google.com/kubernetes-engine/docs/how-to/api-server-
2397      authentication
2398  """
2399
2400  clientCertificate = _messages.StringField(1)
2401  clientCertificateConfig = _messages.MessageField('ClientCertificateConfig', 2)
2402  clientKey = _messages.StringField(3)
2403  clusterCaCertificate = _messages.StringField(4)
2404  password = _messages.StringField(5)
2405  username = _messages.StringField(6)
2406
2407
2408class MasterAuthorizedNetworksConfig(_messages.Message):
2409  r"""Configuration options for the master authorized networks feature.
2410  Enabled master authorized networks will disallow all external traffic to
2411  access Kubernetes master through HTTPS except traffic from the given CIDR
2412  blocks, Google Compute Engine Public IPs and Google Prod IPs.
2413
2414  Fields:
2415    cidrBlocks: cidr_blocks define up to 50 external networks that could
2416      access Kubernetes master through HTTPS.
2417    enabled: Whether or not master authorized networks is enabled.
2418  """
2419
2420  cidrBlocks = _messages.MessageField('CidrBlock', 1, repeated=True)
2421  enabled = _messages.BooleanField(2)
2422
2423
2424class MasterSignalsConfig(_messages.Message):
2425  r"""MasterSignalsConfig is the configuration for exposing selected master
2426  logs and metrics to customer
2427
2428  Enums:
2429    LogEnabledComponentsValueListEntryValuesEnum:
2430
2431  Fields:
2432    enableMetrics: Enable sendings metrics to customer
2433    logEnabledComponents: Select components to expose logs
2434  """
2435
2436  class LogEnabledComponentsValueListEntryValuesEnum(_messages.Enum):
2437    r"""LogEnabledComponentsValueListEntryValuesEnum enum type.
2438
2439    Values:
2440      COMPONENT_UNSPECIFIED: Didn't specify any components. Used to avoid
2441        overriding existing list.
2442      APISERVER: kube-apiserver
2443      SCHEDULER: kube-scheduler
2444      CONTROLLER_MANAGER: kube-controller-manager
2445      ADDON_MANAGER: kube-addon-manager
2446    """
2447    COMPONENT_UNSPECIFIED = 0
2448    APISERVER = 1
2449    SCHEDULER = 2
2450    CONTROLLER_MANAGER = 3
2451    ADDON_MANAGER = 4
2452
2453  enableMetrics = _messages.BooleanField(1)
2454  logEnabledComponents = _messages.EnumField('LogEnabledComponentsValueListEntryValuesEnum', 2, repeated=True)
2455
2456
2457class MaxPodsConstraint(_messages.Message):
2458  r"""Constraints applied to pods.
2459
2460  Fields:
2461    maxPodsPerNode: Constraint enforced on the max num of pods per node.
2462  """
2463
2464  maxPodsPerNode = _messages.IntegerField(1)
2465
2466
2467class Metric(_messages.Message):
2468  r"""Progress metric is (string, int|float|string) pair.
2469
2470  Fields:
2471    doubleValue: For metrics with floating point value.
2472    intValue: For metrics with integer value.
2473    name: Required. Metric name, e.g., "nodes total", "percent done".
2474    stringValue: For metrics with custom values (ratios, visual progress,
2475      etc.).
2476  """
2477
2478  doubleValue = _messages.FloatField(1)
2479  intValue = _messages.IntegerField(2)
2480  name = _messages.StringField(3)
2481  stringValue = _messages.StringField(4)
2482
2483
2484class NetworkConfig(_messages.Message):
2485  r"""Parameters for cluster networking.
2486
2487  Enums:
2488    DatapathProviderValueValuesEnum: The desired datapath provider for this
2489      cluster. By default, uses the IPTables-based kube-proxy implementation.
2490    PrivateIpv6GoogleAccessValueValuesEnum: The desired state of IPv6
2491      connectivity to Google Services. By default, no private IPv6 access to
2492      or from Google Services (all access will be via IPv4)
2493
2494  Fields:
2495    datapathProvider: The desired datapath provider for this cluster. By
2496      default, uses the IPTables-based kube-proxy implementation.
2497    defaultSnatStatus: Whether the cluster disables default in-node sNAT
2498      rules. In-node sNAT rules will be disabled when default_snat_status is
2499      disabled. When disabled is set to false, default IP masquerade rules
2500      will be applied to the nodes to prevent sNAT on cluster internal
2501      traffic.
2502    disableDefaultSnat: Whether the cluster disables default in-node sNAT
2503      rules. In-node sNAT rules will be disabled when this flag is true. When
2504      set to false, default IP masquerade rules will be applied to the nodes
2505      to prevent sNAT on cluster internal traffic. Deprecated. Use
2506      default_snat_status instead
2507    dnsConfig: DNSConfig contains clusterDNS config for this cluster.
2508    enableCloudNat: Whether GKE Cloud NAT is enabled for this cluster.
2509      Requires that the cluster has already set
2510      IPAllocationPolicy.use_ip_aliases to true. Deprecated: use
2511      disable_default_snat instead.
2512    enableIntraNodeVisibility: Whether Intra-node visibility is enabled for
2513      this cluster. This enables flow logs for same node pod to pod traffic.
2514    enableL4ilbSubsetting: Whether L4ILB Subsetting is enabled for this
2515      cluster.
2516    enablePrivateIpv6Access: Whether or not Private IPv6 access is enabled.
2517      This enables direct connectivity from GKE pods to Google Cloud services
2518      over gRPC. Deprecated: use private_ipv6_google_access instead
2519    enableSharedNetwork: Deprecated: This flag doesn't need to be flipped for
2520      using shared VPC and it has no effect.
2521    network: Output only. The relative name of the Google Compute Engine
2522      network(/compute/docs/networks-and-firewalls#networks) to which the
2523      cluster is connected. Example: projects/my-project/global/networks/my-
2524      network
2525    nodeNetworkPolicy: NodeNetworkPolicy specifies the config for the node
2526      firewall feature. This feature is only supported with
2527      DatapathProvider=ADVANCED_DATAPATH.
2528    privateIpv6GoogleAccess: The desired state of IPv6 connectivity to Google
2529      Services. By default, no private IPv6 access to or from Google Services
2530      (all access will be via IPv4)
2531    serviceExternalIpsConfig: ServiceExternalIPsConfig specifies if services
2532      with externalIPs field are blocked or not.
2533    subnetwork: Output only. The relative name of the Google Compute Engine
2534      [subnetwork](/compute/docs/vpc) to which the cluster is connected.
2535      Example: projects/my-project/regions/us-central1/subnetworks/my-subnet
2536  """
2537
2538  class DatapathProviderValueValuesEnum(_messages.Enum):
2539    r"""The desired datapath provider for this cluster. By default, uses the
2540    IPTables-based kube-proxy implementation.
2541
2542    Values:
2543      DATAPATH_PROVIDER_UNSPECIFIED: Default value.
2544      LEGACY_DATAPATH: Use the IPTables implementation based on kube-proxy.
2545      ADVANCED_DATAPATH: Use the eBPF based data plane with additional
2546        visibility features.
2547    """
2548    DATAPATH_PROVIDER_UNSPECIFIED = 0
2549    LEGACY_DATAPATH = 1
2550    ADVANCED_DATAPATH = 2
2551
2552  class PrivateIpv6GoogleAccessValueValuesEnum(_messages.Enum):
2553    r"""The desired state of IPv6 connectivity to Google Services. By default,
2554    no private IPv6 access to or from Google Services (all access will be via
2555    IPv4)
2556
2557    Values:
2558      PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED: Default value. Same as DISABLED
2559      PRIVATE_IPV6_GOOGLE_ACCESS_DISABLED: No private access to or from Google
2560        Services
2561      PRIVATE_IPV6_GOOGLE_ACCESS_TO_GOOGLE: Enables private IPv6 access to
2562        Google Services from GKE
2563      PRIVATE_IPV6_GOOGLE_ACCESS_BIDIRECTIONAL: Enables priate IPv6 access to
2564        and from Google Services
2565    """
2566    PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED = 0
2567    PRIVATE_IPV6_GOOGLE_ACCESS_DISABLED = 1
2568    PRIVATE_IPV6_GOOGLE_ACCESS_TO_GOOGLE = 2
2569    PRIVATE_IPV6_GOOGLE_ACCESS_BIDIRECTIONAL = 3
2570
2571  datapathProvider = _messages.EnumField('DatapathProviderValueValuesEnum', 1)
2572  defaultSnatStatus = _messages.MessageField('DefaultSnatStatus', 2)
2573  disableDefaultSnat = _messages.BooleanField(3)
2574  dnsConfig = _messages.MessageField('DNSConfig', 4)
2575  enableCloudNat = _messages.BooleanField(5)
2576  enableIntraNodeVisibility = _messages.BooleanField(6)
2577  enableL4ilbSubsetting = _messages.BooleanField(7)
2578  enablePrivateIpv6Access = _messages.BooleanField(8)
2579  enableSharedNetwork = _messages.BooleanField(9)
2580  network = _messages.StringField(10)
2581  nodeNetworkPolicy = _messages.MessageField('NodeNetworkPolicy', 11)
2582  privateIpv6GoogleAccess = _messages.EnumField('PrivateIpv6GoogleAccessValueValuesEnum', 12)
2583  serviceExternalIpsConfig = _messages.MessageField('ServiceExternalIPsConfig', 13)
2584  subnetwork = _messages.StringField(14)
2585
2586
2587class NetworkPolicy(_messages.Message):
2588  r"""Configuration options for the NetworkPolicy feature.
2589  https://kubernetes.io/docs/concepts/services-networking/networkpolicies/
2590
2591  Enums:
2592    ProviderValueValuesEnum: The selected network policy provider.
2593
2594  Fields:
2595    enabled: Whether network policy is enabled on the cluster.
2596    provider: The selected network policy provider.
2597  """
2598
2599  class ProviderValueValuesEnum(_messages.Enum):
2600    r"""The selected network policy provider.
2601
2602    Values:
2603      PROVIDER_UNSPECIFIED: Not set
2604      CALICO: Tigera (Calico Felix).
2605    """
2606    PROVIDER_UNSPECIFIED = 0
2607    CALICO = 1
2608
2609  enabled = _messages.BooleanField(1)
2610  provider = _messages.EnumField('ProviderValueValuesEnum', 2)
2611
2612
2613class NetworkPolicyConfig(_messages.Message):
2614  r"""Configuration for NetworkPolicy. This only tracks whether the addon is
2615  enabled or not on the Master, it does not track whether network policy is
2616  enabled for the nodes.
2617
2618  Fields:
2619    disabled: Whether NetworkPolicy is enabled for this cluster.
2620  """
2621
2622  disabled = _messages.BooleanField(1)
2623
2624
2625class NetworkTags(_messages.Message):
2626  r"""Collection of Compute Engine network tags that can be applied to a
2627  node's underlying VM instance. (See `tags` field in
2628  [`NodeConfig`](/kubernetes-engine/docs/reference/rest/v1/NodeConfig)).
2629
2630  Fields:
2631    tags: List of network tags.
2632  """
2633
2634  tags = _messages.StringField(1, repeated=True)
2635
2636
2637class NodeConfig(_messages.Message):
2638  r"""Parameters that describe the nodes in a cluster.
2639
2640  Messages:
2641    LabelsValue: The map of Kubernetes labels (key/value pairs) to be applied
2642      to each node. These will added in addition to any default label(s) that
2643      Kubernetes may apply to the node. In case of conflict in label keys, the
2644      applied set may differ depending on the Kubernetes version -- it's best
2645      to assume the behavior is undefined and conflicts should be avoided. For
2646      more information, including usage and the valid values, see:
2647      https://kubernetes.io/docs/concepts/overview/working-with-
2648      objects/labels/
2649    MetadataValue: The metadata key/value pairs assigned to instances in the
2650      cluster. Keys must conform to the regexp `[a-zA-Z0-9-_]+` and be less
2651      than 128 bytes in length. These are reflected as part of a URL in the
2652      metadata server. Additionally, to avoid ambiguity, keys must not
2653      conflict with any other metadata keys for the project or be one of the
2654      reserved keys: - "cluster-location" - "cluster-name" - "cluster-uid" -
2655      "configure-sh" - "containerd-configure-sh" - "enable-os-login" - "gci-
2656      ensure-gke-docker" - "gci-metrics-enabled" - "gci-update-strategy" -
2657      "instance-template" - "kube-env" - "startup-script" - "user-data" -
2658      "disable-address-manager" - "windows-startup-script-ps1" - "common-psm1"
2659      - "k8s-node-setup-psm1" - "install-ssh-psm1" - "user-profile-psm1" The
2660      following keys are reserved for Windows nodes: - "serial-port-logging-
2661      enable" Values are free-form strings, and only have meaning as
2662      interpreted by the image running in the instance. The only restriction
2663      placed on them is that each value's size must be less than or equal to
2664      32 KB. The total size of all keys and values must be less than 512 KB.
2665
2666  Fields:
2667    accelerators: A list of hardware accelerators to be attached to each node.
2668      See https://cloud.google.com/compute/docs/gpus for more information
2669      about support for GPUs.
2670    bootDiskKmsKey:  The Customer Managed Encryption Key used to encrypt the
2671      boot disk attached to each node in the node pool. This should be of the
2672      form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]
2673      /cryptoKeys/[KEY_NAME]. For more information about protecting resources
2674      with Cloud KMS Keys please see:
2675      https://cloud.google.com/compute/docs/disks/customer-managed-encryption
2676    diskSizeGb: Size of the disk attached to each node, specified in GB. The
2677      smallest allowed disk size is 10GB. If unspecified, the default disk
2678      size is 100GB.
2679    diskType: Type of the disk attached to each node (e.g. 'pd-standard', 'pd-
2680      ssd' or 'pd-balanced') If unspecified, the default disk type is 'pd-
2681      standard'
2682    ephemeralStorageConfig: Parameters for the ephemeral storage filesystem.
2683      If unspecified, ephemeral storage is backed by the boot disk.
2684    gcfsConfig: GCFS (Google Container File System) configs.
2685    imageType: The image type to use for this node. Note that for a given
2686      image type, the latest version of it will be used.
2687    kubeletConfig: Node kubelet configs.
2688    labels: The map of Kubernetes labels (key/value pairs) to be applied to
2689      each node. These will added in addition to any default label(s) that
2690      Kubernetes may apply to the node. In case of conflict in label keys, the
2691      applied set may differ depending on the Kubernetes version -- it's best
2692      to assume the behavior is undefined and conflicts should be avoided. For
2693      more information, including usage and the valid values, see:
2694      https://kubernetes.io/docs/concepts/overview/working-with-
2695      objects/labels/
2696    linuxNodeConfig: Parameters that can be configured on Linux nodes.
2697    localSsdCount: The number of local SSD disks to be attached to the node.
2698      The limit for this value is dependent upon the maximum number of disks
2699      available on a machine per zone. See:
2700      https://cloud.google.com/compute/docs/disks/local-ssd for more
2701      information.
2702    localSsdVolumeConfigs: Parameters for using Local SSD with extra options
2703      as hostpath or local volumes
2704    machineType: The name of a Google Compute Engine [machine
2705      type](/compute/docs/machine-types) (e.g. `n1-standard-1`). If
2706      unspecified, the default machine type is `n1-standard-1`.
2707    metadata: The metadata key/value pairs assigned to instances in the
2708      cluster. Keys must conform to the regexp `[a-zA-Z0-9-_]+` and be less
2709      than 128 bytes in length. These are reflected as part of a URL in the
2710      metadata server. Additionally, to avoid ambiguity, keys must not
2711      conflict with any other metadata keys for the project or be one of the
2712      reserved keys: - "cluster-location" - "cluster-name" - "cluster-uid" -
2713      "configure-sh" - "containerd-configure-sh" - "enable-os-login" - "gci-
2714      ensure-gke-docker" - "gci-metrics-enabled" - "gci-update-strategy" -
2715      "instance-template" - "kube-env" - "startup-script" - "user-data" -
2716      "disable-address-manager" - "windows-startup-script-ps1" - "common-psm1"
2717      - "k8s-node-setup-psm1" - "install-ssh-psm1" - "user-profile-psm1" The
2718      following keys are reserved for Windows nodes: - "serial-port-logging-
2719      enable" Values are free-form strings, and only have meaning as
2720      interpreted by the image running in the instance. The only restriction
2721      placed on them is that each value's size must be less than or equal to
2722      32 KB. The total size of all keys and values must be less than 512 KB.
2723    minCpuPlatform: Minimum CPU platform to be used by this instance. The
2724      instance may be scheduled on the specified or newer CPU platform.
2725      Applicable values are the friendly names of CPU platforms, such as
2726      `minCpuPlatform: "Intel Haswell"` or `minCpuPlatform: "Intel Sandy
2727      Bridge"`. For more
2728      platform](https://cloud.google.com/compute/docs/instances/specify-min-
2729      cpu-platform)
2730    nodeGroup: Setting this field will assign instances of this pool to run on
2731      the specified node group. This is useful for running workloads on [sole
2732      tenant nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-
2733      nodes).
2734    nodeImageConfig: The node image configuration to use for this node pool.
2735      Note that this is only applicable for node pools using
2736      image_type=CUSTOM.
2737    oauthScopes: The set of Google API scopes to be made available on all of
2738      the node VMs under the "default" service account. The following scopes
2739      are recommended, but not required, and by default are not included: *
2740      `https://www.googleapis.com/auth/compute` is required for mounting
2741      persistent storage on your nodes. *
2742      `https://www.googleapis.com/auth/devstorage.read_only` is required for
2743      communicating with **gcr.io** (the [Google Container
2744      Registry](/container-registry/)). If unspecified, no scopes are added,
2745      unless Cloud Logging or Cloud Monitoring are enabled, in which case
2746      their required scopes will be added.
2747    preemptible: Whether the nodes are created as preemptible VM instances.
2748      See: https://cloud.google.com/compute/docs/instances/preemptible for
2749      more inforamtion about preemptible VM instances.
2750    reservationAffinity: The optional reservation affinity. Setting this field
2751      will apply the specified [Zonal Compute
2752      Reservation](/compute/docs/instances/reserving-zonal-resources) to this
2753      node pool.
2754    sandboxConfig: Sandbox configuration for this node.
2755    serviceAccount: The Google Cloud Platform Service Account to be used by
2756      the node VMs. Specify the email address of the Service Account;
2757      otherwise, if no Service Account is specified, the "default" service
2758      account is used.
2759    shieldedInstanceConfig: Shielded Instance options.
2760    tags: The list of instance tags applied to all nodes. Tags are used to
2761      identify valid sources or targets for network firewalls and are
2762      specified by the client during cluster or node pool creation. Each tag
2763      within the list must comply with RFC1035.
2764    taints: List of kubernetes taints to be applied to each node. For more
2765      information, including usage and the valid values, see:
2766      https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
2767    workloadMetadataConfig: The workload metadata configuration for this node.
2768  """
2769
2770  @encoding.MapUnrecognizedFields('additionalProperties')
2771  class LabelsValue(_messages.Message):
2772    r"""The map of Kubernetes labels (key/value pairs) to be applied to each
2773    node. These will added in addition to any default label(s) that Kubernetes
2774    may apply to the node. In case of conflict in label keys, the applied set
2775    may differ depending on the Kubernetes version -- it's best to assume the
2776    behavior is undefined and conflicts should be avoided. For more
2777    information, including usage and the valid values, see:
2778    https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
2779
2780    Messages:
2781      AdditionalProperty: An additional property for a LabelsValue object.
2782
2783    Fields:
2784      additionalProperties: Additional properties of type LabelsValue
2785    """
2786
2787    class AdditionalProperty(_messages.Message):
2788      r"""An additional property for a LabelsValue object.
2789
2790      Fields:
2791        key: Name of the additional property.
2792        value: A string attribute.
2793      """
2794
2795      key = _messages.StringField(1)
2796      value = _messages.StringField(2)
2797
2798    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)
2799
2800  @encoding.MapUnrecognizedFields('additionalProperties')
2801  class MetadataValue(_messages.Message):
2802    r"""The metadata key/value pairs assigned to instances in the cluster.
2803    Keys must conform to the regexp `[a-zA-Z0-9-_]+` and be less than 128
2804    bytes in length. These are reflected as part of a URL in the metadata
2805    server. Additionally, to avoid ambiguity, keys must not conflict with any
2806    other metadata keys for the project or be one of the reserved keys: -
2807    "cluster-location" - "cluster-name" - "cluster-uid" - "configure-sh" -
2808    "containerd-configure-sh" - "enable-os-login" - "gci-ensure-gke-docker" -
2809    "gci-metrics-enabled" - "gci-update-strategy" - "instance-template" -
2810    "kube-env" - "startup-script" - "user-data" - "disable-address-manager" -
2811    "windows-startup-script-ps1" - "common-psm1" - "k8s-node-setup-psm1" -
2812    "install-ssh-psm1" - "user-profile-psm1" The following keys are reserved
2813    for Windows nodes: - "serial-port-logging-enable" Values are free-form
2814    strings, and only have meaning as interpreted by the image running in the
2815    instance. The only restriction placed on them is that each value's size
2816    must be less than or equal to 32 KB. The total size of all keys and values
2817    must be less than 512 KB.
2818
2819    Messages:
2820      AdditionalProperty: An additional property for a MetadataValue object.
2821
2822    Fields:
2823      additionalProperties: Additional properties of type MetadataValue
2824    """
2825
2826    class AdditionalProperty(_messages.Message):
2827      r"""An additional property for a MetadataValue object.
2828
2829      Fields:
2830        key: Name of the additional property.
2831        value: A string attribute.
2832      """
2833
2834      key = _messages.StringField(1)
2835      value = _messages.StringField(2)
2836
2837    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)
2838
2839  accelerators = _messages.MessageField('AcceleratorConfig', 1, repeated=True)
2840  bootDiskKmsKey = _messages.StringField(2)
2841  diskSizeGb = _messages.IntegerField(3, variant=_messages.Variant.INT32)
2842  diskType = _messages.StringField(4)
2843  ephemeralStorageConfig = _messages.MessageField('EphemeralStorageConfig', 5)
2844  gcfsConfig = _messages.MessageField('GcfsConfig', 6)
2845  imageType = _messages.StringField(7)
2846  kubeletConfig = _messages.MessageField('NodeKubeletConfig', 8)
2847  labels = _messages.MessageField('LabelsValue', 9)
2848  linuxNodeConfig = _messages.MessageField('LinuxNodeConfig', 10)
2849  localSsdCount = _messages.IntegerField(11, variant=_messages.Variant.INT32)
2850  localSsdVolumeConfigs = _messages.MessageField('LocalSsdVolumeConfig', 12, repeated=True)
2851  machineType = _messages.StringField(13)
2852  metadata = _messages.MessageField('MetadataValue', 14)
2853  minCpuPlatform = _messages.StringField(15)
2854  nodeGroup = _messages.StringField(16)
2855  nodeImageConfig = _messages.MessageField('CustomImageConfig', 17)
2856  oauthScopes = _messages.StringField(18, repeated=True)
2857  preemptible = _messages.BooleanField(19)
2858  reservationAffinity = _messages.MessageField('ReservationAffinity', 20)
2859  sandboxConfig = _messages.MessageField('SandboxConfig', 21)
2860  serviceAccount = _messages.StringField(22)
2861  shieldedInstanceConfig = _messages.MessageField('ShieldedInstanceConfig', 23)
2862  tags = _messages.StringField(24, repeated=True)
2863  taints = _messages.MessageField('NodeTaint', 25, repeated=True)
2864  workloadMetadataConfig = _messages.MessageField('WorkloadMetadataConfig', 26)
2865
2866
2867class NodeKubeletConfig(_messages.Message):
2868  r"""Node kubelet configs. NOTE: This is an Alpha only API.
2869
2870  Fields:
2871    cpuCfsQuota: Enable CPU CFS quota enforcement for containers that specify
2872      CPU limits. This option is enabled by default which makes kubelet use
2873      CFS quota (https://www.kernel.org/doc/Documentation/scheduler/sched-
2874      bwc.txt) to enforce container CPU limits. Otherwise, CPU limits will not
2875      be enforced at all. Disable this option to mitigate CPU throttling
2876      problems while still having your pods to be in Guaranteed QoS class by
2877      specifying the CPU limits. The default value is 'true' if unspecified.
2878    cpuCfsQuotaPeriod: Set the CPU CFS quota period value 'cpu.cfs_period_us'.
2879      The string must be a sequence of decimal numbers, each with optional
2880      fraction and a unit suffix, such as "300ms". Valid time units are "ns",
2881      "us" (or "\xb5s"), "ms", "s", "m", "h". The value must be a positive
2882      duration.
2883    cpuManagerPolicy: Control the CPU management policy on the node. See
2884      https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-
2885      policies/ The following values are allowed. - "none": the default, which
2886      represents the existing scheduling behavior. - "static": allows pods
2887      with certain resource characteristics to be granted increased CPU
2888      affinity and exclusivity on the node. The default value is 'none' if
2889      unspecified.
2890  """
2891
2892  cpuCfsQuota = _messages.BooleanField(1)
2893  cpuCfsQuotaPeriod = _messages.StringField(2)
2894  cpuManagerPolicy = _messages.StringField(3)
2895
2896
2897class NodeLabels(_messages.Message):
2898  r"""Collection of node-level [Kubernetes
2899  labels](https://kubernetes.io/docs/concepts/overview/working-with-
2900  objects/labels).
2901
2902  Messages:
2903    LabelsValue: Map of node label keys and node label values.
2904
2905  Fields:
2906    labels: Map of node label keys and node label values.
2907  """
2908
2909  @encoding.MapUnrecognizedFields('additionalProperties')
2910  class LabelsValue(_messages.Message):
2911    r"""Map of node label keys and node label values.
2912
2913    Messages:
2914      AdditionalProperty: An additional property for a LabelsValue object.
2915
2916    Fields:
2917      additionalProperties: Additional properties of type LabelsValue
2918    """
2919
2920    class AdditionalProperty(_messages.Message):
2921      r"""An additional property for a LabelsValue object.
2922
2923      Fields:
2924        key: Name of the additional property.
2925        value: A string attribute.
2926      """
2927
2928      key = _messages.StringField(1)
2929      value = _messages.StringField(2)
2930
2931    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)
2932
2933  labels = _messages.MessageField('LabelsValue', 1)
2934
2935
2936class NodeManagement(_messages.Message):
2937  r"""NodeManagement defines the set of node management services turned on for
2938  the node pool.
2939
2940  Fields:
2941    autoRepair: Whether the nodes will be automatically repaired.
2942    autoUpgrade: Whether the nodes will be automatically upgraded.
2943    upgradeOptions: Specifies the Auto Upgrade knobs for the node pool.
2944  """
2945
2946  autoRepair = _messages.BooleanField(1)
2947  autoUpgrade = _messages.BooleanField(2)
2948  upgradeOptions = _messages.MessageField('AutoUpgradeOptions', 3)
2949
2950
2951class NodeNetworkConfig(_messages.Message):
2952  r"""Parameters for node pool-level network config. Only applicable if
2953  `ip_allocation_policy.use_ip_aliases` is true.
2954
2955  Fields:
2956    createPodRange: Input only. [Input only] Whether to create a new range for
2957      pod IPs in this node pool. Defaults are provided for `pod_range` and
2958      `pod_ipv4_cidr_block` if they are not specified. If neither
2959      `create_pod_range` or `pod_range` are specified, the cluster-level
2960      default (`ip_allocation_policy.cluster_ipv4_cidr_block`) is used.
2961    createSubnetwork: Input only. [Input only] Whether to create a new
2962      subnetwork for the node pool. Defaults are provided for `subnetwork` and
2963      `node_ipv4_cidr_block` if they are not specified. If neither
2964      `create_subnetwork` or `subnetwork` are specified, the cluster-level
2965      default (`ip_allocation_policy.subnetwork_name`) is used.
2966    enableEndpointsliceProxying: If true, kube-proxy will read from
2967      EndpointSlices instead of Endpoints. This flag only applies to GKE 1.18.
2968    nodeIpv4CidrBlock: The IP address range for node IPs in this node pool.
2969      Only applicable if `create_subnetwork` is true. Set to blank to have a
2970      range chosen with the default size. Set to /netmask (e.g. `/14`) to have
2971      a range chosen with a specific netmask. Set to a
2972      [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
2973      notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
2974      `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific
2975      range to use.
2976    podIpv4CidrBlock: The IP address range for pod IPs in this node pool. Only
2977      applicable if `create_pod_range` is true. Set to blank to have a range
2978      chosen with the default size. Set to /netmask (e.g. `/14`) to have a
2979      range chosen with a specific netmask. Set to a
2980      [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
2981      notation (e.g. `10.96.0.0/14`) to pick a specific range to use.
2982    podRange: The ID of the secondary range for pod IPs. If `create_pod_range`
2983      is true, this ID is used for the new range.
2984    privateNodesConfig: Configuration for controlling private nodes settings.
2985      If there are no private_nodes specified, then
2986      private_cluster_cofnig.enable_private_node's value used as a default.
2987    subnetwork: The ID of the [subnetwork](https://cloud.google.com/vpc/docs/v
2988      pc#vpc_networks_and_subnets) for this node pool. If `create_subnetwork`
2989      is true, this ID is used for the new subnet.
2990  """
2991
2992  createPodRange = _messages.BooleanField(1)
2993  createSubnetwork = _messages.BooleanField(2)
2994  enableEndpointsliceProxying = _messages.BooleanField(3)
2995  nodeIpv4CidrBlock = _messages.StringField(4)
2996  podIpv4CidrBlock = _messages.StringField(5)
2997  podRange = _messages.StringField(6)
2998  privateNodesConfig = _messages.MessageField('PrivateNodesConfig', 7)
2999  subnetwork = _messages.StringField(8)
3000
3001
3002class NodeNetworkPolicy(_messages.Message):
3003  r"""NodeNetworkPolicy specifies if node network policy feature is enabled.
3004  This feature is only supported with DatapathProvider=ADVANCED_DATAPATH.
3005
3006  Fields:
3007    enabled: Whether node network policy is enabled.
3008  """
3009
3010  enabled = _messages.BooleanField(1)
3011
3012
3013class NodePool(_messages.Message):
3014  r"""NodePool contains the name and configuration for a cluster's node pool.
3015  Node pools are a set of nodes (i.e. VM's), with a common configuration and
3016  specification, under the control of the cluster master. They may have a set
3017  of Kubernetes labels applied to them, which may be used to reference them
3018  during pod scheduling. They may also be resized up or down, to accommodate
3019  the workload.
3020
3021  Enums:
3022    StatusValueValuesEnum: [Output only] The status of the nodes in this pool
3023      instance.
3024
3025  Fields:
3026    autoscaling: Autoscaler configuration for this NodePool. Autoscaler is
3027      enabled only if a valid configuration is present.
3028    conditions: Which conditions caused the current node pool state.
3029    config: The node configuration of the pool.
3030    initialNodeCount: The initial node count for the pool. You must ensure
3031      that your Compute Engine resource quota is sufficient for this number of
3032      instances. You must also have available firewall and routes quota.
3033    instanceGroupUrls: [Output only] The resource URLs of the [managed
3034      instance groups](/compute/docs/instance-groups/creating-groups-of-
3035      managed-instances) associated with this node pool.
3036    locations: The list of Google Compute Engine
3037      [zones](https://cloud.google.com/compute/docs/zones#available) in which
3038      the NodePool's nodes should be located. If this value is unspecified
3039      during node pool creation, the
3040      [Cluster.Locations](https://cloud.google.com/kubernetes-engine/docs/refe
3041      rence/rest/v1/projects.locations.clusters#Cluster.FIELDS.locations)
3042      value will be used, instead. Warning: changing node pool locations will
3043      result in nodes being added and/or removed.
3044    management: NodeManagement configuration for this NodePool.
3045    maxPodsConstraint: The constraint on the maximum number of pods that can
3046      be run simultaneously on a node in the node pool.
3047    name: The name of the node pool.
3048    networkConfig: Networking configuration for this NodePool. If specified,
3049      it overrides the cluster-level defaults.
3050    podIpv4CidrSize: [Output only] The pod CIDR block size per node in this
3051      node pool.
3052    resourceVersion: Server-defined resource version (etag).
3053    selfLink: [Output only] Server-defined URL for the resource.
3054    status: [Output only] The status of the nodes in this pool instance.
3055    statusMessage: [Output only] Additional information about the current
3056      status of this node pool instance, if available. Deprecated, use the
3057      field conditions instead.
3058    upgradeSettings: Upgrade settings control disruption and speed of the
3059      upgrade.
3060    version: The version of the Kubernetes of this node.
3061  """
3062
3063  class StatusValueValuesEnum(_messages.Enum):
3064    r"""[Output only] The status of the nodes in this pool instance.
3065
3066    Values:
3067      STATUS_UNSPECIFIED: Not set.
3068      PROVISIONING: The PROVISIONING state indicates the node pool is being
3069        created.
3070      RUNNING: The RUNNING state indicates the node pool has been created and
3071        is fully usable.
3072      RUNNING_WITH_ERROR: The RUNNING_WITH_ERROR state indicates the node pool
3073        has been created and is partially usable. Some error state has
3074        occurred and some functionality may be impaired. Customer may need to
3075        reissue a request or trigger a new update.
3076      RECONCILING: The RECONCILING state indicates that some work is actively
3077        being done on the node pool, such as upgrading node software. Details
3078        can be found in the `statusMessage` field.
3079      STOPPING: The STOPPING state indicates the node pool is being deleted.
3080      ERROR: The ERROR state indicates the node pool may be unusable. Details
3081        can be found in the `statusMessage` field.
3082    """
3083    STATUS_UNSPECIFIED = 0
3084    PROVISIONING = 1
3085    RUNNING = 2
3086    RUNNING_WITH_ERROR = 3
3087    RECONCILING = 4
3088    STOPPING = 5
3089    ERROR = 6
3090
3091  autoscaling = _messages.MessageField('NodePoolAutoscaling', 1)
3092  conditions = _messages.MessageField('StatusCondition', 2, repeated=True)
3093  config = _messages.MessageField('NodeConfig', 3)
3094  initialNodeCount = _messages.IntegerField(4, variant=_messages.Variant.INT32)
3095  instanceGroupUrls = _messages.StringField(5, repeated=True)
3096  locations = _messages.StringField(6, repeated=True)
3097  management = _messages.MessageField('NodeManagement', 7)
3098  maxPodsConstraint = _messages.MessageField('MaxPodsConstraint', 8)
3099  name = _messages.StringField(9)
3100  networkConfig = _messages.MessageField('NodeNetworkConfig', 10)
3101  podIpv4CidrSize = _messages.IntegerField(11, variant=_messages.Variant.INT32)
3102  resourceVersion = _messages.StringField(12)
3103  selfLink = _messages.StringField(13)
3104  status = _messages.EnumField('StatusValueValuesEnum', 14)
3105  statusMessage = _messages.StringField(15)
3106  upgradeSettings = _messages.MessageField('UpgradeSettings', 16)
3107  version = _messages.StringField(17)
3108
3109
3110class NodePoolAutoscaling(_messages.Message):
3111  r"""NodePoolAutoscaling contains information required by cluster autoscaler
3112  to adjust the size of the node pool to the current cluster usage.
3113
3114  Fields:
3115    autoprovisioned: Can this node pool be deleted automatically.
3116    enabled: Is autoscaling enabled for this node pool.
3117    maxNodeCount: Maximum number of nodes in the NodePool. Must be >=
3118      min_node_count. There has to enough quota to scale up the cluster.
3119    minNodeCount: Minimum number of nodes in the NodePool. Must be >= 1 and <=
3120      max_node_count.
3121  """
3122
3123  autoprovisioned = _messages.BooleanField(1)
3124  enabled = _messages.BooleanField(2)
3125  maxNodeCount = _messages.IntegerField(3, variant=_messages.Variant.INT32)
3126  minNodeCount = _messages.IntegerField(4, variant=_messages.Variant.INT32)
3127
3128
3129class NodeTaint(_messages.Message):
3130  r"""Kubernetes taint is comprised of three fields: key, value, and effect.
3131  Effect can only be one of three types: NoSchedule, PreferNoSchedule or
3132  NoExecute. See
3133  [here](https://kubernetes.io/docs/concepts/configuration/taint-and-
3134  toleration) for more information, including usage and the valid values.
3135
3136  Enums:
3137    EffectValueValuesEnum: Effect for taint.
3138
3139  Fields:
3140    effect: Effect for taint.
3141    key: Key for taint.
3142    value: Value for taint.
3143  """
3144
3145  class EffectValueValuesEnum(_messages.Enum):
3146    r"""Effect for taint.
3147
3148    Values:
3149      EFFECT_UNSPECIFIED: Not set
3150      NO_SCHEDULE: NoSchedule
3151      PREFER_NO_SCHEDULE: PreferNoSchedule
3152      NO_EXECUTE: NoExecute
3153    """
3154    EFFECT_UNSPECIFIED = 0
3155    NO_SCHEDULE = 1
3156    PREFER_NO_SCHEDULE = 2
3157    NO_EXECUTE = 3
3158
3159  effect = _messages.EnumField('EffectValueValuesEnum', 1)
3160  key = _messages.StringField(2)
3161  value = _messages.StringField(3)
3162
3163
3164class NodeTaints(_messages.Message):
3165  r"""Collection of Kubernetes [node
3166  taints](https://kubernetes.io/docs/concepts/configuration/taint-and-
3167  toleration).
3168
3169  Fields:
3170    taints: List of node taints.
3171  """
3172
3173  taints = _messages.MessageField('NodeTaint', 1, repeated=True)
3174
3175
3176class NotificationConfig(_messages.Message):
3177  r"""NotificationConfig is the configuration of notifications.
3178
3179  Fields:
3180    pubsub: Notification config for Pub/Sub.
3181  """
3182
3183  pubsub = _messages.MessageField('PubSub', 1)
3184
3185
3186class Operation(_messages.Message):
3187  r"""This operation resource represents operations that may have happened or
3188  are happening on the cluster. All fields are output only.
3189
3190  Enums:
3191    OperationTypeValueValuesEnum: The operation type.
3192    StatusValueValuesEnum: The current status of the operation.
3193
3194  Fields:
3195    clusterConditions: Which conditions caused the current cluster state.
3196      Deprecated. Use field error instead.
3197    detail: Detailed operation progress, if available.
3198    endTime: [Output only] The time the operation completed, in
3199      [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
3200    error: The error result of the operation in case of failure.
3201    location: [Output only] The name of the Google Compute Engine
3202      [zone](/compute/docs/regions-zones/regions-zones#available) or
3203      [region](/compute/docs/regions-zones/regions-zones#available) in which
3204      the cluster resides.
3205    name: The server-assigned ID for the operation.
3206    nodepoolConditions: Which conditions caused the current node pool state.
3207      Deprecated. Use field error instead.
3208    operationType: The operation type.
3209    progress: Output only. [Output only] Progress information for an
3210      operation.
3211    selfLink: Server-defined URL for the resource.
3212    startTime: [Output only] The time the operation started, in
3213      [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
3214    status: The current status of the operation.
3215    statusMessage: Output only. If an error has occurred, a textual
3216      description of the error. Deprecated. Use the field error instead.
3217    targetLink: Server-defined URL for the target of the operation.
3218    zone: The name of the Google Compute Engine
3219      [zone](/compute/docs/zones#available) in which the operation is taking
3220      place. This field is deprecated, use location instead.
3221  """
3222
3223  class OperationTypeValueValuesEnum(_messages.Enum):
3224    r"""The operation type.
3225
3226    Values:
3227      TYPE_UNSPECIFIED: Not set.
3228      CREATE_CLUSTER: Cluster create.
3229      DELETE_CLUSTER: Cluster delete.
3230      UPGRADE_MASTER: A master upgrade.
3231      UPGRADE_NODES: A node upgrade.
3232      REPAIR_CLUSTER: Cluster repair.
3233      UPDATE_CLUSTER: Cluster update.
3234      CREATE_NODE_POOL: Node pool create.
3235      DELETE_NODE_POOL: Node pool delete.
3236      SET_NODE_POOL_MANAGEMENT: Set node pool management.
3237      AUTO_REPAIR_NODES: Automatic node pool repair.
3238      AUTO_UPGRADE_NODES: Automatic node upgrade.
3239      SET_LABELS: Set labels.
3240      SET_MASTER_AUTH: Set/generate master auth materials
3241      SET_NODE_POOL_SIZE: Set node pool size.
3242      SET_NETWORK_POLICY: Updates network policy for a cluster.
3243      SET_MAINTENANCE_POLICY: Set the maintenance policy.
3244      UPDATE_IP_ALLOCATION_POLICY: Update cluster IP allocation policy.
3245    """
3246    TYPE_UNSPECIFIED = 0
3247    CREATE_CLUSTER = 1
3248    DELETE_CLUSTER = 2
3249    UPGRADE_MASTER = 3
3250    UPGRADE_NODES = 4
3251    REPAIR_CLUSTER = 5
3252    UPDATE_CLUSTER = 6
3253    CREATE_NODE_POOL = 7
3254    DELETE_NODE_POOL = 8
3255    SET_NODE_POOL_MANAGEMENT = 9
3256    AUTO_REPAIR_NODES = 10
3257    AUTO_UPGRADE_NODES = 11
3258    SET_LABELS = 12
3259    SET_MASTER_AUTH = 13
3260    SET_NODE_POOL_SIZE = 14
3261    SET_NETWORK_POLICY = 15
3262    SET_MAINTENANCE_POLICY = 16
3263    UPDATE_IP_ALLOCATION_POLICY = 17
3264
3265  class StatusValueValuesEnum(_messages.Enum):
3266    r"""The current status of the operation.
3267
3268    Values:
3269      STATUS_UNSPECIFIED: Not set.
3270      PENDING: The operation has been created.
3271      RUNNING: The operation is currently running.
3272      DONE: The operation is done, either cancelled or completed.
3273      ABORTING: The operation is aborting.
3274    """
3275    STATUS_UNSPECIFIED = 0
3276    PENDING = 1
3277    RUNNING = 2
3278    DONE = 3
3279    ABORTING = 4
3280
3281  clusterConditions = _messages.MessageField('StatusCondition', 1, repeated=True)
3282  detail = _messages.StringField(2)
3283  endTime = _messages.StringField(3)
3284  error = _messages.MessageField('Status', 4)
3285  location = _messages.StringField(5)
3286  name = _messages.StringField(6)
3287  nodepoolConditions = _messages.MessageField('StatusCondition', 7, repeated=True)
3288  operationType = _messages.EnumField('OperationTypeValueValuesEnum', 8)
3289  progress = _messages.MessageField('OperationProgress', 9)
3290  selfLink = _messages.StringField(10)
3291  startTime = _messages.StringField(11)
3292  status = _messages.EnumField('StatusValueValuesEnum', 12)
3293  statusMessage = _messages.StringField(13)
3294  targetLink = _messages.StringField(14)
3295  zone = _messages.StringField(15)
3296
3297
3298class OperationProgress(_messages.Message):
3299  r"""Information about operation (or operation stage) progress.
3300
3301  Enums:
3302    StatusValueValuesEnum: Status of an operation stage. Unset for single-
3303      stage operations.
3304
3305  Fields:
3306    metrics: Progress metric bundle, for example: metrics: [{name: "nodes
3307      done", int_value: 15}, {name: "nodes total", int_value: 32}] or metrics:
3308      [{name: "progress", double_value: 0.56}, {name: "progress scale",
3309      double_value: 1.0}]
3310    name: A non-parameterized string describing an operation stage. Unset for
3311      single-stage operations.
3312    stages: Substages of an operation or a stage.
3313    status: Status of an operation stage. Unset for single-stage operations.
3314  """
3315
3316  class StatusValueValuesEnum(_messages.Enum):
3317    r"""Status of an operation stage. Unset for single-stage operations.
3318
3319    Values:
3320      STATUS_UNSPECIFIED: Not set.
3321      PENDING: The operation has been created.
3322      RUNNING: The operation is currently running.
3323      DONE: The operation is done, either cancelled or completed.
3324      ABORTING: The operation is aborting.
3325    """
3326    STATUS_UNSPECIFIED = 0
3327    PENDING = 1
3328    RUNNING = 2
3329    DONE = 3
3330    ABORTING = 4
3331
3332  metrics = _messages.MessageField('Metric', 1, repeated=True)
3333  name = _messages.StringField(2)
3334  stages = _messages.MessageField('OperationProgress', 3, repeated=True)
3335  status = _messages.EnumField('StatusValueValuesEnum', 4)
3336
3337
3338class PodSecurityPolicyConfig(_messages.Message):
3339  r"""Configuration for the PodSecurityPolicy feature.
3340
3341  Fields:
3342    enabled: Enable the PodSecurityPolicy controller for this cluster. If
3343      enabled, pods must be valid under a PodSecurityPolicy to be created.
3344  """
3345
3346  enabled = _messages.BooleanField(1)
3347
3348
3349class PrivateClusterConfig(_messages.Message):
3350  r"""Configuration options for private clusters.
3351
3352  Fields:
3353    crossConnectConfig: Controls cross connect configuration.
3354    enablePrivateEndpoint: Whether the master's internal IP address is used as
3355      the cluster endpoint.
3356    enablePrivateNodes: Whether nodes have internal IP addresses only. If
3357      enabled, all nodes are given only RFC 1918 private addresses and
3358      communicate with the master via private networking.
3359    masterGlobalAccessConfig: Controls master global access settings.
3360    masterIpv4CidrBlock: The IP range in CIDR notation to use for the hosted
3361      master network. This range will be used for assigning internal IP
3362      addresses to the master or set of masters, as well as the ILB VIP. This
3363      range must not overlap with any other ranges in use within the cluster's
3364      network.
3365    peeringName: Output only. The peering name in the customer VPC used by
3366      this cluster.
3367    privateCluster: Whether the cluster is private.
3368    privateEndpoint: Output only. The internal IP address of this cluster's
3369      endpoint.
3370    privateEndpointFqdn: Output only. The private endpoint's FQDN.
3371    privateEndpointSubnetwork: Subnetwork in cluster's network where master's
3372      endpoint will be provisioned. Specified in
3373      projects/*/regions/*/subnetworks/* format.
3374    publicEndpoint: Output only. The external IP address of this cluster's
3375      endpoint.
3376  """
3377
3378  crossConnectConfig = _messages.MessageField('CrossConnectConfig', 1)
3379  enablePrivateEndpoint = _messages.BooleanField(2)
3380  enablePrivateNodes = _messages.BooleanField(3)
3381  masterGlobalAccessConfig = _messages.MessageField('PrivateClusterMasterGlobalAccessConfig', 4)
3382  masterIpv4CidrBlock = _messages.StringField(5)
3383  peeringName = _messages.StringField(6)
3384  privateCluster = _messages.BooleanField(7)
3385  privateEndpoint = _messages.StringField(8)
3386  privateEndpointFqdn = _messages.StringField(9)
3387  privateEndpointSubnetwork = _messages.StringField(10)
3388  publicEndpoint = _messages.StringField(11)
3389
3390
3391class PrivateClusterMasterGlobalAccessConfig(_messages.Message):
3392  r"""Configuration for controlling master global access settings.
3393
3394  Fields:
3395    enabled: Whenever master is accessible globally or not.
3396  """
3397
3398  enabled = _messages.BooleanField(1)
3399
3400
3401class PrivateIPv6Status(_messages.Message):
3402  r"""PrivateIPv6Status contains the desired state of the IPv6 fast path on
3403  this cluster. Private IPv6 access allows direct high speed communication
3404  from GKE pods to gRPC Google cloud services over IPv6.
3405
3406  Fields:
3407    enabled: Enables private IPv6 access to Google Cloud services for this
3408      cluster.
3409  """
3410
3411  enabled = _messages.BooleanField(1)
3412
3413
3414class PrivateNodesConfig(_messages.Message):
3415  r"""Configuration for controlling private nodes settings.
3416
3417  Fields:
3418    privateNodes: Whether nodes have internal IP addresses only.
3419  """
3420
3421  privateNodes = _messages.BooleanField(1)
3422
3423
3424class PubSub(_messages.Message):
3425  r"""Pub/Sub specific notification config.
3426
3427  Fields:
3428    enabled: Enable notifications for Pub/Sub.
3429    topic: The desired Pub/Sub topic to which notifications will be sent by
3430      GKE. Format is `projects/{project}/topics/{topic}`.
3431  """
3432
3433  enabled = _messages.BooleanField(1)
3434  topic = _messages.StringField(2)
3435
3436
3437class RecurringTimeWindow(_messages.Message):
3438  r"""Represents an arbitrary window of time that recurs.
3439
3440  Fields:
3441    recurrence: An RRULE (https://tools.ietf.org/html/rfc5545#section-3.8.5.3)
3442      for how this window reccurs. They go on for the span of time between the
3443      start and end time. For example, to have something repeat every weekday,
3444      you'd use: `FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR` To repeat some window
3445      daily (equivalent to the DailyMaintenanceWindow): `FREQ=DAILY` For the
3446      first weekend of every month: `FREQ=MONTHLY;BYSETPOS=1;BYDAY=SA,SU` This
3447      specifies how frequently the window starts. Eg, if you wanted to have a
3448      9-5 UTC-4 window every weekday, you'd use something like: ``` start time
3449      = 2019-01-01T09:00:00-0400 end time = 2019-01-01T17:00:00-0400
3450      recurrence = FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR ``` Windows can span
3451      multiple days. Eg, to make the window encompass every weekend from
3452      midnight Saturday till the last minute of Sunday UTC: ``` start time =
3453      2019-01-05T00:00:00Z end time = 2019-01-07T23:59:00Z recurrence =
3454      FREQ=WEEKLY;BYDAY=SA ``` Note the start and end time's specific dates
3455      are largely arbitrary except to specify duration of the window and when
3456      it first starts. The FREQ values of HOURLY, MINUTELY, and SECONDLY are
3457      not supported.
3458    window: The window of the first recurrence.
3459  """
3460
3461  recurrence = _messages.StringField(1)
3462  window = _messages.MessageField('TimeWindow', 2)
3463
3464
3465class ReleaseChannel(_messages.Message):
3466  r"""ReleaseChannel indicates which release channel a cluster is subscribed
3467  to. Release channels are arranged in order of risk. When a cluster is
3468  subscribed to a release channel, Google maintains both the master version
3469  and the node version. Node auto-upgrade defaults to true and cannot be
3470  disabled.
3471
3472  Enums:
3473    ChannelValueValuesEnum: channel specifies which release channel the
3474      cluster is subscribed to.
3475
3476  Fields:
3477    channel: channel specifies which release channel the cluster is subscribed
3478      to.
3479  """
3480
3481  class ChannelValueValuesEnum(_messages.Enum):
3482    r"""channel specifies which release channel the cluster is subscribed to.
3483
3484    Values:
3485      UNSPECIFIED: No channel specified.
3486      RAPID: RAPID channel is offered on an early access basis for customers
3487        who want to test new releases. WARNING: Versions available in the
3488        RAPID Channel may be subject to unresolved issues with no known
3489        workaround and are not subject to any SLAs.
3490      REGULAR: Clusters subscribed to REGULAR receive versions that are
3491        considered GA quality. REGULAR is intended for production users who
3492        want to take advantage of new features.
3493      STABLE: Clusters subscribed to STABLE receive versions that are known to
3494        be stable and reliable in production.
3495    """
3496    UNSPECIFIED = 0
3497    RAPID = 1
3498    REGULAR = 2
3499    STABLE = 3
3500
3501  channel = _messages.EnumField('ChannelValueValuesEnum', 1)
3502
3503
3504class ReleaseChannelConfig(_messages.Message):
3505  r"""ReleaseChannelConfig exposes configuration for a release channel.
3506
3507  Enums:
3508    ChannelValueValuesEnum: The release channel this configuration applies to.
3509
3510  Fields:
3511    availableVersions: Deprecated. This field has been deprecated and replaced
3512      with the valid_versions field.
3513    channel: The release channel this configuration applies to.
3514    defaultVersion: The default version for newly created clusters on the
3515      channel.
3516    validVersions: List of valid versions for the channel.
3517  """
3518
3519  class ChannelValueValuesEnum(_messages.Enum):
3520    r"""The release channel this configuration applies to.
3521
3522    Values:
3523      UNSPECIFIED: No channel specified.
3524      RAPID: RAPID channel is offered on an early access basis for customers
3525        who want to test new releases. WARNING: Versions available in the
3526        RAPID Channel may be subject to unresolved issues with no known
3527        workaround and are not subject to any SLAs.
3528      REGULAR: Clusters subscribed to REGULAR receive versions that are
3529        considered GA quality. REGULAR is intended for production users who
3530        want to take advantage of new features.
3531      STABLE: Clusters subscribed to STABLE receive versions that are known to
3532        be stable and reliable in production.
3533    """
3534    UNSPECIFIED = 0
3535    RAPID = 1
3536    REGULAR = 2
3537    STABLE = 3
3538
3539  availableVersions = _messages.MessageField('AvailableVersion', 1, repeated=True)
3540  channel = _messages.EnumField('ChannelValueValuesEnum', 2)
3541  defaultVersion = _messages.StringField(3)
3542  validVersions = _messages.StringField(4, repeated=True)
3543
3544
3545class ReservationAffinity(_messages.Message):
3546  r"""[ReservationAffinity](/compute/docs/instances/reserving-zonal-resources)
3547  is the configuration of desired reservation which instances could take
3548  capacity from.
3549
3550  Enums:
3551    ConsumeReservationTypeValueValuesEnum: Corresponds to the type of
3552      reservation consumption.
3553
3554  Fields:
3555    consumeReservationType: Corresponds to the type of reservation
3556      consumption.
3557    key: Corresponds to the label key of a reservation resource. To target a
3558      SPECIFIC_RESERVATION by name, specify "googleapis.com/reservation-name"
3559      as the key and specify the name of your reservation as its value.
3560    values: Corresponds to the label value(s) of reservation resource(s).
3561  """
3562
3563  class ConsumeReservationTypeValueValuesEnum(_messages.Enum):
3564    r"""Corresponds to the type of reservation consumption.
3565
3566    Values:
3567      UNSPECIFIED: Default value. This should not be used.
3568      NO_RESERVATION: Do not consume from any reserved capacity.
3569      ANY_RESERVATION: Consume any reservation available.
3570      SPECIFIC_RESERVATION: Must consume from a specific reservation. Must
3571        specify key value fields for specifying the reservations.
3572    """
3573    UNSPECIFIED = 0
3574    NO_RESERVATION = 1
3575    ANY_RESERVATION = 2
3576    SPECIFIC_RESERVATION = 3
3577
3578  consumeReservationType = _messages.EnumField('ConsumeReservationTypeValueValuesEnum', 1)
3579  key = _messages.StringField(2)
3580  values = _messages.StringField(3, repeated=True)
3581
3582
3583class ResourceLimit(_messages.Message):
3584  r"""Contains information about amount of some resource in the cluster. For
3585  memory, value should be in GB.
3586
3587  Fields:
3588    maximum: Maximum amount of the resource in the cluster.
3589    minimum: Minimum amount of the resource in the cluster.
3590    resourceType: Resource name "cpu", "memory" or gpu-specific string.
3591  """
3592
3593  maximum = _messages.IntegerField(1)
3594  minimum = _messages.IntegerField(2)
3595  resourceType = _messages.StringField(3)
3596
3597
3598class ResourceUsageExportConfig(_messages.Message):
3599  r"""Configuration for exporting cluster resource usages.
3600
3601  Fields:
3602    bigqueryDestination: Configuration to use BigQuery as usage export
3603      destination.
3604    consumptionMeteringConfig: Configuration to enable resource consumption
3605      metering.
3606    enableNetworkEgressMetering: Whether to enable network egress metering for
3607      this cluster. If enabled, a daemonset will be created in the cluster to
3608      meter network egress traffic.
3609  """
3610
3611  bigqueryDestination = _messages.MessageField('BigQueryDestination', 1)
3612  consumptionMeteringConfig = _messages.MessageField('ConsumptionMeteringConfig', 2)
3613  enableNetworkEgressMetering = _messages.BooleanField(3)
3614
3615
3616class RollbackNodePoolUpgradeRequest(_messages.Message):
3617  r"""RollbackNodePoolUpgradeRequest rollbacks the previously Aborted or
3618  Failed NodePool upgrade. This will be an no-op if the last upgrade
3619  successfully completed.
3620
3621  Fields:
3622    clusterId: Deprecated. The name of the cluster to rollback. This field has
3623      been deprecated and replaced by the name field.
3624    name: The name (project, location, cluster, node pool id) of the node poll
3625      to rollback upgrade. Specified in the format
3626      'projects/*/locations/*/clusters/*/nodePools/*'.
3627    nodePoolId: Deprecated. The name of the node pool to rollback. This field
3628      has been deprecated and replaced by the name field.
3629    projectId: Deprecated. The Google Developers Console [project ID or
3630      project number](https://support.google.com/cloud/answer/6158840). This
3631      field has been deprecated and replaced by the name field.
3632    zone: Deprecated. The name of the Google Compute Engine
3633      [zone](/compute/docs/zones#available) in which the cluster resides. This
3634      field has been deprecated and replaced by the name field.
3635  """
3636
3637  clusterId = _messages.StringField(1)
3638  name = _messages.StringField(2)
3639  nodePoolId = _messages.StringField(3)
3640  projectId = _messages.StringField(4)
3641  zone = _messages.StringField(5)
3642
3643
3644class SandboxConfig(_messages.Message):
3645  r"""SandboxConfig contains configurations of the sandbox to use for the
3646  node.
3647
3648  Enums:
3649    TypeValueValuesEnum: Type of the sandbox to use for the node.
3650
3651  Fields:
3652    sandboxType: Type of the sandbox to use for the node (e.g. 'gvisor')
3653    type: Type of the sandbox to use for the node.
3654  """
3655
3656  class TypeValueValuesEnum(_messages.Enum):
3657    r"""Type of the sandbox to use for the node.
3658
3659    Values:
3660      UNSPECIFIED: Default value. This should not be used.
3661      GVISOR: Run sandbox using gvisor.
3662    """
3663    UNSPECIFIED = 0
3664    GVISOR = 1
3665
3666  sandboxType = _messages.StringField(1)
3667  type = _messages.EnumField('TypeValueValuesEnum', 2)
3668
3669
3670class SecurityProfile(_messages.Message):
3671  r"""User selected security profile
3672
3673  Fields:
3674    disableRuntimeRules: Don't apply runtime rules. When set to true, no
3675      objects/deployments will be installed in the cluster to enforce runtime
3676      rules. This is useful to work with config-as-code systems
3677    name: Name with version of selected security profile A security profile
3678      name follows kebob-case (a-zA-Z*) and a version is like MAJOR.MINOR-
3679      suffix suffix is ([a-zA-Z0-9\-_\.]+) e.g. default-1.0-gke.0
3680  """
3681
3682  disableRuntimeRules = _messages.BooleanField(1)
3683  name = _messages.StringField(2)
3684
3685
3686class ServerConfig(_messages.Message):
3687  r"""Kubernetes Engine service configuration.
3688
3689  Fields:
3690    channels: List of release channel configurations.
3691    defaultClusterVersion: Version of Kubernetes the service deploys by
3692      default.
3693    defaultImageType: Default image type.
3694    validImageTypes: List of valid image types.
3695    validMasterVersions: List of valid master versions, in descending order.
3696    validNodeVersions: List of valid node upgrade target versions, in
3697      descending order.
3698  """
3699
3700  channels = _messages.MessageField('ReleaseChannelConfig', 1, repeated=True)
3701  defaultClusterVersion = _messages.StringField(2)
3702  defaultImageType = _messages.StringField(3)
3703  validImageTypes = _messages.StringField(4, repeated=True)
3704  validMasterVersions = _messages.StringField(5, repeated=True)
3705  validNodeVersions = _messages.StringField(6, repeated=True)
3706
3707
3708class ServiceExternalIPsConfig(_messages.Message):
3709  r"""Config to block services with externalIPs field.
3710
3711  Fields:
3712    enabled: Whether Services with ExternalIPs field are allowed or not.
3713  """
3714
3715  enabled = _messages.BooleanField(1)
3716
3717
3718class SetAddonsConfigRequest(_messages.Message):
3719  r"""SetAddonsRequest sets the addons associated with the cluster.
3720
3721  Fields:
3722    addonsConfig: The desired configurations for the various addons available
3723      to run in the cluster.
3724    clusterId: Deprecated. The name of the cluster to upgrade. This field has
3725      been deprecated and replaced by the name field.
3726    name: The name (project, location, cluster) of the cluster to set addons.
3727      Specified in the format 'projects/*/locations/*/clusters/*'.
3728    projectId: Deprecated. The Google Developers Console [project ID or
3729      project number](https://support.google.com/cloud/answer/6158840). This
3730      field has been deprecated and replaced by the name field.
3731    zone: Deprecated. The name of the Google Compute Engine
3732      [zone](/compute/docs/zones#available) in which the cluster resides. This
3733      field has been deprecated and replaced by the name field.
3734  """
3735
3736  addonsConfig = _messages.MessageField('AddonsConfig', 1)
3737  clusterId = _messages.StringField(2)
3738  name = _messages.StringField(3)
3739  projectId = _messages.StringField(4)
3740  zone = _messages.StringField(5)
3741
3742
3743class SetLabelsRequest(_messages.Message):
3744  r"""SetLabelsRequest sets the Google Cloud Platform labels on a Google
3745  Container Engine cluster, which will in turn set them for Google Compute
3746  Engine resources used by that cluster
3747
3748  Messages:
3749    ResourceLabelsValue: The labels to set for that cluster.
3750
3751  Fields:
3752    clusterId: Deprecated. The name of the cluster. This field has been
3753      deprecated and replaced by the name field.
3754    labelFingerprint: The fingerprint of the previous set of labels for this
3755      resource, used to detect conflicts. The fingerprint is initially
3756      generated by Kubernetes Engine and changes after every request to modify
3757      or update labels. You must always provide an up-to-date fingerprint hash
3758      when updating or changing labels. Make a get() request to the resource
3759      to get the latest fingerprint.
3760    name: The name (project, location, cluster id) of the cluster to set
3761      labels. Specified in the format 'projects/*/locations/*/clusters/*'.
3762    projectId: Deprecated. The Google Developers Console [project ID or
3763      project
3764      number](https://developers.google.com/console/help/new/#projectnumber).
3765      This field has been deprecated and replaced by the name field.
3766    resourceLabels: The labels to set for that cluster.
3767    zone: Deprecated. The name of the Google Compute Engine
3768      [zone](/compute/docs/zones#available) in which the cluster resides. This
3769      field has been deprecated and replaced by the name field.
3770  """
3771
3772  @encoding.MapUnrecognizedFields('additionalProperties')
3773  class ResourceLabelsValue(_messages.Message):
3774    r"""The labels to set for that cluster.
3775
3776    Messages:
3777      AdditionalProperty: An additional property for a ResourceLabelsValue
3778        object.
3779
3780    Fields:
3781      additionalProperties: Additional properties of type ResourceLabelsValue
3782    """
3783
3784    class AdditionalProperty(_messages.Message):
3785      r"""An additional property for a ResourceLabelsValue object.
3786
3787      Fields:
3788        key: Name of the additional property.
3789        value: A string attribute.
3790      """
3791
3792      key = _messages.StringField(1)
3793      value = _messages.StringField(2)
3794
3795    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)
3796
3797  clusterId = _messages.StringField(1)
3798  labelFingerprint = _messages.StringField(2)
3799  name = _messages.StringField(3)
3800  projectId = _messages.StringField(4)
3801  resourceLabels = _messages.MessageField('ResourceLabelsValue', 5)
3802  zone = _messages.StringField(6)
3803
3804
3805class SetLegacyAbacRequest(_messages.Message):
3806  r"""SetLegacyAbacRequest enables or disables the ABAC authorization
3807  mechanism for a cluster.
3808
3809  Fields:
3810    clusterId: Deprecated. The name of the cluster to update. This field has
3811      been deprecated and replaced by the name field.
3812    enabled: Whether ABAC authorization will be enabled in the cluster.
3813    name: The name (project, location, cluster id) of the cluster to set
3814      legacy abac. Specified in the format
3815      'projects/*/locations/*/clusters/*'.
3816    projectId: Deprecated. The Google Developers Console [project ID or
3817      project number](https://support.google.com/cloud/answer/6158840). This
3818      field has been deprecated and replaced by the name field.
3819    zone: Deprecated. The name of the Google Compute Engine
3820      [zone](/compute/docs/zones#available) in which the cluster resides. This
3821      field has been deprecated and replaced by the name field.
3822  """
3823
3824  clusterId = _messages.StringField(1)
3825  enabled = _messages.BooleanField(2)
3826  name = _messages.StringField(3)
3827  projectId = _messages.StringField(4)
3828  zone = _messages.StringField(5)
3829
3830
3831class SetLocationsRequest(_messages.Message):
3832  r"""SetLocationsRequest sets the locations of the cluster.
3833
3834  Fields:
3835    clusterId: Deprecated. The name of the cluster to upgrade. This field has
3836      been deprecated and replaced by the name field.
3837    locations: The desired list of Google Compute Engine
3838      [zones](/compute/docs/zones#available) in which the cluster's nodes
3839      should be located. Changing the locations a cluster is in will result in
3840      nodes being either created or removed from the cluster, depending on
3841      whether locations are being added or removed. This list must always
3842      include the cluster's primary zone.
3843    name: The name (project, location, cluster) of the cluster to set
3844      locations. Specified in the format 'projects/*/locations/*/clusters/*'.
3845    projectId: Deprecated. The Google Developers Console [project ID or
3846      project number](https://support.google.com/cloud/answer/6158840). This
3847      field has been deprecated and replaced by the name field.
3848    zone: Deprecated. The name of the Google Compute Engine
3849      [zone](/compute/docs/zones#available) in which the cluster resides. This
3850      field has been deprecated and replaced by the name field.
3851  """
3852
3853  clusterId = _messages.StringField(1)
3854  locations = _messages.StringField(2, repeated=True)
3855  name = _messages.StringField(3)
3856  projectId = _messages.StringField(4)
3857  zone = _messages.StringField(5)
3858
3859
3860class SetLoggingServiceRequest(_messages.Message):
3861  r"""SetLoggingServiceRequest sets the logging service of a cluster.
3862
3863  Fields:
3864    clusterId: Deprecated. The name of the cluster to upgrade. This field has
3865      been deprecated and replaced by the name field.
3866    loggingService: The logging service the cluster should use to write logs.
3867      Currently available options: * `logging.googleapis.com/kubernetes` - The
3868      Cloud Logging service with a Kubernetes-native resource model *
3869      `logging.googleapis.com` - The legacy Cloud Logging service (no longer
3870      available as of GKE 1.15). * `none` - no logs will be exported from the
3871      cluster. If left as an empty string,`logging.googleapis.com/kubernetes`
3872      will be used for GKE 1.14+ or `logging.googleapis.com` for earlier
3873      versions.
3874    name: The name (project, location, cluster) of the cluster to set logging.
3875      Specified in the format 'projects/*/locations/*/clusters/*'.
3876    projectId: Deprecated. The Google Developers Console [project ID or
3877      project number](https://support.google.com/cloud/answer/6158840). This
3878      field has been deprecated and replaced by the name field.
3879    zone: Deprecated. The name of the Google Compute Engine
3880      [zone](/compute/docs/zones#available) in which the cluster resides. This
3881      field has been deprecated and replaced by the name field.
3882  """
3883
3884  clusterId = _messages.StringField(1)
3885  loggingService = _messages.StringField(2)
3886  name = _messages.StringField(3)
3887  projectId = _messages.StringField(4)
3888  zone = _messages.StringField(5)
3889
3890
3891class SetMaintenancePolicyRequest(_messages.Message):
3892  r"""SetMaintenancePolicyRequest sets the maintenance policy for a cluster.
3893
3894  Fields:
3895    clusterId: The name of the cluster to update.
3896    maintenancePolicy: The maintenance policy to be set for the cluster. An
3897      empty field clears the existing maintenance policy.
3898    name: The name (project, location, cluster id) of the cluster to set
3899      maintenance policy. Specified in the format
3900      'projects/*/locations/*/clusters/*'.
3901    projectId: The Google Developers Console [project ID or project
3902      number](https://support.google.com/cloud/answer/6158840).
3903    zone: The name of the Google Compute Engine
3904      [zone](/compute/docs/zones#available) in which the cluster resides.
3905  """
3906
3907  clusterId = _messages.StringField(1)
3908  maintenancePolicy = _messages.MessageField('MaintenancePolicy', 2)
3909  name = _messages.StringField(3)
3910  projectId = _messages.StringField(4)
3911  zone = _messages.StringField(5)
3912
3913
3914class SetMasterAuthRequest(_messages.Message):
3915  r"""SetMasterAuthRequest updates the admin password of a cluster.
3916
3917  Enums:
3918    ActionValueValuesEnum: The exact form of action to be taken on the master
3919      auth.
3920
3921  Fields:
3922    action: The exact form of action to be taken on the master auth.
3923    clusterId: Deprecated. The name of the cluster to upgrade. This field has
3924      been deprecated and replaced by the name field.
3925    name: The name (project, location, cluster) of the cluster to set auth.
3926      Specified in the format 'projects/*/locations/*/clusters/*'.
3927    projectId: Deprecated. The Google Developers Console [project ID or
3928      project number](https://support.google.com/cloud/answer/6158840). This
3929      field has been deprecated and replaced by the name field.
3930    update: A description of the update.
3931    zone: Deprecated. The name of the Google Compute Engine
3932      [zone](/compute/docs/zones#available) in which the cluster resides. This
3933      field has been deprecated and replaced by the name field.
3934  """
3935
3936  class ActionValueValuesEnum(_messages.Enum):
3937    r"""The exact form of action to be taken on the master auth.
3938
3939    Values:
3940      UNKNOWN: Operation is unknown and will error out.
3941      SET_PASSWORD: Set the password to a user generated value.
3942      GENERATE_PASSWORD: Generate a new password and set it to that.
3943      SET_USERNAME: Set the username. If an empty username is provided, basic
3944        authentication is disabled for the cluster. If a non-empty username is
3945        provided, basic authentication is enabled, with either a provided
3946        password or a generated one.
3947    """
3948    UNKNOWN = 0
3949    SET_PASSWORD = 1
3950    GENERATE_PASSWORD = 2
3951    SET_USERNAME = 3
3952
3953  action = _messages.EnumField('ActionValueValuesEnum', 1)
3954  clusterId = _messages.StringField(2)
3955  name = _messages.StringField(3)
3956  projectId = _messages.StringField(4)
3957  update = _messages.MessageField('MasterAuth', 5)
3958  zone = _messages.StringField(6)
3959
3960
3961class SetMonitoringServiceRequest(_messages.Message):
3962  r"""SetMonitoringServiceRequest sets the monitoring service of a cluster.
3963
3964  Fields:
3965    clusterId: Deprecated. The name of the cluster to upgrade. This field has
3966      been deprecated and replaced by the name field.
3967    monitoringService: The monitoring service the cluster should use to write
3968      metrics. Currently available options: *
3969      "monitoring.googleapis.com/kubernetes" - The Cloud Monitoring service
3970      with a Kubernetes-native resource model * `monitoring.googleapis.com` -
3971      The legacy Cloud Monitoring service (no longer available as of GKE
3972      1.15). * `none` - No metrics will be exported from the cluster. If left
3973      as an empty string,`monitoring.googleapis.com/kubernetes` will be used
3974      for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions.
3975    name: The name (project, location, cluster) of the cluster to set
3976      monitoring. Specified in the format 'projects/*/locations/*/clusters/*'.
3977    projectId: Deprecated. The Google Developers Console [project ID or
3978      project number](https://support.google.com/cloud/answer/6158840). This
3979      field has been deprecated and replaced by the name field.
3980    zone: Deprecated. The name of the Google Compute Engine
3981      [zone](/compute/docs/zones#available) in which the cluster resides. This
3982      field has been deprecated and replaced by the name field.
3983  """
3984
3985  clusterId = _messages.StringField(1)
3986  monitoringService = _messages.StringField(2)
3987  name = _messages.StringField(3)
3988  projectId = _messages.StringField(4)
3989  zone = _messages.StringField(5)
3990
3991
3992class SetNetworkPolicyRequest(_messages.Message):
3993  r"""SetNetworkPolicyRequest enables/disables network policy for a cluster.
3994
3995  Fields:
3996    clusterId: Deprecated. The name of the cluster. This field has been
3997      deprecated and replaced by the name field.
3998    name: The name (project, location, cluster id) of the cluster to set
3999      networking policy. Specified in the format
4000      'projects/*/locations/*/clusters/*'.
4001    networkPolicy: Configuration options for the NetworkPolicy feature.
4002    projectId: Deprecated. The Google Developers Console [project ID or
4003      project
4004      number](https://developers.google.com/console/help/new/#projectnumber).
4005      This field has been deprecated and replaced by the name field.
4006    zone: Deprecated. The name of the Google Compute Engine
4007      [zone](/compute/docs/zones#available) in which the cluster resides. This
4008      field has been deprecated and replaced by the name field.
4009  """
4010
4011  clusterId = _messages.StringField(1)
4012  name = _messages.StringField(2)
4013  networkPolicy = _messages.MessageField('NetworkPolicy', 3)
4014  projectId = _messages.StringField(4)
4015  zone = _messages.StringField(5)
4016
4017
4018class SetNodePoolAutoscalingRequest(_messages.Message):
4019  r"""SetNodePoolAutoscalingRequest sets the autoscaler settings of a node
4020  pool.
4021
4022  Fields:
4023    autoscaling: Autoscaling configuration for the node pool.
4024    clusterId: Deprecated. The name of the cluster to upgrade. This field has
4025      been deprecated and replaced by the name field.
4026    name: The name (project, location, cluster, node pool) of the node pool to
4027      set autoscaler settings. Specified in the format
4028      'projects/*/locations/*/clusters/*/nodePools/*'.
4029    nodePoolId: Deprecated. The name of the node pool to upgrade. This field
4030      has been deprecated and replaced by the name field.
4031    projectId: Deprecated. The Google Developers Console [project ID or
4032      project number](https://support.google.com/cloud/answer/6158840). This
4033      field has been deprecated and replaced by the name field.
4034    zone: Deprecated. The name of the Google Compute Engine
4035      [zone](/compute/docs/zones#available) in which the cluster resides. This
4036      field has been deprecated and replaced by the name field.
4037  """
4038
4039  autoscaling = _messages.MessageField('NodePoolAutoscaling', 1)
4040  clusterId = _messages.StringField(2)
4041  name = _messages.StringField(3)
4042  nodePoolId = _messages.StringField(4)
4043  projectId = _messages.StringField(5)
4044  zone = _messages.StringField(6)
4045
4046
4047class SetNodePoolManagementRequest(_messages.Message):
4048  r"""SetNodePoolManagementRequest sets the node management properties of a
4049  node pool.
4050
4051  Fields:
4052    clusterId: Deprecated. The name of the cluster to update. This field has
4053      been deprecated and replaced by the name field.
4054    management: NodeManagement configuration for the node pool.
4055    name: The name (project, location, cluster, node pool id) of the node pool
4056      to set management properties. Specified in the format
4057      'projects/*/locations/*/clusters/*/nodePools/*'.
4058    nodePoolId: Deprecated. The name of the node pool to update. This field
4059      has been deprecated and replaced by the name field.
4060    projectId: Deprecated. The Google Developers Console [project ID or
4061      project number](https://support.google.com/cloud/answer/6158840). This
4062      field has been deprecated and replaced by the name field.
4063    zone: Deprecated. The name of the Google Compute Engine
4064      [zone](/compute/docs/zones#available) in which the cluster resides. This
4065      field has been deprecated and replaced by the name field.
4066  """
4067
4068  clusterId = _messages.StringField(1)
4069  management = _messages.MessageField('NodeManagement', 2)
4070  name = _messages.StringField(3)
4071  nodePoolId = _messages.StringField(4)
4072  projectId = _messages.StringField(5)
4073  zone = _messages.StringField(6)
4074
4075
4076class SetNodePoolSizeRequest(_messages.Message):
4077  r"""SetNodePoolSizeRequest sets the size of a node pool.
4078
4079  Fields:
4080    clusterId: Deprecated. The name of the cluster to update. This field has
4081      been deprecated and replaced by the name field.
4082    name: The name (project, location, cluster, node pool id) of the node pool
4083      to set size. Specified in the format
4084      'projects/*/locations/*/clusters/*/nodePools/*'.
4085    nodeCount: The desired node count for the pool.
4086    nodePoolId: Deprecated. The name of the node pool to update. This field
4087      has been deprecated and replaced by the name field.
4088    projectId: Deprecated. The Google Developers Console [project ID or
4089      project number](https://support.google.com/cloud/answer/6158840).
4090    zone: Deprecated. The name of the Google Compute Engine
4091      [zone](/compute/docs/zones#available) in which the cluster resides. This
4092      field has been deprecated and replaced by the name field.
4093  """
4094
4095  clusterId = _messages.StringField(1)
4096  name = _messages.StringField(2)
4097  nodeCount = _messages.IntegerField(3, variant=_messages.Variant.INT32)
4098  nodePoolId = _messages.StringField(4)
4099  projectId = _messages.StringField(5)
4100  zone = _messages.StringField(6)
4101
4102
4103class ShieldedInstanceConfig(_messages.Message):
4104  r"""A set of Shielded Instance options.
4105
4106  Fields:
4107    enableIntegrityMonitoring: Defines whether the instance has integrity
4108      monitoring enabled.
4109    enableSecureBoot: Defines whether the instance has Secure Boot enabled.
4110  """
4111
4112  enableIntegrityMonitoring = _messages.BooleanField(1)
4113  enableSecureBoot = _messages.BooleanField(2)
4114
4115
4116class ShieldedNodes(_messages.Message):
4117  r"""Configuration of Shielded Nodes feature.
4118
4119  Fields:
4120    enabled: Whether Shielded Nodes features are enabled on all nodes in this
4121      cluster.
4122  """
4123
4124  enabled = _messages.BooleanField(1)
4125
4126
4127class StandardQueryParameters(_messages.Message):
4128  r"""Query parameters accepted by all methods.
4129
4130  Enums:
4131    FXgafvValueValuesEnum: V1 error format.
4132    AltValueValuesEnum: Data format for response.
4133
4134  Fields:
4135    f__xgafv: V1 error format.
4136    access_token: OAuth access token.
4137    alt: Data format for response.
4138    callback: JSONP
4139    fields: Selector specifying which fields to include in a partial response.
4140    key: API key. Your API key identifies your project and provides you with
4141      API access, quota, and reports. Required unless you provide an OAuth 2.0
4142      token.
4143    oauth_token: OAuth 2.0 token for the current user.
4144    prettyPrint: Returns response with indentations and line breaks.
4145    quotaUser: Available to use for quota purposes for server-side
4146      applications. Can be any arbitrary string assigned to a user, but should
4147      not exceed 40 characters.
4148    trace: A tracing token of the form "token:<tokenid>" to include in api
4149      requests.
4150    uploadType: Legacy upload protocol for media (e.g. "media", "multipart").
4151    upload_protocol: Upload protocol for media (e.g. "raw", "multipart").
4152  """
4153
4154  class AltValueValuesEnum(_messages.Enum):
4155    r"""Data format for response.
4156
4157    Values:
4158      json: Responses with Content-Type of application/json
4159      media: Media download with context-dependent Content-Type
4160      proto: Responses with Content-Type of application/x-protobuf
4161    """
4162    json = 0
4163    media = 1
4164    proto = 2
4165
4166  class FXgafvValueValuesEnum(_messages.Enum):
4167    r"""V1 error format.
4168
4169    Values:
4170      _1: v1 error format
4171      _2: v2 error format
4172    """
4173    _1 = 0
4174    _2 = 1
4175
4176  f__xgafv = _messages.EnumField('FXgafvValueValuesEnum', 1)
4177  access_token = _messages.StringField(2)
4178  alt = _messages.EnumField('AltValueValuesEnum', 3, default='json')
4179  callback = _messages.StringField(4)
4180  fields = _messages.StringField(5)
4181  key = _messages.StringField(6)
4182  oauth_token = _messages.StringField(7)
4183  prettyPrint = _messages.BooleanField(8, default=True)
4184  quotaUser = _messages.StringField(9)
4185  trace = _messages.StringField(10)
4186  uploadType = _messages.StringField(11)
4187  upload_protocol = _messages.StringField(12)
4188
4189
4190class StartIPRotationRequest(_messages.Message):
4191  r"""StartIPRotationRequest creates a new IP for the cluster and then
4192  performs a node upgrade on each node pool to point to the new IP.
4193
4194  Fields:
4195    clusterId: Deprecated. The name of the cluster. This field has been
4196      deprecated and replaced by the name field.
4197    name: The name (project, location, cluster id) of the cluster to start IP
4198      rotation. Specified in the format 'projects/*/locations/*/clusters/*'.
4199    projectId: Deprecated. The Google Developers Console [project ID or
4200      project
4201      number](https://developers.google.com/console/help/new/#projectnumber).
4202      This field has been deprecated and replaced by the name field.
4203    rotateCredentials: Whether to rotate credentials during IP rotation.
4204    zone: Deprecated. The name of the Google Compute Engine
4205      [zone](/compute/docs/zones#available) in which the cluster resides. This
4206      field has been deprecated and replaced by the name field.
4207  """
4208
4209  clusterId = _messages.StringField(1)
4210  name = _messages.StringField(2)
4211  projectId = _messages.StringField(3)
4212  rotateCredentials = _messages.BooleanField(4)
4213  zone = _messages.StringField(5)
4214
4215
4216class Status(_messages.Message):
4217  r"""The `Status` type defines a logical error model that is suitable for
4218  different programming environments, including REST APIs and RPC APIs. It is
4219  used by [gRPC](https://github.com/grpc). Each `Status` message contains
4220  three pieces of data: error code, error message, and error details. You can
4221  find out more about this error model and how to work with it in the [API
4222  Design Guide](https://cloud.google.com/apis/design/errors).
4223
4224  Messages:
4225    DetailsValueListEntry: A DetailsValueListEntry object.
4226
4227  Fields:
4228    code: The status code, which should be an enum value of google.rpc.Code.
4229    details: A list of messages that carry the error details. There is a
4230      common set of message types for APIs to use.
4231    message: A developer-facing error message, which should be in English. Any
4232      user-facing error message should be localized and sent in the
4233      google.rpc.Status.details field, or localized by the client.
4234  """
4235
4236  @encoding.MapUnrecognizedFields('additionalProperties')
4237  class DetailsValueListEntry(_messages.Message):
4238    r"""A DetailsValueListEntry object.
4239
4240    Messages:
4241      AdditionalProperty: An additional property for a DetailsValueListEntry
4242        object.
4243
4244    Fields:
4245      additionalProperties: Properties of the object. Contains field @type
4246        with type URL.
4247    """
4248
4249    class AdditionalProperty(_messages.Message):
4250      r"""An additional property for a DetailsValueListEntry object.
4251
4252      Fields:
4253        key: Name of the additional property.
4254        value: A extra_types.JsonValue attribute.
4255      """
4256
4257      key = _messages.StringField(1)
4258      value = _messages.MessageField('extra_types.JsonValue', 2)
4259
4260    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)
4261
4262  code = _messages.IntegerField(1, variant=_messages.Variant.INT32)
4263  details = _messages.MessageField('DetailsValueListEntry', 2, repeated=True)
4264  message = _messages.StringField(3)
4265
4266
4267class StatusCondition(_messages.Message):
4268  r"""StatusCondition describes why a cluster or a node pool has a certain
4269  status (e.g., ERROR or DEGRADED).
4270
4271  Enums:
4272    CanonicalCodeValueValuesEnum: Canonical code of the condition.
4273    CodeValueValuesEnum: Machine-friendly representation of the condition
4274      Deprecated. Use canonical_code instead.
4275
4276  Fields:
4277    canonicalCode: Canonical code of the condition.
4278    code: Machine-friendly representation of the condition Deprecated. Use
4279      canonical_code instead.
4280    message: Human-friendly representation of the condition
4281  """
4282
4283  class CanonicalCodeValueValuesEnum(_messages.Enum):
4284    r"""Canonical code of the condition.
4285
4286    Values:
4287      OK: Not an error; returned on success HTTP Mapping: 200 OK
4288      CANCELLED: The operation was cancelled, typically by the caller. HTTP
4289        Mapping: 499 Client Closed Request
4290      UNKNOWN: Unknown error. For example, this error may be returned when a
4291        `Status` value received from another address space belongs to an error
4292        space that is not known in this address space. Also errors raised by
4293        APIs that do not return enough error information may be converted to
4294        this error. HTTP Mapping: 500 Internal Server Error
4295      INVALID_ARGUMENT: The client specified an invalid argument. Note that
4296        this differs from `FAILED_PRECONDITION`. `INVALID_ARGUMENT` indicates
4297        arguments that are problematic regardless of the state of the system
4298        (e.g., a malformed file name). HTTP Mapping: 400 Bad Request
4299      DEADLINE_EXCEEDED: The deadline expired before the operation could
4300        complete. For operations that change the state of the system, this
4301        error may be returned even if the operation has completed
4302        successfully. For example, a successful response from a server could
4303        have been delayed long enough for the deadline to expire. HTTP
4304        Mapping: 504 Gateway Timeout
4305      NOT_FOUND: Some requested entity (e.g., file or directory) was not
4306        found. Note to server developers: if a request is denied for an entire
4307        class of users, such as gradual feature rollout or undocumented
4308        allowlist, `NOT_FOUND` may be used. If a request is denied for some
4309        users within a class of users, such as user-based access control,
4310        `PERMISSION_DENIED` must be used. HTTP Mapping: 404 Not Found
4311      ALREADY_EXISTS: The entity that a client attempted to create (e.g., file
4312        or directory) already exists. HTTP Mapping: 409 Conflict
4313      PERMISSION_DENIED: The caller does not have permission to execute the
4314        specified operation. `PERMISSION_DENIED` must not be used for
4315        rejections caused by exhausting some resource (use
4316        `RESOURCE_EXHAUSTED` instead for those errors). `PERMISSION_DENIED`
4317        must not be used if the caller can not be identified (use
4318        `UNAUTHENTICATED` instead for those errors). This error code does not
4319        imply the request is valid or the requested entity exists or satisfies
4320        other pre-conditions. HTTP Mapping: 403 Forbidden
4321      UNAUTHENTICATED: The request does not have valid authentication
4322        credentials for the operation. HTTP Mapping: 401 Unauthorized
4323      RESOURCE_EXHAUSTED: Some resource has been exhausted, perhaps a per-user
4324        quota, or perhaps the entire file system is out of space. HTTP
4325        Mapping: 429 Too Many Requests
4326      FAILED_PRECONDITION: The operation was rejected because the system is
4327        not in a state required for the operation's execution. For example,
4328        the directory to be deleted is non-empty, an rmdir operation is
4329        applied to a non-directory, etc. Service implementors can use the
4330        following guidelines to decide between `FAILED_PRECONDITION`,
4331        `ABORTED`, and `UNAVAILABLE`: (a) Use `UNAVAILABLE` if the client can
4332        retry just the failing call. (b) Use `ABORTED` if the client should
4333        retry at a higher level (e.g., when a client-specified test-and-set
4334        fails, indicating the client should restart a read-modify-write
4335        sequence). (c) Use `FAILED_PRECONDITION` if the client should not
4336        retry until the system state has been explicitly fixed. E.g., if an
4337        "rmdir" fails because the directory is non-empty,
4338        `FAILED_PRECONDITION` should be returned since the client should not
4339        retry unless the files are deleted from the directory. HTTP Mapping:
4340        400 Bad Request
4341      ABORTED: The operation was aborted, typically due to a concurrency issue
4342        such as a sequencer check failure or transaction abort. See the
4343        guidelines above for deciding between `FAILED_PRECONDITION`,
4344        `ABORTED`, and `UNAVAILABLE`. HTTP Mapping: 409 Conflict
4345      OUT_OF_RANGE: The operation was attempted past the valid range. E.g.,
4346        seeking or reading past end-of-file. Unlike `INVALID_ARGUMENT`, this
4347        error indicates a problem that may be fixed if the system state
4348        changes. For example, a 32-bit file system will generate
4349        `INVALID_ARGUMENT` if asked to read at an offset that is not in the
4350        range [0,2^32-1], but it will generate `OUT_OF_RANGE` if asked to read
4351        from an offset past the current file size. There is a fair bit of
4352        overlap between `FAILED_PRECONDITION` and `OUT_OF_RANGE`. We recommend
4353        using `OUT_OF_RANGE` (the more specific error) when it applies so that
4354        callers who are iterating through a space can easily look for an
4355        `OUT_OF_RANGE` error to detect when they are done. HTTP Mapping: 400
4356        Bad Request
4357      UNIMPLEMENTED: The operation is not implemented or is not
4358        supported/enabled in this service. HTTP Mapping: 501 Not Implemented
4359      INTERNAL: Internal errors. This means that some invariants expected by
4360        the underlying system have been broken. This error code is reserved
4361        for serious errors. HTTP Mapping: 500 Internal Server Error
4362      UNAVAILABLE: The service is currently unavailable. This is most likely a
4363        transient condition, which can be corrected by retrying with a
4364        backoff. Note that it is not always safe to retry non-idempotent
4365        operations. See the guidelines above for deciding between
4366        `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`. HTTP Mapping: 503
4367        Service Unavailable
4368      DATA_LOSS: Unrecoverable data loss or corruption. HTTP Mapping: 500
4369        Internal Server Error
4370    """
4371    OK = 0
4372    CANCELLED = 1
4373    UNKNOWN = 2
4374    INVALID_ARGUMENT = 3
4375    DEADLINE_EXCEEDED = 4
4376    NOT_FOUND = 5
4377    ALREADY_EXISTS = 6
4378    PERMISSION_DENIED = 7
4379    UNAUTHENTICATED = 8
4380    RESOURCE_EXHAUSTED = 9
4381    FAILED_PRECONDITION = 10
4382    ABORTED = 11
4383    OUT_OF_RANGE = 12
4384    UNIMPLEMENTED = 13
4385    INTERNAL = 14
4386    UNAVAILABLE = 15
4387    DATA_LOSS = 16
4388
4389  class CodeValueValuesEnum(_messages.Enum):
4390    r"""Machine-friendly representation of the condition Deprecated. Use
4391    canonical_code instead.
4392
4393    Values:
4394      UNKNOWN: UNKNOWN indicates a generic condition.
4395      GCE_STOCKOUT: GCE_STOCKOUT indicates that Google Compute Engine
4396        resources are temporarily unavailable.
4397      GKE_SERVICE_ACCOUNT_DELETED: GKE_SERVICE_ACCOUNT_DELETED indicates that
4398        the user deleted their robot service account.
4399      GCE_QUOTA_EXCEEDED: Google Compute Engine quota was exceeded.
4400      SET_BY_OPERATOR: Cluster state was manually changed by an SRE due to a
4401        system logic error.
4402      CLOUD_KMS_KEY_ERROR: Unable to perform an encrypt operation against the
4403        CloudKMS key used for etcd level encryption. More codes TBA
4404    """
4405    UNKNOWN = 0
4406    GCE_STOCKOUT = 1
4407    GKE_SERVICE_ACCOUNT_DELETED = 2
4408    GCE_QUOTA_EXCEEDED = 3
4409    SET_BY_OPERATOR = 4
4410    CLOUD_KMS_KEY_ERROR = 5
4411
4412  canonicalCode = _messages.EnumField('CanonicalCodeValueValuesEnum', 1)
4413  code = _messages.EnumField('CodeValueValuesEnum', 2)
4414  message = _messages.StringField(3)
4415
4416
4417class TimeWindow(_messages.Message):
4418  r"""Represents an arbitrary window of time.
4419
4420  Fields:
4421    endTime: The time that the window ends. The end time should take place
4422      after the start time.
4423    startTime: The time that the window first starts.
4424  """
4425
4426  endTime = _messages.StringField(1)
4427  startTime = _messages.StringField(2)
4428
4429
4430class TpuConfig(_messages.Message):
4431  r"""Configuration for Cloud TPU.
4432
4433  Fields:
4434    enabled: Whether Cloud TPU integration is enabled or not.
4435    ipv4CidrBlock: IPv4 CIDR block reserved for Cloud TPU in the VPC.
4436    useServiceNetworking: Whether to use service networking for Cloud TPU or
4437      not.
4438  """
4439
4440  enabled = _messages.BooleanField(1)
4441  ipv4CidrBlock = _messages.StringField(2)
4442  useServiceNetworking = _messages.BooleanField(3)
4443
4444
4445class UpdateClusterRequest(_messages.Message):
4446  r"""UpdateClusterRequest updates the settings of a cluster.
4447
4448  Fields:
4449    clusterId: Deprecated. The name of the cluster to upgrade. This field has
4450      been deprecated and replaced by the name field.
4451    name: The name (project, location, cluster) of the cluster to update.
4452      Specified in the format 'projects/*/locations/*/clusters/*'.
4453    projectId: Deprecated. The Google Developers Console [project ID or
4454      project number](https://support.google.com/cloud/answer/6158840). This
4455      field has been deprecated and replaced by the name field.
4456    update: A description of the update.
4457    updatedCluster: The updated cluster object. This field must be empty if
4458      'update' is set.
4459    zone: Deprecated. The name of the Google Compute Engine
4460      [zone](/compute/docs/zones#available) in which the cluster resides. This
4461      field has been deprecated and replaced by the name field.
4462  """
4463
4464  clusterId = _messages.StringField(1)
4465  name = _messages.StringField(2)
4466  projectId = _messages.StringField(3)
4467  update = _messages.MessageField('ClusterUpdate', 4)
4468  updatedCluster = _messages.MessageField('Cluster', 5)
4469  zone = _messages.StringField(6)
4470
4471
4472class UpdateMasterRequest(_messages.Message):
4473  r"""UpdateMasterRequest updates the master of the cluster.
4474
4475  Fields:
4476    clusterId: Deprecated. The name of the cluster to upgrade. This field has
4477      been deprecated and replaced by the name field.
4478    masterVersion: The Kubernetes version to change the master to. Users may
4479      specify either explicit versions offered by Kubernetes Engine or version
4480      aliases, which have the following behavior: - "latest": picks the
4481      highest valid Kubernetes version - "1.X": picks the highest valid
4482      patch+gke.N patch in the 1.X version - "1.X.Y": picks the highest valid
4483      gke.N patch in the 1.X.Y version - "1.X.Y-gke.N": picks an explicit
4484      Kubernetes version - "-": picks the default Kubernetes version
4485    name: The name (project, location, cluster) of the cluster to update.
4486      Specified in the format 'projects/*/locations/*/clusters/*'.
4487    projectId: Deprecated. The Google Developers Console [project ID or
4488      project number](https://support.google.com/cloud/answer/6158840).
4489    zone: Deprecated. The name of the Google Compute Engine
4490      [zone](/compute/docs/zones#available) in which the cluster resides. This
4491      field has been deprecated and replaced by the name field.
4492  """
4493
4494  clusterId = _messages.StringField(1)
4495  masterVersion = _messages.StringField(2)
4496  name = _messages.StringField(3)
4497  projectId = _messages.StringField(4)
4498  zone = _messages.StringField(5)
4499
4500
4501class UpdateNodePoolRequest(_messages.Message):
4502  r"""SetNodePoolVersionRequest updates the version of a node pool.
4503
4504  Fields:
4505    clusterId: Deprecated. The name of the cluster to upgrade. This field has
4506      been deprecated and replaced by the name field.
4507    image: The desired name of the image name to use for this node. This is
4508      used to create clusters using a custom image.
4509    imageProject: The project containing the desired image to use for this
4510      node pool. This is used to create clusters using a custom image.
4511    imageType: The desired image type for the node pool.
4512    kubeletConfig: Node kubelet configs.
4513    labels: The desired node labels to be applied to all nodes in the node
4514      pool. If this field is not present, the labels will not be changed.
4515      Otherwise, the existing node labels will be *replaced* with the provided
4516      labels.
4517    linuxNodeConfig: Parameters that can be configured on Linux nodes.
4518    locations: The desired list of Google Compute Engine
4519      [zones](/compute/docs/zones#available) in which the node pool's nodes
4520      should be located. Changing the locations for a node pool will result in
4521      nodes being either created or removed from the node pool, depending on
4522      whether locations are being added or removed.
4523    name: The name (project, location, cluster, node pool) of the node pool to
4524      update. Specified in the format
4525      'projects/*/locations/*/clusters/*/nodePools/*'.
4526    nodeNetworkConfig: Node network config.
4527    nodePoolId: Deprecated. The name of the node pool to upgrade. This field
4528      has been deprecated and replaced by the name field.
4529    nodeVersion: The Kubernetes version to change the nodes to (typically an
4530      upgrade). Users may specify either explicit versions offered by
4531      Kubernetes Engine or version aliases, which have the following behavior:
4532      - "latest": picks the highest valid Kubernetes version - "1.X": picks
4533      the highest valid patch+gke.N patch in the 1.X version - "1.X.Y": picks
4534      the highest valid gke.N patch in the 1.X.Y version - "1.X.Y-gke.N":
4535      picks an explicit Kubernetes version - "-": picks the Kubernetes master
4536      version
4537    projectId: Deprecated. The Google Developers Console [project ID or
4538      project number](https://support.google.com/cloud/answer/6158840). This
4539      field has been deprecated and replaced by the name field.
4540    tags: The desired network tags to be applied to all nodes in the node
4541      pool. If this field is not present, the tags will not be changed.
4542      Otherwise, the existing network tags will be *replaced* with the
4543      provided tags.
4544    taints: The desired node taints to be applied to all nodes in the node
4545      pool. If this field is not present, the taints will not be changed.
4546      Otherwise, the existing node taints will be *replaced* with the provided
4547      taints.
4548    updatedNodePool: The updated node pool object. This field must be empty if
4549      any other node pool field is set (e.g. 'node_version', 'image_type',
4550      'locations', etc.)
4551    upgradeSettings: Upgrade settings control disruption and speed of the
4552      upgrade.
4553    workloadMetadataConfig: The desired workload metadata config for the node
4554      pool.
4555    zone: Deprecated. The name of the Google Compute Engine
4556      [zone](/compute/docs/zones#available) in which the cluster resides. This
4557      field has been deprecated and replaced by the name field.
4558  """
4559
4560  clusterId = _messages.StringField(1)
4561  image = _messages.StringField(2)
4562  imageProject = _messages.StringField(3)
4563  imageType = _messages.StringField(4)
4564  kubeletConfig = _messages.MessageField('NodeKubeletConfig', 5)
4565  labels = _messages.MessageField('NodeLabels', 6)
4566  linuxNodeConfig = _messages.MessageField('LinuxNodeConfig', 7)
4567  locations = _messages.StringField(8, repeated=True)
4568  name = _messages.StringField(9)
4569  nodeNetworkConfig = _messages.MessageField('NodeNetworkConfig', 10)
4570  nodePoolId = _messages.StringField(11)
4571  nodeVersion = _messages.StringField(12)
4572  projectId = _messages.StringField(13)
4573  tags = _messages.MessageField('NetworkTags', 14)
4574  taints = _messages.MessageField('NodeTaints', 15)
4575  updatedNodePool = _messages.MessageField('NodePool', 16)
4576  upgradeSettings = _messages.MessageField('UpgradeSettings', 17)
4577  workloadMetadataConfig = _messages.MessageField('WorkloadMetadataConfig', 18)
4578  zone = _messages.StringField(19)
4579
4580
4581class UpgradeEvent(_messages.Message):
4582  r"""UpgradeEvent is a notification sent to customers by the cluster server
4583  when a resource is upgrading.
4584
4585  Enums:
4586    ResourceTypeValueValuesEnum: The resource type that is upgrading.
4587
4588  Fields:
4589    currentVersion: The current version before the upgrade.
4590    operation: The operation associated with this upgrade.
4591    operationStartTime: The time when the operation was started.
4592    resource: Optional relative path to the resource. For example in node pool
4593      upgrades, the relative path of the node pool.
4594    resourceType: The resource type that is upgrading.
4595    targetVersion: The target version for the upgrade.
4596  """
4597
4598  class ResourceTypeValueValuesEnum(_messages.Enum):
4599    r"""The resource type that is upgrading.
4600
4601    Values:
4602      UPGRADE_RESOURCE_TYPE_UNSPECIFIED: Default value. This shouldn't be
4603        used.
4604      MASTER: Master / control plane
4605      NODE_POOL: Node pool
4606    """
4607    UPGRADE_RESOURCE_TYPE_UNSPECIFIED = 0
4608    MASTER = 1
4609    NODE_POOL = 2
4610
4611  currentVersion = _messages.StringField(1)
4612  operation = _messages.StringField(2)
4613  operationStartTime = _messages.StringField(3)
4614  resource = _messages.StringField(4)
4615  resourceType = _messages.EnumField('ResourceTypeValueValuesEnum', 5)
4616  targetVersion = _messages.StringField(6)
4617
4618
4619class UpgradeSettings(_messages.Message):
4620  r"""These upgrade settings control the level of parallelism and the level of
4621  disruption caused by an upgrade. maxUnavailable controls the number of nodes
4622  that can be simultaneously unavailable. maxSurge controls the number of
4623  additional nodes that can be added to the node pool temporarily for the time
4624  of the upgrade to increase the number of available nodes. (maxUnavailable +
4625  maxSurge) determines the level of parallelism (how many nodes are being
4626  upgraded at the same time). Note: upgrades inevitably introduce some
4627  disruption since workloads need to be moved from old nodes to new, upgraded
4628  ones. Even if maxUnavailable=0, this holds true. (Disruption stays within
4629  the limits of PodDisruptionBudget, if it is configured.) For example, a
4630  5-node pool is created with maxSurge set to 2 and maxUnavailable set to 1.
4631  During an upgrade, GKE creates 2 upgraded nodes, then brings down up to 3
4632  existing nodes after the upgraded nodes are ready. GKE will only bring down
4633  1 node at a time.
4634
4635  Fields:
4636    maxSurge: The maximum number of nodes that can be created beyond the
4637      current size of the node pool during the upgrade process.
4638    maxUnavailable: The maximum number of nodes that can be simultaneously
4639      unavailable during the upgrade process. A node is considered available
4640      if its status is Ready.
4641  """
4642
4643  maxSurge = _messages.IntegerField(1, variant=_messages.Variant.INT32)
4644  maxUnavailable = _messages.IntegerField(2, variant=_messages.Variant.INT32)
4645
4646
4647class UsableSubnetwork(_messages.Message):
4648  r"""UsableSubnetwork resource returns the subnetwork name, its associated
4649  network and the primary CIDR range.
4650
4651  Fields:
4652    ipCidrRange: The range of internal addresses that are owned by this
4653      subnetwork.
4654    network: Network Name.
4655    secondaryIpRanges: Secondary IP ranges.
4656    statusMessage: A human readable status message representing the reasons
4657      for cases where the caller cannot use the secondary ranges under the
4658      subnet. For example if the secondary_ip_ranges is empty due to a
4659      permission issue, an insufficient permission message will be given by
4660      status_message.
4661    subnetwork: Subnetwork Name.
4662  """
4663
4664  ipCidrRange = _messages.StringField(1)
4665  network = _messages.StringField(2)
4666  secondaryIpRanges = _messages.MessageField('UsableSubnetworkSecondaryRange', 3, repeated=True)
4667  statusMessage = _messages.StringField(4)
4668  subnetwork = _messages.StringField(5)
4669
4670
4671class UsableSubnetworkSecondaryRange(_messages.Message):
4672  r"""Secondary IP range of a usable subnetwork.
4673
4674  Enums:
4675    StatusValueValuesEnum: This field is to determine the status of the
4676      secondary range programmably.
4677
4678  Fields:
4679    ipCidrRange: The range of IP addresses belonging to this subnetwork
4680      secondary range.
4681    rangeName: The name associated with this subnetwork secondary range, used
4682      when adding an alias IP range to a VM instance.
4683    status: This field is to determine the status of the secondary range
4684      programmably.
4685  """
4686
4687  class StatusValueValuesEnum(_messages.Enum):
4688    r"""This field is to determine the status of the secondary range
4689    programmably.
4690
4691    Values:
4692      UNKNOWN: UNKNOWN is the zero value of the Status enum. It's not a valid
4693        status.
4694      UNUSED: UNUSED denotes that this range is unclaimed by any cluster.
4695      IN_USE_SERVICE: IN_USE_SERVICE denotes that this range is claimed by a
4696        cluster for services. It cannot be used for other clusters.
4697      IN_USE_SHAREABLE_POD: IN_USE_SHAREABLE_POD denotes this range was
4698        created by the network admin and is currently claimed by a cluster for
4699        pods. It can only be used by other clusters as a pod range.
4700      IN_USE_MANAGED_POD: IN_USE_MANAGED_POD denotes this range was created by
4701        Google Kubernetes Engine and is claimed for pods. It cannot be used
4702        for other clusters.
4703    """
4704    UNKNOWN = 0
4705    UNUSED = 1
4706    IN_USE_SERVICE = 2
4707    IN_USE_SHAREABLE_POD = 3
4708    IN_USE_MANAGED_POD = 4
4709
4710  ipCidrRange = _messages.StringField(1)
4711  rangeName = _messages.StringField(2)
4712  status = _messages.EnumField('StatusValueValuesEnum', 3)
4713
4714
4715class VerticalPodAutoscaling(_messages.Message):
4716  r"""VerticalPodAutoscaling contains global, per-cluster information required
4717  by Vertical Pod Autoscaler to automatically adjust the resources of pods
4718  controlled by it.
4719
4720  Fields:
4721    enableExperimentalFeatures: Enables experimental features support for
4722      Vertical Pod Autoscaling.
4723    enabled: Enables vertical pod autoscaling.
4724  """
4725
4726  enableExperimentalFeatures = _messages.BooleanField(1)
4727  enabled = _messages.BooleanField(2)
4728
4729
4730class WorkloadIdentityConfig(_messages.Message):
4731  r"""Configuration for the use of k8s Service Accounts in GCP IAM policies.
4732
4733  Fields:
4734    enableAlts: enable_alts controls whether the alts handshaker should be
4735      enabled or not for direct-path.
4736    enableCertificates: enable_certificates controls issuance of workload mTLS
4737      certificates. If set, the GKE Workload Identity Certificates controller
4738      and node agent will be deployed in the cluster, which can then be
4739      configured by creating a WorkloadCertificateConfig Custom Resource.
4740      Requires Workload Identity (workload_pool must be non-empty).
4741    identityNamespace: IAM Identity Namespace to attach all k8s Service
4742      Accounts to.
4743    identityProvider: identity provider is the third party identity provider.
4744    issuingCertificateAuthority: DEPRECATED: Use enable_certificates instead
4745      issuing_certificate_authority controls issuance of workload mTLS
4746      certificates. If non-empty, it must be a Private CA resource URL of the
4747      form "//privateca.googleapis.com/projects/{project}/locations/{location}
4748      /certificateAuthorities/{name}". If non-empty, Workload Identity
4749      (standard or Hub) must be active (workload_pool must be non-empty).
4750    workloadPool: The workload pool to attach all Kubernetes service accounts
4751      to.
4752  """
4753
4754  enableAlts = _messages.BooleanField(1)
4755  enableCertificates = _messages.BooleanField(2)
4756  identityNamespace = _messages.StringField(3)
4757  identityProvider = _messages.StringField(4)
4758  issuingCertificateAuthority = _messages.StringField(5)
4759  workloadPool = _messages.StringField(6)
4760
4761
4762class WorkloadMetadataConfig(_messages.Message):
4763  r"""WorkloadMetadataConfig defines the metadata configuration to expose to
4764  workloads on the node pool.
4765
4766  Enums:
4767    ModeValueValuesEnum: Mode is the configuration for how to expose metadata
4768      to workloads running on the node pool.
4769    NodeMetadataValueValuesEnum: NodeMetadata is the configuration for how to
4770      expose metadata to the workloads running on the node.
4771
4772  Fields:
4773    mode: Mode is the configuration for how to expose metadata to workloads
4774      running on the node pool.
4775    nodeMetadata: NodeMetadata is the configuration for how to expose metadata
4776      to the workloads running on the node.
4777  """
4778
4779  class ModeValueValuesEnum(_messages.Enum):
4780    r"""Mode is the configuration for how to expose metadata to workloads
4781    running on the node pool.
4782
4783    Values:
4784      MODE_UNSPECIFIED: Not set.
4785      GCE_METADATA: Expose all Compute Engine metadata to pods.
4786      GKE_METADATA: Run the GKE Metadata Server on this node. The GKE Metadata
4787        Server exposes a metadata API to workloads that is compatible with the
4788        V1 Compute Metadata APIs exposed by the Compute Engine and App Engine
4789        Metadata Servers. This feature can only be enabled if Workload
4790        Identity is enabled at the cluster level.
4791    """
4792    MODE_UNSPECIFIED = 0
4793    GCE_METADATA = 1
4794    GKE_METADATA = 2
4795
4796  class NodeMetadataValueValuesEnum(_messages.Enum):
4797    r"""NodeMetadata is the configuration for how to expose metadata to the
4798    workloads running on the node.
4799
4800    Values:
4801      UNSPECIFIED: Not set.
4802      SECURE: Prevent workloads not in hostNetwork from accessing certain VM
4803        metadata, specifically kube-env, which contains Kubelet credentials,
4804        and the instance identity token. Metadata concealment is a temporary
4805        security solution available while the bootstrapping process for
4806        cluster nodes is being redesigned with significant security
4807        improvements. This feature is scheduled to be deprecated in the future
4808        and later removed.
4809      EXPOSE: Expose all VM metadata to pods.
4810      GKE_METADATA_SERVER: Run the GKE Metadata Server on this node. The GKE
4811        Metadata Server exposes a metadata API to workloads that is compatible
4812        with the V1 Compute Metadata APIs exposed by the Compute Engine and
4813        App Engine Metadata Servers. This feature can only be enabled if
4814        Workload Identity is enabled at the cluster level.
4815    """
4816    UNSPECIFIED = 0
4817    SECURE = 1
4818    EXPOSE = 2
4819    GKE_METADATA_SERVER = 3
4820
4821  mode = _messages.EnumField('ModeValueValuesEnum', 1)
4822  nodeMetadata = _messages.EnumField('NodeMetadataValueValuesEnum', 2)
4823
4824
4825class WorkloadMonitoringEapConfig(_messages.Message):
4826  r"""WorkloadMonitoringConfig is configuration for collecting workload
4827  metrics on GKE. Temporary config for EAP.
4828
4829  Fields:
4830    enabled: Whether to send workload metrics from the cluster to Google Cloud
4831      Monitoring.
4832  """
4833
4834  enabled = _messages.BooleanField(1)
4835
4836
4837encoding.AddCustomJsonFieldMapping(
4838    StandardQueryParameters, 'f__xgafv', '$.xgafv')
4839encoding.AddCustomJsonEnumMapping(
4840    StandardQueryParameters.FXgafvValueValuesEnum, '_1', '1')
4841encoding.AddCustomJsonEnumMapping(
4842    StandardQueryParameters.FXgafvValueValuesEnum, '_2', '2')
4843