docs: docs update (#911)

Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:
- [ ] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/google-api-python-client/issues/new/choose) before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
- [ ] Ensure the tests and linter pass
- [ ] Code coverage does not decrease (if any source code was changed)
- [ ] Appropriate docs were updated (if necessary)

Fixes #<issue_number_goes_here> 🦕
diff --git a/docs/dyn/container_v1beta1.projects.zones.clusters.html b/docs/dyn/container_v1beta1.projects.zones.clusters.html
index 8126a39..58bd5ab 100644
--- a/docs/dyn/container_v1beta1.projects.zones.clusters.html
+++ b/docs/dyn/container_v1beta1.projects.zones.clusters.html
@@ -149,76 +149,76 @@
     The object takes the form of:
 
 { # SetAddonsRequest sets the addons associated with the cluster.
-    "projectId": "A String", # Required. Deprecated. The Google Developers Console [project ID or project
+    &quot;name&quot;: &quot;A String&quot;, # The name (project, location, cluster) of the cluster to set addons.
+        # 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.
-    "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
+    &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;addonsConfig&quot;: { # 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.
-      "networkPolicyConfig": { # Configuration for NetworkPolicy. This only tracks whether the addon # Configuration for NetworkPolicy. This only tracks whether the addon
+      &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.
-        "disabled": True or False, # Whether NetworkPolicy is enabled for this cluster.
+        &quot;disabled&quot;: 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
+      &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;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.
-        "disabled": True or False, # Whether Cloud Run addon is enabled for this cluster.
+        &quot;disabled&quot;: True or False, # Whether Cloud Run addon 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.
-      },
-      "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.
-      },
-      "horizontalPodAutoscaling": { # Configuration options for the horizontal pod autoscaling feature, which # Configuration for the horizontal pod autoscaling feature, which
+      &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.
-        "disabled": True or False, # Whether the Horizontal Pod Autoscaling feature is enabled in the cluster.
+        &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.
       },
-      "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.
+      &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.
       },
-      "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.
-      },
-      "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.
-      },
-      "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.
-      },
-      "kubernetesDashboard": { # Configuration for the Kubernetes Dashboard. # Configuration for the Kubernetes Dashboard.
+      &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
-        "disabled": True or False, # Whether the Kubernetes Dashboard is enabled for this cluster.
+        &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;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.
       },
     },
-    "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/*'.
-    "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.
@@ -231,61 +231,61 @@
 
     { # This operation resource represents operations that may have happened or are
       # happening on the cluster. All fields are output only.
-    "status": "A String", # The current status of the operation.
-    "statusMessage": "A String", # Output only. If an error has occurred, a textual description of the error.
-    "endTime": "A String", # [Output only] The time the operation completed, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-    "name": "A String", # The server-assigned ID for the operation.
-    "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.
-    "clusterConditions": [ # Which conditions caused the current cluster state.
+    &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).
-        "message": "A String", # Human-friendly representation of the condition
-        "code": "A String", # Machine-friendly representation of the condition
+        &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
       },
     ],
-    "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.
-    "targetLink": "A String", # Server-defined URL for the target of the operation.
-    "operationType": "A String", # The operation type.
-    "progress": { # Information about operation (or operation stage) progress. # Output only. [Output only] Progress information for an operation.
-      "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}]
-          # or
-          #   metrics: [{name: "progress",       double_value: 0.56},
-          #             {name: "progress scale", double_value: 1.0}]
-        { # Progress metric is (string, int|float|string) pair.
-          "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
-          "intValue": "A String", # For metrics with integer value.
-          "name": "A String", # Required. Metric name, e.g., "nodes total", "percent done".
-          "doubleValue": 3.14, # For metrics with floating point value.
-        },
-      ],
-      "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.
-    },
-    "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).
-        "message": "A String", # Human-friendly representation of the condition
-        "code": "A String", # Machine-friendly representation of the condition
-      },
-    ],
-    "selfLink": "A String", # Server-defined URL for the resource.
-    "location": "A String", # [Output only] The name of the Google Compute Engine
+    &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;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;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;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;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;, # A non-parameterized string describing an operation stage.
+          # Unset for single-stage operations.
+    },
+    &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.
+    &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.
   }</pre>
 </div>
 
@@ -307,17 +307,17 @@
     The object takes the form of:
 
 { # CompleteIPRotationRequest moves the cluster master back into single-IP mode.
-    "projectId": "A String", # Required. Deprecated. The Google Developers Console [project ID or project
+    &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.
-    "clusterId": "A String", # Required. Deprecated. The name of the cluster.
-        # This field has been deprecated and replaced by the name field.
-    "name": "A String", # The name (project, location, cluster id) of the cluster to complete IP
-        # rotation. Specified in the format 'projects/*/locations/*/clusters/*'.
-    "zone": "A String", # Required. Deprecated. The name of the Google Compute Engine
+    &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.
+        # This field has been deprecated and replaced by the name field.
   }
 
   x__xgafv: string, V1 error format.
@@ -330,61 +330,61 @@
 
     { # This operation resource represents operations that may have happened or are
       # happening on the cluster. All fields are output only.
-    "status": "A String", # The current status of the operation.
-    "statusMessage": "A String", # Output only. If an error has occurred, a textual description of the error.
-    "endTime": "A String", # [Output only] The time the operation completed, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-    "name": "A String", # The server-assigned ID for the operation.
-    "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.
-    "clusterConditions": [ # Which conditions caused the current cluster state.
+    &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).
-        "message": "A String", # Human-friendly representation of the condition
-        "code": "A String", # Machine-friendly representation of the condition
+        &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
       },
     ],
-    "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.
-    "targetLink": "A String", # Server-defined URL for the target of the operation.
-    "operationType": "A String", # The operation type.
-    "progress": { # Information about operation (or operation stage) progress. # Output only. [Output only] Progress information for an operation.
-      "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}]
-          # or
-          #   metrics: [{name: "progress",       double_value: 0.56},
-          #             {name: "progress scale", double_value: 1.0}]
-        { # Progress metric is (string, int|float|string) pair.
-          "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
-          "intValue": "A String", # For metrics with integer value.
-          "name": "A String", # Required. Metric name, e.g., "nodes total", "percent done".
-          "doubleValue": 3.14, # For metrics with floating point value.
-        },
-      ],
-      "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.
-    },
-    "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).
-        "message": "A String", # Human-friendly representation of the condition
-        "code": "A String", # Machine-friendly representation of the condition
-      },
-    ],
-    "selfLink": "A String", # Server-defined URL for the resource.
-    "location": "A String", # [Output only] The name of the Google Compute Engine
+    &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;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;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;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;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;, # A non-parameterized string describing an operation stage.
+          # Unset for single-stage operations.
+    },
+    &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.
+    &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.
   }</pre>
 </div>
 
@@ -393,7 +393,7 @@
   <pre>Creates a cluster, consisting of the specified number and type of Google
 Compute Engine instances.
 
-By default, the cluster is created in the project's
+By default, the cluster is created in the project&#x27;s
 [default
 network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks).
 
@@ -402,7 +402,7 @@
 on that node to communicate with all other instances in the
 cluster.
 
-Finally, an entry is added to the project's global metadata indicating
+Finally, an entry is added to the project&#x27;s global metadata indicating
 which CIDR range the cluster is using.
 
 Args:
@@ -417,38 +417,180 @@
     The object takes the form of:
 
 { # CreateClusterRequest creates a cluster.
-    "projectId": "A String", # Required. Deprecated. The Google Developers Console [project ID or project
+    &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.
-    "parent": "A String", # The parent (project and location) where the cluster will be created.
-        # Specified in the format 'projects/*/locations/*'.
-    "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 parent
-        # field.
-    "cluster": { # A Google Kubernetes Engine cluster. # Required. A [cluster
+    &quot;cluster&quot;: { # A Google Kubernetes Engine cluster. # Required. A [cluster
         # resource](https://cloud.google.com/container-engine/reference/rest/v1beta1/projects.zones.clusters)
-      "nodeIpv4CidrSize": 42, # [Output only] The size of the address space on each node for hosting
+      &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.
-      "maintenancePolicy": { # MaintenancePolicy defines the maintenance policy to be used for the cluster. # Configure the maintenance policy for this cluster.
-        "window": { # MaintenanceWindow defines the maintenance window to be used for the cluster. # Specifies the maintenance window in which maintenance may be performed.
-          "recurringWindow": { # Represents an arbitrary window of time that recurs. # RecurringWindow specifies some number of recurring time periods for
+      &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;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;enabled&quot;: True or False, # Whether this cluster should return group membership lookups
+            # during authentication using a group of security groups.
+        &quot;securityGroup&quot;: &quot;A String&quot;, # The name of the security group-of-groups to be used. Only relevant
+            # if enabled = true.
+      },
+      &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;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;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;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;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;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;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;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;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;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;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;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;window&quot;: { # MaintenanceWindow defines the maintenance window to be used for the cluster. # Specifies the maintenance window in which maintenance may be performed.
+          &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;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.
-            "recurrence": "A String", # An RRULE (https://tools.ietf.org/html/rfc5545#section-3.8.5.3) for how
+            &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'd use:
+                # 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'd use something like:
+                # 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
@@ -461,279 +603,48 @@
                 #   end time = 2019-01-07T23:59:00Z
                 #   recurrence = FREQ=WEEKLY;BYDAY=SA
                 # &lt;/code&gt;
-                # Note the start and end time's specific dates are largely arbitrary except
+                # 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.
-            "window": { # Represents an arbitrary window of time. # The window of the first recurrence.
-              "endTime": "A String", # The time that the window ends. The end time should take place after the
+            &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.
-              "startTime": "A String", # The time that the window first starts.
+              &quot;startTime&quot;: &quot;A String&quot;, # The time that the window first starts.
             },
           },
-          "dailyMaintenanceWindow": { # Time window specified for daily maintenance operations. # DailyMaintenanceWindow specifies a daily maintenance operation window.
-            "duration": "A String", # [Output only] Duration of the time window, automatically chosen to be
-                # smallest possible in the given scenario.
-            "startTime": "A String", # Time within the maintenance window to start the maintenance operations.
-                # It must be in format "HH:MM", where HH : [00-23] and MM : [00-59] GMT.
-          },
-          "maintenanceExclusions": { # Exceptions to maintenance window. Non-emergency maintenance should not
+          &quot;maintenanceExclusions&quot;: { # Exceptions to maintenance window. Non-emergency maintenance should not
               # occur in these windows.
-            "a_key": { # Represents an arbitrary window of time.
-              "endTime": "A String", # The time that the window ends. The end time should take place after the
+            &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.
-              "startTime": "A String", # The time that the window first starts.
+              &quot;startTime&quot;: &quot;A String&quot;, # The time that the window first starts.
             },
           },
         },
-        "resourceVersion": "A String", # A hash identifying the version of this policy, so that updates to fields of
-            # the policy won't accidentally undo intermediate changes (and so that users
-            # of the API unaware of some fields won'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.
       },
-      "networkPolicy": { # Configuration options for the NetworkPolicy feature. # Configuration options for the NetworkPolicy feature.
-          # https://kubernetes.io/docs/concepts/services-networking/networkpolicies/
-        "enabled": True or False, # Whether network policy is enabled on the cluster.
-        "provider": "A String", # The selected network policy provider.
+      &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;,
       },
-      "masterAuthorizedNetworksConfig": { # 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.
-        "enabled": True or False, # Whether or not master authorized networks is enabled.
-        "cidrBlocks": [ # cidr_blocks define up to 10 external networks that could access
-            # Kubernetes master through HTTPS.
-          { # CidrBlock contains an optional name and one CIDR block.
-            "cidrBlock": "A String", # cidr_block must be specified in CIDR notation.
-            "displayName": "A String", # display_name is an optional field for users to identify CIDR blocks.
-          },
-        ],
-      },
-      "addonsConfig": { # 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.
-        "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
-            # is enabled for the nodes.
-            # is enabled or not on the Master, it does not track whether network policy
-            # 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.
-        },
-        "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.
-        },
-        "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.
-        },
-        "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
-            # 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.
-          "disabled": 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.
-        },
-        "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.
-        },
-        "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.
-        },
-        "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.
-        },
-        "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.
-        },
-        "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.
-        },
-      },
-      "locations": [ # The list of Google Compute Engine
-          # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
-          # cluster's nodes should be located.
-        "A String",
-      ],
-      "enableKubernetesAlpha": 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.
-      "enableTpu": True or False, # Enable the ability to use Cloud TPUs in this cluster.
-          # This field is deprecated, use tpu_config.enabled instead.
-      "releaseChannel": { # 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.
+      &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.
           #
-          # 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.
-        "channel": "A String", # channel specifies which release channel the cluster is subscribed to.
-      },
-      "defaultMaxPodsConstraint": { # 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.
-        "maxPodsPerNode": "A String", # Constraint enforced on the max num of pods per node.
-      },
-      "network": "A String", # 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.
-      "loggingService": "A String", # 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.
-          #
-          # If left as an empty string,`logging.googleapis.com/kubernetes` will be
-          # used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.
-      "instanceGroupUrls": [ # Deprecated. Use node_pools.instance_group_urls.
-        "A String",
-      ],
-      "networkConfig": { # NetworkConfig reports the relative names of network &amp; subnetwork. # Configuration for cluster networking.
-        "subnetwork": "A String", # 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
-        "network": "A String", # 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
-        "enableIntraNodeVisibility": True or False, # Whether Intra-node visibility is enabled for this cluster.
-            # This makes same node pod to pod traffic visible for VPC network.
-      },
-      "privateCluster": 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.
-      "podSecurityPolicyConfig": { # Configuration for the PodSecurityPolicy feature. # Configuration for the PodSecurityPolicy feature.
-        "enabled": True or False, # Enable the PodSecurityPolicy controller for this cluster. If enabled, pods
-            # must be valid under a PodSecurityPolicy to be created.
-      },
-      "shieldedNodes": { # Configuration of Shielded Nodes feature. # Shielded Nodes configuration.
-        "enabled": True or False, # Whether Shielded Nodes features are enabled on all nodes in this cluster.
-      },
-      "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.
-      "workloadIdentityConfig": { # Configuration for the use of Kubernetes Service Accounts in GCP IAM # Configuration for the use of Kubernetes Service Accounts in GCP IAM
-          # policies.
-          # policies.
-        "workloadPool": "A String", # The workload pool to attach all Kubernetes service accounts to.
-        "identityNamespace": "A String", # IAM Identity Namespace to attach all Kubernetes Service Accounts to.
-      },
-      "resourceUsageExportConfig": { # Configuration for exporting cluster resource usages. # Configuration for exporting resource usages. Resource usage export is
-          # disabled when this config unspecified.
-        "bigqueryDestination": { # Parameters for using BigQuery as the destination of resource usage export. # Configuration to use BigQuery as usage export destination.
-          "datasetId": "A String", # The ID of a BigQuery Dataset.
-        },
-        "enableNetworkEgressMetering": 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.
-        "consumptionMeteringConfig": { # Parameters for controlling consumption metering. # Configuration to enable resource consumption metering.
-          "enabled": 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.
-        },
-      },
-      "privateClusterConfig": { # Configuration options for private clusters. # Configuration for private cluster.
-        "enablePrivateEndpoint": True or False, # Whether the master's internal IP address is used as the cluster endpoint.
-        "publicEndpoint": "A String", # Output only. The external IP address of this cluster's master endpoint.
-        "masterGlobalAccessConfig": { # Configuration for controlling master global access settings. # Controls master global access settings.
-          "enabled": True or False, # Whenever master is accessible globally or not.
-        },
-        "enablePrivateNodes": 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.
-        "privateEndpoint": "A String", # Output only. The internal IP address of this cluster's master endpoint.
-        "masterIpv4CidrBlock": "A String", # 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's network.
-        "peeringName": "A String", # Output only. The peering name in the customer VPC used by this cluster.
-      },
-      "conditions": [ # 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).
-          "message": "A String", # Human-friendly representation of the condition
-          "code": "A String", # Machine-friendly representation of the condition
-        },
-      ],
-      "statusMessage": "A String", # [Output only] Additional information about the current status of this
-          # cluster, if available.
-      "servicesIpv4Cidr": "A String", # [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.
-      "status": "A String", # [Output only] The current status of this cluster.
-      "ipAllocationPolicy": { # Configuration for controlling how IPs are allocated in the cluster. # Configuration for cluster IP allocation.
-        "allowRouteOverlap": 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.
-        "useIpAliases": 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
-        "nodeIpv4Cidr": "A String", # This field is deprecated, use node_ipv4_cidr_block.
-        "clusterIpv4CidrBlock": "A String", # 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.
-        "clusterSecondaryRangeName": "A String", # 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.
-        "servicesIpv4CidrBlock": "A String", # The IP address range of the services IPs in this cluster. If blank, a range
+          # - &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.
@@ -748,10 +659,42 @@
             # 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.
-        "createSubnetwork": True or False, # Whether a new subnetwork will be created automatically for the cluster.
+        &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.
-        "nodeIpv4CidrBlock": "A String", # The IP address range of the instance IPs in this cluster.
+            #
+            # 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.
             #
@@ -765,7 +708,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.
-        "tpuIpv4CidrBlock": "A String", # The IP address range of the Cloud TPUs in this cluster. If unspecified, a
+        &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.
@@ -781,207 +724,79 @@
             # `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.
-        "clusterIpv4Cidr": "A String", # This field is deprecated, use cluster_ipv4_cidr_block.
-        "useRoutes": 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
-        "subnetworkName": "A String", # 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.
-        "servicesSecondaryRangeName": "A String", # The name of the secondary range to be used as for the services
+        &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.
-        "servicesIpv4Cidr": "A String", # This field is deprecated, use services_ipv4_cidr_block.
+        &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;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;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.
       },
-      "currentMasterVersion": "A String", # [Output only] The current software version of the master endpoint.
-      "description": "A String", # An optional description of this cluster.
-      "currentNodeVersion": "A String", # [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're in the process
-          # of being upgraded, this reflects the minimum version of all nodes.
-      "binaryAuthorization": { # Configuration for Binary Authorization. # Configuration for Binary Authorization.
-        "enabled": True or False, # Enable Binary Authorization for this cluster. If enabled, all container
-            # images will be validated by Google Binauthz.
+      &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.
       },
