docs: update generated docs (#981)

diff --git a/docs/dyn/container_v1beta1.projects.zones.clusters.html b/docs/dyn/container_v1beta1.projects.zones.clusters.html
index 74a0c40..178d16c 100644
--- a/docs/dyn/container_v1beta1.projects.zones.clusters.html
+++ b/docs/dyn/container_v1beta1.projects.zones.clusters.html
@@ -149,49 +149,23 @@
     The object takes the form of:
 
 { # SetAddonsRequest sets the addons associated with the cluster.
-    "name": "A String", # The name (project, location, cluster) of the cluster to set addons.
-        # Specified in the format `projects/*/locations/*/clusters/*`.
-    "projectId": "A String", # Required. Deprecated. The Google Developers Console [project ID or project
-        # number](https://support.google.com/cloud/answer/6158840).
-        # This field has been deprecated and replaced by the name field.
-    "zone": "A String", # Required. Deprecated. The name of the Google Compute Engine
-        # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
-        # cluster resides. This field has been deprecated and replaced by the name
-        # field.
     "clusterId": "A String", # Required. Deprecated. The name of the cluster to upgrade.
         # This field has been deprecated and replaced by the name field.
+    "name": "A String", # The name (project, location, cluster) of the cluster to set addons.
+        # Specified in the format `projects/*/locations/*/clusters/*`.
     "addonsConfig": { # Configuration for the addons that can be automatically spun up in the # Required. The desired configurations for the various addons available to run in the
         # cluster.
         # cluster, enabling additional functionality.
-      "httpLoadBalancing": { # Configuration options for the HTTP (L7) load balancing controller addon, # Configuration for the HTTP (L7) load balancing controller addon, which
-          # makes it easy to set up HTTP load balancers for services in a cluster.
-          # which makes it easy to set up HTTP load balancers for services in a cluster.
-        "disabled": True or False, # Whether the HTTP Load Balancing controller is enabled in the cluster.
-            # When enabled, it runs a small pod in the cluster that manages the load
-            # balancers.
-      },
-      "kubernetesDashboard": { # Configuration for the Kubernetes Dashboard. # Configuration for the Kubernetes Dashboard.
-          # This addon is deprecated, and will be disabled in 1.15. It is recommended
-          # to use the Cloud Console to manage and monitor your Kubernetes clusters,
-          # workloads and applications. For more information, see:
-          # https://cloud.google.com/kubernetes-engine/docs/concepts/dashboards
-        "disabled": True or False, # Whether the Kubernetes Dashboard is enabled for this cluster.
-      },
-      "dnsCacheConfig": { # Configuration for NodeLocal DNSCache # Configuration for NodeLocalDNS, a dns cache running on cluster nodes
-        "enabled": True or False, # Whether NodeLocal DNSCache is enabled for this cluster.
-      },
-      "kalmConfig": { # Configuration options for the KALM addon. # Configuration for the KALM addon, which manages the lifecycle of k8s
-          # applications.
-        "enabled": True or False, # Whether KALM is enabled for this cluster.
+      "configConnectorConfig": { # Configuration options for the Config Connector add-on. # Configuration for the ConfigConnector add-on, a Kubernetes
+          # extension to manage hosted GCP services through the Kubernetes API
+        "enabled": True or False, # Whether Cloud Connector is enabled for this cluster.
       },
       "gcePersistentDiskCsiDriverConfig": { # Configuration for the Compute Engine PD CSI driver. This option can only be # Configuration for the Compute Engine Persistent Disk CSI driver.
           # enabled at cluster creation time.
         "enabled": True or False, # Whether the Compute Engine PD CSI driver is enabled for this cluster.
       },
-      "istioConfig": { # Configuration options for Istio addon. # Configuration for Istio, an open platform to connect, manage, and secure
-          # microservices.
-        "auth": "A String", # The specified Istio auth mode, either none, or mutual TLS.
-        "disabled": True or False, # Whether Istio is enabled for this cluster.
+      "dnsCacheConfig": { # Configuration for NodeLocal DNSCache # Configuration for NodeLocalDNS, a dns cache running on cluster nodes
+        "enabled": True or False, # Whether NodeLocal DNSCache is enabled for this cluster.
       },
       "networkPolicyConfig": { # Configuration for NetworkPolicy. This only tracks whether the addon # Configuration for NetworkPolicy. This only tracks whether the addon
           # is enabled or not on the Master, it does not track whether network policy
@@ -200,14 +174,24 @@
           # is enabled for the nodes.
         "disabled": True or False, # Whether NetworkPolicy is enabled for this cluster.
       },
-      "cloudRunConfig": { # Configuration options for the Cloud Run feature. # Configuration for the Cloud Run addon. The `IstioConfig` addon must be
-          # enabled in order to enable Cloud Run addon. This option can only be enabled
-          # at cluster creation time.
-        "disabled": True or False, # Whether Cloud Run addon is enabled for this cluster.
+      "kubernetesDashboard": { # Configuration for the Kubernetes Dashboard. # Configuration for the Kubernetes Dashboard.
+          # This addon is deprecated, and will be disabled in 1.15. It is recommended
+          # to use the Cloud Console to manage and monitor your Kubernetes clusters,
+          # workloads and applications. For more information, see:
+          # https://cloud.google.com/kubernetes-engine/docs/concepts/dashboards
+        "disabled": True or False, # Whether the Kubernetes Dashboard is enabled for this cluster.
       },
-      "configConnectorConfig": { # Configuration options for the Config Connector add-on. # Configuration for the ConfigConnector add-on, a Kubernetes
-          # extension to manage hosted GCP services through the Kubernetes API
-        "enabled": True or False, # Whether Cloud Connector is enabled for this cluster.
+      "httpLoadBalancing": { # Configuration options for the HTTP (L7) load balancing controller addon, # Configuration for the HTTP (L7) load balancing controller addon, which
+          # makes it easy to set up HTTP load balancers for services in a cluster.
+          # which makes it easy to set up HTTP load balancers for services in a cluster.
+        "disabled": True or False, # Whether the HTTP Load Balancing controller is enabled in the cluster.
+            # When enabled, it runs a small pod in the cluster that manages the load
+            # balancers.
+      },
+      "istioConfig": { # Configuration options for Istio addon. # Configuration for Istio, an open platform to connect, manage, and secure
+          # microservices.
+        "disabled": True or False, # Whether Istio is enabled for this cluster.
+        "auth": "A String", # The specified Istio auth mode, either none, or mutual TLS.
       },
       "horizontalPodAutoscaling": { # Configuration options for the horizontal pod autoscaling feature, which # Configuration for the horizontal pod autoscaling feature, which
           # increases or decreases the number of replica pods a replication controller
@@ -218,7 +202,23 @@
             # When enabled, it ensures that metrics are collected into Stackdriver
             # Monitoring.
       },
+      "cloudRunConfig": { # Configuration options for the Cloud Run feature. # Configuration for the Cloud Run addon. The `IstioConfig` addon must be
+          # enabled in order to enable Cloud Run addon. This option can only be enabled
+          # at cluster creation time.
+        "disabled": True or False, # Whether Cloud Run addon is enabled for this cluster.
+      },
+      "kalmConfig": { # Configuration options for the KALM addon. # Configuration for the KALM addon, which manages the lifecycle of k8s
+          # applications.
+        "enabled": True or False, # Whether KALM is enabled for this cluster.
+      },
     },
+    "projectId": "A String", # Required. Deprecated. The Google Developers Console [project ID or project
+        # number](https://support.google.com/cloud/answer/6158840).
+        # This field has been deprecated and replaced by the name field.
+    "zone": "A String", # Required. Deprecated. The name of the Google Compute Engine
+        # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
+        # cluster resides. This field has been deprecated and replaced by the name
+        # field.
   }
 
   x__xgafv: string, V1 error format.
@@ -232,34 +232,15 @@
     { # This operation resource represents operations that may have happened or are
       # happening on the cluster. All fields are output only.
     "targetLink": "A String", # Server-defined URL for the target of the operation.
-    "detail": "A String", # Detailed operation progress, if available.
     "operationType": "A String", # The operation type.
-    "status": "A String", # The current status of the operation.
-    "name": "A String", # The server-assigned ID for the operation.
-    "nodepoolConditions": [ # Which conditions caused the current node pool state.
-      { # StatusCondition describes why a cluster or a node pool has a certain status
-          # (e.g., ERROR or DEGRADED).
-        "code": "A String", # Machine-friendly representation of the condition
-        "message": "A String", # Human-friendly representation of the condition
-      },
-    ],
-    "endTime": "A String", # [Output only] The time the operation completed, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-    "location": "A String", # [Output only] The name of the Google Compute Engine
-        # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
-        # or
-        # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
-        # in which the cluster resides.
-    "startTime": "A String", # [Output only] The time the operation started, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-    "clusterConditions": [ # Which conditions caused the current cluster state.
-      { # StatusCondition describes why a cluster or a node pool has a certain status
-          # (e.g., ERROR or DEGRADED).
-        "code": "A String", # Machine-friendly representation of the condition
-        "message": "A String", # Human-friendly representation of the condition
-      },
-    ],
     "progress": { # Information about operation (or operation stage) progress. # Output only. [Output only] Progress information for an operation.
+      "stages": [ # Substages of an operation or a stage.
+        # Object with schema name: OperationProgress
+      ],
+      "name": "A String", # A non-parameterized string describing an operation stage.
+          # Unset for single-stage operations.
+      "status": "A String", # Status of an operation stage.
+          # Unset for single-stage operations.
       "metrics": [ # Progress metric bundle, for example:
           #   metrics: [{name: "nodes done",     int_value: 15},
           #             {name: "nodes total",    int_value: 32}]
@@ -267,25 +248,44 @@
           #   metrics: [{name: "progress",       double_value: 0.56},
           #             {name: "progress scale", double_value: 1.0}]
         { # Progress metric is (string, int|float|string) pair.
-          "name": "A String", # Required. Metric name, e.g., "nodes total", "percent done".
           "doubleValue": 3.14, # For metrics with floating point value.
-          "intValue": "A String", # For metrics with integer value.
           "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
+          "name": "A String", # Required. Metric name, e.g., "nodes total", "percent done".
+          "intValue": "A String", # For metrics with integer value.
         },
       ],
-      "status": "A String", # Status of an operation stage.
-          # Unset for single-stage operations.
-      "name": "A String", # A non-parameterized string describing an operation stage.
-          # Unset for single-stage operations.
-      "stages": [ # Substages of an operation or a stage.
-        # Object with schema name: OperationProgress
-      ],
     },
+    "selfLink": "A String", # Server-defined URL for the resource.
+    "location": "A String", # [Output only] The name of the Google Compute Engine
+        # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
+        # or
+        # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
+        # in which the cluster resides.
     "zone": "A String", # The name of the Google Compute Engine
         # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
         # operation is taking place. This field is deprecated, use location instead.
+    "endTime": "A String", # [Output only] The time the operation completed, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
     "statusMessage": "A String", # Output only. If an error has occurred, a textual description of the error.
-    "selfLink": "A String", # Server-defined URL for the resource.
+    "name": "A String", # The server-assigned ID for the operation.
+    "clusterConditions": [ # Which conditions caused the current cluster state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        "code": "A String", # Machine-friendly representation of the condition
+        "message": "A String", # Human-friendly representation of the condition
+      },
+    ],
+    "startTime": "A String", # [Output only] The time the operation started, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    "detail": "A String", # Detailed operation progress, if available.
+    "nodepoolConditions": [ # Which conditions caused the current node pool state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        "code": "A String", # Machine-friendly representation of the condition
+        "message": "A String", # Human-friendly representation of the condition
+      },
+    ],
+    "status": "A String", # The current status of the operation.
   }</pre>
 </div>
 
@@ -307,17 +307,17 @@
     The object takes the form of:
 
 { # CompleteIPRotationRequest moves the cluster master back into single-IP mode.
-    &quot;clusterId&quot;: &quot;A String&quot;, # Required. Deprecated. The name of the cluster.
-        # This field has been deprecated and replaced by the name field.
-    &quot;name&quot;: &quot;A String&quot;, # The name (project, location, cluster id) of the cluster to complete IP
-        # rotation. Specified in the format `projects/*/locations/*/clusters/*`.
-    &quot;projectId&quot;: &quot;A String&quot;, # Required. Deprecated. The Google Developers Console [project ID or project
-        # number](https://developers.google.com/console/help/new/#projectnumber).
-        # This field has been deprecated and replaced by the name field.
     &quot;zone&quot;: &quot;A String&quot;, # Required. Deprecated. The name of the Google Compute Engine
         # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
         # cluster resides. This field has been deprecated and replaced by the name
         # field.
+    &quot;name&quot;: &quot;A String&quot;, # The name (project, location, cluster id) of the cluster to complete IP
+        # rotation. Specified in the format `projects/*/locations/*/clusters/*`.
+    &quot;clusterId&quot;: &quot;A String&quot;, # Required. Deprecated. The name of the cluster.
+        # This field has been deprecated and replaced by the name field.
+    &quot;projectId&quot;: &quot;A String&quot;, # Required. Deprecated. The Google Developers Console [project ID or project
+        # number](https://developers.google.com/console/help/new/#projectnumber).
+        # This field has been deprecated and replaced by the name field.
   }
 
   x__xgafv: string, V1 error format.
@@ -331,34 +331,15 @@
     { # This operation resource represents operations that may have happened or are
       # happening on the cluster. All fields are output only.
     &quot;targetLink&quot;: &quot;A String&quot;, # Server-defined URL for the target of the operation.
-    &quot;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
     &quot;operationType&quot;: &quot;A String&quot;, # The operation type.
-    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
-    &quot;name&quot;: &quot;A String&quot;, # The server-assigned ID for the operation.
-    &quot;nodepoolConditions&quot;: [ # Which conditions caused the current node pool state.
-      { # StatusCondition describes why a cluster or a node pool has a certain status
-          # (e.g., ERROR or DEGRADED).
-        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
-        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
-      },
-    ],
-    &quot;endTime&quot;: &quot;A String&quot;, # [Output only] The time the operation completed, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-    &quot;location&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
-        # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
-        # or
-        # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
-        # in which the cluster resides.
-    &quot;startTime&quot;: &quot;A String&quot;, # [Output only] The time the operation started, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-    &quot;clusterConditions&quot;: [ # Which conditions caused the current cluster state.
-      { # StatusCondition describes why a cluster or a node pool has a certain status
-          # (e.g., ERROR or DEGRADED).
-        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
-        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
-      },
-    ],
     &quot;progress&quot;: { # Information about operation (or operation stage) progress. # Output only. [Output only] Progress information for an operation.
+      &quot;stages&quot;: [ # Substages of an operation or a stage.
+        # Object with schema name: OperationProgress
+      ],
+      &quot;name&quot;: &quot;A String&quot;, # A non-parameterized string describing an operation stage.
+          # Unset for single-stage operations.
+      &quot;status&quot;: &quot;A String&quot;, # Status of an operation stage.
+          # Unset for single-stage operations.
       &quot;metrics&quot;: [ # Progress metric bundle, for example:
           #   metrics: [{name: &quot;nodes done&quot;,     int_value: 15},
           #             {name: &quot;nodes total&quot;,    int_value: 32}]
@@ -366,25 +347,44 @@
           #   metrics: [{name: &quot;progress&quot;,       double_value: 0.56},
           #             {name: &quot;progress scale&quot;, double_value: 1.0}]
         { # Progress metric is (string, int|float|string) pair.
-          &quot;name&quot;: &quot;A String&quot;, # Required. Metric name, e.g., &quot;nodes total&quot;, &quot;percent done&quot;.
           &quot;doubleValue&quot;: 3.14, # For metrics with floating point value.
-          &quot;intValue&quot;: &quot;A String&quot;, # For metrics with integer value.
           &quot;stringValue&quot;: &quot;A String&quot;, # For metrics with custom values (ratios, visual progress, etc.).
+          &quot;name&quot;: &quot;A String&quot;, # Required. Metric name, e.g., &quot;nodes total&quot;, &quot;percent done&quot;.
+          &quot;intValue&quot;: &quot;A String&quot;, # For metrics with integer value.
         },
       ],
-      &quot;status&quot;: &quot;A String&quot;, # Status of an operation stage.
-          # Unset for single-stage operations.
-      &quot;name&quot;: &quot;A String&quot;, # A non-parameterized string describing an operation stage.
-          # Unset for single-stage operations.
-      &quot;stages&quot;: [ # Substages of an operation or a stage.
-        # Object with schema name: OperationProgress
-      ],
     },
+    &quot;selfLink&quot;: &quot;A String&quot;, # Server-defined URL for the resource.
+    &quot;location&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
+        # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
+        # or
+        # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
+        # in which the cluster resides.
     &quot;zone&quot;: &quot;A String&quot;, # The name of the Google Compute Engine
         # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
         # operation is taking place. This field is deprecated, use location instead.
+    &quot;endTime&quot;: &quot;A String&quot;, # [Output only] The time the operation completed, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
     &quot;statusMessage&quot;: &quot;A String&quot;, # Output only. If an error has occurred, a textual description of the error.
-    &quot;selfLink&quot;: &quot;A String&quot;, # Server-defined URL for the resource.
+    &quot;name&quot;: &quot;A String&quot;, # The server-assigned ID for the operation.
+    &quot;clusterConditions&quot;: [ # Which conditions caused the current cluster state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
+        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+      },
+    ],
+    &quot;startTime&quot;: &quot;A String&quot;, # [Output only] The time the operation started, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    &quot;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
+    &quot;nodepoolConditions&quot;: [ # Which conditions caused the current node pool state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
+        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+      },
+    ],
+    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
   }</pre>
 </div>
 
@@ -417,139 +417,29 @@
     The object takes the form of:
 
 { # CreateClusterRequest creates a cluster.
+    &quot;zone&quot;: &quot;A String&quot;, # Required. Deprecated. The name of the Google Compute Engine
+        # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
+        # cluster resides. This field has been deprecated and replaced by the parent
+        # field.
     &quot;parent&quot;: &quot;A String&quot;, # The parent (project and location) where the cluster will be created.
         # Specified in the format `projects/*/locations/*`.
+    &quot;projectId&quot;: &quot;A String&quot;, # Required. Deprecated. The Google Developers Console [project ID or project
+        # number](https://support.google.com/cloud/answer/6158840).
+        # This field has been deprecated and replaced by the parent field.
     &quot;cluster&quot;: { # A Google Kubernetes Engine cluster. # Required. A [cluster
-        # resource](https://cloud.google.com/container-engine/reference/rest/v1beta1/projects.zones.clusters)
-      &quot;privateClusterConfig&quot;: { # Configuration options for private clusters. # Configuration for private cluster.
-        &quot;masterIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP range in CIDR notation to use for the hosted master network. This
-            # range will be used for assigning internal IP addresses to the master or
-            # set of masters, as well as the ILB VIP. This range must not overlap with
-            # any other ranges in use within the cluster&#x27;s network.
-        &quot;enablePrivateNodes&quot;: True or False, # Whether nodes have internal IP addresses only. If enabled, all nodes are
-            # given only RFC 1918 private addresses and communicate with the master via
-            # private networking.
-        &quot;privateEndpoint&quot;: &quot;A String&quot;, # Output only. The internal IP address of this cluster&#x27;s master endpoint.
-        &quot;enablePrivateEndpoint&quot;: True or False, # Whether the master&#x27;s internal IP address is used as the cluster endpoint.
-        &quot;peeringName&quot;: &quot;A String&quot;, # Output only. The peering name in the customer VPC used by this cluster.
-        &quot;masterGlobalAccessConfig&quot;: { # Configuration for controlling master global access settings. # Controls master global access settings.
-          &quot;enabled&quot;: True or False, # Whenever master is accessible globally or not.
-        },
-        &quot;publicEndpoint&quot;: &quot;A String&quot;, # Output only. The external IP address of this cluster&#x27;s master endpoint.
-      },
-      &quot;shieldedNodes&quot;: { # Configuration of Shielded Nodes feature. # Shielded Nodes configuration.
-        &quot;enabled&quot;: True or False, # Whether Shielded Nodes features are enabled on all nodes in this cluster.
-      },
-      &quot;verticalPodAutoscaling&quot;: { # VerticalPodAutoscaling contains global, per-cluster information # Cluster-level Vertical Pod Autoscaling configuration.
-          # required by Vertical Pod Autoscaler to automatically adjust
-          # the resources of pods controlled by it.
-        &quot;enabled&quot;: True or False, # Enables vertical pod autoscaling.
-      },
-      &quot;defaultMaxPodsConstraint&quot;: { # Constraints applied to pods. # The default constraint on the maximum number of pods that can be run
-          # simultaneously on a node in the node pool of this cluster. Only honored
-          # if cluster created with IP Alias support.
-        &quot;maxPodsPerNode&quot;: &quot;A String&quot;, # Constraint enforced on the max num of pods per node.
-      },
-      &quot;network&quot;: &quot;A String&quot;, # The name of the Google Compute Engine
-          # [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks)
-          # to which the cluster is connected. If left unspecified, the `default`
-          # network will be used. On output this shows the network ID instead of the
-          # name.
-      &quot;labelFingerprint&quot;: &quot;A String&quot;, # The fingerprint of the set of labels for this cluster.
-      &quot;nodeIpv4CidrSize&quot;: 42, # [Output only] The size of the address space on each node for hosting
-          # containers. This is provisioned from within the `container_ipv4_cidr`
-          # range. This field will only be set when cluster is in route-based network
-          # mode.
-      &quot;masterAuthorizedNetworksConfig&quot;: { # Configuration options for the master authorized networks feature. Enabled # The configuration options for master authorized networks feature.
-          # master authorized networks will disallow all external traffic to access
-          # Kubernetes master through HTTPS except traffic from the given CIDR blocks,
-          # Google Compute Engine Public IPs and Google Prod IPs.
-        &quot;enabled&quot;: True or False, # Whether or not master authorized networks is enabled.
-        &quot;cidrBlocks&quot;: [ # cidr_blocks define up to 10 external networks that could access
-            # Kubernetes master through HTTPS.
-          { # CidrBlock contains an optional name and one CIDR block.
-            &quot;cidrBlock&quot;: &quot;A String&quot;, # cidr_block must be specified in CIDR notation.
-            &quot;displayName&quot;: &quot;A String&quot;, # display_name is an optional field for users to identify CIDR blocks.
-          },
-        ],
-      },
-      &quot;statusMessage&quot;: &quot;A String&quot;, # [Output only] Additional information about the current status of this
-          # cluster, if available.
-      &quot;masterAuth&quot;: { # The authentication information for accessing the master endpoint. # The authentication information for accessing the master endpoint.
-          # If unspecified, the defaults are used:
-          # For clusters before v1.12, if master_auth is unspecified, `username` will
-          # be set to &quot;admin&quot;, a random password will be generated, and a client
-          # certificate will be issued.
-          # Authentication can be done using HTTP basic auth or using client
-          # certificates.
-        &quot;password&quot;: &quot;A String&quot;, # The password to use for HTTP basic authentication to the master endpoint.
-            # Because the master endpoint is open to the Internet, you should create a
-            # strong password.  If a password is provided for cluster creation, username
-            # must be non-empty.
-        &quot;clientCertificateConfig&quot;: { # Configuration for client certificates on the cluster. # Configuration for client certificate authentication on the cluster. For
-            # clusters before v1.12, if no configuration is specified, a client
-            # certificate is issued.
-          &quot;issueClientCertificate&quot;: True or False, # Issue a client certificate.
-        },
-        &quot;clientKey&quot;: &quot;A String&quot;, # [Output only] Base64-encoded private key used by clients to authenticate
-            # to the cluster endpoint.
-        &quot;clusterCaCertificate&quot;: &quot;A String&quot;,
-        &quot;clientCertificate&quot;: &quot;A String&quot;, # [Output only] Base64-encoded public certificate used by clients to
-            # authenticate to the cluster endpoint.
-        &quot;username&quot;: &quot;A String&quot;, # The username to use for HTTP basic authentication to the master endpoint.
-            # For clusters v1.6.0 and later, basic authentication can be disabled by
-            # leaving username unspecified (or setting it to the empty string).
-      },
-      &quot;authenticatorGroupsConfig&quot;: { # Configuration for returning group information from authenticators. # Configuration controlling RBAC group membership information.
-        &quot;securityGroup&quot;: &quot;A String&quot;, # The name of the security group-of-groups to be used. Only relevant
-            # if enabled = true.
-        &quot;enabled&quot;: True or False, # Whether this cluster should return group membership lookups
-            # during authentication using a group of security groups.
-      },
-      &quot;masterIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP prefix in CIDR notation to use for the hosted master network.
-          # This prefix will be used for assigning private IP addresses to the
-          # master or set of masters, as well as the ILB VIP.
-          # This field is deprecated, use
-          # private_cluster_config.master_ipv4_cidr_block instead.
-      &quot;clusterTelemetry&quot;: { # Telemetry integration for the cluster. # Telemetry integration for the cluster.
-        &quot;type&quot;: &quot;A String&quot;, # Type of the integration.
-      },
-      &quot;currentMasterVersion&quot;: &quot;A String&quot;, # [Output only] The current software version of the master endpoint.
-      &quot;podSecurityPolicyConfig&quot;: { # Configuration for the PodSecurityPolicy feature. # Configuration for the PodSecurityPolicy feature.
-        &quot;enabled&quot;: True or False, # Enable the PodSecurityPolicy controller for this cluster. If enabled, pods
-            # must be valid under a PodSecurityPolicy to be created.
-      },
+        # resource](https://cloud.google.com/container-engine/reference/rest/v1beta1/projects.locations.clusters)
       &quot;addonsConfig&quot;: { # Configuration for the addons that can be automatically spun up in the # Configurations for the various addons available to run in the cluster.
           # cluster, enabling additional functionality.
-        &quot;httpLoadBalancing&quot;: { # Configuration options for the HTTP (L7) load balancing controller addon, # Configuration for the HTTP (L7) load balancing controller addon, which
-            # makes it easy to set up HTTP load balancers for services in a cluster.
-            # which makes it easy to set up HTTP load balancers for services in a cluster.
-          &quot;disabled&quot;: True or False, # Whether the HTTP Load Balancing controller is enabled in the cluster.
-              # When enabled, it runs a small pod in the cluster that manages the load
-              # balancers.
-        },
-        &quot;kubernetesDashboard&quot;: { # Configuration for the Kubernetes Dashboard. # Configuration for the Kubernetes Dashboard.
-            # This addon is deprecated, and will be disabled in 1.15. It is recommended
-            # to use the Cloud Console to manage and monitor your Kubernetes clusters,
-            # workloads and applications. For more information, see:
-            # https://cloud.google.com/kubernetes-engine/docs/concepts/dashboards
-          &quot;disabled&quot;: True or False, # Whether the Kubernetes Dashboard is enabled for this cluster.
-        },
-        &quot;dnsCacheConfig&quot;: { # Configuration for NodeLocal DNSCache # Configuration for NodeLocalDNS, a dns cache running on cluster nodes
-          &quot;enabled&quot;: True or False, # Whether NodeLocal DNSCache is enabled for this cluster.
-        },
-        &quot;kalmConfig&quot;: { # Configuration options for the KALM addon. # Configuration for the KALM addon, which manages the lifecycle of k8s
-            # applications.
-          &quot;enabled&quot;: True or False, # Whether KALM is enabled for this cluster.
+        &quot;configConnectorConfig&quot;: { # Configuration options for the Config Connector add-on. # Configuration for the ConfigConnector add-on, a Kubernetes
+            # extension to manage hosted GCP services through the Kubernetes API
+          &quot;enabled&quot;: True or False, # Whether Cloud Connector is enabled for this cluster.
         },
         &quot;gcePersistentDiskCsiDriverConfig&quot;: { # Configuration for the Compute Engine PD CSI driver. This option can only be # Configuration for the Compute Engine Persistent Disk CSI driver.
             # enabled at cluster creation time.
           &quot;enabled&quot;: True or False, # Whether the Compute Engine PD CSI driver is enabled for this cluster.
         },
-        &quot;istioConfig&quot;: { # Configuration options for Istio addon. # Configuration for Istio, an open platform to connect, manage, and secure
-            # microservices.
-          &quot;auth&quot;: &quot;A String&quot;, # The specified Istio auth mode, either none, or mutual TLS.
-          &quot;disabled&quot;: True or False, # Whether Istio is enabled for this cluster.
+        &quot;dnsCacheConfig&quot;: { # Configuration for NodeLocal DNSCache # Configuration for NodeLocalDNS, a dns cache running on cluster nodes
+          &quot;enabled&quot;: True or False, # Whether NodeLocal DNSCache is enabled for this cluster.
         },
         &quot;networkPolicyConfig&quot;: { # Configuration for NetworkPolicy. This only tracks whether the addon # Configuration for NetworkPolicy. This only tracks whether the addon
             # is enabled or not on the Master, it does not track whether network policy
@@ -558,14 +448,24 @@
             # is enabled for the nodes.
           &quot;disabled&quot;: True or False, # Whether NetworkPolicy is enabled for this cluster.
         },
-        &quot;cloudRunConfig&quot;: { # Configuration options for the Cloud Run feature. # Configuration for the Cloud Run addon. The `IstioConfig` addon must be
-            # enabled in order to enable Cloud Run addon. This option can only be enabled
-            # at cluster creation time.
-          &quot;disabled&quot;: True or False, # Whether Cloud Run addon is enabled for this cluster.
+        &quot;kubernetesDashboard&quot;: { # Configuration for the Kubernetes Dashboard. # Configuration for the Kubernetes Dashboard.
+            # This addon is deprecated, and will be disabled in 1.15. It is recommended
+            # to use the Cloud Console to manage and monitor your Kubernetes clusters,
+            # workloads and applications. For more information, see:
+            # https://cloud.google.com/kubernetes-engine/docs/concepts/dashboards
+          &quot;disabled&quot;: True or False, # Whether the Kubernetes Dashboard is enabled for this cluster.
         },
-        &quot;configConnectorConfig&quot;: { # Configuration options for the Config Connector add-on. # Configuration for the ConfigConnector add-on, a Kubernetes
-            # extension to manage hosted GCP services through the Kubernetes API
-          &quot;enabled&quot;: True or False, # Whether Cloud Connector is enabled for this cluster.
+        &quot;httpLoadBalancing&quot;: { # Configuration options for the HTTP (L7) load balancing controller addon, # Configuration for the HTTP (L7) load balancing controller addon, which
+            # makes it easy to set up HTTP load balancers for services in a cluster.
+            # which makes it easy to set up HTTP load balancers for services in a cluster.
+          &quot;disabled&quot;: True or False, # Whether the HTTP Load Balancing controller is enabled in the cluster.
+              # When enabled, it runs a small pod in the cluster that manages the load
+              # balancers.
+        },
+        &quot;istioConfig&quot;: { # Configuration options for Istio addon. # Configuration for Istio, an open platform to connect, manage, and secure
+            # microservices.
+          &quot;disabled&quot;: True or False, # Whether Istio is enabled for this cluster.
+          &quot;auth&quot;: &quot;A String&quot;, # The specified Istio auth mode, either none, or mutual TLS.
         },
         &quot;horizontalPodAutoscaling&quot;: { # Configuration options for the horizontal pod autoscaling feature, which # Configuration for the horizontal pod autoscaling feature, which
             # increases or decreases the number of replica pods a replication controller
@@ -576,97 +476,41 @@
               # When enabled, it ensures that metrics are collected into Stackdriver
               # Monitoring.
         },
+        &quot;cloudRunConfig&quot;: { # Configuration options for the Cloud Run feature. # Configuration for the Cloud Run addon. The `IstioConfig` addon must be
+            # enabled in order to enable Cloud Run addon. This option can only be enabled
+            # at cluster creation time.
+          &quot;disabled&quot;: True or False, # Whether Cloud Run addon is enabled for this cluster.
+        },
+        &quot;kalmConfig&quot;: { # Configuration options for the KALM addon. # Configuration for the KALM addon, which manages the lifecycle of k8s
+            # applications.
+          &quot;enabled&quot;: True or False, # Whether KALM is enabled for this cluster.
+        },
       },
-      &quot;subnetwork&quot;: &quot;A String&quot;, # The name of the Google Compute Engine
-          # [subnetwork](https://cloud.google.com/compute/docs/subnetworks) to which
-          # the cluster is connected. On output this shows the subnetwork ID instead of
-          # the name.
+      &quot;createTime&quot;: &quot;A String&quot;, # [Output only] The time the cluster was created, in
+          # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+      &quot;clusterIpv4Cidr&quot;: &quot;A String&quot;, # The IP address range of the container pods in this cluster, in
+          # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+          # notation (e.g. `10.96.0.0/14`). Leave blank to have
+          # one automatically chosen or specify a `/14` block in `10.0.0.0/8`.
+      &quot;legacyAbac&quot;: { # Configuration for the legacy Attribute Based Access Control authorization # Configuration for the legacy ABAC authorization mode.
+          # mode.
+        &quot;enabled&quot;: True or False, # Whether the ABAC authorizer is enabled for this cluster. When enabled,
+            # identities in the system, including service accounts, nodes, and
+            # controllers, will have statically granted permissions beyond those
+            # provided by the RBAC configuration or IAM.
+      },
+      &quot;binaryAuthorization&quot;: { # Configuration for Binary Authorization. # Configuration for Binary Authorization.
+        &quot;enabled&quot;: True or False, # Enable Binary Authorization for this cluster. If enabled, all container
+            # images will be validated by Google Binauthz.
+      },
       &quot;currentNodeVersion&quot;: &quot;A String&quot;, # [Output only] Deprecated, use
           # [NodePool.version](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters.nodePools)
           # instead. The current version of the node software components.
           # If they are currently at multiple versions because they&#x27;re in the process
           # of being upgraded, this reflects the minimum version of all nodes.
-      &quot;maintenancePolicy&quot;: { # MaintenancePolicy defines the maintenance policy to be used for the cluster. # Configure the maintenance policy for this cluster.
-        &quot;window&quot;: { # MaintenanceWindow defines the maintenance window to be used for the cluster. # Specifies the maintenance window in which maintenance may be performed.
-          &quot;maintenanceExclusions&quot;: { # Exceptions to maintenance window. Non-emergency maintenance should not
-              # occur in these windows.
-            &quot;a_key&quot;: { # Represents an arbitrary window of time.
-              &quot;startTime&quot;: &quot;A String&quot;, # The time that the window first starts.
-              &quot;endTime&quot;: &quot;A String&quot;, # The time that the window ends. The end time should take place after the
-                  # start time.
-            },
-          },
-          &quot;recurringWindow&quot;: { # Represents an arbitrary window of time that recurs. # RecurringWindow specifies some number of recurring time periods for
-              # maintenance to occur. The time windows may be overlapping. If no
-              # maintenance windows are set, maintenance can occur at any time.
-            &quot;recurrence&quot;: &quot;A String&quot;, # An RRULE (https://tools.ietf.org/html/rfc5545#section-3.8.5.3) for how
-                # this window reccurs. They go on for the span of time between the start and
-                # end time.
-                #
-                # For example, to have something repeat every weekday, you&#x27;d use:
-                #   &lt;code&gt;FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR&lt;/code&gt;
-                # To repeat some window daily (equivalent to the DailyMaintenanceWindow):
-                #   &lt;code&gt;FREQ=DAILY&lt;/code&gt;
-                # For the first weekend of every month:
-                #   &lt;code&gt;FREQ=MONTHLY;BYSETPOS=1;BYDAY=SA,SU&lt;/code&gt;
-                # This specifies how frequently the window starts. Eg, if you wanted to have
-                # a 9-5 UTC-4 window every weekday, you&#x27;d use something like:
-                # &lt;code&gt;
-                #   start time = 2019-01-01T09:00:00-0400
-                #   end time = 2019-01-01T17:00:00-0400
-                #   recurrence = FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR
-                # &lt;/code&gt;
-                # Windows can span multiple days. Eg, to make the window encompass every
-                # weekend from midnight Saturday till the last minute of Sunday UTC:
-                # &lt;code&gt;
-                #   start time = 2019-01-05T00:00:00Z
-                #   end time = 2019-01-07T23:59:00Z
-                #   recurrence = FREQ=WEEKLY;BYDAY=SA
-                # &lt;/code&gt;
-                # Note the start and end time&#x27;s specific dates are largely arbitrary except
-                # to specify duration of the window and when it first starts.
-                # The FREQ values of HOURLY, MINUTELY, and SECONDLY are not supported.
-            &quot;window&quot;: { # Represents an arbitrary window of time. # The window of the first recurrence.
-              &quot;startTime&quot;: &quot;A String&quot;, # The time that the window first starts.
-              &quot;endTime&quot;: &quot;A String&quot;, # The time that the window ends. The end time should take place after the
-                  # start time.
-            },
-          },
-          &quot;dailyMaintenanceWindow&quot;: { # Time window specified for daily maintenance operations. # DailyMaintenanceWindow specifies a daily maintenance operation window.
-            &quot;duration&quot;: &quot;A String&quot;, # [Output only] Duration of the time window, automatically chosen to be
-                # smallest possible in the given scenario.
-            &quot;startTime&quot;: &quot;A String&quot;, # Time within the maintenance window to start the maintenance operations.
-                # It must be in format &quot;HH:MM&quot;, where HH : [00-23] and MM : [00-59] GMT.
-          },
-        },
-        &quot;resourceVersion&quot;: &quot;A String&quot;, # A hash identifying the version of this policy, so that updates to fields of
-            # the policy won&#x27;t accidentally undo intermediate changes (and so that users
-            # of the API unaware of some fields won&#x27;t accidentally remove other fields).
-            # Make a &lt;code&gt;get()&lt;/code&gt; request to the cluster to get the current
-            # resource version and include it with requests to set the policy.
-      },
-      &quot;resourceLabels&quot;: { # The resource labels for the cluster to use to annotate any related
-          # Google Compute Engine resources.
-        &quot;a_key&quot;: &quot;A String&quot;,
-      },
-      &quot;initialClusterVersion&quot;: &quot;A String&quot;, # The initial Kubernetes version for this cluster.  Valid versions are those
-          # found in validMasterVersions returned by getServerConfig.  The version can
-          # be upgraded over time; such upgrades are reflected in
-          # currentMasterVersion and currentNodeVersion.
-          #
-          # Users may specify either explicit versions offered by
-          # Kubernetes Engine or version aliases, which have the following behavior:
-          #
-          # - &quot;latest&quot;: picks the highest valid Kubernetes version
-          # - &quot;1.X&quot;: picks the highest valid patch+gke.N patch in the 1.X version
-          # - &quot;1.X.Y&quot;: picks the highest valid gke.N patch in the 1.X.Y version
-          # - &quot;1.X.Y-gke.N&quot;: picks an explicit Kubernetes version
-          # - &quot;&quot;,&quot;-&quot;: picks the default Kubernetes version
+      &quot;currentNodeCount&quot;: 42, # [Output only]  The number of nodes currently in the cluster. Deprecated.
+          # Call Kubernetes API directly to retrieve node information.
       &quot;ipAllocationPolicy&quot;: { # Configuration for controlling how IPs are allocated in the cluster. # Configuration for cluster IP allocation.
-        &quot;useRoutes&quot;: True or False, # Whether routes will be used for pod IPs in the cluster.
-            # This is used in conjunction with use_ip_aliases. It cannot be true if
-            # use_ip_aliases is true. If both use_ip_aliases and use_routes are false,
-            # then the server picks the default IP allocation mode
         &quot;servicesIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP address range of the services IPs in this cluster. If blank, a range
             # will be automatically chosen with the default size.
             #
@@ -682,55 +526,7 @@
             # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
             # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
             # to use.
-        &quot;allowRouteOverlap&quot;: True or False, # If true, allow allocation of cluster CIDR ranges that overlap with certain
-            # kinds of network routes. By default we do not allow cluster CIDR ranges to
-            # intersect with any user declared routes. With allow_route_overlap == true,
-            # we allow overlapping with CIDR ranges that are larger than the cluster CIDR
-            # range.
-            #
-            # If this field is set to true, then cluster and services CIDRs must be
-            # fully-specified (e.g. `10.96.0.0/14`, but not `/14`), which means:
-            # 1) When `use_ip_aliases` is true, `cluster_ipv4_cidr_block` and
-            #    `services_ipv4_cidr_block` must be fully-specified.
-            # 2) When `use_ip_aliases` is false, `cluster.cluster_ipv4_cidr` muse be
-            #    fully-specified.
-        &quot;nodeIpv4Cidr&quot;: &quot;A String&quot;, # This field is deprecated, use node_ipv4_cidr_block.
-        &quot;clusterIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP address range for the cluster pod IPs. If this field is set, then
-            # `cluster.cluster_ipv4_cidr` must be left blank.
-            #
-            # This field is only applicable when `use_ip_aliases` is true.
-            #
-            # Set to blank to have a range chosen with the default size.
-            #
-            # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
-            # netmask.
-            #
-            # Set to a
-            # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
-            # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
-            # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
-            # to use.
-        &quot;clusterSecondaryRangeName&quot;: &quot;A String&quot;, # The name of the secondary range to be used for the cluster CIDR
-            # block.  The secondary range will be used for pod IP
-            # addresses. This must be an existing secondary range associated
-            # with the cluster subnetwork.
-            #
-            # This field is only applicable with use_ip_aliases and
-            # create_subnetwork is false.
-        &quot;nodeIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP address range of the instance IPs in this cluster.
-            #
-            # This is applicable only if `create_subnetwork` is true.
-            #
-            # Set to blank to have a range chosen with the default size.
-            #
-            # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
-            # netmask.
-            #
-            # Set to a
-            # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
-            # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
-            # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
-            # to use.
+        &quot;servicesIpv4Cidr&quot;: &quot;A String&quot;, # This field is deprecated, use services_ipv4_cidr_block.
         &quot;tpuIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP address range of the Cloud TPUs in this cluster. If unspecified, a
             # range will be automatically chosen with the default size.
             #
@@ -747,6 +543,21 @@
             # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
             # to use.
             # This field is deprecated, use cluster.tpu_config.ipv4_cidr_block instead.
+        &quot;useIpAliases&quot;: True or False, # Whether alias IPs will be used for pod IPs in the cluster.
+            # This is used in conjunction with use_routes. It cannot
+            # be true if use_routes is true. If both use_ip_aliases and use_routes are
+            # false, then the server picks the default IP allocation mode
+        &quot;nodeIpv4Cidr&quot;: &quot;A String&quot;, # This field is deprecated, use node_ipv4_cidr_block.
+        &quot;createSubnetwork&quot;: True or False, # Whether a new subnetwork will be created automatically for the cluster.
+            #
+            # This field is only applicable when `use_ip_aliases` is true.
+        &quot;clusterSecondaryRangeName&quot;: &quot;A String&quot;, # The name of the secondary range to be used for the cluster CIDR
+            # block.  The secondary range will be used for pod IP
+            # addresses. This must be an existing secondary range associated
+            # with the cluster subnetwork.
+            #
+            # This field is only applicable with use_ip_aliases and
+            # create_subnetwork is false.
         &quot;servicesSecondaryRangeName&quot;: &quot;A String&quot;, # The name of the secondary range to be used as for the services
             # CIDR block.  The secondary range will be used for service
             # ClusterIPs. This must be an existing secondary range associated
@@ -754,354 +565,86 @@
             #
             # This field is only applicable with use_ip_aliases and
             # create_subnetwork is false.
-        &quot;createSubnetwork&quot;: True or False, # Whether a new subnetwork will be created automatically for the cluster.
-            #
-            # This field is only applicable when `use_ip_aliases` is true.
-        &quot;useIpAliases&quot;: True or False, # Whether alias IPs will be used for pod IPs in the cluster.
-            # This is used in conjunction with use_routes. It cannot
-            # be true if use_routes is true. If both use_ip_aliases and use_routes are
-            # false, then the server picks the default IP allocation mode
+        &quot;useRoutes&quot;: True or False, # Whether routes will be used for pod IPs in the cluster.
+            # This is used in conjunction with use_ip_aliases. It cannot be true if
+            # use_ip_aliases is true. If both use_ip_aliases and use_routes are false,
+            # then the server picks the default IP allocation mode
         &quot;subnetworkName&quot;: &quot;A String&quot;, # A custom subnetwork name to be used if `create_subnetwork` is true.  If
             # this field is empty, then an automatic name will be chosen for the new
             # subnetwork.
+        &quot;allowRouteOverlap&quot;: True or False, # If true, allow allocation of cluster CIDR ranges that overlap with certain
+            # kinds of network routes. By default we do not allow cluster CIDR ranges to
+            # intersect with any user declared routes. With allow_route_overlap == true,
+            # we allow overlapping with CIDR ranges that are larger than the cluster CIDR
+            # range.
+            #
+            # If this field is set to true, then cluster and services CIDRs must be
+            # fully-specified (e.g. `10.96.0.0/14`, but not `/14`), which means:
+            # 1) When `use_ip_aliases` is true, `cluster_ipv4_cidr_block` and
+            #    `services_ipv4_cidr_block` must be fully-specified.
+            # 2) When `use_ip_aliases` is false, `cluster.cluster_ipv4_cidr` muse be
+            #    fully-specified.
         &quot;clusterIpv4Cidr&quot;: &quot;A String&quot;, # This field is deprecated, use cluster_ipv4_cidr_block.
-        &quot;servicesIpv4Cidr&quot;: &quot;A String&quot;, # This field is deprecated, use services_ipv4_cidr_block.
-      },
-      &quot;legacyAbac&quot;: { # Configuration for the legacy Attribute Based Access Control authorization # Configuration for the legacy ABAC authorization mode.
-          # mode.
-        &quot;enabled&quot;: True or False, # Whether the ABAC authorizer is enabled for this cluster. When enabled,
-            # identities in the system, including service accounts, nodes, and
-            # controllers, will have statically granted permissions beyond those
-            # provided by the RBAC configuration or IAM.
-      },
-      &quot;resourceUsageExportConfig&quot;: { # Configuration for exporting cluster resource usages. # Configuration for exporting resource usages. Resource usage export is
-          # disabled when this config unspecified.
-        &quot;enableNetworkEgressMetering&quot;: True or False, # Whether to enable network egress metering for this cluster. If enabled, a
-            # daemonset will be created in the cluster to meter network egress traffic.
-        &quot;consumptionMeteringConfig&quot;: { # Parameters for controlling consumption metering. # Configuration to enable resource consumption metering.
-          &quot;enabled&quot;: True or False, # Whether to enable consumption metering for this cluster. If enabled, a
-              # second BigQuery table will be created to hold resource consumption
-              # records.
-        },
-        &quot;bigqueryDestination&quot;: { # Parameters for using BigQuery as the destination of resource usage export. # Configuration to use BigQuery as usage export destination.
-          &quot;datasetId&quot;: &quot;A String&quot;, # The ID of a BigQuery Dataset.
-        },
-      },
-      &quot;enableTpu&quot;: True or False, # Enable the ability to use Cloud TPUs in this cluster.
-          # This field is deprecated, use tpu_config.enabled instead.
-      &quot;nodePools&quot;: [ # The node pools associated with this cluster.
-          # This field should not be set if &quot;node_config&quot; or &quot;initial_node_count&quot; are
-          # specified.
-        { # NodePool contains the name and configuration for a cluster&#x27;s node pool.
-            # Node pools are a set of nodes (i.e. VM&#x27;s), with a common configuration and
-            # specification, under the control of the cluster master. They may have a set
-            # of Kubernetes labels applied to them, which may be used to reference them
-            # during pod scheduling. They may also be resized up or down, to accommodate
-            # the workload.
-          &quot;status&quot;: &quot;A String&quot;, # [Output only] The status of the nodes in this pool instance.
-          &quot;config&quot;: { # Parameters that describe the nodes in a cluster. # The node configuration of the pool.
-            &quot;minCpuPlatform&quot;: &quot;A String&quot;, # Minimum CPU platform to be used by this instance. The instance may be
-                # scheduled on the specified or newer CPU platform. Applicable values are the
-                # friendly names of CPU platforms, such as
-                # &lt;code&gt;minCpuPlatform: &amp;quot;Intel Haswell&amp;quot;&lt;/code&gt; or
-                # &lt;code&gt;minCpuPlatform: &amp;quot;Intel Sandy Bridge&amp;quot;&lt;/code&gt;. For more
-                # information, read [how to specify min CPU
-                # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
-            &quot;shieldedInstanceConfig&quot;: { # A set of Shielded Instance options. # Shielded Instance options.
-              &quot;enableIntegrityMonitoring&quot;: True or False, # Defines whether the instance has integrity monitoring enabled.
-                  #
-                  # Enables monitoring and attestation of the boot integrity of the instance.
-                  # The attestation is performed against the integrity policy baseline. This
-                  # baseline is initially derived from the implicitly trusted boot image when
-                  # the instance is created.
-              &quot;enableSecureBoot&quot;: True or False, # Defines whether the instance has Secure Boot enabled.
-                  #
-                  # Secure Boot helps ensure that the system only runs authentic software by
-                  # verifying the digital signature of all boot components, and halting the
-                  # boot process if signature verification fails.
-            },
-            &quot;preemptible&quot;: True or False, # Whether the nodes are created as preemptible VM instances. See:
-                # https://cloud.google.com/compute/docs/instances/preemptible for more
-                # inforamtion about preemptible VM instances.
-            &quot;localSsdCount&quot;: 42, # The number of local SSD disks to be attached to the node.
-                #
-                # The limit for this value is dependent upon the maximum number of
-                # disks available on a machine per zone. See:
-                # https://cloud.google.com/compute/docs/disks/local-ssd
-                # for more information.
-            &quot;sandboxConfig&quot;: { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node.
-              &quot;type&quot;: &quot;A String&quot;, # Type of the sandbox to use for the node.
-              &quot;sandboxType&quot;: &quot;A String&quot;, # Type of the sandbox to use for the node (e.g. &#x27;gvisor&#x27;)
-            },
-            &quot;metadata&quot;: { # The metadata key/value pairs assigned to instances in the cluster.
-                #
-                # Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes
-                # in length. These are reflected as part of a URL in the metadata server.
-                # Additionally, to avoid ambiguity, keys must not conflict with any other
-                # metadata keys for the project or be one of the reserved keys:
-                #  &quot;cluster-location&quot;
-                #  &quot;cluster-name&quot;
-                #  &quot;cluster-uid&quot;
-                #  &quot;configure-sh&quot;
-                #  &quot;containerd-configure-sh&quot;
-                #  &quot;enable-oslogin&quot;
-                #  &quot;gci-ensure-gke-docker&quot;
-                #  &quot;gci-metrics-enabled&quot;
-                #  &quot;gci-update-strategy&quot;
-                #  &quot;instance-template&quot;
-                #  &quot;kube-env&quot;
-                #  &quot;startup-script&quot;
-                #  &quot;user-data&quot;
-                #  &quot;disable-address-manager&quot;
-                #  &quot;windows-startup-script-ps1&quot;
-                #  &quot;common-psm1&quot;
-                #  &quot;k8s-node-setup-psm1&quot;
-                #  &quot;install-ssh-psm1&quot;
-                #  &quot;user-profile-psm1&quot;
-                #  &quot;serial-port-logging-enable&quot;
-                # Values are free-form strings, and only have meaning as interpreted by
-                # the image running in the instance. The only restriction placed on them is
-                # that each value&#x27;s size must be less than or equal to 32 KB.
-                #
-                # The total size of all keys and values must be less than 512 KB.
-              &quot;a_key&quot;: &quot;A String&quot;,
-            },
-            &quot;reservationAffinity&quot;: { # [ReservationAffinity](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources) # The optional reservation affinity. Setting this field will apply
-                # the specified [Zonal Compute
-                # Reservation](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources)
-                # to this node pool.
-                # is the configuration of desired reservation which instances could take
-                # capacity from.
-              &quot;key&quot;: &quot;A String&quot;, # Corresponds to the label key of a reservation resource. To target a
-                  # SPECIFIC_RESERVATION by name, specify &quot;googleapis.com/reservation-name&quot; as
-                  # the key and specify the name of your reservation as its value.
-              &quot;values&quot;: [ # Corresponds to the label value(s) of reservation resource(s).
-                &quot;A String&quot;,
-              ],
-              &quot;consumeReservationType&quot;: &quot;A String&quot;, # Corresponds to the type of reservation consumption.
-            },
-            &quot;tags&quot;: [ # The list of instance tags applied to all nodes. Tags are used to identify
-                # valid sources or targets for network firewalls and are specified by
-                # the client during cluster or node pool creation. Each tag within the list
-                # must comply with RFC1035.
-              &quot;A String&quot;,
-            ],
-            &quot;serviceAccount&quot;: &quot;A String&quot;, # The Google Cloud Platform Service Account to be used by the node VMs.
-                # Specify the email address of the Service Account; otherwise, if no Service
-                # Account is specified, the &quot;default&quot; service account is used.
-            &quot;imageType&quot;: &quot;A String&quot;, # The image type to use for this node. Note that for a given image type,
-                # the latest version of it will be used.
-            &quot;oauthScopes&quot;: [ # The set of Google API scopes to be made available on all of the
-                # node VMs under the &quot;default&quot; service account.
-                #
-                # The following scopes are recommended, but not required, and by default are
-                # not included:
-                #
-                # * `https://www.googleapis.com/auth/compute` is required for mounting
-                # persistent storage on your nodes.
-                # * `https://www.googleapis.com/auth/devstorage.read_only` is required for
-                # communicating with **gcr.io**
-                # (the [Google Container
-                # Registry](https://cloud.google.com/container-registry/)).
-                #
-                # If unspecified, no scopes are added, unless Cloud Logging or Cloud
-                # Monitoring are enabled, in which case their required scopes will be added.
-              &quot;A String&quot;,
-            ],
-            &quot;taints&quot;: [ # List of kubernetes taints to be applied to each node.
-                #
-                # For more information, including usage and the valid values, see:
-                # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
-              { # Kubernetes taint is comprised of three fields: key, value, and effect. Effect
-                  # can only be one of three types:  NoSchedule, PreferNoSchedule or NoExecute.
-                  #
-                  # See
-                  # [here](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration)
-                  # for more information, including usage and the valid values.
-                &quot;effect&quot;: &quot;A String&quot;, # Effect for taint.
-                &quot;value&quot;: &quot;A String&quot;, # Value for taint.
-                &quot;key&quot;: &quot;A String&quot;, # Key for taint.
-              },
-            ],
-            &quot;labels&quot;: { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
-                # These will added in addition to any default label(s) that
-                # Kubernetes may apply to the node.
-                # In case of conflict in label keys, the applied set may differ depending on
-                # the Kubernetes version -- it&#x27;s best to assume the behavior is undefined
-                # and conflicts should be avoided.
-                # For more information, including usage and the valid values, see:
-                # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
-              &quot;a_key&quot;: &quot;A String&quot;,
-            },
-            &quot;diskSizeGb&quot;: 42, # Size of the disk attached to each node, specified in GB.
-                # The smallest allowed disk size is 10GB.
-                #
-                # If unspecified, the default disk size is 100GB.
-            &quot;workloadMetadataConfig&quot;: { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node.
-                # workloads on the node pool.
-              &quot;nodeMetadata&quot;: &quot;A String&quot;, # NodeMetadata is the configuration for how to expose metadata to the
-                  # workloads running on the node.
-              &quot;mode&quot;: &quot;A String&quot;, # Mode is the configuration for how to expose metadata to workloads running
-                  # on the node pool.
-            },
-            &quot;accelerators&quot;: [ # A list of hardware accelerators to be attached to each node.
-                # See https://cloud.google.com/compute/docs/gpus for more information about
-                # support for GPUs.
-              { # AcceleratorConfig represents a Hardware Accelerator request.
-                &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators
-                    # [here](https://cloud.google.com/compute/docs/gpus)
-                &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
-              },
-            ],
-            &quot;machineType&quot;: &quot;A String&quot;, # The name of a Google Compute Engine [machine
-                # type](https://cloud.google.com/compute/docs/machine-types) (e.g.
-                # `n1-standard-1`).
-                #
-                # If unspecified, the default machine type is
-                # `n1-standard-1`.
-            &quot;diskType&quot;: &quot;A String&quot;, # Type of the disk attached to each node (e.g. &#x27;pd-standard&#x27; or &#x27;pd-ssd&#x27;)
-                #
-                # If unspecified, the default disk type is &#x27;pd-standard&#x27;
-            &quot;bootDiskKmsKey&quot;: &quot;A String&quot;, #
-                # The Customer Managed Encryption Key used to encrypt the boot disk attached
-                # to each node in the node pool. This should be of the form
-                # projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME].
-                # For more information about protecting resources with Cloud KMS Keys please
-                # see:
-                # https://cloud.google.com/compute/docs/disks/customer-managed-encryption
-          },
-          &quot;maxPodsConstraint&quot;: { # Constraints applied to pods. # The constraint on the maximum number of pods that can be run
-              # simultaneously on a node in the node pool.
-            &quot;maxPodsPerNode&quot;: &quot;A String&quot;, # Constraint enforced on the max num of pods per node.
-          },
-          &quot;name&quot;: &quot;A String&quot;, # The name of the node pool.
-          &quot;management&quot;: { # NodeManagement defines the set of node management services turned on for the # NodeManagement configuration for this NodePool.
-              # node pool.
-            &quot;autoRepair&quot;: True or False, # Whether the nodes will be automatically repaired.
-            &quot;autoUpgrade&quot;: True or False, # Whether the nodes will be automatically upgraded.
-            &quot;upgradeOptions&quot;: { # AutoUpgradeOptions defines the set of options for the user to control how # Specifies the Auto Upgrade knobs for the node pool.
-                # the Auto Upgrades will proceed.
-              &quot;description&quot;: &quot;A String&quot;, # [Output only] This field is set when upgrades are about to commence
-                  # with the description of the upgrade.
-              &quot;autoUpgradeStartTime&quot;: &quot;A String&quot;, # [Output only] This field is set when upgrades are about to commence
-                  # with the approximate start time for the upgrades, in
-                  # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-            },
-          },
-          &quot;statusMessage&quot;: &quot;A String&quot;, # [Output only] Additional information about the current status of this
-              # node pool instance, if available.
-          &quot;autoscaling&quot;: { # NodePoolAutoscaling contains information required by cluster autoscaler to # Autoscaler configuration for this NodePool. Autoscaler is enabled
-              # only if a valid configuration is present.
-              # adjust the size of the node pool to the current cluster usage.
-            &quot;maxNodeCount&quot;: 42, # Maximum number of nodes in the NodePool. Must be &gt;= min_node_count. There
-                # has to enough quota to scale up the cluster.
-            &quot;autoprovisioned&quot;: True or False, # Can this node pool be deleted automatically.
-            &quot;minNodeCount&quot;: 42, # Minimum number of nodes in the NodePool. Must be &gt;= 1 and &lt;=
-                # max_node_count.
-            &quot;enabled&quot;: True or False, # Is autoscaling enabled for this node pool.
-          },
-          &quot;initialNodeCount&quot;: 42, # The initial node count for the pool. You must ensure that your
-              # Compute Engine &lt;a href=&quot;/compute/docs/resource-quotas&quot;&gt;resource quota&lt;/a&gt;
-              # is sufficient for this number of instances. You must also have available
-              # firewall and routes quota.
-          &quot;locations&quot;: [ # The list of Google Compute Engine
-              # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
-              # NodePool&#x27;s nodes should be located.
-            &quot;A String&quot;,
-          ],
-          &quot;upgradeSettings&quot;: { # These upgrade settings control the level of parallelism and the level of # Upgrade settings control disruption and speed of the upgrade.
-              # disruption caused by an upgrade.
-              #
-              # maxUnavailable controls the number of nodes that can be simultaneously
-              # unavailable.
-              #
-              # maxSurge controls the number of additional nodes that can be added to the
-              # node pool temporarily for the time of the upgrade to increase the number of
-              # available nodes.
-              #
-              # (maxUnavailable + maxSurge) determines the level of parallelism (how many
-              # nodes are being upgraded at the same time).
-              #
-              # Note: upgrades inevitably introduce some disruption since workloads need to
-              # be moved from old nodes to new, upgraded ones. Even if maxUnavailable=0,
-              # this holds true. (Disruption stays within the limits of
-              # PodDisruptionBudget, if it is configured.)
-              #
-              # Consider a hypothetical node pool with 5 nodes having maxSurge=2,
-              # maxUnavailable=1. This means the upgrade process upgrades 3 nodes
-              # simultaneously. It creates 2 additional (upgraded) nodes, then it brings
-              # down 3 old (not yet upgraded) nodes at the same time. This ensures that
-              # there are always at least 4 nodes available.
-            &quot;maxUnavailable&quot;: 42, # The maximum number of nodes that can be simultaneously unavailable during
-                # the upgrade process. A node is considered available if its status is
-                # Ready.
-            &quot;maxSurge&quot;: 42, # The maximum number of nodes that can be created beyond the current size
-                # of the node pool during the upgrade process.
-          },
-          &quot;selfLink&quot;: &quot;A String&quot;, # [Output only] Server-defined URL for the resource.
-          &quot;version&quot;: &quot;A String&quot;, # The version of the Kubernetes of this node.
-          &quot;instanceGroupUrls&quot;: [ # [Output only] The resource URLs of the [managed instance
-              # groups](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances)
-              # associated with this node pool.
-            &quot;A String&quot;,
-          ],
-          &quot;podIpv4CidrSize&quot;: 42, # [Output only] The pod CIDR block size per node in this node pool.
-          &quot;conditions&quot;: [ # Which conditions caused the current node pool state.
-            { # StatusCondition describes why a cluster or a node pool has a certain status
-                # (e.g., ERROR or DEGRADED).
-              &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
-              &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
-            },
-          ],
-        },
-      ],
-      &quot;locations&quot;: [ # The list of Google Compute Engine
-          # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
-          # cluster&#x27;s nodes should be located.
-        &quot;A String&quot;,
-      ],
-      &quot;selfLink&quot;: &quot;A String&quot;, # [Output only] Server-defined URL for the resource.
-      &quot;releaseChannel&quot;: { # ReleaseChannel indicates which release channel a cluster is # Release channel configuration.
-          # subscribed to. Release channels are arranged in order of risk and
-          # frequency of updates.
-          #
-          # When a cluster is subscribed to a release channel, Google maintains
-          # both the master version and the node version. Node auto-upgrade
-          # defaults to true and cannot be disabled. Updates to version related
-          # fields (e.g. current_master_version) return an error.
-        &quot;channel&quot;: &quot;A String&quot;, # channel specifies which release channel the cluster is subscribed to.
+        &quot;nodeIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP address range of the instance IPs in this cluster.
+            #
+            # This is applicable only if `create_subnetwork` is true.
+            #
+            # Set to blank to have a range chosen with the default size.
+            #
+            # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
+            # netmask.
+            #
+            # Set to a
+            # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+            # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
+            # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
+            # to use.
+        &quot;clusterIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP address range for the cluster pod IPs. If this field is set, then
+            # `cluster.cluster_ipv4_cidr` must be left blank.
+            #
+            # This field is only applicable when `use_ip_aliases` is true.
+            #
+            # Set to blank to have a range chosen with the default size.
+            #
+            # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
+            # netmask.
+            #
+            # Set to a
+            # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+            # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
+            # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
+            # to use.
       },
       &quot;networkPolicy&quot;: { # Configuration options for the NetworkPolicy feature. # Configuration options for the NetworkPolicy feature.
           # https://kubernetes.io/docs/concepts/services-networking/networkpolicies/
         &quot;provider&quot;: &quot;A String&quot;, # The selected network policy provider.
         &quot;enabled&quot;: True or False, # Whether network policy is enabled on the cluster.
       },
-      &quot;servicesIpv4Cidr&quot;: &quot;A String&quot;, # [Output only] The IP address range of the Kubernetes services in
-          # this cluster, in
-          # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
-          # notation (e.g. `1.2.3.4/29`). Service addresses are
-          # typically put in the last `/16` from the container CIDR.
-      &quot;enableKubernetesAlpha&quot;: True or False, # Kubernetes alpha features are enabled on this cluster. This includes alpha
-          # API groups (e.g. v1beta1) and features that may not be production ready in
-          # the kubernetes version of the master and nodes.
-          # The cluster has no SLA for uptime and master/node upgrades are disabled.
-          # Alpha enabled clusters are automatically deleted thirty days after
-          # creation.
-      &quot;description&quot;: &quot;A String&quot;, # An optional description of this cluster.
-      &quot;conditions&quot;: [ # Which conditions caused the current cluster state.
-        { # StatusCondition describes why a cluster or a node pool has a certain status
-            # (e.g., ERROR or DEGRADED).
-          &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
-          &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+      &quot;privateClusterConfig&quot;: { # Configuration options for private clusters. # Configuration for private cluster.
+        &quot;enablePrivateNodes&quot;: True or False, # Whether nodes have internal IP addresses only. If enabled, all nodes are
+            # given only RFC 1918 private addresses and communicate with the master via
+            # private networking.
+        &quot;masterIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP range in CIDR notation to use for the hosted master network. This
+            # range will be used for assigning internal IP addresses to the master or
+            # set of masters, as well as the ILB VIP. This range must not overlap with
+            # any other ranges in use within the cluster&#x27;s network.
+        &quot;peeringName&quot;: &quot;A String&quot;, # Output only. The peering name in the customer VPC used by this cluster.
+        &quot;publicEndpoint&quot;: &quot;A String&quot;, # Output only. The external IP address of this cluster&#x27;s master endpoint.
+        &quot;enablePrivateEndpoint&quot;: True or False, # Whether the master&#x27;s internal IP address is used as the cluster endpoint.
+        &quot;masterGlobalAccessConfig&quot;: { # Configuration for controlling master global access settings. # Controls master global access settings.
+          &quot;enabled&quot;: True or False, # Whenever master is accessible globally or not.
         },
-      ],
-      &quot;privateCluster&quot;: True or False, # If this is a private cluster setup. Private clusters are clusters that, by
-          # default have no external IP addresses on the nodes and where nodes and the
-          # master communicate over private IP addresses.
-          # This field is deprecated, use private_cluster_config.enable_private_nodes
-          # instead.
-      &quot;currentNodeCount&quot;: 42, # [Output only]  The number of nodes currently in the cluster. Deprecated.
-          # Call Kubernetes API directly to retrieve node information.
+        &quot;privateEndpoint&quot;: &quot;A String&quot;, # Output only. The internal IP address of this cluster&#x27;s master endpoint.
+      },
+      &quot;enableTpu&quot;: True or False, # Enable the ability to use Cloud TPUs in this cluster.
+          # This field is deprecated, use tpu_config.enabled instead.
+      &quot;workloadIdentityConfig&quot;: { # Configuration for the use of Kubernetes Service Accounts in GCP IAM # Configuration for the use of Kubernetes Service Accounts in GCP IAM
+          # policies.
+          # policies.
+        &quot;identityNamespace&quot;: &quot;A String&quot;, # IAM Identity Namespace to attach all Kubernetes Service Accounts to.
+        &quot;identityProvider&quot;: &quot;A String&quot;, # identity provider is the third party identity provider.
+        &quot;workloadPool&quot;: &quot;A String&quot;, # The workload pool to attach all Kubernetes service accounts to.
+      },
       &quot;monitoringService&quot;: &quot;A String&quot;, # The monitoring service the cluster should use to write metrics.
           # Currently available options:
           #
@@ -1113,40 +656,71 @@
           #
           # If left as an empty string,`monitoring.googleapis.com/kubernetes` will be
           # used for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions.
-      &quot;databaseEncryption&quot;: { # Configuration of etcd encryption. # Configuration of etcd encryption.
-        &quot;state&quot;: &quot;A String&quot;, # Denotes the state of etcd encryption.
-        &quot;keyName&quot;: &quot;A String&quot;, # Name of CloudKMS key to use for the encryption of secrets in etcd.
-            # Ex. projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-key
+      &quot;networkConfig&quot;: { # NetworkConfig reports the relative names of network &amp; subnetwork. # Configuration for cluster networking.
+        &quot;defaultSnatStatus&quot;: { # DefaultSnatStatus contains the desired state of whether default sNAT should # Whether the cluster disables default in-node sNAT rules. In-node sNAT rules
+            # will be disabled when default_snat_status is disabled. When disabled is set
+            # to false, default IP masquerade rules will be applied to the nodes to
+            # prevent sNAT on cluster internal traffic.
+            # be disabled on the cluster.
+          &quot;disabled&quot;: True or False, # Disables cluster default sNAT rules.
+        },
+        &quot;enableIntraNodeVisibility&quot;: True or False, # Whether Intra-node visibility is enabled for this cluster.
+            # This makes same node pod to pod traffic visible for VPC network.
+        &quot;subnetwork&quot;: &quot;A String&quot;, # Output only. The relative name of the Google Compute Engine
+            # [subnetwork](https://cloud.google.com/compute/docs/vpc) to which the
+            # cluster is connected. Example:
+            # projects/my-project/regions/us-central1/subnetworks/my-subnet
+        &quot;network&quot;: &quot;A String&quot;, # Output only. The relative name of the Google Compute Engine
+            # network(https://cloud.google.com/compute/docs/networks-and-firewalls#networks)
+            # to which the cluster is connected. Example:
+            # projects/my-project/global/networks/my-network
       },
-      &quot;binaryAuthorization&quot;: { # Configuration for Binary Authorization. # Configuration for Binary Authorization.
-        &quot;enabled&quot;: True or False, # Enable Binary Authorization for this cluster. If enabled, all container
-            # images will be validated by Google Binauthz.
+      &quot;shieldedNodes&quot;: { # Configuration of Shielded Nodes feature. # Shielded Nodes configuration.
+        &quot;enabled&quot;: True or False, # Whether Shielded Nodes features are enabled on all nodes in this cluster.
       },
-      &quot;tpuIpv4CidrBlock&quot;: &quot;A String&quot;, # [Output only] The IP address range of the Cloud TPUs in this cluster, in
-          # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
-          # notation (e.g. `1.2.3.4/29`).
-      &quot;workloadIdentityConfig&quot;: { # Configuration for the use of Kubernetes Service Accounts in GCP IAM # Configuration for the use of Kubernetes Service Accounts in GCP IAM
-          # policies.
-          # policies.
-        &quot;workloadPool&quot;: &quot;A String&quot;, # The workload pool to attach all Kubernetes service accounts to.
-        &quot;identityNamespace&quot;: &quot;A String&quot;, # IAM Identity Namespace to attach all Kubernetes Service Accounts to.
+      &quot;masterAuth&quot;: { # The authentication information for accessing the master endpoint. # The authentication information for accessing the master endpoint.
+          # If unspecified, the defaults are used:
+          # For clusters before v1.12, if master_auth is unspecified, `username` will
+          # be set to &quot;admin&quot;, a random password will be generated, and a client
+          # certificate will be issued.
+          # Authentication can be done using HTTP basic auth or using client
+          # certificates.
+        &quot;clusterCaCertificate&quot;: &quot;A String&quot;,
+        &quot;username&quot;: &quot;A String&quot;, # The username to use for HTTP basic authentication to the master endpoint.
+            # For clusters v1.6.0 and later, basic authentication can be disabled by
+            # leaving username unspecified (or setting it to the empty string).
+        &quot;clientCertificate&quot;: &quot;A String&quot;, # [Output only] Base64-encoded public certificate used by clients to
+            # authenticate to the cluster endpoint.
+        &quot;password&quot;: &quot;A String&quot;, # The password to use for HTTP basic authentication to the master endpoint.
+            # Because the master endpoint is open to the Internet, you should create a
+            # strong password.  If a password is provided for cluster creation, username
+            # must be non-empty.
+        &quot;clientCertificateConfig&quot;: { # Configuration for client certificates on the cluster. # Configuration for client certificate authentication on the cluster. For
+            # clusters before v1.12, if no configuration is specified, a client
+            # certificate is issued.
+          &quot;issueClientCertificate&quot;: True or False, # Issue a client certificate.
+        },
+        &quot;clientKey&quot;: &quot;A String&quot;, # [Output only] Base64-encoded private key used by clients to authenticate
+            # to the cluster endpoint.
       },
-      &quot;zone&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
-          # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
-          # cluster resides. This field is deprecated, use location instead.
-      &quot;loggingService&quot;: &quot;A String&quot;, # The logging service the cluster should use to write logs.
-          # Currently available options:
+      &quot;initialClusterVersion&quot;: &quot;A String&quot;, # The initial Kubernetes version for this cluster.  Valid versions are those
+          # found in validMasterVersions returned by getServerConfig.  The version can
+          # be upgraded over time; such upgrades are reflected in
+          # currentMasterVersion and currentNodeVersion.
           #
-          # * `logging.googleapis.com/kubernetes` - The Cloud Logging
-          # service with a Kubernetes-native resource model
-          # * `logging.googleapis.com` - The legacy Cloud Logging service (no longer
-          #   available as of GKE 1.15).
-          # * `none` - no logs will be exported from the cluster.
+          # Users may specify either explicit versions offered by
+          # Kubernetes Engine or version aliases, which have the following behavior:
           #
-          # If left as an empty string,`logging.googleapis.com/kubernetes` will be
-          # used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.
-      &quot;expireTime&quot;: &quot;A String&quot;, # [Output only] The time the cluster will be automatically
-          # deleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+          # - &quot;latest&quot;: picks the highest valid Kubernetes version
+          # - &quot;1.X&quot;: picks the highest valid patch+gke.N patch in the 1.X version
+          # - &quot;1.X.Y&quot;: picks the highest valid gke.N patch in the 1.X.Y version
+          # - &quot;1.X.Y-gke.N&quot;: picks an explicit Kubernetes version
+          # - &quot;&quot;,&quot;-&quot;: picks the default Kubernetes version
+      &quot;privateCluster&quot;: True or False, # If this is a private cluster setup. Private clusters are clusters that, by
+          # default have no external IP addresses on the nodes and where nodes and the
+          # master communicate over private IP addresses.
+          # This field is deprecated, use private_cluster_config.enable_private_nodes
+          # instead.
       &quot;nodeConfig&quot;: { # Parameters that describe the nodes in a cluster. # Parameters used in creating the cluster&#x27;s nodes.
           # For requests, this field should only be used in lieu of a
           # &quot;node_pool&quot; object, since this configuration (along with the
@@ -1158,39 +732,23 @@
           #
           # If unspecified, the defaults are used.
           # This field is deprecated, use node_pool.config instead.
-        &quot;minCpuPlatform&quot;: &quot;A String&quot;, # Minimum CPU platform to be used by this instance. The instance may be
-            # scheduled on the specified or newer CPU platform. Applicable values are the
-            # friendly names of CPU platforms, such as
-            # &lt;code&gt;minCpuPlatform: &amp;quot;Intel Haswell&amp;quot;&lt;/code&gt; or
-            # &lt;code&gt;minCpuPlatform: &amp;quot;Intel Sandy Bridge&amp;quot;&lt;/code&gt;. For more
-            # information, read [how to specify min CPU
-            # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
-        &quot;shieldedInstanceConfig&quot;: { # A set of Shielded Instance options. # Shielded Instance options.
-          &quot;enableIntegrityMonitoring&quot;: True or False, # Defines whether the instance has integrity monitoring enabled.
-              #
-              # Enables monitoring and attestation of the boot integrity of the instance.
-              # The attestation is performed against the integrity policy baseline. This
-              # baseline is initially derived from the implicitly trusted boot image when
-              # the instance is created.
-          &quot;enableSecureBoot&quot;: True or False, # Defines whether the instance has Secure Boot enabled.
-              #
-              # Secure Boot helps ensure that the system only runs authentic software by
-              # verifying the digital signature of all boot components, and halting the
-              # boot process if signature verification fails.
-        },
-        &quot;preemptible&quot;: True or False, # Whether the nodes are created as preemptible VM instances. See:
-            # https://cloud.google.com/compute/docs/instances/preemptible for more
-            # inforamtion about preemptible VM instances.
-        &quot;localSsdCount&quot;: 42, # The number of local SSD disks to be attached to the node.
+        &quot;oauthScopes&quot;: [ # The set of Google API scopes to be made available on all of the
+            # node VMs under the &quot;default&quot; service account.
             #
-            # The limit for this value is dependent upon the maximum number of
-            # disks available on a machine per zone. See:
-            # https://cloud.google.com/compute/docs/disks/local-ssd
-            # for more information.
-        &quot;sandboxConfig&quot;: { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node.
-          &quot;type&quot;: &quot;A String&quot;, # Type of the sandbox to use for the node.
-          &quot;sandboxType&quot;: &quot;A String&quot;, # Type of the sandbox to use for the node (e.g. &#x27;gvisor&#x27;)
-        },
+            # The following scopes are recommended, but not required, and by default are
+            # not included:
+            #
+            # * `https://www.googleapis.com/auth/compute` is required for mounting
+            # persistent storage on your nodes.
+            # * `https://www.googleapis.com/auth/devstorage.read_only` is required for
+            # communicating with **gcr.io**
+            # (the [Google Container
+            # Registry](https://cloud.google.com/container-registry/)).
+            #
+            # If unspecified, no scopes are added, unless Cloud Logging or Cloud
+            # Monitoring are enabled, in which case their required scopes will be added.
+          &quot;A String&quot;,
+        ],
         &quot;metadata&quot;: { # The metadata key/value pairs assigned to instances in the cluster.
             #
             # Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes
@@ -1224,48 +782,54 @@
             # The total size of all keys and values must be less than 512 KB.
           &quot;a_key&quot;: &quot;A String&quot;,
         },
-        &quot;reservationAffinity&quot;: { # [ReservationAffinity](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources) # The optional reservation affinity. Setting this field will apply
-            # the specified [Zonal Compute
-            # Reservation](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources)
-            # to this node pool.
-            # is the configuration of desired reservation which instances could take
-            # capacity from.
-          &quot;key&quot;: &quot;A String&quot;, # Corresponds to the label key of a reservation resource. To target a
-              # SPECIFIC_RESERVATION by name, specify &quot;googleapis.com/reservation-name&quot; as
-              # the key and specify the name of your reservation as its value.
-          &quot;values&quot;: [ # Corresponds to the label value(s) of reservation resource(s).
-            &quot;A String&quot;,
-          ],
-          &quot;consumeReservationType&quot;: &quot;A String&quot;, # Corresponds to the type of reservation consumption.
+        &quot;machineType&quot;: &quot;A String&quot;, # The name of a Google Compute Engine [machine
+            # type](https://cloud.google.com/compute/docs/machine-types) (e.g.
+            # `n1-standard-1`).
+            #
+            # If unspecified, the default machine type is
+            # `n1-standard-1`.
+        &quot;nodeGroup&quot;: &quot;A String&quot;, # Setting this field will assign instances of this
+            # pool to run on the specified node group. This is useful for running
+            # workloads on [sole tenant
+            # nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes).
+        &quot;shieldedInstanceConfig&quot;: { # A set of Shielded Instance options. # Shielded Instance options.
+          &quot;enableSecureBoot&quot;: True or False, # Defines whether the instance has Secure Boot enabled.
+              #
+              # Secure Boot helps ensure that the system only runs authentic software by
+              # verifying the digital signature of all boot components, and halting the
+              # boot process if signature verification fails.
+          &quot;enableIntegrityMonitoring&quot;: True or False, # Defines whether the instance has integrity monitoring enabled.
+              #
+              # Enables monitoring and attestation of the boot integrity of the instance.
+              # The attestation is performed against the integrity policy baseline. This
+              # baseline is initially derived from the implicitly trusted boot image when
+              # the instance is created.
         },
-        &quot;tags&quot;: [ # The list of instance tags applied to all nodes. Tags are used to identify
-            # valid sources or targets for network firewalls and are specified by
-            # the client during cluster or node pool creation. Each tag within the list
-            # must comply with RFC1035.
-          &quot;A String&quot;,
-        ],
         &quot;serviceAccount&quot;: &quot;A String&quot;, # The Google Cloud Platform Service Account to be used by the node VMs.
             # Specify the email address of the Service Account; otherwise, if no Service
             # Account is specified, the &quot;default&quot; service account is used.
-        &quot;imageType&quot;: &quot;A String&quot;, # The image type to use for this node. Note that for a given image type,
-            # the latest version of it will be used.
-        &quot;oauthScopes&quot;: [ # The set of Google API scopes to be made available on all of the
-            # node VMs under the &quot;default&quot; service account.
-            #
-            # The following scopes are recommended, but not required, and by default are
-            # not included:
-            #
-            # * `https://www.googleapis.com/auth/compute` is required for mounting
-            # persistent storage on your nodes.
-            # * `https://www.googleapis.com/auth/devstorage.read_only` is required for
-            # communicating with **gcr.io**
-            # (the [Google Container
-            # Registry](https://cloud.google.com/container-registry/)).
-            #
-            # If unspecified, no scopes are added, unless Cloud Logging or Cloud
-            # Monitoring are enabled, in which case their required scopes will be added.
-          &quot;A String&quot;,
-        ],
+        &quot;linuxNodeConfig&quot;: { # Parameters that can be configured on Linux nodes. # Parameters that can be configured on Linux nodes.
+          &quot;sysctls&quot;: { # The Linux kernel parameters to be applied to the nodes and all pods running
+              # on the nodes.
+              #
+              # The following parameters are supported.
+              #
+              # net.core.netdev_max_backlog
+              # net.core.rmem_max
+              # net.core.wmem_default
+              # net.core.wmem_max
+              # net.core.optmem_max
+              # net.core.somaxconn
+              # net.ipv4.tcp_rmem
+              # net.ipv4.tcp_wmem
+              # net.ipv4.tcp_tw_reuse
+            &quot;a_key&quot;: &quot;A String&quot;,
+          },
+        },
+        &quot;sandboxConfig&quot;: { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node.
+          &quot;type&quot;: &quot;A String&quot;, # Type of the sandbox to use for the node.
+          &quot;sandboxType&quot;: &quot;A String&quot;, # Type of the sandbox to use for the node (e.g. &#x27;gvisor&#x27;)
+        },
         &quot;taints&quot;: [ # List of kubernetes taints to be applied to each node.
             #
             # For more information, including usage and the valid values, see:
@@ -1277,10 +841,37 @@
               # [here](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration)
               # for more information, including usage and the valid values.
             &quot;effect&quot;: &quot;A String&quot;, # Effect for taint.
-            &quot;value&quot;: &quot;A String&quot;, # Value for taint.
             &quot;key&quot;: &quot;A String&quot;, # Key for taint.
+            &quot;value&quot;: &quot;A String&quot;, # Value for taint.
           },
         ],
+        &quot;kubeletConfig&quot;: { # Node kubelet configs. # Node kubelet configs.
+          &quot;cpuCfsQuotaPeriod&quot;: &quot;A String&quot;, # Set the CPU CFS quota period value &#x27;cpu.cfs_period_us&#x27;.
+              #
+              # The string must be a sequence of decimal numbers, each with optional
+              # fraction and a unit suffix, such as &quot;300ms&quot;.
+              # Valid time units are &quot;ns&quot;, &quot;us&quot; (or &quot;µs&quot;), &quot;ms&quot;, &quot;s&quot;, &quot;m&quot;, &quot;h&quot;.
+              # The value must be a positive duration.
+          &quot;cpuCfsQuota&quot;: True or False, # Enable CPU CFS quota enforcement for containers that specify CPU limits.
+              #
+              # If this option is enabled, kubelet uses CFS quota
+              # (https://www.kernel.org/doc/Documentation/scheduler/sched-bwc.txt) to
+              # enforce container CPU limits. Otherwise, CPU limits will not be enforced at
+              # all.
+              #
+              # Disable this option to mitigate CPU throttling problems while still having
+              # your pods to be in Guaranteed QoS class by specifying the CPU limits.
+              #
+              # The default value is &#x27;true&#x27; if unspecified.
+          &quot;cpuManagerPolicy&quot;: &quot;A String&quot;, # Control the CPU management policy on the node.
+              # See
+              # https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/
+              #
+              # The following values are allowed.
+              #   - &quot;none&quot;: the default, which represents the existing scheduling behavior.
+              #   - &quot;static&quot;: allows pods with certain resource characteristics to be
+              #               granted increased CPU affinity and exclusivity on the node.
+        },
         &quot;labels&quot;: { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
             # These will added in addition to any default label(s) that
             # Kubernetes may apply to the node.
@@ -1291,10 +882,9 @@
             # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
           &quot;a_key&quot;: &quot;A String&quot;,
         },
-        &quot;diskSizeGb&quot;: 42, # Size of the disk attached to each node, specified in GB.
-            # The smallest allowed disk size is 10GB.
+        &quot;diskType&quot;: &quot;A String&quot;, # Type of the disk attached to each node (e.g. &#x27;pd-standard&#x27; or &#x27;pd-ssd&#x27;)
             #
-            # If unspecified, the default disk size is 100GB.
+            # If unspecified, the default disk type is &#x27;pd-standard&#x27;
         &quot;workloadMetadataConfig&quot;: { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node.
             # workloads on the node pool.
           &quot;nodeMetadata&quot;: &quot;A String&quot;, # NodeMetadata is the configuration for how to expose metadata to the
@@ -1302,24 +892,6 @@
           &quot;mode&quot;: &quot;A String&quot;, # Mode is the configuration for how to expose metadata to workloads running
               # on the node pool.
         },
-        &quot;accelerators&quot;: [ # A list of hardware accelerators to be attached to each node.
-            # See https://cloud.google.com/compute/docs/gpus for more information about
-            # support for GPUs.
-          { # AcceleratorConfig represents a Hardware Accelerator request.
-            &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators
-                # [here](https://cloud.google.com/compute/docs/gpus)
-            &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
-          },
-        ],
-        &quot;machineType&quot;: &quot;A String&quot;, # The name of a Google Compute Engine [machine
-            # type](https://cloud.google.com/compute/docs/machine-types) (e.g.
-            # `n1-standard-1`).
-            #
-            # If unspecified, the default machine type is
-            # `n1-standard-1`.
-        &quot;diskType&quot;: &quot;A String&quot;, # Type of the disk attached to each node (e.g. &#x27;pd-standard&#x27; or &#x27;pd-ssd&#x27;)
-            #
-            # If unspecified, the default disk type is &#x27;pd-standard&#x27;
         &quot;bootDiskKmsKey&quot;: &quot;A String&quot;, #
             # The Customer Managed Encryption Key used to encrypt the boot disk attached
             # to each node in the node pool. This should be of the form
@@ -1327,107 +899,91 @@
             # For more information about protecting resources with Cloud KMS Keys please
             # see:
             # https://cloud.google.com/compute/docs/disks/customer-managed-encryption
-      },
-      &quot;tpuConfig&quot;: { # Configuration for Cloud TPU. # Configuration for Cloud TPU support;
-        &quot;useServiceNetworking&quot;: True or False, # Whether to use service networking for Cloud TPU or not.
-        &quot;ipv4CidrBlock&quot;: &quot;A String&quot;, # IPv4 CIDR block reserved for Cloud TPU in the VPC.
-        &quot;enabled&quot;: True or False, # Whether Cloud TPU integration is enabled or not.
-      },
-      &quot;status&quot;: &quot;A String&quot;, # [Output only] The current status of this cluster.
-      &quot;networkConfig&quot;: { # NetworkConfig reports the relative names of network &amp; subnetwork. # Configuration for cluster networking.
-        &quot;enableIntraNodeVisibility&quot;: True or False, # Whether Intra-node visibility is enabled for this cluster.
-            # This makes same node pod to pod traffic visible for VPC network.
-        &quot;subnetwork&quot;: &quot;A String&quot;, # Output only. The relative name of the Google Compute Engine
-            # [subnetwork](https://cloud.google.com/compute/docs/vpc) to which the
-            # cluster is connected. Example:
-            # projects/my-project/regions/us-central1/subnetworks/my-subnet
-        &quot;network&quot;: &quot;A String&quot;, # Output only. The relative name of the Google Compute Engine
-            # network(https://cloud.google.com/compute/docs/networks-and-firewalls#networks)
-            # to which the cluster is connected. Example:
-            # projects/my-project/global/networks/my-network
-        &quot;defaultSnatStatus&quot;: { # DefaultSnatStatus contains the desired state of whether default sNAT should # Whether the cluster disables default in-node sNAT rules. In-node sNAT rules
-            # will be disabled when default_snat_status is disabled. When disabled is set
-            # to false, default IP masquerade rules will be applied to the nodes to
-            # prevent sNAT on cluster internal traffic.
-            # be disabled on the cluster.
-          &quot;disabled&quot;: True or False, # Disables cluster default sNAT rules.
+        &quot;diskSizeGb&quot;: 42, # Size of the disk attached to each node, specified in GB.
+            # The smallest allowed disk size is 10GB.
+            #
+            # If unspecified, the default disk size is 100GB.
+        &quot;reservationAffinity&quot;: { # [ReservationAffinity](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources) # The optional reservation affinity. Setting this field will apply
+            # the specified [Zonal Compute
+            # Reservation](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources)
+            # to this node pool.
+            # is the configuration of desired reservation which instances could take
+            # capacity from.
+          &quot;consumeReservationType&quot;: &quot;A String&quot;, # Corresponds to the type of reservation consumption.
+          &quot;key&quot;: &quot;A String&quot;, # Corresponds to the label key of a reservation resource. To target a
+              # SPECIFIC_RESERVATION by name, specify &quot;googleapis.com/reservation-name&quot; as
+              # the key and specify the name of your reservation as its value.
+          &quot;values&quot;: [ # Corresponds to the label value(s) of reservation resource(s).
+            &quot;A String&quot;,
+          ],
         },
+        &quot;preemptible&quot;: True or False, # Whether the nodes are created as preemptible VM instances. See:
+            # https://cloud.google.com/compute/docs/instances/preemptible for more
+            # inforamtion about preemptible VM instances.
+        &quot;minCpuPlatform&quot;: &quot;A String&quot;, # Minimum CPU platform to be used by this instance. The instance may be
+            # scheduled on the specified or newer CPU platform. Applicable values are the
+            # friendly names of CPU platforms, such as
+            # &lt;code&gt;minCpuPlatform: &amp;quot;Intel Haswell&amp;quot;&lt;/code&gt; or
+            # &lt;code&gt;minCpuPlatform: &amp;quot;Intel Sandy Bridge&amp;quot;&lt;/code&gt;. For more
+            # information, read [how to specify min CPU
+            # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
+        &quot;tags&quot;: [ # The list of instance tags applied to all nodes. Tags are used to identify
+            # valid sources or targets for network firewalls and are specified by
+            # the client during cluster or node pool creation. Each tag within the list
+            # must comply with RFC1035.
+          &quot;A String&quot;,
+        ],
+        &quot;accelerators&quot;: [ # A list of hardware accelerators to be attached to each node.
+            # See https://cloud.google.com/compute/docs/gpus for more information about
+            # support for GPUs.
+          { # AcceleratorConfig represents a Hardware Accelerator request.
+            &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
+            &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators
+                # [here](https://cloud.google.com/compute/docs/gpus)
+          },
+        ],
+        &quot;localSsdCount&quot;: 42, # The number of local SSD disks to be attached to the node.
+            #
+            # The limit for this value is dependent upon the maximum number of
+            # disks available on a machine per zone. See:
+            # https://cloud.google.com/compute/docs/disks/local-ssd
+            # for more information.
+        &quot;imageType&quot;: &quot;A String&quot;, # The image type to use for this node. Note that for a given image type,
+            # the latest version of it will be used.
       },
-      &quot;name&quot;: &quot;A String&quot;, # The name of this cluster. The name must be unique within this project
-          # and location (e.g. zone or region), and can be up to 40 characters with
-          # the following restrictions:
-          #
-          # * Lowercase letters, numbers, and hyphens only.
-          # * Must start with a letter.
-          # * Must end with a number or a letter.
-      &quot;location&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
-          # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
-          # or
-          # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
-          # in which the cluster resides.
-      &quot;endpoint&quot;: &quot;A String&quot;, # [Output only] The IP address of this cluster&#x27;s master endpoint.
-          # The endpoint can be accessed from the internet at
-          # `https://username:password@endpoint/`.
-          #
-          # See the `masterAuth` property of this resource for username and
-          # password information.
-      &quot;createTime&quot;: &quot;A String&quot;, # [Output only] The time the cluster was created, in
-          # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-      &quot;clusterIpv4Cidr&quot;: &quot;A String&quot;, # The IP address range of the container pods in this cluster, in
+      &quot;currentMasterVersion&quot;: &quot;A String&quot;, # [Output only] The current software version of the master endpoint.
+      &quot;masterAuthorizedNetworksConfig&quot;: { # Configuration options for the master authorized networks feature. Enabled # The configuration options for master authorized networks feature.
+          # master authorized networks will disallow all external traffic to access
+          # Kubernetes master through HTTPS except traffic from the given CIDR blocks,
+          # Google Compute Engine Public IPs and Google Prod IPs.
+        &quot;cidrBlocks&quot;: [ # cidr_blocks define up to 10 external networks that could access
+            # Kubernetes master through HTTPS.
+          { # CidrBlock contains an optional name and one CIDR block.
+            &quot;displayName&quot;: &quot;A String&quot;, # display_name is an optional field for users to identify CIDR blocks.
+            &quot;cidrBlock&quot;: &quot;A String&quot;, # cidr_block must be specified in CIDR notation.
+          },
+        ],
+        &quot;enabled&quot;: True or False, # Whether or not master authorized networks is enabled.
+      },
+      &quot;servicesIpv4Cidr&quot;: &quot;A String&quot;, # [Output only] The IP address range of the Kubernetes services in
+          # this cluster, in
           # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
-          # notation (e.g. `10.96.0.0/14`). Leave blank to have
-          # one automatically chosen or specify a `/14` block in `10.0.0.0/8`.
+          # notation (e.g. `1.2.3.4/29`). Service addresses are
+          # typically put in the last `/16` from the container CIDR.
+      &quot;masterIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP prefix in CIDR notation to use for the hosted master network.
+          # This prefix will be used for assigning private IP addresses to the
+          # master or set of masters, as well as the ILB VIP.
+          # This field is deprecated, use
+          # private_cluster_config.master_ipv4_cidr_block instead.
       &quot;autoscaling&quot;: { # ClusterAutoscaling contains global, per-cluster information # Cluster-level autoscaling configuration.
           # required by Cluster Autoscaler to automatically adjust
           # the size of the cluster and create/delete
           # node pools based on the current needs.
-        &quot;autoprovisioningLocations&quot;: [ # The list of Google Compute Engine
-            # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
-            # NodePool&#x27;s nodes can be created by NAP.
-          &quot;A String&quot;,
-        ],
-        &quot;resourceLimits&quot;: [ # Contains global constraints regarding minimum and maximum
-            # amount of resources in the cluster.
-          { # Contains information about amount of some resource in the cluster.
-              # For memory, value should be in GB.
-            &quot;maximum&quot;: &quot;A String&quot;, # Maximum amount of the resource in the cluster.
-            &quot;resourceType&quot;: &quot;A String&quot;, # Resource name &quot;cpu&quot;, &quot;memory&quot; or gpu-specific string.
-            &quot;minimum&quot;: &quot;A String&quot;, # Minimum amount of the resource in the cluster.
-          },
-        ],
-        &quot;autoscalingProfile&quot;: &quot;A String&quot;, # Defines autoscaling behaviour.
         &quot;enableNodeAutoprovisioning&quot;: True or False, # Enables automatic node pool creation and deletion.
         &quot;autoprovisioningNodePoolDefaults&quot;: { # AutoprovisioningNodePoolDefaults contains defaults for a node pool created # AutoprovisioningNodePoolDefaults contains defaults for a node pool
             # created by NAP.
             # by NAP.
-          &quot;serviceAccount&quot;: &quot;A String&quot;, # The Google Cloud Platform Service Account to be used by the node VMs. If
-              # service_account is specified, scopes should be empty.
-          &quot;minCpuPlatform&quot;: &quot;A String&quot;, # Minimum CPU platform to be used for NAP created node pools.
-              # The instance may be scheduled on the specified or newer CPU platform.
-              # Applicable values are the friendly names of CPU platforms, such as
-              # &lt;code&gt;minCpuPlatform: &amp;quot;Intel Haswell&amp;quot;&lt;/code&gt; or
-              # &lt;code&gt;minCpuPlatform: &amp;quot;Intel Sandy Bridge&amp;quot;&lt;/code&gt;. For more
-              # information, read [how to specify min CPU
-              # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
-              # To unset the min cpu platform field pass &quot;automatic&quot; as field value.
-          &quot;management&quot;: { # NodeManagement defines the set of node management services turned on for the # Specifies the node management options for NAP created node-pools.
-              # node pool.
-            &quot;autoRepair&quot;: True or False, # Whether the nodes will be automatically repaired.
-            &quot;autoUpgrade&quot;: True or False, # Whether the nodes will be automatically upgraded.
-            &quot;upgradeOptions&quot;: { # AutoUpgradeOptions defines the set of options for the user to control how # Specifies the Auto Upgrade knobs for the node pool.
-                # the Auto Upgrades will proceed.
-              &quot;description&quot;: &quot;A String&quot;, # [Output only] This field is set when upgrades are about to commence
-                  # with the description of the upgrade.
-              &quot;autoUpgradeStartTime&quot;: &quot;A String&quot;, # [Output only] This field is set when upgrades are about to commence
-                  # with the approximate start time for the upgrades, in
-                  # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-            },
-          },
-          &quot;oauthScopes&quot;: [ # Scopes that are used by NAP when creating node pools. If oauth_scopes are
-              # specified, service_account should be empty.
-            &quot;A String&quot;,
-          ],
-          &quot;upgradeSettings&quot;: { # These upgrade settings control the level of parallelism and the level of # Specifies the upgrade settings for NAP created node pools
+          &quot;upgradeSettings&quot;: { # These upgrade settings control the level of parallelism and the level of # Upgrade settings control disruption and speed of the upgrade.
               # disruption caused by an upgrade.
               #
               # maxUnavailable controls the number of nodes that can be simultaneously
@@ -1456,10 +1012,548 @@
             &quot;maxSurge&quot;: 42, # The maximum number of nodes that can be created beyond the current size
                 # of the node pool during the upgrade process.
           },
+          &quot;serviceAccount&quot;: &quot;A String&quot;, # The Google Cloud Platform Service Account to be used by the node VMs.
+              # Specify the email address of the Service Account; otherwise, if no Service
+              # Account is specified, the &quot;default&quot; service account is used.
+          &quot;oauthScopes&quot;: [ # The set of Google API scopes to be made available on all of the
+              # node VMs under the &quot;default&quot; service account.
+              #
+              # The following scopes are recommended, but not required, and by default are
+              # not included:
+              #
+              # * `https://www.googleapis.com/auth/compute` is required for mounting
+              # persistent storage on your nodes.
+              # * `https://www.googleapis.com/auth/devstorage.read_only` is required for
+              # communicating with **gcr.io**
+              # (the [Google Container
+              # Registry](https://cloud.google.com/container-registry/)).
+              #
+              # If unspecified, no scopes are added, unless Cloud Logging or Cloud
+              # Monitoring are enabled, in which case their required scopes will be added.
+            &quot;A String&quot;,
+          ],
+          &quot;minCpuPlatform&quot;: &quot;A String&quot;, # Minimum CPU platform to be used by this instance. The instance may be
+              # scheduled on the specified or newer CPU platform. Applicable values are the
+              # friendly names of CPU platforms, such as
+              # &lt;code&gt;minCpuPlatform: &amp;quot;Intel Haswell&amp;quot;&lt;/code&gt; or
+              # &lt;code&gt;minCpuPlatform: &amp;quot;Intel Sandy Bridge&amp;quot;&lt;/code&gt;. For more
+              # information, read [how to specify min CPU
+              # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
+              # To unset the min cpu platform field pass &quot;automatic&quot;
+              # as field value.
+          &quot;management&quot;: { # NodeManagement defines the set of node management services turned on for the # NodeManagement configuration for this NodePool.
+              # node pool.
+            &quot;autoRepair&quot;: True or False, # Whether the nodes will be automatically repaired.
+            &quot;autoUpgrade&quot;: True or False, # Whether the nodes will be automatically upgraded.
+            &quot;upgradeOptions&quot;: { # AutoUpgradeOptions defines the set of options for the user to control how # Specifies the Auto Upgrade knobs for the node pool.
+                # the Auto Upgrades will proceed.
+              &quot;description&quot;: &quot;A String&quot;, # [Output only] This field is set when upgrades are about to commence
+                  # with the description of the upgrade.
+              &quot;autoUpgradeStartTime&quot;: &quot;A String&quot;, # [Output only] This field is set when upgrades are about to commence
+                  # with the approximate start time for the upgrades, in
+                  # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+            },
+          },
         },
+        &quot;autoscalingProfile&quot;: &quot;A String&quot;, # Defines autoscaling behaviour.
+        &quot;resourceLimits&quot;: [ # Contains global constraints regarding minimum and maximum
+            # amount of resources in the cluster.
+          { # Contains information about amount of some resource in the cluster.
+              # For memory, value should be in GB.
+            &quot;minimum&quot;: &quot;A String&quot;, # Minimum amount of the resource in the cluster.
+            &quot;maximum&quot;: &quot;A String&quot;, # Maximum amount of the resource in the cluster.
+            &quot;resourceType&quot;: &quot;A String&quot;, # Resource name &quot;cpu&quot;, &quot;memory&quot; or gpu-specific string.
+          },
+        ],
+        &quot;autoprovisioningLocations&quot;: [ # The list of Google Compute Engine
+            # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
+            # NodePool&#x27;s nodes can be created by NAP.
+          &quot;A String&quot;,
+        ],
       },
+      &quot;locations&quot;: [ # The list of Google Compute Engine
+          # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
+          # cluster&#x27;s nodes should be located.
+        &quot;A String&quot;,
+      ],
+      &quot;conditions&quot;: [ # Which conditions caused the current cluster state.
+        { # StatusCondition describes why a cluster or a node pool has a certain status
+            # (e.g., ERROR or DEGRADED).
+          &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
+          &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+        },
+      ],
+      &quot;loggingService&quot;: &quot;A String&quot;, # The logging service the cluster should use to write logs.
+          # Currently available options:
+          #
+          # * `logging.googleapis.com/kubernetes` - The Cloud Logging
+          # service with a Kubernetes-native resource model
+          # * `logging.googleapis.com` - The legacy Cloud Logging service (no longer
+          #   available as of GKE 1.15).
+          # * `none` - no logs will be exported from the cluster.
+          #
+          # If left as an empty string,`logging.googleapis.com/kubernetes` will be
+          # used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.
+      &quot;enableKubernetesAlpha&quot;: True or False, # Kubernetes alpha features are enabled on this cluster. This includes alpha
+          # API groups (e.g. v1beta1) and features that may not be production ready in
+          # the kubernetes version of the master and nodes.
+          # The cluster has no SLA for uptime and master/node upgrades are disabled.
+          # Alpha enabled clusters are automatically deleted thirty days after
+          # creation.
+      &quot;instanceGroupUrls&quot;: [ # Deprecated. Use node_pools.instance_group_urls.
+        &quot;A String&quot;,
+      ],
+      &quot;name&quot;: &quot;A String&quot;, # The name of this cluster. The name must be unique within this project
+          # and location (e.g. zone or region), and can be up to 40 characters with
+          # the following restrictions:
+          #
+          # * Lowercase letters, numbers, and hyphens only.
+          # * Must start with a letter.
+          # * Must end with a number or a letter.
+      &quot;master&quot;: { # Master is the configuration for components on master. # Configuration for master components.
+      },
+      &quot;endpoint&quot;: &quot;A String&quot;, # [Output only] The IP address of this cluster&#x27;s master endpoint.
+          # The endpoint can be accessed from the internet at
+          # `https://username:password@endpoint/`.
+          #
+          # See the `masterAuth` property of this resource for username and
+          # password information.
+      &quot;resourceUsageExportConfig&quot;: { # Configuration for exporting cluster resource usages. # Configuration for exporting resource usages. Resource usage export is
+          # disabled when this config unspecified.
+        &quot;consumptionMeteringConfig&quot;: { # Parameters for controlling consumption metering. # Configuration to enable resource consumption metering.
+          &quot;enabled&quot;: True or False, # Whether to enable consumption metering for this cluster. If enabled, a
+              # second BigQuery table will be created to hold resource consumption
+              # records.
+        },
+        &quot;bigqueryDestination&quot;: { # Parameters for using BigQuery as the destination of resource usage export. # Configuration to use BigQuery as usage export destination.
+          &quot;datasetId&quot;: &quot;A String&quot;, # The ID of a BigQuery Dataset.
+        },
+        &quot;enableNetworkEgressMetering&quot;: True or False, # Whether to enable network egress metering for this cluster. If enabled, a
+            # daemonset will be created in the cluster to meter network egress traffic.
+      },
+      &quot;location&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
+          # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
+          # or
+          # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
+          # in which the cluster resides.
+      &quot;authenticatorGroupsConfig&quot;: { # Configuration for returning group information from authenticators. # Configuration controlling RBAC group membership information.
+        &quot;securityGroup&quot;: &quot;A String&quot;, # The name of the security group-of-groups to be used. Only relevant
+            # if enabled = true.
+        &quot;enabled&quot;: True or False, # Whether this cluster should return group membership lookups
+            # during authentication using a group of security groups.
+      },
+      &quot;subnetwork&quot;: &quot;A String&quot;, # The name of the Google Compute Engine
+          # [subnetwork](https://cloud.google.com/compute/docs/subnetworks) to which
+          # the cluster is connected. On output this shows the subnetwork ID instead of
+          # the name.
+      &quot;maintenancePolicy&quot;: { # MaintenancePolicy defines the maintenance policy to be used for the cluster. # Configure the maintenance policy for this cluster.
+        &quot;window&quot;: { # MaintenanceWindow defines the maintenance window to be used for the cluster. # Specifies the maintenance window in which maintenance may be performed.
+          &quot;recurringWindow&quot;: { # Represents an arbitrary window of time that recurs. # RecurringWindow specifies some number of recurring time periods for
+              # maintenance to occur. The time windows may be overlapping. If no
+              # maintenance windows are set, maintenance can occur at any time.
+            &quot;recurrence&quot;: &quot;A String&quot;, # An RRULE (https://tools.ietf.org/html/rfc5545#section-3.8.5.3) for how
+                # this window reccurs. They go on for the span of time between the start and
+                # end time.
+                #
+                # For example, to have something repeat every weekday, you&#x27;d use:
+                #   &lt;code&gt;FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR&lt;/code&gt;
+                # To repeat some window daily (equivalent to the DailyMaintenanceWindow):
+                #   &lt;code&gt;FREQ=DAILY&lt;/code&gt;
+                # For the first weekend of every month:
+                #   &lt;code&gt;FREQ=MONTHLY;BYSETPOS=1;BYDAY=SA,SU&lt;/code&gt;
+                # This specifies how frequently the window starts. Eg, if you wanted to have
+                # a 9-5 UTC-4 window every weekday, you&#x27;d use something like:
+                # &lt;code&gt;
+                #   start time = 2019-01-01T09:00:00-0400
+                #   end time = 2019-01-01T17:00:00-0400
+                #   recurrence = FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR
+                # &lt;/code&gt;
+                # Windows can span multiple days. Eg, to make the window encompass every
+                # weekend from midnight Saturday till the last minute of Sunday UTC:
+                # &lt;code&gt;
+                #   start time = 2019-01-05T00:00:00Z
+                #   end time = 2019-01-07T23:59:00Z
+                #   recurrence = FREQ=WEEKLY;BYDAY=SA
+                # &lt;/code&gt;
+                # Note the start and end time&#x27;s specific dates are largely arbitrary except
+                # to specify duration of the window and when it first starts.
+                # The FREQ values of HOURLY, MINUTELY, and SECONDLY are not supported.
+            &quot;window&quot;: { # Represents an arbitrary window of time. # The window of the first recurrence.
+              &quot;endTime&quot;: &quot;A String&quot;, # The time that the window ends. The end time should take place after the
+                  # start time.
+              &quot;startTime&quot;: &quot;A String&quot;, # The time that the window first starts.
+            },
+          },
+          &quot;dailyMaintenanceWindow&quot;: { # Time window specified for daily maintenance operations. # DailyMaintenanceWindow specifies a daily maintenance operation window.
+            &quot;startTime&quot;: &quot;A String&quot;, # Time within the maintenance window to start the maintenance operations.
+                # It must be in format &quot;HH:MM&quot;, where HH : [00-23] and MM : [00-59] GMT.
+            &quot;duration&quot;: &quot;A String&quot;, # [Output only] Duration of the time window, automatically chosen to be
+                # smallest possible in the given scenario.
+          },
+          &quot;maintenanceExclusions&quot;: { # Exceptions to maintenance window. Non-emergency maintenance should not
+              # occur in these windows.
+            &quot;a_key&quot;: { # Represents an arbitrary window of time.
+              &quot;endTime&quot;: &quot;A String&quot;, # The time that the window ends. The end time should take place after the
+                  # start time.
+              &quot;startTime&quot;: &quot;A String&quot;, # The time that the window first starts.
+            },
+          },
+        },
+        &quot;resourceVersion&quot;: &quot;A String&quot;, # A hash identifying the version of this policy, so that updates to fields of
+            # the policy won&#x27;t accidentally undo intermediate changes (and so that users
+            # of the API unaware of some fields won&#x27;t accidentally remove other fields).
+            # Make a &lt;code&gt;get()&lt;/code&gt; request to the cluster to get the current
+            # resource version and include it with requests to set the policy.
+      },
+      &quot;tpuConfig&quot;: { # Configuration for Cloud TPU. # Configuration for Cloud TPU support;
+        &quot;ipv4CidrBlock&quot;: &quot;A String&quot;, # IPv4 CIDR block reserved for Cloud TPU in the VPC.
+        &quot;useServiceNetworking&quot;: True or False, # Whether to use service networking for Cloud TPU or not.
+        &quot;enabled&quot;: True or False, # Whether Cloud TPU integration is enabled or not.
+      },
+      &quot;nodePools&quot;: [ # The node pools associated with this cluster.
+          # This field should not be set if &quot;node_config&quot; or &quot;initial_node_count&quot; are
+          # specified.
+        { # NodePool contains the name and configuration for a cluster&#x27;s node pool.
+            # Node pools are a set of nodes (i.e. VM&#x27;s), with a common configuration and
+            # specification, under the control of the cluster master. They may have a set
+            # of Kubernetes labels applied to them, which may be used to reference them
+            # during pod scheduling. They may also be resized up or down, to accommodate
+            # the workload.
+          &quot;status&quot;: &quot;A String&quot;, # [Output only] The status of the nodes in this pool instance.
+          &quot;upgradeSettings&quot;: { # These upgrade settings control the level of parallelism and the level of # Upgrade settings control disruption and speed of the upgrade.
+              # disruption caused by an upgrade.
+              #
+              # maxUnavailable controls the number of nodes that can be simultaneously
+              # unavailable.
+              #
+              # maxSurge controls the number of additional nodes that can be added to the
+              # node pool temporarily for the time of the upgrade to increase the number of
+              # available nodes.
+              #
+              # (maxUnavailable + maxSurge) determines the level of parallelism (how many
+              # nodes are being upgraded at the same time).
+              #
+              # Note: upgrades inevitably introduce some disruption since workloads need to
+              # be moved from old nodes to new, upgraded ones. Even if maxUnavailable=0,
+              # this holds true. (Disruption stays within the limits of
+              # PodDisruptionBudget, if it is configured.)
+              #
+              # Consider a hypothetical node pool with 5 nodes having maxSurge=2,
+              # maxUnavailable=1. This means the upgrade process upgrades 3 nodes
+              # simultaneously. It creates 2 additional (upgraded) nodes, then it brings
+              # down 3 old (not yet upgraded) nodes at the same time. This ensures that
+              # there are always at least 4 nodes available.
+            &quot;maxUnavailable&quot;: 42, # The maximum number of nodes that can be simultaneously unavailable during
+                # the upgrade process. A node is considered available if its status is
+                # Ready.
+            &quot;maxSurge&quot;: 42, # The maximum number of nodes that can be created beyond the current size
+                # of the node pool during the upgrade process.
+          },
+          &quot;instanceGroupUrls&quot;: [ # [Output only] The resource URLs of the [managed instance
+              # groups](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances)
+              # associated with this node pool.
+            &quot;A String&quot;,
+          ],
+          &quot;autoscaling&quot;: { # NodePoolAutoscaling contains information required by cluster autoscaler to # Autoscaler configuration for this NodePool. Autoscaler is enabled
+              # only if a valid configuration is present.
+              # adjust the size of the node pool to the current cluster usage.
+            &quot;autoprovisioned&quot;: True or False, # Can this node pool be deleted automatically.
+            &quot;minNodeCount&quot;: 42, # Minimum number of nodes in the NodePool. Must be &gt;= 1 and &lt;=
+                # max_node_count.
+            &quot;enabled&quot;: True or False, # Is autoscaling enabled for this node pool.
+            &quot;maxNodeCount&quot;: 42, # Maximum number of nodes in the NodePool. Must be &gt;= min_node_count. There
+                # has to enough quota to scale up the cluster.
+          },
+          &quot;initialNodeCount&quot;: 42, # The initial node count for the pool. You must ensure that your
+              # Compute Engine [resource quota](https://cloud.google.com/compute/quotas)
+              # is sufficient for this number of instances. You must also have available
+              # firewall and routes quota.
+          &quot;config&quot;: { # Parameters that describe the nodes in a cluster. # The node configuration of the pool.
+            &quot;oauthScopes&quot;: [ # The set of Google API scopes to be made available on all of the
+                # node VMs under the &quot;default&quot; service account.
+                #
+                # The following scopes are recommended, but not required, and by default are
+                # not included:
+                #
+                # * `https://www.googleapis.com/auth/compute` is required for mounting
+                # persistent storage on your nodes.
+                # * `https://www.googleapis.com/auth/devstorage.read_only` is required for
+                # communicating with **gcr.io**
+                # (the [Google Container
+                # Registry](https://cloud.google.com/container-registry/)).
+                #
+                # If unspecified, no scopes are added, unless Cloud Logging or Cloud
+                # Monitoring are enabled, in which case their required scopes will be added.
+              &quot;A String&quot;,
+            ],
+            &quot;metadata&quot;: { # The metadata key/value pairs assigned to instances in the cluster.
+                #
+                # Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes
+                # in length. These are reflected as part of a URL in the metadata server.
+                # Additionally, to avoid ambiguity, keys must not conflict with any other
+                # metadata keys for the project or be one of the reserved keys:
+                #  &quot;cluster-location&quot;
+                #  &quot;cluster-name&quot;
+                #  &quot;cluster-uid&quot;
+                #  &quot;configure-sh&quot;
+                #  &quot;containerd-configure-sh&quot;
+                #  &quot;enable-oslogin&quot;
+                #  &quot;gci-ensure-gke-docker&quot;
+                #  &quot;gci-metrics-enabled&quot;
+                #  &quot;gci-update-strategy&quot;
+                #  &quot;instance-template&quot;
+                #  &quot;kube-env&quot;
+                #  &quot;startup-script&quot;
+                #  &quot;user-data&quot;
+                #  &quot;disable-address-manager&quot;
+                #  &quot;windows-startup-script-ps1&quot;
+                #  &quot;common-psm1&quot;
+                #  &quot;k8s-node-setup-psm1&quot;
+                #  &quot;install-ssh-psm1&quot;
+                #  &quot;user-profile-psm1&quot;
+                #  &quot;serial-port-logging-enable&quot;
+                # Values are free-form strings, and only have meaning as interpreted by
+                # the image running in the instance. The only restriction placed on them is
+                # that each value&#x27;s size must be less than or equal to 32 KB.
+                #
+                # The total size of all keys and values must be less than 512 KB.
+              &quot;a_key&quot;: &quot;A String&quot;,
+            },
+            &quot;machineType&quot;: &quot;A String&quot;, # The name of a Google Compute Engine [machine
+                # type](https://cloud.google.com/compute/docs/machine-types) (e.g.
+                # `n1-standard-1`).
+                #
+                # If unspecified, the default machine type is
+                # `n1-standard-1`.
+            &quot;nodeGroup&quot;: &quot;A String&quot;, # Setting this field will assign instances of this
+                # pool to run on the specified node group. This is useful for running
+                # workloads on [sole tenant
+                # nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes).
+            &quot;shieldedInstanceConfig&quot;: { # A set of Shielded Instance options. # Shielded Instance options.
+              &quot;enableSecureBoot&quot;: True or False, # Defines whether the instance has Secure Boot enabled.
+                  #
+                  # Secure Boot helps ensure that the system only runs authentic software by
+                  # verifying the digital signature of all boot components, and halting the
+                  # boot process if signature verification fails.
+              &quot;enableIntegrityMonitoring&quot;: True or False, # Defines whether the instance has integrity monitoring enabled.
+                  #
+                  # Enables monitoring and attestation of the boot integrity of the instance.
+                  # The attestation is performed against the integrity policy baseline. This
+                  # baseline is initially derived from the implicitly trusted boot image when
+                  # the instance is created.
+            },
+            &quot;serviceAccount&quot;: &quot;A String&quot;, # The Google Cloud Platform Service Account to be used by the node VMs.
+                # Specify the email address of the Service Account; otherwise, if no Service
+                # Account is specified, the &quot;default&quot; service account is used.
+            &quot;linuxNodeConfig&quot;: { # Parameters that can be configured on Linux nodes. # Parameters that can be configured on Linux nodes.
+              &quot;sysctls&quot;: { # The Linux kernel parameters to be applied to the nodes and all pods running
+                  # on the nodes.
+                  #
+                  # The following parameters are supported.
+                  #
+                  # net.core.netdev_max_backlog
+                  # net.core.rmem_max
+                  # net.core.wmem_default
+                  # net.core.wmem_max
+                  # net.core.optmem_max
+                  # net.core.somaxconn
+                  # net.ipv4.tcp_rmem
+                  # net.ipv4.tcp_wmem
+                  # net.ipv4.tcp_tw_reuse
+                &quot;a_key&quot;: &quot;A String&quot;,
+              },
+            },
+            &quot;sandboxConfig&quot;: { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node.
+              &quot;type&quot;: &quot;A String&quot;, # Type of the sandbox to use for the node.
+              &quot;sandboxType&quot;: &quot;A String&quot;, # Type of the sandbox to use for the node (e.g. &#x27;gvisor&#x27;)
+            },
+            &quot;taints&quot;: [ # List of kubernetes taints to be applied to each node.
+                #
+                # For more information, including usage and the valid values, see:
+                # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
+              { # Kubernetes taint is comprised of three fields: key, value, and effect. Effect
+                  # can only be one of three types:  NoSchedule, PreferNoSchedule or NoExecute.
+                  #
+                  # See
+                  # [here](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration)
+                  # for more information, including usage and the valid values.
+                &quot;effect&quot;: &quot;A String&quot;, # Effect for taint.
+                &quot;key&quot;: &quot;A String&quot;, # Key for taint.
+                &quot;value&quot;: &quot;A String&quot;, # Value for taint.
+              },
+            ],
+            &quot;kubeletConfig&quot;: { # Node kubelet configs. # Node kubelet configs.
+              &quot;cpuCfsQuotaPeriod&quot;: &quot;A String&quot;, # Set the CPU CFS quota period value &#x27;cpu.cfs_period_us&#x27;.
+                  #
+                  # The string must be a sequence of decimal numbers, each with optional
+                  # fraction and a unit suffix, such as &quot;300ms&quot;.
+                  # Valid time units are &quot;ns&quot;, &quot;us&quot; (or &quot;µs&quot;), &quot;ms&quot;, &quot;s&quot;, &quot;m&quot;, &quot;h&quot;.
+                  # The value must be a positive duration.
+              &quot;cpuCfsQuota&quot;: True or False, # Enable CPU CFS quota enforcement for containers that specify CPU limits.
+                  #
+                  # If this option is enabled, kubelet uses CFS quota
+                  # (https://www.kernel.org/doc/Documentation/scheduler/sched-bwc.txt) to
+                  # enforce container CPU limits. Otherwise, CPU limits will not be enforced at
+                  # all.
+                  #
+                  # Disable this option to mitigate CPU throttling problems while still having
+                  # your pods to be in Guaranteed QoS class by specifying the CPU limits.
+                  #
+                  # The default value is &#x27;true&#x27; if unspecified.
+              &quot;cpuManagerPolicy&quot;: &quot;A String&quot;, # Control the CPU management policy on the node.
+                  # See
+                  # https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/
+                  #
+                  # The following values are allowed.
+                  #   - &quot;none&quot;: the default, which represents the existing scheduling behavior.
+                  #   - &quot;static&quot;: allows pods with certain resource characteristics to be
+                  #               granted increased CPU affinity and exclusivity on the node.
+            },
+            &quot;labels&quot;: { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
+                # These will added in addition to any default label(s) that
+                # Kubernetes may apply to the node.
+                # In case of conflict in label keys, the applied set may differ depending on
+                # the Kubernetes version -- it&#x27;s best to assume the behavior is undefined
+                # and conflicts should be avoided.
+                # For more information, including usage and the valid values, see:
+                # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
+              &quot;a_key&quot;: &quot;A String&quot;,
+            },
+            &quot;diskType&quot;: &quot;A String&quot;, # Type of the disk attached to each node (e.g. &#x27;pd-standard&#x27; or &#x27;pd-ssd&#x27;)
+                #
+                # If unspecified, the default disk type is &#x27;pd-standard&#x27;
+            &quot;workloadMetadataConfig&quot;: { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node.
+                # workloads on the node pool.
+              &quot;nodeMetadata&quot;: &quot;A String&quot;, # NodeMetadata is the configuration for how to expose metadata to the
+                  # workloads running on the node.
+              &quot;mode&quot;: &quot;A String&quot;, # Mode is the configuration for how to expose metadata to workloads running
+                  # on the node pool.
+            },
+            &quot;bootDiskKmsKey&quot;: &quot;A String&quot;, #
+                # The Customer Managed Encryption Key used to encrypt the boot disk attached
+                # to each node in the node pool. This should be of the form
+                # projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME].
+                # For more information about protecting resources with Cloud KMS Keys please
+                # see:
+                # https://cloud.google.com/compute/docs/disks/customer-managed-encryption
+            &quot;diskSizeGb&quot;: 42, # Size of the disk attached to each node, specified in GB.
+                # The smallest allowed disk size is 10GB.
+                #
+                # If unspecified, the default disk size is 100GB.
+            &quot;reservationAffinity&quot;: { # [ReservationAffinity](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources) # The optional reservation affinity. Setting this field will apply
+                # the specified [Zonal Compute
+                # Reservation](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources)
+                # to this node pool.
+                # is the configuration of desired reservation which instances could take
+                # capacity from.
+              &quot;consumeReservationType&quot;: &quot;A String&quot;, # Corresponds to the type of reservation consumption.
+              &quot;key&quot;: &quot;A String&quot;, # Corresponds to the label key of a reservation resource. To target a
+                  # SPECIFIC_RESERVATION by name, specify &quot;googleapis.com/reservation-name&quot; as
+                  # the key and specify the name of your reservation as its value.
+              &quot;values&quot;: [ # Corresponds to the label value(s) of reservation resource(s).
+                &quot;A String&quot;,
+              ],
+            },
+            &quot;preemptible&quot;: True or False, # Whether the nodes are created as preemptible VM instances. See:
+                # https://cloud.google.com/compute/docs/instances/preemptible for more
+                # inforamtion about preemptible VM instances.
+            &quot;minCpuPlatform&quot;: &quot;A String&quot;, # Minimum CPU platform to be used by this instance. The instance may be
+                # scheduled on the specified or newer CPU platform. Applicable values are the
+                # friendly names of CPU platforms, such as
+                # &lt;code&gt;minCpuPlatform: &amp;quot;Intel Haswell&amp;quot;&lt;/code&gt; or
+                # &lt;code&gt;minCpuPlatform: &amp;quot;Intel Sandy Bridge&amp;quot;&lt;/code&gt;. For more
+                # information, read [how to specify min CPU
+                # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
+            &quot;tags&quot;: [ # The list of instance tags applied to all nodes. Tags are used to identify
+                # valid sources or targets for network firewalls and are specified by
+                # the client during cluster or node pool creation. Each tag within the list
+                # must comply with RFC1035.
+              &quot;A String&quot;,
+            ],
+            &quot;accelerators&quot;: [ # A list of hardware accelerators to be attached to each node.
+                # See https://cloud.google.com/compute/docs/gpus for more information about
+                # support for GPUs.
+              { # AcceleratorConfig represents a Hardware Accelerator request.
+                &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
+                &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators
+                    # [here](https://cloud.google.com/compute/docs/gpus)
+              },
+            ],
+            &quot;localSsdCount&quot;: 42, # The number of local SSD disks to be attached to the node.
+                #
+                # The limit for this value is dependent upon the maximum number of
+                # disks available on a machine per zone. See:
+                # https://cloud.google.com/compute/docs/disks/local-ssd
+                # for more information.
+            &quot;imageType&quot;: &quot;A String&quot;, # The image type to use for this node. Note that for a given image type,
+                # the latest version of it will be used.
+          },
+          &quot;selfLink&quot;: &quot;A String&quot;, # [Output only] Server-defined URL for the resource.
+          &quot;management&quot;: { # NodeManagement defines the set of node management services turned on for the # NodeManagement configuration for this NodePool.
+              # node pool.
+            &quot;autoRepair&quot;: True or False, # Whether the nodes will be automatically repaired.
+            &quot;autoUpgrade&quot;: True or False, # Whether the nodes will be automatically upgraded.
+            &quot;upgradeOptions&quot;: { # AutoUpgradeOptions defines the set of options for the user to control how # Specifies the Auto Upgrade knobs for the node pool.
+                # the Auto Upgrades will proceed.
+              &quot;description&quot;: &quot;A String&quot;, # [Output only] This field is set when upgrades are about to commence
+                  # with the description of the upgrade.
+              &quot;autoUpgradeStartTime&quot;: &quot;A String&quot;, # [Output only] This field is set when upgrades are about to commence
+                  # with the approximate start time for the upgrades, in
+                  # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+            },
+          },
+          &quot;name&quot;: &quot;A String&quot;, # The name of the node pool.
+          &quot;version&quot;: &quot;A String&quot;, # The version of the Kubernetes of this node.
+          &quot;maxPodsConstraint&quot;: { # Constraints applied to pods. # The constraint on the maximum number of pods that can be run
+              # simultaneously on a node in the node pool.
+            &quot;maxPodsPerNode&quot;: &quot;A String&quot;, # Constraint enforced on the max num of pods per node.
+          },
+          &quot;statusMessage&quot;: &quot;A String&quot;, # [Output only] Additional information about the current status of this
+              # node pool instance, if available.
+          &quot;podIpv4CidrSize&quot;: 42, # [Output only] The pod CIDR block size per node in this node pool.
+          &quot;conditions&quot;: [ # Which conditions caused the current node pool state.
+            { # StatusCondition describes why a cluster or a node pool has a certain status
+                # (e.g., ERROR or DEGRADED).
+              &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
+              &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+            },
+          ],
+          &quot;locations&quot;: [ # The list of Google Compute Engine
+              # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
+              # NodePool&#x27;s nodes should be located.
+            &quot;A String&quot;,
+          ],
+        },
+      ],
+      &quot;statusMessage&quot;: &quot;A String&quot;, # [Output only] Additional information about the current status of this
+          # cluster, if available.
+      &quot;releaseChannel&quot;: { # ReleaseChannel indicates which release channel a cluster is # Release channel configuration.
+          # subscribed to. Release channels are arranged in order of risk.
+          #
+          # When a cluster is subscribed to a release channel, Google maintains
+          # both the master version and the node version. Node auto-upgrade
+          # defaults to true and cannot be disabled.
+        &quot;channel&quot;: &quot;A String&quot;, # channel specifies which release channel the cluster is subscribed to.
+      },
+      &quot;selfLink&quot;: &quot;A String&quot;, # [Output only] Server-defined URL for the resource.
+      &quot;defaultMaxPodsConstraint&quot;: { # Constraints applied to pods. # The default constraint on the maximum number of pods that can be run
+          # simultaneously on a node in the node pool of this cluster. Only honored
+          # if cluster created with IP Alias support.
+        &quot;maxPodsPerNode&quot;: &quot;A String&quot;, # Constraint enforced on the max num of pods per node.
+      },
+      &quot;clusterTelemetry&quot;: { # Telemetry integration for the cluster. # Telemetry integration for the cluster.
+        &quot;type&quot;: &quot;A String&quot;, # Type of the integration.
+      },
+      &quot;status&quot;: &quot;A String&quot;, # [Output only] The current status of this cluster.
+      &quot;resourceLabels&quot;: { # The resource labels for the cluster to use to annotate any related
+          # Google Compute Engine resources.
+        &quot;a_key&quot;: &quot;A String&quot;,
+      },
+      &quot;tpuIpv4CidrBlock&quot;: &quot;A String&quot;, # [Output only] The IP address range of the Cloud TPUs in this cluster, in
+          # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+          # notation (e.g. `1.2.3.4/29`).
       &quot;initialNodeCount&quot;: 42, # The number of nodes to create in this cluster. You must ensure that your
-          # Compute Engine &lt;a href=&quot;/compute/docs/resource-quotas&quot;&gt;resource quota&lt;/a&gt;
+          # Compute Engine [resource quota](https://cloud.google.com/compute/quotas)
           # is sufficient for this number of instances. You must also have available
           # firewall and routes quota.
           # For requests, this field should only be used in lieu of a
@@ -1468,17 +1562,37 @@
           # auto-generated name. Do not use this and a node_pool at the same time.
           #
           # This field is deprecated, use node_pool.initial_node_count instead.
-      &quot;instanceGroupUrls&quot;: [ # Deprecated. Use node_pools.instance_group_urls.
-        &quot;A String&quot;,
-      ],
+      &quot;podSecurityPolicyConfig&quot;: { # Configuration for the PodSecurityPolicy feature. # Configuration for the PodSecurityPolicy feature.
+        &quot;enabled&quot;: True or False, # Enable the PodSecurityPolicy controller for this cluster. If enabled, pods
+            # must be valid under a PodSecurityPolicy to be created.
+      },
+      &quot;description&quot;: &quot;A String&quot;, # An optional description of this cluster.
+      &quot;databaseEncryption&quot;: { # Configuration of etcd encryption. # Configuration of etcd encryption.
+        &quot;state&quot;: &quot;A String&quot;, # Denotes the state of etcd encryption.
+        &quot;keyName&quot;: &quot;A String&quot;, # Name of CloudKMS key to use for the encryption of secrets in etcd.
+            # Ex. projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-key
+      },
+      &quot;network&quot;: &quot;A String&quot;, # The name of the Google Compute Engine
+          # [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks)
+          # to which the cluster is connected. If left unspecified, the `default`
+          # network will be used. On output this shows the network ID instead of the
+          # name.
+      &quot;zone&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
+          # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
+          # cluster resides. This field is deprecated, use location instead.
+      &quot;verticalPodAutoscaling&quot;: { # VerticalPodAutoscaling contains global, per-cluster information # Cluster-level Vertical Pod Autoscaling configuration.
+          # required by Vertical Pod Autoscaler to automatically adjust
+          # the resources of pods controlled by it.
+        &quot;enabled&quot;: True or False, # Enables vertical pod autoscaling.
+      },
+      &quot;expireTime&quot;: &quot;A String&quot;, # [Output only] The time the cluster will be automatically
+          # deleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+      &quot;nodeIpv4CidrSize&quot;: 42, # [Output only] The size of the address space on each node for hosting
+          # containers. This is provisioned from within the `container_ipv4_cidr`
+          # range. This field will only be set when cluster is in route-based network
+          # mode.
+      &quot;labelFingerprint&quot;: &quot;A String&quot;, # The fingerprint of the set of labels for this cluster.
     },
-    &quot;projectId&quot;: &quot;A String&quot;, # Required. Deprecated. The Google Developers Console [project ID or project
-        # number](https://support.google.com/cloud/answer/6158840).
-        # This field has been deprecated and replaced by the parent field.
-    &quot;zone&quot;: &quot;A String&quot;, # Required. Deprecated. The name of the Google Compute Engine
-        # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
-        # cluster resides. This field has been deprecated and replaced by the parent
-        # field.
   }
 
   x__xgafv: string, V1 error format.
@@ -1492,34 +1606,15 @@
     { # This operation resource represents operations that may have happened or are
       # happening on the cluster. All fields are output only.
     &quot;targetLink&quot;: &quot;A String&quot;, # Server-defined URL for the target of the operation.
-    &quot;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
     &quot;operationType&quot;: &quot;A String&quot;, # The operation type.
-    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
-    &quot;name&quot;: &quot;A String&quot;, # The server-assigned ID for the operation.
-    &quot;nodepoolConditions&quot;: [ # Which conditions caused the current node pool state.
-      { # StatusCondition describes why a cluster or a node pool has a certain status
-          # (e.g., ERROR or DEGRADED).
-        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
-        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
-      },
-    ],
-    &quot;endTime&quot;: &quot;A String&quot;, # [Output only] The time the operation completed, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-    &quot;location&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
-        # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
-        # or
-        # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
-        # in which the cluster resides.
-    &quot;startTime&quot;: &quot;A String&quot;, # [Output only] The time the operation started, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-    &quot;clusterConditions&quot;: [ # Which conditions caused the current cluster state.
-      { # StatusCondition describes why a cluster or a node pool has a certain status
-          # (e.g., ERROR or DEGRADED).
-        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
-        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
-      },
-    ],
     &quot;progress&quot;: { # Information about operation (or operation stage) progress. # Output only. [Output only] Progress information for an operation.
+      &quot;stages&quot;: [ # Substages of an operation or a stage.
+        # Object with schema name: OperationProgress
+      ],
+      &quot;name&quot;: &quot;A String&quot;, # A non-parameterized string describing an operation stage.
+          # Unset for single-stage operations.
+      &quot;status&quot;: &quot;A String&quot;, # Status of an operation stage.
+          # Unset for single-stage operations.
       &quot;metrics&quot;: [ # Progress metric bundle, for example:
           #   metrics: [{name: &quot;nodes done&quot;,     int_value: 15},
           #             {name: &quot;nodes total&quot;,    int_value: 32}]
@@ -1527,25 +1622,44 @@
           #   metrics: [{name: &quot;progress&quot;,       double_value: 0.56},
           #             {name: &quot;progress scale&quot;, double_value: 1.0}]
         { # Progress metric is (string, int|float|string) pair.
-          &quot;name&quot;: &quot;A String&quot;, # Required. Metric name, e.g., &quot;nodes total&quot;, &quot;percent done&quot;.
           &quot;doubleValue&quot;: 3.14, # For metrics with floating point value.
-          &quot;intValue&quot;: &quot;A String&quot;, # For metrics with integer value.
           &quot;stringValue&quot;: &quot;A String&quot;, # For metrics with custom values (ratios, visual progress, etc.).
+          &quot;name&quot;: &quot;A String&quot;, # Required. Metric name, e.g., &quot;nodes total&quot;, &quot;percent done&quot;.
+          &quot;intValue&quot;: &quot;A String&quot;, # For metrics with integer value.
         },
       ],
-      &quot;status&quot;: &quot;A String&quot;, # Status of an operation stage.
-          # Unset for single-stage operations.
-      &quot;name&quot;: &quot;A String&quot;, # A non-parameterized string describing an operation stage.
-          # Unset for single-stage operations.
-      &quot;stages&quot;: [ # Substages of an operation or a stage.
-        # Object with schema name: OperationProgress
-      ],
     },
+    &quot;selfLink&quot;: &quot;A String&quot;, # Server-defined URL for the resource.
+    &quot;location&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
+        # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
+        # or
+        # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
+        # in which the cluster resides.
     &quot;zone&quot;: &quot;A String&quot;, # The name of the Google Compute Engine
         # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
         # operation is taking place. This field is deprecated, use location instead.
+    &quot;endTime&quot;: &quot;A String&quot;, # [Output only] The time the operation completed, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
     &quot;statusMessage&quot;: &quot;A String&quot;, # Output only. If an error has occurred, a textual description of the error.
-    &quot;selfLink&quot;: &quot;A String&quot;, # Server-defined URL for the resource.
+    &quot;name&quot;: &quot;A String&quot;, # The server-assigned ID for the operation.
+    &quot;clusterConditions&quot;: [ # Which conditions caused the current cluster state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
+        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+      },
+    ],
+    &quot;startTime&quot;: &quot;A String&quot;, # [Output only] The time the operation started, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    &quot;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
+    &quot;nodepoolConditions&quot;: [ # Which conditions caused the current node pool state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
+        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+      },
+    ],
+    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
   }</pre>
 </div>
 
@@ -1584,34 +1698,15 @@
     { # This operation resource represents operations that may have happened or are
       # happening on the cluster. All fields are output only.
     &quot;targetLink&quot;: &quot;A String&quot;, # Server-defined URL for the target of the operation.
-    &quot;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
     &quot;operationType&quot;: &quot;A String&quot;, # The operation type.
-    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
-    &quot;name&quot;: &quot;A String&quot;, # The server-assigned ID for the operation.
-    &quot;nodepoolConditions&quot;: [ # Which conditions caused the current node pool state.
-      { # StatusCondition describes why a cluster or a node pool has a certain status
-          # (e.g., ERROR or DEGRADED).
-        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
-        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
-      },
-    ],
-    &quot;endTime&quot;: &quot;A String&quot;, # [Output only] The time the operation completed, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-    &quot;location&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
-        # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
-        # or
-        # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
-        # in which the cluster resides.
-    &quot;startTime&quot;: &quot;A String&quot;, # [Output only] The time the operation started, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-    &quot;clusterConditions&quot;: [ # Which conditions caused the current cluster state.
-      { # StatusCondition describes why a cluster or a node pool has a certain status
-          # (e.g., ERROR or DEGRADED).
-        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
-        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
-      },
-    ],
     &quot;progress&quot;: { # Information about operation (or operation stage) progress. # Output only. [Output only] Progress information for an operation.
+      &quot;stages&quot;: [ # Substages of an operation or a stage.
+        # Object with schema name: OperationProgress
+      ],
+      &quot;name&quot;: &quot;A String&quot;, # A non-parameterized string describing an operation stage.
+          # Unset for single-stage operations.
+      &quot;status&quot;: &quot;A String&quot;, # Status of an operation stage.
+          # Unset for single-stage operations.
       &quot;metrics&quot;: [ # Progress metric bundle, for example:
           #   metrics: [{name: &quot;nodes done&quot;,     int_value: 15},
           #             {name: &quot;nodes total&quot;,    int_value: 32}]
@@ -1619,25 +1714,44 @@
           #   metrics: [{name: &quot;progress&quot;,       double_value: 0.56},
           #             {name: &quot;progress scale&quot;, double_value: 1.0}]
         { # Progress metric is (string, int|float|string) pair.
-          &quot;name&quot;: &quot;A String&quot;, # Required. Metric name, e.g., &quot;nodes total&quot;, &quot;percent done&quot;.
           &quot;doubleValue&quot;: 3.14, # For metrics with floating point value.
-          &quot;intValue&quot;: &quot;A String&quot;, # For metrics with integer value.
           &quot;stringValue&quot;: &quot;A String&quot;, # For metrics with custom values (ratios, visual progress, etc.).
+          &quot;name&quot;: &quot;A String&quot;, # Required. Metric name, e.g., &quot;nodes total&quot;, &quot;percent done&quot;.
+          &quot;intValue&quot;: &quot;A String&quot;, # For metrics with integer value.
         },
       ],
-      &quot;status&quot;: &quot;A String&quot;, # Status of an operation stage.
-          # Unset for single-stage operations.
-      &quot;name&quot;: &quot;A String&quot;, # A non-parameterized string describing an operation stage.
-          # Unset for single-stage operations.
-      &quot;stages&quot;: [ # Substages of an operation or a stage.
-        # Object with schema name: OperationProgress
-      ],
     },
+    &quot;selfLink&quot;: &quot;A String&quot;, # Server-defined URL for the resource.
+    &quot;location&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
+        # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
+        # or
+        # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
+        # in which the cluster resides.
     &quot;zone&quot;: &quot;A String&quot;, # The name of the Google Compute Engine
         # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
         # operation is taking place. This field is deprecated, use location instead.
+    &quot;endTime&quot;: &quot;A String&quot;, # [Output only] The time the operation completed, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
     &quot;statusMessage&quot;: &quot;A String&quot;, # Output only. If an error has occurred, a textual description of the error.
-    &quot;selfLink&quot;: &quot;A String&quot;, # Server-defined URL for the resource.
+    &quot;name&quot;: &quot;A String&quot;, # The server-assigned ID for the operation.
+    &quot;clusterConditions&quot;: [ # Which conditions caused the current cluster state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
+        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+      },
+    ],
+    &quot;startTime&quot;: &quot;A String&quot;, # [Output only] The time the operation started, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    &quot;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
+    &quot;nodepoolConditions&quot;: [ # Which conditions caused the current node pool state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
+        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+      },
+    ],
+    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
   }</pre>
 </div>
 
@@ -1666,135 +1780,18 @@
   An object of the form:
 
     { # A Google Kubernetes Engine cluster.
-    &quot;privateClusterConfig&quot;: { # Configuration options for private clusters. # Configuration for private cluster.
-      &quot;masterIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP range in CIDR notation to use for the hosted master network. This
-          # range will be used for assigning internal IP addresses to the master or
-          # set of masters, as well as the ILB VIP. This range must not overlap with
-          # any other ranges in use within the cluster&#x27;s network.
-      &quot;enablePrivateNodes&quot;: True or False, # Whether nodes have internal IP addresses only. If enabled, all nodes are
-          # given only RFC 1918 private addresses and communicate with the master via
-          # private networking.
-      &quot;privateEndpoint&quot;: &quot;A String&quot;, # Output only. The internal IP address of this cluster&#x27;s master endpoint.
-      &quot;enablePrivateEndpoint&quot;: True or False, # Whether the master&#x27;s internal IP address is used as the cluster endpoint.
-      &quot;peeringName&quot;: &quot;A String&quot;, # Output only. The peering name in the customer VPC used by this cluster.
-      &quot;masterGlobalAccessConfig&quot;: { # Configuration for controlling master global access settings. # Controls master global access settings.
-        &quot;enabled&quot;: True or False, # Whenever master is accessible globally or not.
-      },
-      &quot;publicEndpoint&quot;: &quot;A String&quot;, # Output only. The external IP address of this cluster&#x27;s master endpoint.
-    },
-    &quot;shieldedNodes&quot;: { # Configuration of Shielded Nodes feature. # Shielded Nodes configuration.
-      &quot;enabled&quot;: True or False, # Whether Shielded Nodes features are enabled on all nodes in this cluster.
-    },
-    &quot;verticalPodAutoscaling&quot;: { # VerticalPodAutoscaling contains global, per-cluster information # Cluster-level Vertical Pod Autoscaling configuration.
-        # required by Vertical Pod Autoscaler to automatically adjust
-        # the resources of pods controlled by it.
-      &quot;enabled&quot;: True or False, # Enables vertical pod autoscaling.
-    },
-    &quot;defaultMaxPodsConstraint&quot;: { # Constraints applied to pods. # The default constraint on the maximum number of pods that can be run
-        # simultaneously on a node in the node pool of this cluster. Only honored
-        # if cluster created with IP Alias support.
-      &quot;maxPodsPerNode&quot;: &quot;A String&quot;, # Constraint enforced on the max num of pods per node.
-    },
-    &quot;network&quot;: &quot;A String&quot;, # The name of the Google Compute Engine
-        # [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks)
-        # to which the cluster is connected. If left unspecified, the `default`
-        # network will be used. On output this shows the network ID instead of the
-        # name.
-    &quot;labelFingerprint&quot;: &quot;A String&quot;, # The fingerprint of the set of labels for this cluster.
-    &quot;nodeIpv4CidrSize&quot;: 42, # [Output only] The size of the address space on each node for hosting
-        # containers. This is provisioned from within the `container_ipv4_cidr`
-        # range. This field will only be set when cluster is in route-based network
-        # mode.
-    &quot;masterAuthorizedNetworksConfig&quot;: { # Configuration options for the master authorized networks feature. Enabled # The configuration options for master authorized networks feature.
-        # master authorized networks will disallow all external traffic to access
-        # Kubernetes master through HTTPS except traffic from the given CIDR blocks,
-        # Google Compute Engine Public IPs and Google Prod IPs.
-      &quot;enabled&quot;: True or False, # Whether or not master authorized networks is enabled.
-      &quot;cidrBlocks&quot;: [ # cidr_blocks define up to 10 external networks that could access
-          # Kubernetes master through HTTPS.
-        { # CidrBlock contains an optional name and one CIDR block.
-          &quot;cidrBlock&quot;: &quot;A String&quot;, # cidr_block must be specified in CIDR notation.
-          &quot;displayName&quot;: &quot;A String&quot;, # display_name is an optional field for users to identify CIDR blocks.
-        },
-      ],
-    },
-    &quot;statusMessage&quot;: &quot;A String&quot;, # [Output only] Additional information about the current status of this
-        # cluster, if available.
-    &quot;masterAuth&quot;: { # The authentication information for accessing the master endpoint. # The authentication information for accessing the master endpoint.
-        # If unspecified, the defaults are used:
-        # For clusters before v1.12, if master_auth is unspecified, `username` will
-        # be set to &quot;admin&quot;, a random password will be generated, and a client
-        # certificate will be issued.
-        # Authentication can be done using HTTP basic auth or using client
-        # certificates.
-      &quot;password&quot;: &quot;A String&quot;, # The password to use for HTTP basic authentication to the master endpoint.
-          # Because the master endpoint is open to the Internet, you should create a
-          # strong password.  If a password is provided for cluster creation, username
-          # must be non-empty.
-      &quot;clientCertificateConfig&quot;: { # Configuration for client certificates on the cluster. # Configuration for client certificate authentication on the cluster. For
-          # clusters before v1.12, if no configuration is specified, a client
-          # certificate is issued.
-        &quot;issueClientCertificate&quot;: True or False, # Issue a client certificate.
-      },
-      &quot;clientKey&quot;: &quot;A String&quot;, # [Output only] Base64-encoded private key used by clients to authenticate
-          # to the cluster endpoint.
-      &quot;clusterCaCertificate&quot;: &quot;A String&quot;,
-      &quot;clientCertificate&quot;: &quot;A String&quot;, # [Output only] Base64-encoded public certificate used by clients to
-          # authenticate to the cluster endpoint.
-      &quot;username&quot;: &quot;A String&quot;, # The username to use for HTTP basic authentication to the master endpoint.
-          # For clusters v1.6.0 and later, basic authentication can be disabled by
-          # leaving username unspecified (or setting it to the empty string).
-    },
-    &quot;authenticatorGroupsConfig&quot;: { # Configuration for returning group information from authenticators. # Configuration controlling RBAC group membership information.
-      &quot;securityGroup&quot;: &quot;A String&quot;, # The name of the security group-of-groups to be used. Only relevant
-          # if enabled = true.
-      &quot;enabled&quot;: True or False, # Whether this cluster should return group membership lookups
-          # during authentication using a group of security groups.
-    },
-    &quot;masterIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP prefix in CIDR notation to use for the hosted master network.
-        # This prefix will be used for assigning private IP addresses to the
-        # master or set of masters, as well as the ILB VIP.
-        # This field is deprecated, use
-        # private_cluster_config.master_ipv4_cidr_block instead.
-    &quot;clusterTelemetry&quot;: { # Telemetry integration for the cluster. # Telemetry integration for the cluster.
-      &quot;type&quot;: &quot;A String&quot;, # Type of the integration.
-    },
-    &quot;currentMasterVersion&quot;: &quot;A String&quot;, # [Output only] The current software version of the master endpoint.
-    &quot;podSecurityPolicyConfig&quot;: { # Configuration for the PodSecurityPolicy feature. # Configuration for the PodSecurityPolicy feature.
-      &quot;enabled&quot;: True or False, # Enable the PodSecurityPolicy controller for this cluster. If enabled, pods
-          # must be valid under a PodSecurityPolicy to be created.
-    },
     &quot;addonsConfig&quot;: { # Configuration for the addons that can be automatically spun up in the # Configurations for the various addons available to run in the cluster.
         # cluster, enabling additional functionality.
-      &quot;httpLoadBalancing&quot;: { # Configuration options for the HTTP (L7) load balancing controller addon, # Configuration for the HTTP (L7) load balancing controller addon, which
-          # makes it easy to set up HTTP load balancers for services in a cluster.
-          # which makes it easy to set up HTTP load balancers for services in a cluster.
-        &quot;disabled&quot;: True or False, # Whether the HTTP Load Balancing controller is enabled in the cluster.
-            # When enabled, it runs a small pod in the cluster that manages the load
-            # balancers.
-      },
-      &quot;kubernetesDashboard&quot;: { # Configuration for the Kubernetes Dashboard. # Configuration for the Kubernetes Dashboard.
-          # This addon is deprecated, and will be disabled in 1.15. It is recommended
-          # to use the Cloud Console to manage and monitor your Kubernetes clusters,
-          # workloads and applications. For more information, see:
-          # https://cloud.google.com/kubernetes-engine/docs/concepts/dashboards
-        &quot;disabled&quot;: True or False, # Whether the Kubernetes Dashboard is enabled for this cluster.
-      },
-      &quot;dnsCacheConfig&quot;: { # Configuration for NodeLocal DNSCache # Configuration for NodeLocalDNS, a dns cache running on cluster nodes
-        &quot;enabled&quot;: True or False, # Whether NodeLocal DNSCache is enabled for this cluster.
-      },
-      &quot;kalmConfig&quot;: { # Configuration options for the KALM addon. # Configuration for the KALM addon, which manages the lifecycle of k8s
-          # applications.
-        &quot;enabled&quot;: True or False, # Whether KALM is enabled for this cluster.
+      &quot;configConnectorConfig&quot;: { # Configuration options for the Config Connector add-on. # Configuration for the ConfigConnector add-on, a Kubernetes
+          # extension to manage hosted GCP services through the Kubernetes API
+        &quot;enabled&quot;: True or False, # Whether Cloud Connector is enabled for this cluster.
       },
       &quot;gcePersistentDiskCsiDriverConfig&quot;: { # Configuration for the Compute Engine PD CSI driver. This option can only be # Configuration for the Compute Engine Persistent Disk CSI driver.
           # enabled at cluster creation time.
         &quot;enabled&quot;: True or False, # Whether the Compute Engine PD CSI driver is enabled for this cluster.
       },
-      &quot;istioConfig&quot;: { # Configuration options for Istio addon. # Configuration for Istio, an open platform to connect, manage, and secure
-          # microservices.
-        &quot;auth&quot;: &quot;A String&quot;, # The specified Istio auth mode, either none, or mutual TLS.
-        &quot;disabled&quot;: True or False, # Whether Istio is enabled for this cluster.
+      &quot;dnsCacheConfig&quot;: { # Configuration for NodeLocal DNSCache # Configuration for NodeLocalDNS, a dns cache running on cluster nodes
+        &quot;enabled&quot;: True or False, # Whether NodeLocal DNSCache is enabled for this cluster.
       },
       &quot;networkPolicyConfig&quot;: { # Configuration for NetworkPolicy. This only tracks whether the addon # Configuration for NetworkPolicy. This only tracks whether the addon
           # is enabled or not on the Master, it does not track whether network policy
@@ -1803,14 +1800,24 @@
           # is enabled for the nodes.
         &quot;disabled&quot;: True or False, # Whether NetworkPolicy is enabled for this cluster.
       },
-      &quot;cloudRunConfig&quot;: { # Configuration options for the Cloud Run feature. # Configuration for the Cloud Run addon. The `IstioConfig` addon must be
-          # enabled in order to enable Cloud Run addon. This option can only be enabled
-          # at cluster creation time.
-        &quot;disabled&quot;: True or False, # Whether Cloud Run addon is enabled for this cluster.
+      &quot;kubernetesDashboard&quot;: { # Configuration for the Kubernetes Dashboard. # Configuration for the Kubernetes Dashboard.
+          # This addon is deprecated, and will be disabled in 1.15. It is recommended
+          # to use the Cloud Console to manage and monitor your Kubernetes clusters,
+          # workloads and applications. For more information, see:
+          # https://cloud.google.com/kubernetes-engine/docs/concepts/dashboards
+        &quot;disabled&quot;: True or False, # Whether the Kubernetes Dashboard is enabled for this cluster.
       },
-      &quot;configConnectorConfig&quot;: { # Configuration options for the Config Connector add-on. # Configuration for the ConfigConnector add-on, a Kubernetes
-          # extension to manage hosted GCP services through the Kubernetes API
-        &quot;enabled&quot;: True or False, # Whether Cloud Connector is enabled for this cluster.
+      &quot;httpLoadBalancing&quot;: { # Configuration options for the HTTP (L7) load balancing controller addon, # Configuration for the HTTP (L7) load balancing controller addon, which
+          # makes it easy to set up HTTP load balancers for services in a cluster.
+          # which makes it easy to set up HTTP load balancers for services in a cluster.
+        &quot;disabled&quot;: True or False, # Whether the HTTP Load Balancing controller is enabled in the cluster.
+            # When enabled, it runs a small pod in the cluster that manages the load
+            # balancers.
+      },
+      &quot;istioConfig&quot;: { # Configuration options for Istio addon. # Configuration for Istio, an open platform to connect, manage, and secure
+          # microservices.
+        &quot;disabled&quot;: True or False, # Whether Istio is enabled for this cluster.
+        &quot;auth&quot;: &quot;A String&quot;, # The specified Istio auth mode, either none, or mutual TLS.
       },
       &quot;horizontalPodAutoscaling&quot;: { # Configuration options for the horizontal pod autoscaling feature, which # Configuration for the horizontal pod autoscaling feature, which
           # increases or decreases the number of replica pods a replication controller
@@ -1821,97 +1828,41 @@
             # When enabled, it ensures that metrics are collected into Stackdriver
             # Monitoring.
       },
+      &quot;cloudRunConfig&quot;: { # Configuration options for the Cloud Run feature. # Configuration for the Cloud Run addon. The `IstioConfig` addon must be
+          # enabled in order to enable Cloud Run addon. This option can only be enabled
+          # at cluster creation time.
+        &quot;disabled&quot;: True or False, # Whether Cloud Run addon is enabled for this cluster.
+      },
+      &quot;kalmConfig&quot;: { # Configuration options for the KALM addon. # Configuration for the KALM addon, which manages the lifecycle of k8s
+          # applications.
+        &quot;enabled&quot;: True or False, # Whether KALM is enabled for this cluster.
+      },
     },
-    &quot;subnetwork&quot;: &quot;A String&quot;, # The name of the Google Compute Engine
-        # [subnetwork](https://cloud.google.com/compute/docs/subnetworks) to which
-        # the cluster is connected. On output this shows the subnetwork ID instead of
-        # the name.
+    &quot;createTime&quot;: &quot;A String&quot;, # [Output only] The time the cluster was created, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    &quot;clusterIpv4Cidr&quot;: &quot;A String&quot;, # The IP address range of the container pods in this cluster, in
+        # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+        # notation (e.g. `10.96.0.0/14`). Leave blank to have
+        # one automatically chosen or specify a `/14` block in `10.0.0.0/8`.
+    &quot;legacyAbac&quot;: { # Configuration for the legacy Attribute Based Access Control authorization # Configuration for the legacy ABAC authorization mode.
+        # mode.
+      &quot;enabled&quot;: True or False, # Whether the ABAC authorizer is enabled for this cluster. When enabled,
+          # identities in the system, including service accounts, nodes, and
+          # controllers, will have statically granted permissions beyond those
+          # provided by the RBAC configuration or IAM.
+    },
+    &quot;binaryAuthorization&quot;: { # Configuration for Binary Authorization. # Configuration for Binary Authorization.
+      &quot;enabled&quot;: True or False, # Enable Binary Authorization for this cluster. If enabled, all container
+          # images will be validated by Google Binauthz.
+    },
     &quot;currentNodeVersion&quot;: &quot;A String&quot;, # [Output only] Deprecated, use
         # [NodePool.version](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters.nodePools)
         # instead. The current version of the node software components.
         # If they are currently at multiple versions because they&#x27;re in the process
         # of being upgraded, this reflects the minimum version of all nodes.
-    &quot;maintenancePolicy&quot;: { # MaintenancePolicy defines the maintenance policy to be used for the cluster. # Configure the maintenance policy for this cluster.
-      &quot;window&quot;: { # MaintenanceWindow defines the maintenance window to be used for the cluster. # Specifies the maintenance window in which maintenance may be performed.
-        &quot;maintenanceExclusions&quot;: { # Exceptions to maintenance window. Non-emergency maintenance should not
-            # occur in these windows.
-          &quot;a_key&quot;: { # Represents an arbitrary window of time.
-            &quot;startTime&quot;: &quot;A String&quot;, # The time that the window first starts.
-            &quot;endTime&quot;: &quot;A String&quot;, # The time that the window ends. The end time should take place after the
-                # start time.
-          },
-        },
-        &quot;recurringWindow&quot;: { # Represents an arbitrary window of time that recurs. # RecurringWindow specifies some number of recurring time periods for
-            # maintenance to occur. The time windows may be overlapping. If no
-            # maintenance windows are set, maintenance can occur at any time.
-          &quot;recurrence&quot;: &quot;A String&quot;, # An RRULE (https://tools.ietf.org/html/rfc5545#section-3.8.5.3) for how
-              # this window reccurs. They go on for the span of time between the start and
-              # end time.
-              #
-              # For example, to have something repeat every weekday, you&#x27;d use:
-              #   &lt;code&gt;FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR&lt;/code&gt;
-              # To repeat some window daily (equivalent to the DailyMaintenanceWindow):
-              #   &lt;code&gt;FREQ=DAILY&lt;/code&gt;
-              # For the first weekend of every month:
-              #   &lt;code&gt;FREQ=MONTHLY;BYSETPOS=1;BYDAY=SA,SU&lt;/code&gt;
-              # This specifies how frequently the window starts. Eg, if you wanted to have
-              # a 9-5 UTC-4 window every weekday, you&#x27;d use something like:
-              # &lt;code&gt;
-              #   start time = 2019-01-01T09:00:00-0400
-              #   end time = 2019-01-01T17:00:00-0400
-              #   recurrence = FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR
-              # &lt;/code&gt;
-              # Windows can span multiple days. Eg, to make the window encompass every
-              # weekend from midnight Saturday till the last minute of Sunday UTC:
-              # &lt;code&gt;
-              #   start time = 2019-01-05T00:00:00Z
-              #   end time = 2019-01-07T23:59:00Z
-              #   recurrence = FREQ=WEEKLY;BYDAY=SA
-              # &lt;/code&gt;
-              # Note the start and end time&#x27;s specific dates are largely arbitrary except
-              # to specify duration of the window and when it first starts.
-              # The FREQ values of HOURLY, MINUTELY, and SECONDLY are not supported.
-          &quot;window&quot;: { # Represents an arbitrary window of time. # The window of the first recurrence.
-            &quot;startTime&quot;: &quot;A String&quot;, # The time that the window first starts.
-            &quot;endTime&quot;: &quot;A String&quot;, # The time that the window ends. The end time should take place after the
-                # start time.
-          },
-        },
-        &quot;dailyMaintenanceWindow&quot;: { # Time window specified for daily maintenance operations. # DailyMaintenanceWindow specifies a daily maintenance operation window.
-          &quot;duration&quot;: &quot;A String&quot;, # [Output only] Duration of the time window, automatically chosen to be
-              # smallest possible in the given scenario.
-          &quot;startTime&quot;: &quot;A String&quot;, # Time within the maintenance window to start the maintenance operations.
-              # It must be in format &quot;HH:MM&quot;, where HH : [00-23] and MM : [00-59] GMT.
-        },
-      },
-      &quot;resourceVersion&quot;: &quot;A String&quot;, # A hash identifying the version of this policy, so that updates to fields of
-          # the policy won&#x27;t accidentally undo intermediate changes (and so that users
-          # of the API unaware of some fields won&#x27;t accidentally remove other fields).
-          # Make a &lt;code&gt;get()&lt;/code&gt; request to the cluster to get the current
-          # resource version and include it with requests to set the policy.
-    },
-    &quot;resourceLabels&quot;: { # The resource labels for the cluster to use to annotate any related
-        # Google Compute Engine resources.
-      &quot;a_key&quot;: &quot;A String&quot;,
-    },
-    &quot;initialClusterVersion&quot;: &quot;A String&quot;, # The initial Kubernetes version for this cluster.  Valid versions are those
-        # found in validMasterVersions returned by getServerConfig.  The version can
-        # be upgraded over time; such upgrades are reflected in
-        # currentMasterVersion and currentNodeVersion.
-        #
-        # Users may specify either explicit versions offered by
-        # Kubernetes Engine or version aliases, which have the following behavior:
-        #
-        # - &quot;latest&quot;: picks the highest valid Kubernetes version
-        # - &quot;1.X&quot;: picks the highest valid patch+gke.N patch in the 1.X version
-        # - &quot;1.X.Y&quot;: picks the highest valid gke.N patch in the 1.X.Y version
-        # - &quot;1.X.Y-gke.N&quot;: picks an explicit Kubernetes version
-        # - &quot;&quot;,&quot;-&quot;: picks the default Kubernetes version
+    &quot;currentNodeCount&quot;: 42, # [Output only]  The number of nodes currently in the cluster. Deprecated.
+        # Call Kubernetes API directly to retrieve node information.
     &quot;ipAllocationPolicy&quot;: { # Configuration for controlling how IPs are allocated in the cluster. # Configuration for cluster IP allocation.
-      &quot;useRoutes&quot;: True or False, # Whether routes will be used for pod IPs in the cluster.
-          # This is used in conjunction with use_ip_aliases. It cannot be true if
-          # use_ip_aliases is true. If both use_ip_aliases and use_routes are false,
-          # then the server picks the default IP allocation mode
       &quot;servicesIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP address range of the services IPs in this cluster. If blank, a range
           # will be automatically chosen with the default size.
           #
@@ -1927,55 +1878,7 @@
           # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
           # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
           # to use.
-      &quot;allowRouteOverlap&quot;: True or False, # If true, allow allocation of cluster CIDR ranges that overlap with certain
-          # kinds of network routes. By default we do not allow cluster CIDR ranges to
-          # intersect with any user declared routes. With allow_route_overlap == true,
-          # we allow overlapping with CIDR ranges that are larger than the cluster CIDR
-          # range.
-          #
-          # If this field is set to true, then cluster and services CIDRs must be
-          # fully-specified (e.g. `10.96.0.0/14`, but not `/14`), which means:
-          # 1) When `use_ip_aliases` is true, `cluster_ipv4_cidr_block` and
-          #    `services_ipv4_cidr_block` must be fully-specified.
-          # 2) When `use_ip_aliases` is false, `cluster.cluster_ipv4_cidr` muse be
-          #    fully-specified.
-      &quot;nodeIpv4Cidr&quot;: &quot;A String&quot;, # This field is deprecated, use node_ipv4_cidr_block.
-      &quot;clusterIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP address range for the cluster pod IPs. If this field is set, then
-          # `cluster.cluster_ipv4_cidr` must be left blank.
-          #
-          # This field is only applicable when `use_ip_aliases` is true.
-          #
-          # Set to blank to have a range chosen with the default size.
-          #
-          # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
-          # netmask.
-          #
-          # Set to a
-          # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
-          # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
-          # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
-          # to use.
-      &quot;clusterSecondaryRangeName&quot;: &quot;A String&quot;, # The name of the secondary range to be used for the cluster CIDR
-          # block.  The secondary range will be used for pod IP
-          # addresses. This must be an existing secondary range associated
-          # with the cluster subnetwork.
-          #
-          # This field is only applicable with use_ip_aliases and
-          # create_subnetwork is false.
-      &quot;nodeIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP address range of the instance IPs in this cluster.
-          #
-          # This is applicable only if `create_subnetwork` is true.
-          #
-          # Set to blank to have a range chosen with the default size.
-          #
-          # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
-          # netmask.
-          #
-          # Set to a
-          # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
-          # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
-          # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
-          # to use.
+      &quot;servicesIpv4Cidr&quot;: &quot;A String&quot;, # This field is deprecated, use services_ipv4_cidr_block.
       &quot;tpuIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP address range of the Cloud TPUs in this cluster. If unspecified, a
           # range will be automatically chosen with the default size.
           #
@@ -1992,6 +1895,21 @@
           # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
           # to use.
           # This field is deprecated, use cluster.tpu_config.ipv4_cidr_block instead.
+      &quot;useIpAliases&quot;: True or False, # Whether alias IPs will be used for pod IPs in the cluster.
+          # This is used in conjunction with use_routes. It cannot
+          # be true if use_routes is true. If both use_ip_aliases and use_routes are
+          # false, then the server picks the default IP allocation mode
+      &quot;nodeIpv4Cidr&quot;: &quot;A String&quot;, # This field is deprecated, use node_ipv4_cidr_block.
+      &quot;createSubnetwork&quot;: True or False, # Whether a new subnetwork will be created automatically for the cluster.
+          #
+          # This field is only applicable when `use_ip_aliases` is true.
+      &quot;clusterSecondaryRangeName&quot;: &quot;A String&quot;, # The name of the secondary range to be used for the cluster CIDR
+          # block.  The secondary range will be used for pod IP
+          # addresses. This must be an existing secondary range associated
+          # with the cluster subnetwork.
+          #
+          # This field is only applicable with use_ip_aliases and
+          # create_subnetwork is false.
       &quot;servicesSecondaryRangeName&quot;: &quot;A String&quot;, # The name of the secondary range to be used as for the services
           # CIDR block.  The secondary range will be used for service
           # ClusterIPs. This must be an existing secondary range associated
@@ -1999,354 +1917,86 @@
           #
           # This field is only applicable with use_ip_aliases and
           # create_subnetwork is false.
-      &quot;createSubnetwork&quot;: True or False, # Whether a new subnetwork will be created automatically for the cluster.
-          #
-          # This field is only applicable when `use_ip_aliases` is true.
-      &quot;useIpAliases&quot;: True or False, # Whether alias IPs will be used for pod IPs in the cluster.
-          # This is used in conjunction with use_routes. It cannot
-          # be true if use_routes is true. If both use_ip_aliases and use_routes are
-          # false, then the server picks the default IP allocation mode
+      &quot;useRoutes&quot;: True or False, # Whether routes will be used for pod IPs in the cluster.
+          # This is used in conjunction with use_ip_aliases. It cannot be true if
+          # use_ip_aliases is true. If both use_ip_aliases and use_routes are false,
+          # then the server picks the default IP allocation mode
       &quot;subnetworkName&quot;: &quot;A String&quot;, # A custom subnetwork name to be used if `create_subnetwork` is true.  If
           # this field is empty, then an automatic name will be chosen for the new
           # subnetwork.
+      &quot;allowRouteOverlap&quot;: True or False, # If true, allow allocation of cluster CIDR ranges that overlap with certain
+          # kinds of network routes. By default we do not allow cluster CIDR ranges to
+          # intersect with any user declared routes. With allow_route_overlap == true,
+          # we allow overlapping with CIDR ranges that are larger than the cluster CIDR
+          # range.
+          #
+          # If this field is set to true, then cluster and services CIDRs must be
+          # fully-specified (e.g. `10.96.0.0/14`, but not `/14`), which means:
+          # 1) When `use_ip_aliases` is true, `cluster_ipv4_cidr_block` and
+          #    `services_ipv4_cidr_block` must be fully-specified.
+          # 2) When `use_ip_aliases` is false, `cluster.cluster_ipv4_cidr` muse be
+          #    fully-specified.
       &quot;clusterIpv4Cidr&quot;: &quot;A String&quot;, # This field is deprecated, use cluster_ipv4_cidr_block.
-      &quot;servicesIpv4Cidr&quot;: &quot;A String&quot;, # This field is deprecated, use services_ipv4_cidr_block.
-    },
-    &quot;legacyAbac&quot;: { # Configuration for the legacy Attribute Based Access Control authorization # Configuration for the legacy ABAC authorization mode.
-        # mode.
-      &quot;enabled&quot;: True or False, # Whether the ABAC authorizer is enabled for this cluster. When enabled,
-          # identities in the system, including service accounts, nodes, and
-          # controllers, will have statically granted permissions beyond those
-          # provided by the RBAC configuration or IAM.
-    },
-    &quot;resourceUsageExportConfig&quot;: { # Configuration for exporting cluster resource usages. # Configuration for exporting resource usages. Resource usage export is
-        # disabled when this config unspecified.
-      &quot;enableNetworkEgressMetering&quot;: True or False, # Whether to enable network egress metering for this cluster. If enabled, a
-          # daemonset will be created in the cluster to meter network egress traffic.
-      &quot;consumptionMeteringConfig&quot;: { # Parameters for controlling consumption metering. # Configuration to enable resource consumption metering.
-        &quot;enabled&quot;: True or False, # Whether to enable consumption metering for this cluster. If enabled, a
-            # second BigQuery table will be created to hold resource consumption
-            # records.
-      },
-      &quot;bigqueryDestination&quot;: { # Parameters for using BigQuery as the destination of resource usage export. # Configuration to use BigQuery as usage export destination.
-        &quot;datasetId&quot;: &quot;A String&quot;, # The ID of a BigQuery Dataset.
-      },
-    },
-    &quot;enableTpu&quot;: True or False, # Enable the ability to use Cloud TPUs in this cluster.
-        # This field is deprecated, use tpu_config.enabled instead.
-    &quot;nodePools&quot;: [ # The node pools associated with this cluster.
-        # This field should not be set if &quot;node_config&quot; or &quot;initial_node_count&quot; are
-        # specified.
-      { # NodePool contains the name and configuration for a cluster&#x27;s node pool.
-          # Node pools are a set of nodes (i.e. VM&#x27;s), with a common configuration and
-          # specification, under the control of the cluster master. They may have a set
-          # of Kubernetes labels applied to them, which may be used to reference them
-          # during pod scheduling. They may also be resized up or down, to accommodate
-          # the workload.
-        &quot;status&quot;: &quot;A String&quot;, # [Output only] The status of the nodes in this pool instance.
-        &quot;config&quot;: { # Parameters that describe the nodes in a cluster. # The node configuration of the pool.
-          &quot;minCpuPlatform&quot;: &quot;A String&quot;, # Minimum CPU platform to be used by this instance. The instance may be
-              # scheduled on the specified or newer CPU platform. Applicable values are the
-              # friendly names of CPU platforms, such as
-              # &lt;code&gt;minCpuPlatform: &amp;quot;Intel Haswell&amp;quot;&lt;/code&gt; or
-              # &lt;code&gt;minCpuPlatform: &amp;quot;Intel Sandy Bridge&amp;quot;&lt;/code&gt;. For more
-              # information, read [how to specify min CPU
-              # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
-          &quot;shieldedInstanceConfig&quot;: { # A set of Shielded Instance options. # Shielded Instance options.
-            &quot;enableIntegrityMonitoring&quot;: True or False, # Defines whether the instance has integrity monitoring enabled.
-                #
-                # Enables monitoring and attestation of the boot integrity of the instance.
-                # The attestation is performed against the integrity policy baseline. This
-                # baseline is initially derived from the implicitly trusted boot image when
-                # the instance is created.
-            &quot;enableSecureBoot&quot;: True or False, # Defines whether the instance has Secure Boot enabled.
-                #
-                # Secure Boot helps ensure that the system only runs authentic software by
-                # verifying the digital signature of all boot components, and halting the
-                # boot process if signature verification fails.
-          },
-          &quot;preemptible&quot;: True or False, # Whether the nodes are created as preemptible VM instances. See:
-              # https://cloud.google.com/compute/docs/instances/preemptible for more
-              # inforamtion about preemptible VM instances.
-          &quot;localSsdCount&quot;: 42, # The number of local SSD disks to be attached to the node.
-              #
-              # The limit for this value is dependent upon the maximum number of
-              # disks available on a machine per zone. See:
-              # https://cloud.google.com/compute/docs/disks/local-ssd
-              # for more information.
-          &quot;sandboxConfig&quot;: { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node.
-            &quot;type&quot;: &quot;A String&quot;, # Type of the sandbox to use for the node.
-            &quot;sandboxType&quot;: &quot;A String&quot;, # Type of the sandbox to use for the node (e.g. &#x27;gvisor&#x27;)
-          },
-          &quot;metadata&quot;: { # The metadata key/value pairs assigned to instances in the cluster.
-              #
-              # Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes
-              # in length. These are reflected as part of a URL in the metadata server.
-              # Additionally, to avoid ambiguity, keys must not conflict with any other
-              # metadata keys for the project or be one of the reserved keys:
-              #  &quot;cluster-location&quot;
-              #  &quot;cluster-name&quot;
-              #  &quot;cluster-uid&quot;
-              #  &quot;configure-sh&quot;
-              #  &quot;containerd-configure-sh&quot;
-              #  &quot;enable-oslogin&quot;
-              #  &quot;gci-ensure-gke-docker&quot;
-              #  &quot;gci-metrics-enabled&quot;
-              #  &quot;gci-update-strategy&quot;
-              #  &quot;instance-template&quot;
-              #  &quot;kube-env&quot;
-              #  &quot;startup-script&quot;
-              #  &quot;user-data&quot;
-              #  &quot;disable-address-manager&quot;
-              #  &quot;windows-startup-script-ps1&quot;
-              #  &quot;common-psm1&quot;
-              #  &quot;k8s-node-setup-psm1&quot;
-              #  &quot;install-ssh-psm1&quot;
-              #  &quot;user-profile-psm1&quot;
-              #  &quot;serial-port-logging-enable&quot;
-              # Values are free-form strings, and only have meaning as interpreted by
-              # the image running in the instance. The only restriction placed on them is
-              # that each value&#x27;s size must be less than or equal to 32 KB.
-              #
-              # The total size of all keys and values must be less than 512 KB.
-            &quot;a_key&quot;: &quot;A String&quot;,
-          },
-          &quot;reservationAffinity&quot;: { # [ReservationAffinity](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources) # The optional reservation affinity. Setting this field will apply
-              # the specified [Zonal Compute
-              # Reservation](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources)
-              # to this node pool.
-              # is the configuration of desired reservation which instances could take
-              # capacity from.
-            &quot;key&quot;: &quot;A String&quot;, # Corresponds to the label key of a reservation resource. To target a
-                # SPECIFIC_RESERVATION by name, specify &quot;googleapis.com/reservation-name&quot; as
-                # the key and specify the name of your reservation as its value.
-            &quot;values&quot;: [ # Corresponds to the label value(s) of reservation resource(s).
-              &quot;A String&quot;,
-            ],
-            &quot;consumeReservationType&quot;: &quot;A String&quot;, # Corresponds to the type of reservation consumption.
-          },
-          &quot;tags&quot;: [ # The list of instance tags applied to all nodes. Tags are used to identify
-              # valid sources or targets for network firewalls and are specified by
-              # the client during cluster or node pool creation. Each tag within the list
-              # must comply with RFC1035.
-            &quot;A String&quot;,
-          ],
-          &quot;serviceAccount&quot;: &quot;A String&quot;, # The Google Cloud Platform Service Account to be used by the node VMs.
-              # Specify the email address of the Service Account; otherwise, if no Service
-              # Account is specified, the &quot;default&quot; service account is used.
-          &quot;imageType&quot;: &quot;A String&quot;, # The image type to use for this node. Note that for a given image type,
-              # the latest version of it will be used.
-          &quot;oauthScopes&quot;: [ # The set of Google API scopes to be made available on all of the
-              # node VMs under the &quot;default&quot; service account.
-              #
-              # The following scopes are recommended, but not required, and by default are
-              # not included:
-              #
-              # * `https://www.googleapis.com/auth/compute` is required for mounting
-              # persistent storage on your nodes.
-              # * `https://www.googleapis.com/auth/devstorage.read_only` is required for
-              # communicating with **gcr.io**
-              # (the [Google Container
-              # Registry](https://cloud.google.com/container-registry/)).
-              #
-              # If unspecified, no scopes are added, unless Cloud Logging or Cloud
-              # Monitoring are enabled, in which case their required scopes will be added.
-            &quot;A String&quot;,
-          ],
-          &quot;taints&quot;: [ # List of kubernetes taints to be applied to each node.
-              #
-              # For more information, including usage and the valid values, see:
-              # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
-            { # Kubernetes taint is comprised of three fields: key, value, and effect. Effect
-                # can only be one of three types:  NoSchedule, PreferNoSchedule or NoExecute.
-                #
-                # See
-                # [here](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration)
-                # for more information, including usage and the valid values.
-              &quot;effect&quot;: &quot;A String&quot;, # Effect for taint.
-              &quot;value&quot;: &quot;A String&quot;, # Value for taint.
-              &quot;key&quot;: &quot;A String&quot;, # Key for taint.
-            },
-          ],
-          &quot;labels&quot;: { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
-              # These will added in addition to any default label(s) that
-              # Kubernetes may apply to the node.
-              # In case of conflict in label keys, the applied set may differ depending on
-              # the Kubernetes version -- it&#x27;s best to assume the behavior is undefined
-              # and conflicts should be avoided.
-              # For more information, including usage and the valid values, see:
-              # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
-            &quot;a_key&quot;: &quot;A String&quot;,
-          },
-          &quot;diskSizeGb&quot;: 42, # Size of the disk attached to each node, specified in GB.
-              # The smallest allowed disk size is 10GB.
-              #
-              # If unspecified, the default disk size is 100GB.
-          &quot;workloadMetadataConfig&quot;: { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node.
-              # workloads on the node pool.
-            &quot;nodeMetadata&quot;: &quot;A String&quot;, # NodeMetadata is the configuration for how to expose metadata to the
-                # workloads running on the node.
-            &quot;mode&quot;: &quot;A String&quot;, # Mode is the configuration for how to expose metadata to workloads running
-                # on the node pool.
-          },
-          &quot;accelerators&quot;: [ # A list of hardware accelerators to be attached to each node.
-              # See https://cloud.google.com/compute/docs/gpus for more information about
-              # support for GPUs.
-            { # AcceleratorConfig represents a Hardware Accelerator request.
-              &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators
-                  # [here](https://cloud.google.com/compute/docs/gpus)
-              &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
-            },
-          ],
-          &quot;machineType&quot;: &quot;A String&quot;, # The name of a Google Compute Engine [machine
-              # type](https://cloud.google.com/compute/docs/machine-types) (e.g.
-              # `n1-standard-1`).
-              #
-              # If unspecified, the default machine type is
-              # `n1-standard-1`.
-          &quot;diskType&quot;: &quot;A String&quot;, # Type of the disk attached to each node (e.g. &#x27;pd-standard&#x27; or &#x27;pd-ssd&#x27;)
-              #
-              # If unspecified, the default disk type is &#x27;pd-standard&#x27;
-          &quot;bootDiskKmsKey&quot;: &quot;A String&quot;, #
-              # The Customer Managed Encryption Key used to encrypt the boot disk attached
-              # to each node in the node pool. This should be of the form
-              # projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME].
-              # For more information about protecting resources with Cloud KMS Keys please
-              # see:
-              # https://cloud.google.com/compute/docs/disks/customer-managed-encryption
-        },
-        &quot;maxPodsConstraint&quot;: { # Constraints applied to pods. # The constraint on the maximum number of pods that can be run
-            # simultaneously on a node in the node pool.
-          &quot;maxPodsPerNode&quot;: &quot;A String&quot;, # Constraint enforced on the max num of pods per node.
-        },
-        &quot;name&quot;: &quot;A String&quot;, # The name of the node pool.
-        &quot;management&quot;: { # NodeManagement defines the set of node management services turned on for the # NodeManagement configuration for this NodePool.
-            # node pool.
-          &quot;autoRepair&quot;: True or False, # Whether the nodes will be automatically repaired.
-          &quot;autoUpgrade&quot;: True or False, # Whether the nodes will be automatically upgraded.
-          &quot;upgradeOptions&quot;: { # AutoUpgradeOptions defines the set of options for the user to control how # Specifies the Auto Upgrade knobs for the node pool.
-              # the Auto Upgrades will proceed.
-            &quot;description&quot;: &quot;A String&quot;, # [Output only] This field is set when upgrades are about to commence
-                # with the description of the upgrade.
-            &quot;autoUpgradeStartTime&quot;: &quot;A String&quot;, # [Output only] This field is set when upgrades are about to commence
-                # with the approximate start time for the upgrades, in
-                # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-          },
-        },
-        &quot;statusMessage&quot;: &quot;A String&quot;, # [Output only] Additional information about the current status of this
-            # node pool instance, if available.
-        &quot;autoscaling&quot;: { # NodePoolAutoscaling contains information required by cluster autoscaler to # Autoscaler configuration for this NodePool. Autoscaler is enabled
-            # only if a valid configuration is present.
-            # adjust the size of the node pool to the current cluster usage.
-          &quot;maxNodeCount&quot;: 42, # Maximum number of nodes in the NodePool. Must be &gt;= min_node_count. There
-              # has to enough quota to scale up the cluster.
-          &quot;autoprovisioned&quot;: True or False, # Can this node pool be deleted automatically.
-          &quot;minNodeCount&quot;: 42, # Minimum number of nodes in the NodePool. Must be &gt;= 1 and &lt;=
-              # max_node_count.
-          &quot;enabled&quot;: True or False, # Is autoscaling enabled for this node pool.
-        },
-        &quot;initialNodeCount&quot;: 42, # The initial node count for the pool. You must ensure that your
-            # Compute Engine &lt;a href=&quot;/compute/docs/resource-quotas&quot;&gt;resource quota&lt;/a&gt;
-            # is sufficient for this number of instances. You must also have available
-            # firewall and routes quota.
-        &quot;locations&quot;: [ # The list of Google Compute Engine
-            # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
-            # NodePool&#x27;s nodes should be located.
-          &quot;A String&quot;,
-        ],
-        &quot;upgradeSettings&quot;: { # These upgrade settings control the level of parallelism and the level of # Upgrade settings control disruption and speed of the upgrade.
-            # disruption caused by an upgrade.
-            #
-            # maxUnavailable controls the number of nodes that can be simultaneously
-            # unavailable.
-            #
-            # maxSurge controls the number of additional nodes that can be added to the
-            # node pool temporarily for the time of the upgrade to increase the number of
-            # available nodes.
-            #
-            # (maxUnavailable + maxSurge) determines the level of parallelism (how many
-            # nodes are being upgraded at the same time).
-            #
-            # Note: upgrades inevitably introduce some disruption since workloads need to
-            # be moved from old nodes to new, upgraded ones. Even if maxUnavailable=0,
-            # this holds true. (Disruption stays within the limits of
-            # PodDisruptionBudget, if it is configured.)
-            #
-            # Consider a hypothetical node pool with 5 nodes having maxSurge=2,
-            # maxUnavailable=1. This means the upgrade process upgrades 3 nodes
-            # simultaneously. It creates 2 additional (upgraded) nodes, then it brings
-            # down 3 old (not yet upgraded) nodes at the same time. This ensures that
-            # there are always at least 4 nodes available.
-          &quot;maxUnavailable&quot;: 42, # The maximum number of nodes that can be simultaneously unavailable during
-              # the upgrade process. A node is considered available if its status is
-              # Ready.
-          &quot;maxSurge&quot;: 42, # The maximum number of nodes that can be created beyond the current size
-              # of the node pool during the upgrade process.
-        },
-        &quot;selfLink&quot;: &quot;A String&quot;, # [Output only] Server-defined URL for the resource.
-        &quot;version&quot;: &quot;A String&quot;, # The version of the Kubernetes of this node.
-        &quot;instanceGroupUrls&quot;: [ # [Output only] The resource URLs of the [managed instance
-            # groups](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances)
-            # associated with this node pool.
-          &quot;A String&quot;,
-        ],
-        &quot;podIpv4CidrSize&quot;: 42, # [Output only] The pod CIDR block size per node in this node pool.
-        &quot;conditions&quot;: [ # Which conditions caused the current node pool state.
-          { # StatusCondition describes why a cluster or a node pool has a certain status
-              # (e.g., ERROR or DEGRADED).
-            &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
-            &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
-          },
-        ],
-      },
-    ],
-    &quot;locations&quot;: [ # The list of Google Compute Engine
-        # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
-        # cluster&#x27;s nodes should be located.
-      &quot;A String&quot;,
-    ],
-    &quot;selfLink&quot;: &quot;A String&quot;, # [Output only] Server-defined URL for the resource.
-    &quot;releaseChannel&quot;: { # ReleaseChannel indicates which release channel a cluster is # Release channel configuration.
-        # subscribed to. Release channels are arranged in order of risk and
-        # frequency of updates.
-        #
-        # When a cluster is subscribed to a release channel, Google maintains
-        # both the master version and the node version. Node auto-upgrade
-        # defaults to true and cannot be disabled. Updates to version related
-        # fields (e.g. current_master_version) return an error.
-      &quot;channel&quot;: &quot;A String&quot;, # channel specifies which release channel the cluster is subscribed to.
+      &quot;nodeIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP address range of the instance IPs in this cluster.
+          #
+          # This is applicable only if `create_subnetwork` is true.
+          #
+          # Set to blank to have a range chosen with the default size.
+          #
+          # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
+          # netmask.
+          #
+          # Set to a
+          # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+          # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
+          # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
+          # to use.
+      &quot;clusterIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP address range for the cluster pod IPs. If this field is set, then
+          # `cluster.cluster_ipv4_cidr` must be left blank.
+          #
+          # This field is only applicable when `use_ip_aliases` is true.
+          #
+          # Set to blank to have a range chosen with the default size.
+          #
+          # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
+          # netmask.
+          #
+          # Set to a
+          # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+          # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
+          # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
+          # to use.
     },
     &quot;networkPolicy&quot;: { # Configuration options for the NetworkPolicy feature. # Configuration options for the NetworkPolicy feature.
         # https://kubernetes.io/docs/concepts/services-networking/networkpolicies/
       &quot;provider&quot;: &quot;A String&quot;, # The selected network policy provider.
       &quot;enabled&quot;: True or False, # Whether network policy is enabled on the cluster.
     },
-    &quot;servicesIpv4Cidr&quot;: &quot;A String&quot;, # [Output only] The IP address range of the Kubernetes services in
-        # this cluster, in
-        # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
-        # notation (e.g. `1.2.3.4/29`). Service addresses are
-        # typically put in the last `/16` from the container CIDR.
-    &quot;enableKubernetesAlpha&quot;: True or False, # Kubernetes alpha features are enabled on this cluster. This includes alpha
-        # API groups (e.g. v1beta1) and features that may not be production ready in
-        # the kubernetes version of the master and nodes.
-        # The cluster has no SLA for uptime and master/node upgrades are disabled.
-        # Alpha enabled clusters are automatically deleted thirty days after
-        # creation.
-    &quot;description&quot;: &quot;A String&quot;, # An optional description of this cluster.
-    &quot;conditions&quot;: [ # Which conditions caused the current cluster state.
-      { # StatusCondition describes why a cluster or a node pool has a certain status
-          # (e.g., ERROR or DEGRADED).
-        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
-        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+    &quot;privateClusterConfig&quot;: { # Configuration options for private clusters. # Configuration for private cluster.
+      &quot;enablePrivateNodes&quot;: True or False, # Whether nodes have internal IP addresses only. If enabled, all nodes are
+          # given only RFC 1918 private addresses and communicate with the master via
+          # private networking.
+      &quot;masterIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP range in CIDR notation to use for the hosted master network. This
+          # range will be used for assigning internal IP addresses to the master or
+          # set of masters, as well as the ILB VIP. This range must not overlap with
+          # any other ranges in use within the cluster&#x27;s network.
+      &quot;peeringName&quot;: &quot;A String&quot;, # Output only. The peering name in the customer VPC used by this cluster.
+      &quot;publicEndpoint&quot;: &quot;A String&quot;, # Output only. The external IP address of this cluster&#x27;s master endpoint.
+      &quot;enablePrivateEndpoint&quot;: True or False, # Whether the master&#x27;s internal IP address is used as the cluster endpoint.
+      &quot;masterGlobalAccessConfig&quot;: { # Configuration for controlling master global access settings. # Controls master global access settings.
+        &quot;enabled&quot;: True or False, # Whenever master is accessible globally or not.
       },
-    ],
-    &quot;privateCluster&quot;: True or False, # If this is a private cluster setup. Private clusters are clusters that, by
-        # default have no external IP addresses on the nodes and where nodes and the
-        # master communicate over private IP addresses.
-        # This field is deprecated, use private_cluster_config.enable_private_nodes
-        # instead.
-    &quot;currentNodeCount&quot;: 42, # [Output only]  The number of nodes currently in the cluster. Deprecated.
-        # Call Kubernetes API directly to retrieve node information.
+      &quot;privateEndpoint&quot;: &quot;A String&quot;, # Output only. The internal IP address of this cluster&#x27;s master endpoint.
+    },
+    &quot;enableTpu&quot;: True or False, # Enable the ability to use Cloud TPUs in this cluster.
+        # This field is deprecated, use tpu_config.enabled instead.
+    &quot;workloadIdentityConfig&quot;: { # Configuration for the use of Kubernetes Service Accounts in GCP IAM # Configuration for the use of Kubernetes Service Accounts in GCP IAM
+        # policies.
+        # policies.
+      &quot;identityNamespace&quot;: &quot;A String&quot;, # IAM Identity Namespace to attach all Kubernetes Service Accounts to.
+      &quot;identityProvider&quot;: &quot;A String&quot;, # identity provider is the third party identity provider.
+      &quot;workloadPool&quot;: &quot;A String&quot;, # The workload pool to attach all Kubernetes service accounts to.
+    },
     &quot;monitoringService&quot;: &quot;A String&quot;, # The monitoring service the cluster should use to write metrics.
         # Currently available options:
         #
@@ -2358,40 +2008,71 @@
         #
         # If left as an empty string,`monitoring.googleapis.com/kubernetes` will be
         # used for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions.
-    &quot;databaseEncryption&quot;: { # Configuration of etcd encryption. # Configuration of etcd encryption.
-      &quot;state&quot;: &quot;A String&quot;, # Denotes the state of etcd encryption.
-      &quot;keyName&quot;: &quot;A String&quot;, # Name of CloudKMS key to use for the encryption of secrets in etcd.
-          # Ex. projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-key
+    &quot;networkConfig&quot;: { # NetworkConfig reports the relative names of network &amp; subnetwork. # Configuration for cluster networking.
+      &quot;defaultSnatStatus&quot;: { # DefaultSnatStatus contains the desired state of whether default sNAT should # Whether the cluster disables default in-node sNAT rules. In-node sNAT rules
+          # will be disabled when default_snat_status is disabled. When disabled is set
+          # to false, default IP masquerade rules will be applied to the nodes to
+          # prevent sNAT on cluster internal traffic.
+          # be disabled on the cluster.
+        &quot;disabled&quot;: True or False, # Disables cluster default sNAT rules.
+      },
+      &quot;enableIntraNodeVisibility&quot;: True or False, # Whether Intra-node visibility is enabled for this cluster.
+          # This makes same node pod to pod traffic visible for VPC network.
+      &quot;subnetwork&quot;: &quot;A String&quot;, # Output only. The relative name of the Google Compute Engine
+          # [subnetwork](https://cloud.google.com/compute/docs/vpc) to which the
+          # cluster is connected. Example:
+          # projects/my-project/regions/us-central1/subnetworks/my-subnet
+      &quot;network&quot;: &quot;A String&quot;, # Output only. The relative name of the Google Compute Engine
+          # network(https://cloud.google.com/compute/docs/networks-and-firewalls#networks)
+          # to which the cluster is connected. Example:
+          # projects/my-project/global/networks/my-network
     },
-    &quot;binaryAuthorization&quot;: { # Configuration for Binary Authorization. # Configuration for Binary Authorization.
-      &quot;enabled&quot;: True or False, # Enable Binary Authorization for this cluster. If enabled, all container
-          # images will be validated by Google Binauthz.
+    &quot;shieldedNodes&quot;: { # Configuration of Shielded Nodes feature. # Shielded Nodes configuration.
+      &quot;enabled&quot;: True or False, # Whether Shielded Nodes features are enabled on all nodes in this cluster.
     },
-    &quot;tpuIpv4CidrBlock&quot;: &quot;A String&quot;, # [Output only] The IP address range of the Cloud TPUs in this cluster, in
-        # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
-        # notation (e.g. `1.2.3.4/29`).
-    &quot;workloadIdentityConfig&quot;: { # Configuration for the use of Kubernetes Service Accounts in GCP IAM # Configuration for the use of Kubernetes Service Accounts in GCP IAM
-        # policies.
-        # policies.
-      &quot;workloadPool&quot;: &quot;A String&quot;, # The workload pool to attach all Kubernetes service accounts to.
-      &quot;identityNamespace&quot;: &quot;A String&quot;, # IAM Identity Namespace to attach all Kubernetes Service Accounts to.
+    &quot;masterAuth&quot;: { # The authentication information for accessing the master endpoint. # The authentication information for accessing the master endpoint.
+        # If unspecified, the defaults are used:
+        # For clusters before v1.12, if master_auth is unspecified, `username` will
+        # be set to &quot;admin&quot;, a random password will be generated, and a client
+        # certificate will be issued.
+        # Authentication can be done using HTTP basic auth or using client
+        # certificates.
+      &quot;clusterCaCertificate&quot;: &quot;A String&quot;,
+      &quot;username&quot;: &quot;A String&quot;, # The username to use for HTTP basic authentication to the master endpoint.
+          # For clusters v1.6.0 and later, basic authentication can be disabled by
+          # leaving username unspecified (or setting it to the empty string).
+      &quot;clientCertificate&quot;: &quot;A String&quot;, # [Output only] Base64-encoded public certificate used by clients to
+          # authenticate to the cluster endpoint.
+      &quot;password&quot;: &quot;A String&quot;, # The password to use for HTTP basic authentication to the master endpoint.
+          # Because the master endpoint is open to the Internet, you should create a
+          # strong password.  If a password is provided for cluster creation, username
+          # must be non-empty.
+      &quot;clientCertificateConfig&quot;: { # Configuration for client certificates on the cluster. # Configuration for client certificate authentication on the cluster. For
+          # clusters before v1.12, if no configuration is specified, a client
+          # certificate is issued.
+        &quot;issueClientCertificate&quot;: True or False, # Issue a client certificate.
+      },
+      &quot;clientKey&quot;: &quot;A String&quot;, # [Output only] Base64-encoded private key used by clients to authenticate
+          # to the cluster endpoint.
     },
-    &quot;zone&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
-        # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
-        # cluster resides. This field is deprecated, use location instead.
-    &quot;loggingService&quot;: &quot;A String&quot;, # The logging service the cluster should use to write logs.
-        # Currently available options:
+    &quot;initialClusterVersion&quot;: &quot;A String&quot;, # The initial Kubernetes version for this cluster.  Valid versions are those
+        # found in validMasterVersions returned by getServerConfig.  The version can
+        # be upgraded over time; such upgrades are reflected in
+        # currentMasterVersion and currentNodeVersion.
         #
-        # * `logging.googleapis.com/kubernetes` - The Cloud Logging
-        # service with a Kubernetes-native resource model
-        # * `logging.googleapis.com` - The legacy Cloud Logging service (no longer
-        #   available as of GKE 1.15).
-        # * `none` - no logs will be exported from the cluster.
+        # Users may specify either explicit versions offered by
+        # Kubernetes Engine or version aliases, which have the following behavior:
         #
-        # If left as an empty string,`logging.googleapis.com/kubernetes` will be
-        # used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.
-    &quot;expireTime&quot;: &quot;A String&quot;, # [Output only] The time the cluster will be automatically
-        # deleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+        # - &quot;latest&quot;: picks the highest valid Kubernetes version
+        # - &quot;1.X&quot;: picks the highest valid patch+gke.N patch in the 1.X version
+        # - &quot;1.X.Y&quot;: picks the highest valid gke.N patch in the 1.X.Y version
+        # - &quot;1.X.Y-gke.N&quot;: picks an explicit Kubernetes version
+        # - &quot;&quot;,&quot;-&quot;: picks the default Kubernetes version
+    &quot;privateCluster&quot;: True or False, # If this is a private cluster setup. Private clusters are clusters that, by
+        # default have no external IP addresses on the nodes and where nodes and the
+        # master communicate over private IP addresses.
+        # This field is deprecated, use private_cluster_config.enable_private_nodes
+        # instead.
     &quot;nodeConfig&quot;: { # Parameters that describe the nodes in a cluster. # Parameters used in creating the cluster&#x27;s nodes.
         # For requests, this field should only be used in lieu of a
         # &quot;node_pool&quot; object, since this configuration (along with the
@@ -2403,39 +2084,23 @@
         #
         # If unspecified, the defaults are used.
         # This field is deprecated, use node_pool.config instead.
-      &quot;minCpuPlatform&quot;: &quot;A String&quot;, # Minimum CPU platform to be used by this instance. The instance may be
-          # scheduled on the specified or newer CPU platform. Applicable values are the
-          # friendly names of CPU platforms, such as
-          # &lt;code&gt;minCpuPlatform: &amp;quot;Intel Haswell&amp;quot;&lt;/code&gt; or
-          # &lt;code&gt;minCpuPlatform: &amp;quot;Intel Sandy Bridge&amp;quot;&lt;/code&gt;. For more
-          # information, read [how to specify min CPU
-          # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
-      &quot;shieldedInstanceConfig&quot;: { # A set of Shielded Instance options. # Shielded Instance options.
-        &quot;enableIntegrityMonitoring&quot;: True or False, # Defines whether the instance has integrity monitoring enabled.
-            #
-            # Enables monitoring and attestation of the boot integrity of the instance.
-            # The attestation is performed against the integrity policy baseline. This
-            # baseline is initially derived from the implicitly trusted boot image when
-            # the instance is created.
-        &quot;enableSecureBoot&quot;: True or False, # Defines whether the instance has Secure Boot enabled.
-            #
-            # Secure Boot helps ensure that the system only runs authentic software by
-            # verifying the digital signature of all boot components, and halting the
-            # boot process if signature verification fails.
-      },
-      &quot;preemptible&quot;: True or False, # Whether the nodes are created as preemptible VM instances. See:
-          # https://cloud.google.com/compute/docs/instances/preemptible for more
-          # inforamtion about preemptible VM instances.
-      &quot;localSsdCount&quot;: 42, # The number of local SSD disks to be attached to the node.
+      &quot;oauthScopes&quot;: [ # The set of Google API scopes to be made available on all of the
+          # node VMs under the &quot;default&quot; service account.
           #
-          # The limit for this value is dependent upon the maximum number of
-          # disks available on a machine per zone. See:
-          # https://cloud.google.com/compute/docs/disks/local-ssd
-          # for more information.
-      &quot;sandboxConfig&quot;: { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node.
-        &quot;type&quot;: &quot;A String&quot;, # Type of the sandbox to use for the node.
-        &quot;sandboxType&quot;: &quot;A String&quot;, # Type of the sandbox to use for the node (e.g. &#x27;gvisor&#x27;)
-      },
+          # The following scopes are recommended, but not required, and by default are
+          # not included:
+          #
+          # * `https://www.googleapis.com/auth/compute` is required for mounting
+          # persistent storage on your nodes.
+          # * `https://www.googleapis.com/auth/devstorage.read_only` is required for
+          # communicating with **gcr.io**
+          # (the [Google Container
+          # Registry](https://cloud.google.com/container-registry/)).
+          #
+          # If unspecified, no scopes are added, unless Cloud Logging or Cloud
+          # Monitoring are enabled, in which case their required scopes will be added.
+        &quot;A String&quot;,
+      ],
       &quot;metadata&quot;: { # The metadata key/value pairs assigned to instances in the cluster.
           #
           # Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes
@@ -2469,48 +2134,54 @@
           # The total size of all keys and values must be less than 512 KB.
         &quot;a_key&quot;: &quot;A String&quot;,
       },
-      &quot;reservationAffinity&quot;: { # [ReservationAffinity](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources) # The optional reservation affinity. Setting this field will apply
-          # the specified [Zonal Compute
-          # Reservation](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources)
-          # to this node pool.
-          # is the configuration of desired reservation which instances could take
-          # capacity from.
-        &quot;key&quot;: &quot;A String&quot;, # Corresponds to the label key of a reservation resource. To target a
-            # SPECIFIC_RESERVATION by name, specify &quot;googleapis.com/reservation-name&quot; as
-            # the key and specify the name of your reservation as its value.
-        &quot;values&quot;: [ # Corresponds to the label value(s) of reservation resource(s).
-          &quot;A String&quot;,
-        ],
-        &quot;consumeReservationType&quot;: &quot;A String&quot;, # Corresponds to the type of reservation consumption.
+      &quot;machineType&quot;: &quot;A String&quot;, # The name of a Google Compute Engine [machine
+          # type](https://cloud.google.com/compute/docs/machine-types) (e.g.
+          # `n1-standard-1`).
+          #
+          # If unspecified, the default machine type is
+          # `n1-standard-1`.
+      &quot;nodeGroup&quot;: &quot;A String&quot;, # Setting this field will assign instances of this
+          # pool to run on the specified node group. This is useful for running
+          # workloads on [sole tenant
+          # nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes).
+      &quot;shieldedInstanceConfig&quot;: { # A set of Shielded Instance options. # Shielded Instance options.
+        &quot;enableSecureBoot&quot;: True or False, # Defines whether the instance has Secure Boot enabled.
+            #
+            # Secure Boot helps ensure that the system only runs authentic software by
+            # verifying the digital signature of all boot components, and halting the
+            # boot process if signature verification fails.
+        &quot;enableIntegrityMonitoring&quot;: True or False, # Defines whether the instance has integrity monitoring enabled.
+            #
+            # Enables monitoring and attestation of the boot integrity of the instance.
+            # The attestation is performed against the integrity policy baseline. This
+            # baseline is initially derived from the implicitly trusted boot image when
+            # the instance is created.
       },
-      &quot;tags&quot;: [ # The list of instance tags applied to all nodes. Tags are used to identify
-          # valid sources or targets for network firewalls and are specified by
-          # the client during cluster or node pool creation. Each tag within the list
-          # must comply with RFC1035.
-        &quot;A String&quot;,
-      ],
       &quot;serviceAccount&quot;: &quot;A String&quot;, # The Google Cloud Platform Service Account to be used by the node VMs.
           # Specify the email address of the Service Account; otherwise, if no Service
           # Account is specified, the &quot;default&quot; service account is used.
-      &quot;imageType&quot;: &quot;A String&quot;, # The image type to use for this node. Note that for a given image type,
-          # the latest version of it will be used.
-      &quot;oauthScopes&quot;: [ # The set of Google API scopes to be made available on all of the
-          # node VMs under the &quot;default&quot; service account.
-          #
-          # The following scopes are recommended, but not required, and by default are
-          # not included:
-          #
-          # * `https://www.googleapis.com/auth/compute` is required for mounting
-          # persistent storage on your nodes.
-          # * `https://www.googleapis.com/auth/devstorage.read_only` is required for
-          # communicating with **gcr.io**
-          # (the [Google Container
-          # Registry](https://cloud.google.com/container-registry/)).
-          #
-          # If unspecified, no scopes are added, unless Cloud Logging or Cloud
-          # Monitoring are enabled, in which case their required scopes will be added.
-        &quot;A String&quot;,
-      ],
+      &quot;linuxNodeConfig&quot;: { # Parameters that can be configured on Linux nodes. # Parameters that can be configured on Linux nodes.
+        &quot;sysctls&quot;: { # The Linux kernel parameters to be applied to the nodes and all pods running
+            # on the nodes.
+            #
+            # The following parameters are supported.
+            #
+            # net.core.netdev_max_backlog
+            # net.core.rmem_max
+            # net.core.wmem_default
+            # net.core.wmem_max
+            # net.core.optmem_max
+            # net.core.somaxconn
+            # net.ipv4.tcp_rmem
+            # net.ipv4.tcp_wmem
+            # net.ipv4.tcp_tw_reuse
+          &quot;a_key&quot;: &quot;A String&quot;,
+        },
+      },
+      &quot;sandboxConfig&quot;: { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node.
+        &quot;type&quot;: &quot;A String&quot;, # Type of the sandbox to use for the node.
+        &quot;sandboxType&quot;: &quot;A String&quot;, # Type of the sandbox to use for the node (e.g. &#x27;gvisor&#x27;)
+      },
       &quot;taints&quot;: [ # List of kubernetes taints to be applied to each node.
           #
           # For more information, including usage and the valid values, see:
@@ -2522,10 +2193,37 @@
             # [here](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration)
             # for more information, including usage and the valid values.
           &quot;effect&quot;: &quot;A String&quot;, # Effect for taint.
-          &quot;value&quot;: &quot;A String&quot;, # Value for taint.
           &quot;key&quot;: &quot;A String&quot;, # Key for taint.
+          &quot;value&quot;: &quot;A String&quot;, # Value for taint.
         },
       ],
+      &quot;kubeletConfig&quot;: { # Node kubelet configs. # Node kubelet configs.
+        &quot;cpuCfsQuotaPeriod&quot;: &quot;A String&quot;, # Set the CPU CFS quota period value &#x27;cpu.cfs_period_us&#x27;.
+            #
+            # The string must be a sequence of decimal numbers, each with optional
+            # fraction and a unit suffix, such as &quot;300ms&quot;.
+            # Valid time units are &quot;ns&quot;, &quot;us&quot; (or &quot;µs&quot;), &quot;ms&quot;, &quot;s&quot;, &quot;m&quot;, &quot;h&quot;.
+            # The value must be a positive duration.
+        &quot;cpuCfsQuota&quot;: True or False, # Enable CPU CFS quota enforcement for containers that specify CPU limits.
+            #
+            # If this option is enabled, kubelet uses CFS quota
+            # (https://www.kernel.org/doc/Documentation/scheduler/sched-bwc.txt) to
+            # enforce container CPU limits. Otherwise, CPU limits will not be enforced at
+            # all.
+            #
+            # Disable this option to mitigate CPU throttling problems while still having
+            # your pods to be in Guaranteed QoS class by specifying the CPU limits.
+            #
+            # The default value is &#x27;true&#x27; if unspecified.
+        &quot;cpuManagerPolicy&quot;: &quot;A String&quot;, # Control the CPU management policy on the node.
+            # See
+            # https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/
+            #
+            # The following values are allowed.
+            #   - &quot;none&quot;: the default, which represents the existing scheduling behavior.
+            #   - &quot;static&quot;: allows pods with certain resource characteristics to be
+            #               granted increased CPU affinity and exclusivity on the node.
+      },
       &quot;labels&quot;: { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
           # These will added in addition to any default label(s) that
           # Kubernetes may apply to the node.
@@ -2536,10 +2234,9 @@
           # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
         &quot;a_key&quot;: &quot;A String&quot;,
       },
-      &quot;diskSizeGb&quot;: 42, # Size of the disk attached to each node, specified in GB.
-          # The smallest allowed disk size is 10GB.
+      &quot;diskType&quot;: &quot;A String&quot;, # Type of the disk attached to each node (e.g. &#x27;pd-standard&#x27; or &#x27;pd-ssd&#x27;)
           #
-          # If unspecified, the default disk size is 100GB.
+          # If unspecified, the default disk type is &#x27;pd-standard&#x27;
       &quot;workloadMetadataConfig&quot;: { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node.
           # workloads on the node pool.
         &quot;nodeMetadata&quot;: &quot;A String&quot;, # NodeMetadata is the configuration for how to expose metadata to the
@@ -2547,24 +2244,6 @@
         &quot;mode&quot;: &quot;A String&quot;, # Mode is the configuration for how to expose metadata to workloads running
             # on the node pool.
       },
-      &quot;accelerators&quot;: [ # A list of hardware accelerators to be attached to each node.
-          # See https://cloud.google.com/compute/docs/gpus for more information about
-          # support for GPUs.
-        { # AcceleratorConfig represents a Hardware Accelerator request.
-          &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators
-              # [here](https://cloud.google.com/compute/docs/gpus)
-          &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
-        },
-      ],
-      &quot;machineType&quot;: &quot;A String&quot;, # The name of a Google Compute Engine [machine
-          # type](https://cloud.google.com/compute/docs/machine-types) (e.g.
-          # `n1-standard-1`).
-          #
-          # If unspecified, the default machine type is
-          # `n1-standard-1`.
-      &quot;diskType&quot;: &quot;A String&quot;, # Type of the disk attached to each node (e.g. &#x27;pd-standard&#x27; or &#x27;pd-ssd&#x27;)
-          #
-          # If unspecified, the default disk type is &#x27;pd-standard&#x27;
       &quot;bootDiskKmsKey&quot;: &quot;A String&quot;, #
           # The Customer Managed Encryption Key used to encrypt the boot disk attached
           # to each node in the node pool. This should be of the form
@@ -2572,107 +2251,91 @@
           # For more information about protecting resources with Cloud KMS Keys please
           # see:
           # https://cloud.google.com/compute/docs/disks/customer-managed-encryption
-    },
-    &quot;tpuConfig&quot;: { # Configuration for Cloud TPU. # Configuration for Cloud TPU support;
-      &quot;useServiceNetworking&quot;: True or False, # Whether to use service networking for Cloud TPU or not.
-      &quot;ipv4CidrBlock&quot;: &quot;A String&quot;, # IPv4 CIDR block reserved for Cloud TPU in the VPC.
-      &quot;enabled&quot;: True or False, # Whether Cloud TPU integration is enabled or not.
-    },
-    &quot;status&quot;: &quot;A String&quot;, # [Output only] The current status of this cluster.
-    &quot;networkConfig&quot;: { # NetworkConfig reports the relative names of network &amp; subnetwork. # Configuration for cluster networking.
-      &quot;enableIntraNodeVisibility&quot;: True or False, # Whether Intra-node visibility is enabled for this cluster.
-          # This makes same node pod to pod traffic visible for VPC network.
-      &quot;subnetwork&quot;: &quot;A String&quot;, # Output only. The relative name of the Google Compute Engine
-          # [subnetwork](https://cloud.google.com/compute/docs/vpc) to which the
-          # cluster is connected. Example:
-          # projects/my-project/regions/us-central1/subnetworks/my-subnet
-      &quot;network&quot;: &quot;A String&quot;, # Output only. The relative name of the Google Compute Engine
-          # network(https://cloud.google.com/compute/docs/networks-and-firewalls#networks)
-          # to which the cluster is connected. Example:
-          # projects/my-project/global/networks/my-network
-      &quot;defaultSnatStatus&quot;: { # DefaultSnatStatus contains the desired state of whether default sNAT should # Whether the cluster disables default in-node sNAT rules. In-node sNAT rules
-          # will be disabled when default_snat_status is disabled. When disabled is set
-          # to false, default IP masquerade rules will be applied to the nodes to
-          # prevent sNAT on cluster internal traffic.
-          # be disabled on the cluster.
-        &quot;disabled&quot;: True or False, # Disables cluster default sNAT rules.
+      &quot;diskSizeGb&quot;: 42, # Size of the disk attached to each node, specified in GB.
+          # The smallest allowed disk size is 10GB.
+          #
+          # If unspecified, the default disk size is 100GB.
+      &quot;reservationAffinity&quot;: { # [ReservationAffinity](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources) # The optional reservation affinity. Setting this field will apply
+          # the specified [Zonal Compute
+          # Reservation](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources)
+          # to this node pool.
+          # is the configuration of desired reservation which instances could take
+          # capacity from.
+        &quot;consumeReservationType&quot;: &quot;A String&quot;, # Corresponds to the type of reservation consumption.
+        &quot;key&quot;: &quot;A String&quot;, # Corresponds to the label key of a reservation resource. To target a
+            # SPECIFIC_RESERVATION by name, specify &quot;googleapis.com/reservation-name&quot; as
+            # the key and specify the name of your reservation as its value.
+        &quot;values&quot;: [ # Corresponds to the label value(s) of reservation resource(s).
+          &quot;A String&quot;,
+        ],
       },
+      &quot;preemptible&quot;: True or False, # Whether the nodes are created as preemptible VM instances. See:
+          # https://cloud.google.com/compute/docs/instances/preemptible for more
+          # inforamtion about preemptible VM instances.
+      &quot;minCpuPlatform&quot;: &quot;A String&quot;, # Minimum CPU platform to be used by this instance. The instance may be
+          # scheduled on the specified or newer CPU platform. Applicable values are the
+          # friendly names of CPU platforms, such as
+          # &lt;code&gt;minCpuPlatform: &amp;quot;Intel Haswell&amp;quot;&lt;/code&gt; or
+          # &lt;code&gt;minCpuPlatform: &amp;quot;Intel Sandy Bridge&amp;quot;&lt;/code&gt;. For more
+          # information, read [how to specify min CPU
+          # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
+      &quot;tags&quot;: [ # The list of instance tags applied to all nodes. Tags are used to identify
+          # valid sources or targets for network firewalls and are specified by
+          # the client during cluster or node pool creation. Each tag within the list
+          # must comply with RFC1035.
+        &quot;A String&quot;,
+      ],
+      &quot;accelerators&quot;: [ # A list of hardware accelerators to be attached to each node.
+          # See https://cloud.google.com/compute/docs/gpus for more information about
+          # support for GPUs.
+        { # AcceleratorConfig represents a Hardware Accelerator request.
+          &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
+          &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators
+              # [here](https://cloud.google.com/compute/docs/gpus)
+        },
+      ],
+      &quot;localSsdCount&quot;: 42, # The number of local SSD disks to be attached to the node.
+          #
+          # The limit for this value is dependent upon the maximum number of
+          # disks available on a machine per zone. See:
+          # https://cloud.google.com/compute/docs/disks/local-ssd
+          # for more information.
+      &quot;imageType&quot;: &quot;A String&quot;, # The image type to use for this node. Note that for a given image type,
+          # the latest version of it will be used.
     },
-    &quot;name&quot;: &quot;A String&quot;, # The name of this cluster. The name must be unique within this project
-        # and location (e.g. zone or region), and can be up to 40 characters with
-        # the following restrictions:
-        #
-        # * Lowercase letters, numbers, and hyphens only.
-        # * Must start with a letter.
-        # * Must end with a number or a letter.
-    &quot;location&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
-        # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
-        # or
-        # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
-        # in which the cluster resides.
-    &quot;endpoint&quot;: &quot;A String&quot;, # [Output only] The IP address of this cluster&#x27;s master endpoint.
-        # The endpoint can be accessed from the internet at
-        # `https://username:password@endpoint/`.
-        #
-        # See the `masterAuth` property of this resource for username and
-        # password information.
-    &quot;createTime&quot;: &quot;A String&quot;, # [Output only] The time the cluster was created, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-    &quot;clusterIpv4Cidr&quot;: &quot;A String&quot;, # The IP address range of the container pods in this cluster, in
+    &quot;currentMasterVersion&quot;: &quot;A String&quot;, # [Output only] The current software version of the master endpoint.
+    &quot;masterAuthorizedNetworksConfig&quot;: { # Configuration options for the master authorized networks feature. Enabled # The configuration options for master authorized networks feature.
+        # master authorized networks will disallow all external traffic to access
+        # Kubernetes master through HTTPS except traffic from the given CIDR blocks,
+        # Google Compute Engine Public IPs and Google Prod IPs.
+      &quot;cidrBlocks&quot;: [ # cidr_blocks define up to 10 external networks that could access
+          # Kubernetes master through HTTPS.
+        { # CidrBlock contains an optional name and one CIDR block.
+          &quot;displayName&quot;: &quot;A String&quot;, # display_name is an optional field for users to identify CIDR blocks.
+          &quot;cidrBlock&quot;: &quot;A String&quot;, # cidr_block must be specified in CIDR notation.
+        },
+      ],
+      &quot;enabled&quot;: True or False, # Whether or not master authorized networks is enabled.
+    },
+    &quot;servicesIpv4Cidr&quot;: &quot;A String&quot;, # [Output only] The IP address range of the Kubernetes services in
+        # this cluster, in
         # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
-        # notation (e.g. `10.96.0.0/14`). Leave blank to have
-        # one automatically chosen or specify a `/14` block in `10.0.0.0/8`.
+        # notation (e.g. `1.2.3.4/29`). Service addresses are
+        # typically put in the last `/16` from the container CIDR.
+    &quot;masterIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP prefix in CIDR notation to use for the hosted master network.
+        # This prefix will be used for assigning private IP addresses to the
+        # master or set of masters, as well as the ILB VIP.
+        # This field is deprecated, use
+        # private_cluster_config.master_ipv4_cidr_block instead.
     &quot;autoscaling&quot;: { # ClusterAutoscaling contains global, per-cluster information # Cluster-level autoscaling configuration.
         # required by Cluster Autoscaler to automatically adjust
         # the size of the cluster and create/delete
         # node pools based on the current needs.
-      &quot;autoprovisioningLocations&quot;: [ # The list of Google Compute Engine
-          # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
-          # NodePool&#x27;s nodes can be created by NAP.
-        &quot;A String&quot;,
-      ],
-      &quot;resourceLimits&quot;: [ # Contains global constraints regarding minimum and maximum
-          # amount of resources in the cluster.
-        { # Contains information about amount of some resource in the cluster.
-            # For memory, value should be in GB.
-          &quot;maximum&quot;: &quot;A String&quot;, # Maximum amount of the resource in the cluster.
-          &quot;resourceType&quot;: &quot;A String&quot;, # Resource name &quot;cpu&quot;, &quot;memory&quot; or gpu-specific string.
-          &quot;minimum&quot;: &quot;A String&quot;, # Minimum amount of the resource in the cluster.
-        },
-      ],
-      &quot;autoscalingProfile&quot;: &quot;A String&quot;, # Defines autoscaling behaviour.
       &quot;enableNodeAutoprovisioning&quot;: True or False, # Enables automatic node pool creation and deletion.
       &quot;autoprovisioningNodePoolDefaults&quot;: { # AutoprovisioningNodePoolDefaults contains defaults for a node pool created # AutoprovisioningNodePoolDefaults contains defaults for a node pool
           # created by NAP.
           # by NAP.
-        &quot;serviceAccount&quot;: &quot;A String&quot;, # The Google Cloud Platform Service Account to be used by the node VMs. If
-            # service_account is specified, scopes should be empty.
-        &quot;minCpuPlatform&quot;: &quot;A String&quot;, # Minimum CPU platform to be used for NAP created node pools.
-            # The instance may be scheduled on the specified or newer CPU platform.
-            # Applicable values are the friendly names of CPU platforms, such as
-            # &lt;code&gt;minCpuPlatform: &amp;quot;Intel Haswell&amp;quot;&lt;/code&gt; or
-            # &lt;code&gt;minCpuPlatform: &amp;quot;Intel Sandy Bridge&amp;quot;&lt;/code&gt;. For more
-            # information, read [how to specify min CPU
-            # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
-            # To unset the min cpu platform field pass &quot;automatic&quot; as field value.
-        &quot;management&quot;: { # NodeManagement defines the set of node management services turned on for the # Specifies the node management options for NAP created node-pools.
-            # node pool.
-          &quot;autoRepair&quot;: True or False, # Whether the nodes will be automatically repaired.
-          &quot;autoUpgrade&quot;: True or False, # Whether the nodes will be automatically upgraded.
-          &quot;upgradeOptions&quot;: { # AutoUpgradeOptions defines the set of options for the user to control how # Specifies the Auto Upgrade knobs for the node pool.
-              # the Auto Upgrades will proceed.
-            &quot;description&quot;: &quot;A String&quot;, # [Output only] This field is set when upgrades are about to commence
-                # with the description of the upgrade.
-            &quot;autoUpgradeStartTime&quot;: &quot;A String&quot;, # [Output only] This field is set when upgrades are about to commence
-                # with the approximate start time for the upgrades, in
-                # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-          },
-        },
-        &quot;oauthScopes&quot;: [ # Scopes that are used by NAP when creating node pools. If oauth_scopes are
-            # specified, service_account should be empty.
-          &quot;A String&quot;,
-        ],
-        &quot;upgradeSettings&quot;: { # These upgrade settings control the level of parallelism and the level of # Specifies the upgrade settings for NAP created node pools
+        &quot;upgradeSettings&quot;: { # These upgrade settings control the level of parallelism and the level of # Upgrade settings control disruption and speed of the upgrade.
             # disruption caused by an upgrade.
             #
             # maxUnavailable controls the number of nodes that can be simultaneously
@@ -2701,923 +2364,280 @@
           &quot;maxSurge&quot;: 42, # The maximum number of nodes that can be created beyond the current size
               # of the node pool during the upgrade process.
         },
+        &quot;serviceAccount&quot;: &quot;A String&quot;, # The Google Cloud Platform Service Account to be used by the node VMs.
+            # Specify the email address of the Service Account; otherwise, if no Service
+            # Account is specified, the &quot;default&quot; service account is used.
+        &quot;oauthScopes&quot;: [ # The set of Google API scopes to be made available on all of the
+            # node VMs under the &quot;default&quot; service account.
+            #
+            # The following scopes are recommended, but not required, and by default are
+            # not included:
+            #
+            # * `https://www.googleapis.com/auth/compute` is required for mounting
+            # persistent storage on your nodes.
+            # * `https://www.googleapis.com/auth/devstorage.read_only` is required for
+            # communicating with **gcr.io**
+            # (the [Google Container
+            # Registry](https://cloud.google.com/container-registry/)).
+            #
+            # If unspecified, no scopes are added, unless Cloud Logging or Cloud
+            # Monitoring are enabled, in which case their required scopes will be added.
+          &quot;A String&quot;,
+        ],
+        &quot;minCpuPlatform&quot;: &quot;A String&quot;, # Minimum CPU platform to be used by this instance. The instance may be
+            # scheduled on the specified or newer CPU platform. Applicable values are the
+            # friendly names of CPU platforms, such as
+            # &lt;code&gt;minCpuPlatform: &amp;quot;Intel Haswell&amp;quot;&lt;/code&gt; or
+            # &lt;code&gt;minCpuPlatform: &amp;quot;Intel Sandy Bridge&amp;quot;&lt;/code&gt;. For more
+            # information, read [how to specify min CPU
+            # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
+            # To unset the min cpu platform field pass &quot;automatic&quot;
+            # as field value.
+        &quot;management&quot;: { # NodeManagement defines the set of node management services turned on for the # NodeManagement configuration for this NodePool.
+            # node pool.
+          &quot;autoRepair&quot;: True or False, # Whether the nodes will be automatically repaired.
+          &quot;autoUpgrade&quot;: True or False, # Whether the nodes will be automatically upgraded.
+          &quot;upgradeOptions&quot;: { # AutoUpgradeOptions defines the set of options for the user to control how # Specifies the Auto Upgrade knobs for the node pool.
+              # the Auto Upgrades will proceed.
+            &quot;description&quot;: &quot;A String&quot;, # [Output only] This field is set when upgrades are about to commence
+                # with the description of the upgrade.
+            &quot;autoUpgradeStartTime&quot;: &quot;A String&quot;, # [Output only] This field is set when upgrades are about to commence
+                # with the approximate start time for the upgrades, in
+                # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+          },
+        },
       },
+      &quot;autoscalingProfile&quot;: &quot;A String&quot;, # Defines autoscaling behaviour.
+      &quot;resourceLimits&quot;: [ # Contains global constraints regarding minimum and maximum
+          # amount of resources in the cluster.
+        { # Contains information about amount of some resource in the cluster.
+            # For memory, value should be in GB.
+          &quot;minimum&quot;: &quot;A String&quot;, # Minimum amount of the resource in the cluster.
+          &quot;maximum&quot;: &quot;A String&quot;, # Maximum amount of the resource in the cluster.
+          &quot;resourceType&quot;: &quot;A String&quot;, # Resource name &quot;cpu&quot;, &quot;memory&quot; or gpu-specific string.
+        },
+      ],
+      &quot;autoprovisioningLocations&quot;: [ # The list of Google Compute Engine
+          # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
+          # NodePool&#x27;s nodes can be created by NAP.
+        &quot;A String&quot;,
+      ],
     },
-    &quot;initialNodeCount&quot;: 42, # The number of nodes to create in this cluster. You must ensure that your
-        # Compute Engine &lt;a href=&quot;/compute/docs/resource-quotas&quot;&gt;resource quota&lt;/a&gt;
-        # is sufficient for this number of instances. You must also have available
-        # firewall and routes quota.
-        # For requests, this field should only be used in lieu of a
-        # &quot;node_pool&quot; object, since this configuration (along with the
-        # &quot;node_config&quot;) will be used to create a &quot;NodePool&quot; object with an
-        # auto-generated name. Do not use this and a node_pool at the same time.
-        #
-        # This field is deprecated, use node_pool.initial_node_count instead.
-    &quot;instanceGroupUrls&quot;: [ # Deprecated. Use node_pools.instance_group_urls.
+    &quot;locations&quot;: [ # The list of Google Compute Engine
+        # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
+        # cluster&#x27;s nodes should be located.
       &quot;A String&quot;,
     ],
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="legacyAbac">legacyAbac(projectId, zone, clusterId, body=None, x__xgafv=None)</code>
-  <pre>Enables or disables the ABAC authorization mechanism on a cluster.
-
-Args:
-  projectId: string, Required. Deprecated. The Google Developers Console [project ID or project
-number](https://support.google.com/cloud/answer/6158840).
-This field has been deprecated and replaced by the name field. (required)
-  zone: string, Required. Deprecated. The name of the Google Compute Engine
-[zone](https://cloud.google.com/compute/docs/zones#available) in which the
-cluster resides. This field has been deprecated and replaced by the name
-field. (required)
-  clusterId: string, Required. Deprecated. The name of the cluster to update.
-This field has been deprecated and replaced by the name field. (required)
-  body: object, The request body.
-    The object takes the form of:
-
-{ # SetLegacyAbacRequest enables or disables the ABAC authorization mechanism for
-      # a cluster.
-    &quot;name&quot;: &quot;A String&quot;, # The name (project, location, cluster id) of the cluster to set legacy abac.
-        # Specified in the format `projects/*/locations/*/clusters/*`.
-    &quot;enabled&quot;: True or False, # Required. Whether ABAC authorization will be enabled in the cluster.
-    &quot;projectId&quot;: &quot;A String&quot;, # Required. Deprecated. The Google Developers Console [project ID or project
-        # number](https://support.google.com/cloud/answer/6158840).
-        # This field has been deprecated and replaced by the name field.
-    &quot;zone&quot;: &quot;A String&quot;, # Required. Deprecated. The name of the Google Compute Engine
-        # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
-        # cluster resides. This field has been deprecated and replaced by the name
-        # field.
-    &quot;clusterId&quot;: &quot;A String&quot;, # Required. Deprecated. The name of the cluster to update.
-        # This field has been deprecated and replaced by the name field.
-  }
-
-  x__xgafv: string, V1 error format.
-    Allowed values
-      1 - v1 error format
-      2 - v2 error format
-
-Returns:
-  An object of the form:
-
-    { # This operation resource represents operations that may have happened or are
-      # happening on the cluster. All fields are output only.
-    &quot;targetLink&quot;: &quot;A String&quot;, # Server-defined URL for the target of the operation.
-    &quot;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
-    &quot;operationType&quot;: &quot;A String&quot;, # The operation type.
-    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
-    &quot;name&quot;: &quot;A String&quot;, # The server-assigned ID for the operation.
-    &quot;nodepoolConditions&quot;: [ # Which conditions caused the current node pool state.
+    &quot;conditions&quot;: [ # Which conditions caused the current cluster state.
       { # StatusCondition describes why a cluster or a node pool has a certain status
           # (e.g., ERROR or DEGRADED).
         &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
         &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
       },
     ],
-    &quot;endTime&quot;: &quot;A String&quot;, # [Output only] The time the operation completed, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    &quot;loggingService&quot;: &quot;A String&quot;, # The logging service the cluster should use to write logs.
+        # Currently available options:
+        #
+        # * `logging.googleapis.com/kubernetes` - The Cloud Logging
+        # service with a Kubernetes-native resource model
+        # * `logging.googleapis.com` - The legacy Cloud Logging service (no longer
+        #   available as of GKE 1.15).
+        # * `none` - no logs will be exported from the cluster.
+        #
+        # If left as an empty string,`logging.googleapis.com/kubernetes` will be
+        # used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.
+    &quot;enableKubernetesAlpha&quot;: True or False, # Kubernetes alpha features are enabled on this cluster. This includes alpha
+        # API groups (e.g. v1beta1) and features that may not be production ready in
+        # the kubernetes version of the master and nodes.
+        # The cluster has no SLA for uptime and master/node upgrades are disabled.
+        # Alpha enabled clusters are automatically deleted thirty days after
+        # creation.
+    &quot;instanceGroupUrls&quot;: [ # Deprecated. Use node_pools.instance_group_urls.
+      &quot;A String&quot;,
+    ],
+    &quot;name&quot;: &quot;A String&quot;, # The name of this cluster. The name must be unique within this project
+        # and location (e.g. zone or region), and can be up to 40 characters with
+        # the following restrictions:
+        #
+        # * Lowercase letters, numbers, and hyphens only.
+        # * Must start with a letter.
+        # * Must end with a number or a letter.
+    &quot;master&quot;: { # Master is the configuration for components on master. # Configuration for master components.
+    },
+    &quot;endpoint&quot;: &quot;A String&quot;, # [Output only] The IP address of this cluster&#x27;s master endpoint.
+        # The endpoint can be accessed from the internet at
+        # `https://username:password@endpoint/`.
+        #
+        # See the `masterAuth` property of this resource for username and
+        # password information.
+    &quot;resourceUsageExportConfig&quot;: { # Configuration for exporting cluster resource usages. # Configuration for exporting resource usages. Resource usage export is
+        # disabled when this config unspecified.
+      &quot;consumptionMeteringConfig&quot;: { # Parameters for controlling consumption metering. # Configuration to enable resource consumption metering.
+        &quot;enabled&quot;: True or False, # Whether to enable consumption metering for this cluster. If enabled, a
+            # second BigQuery table will be created to hold resource consumption
+            # records.
+      },
+      &quot;bigqueryDestination&quot;: { # Parameters for using BigQuery as the destination of resource usage export. # Configuration to use BigQuery as usage export destination.
+        &quot;datasetId&quot;: &quot;A String&quot;, # The ID of a BigQuery Dataset.
+      },
+      &quot;enableNetworkEgressMetering&quot;: True or False, # Whether to enable network egress metering for this cluster. If enabled, a
+          # daemonset will be created in the cluster to meter network egress traffic.
+    },
     &quot;location&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
         # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
         # or
         # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
         # in which the cluster resides.
-    &quot;startTime&quot;: &quot;A String&quot;, # [Output only] The time the operation started, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-    &quot;clusterConditions&quot;: [ # Which conditions caused the current cluster state.
-      { # StatusCondition describes why a cluster or a node pool has a certain status
-          # (e.g., ERROR or DEGRADED).
-        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
-        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
-      },
-    ],
-    &quot;progress&quot;: { # Information about operation (or operation stage) progress. # Output only. [Output only] Progress information for an operation.
-      &quot;metrics&quot;: [ # Progress metric bundle, for example:
-          #   metrics: [{name: &quot;nodes done&quot;,     int_value: 15},
-          #             {name: &quot;nodes total&quot;,    int_value: 32}]
-          # or
-          #   metrics: [{name: &quot;progress&quot;,       double_value: 0.56},
-          #             {name: &quot;progress scale&quot;, double_value: 1.0}]
-        { # Progress metric is (string, int|float|string) pair.
-          &quot;name&quot;: &quot;A String&quot;, # Required. Metric name, e.g., &quot;nodes total&quot;, &quot;percent done&quot;.
-          &quot;doubleValue&quot;: 3.14, # For metrics with floating point value.
-          &quot;intValue&quot;: &quot;A String&quot;, # For metrics with integer value.
-          &quot;stringValue&quot;: &quot;A String&quot;, # For metrics with custom values (ratios, visual progress, etc.).
-        },
-      ],
-      &quot;status&quot;: &quot;A String&quot;, # Status of an operation stage.
-          # Unset for single-stage operations.
-      &quot;name&quot;: &quot;A String&quot;, # A non-parameterized string describing an operation stage.
-          # Unset for single-stage operations.
-      &quot;stages&quot;: [ # Substages of an operation or a stage.
-        # Object with schema name: OperationProgress
-      ],
+    &quot;authenticatorGroupsConfig&quot;: { # Configuration for returning group information from authenticators. # Configuration controlling RBAC group membership information.
+      &quot;securityGroup&quot;: &quot;A String&quot;, # The name of the security group-of-groups to be used. Only relevant
+          # if enabled = true.
+      &quot;enabled&quot;: True or False, # Whether this cluster should return group membership lookups
+          # during authentication using a group of security groups.
     },
-    &quot;zone&quot;: &quot;A String&quot;, # The name of the Google Compute Engine
-        # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
-        # operation is taking place. This field is deprecated, use location instead.
-    &quot;statusMessage&quot;: &quot;A String&quot;, # Output only. If an error has occurred, a textual description of the error.
-    &quot;selfLink&quot;: &quot;A String&quot;, # Server-defined URL for the resource.
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list">list(projectId, zone, parent=None, x__xgafv=None)</code>
-  <pre>Lists all clusters owned by a project in either the specified zone or all
-zones.
-
-Args:
-  projectId: string, Required. Deprecated. The Google Developers Console [project ID or project
-number](https://support.google.com/cloud/answer/6158840).
-This field has been deprecated and replaced by the parent field. (required)
-  zone: string, Required. Deprecated. The name of the Google Compute Engine
-[zone](https://cloud.google.com/compute/docs/zones#available) in which the
-cluster resides, or &quot;-&quot; for all zones. This field has been deprecated and
-replaced by the parent field. (required)
-  parent: string, The parent (project and location) where the clusters will be listed.
-Specified in the format `projects/*/locations/*`.
-Location &quot;-&quot; matches all zones and all regions.
-  x__xgafv: string, V1 error format.
-    Allowed values
-      1 - v1 error format
-      2 - v2 error format
-
-Returns:
-  An object of the form:
-
-    { # ListClustersResponse is the result of ListClustersRequest.
-    &quot;clusters&quot;: [ # A list of clusters in the project in the specified zone, or
-        # across all ones.
-      { # A Google Kubernetes Engine cluster.
-        &quot;privateClusterConfig&quot;: { # Configuration options for private clusters. # Configuration for private cluster.
-          &quot;masterIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP range in CIDR notation to use for the hosted master network. This
-              # range will be used for assigning internal IP addresses to the master or
-              # set of masters, as well as the ILB VIP. This range must not overlap with
-              # any other ranges in use within the cluster&#x27;s network.
-          &quot;enablePrivateNodes&quot;: True or False, # Whether nodes have internal IP addresses only. If enabled, all nodes are
-              # given only RFC 1918 private addresses and communicate with the master via
-              # private networking.
-          &quot;privateEndpoint&quot;: &quot;A String&quot;, # Output only. The internal IP address of this cluster&#x27;s master endpoint.
-          &quot;enablePrivateEndpoint&quot;: True or False, # Whether the master&#x27;s internal IP address is used as the cluster endpoint.
-          &quot;peeringName&quot;: &quot;A String&quot;, # Output only. The peering name in the customer VPC used by this cluster.
-          &quot;masterGlobalAccessConfig&quot;: { # Configuration for controlling master global access settings. # Controls master global access settings.
-            &quot;enabled&quot;: True or False, # Whenever master is accessible globally or not.
-          },
-          &quot;publicEndpoint&quot;: &quot;A String&quot;, # Output only. The external IP address of this cluster&#x27;s master endpoint.
-        },
-        &quot;shieldedNodes&quot;: { # Configuration of Shielded Nodes feature. # Shielded Nodes configuration.
-          &quot;enabled&quot;: True or False, # Whether Shielded Nodes features are enabled on all nodes in this cluster.
-        },
-        &quot;verticalPodAutoscaling&quot;: { # VerticalPodAutoscaling contains global, per-cluster information # Cluster-level Vertical Pod Autoscaling configuration.
-            # required by Vertical Pod Autoscaler to automatically adjust
-            # the resources of pods controlled by it.
-          &quot;enabled&quot;: True or False, # Enables vertical pod autoscaling.
-        },
-        &quot;defaultMaxPodsConstraint&quot;: { # Constraints applied to pods. # The default constraint on the maximum number of pods that can be run
-            # simultaneously on a node in the node pool of this cluster. Only honored
-            # if cluster created with IP Alias support.
-          &quot;maxPodsPerNode&quot;: &quot;A String&quot;, # Constraint enforced on the max num of pods per node.
-        },
-        &quot;network&quot;: &quot;A String&quot;, # The name of the Google Compute Engine
-            # [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks)
-            # to which the cluster is connected. If left unspecified, the `default`
-            # network will be used. On output this shows the network ID instead of the
-            # name.
-        &quot;labelFingerprint&quot;: &quot;A String&quot;, # The fingerprint of the set of labels for this cluster.
-        &quot;nodeIpv4CidrSize&quot;: 42, # [Output only] The size of the address space on each node for hosting
-            # containers. This is provisioned from within the `container_ipv4_cidr`
-            # range. This field will only be set when cluster is in route-based network
-            # mode.
-        &quot;masterAuthorizedNetworksConfig&quot;: { # Configuration options for the master authorized networks feature. Enabled # The configuration options for master authorized networks feature.
-            # master authorized networks will disallow all external traffic to access
-            # Kubernetes master through HTTPS except traffic from the given CIDR blocks,
-            # Google Compute Engine Public IPs and Google Prod IPs.
-          &quot;enabled&quot;: True or False, # Whether or not master authorized networks is enabled.
-          &quot;cidrBlocks&quot;: [ # cidr_blocks define up to 10 external networks that could access
-              # Kubernetes master through HTTPS.
-            { # CidrBlock contains an optional name and one CIDR block.
-              &quot;cidrBlock&quot;: &quot;A String&quot;, # cidr_block must be specified in CIDR notation.
-              &quot;displayName&quot;: &quot;A String&quot;, # display_name is an optional field for users to identify CIDR blocks.
-            },
-          ],
-        },
-        &quot;statusMessage&quot;: &quot;A String&quot;, # [Output only] Additional information about the current status of this
-            # cluster, if available.
-        &quot;masterAuth&quot;: { # The authentication information for accessing the master endpoint. # The authentication information for accessing the master endpoint.
-            # If unspecified, the defaults are used:
-            # For clusters before v1.12, if master_auth is unspecified, `username` will
-            # be set to &quot;admin&quot;, a random password will be generated, and a client
-            # certificate will be issued.
-            # Authentication can be done using HTTP basic auth or using client
-            # certificates.
-          &quot;password&quot;: &quot;A String&quot;, # The password to use for HTTP basic authentication to the master endpoint.
-              # Because the master endpoint is open to the Internet, you should create a
-              # strong password.  If a password is provided for cluster creation, username
-              # must be non-empty.
-          &quot;clientCertificateConfig&quot;: { # Configuration for client certificates on the cluster. # Configuration for client certificate authentication on the cluster. For
-              # clusters before v1.12, if no configuration is specified, a client
-              # certificate is issued.
-            &quot;issueClientCertificate&quot;: True or False, # Issue a client certificate.
-          },
-          &quot;clientKey&quot;: &quot;A String&quot;, # [Output only] Base64-encoded private key used by clients to authenticate
-              # to the cluster endpoint.
-          &quot;clusterCaCertificate&quot;: &quot;A String&quot;,
-          &quot;clientCertificate&quot;: &quot;A String&quot;, # [Output only] Base64-encoded public certificate used by clients to
-              # authenticate to the cluster endpoint.
-          &quot;username&quot;: &quot;A String&quot;, # The username to use for HTTP basic authentication to the master endpoint.
-              # For clusters v1.6.0 and later, basic authentication can be disabled by
-              # leaving username unspecified (or setting it to the empty string).
-        },
-        &quot;authenticatorGroupsConfig&quot;: { # Configuration for returning group information from authenticators. # Configuration controlling RBAC group membership information.
-          &quot;securityGroup&quot;: &quot;A String&quot;, # The name of the security group-of-groups to be used. Only relevant
-              # if enabled = true.
-          &quot;enabled&quot;: True or False, # Whether this cluster should return group membership lookups
-              # during authentication using a group of security groups.
-        },
-        &quot;masterIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP prefix in CIDR notation to use for the hosted master network.
-            # This prefix will be used for assigning private IP addresses to the
-            # master or set of masters, as well as the ILB VIP.
-            # This field is deprecated, use
-            # private_cluster_config.master_ipv4_cidr_block instead.
-        &quot;clusterTelemetry&quot;: { # Telemetry integration for the cluster. # Telemetry integration for the cluster.
-          &quot;type&quot;: &quot;A String&quot;, # Type of the integration.
-        },
-        &quot;currentMasterVersion&quot;: &quot;A String&quot;, # [Output only] The current software version of the master endpoint.
-        &quot;podSecurityPolicyConfig&quot;: { # Configuration for the PodSecurityPolicy feature. # Configuration for the PodSecurityPolicy feature.
-          &quot;enabled&quot;: True or False, # Enable the PodSecurityPolicy controller for this cluster. If enabled, pods
-              # must be valid under a PodSecurityPolicy to be created.
-        },
-        &quot;addonsConfig&quot;: { # Configuration for the addons that can be automatically spun up in the # Configurations for the various addons available to run in the cluster.
-            # cluster, enabling additional functionality.
-          &quot;httpLoadBalancing&quot;: { # Configuration options for the HTTP (L7) load balancing controller addon, # Configuration for the HTTP (L7) load balancing controller addon, which
-              # makes it easy to set up HTTP load balancers for services in a cluster.
-              # which makes it easy to set up HTTP load balancers for services in a cluster.
-            &quot;disabled&quot;: True or False, # Whether the HTTP Load Balancing controller is enabled in the cluster.
-                # When enabled, it runs a small pod in the cluster that manages the load
-                # balancers.
-          },
-          &quot;kubernetesDashboard&quot;: { # Configuration for the Kubernetes Dashboard. # Configuration for the Kubernetes Dashboard.
-              # This addon is deprecated, and will be disabled in 1.15. It is recommended
-              # to use the Cloud Console to manage and monitor your Kubernetes clusters,
-              # workloads and applications. For more information, see:
-              # https://cloud.google.com/kubernetes-engine/docs/concepts/dashboards
-            &quot;disabled&quot;: True or False, # Whether the Kubernetes Dashboard is enabled for this cluster.
-          },
-          &quot;dnsCacheConfig&quot;: { # Configuration for NodeLocal DNSCache # Configuration for NodeLocalDNS, a dns cache running on cluster nodes
-            &quot;enabled&quot;: True or False, # Whether NodeLocal DNSCache is enabled for this cluster.
-          },
-          &quot;kalmConfig&quot;: { # Configuration options for the KALM addon. # Configuration for the KALM addon, which manages the lifecycle of k8s
-              # applications.
-            &quot;enabled&quot;: True or False, # Whether KALM is enabled for this cluster.
-          },
-          &quot;gcePersistentDiskCsiDriverConfig&quot;: { # Configuration for the Compute Engine PD CSI driver. This option can only be # Configuration for the Compute Engine Persistent Disk CSI driver.
-              # enabled at cluster creation time.
-            &quot;enabled&quot;: True or False, # Whether the Compute Engine PD CSI driver is enabled for this cluster.
-          },
-          &quot;istioConfig&quot;: { # Configuration options for Istio addon. # Configuration for Istio, an open platform to connect, manage, and secure
-              # microservices.
-            &quot;auth&quot;: &quot;A String&quot;, # The specified Istio auth mode, either none, or mutual TLS.
-            &quot;disabled&quot;: True or False, # Whether Istio is enabled for this cluster.
-          },
-          &quot;networkPolicyConfig&quot;: { # Configuration for NetworkPolicy. This only tracks whether the addon # Configuration for NetworkPolicy. This only tracks whether the addon
-              # is enabled or not on the Master, it does not track whether network policy
-              # is enabled for the nodes.
-              # is enabled or not on the Master, it does not track whether network policy
-              # is enabled for the nodes.
-            &quot;disabled&quot;: True or False, # Whether NetworkPolicy is enabled for this cluster.
-          },
-          &quot;cloudRunConfig&quot;: { # Configuration options for the Cloud Run feature. # Configuration for the Cloud Run addon. The `IstioConfig` addon must be
-              # enabled in order to enable Cloud Run addon. This option can only be enabled
-              # at cluster creation time.
-            &quot;disabled&quot;: True or False, # Whether Cloud Run addon is enabled for this cluster.
-          },
-          &quot;configConnectorConfig&quot;: { # Configuration options for the Config Connector add-on. # Configuration for the ConfigConnector add-on, a Kubernetes
-              # extension to manage hosted GCP services through the Kubernetes API
-            &quot;enabled&quot;: True or False, # Whether Cloud Connector is enabled for this cluster.
-          },
-          &quot;horizontalPodAutoscaling&quot;: { # Configuration options for the horizontal pod autoscaling feature, which # Configuration for the horizontal pod autoscaling feature, which
-              # increases or decreases the number of replica pods a replication controller
-              # has based on the resource usage of the existing pods.
-              # increases or decreases the number of replica pods a replication controller
-              # has based on the resource usage of the existing pods.
-            &quot;disabled&quot;: True or False, # Whether the Horizontal Pod Autoscaling feature is enabled in the cluster.
-                # When enabled, it ensures that metrics are collected into Stackdriver
-                # Monitoring.
+    &quot;subnetwork&quot;: &quot;A String&quot;, # The name of the Google Compute Engine
+        # [subnetwork](https://cloud.google.com/compute/docs/subnetworks) to which
+        # the cluster is connected. On output this shows the subnetwork ID instead of
+        # the name.
+    &quot;maintenancePolicy&quot;: { # MaintenancePolicy defines the maintenance policy to be used for the cluster. # Configure the maintenance policy for this cluster.
+      &quot;window&quot;: { # MaintenanceWindow defines the maintenance window to be used for the cluster. # Specifies the maintenance window in which maintenance may be performed.
+        &quot;recurringWindow&quot;: { # Represents an arbitrary window of time that recurs. # RecurringWindow specifies some number of recurring time periods for
+            # maintenance to occur. The time windows may be overlapping. If no
+            # maintenance windows are set, maintenance can occur at any time.
+          &quot;recurrence&quot;: &quot;A String&quot;, # An RRULE (https://tools.ietf.org/html/rfc5545#section-3.8.5.3) for how
+              # this window reccurs. They go on for the span of time between the start and
+              # end time.
+              #
+              # For example, to have something repeat every weekday, you&#x27;d use:
+              #   &lt;code&gt;FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR&lt;/code&gt;
+              # To repeat some window daily (equivalent to the DailyMaintenanceWindow):
+              #   &lt;code&gt;FREQ=DAILY&lt;/code&gt;
+              # For the first weekend of every month:
+              #   &lt;code&gt;FREQ=MONTHLY;BYSETPOS=1;BYDAY=SA,SU&lt;/code&gt;
+              # This specifies how frequently the window starts. Eg, if you wanted to have
+              # a 9-5 UTC-4 window every weekday, you&#x27;d use something like:
+              # &lt;code&gt;
+              #   start time = 2019-01-01T09:00:00-0400
+              #   end time = 2019-01-01T17:00:00-0400
+              #   recurrence = FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR
+              # &lt;/code&gt;
+              # Windows can span multiple days. Eg, to make the window encompass every
+              # weekend from midnight Saturday till the last minute of Sunday UTC:
+              # &lt;code&gt;
+              #   start time = 2019-01-05T00:00:00Z
+              #   end time = 2019-01-07T23:59:00Z
+              #   recurrence = FREQ=WEEKLY;BYDAY=SA
+              # &lt;/code&gt;
+              # Note the start and end time&#x27;s specific dates are largely arbitrary except
+              # to specify duration of the window and when it first starts.
+              # The FREQ values of HOURLY, MINUTELY, and SECONDLY are not supported.
+          &quot;window&quot;: { # Represents an arbitrary window of time. # The window of the first recurrence.
+            &quot;endTime&quot;: &quot;A String&quot;, # The time that the window ends. The end time should take place after the
+                # start time.
+            &quot;startTime&quot;: &quot;A String&quot;, # The time that the window first starts.
           },
         },
-        &quot;subnetwork&quot;: &quot;A String&quot;, # The name of the Google Compute Engine
-            # [subnetwork](https://cloud.google.com/compute/docs/subnetworks) to which
-            # the cluster is connected. On output this shows the subnetwork ID instead of
-            # the name.
-        &quot;currentNodeVersion&quot;: &quot;A String&quot;, # [Output only] Deprecated, use
-            # [NodePool.version](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters.nodePools)
-            # instead. The current version of the node software components.
-            # If they are currently at multiple versions because they&#x27;re in the process
-            # of being upgraded, this reflects the minimum version of all nodes.
-        &quot;maintenancePolicy&quot;: { # MaintenancePolicy defines the maintenance policy to be used for the cluster. # Configure the maintenance policy for this cluster.
-          &quot;window&quot;: { # MaintenanceWindow defines the maintenance window to be used for the cluster. # Specifies the maintenance window in which maintenance may be performed.
-            &quot;maintenanceExclusions&quot;: { # Exceptions to maintenance window. Non-emergency maintenance should not
-                # occur in these windows.
-              &quot;a_key&quot;: { # Represents an arbitrary window of time.
-                &quot;startTime&quot;: &quot;A String&quot;, # The time that the window first starts.
-                &quot;endTime&quot;: &quot;A String&quot;, # The time that the window ends. The end time should take place after the
-                    # start time.
-              },
-            },
-            &quot;recurringWindow&quot;: { # Represents an arbitrary window of time that recurs. # RecurringWindow specifies some number of recurring time periods for
-                # maintenance to occur. The time windows may be overlapping. If no
-                # maintenance windows are set, maintenance can occur at any time.
-              &quot;recurrence&quot;: &quot;A String&quot;, # An RRULE (https://tools.ietf.org/html/rfc5545#section-3.8.5.3) for how
-                  # this window reccurs. They go on for the span of time between the start and
-                  # end time.
-                  #
-                  # For example, to have something repeat every weekday, you&#x27;d use:
-                  #   &lt;code&gt;FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR&lt;/code&gt;
-                  # To repeat some window daily (equivalent to the DailyMaintenanceWindow):
-                  #   &lt;code&gt;FREQ=DAILY&lt;/code&gt;
-                  # For the first weekend of every month:
-                  #   &lt;code&gt;FREQ=MONTHLY;BYSETPOS=1;BYDAY=SA,SU&lt;/code&gt;
-                  # This specifies how frequently the window starts. Eg, if you wanted to have
-                  # a 9-5 UTC-4 window every weekday, you&#x27;d use something like:
-                  # &lt;code&gt;
-                  #   start time = 2019-01-01T09:00:00-0400
-                  #   end time = 2019-01-01T17:00:00-0400
-                  #   recurrence = FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR
-                  # &lt;/code&gt;
-                  # Windows can span multiple days. Eg, to make the window encompass every
-                  # weekend from midnight Saturday till the last minute of Sunday UTC:
-                  # &lt;code&gt;
-                  #   start time = 2019-01-05T00:00:00Z
-                  #   end time = 2019-01-07T23:59:00Z
-                  #   recurrence = FREQ=WEEKLY;BYDAY=SA
-                  # &lt;/code&gt;
-                  # Note the start and end time&#x27;s specific dates are largely arbitrary except
-                  # to specify duration of the window and when it first starts.
-                  # The FREQ values of HOURLY, MINUTELY, and SECONDLY are not supported.
-              &quot;window&quot;: { # Represents an arbitrary window of time. # The window of the first recurrence.
-                &quot;startTime&quot;: &quot;A String&quot;, # The time that the window first starts.
-                &quot;endTime&quot;: &quot;A String&quot;, # The time that the window ends. The end time should take place after the
-                    # start time.
-              },
-            },
-            &quot;dailyMaintenanceWindow&quot;: { # Time window specified for daily maintenance operations. # DailyMaintenanceWindow specifies a daily maintenance operation window.
-              &quot;duration&quot;: &quot;A String&quot;, # [Output only] Duration of the time window, automatically chosen to be
-                  # smallest possible in the given scenario.
-              &quot;startTime&quot;: &quot;A String&quot;, # Time within the maintenance window to start the maintenance operations.
-                  # It must be in format &quot;HH:MM&quot;, where HH : [00-23] and MM : [00-59] GMT.
-            },
+        &quot;dailyMaintenanceWindow&quot;: { # Time window specified for daily maintenance operations. # DailyMaintenanceWindow specifies a daily maintenance operation window.
+          &quot;startTime&quot;: &quot;A String&quot;, # Time within the maintenance window to start the maintenance operations.
+              # It must be in format &quot;HH:MM&quot;, where HH : [00-23] and MM : [00-59] GMT.
+          &quot;duration&quot;: &quot;A String&quot;, # [Output only] Duration of the time window, automatically chosen to be
+              # smallest possible in the given scenario.
+        },
+        &quot;maintenanceExclusions&quot;: { # Exceptions to maintenance window. Non-emergency maintenance should not
+            # occur in these windows.
+          &quot;a_key&quot;: { # Represents an arbitrary window of time.
+            &quot;endTime&quot;: &quot;A String&quot;, # The time that the window ends. The end time should take place after the
+                # start time.
+            &quot;startTime&quot;: &quot;A String&quot;, # The time that the window first starts.
           },
-          &quot;resourceVersion&quot;: &quot;A String&quot;, # A hash identifying the version of this policy, so that updates to fields of
-              # the policy won&#x27;t accidentally undo intermediate changes (and so that users
-              # of the API unaware of some fields won&#x27;t accidentally remove other fields).
-              # Make a &lt;code&gt;get()&lt;/code&gt; request to the cluster to get the current
-              # resource version and include it with requests to set the policy.
         },
-        &quot;resourceLabels&quot;: { # The resource labels for the cluster to use to annotate any related
-            # Google Compute Engine resources.
-          &quot;a_key&quot;: &quot;A String&quot;,
-        },
-        &quot;initialClusterVersion&quot;: &quot;A String&quot;, # The initial Kubernetes version for this cluster.  Valid versions are those
-            # found in validMasterVersions returned by getServerConfig.  The version can
-            # be upgraded over time; such upgrades are reflected in
-            # currentMasterVersion and currentNodeVersion.
+      },
+      &quot;resourceVersion&quot;: &quot;A String&quot;, # A hash identifying the version of this policy, so that updates to fields of
+          # the policy won&#x27;t accidentally undo intermediate changes (and so that users
+          # of the API unaware of some fields won&#x27;t accidentally remove other fields).
+          # Make a &lt;code&gt;get()&lt;/code&gt; request to the cluster to get the current
+          # resource version and include it with requests to set the policy.
+    },
+    &quot;tpuConfig&quot;: { # Configuration for Cloud TPU. # Configuration for Cloud TPU support;
+      &quot;ipv4CidrBlock&quot;: &quot;A String&quot;, # IPv4 CIDR block reserved for Cloud TPU in the VPC.
+      &quot;useServiceNetworking&quot;: True or False, # Whether to use service networking for Cloud TPU or not.
+      &quot;enabled&quot;: True or False, # Whether Cloud TPU integration is enabled or not.
+    },
+    &quot;nodePools&quot;: [ # The node pools associated with this cluster.
+        # This field should not be set if &quot;node_config&quot; or &quot;initial_node_count&quot; are
+        # specified.
+      { # NodePool contains the name and configuration for a cluster&#x27;s node pool.
+          # Node pools are a set of nodes (i.e. VM&#x27;s), with a common configuration and
+          # specification, under the control of the cluster master. They may have a set
+          # of Kubernetes labels applied to them, which may be used to reference them
+          # during pod scheduling. They may also be resized up or down, to accommodate
+          # the workload.
+        &quot;status&quot;: &quot;A String&quot;, # [Output only] The status of the nodes in this pool instance.
+        &quot;upgradeSettings&quot;: { # These upgrade settings control the level of parallelism and the level of # Upgrade settings control disruption and speed of the upgrade.
+            # disruption caused by an upgrade.
             #
-            # Users may specify either explicit versions offered by
-            # Kubernetes Engine or version aliases, which have the following behavior:
+            # maxUnavailable controls the number of nodes that can be simultaneously
+            # unavailable.
             #
-            # - &quot;latest&quot;: picks the highest valid Kubernetes version
-            # - &quot;1.X&quot;: picks the highest valid patch+gke.N patch in the 1.X version
-            # - &quot;1.X.Y&quot;: picks the highest valid gke.N patch in the 1.X.Y version
-            # - &quot;1.X.Y-gke.N&quot;: picks an explicit Kubernetes version
-            # - &quot;&quot;,&quot;-&quot;: picks the default Kubernetes version
-        &quot;ipAllocationPolicy&quot;: { # Configuration for controlling how IPs are allocated in the cluster. # Configuration for cluster IP allocation.
-          &quot;useRoutes&quot;: True or False, # Whether routes will be used for pod IPs in the cluster.
-              # This is used in conjunction with use_ip_aliases. It cannot be true if
-              # use_ip_aliases is true. If both use_ip_aliases and use_routes are false,
-              # then the server picks the default IP allocation mode
-          &quot;servicesIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP address range of the services IPs in this cluster. If blank, a range
-              # will be automatically chosen with the default size.
-              #
-              # This field is only applicable when `use_ip_aliases` is true.
-              #
-              # Set to blank to have a range chosen with the default size.
-              #
-              # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
-              # netmask.
-              #
-              # Set to a
-              # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
-              # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
-              # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
-              # to use.
-          &quot;allowRouteOverlap&quot;: True or False, # If true, allow allocation of cluster CIDR ranges that overlap with certain
-              # kinds of network routes. By default we do not allow cluster CIDR ranges to
-              # intersect with any user declared routes. With allow_route_overlap == true,
-              # we allow overlapping with CIDR ranges that are larger than the cluster CIDR
-              # range.
-              #
-              # If this field is set to true, then cluster and services CIDRs must be
-              # fully-specified (e.g. `10.96.0.0/14`, but not `/14`), which means:
-              # 1) When `use_ip_aliases` is true, `cluster_ipv4_cidr_block` and
-              #    `services_ipv4_cidr_block` must be fully-specified.
-              # 2) When `use_ip_aliases` is false, `cluster.cluster_ipv4_cidr` muse be
-              #    fully-specified.
-          &quot;nodeIpv4Cidr&quot;: &quot;A String&quot;, # This field is deprecated, use node_ipv4_cidr_block.
-          &quot;clusterIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP address range for the cluster pod IPs. If this field is set, then
-              # `cluster.cluster_ipv4_cidr` must be left blank.
-              #
-              # This field is only applicable when `use_ip_aliases` is true.
-              #
-              # Set to blank to have a range chosen with the default size.
-              #
-              # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
-              # netmask.
-              #
-              # Set to a
-              # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
-              # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
-              # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
-              # to use.
-          &quot;clusterSecondaryRangeName&quot;: &quot;A String&quot;, # The name of the secondary range to be used for the cluster CIDR
-              # block.  The secondary range will be used for pod IP
-              # addresses. This must be an existing secondary range associated
-              # with the cluster subnetwork.
-              #
-              # This field is only applicable with use_ip_aliases and
-              # create_subnetwork is false.
-          &quot;nodeIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP address range of the instance IPs in this cluster.
-              #
-              # This is applicable only if `create_subnetwork` is true.
-              #
-              # Set to blank to have a range chosen with the default size.
-              #
-              # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
-              # netmask.
-              #
-              # Set to a
-              # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
-              # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
-              # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
-              # to use.
-          &quot;tpuIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP address range of the Cloud TPUs in this cluster. If unspecified, a
-              # range will be automatically chosen with the default size.
-              #
-              # This field is only applicable when `use_ip_aliases` is true.
-              #
-              # If unspecified, the range will use the default size.
-              #
-              # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
-              # netmask.
-              #
-              # Set to a
-              # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
-              # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
-              # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
-              # to use.
-              # This field is deprecated, use cluster.tpu_config.ipv4_cidr_block instead.
-          &quot;servicesSecondaryRangeName&quot;: &quot;A String&quot;, # The name of the secondary range to be used as for the services
-              # CIDR block.  The secondary range will be used for service
-              # ClusterIPs. This must be an existing secondary range associated
-              # with the cluster subnetwork.
-              #
-              # This field is only applicable with use_ip_aliases and
-              # create_subnetwork is false.
-          &quot;createSubnetwork&quot;: True or False, # Whether a new subnetwork will be created automatically for the cluster.
-              #
-              # This field is only applicable when `use_ip_aliases` is true.
-          &quot;useIpAliases&quot;: True or False, # Whether alias IPs will be used for pod IPs in the cluster.
-              # This is used in conjunction with use_routes. It cannot
-              # be true if use_routes is true. If both use_ip_aliases and use_routes are
-              # false, then the server picks the default IP allocation mode
-          &quot;subnetworkName&quot;: &quot;A String&quot;, # A custom subnetwork name to be used if `create_subnetwork` is true.  If
-              # this field is empty, then an automatic name will be chosen for the new
-              # subnetwork.
-          &quot;clusterIpv4Cidr&quot;: &quot;A String&quot;, # This field is deprecated, use cluster_ipv4_cidr_block.
-          &quot;servicesIpv4Cidr&quot;: &quot;A String&quot;, # This field is deprecated, use services_ipv4_cidr_block.
+            # maxSurge controls the number of additional nodes that can be added to the
+            # node pool temporarily for the time of the upgrade to increase the number of
+            # available nodes.
+            #
+            # (maxUnavailable + maxSurge) determines the level of parallelism (how many
+            # nodes are being upgraded at the same time).
+            #
+            # Note: upgrades inevitably introduce some disruption since workloads need to
+            # be moved from old nodes to new, upgraded ones. Even if maxUnavailable=0,
+            # this holds true. (Disruption stays within the limits of
+            # PodDisruptionBudget, if it is configured.)
+            #
+            # Consider a hypothetical node pool with 5 nodes having maxSurge=2,
+            # maxUnavailable=1. This means the upgrade process upgrades 3 nodes
+            # simultaneously. It creates 2 additional (upgraded) nodes, then it brings
+            # down 3 old (not yet upgraded) nodes at the same time. This ensures that
+            # there are always at least 4 nodes available.
+          &quot;maxUnavailable&quot;: 42, # The maximum number of nodes that can be simultaneously unavailable during
+              # the upgrade process. A node is considered available if its status is
+              # Ready.
+          &quot;maxSurge&quot;: 42, # The maximum number of nodes that can be created beyond the current size
+              # of the node pool during the upgrade process.
         },
-        &quot;legacyAbac&quot;: { # Configuration for the legacy Attribute Based Access Control authorization # Configuration for the legacy ABAC authorization mode.
-            # mode.
-          &quot;enabled&quot;: True or False, # Whether the ABAC authorizer is enabled for this cluster. When enabled,
-              # identities in the system, including service accounts, nodes, and
-              # controllers, will have statically granted permissions beyond those
-              # provided by the RBAC configuration or IAM.
-        },
-        &quot;resourceUsageExportConfig&quot;: { # Configuration for exporting cluster resource usages. # Configuration for exporting resource usages. Resource usage export is
-            # disabled when this config unspecified.
-          &quot;enableNetworkEgressMetering&quot;: True or False, # Whether to enable network egress metering for this cluster. If enabled, a
-              # daemonset will be created in the cluster to meter network egress traffic.
-          &quot;consumptionMeteringConfig&quot;: { # Parameters for controlling consumption metering. # Configuration to enable resource consumption metering.
-            &quot;enabled&quot;: True or False, # Whether to enable consumption metering for this cluster. If enabled, a
-                # second BigQuery table will be created to hold resource consumption
-                # records.
-          },
-          &quot;bigqueryDestination&quot;: { # Parameters for using BigQuery as the destination of resource usage export. # Configuration to use BigQuery as usage export destination.
-            &quot;datasetId&quot;: &quot;A String&quot;, # The ID of a BigQuery Dataset.
-          },
-        },
-        &quot;enableTpu&quot;: True or False, # Enable the ability to use Cloud TPUs in this cluster.
-            # This field is deprecated, use tpu_config.enabled instead.
-        &quot;nodePools&quot;: [ # The node pools associated with this cluster.
-            # This field should not be set if &quot;node_config&quot; or &quot;initial_node_count&quot; are
-            # specified.
-          { # NodePool contains the name and configuration for a cluster&#x27;s node pool.
-              # Node pools are a set of nodes (i.e. VM&#x27;s), with a common configuration and
-              # specification, under the control of the cluster master. They may have a set
-              # of Kubernetes labels applied to them, which may be used to reference them
-              # during pod scheduling. They may also be resized up or down, to accommodate
-              # the workload.
-            &quot;status&quot;: &quot;A String&quot;, # [Output only] The status of the nodes in this pool instance.
-            &quot;config&quot;: { # Parameters that describe the nodes in a cluster. # The node configuration of the pool.
-              &quot;minCpuPlatform&quot;: &quot;A String&quot;, # Minimum CPU platform to be used by this instance. The instance may be
-                  # scheduled on the specified or newer CPU platform. Applicable values are the
-                  # friendly names of CPU platforms, such as
-                  # &lt;code&gt;minCpuPlatform: &amp;quot;Intel Haswell&amp;quot;&lt;/code&gt; or
-                  # &lt;code&gt;minCpuPlatform: &amp;quot;Intel Sandy Bridge&amp;quot;&lt;/code&gt;. For more
-                  # information, read [how to specify min CPU
-                  # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
-              &quot;shieldedInstanceConfig&quot;: { # A set of Shielded Instance options. # Shielded Instance options.
-                &quot;enableIntegrityMonitoring&quot;: True or False, # Defines whether the instance has integrity monitoring enabled.
-                    #
-                    # Enables monitoring and attestation of the boot integrity of the instance.
-                    # The attestation is performed against the integrity policy baseline. This
-                    # baseline is initially derived from the implicitly trusted boot image when
-                    # the instance is created.
-                &quot;enableSecureBoot&quot;: True or False, # Defines whether the instance has Secure Boot enabled.
-                    #
-                    # Secure Boot helps ensure that the system only runs authentic software by
-                    # verifying the digital signature of all boot components, and halting the
-                    # boot process if signature verification fails.
-              },
-              &quot;preemptible&quot;: True or False, # Whether the nodes are created as preemptible VM instances. See:
-                  # https://cloud.google.com/compute/docs/instances/preemptible for more
-                  # inforamtion about preemptible VM instances.
-              &quot;localSsdCount&quot;: 42, # The number of local SSD disks to be attached to the node.
-                  #
-                  # The limit for this value is dependent upon the maximum number of
-                  # disks available on a machine per zone. See:
-                  # https://cloud.google.com/compute/docs/disks/local-ssd
-                  # for more information.
-              &quot;sandboxConfig&quot;: { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node.
-                &quot;type&quot;: &quot;A String&quot;, # Type of the sandbox to use for the node.
-                &quot;sandboxType&quot;: &quot;A String&quot;, # Type of the sandbox to use for the node (e.g. &#x27;gvisor&#x27;)
-              },
-              &quot;metadata&quot;: { # The metadata key/value pairs assigned to instances in the cluster.
-                  #
-                  # Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes
-                  # in length. These are reflected as part of a URL in the metadata server.
-                  # Additionally, to avoid ambiguity, keys must not conflict with any other
-                  # metadata keys for the project or be one of the reserved keys:
-                  #  &quot;cluster-location&quot;
-                  #  &quot;cluster-name&quot;
-                  #  &quot;cluster-uid&quot;
-                  #  &quot;configure-sh&quot;
-                  #  &quot;containerd-configure-sh&quot;
-                  #  &quot;enable-oslogin&quot;
-                  #  &quot;gci-ensure-gke-docker&quot;
-                  #  &quot;gci-metrics-enabled&quot;
-                  #  &quot;gci-update-strategy&quot;
-                  #  &quot;instance-template&quot;
-                  #  &quot;kube-env&quot;
-                  #  &quot;startup-script&quot;
-                  #  &quot;user-data&quot;
-                  #  &quot;disable-address-manager&quot;
-                  #  &quot;windows-startup-script-ps1&quot;
-                  #  &quot;common-psm1&quot;
-                  #  &quot;k8s-node-setup-psm1&quot;
-                  #  &quot;install-ssh-psm1&quot;
-                  #  &quot;user-profile-psm1&quot;
-                  #  &quot;serial-port-logging-enable&quot;
-                  # Values are free-form strings, and only have meaning as interpreted by
-                  # the image running in the instance. The only restriction placed on them is
-                  # that each value&#x27;s size must be less than or equal to 32 KB.
-                  #
-                  # The total size of all keys and values must be less than 512 KB.
-                &quot;a_key&quot;: &quot;A String&quot;,
-              },
-              &quot;reservationAffinity&quot;: { # [ReservationAffinity](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources) # The optional reservation affinity. Setting this field will apply
-                  # the specified [Zonal Compute
-                  # Reservation](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources)
-                  # to this node pool.
-                  # is the configuration of desired reservation which instances could take
-                  # capacity from.
-                &quot;key&quot;: &quot;A String&quot;, # Corresponds to the label key of a reservation resource. To target a
-                    # SPECIFIC_RESERVATION by name, specify &quot;googleapis.com/reservation-name&quot; as
-                    # the key and specify the name of your reservation as its value.
-                &quot;values&quot;: [ # Corresponds to the label value(s) of reservation resource(s).
-                  &quot;A String&quot;,
-                ],
-                &quot;consumeReservationType&quot;: &quot;A String&quot;, # Corresponds to the type of reservation consumption.
-              },
-              &quot;tags&quot;: [ # The list of instance tags applied to all nodes. Tags are used to identify
-                  # valid sources or targets for network firewalls and are specified by
-                  # the client during cluster or node pool creation. Each tag within the list
-                  # must comply with RFC1035.
-                &quot;A String&quot;,
-              ],
-              &quot;serviceAccount&quot;: &quot;A String&quot;, # The Google Cloud Platform Service Account to be used by the node VMs.
-                  # Specify the email address of the Service Account; otherwise, if no Service
-                  # Account is specified, the &quot;default&quot; service account is used.
-              &quot;imageType&quot;: &quot;A String&quot;, # The image type to use for this node. Note that for a given image type,
-                  # the latest version of it will be used.
-              &quot;oauthScopes&quot;: [ # The set of Google API scopes to be made available on all of the
-                  # node VMs under the &quot;default&quot; service account.
-                  #
-                  # The following scopes are recommended, but not required, and by default are
-                  # not included:
-                  #
-                  # * `https://www.googleapis.com/auth/compute` is required for mounting
-                  # persistent storage on your nodes.
-                  # * `https://www.googleapis.com/auth/devstorage.read_only` is required for
-                  # communicating with **gcr.io**
-                  # (the [Google Container
-                  # Registry](https://cloud.google.com/container-registry/)).
-                  #
-                  # If unspecified, no scopes are added, unless Cloud Logging or Cloud
-                  # Monitoring are enabled, in which case their required scopes will be added.
-                &quot;A String&quot;,
-              ],
-              &quot;taints&quot;: [ # List of kubernetes taints to be applied to each node.
-                  #
-                  # For more information, including usage and the valid values, see:
-                  # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
-                { # Kubernetes taint is comprised of three fields: key, value, and effect. Effect
-                    # can only be one of three types:  NoSchedule, PreferNoSchedule or NoExecute.
-                    #
-                    # See
-                    # [here](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration)
-                    # for more information, including usage and the valid values.
-                  &quot;effect&quot;: &quot;A String&quot;, # Effect for taint.
-                  &quot;value&quot;: &quot;A String&quot;, # Value for taint.
-                  &quot;key&quot;: &quot;A String&quot;, # Key for taint.
-                },
-              ],
-              &quot;labels&quot;: { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
-                  # These will added in addition to any default label(s) that
-                  # Kubernetes may apply to the node.
-                  # In case of conflict in label keys, the applied set may differ depending on
-                  # the Kubernetes version -- it&#x27;s best to assume the behavior is undefined
-                  # and conflicts should be avoided.
-                  # For more information, including usage and the valid values, see:
-                  # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
-                &quot;a_key&quot;: &quot;A String&quot;,
-              },
-              &quot;diskSizeGb&quot;: 42, # Size of the disk attached to each node, specified in GB.
-                  # The smallest allowed disk size is 10GB.
-                  #
-                  # If unspecified, the default disk size is 100GB.
-              &quot;workloadMetadataConfig&quot;: { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node.
-                  # workloads on the node pool.
-                &quot;nodeMetadata&quot;: &quot;A String&quot;, # NodeMetadata is the configuration for how to expose metadata to the
-                    # workloads running on the node.
-                &quot;mode&quot;: &quot;A String&quot;, # Mode is the configuration for how to expose metadata to workloads running
-                    # on the node pool.
-              },
-              &quot;accelerators&quot;: [ # A list of hardware accelerators to be attached to each node.
-                  # See https://cloud.google.com/compute/docs/gpus for more information about
-                  # support for GPUs.
-                { # AcceleratorConfig represents a Hardware Accelerator request.
-                  &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators
-                      # [here](https://cloud.google.com/compute/docs/gpus)
-                  &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
-                },
-              ],
-              &quot;machineType&quot;: &quot;A String&quot;, # The name of a Google Compute Engine [machine
-                  # type](https://cloud.google.com/compute/docs/machine-types) (e.g.
-                  # `n1-standard-1`).
-                  #
-                  # If unspecified, the default machine type is
-                  # `n1-standard-1`.
-              &quot;diskType&quot;: &quot;A String&quot;, # Type of the disk attached to each node (e.g. &#x27;pd-standard&#x27; or &#x27;pd-ssd&#x27;)
-                  #
-                  # If unspecified, the default disk type is &#x27;pd-standard&#x27;
-              &quot;bootDiskKmsKey&quot;: &quot;A String&quot;, #
-                  # The Customer Managed Encryption Key used to encrypt the boot disk attached
-                  # to each node in the node pool. This should be of the form
-                  # projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME].
-                  # For more information about protecting resources with Cloud KMS Keys please
-                  # see:
-                  # https://cloud.google.com/compute/docs/disks/customer-managed-encryption
-            },
-            &quot;maxPodsConstraint&quot;: { # Constraints applied to pods. # The constraint on the maximum number of pods that can be run
-                # simultaneously on a node in the node pool.
-              &quot;maxPodsPerNode&quot;: &quot;A String&quot;, # Constraint enforced on the max num of pods per node.
-            },
-            &quot;name&quot;: &quot;A String&quot;, # The name of the node pool.
-            &quot;management&quot;: { # NodeManagement defines the set of node management services turned on for the # NodeManagement configuration for this NodePool.
-                # node pool.
-              &quot;autoRepair&quot;: True or False, # Whether the nodes will be automatically repaired.
-              &quot;autoUpgrade&quot;: True or False, # Whether the nodes will be automatically upgraded.
-              &quot;upgradeOptions&quot;: { # AutoUpgradeOptions defines the set of options for the user to control how # Specifies the Auto Upgrade knobs for the node pool.
-                  # the Auto Upgrades will proceed.
-                &quot;description&quot;: &quot;A String&quot;, # [Output only] This field is set when upgrades are about to commence
-                    # with the description of the upgrade.
-                &quot;autoUpgradeStartTime&quot;: &quot;A String&quot;, # [Output only] This field is set when upgrades are about to commence
-                    # with the approximate start time for the upgrades, in
-                    # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-              },
-            },
-            &quot;statusMessage&quot;: &quot;A String&quot;, # [Output only] Additional information about the current status of this
-                # node pool instance, if available.
-            &quot;autoscaling&quot;: { # NodePoolAutoscaling contains information required by cluster autoscaler to # Autoscaler configuration for this NodePool. Autoscaler is enabled
-                # only if a valid configuration is present.
-                # adjust the size of the node pool to the current cluster usage.
-              &quot;maxNodeCount&quot;: 42, # Maximum number of nodes in the NodePool. Must be &gt;= min_node_count. There
-                  # has to enough quota to scale up the cluster.
-              &quot;autoprovisioned&quot;: True or False, # Can this node pool be deleted automatically.
-              &quot;minNodeCount&quot;: 42, # Minimum number of nodes in the NodePool. Must be &gt;= 1 and &lt;=
-                  # max_node_count.
-              &quot;enabled&quot;: True or False, # Is autoscaling enabled for this node pool.
-            },
-            &quot;initialNodeCount&quot;: 42, # The initial node count for the pool. You must ensure that your
-                # Compute Engine &lt;a href=&quot;/compute/docs/resource-quotas&quot;&gt;resource quota&lt;/a&gt;
-                # is sufficient for this number of instances. You must also have available
-                # firewall and routes quota.
-            &quot;locations&quot;: [ # The list of Google Compute Engine
-                # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
-                # NodePool&#x27;s nodes should be located.
-              &quot;A String&quot;,
-            ],
-            &quot;upgradeSettings&quot;: { # These upgrade settings control the level of parallelism and the level of # Upgrade settings control disruption and speed of the upgrade.
-                # disruption caused by an upgrade.
-                #
-                # maxUnavailable controls the number of nodes that can be simultaneously
-                # unavailable.
-                #
-                # maxSurge controls the number of additional nodes that can be added to the
-                # node pool temporarily for the time of the upgrade to increase the number of
-                # available nodes.
-                #
-                # (maxUnavailable + maxSurge) determines the level of parallelism (how many
-                # nodes are being upgraded at the same time).
-                #
-                # Note: upgrades inevitably introduce some disruption since workloads need to
-                # be moved from old nodes to new, upgraded ones. Even if maxUnavailable=0,
-                # this holds true. (Disruption stays within the limits of
-                # PodDisruptionBudget, if it is configured.)
-                #
-                # Consider a hypothetical node pool with 5 nodes having maxSurge=2,
-                # maxUnavailable=1. This means the upgrade process upgrades 3 nodes
-                # simultaneously. It creates 2 additional (upgraded) nodes, then it brings
-                # down 3 old (not yet upgraded) nodes at the same time. This ensures that
-                # there are always at least 4 nodes available.
-              &quot;maxUnavailable&quot;: 42, # The maximum number of nodes that can be simultaneously unavailable during
-                  # the upgrade process. A node is considered available if its status is
-                  # Ready.
-              &quot;maxSurge&quot;: 42, # The maximum number of nodes that can be created beyond the current size
-                  # of the node pool during the upgrade process.
-            },
-            &quot;selfLink&quot;: &quot;A String&quot;, # [Output only] Server-defined URL for the resource.
-            &quot;version&quot;: &quot;A String&quot;, # The version of the Kubernetes of this node.
-            &quot;instanceGroupUrls&quot;: [ # [Output only] The resource URLs of the [managed instance
-                # groups](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances)
-                # associated with this node pool.
-              &quot;A String&quot;,
-            ],
-            &quot;podIpv4CidrSize&quot;: 42, # [Output only] The pod CIDR block size per node in this node pool.
-            &quot;conditions&quot;: [ # Which conditions caused the current node pool state.
-              { # StatusCondition describes why a cluster or a node pool has a certain status
-                  # (e.g., ERROR or DEGRADED).
-                &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
-                &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
-              },
-            ],
-          },
-        ],
-        &quot;locations&quot;: [ # The list of Google Compute Engine
-            # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
-            # cluster&#x27;s nodes should be located.
+        &quot;instanceGroupUrls&quot;: [ # [Output only] The resource URLs of the [managed instance
+            # groups](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances)
+            # associated with this node pool.
           &quot;A String&quot;,
         ],
-        &quot;selfLink&quot;: &quot;A String&quot;, # [Output only] Server-defined URL for the resource.
-        &quot;releaseChannel&quot;: { # ReleaseChannel indicates which release channel a cluster is # Release channel configuration.
-            # subscribed to. Release channels are arranged in order of risk and
-            # frequency of updates.
-            #
-            # When a cluster is subscribed to a release channel, Google maintains
-            # both the master version and the node version. Node auto-upgrade
-            # defaults to true and cannot be disabled. Updates to version related
-            # fields (e.g. current_master_version) return an error.
-          &quot;channel&quot;: &quot;A String&quot;, # channel specifies which release channel the cluster is subscribed to.
+        &quot;autoscaling&quot;: { # NodePoolAutoscaling contains information required by cluster autoscaler to # Autoscaler configuration for this NodePool. Autoscaler is enabled
+            # only if a valid configuration is present.
+            # adjust the size of the node pool to the current cluster usage.
+          &quot;autoprovisioned&quot;: True or False, # Can this node pool be deleted automatically.
+          &quot;minNodeCount&quot;: 42, # Minimum number of nodes in the NodePool. Must be &gt;= 1 and &lt;=
+              # max_node_count.
+          &quot;enabled&quot;: True or False, # Is autoscaling enabled for this node pool.
+          &quot;maxNodeCount&quot;: 42, # Maximum number of nodes in the NodePool. Must be &gt;= min_node_count. There
+              # has to enough quota to scale up the cluster.
         },
-        &quot;networkPolicy&quot;: { # Configuration options for the NetworkPolicy feature. # Configuration options for the NetworkPolicy feature.
-            # https://kubernetes.io/docs/concepts/services-networking/networkpolicies/
-          &quot;provider&quot;: &quot;A String&quot;, # The selected network policy provider.
-          &quot;enabled&quot;: True or False, # Whether network policy is enabled on the cluster.
-        },
-        &quot;servicesIpv4Cidr&quot;: &quot;A String&quot;, # [Output only] The IP address range of the Kubernetes services in
-            # this cluster, in
-            # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
-            # notation (e.g. `1.2.3.4/29`). Service addresses are
-            # typically put in the last `/16` from the container CIDR.
-        &quot;enableKubernetesAlpha&quot;: True or False, # Kubernetes alpha features are enabled on this cluster. This includes alpha
-            # API groups (e.g. v1beta1) and features that may not be production ready in
-            # the kubernetes version of the master and nodes.
-            # The cluster has no SLA for uptime and master/node upgrades are disabled.
-            # Alpha enabled clusters are automatically deleted thirty days after
-            # creation.
-        &quot;description&quot;: &quot;A String&quot;, # An optional description of this cluster.
-        &quot;conditions&quot;: [ # Which conditions caused the current cluster state.
-          { # StatusCondition describes why a cluster or a node pool has a certain status
-              # (e.g., ERROR or DEGRADED).
-            &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
-            &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
-          },
-        ],
-        &quot;privateCluster&quot;: True or False, # If this is a private cluster setup. Private clusters are clusters that, by
-            # default have no external IP addresses on the nodes and where nodes and the
-            # master communicate over private IP addresses.
-            # This field is deprecated, use private_cluster_config.enable_private_nodes
-            # instead.
-        &quot;currentNodeCount&quot;: 42, # [Output only]  The number of nodes currently in the cluster. Deprecated.
-            # Call Kubernetes API directly to retrieve node information.
-        &quot;monitoringService&quot;: &quot;A String&quot;, # The monitoring service the cluster should use to write metrics.
-            # Currently available options:
-            #
-            # * &quot;monitoring.googleapis.com/kubernetes&quot; - The Cloud Monitoring
-            # service with a Kubernetes-native resource model
-            # * `monitoring.googleapis.com` - The legacy Cloud Monitoring service (no
-            #   longer available as of GKE 1.15).
-            # * `none` - No metrics will be exported from the cluster.
-            #
-            # If left as an empty string,`monitoring.googleapis.com/kubernetes` will be
-            # used for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions.
-        &quot;databaseEncryption&quot;: { # Configuration of etcd encryption. # Configuration of etcd encryption.
-          &quot;state&quot;: &quot;A String&quot;, # Denotes the state of etcd encryption.
-          &quot;keyName&quot;: &quot;A String&quot;, # Name of CloudKMS key to use for the encryption of secrets in etcd.
-              # Ex. projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-key
-        },
-        &quot;binaryAuthorization&quot;: { # Configuration for Binary Authorization. # Configuration for Binary Authorization.
-          &quot;enabled&quot;: True or False, # Enable Binary Authorization for this cluster. If enabled, all container
-              # images will be validated by Google Binauthz.
-        },
-        &quot;tpuIpv4CidrBlock&quot;: &quot;A String&quot;, # [Output only] The IP address range of the Cloud TPUs in this cluster, in
-            # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
-            # notation (e.g. `1.2.3.4/29`).
-        &quot;workloadIdentityConfig&quot;: { # Configuration for the use of Kubernetes Service Accounts in GCP IAM # Configuration for the use of Kubernetes Service Accounts in GCP IAM
-            # policies.
-            # policies.
-          &quot;workloadPool&quot;: &quot;A String&quot;, # The workload pool to attach all Kubernetes service accounts to.
-          &quot;identityNamespace&quot;: &quot;A String&quot;, # IAM Identity Namespace to attach all Kubernetes Service Accounts to.
-        },
-        &quot;zone&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
-            # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
-            # cluster resides. This field is deprecated, use location instead.
-        &quot;loggingService&quot;: &quot;A String&quot;, # The logging service the cluster should use to write logs.
-            # Currently available options:
-            #
-            # * `logging.googleapis.com/kubernetes` - The Cloud Logging
-            # service with a Kubernetes-native resource model
-            # * `logging.googleapis.com` - The legacy Cloud Logging service (no longer
-            #   available as of GKE 1.15).
-            # * `none` - no logs will be exported from the cluster.
-            #
-            # If left as an empty string,`logging.googleapis.com/kubernetes` will be
-            # used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.
-        &quot;expireTime&quot;: &quot;A String&quot;, # [Output only] The time the cluster will be automatically
-            # deleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-        &quot;nodeConfig&quot;: { # Parameters that describe the nodes in a cluster. # Parameters used in creating the cluster&#x27;s nodes.
-            # For requests, this field should only be used in lieu of a
-            # &quot;node_pool&quot; object, since this configuration (along with the
-            # &quot;initial_node_count&quot;) will be used to create a &quot;NodePool&quot; object with an
-            # auto-generated name. Do not use this and a node_pool at the same time.
-            # For responses, this field will be populated with the node configuration of
-            # the first node pool. (For configuration of each node pool, see
-            # `node_pool.config`)
-            #
-            # If unspecified, the defaults are used.
-            # This field is deprecated, use node_pool.config instead.
-          &quot;minCpuPlatform&quot;: &quot;A String&quot;, # Minimum CPU platform to be used by this instance. The instance may be
-              # scheduled on the specified or newer CPU platform. Applicable values are the
-              # friendly names of CPU platforms, such as
-              # &lt;code&gt;minCpuPlatform: &amp;quot;Intel Haswell&amp;quot;&lt;/code&gt; or
-              # &lt;code&gt;minCpuPlatform: &amp;quot;Intel Sandy Bridge&amp;quot;&lt;/code&gt;. For more
-              # information, read [how to specify min CPU
-              # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
-          &quot;shieldedInstanceConfig&quot;: { # A set of Shielded Instance options. # Shielded Instance options.
-            &quot;enableIntegrityMonitoring&quot;: True or False, # Defines whether the instance has integrity monitoring enabled.
-                #
-                # Enables monitoring and attestation of the boot integrity of the instance.
-                # The attestation is performed against the integrity policy baseline. This
-                # baseline is initially derived from the implicitly trusted boot image when
-                # the instance is created.
-            &quot;enableSecureBoot&quot;: True or False, # Defines whether the instance has Secure Boot enabled.
-                #
-                # Secure Boot helps ensure that the system only runs authentic software by
-                # verifying the digital signature of all boot components, and halting the
-                # boot process if signature verification fails.
-          },
-          &quot;preemptible&quot;: True or False, # Whether the nodes are created as preemptible VM instances. See:
-              # https://cloud.google.com/compute/docs/instances/preemptible for more
-              # inforamtion about preemptible VM instances.
-          &quot;localSsdCount&quot;: 42, # The number of local SSD disks to be attached to the node.
+        &quot;initialNodeCount&quot;: 42, # The initial node count for the pool. You must ensure that your
+            # Compute Engine [resource quota](https://cloud.google.com/compute/quotas)
+            # is sufficient for this number of instances. You must also have available
+            # firewall and routes quota.
+        &quot;config&quot;: { # Parameters that describe the nodes in a cluster. # The node configuration of the pool.
+          &quot;oauthScopes&quot;: [ # The set of Google API scopes to be made available on all of the
+              # node VMs under the &quot;default&quot; service account.
               #
-              # The limit for this value is dependent upon the maximum number of
-              # disks available on a machine per zone. See:
-              # https://cloud.google.com/compute/docs/disks/local-ssd
-              # for more information.
-          &quot;sandboxConfig&quot;: { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node.
-            &quot;type&quot;: &quot;A String&quot;, # Type of the sandbox to use for the node.
-            &quot;sandboxType&quot;: &quot;A String&quot;, # Type of the sandbox to use for the node (e.g. &#x27;gvisor&#x27;)
-          },
+              # The following scopes are recommended, but not required, and by default are
+              # not included:
+              #
+              # * `https://www.googleapis.com/auth/compute` is required for mounting
+              # persistent storage on your nodes.
+              # * `https://www.googleapis.com/auth/devstorage.read_only` is required for
+              # communicating with **gcr.io**
+              # (the [Google Container
+              # Registry](https://cloud.google.com/container-registry/)).
+              #
+              # If unspecified, no scopes are added, unless Cloud Logging or Cloud
+              # Monitoring are enabled, in which case their required scopes will be added.
+            &quot;A String&quot;,
+          ],
           &quot;metadata&quot;: { # The metadata key/value pairs assigned to instances in the cluster.
               #
               # Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes
@@ -3651,31 +2671,719 @@
               # The total size of all keys and values must be less than 512 KB.
             &quot;a_key&quot;: &quot;A String&quot;,
           },
+          &quot;machineType&quot;: &quot;A String&quot;, # The name of a Google Compute Engine [machine
+              # type](https://cloud.google.com/compute/docs/machine-types) (e.g.
+              # `n1-standard-1`).
+              #
+              # If unspecified, the default machine type is
+              # `n1-standard-1`.
+          &quot;nodeGroup&quot;: &quot;A String&quot;, # Setting this field will assign instances of this
+              # pool to run on the specified node group. This is useful for running
+              # workloads on [sole tenant
+              # nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes).
+          &quot;shieldedInstanceConfig&quot;: { # A set of Shielded Instance options. # Shielded Instance options.
+            &quot;enableSecureBoot&quot;: True or False, # Defines whether the instance has Secure Boot enabled.
+                #
+                # Secure Boot helps ensure that the system only runs authentic software by
+                # verifying the digital signature of all boot components, and halting the
+                # boot process if signature verification fails.
+            &quot;enableIntegrityMonitoring&quot;: True or False, # Defines whether the instance has integrity monitoring enabled.
+                #
+                # Enables monitoring and attestation of the boot integrity of the instance.
+                # The attestation is performed against the integrity policy baseline. This
+                # baseline is initially derived from the implicitly trusted boot image when
+                # the instance is created.
+          },
+          &quot;serviceAccount&quot;: &quot;A String&quot;, # The Google Cloud Platform Service Account to be used by the node VMs.
+              # Specify the email address of the Service Account; otherwise, if no Service
+              # Account is specified, the &quot;default&quot; service account is used.
+          &quot;linuxNodeConfig&quot;: { # Parameters that can be configured on Linux nodes. # Parameters that can be configured on Linux nodes.
+            &quot;sysctls&quot;: { # The Linux kernel parameters to be applied to the nodes and all pods running
+                # on the nodes.
+                #
+                # The following parameters are supported.
+                #
+                # net.core.netdev_max_backlog
+                # net.core.rmem_max
+                # net.core.wmem_default
+                # net.core.wmem_max
+                # net.core.optmem_max
+                # net.core.somaxconn
+                # net.ipv4.tcp_rmem
+                # net.ipv4.tcp_wmem
+                # net.ipv4.tcp_tw_reuse
+              &quot;a_key&quot;: &quot;A String&quot;,
+            },
+          },
+          &quot;sandboxConfig&quot;: { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node.
+            &quot;type&quot;: &quot;A String&quot;, # Type of the sandbox to use for the node.
+            &quot;sandboxType&quot;: &quot;A String&quot;, # Type of the sandbox to use for the node (e.g. &#x27;gvisor&#x27;)
+          },
+          &quot;taints&quot;: [ # List of kubernetes taints to be applied to each node.
+              #
+              # For more information, including usage and the valid values, see:
+              # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
+            { # Kubernetes taint is comprised of three fields: key, value, and effect. Effect
+                # can only be one of three types:  NoSchedule, PreferNoSchedule or NoExecute.
+                #
+                # See
+                # [here](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration)
+                # for more information, including usage and the valid values.
+              &quot;effect&quot;: &quot;A String&quot;, # Effect for taint.
+              &quot;key&quot;: &quot;A String&quot;, # Key for taint.
+              &quot;value&quot;: &quot;A String&quot;, # Value for taint.
+            },
+          ],
+          &quot;kubeletConfig&quot;: { # Node kubelet configs. # Node kubelet configs.
+            &quot;cpuCfsQuotaPeriod&quot;: &quot;A String&quot;, # Set the CPU CFS quota period value &#x27;cpu.cfs_period_us&#x27;.
+                #
+                # The string must be a sequence of decimal numbers, each with optional
+                # fraction and a unit suffix, such as &quot;300ms&quot;.
+                # Valid time units are &quot;ns&quot;, &quot;us&quot; (or &quot;µs&quot;), &quot;ms&quot;, &quot;s&quot;, &quot;m&quot;, &quot;h&quot;.
+                # The value must be a positive duration.
+            &quot;cpuCfsQuota&quot;: True or False, # Enable CPU CFS quota enforcement for containers that specify CPU limits.
+                #
+                # If this option is enabled, kubelet uses CFS quota
+                # (https://www.kernel.org/doc/Documentation/scheduler/sched-bwc.txt) to
+                # enforce container CPU limits. Otherwise, CPU limits will not be enforced at
+                # all.
+                #
+                # Disable this option to mitigate CPU throttling problems while still having
+                # your pods to be in Guaranteed QoS class by specifying the CPU limits.
+                #
+                # The default value is &#x27;true&#x27; if unspecified.
+            &quot;cpuManagerPolicy&quot;: &quot;A String&quot;, # Control the CPU management policy on the node.
+                # See
+                # https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/
+                #
+                # The following values are allowed.
+                #   - &quot;none&quot;: the default, which represents the existing scheduling behavior.
+                #   - &quot;static&quot;: allows pods with certain resource characteristics to be
+                #               granted increased CPU affinity and exclusivity on the node.
+          },
+          &quot;labels&quot;: { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
+              # These will added in addition to any default label(s) that
+              # Kubernetes may apply to the node.
+              # In case of conflict in label keys, the applied set may differ depending on
+              # the Kubernetes version -- it&#x27;s best to assume the behavior is undefined
+              # and conflicts should be avoided.
+              # For more information, including usage and the valid values, see:
+              # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
+            &quot;a_key&quot;: &quot;A String&quot;,
+          },
+          &quot;diskType&quot;: &quot;A String&quot;, # Type of the disk attached to each node (e.g. &#x27;pd-standard&#x27; or &#x27;pd-ssd&#x27;)
+              #
+              # If unspecified, the default disk type is &#x27;pd-standard&#x27;
+          &quot;workloadMetadataConfig&quot;: { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node.
+              # workloads on the node pool.
+            &quot;nodeMetadata&quot;: &quot;A String&quot;, # NodeMetadata is the configuration for how to expose metadata to the
+                # workloads running on the node.
+            &quot;mode&quot;: &quot;A String&quot;, # Mode is the configuration for how to expose metadata to workloads running
+                # on the node pool.
+          },
+          &quot;bootDiskKmsKey&quot;: &quot;A String&quot;, #
+              # The Customer Managed Encryption Key used to encrypt the boot disk attached
+              # to each node in the node pool. This should be of the form
+              # projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME].
+              # For more information about protecting resources with Cloud KMS Keys please
+              # see:
+              # https://cloud.google.com/compute/docs/disks/customer-managed-encryption
+          &quot;diskSizeGb&quot;: 42, # Size of the disk attached to each node, specified in GB.
+              # The smallest allowed disk size is 10GB.
+              #
+              # If unspecified, the default disk size is 100GB.
           &quot;reservationAffinity&quot;: { # [ReservationAffinity](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources) # The optional reservation affinity. Setting this field will apply
               # the specified [Zonal Compute
               # Reservation](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources)
               # to this node pool.
               # is the configuration of desired reservation which instances could take
               # capacity from.
+            &quot;consumeReservationType&quot;: &quot;A String&quot;, # Corresponds to the type of reservation consumption.
             &quot;key&quot;: &quot;A String&quot;, # Corresponds to the label key of a reservation resource. To target a
                 # SPECIFIC_RESERVATION by name, specify &quot;googleapis.com/reservation-name&quot; as
                 # the key and specify the name of your reservation as its value.
             &quot;values&quot;: [ # Corresponds to the label value(s) of reservation resource(s).
               &quot;A String&quot;,
             ],
-            &quot;consumeReservationType&quot;: &quot;A String&quot;, # Corresponds to the type of reservation consumption.
           },
+          &quot;preemptible&quot;: True or False, # Whether the nodes are created as preemptible VM instances. See:
+              # https://cloud.google.com/compute/docs/instances/preemptible for more
+              # inforamtion about preemptible VM instances.
+          &quot;minCpuPlatform&quot;: &quot;A String&quot;, # Minimum CPU platform to be used by this instance. The instance may be
+              # scheduled on the specified or newer CPU platform. Applicable values are the
+              # friendly names of CPU platforms, such as
+              # &lt;code&gt;minCpuPlatform: &amp;quot;Intel Haswell&amp;quot;&lt;/code&gt; or
+              # &lt;code&gt;minCpuPlatform: &amp;quot;Intel Sandy Bridge&amp;quot;&lt;/code&gt;. For more
+              # information, read [how to specify min CPU
+              # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
           &quot;tags&quot;: [ # The list of instance tags applied to all nodes. Tags are used to identify
               # valid sources or targets for network firewalls and are specified by
               # the client during cluster or node pool creation. Each tag within the list
               # must comply with RFC1035.
             &quot;A String&quot;,
           ],
-          &quot;serviceAccount&quot;: &quot;A String&quot;, # The Google Cloud Platform Service Account to be used by the node VMs.
-              # Specify the email address of the Service Account; otherwise, if no Service
-              # Account is specified, the &quot;default&quot; service account is used.
+          &quot;accelerators&quot;: [ # A list of hardware accelerators to be attached to each node.
+              # See https://cloud.google.com/compute/docs/gpus for more information about
+              # support for GPUs.
+            { # AcceleratorConfig represents a Hardware Accelerator request.
+              &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
+              &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators
+                  # [here](https://cloud.google.com/compute/docs/gpus)
+            },
+          ],
+          &quot;localSsdCount&quot;: 42, # The number of local SSD disks to be attached to the node.
+              #
+              # The limit for this value is dependent upon the maximum number of
+              # disks available on a machine per zone. See:
+              # https://cloud.google.com/compute/docs/disks/local-ssd
+              # for more information.
           &quot;imageType&quot;: &quot;A String&quot;, # The image type to use for this node. Note that for a given image type,
               # the latest version of it will be used.
+        },
+        &quot;selfLink&quot;: &quot;A String&quot;, # [Output only] Server-defined URL for the resource.
+        &quot;management&quot;: { # NodeManagement defines the set of node management services turned on for the # NodeManagement configuration for this NodePool.
+            # node pool.
+          &quot;autoRepair&quot;: True or False, # Whether the nodes will be automatically repaired.
+          &quot;autoUpgrade&quot;: True or False, # Whether the nodes will be automatically upgraded.
+          &quot;upgradeOptions&quot;: { # AutoUpgradeOptions defines the set of options for the user to control how # Specifies the Auto Upgrade knobs for the node pool.
+              # the Auto Upgrades will proceed.
+            &quot;description&quot;: &quot;A String&quot;, # [Output only] This field is set when upgrades are about to commence
+                # with the description of the upgrade.
+            &quot;autoUpgradeStartTime&quot;: &quot;A String&quot;, # [Output only] This field is set when upgrades are about to commence
+                # with the approximate start time for the upgrades, in
+                # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+          },
+        },
+        &quot;name&quot;: &quot;A String&quot;, # The name of the node pool.
+        &quot;version&quot;: &quot;A String&quot;, # The version of the Kubernetes of this node.
+        &quot;maxPodsConstraint&quot;: { # Constraints applied to pods. # The constraint on the maximum number of pods that can be run
+            # simultaneously on a node in the node pool.
+          &quot;maxPodsPerNode&quot;: &quot;A String&quot;, # Constraint enforced on the max num of pods per node.
+        },
+        &quot;statusMessage&quot;: &quot;A String&quot;, # [Output only] Additional information about the current status of this
+            # node pool instance, if available.
+        &quot;podIpv4CidrSize&quot;: 42, # [Output only] The pod CIDR block size per node in this node pool.
+        &quot;conditions&quot;: [ # Which conditions caused the current node pool state.
+          { # StatusCondition describes why a cluster or a node pool has a certain status
+              # (e.g., ERROR or DEGRADED).
+            &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
+            &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+          },
+        ],
+        &quot;locations&quot;: [ # The list of Google Compute Engine
+            # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
+            # NodePool&#x27;s nodes should be located.
+          &quot;A String&quot;,
+        ],
+      },
+    ],
+    &quot;statusMessage&quot;: &quot;A String&quot;, # [Output only] Additional information about the current status of this
+        # cluster, if available.
+    &quot;releaseChannel&quot;: { # ReleaseChannel indicates which release channel a cluster is # Release channel configuration.
+        # subscribed to. Release channels are arranged in order of risk.
+        #
+        # When a cluster is subscribed to a release channel, Google maintains
+        # both the master version and the node version. Node auto-upgrade
+        # defaults to true and cannot be disabled.
+      &quot;channel&quot;: &quot;A String&quot;, # channel specifies which release channel the cluster is subscribed to.
+    },
+    &quot;selfLink&quot;: &quot;A String&quot;, # [Output only] Server-defined URL for the resource.
+    &quot;defaultMaxPodsConstraint&quot;: { # Constraints applied to pods. # The default constraint on the maximum number of pods that can be run
+        # simultaneously on a node in the node pool of this cluster. Only honored
+        # if cluster created with IP Alias support.
+      &quot;maxPodsPerNode&quot;: &quot;A String&quot;, # Constraint enforced on the max num of pods per node.
+    },
+    &quot;clusterTelemetry&quot;: { # Telemetry integration for the cluster. # Telemetry integration for the cluster.
+      &quot;type&quot;: &quot;A String&quot;, # Type of the integration.
+    },
+    &quot;status&quot;: &quot;A String&quot;, # [Output only] The current status of this cluster.
+    &quot;resourceLabels&quot;: { # The resource labels for the cluster to use to annotate any related
+        # Google Compute Engine resources.
+      &quot;a_key&quot;: &quot;A String&quot;,
+    },
+    &quot;tpuIpv4CidrBlock&quot;: &quot;A String&quot;, # [Output only] The IP address range of the Cloud TPUs in this cluster, in
+        # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+        # notation (e.g. `1.2.3.4/29`).
+    &quot;initialNodeCount&quot;: 42, # The number of nodes to create in this cluster. You must ensure that your
+        # Compute Engine [resource quota](https://cloud.google.com/compute/quotas)
+        # is sufficient for this number of instances. You must also have available
+        # firewall and routes quota.
+        # For requests, this field should only be used in lieu of a
+        # &quot;node_pool&quot; object, since this configuration (along with the
+        # &quot;node_config&quot;) will be used to create a &quot;NodePool&quot; object with an
+        # auto-generated name. Do not use this and a node_pool at the same time.
+        #
+        # This field is deprecated, use node_pool.initial_node_count instead.
+    &quot;podSecurityPolicyConfig&quot;: { # Configuration for the PodSecurityPolicy feature. # Configuration for the PodSecurityPolicy feature.
+      &quot;enabled&quot;: True or False, # Enable the PodSecurityPolicy controller for this cluster. If enabled, pods
+          # must be valid under a PodSecurityPolicy to be created.
+    },
+    &quot;description&quot;: &quot;A String&quot;, # An optional description of this cluster.
+    &quot;databaseEncryption&quot;: { # Configuration of etcd encryption. # Configuration of etcd encryption.
+      &quot;state&quot;: &quot;A String&quot;, # Denotes the state of etcd encryption.
+      &quot;keyName&quot;: &quot;A String&quot;, # Name of CloudKMS key to use for the encryption of secrets in etcd.
+          # Ex. projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-key
+    },
+    &quot;network&quot;: &quot;A String&quot;, # The name of the Google Compute Engine
+        # [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks)
+        # to which the cluster is connected. If left unspecified, the `default`
+        # network will be used. On output this shows the network ID instead of the
+        # name.
+    &quot;zone&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
+        # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
+        # cluster resides. This field is deprecated, use location instead.
+    &quot;verticalPodAutoscaling&quot;: { # VerticalPodAutoscaling contains global, per-cluster information # Cluster-level Vertical Pod Autoscaling configuration.
+        # required by Vertical Pod Autoscaler to automatically adjust
+        # the resources of pods controlled by it.
+      &quot;enabled&quot;: True or False, # Enables vertical pod autoscaling.
+    },
+    &quot;expireTime&quot;: &quot;A String&quot;, # [Output only] The time the cluster will be automatically
+        # deleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    &quot;nodeIpv4CidrSize&quot;: 42, # [Output only] The size of the address space on each node for hosting
+        # containers. This is provisioned from within the `container_ipv4_cidr`
+        # range. This field will only be set when cluster is in route-based network
+        # mode.
+    &quot;labelFingerprint&quot;: &quot;A String&quot;, # The fingerprint of the set of labels for this cluster.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="legacyAbac">legacyAbac(projectId, zone, clusterId, body=None, x__xgafv=None)</code>
+  <pre>Enables or disables the ABAC authorization mechanism on a cluster.
+
+Args:
+  projectId: string, Required. Deprecated. The Google Developers Console [project ID or project
+number](https://support.google.com/cloud/answer/6158840).
+This field has been deprecated and replaced by the name field. (required)
+  zone: string, Required. Deprecated. The name of the Google Compute Engine
+[zone](https://cloud.google.com/compute/docs/zones#available) in which the
+cluster resides. This field has been deprecated and replaced by the name
+field. (required)
+  clusterId: string, Required. Deprecated. The name of the cluster to update.
+This field has been deprecated and replaced by the name field. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # SetLegacyAbacRequest enables or disables the ABAC authorization mechanism for
+      # a cluster.
+    &quot;projectId&quot;: &quot;A String&quot;, # Required. Deprecated. The Google Developers Console [project ID or project
+        # number](https://support.google.com/cloud/answer/6158840).
+        # This field has been deprecated and replaced by the name field.
+    &quot;zone&quot;: &quot;A String&quot;, # Required. Deprecated. The name of the Google Compute Engine
+        # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
+        # cluster resides. This field has been deprecated and replaced by the name
+        # field.
+    &quot;enabled&quot;: True or False, # Required. Whether ABAC authorization will be enabled in the cluster.
+    &quot;name&quot;: &quot;A String&quot;, # The name (project, location, cluster id) of the cluster to set legacy abac.
+        # Specified in the format `projects/*/locations/*/clusters/*`.
+    &quot;clusterId&quot;: &quot;A String&quot;, # Required. Deprecated. The name of the cluster to update.
+        # This field has been deprecated and replaced by the name field.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This operation resource represents operations that may have happened or are
+      # happening on the cluster. All fields are output only.
+    &quot;targetLink&quot;: &quot;A String&quot;, # Server-defined URL for the target of the operation.
+    &quot;operationType&quot;: &quot;A String&quot;, # The operation type.
+    &quot;progress&quot;: { # Information about operation (or operation stage) progress. # Output only. [Output only] Progress information for an operation.
+      &quot;stages&quot;: [ # Substages of an operation or a stage.
+        # Object with schema name: OperationProgress
+      ],
+      &quot;name&quot;: &quot;A String&quot;, # A non-parameterized string describing an operation stage.
+          # Unset for single-stage operations.
+      &quot;status&quot;: &quot;A String&quot;, # Status of an operation stage.
+          # Unset for single-stage operations.
+      &quot;metrics&quot;: [ # Progress metric bundle, for example:
+          #   metrics: [{name: &quot;nodes done&quot;,     int_value: 15},
+          #             {name: &quot;nodes total&quot;,    int_value: 32}]
+          # or
+          #   metrics: [{name: &quot;progress&quot;,       double_value: 0.56},
+          #             {name: &quot;progress scale&quot;, double_value: 1.0}]
+        { # Progress metric is (string, int|float|string) pair.
+          &quot;doubleValue&quot;: 3.14, # For metrics with floating point value.
+          &quot;stringValue&quot;: &quot;A String&quot;, # For metrics with custom values (ratios, visual progress, etc.).
+          &quot;name&quot;: &quot;A String&quot;, # Required. Metric name, e.g., &quot;nodes total&quot;, &quot;percent done&quot;.
+          &quot;intValue&quot;: &quot;A String&quot;, # For metrics with integer value.
+        },
+      ],
+    },
+    &quot;selfLink&quot;: &quot;A String&quot;, # Server-defined URL for the resource.
+    &quot;location&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
+        # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
+        # or
+        # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
+        # in which the cluster resides.
+    &quot;zone&quot;: &quot;A String&quot;, # The name of the Google Compute Engine
+        # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
+        # operation is taking place. This field is deprecated, use location instead.
+    &quot;endTime&quot;: &quot;A String&quot;, # [Output only] The time the operation completed, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    &quot;statusMessage&quot;: &quot;A String&quot;, # Output only. If an error has occurred, a textual description of the error.
+    &quot;name&quot;: &quot;A String&quot;, # The server-assigned ID for the operation.
+    &quot;clusterConditions&quot;: [ # Which conditions caused the current cluster state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
+        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+      },
+    ],
+    &quot;startTime&quot;: &quot;A String&quot;, # [Output only] The time the operation started, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    &quot;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
+    &quot;nodepoolConditions&quot;: [ # Which conditions caused the current node pool state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
+        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+      },
+    ],
+    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(projectId, zone, parent=None, x__xgafv=None)</code>
+  <pre>Lists all clusters owned by a project in either the specified zone or all
+zones.
+
+Args:
+  projectId: string, Required. Deprecated. The Google Developers Console [project ID or project
+number](https://support.google.com/cloud/answer/6158840).
+This field has been deprecated and replaced by the parent field. (required)
+  zone: string, Required. Deprecated. The name of the Google Compute Engine
+[zone](https://cloud.google.com/compute/docs/zones#available) in which the
+cluster resides, or &quot;-&quot; for all zones. This field has been deprecated and
+replaced by the parent field. (required)
+  parent: string, The parent (project and location) where the clusters will be listed.
+Specified in the format `projects/*/locations/*`.
+Location &quot;-&quot; matches all zones and all regions.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # ListClustersResponse is the result of ListClustersRequest.
+    &quot;missingZones&quot;: [ # If any zones are listed here, the list of clusters returned
+        # may be missing those zones.
+      &quot;A String&quot;,
+    ],
+    &quot;clusters&quot;: [ # A list of clusters in the project in the specified zone, or
+        # across all ones.
+      { # A Google Kubernetes Engine cluster.
+        &quot;addonsConfig&quot;: { # Configuration for the addons that can be automatically spun up in the # Configurations for the various addons available to run in the cluster.
+            # cluster, enabling additional functionality.
+          &quot;configConnectorConfig&quot;: { # Configuration options for the Config Connector add-on. # Configuration for the ConfigConnector add-on, a Kubernetes
+              # extension to manage hosted GCP services through the Kubernetes API
+            &quot;enabled&quot;: True or False, # Whether Cloud Connector is enabled for this cluster.
+          },
+          &quot;gcePersistentDiskCsiDriverConfig&quot;: { # Configuration for the Compute Engine PD CSI driver. This option can only be # Configuration for the Compute Engine Persistent Disk CSI driver.
+              # enabled at cluster creation time.
+            &quot;enabled&quot;: True or False, # Whether the Compute Engine PD CSI driver is enabled for this cluster.
+          },
+          &quot;dnsCacheConfig&quot;: { # Configuration for NodeLocal DNSCache # Configuration for NodeLocalDNS, a dns cache running on cluster nodes
+            &quot;enabled&quot;: True or False, # Whether NodeLocal DNSCache is enabled for this cluster.
+          },
+          &quot;networkPolicyConfig&quot;: { # Configuration for NetworkPolicy. This only tracks whether the addon # Configuration for NetworkPolicy. This only tracks whether the addon
+              # is enabled or not on the Master, it does not track whether network policy
+              # is enabled for the nodes.
+              # is enabled or not on the Master, it does not track whether network policy
+              # is enabled for the nodes.
+            &quot;disabled&quot;: True or False, # Whether NetworkPolicy is enabled for this cluster.
+          },
+          &quot;kubernetesDashboard&quot;: { # Configuration for the Kubernetes Dashboard. # Configuration for the Kubernetes Dashboard.
+              # This addon is deprecated, and will be disabled in 1.15. It is recommended
+              # to use the Cloud Console to manage and monitor your Kubernetes clusters,
+              # workloads and applications. For more information, see:
+              # https://cloud.google.com/kubernetes-engine/docs/concepts/dashboards
+            &quot;disabled&quot;: True or False, # Whether the Kubernetes Dashboard is enabled for this cluster.
+          },
+          &quot;httpLoadBalancing&quot;: { # Configuration options for the HTTP (L7) load balancing controller addon, # Configuration for the HTTP (L7) load balancing controller addon, which
+              # makes it easy to set up HTTP load balancers for services in a cluster.
+              # which makes it easy to set up HTTP load balancers for services in a cluster.
+            &quot;disabled&quot;: True or False, # Whether the HTTP Load Balancing controller is enabled in the cluster.
+                # When enabled, it runs a small pod in the cluster that manages the load
+                # balancers.
+          },
+          &quot;istioConfig&quot;: { # Configuration options for Istio addon. # Configuration for Istio, an open platform to connect, manage, and secure
+              # microservices.
+            &quot;disabled&quot;: True or False, # Whether Istio is enabled for this cluster.
+            &quot;auth&quot;: &quot;A String&quot;, # The specified Istio auth mode, either none, or mutual TLS.
+          },
+          &quot;horizontalPodAutoscaling&quot;: { # Configuration options for the horizontal pod autoscaling feature, which # Configuration for the horizontal pod autoscaling feature, which
+              # increases or decreases the number of replica pods a replication controller
+              # has based on the resource usage of the existing pods.
+              # increases or decreases the number of replica pods a replication controller
+              # has based on the resource usage of the existing pods.
+            &quot;disabled&quot;: True or False, # Whether the Horizontal Pod Autoscaling feature is enabled in the cluster.
+                # When enabled, it ensures that metrics are collected into Stackdriver
+                # Monitoring.
+          },
+          &quot;cloudRunConfig&quot;: { # Configuration options for the Cloud Run feature. # Configuration for the Cloud Run addon. The `IstioConfig` addon must be
+              # enabled in order to enable Cloud Run addon. This option can only be enabled
+              # at cluster creation time.
+            &quot;disabled&quot;: True or False, # Whether Cloud Run addon is enabled for this cluster.
+          },
+          &quot;kalmConfig&quot;: { # Configuration options for the KALM addon. # Configuration for the KALM addon, which manages the lifecycle of k8s
+              # applications.
+            &quot;enabled&quot;: True or False, # Whether KALM is enabled for this cluster.
+          },
+        },
+        &quot;createTime&quot;: &quot;A String&quot;, # [Output only] The time the cluster was created, in
+            # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+        &quot;clusterIpv4Cidr&quot;: &quot;A String&quot;, # The IP address range of the container pods in this cluster, in
+            # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+            # notation (e.g. `10.96.0.0/14`). Leave blank to have
+            # one automatically chosen or specify a `/14` block in `10.0.0.0/8`.
+        &quot;legacyAbac&quot;: { # Configuration for the legacy Attribute Based Access Control authorization # Configuration for the legacy ABAC authorization mode.
+            # mode.
+          &quot;enabled&quot;: True or False, # Whether the ABAC authorizer is enabled for this cluster. When enabled,
+              # identities in the system, including service accounts, nodes, and
+              # controllers, will have statically granted permissions beyond those
+              # provided by the RBAC configuration or IAM.
+        },
+        &quot;binaryAuthorization&quot;: { # Configuration for Binary Authorization. # Configuration for Binary Authorization.
+          &quot;enabled&quot;: True or False, # Enable Binary Authorization for this cluster. If enabled, all container
+              # images will be validated by Google Binauthz.
+        },
+        &quot;currentNodeVersion&quot;: &quot;A String&quot;, # [Output only] Deprecated, use
+            # [NodePool.version](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters.nodePools)
+            # instead. The current version of the node software components.
+            # If they are currently at multiple versions because they&#x27;re in the process
+            # of being upgraded, this reflects the minimum version of all nodes.
+        &quot;currentNodeCount&quot;: 42, # [Output only]  The number of nodes currently in the cluster. Deprecated.
+            # Call Kubernetes API directly to retrieve node information.
+        &quot;ipAllocationPolicy&quot;: { # Configuration for controlling how IPs are allocated in the cluster. # Configuration for cluster IP allocation.
+          &quot;servicesIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP address range of the services IPs in this cluster. If blank, a range
+              # will be automatically chosen with the default size.
+              #
+              # This field is only applicable when `use_ip_aliases` is true.
+              #
+              # Set to blank to have a range chosen with the default size.
+              #
+              # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
+              # netmask.
+              #
+              # Set to a
+              # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+              # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
+              # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
+              # to use.
+          &quot;servicesIpv4Cidr&quot;: &quot;A String&quot;, # This field is deprecated, use services_ipv4_cidr_block.
+          &quot;tpuIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP address range of the Cloud TPUs in this cluster. If unspecified, a
+              # range will be automatically chosen with the default size.
+              #
+              # This field is only applicable when `use_ip_aliases` is true.
+              #
+              # If unspecified, the range will use the default size.
+              #
+              # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
+              # netmask.
+              #
+              # Set to a
+              # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+              # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
+              # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
+              # to use.
+              # This field is deprecated, use cluster.tpu_config.ipv4_cidr_block instead.
+          &quot;useIpAliases&quot;: True or False, # Whether alias IPs will be used for pod IPs in the cluster.
+              # This is used in conjunction with use_routes. It cannot
+              # be true if use_routes is true. If both use_ip_aliases and use_routes are
+              # false, then the server picks the default IP allocation mode
+          &quot;nodeIpv4Cidr&quot;: &quot;A String&quot;, # This field is deprecated, use node_ipv4_cidr_block.
+          &quot;createSubnetwork&quot;: True or False, # Whether a new subnetwork will be created automatically for the cluster.
+              #
+              # This field is only applicable when `use_ip_aliases` is true.
+          &quot;clusterSecondaryRangeName&quot;: &quot;A String&quot;, # The name of the secondary range to be used for the cluster CIDR
+              # block.  The secondary range will be used for pod IP
+              # addresses. This must be an existing secondary range associated
+              # with the cluster subnetwork.
+              #
+              # This field is only applicable with use_ip_aliases and
+              # create_subnetwork is false.
+          &quot;servicesSecondaryRangeName&quot;: &quot;A String&quot;, # The name of the secondary range to be used as for the services
+              # CIDR block.  The secondary range will be used for service
+              # ClusterIPs. This must be an existing secondary range associated
+              # with the cluster subnetwork.
+              #
+              # This field is only applicable with use_ip_aliases and
+              # create_subnetwork is false.
+          &quot;useRoutes&quot;: True or False, # Whether routes will be used for pod IPs in the cluster.
+              # This is used in conjunction with use_ip_aliases. It cannot be true if
+              # use_ip_aliases is true. If both use_ip_aliases and use_routes are false,
+              # then the server picks the default IP allocation mode
+          &quot;subnetworkName&quot;: &quot;A String&quot;, # A custom subnetwork name to be used if `create_subnetwork` is true.  If
+              # this field is empty, then an automatic name will be chosen for the new
+              # subnetwork.
+          &quot;allowRouteOverlap&quot;: True or False, # If true, allow allocation of cluster CIDR ranges that overlap with certain
+              # kinds of network routes. By default we do not allow cluster CIDR ranges to
+              # intersect with any user declared routes. With allow_route_overlap == true,
+              # we allow overlapping with CIDR ranges that are larger than the cluster CIDR
+              # range.
+              #
+              # If this field is set to true, then cluster and services CIDRs must be
+              # fully-specified (e.g. `10.96.0.0/14`, but not `/14`), which means:
+              # 1) When `use_ip_aliases` is true, `cluster_ipv4_cidr_block` and
+              #    `services_ipv4_cidr_block` must be fully-specified.
+              # 2) When `use_ip_aliases` is false, `cluster.cluster_ipv4_cidr` muse be
+              #    fully-specified.
+          &quot;clusterIpv4Cidr&quot;: &quot;A String&quot;, # This field is deprecated, use cluster_ipv4_cidr_block.
+          &quot;nodeIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP address range of the instance IPs in this cluster.
+              #
+              # This is applicable only if `create_subnetwork` is true.
+              #
+              # Set to blank to have a range chosen with the default size.
+              #
+              # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
+              # netmask.
+              #
+              # Set to a
+              # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+              # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
+              # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
+              # to use.
+          &quot;clusterIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP address range for the cluster pod IPs. If this field is set, then
+              # `cluster.cluster_ipv4_cidr` must be left blank.
+              #
+              # This field is only applicable when `use_ip_aliases` is true.
+              #
+              # Set to blank to have a range chosen with the default size.
+              #
+              # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
+              # netmask.
+              #
+              # Set to a
+              # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+              # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
+              # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
+              # to use.
+        },
+        &quot;networkPolicy&quot;: { # Configuration options for the NetworkPolicy feature. # Configuration options for the NetworkPolicy feature.
+            # https://kubernetes.io/docs/concepts/services-networking/networkpolicies/
+          &quot;provider&quot;: &quot;A String&quot;, # The selected network policy provider.
+          &quot;enabled&quot;: True or False, # Whether network policy is enabled on the cluster.
+        },
+        &quot;privateClusterConfig&quot;: { # Configuration options for private clusters. # Configuration for private cluster.
+          &quot;enablePrivateNodes&quot;: True or False, # Whether nodes have internal IP addresses only. If enabled, all nodes are
+              # given only RFC 1918 private addresses and communicate with the master via
+              # private networking.
+          &quot;masterIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP range in CIDR notation to use for the hosted master network. This
+              # range will be used for assigning internal IP addresses to the master or
+              # set of masters, as well as the ILB VIP. This range must not overlap with
+              # any other ranges in use within the cluster&#x27;s network.
+          &quot;peeringName&quot;: &quot;A String&quot;, # Output only. The peering name in the customer VPC used by this cluster.
+          &quot;publicEndpoint&quot;: &quot;A String&quot;, # Output only. The external IP address of this cluster&#x27;s master endpoint.
+          &quot;enablePrivateEndpoint&quot;: True or False, # Whether the master&#x27;s internal IP address is used as the cluster endpoint.
+          &quot;masterGlobalAccessConfig&quot;: { # Configuration for controlling master global access settings. # Controls master global access settings.
+            &quot;enabled&quot;: True or False, # Whenever master is accessible globally or not.
+          },
+          &quot;privateEndpoint&quot;: &quot;A String&quot;, # Output only. The internal IP address of this cluster&#x27;s master endpoint.
+        },
+        &quot;enableTpu&quot;: True or False, # Enable the ability to use Cloud TPUs in this cluster.
+            # This field is deprecated, use tpu_config.enabled instead.
+        &quot;workloadIdentityConfig&quot;: { # Configuration for the use of Kubernetes Service Accounts in GCP IAM # Configuration for the use of Kubernetes Service Accounts in GCP IAM
+            # policies.
+            # policies.
+          &quot;identityNamespace&quot;: &quot;A String&quot;, # IAM Identity Namespace to attach all Kubernetes Service Accounts to.
+          &quot;identityProvider&quot;: &quot;A String&quot;, # identity provider is the third party identity provider.
+          &quot;workloadPool&quot;: &quot;A String&quot;, # The workload pool to attach all Kubernetes service accounts to.
+        },
+        &quot;monitoringService&quot;: &quot;A String&quot;, # The monitoring service the cluster should use to write metrics.
+            # Currently available options:
+            #
+            # * &quot;monitoring.googleapis.com/kubernetes&quot; - The Cloud Monitoring
+            # service with a Kubernetes-native resource model
+            # * `monitoring.googleapis.com` - The legacy Cloud Monitoring service (no
+            #   longer available as of GKE 1.15).
+            # * `none` - No metrics will be exported from the cluster.
+            #
+            # If left as an empty string,`monitoring.googleapis.com/kubernetes` will be
+            # used for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions.
+        &quot;networkConfig&quot;: { # NetworkConfig reports the relative names of network &amp; subnetwork. # Configuration for cluster networking.
+          &quot;defaultSnatStatus&quot;: { # DefaultSnatStatus contains the desired state of whether default sNAT should # Whether the cluster disables default in-node sNAT rules. In-node sNAT rules
+              # will be disabled when default_snat_status is disabled. When disabled is set
+              # to false, default IP masquerade rules will be applied to the nodes to
+              # prevent sNAT on cluster internal traffic.
+              # be disabled on the cluster.
+            &quot;disabled&quot;: True or False, # Disables cluster default sNAT rules.
+          },
+          &quot;enableIntraNodeVisibility&quot;: True or False, # Whether Intra-node visibility is enabled for this cluster.
+              # This makes same node pod to pod traffic visible for VPC network.
+          &quot;subnetwork&quot;: &quot;A String&quot;, # Output only. The relative name of the Google Compute Engine
+              # [subnetwork](https://cloud.google.com/compute/docs/vpc) to which the
+              # cluster is connected. Example:
+              # projects/my-project/regions/us-central1/subnetworks/my-subnet
+          &quot;network&quot;: &quot;A String&quot;, # Output only. The relative name of the Google Compute Engine
+              # network(https://cloud.google.com/compute/docs/networks-and-firewalls#networks)
+              # to which the cluster is connected. Example:
+              # projects/my-project/global/networks/my-network
+        },
+        &quot;shieldedNodes&quot;: { # Configuration of Shielded Nodes feature. # Shielded Nodes configuration.
+          &quot;enabled&quot;: True or False, # Whether Shielded Nodes features are enabled on all nodes in this cluster.
+        },
+        &quot;masterAuth&quot;: { # The authentication information for accessing the master endpoint. # The authentication information for accessing the master endpoint.
+            # If unspecified, the defaults are used:
+            # For clusters before v1.12, if master_auth is unspecified, `username` will
+            # be set to &quot;admin&quot;, a random password will be generated, and a client
+            # certificate will be issued.
+            # Authentication can be done using HTTP basic auth or using client
+            # certificates.
+          &quot;clusterCaCertificate&quot;: &quot;A String&quot;,
+          &quot;username&quot;: &quot;A String&quot;, # The username to use for HTTP basic authentication to the master endpoint.
+              # For clusters v1.6.0 and later, basic authentication can be disabled by
+              # leaving username unspecified (or setting it to the empty string).
+          &quot;clientCertificate&quot;: &quot;A String&quot;, # [Output only] Base64-encoded public certificate used by clients to
+              # authenticate to the cluster endpoint.
+          &quot;password&quot;: &quot;A String&quot;, # The password to use for HTTP basic authentication to the master endpoint.
+              # Because the master endpoint is open to the Internet, you should create a
+              # strong password.  If a password is provided for cluster creation, username
+              # must be non-empty.
+          &quot;clientCertificateConfig&quot;: { # Configuration for client certificates on the cluster. # Configuration for client certificate authentication on the cluster. For
+              # clusters before v1.12, if no configuration is specified, a client
+              # certificate is issued.
+            &quot;issueClientCertificate&quot;: True or False, # Issue a client certificate.
+          },
+          &quot;clientKey&quot;: &quot;A String&quot;, # [Output only] Base64-encoded private key used by clients to authenticate
+              # to the cluster endpoint.
+        },
+        &quot;initialClusterVersion&quot;: &quot;A String&quot;, # The initial Kubernetes version for this cluster.  Valid versions are those
+            # found in validMasterVersions returned by getServerConfig.  The version can
+            # be upgraded over time; such upgrades are reflected in
+            # currentMasterVersion and currentNodeVersion.
+            #
+            # Users may specify either explicit versions offered by
+            # Kubernetes Engine or version aliases, which have the following behavior:
+            #
+            # - &quot;latest&quot;: picks the highest valid Kubernetes version
+            # - &quot;1.X&quot;: picks the highest valid patch+gke.N patch in the 1.X version
+            # - &quot;1.X.Y&quot;: picks the highest valid gke.N patch in the 1.X.Y version
+            # - &quot;1.X.Y-gke.N&quot;: picks an explicit Kubernetes version
+            # - &quot;&quot;,&quot;-&quot;: picks the default Kubernetes version
+        &quot;privateCluster&quot;: True or False, # If this is a private cluster setup. Private clusters are clusters that, by
+            # default have no external IP addresses on the nodes and where nodes and the
+            # master communicate over private IP addresses.
+            # This field is deprecated, use private_cluster_config.enable_private_nodes
+            # instead.
+        &quot;nodeConfig&quot;: { # Parameters that describe the nodes in a cluster. # Parameters used in creating the cluster&#x27;s nodes.
+            # For requests, this field should only be used in lieu of a
+            # &quot;node_pool&quot; object, since this configuration (along with the
+            # &quot;initial_node_count&quot;) will be used to create a &quot;NodePool&quot; object with an
+            # auto-generated name. Do not use this and a node_pool at the same time.
+            # For responses, this field will be populated with the node configuration of
+            # the first node pool. (For configuration of each node pool, see
+            # `node_pool.config`)
+            #
+            # If unspecified, the defaults are used.
+            # This field is deprecated, use node_pool.config instead.
           &quot;oauthScopes&quot;: [ # The set of Google API scopes to be made available on all of the
               # node VMs under the &quot;default&quot; service account.
               #
@@ -3693,6 +3401,87 @@
               # Monitoring are enabled, in which case their required scopes will be added.
             &quot;A String&quot;,
           ],
+          &quot;metadata&quot;: { # The metadata key/value pairs assigned to instances in the cluster.
+              #
+              # Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes
+              # in length. These are reflected as part of a URL in the metadata server.
+              # Additionally, to avoid ambiguity, keys must not conflict with any other
+              # metadata keys for the project or be one of the reserved keys:
+              #  &quot;cluster-location&quot;
+              #  &quot;cluster-name&quot;
+              #  &quot;cluster-uid&quot;
+              #  &quot;configure-sh&quot;
+              #  &quot;containerd-configure-sh&quot;
+              #  &quot;enable-oslogin&quot;
+              #  &quot;gci-ensure-gke-docker&quot;
+              #  &quot;gci-metrics-enabled&quot;
+              #  &quot;gci-update-strategy&quot;
+              #  &quot;instance-template&quot;
+              #  &quot;kube-env&quot;
+              #  &quot;startup-script&quot;
+              #  &quot;user-data&quot;
+              #  &quot;disable-address-manager&quot;
+              #  &quot;windows-startup-script-ps1&quot;
+              #  &quot;common-psm1&quot;
+              #  &quot;k8s-node-setup-psm1&quot;
+              #  &quot;install-ssh-psm1&quot;
+              #  &quot;user-profile-psm1&quot;
+              #  &quot;serial-port-logging-enable&quot;
+              # Values are free-form strings, and only have meaning as interpreted by
+              # the image running in the instance. The only restriction placed on them is
+              # that each value&#x27;s size must be less than or equal to 32 KB.
+              #
+              # The total size of all keys and values must be less than 512 KB.
+            &quot;a_key&quot;: &quot;A String&quot;,
+          },
+          &quot;machineType&quot;: &quot;A String&quot;, # The name of a Google Compute Engine [machine
+              # type](https://cloud.google.com/compute/docs/machine-types) (e.g.
+              # `n1-standard-1`).
+              #
+              # If unspecified, the default machine type is
+              # `n1-standard-1`.
+          &quot;nodeGroup&quot;: &quot;A String&quot;, # Setting this field will assign instances of this
+              # pool to run on the specified node group. This is useful for running
+              # workloads on [sole tenant
+              # nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes).
+          &quot;shieldedInstanceConfig&quot;: { # A set of Shielded Instance options. # Shielded Instance options.
+            &quot;enableSecureBoot&quot;: True or False, # Defines whether the instance has Secure Boot enabled.
+                #
+                # Secure Boot helps ensure that the system only runs authentic software by
+                # verifying the digital signature of all boot components, and halting the
+                # boot process if signature verification fails.
+            &quot;enableIntegrityMonitoring&quot;: True or False, # Defines whether the instance has integrity monitoring enabled.
+                #
+                # Enables monitoring and attestation of the boot integrity of the instance.
+                # The attestation is performed against the integrity policy baseline. This
+                # baseline is initially derived from the implicitly trusted boot image when
+                # the instance is created.
+          },
+          &quot;serviceAccount&quot;: &quot;A String&quot;, # The Google Cloud Platform Service Account to be used by the node VMs.
+              # Specify the email address of the Service Account; otherwise, if no Service
+              # Account is specified, the &quot;default&quot; service account is used.
+          &quot;linuxNodeConfig&quot;: { # Parameters that can be configured on Linux nodes. # Parameters that can be configured on Linux nodes.
+            &quot;sysctls&quot;: { # The Linux kernel parameters to be applied to the nodes and all pods running
+                # on the nodes.
+                #
+                # The following parameters are supported.
+                #
+                # net.core.netdev_max_backlog
+                # net.core.rmem_max
+                # net.core.wmem_default
+                # net.core.wmem_max
+                # net.core.optmem_max
+                # net.core.somaxconn
+                # net.ipv4.tcp_rmem
+                # net.ipv4.tcp_wmem
+                # net.ipv4.tcp_tw_reuse
+              &quot;a_key&quot;: &quot;A String&quot;,
+            },
+          },
+          &quot;sandboxConfig&quot;: { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node.
+            &quot;type&quot;: &quot;A String&quot;, # Type of the sandbox to use for the node.
+            &quot;sandboxType&quot;: &quot;A String&quot;, # Type of the sandbox to use for the node (e.g. &#x27;gvisor&#x27;)
+          },
           &quot;taints&quot;: [ # List of kubernetes taints to be applied to each node.
               #
               # For more information, including usage and the valid values, see:
@@ -3704,10 +3493,37 @@
                 # [here](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration)
                 # for more information, including usage and the valid values.
               &quot;effect&quot;: &quot;A String&quot;, # Effect for taint.
-              &quot;value&quot;: &quot;A String&quot;, # Value for taint.
               &quot;key&quot;: &quot;A String&quot;, # Key for taint.
+              &quot;value&quot;: &quot;A String&quot;, # Value for taint.
             },
           ],
+          &quot;kubeletConfig&quot;: { # Node kubelet configs. # Node kubelet configs.
+            &quot;cpuCfsQuotaPeriod&quot;: &quot;A String&quot;, # Set the CPU CFS quota period value &#x27;cpu.cfs_period_us&#x27;.
+                #
+                # The string must be a sequence of decimal numbers, each with optional
+                # fraction and a unit suffix, such as &quot;300ms&quot;.
+                # Valid time units are &quot;ns&quot;, &quot;us&quot; (or &quot;µs&quot;), &quot;ms&quot;, &quot;s&quot;, &quot;m&quot;, &quot;h&quot;.
+                # The value must be a positive duration.
+            &quot;cpuCfsQuota&quot;: True or False, # Enable CPU CFS quota enforcement for containers that specify CPU limits.
+                #
+                # If this option is enabled, kubelet uses CFS quota
+                # (https://www.kernel.org/doc/Documentation/scheduler/sched-bwc.txt) to
+                # enforce container CPU limits. Otherwise, CPU limits will not be enforced at
+                # all.
+                #
+                # Disable this option to mitigate CPU throttling problems while still having
+                # your pods to be in Guaranteed QoS class by specifying the CPU limits.
+                #
+                # The default value is &#x27;true&#x27; if unspecified.
+            &quot;cpuManagerPolicy&quot;: &quot;A String&quot;, # Control the CPU management policy on the node.
+                # See
+                # https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/
+                #
+                # The following values are allowed.
+                #   - &quot;none&quot;: the default, which represents the existing scheduling behavior.
+                #   - &quot;static&quot;: allows pods with certain resource characteristics to be
+                #               granted increased CPU affinity and exclusivity on the node.
+          },
           &quot;labels&quot;: { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
               # These will added in addition to any default label(s) that
               # Kubernetes may apply to the node.
@@ -3718,10 +3534,9 @@
               # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
             &quot;a_key&quot;: &quot;A String&quot;,
           },
-          &quot;diskSizeGb&quot;: 42, # Size of the disk attached to each node, specified in GB.
-              # The smallest allowed disk size is 10GB.
+          &quot;diskType&quot;: &quot;A String&quot;, # Type of the disk attached to each node (e.g. &#x27;pd-standard&#x27; or &#x27;pd-ssd&#x27;)
               #
-              # If unspecified, the default disk size is 100GB.
+              # If unspecified, the default disk type is &#x27;pd-standard&#x27;
           &quot;workloadMetadataConfig&quot;: { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node.
               # workloads on the node pool.
             &quot;nodeMetadata&quot;: &quot;A String&quot;, # NodeMetadata is the configuration for how to expose metadata to the
@@ -3729,24 +3544,6 @@
             &quot;mode&quot;: &quot;A String&quot;, # Mode is the configuration for how to expose metadata to workloads running
                 # on the node pool.
           },
-          &quot;accelerators&quot;: [ # A list of hardware accelerators to be attached to each node.
-              # See https://cloud.google.com/compute/docs/gpus for more information about
-              # support for GPUs.
-            { # AcceleratorConfig represents a Hardware Accelerator request.
-              &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators
-                  # [here](https://cloud.google.com/compute/docs/gpus)
-              &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
-            },
-          ],
-          &quot;machineType&quot;: &quot;A String&quot;, # The name of a Google Compute Engine [machine
-              # type](https://cloud.google.com/compute/docs/machine-types) (e.g.
-              # `n1-standard-1`).
-              #
-              # If unspecified, the default machine type is
-              # `n1-standard-1`.
-          &quot;diskType&quot;: &quot;A String&quot;, # Type of the disk attached to each node (e.g. &#x27;pd-standard&#x27; or &#x27;pd-ssd&#x27;)
-              #
-              # If unspecified, the default disk type is &#x27;pd-standard&#x27;
           &quot;bootDiskKmsKey&quot;: &quot;A String&quot;, #
               # The Customer Managed Encryption Key used to encrypt the boot disk attached
               # to each node in the node pool. This should be of the form
@@ -3754,107 +3551,91 @@
               # For more information about protecting resources with Cloud KMS Keys please
               # see:
               # https://cloud.google.com/compute/docs/disks/customer-managed-encryption
-        },
-        &quot;tpuConfig&quot;: { # Configuration for Cloud TPU. # Configuration for Cloud TPU support;
-          &quot;useServiceNetworking&quot;: True or False, # Whether to use service networking for Cloud TPU or not.
-          &quot;ipv4CidrBlock&quot;: &quot;A String&quot;, # IPv4 CIDR block reserved for Cloud TPU in the VPC.
-          &quot;enabled&quot;: True or False, # Whether Cloud TPU integration is enabled or not.
-        },
-        &quot;status&quot;: &quot;A String&quot;, # [Output only] The current status of this cluster.
-        &quot;networkConfig&quot;: { # NetworkConfig reports the relative names of network &amp; subnetwork. # Configuration for cluster networking.
-          &quot;enableIntraNodeVisibility&quot;: True or False, # Whether Intra-node visibility is enabled for this cluster.
-              # This makes same node pod to pod traffic visible for VPC network.
-          &quot;subnetwork&quot;: &quot;A String&quot;, # Output only. The relative name of the Google Compute Engine
-              # [subnetwork](https://cloud.google.com/compute/docs/vpc) to which the
-              # cluster is connected. Example:
-              # projects/my-project/regions/us-central1/subnetworks/my-subnet
-          &quot;network&quot;: &quot;A String&quot;, # Output only. The relative name of the Google Compute Engine
-              # network(https://cloud.google.com/compute/docs/networks-and-firewalls#networks)
-              # to which the cluster is connected. Example:
-              # projects/my-project/global/networks/my-network
-          &quot;defaultSnatStatus&quot;: { # DefaultSnatStatus contains the desired state of whether default sNAT should # Whether the cluster disables default in-node sNAT rules. In-node sNAT rules
-              # will be disabled when default_snat_status is disabled. When disabled is set
-              # to false, default IP masquerade rules will be applied to the nodes to
-              # prevent sNAT on cluster internal traffic.
-              # be disabled on the cluster.
-            &quot;disabled&quot;: True or False, # Disables cluster default sNAT rules.
+          &quot;diskSizeGb&quot;: 42, # Size of the disk attached to each node, specified in GB.
+              # The smallest allowed disk size is 10GB.
+              #
+              # If unspecified, the default disk size is 100GB.
+          &quot;reservationAffinity&quot;: { # [ReservationAffinity](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources) # The optional reservation affinity. Setting this field will apply
+              # the specified [Zonal Compute
+              # Reservation](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources)
+              # to this node pool.
+              # is the configuration of desired reservation which instances could take
+              # capacity from.
+            &quot;consumeReservationType&quot;: &quot;A String&quot;, # Corresponds to the type of reservation consumption.
+            &quot;key&quot;: &quot;A String&quot;, # Corresponds to the label key of a reservation resource. To target a
+                # SPECIFIC_RESERVATION by name, specify &quot;googleapis.com/reservation-name&quot; as
+                # the key and specify the name of your reservation as its value.
+            &quot;values&quot;: [ # Corresponds to the label value(s) of reservation resource(s).
+              &quot;A String&quot;,
+            ],
           },
+          &quot;preemptible&quot;: True or False, # Whether the nodes are created as preemptible VM instances. See:
+              # https://cloud.google.com/compute/docs/instances/preemptible for more
+              # inforamtion about preemptible VM instances.
+          &quot;minCpuPlatform&quot;: &quot;A String&quot;, # Minimum CPU platform to be used by this instance. The instance may be
+              # scheduled on the specified or newer CPU platform. Applicable values are the
+              # friendly names of CPU platforms, such as
+              # &lt;code&gt;minCpuPlatform: &amp;quot;Intel Haswell&amp;quot;&lt;/code&gt; or
+              # &lt;code&gt;minCpuPlatform: &amp;quot;Intel Sandy Bridge&amp;quot;&lt;/code&gt;. For more
+              # information, read [how to specify min CPU
+              # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
+          &quot;tags&quot;: [ # The list of instance tags applied to all nodes. Tags are used to identify
+              # valid sources or targets for network firewalls and are specified by
+              # the client during cluster or node pool creation. Each tag within the list
+              # must comply with RFC1035.
+            &quot;A String&quot;,
+          ],
+          &quot;accelerators&quot;: [ # A list of hardware accelerators to be attached to each node.
+              # See https://cloud.google.com/compute/docs/gpus for more information about
+              # support for GPUs.
+            { # AcceleratorConfig represents a Hardware Accelerator request.
+              &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
+              &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators
+                  # [here](https://cloud.google.com/compute/docs/gpus)
+            },
+          ],
+          &quot;localSsdCount&quot;: 42, # The number of local SSD disks to be attached to the node.
+              #
+              # The limit for this value is dependent upon the maximum number of
+              # disks available on a machine per zone. See:
+              # https://cloud.google.com/compute/docs/disks/local-ssd
+              # for more information.
+          &quot;imageType&quot;: &quot;A String&quot;, # The image type to use for this node. Note that for a given image type,
+              # the latest version of it will be used.
         },
-        &quot;name&quot;: &quot;A String&quot;, # The name of this cluster. The name must be unique within this project
-            # and location (e.g. zone or region), and can be up to 40 characters with
-            # the following restrictions:
-            #
-            # * Lowercase letters, numbers, and hyphens only.
-            # * Must start with a letter.
-            # * Must end with a number or a letter.
-        &quot;location&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
-            # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
-            # or
-            # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
-            # in which the cluster resides.
-        &quot;endpoint&quot;: &quot;A String&quot;, # [Output only] The IP address of this cluster&#x27;s master endpoint.
-            # The endpoint can be accessed from the internet at
-            # `https://username:password@endpoint/`.
-            #
-            # See the `masterAuth` property of this resource for username and
-            # password information.
-        &quot;createTime&quot;: &quot;A String&quot;, # [Output only] The time the cluster was created, in
-            # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-        &quot;clusterIpv4Cidr&quot;: &quot;A String&quot;, # The IP address range of the container pods in this cluster, in
+        &quot;currentMasterVersion&quot;: &quot;A String&quot;, # [Output only] The current software version of the master endpoint.
+        &quot;masterAuthorizedNetworksConfig&quot;: { # Configuration options for the master authorized networks feature. Enabled # The configuration options for master authorized networks feature.
+            # master authorized networks will disallow all external traffic to access
+            # Kubernetes master through HTTPS except traffic from the given CIDR blocks,
+            # Google Compute Engine Public IPs and Google Prod IPs.
+          &quot;cidrBlocks&quot;: [ # cidr_blocks define up to 10 external networks that could access
+              # Kubernetes master through HTTPS.
+            { # CidrBlock contains an optional name and one CIDR block.
+              &quot;displayName&quot;: &quot;A String&quot;, # display_name is an optional field for users to identify CIDR blocks.
+              &quot;cidrBlock&quot;: &quot;A String&quot;, # cidr_block must be specified in CIDR notation.
+            },
+          ],
+          &quot;enabled&quot;: True or False, # Whether or not master authorized networks is enabled.
+        },
+        &quot;servicesIpv4Cidr&quot;: &quot;A String&quot;, # [Output only] The IP address range of the Kubernetes services in
+            # this cluster, in
             # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
-            # notation (e.g. `10.96.0.0/14`). Leave blank to have
-            # one automatically chosen or specify a `/14` block in `10.0.0.0/8`.
+            # notation (e.g. `1.2.3.4/29`). Service addresses are
+            # typically put in the last `/16` from the container CIDR.
+        &quot;masterIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP prefix in CIDR notation to use for the hosted master network.
+            # This prefix will be used for assigning private IP addresses to the
+            # master or set of masters, as well as the ILB VIP.
+            # This field is deprecated, use
+            # private_cluster_config.master_ipv4_cidr_block instead.
         &quot;autoscaling&quot;: { # ClusterAutoscaling contains global, per-cluster information # Cluster-level autoscaling configuration.
             # required by Cluster Autoscaler to automatically adjust
             # the size of the cluster and create/delete
             # node pools based on the current needs.
-          &quot;autoprovisioningLocations&quot;: [ # The list of Google Compute Engine
-              # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
-              # NodePool&#x27;s nodes can be created by NAP.
-            &quot;A String&quot;,
-          ],
-          &quot;resourceLimits&quot;: [ # Contains global constraints regarding minimum and maximum
-              # amount of resources in the cluster.
-            { # Contains information about amount of some resource in the cluster.
-                # For memory, value should be in GB.
-              &quot;maximum&quot;: &quot;A String&quot;, # Maximum amount of the resource in the cluster.
-              &quot;resourceType&quot;: &quot;A String&quot;, # Resource name &quot;cpu&quot;, &quot;memory&quot; or gpu-specific string.
-              &quot;minimum&quot;: &quot;A String&quot;, # Minimum amount of the resource in the cluster.
-            },
-          ],
-          &quot;autoscalingProfile&quot;: &quot;A String&quot;, # Defines autoscaling behaviour.
           &quot;enableNodeAutoprovisioning&quot;: True or False, # Enables automatic node pool creation and deletion.
           &quot;autoprovisioningNodePoolDefaults&quot;: { # AutoprovisioningNodePoolDefaults contains defaults for a node pool created # AutoprovisioningNodePoolDefaults contains defaults for a node pool
               # created by NAP.
               # by NAP.
-            &quot;serviceAccount&quot;: &quot;A String&quot;, # The Google Cloud Platform Service Account to be used by the node VMs. If
-                # service_account is specified, scopes should be empty.
-            &quot;minCpuPlatform&quot;: &quot;A String&quot;, # Minimum CPU platform to be used for NAP created node pools.
-                # The instance may be scheduled on the specified or newer CPU platform.
-                # Applicable values are the friendly names of CPU platforms, such as
-                # &lt;code&gt;minCpuPlatform: &amp;quot;Intel Haswell&amp;quot;&lt;/code&gt; or
-                # &lt;code&gt;minCpuPlatform: &amp;quot;Intel Sandy Bridge&amp;quot;&lt;/code&gt;. For more
-                # information, read [how to specify min CPU
-                # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
-                # To unset the min cpu platform field pass &quot;automatic&quot; as field value.
-            &quot;management&quot;: { # NodeManagement defines the set of node management services turned on for the # Specifies the node management options for NAP created node-pools.
-                # node pool.
-              &quot;autoRepair&quot;: True or False, # Whether the nodes will be automatically repaired.
-              &quot;autoUpgrade&quot;: True or False, # Whether the nodes will be automatically upgraded.
-              &quot;upgradeOptions&quot;: { # AutoUpgradeOptions defines the set of options for the user to control how # Specifies the Auto Upgrade knobs for the node pool.
-                  # the Auto Upgrades will proceed.
-                &quot;description&quot;: &quot;A String&quot;, # [Output only] This field is set when upgrades are about to commence
-                    # with the description of the upgrade.
-                &quot;autoUpgradeStartTime&quot;: &quot;A String&quot;, # [Output only] This field is set when upgrades are about to commence
-                    # with the approximate start time for the upgrades, in
-                    # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-              },
-            },
-            &quot;oauthScopes&quot;: [ # Scopes that are used by NAP when creating node pools. If oauth_scopes are
-                # specified, service_account should be empty.
-              &quot;A String&quot;,
-            ],
-            &quot;upgradeSettings&quot;: { # These upgrade settings control the level of parallelism and the level of # Specifies the upgrade settings for NAP created node pools
+            &quot;upgradeSettings&quot;: { # These upgrade settings control the level of parallelism and the level of # Upgrade settings control disruption and speed of the upgrade.
                 # disruption caused by an upgrade.
                 #
                 # maxUnavailable controls the number of nodes that can be simultaneously
@@ -3883,10 +3664,548 @@
               &quot;maxSurge&quot;: 42, # The maximum number of nodes that can be created beyond the current size
                   # of the node pool during the upgrade process.
             },
+            &quot;serviceAccount&quot;: &quot;A String&quot;, # The Google Cloud Platform Service Account to be used by the node VMs.
+                # Specify the email address of the Service Account; otherwise, if no Service
+                # Account is specified, the &quot;default&quot; service account is used.
+            &quot;oauthScopes&quot;: [ # The set of Google API scopes to be made available on all of the
+                # node VMs under the &quot;default&quot; service account.
+                #
+                # The following scopes are recommended, but not required, and by default are
+                # not included:
+                #
+                # * `https://www.googleapis.com/auth/compute` is required for mounting
+                # persistent storage on your nodes.
+                # * `https://www.googleapis.com/auth/devstorage.read_only` is required for
+                # communicating with **gcr.io**
+                # (the [Google Container
+                # Registry](https://cloud.google.com/container-registry/)).
+                #
+                # If unspecified, no scopes are added, unless Cloud Logging or Cloud
+                # Monitoring are enabled, in which case their required scopes will be added.
+              &quot;A String&quot;,
+            ],
+            &quot;minCpuPlatform&quot;: &quot;A String&quot;, # Minimum CPU platform to be used by this instance. The instance may be
+                # scheduled on the specified or newer CPU platform. Applicable values are the
+                # friendly names of CPU platforms, such as
+                # &lt;code&gt;minCpuPlatform: &amp;quot;Intel Haswell&amp;quot;&lt;/code&gt; or
+                # &lt;code&gt;minCpuPlatform: &amp;quot;Intel Sandy Bridge&amp;quot;&lt;/code&gt;. For more
+                # information, read [how to specify min CPU
+                # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
+                # To unset the min cpu platform field pass &quot;automatic&quot;
+                # as field value.
+            &quot;management&quot;: { # NodeManagement defines the set of node management services turned on for the # NodeManagement configuration for this NodePool.
+                # node pool.
+              &quot;autoRepair&quot;: True or False, # Whether the nodes will be automatically repaired.
+              &quot;autoUpgrade&quot;: True or False, # Whether the nodes will be automatically upgraded.
+              &quot;upgradeOptions&quot;: { # AutoUpgradeOptions defines the set of options for the user to control how # Specifies the Auto Upgrade knobs for the node pool.
+                  # the Auto Upgrades will proceed.
+                &quot;description&quot;: &quot;A String&quot;, # [Output only] This field is set when upgrades are about to commence
+                    # with the description of the upgrade.
+                &quot;autoUpgradeStartTime&quot;: &quot;A String&quot;, # [Output only] This field is set when upgrades are about to commence
+                    # with the approximate start time for the upgrades, in
+                    # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+              },
+            },
           },
+          &quot;autoscalingProfile&quot;: &quot;A String&quot;, # Defines autoscaling behaviour.
+          &quot;resourceLimits&quot;: [ # Contains global constraints regarding minimum and maximum
+              # amount of resources in the cluster.
+            { # Contains information about amount of some resource in the cluster.
+                # For memory, value should be in GB.
+              &quot;minimum&quot;: &quot;A String&quot;, # Minimum amount of the resource in the cluster.
+              &quot;maximum&quot;: &quot;A String&quot;, # Maximum amount of the resource in the cluster.
+              &quot;resourceType&quot;: &quot;A String&quot;, # Resource name &quot;cpu&quot;, &quot;memory&quot; or gpu-specific string.
+            },
+          ],
+          &quot;autoprovisioningLocations&quot;: [ # The list of Google Compute Engine
+              # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
+              # NodePool&#x27;s nodes can be created by NAP.
+            &quot;A String&quot;,
+          ],
         },
+        &quot;locations&quot;: [ # The list of Google Compute Engine
+            # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
+            # cluster&#x27;s nodes should be located.
+          &quot;A String&quot;,
+        ],
+        &quot;conditions&quot;: [ # Which conditions caused the current cluster state.
+          { # StatusCondition describes why a cluster or a node pool has a certain status
+              # (e.g., ERROR or DEGRADED).
+            &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
+            &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+          },
+        ],
+        &quot;loggingService&quot;: &quot;A String&quot;, # The logging service the cluster should use to write logs.
+            # Currently available options:
+            #
+            # * `logging.googleapis.com/kubernetes` - The Cloud Logging
+            # service with a Kubernetes-native resource model
+            # * `logging.googleapis.com` - The legacy Cloud Logging service (no longer
+            #   available as of GKE 1.15).
+            # * `none` - no logs will be exported from the cluster.
+            #
+            # If left as an empty string,`logging.googleapis.com/kubernetes` will be
+            # used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.
+        &quot;enableKubernetesAlpha&quot;: True or False, # Kubernetes alpha features are enabled on this cluster. This includes alpha
+            # API groups (e.g. v1beta1) and features that may not be production ready in
+            # the kubernetes version of the master and nodes.
+            # The cluster has no SLA for uptime and master/node upgrades are disabled.
+            # Alpha enabled clusters are automatically deleted thirty days after
+            # creation.
+        &quot;instanceGroupUrls&quot;: [ # Deprecated. Use node_pools.instance_group_urls.
+          &quot;A String&quot;,
+        ],
+        &quot;name&quot;: &quot;A String&quot;, # The name of this cluster. The name must be unique within this project
+            # and location (e.g. zone or region), and can be up to 40 characters with
+            # the following restrictions:
+            #
+            # * Lowercase letters, numbers, and hyphens only.
+            # * Must start with a letter.
+            # * Must end with a number or a letter.
+        &quot;master&quot;: { # Master is the configuration for components on master. # Configuration for master components.
+        },
+        &quot;endpoint&quot;: &quot;A String&quot;, # [Output only] The IP address of this cluster&#x27;s master endpoint.
+            # The endpoint can be accessed from the internet at
+            # `https://username:password@endpoint/`.
+            #
+            # See the `masterAuth` property of this resource for username and
+            # password information.
+        &quot;resourceUsageExportConfig&quot;: { # Configuration for exporting cluster resource usages. # Configuration for exporting resource usages. Resource usage export is
+            # disabled when this config unspecified.
+          &quot;consumptionMeteringConfig&quot;: { # Parameters for controlling consumption metering. # Configuration to enable resource consumption metering.
+            &quot;enabled&quot;: True or False, # Whether to enable consumption metering for this cluster. If enabled, a
+                # second BigQuery table will be created to hold resource consumption
+                # records.
+          },
+          &quot;bigqueryDestination&quot;: { # Parameters for using BigQuery as the destination of resource usage export. # Configuration to use BigQuery as usage export destination.
+            &quot;datasetId&quot;: &quot;A String&quot;, # The ID of a BigQuery Dataset.
+          },
+          &quot;enableNetworkEgressMetering&quot;: True or False, # Whether to enable network egress metering for this cluster. If enabled, a
+              # daemonset will be created in the cluster to meter network egress traffic.
+        },
+        &quot;location&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
+            # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
+            # or
+            # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
+            # in which the cluster resides.
+        &quot;authenticatorGroupsConfig&quot;: { # Configuration for returning group information from authenticators. # Configuration controlling RBAC group membership information.
+          &quot;securityGroup&quot;: &quot;A String&quot;, # The name of the security group-of-groups to be used. Only relevant
+              # if enabled = true.
+          &quot;enabled&quot;: True or False, # Whether this cluster should return group membership lookups
+              # during authentication using a group of security groups.
+        },
+        &quot;subnetwork&quot;: &quot;A String&quot;, # The name of the Google Compute Engine
+            # [subnetwork](https://cloud.google.com/compute/docs/subnetworks) to which
+            # the cluster is connected. On output this shows the subnetwork ID instead of
+            # the name.
+        &quot;maintenancePolicy&quot;: { # MaintenancePolicy defines the maintenance policy to be used for the cluster. # Configure the maintenance policy for this cluster.
+          &quot;window&quot;: { # MaintenanceWindow defines the maintenance window to be used for the cluster. # Specifies the maintenance window in which maintenance may be performed.
+            &quot;recurringWindow&quot;: { # Represents an arbitrary window of time that recurs. # RecurringWindow specifies some number of recurring time periods for
+                # maintenance to occur. The time windows may be overlapping. If no
+                # maintenance windows are set, maintenance can occur at any time.
+              &quot;recurrence&quot;: &quot;A String&quot;, # An RRULE (https://tools.ietf.org/html/rfc5545#section-3.8.5.3) for how
+                  # this window reccurs. They go on for the span of time between the start and
+                  # end time.
+                  #
+                  # For example, to have something repeat every weekday, you&#x27;d use:
+                  #   &lt;code&gt;FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR&lt;/code&gt;
+                  # To repeat some window daily (equivalent to the DailyMaintenanceWindow):
+                  #   &lt;code&gt;FREQ=DAILY&lt;/code&gt;
+                  # For the first weekend of every month:
+                  #   &lt;code&gt;FREQ=MONTHLY;BYSETPOS=1;BYDAY=SA,SU&lt;/code&gt;
+                  # This specifies how frequently the window starts. Eg, if you wanted to have
+                  # a 9-5 UTC-4 window every weekday, you&#x27;d use something like:
+                  # &lt;code&gt;
+                  #   start time = 2019-01-01T09:00:00-0400
+                  #   end time = 2019-01-01T17:00:00-0400
+                  #   recurrence = FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR
+                  # &lt;/code&gt;
+                  # Windows can span multiple days. Eg, to make the window encompass every
+                  # weekend from midnight Saturday till the last minute of Sunday UTC:
+                  # &lt;code&gt;
+                  #   start time = 2019-01-05T00:00:00Z
+                  #   end time = 2019-01-07T23:59:00Z
+                  #   recurrence = FREQ=WEEKLY;BYDAY=SA
+                  # &lt;/code&gt;
+                  # Note the start and end time&#x27;s specific dates are largely arbitrary except
+                  # to specify duration of the window and when it first starts.
+                  # The FREQ values of HOURLY, MINUTELY, and SECONDLY are not supported.
+              &quot;window&quot;: { # Represents an arbitrary window of time. # The window of the first recurrence.
+                &quot;endTime&quot;: &quot;A String&quot;, # The time that the window ends. The end time should take place after the
+                    # start time.
+                &quot;startTime&quot;: &quot;A String&quot;, # The time that the window first starts.
+              },
+            },
+            &quot;dailyMaintenanceWindow&quot;: { # Time window specified for daily maintenance operations. # DailyMaintenanceWindow specifies a daily maintenance operation window.
+              &quot;startTime&quot;: &quot;A String&quot;, # Time within the maintenance window to start the maintenance operations.
+                  # It must be in format &quot;HH:MM&quot;, where HH : [00-23] and MM : [00-59] GMT.
+              &quot;duration&quot;: &quot;A String&quot;, # [Output only] Duration of the time window, automatically chosen to be
+                  # smallest possible in the given scenario.
+            },
+            &quot;maintenanceExclusions&quot;: { # Exceptions to maintenance window. Non-emergency maintenance should not
+                # occur in these windows.
+              &quot;a_key&quot;: { # Represents an arbitrary window of time.
+                &quot;endTime&quot;: &quot;A String&quot;, # The time that the window ends. The end time should take place after the
+                    # start time.
+                &quot;startTime&quot;: &quot;A String&quot;, # The time that the window first starts.
+              },
+            },
+          },
+          &quot;resourceVersion&quot;: &quot;A String&quot;, # A hash identifying the version of this policy, so that updates to fields of
+              # the policy won&#x27;t accidentally undo intermediate changes (and so that users
+              # of the API unaware of some fields won&#x27;t accidentally remove other fields).
+              # Make a &lt;code&gt;get()&lt;/code&gt; request to the cluster to get the current
+              # resource version and include it with requests to set the policy.
+        },
+        &quot;tpuConfig&quot;: { # Configuration for Cloud TPU. # Configuration for Cloud TPU support;
+          &quot;ipv4CidrBlock&quot;: &quot;A String&quot;, # IPv4 CIDR block reserved for Cloud TPU in the VPC.
+          &quot;useServiceNetworking&quot;: True or False, # Whether to use service networking for Cloud TPU or not.
+          &quot;enabled&quot;: True or False, # Whether Cloud TPU integration is enabled or not.
+        },
+        &quot;nodePools&quot;: [ # The node pools associated with this cluster.
+            # This field should not be set if &quot;node_config&quot; or &quot;initial_node_count&quot; are
+            # specified.
+          { # NodePool contains the name and configuration for a cluster&#x27;s node pool.
+              # Node pools are a set of nodes (i.e. VM&#x27;s), with a common configuration and
+              # specification, under the control of the cluster master. They may have a set
+              # of Kubernetes labels applied to them, which may be used to reference them
+              # during pod scheduling. They may also be resized up or down, to accommodate
+              # the workload.
+            &quot;status&quot;: &quot;A String&quot;, # [Output only] The status of the nodes in this pool instance.
+            &quot;upgradeSettings&quot;: { # These upgrade settings control the level of parallelism and the level of # Upgrade settings control disruption and speed of the upgrade.
+                # disruption caused by an upgrade.
+                #
+                # maxUnavailable controls the number of nodes that can be simultaneously
+                # unavailable.
+                #
+                # maxSurge controls the number of additional nodes that can be added to the
+                # node pool temporarily for the time of the upgrade to increase the number of
+                # available nodes.
+                #
+                # (maxUnavailable + maxSurge) determines the level of parallelism (how many
+                # nodes are being upgraded at the same time).
+                #
+                # Note: upgrades inevitably introduce some disruption since workloads need to
+                # be moved from old nodes to new, upgraded ones. Even if maxUnavailable=0,
+                # this holds true. (Disruption stays within the limits of
+                # PodDisruptionBudget, if it is configured.)
+                #
+                # Consider a hypothetical node pool with 5 nodes having maxSurge=2,
+                # maxUnavailable=1. This means the upgrade process upgrades 3 nodes
+                # simultaneously. It creates 2 additional (upgraded) nodes, then it brings
+                # down 3 old (not yet upgraded) nodes at the same time. This ensures that
+                # there are always at least 4 nodes available.
+              &quot;maxUnavailable&quot;: 42, # The maximum number of nodes that can be simultaneously unavailable during
+                  # the upgrade process. A node is considered available if its status is
+                  # Ready.
+              &quot;maxSurge&quot;: 42, # The maximum number of nodes that can be created beyond the current size
+                  # of the node pool during the upgrade process.
+            },
+            &quot;instanceGroupUrls&quot;: [ # [Output only] The resource URLs of the [managed instance
+                # groups](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances)
+                # associated with this node pool.
+              &quot;A String&quot;,
+            ],
+            &quot;autoscaling&quot;: { # NodePoolAutoscaling contains information required by cluster autoscaler to # Autoscaler configuration for this NodePool. Autoscaler is enabled
+                # only if a valid configuration is present.
+                # adjust the size of the node pool to the current cluster usage.
+              &quot;autoprovisioned&quot;: True or False, # Can this node pool be deleted automatically.
+              &quot;minNodeCount&quot;: 42, # Minimum number of nodes in the NodePool. Must be &gt;= 1 and &lt;=
+                  # max_node_count.
+              &quot;enabled&quot;: True or False, # Is autoscaling enabled for this node pool.
+              &quot;maxNodeCount&quot;: 42, # Maximum number of nodes in the NodePool. Must be &gt;= min_node_count. There
+                  # has to enough quota to scale up the cluster.
+            },
+            &quot;initialNodeCount&quot;: 42, # The initial node count for the pool. You must ensure that your
+                # Compute Engine [resource quota](https://cloud.google.com/compute/quotas)
+                # is sufficient for this number of instances. You must also have available
+                # firewall and routes quota.
+            &quot;config&quot;: { # Parameters that describe the nodes in a cluster. # The node configuration of the pool.
+              &quot;oauthScopes&quot;: [ # The set of Google API scopes to be made available on all of the
+                  # node VMs under the &quot;default&quot; service account.
+                  #
+                  # The following scopes are recommended, but not required, and by default are
+                  # not included:
+                  #
+                  # * `https://www.googleapis.com/auth/compute` is required for mounting
+                  # persistent storage on your nodes.
+                  # * `https://www.googleapis.com/auth/devstorage.read_only` is required for
+                  # communicating with **gcr.io**
+                  # (the [Google Container
+                  # Registry](https://cloud.google.com/container-registry/)).
+                  #
+                  # If unspecified, no scopes are added, unless Cloud Logging or Cloud
+                  # Monitoring are enabled, in which case their required scopes will be added.
+                &quot;A String&quot;,
+              ],
+              &quot;metadata&quot;: { # The metadata key/value pairs assigned to instances in the cluster.
+                  #
+                  # Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes
+                  # in length. These are reflected as part of a URL in the metadata server.
+                  # Additionally, to avoid ambiguity, keys must not conflict with any other
+                  # metadata keys for the project or be one of the reserved keys:
+                  #  &quot;cluster-location&quot;
+                  #  &quot;cluster-name&quot;
+                  #  &quot;cluster-uid&quot;
+                  #  &quot;configure-sh&quot;
+                  #  &quot;containerd-configure-sh&quot;
+                  #  &quot;enable-oslogin&quot;
+                  #  &quot;gci-ensure-gke-docker&quot;
+                  #  &quot;gci-metrics-enabled&quot;
+                  #  &quot;gci-update-strategy&quot;
+                  #  &quot;instance-template&quot;
+                  #  &quot;kube-env&quot;
+                  #  &quot;startup-script&quot;
+                  #  &quot;user-data&quot;
+                  #  &quot;disable-address-manager&quot;
+                  #  &quot;windows-startup-script-ps1&quot;
+                  #  &quot;common-psm1&quot;
+                  #  &quot;k8s-node-setup-psm1&quot;
+                  #  &quot;install-ssh-psm1&quot;
+                  #  &quot;user-profile-psm1&quot;
+                  #  &quot;serial-port-logging-enable&quot;
+                  # Values are free-form strings, and only have meaning as interpreted by
+                  # the image running in the instance. The only restriction placed on them is
+                  # that each value&#x27;s size must be less than or equal to 32 KB.
+                  #
+                  # The total size of all keys and values must be less than 512 KB.
+                &quot;a_key&quot;: &quot;A String&quot;,
+              },
+              &quot;machineType&quot;: &quot;A String&quot;, # The name of a Google Compute Engine [machine
+                  # type](https://cloud.google.com/compute/docs/machine-types) (e.g.
+                  # `n1-standard-1`).
+                  #
+                  # If unspecified, the default machine type is
+                  # `n1-standard-1`.
+              &quot;nodeGroup&quot;: &quot;A String&quot;, # Setting this field will assign instances of this
+                  # pool to run on the specified node group. This is useful for running
+                  # workloads on [sole tenant
+                  # nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes).
+              &quot;shieldedInstanceConfig&quot;: { # A set of Shielded Instance options. # Shielded Instance options.
+                &quot;enableSecureBoot&quot;: True or False, # Defines whether the instance has Secure Boot enabled.
+                    #
+                    # Secure Boot helps ensure that the system only runs authentic software by
+                    # verifying the digital signature of all boot components, and halting the
+                    # boot process if signature verification fails.
+                &quot;enableIntegrityMonitoring&quot;: True or False, # Defines whether the instance has integrity monitoring enabled.
+                    #
+                    # Enables monitoring and attestation of the boot integrity of the instance.
+                    # The attestation is performed against the integrity policy baseline. This
+                    # baseline is initially derived from the implicitly trusted boot image when
+                    # the instance is created.
+              },
+              &quot;serviceAccount&quot;: &quot;A String&quot;, # The Google Cloud Platform Service Account to be used by the node VMs.
+                  # Specify the email address of the Service Account; otherwise, if no Service
+                  # Account is specified, the &quot;default&quot; service account is used.
+              &quot;linuxNodeConfig&quot;: { # Parameters that can be configured on Linux nodes. # Parameters that can be configured on Linux nodes.
+                &quot;sysctls&quot;: { # The Linux kernel parameters to be applied to the nodes and all pods running
+                    # on the nodes.
+                    #
+                    # The following parameters are supported.
+                    #
+                    # net.core.netdev_max_backlog
+                    # net.core.rmem_max
+                    # net.core.wmem_default
+                    # net.core.wmem_max
+                    # net.core.optmem_max
+                    # net.core.somaxconn
+                    # net.ipv4.tcp_rmem
+                    # net.ipv4.tcp_wmem
+                    # net.ipv4.tcp_tw_reuse
+                  &quot;a_key&quot;: &quot;A String&quot;,
+                },
+              },
+              &quot;sandboxConfig&quot;: { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node.
+                &quot;type&quot;: &quot;A String&quot;, # Type of the sandbox to use for the node.
+                &quot;sandboxType&quot;: &quot;A String&quot;, # Type of the sandbox to use for the node (e.g. &#x27;gvisor&#x27;)
+              },
+              &quot;taints&quot;: [ # List of kubernetes taints to be applied to each node.
+                  #
+                  # For more information, including usage and the valid values, see:
+                  # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
+                { # Kubernetes taint is comprised of three fields: key, value, and effect. Effect
+                    # can only be one of three types:  NoSchedule, PreferNoSchedule or NoExecute.
+                    #
+                    # See
+                    # [here](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration)
+                    # for more information, including usage and the valid values.
+                  &quot;effect&quot;: &quot;A String&quot;, # Effect for taint.
+                  &quot;key&quot;: &quot;A String&quot;, # Key for taint.
+                  &quot;value&quot;: &quot;A String&quot;, # Value for taint.
+                },
+              ],
+              &quot;kubeletConfig&quot;: { # Node kubelet configs. # Node kubelet configs.
+                &quot;cpuCfsQuotaPeriod&quot;: &quot;A String&quot;, # Set the CPU CFS quota period value &#x27;cpu.cfs_period_us&#x27;.
+                    #
+                    # The string must be a sequence of decimal numbers, each with optional
+                    # fraction and a unit suffix, such as &quot;300ms&quot;.
+                    # Valid time units are &quot;ns&quot;, &quot;us&quot; (or &quot;µs&quot;), &quot;ms&quot;, &quot;s&quot;, &quot;m&quot;, &quot;h&quot;.
+                    # The value must be a positive duration.
+                &quot;cpuCfsQuota&quot;: True or False, # Enable CPU CFS quota enforcement for containers that specify CPU limits.
+                    #
+                    # If this option is enabled, kubelet uses CFS quota
+                    # (https://www.kernel.org/doc/Documentation/scheduler/sched-bwc.txt) to
+                    # enforce container CPU limits. Otherwise, CPU limits will not be enforced at
+                    # all.
+                    #
+                    # Disable this option to mitigate CPU throttling problems while still having
+                    # your pods to be in Guaranteed QoS class by specifying the CPU limits.
+                    #
+                    # The default value is &#x27;true&#x27; if unspecified.
+                &quot;cpuManagerPolicy&quot;: &quot;A String&quot;, # Control the CPU management policy on the node.
+                    # See
+                    # https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/
+                    #
+                    # The following values are allowed.
+                    #   - &quot;none&quot;: the default, which represents the existing scheduling behavior.
+                    #   - &quot;static&quot;: allows pods with certain resource characteristics to be
+                    #               granted increased CPU affinity and exclusivity on the node.
+              },
+              &quot;labels&quot;: { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
+                  # These will added in addition to any default label(s) that
+                  # Kubernetes may apply to the node.
+                  # In case of conflict in label keys, the applied set may differ depending on
+                  # the Kubernetes version -- it&#x27;s best to assume the behavior is undefined
+                  # and conflicts should be avoided.
+                  # For more information, including usage and the valid values, see:
+                  # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
+                &quot;a_key&quot;: &quot;A String&quot;,
+              },
+              &quot;diskType&quot;: &quot;A String&quot;, # Type of the disk attached to each node (e.g. &#x27;pd-standard&#x27; or &#x27;pd-ssd&#x27;)
+                  #
+                  # If unspecified, the default disk type is &#x27;pd-standard&#x27;
+              &quot;workloadMetadataConfig&quot;: { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node.
+                  # workloads on the node pool.
+                &quot;nodeMetadata&quot;: &quot;A String&quot;, # NodeMetadata is the configuration for how to expose metadata to the
+                    # workloads running on the node.
+                &quot;mode&quot;: &quot;A String&quot;, # Mode is the configuration for how to expose metadata to workloads running
+                    # on the node pool.
+              },
+              &quot;bootDiskKmsKey&quot;: &quot;A String&quot;, #
+                  # The Customer Managed Encryption Key used to encrypt the boot disk attached
+                  # to each node in the node pool. This should be of the form
+                  # projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME].
+                  # For more information about protecting resources with Cloud KMS Keys please
+                  # see:
+                  # https://cloud.google.com/compute/docs/disks/customer-managed-encryption
+              &quot;diskSizeGb&quot;: 42, # Size of the disk attached to each node, specified in GB.
+                  # The smallest allowed disk size is 10GB.
+                  #
+                  # If unspecified, the default disk size is 100GB.
+              &quot;reservationAffinity&quot;: { # [ReservationAffinity](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources) # The optional reservation affinity. Setting this field will apply
+                  # the specified [Zonal Compute
+                  # Reservation](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources)
+                  # to this node pool.
+                  # is the configuration of desired reservation which instances could take
+                  # capacity from.
+                &quot;consumeReservationType&quot;: &quot;A String&quot;, # Corresponds to the type of reservation consumption.
+                &quot;key&quot;: &quot;A String&quot;, # Corresponds to the label key of a reservation resource. To target a
+                    # SPECIFIC_RESERVATION by name, specify &quot;googleapis.com/reservation-name&quot; as
+                    # the key and specify the name of your reservation as its value.
+                &quot;values&quot;: [ # Corresponds to the label value(s) of reservation resource(s).
+                  &quot;A String&quot;,
+                ],
+              },
+              &quot;preemptible&quot;: True or False, # Whether the nodes are created as preemptible VM instances. See:
+                  # https://cloud.google.com/compute/docs/instances/preemptible for more
+                  # inforamtion about preemptible VM instances.
+              &quot;minCpuPlatform&quot;: &quot;A String&quot;, # Minimum CPU platform to be used by this instance. The instance may be
+                  # scheduled on the specified or newer CPU platform. Applicable values are the
+                  # friendly names of CPU platforms, such as
+                  # &lt;code&gt;minCpuPlatform: &amp;quot;Intel Haswell&amp;quot;&lt;/code&gt; or
+                  # &lt;code&gt;minCpuPlatform: &amp;quot;Intel Sandy Bridge&amp;quot;&lt;/code&gt;. For more
+                  # information, read [how to specify min CPU
+                  # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
+              &quot;tags&quot;: [ # The list of instance tags applied to all nodes. Tags are used to identify
+                  # valid sources or targets for network firewalls and are specified by
+                  # the client during cluster or node pool creation. Each tag within the list
+                  # must comply with RFC1035.
+                &quot;A String&quot;,
+              ],
+              &quot;accelerators&quot;: [ # A list of hardware accelerators to be attached to each node.
+                  # See https://cloud.google.com/compute/docs/gpus for more information about
+                  # support for GPUs.
+                { # AcceleratorConfig represents a Hardware Accelerator request.
+                  &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
+                  &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators
+                      # [here](https://cloud.google.com/compute/docs/gpus)
+                },
+              ],
+              &quot;localSsdCount&quot;: 42, # The number of local SSD disks to be attached to the node.
+                  #
+                  # The limit for this value is dependent upon the maximum number of
+                  # disks available on a machine per zone. See:
+                  # https://cloud.google.com/compute/docs/disks/local-ssd
+                  # for more information.
+              &quot;imageType&quot;: &quot;A String&quot;, # The image type to use for this node. Note that for a given image type,
+                  # the latest version of it will be used.
+            },
+            &quot;selfLink&quot;: &quot;A String&quot;, # [Output only] Server-defined URL for the resource.
+            &quot;management&quot;: { # NodeManagement defines the set of node management services turned on for the # NodeManagement configuration for this NodePool.
+                # node pool.
+              &quot;autoRepair&quot;: True or False, # Whether the nodes will be automatically repaired.
+              &quot;autoUpgrade&quot;: True or False, # Whether the nodes will be automatically upgraded.
+              &quot;upgradeOptions&quot;: { # AutoUpgradeOptions defines the set of options for the user to control how # Specifies the Auto Upgrade knobs for the node pool.
+                  # the Auto Upgrades will proceed.
+                &quot;description&quot;: &quot;A String&quot;, # [Output only] This field is set when upgrades are about to commence
+                    # with the description of the upgrade.
+                &quot;autoUpgradeStartTime&quot;: &quot;A String&quot;, # [Output only] This field is set when upgrades are about to commence
+                    # with the approximate start time for the upgrades, in
+                    # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+              },
+            },
+            &quot;name&quot;: &quot;A String&quot;, # The name of the node pool.
+            &quot;version&quot;: &quot;A String&quot;, # The version of the Kubernetes of this node.
+            &quot;maxPodsConstraint&quot;: { # Constraints applied to pods. # The constraint on the maximum number of pods that can be run
+                # simultaneously on a node in the node pool.
+              &quot;maxPodsPerNode&quot;: &quot;A String&quot;, # Constraint enforced on the max num of pods per node.
+            },
+            &quot;statusMessage&quot;: &quot;A String&quot;, # [Output only] Additional information about the current status of this
+                # node pool instance, if available.
+            &quot;podIpv4CidrSize&quot;: 42, # [Output only] The pod CIDR block size per node in this node pool.
+            &quot;conditions&quot;: [ # Which conditions caused the current node pool state.
+              { # StatusCondition describes why a cluster or a node pool has a certain status
+                  # (e.g., ERROR or DEGRADED).
+                &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
+                &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+              },
+            ],
+            &quot;locations&quot;: [ # The list of Google Compute Engine
+                # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
+                # NodePool&#x27;s nodes should be located.
+              &quot;A String&quot;,
+            ],
+          },
+        ],
+        &quot;statusMessage&quot;: &quot;A String&quot;, # [Output only] Additional information about the current status of this
+            # cluster, if available.
+        &quot;releaseChannel&quot;: { # ReleaseChannel indicates which release channel a cluster is # Release channel configuration.
+            # subscribed to. Release channels are arranged in order of risk.
+            #
+            # When a cluster is subscribed to a release channel, Google maintains
+            # both the master version and the node version. Node auto-upgrade
+            # defaults to true and cannot be disabled.
+          &quot;channel&quot;: &quot;A String&quot;, # channel specifies which release channel the cluster is subscribed to.
+        },
+        &quot;selfLink&quot;: &quot;A String&quot;, # [Output only] Server-defined URL for the resource.
+        &quot;defaultMaxPodsConstraint&quot;: { # Constraints applied to pods. # The default constraint on the maximum number of pods that can be run
+            # simultaneously on a node in the node pool of this cluster. Only honored
+            # if cluster created with IP Alias support.
+          &quot;maxPodsPerNode&quot;: &quot;A String&quot;, # Constraint enforced on the max num of pods per node.
+        },
+        &quot;clusterTelemetry&quot;: { # Telemetry integration for the cluster. # Telemetry integration for the cluster.
+          &quot;type&quot;: &quot;A String&quot;, # Type of the integration.
+        },
+        &quot;status&quot;: &quot;A String&quot;, # [Output only] The current status of this cluster.
+        &quot;resourceLabels&quot;: { # The resource labels for the cluster to use to annotate any related
+            # Google Compute Engine resources.
+          &quot;a_key&quot;: &quot;A String&quot;,
+        },
+        &quot;tpuIpv4CidrBlock&quot;: &quot;A String&quot;, # [Output only] The IP address range of the Cloud TPUs in this cluster, in
+            # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+            # notation (e.g. `1.2.3.4/29`).
         &quot;initialNodeCount&quot;: 42, # The number of nodes to create in this cluster. You must ensure that your
-            # Compute Engine &lt;a href=&quot;/compute/docs/resource-quotas&quot;&gt;resource quota&lt;/a&gt;
+            # Compute Engine [resource quota](https://cloud.google.com/compute/quotas)
             # is sufficient for this number of instances. You must also have available
             # firewall and routes quota.
             # For requests, this field should only be used in lieu of a
@@ -3895,15 +4214,38 @@
             # auto-generated name. Do not use this and a node_pool at the same time.
             #
             # This field is deprecated, use node_pool.initial_node_count instead.
-        &quot;instanceGroupUrls&quot;: [ # Deprecated. Use node_pools.instance_group_urls.
-          &quot;A String&quot;,
-        ],
+        &quot;podSecurityPolicyConfig&quot;: { # Configuration for the PodSecurityPolicy feature. # Configuration for the PodSecurityPolicy feature.
+          &quot;enabled&quot;: True or False, # Enable the PodSecurityPolicy controller for this cluster. If enabled, pods
+              # must be valid under a PodSecurityPolicy to be created.
+        },
+        &quot;description&quot;: &quot;A String&quot;, # An optional description of this cluster.
+        &quot;databaseEncryption&quot;: { # Configuration of etcd encryption. # Configuration of etcd encryption.
+          &quot;state&quot;: &quot;A String&quot;, # Denotes the state of etcd encryption.
+          &quot;keyName&quot;: &quot;A String&quot;, # Name of CloudKMS key to use for the encryption of secrets in etcd.
+              # Ex. projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-key
+        },
+        &quot;network&quot;: &quot;A String&quot;, # The name of the Google Compute Engine
+            # [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks)
+            # to which the cluster is connected. If left unspecified, the `default`
+            # network will be used. On output this shows the network ID instead of the
+            # name.
+        &quot;zone&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
+            # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
+            # cluster resides. This field is deprecated, use location instead.
+        &quot;verticalPodAutoscaling&quot;: { # VerticalPodAutoscaling contains global, per-cluster information # Cluster-level Vertical Pod Autoscaling configuration.
+            # required by Vertical Pod Autoscaler to automatically adjust
+            # the resources of pods controlled by it.
+          &quot;enabled&quot;: True or False, # Enables vertical pod autoscaling.
+        },
+        &quot;expireTime&quot;: &quot;A String&quot;, # [Output only] The time the cluster will be automatically
+            # deleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+        &quot;nodeIpv4CidrSize&quot;: 42, # [Output only] The size of the address space on each node for hosting
+            # containers. This is provisioned from within the `container_ipv4_cidr`
+            # range. This field will only be set when cluster is in route-based network
+            # mode.
+        &quot;labelFingerprint&quot;: &quot;A String&quot;, # The fingerprint of the set of labels for this cluster.
       },
     ],
-    &quot;missingZones&quot;: [ # If any zones are listed here, the list of clusters returned
-        # may be missing those zones.
-      &quot;A String&quot;,
-    ],
   }</pre>
 </div>
 
@@ -3928,13 +4270,17 @@
     The object takes the form of:
 
 { # SetLocationsRequest sets the locations of the cluster.
+    &quot;projectId&quot;: &quot;A String&quot;, # Required. Deprecated. The Google Developers Console [project ID or project
+        # number](https://support.google.com/cloud/answer/6158840).
+        # This field has been deprecated and replaced by the name field.
     &quot;clusterId&quot;: &quot;A String&quot;, # Required. Deprecated. The name of the cluster to upgrade.
         # This field has been deprecated and replaced by the name field.
     &quot;name&quot;: &quot;A String&quot;, # The name (project, location, cluster) of the cluster to set locations.
         # Specified in the format `projects/*/locations/*/clusters/*`.
-    &quot;projectId&quot;: &quot;A String&quot;, # Required. Deprecated. The Google Developers Console [project ID or project
-        # number](https://support.google.com/cloud/answer/6158840).
-        # This field has been deprecated and replaced by the name field.
+    &quot;zone&quot;: &quot;A String&quot;, # Required. Deprecated. The name of the Google Compute Engine
+        # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
+        # cluster resides. This field has been deprecated and replaced by the name
+        # field.
     &quot;locations&quot;: [ # Required. The desired list of Google Compute Engine
         # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
         # cluster&#x27;s nodes should be located. Changing the locations a cluster is in
@@ -3944,10 +4290,6 @@
         # This list must always include the cluster&#x27;s primary zone.
       &quot;A String&quot;,
     ],
-    &quot;zone&quot;: &quot;A String&quot;, # Required. Deprecated. The name of the Google Compute Engine
-        # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
-        # cluster resides. This field has been deprecated and replaced by the name
-        # field.
   }
 
   x__xgafv: string, V1 error format.
@@ -3961,34 +4303,15 @@
     { # This operation resource represents operations that may have happened or are
       # happening on the cluster. All fields are output only.
     &quot;targetLink&quot;: &quot;A String&quot;, # Server-defined URL for the target of the operation.
-    &quot;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
     &quot;operationType&quot;: &quot;A String&quot;, # The operation type.
-    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
-    &quot;name&quot;: &quot;A String&quot;, # The server-assigned ID for the operation.
-    &quot;nodepoolConditions&quot;: [ # Which conditions caused the current node pool state.
-      { # StatusCondition describes why a cluster or a node pool has a certain status
-          # (e.g., ERROR or DEGRADED).
-        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
-        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
-      },
-    ],
-    &quot;endTime&quot;: &quot;A String&quot;, # [Output only] The time the operation completed, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-    &quot;location&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
-        # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
-        # or
-        # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
-        # in which the cluster resides.
-    &quot;startTime&quot;: &quot;A String&quot;, # [Output only] The time the operation started, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-    &quot;clusterConditions&quot;: [ # Which conditions caused the current cluster state.
-      { # StatusCondition describes why a cluster or a node pool has a certain status
-          # (e.g., ERROR or DEGRADED).
-        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
-        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
-      },
-    ],
     &quot;progress&quot;: { # Information about operation (or operation stage) progress. # Output only. [Output only] Progress information for an operation.
+      &quot;stages&quot;: [ # Substages of an operation or a stage.
+        # Object with schema name: OperationProgress
+      ],
+      &quot;name&quot;: &quot;A String&quot;, # A non-parameterized string describing an operation stage.
+          # Unset for single-stage operations.
+      &quot;status&quot;: &quot;A String&quot;, # Status of an operation stage.
+          # Unset for single-stage operations.
       &quot;metrics&quot;: [ # Progress metric bundle, for example:
           #   metrics: [{name: &quot;nodes done&quot;,     int_value: 15},
           #             {name: &quot;nodes total&quot;,    int_value: 32}]
@@ -3996,25 +4319,44 @@
           #   metrics: [{name: &quot;progress&quot;,       double_value: 0.56},
           #             {name: &quot;progress scale&quot;, double_value: 1.0}]
         { # Progress metric is (string, int|float|string) pair.
-          &quot;name&quot;: &quot;A String&quot;, # Required. Metric name, e.g., &quot;nodes total&quot;, &quot;percent done&quot;.
           &quot;doubleValue&quot;: 3.14, # For metrics with floating point value.
-          &quot;intValue&quot;: &quot;A String&quot;, # For metrics with integer value.
           &quot;stringValue&quot;: &quot;A String&quot;, # For metrics with custom values (ratios, visual progress, etc.).
+          &quot;name&quot;: &quot;A String&quot;, # Required. Metric name, e.g., &quot;nodes total&quot;, &quot;percent done&quot;.
+          &quot;intValue&quot;: &quot;A String&quot;, # For metrics with integer value.
         },
       ],
-      &quot;status&quot;: &quot;A String&quot;, # Status of an operation stage.
-          # Unset for single-stage operations.
-      &quot;name&quot;: &quot;A String&quot;, # A non-parameterized string describing an operation stage.
-          # Unset for single-stage operations.
-      &quot;stages&quot;: [ # Substages of an operation or a stage.
-        # Object with schema name: OperationProgress
-      ],
     },
+    &quot;selfLink&quot;: &quot;A String&quot;, # Server-defined URL for the resource.
+    &quot;location&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
+        # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
+        # or
+        # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
+        # in which the cluster resides.
     &quot;zone&quot;: &quot;A String&quot;, # The name of the Google Compute Engine
         # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
         # operation is taking place. This field is deprecated, use location instead.
+    &quot;endTime&quot;: &quot;A String&quot;, # [Output only] The time the operation completed, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
     &quot;statusMessage&quot;: &quot;A String&quot;, # Output only. If an error has occurred, a textual description of the error.
-    &quot;selfLink&quot;: &quot;A String&quot;, # Server-defined URL for the resource.
+    &quot;name&quot;: &quot;A String&quot;, # The server-assigned ID for the operation.
+    &quot;clusterConditions&quot;: [ # Which conditions caused the current cluster state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
+        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+      },
+    ],
+    &quot;startTime&quot;: &quot;A String&quot;, # [Output only] The time the operation started, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    &quot;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
+    &quot;nodepoolConditions&quot;: [ # Which conditions caused the current node pool state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
+        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+      },
+    ],
+    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
   }</pre>
 </div>
 
@@ -4036,13 +4378,8 @@
     The object takes the form of:
 
 { # SetLoggingServiceRequest sets the logging service of a cluster.
-    &quot;projectId&quot;: &quot;A String&quot;, # Required. Deprecated. The Google Developers Console [project ID or project
-        # number](https://support.google.com/cloud/answer/6158840).
-        # This field has been deprecated and replaced by the name field.
-    &quot;zone&quot;: &quot;A String&quot;, # Required. Deprecated. The name of the Google Compute Engine
-        # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
-        # cluster resides. This field has been deprecated and replaced by the name
-        # field.
+    &quot;name&quot;: &quot;A String&quot;, # The name (project, location, cluster) of the cluster to set logging.
+        # Specified in the format `projects/*/locations/*/clusters/*`.
     &quot;clusterId&quot;: &quot;A String&quot;, # Required. Deprecated. The name of the cluster to upgrade.
         # This field has been deprecated and replaced by the name field.
     &quot;loggingService&quot;: &quot;A String&quot;, # Required. The logging service the cluster should use to write logs.
@@ -4056,8 +4393,13 @@
         # 
         # If left as an empty string,`logging.googleapis.com/kubernetes` will be
         # used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.
-    &quot;name&quot;: &quot;A String&quot;, # The name (project, location, cluster) of the cluster to set logging.
-        # Specified in the format `projects/*/locations/*/clusters/*`.
+    &quot;zone&quot;: &quot;A String&quot;, # Required. Deprecated. The name of the Google Compute Engine
+        # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
+        # cluster resides. This field has been deprecated and replaced by the name
+        # field.
+    &quot;projectId&quot;: &quot;A String&quot;, # Required. Deprecated. The Google Developers Console [project ID or project
+        # number](https://support.google.com/cloud/answer/6158840).
+        # This field has been deprecated and replaced by the name field.
   }
 
   x__xgafv: string, V1 error format.
@@ -4071,34 +4413,15 @@
     { # This operation resource represents operations that may have happened or are
       # happening on the cluster. All fields are output only.
     &quot;targetLink&quot;: &quot;A String&quot;, # Server-defined URL for the target of the operation.
-    &quot;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
     &quot;operationType&quot;: &quot;A String&quot;, # The operation type.
-    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
-    &quot;name&quot;: &quot;A String&quot;, # The server-assigned ID for the operation.
-    &quot;nodepoolConditions&quot;: [ # Which conditions caused the current node pool state.
-      { # StatusCondition describes why a cluster or a node pool has a certain status
-          # (e.g., ERROR or DEGRADED).
-        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
-        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
-      },
-    ],
-    &quot;endTime&quot;: &quot;A String&quot;, # [Output only] The time the operation completed, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-    &quot;location&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
-        # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
-        # or
-        # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
-        # in which the cluster resides.
-    &quot;startTime&quot;: &quot;A String&quot;, # [Output only] The time the operation started, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-    &quot;clusterConditions&quot;: [ # Which conditions caused the current cluster state.
-      { # StatusCondition describes why a cluster or a node pool has a certain status
-          # (e.g., ERROR or DEGRADED).
-        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
-        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
-      },
-    ],
     &quot;progress&quot;: { # Information about operation (or operation stage) progress. # Output only. [Output only] Progress information for an operation.
+      &quot;stages&quot;: [ # Substages of an operation or a stage.
+        # Object with schema name: OperationProgress
+      ],
+      &quot;name&quot;: &quot;A String&quot;, # A non-parameterized string describing an operation stage.
+          # Unset for single-stage operations.
+      &quot;status&quot;: &quot;A String&quot;, # Status of an operation stage.
+          # Unset for single-stage operations.
       &quot;metrics&quot;: [ # Progress metric bundle, for example:
           #   metrics: [{name: &quot;nodes done&quot;,     int_value: 15},
           #             {name: &quot;nodes total&quot;,    int_value: 32}]
@@ -4106,25 +4429,44 @@
           #   metrics: [{name: &quot;progress&quot;,       double_value: 0.56},
           #             {name: &quot;progress scale&quot;, double_value: 1.0}]
         { # Progress metric is (string, int|float|string) pair.
-          &quot;name&quot;: &quot;A String&quot;, # Required. Metric name, e.g., &quot;nodes total&quot;, &quot;percent done&quot;.
           &quot;doubleValue&quot;: 3.14, # For metrics with floating point value.
-          &quot;intValue&quot;: &quot;A String&quot;, # For metrics with integer value.
           &quot;stringValue&quot;: &quot;A String&quot;, # For metrics with custom values (ratios, visual progress, etc.).
+          &quot;name&quot;: &quot;A String&quot;, # Required. Metric name, e.g., &quot;nodes total&quot;, &quot;percent done&quot;.
+          &quot;intValue&quot;: &quot;A String&quot;, # For metrics with integer value.
         },
       ],
-      &quot;status&quot;: &quot;A String&quot;, # Status of an operation stage.
-          # Unset for single-stage operations.
-      &quot;name&quot;: &quot;A String&quot;, # A non-parameterized string describing an operation stage.
-          # Unset for single-stage operations.
-      &quot;stages&quot;: [ # Substages of an operation or a stage.
-        # Object with schema name: OperationProgress
-      ],
     },
+    &quot;selfLink&quot;: &quot;A String&quot;, # Server-defined URL for the resource.
+    &quot;location&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
+        # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
+        # or
+        # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
+        # in which the cluster resides.
     &quot;zone&quot;: &quot;A String&quot;, # The name of the Google Compute Engine
         # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
         # operation is taking place. This field is deprecated, use location instead.
+    &quot;endTime&quot;: &quot;A String&quot;, # [Output only] The time the operation completed, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
     &quot;statusMessage&quot;: &quot;A String&quot;, # Output only. If an error has occurred, a textual description of the error.
-    &quot;selfLink&quot;: &quot;A String&quot;, # Server-defined URL for the resource.
+    &quot;name&quot;: &quot;A String&quot;, # The server-assigned ID for the operation.
+    &quot;clusterConditions&quot;: [ # Which conditions caused the current cluster state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
+        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+      },
+    ],
+    &quot;startTime&quot;: &quot;A String&quot;, # [Output only] The time the operation started, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    &quot;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
+    &quot;nodepoolConditions&quot;: [ # Which conditions caused the current node pool state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
+        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+      },
+    ],
+    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
   }</pre>
 </div>
 
@@ -4146,8 +4488,6 @@
     The object takes the form of:
 
 { # UpdateMasterRequest updates the master of the cluster.
-    &quot;name&quot;: &quot;A String&quot;, # The name (project, location, cluster) of the cluster to update.
-        # Specified in the format `projects/*/locations/*/clusters/*`.
     &quot;projectId&quot;: &quot;A String&quot;, # Required. Deprecated. The Google Developers Console [project ID or project
         # number](https://support.google.com/cloud/answer/6158840).
         # This field has been deprecated and replaced by the name field.
@@ -4161,12 +4501,14 @@
         # - &quot;1.X.Y&quot;: picks the highest valid gke.N patch in the 1.X.Y version
         # - &quot;1.X.Y-gke.N&quot;: picks an explicit Kubernetes version
         # - &quot;-&quot;: picks the default Kubernetes version
+    &quot;clusterId&quot;: &quot;A String&quot;, # Required. Deprecated. The name of the cluster to upgrade.
+        # This field has been deprecated and replaced by the name field.
     &quot;zone&quot;: &quot;A String&quot;, # Required. Deprecated. The name of the Google Compute Engine
         # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
         # cluster resides. This field has been deprecated and replaced by the name
         # field.
-    &quot;clusterId&quot;: &quot;A String&quot;, # Required. Deprecated. The name of the cluster to upgrade.
-        # This field has been deprecated and replaced by the name field.
+    &quot;name&quot;: &quot;A String&quot;, # The name (project, location, cluster) of the cluster to update.
+        # Specified in the format `projects/*/locations/*/clusters/*`.
   }
 
   x__xgafv: string, V1 error format.
@@ -4180,34 +4522,15 @@
     { # This operation resource represents operations that may have happened or are
       # happening on the cluster. All fields are output only.
     &quot;targetLink&quot;: &quot;A String&quot;, # Server-defined URL for the target of the operation.
-    &quot;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
     &quot;operationType&quot;: &quot;A String&quot;, # The operation type.
-    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
-    &quot;name&quot;: &quot;A String&quot;, # The server-assigned ID for the operation.
-    &quot;nodepoolConditions&quot;: [ # Which conditions caused the current node pool state.
-      { # StatusCondition describes why a cluster or a node pool has a certain status
-          # (e.g., ERROR or DEGRADED).
-        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
-        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
-      },
-    ],
-    &quot;endTime&quot;: &quot;A String&quot;, # [Output only] The time the operation completed, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-    &quot;location&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
-        # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
-        # or
-        # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
-        # in which the cluster resides.
-    &quot;startTime&quot;: &quot;A String&quot;, # [Output only] The time the operation started, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-    &quot;clusterConditions&quot;: [ # Which conditions caused the current cluster state.
-      { # StatusCondition describes why a cluster or a node pool has a certain status
-          # (e.g., ERROR or DEGRADED).
-        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
-        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
-      },
-    ],
     &quot;progress&quot;: { # Information about operation (or operation stage) progress. # Output only. [Output only] Progress information for an operation.
+      &quot;stages&quot;: [ # Substages of an operation or a stage.
+        # Object with schema name: OperationProgress
+      ],
+      &quot;name&quot;: &quot;A String&quot;, # A non-parameterized string describing an operation stage.
+          # Unset for single-stage operations.
+      &quot;status&quot;: &quot;A String&quot;, # Status of an operation stage.
+          # Unset for single-stage operations.
       &quot;metrics&quot;: [ # Progress metric bundle, for example:
           #   metrics: [{name: &quot;nodes done&quot;,     int_value: 15},
           #             {name: &quot;nodes total&quot;,    int_value: 32}]
@@ -4215,25 +4538,44 @@
           #   metrics: [{name: &quot;progress&quot;,       double_value: 0.56},
           #             {name: &quot;progress scale&quot;, double_value: 1.0}]
         { # Progress metric is (string, int|float|string) pair.
-          &quot;name&quot;: &quot;A String&quot;, # Required. Metric name, e.g., &quot;nodes total&quot;, &quot;percent done&quot;.
           &quot;doubleValue&quot;: 3.14, # For metrics with floating point value.
-          &quot;intValue&quot;: &quot;A String&quot;, # For metrics with integer value.
           &quot;stringValue&quot;: &quot;A String&quot;, # For metrics with custom values (ratios, visual progress, etc.).
+          &quot;name&quot;: &quot;A String&quot;, # Required. Metric name, e.g., &quot;nodes total&quot;, &quot;percent done&quot;.
+          &quot;intValue&quot;: &quot;A String&quot;, # For metrics with integer value.
         },
       ],
-      &quot;status&quot;: &quot;A String&quot;, # Status of an operation stage.
-          # Unset for single-stage operations.
-      &quot;name&quot;: &quot;A String&quot;, # A non-parameterized string describing an operation stage.
-          # Unset for single-stage operations.
-      &quot;stages&quot;: [ # Substages of an operation or a stage.
-        # Object with schema name: OperationProgress
-      ],
     },
+    &quot;selfLink&quot;: &quot;A String&quot;, # Server-defined URL for the resource.
+    &quot;location&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
+        # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
+        # or
+        # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
+        # in which the cluster resides.
     &quot;zone&quot;: &quot;A String&quot;, # The name of the Google Compute Engine
         # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
         # operation is taking place. This field is deprecated, use location instead.
+    &quot;endTime&quot;: &quot;A String&quot;, # [Output only] The time the operation completed, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
     &quot;statusMessage&quot;: &quot;A String&quot;, # Output only. If an error has occurred, a textual description of the error.
-    &quot;selfLink&quot;: &quot;A String&quot;, # Server-defined URL for the resource.
+    &quot;name&quot;: &quot;A String&quot;, # The server-assigned ID for the operation.
+    &quot;clusterConditions&quot;: [ # Which conditions caused the current cluster state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
+        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+      },
+    ],
+    &quot;startTime&quot;: &quot;A String&quot;, # [Output only] The time the operation started, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    &quot;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
+    &quot;nodepoolConditions&quot;: [ # Which conditions caused the current node pool state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
+        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+      },
+    ],
+    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
   }</pre>
 </div>
 
@@ -4255,15 +4597,6 @@
     The object takes the form of:
 
 { # SetMonitoringServiceRequest sets the monitoring service of a cluster.
-    &quot;projectId&quot;: &quot;A String&quot;, # Required. Deprecated. The Google Developers Console [project ID or project
-        # number](https://support.google.com/cloud/answer/6158840).
-        # This field has been deprecated and replaced by the name field.
-    &quot;zone&quot;: &quot;A String&quot;, # Required. Deprecated. The name of the Google Compute Engine
-        # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
-        # cluster resides. This field has been deprecated and replaced by the name
-        # field.
-    &quot;clusterId&quot;: &quot;A String&quot;, # Required. Deprecated. The name of the cluster to upgrade.
-        # This field has been deprecated and replaced by the name field.
     &quot;monitoringService&quot;: &quot;A String&quot;, # Required. The monitoring service the cluster should use to write metrics.
         # Currently available options:
         # 
@@ -4275,6 +4608,15 @@
         # 
         # If left as an empty string,`monitoring.googleapis.com/kubernetes` will be
         # used for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions.
+    &quot;zone&quot;: &quot;A String&quot;, # Required. Deprecated. The name of the Google Compute Engine
+        # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
+        # cluster resides. This field has been deprecated and replaced by the name
+        # field.
+    &quot;projectId&quot;: &quot;A String&quot;, # Required. Deprecated. The Google Developers Console [project ID or project
+        # number](https://support.google.com/cloud/answer/6158840).
+        # This field has been deprecated and replaced by the name field.
+    &quot;clusterId&quot;: &quot;A String&quot;, # Required. Deprecated. The name of the cluster to upgrade.
+        # This field has been deprecated and replaced by the name field.
     &quot;name&quot;: &quot;A String&quot;, # The name (project, location, cluster) of the cluster to set monitoring.
         # Specified in the format `projects/*/locations/*/clusters/*`.
   }
@@ -4290,34 +4632,15 @@
     { # This operation resource represents operations that may have happened or are
       # happening on the cluster. All fields are output only.
     &quot;targetLink&quot;: &quot;A String&quot;, # Server-defined URL for the target of the operation.
-    &quot;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
     &quot;operationType&quot;: &quot;A String&quot;, # The operation type.
-    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
-    &quot;name&quot;: &quot;A String&quot;, # The server-assigned ID for the operation.
-    &quot;nodepoolConditions&quot;: [ # Which conditions caused the current node pool state.
-      { # StatusCondition describes why a cluster or a node pool has a certain status
-          # (e.g., ERROR or DEGRADED).
-        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
-        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
-      },
-    ],
-    &quot;endTime&quot;: &quot;A String&quot;, # [Output only] The time the operation completed, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-    &quot;location&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
-        # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
-        # or
-        # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
-        # in which the cluster resides.
-    &quot;startTime&quot;: &quot;A String&quot;, # [Output only] The time the operation started, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-    &quot;clusterConditions&quot;: [ # Which conditions caused the current cluster state.
-      { # StatusCondition describes why a cluster or a node pool has a certain status
-          # (e.g., ERROR or DEGRADED).
-        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
-        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
-      },
-    ],
     &quot;progress&quot;: { # Information about operation (or operation stage) progress. # Output only. [Output only] Progress information for an operation.
+      &quot;stages&quot;: [ # Substages of an operation or a stage.
+        # Object with schema name: OperationProgress
+      ],
+      &quot;name&quot;: &quot;A String&quot;, # A non-parameterized string describing an operation stage.
+          # Unset for single-stage operations.
+      &quot;status&quot;: &quot;A String&quot;, # Status of an operation stage.
+          # Unset for single-stage operations.
       &quot;metrics&quot;: [ # Progress metric bundle, for example:
           #   metrics: [{name: &quot;nodes done&quot;,     int_value: 15},
           #             {name: &quot;nodes total&quot;,    int_value: 32}]
@@ -4325,25 +4648,44 @@
           #   metrics: [{name: &quot;progress&quot;,       double_value: 0.56},
           #             {name: &quot;progress scale&quot;, double_value: 1.0}]
         { # Progress metric is (string, int|float|string) pair.
-          &quot;name&quot;: &quot;A String&quot;, # Required. Metric name, e.g., &quot;nodes total&quot;, &quot;percent done&quot;.
           &quot;doubleValue&quot;: 3.14, # For metrics with floating point value.
-          &quot;intValue&quot;: &quot;A String&quot;, # For metrics with integer value.
           &quot;stringValue&quot;: &quot;A String&quot;, # For metrics with custom values (ratios, visual progress, etc.).
+          &quot;name&quot;: &quot;A String&quot;, # Required. Metric name, e.g., &quot;nodes total&quot;, &quot;percent done&quot;.
+          &quot;intValue&quot;: &quot;A String&quot;, # For metrics with integer value.
         },
       ],
-      &quot;status&quot;: &quot;A String&quot;, # Status of an operation stage.
-          # Unset for single-stage operations.
-      &quot;name&quot;: &quot;A String&quot;, # A non-parameterized string describing an operation stage.
-          # Unset for single-stage operations.
-      &quot;stages&quot;: [ # Substages of an operation or a stage.
-        # Object with schema name: OperationProgress
-      ],
     },
+    &quot;selfLink&quot;: &quot;A String&quot;, # Server-defined URL for the resource.
+    &quot;location&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
+        # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
+        # or
+        # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
+        # in which the cluster resides.
     &quot;zone&quot;: &quot;A String&quot;, # The name of the Google Compute Engine
         # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
         # operation is taking place. This field is deprecated, use location instead.
+    &quot;endTime&quot;: &quot;A String&quot;, # [Output only] The time the operation completed, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
     &quot;statusMessage&quot;: &quot;A String&quot;, # Output only. If an error has occurred, a textual description of the error.
-    &quot;selfLink&quot;: &quot;A String&quot;, # Server-defined URL for the resource.
+    &quot;name&quot;: &quot;A String&quot;, # The server-assigned ID for the operation.
+    &quot;clusterConditions&quot;: [ # Which conditions caused the current cluster state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
+        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+      },
+    ],
+    &quot;startTime&quot;: &quot;A String&quot;, # [Output only] The time the operation started, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    &quot;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
+    &quot;nodepoolConditions&quot;: [ # Which conditions caused the current node pool state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
+        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+      },
+    ],
+    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
   }</pre>
 </div>
 
@@ -4367,12 +4709,6 @@
 { # SetLabelsRequest sets the Google Cloud Platform labels on a Google Container
       # Engine cluster, which will in turn set them for Google Compute Engine
       # resources used by that cluster
-    &quot;labelFingerprint&quot;: &quot;A String&quot;, # Required. The fingerprint of the previous set of labels for this resource,
-        # used to detect conflicts. The fingerprint is initially generated by
-        # Kubernetes Engine and changes after every request to modify or update
-        # labels. You must always provide an up-to-date fingerprint hash when
-        # updating or changing labels. Make a &lt;code&gt;get()&lt;/code&gt; request to the
-        # resource to get the latest fingerprint.
     &quot;zone&quot;: &quot;A String&quot;, # Required. Deprecated. The name of the Google Compute Engine
         # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
         # cluster resides. This field has been deprecated and replaced by the name
@@ -4385,6 +4721,12 @@
     &quot;projectId&quot;: &quot;A String&quot;, # Required. Deprecated. The Google Developers Console [project ID or project
         # number](https://developers.google.com/console/help/new/#projectnumber).
         # This field has been deprecated and replaced by the name field.
+    &quot;labelFingerprint&quot;: &quot;A String&quot;, # Required. The fingerprint of the previous set of labels for this resource,
+        # used to detect conflicts. The fingerprint is initially generated by
+        # Kubernetes Engine and changes after every request to modify or update
+        # labels. You must always provide an up-to-date fingerprint hash when
+        # updating or changing labels. Make a &lt;code&gt;get()&lt;/code&gt; request to the
+        # resource to get the latest fingerprint.
     &quot;clusterId&quot;: &quot;A String&quot;, # Required. Deprecated. The name of the cluster.
         # This field has been deprecated and replaced by the name field.
   }
@@ -4400,34 +4742,15 @@
     { # This operation resource represents operations that may have happened or are
       # happening on the cluster. All fields are output only.
     &quot;targetLink&quot;: &quot;A String&quot;, # Server-defined URL for the target of the operation.
-    &quot;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
     &quot;operationType&quot;: &quot;A String&quot;, # The operation type.
-    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
-    &quot;name&quot;: &quot;A String&quot;, # The server-assigned ID for the operation.
-    &quot;nodepoolConditions&quot;: [ # Which conditions caused the current node pool state.
-      { # StatusCondition describes why a cluster or a node pool has a certain status
-          # (e.g., ERROR or DEGRADED).
-        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
-        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
-      },
-    ],
-    &quot;endTime&quot;: &quot;A String&quot;, # [Output only] The time the operation completed, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-    &quot;location&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
-        # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
-        # or
-        # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
-        # in which the cluster resides.
-    &quot;startTime&quot;: &quot;A String&quot;, # [Output only] The time the operation started, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-    &quot;clusterConditions&quot;: [ # Which conditions caused the current cluster state.
-      { # StatusCondition describes why a cluster or a node pool has a certain status
-          # (e.g., ERROR or DEGRADED).
-        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
-        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
-      },
-    ],
     &quot;progress&quot;: { # Information about operation (or operation stage) progress. # Output only. [Output only] Progress information for an operation.
+      &quot;stages&quot;: [ # Substages of an operation or a stage.
+        # Object with schema name: OperationProgress
+      ],
+      &quot;name&quot;: &quot;A String&quot;, # A non-parameterized string describing an operation stage.
+          # Unset for single-stage operations.
+      &quot;status&quot;: &quot;A String&quot;, # Status of an operation stage.
+          # Unset for single-stage operations.
       &quot;metrics&quot;: [ # Progress metric bundle, for example:
           #   metrics: [{name: &quot;nodes done&quot;,     int_value: 15},
           #             {name: &quot;nodes total&quot;,    int_value: 32}]
@@ -4435,25 +4758,44 @@
           #   metrics: [{name: &quot;progress&quot;,       double_value: 0.56},
           #             {name: &quot;progress scale&quot;, double_value: 1.0}]
         { # Progress metric is (string, int|float|string) pair.
-          &quot;name&quot;: &quot;A String&quot;, # Required. Metric name, e.g., &quot;nodes total&quot;, &quot;percent done&quot;.
           &quot;doubleValue&quot;: 3.14, # For metrics with floating point value.
-          &quot;intValue&quot;: &quot;A String&quot;, # For metrics with integer value.
           &quot;stringValue&quot;: &quot;A String&quot;, # For metrics with custom values (ratios, visual progress, etc.).
+          &quot;name&quot;: &quot;A String&quot;, # Required. Metric name, e.g., &quot;nodes total&quot;, &quot;percent done&quot;.
+          &quot;intValue&quot;: &quot;A String&quot;, # For metrics with integer value.
         },
       ],
-      &quot;status&quot;: &quot;A String&quot;, # Status of an operation stage.
-          # Unset for single-stage operations.
-      &quot;name&quot;: &quot;A String&quot;, # A non-parameterized string describing an operation stage.
-          # Unset for single-stage operations.
-      &quot;stages&quot;: [ # Substages of an operation or a stage.
-        # Object with schema name: OperationProgress
-      ],
     },
+    &quot;selfLink&quot;: &quot;A String&quot;, # Server-defined URL for the resource.
+    &quot;location&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
+        # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
+        # or
+        # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
+        # in which the cluster resides.
     &quot;zone&quot;: &quot;A String&quot;, # The name of the Google Compute Engine
         # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
         # operation is taking place. This field is deprecated, use location instead.
+    &quot;endTime&quot;: &quot;A String&quot;, # [Output only] The time the operation completed, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
     &quot;statusMessage&quot;: &quot;A String&quot;, # Output only. If an error has occurred, a textual description of the error.
-    &quot;selfLink&quot;: &quot;A String&quot;, # Server-defined URL for the resource.
+    &quot;name&quot;: &quot;A String&quot;, # The server-assigned ID for the operation.
+    &quot;clusterConditions&quot;: [ # Which conditions caused the current cluster state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
+        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+      },
+    ],
+    &quot;startTime&quot;: &quot;A String&quot;, # [Output only] The time the operation started, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    &quot;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
+    &quot;nodepoolConditions&quot;: [ # Which conditions caused the current node pool state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
+        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+      },
+    ],
+    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
   }</pre>
 </div>
 
@@ -4472,20 +4814,16 @@
     The object takes the form of:
 
 { # SetMaintenancePolicyRequest sets the maintenance policy for a cluster.
+    &quot;clusterId&quot;: &quot;A String&quot;, # Required. The name of the cluster to update.
+    &quot;zone&quot;: &quot;A String&quot;, # Required. The name of the Google Compute Engine
+        # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
+        # cluster resides.
     &quot;name&quot;: &quot;A String&quot;, # The name (project, location, cluster id) of the cluster to set maintenance
         # policy.
         # Specified in the format `projects/*/locations/*/clusters/*`.
     &quot;maintenancePolicy&quot;: { # MaintenancePolicy defines the maintenance policy to be used for the cluster. # Required. The maintenance policy to be set for the cluster. An empty field
         # clears the existing maintenance policy.
       &quot;window&quot;: { # MaintenanceWindow defines the maintenance window to be used for the cluster. # Specifies the maintenance window in which maintenance may be performed.
-        &quot;maintenanceExclusions&quot;: { # Exceptions to maintenance window. Non-emergency maintenance should not
-            # occur in these windows.
-          &quot;a_key&quot;: { # Represents an arbitrary window of time.
-            &quot;startTime&quot;: &quot;A String&quot;, # The time that the window first starts.
-            &quot;endTime&quot;: &quot;A String&quot;, # The time that the window ends. The end time should take place after the
-                # start time.
-          },
-        },
         &quot;recurringWindow&quot;: { # Represents an arbitrary window of time that recurs. # RecurringWindow specifies some number of recurring time periods for
             # maintenance to occur. The time windows may be overlapping. If no
             # maintenance windows are set, maintenance can occur at any time.
@@ -4517,16 +4855,24 @@
               # to specify duration of the window and when it first starts.
               # The FREQ values of HOURLY, MINUTELY, and SECONDLY are not supported.
           &quot;window&quot;: { # Represents an arbitrary window of time. # The window of the first recurrence.
-            &quot;startTime&quot;: &quot;A String&quot;, # The time that the window first starts.
             &quot;endTime&quot;: &quot;A String&quot;, # The time that the window ends. The end time should take place after the
                 # start time.
+            &quot;startTime&quot;: &quot;A String&quot;, # The time that the window first starts.
           },
         },
         &quot;dailyMaintenanceWindow&quot;: { # Time window specified for daily maintenance operations. # DailyMaintenanceWindow specifies a daily maintenance operation window.
-          &quot;duration&quot;: &quot;A String&quot;, # [Output only] Duration of the time window, automatically chosen to be
-              # smallest possible in the given scenario.
           &quot;startTime&quot;: &quot;A String&quot;, # Time within the maintenance window to start the maintenance operations.
               # It must be in format &quot;HH:MM&quot;, where HH : [00-23] and MM : [00-59] GMT.
+          &quot;duration&quot;: &quot;A String&quot;, # [Output only] Duration of the time window, automatically chosen to be
+              # smallest possible in the given scenario.
+        },
+        &quot;maintenanceExclusions&quot;: { # Exceptions to maintenance window. Non-emergency maintenance should not
+            # occur in these windows.
+          &quot;a_key&quot;: { # Represents an arbitrary window of time.
+            &quot;endTime&quot;: &quot;A String&quot;, # The time that the window ends. The end time should take place after the
+                # start time.
+            &quot;startTime&quot;: &quot;A String&quot;, # The time that the window first starts.
+          },
         },
       },
       &quot;resourceVersion&quot;: &quot;A String&quot;, # A hash identifying the version of this policy, so that updates to fields of
@@ -4537,10 +4883,6 @@
     },
     &quot;projectId&quot;: &quot;A String&quot;, # Required. The Google Developers Console [project ID or project
         # number](https://support.google.com/cloud/answer/6158840).
-    &quot;zone&quot;: &quot;A String&quot;, # Required. The name of the Google Compute Engine
-        # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
-        # cluster resides.
-    &quot;clusterId&quot;: &quot;A String&quot;, # Required. The name of the cluster to update.
   }
 
   x__xgafv: string, V1 error format.
@@ -4554,34 +4896,15 @@
     { # This operation resource represents operations that may have happened or are
       # happening on the cluster. All fields are output only.
     &quot;targetLink&quot;: &quot;A String&quot;, # Server-defined URL for the target of the operation.
-    &quot;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
     &quot;operationType&quot;: &quot;A String&quot;, # The operation type.
-    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
-    &quot;name&quot;: &quot;A String&quot;, # The server-assigned ID for the operation.
-    &quot;nodepoolConditions&quot;: [ # Which conditions caused the current node pool state.
-      { # StatusCondition describes why a cluster or a node pool has a certain status
-          # (e.g., ERROR or DEGRADED).
-        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
-        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
-      },
-    ],
-    &quot;endTime&quot;: &quot;A String&quot;, # [Output only] The time the operation completed, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-    &quot;location&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
-        # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
-        # or
-        # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
-        # in which the cluster resides.
-    &quot;startTime&quot;: &quot;A String&quot;, # [Output only] The time the operation started, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-    &quot;clusterConditions&quot;: [ # Which conditions caused the current cluster state.
-      { # StatusCondition describes why a cluster or a node pool has a certain status
-          # (e.g., ERROR or DEGRADED).
-        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
-        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
-      },
-    ],
     &quot;progress&quot;: { # Information about operation (or operation stage) progress. # Output only. [Output only] Progress information for an operation.
+      &quot;stages&quot;: [ # Substages of an operation or a stage.
+        # Object with schema name: OperationProgress
+      ],
+      &quot;name&quot;: &quot;A String&quot;, # A non-parameterized string describing an operation stage.
+          # Unset for single-stage operations.
+      &quot;status&quot;: &quot;A String&quot;, # Status of an operation stage.
+          # Unset for single-stage operations.
       &quot;metrics&quot;: [ # Progress metric bundle, for example:
           #   metrics: [{name: &quot;nodes done&quot;,     int_value: 15},
           #             {name: &quot;nodes total&quot;,    int_value: 32}]
@@ -4589,25 +4912,44 @@
           #   metrics: [{name: &quot;progress&quot;,       double_value: 0.56},
           #             {name: &quot;progress scale&quot;, double_value: 1.0}]
         { # Progress metric is (string, int|float|string) pair.
-          &quot;name&quot;: &quot;A String&quot;, # Required. Metric name, e.g., &quot;nodes total&quot;, &quot;percent done&quot;.
           &quot;doubleValue&quot;: 3.14, # For metrics with floating point value.
-          &quot;intValue&quot;: &quot;A String&quot;, # For metrics with integer value.
           &quot;stringValue&quot;: &quot;A String&quot;, # For metrics with custom values (ratios, visual progress, etc.).
+          &quot;name&quot;: &quot;A String&quot;, # Required. Metric name, e.g., &quot;nodes total&quot;, &quot;percent done&quot;.
+          &quot;intValue&quot;: &quot;A String&quot;, # For metrics with integer value.
         },
       ],
-      &quot;status&quot;: &quot;A String&quot;, # Status of an operation stage.
-          # Unset for single-stage operations.
-      &quot;name&quot;: &quot;A String&quot;, # A non-parameterized string describing an operation stage.
-          # Unset for single-stage operations.
-      &quot;stages&quot;: [ # Substages of an operation or a stage.
-        # Object with schema name: OperationProgress
-      ],
     },
+    &quot;selfLink&quot;: &quot;A String&quot;, # Server-defined URL for the resource.
+    &quot;location&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
+        # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
+        # or
+        # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
+        # in which the cluster resides.
     &quot;zone&quot;: &quot;A String&quot;, # The name of the Google Compute Engine
         # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
         # operation is taking place. This field is deprecated, use location instead.
+    &quot;endTime&quot;: &quot;A String&quot;, # [Output only] The time the operation completed, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
     &quot;statusMessage&quot;: &quot;A String&quot;, # Output only. If an error has occurred, a textual description of the error.
-    &quot;selfLink&quot;: &quot;A String&quot;, # Server-defined URL for the resource.
+    &quot;name&quot;: &quot;A String&quot;, # The server-assigned ID for the operation.
+    &quot;clusterConditions&quot;: [ # Which conditions caused the current cluster state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
+        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+      },
+    ],
+    &quot;startTime&quot;: &quot;A String&quot;, # [Output only] The time the operation started, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    &quot;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
+    &quot;nodepoolConditions&quot;: [ # Which conditions caused the current node pool state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
+        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+      },
+    ],
+    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
   }</pre>
 </div>
 
@@ -4634,14 +4976,15 @@
     &quot;name&quot;: &quot;A String&quot;, # The name (project, location, cluster) of the cluster to set auth.
         # Specified in the format `projects/*/locations/*/clusters/*`.
     &quot;action&quot;: &quot;A String&quot;, # Required. The exact form of action to be taken on the master auth.
-    &quot;projectId&quot;: &quot;A String&quot;, # Required. Deprecated. The Google Developers Console [project ID or project
-        # number](https://support.google.com/cloud/answer/6158840).
-        # This field has been deprecated and replaced by the name field.
-    &quot;clusterId&quot;: &quot;A String&quot;, # Required. Deprecated. The name of the cluster to upgrade.
-        # This field has been deprecated and replaced by the name field.
     &quot;update&quot;: { # The authentication information for accessing the master endpoint. # Required. A description of the update.
         # Authentication can be done using HTTP basic auth or using client
         # certificates.
+      &quot;clusterCaCertificate&quot;: &quot;A String&quot;,
+      &quot;username&quot;: &quot;A String&quot;, # The username to use for HTTP basic authentication to the master endpoint.
+          # For clusters v1.6.0 and later, basic authentication can be disabled by
+          # leaving username unspecified (or setting it to the empty string).
+      &quot;clientCertificate&quot;: &quot;A String&quot;, # [Output only] Base64-encoded public certificate used by clients to
+          # authenticate to the cluster endpoint.
       &quot;password&quot;: &quot;A String&quot;, # The password to use for HTTP basic authentication to the master endpoint.
           # Because the master endpoint is open to the Internet, you should create a
           # strong password.  If a password is provided for cluster creation, username
@@ -4653,13 +4996,12 @@
       },
       &quot;clientKey&quot;: &quot;A String&quot;, # [Output only] Base64-encoded private key used by clients to authenticate
           # to the cluster endpoint.
-      &quot;clusterCaCertificate&quot;: &quot;A String&quot;,
-      &quot;clientCertificate&quot;: &quot;A String&quot;, # [Output only] Base64-encoded public certificate used by clients to
-          # authenticate to the cluster endpoint.
-      &quot;username&quot;: &quot;A String&quot;, # The username to use for HTTP basic authentication to the master endpoint.
-          # For clusters v1.6.0 and later, basic authentication can be disabled by
-          # leaving username unspecified (or setting it to the empty string).
     },
+    &quot;projectId&quot;: &quot;A String&quot;, # Required. Deprecated. The Google Developers Console [project ID or project
+        # number](https://support.google.com/cloud/answer/6158840).
+        # This field has been deprecated and replaced by the name field.
+    &quot;clusterId&quot;: &quot;A String&quot;, # Required. Deprecated. The name of the cluster to upgrade.
+        # This field has been deprecated and replaced by the name field.
     &quot;zone&quot;: &quot;A String&quot;, # Required. Deprecated. The name of the Google Compute Engine
         # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
         # cluster resides. This field has been deprecated and replaced by the name
@@ -4677,34 +5019,15 @@
     { # This operation resource represents operations that may have happened or are
       # happening on the cluster. All fields are output only.
     &quot;targetLink&quot;: &quot;A String&quot;, # Server-defined URL for the target of the operation.
-    &quot;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
     &quot;operationType&quot;: &quot;A String&quot;, # The operation type.
-    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
-    &quot;name&quot;: &quot;A String&quot;, # The server-assigned ID for the operation.
-    &quot;nodepoolConditions&quot;: [ # Which conditions caused the current node pool state.
-      { # StatusCondition describes why a cluster or a node pool has a certain status
-          # (e.g., ERROR or DEGRADED).
-        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
-        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
-      },
-    ],
-    &quot;endTime&quot;: &quot;A String&quot;, # [Output only] The time the operation completed, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-    &quot;location&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
-        # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
-        # or
-        # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
-        # in which the cluster resides.
-    &quot;startTime&quot;: &quot;A String&quot;, # [Output only] The time the operation started, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-    &quot;clusterConditions&quot;: [ # Which conditions caused the current cluster state.
-      { # StatusCondition describes why a cluster or a node pool has a certain status
-          # (e.g., ERROR or DEGRADED).
-        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
-        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
-      },
-    ],
     &quot;progress&quot;: { # Information about operation (or operation stage) progress. # Output only. [Output only] Progress information for an operation.
+      &quot;stages&quot;: [ # Substages of an operation or a stage.
+        # Object with schema name: OperationProgress
+      ],
+      &quot;name&quot;: &quot;A String&quot;, # A non-parameterized string describing an operation stage.
+          # Unset for single-stage operations.
+      &quot;status&quot;: &quot;A String&quot;, # Status of an operation stage.
+          # Unset for single-stage operations.
       &quot;metrics&quot;: [ # Progress metric bundle, for example:
           #   metrics: [{name: &quot;nodes done&quot;,     int_value: 15},
           #             {name: &quot;nodes total&quot;,    int_value: 32}]
@@ -4712,25 +5035,44 @@
           #   metrics: [{name: &quot;progress&quot;,       double_value: 0.56},
           #             {name: &quot;progress scale&quot;, double_value: 1.0}]
         { # Progress metric is (string, int|float|string) pair.
-          &quot;name&quot;: &quot;A String&quot;, # Required. Metric name, e.g., &quot;nodes total&quot;, &quot;percent done&quot;.
           &quot;doubleValue&quot;: 3.14, # For metrics with floating point value.
-          &quot;intValue&quot;: &quot;A String&quot;, # For metrics with integer value.
           &quot;stringValue&quot;: &quot;A String&quot;, # For metrics with custom values (ratios, visual progress, etc.).
+          &quot;name&quot;: &quot;A String&quot;, # Required. Metric name, e.g., &quot;nodes total&quot;, &quot;percent done&quot;.
+          &quot;intValue&quot;: &quot;A String&quot;, # For metrics with integer value.
         },
       ],
-      &quot;status&quot;: &quot;A String&quot;, # Status of an operation stage.
-          # Unset for single-stage operations.
-      &quot;name&quot;: &quot;A String&quot;, # A non-parameterized string describing an operation stage.
-          # Unset for single-stage operations.
-      &quot;stages&quot;: [ # Substages of an operation or a stage.
-        # Object with schema name: OperationProgress
-      ],
     },
+    &quot;selfLink&quot;: &quot;A String&quot;, # Server-defined URL for the resource.
+    &quot;location&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
+        # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
+        # or
+        # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
+        # in which the cluster resides.
     &quot;zone&quot;: &quot;A String&quot;, # The name of the Google Compute Engine
         # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
         # operation is taking place. This field is deprecated, use location instead.
+    &quot;endTime&quot;: &quot;A String&quot;, # [Output only] The time the operation completed, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
     &quot;statusMessage&quot;: &quot;A String&quot;, # Output only. If an error has occurred, a textual description of the error.
-    &quot;selfLink&quot;: &quot;A String&quot;, # Server-defined URL for the resource.
+    &quot;name&quot;: &quot;A String&quot;, # The server-assigned ID for the operation.
+    &quot;clusterConditions&quot;: [ # Which conditions caused the current cluster state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
+        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+      },
+    ],
+    &quot;startTime&quot;: &quot;A String&quot;, # [Output only] The time the operation started, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    &quot;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
+    &quot;nodepoolConditions&quot;: [ # Which conditions caused the current node pool state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
+        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+      },
+    ],
+    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
   }</pre>
 </div>
 
@@ -4752,6 +5094,8 @@
     The object takes the form of:
 
 { # SetNetworkPolicyRequest enables/disables network policy for a cluster.
+    &quot;clusterId&quot;: &quot;A String&quot;, # Required. Deprecated. The name of the cluster.
+        # This field has been deprecated and replaced by the name field.
     &quot;projectId&quot;: &quot;A String&quot;, # Required. Deprecated. The Google Developers Console [project ID or project
         # number](https://developers.google.com/console/help/new/#projectnumber).
         # This field has been deprecated and replaced by the name field.
@@ -4759,15 +5103,13 @@
         # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
         # cluster resides. This field has been deprecated and replaced by the name
         # field.
-    &quot;clusterId&quot;: &quot;A String&quot;, # Required. Deprecated. The name of the cluster.
-        # This field has been deprecated and replaced by the name field.
+    &quot;name&quot;: &quot;A String&quot;, # The name (project, location, cluster id) of the cluster to set networking
+        # policy. Specified in the format `projects/*/locations/*/clusters/*`.
     &quot;networkPolicy&quot;: { # Configuration options for the NetworkPolicy feature. # Required. Configuration options for the NetworkPolicy feature.
         # https://kubernetes.io/docs/concepts/services-networking/networkpolicies/
       &quot;provider&quot;: &quot;A String&quot;, # The selected network policy provider.
       &quot;enabled&quot;: True or False, # Whether network policy is enabled on the cluster.
     },
-    &quot;name&quot;: &quot;A String&quot;, # The name (project, location, cluster id) of the cluster to set networking
-        # policy. Specified in the format `projects/*/locations/*/clusters/*`.
   }
 
   x__xgafv: string, V1 error format.
@@ -4781,34 +5123,15 @@
     { # This operation resource represents operations that may have happened or are
       # happening on the cluster. All fields are output only.
     &quot;targetLink&quot;: &quot;A String&quot;, # Server-defined URL for the target of the operation.
-    &quot;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
     &quot;operationType&quot;: &quot;A String&quot;, # The operation type.
-    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
-    &quot;name&quot;: &quot;A String&quot;, # The server-assigned ID for the operation.
-    &quot;nodepoolConditions&quot;: [ # Which conditions caused the current node pool state.
-      { # StatusCondition describes why a cluster or a node pool has a certain status
-          # (e.g., ERROR or DEGRADED).
-        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
-        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
-      },
-    ],
-    &quot;endTime&quot;: &quot;A String&quot;, # [Output only] The time the operation completed, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-    &quot;location&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
-        # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
-        # or
-        # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
-        # in which the cluster resides.
-    &quot;startTime&quot;: &quot;A String&quot;, # [Output only] The time the operation started, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-    &quot;clusterConditions&quot;: [ # Which conditions caused the current cluster state.
-      { # StatusCondition describes why a cluster or a node pool has a certain status
-          # (e.g., ERROR or DEGRADED).
-        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
-        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
-      },
-    ],
     &quot;progress&quot;: { # Information about operation (or operation stage) progress. # Output only. [Output only] Progress information for an operation.
+      &quot;stages&quot;: [ # Substages of an operation or a stage.
+        # Object with schema name: OperationProgress
+      ],
+      &quot;name&quot;: &quot;A String&quot;, # A non-parameterized string describing an operation stage.
+          # Unset for single-stage operations.
+      &quot;status&quot;: &quot;A String&quot;, # Status of an operation stage.
+          # Unset for single-stage operations.
       &quot;metrics&quot;: [ # Progress metric bundle, for example:
           #   metrics: [{name: &quot;nodes done&quot;,     int_value: 15},
           #             {name: &quot;nodes total&quot;,    int_value: 32}]
@@ -4816,25 +5139,44 @@
           #   metrics: [{name: &quot;progress&quot;,       double_value: 0.56},
           #             {name: &quot;progress scale&quot;, double_value: 1.0}]
         { # Progress metric is (string, int|float|string) pair.
-          &quot;name&quot;: &quot;A String&quot;, # Required. Metric name, e.g., &quot;nodes total&quot;, &quot;percent done&quot;.
           &quot;doubleValue&quot;: 3.14, # For metrics with floating point value.
-          &quot;intValue&quot;: &quot;A String&quot;, # For metrics with integer value.
           &quot;stringValue&quot;: &quot;A String&quot;, # For metrics with custom values (ratios, visual progress, etc.).
+          &quot;name&quot;: &quot;A String&quot;, # Required. Metric name, e.g., &quot;nodes total&quot;, &quot;percent done&quot;.
+          &quot;intValue&quot;: &quot;A String&quot;, # For metrics with integer value.
         },
       ],
-      &quot;status&quot;: &quot;A String&quot;, # Status of an operation stage.
-          # Unset for single-stage operations.
-      &quot;name&quot;: &quot;A String&quot;, # A non-parameterized string describing an operation stage.
-          # Unset for single-stage operations.
-      &quot;stages&quot;: [ # Substages of an operation or a stage.
-        # Object with schema name: OperationProgress
-      ],
     },
+    &quot;selfLink&quot;: &quot;A String&quot;, # Server-defined URL for the resource.
+    &quot;location&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
+        # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
+        # or
+        # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
+        # in which the cluster resides.
     &quot;zone&quot;: &quot;A String&quot;, # The name of the Google Compute Engine
         # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
         # operation is taking place. This field is deprecated, use location instead.
+    &quot;endTime&quot;: &quot;A String&quot;, # [Output only] The time the operation completed, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
     &quot;statusMessage&quot;: &quot;A String&quot;, # Output only. If an error has occurred, a textual description of the error.
-    &quot;selfLink&quot;: &quot;A String&quot;, # Server-defined URL for the resource.
+    &quot;name&quot;: &quot;A String&quot;, # The server-assigned ID for the operation.
+    &quot;clusterConditions&quot;: [ # Which conditions caused the current cluster state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
+        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+      },
+    ],
+    &quot;startTime&quot;: &quot;A String&quot;, # [Output only] The time the operation started, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    &quot;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
+    &quot;nodepoolConditions&quot;: [ # Which conditions caused the current node pool state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
+        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+      },
+    ],
+    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
   }</pre>
 </div>
 
@@ -4857,18 +5199,18 @@
 
 { # StartIPRotationRequest creates a new IP for the cluster and then performs
       # a node upgrade on each node pool to point to the new IP.
+    &quot;clusterId&quot;: &quot;A String&quot;, # Required. Deprecated. The name of the cluster.
+        # This field has been deprecated and replaced by the name field.
     &quot;name&quot;: &quot;A String&quot;, # The name (project, location, cluster id) of the cluster to start IP
         # rotation. Specified in the format `projects/*/locations/*/clusters/*`.
-    &quot;projectId&quot;: &quot;A String&quot;, # Required. Deprecated. The Google Developers Console [project ID or project
-        # number](https://developers.google.com/console/help/new/#projectnumber).
-        # This field has been deprecated and replaced by the name field.
     &quot;zone&quot;: &quot;A String&quot;, # Required. Deprecated. The name of the Google Compute Engine
         # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
         # cluster resides. This field has been deprecated and replaced by the name
         # field.
-    &quot;rotateCredentials&quot;: True or False, # Whether to rotate credentials during IP rotation.
-    &quot;clusterId&quot;: &quot;A String&quot;, # Required. Deprecated. The name of the cluster.
+    &quot;projectId&quot;: &quot;A String&quot;, # Required. Deprecated. The Google Developers Console [project ID or project
+        # number](https://developers.google.com/console/help/new/#projectnumber).
         # This field has been deprecated and replaced by the name field.
+    &quot;rotateCredentials&quot;: True or False, # Whether to rotate credentials during IP rotation.
   }
 
   x__xgafv: string, V1 error format.
@@ -4882,34 +5224,15 @@
     { # This operation resource represents operations that may have happened or are
       # happening on the cluster. All fields are output only.
     &quot;targetLink&quot;: &quot;A String&quot;, # Server-defined URL for the target of the operation.
-    &quot;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
     &quot;operationType&quot;: &quot;A String&quot;, # The operation type.
-    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
-    &quot;name&quot;: &quot;A String&quot;, # The server-assigned ID for the operation.
-    &quot;nodepoolConditions&quot;: [ # Which conditions caused the current node pool state.
-      { # StatusCondition describes why a cluster or a node pool has a certain status
-          # (e.g., ERROR or DEGRADED).
-        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
-        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
-      },
-    ],
-    &quot;endTime&quot;: &quot;A String&quot;, # [Output only] The time the operation completed, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-    &quot;location&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
-        # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
-        # or
-        # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
-        # in which the cluster resides.
-    &quot;startTime&quot;: &quot;A String&quot;, # [Output only] The time the operation started, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-    &quot;clusterConditions&quot;: [ # Which conditions caused the current cluster state.
-      { # StatusCondition describes why a cluster or a node pool has a certain status
-          # (e.g., ERROR or DEGRADED).
-        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
-        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
-      },
-    ],
     &quot;progress&quot;: { # Information about operation (or operation stage) progress. # Output only. [Output only] Progress information for an operation.
+      &quot;stages&quot;: [ # Substages of an operation or a stage.
+        # Object with schema name: OperationProgress
+      ],
+      &quot;name&quot;: &quot;A String&quot;, # A non-parameterized string describing an operation stage.
+          # Unset for single-stage operations.
+      &quot;status&quot;: &quot;A String&quot;, # Status of an operation stage.
+          # Unset for single-stage operations.
       &quot;metrics&quot;: [ # Progress metric bundle, for example:
           #   metrics: [{name: &quot;nodes done&quot;,     int_value: 15},
           #             {name: &quot;nodes total&quot;,    int_value: 32}]
@@ -4917,25 +5240,44 @@
           #   metrics: [{name: &quot;progress&quot;,       double_value: 0.56},
           #             {name: &quot;progress scale&quot;, double_value: 1.0}]
         { # Progress metric is (string, int|float|string) pair.
-          &quot;name&quot;: &quot;A String&quot;, # Required. Metric name, e.g., &quot;nodes total&quot;, &quot;percent done&quot;.
           &quot;doubleValue&quot;: 3.14, # For metrics with floating point value.
-          &quot;intValue&quot;: &quot;A String&quot;, # For metrics with integer value.
           &quot;stringValue&quot;: &quot;A String&quot;, # For metrics with custom values (ratios, visual progress, etc.).
+          &quot;name&quot;: &quot;A String&quot;, # Required. Metric name, e.g., &quot;nodes total&quot;, &quot;percent done&quot;.
+          &quot;intValue&quot;: &quot;A String&quot;, # For metrics with integer value.
         },
       ],
-      &quot;status&quot;: &quot;A String&quot;, # Status of an operation stage.
-          # Unset for single-stage operations.
-      &quot;name&quot;: &quot;A String&quot;, # A non-parameterized string describing an operation stage.
-          # Unset for single-stage operations.
-      &quot;stages&quot;: [ # Substages of an operation or a stage.
-        # Object with schema name: OperationProgress
-      ],
     },
+    &quot;selfLink&quot;: &quot;A String&quot;, # Server-defined URL for the resource.
+    &quot;location&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
+        # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
+        # or
+        # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
+        # in which the cluster resides.
     &quot;zone&quot;: &quot;A String&quot;, # The name of the Google Compute Engine
         # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
         # operation is taking place. This field is deprecated, use location instead.
+    &quot;endTime&quot;: &quot;A String&quot;, # [Output only] The time the operation completed, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
     &quot;statusMessage&quot;: &quot;A String&quot;, # Output only. If an error has occurred, a textual description of the error.
-    &quot;selfLink&quot;: &quot;A String&quot;, # Server-defined URL for the resource.
+    &quot;name&quot;: &quot;A String&quot;, # The server-assigned ID for the operation.
+    &quot;clusterConditions&quot;: [ # Which conditions caused the current cluster state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
+        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+      },
+    ],
+    &quot;startTime&quot;: &quot;A String&quot;, # [Output only] The time the operation started, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    &quot;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
+    &quot;nodepoolConditions&quot;: [ # Which conditions caused the current node pool state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
+        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+      },
+    ],
+    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
   }</pre>
 </div>
 
@@ -4959,80 +5301,34 @@
 { # UpdateClusterRequest updates the settings of a cluster.
     &quot;name&quot;: &quot;A String&quot;, # The name (project, location, cluster) of the cluster to update.
         # Specified in the format `projects/*/locations/*/clusters/*`.
-    &quot;projectId&quot;: &quot;A String&quot;, # Required. Deprecated. The Google Developers Console [project ID or project
-        # number](https://support.google.com/cloud/answer/6158840).
-        # This field has been deprecated and replaced by the name field.
-    &quot;zone&quot;: &quot;A String&quot;, # Required. Deprecated. The name of the Google Compute Engine
-        # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
-        # cluster resides. This field has been deprecated and replaced by the name
-        # field.
     &quot;clusterId&quot;: &quot;A String&quot;, # Required. Deprecated. The name of the cluster to upgrade.
         # This field has been deprecated and replaced by the name field.
     &quot;update&quot;: { # ClusterUpdate describes an update to the cluster. Exactly one update can # Required. A description of the update.
         # be applied to a cluster with each request, so at most one field can be
         # provided.
-      &quot;desiredNodeVersion&quot;: &quot;A String&quot;, # The Kubernetes version to change the nodes to (typically an
-          # upgrade).
+      &quot;desiredLoggingService&quot;: &quot;A String&quot;, # The logging service the cluster should use to write logs.
+          # Currently available options:
           #
-          # Users may specify either explicit versions offered by
-          # Kubernetes Engine or version aliases, which have the following behavior:
+          # * `logging.googleapis.com/kubernetes` - The Cloud Logging
+          # service with a Kubernetes-native resource model
+          # * `logging.googleapis.com` - The legacy Cloud Logging service (no longer
+          #   available as of GKE 1.15).
+          # * `none` - no logs will be exported from the cluster.
           #
-          # - &quot;latest&quot;: picks the highest valid Kubernetes version
-          # - &quot;1.X&quot;: picks the highest valid patch+gke.N patch in the 1.X version
-          # - &quot;1.X.Y&quot;: picks the highest valid gke.N patch in the 1.X.Y version
-          # - &quot;1.X.Y-gke.N&quot;: picks an explicit Kubernetes version
-          # - &quot;-&quot;: picks the Kubernetes master version
+          # If left as an empty string,`logging.googleapis.com/kubernetes` will be
+          # used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.
+      &quot;desiredShieldedNodes&quot;: { # Configuration of Shielded Nodes feature. # Configuration for Shielded Nodes.
+        &quot;enabled&quot;: True or False, # Whether Shielded Nodes features are enabled on all nodes in this cluster.
+      },
       &quot;desiredClusterAutoscaling&quot;: { # ClusterAutoscaling contains global, per-cluster information # Cluster-level autoscaling configuration.
           # required by Cluster Autoscaler to automatically adjust
           # the size of the cluster and create/delete
           # node pools based on the current needs.
-        &quot;autoprovisioningLocations&quot;: [ # The list of Google Compute Engine
-            # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
-            # NodePool&#x27;s nodes can be created by NAP.
-          &quot;A String&quot;,
-        ],
-        &quot;resourceLimits&quot;: [ # Contains global constraints regarding minimum and maximum
-            # amount of resources in the cluster.
-          { # Contains information about amount of some resource in the cluster.
-              # For memory, value should be in GB.
-            &quot;maximum&quot;: &quot;A String&quot;, # Maximum amount of the resource in the cluster.
-            &quot;resourceType&quot;: &quot;A String&quot;, # Resource name &quot;cpu&quot;, &quot;memory&quot; or gpu-specific string.
-            &quot;minimum&quot;: &quot;A String&quot;, # Minimum amount of the resource in the cluster.
-          },
-        ],
-        &quot;autoscalingProfile&quot;: &quot;A String&quot;, # Defines autoscaling behaviour.
         &quot;enableNodeAutoprovisioning&quot;: True or False, # Enables automatic node pool creation and deletion.
         &quot;autoprovisioningNodePoolDefaults&quot;: { # AutoprovisioningNodePoolDefaults contains defaults for a node pool created # AutoprovisioningNodePoolDefaults contains defaults for a node pool
             # created by NAP.
             # by NAP.
-          &quot;serviceAccount&quot;: &quot;A String&quot;, # The Google Cloud Platform Service Account to be used by the node VMs. If
-              # service_account is specified, scopes should be empty.
-          &quot;minCpuPlatform&quot;: &quot;A String&quot;, # Minimum CPU platform to be used for NAP created node pools.
-              # The instance may be scheduled on the specified or newer CPU platform.
-              # Applicable values are the friendly names of CPU platforms, such as
-              # &lt;code&gt;minCpuPlatform: &amp;quot;Intel Haswell&amp;quot;&lt;/code&gt; or
-              # &lt;code&gt;minCpuPlatform: &amp;quot;Intel Sandy Bridge&amp;quot;&lt;/code&gt;. For more
-              # information, read [how to specify min CPU
-              # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
-              # To unset the min cpu platform field pass &quot;automatic&quot; as field value.
-          &quot;management&quot;: { # NodeManagement defines the set of node management services turned on for the # Specifies the node management options for NAP created node-pools.
-              # node pool.
-            &quot;autoRepair&quot;: True or False, # Whether the nodes will be automatically repaired.
-            &quot;autoUpgrade&quot;: True or False, # Whether the nodes will be automatically upgraded.
-            &quot;upgradeOptions&quot;: { # AutoUpgradeOptions defines the set of options for the user to control how # Specifies the Auto Upgrade knobs for the node pool.
-                # the Auto Upgrades will proceed.
-              &quot;description&quot;: &quot;A String&quot;, # [Output only] This field is set when upgrades are about to commence
-                  # with the description of the upgrade.
-              &quot;autoUpgradeStartTime&quot;: &quot;A String&quot;, # [Output only] This field is set when upgrades are about to commence
-                  # with the approximate start time for the upgrades, in
-                  # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-            },
-          },
-          &quot;oauthScopes&quot;: [ # Scopes that are used by NAP when creating node pools. If oauth_scopes are
-              # specified, service_account should be empty.
-            &quot;A String&quot;,
-          ],
-          &quot;upgradeSettings&quot;: { # These upgrade settings control the level of parallelism and the level of # Specifies the upgrade settings for NAP created node pools
+          &quot;upgradeSettings&quot;: { # These upgrade settings control the level of parallelism and the level of # Upgrade settings control disruption and speed of the upgrade.
               # disruption caused by an upgrade.
               #
               # maxUnavailable controls the number of nodes that can be simultaneously
@@ -5061,40 +5357,64 @@
             &quot;maxSurge&quot;: 42, # The maximum number of nodes that can be created beyond the current size
                 # of the node pool during the upgrade process.
           },
+          &quot;serviceAccount&quot;: &quot;A String&quot;, # The Google Cloud Platform Service Account to be used by the node VMs.
+              # Specify the email address of the Service Account; otherwise, if no Service
+              # Account is specified, the &quot;default&quot; service account is used.
+          &quot;oauthScopes&quot;: [ # The set of Google API scopes to be made available on all of the
+              # node VMs under the &quot;default&quot; service account.
+              #
+              # The following scopes are recommended, but not required, and by default are
+              # not included:
+              #
+              # * `https://www.googleapis.com/auth/compute` is required for mounting
+              # persistent storage on your nodes.
+              # * `https://www.googleapis.com/auth/devstorage.read_only` is required for
+              # communicating with **gcr.io**
+              # (the [Google Container
+              # Registry](https://cloud.google.com/container-registry/)).
+              #
+              # If unspecified, no scopes are added, unless Cloud Logging or Cloud
+              # Monitoring are enabled, in which case their required scopes will be added.
+            &quot;A String&quot;,
+          ],
+          &quot;minCpuPlatform&quot;: &quot;A String&quot;, # Minimum CPU platform to be used by this instance. The instance may be
+              # scheduled on the specified or newer CPU platform. Applicable values are the
+              # friendly names of CPU platforms, such as
+              # &lt;code&gt;minCpuPlatform: &amp;quot;Intel Haswell&amp;quot;&lt;/code&gt; or
+              # &lt;code&gt;minCpuPlatform: &amp;quot;Intel Sandy Bridge&amp;quot;&lt;/code&gt;. For more
+              # information, read [how to specify min CPU
+              # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
+              # To unset the min cpu platform field pass &quot;automatic&quot;
+              # as field value.
+          &quot;management&quot;: { # NodeManagement defines the set of node management services turned on for the # NodeManagement configuration for this NodePool.
+              # node pool.
+            &quot;autoRepair&quot;: True or False, # Whether the nodes will be automatically repaired.
+            &quot;autoUpgrade&quot;: True or False, # Whether the nodes will be automatically upgraded.
+            &quot;upgradeOptions&quot;: { # AutoUpgradeOptions defines the set of options for the user to control how # Specifies the Auto Upgrade knobs for the node pool.
+                # the Auto Upgrades will proceed.
+              &quot;description&quot;: &quot;A String&quot;, # [Output only] This field is set when upgrades are about to commence
+                  # with the description of the upgrade.
+              &quot;autoUpgradeStartTime&quot;: &quot;A String&quot;, # [Output only] This field is set when upgrades are about to commence
+                  # with the approximate start time for the upgrades, in
+                  # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+            },
+          },
         },
-      },
-      &quot;desiredPodSecurityPolicyConfig&quot;: { # Configuration for the PodSecurityPolicy feature. # The desired configuration options for the PodSecurityPolicy feature.
-        &quot;enabled&quot;: True or False, # Enable the PodSecurityPolicy controller for this cluster. If enabled, pods
-            # must be valid under a PodSecurityPolicy to be created.
-      },
-      &quot;desiredIntraNodeVisibilityConfig&quot;: { # IntraNodeVisibilityConfig contains the desired config of the intra-node # The desired config of Intra-node visibility.
-          # visibility on this cluster.
-        &quot;enabled&quot;: True or False, # Enables intra node visibility for this cluster.
-      },
-      &quot;desiredMasterAuthorizedNetworksConfig&quot;: { # Configuration options for the master authorized networks feature. Enabled # The desired configuration options for master authorized networks feature.
-          # master authorized networks will disallow all external traffic to access
-          # Kubernetes master through HTTPS except traffic from the given CIDR blocks,
-          # Google Compute Engine Public IPs and Google Prod IPs.
-        &quot;enabled&quot;: True or False, # Whether or not master authorized networks is enabled.
-        &quot;cidrBlocks&quot;: [ # cidr_blocks define up to 10 external networks that could access
-            # Kubernetes master through HTTPS.
-          { # CidrBlock contains an optional name and one CIDR block.
-            &quot;cidrBlock&quot;: &quot;A String&quot;, # cidr_block must be specified in CIDR notation.
-            &quot;displayName&quot;: &quot;A String&quot;, # display_name is an optional field for users to identify CIDR blocks.
+        &quot;autoscalingProfile&quot;: &quot;A String&quot;, # Defines autoscaling behaviour.
+        &quot;resourceLimits&quot;: [ # Contains global constraints regarding minimum and maximum
+            # amount of resources in the cluster.
+          { # Contains information about amount of some resource in the cluster.
+              # For memory, value should be in GB.
+            &quot;minimum&quot;: &quot;A String&quot;, # Minimum amount of the resource in the cluster.
+            &quot;maximum&quot;: &quot;A String&quot;, # Maximum amount of the resource in the cluster.
+            &quot;resourceType&quot;: &quot;A String&quot;, # Resource name &quot;cpu&quot;, &quot;memory&quot; or gpu-specific string.
           },
         ],
-      },
-      &quot;desiredResourceUsageExportConfig&quot;: { # Configuration for exporting cluster resource usages. # The desired configuration for exporting resource usage.
-        &quot;enableNetworkEgressMetering&quot;: True or False, # Whether to enable network egress metering for this cluster. If enabled, a
-            # daemonset will be created in the cluster to meter network egress traffic.
-        &quot;consumptionMeteringConfig&quot;: { # Parameters for controlling consumption metering. # Configuration to enable resource consumption metering.
-          &quot;enabled&quot;: True or False, # Whether to enable consumption metering for this cluster. If enabled, a
-              # second BigQuery table will be created to hold resource consumption
-              # records.
-        },
-        &quot;bigqueryDestination&quot;: { # Parameters for using BigQuery as the destination of resource usage export. # Configuration to use BigQuery as usage export destination.
-          &quot;datasetId&quot;: &quot;A String&quot;, # The ID of a BigQuery Dataset.
-        },
+        &quot;autoprovisioningLocations&quot;: [ # The list of Google Compute Engine
+            # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
+            # NodePool&#x27;s nodes can be created by NAP.
+          &quot;A String&quot;,
+        ],
       },
       &quot;desiredMonitoringService&quot;: &quot;A String&quot;, # The monitoring service the cluster should use to write metrics.
           # Currently available options:
@@ -5107,151 +5427,49 @@
           #
           # If left as an empty string,`monitoring.googleapis.com/kubernetes` will be
           # used for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions.
-      &quot;desiredImageType&quot;: &quot;A String&quot;, # The desired image type for the node pool.
-          # NOTE: Set the &quot;desired_node_pool&quot; field as well.
-      &quot;desiredWorkloadIdentityConfig&quot;: { # Configuration for the use of Kubernetes Service Accounts in GCP IAM # Configuration for Workload Identity.
-          # policies.
-        &quot;workloadPool&quot;: &quot;A String&quot;, # The workload pool to attach all Kubernetes service accounts to.
-        &quot;identityNamespace&quot;: &quot;A String&quot;, # IAM Identity Namespace to attach all Kubernetes Service Accounts to.
-      },
-      &quot;desiredReleaseChannel&quot;: { # ReleaseChannel indicates which release channel a cluster is # The desired release channel configuration.
-          # subscribed to. Release channels are arranged in order of risk and
-          # frequency of updates.
-          #
-          # When a cluster is subscribed to a release channel, Google maintains
-          # both the master version and the node version. Node auto-upgrade
-          # defaults to true and cannot be disabled. Updates to version related
-          # fields (e.g. current_master_version) return an error.
-        &quot;channel&quot;: &quot;A String&quot;, # channel specifies which release channel the cluster is subscribed to.
-      },
-      &quot;desiredShieldedNodes&quot;: { # Configuration of Shielded Nodes feature. # Configuration for Shielded Nodes.
-        &quot;enabled&quot;: True or False, # Whether Shielded Nodes features are enabled on all nodes in this cluster.
-      },
-      &quot;desiredPrivateClusterConfig&quot;: { # Configuration options for private clusters. # The desired private cluster configuration.
-        &quot;masterIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP range in CIDR notation to use for the hosted master network. This
-            # range will be used for assigning internal IP addresses to the master or
-            # set of masters, as well as the ILB VIP. This range must not overlap with
-            # any other ranges in use within the cluster&#x27;s network.
-        &quot;enablePrivateNodes&quot;: True or False, # Whether nodes have internal IP addresses only. If enabled, all nodes are
-            # given only RFC 1918 private addresses and communicate with the master via
-            # private networking.
-        &quot;privateEndpoint&quot;: &quot;A String&quot;, # Output only. The internal IP address of this cluster&#x27;s master endpoint.
-        &quot;enablePrivateEndpoint&quot;: True or False, # Whether the master&#x27;s internal IP address is used as the cluster endpoint.
-        &quot;peeringName&quot;: &quot;A String&quot;, # Output only. The peering name in the customer VPC used by this cluster.
-        &quot;masterGlobalAccessConfig&quot;: { # Configuration for controlling master global access settings. # Controls master global access settings.
-          &quot;enabled&quot;: True or False, # Whenever master is accessible globally or not.
-        },
-        &quot;publicEndpoint&quot;: &quot;A String&quot;, # Output only. The external IP address of this cluster&#x27;s master endpoint.
-      },
       &quot;desiredVerticalPodAutoscaling&quot;: { # VerticalPodAutoscaling contains global, per-cluster information # Cluster-level Vertical Pod Autoscaling configuration.
           # required by Vertical Pod Autoscaler to automatically adjust
           # the resources of pods controlled by it.
         &quot;enabled&quot;: True or False, # Enables vertical pod autoscaling.
       },
-      &quot;desiredBinaryAuthorization&quot;: { # Configuration for Binary Authorization. # The desired configuration options for the Binary Authorization feature.
-        &quot;enabled&quot;: True or False, # Enable Binary Authorization for this cluster. If enabled, all container
-            # images will be validated by Google Binauthz.
+      &quot;desiredClusterTelemetry&quot;: { # Telemetry integration for the cluster. # The desired telemetry integration for the cluster.
+        &quot;type&quot;: &quot;A String&quot;, # Type of the integration.
       },
-      &quot;desiredAddonsConfig&quot;: { # Configuration for the addons that can be automatically spun up in the # Configurations for the various addons available to run in the cluster.
-          # cluster, enabling additional functionality.
-        &quot;httpLoadBalancing&quot;: { # Configuration options for the HTTP (L7) load balancing controller addon, # Configuration for the HTTP (L7) load balancing controller addon, which
-            # makes it easy to set up HTTP load balancers for services in a cluster.
-            # which makes it easy to set up HTTP load balancers for services in a cluster.
-          &quot;disabled&quot;: True or False, # Whether the HTTP Load Balancing controller is enabled in the cluster.
-              # When enabled, it runs a small pod in the cluster that manages the load
-              # balancers.
-        },
-        &quot;kubernetesDashboard&quot;: { # Configuration for the Kubernetes Dashboard. # Configuration for the Kubernetes Dashboard.
-            # This addon is deprecated, and will be disabled in 1.15. It is recommended
-            # to use the Cloud Console to manage and monitor your Kubernetes clusters,
-            # workloads and applications. For more information, see:
-            # https://cloud.google.com/kubernetes-engine/docs/concepts/dashboards
-          &quot;disabled&quot;: True or False, # Whether the Kubernetes Dashboard is enabled for this cluster.
-        },
-        &quot;dnsCacheConfig&quot;: { # Configuration for NodeLocal DNSCache # Configuration for NodeLocalDNS, a dns cache running on cluster nodes
-          &quot;enabled&quot;: True or False, # Whether NodeLocal DNSCache is enabled for this cluster.
-        },
-        &quot;kalmConfig&quot;: { # Configuration options for the KALM addon. # Configuration for the KALM addon, which manages the lifecycle of k8s
-            # applications.
-          &quot;enabled&quot;: True or False, # Whether KALM is enabled for this cluster.
-        },
-        &quot;gcePersistentDiskCsiDriverConfig&quot;: { # Configuration for the Compute Engine PD CSI driver. This option can only be # Configuration for the Compute Engine Persistent Disk CSI driver.
-            # enabled at cluster creation time.
-          &quot;enabled&quot;: True or False, # Whether the Compute Engine PD CSI driver is enabled for this cluster.
-        },
-        &quot;istioConfig&quot;: { # Configuration options for Istio addon. # Configuration for Istio, an open platform to connect, manage, and secure
-            # microservices.
-          &quot;auth&quot;: &quot;A String&quot;, # The specified Istio auth mode, either none, or mutual TLS.
-          &quot;disabled&quot;: True or False, # Whether Istio is enabled for this cluster.
-        },
-        &quot;networkPolicyConfig&quot;: { # Configuration for NetworkPolicy. This only tracks whether the addon # Configuration for NetworkPolicy. This only tracks whether the addon
-            # is enabled or not on the Master, it does not track whether network policy
-            # is enabled for the nodes.
-            # is enabled or not on the Master, it does not track whether network policy
-            # is enabled for the nodes.
-          &quot;disabled&quot;: True or False, # Whether NetworkPolicy is enabled for this cluster.
-        },
-        &quot;cloudRunConfig&quot;: { # Configuration options for the Cloud Run feature. # Configuration for the Cloud Run addon. The `IstioConfig` addon must be
-            # enabled in order to enable Cloud Run addon. This option can only be enabled
-            # at cluster creation time.
-          &quot;disabled&quot;: True or False, # Whether Cloud Run addon is enabled for this cluster.
-        },
-        &quot;configConnectorConfig&quot;: { # Configuration options for the Config Connector add-on. # Configuration for the ConfigConnector add-on, a Kubernetes
-            # extension to manage hosted GCP services through the Kubernetes API
-          &quot;enabled&quot;: True or False, # Whether Cloud Connector is enabled for this cluster.
-        },
-        &quot;horizontalPodAutoscaling&quot;: { # Configuration options for the horizontal pod autoscaling feature, which # Configuration for the horizontal pod autoscaling feature, which
-            # increases or decreases the number of replica pods a replication controller
-            # has based on the resource usage of the existing pods.
-            # increases or decreases the number of replica pods a replication controller
-            # has based on the resource usage of the existing pods.
-          &quot;disabled&quot;: True or False, # Whether the Horizontal Pod Autoscaling feature is enabled in the cluster.
-              # When enabled, it ensures that metrics are collected into Stackdriver
-              # Monitoring.
-        },
+      &quot;desiredReleaseChannel&quot;: { # ReleaseChannel indicates which release channel a cluster is # The desired release channel configuration.
+          # subscribed to. Release channels are arranged in order of risk.
+          #
+          # When a cluster is subscribed to a release channel, Google maintains
+          # both the master version and the node version. Node auto-upgrade
+          # defaults to true and cannot be disabled.
+        &quot;channel&quot;: &quot;A String&quot;, # channel specifies which release channel the cluster is subscribed to.
       },
-      &quot;desiredDatabaseEncryption&quot;: { # Configuration of etcd encryption. # Configuration of etcd encryption.
-        &quot;state&quot;: &quot;A String&quot;, # Denotes the state of etcd encryption.
-        &quot;keyName&quot;: &quot;A String&quot;, # Name of CloudKMS key to use for the encryption of secrets in etcd.
-            # Ex. projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-key
+      &quot;desiredTpuConfig&quot;: { # Configuration for Cloud TPU. # The desired Cloud TPU configuration.
+        &quot;ipv4CidrBlock&quot;: &quot;A String&quot;, # IPv4 CIDR block reserved for Cloud TPU in the VPC.
+        &quot;useServiceNetworking&quot;: True or False, # Whether to use service networking for Cloud TPU or not.
+        &quot;enabled&quot;: True or False, # Whether Cloud TPU integration is enabled or not.
+      },
+      &quot;desiredMaster&quot;: { # Master is the configuration for components on master. # Configuration for master components.
       },
       &quot;desiredDefaultSnatStatus&quot;: { # DefaultSnatStatus contains the desired state of whether default sNAT should # The desired status of whether to disable default sNAT for this cluster.
           # be disabled on the cluster.
         &quot;disabled&quot;: True or False, # Disables cluster default sNAT rules.
       },
-      &quot;desiredTpuConfig&quot;: { # Configuration for Cloud TPU. # The desired Cloud TPU configuration.
-        &quot;useServiceNetworking&quot;: True or False, # Whether to use service networking for Cloud TPU or not.
-        &quot;ipv4CidrBlock&quot;: &quot;A String&quot;, # IPv4 CIDR block reserved for Cloud TPU in the VPC.
-        &quot;enabled&quot;: True or False, # Whether Cloud TPU integration is enabled or not.
+      &quot;desiredPodSecurityPolicyConfig&quot;: { # Configuration for the PodSecurityPolicy feature. # The desired configuration options for the PodSecurityPolicy feature.
+        &quot;enabled&quot;: True or False, # Enable the PodSecurityPolicy controller for this cluster. If enabled, pods
+            # must be valid under a PodSecurityPolicy to be created.
       },
       &quot;desiredNodePoolAutoscaling&quot;: { # NodePoolAutoscaling contains information required by cluster autoscaler to # Autoscaler configuration for the node pool specified in
           # desired_node_pool_id. If there is only one pool in the
           # cluster and desired_node_pool_id is not provided then
           # the change applies to that single node pool.
           # adjust the size of the node pool to the current cluster usage.
-        &quot;maxNodeCount&quot;: 42, # Maximum number of nodes in the NodePool. Must be &gt;= min_node_count. There
-            # has to enough quota to scale up the cluster.
         &quot;autoprovisioned&quot;: True or False, # Can this node pool be deleted automatically.
         &quot;minNodeCount&quot;: 42, # Minimum number of nodes in the NodePool. Must be &gt;= 1 and &lt;=
             # max_node_count.
         &quot;enabled&quot;: True or False, # Is autoscaling enabled for this node pool.
+        &quot;maxNodeCount&quot;: 42, # Maximum number of nodes in the NodePool. Must be &gt;= min_node_count. There
+            # has to enough quota to scale up the cluster.
       },
-      &quot;desiredLocations&quot;: [ # The desired list of Google Compute Engine
-          # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
-          # cluster&#x27;s nodes should be located. Changing the locations a cluster is in
-          # will result in nodes being either created or removed from the cluster,
-          # depending on whether locations are being added or removed.
-          #
-          # This list must always include the cluster&#x27;s primary zone.
-        &quot;A String&quot;,
-      ],
-      &quot;desiredClusterTelemetry&quot;: { # Telemetry integration for the cluster. # The desired telemetry integration for the cluster.
-        &quot;type&quot;: &quot;A String&quot;, # Type of the integration.
-      },
-      &quot;desiredNodePoolId&quot;: &quot;A String&quot;, # The node pool to be upgraded. This field is mandatory if
-          # &quot;desired_node_version&quot;, &quot;desired_image_family&quot;,
-          # &quot;desired_node_pool_autoscaling&quot;, or &quot;desired_workload_metadata_config&quot;
-          # is specified and there is more than one node pool on the cluster.
       &quot;desiredMasterVersion&quot;: &quot;A String&quot;, # The Kubernetes version to change the master to. The only valid value is the
           # latest supported version.
           #
@@ -5263,18 +5481,158 @@
           # - &quot;1.X.Y&quot;: picks the highest valid gke.N patch in the 1.X.Y version
           # - &quot;1.X.Y-gke.N&quot;: picks an explicit Kubernetes version
           # - &quot;-&quot;: picks the default Kubernetes version
-      &quot;desiredLoggingService&quot;: &quot;A String&quot;, # The logging service the cluster should use to write logs.
-          # Currently available options:
+      &quot;desiredNodeVersion&quot;: &quot;A String&quot;, # The Kubernetes version to change the nodes to (typically an
+          # upgrade).
           #
-          # * `logging.googleapis.com/kubernetes` - The Cloud Logging
-          # service with a Kubernetes-native resource model
-          # * `logging.googleapis.com` - The legacy Cloud Logging service (no longer
-          #   available as of GKE 1.15).
-          # * `none` - no logs will be exported from the cluster.
+          # Users may specify either explicit versions offered by
+          # Kubernetes Engine or version aliases, which have the following behavior:
           #
-          # If left as an empty string,`logging.googleapis.com/kubernetes` will be
-          # used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.
+          # - &quot;latest&quot;: picks the highest valid Kubernetes version
+          # - &quot;1.X&quot;: picks the highest valid patch+gke.N patch in the 1.X version
+          # - &quot;1.X.Y&quot;: picks the highest valid gke.N patch in the 1.X.Y version
+          # - &quot;1.X.Y-gke.N&quot;: picks an explicit Kubernetes version
+          # - &quot;-&quot;: picks the Kubernetes master version
+      &quot;desiredMasterAuthorizedNetworksConfig&quot;: { # Configuration options for the master authorized networks feature. Enabled # The desired configuration options for master authorized networks feature.
+          # master authorized networks will disallow all external traffic to access
+          # Kubernetes master through HTTPS except traffic from the given CIDR blocks,
+          # Google Compute Engine Public IPs and Google Prod IPs.
+        &quot;cidrBlocks&quot;: [ # cidr_blocks define up to 10 external networks that could access
+            # Kubernetes master through HTTPS.
+          { # CidrBlock contains an optional name and one CIDR block.
+            &quot;displayName&quot;: &quot;A String&quot;, # display_name is an optional field for users to identify CIDR blocks.
+            &quot;cidrBlock&quot;: &quot;A String&quot;, # cidr_block must be specified in CIDR notation.
+          },
+        ],
+        &quot;enabled&quot;: True or False, # Whether or not master authorized networks is enabled.
+      },
+      &quot;desiredDatabaseEncryption&quot;: { # Configuration of etcd encryption. # Configuration of etcd encryption.
+        &quot;state&quot;: &quot;A String&quot;, # Denotes the state of etcd encryption.
+        &quot;keyName&quot;: &quot;A String&quot;, # Name of CloudKMS key to use for the encryption of secrets in etcd.
+            # Ex. projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-key
+      },
+      &quot;desiredIntraNodeVisibilityConfig&quot;: { # IntraNodeVisibilityConfig contains the desired config of the intra-node # The desired config of Intra-node visibility.
+          # visibility on this cluster.
+        &quot;enabled&quot;: True or False, # Enables intra node visibility for this cluster.
+      },
+      &quot;desiredAddonsConfig&quot;: { # Configuration for the addons that can be automatically spun up in the # Configurations for the various addons available to run in the cluster.
+          # cluster, enabling additional functionality.
+        &quot;configConnectorConfig&quot;: { # Configuration options for the Config Connector add-on. # Configuration for the ConfigConnector add-on, a Kubernetes
+            # extension to manage hosted GCP services through the Kubernetes API
+          &quot;enabled&quot;: True or False, # Whether Cloud Connector is enabled for this cluster.
+        },
+        &quot;gcePersistentDiskCsiDriverConfig&quot;: { # Configuration for the Compute Engine PD CSI driver. This option can only be # Configuration for the Compute Engine Persistent Disk CSI driver.
+            # enabled at cluster creation time.
+          &quot;enabled&quot;: True or False, # Whether the Compute Engine PD CSI driver is enabled for this cluster.
+        },
+        &quot;dnsCacheConfig&quot;: { # Configuration for NodeLocal DNSCache # Configuration for NodeLocalDNS, a dns cache running on cluster nodes
+          &quot;enabled&quot;: True or False, # Whether NodeLocal DNSCache is enabled for this cluster.
+        },
+        &quot;networkPolicyConfig&quot;: { # Configuration for NetworkPolicy. This only tracks whether the addon # Configuration for NetworkPolicy. This only tracks whether the addon
+            # is enabled or not on the Master, it does not track whether network policy
+            # is enabled for the nodes.
+            # is enabled or not on the Master, it does not track whether network policy
+            # is enabled for the nodes.
+          &quot;disabled&quot;: True or False, # Whether NetworkPolicy is enabled for this cluster.
+        },
+        &quot;kubernetesDashboard&quot;: { # Configuration for the Kubernetes Dashboard. # Configuration for the Kubernetes Dashboard.
+            # This addon is deprecated, and will be disabled in 1.15. It is recommended
+            # to use the Cloud Console to manage and monitor your Kubernetes clusters,
+            # workloads and applications. For more information, see:
+            # https://cloud.google.com/kubernetes-engine/docs/concepts/dashboards
+          &quot;disabled&quot;: True or False, # Whether the Kubernetes Dashboard is enabled for this cluster.
+        },
+        &quot;httpLoadBalancing&quot;: { # Configuration options for the HTTP (L7) load balancing controller addon, # Configuration for the HTTP (L7) load balancing controller addon, which
+            # makes it easy to set up HTTP load balancers for services in a cluster.
+            # which makes it easy to set up HTTP load balancers for services in a cluster.
+          &quot;disabled&quot;: True or False, # Whether the HTTP Load Balancing controller is enabled in the cluster.
+              # When enabled, it runs a small pod in the cluster that manages the load
+              # balancers.
+        },
+        &quot;istioConfig&quot;: { # Configuration options for Istio addon. # Configuration for Istio, an open platform to connect, manage, and secure
+            # microservices.
+          &quot;disabled&quot;: True or False, # Whether Istio is enabled for this cluster.
+          &quot;auth&quot;: &quot;A String&quot;, # The specified Istio auth mode, either none, or mutual TLS.
+        },
+        &quot;horizontalPodAutoscaling&quot;: { # Configuration options for the horizontal pod autoscaling feature, which # Configuration for the horizontal pod autoscaling feature, which
+            # increases or decreases the number of replica pods a replication controller
+            # has based on the resource usage of the existing pods.
+            # increases or decreases the number of replica pods a replication controller
+            # has based on the resource usage of the existing pods.
+          &quot;disabled&quot;: True or False, # Whether the Horizontal Pod Autoscaling feature is enabled in the cluster.
+              # When enabled, it ensures that metrics are collected into Stackdriver
+              # Monitoring.
+        },
+        &quot;cloudRunConfig&quot;: { # Configuration options for the Cloud Run feature. # Configuration for the Cloud Run addon. The `IstioConfig` addon must be
+            # enabled in order to enable Cloud Run addon. This option can only be enabled
+            # at cluster creation time.
+          &quot;disabled&quot;: True or False, # Whether Cloud Run addon is enabled for this cluster.
+        },
+        &quot;kalmConfig&quot;: { # Configuration options for the KALM addon. # Configuration for the KALM addon, which manages the lifecycle of k8s
+            # applications.
+          &quot;enabled&quot;: True or False, # Whether KALM is enabled for this cluster.
+        },
+      },
+      &quot;desiredWorkloadIdentityConfig&quot;: { # Configuration for the use of Kubernetes Service Accounts in GCP IAM # Configuration for Workload Identity.
+          # policies.
+        &quot;identityNamespace&quot;: &quot;A String&quot;, # IAM Identity Namespace to attach all Kubernetes Service Accounts to.
+        &quot;identityProvider&quot;: &quot;A String&quot;, # identity provider is the third party identity provider.
+        &quot;workloadPool&quot;: &quot;A String&quot;, # The workload pool to attach all Kubernetes service accounts to.
+      },
+      &quot;desiredResourceUsageExportConfig&quot;: { # Configuration for exporting cluster resource usages. # The desired configuration for exporting resource usage.
+        &quot;consumptionMeteringConfig&quot;: { # Parameters for controlling consumption metering. # Configuration to enable resource consumption metering.
+          &quot;enabled&quot;: True or False, # Whether to enable consumption metering for this cluster. If enabled, a
+              # second BigQuery table will be created to hold resource consumption
+              # records.
+        },
+        &quot;bigqueryDestination&quot;: { # Parameters for using BigQuery as the destination of resource usage export. # Configuration to use BigQuery as usage export destination.
+          &quot;datasetId&quot;: &quot;A String&quot;, # The ID of a BigQuery Dataset.
+        },
+        &quot;enableNetworkEgressMetering&quot;: True or False, # Whether to enable network egress metering for this cluster. If enabled, a
+            # daemonset will be created in the cluster to meter network egress traffic.
+      },
+      &quot;desiredBinaryAuthorization&quot;: { # Configuration for Binary Authorization. # The desired configuration options for the Binary Authorization feature.
+        &quot;enabled&quot;: True or False, # Enable Binary Authorization for this cluster. If enabled, all container
+            # images will be validated by Google Binauthz.
+      },
+      &quot;desiredPrivateClusterConfig&quot;: { # Configuration options for private clusters. # The desired private cluster configuration.
+        &quot;enablePrivateNodes&quot;: True or False, # Whether nodes have internal IP addresses only. If enabled, all nodes are
+            # given only RFC 1918 private addresses and communicate with the master via
+            # private networking.
+        &quot;masterIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP range in CIDR notation to use for the hosted master network. This
+            # range will be used for assigning internal IP addresses to the master or
+            # set of masters, as well as the ILB VIP. This range must not overlap with
+            # any other ranges in use within the cluster&#x27;s network.
+        &quot;peeringName&quot;: &quot;A String&quot;, # Output only. The peering name in the customer VPC used by this cluster.
+        &quot;publicEndpoint&quot;: &quot;A String&quot;, # Output only. The external IP address of this cluster&#x27;s master endpoint.
+        &quot;enablePrivateEndpoint&quot;: True or False, # Whether the master&#x27;s internal IP address is used as the cluster endpoint.
+        &quot;masterGlobalAccessConfig&quot;: { # Configuration for controlling master global access settings. # Controls master global access settings.
+          &quot;enabled&quot;: True or False, # Whenever master is accessible globally or not.
+        },
+        &quot;privateEndpoint&quot;: &quot;A String&quot;, # Output only. The internal IP address of this cluster&#x27;s master endpoint.
+      },
+      &quot;desiredLocations&quot;: [ # The desired list of Google Compute Engine
+          # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
+          # cluster&#x27;s nodes should be located. Changing the locations a cluster is in
+          # will result in nodes being either created or removed from the cluster,
+          # depending on whether locations are being added or removed.
+          #
+          # This list must always include the cluster&#x27;s primary zone.
+        &quot;A String&quot;,
+      ],
+      &quot;desiredImageType&quot;: &quot;A String&quot;, # The desired image type for the node pool.
+          # NOTE: Set the &quot;desired_node_pool&quot; field as well.
+      &quot;desiredNodePoolId&quot;: &quot;A String&quot;, # The node pool to be upgraded. This field is mandatory if
+          # &quot;desired_node_version&quot;, &quot;desired_image_family&quot;,
+          # &quot;desired_node_pool_autoscaling&quot;, or &quot;desired_workload_metadata_config&quot;
+          # is specified and there is more than one node pool on the cluster.
     },
+    &quot;projectId&quot;: &quot;A String&quot;, # Required. Deprecated. The Google Developers Console [project ID or project
+        # number](https://support.google.com/cloud/answer/6158840).
+        # This field has been deprecated and replaced by the name field.
+    &quot;zone&quot;: &quot;A String&quot;, # Required. Deprecated. The name of the Google Compute Engine
+        # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
+        # cluster resides. This field has been deprecated and replaced by the name
+        # field.
   }
 
   x__xgafv: string, V1 error format.
@@ -5288,34 +5646,15 @@
     { # This operation resource represents operations that may have happened or are
       # happening on the cluster. All fields are output only.
     &quot;targetLink&quot;: &quot;A String&quot;, # Server-defined URL for the target of the operation.
-    &quot;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
     &quot;operationType&quot;: &quot;A String&quot;, # The operation type.
-    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
-    &quot;name&quot;: &quot;A String&quot;, # The server-assigned ID for the operation.
-    &quot;nodepoolConditions&quot;: [ # Which conditions caused the current node pool state.
-      { # StatusCondition describes why a cluster or a node pool has a certain status
-          # (e.g., ERROR or DEGRADED).
-        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
-        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
-      },
-    ],
-    &quot;endTime&quot;: &quot;A String&quot;, # [Output only] The time the operation completed, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-    &quot;location&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
-        # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
-        # or
-        # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
-        # in which the cluster resides.
-    &quot;startTime&quot;: &quot;A String&quot;, # [Output only] The time the operation started, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-    &quot;clusterConditions&quot;: [ # Which conditions caused the current cluster state.
-      { # StatusCondition describes why a cluster or a node pool has a certain status
-          # (e.g., ERROR or DEGRADED).
-        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
-        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
-      },
-    ],
     &quot;progress&quot;: { # Information about operation (or operation stage) progress. # Output only. [Output only] Progress information for an operation.
+      &quot;stages&quot;: [ # Substages of an operation or a stage.
+        # Object with schema name: OperationProgress
+      ],
+      &quot;name&quot;: &quot;A String&quot;, # A non-parameterized string describing an operation stage.
+          # Unset for single-stage operations.
+      &quot;status&quot;: &quot;A String&quot;, # Status of an operation stage.
+          # Unset for single-stage operations.
       &quot;metrics&quot;: [ # Progress metric bundle, for example:
           #   metrics: [{name: &quot;nodes done&quot;,     int_value: 15},
           #             {name: &quot;nodes total&quot;,    int_value: 32}]
@@ -5323,25 +5662,44 @@
           #   metrics: [{name: &quot;progress&quot;,       double_value: 0.56},
           #             {name: &quot;progress scale&quot;, double_value: 1.0}]
         { # Progress metric is (string, int|float|string) pair.
-          &quot;name&quot;: &quot;A String&quot;, # Required. Metric name, e.g., &quot;nodes total&quot;, &quot;percent done&quot;.
           &quot;doubleValue&quot;: 3.14, # For metrics with floating point value.
-          &quot;intValue&quot;: &quot;A String&quot;, # For metrics with integer value.
           &quot;stringValue&quot;: &quot;A String&quot;, # For metrics with custom values (ratios, visual progress, etc.).
+          &quot;name&quot;: &quot;A String&quot;, # Required. Metric name, e.g., &quot;nodes total&quot;, &quot;percent done&quot;.
+          &quot;intValue&quot;: &quot;A String&quot;, # For metrics with integer value.
         },
       ],
-      &quot;status&quot;: &quot;A String&quot;, # Status of an operation stage.
-          # Unset for single-stage operations.
-      &quot;name&quot;: &quot;A String&quot;, # A non-parameterized string describing an operation stage.
-          # Unset for single-stage operations.
-      &quot;stages&quot;: [ # Substages of an operation or a stage.
-        # Object with schema name: OperationProgress
-      ],
     },
+    &quot;selfLink&quot;: &quot;A String&quot;, # Server-defined URL for the resource.
+    &quot;location&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
+        # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
+        # or
+        # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
+        # in which the cluster resides.
     &quot;zone&quot;: &quot;A String&quot;, # The name of the Google Compute Engine
         # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
         # operation is taking place. This field is deprecated, use location instead.
+    &quot;endTime&quot;: &quot;A String&quot;, # [Output only] The time the operation completed, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
     &quot;statusMessage&quot;: &quot;A String&quot;, # Output only. If an error has occurred, a textual description of the error.
-    &quot;selfLink&quot;: &quot;A String&quot;, # Server-defined URL for the resource.
+    &quot;name&quot;: &quot;A String&quot;, # The server-assigned ID for the operation.
+    &quot;clusterConditions&quot;: [ # Which conditions caused the current cluster state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
+        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+      },
+    ],
+    &quot;startTime&quot;: &quot;A String&quot;, # [Output only] The time the operation started, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    &quot;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
+    &quot;nodepoolConditions&quot;: [ # Which conditions caused the current node pool state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
+        &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+      },
+    ],
+    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
   }</pre>
 </div>