-      "labelFingerprint": "A String", # The fingerprint of the set of labels for this cluster.
-      "autoscaling": { # 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.
-        "autoprovisioningNodePoolDefaults": { # AutoprovisioningNodePoolDefaults contains defaults for a node pool created # AutoprovisioningNodePoolDefaults contains defaults for a node pool
-            # created by NAP.
-            # by NAP.
-          "minCpuPlatform": "A String", # 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 "automatic" as field value.
-          "management": { # NodeManagement defines the set of node management services turned on for the # Specifies the node management options for NAP created node-pools.
-              # node pool.
-            "upgradeOptions": { # 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.
-              "description": "A String", # [Output only] This field is set when upgrades are about to commence
-                  # with the description of the upgrade.
-              "autoUpgradeStartTime": "A String", # [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.
-            },
-            "autoRepair": True or False, # Whether the nodes will be automatically repaired.
-            "autoUpgrade": True or False, # Whether the nodes will be automatically upgraded.
-          },
-          "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs. If
-              # service_account is specified, scopes should be empty.
-          "oauthScopes": [ # Scopes that are used by NAP when creating node pools. If oauth_scopes are
-              # specified, service_account should be empty.
-            "A String",
-          ],
-          "upgradeSettings": { # These upgrade settings control the level of parallelism and the level of # Specifies the upgrade settings for NAP created node pools
-              # 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.
-            "maxSurge": 42, # The maximum number of nodes that can be created beyond the current size
-                # of the node pool during the upgrade process.
-            "maxUnavailable": 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;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;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.
         },
-        "resourceLimits": [ # 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.
-            "resourceType": "A String", # Resource name "cpu", "memory" or gpu-specific string.
-            "minimum": "A String", # Minimum amount of the resource in the cluster.
-            "maximum": "A String", # Maximum amount of the resource in the cluster.
-          },
-        ],
-        "autoprovisioningLocations": [ # The list of Google Compute Engine
-            # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
-            # NodePool's nodes can be created by NAP.
-          "A String",
-        ],
-        "autoscalingProfile": "A String", # Defines autoscaling behaviour.
-        "enableNodeAutoprovisioning": True or False, # Enables automatic node pool creation and deletion.
-      },
-      "masterAuth": { # 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 "admin", 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.
-        "username": "A String", # 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).
-        "clientKey": "A String", # [Output only] Base64-encoded private key used by clients to authenticate
-            # to the cluster endpoint.
-        "clientCertificate": "A String", # [Output only] Base64-encoded public certificate used by clients to
-            # authenticate to the cluster endpoint.
-        "clusterCaCertificate": "A String",
-        "password": "A String", # 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.
-        "clientCertificateConfig": { # 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.
-          "issueClientCertificate": True or False, # Issue a client certificate.
+        &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.
         },
       },
-      "expireTime": "A String", # [Output only] The time the cluster will be automatically
-          # deleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-      "masterIpv4CidrBlock": "A String", # 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.
-      "clusterTelemetry": { # Telemetry integration for the cluster. # Telemetry integration for the cluster.
-        "type": "A String", # Type of the integration.
-      },
-      "tpuIpv4CidrBlock": "A String", # [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`).
-      "nodePools": [ # The node pools associated with this cluster.
-          # This field should not be set if "node_config" or "initial_node_count" are
+      &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;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's node pool.
-            # Node pools are a set of nodes (i.e. VM's), with a common configuration and
+        { # 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.
-          "status": "A String", # [Output only] The status of the nodes in this pool instance.
-          "selfLink": "A String", # [Output only] Server-defined URL for the resource.
-          "management": { # NodeManagement defines the set of node management services turned on for the # NodeManagement configuration for this NodePool.
-              # node pool.
-            "upgradeOptions": { # 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.
-              "description": "A String", # [Output only] This field is set when upgrades are about to commence
-                  # with the description of the upgrade.
-              "autoUpgradeStartTime": "A String", # [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.
-            },
-            "autoRepair": True or False, # Whether the nodes will be automatically repaired.
-            "autoUpgrade": True or False, # Whether the nodes will be automatically upgraded.
-          },
-          "name": "A String", # The name of the node pool.
-          "conditions": [ # 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).
-              "message": "A String", # Human-friendly representation of the condition
-              "code": "A String", # Machine-friendly representation of the condition
-            },
-          ],
-          "autoscaling": { # NodePoolAutoscaling contains information required by cluster autoscaler to # Autoscaler configuration for this NodePool. Autoscaler is enabled
+          &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.
-            "minNodeCount": 42, # Minimum number of nodes in the NodePool. Must be &gt;= 1 and &lt;=
+            &quot;minNodeCount&quot;: 42, # Minimum number of nodes in the NodePool. Must be &gt;= 1 and &lt;=
                 # max_node_count.
-            "autoprovisioned": True or False, # Can this node pool be deleted automatically.
-            "enabled": True or False, # Is autoscaling enabled for this node pool.
-            "maxNodeCount": 42, # Maximum number of nodes in the NodePool. Must be &gt;= min_node_count. There
+            &quot;autoprovisioned&quot;: True or False, # Can this node pool be deleted automatically.
+            &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.
           },
-          "locations": [ # The list of Google Compute Engine
-              # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
-              # NodePool's nodes should be located.
-            "A String",
-          ],
-          "maxPodsConstraint": { # Constraints applied to pods. # The constraint on the maximum number of pods that can be run
-              # simultaneously on a node in the node pool.
-            "maxPodsPerNode": "A String", # Constraint enforced on the max num of pods per node.
-          },
-          "version": "A String", # The version of the Kubernetes of this node.
-          "upgradeSettings": { # These upgrade settings control the level of parallelism and the level of # Upgrade settings control disruption and speed of the upgrade.
+          &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;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
@@ -1004,87 +819,163 @@
               # 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.
-            "maxSurge": 42, # The maximum number of nodes that can be created beyond the current size
+            &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.
-            "maxUnavailable": 42, # The maximum number of nodes that can be simultaneously unavailable during
+            &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.
           },
-          "initialNodeCount": 42, # The initial node count for the pool. You must ensure that your
-              # Compute Engine &lt;a href="/compute/docs/resource-quotas"&gt;resource quota&lt;/a&gt;
-              # is sufficient for this number of instances. You must also have available
-              # firewall and routes quota.
-          "podIpv4CidrSize": 42, # [Output only] The pod CIDR block size per node in this node pool.
-          "instanceGroupUrls": [ # [Output only] The resource URLs of the [managed instance
+          &quot;selfLink&quot;: &quot;A String&quot;, # [Output only] Server-defined URL for the resource.
+          &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;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.
-            "A String",
+            &quot;A String&quot;,
           ],
-          "config": { # Parameters that describe the nodes in a cluster. # The node configuration of the pool.
-            "reservationAffinity": { # [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.
-              "values": [ # Corresponds to the label value(s) of reservation resource(s).
-                "A String",
-              ],
-              "consumeReservationType": "A String", # Corresponds to the type of reservation consumption.
-              "key": "A String", # Corresponds to the label key of a reservation resource. To target a
-                  # SPECIFIC_RESERVATION by name, specify "googleapis.com/reservation-name" as
-                  # the key and specify the name of your reservation as its value.
+          &quot;version&quot;: &quot;A String&quot;, # The version of the Kubernetes of this node.
+          &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
             },
-            "sandboxConfig": { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node.
-              "type": "A String", # Type of the sandbox to use for the node.
-              "sandboxType": "A String", # Type of the sandbox to use for the node (e.g. 'gvisor')
+          ],
+          &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;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.
             },
-            "machineType": "A String", # The name of a Google Compute Engine [machine
+            &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;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`.
-            "shieldedInstanceConfig": { # A set of Shielded Instance options. # Shielded Instance options.
-              "enableIntegrityMonitoring": True or False, # Defines whether the instance has integrity monitoring enabled.
+            &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;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.
-              "enableSecureBoot": 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.
             },
-            "diskType": "A String", # Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd')
+            &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;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.
                 #
-                # If unspecified, the default disk type is 'pd-standard'
-            "tags": [ # The list of instance tags applied to all nodes. Tags are used to identify
+                # 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.
-              "A String",
+              &quot;A String&quot;,
             ],
-            "preemptible": 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.
-            "labels": { # 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'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/
-              "a_key": "A String",
-            },
-            "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs.
+            &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 "default" service account is used.
-            "oauthScopes": [ # The set of Google API scopes to be made available on all of the
-                # node VMs under the "default" service account.
+                # 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:
@@ -1098,106 +989,100 @@
                 #
                 # If unspecified, no scopes are added, unless Cloud Logging or Cloud
                 # Monitoring are enabled, in which case their required scopes will be added.
-              "A String",
+              &quot;A String&quot;,
             ],
-            "taints": [ # List of kubernetes taints to be applied to each node.
+            &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.
                   #
-                  # For more information, including usage and the valid values, see:
-                  # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
-                "value": "A String", # Value for taint.
-                "key": "A String", # Key for taint.
-                "effect": "A String", # Effect for taint.
+                  # See
+                  # [here](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration)
+                  # for more information, including usage and the valid values.
+                &quot;key&quot;: &quot;A String&quot;, # Key for taint.
+                &quot;value&quot;: &quot;A String&quot;, # Value for taint.
+                &quot;effect&quot;: &quot;A String&quot;, # Effect for taint.
               },
             ],
-            "workloadMetadataConfig": { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node.
-                # workloads on the node pool.
-              "mode": "A String", # Mode is the configuration for how to expose metadata to workloads running
-                  # on the node pool.
-              "nodeMetadata": "A String", # NodeMetadata is the configuration for how to expose metadata to the
-                  # workloads running on the node.
-            },
-            "diskSizeGb": 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.
-            "accelerators": [ # 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.
-                "acceleratorCount": "A String", # The number of the accelerator cards exposed to an instance.
-                "acceleratorType": "A String", # The accelerator type resource name. List of supported accelerators
-                    # [here](https://cloud.google.com/compute/docs/gpus)
-              },
-            ],
-            "minCpuPlatform": "A String", # 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)
-            "bootDiskKmsKey": "A String", #
-                # 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
-            "localSsdCount": 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.
-            "imageType": "A String", # The image type to use for this node. Note that for a given image type,
-                # the latest version of it will be used.
-            "metadata": { # 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:
-                #  "cluster-location"
-                #  "cluster-name"
-                #  "cluster-uid"
-                #  "configure-sh"
-                #  "containerd-configure-sh"
-                #  "enable-oslogin"
-                #  "gci-ensure-gke-docker"
-                #  "gci-metrics-enabled"
-                #  "gci-update-strategy"
-                #  "instance-template"
-                #  "kube-env"
-                #  "startup-script"
-                #  "user-data"
-                #  "disable-address-manager"
-                #  "windows-startup-script-ps1"
-                #  "common-psm1"
-                #  "k8s-node-setup-psm1"
-                #  "install-ssh-psm1"
-                #  "user-profile-psm1"
-                #  "serial-port-logging-enable"
-                # 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'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.
-              "a_key": "A String",
+            &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;,
             },
           },
-          "statusMessage": "A String", # [Output only] Additional information about the current status of this
-              # node pool instance, if available.
+          &quot;name&quot;: &quot;A String&quot;, # The name of the node pool.
+          &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;management&quot;: { # NodeManagement defines the set of node management services turned on for the # NodeManagement configuration for this NodePool.
+              # node pool.
+            &quot;autoUpgrade&quot;: True or False, # Whether the nodes will be automatically upgraded.
+            &quot;autoRepair&quot;: True or False, # Whether the nodes will be automatically repaired.
+            &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.
+            },
+          },
         },
       ],
-      "monitoringService": "A String", # The monitoring service the cluster should use to write metrics.
+      &quot;selfLink&quot;: &quot;A String&quot;, # [Output only] Server-defined URL for the resource.
+      &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;networkPolicy&quot;: { # Configuration options for the NetworkPolicy feature. # Configuration options for the NetworkPolicy feature.
+          # https://kubernetes.io/docs/concepts/services-networking/networkpolicies/
+        &quot;enabled&quot;: True or False, # Whether network policy is enabled on the cluster.
+        &quot;provider&quot;: &quot;A String&quot;, # The selected network policy provider.
+      },
+      &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;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:
           #
-          # * "monitoring.googleapis.com/kubernetes" - The Cloud Monitoring
+          # * &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).
@@ -1205,65 +1090,44 @@
           #
           # If left as an empty string,`monitoring.googleapis.com/kubernetes` will be
           # used for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions.
-      "createTime": "A String", # [Output only] The time the cluster was created, in
-          # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-      "databaseEncryption": { # Configuration of etcd encryption. # Configuration of etcd encryption.
-        "state": "A String", # Denotes the state of etcd encryption.
-        "keyName": "A String", # Name of CloudKMS key to use for the encryption of secrets in etcd.
+      &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
       },
-      "name": "A String", # 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.
-      "legacyAbac": { # Configuration for the legacy Attribute Based Access Control authorization # Configuration for the legacy ABAC authorization mode.
-          # mode.
-        "enabled": 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.
       },
-      "endpoint": "A String", # [Output only] The IP address of this cluster'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.
-      "currentNodeCount": 42, # [Output only]  The number of nodes currently in the cluster. Deprecated.
-          # Call Kubernetes API directly to retrieve node information.
-      "zone": "A String", # [Output only] The name of the Google Compute Engine
+      &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;identityNamespace&quot;: &quot;A String&quot;, # IAM Identity Namespace to attach all Kubernetes Service Accounts to.
+        &quot;workloadPool&quot;: &quot;A String&quot;, # The workload pool 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.
-      "verticalPodAutoscaling": { # 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.
-        "enabled": True or False, # Enables vertical pod autoscaling.
-      },
-      "tpuConfig": { # Configuration for Cloud TPU. # Configuration for Cloud TPU support;
-        "useServiceNetworking": True or False, # Whether to use service networking for Cloud TPU or not.
-        "ipv4CidrBlock": "A String", # IPv4 CIDR block reserved for Cloud TPU in the VPC.
-        "enabled": True or False, # Whether Cloud TPU integration is enabled or not.
-      },
-      "initialClusterVersion": "A String", # 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;loggingService&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.
           #
-          # - "latest": picks the highest valid Kubernetes version
-          # - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
-          # - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
-          # - "1.X.Y-gke.N": picks an explicit Kubernetes version
-          # - "","-": picks the default Kubernetes version
-      "nodeConfig": { # Parameters that describe the nodes in a cluster. # Parameters used in creating the cluster's nodes.
+          # 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
-          # "node_pool" object, since this configuration (along with the
-          # "initial_node_count") will be used to create a "NodePool" object with an
+          # &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
@@ -1271,70 +1135,135 @@
           #
           # If unspecified, the defaults are used.
           # This field is deprecated, use node_pool.config instead.
-        "reservationAffinity": { # [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.
-          "values": [ # Corresponds to the label value(s) of reservation resource(s).
-            "A String",
-          ],
-          "consumeReservationType": "A String", # Corresponds to the type of reservation consumption.
-          "key": "A String", # Corresponds to the label key of a reservation resource. To target a
-              # SPECIFIC_RESERVATION by name, specify "googleapis.com/reservation-name" as
-              # the key and specify the name of your reservation as its value.
+        &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.
         },
-        "sandboxConfig": { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node.
-          "type": "A String", # Type of the sandbox to use for the node.
-          "sandboxType": "A String", # Type of the sandbox to use for the node (e.g. 'gvisor')
-        },
-        "machineType": "A String", # The name of a Google Compute Engine [machine
+        &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;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`.
-        "shieldedInstanceConfig": { # A set of Shielded Instance options. # Shielded Instance options.
-          "enableIntegrityMonitoring": True or False, # Defines whether the instance has integrity monitoring enabled.
+        &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;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.
-          "enableSecureBoot": 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.
         },
-        "diskType": "A String", # Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd')
+        &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;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.
             #
-            # If unspecified, the default disk type is 'pd-standard'
-        "tags": [ # The list of instance tags applied to all nodes. Tags are used to identify
+            # 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.
-          "A String",
+          &quot;A String&quot;,
         ],
-        "preemptible": 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.
-        "labels": { # 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'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/
-          "a_key": "A String",
-        },
-        "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs.
+        &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 "default" service account is used.
-        "oauthScopes": [ # The set of Google API scopes to be made available on all of the
-            # node VMs under the "default" service account.
+            # 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:
@@ -1348,128 +1277,201 @@
             #
             # If unspecified, no scopes are added, unless Cloud Logging or Cloud
             # Monitoring are enabled, in which case their required scopes will be added.
-          "A String",
+          &quot;A String&quot;,
         ],
-        "taints": [ # List of kubernetes taints to be applied to each node.
+        &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.
               #
-              # For more information, including usage and the valid values, see:
-              # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
-            "value": "A String", # Value for taint.
-            "key": "A String", # Key for taint.
-            "effect": "A String", # Effect for taint.
+              # See
+              # [here](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration)
+              # for more information, including usage and the valid values.
+            &quot;key&quot;: &quot;A String&quot;, # Key for taint.
+            &quot;value&quot;: &quot;A String&quot;, # Value for taint.
+            &quot;effect&quot;: &quot;A String&quot;, # Effect for taint.
           },
         ],
-        "workloadMetadataConfig": { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node.
-            # workloads on the node pool.
-          "mode": "A String", # Mode is the configuration for how to expose metadata to workloads running
-              # on the node pool.
-          "nodeMetadata": "A String", # NodeMetadata is the configuration for how to expose metadata to the
-              # workloads running on the node.
-        },
-        "diskSizeGb": 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.
-        "accelerators": [ # 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.
-            "acceleratorCount": "A String", # The number of the accelerator cards exposed to an instance.
-            "acceleratorType": "A String", # The accelerator type resource name. List of supported accelerators
-                # [here](https://cloud.google.com/compute/docs/gpus)
-          },
-        ],
-        "minCpuPlatform": "A String", # 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)
-        "bootDiskKmsKey": "A String", #
-            # 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
-        "localSsdCount": 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.
-        "imageType": "A String", # The image type to use for this node. Note that for a given image type,
-            # the latest version of it will be used.
-        "metadata": { # 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:
-            #  "cluster-location"
-            #  "cluster-name"
-            #  "cluster-uid"
-            #  "configure-sh"
-            #  "containerd-configure-sh"
-            #  "enable-oslogin"
-            #  "gci-ensure-gke-docker"
-            #  "gci-metrics-enabled"
-            #  "gci-update-strategy"
-            #  "instance-template"
-            #  "kube-env"
-            #  "startup-script"
-            #  "user-data"
-            #  "disable-address-manager"
-            #  "windows-startup-script-ps1"
-            #  "common-psm1"
-            #  "k8s-node-setup-psm1"
-            #  "install-ssh-psm1"
-            #  "user-profile-psm1"
-            #  "serial-port-logging-enable"
-            # 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'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.
-          "a_key": "A String",
+        &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;,
         },
       },
-      "clusterIpv4Cidr": "A String", # The IP address range of the container pods in this cluster, in
+      &quot;status&quot;: &quot;A String&quot;, # [Output only] The current status of this cluster.
+      &quot;tpuConfig&quot;: { # Configuration for Cloud TPU. # Configuration for Cloud TPU support;
+        &quot;enabled&quot;: True or False, # Whether Cloud TPU integration is enabled or not.
+        &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;networkConfig&quot;: { # NetworkConfig reports the relative names of network &amp; subnetwork. # Configuration for cluster networking.
+        &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;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;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;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;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;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`.
-      "authenticatorGroupsConfig": { # Configuration for returning group information from authenticators. # Configuration controlling RBAC group membership information.
-        "enabled": True or False, # Whether this cluster should return group membership lookups
-            # during authentication using a group of security groups.
-        "securityGroup": "A String", # The name of the security group-of-groups to be used. Only relevant
-            # if enabled = true.
+      &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;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;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;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;autoUpgrade&quot;: True or False, # Whether the nodes will be automatically upgraded.
+            &quot;autoRepair&quot;: True or False, # Whether the nodes will be automatically repaired.
+            &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;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;upgradeSettings&quot;: { # These upgrade settings control the level of parallelism and the level of # Specifies the upgrade settings for NAP created node pools
+              # 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;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;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;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;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;,
+        ],
       },
-      "subnetwork": "A String", # 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.
-      "resourceLabels": { # The resource labels for the cluster to use to annotate any related
-          # Google Compute Engine resources.
-        "a_key": "A String",
-      },
-      "selfLink": "A String", # [Output only] Server-defined URL for the resource.
-      "initialNodeCount": 42, # The number of nodes to create in this cluster. You must ensure that your
-          # Compute Engine &lt;a href="/compute/docs/resource-quotas"&gt;resource quota&lt;/a&gt;
+      &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
-          # "node_pool" object, since this configuration (along with the
-          # "node_config") will be used to create a "NodePool" object with an
+          # &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;A String&quot;,
+      ],
+      &quot;privateClusterConfig&quot;: { # Configuration options for private clusters. # Configuration for private cluster.
+        &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;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;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;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/*`.
   }
 
   x__xgafv: string, V1 error format.
@@ -1482,61 +1484,61 @@
 
     { # This operation resource represents operations that may have happened or are
       # happening on the cluster. All fields are output only.
-    "status": "A String", # The current status of the operation.
-    "statusMessage": "A String", # Output only. If an error has occurred, a textual description of the error.
-    "endTime": "A String", # [Output only] The time the operation completed, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-    "name": "A String", # The server-assigned ID for the operation.
-    "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.
-    "clusterConditions": [ # Which conditions caused the current cluster state.
+    &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).
-        "message": "A String", # Human-friendly representation of the condition
-        "code": "A String", # Machine-friendly representation of the condition
+        &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
       },
     ],
-    "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.
-    "targetLink": "A String", # Server-defined URL for the target of the operation.
-    "operationType": "A String", # The operation type.
-    "progress": { # Information about operation (or operation stage) progress. # Output only. [Output only] Progress information for an operation.
-      "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}]
-          # or
-          #   metrics: [{name: "progress",       double_value: 0.56},
-          #             {name: "progress scale", double_value: 1.0}]
-        { # Progress metric is (string, int|float|string) pair.
-          "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
-          "intValue": "A String", # For metrics with integer value.
-          "name": "A String", # Required. Metric name, e.g., "nodes total", "percent done".
-          "doubleValue": 3.14, # For metrics with floating point value.
-        },
-      ],
-      "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.
-    },
-    "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).
-        "message": "A String", # Human-friendly representation of the condition
-        "code": "A String", # Machine-friendly representation of the condition
-      },
-    ],
-    "selfLink": "A String", # Server-defined URL for the resource.
-    "location": "A String", # [Output only] The name of the Google Compute Engine
+    &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;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;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;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;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;, # A non-parameterized string describing an operation stage.
+          # Unset for single-stage operations.
+    },
+    &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.
+    &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.
   }</pre>
 </div>
 
@@ -1549,7 +1551,7 @@
 are also deleted.
 
 Other Google Compute Engine resources that might be in use by the cluster,
-such as load balancer resources, are not deleted if they weren't present
+such as load balancer resources, are not deleted if they weren&#x27;t present
 when the cluster was initially created.
 
 Args:
@@ -1563,7 +1565,7 @@
   clusterId: string, Required. Deprecated. The name of the cluster to delete.
 This field has been deprecated and replaced by the name field. (required)
   name: string, The name (project, location, cluster) of the cluster to delete.
-Specified in the format 'projects/*/locations/*/clusters/*'.
+Specified in the format `projects/*/locations/*/clusters/*`.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -1574,61 +1576,61 @@
 
     { # This operation resource represents operations that may have happened or are
       # happening on the cluster. All fields are output only.
-    "status": "A String", # The current status of the operation.
-    "statusMessage": "A String", # Output only. If an error has occurred, a textual description of the error.
-    "endTime": "A String", # [Output only] The time the operation completed, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-    "name": "A String", # The server-assigned ID for the operation.
-    "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.
-    "clusterConditions": [ # Which conditions caused the current cluster state.
+    &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).
-        "message": "A String", # Human-friendly representation of the condition
-        "code": "A String", # Machine-friendly representation of the condition
+        &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
       },
     ],
-    "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.
-    "targetLink": "A String", # Server-defined URL for the target of the operation.
-    "operationType": "A String", # The operation type.
-    "progress": { # Information about operation (or operation stage) progress. # Output only. [Output only] Progress information for an operation.
-      "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}]
-          # or
-          #   metrics: [{name: "progress",       double_value: 0.56},
-          #             {name: "progress scale", double_value: 1.0}]
-        { # Progress metric is (string, int|float|string) pair.
-          "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
-          "intValue": "A String", # For metrics with integer value.
-          "name": "A String", # Required. Metric name, e.g., "nodes total", "percent done".
-          "doubleValue": 3.14, # For metrics with floating point value.
-        },
-      ],
-      "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.
-    },
-    "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).
-        "message": "A String", # Human-friendly representation of the condition
-        "code": "A String", # Machine-friendly representation of the condition
-      },
-    ],
-    "selfLink": "A String", # Server-defined URL for the resource.
-    "location": "A String", # [Output only] The name of the Google Compute Engine
+    &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;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;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;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;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;, # A non-parameterized string describing an operation stage.
+          # Unset for single-stage operations.
+    },
+    &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.
+    &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.
   }</pre>
 </div>
 
@@ -1647,7 +1649,7 @@
   clusterId: string, Required. Deprecated. The name of the cluster to retrieve.
 This field has been deprecated and replaced by the name field. (required)
   name: string, The name (project, location, cluster) of the cluster to retrieve.
-Specified in the format 'projects/*/locations/*/clusters/*'.
+Specified in the format `projects/*/locations/*/clusters/*`.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -1657,27 +1659,175 @@
   An object of the form:
 
     { # A Google Kubernetes Engine cluster.
-    "nodeIpv4CidrSize": 42, # [Output only] The size of the address space on each node for hosting
+    &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.
-    "maintenancePolicy": { # MaintenancePolicy defines the maintenance policy to be used for the cluster. # Configure the maintenance policy for this cluster.
-      "window": { # MaintenanceWindow defines the maintenance window to be used for the cluster. # Specifies the maintenance window in which maintenance may be performed.
-        "recurringWindow": { # Represents an arbitrary window of time that recurs. # RecurringWindow specifies some number of recurring time periods for
+    &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;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;enabled&quot;: True or False, # Whether this cluster should return group membership lookups
+          # during authentication using a group of security groups.
+      &quot;securityGroup&quot;: &quot;A String&quot;, # The name of the security group-of-groups to be used. Only relevant
+          # if enabled = true.
+    },
+    &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;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;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;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;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;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;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;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;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;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;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;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;window&quot;: { # MaintenanceWindow defines the maintenance window to be used for the cluster. # Specifies the maintenance window in which maintenance may be performed.
+        &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;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.
-          "recurrence": "A String", # An RRULE (https://tools.ietf.org/html/rfc5545#section-3.8.5.3) for how
+          &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'd use:
+              # 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'd use something like:
+              # 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
@@ -1690,279 +1840,48 @@
               #   end time = 2019-01-07T23:59:00Z
               #   recurrence = FREQ=WEEKLY;BYDAY=SA
               # &lt;/code&gt;
-              # Note the start and end time's specific dates are largely arbitrary except
+              # 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.
-          "window": { # Represents an arbitrary window of time. # The window of the first recurrence.
-            "endTime": "A String", # The time that the window ends. The end time should take place after the
+          &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.
-            "startTime": "A String", # The time that the window first starts.
+            &quot;startTime&quot;: &quot;A String&quot;, # The time that the window first starts.
           },
         },
-        "dailyMaintenanceWindow": { # Time window specified for daily maintenance operations. # DailyMaintenanceWindow specifies a daily maintenance operation window.
-          "duration": "A String", # [Output only] Duration of the time window, automatically chosen to be
-              # smallest possible in the given scenario.
-          "startTime": "A String", # Time within the maintenance window to start the maintenance operations.
-              # It must be in format "HH:MM", where HH : [00-23] and MM : [00-59] GMT.
-        },
-        "maintenanceExclusions": { # Exceptions to maintenance window. Non-emergency maintenance should not
+        &quot;maintenanceExclusions&quot;: { # Exceptions to maintenance window. Non-emergency maintenance should not
             # occur in these windows.
-          "a_key": { # Represents an arbitrary window of time.
-            "endTime": "A String", # The time that the window ends. The end time should take place after the
+          &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.
-            "startTime": "A String", # The time that the window first starts.
+            &quot;startTime&quot;: &quot;A String&quot;, # The time that the window first starts.
           },
         },
       },
-      "resourceVersion": "A String", # A hash identifying the version of this policy, so that updates to fields of
-          # the policy won't accidentally undo intermediate changes (and so that users
-          # of the API unaware of some fields won'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.
     },
-    "networkPolicy": { # Configuration options for the NetworkPolicy feature. # Configuration options for the NetworkPolicy feature.
-        # https://kubernetes.io/docs/concepts/services-networking/networkpolicies/
-      "enabled": True or False, # Whether network policy is enabled on the cluster.
-      "provider": "A String", # The selected network policy provider.
+    &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;,
     },
-    "masterAuthorizedNetworksConfig": { # 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.
-      "enabled": True or False, # Whether or not master authorized networks is enabled.
-      "cidrBlocks": [ # cidr_blocks define up to 10 external networks that could access
-          # Kubernetes master through HTTPS.
-        { # CidrBlock contains an optional name and one CIDR block.
-          "cidrBlock": "A String", # cidr_block must be specified in CIDR notation.
-          "displayName": "A String", # display_name is an optional field for users to identify CIDR blocks.
-        },
-      ],
-    },
-    "addonsConfig": { # 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.
-      "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
-          # is enabled for the nodes.
-          # is enabled or not on the Master, it does not track whether network policy
-          # 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.
-      },
-      "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.
-      },
-      "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.
-      },
-      "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
-          # 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.
-        "disabled": 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.
-      },
-      "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.
-      },
-      "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.
-      },
-      "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.
-      },
-      "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.
-      },
-      "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.
-      },
-    },
-    "locations": [ # The list of Google Compute Engine
-        # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
-        # cluster's nodes should be located.
-      "A String",
-    ],
-    "enableKubernetesAlpha": 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.
-    "enableTpu": True or False, # Enable the ability to use Cloud TPUs in this cluster.
-        # This field is deprecated, use tpu_config.enabled instead.
-    "releaseChannel": { # 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.
+    &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.
         #
-        # 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.
-      "channel": "A String", # channel specifies which release channel the cluster is subscribed to.
-    },
-    "defaultMaxPodsConstraint": { # 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.
-      "maxPodsPerNode": "A String", # Constraint enforced on the max num of pods per node.
-    },
-    "network": "A String", # 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.
-    "loggingService": "A String", # 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.
-        #
-        # If left as an empty string,`logging.googleapis.com/kubernetes` will be
-        # used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.
-    "instanceGroupUrls": [ # Deprecated. Use node_pools.instance_group_urls.
-      "A String",
-    ],
-    "networkConfig": { # NetworkConfig reports the relative names of network &amp; subnetwork. # Configuration for cluster networking.
-      "subnetwork": "A String", # 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
-      "network": "A String", # 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
-      "enableIntraNodeVisibility": True or False, # Whether Intra-node visibility is enabled for this cluster.
-          # This makes same node pod to pod traffic visible for VPC network.
-    },
-    "privateCluster": 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.
-    "podSecurityPolicyConfig": { # Configuration for the PodSecurityPolicy feature. # Configuration for the PodSecurityPolicy feature.
-      "enabled": True or False, # Enable the PodSecurityPolicy controller for this cluster. If enabled, pods
-          # must be valid under a PodSecurityPolicy to be created.
-    },
-    "shieldedNodes": { # Configuration of Shielded Nodes feature. # Shielded Nodes configuration.
-      "enabled": True or False, # Whether Shielded Nodes features are enabled on all nodes in this cluster.
-    },
-    "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.
-    "workloadIdentityConfig": { # Configuration for the use of Kubernetes Service Accounts in GCP IAM # Configuration for the use of Kubernetes Service Accounts in GCP IAM
-        # policies.
-        # policies.
-      "workloadPool": "A String", # The workload pool to attach all Kubernetes service accounts to.
-      "identityNamespace": "A String", # IAM Identity Namespace to attach all Kubernetes Service Accounts to.
-    },
-    "resourceUsageExportConfig": { # Configuration for exporting cluster resource usages. # Configuration for exporting resource usages. Resource usage export is
-        # disabled when this config unspecified.
-      "bigqueryDestination": { # Parameters for using BigQuery as the destination of resource usage export. # Configuration to use BigQuery as usage export destination.
-        "datasetId": "A String", # The ID of a BigQuery Dataset.
-      },
-      "enableNetworkEgressMetering": 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.
-      "consumptionMeteringConfig": { # Parameters for controlling consumption metering. # Configuration to enable resource consumption metering.
-        "enabled": 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.
-      },
-    },
-    "privateClusterConfig": { # Configuration options for private clusters. # Configuration for private cluster.
-      "enablePrivateEndpoint": True or False, # Whether the master's internal IP address is used as the cluster endpoint.
-      "publicEndpoint": "A String", # Output only. The external IP address of this cluster's master endpoint.
-      "masterGlobalAccessConfig": { # Configuration for controlling master global access settings. # Controls master global access settings.
-        "enabled": True or False, # Whenever master is accessible globally or not.
-      },
-      "enablePrivateNodes": 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.
-      "privateEndpoint": "A String", # Output only. The internal IP address of this cluster's master endpoint.
-      "masterIpv4CidrBlock": "A String", # 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's network.
-      "peeringName": "A String", # Output only. The peering name in the customer VPC used by this cluster.
-    },
-    "conditions": [ # 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).
-        "message": "A String", # Human-friendly representation of the condition
-        "code": "A String", # Machine-friendly representation of the condition
-      },
-    ],
-    "statusMessage": "A String", # [Output only] Additional information about the current status of this
-        # cluster, if available.
-    "servicesIpv4Cidr": "A String", # [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.
-    "status": "A String", # [Output only] The current status of this cluster.
-    "ipAllocationPolicy": { # Configuration for controlling how IPs are allocated in the cluster. # Configuration for cluster IP allocation.
-      "allowRouteOverlap": 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.
-      "useIpAliases": 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
-      "nodeIpv4Cidr": "A String", # This field is deprecated, use node_ipv4_cidr_block.
-      "clusterIpv4CidrBlock": "A String", # 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.
-      "clusterSecondaryRangeName": "A String", # 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.
-      "servicesIpv4CidrBlock": "A String", # The IP address range of the services IPs in this cluster. If blank, a range
+        # - &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.
@@ -1977,10 +1896,42 @@
           # 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.
-      "createSubnetwork": True or False, # Whether a new subnetwork will be created automatically for the cluster.
+      &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.
-      "nodeIpv4CidrBlock": "A String", # The IP address range of the instance IPs in this cluster.
+          #
+          # 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.
           #
@@ -1994,7 +1945,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.
-      "tpuIpv4CidrBlock": "A String", # The IP address range of the Cloud TPUs in this cluster. If unspecified, a
+      &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.
@@ -2010,207 +1961,79 @@
           # `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.
-      "clusterIpv4Cidr": "A String", # This field is deprecated, use cluster_ipv4_cidr_block.
-      "useRoutes": 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
-      "subnetworkName": "A String", # 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.
-      "servicesSecondaryRangeName": "A String", # The name of the secondary range to be used as for the services
+      &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.
-      "servicesIpv4Cidr": "A String", # This field is deprecated, use services_ipv4_cidr_block.
+      &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;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;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.
     },
-    "currentMasterVersion": "A String", # [Output only] The current software version of the master endpoint.
-    "description": "A String", # An optional description of this cluster.
-    "currentNodeVersion": "A String", # [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're in the process
-        # of being upgraded, this reflects the minimum version of all nodes.
-    "binaryAuthorization": { # Configuration for Binary Authorization. # Configuration for Binary Authorization.
-      "enabled": True or False, # Enable Binary Authorization for this cluster. If enabled, all container
-          # images will be validated by Google Binauthz.
+    &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.
     },
-    "labelFingerprint": "A String", # The fingerprint of the set of labels for this cluster.
-    "autoscaling": { # 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.
-      "autoprovisioningNodePoolDefaults": { # AutoprovisioningNodePoolDefaults contains defaults for a node pool created # AutoprovisioningNodePoolDefaults contains defaults for a node pool
-          # created by NAP.
-          # by NAP.
-        "minCpuPlatform": "A String", # 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 "automatic" as field value.
-        "management": { # NodeManagement defines the set of node management services turned on for the # Specifies the node management options for NAP created node-pools.
-            # node pool.
-          "upgradeOptions": { # 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.
-            "description": "A String", # [Output only] This field is set when upgrades are about to commence
-                # with the description of the upgrade.
-            "autoUpgradeStartTime": "A String", # [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.
-          },
-          "autoRepair": True or False, # Whether the nodes will be automatically repaired.
-          "autoUpgrade": True or False, # Whether the nodes will be automatically upgraded.
-        },
-        "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs. If
-            # service_account is specified, scopes should be empty.
-        "oauthScopes": [ # Scopes that are used by NAP when creating node pools. If oauth_scopes are
-            # specified, service_account should be empty.
-          "A String",
-        ],
-        "upgradeSettings": { # These upgrade settings control the level of parallelism and the level of # Specifies the upgrade settings for NAP created node pools
-            # 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.
-          "maxSurge": 42, # The maximum number of nodes that can be created beyond the current size
-              # of the node pool during the upgrade process.
-          "maxUnavailable": 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;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;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.
       },
-      "resourceLimits": [ # 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.
-          "resourceType": "A String", # Resource name "cpu", "memory" or gpu-specific string.
-          "minimum": "A String", # Minimum amount of the resource in the cluster.
-          "maximum": "A String", # Maximum amount of the resource in the cluster.
-        },
-      ],
-      "autoprovisioningLocations": [ # The list of Google Compute Engine
-          # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
-          # NodePool's nodes can be created by NAP.
-        "A String",
-      ],
-      "autoscalingProfile": "A String", # Defines autoscaling behaviour.
-      "enableNodeAutoprovisioning": True or False, # Enables automatic node pool creation and deletion.
-    },
-    "masterAuth": { # 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 "admin", 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.
-      "username": "A String", # 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).
-      "clientKey": "A String", # [Output only] Base64-encoded private key used by clients to authenticate
-          # to the cluster endpoint.
-      "clientCertificate": "A String", # [Output only] Base64-encoded public certificate used by clients to
-          # authenticate to the cluster endpoint.
-      "clusterCaCertificate": "A String",
-      "password": "A String", # 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.
-      "clientCertificateConfig": { # 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.
-        "issueClientCertificate": True or False, # Issue a client certificate.
+      &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.
       },
     },
-    "expireTime": "A String", # [Output only] The time the cluster will be automatically
-        # deleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-    "masterIpv4CidrBlock": "A String", # 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.
-    "clusterTelemetry": { # Telemetry integration for the cluster. # Telemetry integration for the cluster.
-      "type": "A String", # Type of the integration.
-    },
-    "tpuIpv4CidrBlock": "A String", # [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`).
-    "nodePools": [ # The node pools associated with this cluster.
-        # This field should not be set if "node_config" or "initial_node_count" are
+    &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;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's node pool.
-          # Node pools are a set of nodes (i.e. VM's), with a common configuration and
+      { # 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.
-        "status": "A String", # [Output only] The status of the nodes in this pool instance.
-        "selfLink": "A String", # [Output only] Server-defined URL for the resource.
-        "management": { # NodeManagement defines the set of node management services turned on for the # NodeManagement configuration for this NodePool.
-            # node pool.
-          "upgradeOptions": { # 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.
-            "description": "A String", # [Output only] This field is set when upgrades are about to commence
-                # with the description of the upgrade.
-            "autoUpgradeStartTime": "A String", # [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.
-          },
-          "autoRepair": True or False, # Whether the nodes will be automatically repaired.
-          "autoUpgrade": True or False, # Whether the nodes will be automatically upgraded.
-        },
-        "name": "A String", # The name of the node pool.
-        "conditions": [ # 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).
-            "message": "A String", # Human-friendly representation of the condition
-            "code": "A String", # Machine-friendly representation of the condition
-          },
-        ],
-        "autoscaling": { # NodePoolAutoscaling contains information required by cluster autoscaler to # Autoscaler configuration for this NodePool. Autoscaler is enabled
+        &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.
-          "minNodeCount": 42, # Minimum number of nodes in the NodePool. Must be &gt;= 1 and &lt;=
+          &quot;minNodeCount&quot;: 42, # Minimum number of nodes in the NodePool. Must be &gt;= 1 and &lt;=
               # max_node_count.
-          "autoprovisioned": True or False, # Can this node pool be deleted automatically.
-          "enabled": True or False, # Is autoscaling enabled for this node pool.
-          "maxNodeCount": 42, # Maximum number of nodes in the NodePool. Must be &gt;= min_node_count. There
+          &quot;autoprovisioned&quot;: True or False, # Can this node pool be deleted automatically.
+          &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.
         },
-        "locations": [ # The list of Google Compute Engine
-            # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
-            # NodePool's nodes should be located.
-          "A String",
-        ],
-        "maxPodsConstraint": { # Constraints applied to pods. # The constraint on the maximum number of pods that can be run
-            # simultaneously on a node in the node pool.
-          "maxPodsPerNode": "A String", # Constraint enforced on the max num of pods per node.
-        },
-        "version": "A String", # The version of the Kubernetes of this node.
-        "upgradeSettings": { # These upgrade settings control the level of parallelism and the level of # Upgrade settings control disruption and speed of the upgrade.
+        &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;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
@@ -2233,87 +2056,163 @@
             # 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.
-          "maxSurge": 42, # The maximum number of nodes that can be created beyond the current size
+          &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.
-          "maxUnavailable": 42, # The maximum number of nodes that can be simultaneously unavailable during
+          &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.
         },
-        "initialNodeCount": 42, # The initial node count for the pool. You must ensure that your
-            # Compute Engine &lt;a href="/compute/docs/resource-quotas"&gt;resource quota&lt;/a&gt;
-            # is sufficient for this number of instances. You must also have available
-            # firewall and routes quota.
-        "podIpv4CidrSize": 42, # [Output only] The pod CIDR block size per node in this node pool.
-        "instanceGroupUrls": [ # [Output only] The resource URLs of the [managed instance
+        &quot;selfLink&quot;: &quot;A String&quot;, # [Output only] Server-defined URL for the resource.
+        &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;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.
-          "A String",
+          &quot;A String&quot;,
         ],
-        "config": { # Parameters that describe the nodes in a cluster. # The node configuration of the pool.
-          "reservationAffinity": { # [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.
-            "values": [ # Corresponds to the label value(s) of reservation resource(s).
-              "A String",
-            ],
-            "consumeReservationType": "A String", # Corresponds to the type of reservation consumption.
-            "key": "A String", # Corresponds to the label key of a reservation resource. To target a
-                # SPECIFIC_RESERVATION by name, specify "googleapis.com/reservation-name" as
-                # the key and specify the name of your reservation as its value.
+        &quot;version&quot;: &quot;A String&quot;, # The version of the Kubernetes of this node.
+        &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
           },
-          "sandboxConfig": { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node.
-            "type": "A String", # Type of the sandbox to use for the node.
-            "sandboxType": "A String", # Type of the sandbox to use for the node (e.g. 'gvisor')
+        ],
+        &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;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.
           },
-          "machineType": "A String", # The name of a Google Compute Engine [machine
+          &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;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`.
-          "shieldedInstanceConfig": { # A set of Shielded Instance options. # Shielded Instance options.
-            "enableIntegrityMonitoring": True or False, # Defines whether the instance has integrity monitoring enabled.
+          &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;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.
-            "enableSecureBoot": 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.
           },
-          "diskType": "A String", # Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd')
+          &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;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.
               #
-              # If unspecified, the default disk type is 'pd-standard'
-          "tags": [ # The list of instance tags applied to all nodes. Tags are used to identify
+              # 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.
-            "A String",
+            &quot;A String&quot;,
           ],
-          "preemptible": 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.
-          "labels": { # 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'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/
-            "a_key": "A String",
-          },
-          "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs.
+          &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 "default" service account is used.
-          "oauthScopes": [ # The set of Google API scopes to be made available on all of the
-              # node VMs under the "default" service account.
+              # 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:
@@ -2327,106 +2226,100 @@
               #
               # If unspecified, no scopes are added, unless Cloud Logging or Cloud
               # Monitoring are enabled, in which case their required scopes will be added.
-            "A String",
+            &quot;A String&quot;,
           ],
-          "taints": [ # List of kubernetes taints to be applied to each node.
+          &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.
                 #
-                # For more information, including usage and the valid values, see:
-                # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
-              "value": "A String", # Value for taint.
-              "key": "A String", # Key for taint.
-              "effect": "A String", # Effect for taint.
+                # See
+                # [here](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration)
+                # for more information, including usage and the valid values.
+              &quot;key&quot;: &quot;A String&quot;, # Key for taint.
+              &quot;value&quot;: &quot;A String&quot;, # Value for taint.
+              &quot;effect&quot;: &quot;A String&quot;, # Effect for taint.
             },
           ],
-          "workloadMetadataConfig": { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node.
-              # workloads on the node pool.
-            "mode": "A String", # Mode is the configuration for how to expose metadata to workloads running
-                # on the node pool.
-            "nodeMetadata": "A String", # NodeMetadata is the configuration for how to expose metadata to the
-                # workloads running on the node.
-          },
-          "diskSizeGb": 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.
-          "accelerators": [ # 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.
-              "acceleratorCount": "A String", # The number of the accelerator cards exposed to an instance.
-              "acceleratorType": "A String", # The accelerator type resource name. List of supported accelerators
-                  # [here](https://cloud.google.com/compute/docs/gpus)
-            },
-          ],
-          "minCpuPlatform": "A String", # 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)
-          "bootDiskKmsKey": "A String", #
-              # 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
-          "localSsdCount": 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.
-          "imageType": "A String", # The image type to use for this node. Note that for a given image type,
-              # the latest version of it will be used.
-          "metadata": { # 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:
-              #  "cluster-location"
-              #  "cluster-name"
-              #  "cluster-uid"
-              #  "configure-sh"
-              #  "containerd-configure-sh"
-              #  "enable-oslogin"
-              #  "gci-ensure-gke-docker"
-              #  "gci-metrics-enabled"
-              #  "gci-update-strategy"
-              #  "instance-template"
-              #  "kube-env"
-              #  "startup-script"
-              #  "user-data"
-              #  "disable-address-manager"
-              #  "windows-startup-script-ps1"
-              #  "common-psm1"
-              #  "k8s-node-setup-psm1"
-              #  "install-ssh-psm1"
-              #  "user-profile-psm1"
-              #  "serial-port-logging-enable"
-              # 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'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.
-            "a_key": "A String",
+          &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;,
           },
         },
-        "statusMessage": "A String", # [Output only] Additional information about the current status of this
-            # node pool instance, if available.
+        &quot;name&quot;: &quot;A String&quot;, # The name of the node pool.
+        &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;management&quot;: { # NodeManagement defines the set of node management services turned on for the # NodeManagement configuration for this NodePool.
+            # node pool.
+          &quot;autoUpgrade&quot;: True or False, # Whether the nodes will be automatically upgraded.
+          &quot;autoRepair&quot;: True or False, # Whether the nodes will be automatically repaired.
+          &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.
+          },
+        },
       },
     ],
-    "monitoringService": "A String", # The monitoring service the cluster should use to write metrics.
+    &quot;selfLink&quot;: &quot;A String&quot;, # [Output only] Server-defined URL for the resource.
+    &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;networkPolicy&quot;: { # Configuration options for the NetworkPolicy feature. # Configuration options for the NetworkPolicy feature.
+        # https://kubernetes.io/docs/concepts/services-networking/networkpolicies/
+      &quot;enabled&quot;: True or False, # Whether network policy is enabled on the cluster.
+      &quot;provider&quot;: &quot;A String&quot;, # The selected network policy provider.
+    },
+    &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;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:
         #
-        # * "monitoring.googleapis.com/kubernetes" - The Cloud Monitoring
+        # * &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).
@@ -2434,65 +2327,44 @@
         #
         # If left as an empty string,`monitoring.googleapis.com/kubernetes` will be
         # used for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions.
-    "createTime": "A String", # [Output only] The time the cluster was created, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-    "databaseEncryption": { # Configuration of etcd encryption. # Configuration of etcd encryption.
-      "state": "A String", # Denotes the state of etcd encryption.
-      "keyName": "A String", # Name of CloudKMS key to use for the encryption of secrets in etcd.
+    &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
     },
-    "name": "A String", # 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.
-    "legacyAbac": { # Configuration for the legacy Attribute Based Access Control authorization # Configuration for the legacy ABAC authorization mode.
-        # mode.
-      "enabled": 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.
     },
-    "endpoint": "A String", # [Output only] The IP address of this cluster'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.
-    "currentNodeCount": 42, # [Output only]  The number of nodes currently in the cluster. Deprecated.
-        # Call Kubernetes API directly to retrieve node information.
-    "zone": "A String", # [Output only] The name of the Google Compute Engine
+    &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;identityNamespace&quot;: &quot;A String&quot;, # IAM Identity Namespace to attach all Kubernetes Service Accounts to.
+      &quot;workloadPool&quot;: &quot;A String&quot;, # The workload pool 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.
-    "verticalPodAutoscaling": { # 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.
-      "enabled": True or False, # Enables vertical pod autoscaling.
-    },
-    "tpuConfig": { # Configuration for Cloud TPU. # Configuration for Cloud TPU support;
-      "useServiceNetworking": True or False, # Whether to use service networking for Cloud TPU or not.
-      "ipv4CidrBlock": "A String", # IPv4 CIDR block reserved for Cloud TPU in the VPC.
-      "enabled": True or False, # Whether Cloud TPU integration is enabled or not.
-    },
-    "initialClusterVersion": "A String", # 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;loggingService&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.
         #
-        # - "latest": picks the highest valid Kubernetes version
-        # - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
-        # - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
-        # - "1.X.Y-gke.N": picks an explicit Kubernetes version
-        # - "","-": picks the default Kubernetes version
-    "nodeConfig": { # Parameters that describe the nodes in a cluster. # Parameters used in creating the cluster's nodes.
+        # 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
-        # "node_pool" object, since this configuration (along with the
-        # "initial_node_count") will be used to create a "NodePool" object with an
+        # &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
@@ -2500,70 +2372,135 @@
         #
         # If unspecified, the defaults are used.
         # This field is deprecated, use node_pool.config instead.
-      "reservationAffinity": { # [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.
-        "values": [ # Corresponds to the label value(s) of reservation resource(s).
-          "A String",
-        ],
-        "consumeReservationType": "A String", # Corresponds to the type of reservation consumption.
-        "key": "A String", # Corresponds to the label key of a reservation resource. To target a
-            # SPECIFIC_RESERVATION by name, specify "googleapis.com/reservation-name" as
-            # the key and specify the name of your reservation as its value.
+      &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.
       },
-      "sandboxConfig": { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node.
-        "type": "A String", # Type of the sandbox to use for the node.
-        "sandboxType": "A String", # Type of the sandbox to use for the node (e.g. 'gvisor')
-      },
-      "machineType": "A String", # The name of a Google Compute Engine [machine
+      &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;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`.
-      "shieldedInstanceConfig": { # A set of Shielded Instance options. # Shielded Instance options.
-        "enableIntegrityMonitoring": True or False, # Defines whether the instance has integrity monitoring enabled.
+      &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;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.
-        "enableSecureBoot": 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.
       },
-      "diskType": "A String", # Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd')
+      &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;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.
           #
-          # If unspecified, the default disk type is 'pd-standard'
-      "tags": [ # The list of instance tags applied to all nodes. Tags are used to identify
+          # 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.
-        "A String",
+        &quot;A String&quot;,
       ],
-      "preemptible": 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.
-      "labels": { # 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'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/
-        "a_key": "A String",
-      },
-      "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs.
+      &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 "default" service account is used.
-      "oauthScopes": [ # The set of Google API scopes to be made available on all of the
-          # node VMs under the "default" service account.
+          # 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:
@@ -2577,127 +2514,194 @@
           #
           # If unspecified, no scopes are added, unless Cloud Logging or Cloud
           # Monitoring are enabled, in which case their required scopes will be added.
-        "A String",
+        &quot;A String&quot;,
       ],
-      "taints": [ # List of kubernetes taints to be applied to each node.
+      &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.
             #
-            # For more information, including usage and the valid values, see:
-            # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
-          "value": "A String", # Value for taint.
-          "key": "A String", # Key for taint.
-          "effect": "A String", # Effect for taint.
+            # See
+            # [here](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration)
+            # for more information, including usage and the valid values.
+          &quot;key&quot;: &quot;A String&quot;, # Key for taint.
+          &quot;value&quot;: &quot;A String&quot;, # Value for taint.
+          &quot;effect&quot;: &quot;A String&quot;, # Effect for taint.
         },
       ],
-      "workloadMetadataConfig": { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node.
-          # workloads on the node pool.
-        "mode": "A String", # Mode is the configuration for how to expose metadata to workloads running
-            # on the node pool.
-        "nodeMetadata": "A String", # NodeMetadata is the configuration for how to expose metadata to the
-            # workloads running on the node.
-      },
-      "diskSizeGb": 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.
-      "accelerators": [ # 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.
-          "acceleratorCount": "A String", # The number of the accelerator cards exposed to an instance.
-          "acceleratorType": "A String", # The accelerator type resource name. List of supported accelerators
-              # [here](https://cloud.google.com/compute/docs/gpus)
-        },
-      ],
-      "minCpuPlatform": "A String", # 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)
-      "bootDiskKmsKey": "A String", #
-          # 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
-      "localSsdCount": 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.
-      "imageType": "A String", # The image type to use for this node. Note that for a given image type,
-          # the latest version of it will be used.
-      "metadata": { # 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:
-          #  "cluster-location"
-          #  "cluster-name"
-          #  "cluster-uid"
-          #  "configure-sh"
-          #  "containerd-configure-sh"
-          #  "enable-oslogin"
-          #  "gci-ensure-gke-docker"
-          #  "gci-metrics-enabled"
-          #  "gci-update-strategy"
-          #  "instance-template"
-          #  "kube-env"
-          #  "startup-script"
-          #  "user-data"
-          #  "disable-address-manager"
-          #  "windows-startup-script-ps1"
-          #  "common-psm1"
-          #  "k8s-node-setup-psm1"
-          #  "install-ssh-psm1"
-          #  "user-profile-psm1"
-          #  "serial-port-logging-enable"
-          # 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'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.
-        "a_key": "A String",
+      &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;,
       },
     },
-    "clusterIpv4Cidr": "A String", # The IP address range of the container pods in this cluster, in
+    &quot;status&quot;: &quot;A String&quot;, # [Output only] The current status of this cluster.
+    &quot;tpuConfig&quot;: { # Configuration for Cloud TPU. # Configuration for Cloud TPU support;
+      &quot;enabled&quot;: True or False, # Whether Cloud TPU integration is enabled or not.
+      &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;networkConfig&quot;: { # NetworkConfig reports the relative names of network &amp; subnetwork. # Configuration for cluster networking.
+      &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;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;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;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;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;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`.
-    "authenticatorGroupsConfig": { # Configuration for returning group information from authenticators. # Configuration controlling RBAC group membership information.
-      "enabled": True or False, # Whether this cluster should return group membership lookups
-          # during authentication using a group of security groups.
-      "securityGroup": "A String", # The name of the security group-of-groups to be used. Only relevant
-          # if enabled = true.
+    &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;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;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;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;autoUpgrade&quot;: True or False, # Whether the nodes will be automatically upgraded.
+          &quot;autoRepair&quot;: True or False, # Whether the nodes will be automatically repaired.
+          &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;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;upgradeSettings&quot;: { # These upgrade settings control the level of parallelism and the level of # Specifies the upgrade settings for NAP created node pools
+            # 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;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;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;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;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;,
+      ],
     },
-    "subnetwork": "A String", # 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.
-    "resourceLabels": { # The resource labels for the cluster to use to annotate any related
-        # Google Compute Engine resources.
-      "a_key": "A String",
-    },
-    "selfLink": "A String", # [Output only] Server-defined URL for the resource.
-    "initialNodeCount": 42, # The number of nodes to create in this cluster. You must ensure that your
-        # Compute Engine &lt;a href="/compute/docs/resource-quotas"&gt;resource quota&lt;/a&gt;
+    &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
-        # "node_pool" object, since this configuration (along with the
-        # "node_config") will be used to create a "NodePool" object with an
+        # &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;A String&quot;,
+    ],
+    &quot;privateClusterConfig&quot;: { # Configuration options for private clusters. # Configuration for private cluster.
+      &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;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;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.
+    },
   }</pre>
 </div>
 
@@ -2720,18 +2724,18 @@
 
 { # SetLegacyAbacRequest enables or disables the ABAC authorization mechanism for
       # a cluster.
-    "projectId": "A String", # Required. Deprecated. The Google Developers Console [project ID or project
+    &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.
-    "clusterId": "A String", # Required. Deprecated. The name of the cluster to update.
-        # This field has been deprecated and replaced by the name field.
-    "enabled": True or False, # Required. Whether ABAC authorization will be enabled in the cluster.
-    "name": "A String", # The name (project, location, cluster id) of the cluster to set legacy abac.
-        # Specified in the format 'projects/*/locations/*/clusters/*'.
-    "zone": "A String", # Required. Deprecated. The name of the Google Compute Engine
+    &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.
@@ -2744,61 +2748,61 @@
 
     { # This operation resource represents operations that may have happened or are
       # happening on the cluster. All fields are output only.
-    "status": "A String", # The current status of the operation.
-    "statusMessage": "A String", # Output only. If an error has occurred, a textual description of the error.
-    "endTime": "A String", # [Output only] The time the operation completed, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-    "name": "A String", # The server-assigned ID for the operation.
-    "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.
-    "clusterConditions": [ # Which conditions caused the current cluster state.
+    &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).
-        "message": "A String", # Human-friendly representation of the condition
-        "code": "A String", # Machine-friendly representation of the condition
+        &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
       },
     ],
-    "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.
-    "targetLink": "A String", # Server-defined URL for the target of the operation.
-    "operationType": "A String", # The operation type.
-    "progress": { # Information about operation (or operation stage) progress. # Output only. [Output only] Progress information for an operation.
-      "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}]
-          # or
-          #   metrics: [{name: "progress",       double_value: 0.56},
-          #             {name: "progress scale", double_value: 1.0}]
-        { # Progress metric is (string, int|float|string) pair.
-          "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
-          "intValue": "A String", # For metrics with integer value.
-          "name": "A String", # Required. Metric name, e.g., "nodes total", "percent done".
-          "doubleValue": 3.14, # For metrics with floating point value.
-        },
-      ],
-      "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.
-    },
-    "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).
-        "message": "A String", # Human-friendly representation of the condition
-        "code": "A String", # Machine-friendly representation of the condition
-      },
-    ],
-    "selfLink": "A String", # Server-defined URL for the resource.
-    "location": "A String", # [Output only] The name of the Google Compute Engine
+    &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;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;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;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;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;, # A non-parameterized string describing an operation stage.
+          # Unset for single-stage operations.
+    },
+    &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.
+    &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.
   }</pre>
 </div>
 
@@ -2813,11 +2817,11 @@
 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 "-" for all zones. This field has been deprecated and
+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 "-" matches all zones and all regions.
+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
@@ -2827,30 +2831,178 @@
   An object of the form:
 
     { # ListClustersResponse is the result of ListClustersRequest.
-    "clusters": [ # A list of clusters in the project in the specified zone, or
+    &quot;clusters&quot;: [ # A list of clusters in the project in the specified zone, or
         # across all ones.
       { # A Google Kubernetes Engine cluster.
-        "nodeIpv4CidrSize": 42, # [Output only] The size of the address space on each node for hosting
+        &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.
-        "maintenancePolicy": { # MaintenancePolicy defines the maintenance policy to be used for the cluster. # Configure the maintenance policy for this cluster.
-          "window": { # MaintenanceWindow defines the maintenance window to be used for the cluster. # Specifies the maintenance window in which maintenance may be performed.
-            "recurringWindow": { # Represents an arbitrary window of time that recurs. # RecurringWindow specifies some number of recurring time periods for
+        &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;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;enabled&quot;: True or False, # Whether this cluster should return group membership lookups
+              # during authentication using a group of security groups.
+          &quot;securityGroup&quot;: &quot;A String&quot;, # The name of the security group-of-groups to be used. Only relevant
+              # if enabled = true.
+        },
+        &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;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;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;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;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;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;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;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;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;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;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;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;window&quot;: { # MaintenanceWindow defines the maintenance window to be used for the cluster. # Specifies the maintenance window in which maintenance may be performed.
+            &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;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.
-              "recurrence": "A String", # An RRULE (https://tools.ietf.org/html/rfc5545#section-3.8.5.3) for how
+              &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'd use:
+                  # 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'd use something like:
+                  # 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
@@ -2863,279 +3015,48 @@
                   #   end time = 2019-01-07T23:59:00Z
                   #   recurrence = FREQ=WEEKLY;BYDAY=SA
                   # &lt;/code&gt;
-                  # Note the start and end time's specific dates are largely arbitrary except
+                  # 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.
-              "window": { # Represents an arbitrary window of time. # The window of the first recurrence.
-                "endTime": "A String", # The time that the window ends. The end time should take place after the
+              &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.
-                "startTime": "A String", # The time that the window first starts.
+                &quot;startTime&quot;: &quot;A String&quot;, # The time that the window first starts.
               },
             },
-            "dailyMaintenanceWindow": { # Time window specified for daily maintenance operations. # DailyMaintenanceWindow specifies a daily maintenance operation window.
-              "duration": "A String", # [Output only] Duration of the time window, automatically chosen to be
-                  # smallest possible in the given scenario.
-              "startTime": "A String", # Time within the maintenance window to start the maintenance operations.
-                  # It must be in format "HH:MM", where HH : [00-23] and MM : [00-59] GMT.
-            },
-            "maintenanceExclusions": { # Exceptions to maintenance window. Non-emergency maintenance should not
+            &quot;maintenanceExclusions&quot;: { # Exceptions to maintenance window. Non-emergency maintenance should not
                 # occur in these windows.
-              "a_key": { # Represents an arbitrary window of time.
-                "endTime": "A String", # The time that the window ends. The end time should take place after the
+              &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.
-                "startTime": "A String", # The time that the window first starts.
+                &quot;startTime&quot;: &quot;A String&quot;, # The time that the window first starts.
               },
             },
           },
-          "resourceVersion": "A String", # A hash identifying the version of this policy, so that updates to fields of
-              # the policy won't accidentally undo intermediate changes (and so that users
-              # of the API unaware of some fields won'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.
         },
-        "networkPolicy": { # Configuration options for the NetworkPolicy feature. # Configuration options for the NetworkPolicy feature.
-            # https://kubernetes.io/docs/concepts/services-networking/networkpolicies/
-          "enabled": True or False, # Whether network policy is enabled on the cluster.
-          "provider": "A String", # The selected network policy provider.
+        &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;,
         },
-        "masterAuthorizedNetworksConfig": { # 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.
-          "enabled": True or False, # Whether or not master authorized networks is enabled.
-          "cidrBlocks": [ # cidr_blocks define up to 10 external networks that could access
-              # Kubernetes master through HTTPS.
-            { # CidrBlock contains an optional name and one CIDR block.
-              "cidrBlock": "A String", # cidr_block must be specified in CIDR notation.
-              "displayName": "A String", # display_name is an optional field for users to identify CIDR blocks.
-            },
-          ],
-        },
-        "addonsConfig": { # 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.
-          "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
-              # is enabled for the nodes.
-              # is enabled or not on the Master, it does not track whether network policy
-              # 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.
-          },
-          "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.
-          },
-          "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.
-          },
-          "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
-              # 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.
-            "disabled": 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.
-          },
-          "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.
-          },
-          "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.
-          },
-          "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.
-          },
-          "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.
-          },
-          "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.
-          },
-        },
-        "locations": [ # The list of Google Compute Engine
-            # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
-            # cluster's nodes should be located.
-          "A String",
-        ],
-        "enableKubernetesAlpha": 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.
-        "enableTpu": True or False, # Enable the ability to use Cloud TPUs in this cluster.
-            # This field is deprecated, use tpu_config.enabled instead.
-        "releaseChannel": { # 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.
+        &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.
             #
-            # 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.
-          "channel": "A String", # channel specifies which release channel the cluster is subscribed to.
-        },
-        "defaultMaxPodsConstraint": { # 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.
-          "maxPodsPerNode": "A String", # Constraint enforced on the max num of pods per node.
-        },
-        "network": "A String", # 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.
-        "loggingService": "A String", # 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.
-            #
-            # If left as an empty string,`logging.googleapis.com/kubernetes` will be
-            # used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.
-        "instanceGroupUrls": [ # Deprecated. Use node_pools.instance_group_urls.
-          "A String",
-        ],
-        "networkConfig": { # NetworkConfig reports the relative names of network &amp; subnetwork. # Configuration for cluster networking.
-          "subnetwork": "A String", # 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
-          "network": "A String", # 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
-          "enableIntraNodeVisibility": True or False, # Whether Intra-node visibility is enabled for this cluster.
-              # This makes same node pod to pod traffic visible for VPC network.
-        },
-        "privateCluster": 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.
-        "podSecurityPolicyConfig": { # Configuration for the PodSecurityPolicy feature. # Configuration for the PodSecurityPolicy feature.
-          "enabled": True or False, # Enable the PodSecurityPolicy controller for this cluster. If enabled, pods
-              # must be valid under a PodSecurityPolicy to be created.
-        },
-        "shieldedNodes": { # Configuration of Shielded Nodes feature. # Shielded Nodes configuration.
-          "enabled": True or False, # Whether Shielded Nodes features are enabled on all nodes in this cluster.
-        },
-        "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.
-        "workloadIdentityConfig": { # Configuration for the use of Kubernetes Service Accounts in GCP IAM # Configuration for the use of Kubernetes Service Accounts in GCP IAM
-            # policies.
-            # policies.
-          "workloadPool": "A String", # The workload pool to attach all Kubernetes service accounts to.
-          "identityNamespace": "A String", # IAM Identity Namespace to attach all Kubernetes Service Accounts to.
-        },
-        "resourceUsageExportConfig": { # Configuration for exporting cluster resource usages. # Configuration for exporting resource usages. Resource usage export is
-            # disabled when this config unspecified.
-          "bigqueryDestination": { # Parameters for using BigQuery as the destination of resource usage export. # Configuration to use BigQuery as usage export destination.
-            "datasetId": "A String", # The ID of a BigQuery Dataset.
-          },
-          "enableNetworkEgressMetering": 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.
-          "consumptionMeteringConfig": { # Parameters for controlling consumption metering. # Configuration to enable resource consumption metering.
-            "enabled": 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.
-          },
-        },
-        "privateClusterConfig": { # Configuration options for private clusters. # Configuration for private cluster.
-          "enablePrivateEndpoint": True or False, # Whether the master's internal IP address is used as the cluster endpoint.
-          "publicEndpoint": "A String", # Output only. The external IP address of this cluster's master endpoint.
-          "masterGlobalAccessConfig": { # Configuration for controlling master global access settings. # Controls master global access settings.
-            "enabled": True or False, # Whenever master is accessible globally or not.
-          },
-          "enablePrivateNodes": 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.
-          "privateEndpoint": "A String", # Output only. The internal IP address of this cluster's master endpoint.
-          "masterIpv4CidrBlock": "A String", # 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's network.
-          "peeringName": "A String", # Output only. The peering name in the customer VPC used by this cluster.
-        },
-        "conditions": [ # 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).
-            "message": "A String", # Human-friendly representation of the condition
-            "code": "A String", # Machine-friendly representation of the condition
-          },
-        ],
-        "statusMessage": "A String", # [Output only] Additional information about the current status of this
-            # cluster, if available.
-        "servicesIpv4Cidr": "A String", # [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.
-        "status": "A String", # [Output only] The current status of this cluster.
-        "ipAllocationPolicy": { # Configuration for controlling how IPs are allocated in the cluster. # Configuration for cluster IP allocation.
-          "allowRouteOverlap": 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.
-          "useIpAliases": 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
-          "nodeIpv4Cidr": "A String", # This field is deprecated, use node_ipv4_cidr_block.
-          "clusterIpv4CidrBlock": "A String", # 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.
-          "clusterSecondaryRangeName": "A String", # 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.
-          "servicesIpv4CidrBlock": "A String", # The IP address range of the services IPs in this cluster. If blank, a range
+            # - &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.
@@ -3150,10 +3071,42 @@
               # 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.
-          "createSubnetwork": True or False, # Whether a new subnetwork will be created automatically for the cluster.
+          &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.
-          "nodeIpv4CidrBlock": "A String", # The IP address range of the instance IPs in this cluster.
+              #
+              # 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.
               #
@@ -3167,7 +3120,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.
-          "tpuIpv4CidrBlock": "A String", # The IP address range of the Cloud TPUs in this cluster. If unspecified, a
+          &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.
@@ -3183,207 +3136,79 @@
               # `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.
-          "clusterIpv4Cidr": "A String", # This field is deprecated, use cluster_ipv4_cidr_block.
-          "useRoutes": 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
-          "subnetworkName": "A String", # 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.
-          "servicesSecondaryRangeName": "A String", # The name of the secondary range to be used as for the services
+          &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.
-          "servicesIpv4Cidr": "A String", # This field is deprecated, use services_ipv4_cidr_block.
+          &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;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;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.
         },
-        "currentMasterVersion": "A String", # [Output only] The current software version of the master endpoint.
-        "description": "A String", # An optional description of this cluster.
-        "currentNodeVersion": "A String", # [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're in the process
-            # of being upgraded, this reflects the minimum version of all nodes.
-        "binaryAuthorization": { # Configuration for Binary Authorization. # Configuration for Binary Authorization.
-          "enabled": True or False, # Enable Binary Authorization for this cluster. If enabled, all container
-              # images will be validated by Google Binauthz.
+        &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.
         },
-        "labelFingerprint": "A String", # The fingerprint of the set of labels for this cluster.
-        "autoscaling": { # 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.
-          "autoprovisioningNodePoolDefaults": { # AutoprovisioningNodePoolDefaults contains defaults for a node pool created # AutoprovisioningNodePoolDefaults contains defaults for a node pool
-              # created by NAP.
-              # by NAP.
-            "minCpuPlatform": "A String", # 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 "automatic" as field value.
-            "management": { # NodeManagement defines the set of node management services turned on for the # Specifies the node management options for NAP created node-pools.
-                # node pool.
-              "upgradeOptions": { # 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.
-                "description": "A String", # [Output only] This field is set when upgrades are about to commence
-                    # with the description of the upgrade.
-                "autoUpgradeStartTime": "A String", # [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.
-              },
-              "autoRepair": True or False, # Whether the nodes will be automatically repaired.
-              "autoUpgrade": True or False, # Whether the nodes will be automatically upgraded.
-            },
-            "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs. If
-                # service_account is specified, scopes should be empty.
-            "oauthScopes": [ # Scopes that are used by NAP when creating node pools. If oauth_scopes are
-                # specified, service_account should be empty.
-              "A String",
-            ],
-            "upgradeSettings": { # These upgrade settings control the level of parallelism and the level of # Specifies the upgrade settings for NAP created node pools
-                # 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.
-              "maxSurge": 42, # The maximum number of nodes that can be created beyond the current size
-                  # of the node pool during the upgrade process.
-              "maxUnavailable": 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;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;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.
           },
-          "resourceLimits": [ # 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.
-              "resourceType": "A String", # Resource name "cpu", "memory" or gpu-specific string.
-              "minimum": "A String", # Minimum amount of the resource in the cluster.
-              "maximum": "A String", # Maximum amount of the resource in the cluster.
-            },
-          ],
-          "autoprovisioningLocations": [ # The list of Google Compute Engine
-              # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
-              # NodePool's nodes can be created by NAP.
-            "A String",
-          ],
-          "autoscalingProfile": "A String", # Defines autoscaling behaviour.
-          "enableNodeAutoprovisioning": True or False, # Enables automatic node pool creation and deletion.
-        },
-        "masterAuth": { # 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 "admin", 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.
-          "username": "A String", # 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).
-          "clientKey": "A String", # [Output only] Base64-encoded private key used by clients to authenticate
-              # to the cluster endpoint.
-          "clientCertificate": "A String", # [Output only] Base64-encoded public certificate used by clients to
-              # authenticate to the cluster endpoint.
-          "clusterCaCertificate": "A String",
-          "password": "A String", # 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.
-          "clientCertificateConfig": { # 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.
-            "issueClientCertificate": True or False, # Issue a client certificate.
+          &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.
           },
         },
-        "expireTime": "A String", # [Output only] The time the cluster will be automatically
-            # deleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-        "masterIpv4CidrBlock": "A String", # 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.
-        "clusterTelemetry": { # Telemetry integration for the cluster. # Telemetry integration for the cluster.
-          "type": "A String", # Type of the integration.
-        },
-        "tpuIpv4CidrBlock": "A String", # [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`).
-        "nodePools": [ # The node pools associated with this cluster.
-            # This field should not be set if "node_config" or "initial_node_count" are
+        &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;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's node pool.
-              # Node pools are a set of nodes (i.e. VM's), with a common configuration and
+          { # 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.
-            "status": "A String", # [Output only] The status of the nodes in this pool instance.
-            "selfLink": "A String", # [Output only] Server-defined URL for the resource.
-            "management": { # NodeManagement defines the set of node management services turned on for the # NodeManagement configuration for this NodePool.
-                # node pool.
-              "upgradeOptions": { # 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.
-                "description": "A String", # [Output only] This field is set when upgrades are about to commence
-                    # with the description of the upgrade.
-                "autoUpgradeStartTime": "A String", # [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.
-              },
-              "autoRepair": True or False, # Whether the nodes will be automatically repaired.
-              "autoUpgrade": True or False, # Whether the nodes will be automatically upgraded.
-            },
-            "name": "A String", # The name of the node pool.
-            "conditions": [ # 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).
-                "message": "A String", # Human-friendly representation of the condition
-                "code": "A String", # Machine-friendly representation of the condition
-              },
-            ],
-            "autoscaling": { # NodePoolAutoscaling contains information required by cluster autoscaler to # Autoscaler configuration for this NodePool. Autoscaler is enabled
+            &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.
-              "minNodeCount": 42, # Minimum number of nodes in the NodePool. Must be &gt;= 1 and &lt;=
+              &quot;minNodeCount&quot;: 42, # Minimum number of nodes in the NodePool. Must be &gt;= 1 and &lt;=
                   # max_node_count.
-              "autoprovisioned": True or False, # Can this node pool be deleted automatically.
-              "enabled": True or False, # Is autoscaling enabled for this node pool.
-              "maxNodeCount": 42, # Maximum number of nodes in the NodePool. Must be &gt;= min_node_count. There
+              &quot;autoprovisioned&quot;: True or False, # Can this node pool be deleted automatically.
+              &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.
             },
-            "locations": [ # The list of Google Compute Engine
-                # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
-                # NodePool's nodes should be located.
-              "A String",
-            ],
-            "maxPodsConstraint": { # Constraints applied to pods. # The constraint on the maximum number of pods that can be run
-                # simultaneously on a node in the node pool.
-              "maxPodsPerNode": "A String", # Constraint enforced on the max num of pods per node.
-            },
-            "version": "A String", # The version of the Kubernetes of this node.
-            "upgradeSettings": { # These upgrade settings control the level of parallelism and the level of # Upgrade settings control disruption and speed of the upgrade.
+            &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;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
@@ -3406,87 +3231,163 @@
                 # 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.
-              "maxSurge": 42, # The maximum number of nodes that can be created beyond the current size
+              &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.
-              "maxUnavailable": 42, # The maximum number of nodes that can be simultaneously unavailable during
+              &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.
             },
-            "initialNodeCount": 42, # The initial node count for the pool. You must ensure that your
-                # Compute Engine &lt;a href="/compute/docs/resource-quotas"&gt;resource quota&lt;/a&gt;
-                # is sufficient for this number of instances. You must also have available
-                # firewall and routes quota.
-            "podIpv4CidrSize": 42, # [Output only] The pod CIDR block size per node in this node pool.
-            "instanceGroupUrls": [ # [Output only] The resource URLs of the [managed instance
+            &quot;selfLink&quot;: &quot;A String&quot;, # [Output only] Server-defined URL for the resource.
+            &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;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.
-              "A String",
+              &quot;A String&quot;,
             ],
-            "config": { # Parameters that describe the nodes in a cluster. # The node configuration of the pool.
-              "reservationAffinity": { # [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.
-                "values": [ # Corresponds to the label value(s) of reservation resource(s).
-                  "A String",
-                ],
-                "consumeReservationType": "A String", # Corresponds to the type of reservation consumption.
-                "key": "A String", # Corresponds to the label key of a reservation resource. To target a
-                    # SPECIFIC_RESERVATION by name, specify "googleapis.com/reservation-name" as
-                    # the key and specify the name of your reservation as its value.
+            &quot;version&quot;: &quot;A String&quot;, # The version of the Kubernetes of this node.
+            &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
               },
-              "sandboxConfig": { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node.
-                "type": "A String", # Type of the sandbox to use for the node.
-                "sandboxType": "A String", # Type of the sandbox to use for the node (e.g. 'gvisor')
+            ],
+            &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;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.
               },
-              "machineType": "A String", # The name of a Google Compute Engine [machine
+              &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;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`.
-              "shieldedInstanceConfig": { # A set of Shielded Instance options. # Shielded Instance options.
-                "enableIntegrityMonitoring": True or False, # Defines whether the instance has integrity monitoring enabled.
+              &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;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.
-                "enableSecureBoot": 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.
               },
-              "diskType": "A String", # Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd')
+              &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;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.
                   #
-                  # If unspecified, the default disk type is 'pd-standard'
-              "tags": [ # The list of instance tags applied to all nodes. Tags are used to identify
+                  # 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.
-                "A String",
+                &quot;A String&quot;,
               ],
-              "preemptible": 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.
-              "labels": { # 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'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/
-                "a_key": "A String",
-              },
-              "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs.
+              &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 "default" service account is used.
-              "oauthScopes": [ # The set of Google API scopes to be made available on all of the
-                  # node VMs under the "default" service account.
+                  # 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:
@@ -3500,106 +3401,100 @@
                   #
                   # If unspecified, no scopes are added, unless Cloud Logging or Cloud
                   # Monitoring are enabled, in which case their required scopes will be added.
-                "A String",
+                &quot;A String&quot;,
               ],
-              "taints": [ # List of kubernetes taints to be applied to each node.
+              &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.
                     #
-                    # For more information, including usage and the valid values, see:
-                    # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
-                  "value": "A String", # Value for taint.
-                  "key": "A String", # Key for taint.
-                  "effect": "A String", # Effect for taint.
+                    # See
+                    # [here](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration)
+                    # for more information, including usage and the valid values.
+                  &quot;key&quot;: &quot;A String&quot;, # Key for taint.
+                  &quot;value&quot;: &quot;A String&quot;, # Value for taint.
+                  &quot;effect&quot;: &quot;A String&quot;, # Effect for taint.
                 },
               ],
-              "workloadMetadataConfig": { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node.
-                  # workloads on the node pool.
-                "mode": "A String", # Mode is the configuration for how to expose metadata to workloads running
-                    # on the node pool.
-                "nodeMetadata": "A String", # NodeMetadata is the configuration for how to expose metadata to the
-                    # workloads running on the node.
-              },
-              "diskSizeGb": 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.
-              "accelerators": [ # 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.
-                  "acceleratorCount": "A String", # The number of the accelerator cards exposed to an instance.
-                  "acceleratorType": "A String", # The accelerator type resource name. List of supported accelerators
-                      # [here](https://cloud.google.com/compute/docs/gpus)
-                },
-              ],
-              "minCpuPlatform": "A String", # 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)
-              "bootDiskKmsKey": "A String", #
-                  # 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
-              "localSsdCount": 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.
-              "imageType": "A String", # The image type to use for this node. Note that for a given image type,
-                  # the latest version of it will be used.
-              "metadata": { # 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:
-                  #  "cluster-location"
-                  #  "cluster-name"
-                  #  "cluster-uid"
-                  #  "configure-sh"
-                  #  "containerd-configure-sh"
-                  #  "enable-oslogin"
-                  #  "gci-ensure-gke-docker"
-                  #  "gci-metrics-enabled"
-                  #  "gci-update-strategy"
-                  #  "instance-template"
-                  #  "kube-env"
-                  #  "startup-script"
-                  #  "user-data"
-                  #  "disable-address-manager"
-                  #  "windows-startup-script-ps1"
-                  #  "common-psm1"
-                  #  "k8s-node-setup-psm1"
-                  #  "install-ssh-psm1"
-                  #  "user-profile-psm1"
-                  #  "serial-port-logging-enable"
-                  # 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'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.
-                "a_key": "A String",
+              &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;,
               },
             },
-            "statusMessage": "A String", # [Output only] Additional information about the current status of this
-                # node pool instance, if available.
+            &quot;name&quot;: &quot;A String&quot;, # The name of the node pool.
+            &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;management&quot;: { # NodeManagement defines the set of node management services turned on for the # NodeManagement configuration for this NodePool.
+                # node pool.
+              &quot;autoUpgrade&quot;: True or False, # Whether the nodes will be automatically upgraded.
+              &quot;autoRepair&quot;: True or False, # Whether the nodes will be automatically repaired.
+              &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.
+              },
+            },
           },
         ],
-        "monitoringService": "A String", # The monitoring service the cluster should use to write metrics.
+        &quot;selfLink&quot;: &quot;A String&quot;, # [Output only] Server-defined URL for the resource.
+        &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;networkPolicy&quot;: { # Configuration options for the NetworkPolicy feature. # Configuration options for the NetworkPolicy feature.
+            # https://kubernetes.io/docs/concepts/services-networking/networkpolicies/
+          &quot;enabled&quot;: True or False, # Whether network policy is enabled on the cluster.
+          &quot;provider&quot;: &quot;A String&quot;, # The selected network policy provider.
+        },
+        &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;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:
             #
-            # * "monitoring.googleapis.com/kubernetes" - The Cloud Monitoring
+            # * &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).
@@ -3607,65 +3502,44 @@
             #
             # If left as an empty string,`monitoring.googleapis.com/kubernetes` will be
             # used for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions.
-        "createTime": "A String", # [Output only] The time the cluster was created, in
-            # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-        "databaseEncryption": { # Configuration of etcd encryption. # Configuration of etcd encryption.
-          "state": "A String", # Denotes the state of etcd encryption.
-          "keyName": "A String", # Name of CloudKMS key to use for the encryption of secrets in etcd.
+        &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
         },
-        "name": "A String", # 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.
-        "legacyAbac": { # Configuration for the legacy Attribute Based Access Control authorization # Configuration for the legacy ABAC authorization mode.
-            # mode.
-          "enabled": 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.
         },
-        "endpoint": "A String", # [Output only] The IP address of this cluster'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.
-        "currentNodeCount": 42, # [Output only]  The number of nodes currently in the cluster. Deprecated.
-            # Call Kubernetes API directly to retrieve node information.
-        "zone": "A String", # [Output only] The name of the Google Compute Engine
+        &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;identityNamespace&quot;: &quot;A String&quot;, # IAM Identity Namespace to attach all Kubernetes Service Accounts to.
+          &quot;workloadPool&quot;: &quot;A String&quot;, # The workload pool 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.
-        "verticalPodAutoscaling": { # 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.
-          "enabled": True or False, # Enables vertical pod autoscaling.
-        },
-        "tpuConfig": { # Configuration for Cloud TPU. # Configuration for Cloud TPU support;
-          "useServiceNetworking": True or False, # Whether to use service networking for Cloud TPU or not.
-          "ipv4CidrBlock": "A String", # IPv4 CIDR block reserved for Cloud TPU in the VPC.
-          "enabled": True or False, # Whether Cloud TPU integration is enabled or not.
-        },
-        "initialClusterVersion": "A String", # 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;loggingService&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.
             #
-            # - "latest": picks the highest valid Kubernetes version
-            # - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
-            # - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
-            # - "1.X.Y-gke.N": picks an explicit Kubernetes version
-            # - "","-": picks the default Kubernetes version
-        "nodeConfig": { # Parameters that describe the nodes in a cluster. # Parameters used in creating the cluster's nodes.
+            # 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
-            # "node_pool" object, since this configuration (along with the
-            # "initial_node_count") will be used to create a "NodePool" object with an
+            # &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
@@ -3673,70 +3547,135 @@
             #
             # If unspecified, the defaults are used.
             # This field is deprecated, use node_pool.config instead.
-          "reservationAffinity": { # [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.
-            "values": [ # Corresponds to the label value(s) of reservation resource(s).
-              "A String",
-            ],
-            "consumeReservationType": "A String", # Corresponds to the type of reservation consumption.
-            "key": "A String", # Corresponds to the label key of a reservation resource. To target a
-                # SPECIFIC_RESERVATION by name, specify "googleapis.com/reservation-name" as
-                # the key and specify the name of your reservation as its value.
+          &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.
           },
-          "sandboxConfig": { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node.
-            "type": "A String", # Type of the sandbox to use for the node.
-            "sandboxType": "A String", # Type of the sandbox to use for the node (e.g. 'gvisor')
-          },
-          "machineType": "A String", # The name of a Google Compute Engine [machine
+          &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;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`.
-          "shieldedInstanceConfig": { # A set of Shielded Instance options. # Shielded Instance options.
-            "enableIntegrityMonitoring": True or False, # Defines whether the instance has integrity monitoring enabled.
+          &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;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.
-            "enableSecureBoot": 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.
           },
-          "diskType": "A String", # Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd')
+          &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;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.
               #
-              # If unspecified, the default disk type is 'pd-standard'
-          "tags": [ # The list of instance tags applied to all nodes. Tags are used to identify
+              # 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.
-            "A String",
+            &quot;A String&quot;,
           ],
-          "preemptible": 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.
-          "labels": { # 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'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/
-            "a_key": "A String",
-          },
-          "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs.
+          &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 "default" service account is used.
-          "oauthScopes": [ # The set of Google API scopes to be made available on all of the
-              # node VMs under the "default" service account.
+              # 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:
@@ -3750,132 +3689,199 @@
               #
               # If unspecified, no scopes are added, unless Cloud Logging or Cloud
               # Monitoring are enabled, in which case their required scopes will be added.
-            "A String",
+            &quot;A String&quot;,
           ],
-          "taints": [ # List of kubernetes taints to be applied to each node.
+          &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.
                 #
-                # For more information, including usage and the valid values, see:
-                # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
-              "value": "A String", # Value for taint.
-              "key": "A String", # Key for taint.
-              "effect": "A String", # Effect for taint.
+                # See
+                # [here](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration)
+                # for more information, including usage and the valid values.
+              &quot;key&quot;: &quot;A String&quot;, # Key for taint.
+              &quot;value&quot;: &quot;A String&quot;, # Value for taint.
+              &quot;effect&quot;: &quot;A String&quot;, # Effect for taint.
             },
           ],
-          "workloadMetadataConfig": { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node.
-              # workloads on the node pool.
-            "mode": "A String", # Mode is the configuration for how to expose metadata to workloads running
-                # on the node pool.
-            "nodeMetadata": "A String", # NodeMetadata is the configuration for how to expose metadata to the
-                # workloads running on the node.
-          },
-          "diskSizeGb": 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.
-          "accelerators": [ # 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.
-              "acceleratorCount": "A String", # The number of the accelerator cards exposed to an instance.
-              "acceleratorType": "A String", # The accelerator type resource name. List of supported accelerators
-                  # [here](https://cloud.google.com/compute/docs/gpus)
-            },
-          ],
-          "minCpuPlatform": "A String", # 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)
-          "bootDiskKmsKey": "A String", #
-              # 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
-          "localSsdCount": 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.
-          "imageType": "A String", # The image type to use for this node. Note that for a given image type,
-              # the latest version of it will be used.
-          "metadata": { # 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:
-              #  "cluster-location"
-              #  "cluster-name"
-              #  "cluster-uid"
-              #  "configure-sh"
-              #  "containerd-configure-sh"
-              #  "enable-oslogin"
-              #  "gci-ensure-gke-docker"
-              #  "gci-metrics-enabled"
-              #  "gci-update-strategy"
-              #  "instance-template"
-              #  "kube-env"
-              #  "startup-script"
-              #  "user-data"
-              #  "disable-address-manager"
-              #  "windows-startup-script-ps1"
-              #  "common-psm1"
-              #  "k8s-node-setup-psm1"
-              #  "install-ssh-psm1"
-              #  "user-profile-psm1"
-              #  "serial-port-logging-enable"
-              # 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'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.
-            "a_key": "A String",
+          &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;,
           },
         },
-        "clusterIpv4Cidr": "A String", # The IP address range of the container pods in this cluster, in
+        &quot;status&quot;: &quot;A String&quot;, # [Output only] The current status of this cluster.
+        &quot;tpuConfig&quot;: { # Configuration for Cloud TPU. # Configuration for Cloud TPU support;
+          &quot;enabled&quot;: True or False, # Whether Cloud TPU integration is enabled or not.
+          &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;networkConfig&quot;: { # NetworkConfig reports the relative names of network &amp; subnetwork. # Configuration for cluster networking.
+          &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;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;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;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;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;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`.
-        "authenticatorGroupsConfig": { # Configuration for returning group information from authenticators. # Configuration controlling RBAC group membership information.
-          "enabled": True or False, # Whether this cluster should return group membership lookups
-              # during authentication using a group of security groups.
-          "securityGroup": "A String", # The name of the security group-of-groups to be used. Only relevant
-              # if enabled = true.
+        &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;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;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;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;autoUpgrade&quot;: True or False, # Whether the nodes will be automatically upgraded.
+              &quot;autoRepair&quot;: True or False, # Whether the nodes will be automatically repaired.
+              &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;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;upgradeSettings&quot;: { # These upgrade settings control the level of parallelism and the level of # Specifies the upgrade settings for NAP created node pools
+                # 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;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;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;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;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;,
+          ],
         },
-        "subnetwork": "A String", # 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.
-        "resourceLabels": { # The resource labels for the cluster to use to annotate any related
-            # Google Compute Engine resources.
-          "a_key": "A String",
-        },
-        "selfLink": "A String", # [Output only] Server-defined URL for the resource.
-        "initialNodeCount": 42, # The number of nodes to create in this cluster. You must ensure that your
-            # Compute Engine &lt;a href="/compute/docs/resource-quotas"&gt;resource quota&lt;/a&gt;
+        &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
-            # "node_pool" object, since this configuration (along with the
-            # "node_config") will be used to create a "NodePool" object with an
+            # &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;A String&quot;,
+        ],
+        &quot;privateClusterConfig&quot;: { # Configuration options for private clusters. # Configuration for private cluster.
+          &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;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;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.
+        },
       },
     ],
-    "missingZones": [ # If any zones are listed here, the list of clusters returned
+    &quot;missingZones&quot;: [ # If any zones are listed here, the list of clusters returned
         # may be missing those zones.
-      "A String",
+      &quot;A String&quot;,
     ],
   }</pre>
 </div>
@@ -3901,26 +3907,26 @@
     The object takes the form of:
 
 { # SetLocationsRequest sets the locations of the cluster.
-    "projectId": "A String", # Required. Deprecated. The Google Developers Console [project ID or project
+    &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.
-    "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 locations.
-        # Specified in the format 'projects/*/locations/*/clusters/*'.
-    "zone": "A String", # Required. Deprecated. The name of the Google Compute Engine
+    &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.
-    "locations": [ # Required. The desired list of Google Compute Engine
+    &quot;locations&quot;: [ # Required. The desired list of Google Compute Engine
         # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
-        # cluster's nodes should be located. Changing the locations a cluster is in
+        # 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's primary zone.
-      "A String",
+        # This list must always include the cluster&#x27;s primary zone.
+      &quot;A String&quot;,
     ],
+    &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/*`.
   }
 
   x__xgafv: string, V1 error format.
@@ -3933,61 +3939,61 @@
 
     { # This operation resource represents operations that may have happened or are
       # happening on the cluster. All fields are output only.
-    "status": "A String", # The current status of the operation.
-    "statusMessage": "A String", # Output only. If an error has occurred, a textual description of the error.
-    "endTime": "A String", # [Output only] The time the operation completed, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-    "name": "A String", # The server-assigned ID for the operation.
-    "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.
-    "clusterConditions": [ # Which conditions caused the current cluster state.
+    &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).
-        "message": "A String", # Human-friendly representation of the condition
-        "code": "A String", # Machine-friendly representation of the condition
+        &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
       },
     ],
-    "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.
-    "targetLink": "A String", # Server-defined URL for the target of the operation.
-    "operationType": "A String", # The operation type.
-    "progress": { # Information about operation (or operation stage) progress. # Output only. [Output only] Progress information for an operation.
-      "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}]
-          # or
-          #   metrics: [{name: "progress",       double_value: 0.56},
-          #             {name: "progress scale", double_value: 1.0}]
-        { # Progress metric is (string, int|float|string) pair.
-          "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
-          "intValue": "A String", # For metrics with integer value.
-          "name": "A String", # Required. Metric name, e.g., "nodes total", "percent done".
-          "doubleValue": 3.14, # For metrics with floating point value.
-        },
-      ],
-      "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.
-    },
-    "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).
-        "message": "A String", # Human-friendly representation of the condition
-        "code": "A String", # Machine-friendly representation of the condition
-      },
-    ],
-    "selfLink": "A String", # Server-defined URL for the resource.
-    "location": "A String", # [Output only] The name of the Google Compute Engine
+    &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;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;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;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;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;, # A non-parameterized string describing an operation stage.
+          # Unset for single-stage operations.
+    },
+    &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.
+    &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.
   }</pre>
 </div>
 
@@ -4009,10 +4015,7 @@
     The object takes the form of:
 
 { # SetLoggingServiceRequest sets the logging service of a 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.
-    "loggingService": "A String", # Required. The logging service the cluster should use to write logs.
+    &quot;loggingService&quot;: &quot;A String&quot;, # Required. The logging service the cluster should use to write logs.
         # Currently available options:
         # 
         # * `logging.googleapis.com/kubernetes` - The Cloud Logging
@@ -4023,14 +4026,17 @@
         # 
         # If left as an empty string,`logging.googleapis.com/kubernetes` will be
         # used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.
-    "clusterId": "A String", # Required. Deprecated. The name of the cluster to upgrade.
+    &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;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.
-    "name": "A String", # The name (project, location, cluster) of the cluster to set logging.
-        # Specified in the format 'projects/*/locations/*/clusters/*'.
-    "zone": "A String", # Required. Deprecated. The name of the Google Compute Engine
+    &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.
   }
 
   x__xgafv: string, V1 error format.
@@ -4043,61 +4049,61 @@
 
     { # This operation resource represents operations that may have happened or are
       # happening on the cluster. All fields are output only.
-    "status": "A String", # The current status of the operation.
-    "statusMessage": "A String", # Output only. If an error has occurred, a textual description of the error.
-    "endTime": "A String", # [Output only] The time the operation completed, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-    "name": "A String", # The server-assigned ID for the operation.
-    "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.
-    "clusterConditions": [ # Which conditions caused the current cluster state.
+    &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).
-        "message": "A String", # Human-friendly representation of the condition
-        "code": "A String", # Machine-friendly representation of the condition
+        &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
       },
     ],
-    "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.
-    "targetLink": "A String", # Server-defined URL for the target of the operation.
-    "operationType": "A String", # The operation type.
-    "progress": { # Information about operation (or operation stage) progress. # Output only. [Output only] Progress information for an operation.
-      "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}]
-          # or
-          #   metrics: [{name: "progress",       double_value: 0.56},
-          #             {name: "progress scale", double_value: 1.0}]
-        { # Progress metric is (string, int|float|string) pair.
-          "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
-          "intValue": "A String", # For metrics with integer value.
-          "name": "A String", # Required. Metric name, e.g., "nodes total", "percent done".
-          "doubleValue": 3.14, # For metrics with floating point value.
-        },
-      ],
-      "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.
-    },
-    "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).
-        "message": "A String", # Human-friendly representation of the condition
-        "code": "A String", # Machine-friendly representation of the condition
-      },
-    ],
-    "selfLink": "A String", # Server-defined URL for the resource.
-    "location": "A String", # [Output only] The name of the Google Compute Engine
+    &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;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;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;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;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;, # A non-parameterized string describing an operation stage.
+          # Unset for single-stage operations.
+    },
+    &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.
+    &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.
   }</pre>
 </div>
 
@@ -4119,27 +4125,27 @@
     The object takes the form of:
 
 { # UpdateMasterRequest updates the master of the cluster.
-    "projectId": "A String", # Required. Deprecated. The Google Developers Console [project ID or project
+    &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.
-    "masterVersion": "A String", # Required. The Kubernetes version to change the master to.
+    &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;masterVersion&quot;: &quot;A String&quot;, # Required. The Kubernetes version to change the master to.
         # 
         # Users may specify either explicit versions offered by
         # Kubernetes Engine or version aliases, which have the following behavior:
         # 
-        # - "latest": picks the highest valid Kubernetes version
-        # - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
-        # - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
-        # - "1.X.Y-gke.N": picks an explicit Kubernetes version
-        # - "-": picks the default Kubernetes version
-    "clusterId": "A String", # Required. Deprecated. The name of the cluster to upgrade.
+        # - &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 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.
-    "name": "A String", # The name (project, location, cluster) of the cluster to update.
-        # Specified in the format 'projects/*/locations/*/clusters/*'.
-    "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.
+    &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.
@@ -4152,61 +4158,61 @@
 
     { # This operation resource represents operations that may have happened or are
       # happening on the cluster. All fields are output only.
-    "status": "A String", # The current status of the operation.
-    "statusMessage": "A String", # Output only. If an error has occurred, a textual description of the error.
-    "endTime": "A String", # [Output only] The time the operation completed, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-    "name": "A String", # The server-assigned ID for the operation.
-    "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.
-    "clusterConditions": [ # Which conditions caused the current cluster state.
+    &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).
-        "message": "A String", # Human-friendly representation of the condition
-        "code": "A String", # Machine-friendly representation of the condition
+        &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
       },
     ],
-    "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.
-    "targetLink": "A String", # Server-defined URL for the target of the operation.
-    "operationType": "A String", # The operation type.
-    "progress": { # Information about operation (or operation stage) progress. # Output only. [Output only] Progress information for an operation.
-      "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}]
-          # or
-          #   metrics: [{name: "progress",       double_value: 0.56},
-          #             {name: "progress scale", double_value: 1.0}]
-        { # Progress metric is (string, int|float|string) pair.
-          "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
-          "intValue": "A String", # For metrics with integer value.
-          "name": "A String", # Required. Metric name, e.g., "nodes total", "percent done".
-          "doubleValue": 3.14, # For metrics with floating point value.
-        },
-      ],
-      "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.
-    },
-    "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).
-        "message": "A String", # Human-friendly representation of the condition
-        "code": "A String", # Machine-friendly representation of the condition
-      },
-    ],
-    "selfLink": "A String", # Server-defined URL for the resource.
-    "location": "A String", # [Output only] The name of the Google Compute Engine
+    &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;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;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;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;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;, # A non-parameterized string describing an operation stage.
+          # Unset for single-stage operations.
+    },
+    &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.
+    &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.
   }</pre>
 </div>
 
@@ -4228,13 +4234,19 @@
     The object takes the form of:
 
 { # SetMonitoringServiceRequest sets the monitoring service of a cluster.
-    "projectId": "A String", # Required. Deprecated. The Google Developers Console [project ID or project
+    &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.
-    "monitoringService": "A String", # Required. The monitoring service the cluster should use to write metrics.
+    &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:
         # 
-        # * "monitoring.googleapis.com/kubernetes" - The Cloud Monitoring
+        # * &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).
@@ -4242,14 +4254,8 @@
         # 
         # If left as an empty string,`monitoring.googleapis.com/kubernetes` will be
         # used for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions.
-    "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 monitoring.
-        # Specified in the format 'projects/*/locations/*/clusters/*'.
-    "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.
+    &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/*`.
   }
 
   x__xgafv: string, V1 error format.
@@ -4262,61 +4268,61 @@
 
     { # This operation resource represents operations that may have happened or are
       # happening on the cluster. All fields are output only.
-    "status": "A String", # The current status of the operation.
-    "statusMessage": "A String", # Output only. If an error has occurred, a textual description of the error.
-    "endTime": "A String", # [Output only] The time the operation completed, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-    "name": "A String", # The server-assigned ID for the operation.
-    "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.
-    "clusterConditions": [ # Which conditions caused the current cluster state.
+    &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).
-        "message": "A String", # Human-friendly representation of the condition
-        "code": "A String", # Machine-friendly representation of the condition
+        &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
       },
     ],
-    "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.
-    "targetLink": "A String", # Server-defined URL for the target of the operation.
-    "operationType": "A String", # The operation type.
-    "progress": { # Information about operation (or operation stage) progress. # Output only. [Output only] Progress information for an operation.
-      "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}]
-          # or
-          #   metrics: [{name: "progress",       double_value: 0.56},
-          #             {name: "progress scale", double_value: 1.0}]
-        { # Progress metric is (string, int|float|string) pair.
-          "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
-          "intValue": "A String", # For metrics with integer value.
-          "name": "A String", # Required. Metric name, e.g., "nodes total", "percent done".
-          "doubleValue": 3.14, # For metrics with floating point value.
-        },
-      ],
-      "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.
-    },
-    "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).
-        "message": "A String", # Human-friendly representation of the condition
-        "code": "A String", # Machine-friendly representation of the condition
-      },
-    ],
-    "selfLink": "A String", # Server-defined URL for the resource.
-    "location": "A String", # [Output only] The name of the Google Compute Engine
+    &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;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;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;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;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;, # A non-parameterized string describing an operation stage.
+          # Unset for single-stage operations.
+    },
+    &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.
+    &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.
   }</pre>
 </div>
 
@@ -4340,26 +4346,26 @@
 { # 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
-    "name": "A String", # The name (project, location, cluster id) of the cluster to set labels.
-        # Specified in the format 'projects/*/locations/*/clusters/*'.
-    "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.
-    "projectId": "A String", # 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.
-    "labelFingerprint": "A String", # Required. The fingerprint of the previous set of labels for this resource,
+    &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.
-    "clusterId": "A String", # Required. Deprecated. The name of the cluster.
-        # This field has been deprecated and replaced by the name field.
-    "resourceLabels": { # Required. The labels to set for that cluster.
-      "a_key": "A String",
+    &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 set labels.
+        # Specified in the format `projects/*/locations/*/clusters/*`.
+    &quot;resourceLabels&quot;: { # Required. The labels to set for that cluster.
+      &quot;a_key&quot;: &quot;A String&quot;,
     },
+    &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;clusterId&quot;: &quot;A String&quot;, # Required. Deprecated. The name of the cluster.
+        # This field has been deprecated and replaced by the name field.
   }
 
   x__xgafv: string, V1 error format.
@@ -4372,61 +4378,61 @@
 
     { # This operation resource represents operations that may have happened or are
       # happening on the cluster. All fields are output only.
-    "status": "A String", # The current status of the operation.
-    "statusMessage": "A String", # Output only. If an error has occurred, a textual description of the error.
-    "endTime": "A String", # [Output only] The time the operation completed, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-    "name": "A String", # The server-assigned ID for the operation.
-    "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.
-    "clusterConditions": [ # Which conditions caused the current cluster state.
+    &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).
-        "message": "A String", # Human-friendly representation of the condition
-        "code": "A String", # Machine-friendly representation of the condition
+        &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
       },
     ],
-    "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.
-    "targetLink": "A String", # Server-defined URL for the target of the operation.
-    "operationType": "A String", # The operation type.
-    "progress": { # Information about operation (or operation stage) progress. # Output only. [Output only] Progress information for an operation.
-      "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}]
-          # or
-          #   metrics: [{name: "progress",       double_value: 0.56},
-          #             {name: "progress scale", double_value: 1.0}]
-        { # Progress metric is (string, int|float|string) pair.
-          "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
-          "intValue": "A String", # For metrics with integer value.
-          "name": "A String", # Required. Metric name, e.g., "nodes total", "percent done".
-          "doubleValue": 3.14, # For metrics with floating point value.
-        },
-      ],
-      "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.
-    },
-    "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).
-        "message": "A String", # Human-friendly representation of the condition
-        "code": "A String", # Machine-friendly representation of the condition
-      },
-    ],
-    "selfLink": "A String", # Server-defined URL for the resource.
-    "location": "A String", # [Output only] The name of the Google Compute Engine
+    &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;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;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;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;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;, # A non-parameterized string describing an operation stage.
+          # Unset for single-stage operations.
+    },
+    &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.
+    &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.
   }</pre>
 </div>
 
@@ -4445,26 +4451,36 @@
     The object takes the form of:
 
 { # SetMaintenancePolicyRequest sets the maintenance policy for a cluster.
-    "projectId": "A String", # Required. The Google Developers Console [project ID or project
-        # number](https://support.google.com/cloud/answer/6158840).
-    "maintenancePolicy": { # MaintenancePolicy defines the maintenance policy to be used for the cluster. # Required. The maintenance policy to be set for the cluster. An empty field
+    &quot;clusterId&quot;: &quot;A String&quot;, # Required. The name of the cluster to update.
+    &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.
-      "window": { # MaintenanceWindow defines the maintenance window to be used for the cluster. # Specifies the maintenance window in which maintenance may be performed.
-        "recurringWindow": { # Represents an arbitrary window of time that recurs. # RecurringWindow specifies some number of recurring time periods for
+      &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;window&quot;: { # MaintenanceWindow defines the maintenance window to be used for the cluster. # Specifies the maintenance window in which maintenance may be performed.
+        &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;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.
-          "recurrence": "A String", # An RRULE (https://tools.ietf.org/html/rfc5545#section-3.8.5.3) for how
+          &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'd use:
+              # 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'd use something like:
+              # 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
@@ -4477,41 +4493,31 @@
               #   end time = 2019-01-07T23:59:00Z
               #   recurrence = FREQ=WEEKLY;BYDAY=SA
               # &lt;/code&gt;
-              # Note the start and end time's specific dates are largely arbitrary except
+              # 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.
-          "window": { # Represents an arbitrary window of time. # The window of the first recurrence.
-            "endTime": "A String", # The time that the window ends. The end time should take place after the
+          &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.
-            "startTime": "A String", # The time that the window first starts.
+            &quot;startTime&quot;: &quot;A String&quot;, # The time that the window first starts.
           },
         },
-        "dailyMaintenanceWindow": { # Time window specified for daily maintenance operations. # DailyMaintenanceWindow specifies a daily maintenance operation window.
-          "duration": "A String", # [Output only] Duration of the time window, automatically chosen to be
-              # smallest possible in the given scenario.
-          "startTime": "A String", # Time within the maintenance window to start the maintenance operations.
-              # It must be in format "HH:MM", where HH : [00-23] and MM : [00-59] GMT.
-        },
-        "maintenanceExclusions": { # Exceptions to maintenance window. Non-emergency maintenance should not
+        &quot;maintenanceExclusions&quot;: { # Exceptions to maintenance window. Non-emergency maintenance should not
             # occur in these windows.
-          "a_key": { # Represents an arbitrary window of time.
-            "endTime": "A String", # The time that the window ends. The end time should take place after the
+          &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.
-            "startTime": "A String", # The time that the window first starts.
+            &quot;startTime&quot;: &quot;A String&quot;, # The time that the window first starts.
           },
         },
       },
-      "resourceVersion": "A String", # A hash identifying the version of this policy, so that updates to fields of
-          # the policy won't accidentally undo intermediate changes (and so that users
-          # of the API unaware of some fields won'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.
     },
-    "clusterId": "A String", # Required. The name of the cluster to update.
-    "name": "A String", # The name (project, location, cluster id) of the cluster to set maintenance
+    &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/*'.
-    "zone": "A String", # Required. The name of the Google Compute Engine
+        # Specified in the format `projects/*/locations/*/clusters/*`.
+    &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.
   }
@@ -4526,61 +4532,61 @@
 
     { # This operation resource represents operations that may have happened or are
       # happening on the cluster. All fields are output only.
-    "status": "A String", # The current status of the operation.
-    "statusMessage": "A String", # Output only. If an error has occurred, a textual description of the error.
-    "endTime": "A String", # [Output only] The time the operation completed, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-    "name": "A String", # The server-assigned ID for the operation.
-    "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.
-    "clusterConditions": [ # Which conditions caused the current cluster state.
+    &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).
-        "message": "A String", # Human-friendly representation of the condition
-        "code": "A String", # Machine-friendly representation of the condition
+        &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
       },
     ],
-    "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.
-    "targetLink": "A String", # Server-defined URL for the target of the operation.
-    "operationType": "A String", # The operation type.
-    "progress": { # Information about operation (or operation stage) progress. # Output only. [Output only] Progress information for an operation.
-      "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}]
-          # or
-          #   metrics: [{name: "progress",       double_value: 0.56},
-          #             {name: "progress scale", double_value: 1.0}]
-        { # Progress metric is (string, int|float|string) pair.
-          "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
-          "intValue": "A String", # For metrics with integer value.
-          "name": "A String", # Required. Metric name, e.g., "nodes total", "percent done".
-          "doubleValue": 3.14, # For metrics with floating point value.
-        },
-      ],
-      "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.
-    },
-    "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).
-        "message": "A String", # Human-friendly representation of the condition
-        "code": "A String", # Machine-friendly representation of the condition
-      },
-    ],
-    "selfLink": "A String", # Server-defined URL for the resource.
-    "location": "A String", # [Output only] The name of the Google Compute Engine
+    &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;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;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;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;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;, # A non-parameterized string describing an operation stage.
+          # Unset for single-stage operations.
+    },
+    &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.
+    &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.
   }</pre>
 </div>
 
@@ -4604,39 +4610,39 @@
     The object takes the form of:
 
 { # SetMasterAuthRequest updates the admin password of a cluster.
-    "name": "A String", # The name (project, location, cluster) of the cluster to set auth.
-        # Specified in the format 'projects/*/locations/*/clusters/*'.
-    "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.
-    "projectId": "A String", # Required. Deprecated. The Google Developers Console [project ID or project
+    &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.
-    "clusterId": "A String", # Required. Deprecated. The name of the cluster to upgrade.
+    &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.
-    "update": { # The authentication information for accessing the master endpoint. # Required. A description of the update.
+    &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.
-      "username": "A String", # 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).
-      "clientKey": "A String", # [Output only] Base64-encoded private key used by clients to authenticate
-          # to the cluster endpoint.
-      "clientCertificate": "A String", # [Output only] Base64-encoded public certificate used by clients to
-          # authenticate to the cluster endpoint.
-      "clusterCaCertificate": "A String",
-      "password": "A String", # The password to use for HTTP basic authentication to the master 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.
-      "clientCertificateConfig": { # Configuration for client certificates on the cluster. # Configuration for client certificate authentication on the cluster. For
+      &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.
-        "issueClientCertificate": True or False, # Issue a client certificate.
+        &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).
     },
-    "action": "A String", # Required. The exact form of action to be taken on the master auth.
+    &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.
@@ -4649,61 +4655,61 @@
 
     { # This operation resource represents operations that may have happened or are
       # happening on the cluster. All fields are output only.
-    "status": "A String", # The current status of the operation.
-    "statusMessage": "A String", # Output only. If an error has occurred, a textual description of the error.
-    "endTime": "A String", # [Output only] The time the operation completed, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-    "name": "A String", # The server-assigned ID for the operation.
-    "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.
-    "clusterConditions": [ # Which conditions caused the current cluster state.
+    &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).
-        "message": "A String", # Human-friendly representation of the condition
-        "code": "A String", # Machine-friendly representation of the condition
+        &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
       },
     ],
-    "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.
-    "targetLink": "A String", # Server-defined URL for the target of the operation.
-    "operationType": "A String", # The operation type.
-    "progress": { # Information about operation (or operation stage) progress. # Output only. [Output only] Progress information for an operation.
-      "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}]
-          # or
-          #   metrics: [{name: "progress",       double_value: 0.56},
-          #             {name: "progress scale", double_value: 1.0}]
-        { # Progress metric is (string, int|float|string) pair.
-          "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
-          "intValue": "A String", # For metrics with integer value.
-          "name": "A String", # Required. Metric name, e.g., "nodes total", "percent done".
-          "doubleValue": 3.14, # For metrics with floating point value.
-        },
-      ],
-      "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.
-    },
-    "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).
-        "message": "A String", # Human-friendly representation of the condition
-        "code": "A String", # Machine-friendly representation of the condition
-      },
-    ],
-    "selfLink": "A String", # Server-defined URL for the resource.
-    "location": "A String", # [Output only] The name of the Google Compute Engine
+    &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;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;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;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;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;, # A non-parameterized string describing an operation stage.
+          # Unset for single-stage operations.
+    },
+    &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.
+    &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.
   }</pre>
 </div>
 
@@ -4725,22 +4731,22 @@
     The object takes the form of:
 
 { # SetNetworkPolicyRequest enables/disables network policy for a cluster.
-    "projectId": "A String", # Required. Deprecated. The Google Developers Console [project ID or project
+    &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.
-    "clusterId": "A String", # Required. Deprecated. The name of the cluster.
-        # This field has been deprecated and replaced by the name field.
-    "networkPolicy": { # Configuration options for the NetworkPolicy feature. # Required. Configuration options for the NetworkPolicy feature.
-        # https://kubernetes.io/docs/concepts/services-networking/networkpolicies/
-      "enabled": True or False, # Whether network policy is enabled on the cluster.
-      "provider": "A String", # The selected network policy provider.
-    },
-    "zone": "A String", # Required. Deprecated. The name of the Google Compute Engine
+    &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.
-    "name": "A String", # The name (project, location, cluster id) of the cluster to set networking
-        # policy. 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;networkPolicy&quot;: { # Configuration options for the NetworkPolicy feature. # Required. Configuration options for the NetworkPolicy feature.
+        # https://kubernetes.io/docs/concepts/services-networking/networkpolicies/
+      &quot;enabled&quot;: True or False, # Whether network policy is enabled on the cluster.
+      &quot;provider&quot;: &quot;A String&quot;, # The selected network policy provider.
+    },
+    &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.
@@ -4753,61 +4759,61 @@
 
     { # This operation resource represents operations that may have happened or are
       # happening on the cluster. All fields are output only.
-    "status": "A String", # The current status of the operation.
-    "statusMessage": "A String", # Output only. If an error has occurred, a textual description of the error.
-    "endTime": "A String", # [Output only] The time the operation completed, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-    "name": "A String", # The server-assigned ID for the operation.
-    "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.
-    "clusterConditions": [ # Which conditions caused the current cluster state.
+    &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).
-        "message": "A String", # Human-friendly representation of the condition
-        "code": "A String", # Machine-friendly representation of the condition
+        &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
       },
     ],
-    "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.
-    "targetLink": "A String", # Server-defined URL for the target of the operation.
-    "operationType": "A String", # The operation type.
-    "progress": { # Information about operation (or operation stage) progress. # Output only. [Output only] Progress information for an operation.
-      "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}]
-          # or
-          #   metrics: [{name: "progress",       double_value: 0.56},
-          #             {name: "progress scale", double_value: 1.0}]
-        { # Progress metric is (string, int|float|string) pair.
-          "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
-          "intValue": "A String", # For metrics with integer value.
-          "name": "A String", # Required. Metric name, e.g., "nodes total", "percent done".
-          "doubleValue": 3.14, # For metrics with floating point value.
-        },
-      ],
-      "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.
-    },
-    "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).
-        "message": "A String", # Human-friendly representation of the condition
-        "code": "A String", # Machine-friendly representation of the condition
-      },
-    ],
-    "selfLink": "A String", # Server-defined URL for the resource.
-    "location": "A String", # [Output only] The name of the Google Compute Engine
+    &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;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;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;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;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;, # A non-parameterized string describing an operation stage.
+          # Unset for single-stage operations.
+    },
+    &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.
+    &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.
   }</pre>
 </div>
 
@@ -4830,18 +4836,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.
-    "projectId": "A String", # Required. Deprecated. The Google Developers Console [project ID or project
+    &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.
-    "rotateCredentials": True or False, # Whether to rotate credentials during IP rotation.
-    "clusterId": "A String", # Required. Deprecated. The name of the cluster.
-        # This field has been deprecated and replaced by the name field.
-    "name": "A String", # The name (project, location, cluster id) of the cluster to start IP
-        # rotation. Specified in the format 'projects/*/locations/*/clusters/*'.
-    "zone": "A String", # Required. Deprecated. The name of the Google Compute Engine
+    &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.
+        # 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.
@@ -4854,61 +4860,61 @@
 
     { # This operation resource represents operations that may have happened or are
       # happening on the cluster. All fields are output only.
-    "status": "A String", # The current status of the operation.
-    "statusMessage": "A String", # Output only. If an error has occurred, a textual description of the error.
-    "endTime": "A String", # [Output only] The time the operation completed, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-    "name": "A String", # The server-assigned ID for the operation.
-    "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.
-    "clusterConditions": [ # Which conditions caused the current cluster state.
+    &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).
-        "message": "A String", # Human-friendly representation of the condition
-        "code": "A String", # Machine-friendly representation of the condition
+        &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
       },
     ],
-    "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.
-    "targetLink": "A String", # Server-defined URL for the target of the operation.
-    "operationType": "A String", # The operation type.
-    "progress": { # Information about operation (or operation stage) progress. # Output only. [Output only] Progress information for an operation.
-      "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}]
-          # or
-          #   metrics: [{name: "progress",       double_value: 0.56},
-          #             {name: "progress scale", double_value: 1.0}]
-        { # Progress metric is (string, int|float|string) pair.
-          "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
-          "intValue": "A String", # For metrics with integer value.
-          "name": "A String", # Required. Metric name, e.g., "nodes total", "percent done".
-          "doubleValue": 3.14, # For metrics with floating point value.
-        },
-      ],
-      "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.
-    },
-    "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).
-        "message": "A String", # Human-friendly representation of the condition
-        "code": "A String", # Machine-friendly representation of the condition
-      },
-    ],
-    "selfLink": "A String", # Server-defined URL for the resource.
-    "location": "A String", # [Output only] The name of the Google Compute Engine
+    &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;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;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;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;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;, # A non-parameterized string describing an operation stage.
+          # Unset for single-stage operations.
+    },
+    &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.
+    &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.
   }</pre>
 </div>
 
@@ -4930,69 +4936,164 @@
     The object takes the form of:
 
 { # UpdateClusterRequest updates the settings of a cluster.
-    "projectId": "A String", # Required. Deprecated. The Google Developers Console [project ID or project
+    &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.
-    "clusterId": "A String", # Required. Deprecated. The name of the cluster to upgrade.
+    &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.
-    "update": { # ClusterUpdate describes an update to the cluster. Exactly one update can # Required. A description of the update.
+    &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.
-      "desiredLoggingService": "A String", # 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.
-      "desiredNodePoolId": "A String", # The node pool to be upgraded. This field is mandatory if
-          # "desired_node_version", "desired_image_family",
-          # "desired_node_pool_autoscaling", or "desired_workload_metadata_config"
-          # is specified and there is more than one node pool on the cluster.
-      "desiredImageType": "A String", # The desired image type for the node pool.
-          # NOTE: Set the "desired_node_pool" field as well.
-      "desiredClusterTelemetry": { # Telemetry integration for the cluster. # The desired telemetry integration for the cluster.
-        "type": "A String", # Type of the integration.
+      &quot;desiredPrivateClusterConfig&quot;: { # Configuration options for private clusters. # The desired private cluster configuration.
+        &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;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.
       },
-      "desiredClusterAutoscaling": { # ClusterAutoscaling contains global, per-cluster information # Cluster-level autoscaling configuration.
+      &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;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;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;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;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;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;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;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;desiredNodeVersion&quot;: &quot;A String&quot;, # The Kubernetes version to change the nodes to (typically an
+          # upgrade).
+          #
+          # 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;: picks the Kubernetes master version
+      &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;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;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.
-        "autoprovisioningNodePoolDefaults": { # AutoprovisioningNodePoolDefaults contains defaults for a node pool created # AutoprovisioningNodePoolDefaults contains defaults for a node pool
+        &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.
-          "minCpuPlatform": "A String", # Minimum CPU platform to be used for NAP created node pools.
+          &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;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;autoUpgrade&quot;: True or False, # Whether the nodes will be automatically upgraded.
+            &quot;autoRepair&quot;: True or False, # Whether the nodes will be automatically repaired.
+            &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;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 "automatic" as field value.
-          "management": { # NodeManagement defines the set of node management services turned on for the # Specifies the node management options for NAP created node-pools.
-              # node pool.
-            "upgradeOptions": { # 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.
-              "description": "A String", # [Output only] This field is set when upgrades are about to commence
-                  # with the description of the upgrade.
-              "autoUpgradeStartTime": "A String", # [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.
-            },
-            "autoRepair": True or False, # Whether the nodes will be automatically repaired.
-            "autoUpgrade": True or False, # Whether the nodes will be automatically upgraded.
-          },
-          "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs. If
-              # service_account is specified, scopes should be empty.
-          "oauthScopes": [ # Scopes that are used by NAP when creating node pools. If oauth_scopes are
-              # specified, service_account should be empty.
-            "A String",
-          ],
-          "upgradeSettings": { # These upgrade settings control the level of parallelism and the level of # Specifies the upgrade settings for NAP created node pools
+              # To unset the min cpu platform field pass &quot;automatic&quot; as field value.
+          &quot;upgradeSettings&quot;: { # These upgrade settings control the level of parallelism and the level of # Specifies the upgrade settings for NAP created node pools
               # disruption caused by an upgrade.
               #
               # maxUnavailable controls the number of nodes that can be simultaneously
@@ -5015,193 +5116,81 @@
               # 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.
-            "maxSurge": 42, # The maximum number of nodes that can be created beyond the current size
+            &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.
-            "maxUnavailable": 42, # The maximum number of nodes that can be simultaneously unavailable during
+            &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;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.
         },
-        "resourceLimits": [ # 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.
-            "resourceType": "A String", # Resource name "cpu", "memory" or gpu-specific string.
-            "minimum": "A String", # Minimum amount of the resource in the cluster.
-            "maximum": "A String", # Maximum amount of the resource in the cluster.
+        &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;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;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.
           },
         ],
-        "autoprovisioningLocations": [ # The list of Google Compute Engine
-            # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
-            # NodePool's nodes can be created by NAP.
-          "A String",
-        ],
-        "autoscalingProfile": "A String", # Defines autoscaling behaviour.
-        "enableNodeAutoprovisioning": True or False, # Enables automatic node pool creation and deletion.
+        &quot;enabled&quot;: True or False, # Whether or not master authorized networks is enabled.
       },
-      "desiredNodePoolAutoscaling": { # NodePoolAutoscaling contains information required by cluster autoscaler to # Autoscaler configuration for the node pool specified in
+      &quot;desiredTpuConfig&quot;: { # Configuration for Cloud TPU. # The desired Cloud TPU configuration.
+        &quot;enabled&quot;: True or False, # Whether Cloud TPU integration is enabled or not.
+        &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;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;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;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.
-        "minNodeCount": 42, # Minimum number of nodes in the NodePool. Must be &gt;= 1 and &lt;=
+        &quot;minNodeCount&quot;: 42, # Minimum number of nodes in the NodePool. Must be &gt;= 1 and &lt;=
             # max_node_count.
-        "autoprovisioned": True or False, # Can this node pool be deleted automatically.
-        "enabled": True or False, # Is autoscaling enabled for this node pool.
-        "maxNodeCount": 42, # Maximum number of nodes in the NodePool. Must be &gt;= min_node_count. There
+        &quot;autoprovisioned&quot;: True or False, # Can this node pool be deleted automatically.
+        &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.
       },
-      "desiredVerticalPodAutoscaling": { # 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.
-        "enabled": True or False, # Enables vertical pod autoscaling.
-      },
-      "desiredNodeVersion": "A String", # The Kubernetes version to change the nodes to (typically an
-          # upgrade).
-          #
-          # Users may specify either explicit versions offered by
-          # Kubernetes Engine or version aliases, which have the following behavior:
-          #
-          # - "latest": picks the highest valid Kubernetes version
-          # - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
-          # - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
-          # - "1.X.Y-gke.N": picks an explicit Kubernetes version
-          # - "-": picks the Kubernetes master version
-      "desiredWorkloadIdentityConfig": { # Configuration for the use of Kubernetes Service Accounts in GCP IAM # Configuration for Workload Identity.
-          # policies.
-        "workloadPool": "A String", # The workload pool to attach all Kubernetes service accounts to.
-        "identityNamespace": "A String", # IAM Identity Namespace to attach all Kubernetes Service Accounts to.
-      },
-      "desiredPodSecurityPolicyConfig": { # Configuration for the PodSecurityPolicy feature. # The desired configuration options for the PodSecurityPolicy feature.
-        "enabled": True or False, # Enable the PodSecurityPolicy controller for this cluster. If enabled, pods
-            # must be valid under a PodSecurityPolicy to be created.
-      },
-      "desiredAddonsConfig": { # 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.
-        "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
-            # is enabled for the nodes.
-            # is enabled or not on the Master, it does not track whether network policy
-            # 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.
-        },
-        "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.
-        },
-        "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.
-        },
-        "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
-            # 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.
-          "disabled": 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.
-        },
-        "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.
-        },
-        "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.
-        },
-        "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.
-        },
-        "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.
-        },
-        "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.
-        },
-      },
-      "desiredTpuConfig": { # Configuration for Cloud TPU. # The desired Cloud TPU configuration.
-        "useServiceNetworking": True or False, # Whether to use service networking for Cloud TPU or not.
-        "ipv4CidrBlock": "A String", # IPv4 CIDR block reserved for Cloud TPU in the VPC.
-        "enabled": True or False, # Whether Cloud TPU integration is enabled or not.
-      },
-      "desiredResourceUsageExportConfig": { # Configuration for exporting cluster resource usages. # The desired configuration for exporting resource usage.
-        "bigqueryDestination": { # Parameters for using BigQuery as the destination of resource usage export. # Configuration to use BigQuery as usage export destination.
-          "datasetId": "A String", # The ID of a BigQuery Dataset.
-        },
-        "enableNetworkEgressMetering": 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.
-        "consumptionMeteringConfig": { # Parameters for controlling consumption metering. # Configuration to enable resource consumption metering.
-          "enabled": 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.
-        },
-      },
-      "desiredIntraNodeVisibilityConfig": { # IntraNodeVisibilityConfig contains the desired config of the intra-node # The desired config of Intra-node visibility.
-          # visibility on this cluster.
-        "enabled": True or False, # Enables intra node visibility for this cluster.
-      },
-      "desiredMasterAuthorizedNetworksConfig": { # 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.
-        "enabled": True or False, # Whether or not master authorized networks is enabled.
-        "cidrBlocks": [ # cidr_blocks define up to 10 external networks that could access
-            # Kubernetes master through HTTPS.
-          { # CidrBlock contains an optional name and one CIDR block.
-            "cidrBlock": "A String", # cidr_block must be specified in CIDR notation.
-            "displayName": "A String", # display_name is an optional field for users to identify CIDR blocks.
-          },
-        ],
-      },
-      "desiredReleaseChannel": { # 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.
-        "channel": "A String", # channel specifies which release channel the cluster is subscribed to.
-      },
-      "desiredLocations": [ # The desired list of Google Compute Engine
-          # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
-          # cluster'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's primary zone.
-        "A String",
-      ],
-      "desiredMasterVersion": "A String", # The Kubernetes version to change the master to. The only valid value is the
-          # latest supported version.
-          #
-          # Users may specify either explicit versions offered by
-          # Kubernetes Engine or version aliases, which have the following behavior:
-          #
-          # - "latest": picks the highest valid Kubernetes version
-          # - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
-          # - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
-          # - "1.X.Y-gke.N": picks an explicit Kubernetes version
-          # - "-": picks the default Kubernetes version
-      "desiredMonitoringService": "A String", # The monitoring service the cluster should use to write metrics.
+      &quot;desiredMonitoringService&quot;: &quot;A String&quot;, # The monitoring service the cluster should use to write metrics.
           # Currently available options:
           #
-          # * "monitoring.googleapis.com/kubernetes" - The Cloud Monitoring
+          # * &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).
@@ -5209,41 +5198,58 @@
           #
           # If left as an empty string,`monitoring.googleapis.com/kubernetes` will be
           # used for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions.
-      "desiredBinaryAuthorization": { # Configuration for Binary Authorization. # The desired configuration options for the Binary Authorization feature.
-        "enabled": True or False, # Enable Binary Authorization for this cluster. If enabled, all container
-            # images will be validated by Google Binauthz.
+      &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;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.
       },
-      "desiredPrivateClusterConfig": { # Configuration options for private clusters. # The desired private cluster configuration.
-        "enablePrivateEndpoint": True or False, # Whether the master's internal IP address is used as the cluster endpoint.
-        "publicEndpoint": "A String", # Output only. The external IP address of this cluster's master endpoint.
-        "masterGlobalAccessConfig": { # Configuration for controlling master global access settings. # Controls master global access settings.
-          "enabled": True or False, # Whenever master is accessible globally or not.
-        },
-        "enablePrivateNodes": 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.
-        "privateEndpoint": "A String", # Output only. The internal IP address of this cluster's master endpoint.
-        "masterIpv4CidrBlock": "A String", # 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's network.
-        "peeringName": "A String", # Output only. The peering name in the customer VPC used by 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;workloadPool&quot;: &quot;A String&quot;, # The workload pool to attach all Kubernetes service accounts to.
       },
-      "desiredShieldedNodes": { # Configuration of Shielded Nodes feature. # Configuration for Shielded Nodes.
-        "enabled": True or False, # Whether Shielded Nodes features are enabled on all nodes in this cluster.
+      &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;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.
       },
-      "desiredDatabaseEncryption": { # Configuration of etcd encryption. # Configuration of etcd encryption.
-        "state": "A String", # Denotes the state of etcd encryption.
-        "keyName": "A String", # 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;desiredMasterVersion&quot;: &quot;A String&quot;, # The Kubernetes version to change the master to. The only valid value is the
+          # latest supported version.
+          #
+          # 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;: picks the default Kubernetes version
+      &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;desiredLoggingService&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.
     },
-    "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.
-    "name": "A String", # The name (project, location, cluster) of the cluster to update.
-        # Specified in the format 'projects/*/locations/*/clusters/*'.
+    &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.
@@ -5256,61 +5262,61 @@
 
     { # This operation resource represents operations that may have happened or are
       # happening on the cluster. All fields are output only.
-    "status": "A String", # The current status of the operation.
-    "statusMessage": "A String", # Output only. If an error has occurred, a textual description of the error.
-    "endTime": "A String", # [Output only] The time the operation completed, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-    "name": "A String", # The server-assigned ID for the operation.
-    "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.
-    "clusterConditions": [ # Which conditions caused the current cluster state.
+    &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).
-        "message": "A String", # Human-friendly representation of the condition
-        "code": "A String", # Machine-friendly representation of the condition
+        &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
       },
     ],
-    "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.
-    "targetLink": "A String", # Server-defined URL for the target of the operation.
-    "operationType": "A String", # The operation type.
-    "progress": { # Information about operation (or operation stage) progress. # Output only. [Output only] Progress information for an operation.
-      "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}]
-          # or
-          #   metrics: [{name: "progress",       double_value: 0.56},
-          #             {name: "progress scale", double_value: 1.0}]
-        { # Progress metric is (string, int|float|string) pair.
-          "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
-          "intValue": "A String", # For metrics with integer value.
-          "name": "A String", # Required. Metric name, e.g., "nodes total", "percent done".
-          "doubleValue": 3.14, # For metrics with floating point value.
-        },
-      ],
-      "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.
-    },
-    "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).
-        "message": "A String", # Human-friendly representation of the condition
-        "code": "A String", # Machine-friendly representation of the condition
-      },
-    ],
-    "selfLink": "A String", # Server-defined URL for the resource.
-    "location": "A String", # [Output only] The name of the Google Compute Engine
+    &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;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;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;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;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;, # A non-parameterized string describing an operation stage.
+          # Unset for single-stage operations.
+    },
+    &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.
+    &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.
   }</pre>
 </div>