docs: update generated docs (#981)

diff --git a/docs/dyn/container_v1.projects.zones.clusters.html b/docs/dyn/container_v1.projects.zones.clusters.html
index 375dec6..6fcd34c 100644
--- a/docs/dyn/container_v1.projects.zones.clusters.html
+++ b/docs/dyn/container_v1.projects.zones.clusters.html
@@ -149,31 +149,27 @@
     The object takes the form of:
 
 { # SetAddonsConfigRequest sets the addons associated with the cluster.
-    "name": "A String", # The name (project, location, cluster) of the cluster to set addons.
-        # Specified in the format `projects/*/locations/*/clusters/*`.
-    "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project
-        # number](https://support.google.com/cloud/answer/6158840).
-        # This field has been deprecated and replaced by the name field.
-    "zone": "A String", # Deprecated. The name of the Google Compute Engine
-        # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
-        # cluster resides. This field has been deprecated and replaced by the name
-        # field.
-    "clusterId": "A String", # Deprecated. The name of the cluster to upgrade.
-        # 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
         # 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.
+      "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.
       },
       "cloudRunConfig": { # Configuration options for the Cloud Run feature. # Configuration for the Cloud Run addon, which allows the user to use a
           # managed Knative service.
         "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.
+      },
       "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.
@@ -183,21 +179,28 @@
             # When enabled, it ensures that metrics are collected into Stackdriver
             # Monitoring.
       },
-      "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.
+      "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.
       },
-      "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.
+      "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.
       },
     },
+    "clusterId": "A String", # Deprecated. The name of the cluster to upgrade.
+        # This field has been deprecated and replaced by the name field.
+    "projectId": "A String", # 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 addons.
+        # Specified in the format `projects/*/locations/*/clusters/*`.
+    "zone": "A String", # 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.
@@ -210,19 +213,9 @@
 
     { # This operation resource represents operations that may have happened or are
       # happening on the cluster. All fields are output only.
-    "clusterConditions": [ # Which conditions caused the current cluster state.
-      { # StatusCondition describes why a cluster or a node pool has a certain status
-          # (e.g., ERROR or DEGRADED).
-        "code": "A String", # Machine-friendly representation of the condition
-        "message": "A String", # Human-friendly representation of the condition
-      },
-    ],
     "progress": { # Information about operation (or operation stage) progress. # Output only. [Output only] Progress information for an operation.
       "name": "A String", # A non-parameterized string describing an operation stage.
           # Unset for single-stage operations.
-      "stages": [ # Substages of an operation or a stage.
-        # Object with schema name: OperationProgress
-      ],
       "metrics": [ # Progress metric bundle, for example:
           #   metrics: [{name: "nodes done",     int_value: 15},
           #             {name: "nodes total",    int_value: 32}]
@@ -230,41 +223,51 @@
           #   metrics: [{name: "progress",       double_value: 0.56},
           #             {name: "progress scale", double_value: 1.0}]
         { # Progress metric is (string, int|float|string) pair.
-          "name": "A String", # Required. Metric name, e.g., "nodes total", "percent done".
+          "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
           "doubleValue": 3.14, # For metrics with floating point value.
           "intValue": "A String", # For metrics with integer value.
-          "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
+          "name": "A String", # Required. Metric name, e.g., "nodes total", "percent done".
         },
       ],
       "status": "A String", # Status of an operation stage.
           # Unset for single-stage operations.
+      "stages": [ # Substages of an operation or a stage.
+        # Object with schema name: OperationProgress
+      ],
     },
+    "targetLink": "A String", # Server-defined URL for the target of the operation.
+    "status": "A String", # The current status of the operation.
+    "operationType": "A String", # The operation type.
+    "startTime": "A String", # [Output only] The time the operation started, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    "clusterConditions": [ # Which conditions caused the current cluster state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        "message": "A String", # Human-friendly representation of the condition
+        "code": "A String", # Machine-friendly representation of the condition
+      },
+    ],
     "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.
-    "statusMessage": "A String", # Output only. If an error has occurred, a textual description of the error.
     "selfLink": "A String", # Server-defined URL for the resource.
-    "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.
-    "status": "A String", # The current status of the operation.
     "name": "A String", # The server-assigned ID for the operation.
+    "detail": "A String", # Detailed operation progress, if available.
+    "endTime": "A String", # [Output only] The time the operation completed, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
     "nodepoolConditions": [ # Which conditions caused the current node pool state.
       { # StatusCondition describes why a cluster or a node pool has a certain status
           # (e.g., ERROR or DEGRADED).
-        "code": "A String", # Machine-friendly representation of the condition
         "message": "A String", # Human-friendly representation of the condition
+        "code": "A String", # Machine-friendly representation of the condition
       },
     ],
-    "endTime": "A String", # [Output only] The time the operation completed, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
     "location": "A String", # [Output only] The name of the Google Compute Engine
         # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
         # or
         # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
         # in which the cluster resides.
-    "startTime": "A String", # [Output only] The time the operation started, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    "statusMessage": "A String", # Output only. If an error has occurred, a textual description of the error.
   }</pre>
 </div>
 
@@ -286,10 +289,10 @@
     The object takes the form of:
 
 { # CompleteIPRotationRequest moves the cluster master back into single-IP mode.
-    &quot;clusterId&quot;: &quot;A String&quot;, # Deprecated. The name of the cluster.
-        # This field has been deprecated and replaced by the name field.
     &quot;name&quot;: &quot;A String&quot;, # The name (project, location, cluster id) of the cluster to complete IP
         # rotation. Specified in the format `projects/*/locations/*/clusters/*`.
+    &quot;clusterId&quot;: &quot;A String&quot;, # Deprecated. The name of the cluster.
+        # This field has been deprecated and replaced by the name field.
     &quot;projectId&quot;: &quot;A String&quot;, # 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.
@@ -309,19 +312,9 @@
 
     { # This operation resource represents operations that may have happened or are
       # happening on the cluster. All fields are output only.
-    &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;name&quot;: &quot;A String&quot;, # A non-parameterized string describing an operation stage.
           # Unset for single-stage operations.
-      &quot;stages&quot;: [ # Substages of an operation or a stage.
-        # Object with schema name: OperationProgress
-      ],
       &quot;metrics&quot;: [ # Progress metric bundle, for example:
           #   metrics: [{name: &quot;nodes done&quot;,     int_value: 15},
           #             {name: &quot;nodes total&quot;,    int_value: 32}]
@@ -329,41 +322,51 @@
           #   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;stringValue&quot;: &quot;A String&quot;, # For metrics with custom values (ratios, visual progress, etc.).
           &quot;doubleValue&quot;: 3.14, # For metrics with floating point value.
           &quot;intValue&quot;: &quot;A String&quot;, # For metrics with integer value.
-          &quot;stringValue&quot;: &quot;A String&quot;, # For metrics with custom values (ratios, visual progress, etc.).
+          &quot;name&quot;: &quot;A String&quot;, # Required. Metric name, e.g., &quot;nodes total&quot;, &quot;percent done&quot;.
         },
       ],
       &quot;status&quot;: &quot;A String&quot;, # Status of an operation stage.
           # Unset for single-stage operations.
+      &quot;stages&quot;: [ # Substages of an operation or a stage.
+        # Object with schema name: OperationProgress
+      ],
     },
+    &quot;targetLink&quot;: &quot;A String&quot;, # Server-defined URL for the target of the operation.
+    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
+    &quot;operationType&quot;: &quot;A String&quot;, # The operation type.
+    &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;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
+      },
+    ],
     &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;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
-    &quot;targetLink&quot;: &quot;A String&quot;, # Server-defined URL for the target of the operation.
-    &quot;operationType&quot;: &quot;A String&quot;, # The operation type.
-    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
     &quot;name&quot;: &quot;A String&quot;, # The server-assigned ID for the operation.
+    &quot;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
+    &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;nodepoolConditions&quot;: [ # Which conditions caused the current node pool state.
       { # StatusCondition describes why a cluster or a node pool has a certain status
           # (e.g., ERROR or DEGRADED).
-        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
         &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
       },
     ],
-    &quot;endTime&quot;: &quot;A String&quot;, # [Output only] The time the operation completed, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
     &quot;location&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
         # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
         # or
         # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
         # in which the cluster resides.
-    &quot;startTime&quot;: &quot;A String&quot;, # [Output only] The time the operation started, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    &quot;statusMessage&quot;: &quot;A String&quot;, # Output only. If an error has occurred, a textual description of the error.
   }</pre>
 </div>
 
@@ -396,237 +399,153 @@
     The object takes the form of:
 
 { # CreateClusterRequest creates a cluster.
+    &quot;zone&quot;: &quot;A String&quot;, # Deprecated. The name of the Google Compute Engine
+        # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
+        # cluster resides. This field has been deprecated and replaced by the parent
+        # field.
     &quot;parent&quot;: &quot;A String&quot;, # The parent (project and location) where the cluster will be created.
         # Specified in the format `projects/*/locations/*`.
     &quot;cluster&quot;: { # A Google Kubernetes Engine cluster. # Required. A [cluster
-        # resource](https://cloud.google.com/container-engine/reference/rest/v1/projects.zones.clusters)
-      &quot;createTime&quot;: &quot;A String&quot;, # [Output only] The time the cluster was created, in
-          # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-      &quot;clusterIpv4Cidr&quot;: &quot;A String&quot;, # The IP address range of the container pods in this cluster, in
-          # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
-          # notation (e.g. `10.96.0.0/14`). Leave blank to have
-          # one automatically chosen or specify a `/14` block in `10.0.0.0/8`.
-      &quot;autoscaling&quot;: { # ClusterAutoscaling contains global, per-cluster information # Cluster-level autoscaling configuration.
-          # required by Cluster Autoscaler to automatically adjust
-          # the size of the cluster and create/delete
-          # node pools based on the current needs.
-        &quot;autoprovisioningLocations&quot;: [ # The list of Google Compute Engine
-            # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
-            # NodePool&#x27;s nodes can be created by NAP.
-          &quot;A String&quot;,
-        ],
-        &quot;resourceLimits&quot;: [ # Contains global constraints regarding minimum and maximum
-            # amount of resources in the cluster.
-          { # Contains information about amount of some resource in the cluster.
-              # For memory, value should be in GB.
-            &quot;minimum&quot;: &quot;A String&quot;, # Minimum amount of the resource in the cluster.
-            &quot;maximum&quot;: &quot;A String&quot;, # Maximum amount of the resource in the cluster.
-            &quot;resourceType&quot;: &quot;A String&quot;, # Resource name &quot;cpu&quot;, &quot;memory&quot; or gpu-specific string.
-          },
-        ],
-        &quot;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;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;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;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;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;autoRepair&quot;: True or False, # A flag that specifies whether the node auto-repair is enabled for the node
-                # pool. If enabled, the nodes in this node pool will be monitored and, if
-                # they fail health checks too many times, an automatic repair action will be
-                # triggered.
-            &quot;autoUpgrade&quot;: True or False, # A flag that specifies whether node auto-upgrade is enabled for the node
-                # pool. If enabled, node auto-upgrade helps keep the nodes in your node pool
-                # up to date with the latest release version of Kubernetes.
-          },
-          &quot;oauthScopes&quot;: [ # Scopes that are used by NAP when creating node pools. If oauth_scopes are
-              # specified, service_account should be empty.
-            &quot;A String&quot;,
-          ],
-          &quot;upgradeSettings&quot;: { # These upgrade settings control the level of parallelism and the level of # Specifies the upgrade settings for NAP created node pools
-              # disruption caused by an upgrade.
-              #
-              # maxUnavailable controls the number of nodes that can be simultaneously
-              # unavailable.
-              #
-              # maxSurge controls the number of additional nodes that can be added to the
-              # node pool temporarily for the time of the upgrade to increase the number of
-              # available nodes.
-              #
-              # (maxUnavailable + maxSurge) determines the level of parallelism (how many
-              # nodes are being upgraded at the same time).
-              #
-              # Note: upgrades inevitably introduce some disruption since workloads need to
-              # be moved from old nodes to new, upgraded ones. Even if maxUnavailable=0,
-              # this holds true. (Disruption stays within the limits of
-              # PodDisruptionBudget, if it is configured.)
-              #
-              # Consider a hypothetical node pool with 5 nodes having maxSurge=2,
-              # maxUnavailable=1. This means the upgrade process upgrades 3 nodes
-              # simultaneously. It creates 2 additional (upgraded) nodes, then it brings
-              # down 3 old (not yet upgraded) nodes at the same time. This ensures that
-              # there are always at least 4 nodes available.
-            &quot;maxUnavailable&quot;: 42, # The maximum number of nodes that can be simultaneously unavailable during
-                # the upgrade process. A node is considered available if its status is
-                # Ready.
-            &quot;maxSurge&quot;: 42, # The maximum number of nodes that can be created beyond the current size
-                # of the node pool during the upgrade process.
-          },
-          &quot;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.
-        },
+        # resource](https://cloud.google.com/container-engine/reference/rest/v1/projects.locations.clusters)
+      &quot;currentMasterVersion&quot;: &quot;A String&quot;, # [Output only] The current software version of the master endpoint.
+      &quot;currentNodeVersion&quot;: &quot;A String&quot;, # [Output only] Deprecated, use
+          # [NodePools.version](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/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;authenticatorGroupsConfig&quot;: { # Configuration for returning group information from authenticators. # Configuration controlling RBAC group membership information.
+        &quot;securityGroup&quot;: &quot;A String&quot;, # The name of the security group-of-groups to be used. Only relevant
+            # if enabled = true.
+        &quot;enabled&quot;: True or False, # Whether this cluster should return group membership lookups
+            # during authentication using a group of security groups.
       },
-      &quot;initialNodeCount&quot;: 42, # The number of nodes to create in this cluster. You must ensure that your
-          # Compute Engine &lt;a href=&quot;/compute/docs/resource-quotas&quot;&gt;resource quota&lt;/a&gt;
-          # is sufficient for this number of instances. You must also have available
-          # firewall and routes quota.
-          # For requests, this field should only be used in lieu of a
-          # &quot;node_pool&quot; object, since this configuration (along with the
-          # &quot;node_config&quot;) will be used to create a &quot;NodePool&quot; object with an
-          # auto-generated name. Do not use this and a node_pool at the same time.
+      &quot;enableKubernetesAlpha&quot;: True or False, # Kubernetes alpha features are enabled on this cluster. This includes alpha
+          # API groups (e.g. v1alpha1) 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;ipAllocationPolicy&quot;: { # Configuration for controlling how IPs are allocated in the cluster. # Configuration for cluster IP allocation.
+        &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 is true and
+            # create_subnetwork is false.
+        &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;nodeIpv4Cidr&quot;: &quot;A String&quot;, # This field is deprecated, use node_ipv4_cidr_block.
+        &quot;servicesIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP address range of the services IPs in this cluster. If blank, a range
+            # will be automatically chosen with the default size.
+            #
+            # This field is only applicable when `use_ip_aliases` is true.
+            #
+            # Set to blank to have a range chosen with the default size.
+            #
+            # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
+            # netmask.
+            #
+            # Set to a
+            # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+            # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
+            # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
+            # to use.
+        &quot;servicesIpv4Cidr&quot;: &quot;A String&quot;, # This field is deprecated, use services_ipv4_cidr_block.
+        &quot;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 is true and
+            # create_subnetwork is false.
+        &quot;tpuIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP address range of the Cloud TPUs in this cluster. If unspecified, a
+            # range will be automatically chosen with the default size.
+            #
+            # This field is only applicable when `use_ip_aliases` is true.
+            #
+            # If unspecified, the range will use the default size.
+            #
+            # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
+            # netmask.
+            #
+            # Set to a
+            # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+            # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
+            # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
+            # to use.
+        &quot;nodeIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP address range of the instance IPs in this cluster.
+            #
+            # This is applicable only if `create_subnetwork` is true.
+            #
+            # Set to blank to have a range chosen with the default size.
+            #
+            # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
+            # netmask.
+            #
+            # Set to a
+            # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+            # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
+            # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
+            # to use.
+        &quot;useIpAliases&quot;: True or False, # Whether alias IPs will be used for pod IPs in the cluster.
+        &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;clusterIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP address range for the cluster pod IPs. If this field is set, then
+            # `cluster.cluster_ipv4_cidr` must be left blank.
+            #
+            # This field is only applicable when `use_ip_aliases` is true.
+            #
+            # Set to blank to have a range chosen with the default size.
+            #
+            # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
+            # netmask.
+            #
+            # Set to a
+            # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+            # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
+            # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
+            # to use.
+        &quot;clusterIpv4Cidr&quot;: &quot;A String&quot;, # This field is deprecated, use cluster_ipv4_cidr_block.
+      },
+      &quot;loggingService&quot;: &quot;A String&quot;, # The logging service the cluster should use to write logs.
+          # Currently available options:
           #
-          # 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;masterIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP range in CIDR notation to use for the hosted master network. This
-            # range will be used for assigning internal IP addresses to the master or
-            # set of masters, as well as the ILB VIP. This range must not overlap with
-            # any other ranges in use within the cluster&#x27;s network.
-        &quot;enablePrivateNodes&quot;: True or False, # Whether nodes have internal IP addresses only. If enabled, all nodes are
-            # given only RFC 1918 private addresses and communicate with the master via
-            # private networking.
-        &quot;privateEndpoint&quot;: &quot;A String&quot;, # Output only. The internal IP address of this cluster&#x27;s master endpoint.
-        &quot;enablePrivateEndpoint&quot;: True or False, # Whether the master&#x27;s internal IP address is used as the cluster endpoint.
-        &quot;peeringName&quot;: &quot;A String&quot;, # Output only. The peering name in the customer VPC used by this cluster.
-        &quot;publicEndpoint&quot;: &quot;A String&quot;, # Output only. The external IP address of this cluster&#x27;s master endpoint.
+          # * `logging.googleapis.com/kubernetes` - The Cloud Logging
+          # service with a Kubernetes-native resource model
+          # * `logging.googleapis.com` - The legacy Cloud Logging service (no longer
+          #   available as of GKE 1.15).
+          # * `none` - no logs will be exported from the cluster.
+          #
+          # If left as an empty string,`logging.googleapis.com/kubernetes` will be
+          # used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.
+      &quot;zone&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
+          # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
+          # cluster resides. This field is deprecated, use location instead.
+      &quot;legacyAbac&quot;: { # Configuration for the legacy Attribute Based Access Control authorization # Configuration for the legacy ABAC authorization mode.
+          # mode.
+        &quot;enabled&quot;: True or False, # Whether the ABAC authorizer is enabled for this cluster. When enabled,
+            # identities in the system, including service accounts, nodes, and
+            # controllers, will have statically granted permissions beyond those
+            # provided by the RBAC configuration or IAM.
       },
-      &quot;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;resourceLabels&quot;: { # The resource labels for the cluster to use to annotate any related
+          # Google Compute Engine resources.
+        &quot;a_key&quot;: &quot;A String&quot;,
       },
-      &quot;verticalPodAutoscaling&quot;: { # VerticalPodAutoscaling contains global, per-cluster information # Cluster-level Vertical Pod Autoscaling configuration.
-          # required by Vertical Pod Autoscaler to automatically adjust
-          # the resources of pods controlled by it.
-        &quot;enabled&quot;: True or False, # Enables vertical pod autoscaling.
-      },
-      &quot;defaultMaxPodsConstraint&quot;: { # Constraints applied to pods. # The default constraint on the maximum number of pods that can be run
-          # simultaneously on a node in the node pool of this cluster. Only honored
-          # if cluster created with IP Alias support.
-        &quot;maxPodsPerNode&quot;: &quot;A String&quot;, # Constraint enforced on the max num of pods per node.
-      },
-      &quot;network&quot;: &quot;A String&quot;, # The name of the Google Compute Engine
-          # [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks)
-          # to which the cluster is connected. If left unspecified, the `default`
-          # network will be used.
-      &quot;labelFingerprint&quot;: &quot;A String&quot;, # The fingerprint of the set of labels for this cluster.
       &quot;nodeIpv4CidrSize&quot;: 42, # [Output only] The size of the address space on each node for hosting
           # containers. This is provisioned from within the `container_ipv4_cidr`
           # range. This field will only be set when cluster is in route-based network
           # mode.
-      &quot;masterAuthorizedNetworksConfig&quot;: { # Configuration options for the master authorized networks feature. Enabled # The configuration options for master authorized networks feature.
-          # master authorized networks will disallow all external traffic to access
-          # Kubernetes master through HTTPS except traffic from the given CIDR blocks,
-          # Google Compute Engine Public IPs and Google Prod IPs.
-        &quot;cidrBlocks&quot;: [ # cidr_blocks define up to 50 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;, # [Output only] Base64-encoded public certificate that is the root of
-            # trust for the cluster.
-        &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;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;cloudRunConfig&quot;: { # Configuration options for the Cloud Run feature. # Configuration for the Cloud Run addon, which allows the user to use a
-            # managed Knative service.
-          &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;currentNodeVersion&quot;: &quot;A String&quot;, # [Output only] Deprecated, use
-          # [NodePools.version](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.zones.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.
-      &quot;resourceLabels&quot;: { # The resource labels for the cluster to use to annotate any related
-          # Google Compute Engine resources.
-        &quot;a_key&quot;: &quot;A String&quot;,
+      &quot;releaseChannel&quot;: { # ReleaseChannel indicates which release channel a cluster is # Release channel configuration.
+          # subscribed to. Release channels are arranged in order of risk.
+          #
+          # When a cluster is subscribed to a release channel, Google maintains
+          # both the master version and the node version. Node auto-upgrade
+          # defaults to true and cannot be disabled.
+        &quot;channel&quot;: &quot;A String&quot;, # channel specifies which release channel the cluster is subscribed to.
       },
       &quot;maintenancePolicy&quot;: { # MaintenancePolicy defines the maintenance policy to be used for the cluster. # Configure the maintenance policy for this cluster.
         &quot;window&quot;: { # MaintenanceWindow defines the maintenance window to be used for the cluster. # Specifies the maintenance window in which maintenance may be performed.
@@ -638,6 +557,15 @@
               &quot;startTime&quot;: &quot;A String&quot;, # The time that the window first starts.
             },
           },
+          &quot;dailyMaintenanceWindow&quot;: { # Time window specified for daily maintenance operations. # DailyMaintenanceWindow specifies a daily maintenance operation window.
+            &quot;duration&quot;: &quot;A String&quot;, # [Output only] Duration of the time window, automatically chosen to be
+                # smallest possible in the given scenario.
+                # Duration will be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)
+                # format &quot;PTnHnMnS&quot;.
+            &quot;startTime&quot;: &quot;A String&quot;, # Time within the maintenance window to start the maintenance operations.
+                # Time format should be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)
+                # 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.
@@ -674,15 +602,6 @@
                 # to specify duration of the window and when it first starts.
                 # The FREQ values of HOURLY, MINUTELY, and SECONDLY are not supported.
           },
-          &quot;dailyMaintenanceWindow&quot;: { # Time window specified for daily maintenance operations. # DailyMaintenanceWindow specifies a daily maintenance operation window.
-            &quot;startTime&quot;: &quot;A String&quot;, # Time within the maintenance window to start the maintenance operations.
-                # Time format should be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)
-                # format &quot;HH:MM&quot;, where HH : [00-23] and MM : [00-59] GMT.
-            &quot;duration&quot;: &quot;A String&quot;, # [Output only] Duration of the time window, automatically chosen to be
-                # smallest possible in the given scenario.
-                # Duration will be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)
-                # format &quot;PTnHnMnS&quot;.
-          },
         },
         &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
@@ -690,157 +609,96 @@
             # 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;initialClusterVersion&quot;: &quot;A String&quot;, # The initial Kubernetes version for this cluster.  Valid versions are those
-          # found in validMasterVersions returned by getServerConfig.  The version can
-          # be upgraded over time; such upgrades are reflected in
-          # currentMasterVersion and currentNodeVersion.
+      &quot;monitoringService&quot;: &quot;A String&quot;, # The monitoring service the cluster should use to write metrics.
+          # Currently available options:
           #
-          # Users may specify either explicit versions offered by
-          # Kubernetes Engine or version aliases, which have the following behavior:
+          # * &quot;monitoring.googleapis.com/kubernetes&quot; - The Cloud Monitoring
+          # service with a Kubernetes-native resource model
+          # * `monitoring.googleapis.com` - The legacy Cloud Monitoring service (no
+          #   longer available as of GKE 1.15).
+          # * `none` - No metrics will be exported from the cluster.
           #
-          # - &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;nodeIpv4Cidr&quot;: &quot;A String&quot;, # This field is deprecated, use node_ipv4_cidr_block.
-        &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 is true and
-            # create_subnetwork is false.
-        &quot;clusterIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP address range for the cluster pod IPs. If this field is set, then
-            # `cluster.cluster_ipv4_cidr` must be left blank.
-            #
-            # This field is only applicable when `use_ip_aliases` is true.
-            #
-            # Set to blank to have a range chosen with the default size.
-            #
-            # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
-            # netmask.
-            #
-            # Set to a
-            # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
-            # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
-            # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
-            # to use.
-        &quot;nodeIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP address range of the instance IPs in this cluster.
-            #
-            # This is applicable only if `create_subnetwork` is true.
-            #
-            # Set to blank to have a range chosen with the default size.
-            #
-            # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
-            # netmask.
-            #
-            # Set to a
-            # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
-            # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
-            # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
-            # to use.
-        &quot;tpuIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP address range of the Cloud TPUs in this cluster. If unspecified, a
-            # range will be automatically chosen with the default size.
-            #
-            # This field is only applicable when `use_ip_aliases` is true.
-            #
-            # If unspecified, the range will use the default size.
-            #
-            # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
-            # netmask.
-            #
-            # Set to a
-            # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
-            # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
-            # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
-            # to use.
-        &quot;useIpAliases&quot;: True or False, # Whether alias IPs will be used for pod IPs in the cluster.
-        &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 is true and
-            # create_subnetwork is false.
-        &quot;createSubnetwork&quot;: True or False, # Whether a new subnetwork will be created automatically for the cluster.
-            #
-            # This field is only applicable when `use_ip_aliases` is true.
-        &quot;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.
-        &quot;servicesIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP address range of the services IPs in this cluster. If blank, a range
-            # will be automatically chosen with the default size.
-            #
-            # This field is only applicable when `use_ip_aliases` is true.
-            #
-            # Set to blank to have a range chosen with the default size.
-            #
-            # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
-            # netmask.
-            #
-            # Set to a
-            # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
-            # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
-            # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
-            # to use.
+          # If left as an empty string,`monitoring.googleapis.com/kubernetes` will be
+          # used for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions.
+      &quot;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 Binary Authorization.
       },
-      &quot;legacyAbac&quot;: { # Configuration for the legacy Attribute Based Access Control authorization # Configuration for the legacy ABAC authorization mode.
-          # mode.
-        &quot;enabled&quot;: True or False, # Whether the ABAC authorizer is enabled for this cluster. When enabled,
-            # identities in the system, including service accounts, nodes, and
-            # controllers, will have statically granted permissions beyond those
-            # provided by the RBAC configuration or IAM.
-      },
-      &quot;resourceUsageExportConfig&quot;: { # Configuration for exporting cluster resource usages. # Configuration for exporting resource usages. Resource usage export is
-          # disabled when this config is unspecified.
-        &quot;enableNetworkEgressMetering&quot;: True or False, # Whether to enable network egress metering for this cluster. If enabled, a
-            # daemonset will be created in the cluster to meter network egress traffic.
-        &quot;consumptionMeteringConfig&quot;: { # Parameters for controlling consumption metering. # Configuration to enable resource consumption metering.
-          &quot;enabled&quot;: True or False, # Whether to enable consumption metering for this cluster. If enabled, a
-              # second BigQuery table will be created to hold resource consumption
-              # records.
-        },
-        &quot;bigqueryDestination&quot;: { # Parameters for using BigQuery as the destination of resource usage export. # Configuration to use BigQuery as usage export destination.
-          &quot;datasetId&quot;: &quot;A String&quot;, # The ID of a BigQuery Dataset.
-        },
-      },
-      &quot;enableTpu&quot;: True or False, # Enable the ability to use Cloud TPUs in this cluster.
-      &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;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;instanceGroupUrls&quot;: [ # Deprecated. Use node_pools.instance_group_urls.
         &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&#x27;s node pool.
-            # Node pools are a set of nodes (i.e. VM&#x27;s), with a common configuration and
-            # specification, under the control of the cluster master. They may have a set
-            # of Kubernetes labels applied to them, which may be used to reference them
-            # during pod scheduling. They may also be resized up or down, to accommodate
-            # the workload.
-          &quot;statusMessage&quot;: &quot;A String&quot;, # [Output only] Additional information about the current status of this
-              # node pool instance, if available.
-          &quot;autoscaling&quot;: { # NodePoolAutoscaling contains information required by cluster autoscaler to # Autoscaler configuration for this NodePool. Autoscaler is enabled
-              # only if a valid configuration is present.
-              # adjust the size of the node pool to the current cluster usage.
-            &quot;maxNodeCount&quot;: 42, # Maximum number of nodes in the NodePool. Must be &gt;= min_node_count. There
-                # has to enough quota to scale up the cluster.
-            &quot;autoprovisioned&quot;: True or False, # Can this node pool be deleted automatically.
-            &quot;minNodeCount&quot;: 42, # Minimum number of nodes in the NodePool. Must be &gt;= 1 and &lt;=
-                # max_node_count.
-            &quot;enabled&quot;: True or False, # Is autoscaling enabled for this node pool.
+      &quot;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;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;masterAuthorizedNetworksConfig&quot;: { # Configuration options for the master authorized networks feature. Enabled # The configuration options for master authorized networks feature.
+          # master authorized networks will disallow all external traffic to access
+          # Kubernetes master through HTTPS except traffic from the given CIDR blocks,
+          # Google Compute Engine Public IPs and Google Prod IPs.
+        &quot;enabled&quot;: True or False, # Whether or not master authorized networks is enabled.
+        &quot;cidrBlocks&quot;: [ # cidr_blocks define up to 50 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;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;selfLink&quot;: &quot;A String&quot;, # [Output only] Server-defined URL for the resource.
-          &quot;upgradeSettings&quot;: { # These upgrade settings control the level of parallelism and the level of # Upgrade settings control disruption and speed of the upgrade.
+        ],
+      },
+      &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;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+          &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
+        },
+      ],
+      &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.
+      &quot;status&quot;: &quot;A String&quot;, # [Output only] The current status of this cluster.
+      &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;minimum&quot;: &quot;A String&quot;, # Minimum 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;maximum&quot;: &quot;A String&quot;, # Maximum amount of the resource in the cluster.
+          },
+        ],
+        &quot;autoprovisioningNodePoolDefaults&quot;: { # AutoprovisioningNodePoolDefaults contains defaults for a node pool created # AutoprovisioningNodePoolDefaults contains defaults for a node pool
+            # created by NAP.
+            # by NAP.
+          &quot;serviceAccount&quot;: &quot;A String&quot;, # The Google Cloud Platform Service Account to be used by the node VMs.
+          &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;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;autoRepair&quot;: True or False, # A flag that specifies whether the node auto-repair is enabled for the node
+                # pool. If enabled, the nodes in this node pool will be monitored and, if
+                # they fail health checks too many times, an automatic repair action will be
+                # triggered.
+            &quot;autoUpgrade&quot;: True or False, # A flag that specifies whether node auto-upgrade is enabled for the node
+                # pool. If enabled, node auto-upgrade helps keep the nodes in your node pool
+                # up to date with the latest release version of Kubernetes.
+          },
+          &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
@@ -869,284 +727,32 @@
             &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;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;oauthScopes&quot;: [ # Scopes that are used by NAP when creating node pools.
             &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.
-            &quot;A String&quot;,
-          ],
-          &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
-            },
-          ],
-          &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;oauthScopes&quot;: [ # The set of Google API scopes to be made available on all of the
-                # node VMs under the &quot;default&quot; service account.
-                #
-                # The following scopes are recommended, but not required, and by default are
-                # not included:
-                #
-                # * `https://www.googleapis.com/auth/compute` is required for mounting
-                # persistent storage on your nodes.
-                # * `https://www.googleapis.com/auth/devstorage.read_only` is required for
-                # communicating with **gcr.io**
-                # (the [Google Container
-                # Registry](https://cloud.google.com/container-registry/)).
-                #
-                # If unspecified, no scopes are added, unless Cloud Logging or Cloud
-                # Monitoring are enabled, in which case their required scopes will be added.
-              &quot;A String&quot;,
-            ],
-            &quot;taints&quot;: [ # List of kubernetes taints to be applied to each node.
-                #
-                # For more information, including usage and the valid values, see:
-                # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
-              { # Kubernetes taint is comprised of three fields: key, value, and effect. Effect
-                  # can only be one of three types:  NoSchedule, PreferNoSchedule or NoExecute.
-                  #
-                  # See
-                  # [here](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration)
-                  # for more information, including usage and the valid values.
-                &quot;effect&quot;: &quot;A String&quot;, # Effect for taint.
-                &quot;value&quot;: &quot;A String&quot;, # Value for taint.
-                &quot;key&quot;: &quot;A String&quot;, # Key for taint.
-              },
-            ],
-            &quot;labels&quot;: { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
-                # These will added in addition to any default label(s) that
-                # Kubernetes may apply to the node.
-                # In case of conflict in label keys, the applied set may differ depending on
-                # the Kubernetes version -- it&#x27;s best to assume the behavior is undefined
-                # and conflicts should be avoided.
-                # For more information, including usage and the valid values, see:
-                # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
-              &quot;a_key&quot;: &quot;A String&quot;,
-            },
-            &quot;diskSizeGb&quot;: 42, # Size of the disk attached to each node, specified in GB.
-                # The smallest allowed disk size is 10GB.
-                #
-                # If unspecified, the default disk size is 100GB.
-            &quot;workloadMetadataConfig&quot;: { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node.
-                # workloads on the node pool.
-              &quot;mode&quot;: &quot;A String&quot;, # Mode is the configuration for how to expose metadata to workloads running
-                  # on the node pool.
-            },
-            &quot;accelerators&quot;: [ # A list of hardware accelerators to be attached to each node.
-                # See https://cloud.google.com/compute/docs/gpus for more information about
-                # support for GPUs.
-              { # AcceleratorConfig represents a Hardware Accelerator request.
-                &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators
-                    # [here](https://cloud.google.com/compute/docs/gpus)
-                &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
-              },
-            ],
-            &quot;machineType&quot;: &quot;A String&quot;, # The name of a Google Compute Engine [machine
-                # type](https://cloud.google.com/compute/docs/machine-types) (e.g.
-                # `n1-standard-1`).
-                #
-                # If unspecified, the default machine type is
-                # `n1-standard-1`.
-            &quot;diskType&quot;: &quot;A String&quot;, # Type of the disk attached to each node (e.g. &#x27;pd-standard&#x27; or &#x27;pd-ssd&#x27;)
-                #
-                # If unspecified, the default disk type is &#x27;pd-standard&#x27;
-            &quot;shieldedInstanceConfig&quot;: { # A set of Shielded Instance options. # Shielded Instance options.
-              &quot;enableIntegrityMonitoring&quot;: True or False, # Defines whether the instance has integrity monitoring enabled.
-                  #
-                  # Enables monitoring and attestation of the boot integrity of the instance.
-                  # The attestation is performed against the integrity policy baseline. This
-                  # baseline is initially derived from the implicitly trusted boot image when
-                  # the instance is created.
-              &quot;enableSecureBoot&quot;: True or False, # Defines whether the instance has Secure Boot enabled.
-                  #
-                  # Secure Boot helps ensure that the system only runs authentic software by
-                  # verifying the digital signature of all boot components, and halting the
-                  # boot process if signature verification fails.
-            },
-            &quot;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
-                # information about preemptible VM instances.
-            &quot;localSsdCount&quot;: 42, # The number of local SSD disks to be attached to the node.
-                #
-                # The limit for this value is dependent upon the maximum number of
-                # disks available on a machine per zone. See:
-                # https://cloud.google.com/compute/docs/disks/local-ssd
-                # for more information.
-            &quot;sandboxConfig&quot;: { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node.
-              &quot;type&quot;: &quot;A String&quot;, # Type of the sandbox to use for the node.
-            },
-            &quot;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-os-login&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;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;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;tags&quot;: [ # The list of instance tags applied to all nodes. Tags are used to identify
-                # valid sources or targets for network firewalls and are specified by
-                # the client during cluster or node pool creation. Each tag within the list
-                # must comply with RFC1035.
-              &quot;A String&quot;,
-            ],
-            &quot;serviceAccount&quot;: &quot;A String&quot;, # The Google Cloud Platform Service Account to be used by the node VMs.
-                # Specify the email address of the Service Account; otherwise, if no Service
-                # Account is specified, the &quot;default&quot; service account is used.
-            &quot;imageType&quot;: &quot;A String&quot;, # The image type to use for this node. Note that for a given image type,
-                # the latest version of it will be used.
-          },
-          &quot;maxPodsConstraint&quot;: { # Constraints applied to pods. # The constraint on the maximum number of pods that can be run
-              # simultaneously on a node in the node pool.
-            &quot;maxPodsPerNode&quot;: &quot;A String&quot;, # Constraint enforced on the max num of pods per node.
-          },
-          &quot;name&quot;: &quot;A String&quot;, # The name of the node pool.
-          &quot;management&quot;: { # NodeManagement defines the set of node management services turned on for the # NodeManagement configuration for this NodePool.
-              # node pool.
-            &quot;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;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;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;autoRepair&quot;: True or False, # A flag that specifies whether the node auto-repair is enabled for the node
-                # pool. If enabled, the nodes in this node pool will be monitored and, if
-                # they fail health checks too many times, an automatic repair action will be
-                # triggered.
-            &quot;autoUpgrade&quot;: True or False, # A flag that specifies whether node auto-upgrade is enabled for the node
-                # pool. If enabled, node auto-upgrade helps keep the nodes in your node pool
-                # up to date with the latest release version of Kubernetes.
-          },
         },
-      ],
-      &quot;selfLink&quot;: &quot;A String&quot;, # [Output only] Server-defined URL for the resource.
+        &quot;enableNodeAutoprovisioning&quot;: True or False, # Enables automatic node pool creation and deletion.
+        &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;labelFingerprint&quot;: &quot;A String&quot;, # The fingerprint of the set of labels for this cluster.
       &quot;networkPolicy&quot;: { # Configuration options for the NetworkPolicy feature. # Configuration options for the NetworkPolicy feature.
           # https://kubernetes.io/docs/concepts/services-networking/networkpolicies/
-        &quot;provider&quot;: &quot;A String&quot;, # The selected network policy provider.
         &quot;enabled&quot;: True or False, # Whether network policy is enabled on the cluster.
+        &quot;provider&quot;: &quot;A String&quot;, # The selected network policy provider.
       },
-      &quot;servicesIpv4Cidr&quot;: &quot;A String&quot;, # [Output only] The IP address range of the Kubernetes services in
-          # this cluster, in
+      &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. `1.2.3.4/29`). Service addresses are
-          # typically put in the last `/16` from the container CIDR.
-      &quot;enableKubernetesAlpha&quot;: True or False, # Kubernetes alpha features are enabled on this cluster. This includes alpha
-          # API groups (e.g. v1alpha1) 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;currentNodeCount&quot;: 42, # [Output only]  The number of nodes currently in the cluster. Deprecated.
-          # Call Kubernetes API directly to retrieve node information.
-      &quot;monitoringService&quot;: &quot;A String&quot;, # The monitoring service the cluster should use to write metrics.
-          # Currently available options:
-          #
-          # * &quot;monitoring.googleapis.com/kubernetes&quot; - The Cloud Monitoring
-          # service with a Kubernetes-native resource model
-          # * `monitoring.googleapis.com` - The legacy Cloud Monitoring service (no
-          #   longer available as of GKE 1.15).
-          # * `none` - No metrics will be exported from the cluster.
-          #
-          # If left as an empty string,`monitoring.googleapis.com/kubernetes` will be
-          # used for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions.
-      &quot;databaseEncryption&quot;: { # Configuration of etcd encryption. # Configuration of etcd encryption.
-        &quot;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;state&quot;: &quot;A String&quot;, # Denotes the state of etcd encryption.
+          # notation (e.g. `10.96.0.0/14`). Leave blank to have
+          # one automatically chosen or specify a `/14` block in `10.0.0.0/8`.
+      &quot;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;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 Binary Authorization.
-      },
-      &quot;tpuIpv4CidrBlock&quot;: &quot;A String&quot;, # [Output only] The IP address range of the Cloud TPUs in this cluster, in
-          # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
-          # notation (e.g. `1.2.3.4/29`).
-      &quot;workloadIdentityConfig&quot;: { # Configuration for the use of Kubernetes Service Accounts in GCP IAM # Configuration for the use of Kubernetes Service Accounts in GCP IAM
-          # policies.
-          # policies.
-        &quot;workloadPool&quot;: &quot;A String&quot;, # The workload pool to attach all Kubernetes service accounts to.
-      },
-      &quot;zone&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
-          # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
-          # cluster resides. This field is deprecated, use location instead.
-      &quot;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;loggingService&quot;: &quot;A String&quot;, # The logging service the cluster should use to write logs.
-          # Currently available options:
-          #
-          # * `logging.googleapis.com/kubernetes` - The Cloud Logging
-          # service with a Kubernetes-native resource model
-          # * `logging.googleapis.com` - The legacy Cloud Logging service (no longer
-          #   available as of GKE 1.15).
-          # * `none` - no logs will be exported from the cluster.
-          #
-          # If left as an empty string,`logging.googleapis.com/kubernetes` will be
-          # used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.
       &quot;nodeConfig&quot;: { # Parameters that describe the nodes in a cluster. # Parameters used in creating the cluster&#x27;s nodes.
           # For requests, this field should only be used in lieu of a
           # &quot;node_pool&quot; object, since this configuration (along with the
@@ -1158,6 +764,39 @@
           #
           # If unspecified, the defaults are used.
           # This field is deprecated, use node_pool.config instead.
+        &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;enableIntegrityMonitoring&quot;: True or False, # Defines whether the instance has integrity monitoring enabled.
+              #
+              # Enables monitoring and attestation of the boot integrity of the instance.
+              # The attestation is performed against the integrity policy baseline. This
+              # baseline is initially derived from the implicitly trusted boot image when
+              # the instance is created.
+          &quot;enableSecureBoot&quot;: True or False, # Defines whether the instance has Secure Boot enabled.
+              #
+              # Secure Boot helps ensure that the system only runs authentic software by
+              # verifying the digital signature of all boot components, and halting the
+              # boot process if signature verification fails.
+        },
+        &quot;labels&quot;: { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
+            # These will added in addition to any default label(s) that
+            # Kubernetes may apply to the node.
+            # In case of conflict in label keys, the applied set may differ depending on
+            # the Kubernetes version -- it&#x27;s best to assume the behavior is undefined
+            # and conflicts should be avoided.
+            # For more information, including usage and the valid values, see:
+            # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
+          &quot;a_key&quot;: &quot;A String&quot;,
+        },
         &quot;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.
             #
@@ -1175,6 +814,19 @@
             # Monitoring are enabled, in which case their required scopes will be added.
           &quot;A String&quot;,
         ],
+        &quot;minCpuPlatform&quot;: &quot;A String&quot;, # Minimum CPU platform to be used by this instance. The instance may be
+            # scheduled on the specified or newer CPU platform. Applicable values are the
+            # friendly names of CPU platforms, such as
+            # &lt;code&gt;minCpuPlatform: &amp;quot;Intel Haswell&amp;quot;&lt;/code&gt; or
+            # &lt;code&gt;minCpuPlatform: &amp;quot;Intel Sandy Bridge&amp;quot;&lt;/code&gt;. For more
+            # information, read [how to specify min CPU
+            # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
+        &quot;localSsdCount&quot;: 42, # The number of local SSD disks to be attached to the node.
+            #
+            # The limit for this value is dependent upon the maximum number of
+            # disks available on a machine per zone. See:
+            # https://cloud.google.com/compute/docs/disks/local-ssd
+            # for more information.
         &quot;taints&quot;: [ # List of kubernetes taints to be applied to each node.
             #
             # For more information, including usage and the valid values, see:
@@ -1185,80 +837,37 @@
               # See
               # [here](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration)
               # for more information, including usage and the valid values.
-            &quot;effect&quot;: &quot;A String&quot;, # Effect for taint.
             &quot;value&quot;: &quot;A String&quot;, # Value for taint.
             &quot;key&quot;: &quot;A String&quot;, # Key for taint.
+            &quot;effect&quot;: &quot;A String&quot;, # Effect for taint.
           },
         ],
-        &quot;labels&quot;: { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
-            # These will added in addition to any default label(s) that
-            # Kubernetes may apply to the node.
-            # In case of conflict in label keys, the applied set may differ depending on
-            # the Kubernetes version -- it&#x27;s best to assume the behavior is undefined
-            # and conflicts should be avoided.
-            # For more information, including usage and the valid values, see:
-            # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
-          &quot;a_key&quot;: &quot;A String&quot;,
+        &quot;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;reservationAffinity&quot;: { # [ReservationAffinity](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources) # The optional reservation affinity. Setting this field will apply
+            # the specified [Zonal Compute
+            # Reservation](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources)
+            # to this node pool.
+            # is the configuration of desired reservation which instances could take
+            # capacity from.
+          &quot;consumeReservationType&quot;: &quot;A String&quot;, # Corresponds to the type of reservation consumption.
+          &quot;key&quot;: &quot;A String&quot;, # Corresponds to the label key of a reservation resource. To target a
+              # SPECIFIC_RESERVATION by name, specify &quot;googleapis.com/reservation-name&quot; as
+              # the key and specify the name of your reservation as its value.
+          &quot;values&quot;: [ # Corresponds to the label value(s) of reservation resource(s).
+            &quot;A String&quot;,
+          ],
         },
-        &quot;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;mode&quot;: &quot;A String&quot;, # Mode is the configuration for how to expose metadata to workloads running
-              # on the node pool.
-        },
-        &quot;accelerators&quot;: [ # A list of hardware accelerators to be attached to each node.
-            # See https://cloud.google.com/compute/docs/gpus for more information about
-            # support for GPUs.
-          { # AcceleratorConfig represents a Hardware Accelerator request.
-            &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators
-                # [here](https://cloud.google.com/compute/docs/gpus)
-            &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
-          },
-        ],
         &quot;machineType&quot;: &quot;A String&quot;, # The name of a Google Compute Engine [machine
             # type](https://cloud.google.com/compute/docs/machine-types) (e.g.
             # `n1-standard-1`).
             #
             # If unspecified, the default machine type is
             # `n1-standard-1`.
-        &quot;diskType&quot;: &quot;A String&quot;, # Type of the disk attached to each node (e.g. &#x27;pd-standard&#x27; or &#x27;pd-ssd&#x27;)
-            #
-            # If unspecified, the default disk type is &#x27;pd-standard&#x27;
-        &quot;shieldedInstanceConfig&quot;: { # A set of Shielded Instance options. # Shielded Instance options.
-          &quot;enableIntegrityMonitoring&quot;: True or False, # Defines whether the instance has integrity monitoring enabled.
-              #
-              # Enables monitoring and attestation of the boot integrity of the instance.
-              # The attestation is performed against the integrity policy baseline. This
-              # baseline is initially derived from the implicitly trusted boot image when
-              # the instance is created.
-          &quot;enableSecureBoot&quot;: True or False, # Defines whether the instance has Secure Boot enabled.
-              #
-              # Secure Boot helps ensure that the system only runs authentic software by
-              # verifying the digital signature of all boot components, and halting the
-              # boot process if signature verification fails.
-        },
-        &quot;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
-            # information about preemptible VM instances.
-        &quot;localSsdCount&quot;: 42, # The number of local SSD disks to be attached to the node.
-            #
-            # The limit for this value is dependent upon the maximum number of
-            # disks available on a machine per zone. See:
-            # https://cloud.google.com/compute/docs/disks/local-ssd
-            # for more information.
-        &quot;sandboxConfig&quot;: { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node.
-          &quot;type&quot;: &quot;A String&quot;, # Type of the sandbox to use for the node.
-        },
+        &quot;nodeGroup&quot;: &quot;A String&quot;, # Setting this field will assign instances of this
+            # pool to run on the specified node group. This is useful for running
+            # workloads on [sole tenant
+            # nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes).
         &quot;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
@@ -1293,45 +902,63 @@
             # 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;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;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;tags&quot;: [ # The list of instance tags applied to all nodes. Tags are used to identify
             # valid sources or targets for network firewalls and are specified by
             # the client during cluster or node pool creation. Each tag within the list
             # must comply with RFC1035.
           &quot;A String&quot;,
         ],
+        &quot;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;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
+            # information about preemptible VM instances.
+        &quot;workloadMetadataConfig&quot;: { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node.
+            # workloads on the node pool.
+          &quot;mode&quot;: &quot;A String&quot;, # Mode is the configuration for how to expose metadata to workloads running
+              # on the node 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;serviceAccount&quot;: &quot;A String&quot;, # The Google Cloud Platform Service Account to be used by the node VMs.
             # Specify the email address of the Service Account; otherwise, if no Service
             # Account is specified, the &quot;default&quot; service account is used.
-        &quot;imageType&quot;: &quot;A String&quot;, # The image type to use for this node. Note that for a given image type,
-            # the latest version of it will be used.
+        &quot;accelerators&quot;: [ # A list of hardware accelerators to be attached to each node.
+            # See https://cloud.google.com/compute/docs/gpus for more information about
+            # support for GPUs.
+          { # AcceleratorConfig represents a Hardware Accelerator request.
+            &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators
+                # [here](https://cloud.google.com/compute/docs/gpus)
+            &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
+          },
+        ],
       },
-      &quot;status&quot;: &quot;A String&quot;, # [Output only] The current status of this cluster.
-      &quot;networkConfig&quot;: { # NetworkConfig reports the relative names of network &amp; subnetwork. # Configuration for cluster networking.
-        &quot;enableIntraNodeVisibility&quot;: True or False, # Whether Intra-node visibility is enabled for this cluster.
-            # This makes same node pod to pod traffic visible for VPC network.
-        &quot;subnetwork&quot;: &quot;A String&quot;, # Output only. The relative name of the Google Compute Engine
-            # [subnetwork](https://cloud.google.com/compute/docs/vpc) to which the
-            # cluster is connected. Example:
-            # projects/my-project/regions/us-central1/subnetworks/my-subnet
-        &quot;network&quot;: &quot;A String&quot;, # Output only. The relative name of the Google Compute Engine
-            # network(https://cloud.google.com/compute/docs/networks-and-firewalls#networks)
-            # to which the cluster is connected. Example:
-            # projects/my-project/global/networks/my-network
+      &quot;resourceUsageExportConfig&quot;: { # Configuration for exporting cluster resource usages. # Configuration for exporting resource usages. Resource usage export is
+          # disabled when this config is 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;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;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;initialNodeCount&quot;: 42, # The number of nodes to create in this cluster. You must ensure that your
+          # Compute Engine [resource quota](https://cloud.google.com/compute/quotas)
+          # is sufficient for this number of instances. You must also have available
+          # firewall and routes quota.
+          # For requests, this field should only be used in lieu of a
+          # &quot;node_pool&quot; object, since this configuration (along with the
+          # &quot;node_config&quot;) will be used to create a &quot;NodePool&quot; object with an
+          # auto-generated name. Do not use this and a node_pool at the same time.
+          #
+          # This field is deprecated, use node_pool.initial_node_count instead.
       &quot;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:
@@ -1339,25 +966,432 @@
           # * 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/`.
+      &quot;workloadIdentityConfig&quot;: { # Configuration for the use of Kubernetes Service Accounts in GCP IAM # Configuration for the use of Kubernetes Service Accounts in GCP IAM
+          # policies.
+          # policies.
+        &quot;workloadPool&quot;: &quot;A String&quot;, # The workload pool to attach all Kubernetes service accounts to.
+      },
+      &quot;networkConfig&quot;: { # NetworkConfig reports the relative names of network &amp; subnetwork. # Configuration for cluster networking.
+        &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;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;databaseEncryption&quot;: { # Configuration of etcd encryption. # Configuration of etcd encryption.
+        &quot;state&quot;: &quot;A String&quot;, # Denotes the state of etcd encryption.
+        &quot;keyName&quot;: &quot;A String&quot;, # Name of CloudKMS key to use for the encryption of secrets in etcd.
+            # Ex. projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-key
+      },
+      &quot;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;peeringName&quot;: &quot;A String&quot;, # Output only. The peering name in the customer VPC used by this cluster.
+        &quot;enablePrivateNodes&quot;: True or False, # Whether nodes have internal IP addresses only. If enabled, all nodes are
+            # given only RFC 1918 private addresses and communicate with the master via
+            # private networking.
+        &quot;publicEndpoint&quot;: &quot;A String&quot;, # Output only. The external IP address of this cluster&#x27;s master endpoint.
+        &quot;enablePrivateEndpoint&quot;: True or False, # Whether the master&#x27;s internal IP address is used as the cluster endpoint.
+        &quot;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;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;nodePools&quot;: [ # The node pools associated with this cluster.
+          # This field should not be set if &quot;node_config&quot; or &quot;initial_node_count&quot; are
+          # specified.
+        { # NodePool contains the name and configuration for a cluster&#x27;s node pool.
+            # Node pools are a set of nodes (i.e. VM&#x27;s), with a common configuration and
+            # specification, under the control of the cluster master. They may have a set
+            # of Kubernetes labels applied to them, which may be used to reference them
+            # during pod scheduling. They may also be resized up or down, to accommodate
+            # the workload.
+          &quot;selfLink&quot;: &quot;A String&quot;, # [Output only] Server-defined URL for the resource.
+          &quot;management&quot;: { # NodeManagement defines the set of node management services turned on for the # NodeManagement configuration for this NodePool.
+              # node pool.
+            &quot;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;autoRepair&quot;: True or False, # A flag that specifies whether the node auto-repair is enabled for the node
+                # pool. If enabled, the nodes in this node pool will be monitored and, if
+                # they fail health checks too many times, an automatic repair action will be
+                # triggered.
+            &quot;autoUpgrade&quot;: True or False, # A flag that specifies whether node auto-upgrade is enabled for the node
+                # pool. If enabled, node auto-upgrade helps keep the nodes in your node pool
+                # up to date with the latest release version of Kubernetes.
+          },
+          &quot;upgradeSettings&quot;: { # These upgrade settings control the level of parallelism and the level of # Upgrade settings control disruption and speed of the upgrade.
+              # disruption caused by an upgrade.
+              #
+              # maxUnavailable controls the number of nodes that can be simultaneously
+              # unavailable.
+              #
+              # maxSurge controls the number of additional nodes that can be added to the
+              # node pool temporarily for the time of the upgrade to increase the number of
+              # available nodes.
+              #
+              # (maxUnavailable + maxSurge) determines the level of parallelism (how many
+              # nodes are being upgraded at the same time).
+              #
+              # Note: upgrades inevitably introduce some disruption since workloads need to
+              # be moved from old nodes to new, upgraded ones. Even if maxUnavailable=0,
+              # this holds true. (Disruption stays within the limits of
+              # PodDisruptionBudget, if it is configured.)
+              #
+              # Consider a hypothetical node pool with 5 nodes having maxSurge=2,
+              # maxUnavailable=1. This means the upgrade process upgrades 3 nodes
+              # simultaneously. It creates 2 additional (upgraded) nodes, then it brings
+              # down 3 old (not yet upgraded) nodes at the same time. This ensures that
+              # there are always at least 4 nodes available.
+            &quot;maxUnavailable&quot;: 42, # The maximum number of nodes that can be simultaneously unavailable during
+                # the upgrade process. A node is considered available if its status is
+                # Ready.
+            &quot;maxSurge&quot;: 42, # The maximum number of nodes that can be created beyond the current size
+                # of the node pool during the upgrade process.
+          },
+          &quot;initialNodeCount&quot;: 42, # The initial node count for the pool. You must ensure that your
+              # Compute Engine [resource quota](https://cloud.google.com/compute/quotas)
+              # is sufficient for this number of instances. You must also have available
+              # firewall and routes quota.
+          &quot;statusMessage&quot;: &quot;A String&quot;, # [Output only] Additional information about the current status of this
+              # node pool instance, if available.
+          &quot;version&quot;: &quot;A String&quot;, # The version of the Kubernetes of this node.
+          &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;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+              &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
+            },
+          ],
+          &quot;config&quot;: { # Parameters that describe the nodes in a cluster. # The node configuration of the pool.
+            &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;enableIntegrityMonitoring&quot;: True or False, # Defines whether the instance has integrity monitoring enabled.
+                  #
+                  # Enables monitoring and attestation of the boot integrity of the instance.
+                  # The attestation is performed against the integrity policy baseline. This
+                  # baseline is initially derived from the implicitly trusted boot image when
+                  # the instance is created.
+              &quot;enableSecureBoot&quot;: True or False, # Defines whether the instance has Secure Boot enabled.
+                  #
+                  # Secure Boot helps ensure that the system only runs authentic software by
+                  # verifying the digital signature of all boot components, and halting the
+                  # boot process if signature verification fails.
+            },
+            &quot;labels&quot;: { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
+                # These will added in addition to any default label(s) that
+                # Kubernetes may apply to the node.
+                # In case of conflict in label keys, the applied set may differ depending on
+                # the Kubernetes version -- it&#x27;s best to assume the behavior is undefined
+                # and conflicts should be avoided.
+                # For more information, including usage and the valid values, see:
+                # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
+              &quot;a_key&quot;: &quot;A String&quot;,
+            },
+            &quot;oauthScopes&quot;: [ # The set of Google API scopes to be made available on all of the
+                # node VMs under the &quot;default&quot; service account.
+                #
+                # The following scopes are recommended, but not required, and by default are
+                # not included:
+                #
+                # * `https://www.googleapis.com/auth/compute` is required for mounting
+                # persistent storage on your nodes.
+                # * `https://www.googleapis.com/auth/devstorage.read_only` is required for
+                # communicating with **gcr.io**
+                # (the [Google Container
+                # Registry](https://cloud.google.com/container-registry/)).
+                #
+                # If unspecified, no scopes are added, unless Cloud Logging or Cloud
+                # Monitoring are enabled, in which case their required scopes will be added.
+              &quot;A String&quot;,
+            ],
+            &quot;minCpuPlatform&quot;: &quot;A String&quot;, # Minimum CPU platform to be used by this instance. The instance may be
+                # scheduled on the specified or newer CPU platform. Applicable values are the
+                # friendly names of CPU platforms, such as
+                # &lt;code&gt;minCpuPlatform: &amp;quot;Intel Haswell&amp;quot;&lt;/code&gt; or
+                # &lt;code&gt;minCpuPlatform: &amp;quot;Intel Sandy Bridge&amp;quot;&lt;/code&gt;. For more
+                # information, read [how to specify min CPU
+                # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
+            &quot;localSsdCount&quot;: 42, # The number of local SSD disks to be attached to the node.
+                #
+                # The limit for this value is dependent upon the maximum number of
+                # disks available on a machine per zone. See:
+                # https://cloud.google.com/compute/docs/disks/local-ssd
+                # for more information.
+            &quot;taints&quot;: [ # List of kubernetes taints to be applied to each node.
+                #
+                # For more information, including usage and the valid values, see:
+                # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
+              { # Kubernetes taint is comprised of three fields: key, value, and effect. Effect
+                  # can only be one of three types:  NoSchedule, PreferNoSchedule or NoExecute.
+                  #
+                  # See
+                  # [here](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration)
+                  # for more information, including usage and the valid values.
+                &quot;value&quot;: &quot;A String&quot;, # Value for taint.
+                &quot;key&quot;: &quot;A String&quot;, # Key for taint.
+                &quot;effect&quot;: &quot;A String&quot;, # Effect for taint.
+              },
+            ],
+            &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;reservationAffinity&quot;: { # [ReservationAffinity](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources) # The optional reservation affinity. Setting this field will apply
+                # the specified [Zonal Compute
+                # Reservation](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources)
+                # to this node pool.
+                # is the configuration of desired reservation which instances could take
+                # capacity from.
+              &quot;consumeReservationType&quot;: &quot;A String&quot;, # Corresponds to the type of reservation consumption.
+              &quot;key&quot;: &quot;A String&quot;, # Corresponds to the label key of a reservation resource. To target a
+                  # SPECIFIC_RESERVATION by name, specify &quot;googleapis.com/reservation-name&quot; as
+                  # the key and specify the name of your reservation as its value.
+              &quot;values&quot;: [ # Corresponds to the label value(s) of reservation resource(s).
+                &quot;A String&quot;,
+              ],
+            },
+            &quot;machineType&quot;: &quot;A String&quot;, # The name of a Google Compute Engine [machine
+                # type](https://cloud.google.com/compute/docs/machine-types) (e.g.
+                # `n1-standard-1`).
+                #
+                # If unspecified, the default machine type is
+                # `n1-standard-1`.
+            &quot;nodeGroup&quot;: &quot;A String&quot;, # Setting this field will assign instances of this
+                # pool to run on the specified node group. This is useful for running
+                # workloads on [sole tenant
+                # nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes).
+            &quot;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-os-login&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;tags&quot;: [ # The list of instance tags applied to all nodes. Tags are used to identify
+                # valid sources or targets for network firewalls and are specified by
+                # the client during cluster or node pool creation. Each tag within the list
+                # must comply with RFC1035.
+              &quot;A String&quot;,
+            ],
+            &quot;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;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
+                # information about preemptible VM instances.
+            &quot;workloadMetadataConfig&quot;: { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node.
+                # workloads on the node pool.
+              &quot;mode&quot;: &quot;A String&quot;, # Mode is the configuration for how to expose metadata to workloads running
+                  # on the node 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;serviceAccount&quot;: &quot;A String&quot;, # The Google Cloud Platform Service Account to be used by the node VMs.
+                # Specify the email address of the Service Account; otherwise, if no Service
+                # Account is specified, the &quot;default&quot; service account is used.
+            &quot;accelerators&quot;: [ # A list of hardware accelerators to be attached to each node.
+                # See https://cloud.google.com/compute/docs/gpus for more information about
+                # support for GPUs.
+              { # AcceleratorConfig represents a Hardware Accelerator request.
+                &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators
+                    # [here](https://cloud.google.com/compute/docs/gpus)
+                &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
+              },
+            ],
+          },
+          &quot;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;autoscaling&quot;: { # NodePoolAutoscaling contains information required by cluster autoscaler to # Autoscaler configuration for this NodePool. Autoscaler is enabled
+              # only if a valid configuration is present.
+              # adjust the size of the node pool to the current cluster usage.
+            &quot;minNodeCount&quot;: 42, # Minimum number of nodes in the NodePool. Must be &gt;= 1 and &lt;=
+                # max_node_count.
+            &quot;maxNodeCount&quot;: 42, # Maximum number of nodes in the NodePool. Must be &gt;= min_node_count. There
+                # has to enough quota to scale up the cluster.
+            &quot;enabled&quot;: True or False, # Is autoscaling enabled for this node pool.
+            &quot;autoprovisioned&quot;: True or False, # Can this node pool be deleted automatically.
+          },
+          &quot;podIpv4CidrSize&quot;: 42, # [Output only] The pod CIDR block size per node in this node pool.
+          &quot;instanceGroupUrls&quot;: [ # [Output only] The resource URLs of the [managed instance
+              # groups](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances)
+              # associated with this node pool.
+            &quot;A String&quot;,
+          ],
+          &quot;status&quot;: &quot;A String&quot;, # [Output only] The status of the nodes in this pool instance.
+          &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;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.
+      &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;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;cloudRunConfig&quot;: { # Configuration options for the Cloud Run feature. # Configuration for the Cloud Run addon, which allows the user to use a
+            # managed Knative service.
+          &quot;disabled&quot;: True or False, # Whether Cloud Run addon is enabled for this cluster.
+        },
+        &quot;httpLoadBalancing&quot;: { # Configuration options for the HTTP (L7) load balancing controller addon, # Configuration for the HTTP (L7) load balancing controller addon, which
+            # makes it easy to set up HTTP load balancers for services in a cluster.
+            # which makes it easy to set up HTTP load balancers for services in a cluster.
+          &quot;disabled&quot;: True or False, # Whether the HTTP Load Balancing controller is enabled in the cluster.
+              # When enabled, it runs a small pod in the cluster that manages the load
+              # balancers.
+        },
+        &quot;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;dnsCacheConfig&quot;: { # Configuration for NodeLocal DNSCache # Configuration for NodeLocalDNS, a dns cache running on cluster nodes
+          &quot;enabled&quot;: True or False, # Whether NodeLocal DNSCache is enabled for this cluster.
+        },
+        &quot;networkPolicyConfig&quot;: { # Configuration for NetworkPolicy. This only tracks whether the addon # Configuration for NetworkPolicy. This only tracks whether the addon
+            # is enabled or not on the Master, it does not track whether network policy
+            # is enabled for the nodes.
+            # is enabled or not on the Master, it does not track whether network policy
+            # is enabled for the nodes.
+          &quot;disabled&quot;: True or False, # Whether NetworkPolicy is enabled for this cluster.
+        },
+      },
+      &quot;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;clientKey&quot;: &quot;A String&quot;, # [Output only] Base64-encoded private key used by clients to authenticate
+            # to the cluster endpoint.
+        &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;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;clusterCaCertificate&quot;: &quot;A String&quot;, # [Output only] Base64-encoded public certificate that is the root of
+            # trust for the 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;enableTpu&quot;: True or False, # Enable the ability to use Cloud TPUs in this cluster.
+      &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.
           #
-          # See the `masterAuth` property of this resource for username and
-          # password information.
+          # Users may specify either explicit versions offered by
+          # Kubernetes Engine or version aliases, which have the following behavior:
+          #
+          # - &quot;latest&quot;: picks the highest valid Kubernetes version
+          # - &quot;1.X&quot;: picks the highest valid patch+gke.N patch in the 1.X version
+          # - &quot;1.X.Y&quot;: picks the highest valid gke.N patch in the 1.X.Y version
+          # - &quot;1.X.Y-gke.N&quot;: picks an explicit Kubernetes version
+          # - &quot;&quot;,&quot;-&quot;: picks the default Kubernetes version
+      &quot;currentNodeCount&quot;: 42, # [Output only]  The number of nodes currently in the cluster. Deprecated.
+          # Call Kubernetes API directly to retrieve node information.
+      &quot;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;locations&quot;: [ # The list of Google Compute Engine
+          # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
+          # cluster&#x27;s nodes should be located.
+        &quot;A String&quot;,
+      ],
+      &quot;selfLink&quot;: &quot;A String&quot;, # [Output only] Server-defined URL for the resource.
+      &quot;description&quot;: &quot;A String&quot;, # An optional description of this cluster.
+      &quot;statusMessage&quot;: &quot;A String&quot;, # [Output only] Additional information about the current status of this
+          # cluster, if available.
       &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;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;projectId&quot;: &quot;A String&quot;, # Deprecated. The Google Developers Console [project ID or project
         # number](https://support.google.com/cloud/answer/6158840).
         # This field has been deprecated and replaced by the parent field.
-    &quot;zone&quot;: &quot;A String&quot;, # Deprecated. The name of the Google Compute Engine
-        # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
-        # cluster resides. This field has been deprecated and replaced by the parent
-        # field.
   }
 
   x__xgafv: string, V1 error format.
@@ -1370,19 +1404,9 @@
 
     { # This operation resource represents operations that may have happened or are
       # happening on the cluster. All fields are output only.
-    &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;name&quot;: &quot;A String&quot;, # A non-parameterized string describing an operation stage.
           # Unset for single-stage operations.
-      &quot;stages&quot;: [ # Substages of an operation or a stage.
-        # Object with schema name: OperationProgress
-      ],
       &quot;metrics&quot;: [ # Progress metric bundle, for example:
           #   metrics: [{name: &quot;nodes done&quot;,     int_value: 15},
           #             {name: &quot;nodes total&quot;,    int_value: 32}]
@@ -1390,41 +1414,51 @@
           #   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;stringValue&quot;: &quot;A String&quot;, # For metrics with custom values (ratios, visual progress, etc.).
           &quot;doubleValue&quot;: 3.14, # For metrics with floating point value.
           &quot;intValue&quot;: &quot;A String&quot;, # For metrics with integer value.
-          &quot;stringValue&quot;: &quot;A String&quot;, # For metrics with custom values (ratios, visual progress, etc.).
+          &quot;name&quot;: &quot;A String&quot;, # Required. Metric name, e.g., &quot;nodes total&quot;, &quot;percent done&quot;.
         },
       ],
       &quot;status&quot;: &quot;A String&quot;, # Status of an operation stage.
           # Unset for single-stage operations.
+      &quot;stages&quot;: [ # Substages of an operation or a stage.
+        # Object with schema name: OperationProgress
+      ],
     },
+    &quot;targetLink&quot;: &quot;A String&quot;, # Server-defined URL for the target of the operation.
+    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
+    &quot;operationType&quot;: &quot;A String&quot;, # The operation type.
+    &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;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
+      },
+    ],
     &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;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
-    &quot;targetLink&quot;: &quot;A String&quot;, # Server-defined URL for the target of the operation.
-    &quot;operationType&quot;: &quot;A String&quot;, # The operation type.
-    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
     &quot;name&quot;: &quot;A String&quot;, # The server-assigned ID for the operation.
+    &quot;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
+    &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;nodepoolConditions&quot;: [ # Which conditions caused the current node pool state.
       { # StatusCondition describes why a cluster or a node pool has a certain status
           # (e.g., ERROR or DEGRADED).
-        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
         &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
       },
     ],
-    &quot;endTime&quot;: &quot;A String&quot;, # [Output only] The time the operation completed, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
     &quot;location&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
         # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
         # or
         # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
         # in which the cluster resides.
-    &quot;startTime&quot;: &quot;A String&quot;, # [Output only] The time the operation started, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    &quot;statusMessage&quot;: &quot;A String&quot;, # Output only. If an error has occurred, a textual description of the error.
   }</pre>
 </div>
 
@@ -1462,19 +1496,9 @@
 
     { # This operation resource represents operations that may have happened or are
       # happening on the cluster. All fields are output only.
-    &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;name&quot;: &quot;A String&quot;, # A non-parameterized string describing an operation stage.
           # Unset for single-stage operations.
-      &quot;stages&quot;: [ # Substages of an operation or a stage.
-        # Object with schema name: OperationProgress
-      ],
       &quot;metrics&quot;: [ # Progress metric bundle, for example:
           #   metrics: [{name: &quot;nodes done&quot;,     int_value: 15},
           #             {name: &quot;nodes total&quot;,    int_value: 32}]
@@ -1482,41 +1506,51 @@
           #   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;stringValue&quot;: &quot;A String&quot;, # For metrics with custom values (ratios, visual progress, etc.).
           &quot;doubleValue&quot;: 3.14, # For metrics with floating point value.
           &quot;intValue&quot;: &quot;A String&quot;, # For metrics with integer value.
-          &quot;stringValue&quot;: &quot;A String&quot;, # For metrics with custom values (ratios, visual progress, etc.).
+          &quot;name&quot;: &quot;A String&quot;, # Required. Metric name, e.g., &quot;nodes total&quot;, &quot;percent done&quot;.
         },
       ],
       &quot;status&quot;: &quot;A String&quot;, # Status of an operation stage.
           # Unset for single-stage operations.
+      &quot;stages&quot;: [ # Substages of an operation or a stage.
+        # Object with schema name: OperationProgress
+      ],
     },
+    &quot;targetLink&quot;: &quot;A String&quot;, # Server-defined URL for the target of the operation.
+    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
+    &quot;operationType&quot;: &quot;A String&quot;, # The operation type.
+    &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;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
+      },
+    ],
     &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;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
-    &quot;targetLink&quot;: &quot;A String&quot;, # Server-defined URL for the target of the operation.
-    &quot;operationType&quot;: &quot;A String&quot;, # The operation type.
-    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
     &quot;name&quot;: &quot;A String&quot;, # The server-assigned ID for the operation.
+    &quot;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
+    &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;nodepoolConditions&quot;: [ # Which conditions caused the current node pool state.
       { # StatusCondition describes why a cluster or a node pool has a certain status
           # (e.g., ERROR or DEGRADED).
-        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
         &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
       },
     ],
-    &quot;endTime&quot;: &quot;A String&quot;, # [Output only] The time the operation completed, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
     &quot;location&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
         # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
         # or
         # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
         # in which the cluster resides.
-    &quot;startTime&quot;: &quot;A String&quot;, # [Output only] The time the operation started, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    &quot;statusMessage&quot;: &quot;A String&quot;, # Output only. If an error has occurred, a textual description of the error.
   }</pre>
 </div>
 
@@ -1545,233 +1579,145 @@
   An object of the form:
 
     { # A Google Kubernetes Engine cluster.
-    &quot;createTime&quot;: &quot;A String&quot;, # [Output only] The time the cluster was created, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-    &quot;clusterIpv4Cidr&quot;: &quot;A String&quot;, # The IP address range of the container pods in this cluster, in
-        # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
-        # notation (e.g. `10.96.0.0/14`). Leave blank to have
-        # one automatically chosen or specify a `/14` block in `10.0.0.0/8`.
-    &quot;autoscaling&quot;: { # ClusterAutoscaling contains global, per-cluster information # Cluster-level autoscaling configuration.
-        # required by Cluster Autoscaler to automatically adjust
-        # the size of the cluster and create/delete
-        # node pools based on the current needs.
-      &quot;autoprovisioningLocations&quot;: [ # The list of Google Compute Engine
-          # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
-          # NodePool&#x27;s nodes can be created by NAP.
-        &quot;A String&quot;,
-      ],
-      &quot;resourceLimits&quot;: [ # Contains global constraints regarding minimum and maximum
-          # amount of resources in the cluster.
-        { # Contains information about amount of some resource in the cluster.
-            # For memory, value should be in GB.
-          &quot;minimum&quot;: &quot;A String&quot;, # Minimum amount of the resource in the cluster.
-          &quot;maximum&quot;: &quot;A String&quot;, # Maximum amount of the resource in the cluster.
-          &quot;resourceType&quot;: &quot;A String&quot;, # Resource name &quot;cpu&quot;, &quot;memory&quot; or gpu-specific string.
-        },
-      ],
-      &quot;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;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;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;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;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;autoRepair&quot;: True or False, # A flag that specifies whether the node auto-repair is enabled for the node
-              # pool. If enabled, the nodes in this node pool will be monitored and, if
-              # they fail health checks too many times, an automatic repair action will be
-              # triggered.
-          &quot;autoUpgrade&quot;: True or False, # A flag that specifies whether node auto-upgrade is enabled for the node
-              # pool. If enabled, node auto-upgrade helps keep the nodes in your node pool
-              # up to date with the latest release version of Kubernetes.
-        },
-        &quot;oauthScopes&quot;: [ # Scopes that are used by NAP when creating node pools. If oauth_scopes are
-            # specified, service_account should be empty.
-          &quot;A String&quot;,
-        ],
-        &quot;upgradeSettings&quot;: { # These upgrade settings control the level of parallelism and the level of # Specifies the upgrade settings for NAP created node pools
-            # disruption caused by an upgrade.
-            #
-            # maxUnavailable controls the number of nodes that can be simultaneously
-            # unavailable.
-            #
-            # maxSurge controls the number of additional nodes that can be added to the
-            # node pool temporarily for the time of the upgrade to increase the number of
-            # available nodes.
-            #
-            # (maxUnavailable + maxSurge) determines the level of parallelism (how many
-            # nodes are being upgraded at the same time).
-            #
-            # Note: upgrades inevitably introduce some disruption since workloads need to
-            # be moved from old nodes to new, upgraded ones. Even if maxUnavailable=0,
-            # this holds true. (Disruption stays within the limits of
-            # PodDisruptionBudget, if it is configured.)
-            #
-            # Consider a hypothetical node pool with 5 nodes having maxSurge=2,
-            # maxUnavailable=1. This means the upgrade process upgrades 3 nodes
-            # simultaneously. It creates 2 additional (upgraded) nodes, then it brings
-            # down 3 old (not yet upgraded) nodes at the same time. This ensures that
-            # there are always at least 4 nodes available.
-          &quot;maxUnavailable&quot;: 42, # The maximum number of nodes that can be simultaneously unavailable during
-              # the upgrade process. A node is considered available if its status is
-              # Ready.
-          &quot;maxSurge&quot;: 42, # The maximum number of nodes that can be created beyond the current size
-              # of the node pool during the upgrade process.
-        },
-        &quot;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;currentMasterVersion&quot;: &quot;A String&quot;, # [Output only] The current software version of the master endpoint.
+    &quot;currentNodeVersion&quot;: &quot;A String&quot;, # [Output only] Deprecated, use
+        # [NodePools.version](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/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;authenticatorGroupsConfig&quot;: { # Configuration for returning group information from authenticators. # Configuration controlling RBAC group membership information.
+      &quot;securityGroup&quot;: &quot;A String&quot;, # The name of the security group-of-groups to be used. Only relevant
+          # if enabled = true.
+      &quot;enabled&quot;: True or False, # Whether this cluster should return group membership lookups
+          # during authentication using a group of security groups.
     },
-    &quot;initialNodeCount&quot;: 42, # The number of nodes to create in this cluster. You must ensure that your
-        # Compute Engine &lt;a href=&quot;/compute/docs/resource-quotas&quot;&gt;resource quota&lt;/a&gt;
-        # is sufficient for this number of instances. You must also have available
-        # firewall and routes quota.
-        # For requests, this field should only be used in lieu of a
-        # &quot;node_pool&quot; object, since this configuration (along with the
-        # &quot;node_config&quot;) will be used to create a &quot;NodePool&quot; object with an
-        # auto-generated name. Do not use this and a node_pool at the same time.
+    &quot;enableKubernetesAlpha&quot;: True or False, # Kubernetes alpha features are enabled on this cluster. This includes alpha
+        # API groups (e.g. v1alpha1) 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;ipAllocationPolicy&quot;: { # Configuration for controlling how IPs are allocated in the cluster. # Configuration for cluster IP allocation.
+      &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 is true and
+          # create_subnetwork is false.
+      &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;nodeIpv4Cidr&quot;: &quot;A String&quot;, # This field is deprecated, use node_ipv4_cidr_block.
+      &quot;servicesIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP address range of the services IPs in this cluster. If blank, a range
+          # will be automatically chosen with the default size.
+          #
+          # This field is only applicable when `use_ip_aliases` is true.
+          #
+          # Set to blank to have a range chosen with the default size.
+          #
+          # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
+          # netmask.
+          #
+          # Set to a
+          # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+          # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
+          # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
+          # to use.
+      &quot;servicesIpv4Cidr&quot;: &quot;A String&quot;, # This field is deprecated, use services_ipv4_cidr_block.
+      &quot;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 is true and
+          # create_subnetwork is false.
+      &quot;tpuIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP address range of the Cloud TPUs in this cluster. If unspecified, a
+          # range will be automatically chosen with the default size.
+          #
+          # This field is only applicable when `use_ip_aliases` is true.
+          #
+          # If unspecified, the range will use the default size.
+          #
+          # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
+          # netmask.
+          #
+          # Set to a
+          # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+          # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
+          # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
+          # to use.
+      &quot;nodeIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP address range of the instance IPs in this cluster.
+          #
+          # This is applicable only if `create_subnetwork` is true.
+          #
+          # Set to blank to have a range chosen with the default size.
+          #
+          # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
+          # netmask.
+          #
+          # Set to a
+          # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+          # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
+          # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
+          # to use.
+      &quot;useIpAliases&quot;: True or False, # Whether alias IPs will be used for pod IPs in the cluster.
+      &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;clusterIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP address range for the cluster pod IPs. If this field is set, then
+          # `cluster.cluster_ipv4_cidr` must be left blank.
+          #
+          # This field is only applicable when `use_ip_aliases` is true.
+          #
+          # Set to blank to have a range chosen with the default size.
+          #
+          # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
+          # netmask.
+          #
+          # Set to a
+          # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+          # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
+          # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
+          # to use.
+      &quot;clusterIpv4Cidr&quot;: &quot;A String&quot;, # This field is deprecated, use cluster_ipv4_cidr_block.
+    },
+    &quot;loggingService&quot;: &quot;A String&quot;, # The logging service the cluster should use to write logs.
+        # Currently available options:
         #
-        # 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;masterIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP range in CIDR notation to use for the hosted master network. This
-          # range will be used for assigning internal IP addresses to the master or
-          # set of masters, as well as the ILB VIP. This range must not overlap with
-          # any other ranges in use within the cluster&#x27;s network.
-      &quot;enablePrivateNodes&quot;: True or False, # Whether nodes have internal IP addresses only. If enabled, all nodes are
-          # given only RFC 1918 private addresses and communicate with the master via
-          # private networking.
-      &quot;privateEndpoint&quot;: &quot;A String&quot;, # Output only. The internal IP address of this cluster&#x27;s master endpoint.
-      &quot;enablePrivateEndpoint&quot;: True or False, # Whether the master&#x27;s internal IP address is used as the cluster endpoint.
-      &quot;peeringName&quot;: &quot;A String&quot;, # Output only. The peering name in the customer VPC used by this cluster.
-      &quot;publicEndpoint&quot;: &quot;A String&quot;, # Output only. The external IP address of this cluster&#x27;s master endpoint.
+        # * `logging.googleapis.com/kubernetes` - The Cloud Logging
+        # service with a Kubernetes-native resource model
+        # * `logging.googleapis.com` - The legacy Cloud Logging service (no longer
+        #   available as of GKE 1.15).
+        # * `none` - no logs will be exported from the cluster.
+        #
+        # If left as an empty string,`logging.googleapis.com/kubernetes` will be
+        # used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.
+    &quot;zone&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
+        # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
+        # cluster resides. This field is deprecated, use location instead.
+    &quot;legacyAbac&quot;: { # Configuration for the legacy Attribute Based Access Control authorization # Configuration for the legacy ABAC authorization mode.
+        # mode.
+      &quot;enabled&quot;: True or False, # Whether the ABAC authorizer is enabled for this cluster. When enabled,
+          # identities in the system, including service accounts, nodes, and
+          # controllers, will have statically granted permissions beyond those
+          # provided by the RBAC configuration or IAM.
     },
-    &quot;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;resourceLabels&quot;: { # The resource labels for the cluster to use to annotate any related
+        # Google Compute Engine resources.
+      &quot;a_key&quot;: &quot;A String&quot;,
     },
-    &quot;verticalPodAutoscaling&quot;: { # VerticalPodAutoscaling contains global, per-cluster information # Cluster-level Vertical Pod Autoscaling configuration.
-        # required by Vertical Pod Autoscaler to automatically adjust
-        # the resources of pods controlled by it.
-      &quot;enabled&quot;: True or False, # Enables vertical pod autoscaling.
-    },
-    &quot;defaultMaxPodsConstraint&quot;: { # Constraints applied to pods. # The default constraint on the maximum number of pods that can be run
-        # simultaneously on a node in the node pool of this cluster. Only honored
-        # if cluster created with IP Alias support.
-      &quot;maxPodsPerNode&quot;: &quot;A String&quot;, # Constraint enforced on the max num of pods per node.
-    },
-    &quot;network&quot;: &quot;A String&quot;, # The name of the Google Compute Engine
-        # [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks)
-        # to which the cluster is connected. If left unspecified, the `default`
-        # network will be used.
-    &quot;labelFingerprint&quot;: &quot;A String&quot;, # The fingerprint of the set of labels for this cluster.
     &quot;nodeIpv4CidrSize&quot;: 42, # [Output only] The size of the address space on each node for hosting
         # containers. This is provisioned from within the `container_ipv4_cidr`
         # range. This field will only be set when cluster is in route-based network
         # mode.
-    &quot;masterAuthorizedNetworksConfig&quot;: { # Configuration options for the master authorized networks feature. Enabled # The configuration options for master authorized networks feature.
-        # master authorized networks will disallow all external traffic to access
-        # Kubernetes master through HTTPS except traffic from the given CIDR blocks,
-        # Google Compute Engine Public IPs and Google Prod IPs.
-      &quot;cidrBlocks&quot;: [ # cidr_blocks define up to 50 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;, # [Output only] Base64-encoded public certificate that is the root of
-          # trust for the cluster.
-      &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;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;cloudRunConfig&quot;: { # Configuration options for the Cloud Run feature. # Configuration for the Cloud Run addon, which allows the user to use a
-          # managed Knative service.
-        &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;currentNodeVersion&quot;: &quot;A String&quot;, # [Output only] Deprecated, use
-        # [NodePools.version](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.zones.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.
-    &quot;resourceLabels&quot;: { # The resource labels for the cluster to use to annotate any related
-        # Google Compute Engine resources.
-      &quot;a_key&quot;: &quot;A String&quot;,
+    &quot;releaseChannel&quot;: { # ReleaseChannel indicates which release channel a cluster is # Release channel configuration.
+        # subscribed to. Release channels are arranged in order of risk.
+        #
+        # When a cluster is subscribed to a release channel, Google maintains
+        # both the master version and the node version. Node auto-upgrade
+        # defaults to true and cannot be disabled.
+      &quot;channel&quot;: &quot;A String&quot;, # channel specifies which release channel the cluster is subscribed to.
     },
     &quot;maintenancePolicy&quot;: { # MaintenancePolicy defines the maintenance policy to be used for the cluster. # Configure the maintenance policy for this cluster.
       &quot;window&quot;: { # MaintenanceWindow defines the maintenance window to be used for the cluster. # Specifies the maintenance window in which maintenance may be performed.
@@ -1783,6 +1729,15 @@
             &quot;startTime&quot;: &quot;A String&quot;, # The time that the window first starts.
           },
         },
+        &quot;dailyMaintenanceWindow&quot;: { # Time window specified for daily maintenance operations. # DailyMaintenanceWindow specifies a daily maintenance operation window.
+          &quot;duration&quot;: &quot;A String&quot;, # [Output only] Duration of the time window, automatically chosen to be
+              # smallest possible in the given scenario.
+              # Duration will be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)
+              # format &quot;PTnHnMnS&quot;.
+          &quot;startTime&quot;: &quot;A String&quot;, # Time within the maintenance window to start the maintenance operations.
+              # Time format should be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)
+              # 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.
@@ -1819,15 +1774,6 @@
               # to specify duration of the window and when it first starts.
               # The FREQ values of HOURLY, MINUTELY, and SECONDLY are not supported.
         },
-        &quot;dailyMaintenanceWindow&quot;: { # Time window specified for daily maintenance operations. # DailyMaintenanceWindow specifies a daily maintenance operation window.
-          &quot;startTime&quot;: &quot;A String&quot;, # Time within the maintenance window to start the maintenance operations.
-              # Time format should be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)
-              # format &quot;HH:MM&quot;, where HH : [00-23] and MM : [00-59] GMT.
-          &quot;duration&quot;: &quot;A String&quot;, # [Output only] Duration of the time window, automatically chosen to be
-              # smallest possible in the given scenario.
-              # Duration will be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)
-              # format &quot;PTnHnMnS&quot;.
-        },
       },
       &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
@@ -1835,157 +1781,96 @@
           # 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;initialClusterVersion&quot;: &quot;A String&quot;, # The initial Kubernetes version for this cluster.  Valid versions are those
-        # found in validMasterVersions returned by getServerConfig.  The version can
-        # be upgraded over time; such upgrades are reflected in
-        # currentMasterVersion and currentNodeVersion.
+    &quot;monitoringService&quot;: &quot;A String&quot;, # The monitoring service the cluster should use to write metrics.
+        # Currently available options:
         #
-        # Users may specify either explicit versions offered by
-        # Kubernetes Engine or version aliases, which have the following behavior:
+        # * &quot;monitoring.googleapis.com/kubernetes&quot; - The Cloud Monitoring
+        # service with a Kubernetes-native resource model
+        # * `monitoring.googleapis.com` - The legacy Cloud Monitoring service (no
+        #   longer available as of GKE 1.15).
+        # * `none` - No metrics will be exported from the cluster.
         #
-        # - &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;nodeIpv4Cidr&quot;: &quot;A String&quot;, # This field is deprecated, use node_ipv4_cidr_block.
-      &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 is true and
-          # create_subnetwork is false.
-      &quot;clusterIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP address range for the cluster pod IPs. If this field is set, then
-          # `cluster.cluster_ipv4_cidr` must be left blank.
-          #
-          # This field is only applicable when `use_ip_aliases` is true.
-          #
-          # Set to blank to have a range chosen with the default size.
-          #
-          # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
-          # netmask.
-          #
-          # Set to a
-          # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
-          # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
-          # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
-          # to use.
-      &quot;nodeIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP address range of the instance IPs in this cluster.
-          #
-          # This is applicable only if `create_subnetwork` is true.
-          #
-          # Set to blank to have a range chosen with the default size.
-          #
-          # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
-          # netmask.
-          #
-          # Set to a
-          # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
-          # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
-          # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
-          # to use.
-      &quot;tpuIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP address range of the Cloud TPUs in this cluster. If unspecified, a
-          # range will be automatically chosen with the default size.
-          #
-          # This field is only applicable when `use_ip_aliases` is true.
-          #
-          # If unspecified, the range will use the default size.
-          #
-          # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
-          # netmask.
-          #
-          # Set to a
-          # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
-          # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
-          # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
-          # to use.
-      &quot;useIpAliases&quot;: True or False, # Whether alias IPs will be used for pod IPs in the cluster.
-      &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 is true and
-          # create_subnetwork is false.
-      &quot;createSubnetwork&quot;: True or False, # Whether a new subnetwork will be created automatically for the cluster.
-          #
-          # This field is only applicable when `use_ip_aliases` is true.
-      &quot;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.
-      &quot;servicesIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP address range of the services IPs in this cluster. If blank, a range
-          # will be automatically chosen with the default size.
-          #
-          # This field is only applicable when `use_ip_aliases` is true.
-          #
-          # Set to blank to have a range chosen with the default size.
-          #
-          # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
-          # netmask.
-          #
-          # Set to a
-          # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
-          # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
-          # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
-          # to use.
+        # If left as an empty string,`monitoring.googleapis.com/kubernetes` will be
+        # used for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions.
+    &quot;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 Binary Authorization.
     },
-    &quot;legacyAbac&quot;: { # Configuration for the legacy Attribute Based Access Control authorization # Configuration for the legacy ABAC authorization mode.
-        # mode.
-      &quot;enabled&quot;: True or False, # Whether the ABAC authorizer is enabled for this cluster. When enabled,
-          # identities in the system, including service accounts, nodes, and
-          # controllers, will have statically granted permissions beyond those
-          # provided by the RBAC configuration or IAM.
-    },
-    &quot;resourceUsageExportConfig&quot;: { # Configuration for exporting cluster resource usages. # Configuration for exporting resource usages. Resource usage export is
-        # disabled when this config is unspecified.
-      &quot;enableNetworkEgressMetering&quot;: True or False, # Whether to enable network egress metering for this cluster. If enabled, a
-          # daemonset will be created in the cluster to meter network egress traffic.
-      &quot;consumptionMeteringConfig&quot;: { # Parameters for controlling consumption metering. # Configuration to enable resource consumption metering.
-        &quot;enabled&quot;: True or False, # Whether to enable consumption metering for this cluster. If enabled, a
-            # second BigQuery table will be created to hold resource consumption
-            # records.
-      },
-      &quot;bigqueryDestination&quot;: { # Parameters for using BigQuery as the destination of resource usage export. # Configuration to use BigQuery as usage export destination.
-        &quot;datasetId&quot;: &quot;A String&quot;, # The ID of a BigQuery Dataset.
-      },
-    },
-    &quot;enableTpu&quot;: True or False, # Enable the ability to use Cloud TPUs in this cluster.
-    &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;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;instanceGroupUrls&quot;: [ # Deprecated. Use node_pools.instance_group_urls.
       &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&#x27;s node pool.
-          # Node pools are a set of nodes (i.e. VM&#x27;s), with a common configuration and
-          # specification, under the control of the cluster master. They may have a set
-          # of Kubernetes labels applied to them, which may be used to reference them
-          # during pod scheduling. They may also be resized up or down, to accommodate
-          # the workload.
-        &quot;statusMessage&quot;: &quot;A String&quot;, # [Output only] Additional information about the current status of this
-            # node pool instance, if available.
-        &quot;autoscaling&quot;: { # NodePoolAutoscaling contains information required by cluster autoscaler to # Autoscaler configuration for this NodePool. Autoscaler is enabled
-            # only if a valid configuration is present.
-            # adjust the size of the node pool to the current cluster usage.
-          &quot;maxNodeCount&quot;: 42, # Maximum number of nodes in the NodePool. Must be &gt;= min_node_count. There
-              # has to enough quota to scale up the cluster.
-          &quot;autoprovisioned&quot;: True or False, # Can this node pool be deleted automatically.
-          &quot;minNodeCount&quot;: 42, # Minimum number of nodes in the NodePool. Must be &gt;= 1 and &lt;=
-              # max_node_count.
-          &quot;enabled&quot;: True or False, # Is autoscaling enabled for this node pool.
+    &quot;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;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;masterAuthorizedNetworksConfig&quot;: { # Configuration options for the master authorized networks feature. Enabled # The configuration options for master authorized networks feature.
+        # master authorized networks will disallow all external traffic to access
+        # Kubernetes master through HTTPS except traffic from the given CIDR blocks,
+        # Google Compute Engine Public IPs and Google Prod IPs.
+      &quot;enabled&quot;: True or False, # Whether or not master authorized networks is enabled.
+      &quot;cidrBlocks&quot;: [ # cidr_blocks define up to 50 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;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;selfLink&quot;: &quot;A String&quot;, # [Output only] Server-defined URL for the resource.
-        &quot;upgradeSettings&quot;: { # These upgrade settings control the level of parallelism and the level of # Upgrade settings control disruption and speed of the upgrade.
+      ],
+    },
+    &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;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
+      },
+    ],
+    &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.
+    &quot;status&quot;: &quot;A String&quot;, # [Output only] The current status of this cluster.
+    &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;minimum&quot;: &quot;A String&quot;, # Minimum 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;maximum&quot;: &quot;A String&quot;, # Maximum amount of the resource in the cluster.
+        },
+      ],
+      &quot;autoprovisioningNodePoolDefaults&quot;: { # AutoprovisioningNodePoolDefaults contains defaults for a node pool created # AutoprovisioningNodePoolDefaults contains defaults for a node pool
+          # created by NAP.
+          # by NAP.
+        &quot;serviceAccount&quot;: &quot;A String&quot;, # The Google Cloud Platform Service Account to be used by the node VMs.
+        &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;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;autoRepair&quot;: True or False, # A flag that specifies whether the node auto-repair is enabled for the node
+              # pool. If enabled, the nodes in this node pool will be monitored and, if
+              # they fail health checks too many times, an automatic repair action will be
+              # triggered.
+          &quot;autoUpgrade&quot;: True or False, # A flag that specifies whether node auto-upgrade is enabled for the node
+              # pool. If enabled, node auto-upgrade helps keep the nodes in your node pool
+              # up to date with the latest release version of Kubernetes.
+        },
+        &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
@@ -2014,284 +1899,32 @@
           &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;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;oauthScopes&quot;: [ # Scopes that are used by NAP when creating node pools.
           &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.
-          &quot;A String&quot;,
-        ],
-        &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
-          },
-        ],
-        &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;oauthScopes&quot;: [ # The set of Google API scopes to be made available on all of the
-              # node VMs under the &quot;default&quot; service account.
-              #
-              # The following scopes are recommended, but not required, and by default are
-              # not included:
-              #
-              # * `https://www.googleapis.com/auth/compute` is required for mounting
-              # persistent storage on your nodes.
-              # * `https://www.googleapis.com/auth/devstorage.read_only` is required for
-              # communicating with **gcr.io**
-              # (the [Google Container
-              # Registry](https://cloud.google.com/container-registry/)).
-              #
-              # If unspecified, no scopes are added, unless Cloud Logging or Cloud
-              # Monitoring are enabled, in which case their required scopes will be added.
-            &quot;A String&quot;,
-          ],
-          &quot;taints&quot;: [ # List of kubernetes taints to be applied to each node.
-              #
-              # For more information, including usage and the valid values, see:
-              # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
-            { # Kubernetes taint is comprised of three fields: key, value, and effect. Effect
-                # can only be one of three types:  NoSchedule, PreferNoSchedule or NoExecute.
-                #
-                # See
-                # [here](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration)
-                # for more information, including usage and the valid values.
-              &quot;effect&quot;: &quot;A String&quot;, # Effect for taint.
-              &quot;value&quot;: &quot;A String&quot;, # Value for taint.
-              &quot;key&quot;: &quot;A String&quot;, # Key for taint.
-            },
-          ],
-          &quot;labels&quot;: { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
-              # These will added in addition to any default label(s) that
-              # Kubernetes may apply to the node.
-              # In case of conflict in label keys, the applied set may differ depending on
-              # the Kubernetes version -- it&#x27;s best to assume the behavior is undefined
-              # and conflicts should be avoided.
-              # For more information, including usage and the valid values, see:
-              # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
-            &quot;a_key&quot;: &quot;A String&quot;,
-          },
-          &quot;diskSizeGb&quot;: 42, # Size of the disk attached to each node, specified in GB.
-              # The smallest allowed disk size is 10GB.
-              #
-              # If unspecified, the default disk size is 100GB.
-          &quot;workloadMetadataConfig&quot;: { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node.
-              # workloads on the node pool.
-            &quot;mode&quot;: &quot;A String&quot;, # Mode is the configuration for how to expose metadata to workloads running
-                # on the node pool.
-          },
-          &quot;accelerators&quot;: [ # A list of hardware accelerators to be attached to each node.
-              # See https://cloud.google.com/compute/docs/gpus for more information about
-              # support for GPUs.
-            { # AcceleratorConfig represents a Hardware Accelerator request.
-              &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators
-                  # [here](https://cloud.google.com/compute/docs/gpus)
-              &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
-            },
-          ],
-          &quot;machineType&quot;: &quot;A String&quot;, # The name of a Google Compute Engine [machine
-              # type](https://cloud.google.com/compute/docs/machine-types) (e.g.
-              # `n1-standard-1`).
-              #
-              # If unspecified, the default machine type is
-              # `n1-standard-1`.
-          &quot;diskType&quot;: &quot;A String&quot;, # Type of the disk attached to each node (e.g. &#x27;pd-standard&#x27; or &#x27;pd-ssd&#x27;)
-              #
-              # If unspecified, the default disk type is &#x27;pd-standard&#x27;
-          &quot;shieldedInstanceConfig&quot;: { # A set of Shielded Instance options. # Shielded Instance options.
-            &quot;enableIntegrityMonitoring&quot;: True or False, # Defines whether the instance has integrity monitoring enabled.
-                #
-                # Enables monitoring and attestation of the boot integrity of the instance.
-                # The attestation is performed against the integrity policy baseline. This
-                # baseline is initially derived from the implicitly trusted boot image when
-                # the instance is created.
-            &quot;enableSecureBoot&quot;: True or False, # Defines whether the instance has Secure Boot enabled.
-                #
-                # Secure Boot helps ensure that the system only runs authentic software by
-                # verifying the digital signature of all boot components, and halting the
-                # boot process if signature verification fails.
-          },
-          &quot;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
-              # information about preemptible VM instances.
-          &quot;localSsdCount&quot;: 42, # The number of local SSD disks to be attached to the node.
-              #
-              # The limit for this value is dependent upon the maximum number of
-              # disks available on a machine per zone. See:
-              # https://cloud.google.com/compute/docs/disks/local-ssd
-              # for more information.
-          &quot;sandboxConfig&quot;: { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node.
-            &quot;type&quot;: &quot;A String&quot;, # Type of the sandbox to use for the node.
-          },
-          &quot;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-os-login&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;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;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;tags&quot;: [ # The list of instance tags applied to all nodes. Tags are used to identify
-              # valid sources or targets for network firewalls and are specified by
-              # the client during cluster or node pool creation. Each tag within the list
-              # must comply with RFC1035.
-            &quot;A String&quot;,
-          ],
-          &quot;serviceAccount&quot;: &quot;A String&quot;, # The Google Cloud Platform Service Account to be used by the node VMs.
-              # Specify the email address of the Service Account; otherwise, if no Service
-              # Account is specified, the &quot;default&quot; service account is used.
-          &quot;imageType&quot;: &quot;A String&quot;, # The image type to use for this node. Note that for a given image type,
-              # the latest version of it will be used.
-        },
-        &quot;maxPodsConstraint&quot;: { # Constraints applied to pods. # The constraint on the maximum number of pods that can be run
-            # simultaneously on a node in the node pool.
-          &quot;maxPodsPerNode&quot;: &quot;A String&quot;, # Constraint enforced on the max num of pods per node.
-        },
-        &quot;name&quot;: &quot;A String&quot;, # The name of the node pool.
-        &quot;management&quot;: { # NodeManagement defines the set of node management services turned on for the # NodeManagement configuration for this NodePool.
-            # node pool.
-          &quot;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;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;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;autoRepair&quot;: True or False, # A flag that specifies whether the node auto-repair is enabled for the node
-              # pool. If enabled, the nodes in this node pool will be monitored and, if
-              # they fail health checks too many times, an automatic repair action will be
-              # triggered.
-          &quot;autoUpgrade&quot;: True or False, # A flag that specifies whether node auto-upgrade is enabled for the node
-              # pool. If enabled, node auto-upgrade helps keep the nodes in your node pool
-              # up to date with the latest release version of Kubernetes.
-        },
       },
-    ],
-    &quot;selfLink&quot;: &quot;A String&quot;, # [Output only] Server-defined URL for the resource.
+      &quot;enableNodeAutoprovisioning&quot;: True or False, # Enables automatic node pool creation and deletion.
+      &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;labelFingerprint&quot;: &quot;A String&quot;, # The fingerprint of the set of labels for this cluster.
     &quot;networkPolicy&quot;: { # Configuration options for the NetworkPolicy feature. # Configuration options for the NetworkPolicy feature.
         # https://kubernetes.io/docs/concepts/services-networking/networkpolicies/
-      &quot;provider&quot;: &quot;A String&quot;, # The selected network policy provider.
       &quot;enabled&quot;: True or False, # Whether network policy is enabled on the cluster.
+      &quot;provider&quot;: &quot;A String&quot;, # The selected network policy provider.
     },
-    &quot;servicesIpv4Cidr&quot;: &quot;A String&quot;, # [Output only] The IP address range of the Kubernetes services in
-        # this cluster, in
+    &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. `1.2.3.4/29`). Service addresses are
-        # typically put in the last `/16` from the container CIDR.
-    &quot;enableKubernetesAlpha&quot;: True or False, # Kubernetes alpha features are enabled on this cluster. This includes alpha
-        # API groups (e.g. v1alpha1) 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;currentNodeCount&quot;: 42, # [Output only]  The number of nodes currently in the cluster. Deprecated.
-        # Call Kubernetes API directly to retrieve node information.
-    &quot;monitoringService&quot;: &quot;A String&quot;, # The monitoring service the cluster should use to write metrics.
-        # Currently available options:
-        #
-        # * &quot;monitoring.googleapis.com/kubernetes&quot; - The Cloud Monitoring
-        # service with a Kubernetes-native resource model
-        # * `monitoring.googleapis.com` - The legacy Cloud Monitoring service (no
-        #   longer available as of GKE 1.15).
-        # * `none` - No metrics will be exported from the cluster.
-        #
-        # If left as an empty string,`monitoring.googleapis.com/kubernetes` will be
-        # used for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions.
-    &quot;databaseEncryption&quot;: { # Configuration of etcd encryption. # Configuration of etcd encryption.
-      &quot;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;state&quot;: &quot;A String&quot;, # Denotes the state of etcd encryption.
+        # notation (e.g. `10.96.0.0/14`). Leave blank to have
+        # one automatically chosen or specify a `/14` block in `10.0.0.0/8`.
+    &quot;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;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 Binary Authorization.
-    },
-    &quot;tpuIpv4CidrBlock&quot;: &quot;A String&quot;, # [Output only] The IP address range of the Cloud TPUs in this cluster, in
-        # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
-        # notation (e.g. `1.2.3.4/29`).
-    &quot;workloadIdentityConfig&quot;: { # Configuration for the use of Kubernetes Service Accounts in GCP IAM # Configuration for the use of Kubernetes Service Accounts in GCP IAM
-        # policies.
-        # policies.
-      &quot;workloadPool&quot;: &quot;A String&quot;, # The workload pool to attach all Kubernetes service accounts to.
-    },
-    &quot;zone&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
-        # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
-        # cluster resides. This field is deprecated, use location instead.
-    &quot;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;loggingService&quot;: &quot;A String&quot;, # The logging service the cluster should use to write logs.
-        # Currently available options:
-        #
-        # * `logging.googleapis.com/kubernetes` - The Cloud Logging
-        # service with a Kubernetes-native resource model
-        # * `logging.googleapis.com` - The legacy Cloud Logging service (no longer
-        #   available as of GKE 1.15).
-        # * `none` - no logs will be exported from the cluster.
-        #
-        # If left as an empty string,`logging.googleapis.com/kubernetes` will be
-        # used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.
     &quot;nodeConfig&quot;: { # Parameters that describe the nodes in a cluster. # Parameters used in creating the cluster&#x27;s nodes.
         # For requests, this field should only be used in lieu of a
         # &quot;node_pool&quot; object, since this configuration (along with the
@@ -2303,6 +1936,39 @@
         #
         # If unspecified, the defaults are used.
         # This field is deprecated, use node_pool.config instead.
+      &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;enableIntegrityMonitoring&quot;: True or False, # Defines whether the instance has integrity monitoring enabled.
+            #
+            # Enables monitoring and attestation of the boot integrity of the instance.
+            # The attestation is performed against the integrity policy baseline. This
+            # baseline is initially derived from the implicitly trusted boot image when
+            # the instance is created.
+        &quot;enableSecureBoot&quot;: True or False, # Defines whether the instance has Secure Boot enabled.
+            #
+            # Secure Boot helps ensure that the system only runs authentic software by
+            # verifying the digital signature of all boot components, and halting the
+            # boot process if signature verification fails.
+      },
+      &quot;labels&quot;: { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
+          # These will added in addition to any default label(s) that
+          # Kubernetes may apply to the node.
+          # In case of conflict in label keys, the applied set may differ depending on
+          # the Kubernetes version -- it&#x27;s best to assume the behavior is undefined
+          # and conflicts should be avoided.
+          # For more information, including usage and the valid values, see:
+          # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
+        &quot;a_key&quot;: &quot;A String&quot;,
+      },
       &quot;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.
           #
@@ -2320,6 +1986,19 @@
           # Monitoring are enabled, in which case their required scopes will be added.
         &quot;A String&quot;,
       ],
+      &quot;minCpuPlatform&quot;: &quot;A String&quot;, # Minimum CPU platform to be used by this instance. The instance may be
+          # scheduled on the specified or newer CPU platform. Applicable values are the
+          # friendly names of CPU platforms, such as
+          # &lt;code&gt;minCpuPlatform: &amp;quot;Intel Haswell&amp;quot;&lt;/code&gt; or
+          # &lt;code&gt;minCpuPlatform: &amp;quot;Intel Sandy Bridge&amp;quot;&lt;/code&gt;. For more
+          # information, read [how to specify min CPU
+          # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
+      &quot;localSsdCount&quot;: 42, # The number of local SSD disks to be attached to the node.
+          #
+          # The limit for this value is dependent upon the maximum number of
+          # disks available on a machine per zone. See:
+          # https://cloud.google.com/compute/docs/disks/local-ssd
+          # for more information.
       &quot;taints&quot;: [ # List of kubernetes taints to be applied to each node.
           #
           # For more information, including usage and the valid values, see:
@@ -2330,80 +2009,37 @@
             # See
             # [here](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration)
             # for more information, including usage and the valid values.
-          &quot;effect&quot;: &quot;A String&quot;, # Effect for taint.
           &quot;value&quot;: &quot;A String&quot;, # Value for taint.
           &quot;key&quot;: &quot;A String&quot;, # Key for taint.
+          &quot;effect&quot;: &quot;A String&quot;, # Effect for taint.
         },
       ],
-      &quot;labels&quot;: { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
-          # These will added in addition to any default label(s) that
-          # Kubernetes may apply to the node.
-          # In case of conflict in label keys, the applied set may differ depending on
-          # the Kubernetes version -- it&#x27;s best to assume the behavior is undefined
-          # and conflicts should be avoided.
-          # For more information, including usage and the valid values, see:
-          # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
-        &quot;a_key&quot;: &quot;A String&quot;,
+      &quot;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;reservationAffinity&quot;: { # [ReservationAffinity](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources) # The optional reservation affinity. Setting this field will apply
+          # the specified [Zonal Compute
+          # Reservation](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources)
+          # to this node pool.
+          # is the configuration of desired reservation which instances could take
+          # capacity from.
+        &quot;consumeReservationType&quot;: &quot;A String&quot;, # Corresponds to the type of reservation consumption.
+        &quot;key&quot;: &quot;A String&quot;, # Corresponds to the label key of a reservation resource. To target a
+            # SPECIFIC_RESERVATION by name, specify &quot;googleapis.com/reservation-name&quot; as
+            # the key and specify the name of your reservation as its value.
+        &quot;values&quot;: [ # Corresponds to the label value(s) of reservation resource(s).
+          &quot;A String&quot;,
+        ],
       },
-      &quot;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;mode&quot;: &quot;A String&quot;, # Mode is the configuration for how to expose metadata to workloads running
-            # on the node pool.
-      },
-      &quot;accelerators&quot;: [ # A list of hardware accelerators to be attached to each node.
-          # See https://cloud.google.com/compute/docs/gpus for more information about
-          # support for GPUs.
-        { # AcceleratorConfig represents a Hardware Accelerator request.
-          &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators
-              # [here](https://cloud.google.com/compute/docs/gpus)
-          &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
-        },
-      ],
       &quot;machineType&quot;: &quot;A String&quot;, # The name of a Google Compute Engine [machine
           # type](https://cloud.google.com/compute/docs/machine-types) (e.g.
           # `n1-standard-1`).
           #
           # If unspecified, the default machine type is
           # `n1-standard-1`.
-      &quot;diskType&quot;: &quot;A String&quot;, # Type of the disk attached to each node (e.g. &#x27;pd-standard&#x27; or &#x27;pd-ssd&#x27;)
-          #
-          # If unspecified, the default disk type is &#x27;pd-standard&#x27;
-      &quot;shieldedInstanceConfig&quot;: { # A set of Shielded Instance options. # Shielded Instance options.
-        &quot;enableIntegrityMonitoring&quot;: True or False, # Defines whether the instance has integrity monitoring enabled.
-            #
-            # Enables monitoring and attestation of the boot integrity of the instance.
-            # The attestation is performed against the integrity policy baseline. This
-            # baseline is initially derived from the implicitly trusted boot image when
-            # the instance is created.
-        &quot;enableSecureBoot&quot;: True or False, # Defines whether the instance has Secure Boot enabled.
-            #
-            # Secure Boot helps ensure that the system only runs authentic software by
-            # verifying the digital signature of all boot components, and halting the
-            # boot process if signature verification fails.
-      },
-      &quot;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
-          # information about preemptible VM instances.
-      &quot;localSsdCount&quot;: 42, # The number of local SSD disks to be attached to the node.
-          #
-          # The limit for this value is dependent upon the maximum number of
-          # disks available on a machine per zone. See:
-          # https://cloud.google.com/compute/docs/disks/local-ssd
-          # for more information.
-      &quot;sandboxConfig&quot;: { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node.
-        &quot;type&quot;: &quot;A String&quot;, # Type of the sandbox to use for the node.
-      },
+      &quot;nodeGroup&quot;: &quot;A String&quot;, # Setting this field will assign instances of this
+          # pool to run on the specified node group. This is useful for running
+          # workloads on [sole tenant
+          # nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes).
       &quot;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
@@ -2438,45 +2074,63 @@
           # 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;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;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;tags&quot;: [ # The list of instance tags applied to all nodes. Tags are used to identify
           # valid sources or targets for network firewalls and are specified by
           # the client during cluster or node pool creation. Each tag within the list
           # must comply with RFC1035.
         &quot;A String&quot;,
       ],
+      &quot;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;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
+          # information about preemptible VM instances.
+      &quot;workloadMetadataConfig&quot;: { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node.
+          # workloads on the node pool.
+        &quot;mode&quot;: &quot;A String&quot;, # Mode is the configuration for how to expose metadata to workloads running
+            # on the node 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;serviceAccount&quot;: &quot;A String&quot;, # The Google Cloud Platform Service Account to be used by the node VMs.
           # Specify the email address of the Service Account; otherwise, if no Service
           # Account is specified, the &quot;default&quot; service account is used.
-      &quot;imageType&quot;: &quot;A String&quot;, # The image type to use for this node. Note that for a given image type,
-          # the latest version of it will be used.
+      &quot;accelerators&quot;: [ # A list of hardware accelerators to be attached to each node.
+          # See https://cloud.google.com/compute/docs/gpus for more information about
+          # support for GPUs.
+        { # AcceleratorConfig represents a Hardware Accelerator request.
+          &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators
+              # [here](https://cloud.google.com/compute/docs/gpus)
+          &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
+        },
+      ],
     },
-    &quot;status&quot;: &quot;A String&quot;, # [Output only] The current status of this cluster.
-    &quot;networkConfig&quot;: { # NetworkConfig reports the relative names of network &amp; subnetwork. # Configuration for cluster networking.
-      &quot;enableIntraNodeVisibility&quot;: True or False, # Whether Intra-node visibility is enabled for this cluster.
-          # This makes same node pod to pod traffic visible for VPC network.
-      &quot;subnetwork&quot;: &quot;A String&quot;, # Output only. The relative name of the Google Compute Engine
-          # [subnetwork](https://cloud.google.com/compute/docs/vpc) to which the
-          # cluster is connected. Example:
-          # projects/my-project/regions/us-central1/subnetworks/my-subnet
-      &quot;network&quot;: &quot;A String&quot;, # Output only. The relative name of the Google Compute Engine
-          # network(https://cloud.google.com/compute/docs/networks-and-firewalls#networks)
-          # to which the cluster is connected. Example:
-          # projects/my-project/global/networks/my-network
+    &quot;resourceUsageExportConfig&quot;: { # Configuration for exporting cluster resource usages. # Configuration for exporting resource usages. Resource usage export is
+        # disabled when this config is 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;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;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;initialNodeCount&quot;: 42, # The number of nodes to create in this cluster. You must ensure that your
+        # Compute Engine [resource quota](https://cloud.google.com/compute/quotas)
+        # is sufficient for this number of instances. You must also have available
+        # firewall and routes quota.
+        # For requests, this field should only be used in lieu of a
+        # &quot;node_pool&quot; object, since this configuration (along with the
+        # &quot;node_config&quot;) will be used to create a &quot;NodePool&quot; object with an
+        # auto-generated name. Do not use this and a node_pool at the same time.
+        #
+        # This field is deprecated, use node_pool.initial_node_count instead.
     &quot;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:
@@ -2484,17 +2138,428 @@
         # * 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/`.
+    &quot;workloadIdentityConfig&quot;: { # Configuration for the use of Kubernetes Service Accounts in GCP IAM # Configuration for the use of Kubernetes Service Accounts in GCP IAM
+        # policies.
+        # policies.
+      &quot;workloadPool&quot;: &quot;A String&quot;, # The workload pool to attach all Kubernetes service accounts to.
+    },
+    &quot;networkConfig&quot;: { # NetworkConfig reports the relative names of network &amp; subnetwork. # Configuration for cluster networking.
+      &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;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;databaseEncryption&quot;: { # Configuration of etcd encryption. # Configuration of etcd encryption.
+      &quot;state&quot;: &quot;A String&quot;, # Denotes the state of etcd encryption.
+      &quot;keyName&quot;: &quot;A String&quot;, # Name of CloudKMS key to use for the encryption of secrets in etcd.
+          # Ex. projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-key
+    },
+    &quot;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;peeringName&quot;: &quot;A String&quot;, # Output only. The peering name in the customer VPC used by this cluster.
+      &quot;enablePrivateNodes&quot;: True or False, # Whether nodes have internal IP addresses only. If enabled, all nodes are
+          # given only RFC 1918 private addresses and communicate with the master via
+          # private networking.
+      &quot;publicEndpoint&quot;: &quot;A String&quot;, # Output only. The external IP address of this cluster&#x27;s master endpoint.
+      &quot;enablePrivateEndpoint&quot;: True or False, # Whether the master&#x27;s internal IP address is used as the cluster endpoint.
+      &quot;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;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;nodePools&quot;: [ # The node pools associated with this cluster.
+        # This field should not be set if &quot;node_config&quot; or &quot;initial_node_count&quot; are
+        # specified.
+      { # NodePool contains the name and configuration for a cluster&#x27;s node pool.
+          # Node pools are a set of nodes (i.e. VM&#x27;s), with a common configuration and
+          # specification, under the control of the cluster master. They may have a set
+          # of Kubernetes labels applied to them, which may be used to reference them
+          # during pod scheduling. They may also be resized up or down, to accommodate
+          # the workload.
+        &quot;selfLink&quot;: &quot;A String&quot;, # [Output only] Server-defined URL for the resource.
+        &quot;management&quot;: { # NodeManagement defines the set of node management services turned on for the # NodeManagement configuration for this NodePool.
+            # node pool.
+          &quot;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;autoRepair&quot;: True or False, # A flag that specifies whether the node auto-repair is enabled for the node
+              # pool. If enabled, the nodes in this node pool will be monitored and, if
+              # they fail health checks too many times, an automatic repair action will be
+              # triggered.
+          &quot;autoUpgrade&quot;: True or False, # A flag that specifies whether node auto-upgrade is enabled for the node
+              # pool. If enabled, node auto-upgrade helps keep the nodes in your node pool
+              # up to date with the latest release version of Kubernetes.
+        },
+        &quot;upgradeSettings&quot;: { # These upgrade settings control the level of parallelism and the level of # Upgrade settings control disruption and speed of the upgrade.
+            # disruption caused by an upgrade.
+            #
+            # maxUnavailable controls the number of nodes that can be simultaneously
+            # unavailable.
+            #
+            # maxSurge controls the number of additional nodes that can be added to the
+            # node pool temporarily for the time of the upgrade to increase the number of
+            # available nodes.
+            #
+            # (maxUnavailable + maxSurge) determines the level of parallelism (how many
+            # nodes are being upgraded at the same time).
+            #
+            # Note: upgrades inevitably introduce some disruption since workloads need to
+            # be moved from old nodes to new, upgraded ones. Even if maxUnavailable=0,
+            # this holds true. (Disruption stays within the limits of
+            # PodDisruptionBudget, if it is configured.)
+            #
+            # Consider a hypothetical node pool with 5 nodes having maxSurge=2,
+            # maxUnavailable=1. This means the upgrade process upgrades 3 nodes
+            # simultaneously. It creates 2 additional (upgraded) nodes, then it brings
+            # down 3 old (not yet upgraded) nodes at the same time. This ensures that
+            # there are always at least 4 nodes available.
+          &quot;maxUnavailable&quot;: 42, # The maximum number of nodes that can be simultaneously unavailable during
+              # the upgrade process. A node is considered available if its status is
+              # Ready.
+          &quot;maxSurge&quot;: 42, # The maximum number of nodes that can be created beyond the current size
+              # of the node pool during the upgrade process.
+        },
+        &quot;initialNodeCount&quot;: 42, # The initial node count for the pool. You must ensure that your
+            # Compute Engine [resource quota](https://cloud.google.com/compute/quotas)
+            # is sufficient for this number of instances. You must also have available
+            # firewall and routes quota.
+        &quot;statusMessage&quot;: &quot;A String&quot;, # [Output only] Additional information about the current status of this
+            # node pool instance, if available.
+        &quot;version&quot;: &quot;A String&quot;, # The version of the Kubernetes of this node.
+        &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;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+            &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
+          },
+        ],
+        &quot;config&quot;: { # Parameters that describe the nodes in a cluster. # The node configuration of the pool.
+          &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;enableIntegrityMonitoring&quot;: True or False, # Defines whether the instance has integrity monitoring enabled.
+                #
+                # Enables monitoring and attestation of the boot integrity of the instance.
+                # The attestation is performed against the integrity policy baseline. This
+                # baseline is initially derived from the implicitly trusted boot image when
+                # the instance is created.
+            &quot;enableSecureBoot&quot;: True or False, # Defines whether the instance has Secure Boot enabled.
+                #
+                # Secure Boot helps ensure that the system only runs authentic software by
+                # verifying the digital signature of all boot components, and halting the
+                # boot process if signature verification fails.
+          },
+          &quot;labels&quot;: { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
+              # These will added in addition to any default label(s) that
+              # Kubernetes may apply to the node.
+              # In case of conflict in label keys, the applied set may differ depending on
+              # the Kubernetes version -- it&#x27;s best to assume the behavior is undefined
+              # and conflicts should be avoided.
+              # For more information, including usage and the valid values, see:
+              # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
+            &quot;a_key&quot;: &quot;A String&quot;,
+          },
+          &quot;oauthScopes&quot;: [ # The set of Google API scopes to be made available on all of the
+              # node VMs under the &quot;default&quot; service account.
+              #
+              # The following scopes are recommended, but not required, and by default are
+              # not included:
+              #
+              # * `https://www.googleapis.com/auth/compute` is required for mounting
+              # persistent storage on your nodes.
+              # * `https://www.googleapis.com/auth/devstorage.read_only` is required for
+              # communicating with **gcr.io**
+              # (the [Google Container
+              # Registry](https://cloud.google.com/container-registry/)).
+              #
+              # If unspecified, no scopes are added, unless Cloud Logging or Cloud
+              # Monitoring are enabled, in which case their required scopes will be added.
+            &quot;A String&quot;,
+          ],
+          &quot;minCpuPlatform&quot;: &quot;A String&quot;, # Minimum CPU platform to be used by this instance. The instance may be
+              # scheduled on the specified or newer CPU platform. Applicable values are the
+              # friendly names of CPU platforms, such as
+              # &lt;code&gt;minCpuPlatform: &amp;quot;Intel Haswell&amp;quot;&lt;/code&gt; or
+              # &lt;code&gt;minCpuPlatform: &amp;quot;Intel Sandy Bridge&amp;quot;&lt;/code&gt;. For more
+              # information, read [how to specify min CPU
+              # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
+          &quot;localSsdCount&quot;: 42, # The number of local SSD disks to be attached to the node.
+              #
+              # The limit for this value is dependent upon the maximum number of
+              # disks available on a machine per zone. See:
+              # https://cloud.google.com/compute/docs/disks/local-ssd
+              # for more information.
+          &quot;taints&quot;: [ # List of kubernetes taints to be applied to each node.
+              #
+              # For more information, including usage and the valid values, see:
+              # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
+            { # Kubernetes taint is comprised of three fields: key, value, and effect. Effect
+                # can only be one of three types:  NoSchedule, PreferNoSchedule or NoExecute.
+                #
+                # See
+                # [here](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration)
+                # for more information, including usage and the valid values.
+              &quot;value&quot;: &quot;A String&quot;, # Value for taint.
+              &quot;key&quot;: &quot;A String&quot;, # Key for taint.
+              &quot;effect&quot;: &quot;A String&quot;, # Effect for taint.
+            },
+          ],
+          &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;reservationAffinity&quot;: { # [ReservationAffinity](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources) # The optional reservation affinity. Setting this field will apply
+              # the specified [Zonal Compute
+              # Reservation](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources)
+              # to this node pool.
+              # is the configuration of desired reservation which instances could take
+              # capacity from.
+            &quot;consumeReservationType&quot;: &quot;A String&quot;, # Corresponds to the type of reservation consumption.
+            &quot;key&quot;: &quot;A String&quot;, # Corresponds to the label key of a reservation resource. To target a
+                # SPECIFIC_RESERVATION by name, specify &quot;googleapis.com/reservation-name&quot; as
+                # the key and specify the name of your reservation as its value.
+            &quot;values&quot;: [ # Corresponds to the label value(s) of reservation resource(s).
+              &quot;A String&quot;,
+            ],
+          },
+          &quot;machineType&quot;: &quot;A String&quot;, # The name of a Google Compute Engine [machine
+              # type](https://cloud.google.com/compute/docs/machine-types) (e.g.
+              # `n1-standard-1`).
+              #
+              # If unspecified, the default machine type is
+              # `n1-standard-1`.
+          &quot;nodeGroup&quot;: &quot;A String&quot;, # Setting this field will assign instances of this
+              # pool to run on the specified node group. This is useful for running
+              # workloads on [sole tenant
+              # nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes).
+          &quot;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-os-login&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;tags&quot;: [ # The list of instance tags applied to all nodes. Tags are used to identify
+              # valid sources or targets for network firewalls and are specified by
+              # the client during cluster or node pool creation. Each tag within the list
+              # must comply with RFC1035.
+            &quot;A String&quot;,
+          ],
+          &quot;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;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
+              # information about preemptible VM instances.
+          &quot;workloadMetadataConfig&quot;: { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node.
+              # workloads on the node pool.
+            &quot;mode&quot;: &quot;A String&quot;, # Mode is the configuration for how to expose metadata to workloads running
+                # on the node 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;serviceAccount&quot;: &quot;A String&quot;, # The Google Cloud Platform Service Account to be used by the node VMs.
+              # Specify the email address of the Service Account; otherwise, if no Service
+              # Account is specified, the &quot;default&quot; service account is used.
+          &quot;accelerators&quot;: [ # A list of hardware accelerators to be attached to each node.
+              # See https://cloud.google.com/compute/docs/gpus for more information about
+              # support for GPUs.
+            { # AcceleratorConfig represents a Hardware Accelerator request.
+              &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators
+                  # [here](https://cloud.google.com/compute/docs/gpus)
+              &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
+            },
+          ],
+        },
+        &quot;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;autoscaling&quot;: { # NodePoolAutoscaling contains information required by cluster autoscaler to # Autoscaler configuration for this NodePool. Autoscaler is enabled
+            # only if a valid configuration is present.
+            # adjust the size of the node pool to the current cluster usage.
+          &quot;minNodeCount&quot;: 42, # Minimum number of nodes in the NodePool. Must be &gt;= 1 and &lt;=
+              # max_node_count.
+          &quot;maxNodeCount&quot;: 42, # Maximum number of nodes in the NodePool. Must be &gt;= min_node_count. There
+              # has to enough quota to scale up the cluster.
+          &quot;enabled&quot;: True or False, # Is autoscaling enabled for this node pool.
+          &quot;autoprovisioned&quot;: True or False, # Can this node pool be deleted automatically.
+        },
+        &quot;podIpv4CidrSize&quot;: 42, # [Output only] The pod CIDR block size per node in this node pool.
+        &quot;instanceGroupUrls&quot;: [ # [Output only] The resource URLs of the [managed instance
+            # groups](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances)
+            # associated with this node pool.
+          &quot;A String&quot;,
+        ],
+        &quot;status&quot;: &quot;A String&quot;, # [Output only] The status of the nodes in this pool instance.
+        &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;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.
+    &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;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;cloudRunConfig&quot;: { # Configuration options for the Cloud Run feature. # Configuration for the Cloud Run addon, which allows the user to use a
+          # managed Knative service.
+        &quot;disabled&quot;: True or False, # Whether Cloud Run addon is enabled for this cluster.
+      },
+      &quot;httpLoadBalancing&quot;: { # Configuration options for the HTTP (L7) load balancing controller addon, # Configuration for the HTTP (L7) load balancing controller addon, which
+          # makes it easy to set up HTTP load balancers for services in a cluster.
+          # which makes it easy to set up HTTP load balancers for services in a cluster.
+        &quot;disabled&quot;: True or False, # Whether the HTTP Load Balancing controller is enabled in the cluster.
+            # When enabled, it runs a small pod in the cluster that manages the load
+            # balancers.
+      },
+      &quot;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;dnsCacheConfig&quot;: { # Configuration for NodeLocal DNSCache # Configuration for NodeLocalDNS, a dns cache running on cluster nodes
+        &quot;enabled&quot;: True or False, # Whether NodeLocal DNSCache is enabled for this cluster.
+      },
+      &quot;networkPolicyConfig&quot;: { # Configuration for NetworkPolicy. This only tracks whether the addon # Configuration for NetworkPolicy. This only tracks whether the addon
+          # is enabled or not on the Master, it does not track whether network policy
+          # is enabled for the nodes.
+          # is enabled or not on the Master, it does not track whether network policy
+          # is enabled for the nodes.
+        &quot;disabled&quot;: True or False, # Whether NetworkPolicy is enabled for this cluster.
+      },
+    },
+    &quot;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;clientKey&quot;: &quot;A String&quot;, # [Output only] Base64-encoded private key used by clients to authenticate
+          # to the cluster endpoint.
+      &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;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;clusterCaCertificate&quot;: &quot;A String&quot;, # [Output only] Base64-encoded public certificate that is the root of
+          # trust for the 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;enableTpu&quot;: True or False, # Enable the ability to use Cloud TPUs in this cluster.
+    &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.
         #
-        # See the `masterAuth` property of this resource for username and
-        # password information.
+        # Users may specify either explicit versions offered by
+        # Kubernetes Engine or version aliases, which have the following behavior:
+        #
+        # - &quot;latest&quot;: picks the highest valid Kubernetes version
+        # - &quot;1.X&quot;: picks the highest valid patch+gke.N patch in the 1.X version
+        # - &quot;1.X.Y&quot;: picks the highest valid gke.N patch in the 1.X.Y version
+        # - &quot;1.X.Y-gke.N&quot;: picks an explicit Kubernetes version
+        # - &quot;&quot;,&quot;-&quot;: picks the default Kubernetes version
+    &quot;currentNodeCount&quot;: 42, # [Output only]  The number of nodes currently in the cluster. Deprecated.
+        # Call Kubernetes API directly to retrieve node information.
+    &quot;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;locations&quot;: [ # The list of Google Compute Engine
+        # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
+        # cluster&#x27;s nodes should be located.
+      &quot;A String&quot;,
+    ],
+    &quot;selfLink&quot;: &quot;A String&quot;, # [Output only] Server-defined URL for the resource.
+    &quot;description&quot;: &quot;A String&quot;, # An optional description of this cluster.
+    &quot;statusMessage&quot;: &quot;A String&quot;, # [Output only] Additional information about the current status of this
+        # cluster, if available.
     &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;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.
   }</pre>
 </div>
 
@@ -2517,18 +2582,18 @@
 
 { # SetLegacyAbacRequest enables or disables the ABAC authorization mechanism for
       # a cluster.
-    &quot;clusterId&quot;: &quot;A String&quot;, # Deprecated. The name of the cluster to update.
-        # 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 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;, # Deprecated. The Google Developers Console [project ID or project
-        # number](https://support.google.com/cloud/answer/6158840).
-        # This field has been deprecated and replaced by the name field.
     &quot;zone&quot;: &quot;A String&quot;, # 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;, # Deprecated. The name of the cluster to update.
+        # This field has been deprecated and replaced by the name field.
+    &quot;projectId&quot;: &quot;A String&quot;, # Deprecated. The Google Developers Console [project ID or project
+        # number](https://support.google.com/cloud/answer/6158840).
+        # This field has been deprecated and replaced by the name field.
+    &quot;enabled&quot;: True or False, # Required. Whether ABAC authorization will be enabled in the cluster.
   }
 
   x__xgafv: string, V1 error format.
@@ -2541,19 +2606,9 @@
 
     { # This operation resource represents operations that may have happened or are
       # happening on the cluster. All fields are output only.
-    &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;name&quot;: &quot;A String&quot;, # A non-parameterized string describing an operation stage.
           # Unset for single-stage operations.
-      &quot;stages&quot;: [ # Substages of an operation or a stage.
-        # Object with schema name: OperationProgress
-      ],
       &quot;metrics&quot;: [ # Progress metric bundle, for example:
           #   metrics: [{name: &quot;nodes done&quot;,     int_value: 15},
           #             {name: &quot;nodes total&quot;,    int_value: 32}]
@@ -2561,41 +2616,51 @@
           #   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;stringValue&quot;: &quot;A String&quot;, # For metrics with custom values (ratios, visual progress, etc.).
           &quot;doubleValue&quot;: 3.14, # For metrics with floating point value.
           &quot;intValue&quot;: &quot;A String&quot;, # For metrics with integer value.
-          &quot;stringValue&quot;: &quot;A String&quot;, # For metrics with custom values (ratios, visual progress, etc.).
+          &quot;name&quot;: &quot;A String&quot;, # Required. Metric name, e.g., &quot;nodes total&quot;, &quot;percent done&quot;.
         },
       ],
       &quot;status&quot;: &quot;A String&quot;, # Status of an operation stage.
           # Unset for single-stage operations.
+      &quot;stages&quot;: [ # Substages of an operation or a stage.
+        # Object with schema name: OperationProgress
+      ],
     },
+    &quot;targetLink&quot;: &quot;A String&quot;, # Server-defined URL for the target of the operation.
+    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
+    &quot;operationType&quot;: &quot;A String&quot;, # The operation type.
+    &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;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
+      },
+    ],
     &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;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
-    &quot;targetLink&quot;: &quot;A String&quot;, # Server-defined URL for the target of the operation.
-    &quot;operationType&quot;: &quot;A String&quot;, # The operation type.
-    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
     &quot;name&quot;: &quot;A String&quot;, # The server-assigned ID for the operation.
+    &quot;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
+    &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;nodepoolConditions&quot;: [ # Which conditions caused the current node pool state.
       { # StatusCondition describes why a cluster or a node pool has a certain status
           # (e.g., ERROR or DEGRADED).
-        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
         &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
       },
     ],
-    &quot;endTime&quot;: &quot;A String&quot;, # [Output only] The time the operation completed, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
     &quot;location&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
         # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
         # or
         # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
         # in which the cluster resides.
-    &quot;startTime&quot;: &quot;A String&quot;, # [Output only] The time the operation started, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    &quot;statusMessage&quot;: &quot;A String&quot;, # Output only. If an error has occurred, a textual description of the error.
   }</pre>
 </div>
 
@@ -2627,233 +2692,145 @@
     &quot;clusters&quot;: [ # A list of clusters in the project in the specified zone, or
         # across all ones.
       { # A Google Kubernetes Engine cluster.
-        &quot;createTime&quot;: &quot;A String&quot;, # [Output only] The time the cluster was created, in
-            # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-        &quot;clusterIpv4Cidr&quot;: &quot;A String&quot;, # The IP address range of the container pods in this cluster, in
-            # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
-            # notation (e.g. `10.96.0.0/14`). Leave blank to have
-            # one automatically chosen or specify a `/14` block in `10.0.0.0/8`.
-        &quot;autoscaling&quot;: { # ClusterAutoscaling contains global, per-cluster information # Cluster-level autoscaling configuration.
-            # required by Cluster Autoscaler to automatically adjust
-            # the size of the cluster and create/delete
-            # node pools based on the current needs.
-          &quot;autoprovisioningLocations&quot;: [ # The list of Google Compute Engine
-              # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
-              # NodePool&#x27;s nodes can be created by NAP.
-            &quot;A String&quot;,
-          ],
-          &quot;resourceLimits&quot;: [ # Contains global constraints regarding minimum and maximum
-              # amount of resources in the cluster.
-            { # Contains information about amount of some resource in the cluster.
-                # For memory, value should be in GB.
-              &quot;minimum&quot;: &quot;A String&quot;, # Minimum amount of the resource in the cluster.
-              &quot;maximum&quot;: &quot;A String&quot;, # Maximum amount of the resource in the cluster.
-              &quot;resourceType&quot;: &quot;A String&quot;, # Resource name &quot;cpu&quot;, &quot;memory&quot; or gpu-specific string.
-            },
-          ],
-          &quot;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;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;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;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;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;autoRepair&quot;: True or False, # A flag that specifies whether the node auto-repair is enabled for the node
-                  # pool. If enabled, the nodes in this node pool will be monitored and, if
-                  # they fail health checks too many times, an automatic repair action will be
-                  # triggered.
-              &quot;autoUpgrade&quot;: True or False, # A flag that specifies whether node auto-upgrade is enabled for the node
-                  # pool. If enabled, node auto-upgrade helps keep the nodes in your node pool
-                  # up to date with the latest release version of Kubernetes.
-            },
-            &quot;oauthScopes&quot;: [ # Scopes that are used by NAP when creating node pools. If oauth_scopes are
-                # specified, service_account should be empty.
-              &quot;A String&quot;,
-            ],
-            &quot;upgradeSettings&quot;: { # These upgrade settings control the level of parallelism and the level of # Specifies the upgrade settings for NAP created node pools
-                # disruption caused by an upgrade.
-                #
-                # maxUnavailable controls the number of nodes that can be simultaneously
-                # unavailable.
-                #
-                # maxSurge controls the number of additional nodes that can be added to the
-                # node pool temporarily for the time of the upgrade to increase the number of
-                # available nodes.
-                #
-                # (maxUnavailable + maxSurge) determines the level of parallelism (how many
-                # nodes are being upgraded at the same time).
-                #
-                # Note: upgrades inevitably introduce some disruption since workloads need to
-                # be moved from old nodes to new, upgraded ones. Even if maxUnavailable=0,
-                # this holds true. (Disruption stays within the limits of
-                # PodDisruptionBudget, if it is configured.)
-                #
-                # Consider a hypothetical node pool with 5 nodes having maxSurge=2,
-                # maxUnavailable=1. This means the upgrade process upgrades 3 nodes
-                # simultaneously. It creates 2 additional (upgraded) nodes, then it brings
-                # down 3 old (not yet upgraded) nodes at the same time. This ensures that
-                # there are always at least 4 nodes available.
-              &quot;maxUnavailable&quot;: 42, # The maximum number of nodes that can be simultaneously unavailable during
-                  # the upgrade process. A node is considered available if its status is
-                  # Ready.
-              &quot;maxSurge&quot;: 42, # The maximum number of nodes that can be created beyond the current size
-                  # of the node pool during the upgrade process.
-            },
-            &quot;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;currentMasterVersion&quot;: &quot;A String&quot;, # [Output only] The current software version of the master endpoint.
+        &quot;currentNodeVersion&quot;: &quot;A String&quot;, # [Output only] Deprecated, use
+            # [NodePools.version](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/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;authenticatorGroupsConfig&quot;: { # Configuration for returning group information from authenticators. # Configuration controlling RBAC group membership information.
+          &quot;securityGroup&quot;: &quot;A String&quot;, # The name of the security group-of-groups to be used. Only relevant
+              # if enabled = true.
+          &quot;enabled&quot;: True or False, # Whether this cluster should return group membership lookups
+              # during authentication using a group of security groups.
         },
-        &quot;initialNodeCount&quot;: 42, # The number of nodes to create in this cluster. You must ensure that your
-            # Compute Engine &lt;a href=&quot;/compute/docs/resource-quotas&quot;&gt;resource quota&lt;/a&gt;
-            # is sufficient for this number of instances. You must also have available
-            # firewall and routes quota.
-            # For requests, this field should only be used in lieu of a
-            # &quot;node_pool&quot; object, since this configuration (along with the
-            # &quot;node_config&quot;) will be used to create a &quot;NodePool&quot; object with an
-            # auto-generated name. Do not use this and a node_pool at the same time.
+        &quot;enableKubernetesAlpha&quot;: True or False, # Kubernetes alpha features are enabled on this cluster. This includes alpha
+            # API groups (e.g. v1alpha1) 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;ipAllocationPolicy&quot;: { # Configuration for controlling how IPs are allocated in the cluster. # Configuration for cluster IP allocation.
+          &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 is true and
+              # create_subnetwork is false.
+          &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;nodeIpv4Cidr&quot;: &quot;A String&quot;, # This field is deprecated, use node_ipv4_cidr_block.
+          &quot;servicesIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP address range of the services IPs in this cluster. If blank, a range
+              # will be automatically chosen with the default size.
+              #
+              # This field is only applicable when `use_ip_aliases` is true.
+              #
+              # Set to blank to have a range chosen with the default size.
+              #
+              # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
+              # netmask.
+              #
+              # Set to a
+              # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+              # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
+              # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
+              # to use.
+          &quot;servicesIpv4Cidr&quot;: &quot;A String&quot;, # This field is deprecated, use services_ipv4_cidr_block.
+          &quot;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 is true and
+              # create_subnetwork is false.
+          &quot;tpuIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP address range of the Cloud TPUs in this cluster. If unspecified, a
+              # range will be automatically chosen with the default size.
+              #
+              # This field is only applicable when `use_ip_aliases` is true.
+              #
+              # If unspecified, the range will use the default size.
+              #
+              # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
+              # netmask.
+              #
+              # Set to a
+              # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+              # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
+              # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
+              # to use.
+          &quot;nodeIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP address range of the instance IPs in this cluster.
+              #
+              # This is applicable only if `create_subnetwork` is true.
+              #
+              # Set to blank to have a range chosen with the default size.
+              #
+              # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
+              # netmask.
+              #
+              # Set to a
+              # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+              # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
+              # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
+              # to use.
+          &quot;useIpAliases&quot;: True or False, # Whether alias IPs will be used for pod IPs in the cluster.
+          &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;clusterIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP address range for the cluster pod IPs. If this field is set, then
+              # `cluster.cluster_ipv4_cidr` must be left blank.
+              #
+              # This field is only applicable when `use_ip_aliases` is true.
+              #
+              # Set to blank to have a range chosen with the default size.
+              #
+              # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
+              # netmask.
+              #
+              # Set to a
+              # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+              # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
+              # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
+              # to use.
+          &quot;clusterIpv4Cidr&quot;: &quot;A String&quot;, # This field is deprecated, use cluster_ipv4_cidr_block.
+        },
+        &quot;loggingService&quot;: &quot;A String&quot;, # The logging service the cluster should use to write logs.
+            # Currently available options:
             #
-            # 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;masterIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP range in CIDR notation to use for the hosted master network. This
-              # range will be used for assigning internal IP addresses to the master or
-              # set of masters, as well as the ILB VIP. This range must not overlap with
-              # any other ranges in use within the cluster&#x27;s network.
-          &quot;enablePrivateNodes&quot;: True or False, # Whether nodes have internal IP addresses only. If enabled, all nodes are
-              # given only RFC 1918 private addresses and communicate with the master via
-              # private networking.
-          &quot;privateEndpoint&quot;: &quot;A String&quot;, # Output only. The internal IP address of this cluster&#x27;s master endpoint.
-          &quot;enablePrivateEndpoint&quot;: True or False, # Whether the master&#x27;s internal IP address is used as the cluster endpoint.
-          &quot;peeringName&quot;: &quot;A String&quot;, # Output only. The peering name in the customer VPC used by this cluster.
-          &quot;publicEndpoint&quot;: &quot;A String&quot;, # Output only. The external IP address of this cluster&#x27;s master endpoint.
+            # * `logging.googleapis.com/kubernetes` - The Cloud Logging
+            # service with a Kubernetes-native resource model
+            # * `logging.googleapis.com` - The legacy Cloud Logging service (no longer
+            #   available as of GKE 1.15).
+            # * `none` - no logs will be exported from the cluster.
+            #
+            # If left as an empty string,`logging.googleapis.com/kubernetes` will be
+            # used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.
+        &quot;zone&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
+            # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
+            # cluster resides. This field is deprecated, use location instead.
+        &quot;legacyAbac&quot;: { # Configuration for the legacy Attribute Based Access Control authorization # Configuration for the legacy ABAC authorization mode.
+            # mode.
+          &quot;enabled&quot;: True or False, # Whether the ABAC authorizer is enabled for this cluster. When enabled,
+              # identities in the system, including service accounts, nodes, and
+              # controllers, will have statically granted permissions beyond those
+              # provided by the RBAC configuration or IAM.
         },
-        &quot;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;resourceLabels&quot;: { # The resource labels for the cluster to use to annotate any related
+            # Google Compute Engine resources.
+          &quot;a_key&quot;: &quot;A String&quot;,
         },
-        &quot;verticalPodAutoscaling&quot;: { # VerticalPodAutoscaling contains global, per-cluster information # Cluster-level Vertical Pod Autoscaling configuration.
-            # required by Vertical Pod Autoscaler to automatically adjust
-            # the resources of pods controlled by it.
-          &quot;enabled&quot;: True or False, # Enables vertical pod autoscaling.
-        },
-        &quot;defaultMaxPodsConstraint&quot;: { # Constraints applied to pods. # The default constraint on the maximum number of pods that can be run
-            # simultaneously on a node in the node pool of this cluster. Only honored
-            # if cluster created with IP Alias support.
-          &quot;maxPodsPerNode&quot;: &quot;A String&quot;, # Constraint enforced on the max num of pods per node.
-        },
-        &quot;network&quot;: &quot;A String&quot;, # The name of the Google Compute Engine
-            # [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks)
-            # to which the cluster is connected. If left unspecified, the `default`
-            # network will be used.
-        &quot;labelFingerprint&quot;: &quot;A String&quot;, # The fingerprint of the set of labels for this cluster.
         &quot;nodeIpv4CidrSize&quot;: 42, # [Output only] The size of the address space on each node for hosting
             # containers. This is provisioned from within the `container_ipv4_cidr`
             # range. This field will only be set when cluster is in route-based network
             # mode.
-        &quot;masterAuthorizedNetworksConfig&quot;: { # Configuration options for the master authorized networks feature. Enabled # The configuration options for master authorized networks feature.
-            # master authorized networks will disallow all external traffic to access
-            # Kubernetes master through HTTPS except traffic from the given CIDR blocks,
-            # Google Compute Engine Public IPs and Google Prod IPs.
-          &quot;cidrBlocks&quot;: [ # cidr_blocks define up to 50 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;, # [Output only] Base64-encoded public certificate that is the root of
-              # trust for the cluster.
-          &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;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;cloudRunConfig&quot;: { # Configuration options for the Cloud Run feature. # Configuration for the Cloud Run addon, which allows the user to use a
-              # managed Knative service.
-            &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;currentNodeVersion&quot;: &quot;A String&quot;, # [Output only] Deprecated, use
-            # [NodePools.version](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.zones.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.
-        &quot;resourceLabels&quot;: { # The resource labels for the cluster to use to annotate any related
-            # Google Compute Engine resources.
-          &quot;a_key&quot;: &quot;A String&quot;,
+        &quot;releaseChannel&quot;: { # ReleaseChannel indicates which release channel a cluster is # Release channel configuration.
+            # subscribed to. Release channels are arranged in order of risk.
+            #
+            # When a cluster is subscribed to a release channel, Google maintains
+            # both the master version and the node version. Node auto-upgrade
+            # defaults to true and cannot be disabled.
+          &quot;channel&quot;: &quot;A String&quot;, # channel specifies which release channel the cluster is subscribed to.
         },
         &quot;maintenancePolicy&quot;: { # MaintenancePolicy defines the maintenance policy to be used for the cluster. # Configure the maintenance policy for this cluster.
           &quot;window&quot;: { # MaintenanceWindow defines the maintenance window to be used for the cluster. # Specifies the maintenance window in which maintenance may be performed.
@@ -2865,6 +2842,15 @@
                 &quot;startTime&quot;: &quot;A String&quot;, # The time that the window first starts.
               },
             },
+            &quot;dailyMaintenanceWindow&quot;: { # Time window specified for daily maintenance operations. # DailyMaintenanceWindow specifies a daily maintenance operation window.
+              &quot;duration&quot;: &quot;A String&quot;, # [Output only] Duration of the time window, automatically chosen to be
+                  # smallest possible in the given scenario.
+                  # Duration will be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)
+                  # format &quot;PTnHnMnS&quot;.
+              &quot;startTime&quot;: &quot;A String&quot;, # Time within the maintenance window to start the maintenance operations.
+                  # Time format should be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)
+                  # 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.
@@ -2901,15 +2887,6 @@
                   # to specify duration of the window and when it first starts.
                   # The FREQ values of HOURLY, MINUTELY, and SECONDLY are not supported.
             },
-            &quot;dailyMaintenanceWindow&quot;: { # Time window specified for daily maintenance operations. # DailyMaintenanceWindow specifies a daily maintenance operation window.
-              &quot;startTime&quot;: &quot;A String&quot;, # Time within the maintenance window to start the maintenance operations.
-                  # Time format should be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)
-                  # format &quot;HH:MM&quot;, where HH : [00-23] and MM : [00-59] GMT.
-              &quot;duration&quot;: &quot;A String&quot;, # [Output only] Duration of the time window, automatically chosen to be
-                  # smallest possible in the given scenario.
-                  # Duration will be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)
-                  # format &quot;PTnHnMnS&quot;.
-            },
           },
           &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
@@ -2917,157 +2894,96 @@
               # 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;initialClusterVersion&quot;: &quot;A String&quot;, # The initial Kubernetes version for this cluster.  Valid versions are those
-            # found in validMasterVersions returned by getServerConfig.  The version can
-            # be upgraded over time; such upgrades are reflected in
-            # currentMasterVersion and currentNodeVersion.
+        &quot;monitoringService&quot;: &quot;A String&quot;, # The monitoring service the cluster should use to write metrics.
+            # Currently available options:
             #
-            # Users may specify either explicit versions offered by
-            # Kubernetes Engine or version aliases, which have the following behavior:
+            # * &quot;monitoring.googleapis.com/kubernetes&quot; - The Cloud Monitoring
+            # service with a Kubernetes-native resource model
+            # * `monitoring.googleapis.com` - The legacy Cloud Monitoring service (no
+            #   longer available as of GKE 1.15).
+            # * `none` - No metrics will be exported from the cluster.
             #
-            # - &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;nodeIpv4Cidr&quot;: &quot;A String&quot;, # This field is deprecated, use node_ipv4_cidr_block.
-          &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 is true and
-              # create_subnetwork is false.
-          &quot;clusterIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP address range for the cluster pod IPs. If this field is set, then
-              # `cluster.cluster_ipv4_cidr` must be left blank.
-              #
-              # This field is only applicable when `use_ip_aliases` is true.
-              #
-              # Set to blank to have a range chosen with the default size.
-              #
-              # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
-              # netmask.
-              #
-              # Set to a
-              # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
-              # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
-              # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
-              # to use.
-          &quot;nodeIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP address range of the instance IPs in this cluster.
-              #
-              # This is applicable only if `create_subnetwork` is true.
-              #
-              # Set to blank to have a range chosen with the default size.
-              #
-              # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
-              # netmask.
-              #
-              # Set to a
-              # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
-              # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
-              # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
-              # to use.
-          &quot;tpuIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP address range of the Cloud TPUs in this cluster. If unspecified, a
-              # range will be automatically chosen with the default size.
-              #
-              # This field is only applicable when `use_ip_aliases` is true.
-              #
-              # If unspecified, the range will use the default size.
-              #
-              # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
-              # netmask.
-              #
-              # Set to a
-              # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
-              # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
-              # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
-              # to use.
-          &quot;useIpAliases&quot;: True or False, # Whether alias IPs will be used for pod IPs in the cluster.
-          &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 is true and
-              # create_subnetwork is false.
-          &quot;createSubnetwork&quot;: True or False, # Whether a new subnetwork will be created automatically for the cluster.
-              #
-              # This field is only applicable when `use_ip_aliases` is true.
-          &quot;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.
-          &quot;servicesIpv4CidrBlock&quot;: &quot;A String&quot;, # The IP address range of the services IPs in this cluster. If blank, a range
-              # will be automatically chosen with the default size.
-              #
-              # This field is only applicable when `use_ip_aliases` is true.
-              #
-              # Set to blank to have a range chosen with the default size.
-              #
-              # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
-              # netmask.
-              #
-              # Set to a
-              # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
-              # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
-              # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
-              # to use.
+            # If left as an empty string,`monitoring.googleapis.com/kubernetes` will be
+            # used for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions.
+        &quot;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 Binary Authorization.
         },
-        &quot;legacyAbac&quot;: { # Configuration for the legacy Attribute Based Access Control authorization # Configuration for the legacy ABAC authorization mode.
-            # mode.
-          &quot;enabled&quot;: True or False, # Whether the ABAC authorizer is enabled for this cluster. When enabled,
-              # identities in the system, including service accounts, nodes, and
-              # controllers, will have statically granted permissions beyond those
-              # provided by the RBAC configuration or IAM.
-        },
-        &quot;resourceUsageExportConfig&quot;: { # Configuration for exporting cluster resource usages. # Configuration for exporting resource usages. Resource usage export is
-            # disabled when this config is unspecified.
-          &quot;enableNetworkEgressMetering&quot;: True or False, # Whether to enable network egress metering for this cluster. If enabled, a
-              # daemonset will be created in the cluster to meter network egress traffic.
-          &quot;consumptionMeteringConfig&quot;: { # Parameters for controlling consumption metering. # Configuration to enable resource consumption metering.
-            &quot;enabled&quot;: True or False, # Whether to enable consumption metering for this cluster. If enabled, a
-                # second BigQuery table will be created to hold resource consumption
-                # records.
-          },
-          &quot;bigqueryDestination&quot;: { # Parameters for using BigQuery as the destination of resource usage export. # Configuration to use BigQuery as usage export destination.
-            &quot;datasetId&quot;: &quot;A String&quot;, # The ID of a BigQuery Dataset.
-          },
-        },
-        &quot;enableTpu&quot;: True or False, # Enable the ability to use Cloud TPUs in this cluster.
-        &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;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;instanceGroupUrls&quot;: [ # Deprecated. Use node_pools.instance_group_urls.
           &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&#x27;s node pool.
-              # Node pools are a set of nodes (i.e. VM&#x27;s), with a common configuration and
-              # specification, under the control of the cluster master. They may have a set
-              # of Kubernetes labels applied to them, which may be used to reference them
-              # during pod scheduling. They may also be resized up or down, to accommodate
-              # the workload.
-            &quot;statusMessage&quot;: &quot;A String&quot;, # [Output only] Additional information about the current status of this
-                # node pool instance, if available.
-            &quot;autoscaling&quot;: { # NodePoolAutoscaling contains information required by cluster autoscaler to # Autoscaler configuration for this NodePool. Autoscaler is enabled
-                # only if a valid configuration is present.
-                # adjust the size of the node pool to the current cluster usage.
-              &quot;maxNodeCount&quot;: 42, # Maximum number of nodes in the NodePool. Must be &gt;= min_node_count. There
-                  # has to enough quota to scale up the cluster.
-              &quot;autoprovisioned&quot;: True or False, # Can this node pool be deleted automatically.
-              &quot;minNodeCount&quot;: 42, # Minimum number of nodes in the NodePool. Must be &gt;= 1 and &lt;=
-                  # max_node_count.
-              &quot;enabled&quot;: True or False, # Is autoscaling enabled for this node pool.
+        &quot;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;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;masterAuthorizedNetworksConfig&quot;: { # Configuration options for the master authorized networks feature. Enabled # The configuration options for master authorized networks feature.
+            # master authorized networks will disallow all external traffic to access
+            # Kubernetes master through HTTPS except traffic from the given CIDR blocks,
+            # Google Compute Engine Public IPs and Google Prod IPs.
+          &quot;enabled&quot;: True or False, # Whether or not master authorized networks is enabled.
+          &quot;cidrBlocks&quot;: [ # cidr_blocks define up to 50 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;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;selfLink&quot;: &quot;A String&quot;, # [Output only] Server-defined URL for the resource.
-            &quot;upgradeSettings&quot;: { # These upgrade settings control the level of parallelism and the level of # Upgrade settings control disruption and speed of the upgrade.
+          ],
+        },
+        &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;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+            &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
+          },
+        ],
+        &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.
+        &quot;status&quot;: &quot;A String&quot;, # [Output only] The current status of this cluster.
+        &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;minimum&quot;: &quot;A String&quot;, # Minimum 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;maximum&quot;: &quot;A String&quot;, # Maximum amount of the resource in the cluster.
+            },
+          ],
+          &quot;autoprovisioningNodePoolDefaults&quot;: { # AutoprovisioningNodePoolDefaults contains defaults for a node pool created # AutoprovisioningNodePoolDefaults contains defaults for a node pool
+              # created by NAP.
+              # by NAP.
+            &quot;serviceAccount&quot;: &quot;A String&quot;, # The Google Cloud Platform Service Account to be used by the node VMs.
+            &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;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;autoRepair&quot;: True or False, # A flag that specifies whether the node auto-repair is enabled for the node
+                  # pool. If enabled, the nodes in this node pool will be monitored and, if
+                  # they fail health checks too many times, an automatic repair action will be
+                  # triggered.
+              &quot;autoUpgrade&quot;: True or False, # A flag that specifies whether node auto-upgrade is enabled for the node
+                  # pool. If enabled, node auto-upgrade helps keep the nodes in your node pool
+                  # up to date with the latest release version of Kubernetes.
+            },
+            &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
@@ -3096,284 +3012,32 @@
               &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;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;oauthScopes&quot;: [ # Scopes that are used by NAP when creating node pools.
               &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.
-              &quot;A String&quot;,
-            ],
-            &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
-              },
-            ],
-            &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;oauthScopes&quot;: [ # The set of Google API scopes to be made available on all of the
-                  # node VMs under the &quot;default&quot; service account.
-                  #
-                  # The following scopes are recommended, but not required, and by default are
-                  # not included:
-                  #
-                  # * `https://www.googleapis.com/auth/compute` is required for mounting
-                  # persistent storage on your nodes.
-                  # * `https://www.googleapis.com/auth/devstorage.read_only` is required for
-                  # communicating with **gcr.io**
-                  # (the [Google Container
-                  # Registry](https://cloud.google.com/container-registry/)).
-                  #
-                  # If unspecified, no scopes are added, unless Cloud Logging or Cloud
-                  # Monitoring are enabled, in which case their required scopes will be added.
-                &quot;A String&quot;,
-              ],
-              &quot;taints&quot;: [ # List of kubernetes taints to be applied to each node.
-                  #
-                  # For more information, including usage and the valid values, see:
-                  # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
-                { # Kubernetes taint is comprised of three fields: key, value, and effect. Effect
-                    # can only be one of three types:  NoSchedule, PreferNoSchedule or NoExecute.
-                    #
-                    # See
-                    # [here](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration)
-                    # for more information, including usage and the valid values.
-                  &quot;effect&quot;: &quot;A String&quot;, # Effect for taint.
-                  &quot;value&quot;: &quot;A String&quot;, # Value for taint.
-                  &quot;key&quot;: &quot;A String&quot;, # Key for taint.
-                },
-              ],
-              &quot;labels&quot;: { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
-                  # These will added in addition to any default label(s) that
-                  # Kubernetes may apply to the node.
-                  # In case of conflict in label keys, the applied set may differ depending on
-                  # the Kubernetes version -- it&#x27;s best to assume the behavior is undefined
-                  # and conflicts should be avoided.
-                  # For more information, including usage and the valid values, see:
-                  # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
-                &quot;a_key&quot;: &quot;A String&quot;,
-              },
-              &quot;diskSizeGb&quot;: 42, # Size of the disk attached to each node, specified in GB.
-                  # The smallest allowed disk size is 10GB.
-                  #
-                  # If unspecified, the default disk size is 100GB.
-              &quot;workloadMetadataConfig&quot;: { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node.
-                  # workloads on the node pool.
-                &quot;mode&quot;: &quot;A String&quot;, # Mode is the configuration for how to expose metadata to workloads running
-                    # on the node pool.
-              },
-              &quot;accelerators&quot;: [ # A list of hardware accelerators to be attached to each node.
-                  # See https://cloud.google.com/compute/docs/gpus for more information about
-                  # support for GPUs.
-                { # AcceleratorConfig represents a Hardware Accelerator request.
-                  &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators
-                      # [here](https://cloud.google.com/compute/docs/gpus)
-                  &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
-                },
-              ],
-              &quot;machineType&quot;: &quot;A String&quot;, # The name of a Google Compute Engine [machine
-                  # type](https://cloud.google.com/compute/docs/machine-types) (e.g.
-                  # `n1-standard-1`).
-                  #
-                  # If unspecified, the default machine type is
-                  # `n1-standard-1`.
-              &quot;diskType&quot;: &quot;A String&quot;, # Type of the disk attached to each node (e.g. &#x27;pd-standard&#x27; or &#x27;pd-ssd&#x27;)
-                  #
-                  # If unspecified, the default disk type is &#x27;pd-standard&#x27;
-              &quot;shieldedInstanceConfig&quot;: { # A set of Shielded Instance options. # Shielded Instance options.
-                &quot;enableIntegrityMonitoring&quot;: True or False, # Defines whether the instance has integrity monitoring enabled.
-                    #
-                    # Enables monitoring and attestation of the boot integrity of the instance.
-                    # The attestation is performed against the integrity policy baseline. This
-                    # baseline is initially derived from the implicitly trusted boot image when
-                    # the instance is created.
-                &quot;enableSecureBoot&quot;: True or False, # Defines whether the instance has Secure Boot enabled.
-                    #
-                    # Secure Boot helps ensure that the system only runs authentic software by
-                    # verifying the digital signature of all boot components, and halting the
-                    # boot process if signature verification fails.
-              },
-              &quot;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
-                  # information about preemptible VM instances.
-              &quot;localSsdCount&quot;: 42, # The number of local SSD disks to be attached to the node.
-                  #
-                  # The limit for this value is dependent upon the maximum number of
-                  # disks available on a machine per zone. See:
-                  # https://cloud.google.com/compute/docs/disks/local-ssd
-                  # for more information.
-              &quot;sandboxConfig&quot;: { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node.
-                &quot;type&quot;: &quot;A String&quot;, # Type of the sandbox to use for the node.
-              },
-              &quot;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-os-login&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;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;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;tags&quot;: [ # The list of instance tags applied to all nodes. Tags are used to identify
-                  # valid sources or targets for network firewalls and are specified by
-                  # the client during cluster or node pool creation. Each tag within the list
-                  # must comply with RFC1035.
-                &quot;A String&quot;,
-              ],
-              &quot;serviceAccount&quot;: &quot;A String&quot;, # The Google Cloud Platform Service Account to be used by the node VMs.
-                  # Specify the email address of the Service Account; otherwise, if no Service
-                  # Account is specified, the &quot;default&quot; service account is used.
-              &quot;imageType&quot;: &quot;A String&quot;, # The image type to use for this node. Note that for a given image type,
-                  # the latest version of it will be used.
-            },
-            &quot;maxPodsConstraint&quot;: { # Constraints applied to pods. # The constraint on the maximum number of pods that can be run
-                # simultaneously on a node in the node pool.
-              &quot;maxPodsPerNode&quot;: &quot;A String&quot;, # Constraint enforced on the max num of pods per node.
-            },
-            &quot;name&quot;: &quot;A String&quot;, # The name of the node pool.
-            &quot;management&quot;: { # NodeManagement defines the set of node management services turned on for the # NodeManagement configuration for this NodePool.
-                # node pool.
-              &quot;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;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;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;autoRepair&quot;: True or False, # A flag that specifies whether the node auto-repair is enabled for the node
-                  # pool. If enabled, the nodes in this node pool will be monitored and, if
-                  # they fail health checks too many times, an automatic repair action will be
-                  # triggered.
-              &quot;autoUpgrade&quot;: True or False, # A flag that specifies whether node auto-upgrade is enabled for the node
-                  # pool. If enabled, node auto-upgrade helps keep the nodes in your node pool
-                  # up to date with the latest release version of Kubernetes.
-            },
           },
-        ],
-        &quot;selfLink&quot;: &quot;A String&quot;, # [Output only] Server-defined URL for the resource.
+          &quot;enableNodeAutoprovisioning&quot;: True or False, # Enables automatic node pool creation and deletion.
+          &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;labelFingerprint&quot;: &quot;A String&quot;, # The fingerprint of the set of labels for this cluster.
         &quot;networkPolicy&quot;: { # Configuration options for the NetworkPolicy feature. # Configuration options for the NetworkPolicy feature.
             # https://kubernetes.io/docs/concepts/services-networking/networkpolicies/
-          &quot;provider&quot;: &quot;A String&quot;, # The selected network policy provider.
           &quot;enabled&quot;: True or False, # Whether network policy is enabled on the cluster.
+          &quot;provider&quot;: &quot;A String&quot;, # The selected network policy provider.
         },
-        &quot;servicesIpv4Cidr&quot;: &quot;A String&quot;, # [Output only] The IP address range of the Kubernetes services in
-            # this cluster, in
+        &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. `1.2.3.4/29`). Service addresses are
-            # typically put in the last `/16` from the container CIDR.
-        &quot;enableKubernetesAlpha&quot;: True or False, # Kubernetes alpha features are enabled on this cluster. This includes alpha
-            # API groups (e.g. v1alpha1) 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;currentNodeCount&quot;: 42, # [Output only]  The number of nodes currently in the cluster. Deprecated.
-            # Call Kubernetes API directly to retrieve node information.
-        &quot;monitoringService&quot;: &quot;A String&quot;, # The monitoring service the cluster should use to write metrics.
-            # Currently available options:
-            #
-            # * &quot;monitoring.googleapis.com/kubernetes&quot; - The Cloud Monitoring
-            # service with a Kubernetes-native resource model
-            # * `monitoring.googleapis.com` - The legacy Cloud Monitoring service (no
-            #   longer available as of GKE 1.15).
-            # * `none` - No metrics will be exported from the cluster.
-            #
-            # If left as an empty string,`monitoring.googleapis.com/kubernetes` will be
-            # used for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions.
-        &quot;databaseEncryption&quot;: { # Configuration of etcd encryption. # Configuration of etcd encryption.
-          &quot;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;state&quot;: &quot;A String&quot;, # Denotes the state of etcd encryption.
+            # notation (e.g. `10.96.0.0/14`). Leave blank to have
+            # one automatically chosen or specify a `/14` block in `10.0.0.0/8`.
+        &quot;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;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 Binary Authorization.
-        },
-        &quot;tpuIpv4CidrBlock&quot;: &quot;A String&quot;, # [Output only] The IP address range of the Cloud TPUs in this cluster, in
-            # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
-            # notation (e.g. `1.2.3.4/29`).
-        &quot;workloadIdentityConfig&quot;: { # Configuration for the use of Kubernetes Service Accounts in GCP IAM # Configuration for the use of Kubernetes Service Accounts in GCP IAM
-            # policies.
-            # policies.
-          &quot;workloadPool&quot;: &quot;A String&quot;, # The workload pool to attach all Kubernetes service accounts to.
-        },
-        &quot;zone&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
-            # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
-            # cluster resides. This field is deprecated, use location instead.
-        &quot;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;loggingService&quot;: &quot;A String&quot;, # The logging service the cluster should use to write logs.
-            # Currently available options:
-            #
-            # * `logging.googleapis.com/kubernetes` - The Cloud Logging
-            # service with a Kubernetes-native resource model
-            # * `logging.googleapis.com` - The legacy Cloud Logging service (no longer
-            #   available as of GKE 1.15).
-            # * `none` - no logs will be exported from the cluster.
-            #
-            # If left as an empty string,`logging.googleapis.com/kubernetes` will be
-            # used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.
         &quot;nodeConfig&quot;: { # Parameters that describe the nodes in a cluster. # Parameters used in creating the cluster&#x27;s nodes.
             # For requests, this field should only be used in lieu of a
             # &quot;node_pool&quot; object, since this configuration (along with the
@@ -3385,6 +3049,39 @@
             #
             # If unspecified, the defaults are used.
             # This field is deprecated, use node_pool.config instead.
+          &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;enableIntegrityMonitoring&quot;: True or False, # Defines whether the instance has integrity monitoring enabled.
+                #
+                # Enables monitoring and attestation of the boot integrity of the instance.
+                # The attestation is performed against the integrity policy baseline. This
+                # baseline is initially derived from the implicitly trusted boot image when
+                # the instance is created.
+            &quot;enableSecureBoot&quot;: True or False, # Defines whether the instance has Secure Boot enabled.
+                #
+                # Secure Boot helps ensure that the system only runs authentic software by
+                # verifying the digital signature of all boot components, and halting the
+                # boot process if signature verification fails.
+          },
+          &quot;labels&quot;: { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
+              # These will added in addition to any default label(s) that
+              # Kubernetes may apply to the node.
+              # In case of conflict in label keys, the applied set may differ depending on
+              # the Kubernetes version -- it&#x27;s best to assume the behavior is undefined
+              # and conflicts should be avoided.
+              # For more information, including usage and the valid values, see:
+              # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
+            &quot;a_key&quot;: &quot;A String&quot;,
+          },
           &quot;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.
               #
@@ -3402,6 +3099,19 @@
               # Monitoring are enabled, in which case their required scopes will be added.
             &quot;A String&quot;,
           ],
+          &quot;minCpuPlatform&quot;: &quot;A String&quot;, # Minimum CPU platform to be used by this instance. The instance may be
+              # scheduled on the specified or newer CPU platform. Applicable values are the
+              # friendly names of CPU platforms, such as
+              # &lt;code&gt;minCpuPlatform: &amp;quot;Intel Haswell&amp;quot;&lt;/code&gt; or
+              # &lt;code&gt;minCpuPlatform: &amp;quot;Intel Sandy Bridge&amp;quot;&lt;/code&gt;. For more
+              # information, read [how to specify min CPU
+              # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
+          &quot;localSsdCount&quot;: 42, # The number of local SSD disks to be attached to the node.
+              #
+              # The limit for this value is dependent upon the maximum number of
+              # disks available on a machine per zone. See:
+              # https://cloud.google.com/compute/docs/disks/local-ssd
+              # for more information.
           &quot;taints&quot;: [ # List of kubernetes taints to be applied to each node.
               #
               # For more information, including usage and the valid values, see:
@@ -3412,80 +3122,37 @@
                 # See
                 # [here](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration)
                 # for more information, including usage and the valid values.
-              &quot;effect&quot;: &quot;A String&quot;, # Effect for taint.
               &quot;value&quot;: &quot;A String&quot;, # Value for taint.
               &quot;key&quot;: &quot;A String&quot;, # Key for taint.
+              &quot;effect&quot;: &quot;A String&quot;, # Effect for taint.
             },
           ],
-          &quot;labels&quot;: { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
-              # These will added in addition to any default label(s) that
-              # Kubernetes may apply to the node.
-              # In case of conflict in label keys, the applied set may differ depending on
-              # the Kubernetes version -- it&#x27;s best to assume the behavior is undefined
-              # and conflicts should be avoided.
-              # For more information, including usage and the valid values, see:
-              # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
-            &quot;a_key&quot;: &quot;A String&quot;,
+          &quot;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;reservationAffinity&quot;: { # [ReservationAffinity](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources) # The optional reservation affinity. Setting this field will apply
+              # the specified [Zonal Compute
+              # Reservation](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources)
+              # to this node pool.
+              # is the configuration of desired reservation which instances could take
+              # capacity from.
+            &quot;consumeReservationType&quot;: &quot;A String&quot;, # Corresponds to the type of reservation consumption.
+            &quot;key&quot;: &quot;A String&quot;, # Corresponds to the label key of a reservation resource. To target a
+                # SPECIFIC_RESERVATION by name, specify &quot;googleapis.com/reservation-name&quot; as
+                # the key and specify the name of your reservation as its value.
+            &quot;values&quot;: [ # Corresponds to the label value(s) of reservation resource(s).
+              &quot;A String&quot;,
+            ],
           },
-          &quot;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;mode&quot;: &quot;A String&quot;, # Mode is the configuration for how to expose metadata to workloads running
-                # on the node pool.
-          },
-          &quot;accelerators&quot;: [ # A list of hardware accelerators to be attached to each node.
-              # See https://cloud.google.com/compute/docs/gpus for more information about
-              # support for GPUs.
-            { # AcceleratorConfig represents a Hardware Accelerator request.
-              &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators
-                  # [here](https://cloud.google.com/compute/docs/gpus)
-              &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
-            },
-          ],
           &quot;machineType&quot;: &quot;A String&quot;, # The name of a Google Compute Engine [machine
               # type](https://cloud.google.com/compute/docs/machine-types) (e.g.
               # `n1-standard-1`).
               #
               # If unspecified, the default machine type is
               # `n1-standard-1`.
-          &quot;diskType&quot;: &quot;A String&quot;, # Type of the disk attached to each node (e.g. &#x27;pd-standard&#x27; or &#x27;pd-ssd&#x27;)
-              #
-              # If unspecified, the default disk type is &#x27;pd-standard&#x27;
-          &quot;shieldedInstanceConfig&quot;: { # A set of Shielded Instance options. # Shielded Instance options.
-            &quot;enableIntegrityMonitoring&quot;: True or False, # Defines whether the instance has integrity monitoring enabled.
-                #
-                # Enables monitoring and attestation of the boot integrity of the instance.
-                # The attestation is performed against the integrity policy baseline. This
-                # baseline is initially derived from the implicitly trusted boot image when
-                # the instance is created.
-            &quot;enableSecureBoot&quot;: True or False, # Defines whether the instance has Secure Boot enabled.
-                #
-                # Secure Boot helps ensure that the system only runs authentic software by
-                # verifying the digital signature of all boot components, and halting the
-                # boot process if signature verification fails.
-          },
-          &quot;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
-              # information about preemptible VM instances.
-          &quot;localSsdCount&quot;: 42, # The number of local SSD disks to be attached to the node.
-              #
-              # The limit for this value is dependent upon the maximum number of
-              # disks available on a machine per zone. See:
-              # https://cloud.google.com/compute/docs/disks/local-ssd
-              # for more information.
-          &quot;sandboxConfig&quot;: { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node.
-            &quot;type&quot;: &quot;A String&quot;, # Type of the sandbox to use for the node.
-          },
+          &quot;nodeGroup&quot;: &quot;A String&quot;, # Setting this field will assign instances of this
+              # pool to run on the specified node group. This is useful for running
+              # workloads on [sole tenant
+              # nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes).
           &quot;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
@@ -3520,45 +3187,63 @@
               # 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;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;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;tags&quot;: [ # The list of instance tags applied to all nodes. Tags are used to identify
               # valid sources or targets for network firewalls and are specified by
               # the client during cluster or node pool creation. Each tag within the list
               # must comply with RFC1035.
             &quot;A String&quot;,
           ],
+          &quot;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;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
+              # information about preemptible VM instances.
+          &quot;workloadMetadataConfig&quot;: { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node.
+              # workloads on the node pool.
+            &quot;mode&quot;: &quot;A String&quot;, # Mode is the configuration for how to expose metadata to workloads running
+                # on the node 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;serviceAccount&quot;: &quot;A String&quot;, # The Google Cloud Platform Service Account to be used by the node VMs.
               # Specify the email address of the Service Account; otherwise, if no Service
               # Account is specified, the &quot;default&quot; service account is used.
-          &quot;imageType&quot;: &quot;A String&quot;, # The image type to use for this node. Note that for a given image type,
-              # the latest version of it will be used.
+          &quot;accelerators&quot;: [ # A list of hardware accelerators to be attached to each node.
+              # See https://cloud.google.com/compute/docs/gpus for more information about
+              # support for GPUs.
+            { # AcceleratorConfig represents a Hardware Accelerator request.
+              &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators
+                  # [here](https://cloud.google.com/compute/docs/gpus)
+              &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
+            },
+          ],
         },
-        &quot;status&quot;: &quot;A String&quot;, # [Output only] The current status of this cluster.
-        &quot;networkConfig&quot;: { # NetworkConfig reports the relative names of network &amp; subnetwork. # Configuration for cluster networking.
-          &quot;enableIntraNodeVisibility&quot;: True or False, # Whether Intra-node visibility is enabled for this cluster.
-              # This makes same node pod to pod traffic visible for VPC network.
-          &quot;subnetwork&quot;: &quot;A String&quot;, # Output only. The relative name of the Google Compute Engine
-              # [subnetwork](https://cloud.google.com/compute/docs/vpc) to which the
-              # cluster is connected. Example:
-              # projects/my-project/regions/us-central1/subnetworks/my-subnet
-          &quot;network&quot;: &quot;A String&quot;, # Output only. The relative name of the Google Compute Engine
-              # network(https://cloud.google.com/compute/docs/networks-and-firewalls#networks)
-              # to which the cluster is connected. Example:
-              # projects/my-project/global/networks/my-network
+        &quot;resourceUsageExportConfig&quot;: { # Configuration for exporting cluster resource usages. # Configuration for exporting resource usages. Resource usage export is
+            # disabled when this config is 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;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;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;initialNodeCount&quot;: 42, # The number of nodes to create in this cluster. You must ensure that your
+            # Compute Engine [resource quota](https://cloud.google.com/compute/quotas)
+            # is sufficient for this number of instances. You must also have available
+            # firewall and routes quota.
+            # For requests, this field should only be used in lieu of a
+            # &quot;node_pool&quot; object, since this configuration (along with the
+            # &quot;node_config&quot;) will be used to create a &quot;NodePool&quot; object with an
+            # auto-generated name. Do not use this and a node_pool at the same time.
+            #
+            # This field is deprecated, use node_pool.initial_node_count instead.
         &quot;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:
@@ -3566,17 +3251,428 @@
             # * 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/`.
+        &quot;workloadIdentityConfig&quot;: { # Configuration for the use of Kubernetes Service Accounts in GCP IAM # Configuration for the use of Kubernetes Service Accounts in GCP IAM
+            # policies.
+            # policies.
+          &quot;workloadPool&quot;: &quot;A String&quot;, # The workload pool to attach all Kubernetes service accounts to.
+        },
+        &quot;networkConfig&quot;: { # NetworkConfig reports the relative names of network &amp; subnetwork. # Configuration for cluster networking.
+          &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;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;databaseEncryption&quot;: { # Configuration of etcd encryption. # Configuration of etcd encryption.
+          &quot;state&quot;: &quot;A String&quot;, # Denotes the state of etcd encryption.
+          &quot;keyName&quot;: &quot;A String&quot;, # Name of CloudKMS key to use for the encryption of secrets in etcd.
+              # Ex. projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-key
+        },
+        &quot;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;peeringName&quot;: &quot;A String&quot;, # Output only. The peering name in the customer VPC used by this cluster.
+          &quot;enablePrivateNodes&quot;: True or False, # Whether nodes have internal IP addresses only. If enabled, all nodes are
+              # given only RFC 1918 private addresses and communicate with the master via
+              # private networking.
+          &quot;publicEndpoint&quot;: &quot;A String&quot;, # Output only. The external IP address of this cluster&#x27;s master endpoint.
+          &quot;enablePrivateEndpoint&quot;: True or False, # Whether the master&#x27;s internal IP address is used as the cluster endpoint.
+          &quot;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;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;nodePools&quot;: [ # The node pools associated with this cluster.
+            # This field should not be set if &quot;node_config&quot; or &quot;initial_node_count&quot; are
+            # specified.
+          { # NodePool contains the name and configuration for a cluster&#x27;s node pool.
+              # Node pools are a set of nodes (i.e. VM&#x27;s), with a common configuration and
+              # specification, under the control of the cluster master. They may have a set
+              # of Kubernetes labels applied to them, which may be used to reference them
+              # during pod scheduling. They may also be resized up or down, to accommodate
+              # the workload.
+            &quot;selfLink&quot;: &quot;A String&quot;, # [Output only] Server-defined URL for the resource.
+            &quot;management&quot;: { # NodeManagement defines the set of node management services turned on for the # NodeManagement configuration for this NodePool.
+                # node pool.
+              &quot;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;autoRepair&quot;: True or False, # A flag that specifies whether the node auto-repair is enabled for the node
+                  # pool. If enabled, the nodes in this node pool will be monitored and, if
+                  # they fail health checks too many times, an automatic repair action will be
+                  # triggered.
+              &quot;autoUpgrade&quot;: True or False, # A flag that specifies whether node auto-upgrade is enabled for the node
+                  # pool. If enabled, node auto-upgrade helps keep the nodes in your node pool
+                  # up to date with the latest release version of Kubernetes.
+            },
+            &quot;upgradeSettings&quot;: { # These upgrade settings control the level of parallelism and the level of # Upgrade settings control disruption and speed of the upgrade.
+                # disruption caused by an upgrade.
+                #
+                # maxUnavailable controls the number of nodes that can be simultaneously
+                # unavailable.
+                #
+                # maxSurge controls the number of additional nodes that can be added to the
+                # node pool temporarily for the time of the upgrade to increase the number of
+                # available nodes.
+                #
+                # (maxUnavailable + maxSurge) determines the level of parallelism (how many
+                # nodes are being upgraded at the same time).
+                #
+                # Note: upgrades inevitably introduce some disruption since workloads need to
+                # be moved from old nodes to new, upgraded ones. Even if maxUnavailable=0,
+                # this holds true. (Disruption stays within the limits of
+                # PodDisruptionBudget, if it is configured.)
+                #
+                # Consider a hypothetical node pool with 5 nodes having maxSurge=2,
+                # maxUnavailable=1. This means the upgrade process upgrades 3 nodes
+                # simultaneously. It creates 2 additional (upgraded) nodes, then it brings
+                # down 3 old (not yet upgraded) nodes at the same time. This ensures that
+                # there are always at least 4 nodes available.
+              &quot;maxUnavailable&quot;: 42, # The maximum number of nodes that can be simultaneously unavailable during
+                  # the upgrade process. A node is considered available if its status is
+                  # Ready.
+              &quot;maxSurge&quot;: 42, # The maximum number of nodes that can be created beyond the current size
+                  # of the node pool during the upgrade process.
+            },
+            &quot;initialNodeCount&quot;: 42, # The initial node count for the pool. You must ensure that your
+                # Compute Engine [resource quota](https://cloud.google.com/compute/quotas)
+                # is sufficient for this number of instances. You must also have available
+                # firewall and routes quota.
+            &quot;statusMessage&quot;: &quot;A String&quot;, # [Output only] Additional information about the current status of this
+                # node pool instance, if available.
+            &quot;version&quot;: &quot;A String&quot;, # The version of the Kubernetes of this node.
+            &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;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+                &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
+              },
+            ],
+            &quot;config&quot;: { # Parameters that describe the nodes in a cluster. # The node configuration of the pool.
+              &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;enableIntegrityMonitoring&quot;: True or False, # Defines whether the instance has integrity monitoring enabled.
+                    #
+                    # Enables monitoring and attestation of the boot integrity of the instance.
+                    # The attestation is performed against the integrity policy baseline. This
+                    # baseline is initially derived from the implicitly trusted boot image when
+                    # the instance is created.
+                &quot;enableSecureBoot&quot;: True or False, # Defines whether the instance has Secure Boot enabled.
+                    #
+                    # Secure Boot helps ensure that the system only runs authentic software by
+                    # verifying the digital signature of all boot components, and halting the
+                    # boot process if signature verification fails.
+              },
+              &quot;labels&quot;: { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
+                  # These will added in addition to any default label(s) that
+                  # Kubernetes may apply to the node.
+                  # In case of conflict in label keys, the applied set may differ depending on
+                  # the Kubernetes version -- it&#x27;s best to assume the behavior is undefined
+                  # and conflicts should be avoided.
+                  # For more information, including usage and the valid values, see:
+                  # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
+                &quot;a_key&quot;: &quot;A String&quot;,
+              },
+              &quot;oauthScopes&quot;: [ # The set of Google API scopes to be made available on all of the
+                  # node VMs under the &quot;default&quot; service account.
+                  #
+                  # The following scopes are recommended, but not required, and by default are
+                  # not included:
+                  #
+                  # * `https://www.googleapis.com/auth/compute` is required for mounting
+                  # persistent storage on your nodes.
+                  # * `https://www.googleapis.com/auth/devstorage.read_only` is required for
+                  # communicating with **gcr.io**
+                  # (the [Google Container
+                  # Registry](https://cloud.google.com/container-registry/)).
+                  #
+                  # If unspecified, no scopes are added, unless Cloud Logging or Cloud
+                  # Monitoring are enabled, in which case their required scopes will be added.
+                &quot;A String&quot;,
+              ],
+              &quot;minCpuPlatform&quot;: &quot;A String&quot;, # Minimum CPU platform to be used by this instance. The instance may be
+                  # scheduled on the specified or newer CPU platform. Applicable values are the
+                  # friendly names of CPU platforms, such as
+                  # &lt;code&gt;minCpuPlatform: &amp;quot;Intel Haswell&amp;quot;&lt;/code&gt; or
+                  # &lt;code&gt;minCpuPlatform: &amp;quot;Intel Sandy Bridge&amp;quot;&lt;/code&gt;. For more
+                  # information, read [how to specify min CPU
+                  # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
+              &quot;localSsdCount&quot;: 42, # The number of local SSD disks to be attached to the node.
+                  #
+                  # The limit for this value is dependent upon the maximum number of
+                  # disks available on a machine per zone. See:
+                  # https://cloud.google.com/compute/docs/disks/local-ssd
+                  # for more information.
+              &quot;taints&quot;: [ # List of kubernetes taints to be applied to each node.
+                  #
+                  # For more information, including usage and the valid values, see:
+                  # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
+                { # Kubernetes taint is comprised of three fields: key, value, and effect. Effect
+                    # can only be one of three types:  NoSchedule, PreferNoSchedule or NoExecute.
+                    #
+                    # See
+                    # [here](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration)
+                    # for more information, including usage and the valid values.
+                  &quot;value&quot;: &quot;A String&quot;, # Value for taint.
+                  &quot;key&quot;: &quot;A String&quot;, # Key for taint.
+                  &quot;effect&quot;: &quot;A String&quot;, # Effect for taint.
+                },
+              ],
+              &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;reservationAffinity&quot;: { # [ReservationAffinity](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources) # The optional reservation affinity. Setting this field will apply
+                  # the specified [Zonal Compute
+                  # Reservation](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources)
+                  # to this node pool.
+                  # is the configuration of desired reservation which instances could take
+                  # capacity from.
+                &quot;consumeReservationType&quot;: &quot;A String&quot;, # Corresponds to the type of reservation consumption.
+                &quot;key&quot;: &quot;A String&quot;, # Corresponds to the label key of a reservation resource. To target a
+                    # SPECIFIC_RESERVATION by name, specify &quot;googleapis.com/reservation-name&quot; as
+                    # the key and specify the name of your reservation as its value.
+                &quot;values&quot;: [ # Corresponds to the label value(s) of reservation resource(s).
+                  &quot;A String&quot;,
+                ],
+              },
+              &quot;machineType&quot;: &quot;A String&quot;, # The name of a Google Compute Engine [machine
+                  # type](https://cloud.google.com/compute/docs/machine-types) (e.g.
+                  # `n1-standard-1`).
+                  #
+                  # If unspecified, the default machine type is
+                  # `n1-standard-1`.
+              &quot;nodeGroup&quot;: &quot;A String&quot;, # Setting this field will assign instances of this
+                  # pool to run on the specified node group. This is useful for running
+                  # workloads on [sole tenant
+                  # nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes).
+              &quot;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-os-login&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;tags&quot;: [ # The list of instance tags applied to all nodes. Tags are used to identify
+                  # valid sources or targets for network firewalls and are specified by
+                  # the client during cluster or node pool creation. Each tag within the list
+                  # must comply with RFC1035.
+                &quot;A String&quot;,
+              ],
+              &quot;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;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
+                  # information about preemptible VM instances.
+              &quot;workloadMetadataConfig&quot;: { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node.
+                  # workloads on the node pool.
+                &quot;mode&quot;: &quot;A String&quot;, # Mode is the configuration for how to expose metadata to workloads running
+                    # on the node 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;serviceAccount&quot;: &quot;A String&quot;, # The Google Cloud Platform Service Account to be used by the node VMs.
+                  # Specify the email address of the Service Account; otherwise, if no Service
+                  # Account is specified, the &quot;default&quot; service account is used.
+              &quot;accelerators&quot;: [ # A list of hardware accelerators to be attached to each node.
+                  # See https://cloud.google.com/compute/docs/gpus for more information about
+                  # support for GPUs.
+                { # AcceleratorConfig represents a Hardware Accelerator request.
+                  &quot;acceleratorType&quot;: &quot;A String&quot;, # The accelerator type resource name. List of supported accelerators
+                      # [here](https://cloud.google.com/compute/docs/gpus)
+                  &quot;acceleratorCount&quot;: &quot;A String&quot;, # The number of the accelerator cards exposed to an instance.
+                },
+              ],
+            },
+            &quot;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;autoscaling&quot;: { # NodePoolAutoscaling contains information required by cluster autoscaler to # Autoscaler configuration for this NodePool. Autoscaler is enabled
+                # only if a valid configuration is present.
+                # adjust the size of the node pool to the current cluster usage.
+              &quot;minNodeCount&quot;: 42, # Minimum number of nodes in the NodePool. Must be &gt;= 1 and &lt;=
+                  # max_node_count.
+              &quot;maxNodeCount&quot;: 42, # Maximum number of nodes in the NodePool. Must be &gt;= min_node_count. There
+                  # has to enough quota to scale up the cluster.
+              &quot;enabled&quot;: True or False, # Is autoscaling enabled for this node pool.
+              &quot;autoprovisioned&quot;: True or False, # Can this node pool be deleted automatically.
+            },
+            &quot;podIpv4CidrSize&quot;: 42, # [Output only] The pod CIDR block size per node in this node pool.
+            &quot;instanceGroupUrls&quot;: [ # [Output only] The resource URLs of the [managed instance
+                # groups](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances)
+                # associated with this node pool.
+              &quot;A String&quot;,
+            ],
+            &quot;status&quot;: &quot;A String&quot;, # [Output only] The status of the nodes in this pool instance.
+            &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;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.
+        &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;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;cloudRunConfig&quot;: { # Configuration options for the Cloud Run feature. # Configuration for the Cloud Run addon, which allows the user to use a
+              # managed Knative service.
+            &quot;disabled&quot;: True or False, # Whether Cloud Run addon is enabled for this cluster.
+          },
+          &quot;httpLoadBalancing&quot;: { # Configuration options for the HTTP (L7) load balancing controller addon, # Configuration for the HTTP (L7) load balancing controller addon, which
+              # makes it easy to set up HTTP load balancers for services in a cluster.
+              # which makes it easy to set up HTTP load balancers for services in a cluster.
+            &quot;disabled&quot;: True or False, # Whether the HTTP Load Balancing controller is enabled in the cluster.
+                # When enabled, it runs a small pod in the cluster that manages the load
+                # balancers.
+          },
+          &quot;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;dnsCacheConfig&quot;: { # Configuration for NodeLocal DNSCache # Configuration for NodeLocalDNS, a dns cache running on cluster nodes
+            &quot;enabled&quot;: True or False, # Whether NodeLocal DNSCache is enabled for this cluster.
+          },
+          &quot;networkPolicyConfig&quot;: { # Configuration for NetworkPolicy. This only tracks whether the addon # Configuration for NetworkPolicy. This only tracks whether the addon
+              # is enabled or not on the Master, it does not track whether network policy
+              # is enabled for the nodes.
+              # is enabled or not on the Master, it does not track whether network policy
+              # is enabled for the nodes.
+            &quot;disabled&quot;: True or False, # Whether NetworkPolicy is enabled for this cluster.
+          },
+        },
+        &quot;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;clientKey&quot;: &quot;A String&quot;, # [Output only] Base64-encoded private key used by clients to authenticate
+              # to the cluster endpoint.
+          &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;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;clusterCaCertificate&quot;: &quot;A String&quot;, # [Output only] Base64-encoded public certificate that is the root of
+              # trust for the 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;enableTpu&quot;: True or False, # Enable the ability to use Cloud TPUs in this cluster.
+        &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.
             #
-            # See the `masterAuth` property of this resource for username and
-            # password information.
+            # Users may specify either explicit versions offered by
+            # Kubernetes Engine or version aliases, which have the following behavior:
+            #
+            # - &quot;latest&quot;: picks the highest valid Kubernetes version
+            # - &quot;1.X&quot;: picks the highest valid patch+gke.N patch in the 1.X version
+            # - &quot;1.X.Y&quot;: picks the highest valid gke.N patch in the 1.X.Y version
+            # - &quot;1.X.Y-gke.N&quot;: picks an explicit Kubernetes version
+            # - &quot;&quot;,&quot;-&quot;: picks the default Kubernetes version
+        &quot;currentNodeCount&quot;: 42, # [Output only]  The number of nodes currently in the cluster. Deprecated.
+            # Call Kubernetes API directly to retrieve node information.
+        &quot;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;locations&quot;: [ # The list of Google Compute Engine
+            # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
+            # cluster&#x27;s nodes should be located.
+          &quot;A String&quot;,
+        ],
+        &quot;selfLink&quot;: &quot;A String&quot;, # [Output only] Server-defined URL for the resource.
+        &quot;description&quot;: &quot;A String&quot;, # An optional description of this cluster.
+        &quot;statusMessage&quot;: &quot;A String&quot;, # [Output only] Additional information about the current status of this
+            # cluster, if available.
         &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;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;missingZones&quot;: [ # If any zones are listed here, the list of clusters returned
@@ -3607,10 +3703,14 @@
     The object takes the form of:
 
 { # SetLocationsRequest sets the locations of the cluster.
-    &quot;clusterId&quot;: &quot;A String&quot;, # Deprecated. The name of the cluster to upgrade.
-        # This field has been deprecated and replaced by the name field.
     &quot;name&quot;: &quot;A String&quot;, # The name (project, location, cluster) of the cluster to set locations.
         # Specified in the format `projects/*/locations/*/clusters/*`.
+    &quot;zone&quot;: &quot;A String&quot;, # 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;, # Deprecated. The name of the cluster to upgrade.
+        # This field has been deprecated and replaced by the name field.
     &quot;projectId&quot;: &quot;A String&quot;, # 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.
@@ -3623,10 +3723,6 @@
         # This list must always include the cluster&#x27;s primary zone.
       &quot;A String&quot;,
     ],
-    &quot;zone&quot;: &quot;A String&quot;, # 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.
@@ -3639,19 +3735,9 @@
 
     { # This operation resource represents operations that may have happened or are
       # happening on the cluster. All fields are output only.
-    &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;name&quot;: &quot;A String&quot;, # A non-parameterized string describing an operation stage.
           # Unset for single-stage operations.
-      &quot;stages&quot;: [ # Substages of an operation or a stage.
-        # Object with schema name: OperationProgress
-      ],
       &quot;metrics&quot;: [ # Progress metric bundle, for example:
           #   metrics: [{name: &quot;nodes done&quot;,     int_value: 15},
           #             {name: &quot;nodes total&quot;,    int_value: 32}]
@@ -3659,41 +3745,51 @@
           #   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;stringValue&quot;: &quot;A String&quot;, # For metrics with custom values (ratios, visual progress, etc.).
           &quot;doubleValue&quot;: 3.14, # For metrics with floating point value.
           &quot;intValue&quot;: &quot;A String&quot;, # For metrics with integer value.
-          &quot;stringValue&quot;: &quot;A String&quot;, # For metrics with custom values (ratios, visual progress, etc.).
+          &quot;name&quot;: &quot;A String&quot;, # Required. Metric name, e.g., &quot;nodes total&quot;, &quot;percent done&quot;.
         },
       ],
       &quot;status&quot;: &quot;A String&quot;, # Status of an operation stage.
           # Unset for single-stage operations.
+      &quot;stages&quot;: [ # Substages of an operation or a stage.
+        # Object with schema name: OperationProgress
+      ],
     },
+    &quot;targetLink&quot;: &quot;A String&quot;, # Server-defined URL for the target of the operation.
+    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
+    &quot;operationType&quot;: &quot;A String&quot;, # The operation type.
+    &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;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
+      },
+    ],
     &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;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
-    &quot;targetLink&quot;: &quot;A String&quot;, # Server-defined URL for the target of the operation.
-    &quot;operationType&quot;: &quot;A String&quot;, # The operation type.
-    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
     &quot;name&quot;: &quot;A String&quot;, # The server-assigned ID for the operation.
+    &quot;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
+    &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;nodepoolConditions&quot;: [ # Which conditions caused the current node pool state.
       { # StatusCondition describes why a cluster or a node pool has a certain status
           # (e.g., ERROR or DEGRADED).
-        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
         &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
       },
     ],
-    &quot;endTime&quot;: &quot;A String&quot;, # [Output only] The time the operation completed, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
     &quot;location&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
         # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
         # or
         # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
         # in which the cluster resides.
-    &quot;startTime&quot;: &quot;A String&quot;, # [Output only] The time the operation started, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    &quot;statusMessage&quot;: &quot;A String&quot;, # Output only. If an error has occurred, a textual description of the error.
   }</pre>
 </div>
 
@@ -3715,17 +3811,17 @@
     The object takes the form of:
 
 { # SetLoggingServiceRequest sets the logging service of a cluster.
-    &quot;name&quot;: &quot;A String&quot;, # The name (project, location, cluster) of the cluster to set logging.
-        # Specified in the format `projects/*/locations/*/clusters/*`.
+    &quot;clusterId&quot;: &quot;A String&quot;, # Deprecated. The name of the cluster to upgrade.
+        # This field has been deprecated and replaced by the name field.
     &quot;projectId&quot;: &quot;A String&quot;, # Deprecated. The Google Developers Console [project ID or project
         # number](https://support.google.com/cloud/answer/6158840).
         # This field has been deprecated and replaced by the name field.
+    &quot;name&quot;: &quot;A String&quot;, # The name (project, location, cluster) of the cluster to set logging.
+        # Specified in the format `projects/*/locations/*/clusters/*`.
     &quot;zone&quot;: &quot;A String&quot;, # 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;, # Deprecated. The name of the cluster to upgrade.
-        # This field has been deprecated and replaced by the name field.
     &quot;loggingService&quot;: &quot;A String&quot;, # Required. The logging service the cluster should use to write logs.
         # Currently available options:
         # 
@@ -3749,19 +3845,9 @@
 
     { # This operation resource represents operations that may have happened or are
       # happening on the cluster. All fields are output only.
-    &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;name&quot;: &quot;A String&quot;, # A non-parameterized string describing an operation stage.
           # Unset for single-stage operations.
-      &quot;stages&quot;: [ # Substages of an operation or a stage.
-        # Object with schema name: OperationProgress
-      ],
       &quot;metrics&quot;: [ # Progress metric bundle, for example:
           #   metrics: [{name: &quot;nodes done&quot;,     int_value: 15},
           #             {name: &quot;nodes total&quot;,    int_value: 32}]
@@ -3769,41 +3855,51 @@
           #   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;stringValue&quot;: &quot;A String&quot;, # For metrics with custom values (ratios, visual progress, etc.).
           &quot;doubleValue&quot;: 3.14, # For metrics with floating point value.
           &quot;intValue&quot;: &quot;A String&quot;, # For metrics with integer value.
-          &quot;stringValue&quot;: &quot;A String&quot;, # For metrics with custom values (ratios, visual progress, etc.).
+          &quot;name&quot;: &quot;A String&quot;, # Required. Metric name, e.g., &quot;nodes total&quot;, &quot;percent done&quot;.
         },
       ],
       &quot;status&quot;: &quot;A String&quot;, # Status of an operation stage.
           # Unset for single-stage operations.
+      &quot;stages&quot;: [ # Substages of an operation or a stage.
+        # Object with schema name: OperationProgress
+      ],
     },
+    &quot;targetLink&quot;: &quot;A String&quot;, # Server-defined URL for the target of the operation.
+    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
+    &quot;operationType&quot;: &quot;A String&quot;, # The operation type.
+    &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;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
+      },
+    ],
     &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;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
-    &quot;targetLink&quot;: &quot;A String&quot;, # Server-defined URL for the target of the operation.
-    &quot;operationType&quot;: &quot;A String&quot;, # The operation type.
-    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
     &quot;name&quot;: &quot;A String&quot;, # The server-assigned ID for the operation.
+    &quot;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
+    &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;nodepoolConditions&quot;: [ # Which conditions caused the current node pool state.
       { # StatusCondition describes why a cluster or a node pool has a certain status
           # (e.g., ERROR or DEGRADED).
-        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
         &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
       },
     ],
-    &quot;endTime&quot;: &quot;A String&quot;, # [Output only] The time the operation completed, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
     &quot;location&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
         # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
         # or
         # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
         # in which the cluster resides.
-    &quot;startTime&quot;: &quot;A String&quot;, # [Output only] The time the operation started, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    &quot;statusMessage&quot;: &quot;A String&quot;, # Output only. If an error has occurred, a textual description of the error.
   }</pre>
 </div>
 
@@ -3825,9 +3921,6 @@
     The object takes the form of:
 
 { # UpdateMasterRequest updates the master of the cluster.
-    &quot;projectId&quot;: &quot;A String&quot;, # Deprecated. The Google Developers Console [project ID or project
-        # number](https://support.google.com/cloud/answer/6158840).
-        # This field has been deprecated and replaced by the name field.
     &quot;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
@@ -3838,6 +3931,9 @@
         # - &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;projectId&quot;: &quot;A String&quot;, # Deprecated. The Google Developers Console [project ID or project
+        # number](https://support.google.com/cloud/answer/6158840).
+        # This field has been deprecated and replaced by the name field.
     &quot;zone&quot;: &quot;A String&quot;, # 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
@@ -3858,19 +3954,9 @@
 
     { # This operation resource represents operations that may have happened or are
       # happening on the cluster. All fields are output only.
-    &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;name&quot;: &quot;A String&quot;, # A non-parameterized string describing an operation stage.
           # Unset for single-stage operations.
-      &quot;stages&quot;: [ # Substages of an operation or a stage.
-        # Object with schema name: OperationProgress
-      ],
       &quot;metrics&quot;: [ # Progress metric bundle, for example:
           #   metrics: [{name: &quot;nodes done&quot;,     int_value: 15},
           #             {name: &quot;nodes total&quot;,    int_value: 32}]
@@ -3878,41 +3964,51 @@
           #   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;stringValue&quot;: &quot;A String&quot;, # For metrics with custom values (ratios, visual progress, etc.).
           &quot;doubleValue&quot;: 3.14, # For metrics with floating point value.
           &quot;intValue&quot;: &quot;A String&quot;, # For metrics with integer value.
-          &quot;stringValue&quot;: &quot;A String&quot;, # For metrics with custom values (ratios, visual progress, etc.).
+          &quot;name&quot;: &quot;A String&quot;, # Required. Metric name, e.g., &quot;nodes total&quot;, &quot;percent done&quot;.
         },
       ],
       &quot;status&quot;: &quot;A String&quot;, # Status of an operation stage.
           # Unset for single-stage operations.
+      &quot;stages&quot;: [ # Substages of an operation or a stage.
+        # Object with schema name: OperationProgress
+      ],
     },
+    &quot;targetLink&quot;: &quot;A String&quot;, # Server-defined URL for the target of the operation.
+    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
+    &quot;operationType&quot;: &quot;A String&quot;, # The operation type.
+    &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;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
+      },
+    ],
     &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;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
-    &quot;targetLink&quot;: &quot;A String&quot;, # Server-defined URL for the target of the operation.
-    &quot;operationType&quot;: &quot;A String&quot;, # The operation type.
-    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
     &quot;name&quot;: &quot;A String&quot;, # The server-assigned ID for the operation.
+    &quot;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
+    &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;nodepoolConditions&quot;: [ # Which conditions caused the current node pool state.
       { # StatusCondition describes why a cluster or a node pool has a certain status
           # (e.g., ERROR or DEGRADED).
-        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
         &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
       },
     ],
-    &quot;endTime&quot;: &quot;A String&quot;, # [Output only] The time the operation completed, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
     &quot;location&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
         # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
         # or
         # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
         # in which the cluster resides.
-    &quot;startTime&quot;: &quot;A String&quot;, # [Output only] The time the operation started, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    &quot;statusMessage&quot;: &quot;A String&quot;, # Output only. If an error has occurred, a textual description of the error.
   }</pre>
 </div>
 
@@ -3934,8 +4030,6 @@
     The object takes the form of:
 
 { # SetMonitoringServiceRequest sets the monitoring service of a cluster.
-    &quot;clusterId&quot;: &quot;A String&quot;, # 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:
         # 
@@ -3947,15 +4041,17 @@
         # 
         # If left as an empty string,`monitoring.googleapis.com/kubernetes` will be
         # used for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions.
-    &quot;name&quot;: &quot;A String&quot;, # The name (project, location, cluster) of the cluster to set monitoring.
-        # Specified in the format `projects/*/locations/*/clusters/*`.
-    &quot;projectId&quot;: &quot;A String&quot;, # Deprecated. The Google Developers Console [project ID or project
-        # number](https://support.google.com/cloud/answer/6158840).
+    &quot;clusterId&quot;: &quot;A String&quot;, # Deprecated. The name of the cluster to upgrade.
         # This field has been deprecated and replaced by the name field.
     &quot;zone&quot;: &quot;A String&quot;, # Deprecated. The name of the Google Compute Engine
         # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
         # cluster resides. This field has been deprecated and replaced by the name
         # field.
+    &quot;projectId&quot;: &quot;A String&quot;, # Deprecated. The Google Developers Console [project ID or project
+        # number](https://support.google.com/cloud/answer/6158840).
+        # This field has been deprecated and replaced by the name field.
+    &quot;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.
@@ -3968,19 +4064,9 @@
 
     { # This operation resource represents operations that may have happened or are
       # happening on the cluster. All fields are output only.
-    &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;name&quot;: &quot;A String&quot;, # A non-parameterized string describing an operation stage.
           # Unset for single-stage operations.
-      &quot;stages&quot;: [ # Substages of an operation or a stage.
-        # Object with schema name: OperationProgress
-      ],
       &quot;metrics&quot;: [ # Progress metric bundle, for example:
           #   metrics: [{name: &quot;nodes done&quot;,     int_value: 15},
           #             {name: &quot;nodes total&quot;,    int_value: 32}]
@@ -3988,41 +4074,51 @@
           #   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;stringValue&quot;: &quot;A String&quot;, # For metrics with custom values (ratios, visual progress, etc.).
           &quot;doubleValue&quot;: 3.14, # For metrics with floating point value.
           &quot;intValue&quot;: &quot;A String&quot;, # For metrics with integer value.
-          &quot;stringValue&quot;: &quot;A String&quot;, # For metrics with custom values (ratios, visual progress, etc.).
+          &quot;name&quot;: &quot;A String&quot;, # Required. Metric name, e.g., &quot;nodes total&quot;, &quot;percent done&quot;.
         },
       ],
       &quot;status&quot;: &quot;A String&quot;, # Status of an operation stage.
           # Unset for single-stage operations.
+      &quot;stages&quot;: [ # Substages of an operation or a stage.
+        # Object with schema name: OperationProgress
+      ],
     },
+    &quot;targetLink&quot;: &quot;A String&quot;, # Server-defined URL for the target of the operation.
+    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
+    &quot;operationType&quot;: &quot;A String&quot;, # The operation type.
+    &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;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
+      },
+    ],
     &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;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
-    &quot;targetLink&quot;: &quot;A String&quot;, # Server-defined URL for the target of the operation.
-    &quot;operationType&quot;: &quot;A String&quot;, # The operation type.
-    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
     &quot;name&quot;: &quot;A String&quot;, # The server-assigned ID for the operation.
+    &quot;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
+    &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;nodepoolConditions&quot;: [ # Which conditions caused the current node pool state.
       { # StatusCondition describes why a cluster or a node pool has a certain status
           # (e.g., ERROR or DEGRADED).
-        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
         &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
       },
     ],
-    &quot;endTime&quot;: &quot;A String&quot;, # [Output only] The time the operation completed, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
     &quot;location&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
         # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
         # or
         # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
         # in which the cluster resides.
-    &quot;startTime&quot;: &quot;A String&quot;, # [Output only] The time the operation started, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    &quot;statusMessage&quot;: &quot;A String&quot;, # Output only. If an error has occurred, a textual description of the error.
   }</pre>
 </div>
 
@@ -4046,6 +4142,11 @@
 { # SetLabelsRequest sets the Google Cloud Platform labels on a Google Container
       # Engine cluster, which will in turn set them for Google Compute Engine
       # resources used by that cluster
+    &quot;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;projectId&quot;: &quot;A String&quot;, # 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;, # Deprecated. The name of the cluster.
         # This field has been deprecated and replaced by the name field.
     &quot;labelFingerprint&quot;: &quot;A String&quot;, # Required. The fingerprint of the previous set of labels for this resource,
@@ -4058,14 +4159,9 @@
         # [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;, # Deprecated. The Google Developers Console [project ID or project
-        # number](https://developers.google.com/console/help/new/#projectnumber).
-        # This field has been deprecated and replaced by the name field.
   }
 
   x__xgafv: string, V1 error format.
@@ -4078,19 +4174,9 @@
 
     { # This operation resource represents operations that may have happened or are
       # happening on the cluster. All fields are output only.
-    &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;name&quot;: &quot;A String&quot;, # A non-parameterized string describing an operation stage.
           # Unset for single-stage operations.
-      &quot;stages&quot;: [ # Substages of an operation or a stage.
-        # Object with schema name: OperationProgress
-      ],
       &quot;metrics&quot;: [ # Progress metric bundle, for example:
           #   metrics: [{name: &quot;nodes done&quot;,     int_value: 15},
           #             {name: &quot;nodes total&quot;,    int_value: 32}]
@@ -4098,41 +4184,51 @@
           #   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;stringValue&quot;: &quot;A String&quot;, # For metrics with custom values (ratios, visual progress, etc.).
           &quot;doubleValue&quot;: 3.14, # For metrics with floating point value.
           &quot;intValue&quot;: &quot;A String&quot;, # For metrics with integer value.
-          &quot;stringValue&quot;: &quot;A String&quot;, # For metrics with custom values (ratios, visual progress, etc.).
+          &quot;name&quot;: &quot;A String&quot;, # Required. Metric name, e.g., &quot;nodes total&quot;, &quot;percent done&quot;.
         },
       ],
       &quot;status&quot;: &quot;A String&quot;, # Status of an operation stage.
           # Unset for single-stage operations.
+      &quot;stages&quot;: [ # Substages of an operation or a stage.
+        # Object with schema name: OperationProgress
+      ],
     },
+    &quot;targetLink&quot;: &quot;A String&quot;, # Server-defined URL for the target of the operation.
+    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
+    &quot;operationType&quot;: &quot;A String&quot;, # The operation type.
+    &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;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
+      },
+    ],
     &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;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
-    &quot;targetLink&quot;: &quot;A String&quot;, # Server-defined URL for the target of the operation.
-    &quot;operationType&quot;: &quot;A String&quot;, # The operation type.
-    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
     &quot;name&quot;: &quot;A String&quot;, # The server-assigned ID for the operation.
+    &quot;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
+    &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;nodepoolConditions&quot;: [ # Which conditions caused the current node pool state.
       { # StatusCondition describes why a cluster or a node pool has a certain status
           # (e.g., ERROR or DEGRADED).
-        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
         &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
       },
     ],
-    &quot;endTime&quot;: &quot;A String&quot;, # [Output only] The time the operation completed, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
     &quot;location&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
         # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
         # or
         # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
         # in which the cluster resides.
-    &quot;startTime&quot;: &quot;A String&quot;, # [Output only] The time the operation started, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    &quot;statusMessage&quot;: &quot;A String&quot;, # Output only. If an error has occurred, a textual description of the error.
   }</pre>
 </div>
 
@@ -4165,6 +4261,15 @@
             &quot;startTime&quot;: &quot;A String&quot;, # The time that the window first starts.
           },
         },
+        &quot;dailyMaintenanceWindow&quot;: { # Time window specified for daily maintenance operations. # DailyMaintenanceWindow specifies a daily maintenance operation window.
+          &quot;duration&quot;: &quot;A String&quot;, # [Output only] Duration of the time window, automatically chosen to be
+              # smallest possible in the given scenario.
+              # Duration will be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)
+              # format &quot;PTnHnMnS&quot;.
+          &quot;startTime&quot;: &quot;A String&quot;, # Time within the maintenance window to start the maintenance operations.
+              # Time format should be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)
+              # 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.
@@ -4201,15 +4306,6 @@
               # to specify duration of the window and when it first starts.
               # The FREQ values of HOURLY, MINUTELY, and SECONDLY are not supported.
         },
-        &quot;dailyMaintenanceWindow&quot;: { # Time window specified for daily maintenance operations. # DailyMaintenanceWindow specifies a daily maintenance operation window.
-          &quot;startTime&quot;: &quot;A String&quot;, # Time within the maintenance window to start the maintenance operations.
-              # Time format should be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)
-              # format &quot;HH:MM&quot;, where HH : [00-23] and MM : [00-59] GMT.
-          &quot;duration&quot;: &quot;A String&quot;, # [Output only] Duration of the time window, automatically chosen to be
-              # smallest possible in the given scenario.
-              # Duration will be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)
-              # format &quot;PTnHnMnS&quot;.
-        },
       },
       &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
@@ -4219,10 +4315,10 @@
     },
     &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;clusterId&quot;: &quot;A String&quot;, # Required. The name of the cluster to update.
     &quot;zone&quot;: &quot;A String&quot;, # Required. The name of the Google Compute Engine
         # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
         # cluster resides.
-    &quot;clusterId&quot;: &quot;A String&quot;, # Required. The name of the cluster to update.
   }
 
   x__xgafv: string, V1 error format.
@@ -4235,19 +4331,9 @@
 
     { # This operation resource represents operations that may have happened or are
       # happening on the cluster. All fields are output only.
-    &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;name&quot;: &quot;A String&quot;, # A non-parameterized string describing an operation stage.
           # Unset for single-stage operations.
-      &quot;stages&quot;: [ # Substages of an operation or a stage.
-        # Object with schema name: OperationProgress
-      ],
       &quot;metrics&quot;: [ # Progress metric bundle, for example:
           #   metrics: [{name: &quot;nodes done&quot;,     int_value: 15},
           #             {name: &quot;nodes total&quot;,    int_value: 32}]
@@ -4255,41 +4341,51 @@
           #   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;stringValue&quot;: &quot;A String&quot;, # For metrics with custom values (ratios, visual progress, etc.).
           &quot;doubleValue&quot;: 3.14, # For metrics with floating point value.
           &quot;intValue&quot;: &quot;A String&quot;, # For metrics with integer value.
-          &quot;stringValue&quot;: &quot;A String&quot;, # For metrics with custom values (ratios, visual progress, etc.).
+          &quot;name&quot;: &quot;A String&quot;, # Required. Metric name, e.g., &quot;nodes total&quot;, &quot;percent done&quot;.
         },
       ],
       &quot;status&quot;: &quot;A String&quot;, # Status of an operation stage.
           # Unset for single-stage operations.
+      &quot;stages&quot;: [ # Substages of an operation or a stage.
+        # Object with schema name: OperationProgress
+      ],
     },
+    &quot;targetLink&quot;: &quot;A String&quot;, # Server-defined URL for the target of the operation.
+    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
+    &quot;operationType&quot;: &quot;A String&quot;, # The operation type.
+    &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;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
+      },
+    ],
     &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;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
-    &quot;targetLink&quot;: &quot;A String&quot;, # Server-defined URL for the target of the operation.
-    &quot;operationType&quot;: &quot;A String&quot;, # The operation type.
-    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
     &quot;name&quot;: &quot;A String&quot;, # The server-assigned ID for the operation.
+    &quot;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
+    &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;nodepoolConditions&quot;: [ # Which conditions caused the current node pool state.
       { # StatusCondition describes why a cluster or a node pool has a certain status
           # (e.g., ERROR or DEGRADED).
-        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
         &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
       },
     ],
-    &quot;endTime&quot;: &quot;A String&quot;, # [Output only] The time the operation completed, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
     &quot;location&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
         # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
         # or
         # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
         # in which the cluster resides.
-    &quot;startTime&quot;: &quot;A String&quot;, # [Output only] The time the operation started, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    &quot;statusMessage&quot;: &quot;A String&quot;, # Output only. If an error has occurred, a textual description of the error.
   }</pre>
 </div>
 
@@ -4313,17 +4409,22 @@
     The object takes the form of:
 
 { # SetMasterAuthRequest updates the admin password of a cluster.
-    &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;, # Deprecated. The Google Developers Console [project ID or project
-        # number](https://support.google.com/cloud/answer/6158840).
-        # This field has been deprecated and replaced by the name field.
+    &quot;zone&quot;: &quot;A String&quot;, # 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;, # Deprecated. The name of the cluster to upgrade.
         # This field has been deprecated and replaced by the name field.
     &quot;update&quot;: { # The authentication information for accessing the master endpoint. # Required. A description of the update.
         # Authentication can be done using HTTP basic auth or using client
         # certificates.
+      &quot;clientKey&quot;: &quot;A String&quot;, # [Output only] Base64-encoded private key used by clients to authenticate
+          # to the cluster endpoint.
+      &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;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
@@ -4333,20 +4434,15 @@
           # 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;, # [Output only] Base64-encoded public certificate that is the root of
           # trust for the cluster.
-      &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;zone&quot;: &quot;A String&quot;, # 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 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;, # Deprecated. The Google Developers Console [project ID or project
+        # number](https://support.google.com/cloud/answer/6158840).
+        # This field has been deprecated and replaced by the name field.
   }
 
   x__xgafv: string, V1 error format.
@@ -4359,19 +4455,9 @@
 
     { # This operation resource represents operations that may have happened or are
       # happening on the cluster. All fields are output only.
-    &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;name&quot;: &quot;A String&quot;, # A non-parameterized string describing an operation stage.
           # Unset for single-stage operations.
-      &quot;stages&quot;: [ # Substages of an operation or a stage.
-        # Object with schema name: OperationProgress
-      ],
       &quot;metrics&quot;: [ # Progress metric bundle, for example:
           #   metrics: [{name: &quot;nodes done&quot;,     int_value: 15},
           #             {name: &quot;nodes total&quot;,    int_value: 32}]
@@ -4379,41 +4465,51 @@
           #   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;stringValue&quot;: &quot;A String&quot;, # For metrics with custom values (ratios, visual progress, etc.).
           &quot;doubleValue&quot;: 3.14, # For metrics with floating point value.
           &quot;intValue&quot;: &quot;A String&quot;, # For metrics with integer value.
-          &quot;stringValue&quot;: &quot;A String&quot;, # For metrics with custom values (ratios, visual progress, etc.).
+          &quot;name&quot;: &quot;A String&quot;, # Required. Metric name, e.g., &quot;nodes total&quot;, &quot;percent done&quot;.
         },
       ],
       &quot;status&quot;: &quot;A String&quot;, # Status of an operation stage.
           # Unset for single-stage operations.
+      &quot;stages&quot;: [ # Substages of an operation or a stage.
+        # Object with schema name: OperationProgress
+      ],
     },
+    &quot;targetLink&quot;: &quot;A String&quot;, # Server-defined URL for the target of the operation.
+    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
+    &quot;operationType&quot;: &quot;A String&quot;, # The operation type.
+    &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;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
+      },
+    ],
     &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;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
-    &quot;targetLink&quot;: &quot;A String&quot;, # Server-defined URL for the target of the operation.
-    &quot;operationType&quot;: &quot;A String&quot;, # The operation type.
-    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
     &quot;name&quot;: &quot;A String&quot;, # The server-assigned ID for the operation.
+    &quot;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
+    &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;nodepoolConditions&quot;: [ # Which conditions caused the current node pool state.
       { # StatusCondition describes why a cluster or a node pool has a certain status
           # (e.g., ERROR or DEGRADED).
-        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
         &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
       },
     ],
-    &quot;endTime&quot;: &quot;A String&quot;, # [Output only] The time the operation completed, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
     &quot;location&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
         # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
         # or
         # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
         # in which the cluster resides.
-    &quot;startTime&quot;: &quot;A String&quot;, # [Output only] The time the operation started, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    &quot;statusMessage&quot;: &quot;A String&quot;, # Output only. If an error has occurred, a textual description of the error.
   }</pre>
 </div>
 
@@ -4435,22 +4531,22 @@
     The object takes the form of:
 
 { # SetNetworkPolicyRequest enables/disables network policy for a cluster.
-    &quot;clusterId&quot;: &quot;A String&quot;, # 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;provider&quot;: &quot;A String&quot;, # The selected network policy provider.
-      &quot;enabled&quot;: True or False, # Whether network policy is enabled on the cluster.
-    },
     &quot;name&quot;: &quot;A String&quot;, # The name (project, location, cluster id) of the cluster to set networking
         # policy. Specified in the format `projects/*/locations/*/clusters/*`.
-    &quot;projectId&quot;: &quot;A String&quot;, # Deprecated. The Google Developers Console [project ID or project
-        # number](https://developers.google.com/console/help/new/#projectnumber).
+    &quot;clusterId&quot;: &quot;A String&quot;, # Deprecated. The name of the cluster.
         # This field has been deprecated and replaced by the name field.
     &quot;zone&quot;: &quot;A String&quot;, # 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;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;projectId&quot;: &quot;A String&quot;, # Deprecated. The Google Developers Console [project ID or project
+        # number](https://developers.google.com/console/help/new/#projectnumber).
+        # This field has been deprecated and replaced by the name field.
   }
 
   x__xgafv: string, V1 error format.
@@ -4463,19 +4559,9 @@
 
     { # This operation resource represents operations that may have happened or are
       # happening on the cluster. All fields are output only.
-    &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;name&quot;: &quot;A String&quot;, # A non-parameterized string describing an operation stage.
           # Unset for single-stage operations.
-      &quot;stages&quot;: [ # Substages of an operation or a stage.
-        # Object with schema name: OperationProgress
-      ],
       &quot;metrics&quot;: [ # Progress metric bundle, for example:
           #   metrics: [{name: &quot;nodes done&quot;,     int_value: 15},
           #             {name: &quot;nodes total&quot;,    int_value: 32}]
@@ -4483,41 +4569,51 @@
           #   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;stringValue&quot;: &quot;A String&quot;, # For metrics with custom values (ratios, visual progress, etc.).
           &quot;doubleValue&quot;: 3.14, # For metrics with floating point value.
           &quot;intValue&quot;: &quot;A String&quot;, # For metrics with integer value.
-          &quot;stringValue&quot;: &quot;A String&quot;, # For metrics with custom values (ratios, visual progress, etc.).
+          &quot;name&quot;: &quot;A String&quot;, # Required. Metric name, e.g., &quot;nodes total&quot;, &quot;percent done&quot;.
         },
       ],
       &quot;status&quot;: &quot;A String&quot;, # Status of an operation stage.
           # Unset for single-stage operations.
+      &quot;stages&quot;: [ # Substages of an operation or a stage.
+        # Object with schema name: OperationProgress
+      ],
     },
+    &quot;targetLink&quot;: &quot;A String&quot;, # Server-defined URL for the target of the operation.
+    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
+    &quot;operationType&quot;: &quot;A String&quot;, # The operation type.
+    &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;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
+      },
+    ],
     &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;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
-    &quot;targetLink&quot;: &quot;A String&quot;, # Server-defined URL for the target of the operation.
-    &quot;operationType&quot;: &quot;A String&quot;, # The operation type.
-    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
     &quot;name&quot;: &quot;A String&quot;, # The server-assigned ID for the operation.
+    &quot;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
+    &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;nodepoolConditions&quot;: [ # Which conditions caused the current node pool state.
       { # StatusCondition describes why a cluster or a node pool has a certain status
           # (e.g., ERROR or DEGRADED).
-        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
         &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
       },
     ],
-    &quot;endTime&quot;: &quot;A String&quot;, # [Output only] The time the operation completed, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
     &quot;location&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
         # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
         # or
         # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
         # in which the cluster resides.
-    &quot;startTime&quot;: &quot;A String&quot;, # [Output only] The time the operation started, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    &quot;statusMessage&quot;: &quot;A String&quot;, # Output only. If an error has occurred, a textual description of the error.
   }</pre>
 </div>
 
@@ -4542,14 +4638,14 @@
       # a node upgrade on each node pool to point to the new IP.
     &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;, # Deprecated. The Google Developers Console [project ID or project
-        # number](https://developers.google.com/console/help/new/#projectnumber).
-        # This field has been deprecated and replaced by the name field.
     &quot;zone&quot;: &quot;A String&quot;, # Deprecated. The name of the Google Compute Engine
         # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
         # cluster resides. This field has been deprecated and replaced by the name
         # field.
     &quot;rotateCredentials&quot;: True or False, # Whether to rotate credentials during IP rotation.
+    &quot;projectId&quot;: &quot;A String&quot;, # 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;, # Deprecated. The name of the cluster.
         # This field has been deprecated and replaced by the name field.
   }
@@ -4564,19 +4660,9 @@
 
     { # This operation resource represents operations that may have happened or are
       # happening on the cluster. All fields are output only.
-    &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;name&quot;: &quot;A String&quot;, # A non-parameterized string describing an operation stage.
           # Unset for single-stage operations.
-      &quot;stages&quot;: [ # Substages of an operation or a stage.
-        # Object with schema name: OperationProgress
-      ],
       &quot;metrics&quot;: [ # Progress metric bundle, for example:
           #   metrics: [{name: &quot;nodes done&quot;,     int_value: 15},
           #             {name: &quot;nodes total&quot;,    int_value: 32}]
@@ -4584,41 +4670,51 @@
           #   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;stringValue&quot;: &quot;A String&quot;, # For metrics with custom values (ratios, visual progress, etc.).
           &quot;doubleValue&quot;: 3.14, # For metrics with floating point value.
           &quot;intValue&quot;: &quot;A String&quot;, # For metrics with integer value.
-          &quot;stringValue&quot;: &quot;A String&quot;, # For metrics with custom values (ratios, visual progress, etc.).
+          &quot;name&quot;: &quot;A String&quot;, # Required. Metric name, e.g., &quot;nodes total&quot;, &quot;percent done&quot;.
         },
       ],
       &quot;status&quot;: &quot;A String&quot;, # Status of an operation stage.
           # Unset for single-stage operations.
+      &quot;stages&quot;: [ # Substages of an operation or a stage.
+        # Object with schema name: OperationProgress
+      ],
     },
+    &quot;targetLink&quot;: &quot;A String&quot;, # Server-defined URL for the target of the operation.
+    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
+    &quot;operationType&quot;: &quot;A String&quot;, # The operation type.
+    &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;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
+      },
+    ],
     &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;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
-    &quot;targetLink&quot;: &quot;A String&quot;, # Server-defined URL for the target of the operation.
-    &quot;operationType&quot;: &quot;A String&quot;, # The operation type.
-    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
     &quot;name&quot;: &quot;A String&quot;, # The server-assigned ID for the operation.
+    &quot;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
+    &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;nodepoolConditions&quot;: [ # Which conditions caused the current node pool state.
       { # StatusCondition describes why a cluster or a node pool has a certain status
           # (e.g., ERROR or DEGRADED).
-        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
         &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
       },
     ],
-    &quot;endTime&quot;: &quot;A String&quot;, # [Output only] The time the operation completed, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
     &quot;location&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
         # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
         # or
         # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
         # in which the cluster resides.
-    &quot;startTime&quot;: &quot;A String&quot;, # [Output only] The time the operation started, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    &quot;statusMessage&quot;: &quot;A String&quot;, # Output only. If an error has occurred, a textual description of the error.
   }</pre>
 </div>
 
@@ -4640,89 +4736,16 @@
     The object takes the form of:
 
 { # UpdateClusterRequest updates the settings of a cluster.
+    &quot;clusterId&quot;: &quot;A String&quot;, # Deprecated. The name of the cluster to upgrade.
+        # This field has been deprecated and replaced by the name field.
+    &quot;projectId&quot;: &quot;A String&quot;, # Deprecated. The Google Developers Console [project ID or project
+        # number](https://support.google.com/cloud/answer/6158840).
+        # This field has been deprecated and replaced by the name field.
+    &quot;name&quot;: &quot;A String&quot;, # The name (project, location, cluster) of the cluster to update.
+        # Specified in the format `projects/*/locations/*/clusters/*`.
     &quot;update&quot;: { # ClusterUpdate describes an update to the cluster. Exactly one update can # Required. A description of the update.
         # be applied to a cluster with each request, so at most one field can be
         # provided.
-      &quot;desiredImageType&quot;: &quot;A String&quot;, # The desired image type for the node pool.
-          # NOTE: Set the &quot;desired_node_pool&quot; field as well.
-      &quot;desiredWorkloadIdentityConfig&quot;: { # Configuration for the use of Kubernetes Service Accounts in GCP IAM # Configuration for Workload Identity.
-          # policies.
-        &quot;workloadPool&quot;: &quot;A String&quot;, # The workload pool to attach all Kubernetes service accounts to.
-      },
-      &quot;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; or
-          # &quot;desired_node_pool_autoscaling&quot; is specified and there is more than one
-          # node pool on the cluster.
-      &quot;desiredMasterVersion&quot;: &quot;A String&quot;, # The Kubernetes version to change the master to.
-          #
-          # 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.
-      &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 Binary Authorization.
-      },
-      &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;cloudRunConfig&quot;: { # Configuration options for the Cloud Run feature. # Configuration for the Cloud Run addon, which allows the user to use a
-            # managed Knative service.
-          &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;desiredNodeVersion&quot;: &quot;A String&quot;, # The Kubernetes version to change the nodes to (typically an
           # upgrade).
           #
@@ -4734,41 +4757,159 @@
           # - &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;desiredWorkloadIdentityConfig&quot;: { # Configuration for the use of Kubernetes Service Accounts in GCP IAM # Configuration for Workload Identity.
+          # policies.
+        &quot;workloadPool&quot;: &quot;A String&quot;, # The workload pool to attach all Kubernetes service accounts to.
+      },
+      &quot;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;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;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;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;desiredMasterVersion&quot;: &quot;A String&quot;, # 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:
+          #
+          # - &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;desiredMonitoringService&quot;: &quot;A String&quot;, # The monitoring service the cluster should use to write metrics.
+          # Currently available options:
+          #
+          # * &quot;monitoring.googleapis.com/kubernetes&quot; - The Cloud Monitoring
+          # service with a Kubernetes-native resource model
+          # * `monitoring.googleapis.com` - The legacy Cloud Monitoring service (no
+          #   longer available as of GKE 1.15).
+          # * `none` - No metrics will be exported from the cluster.
+          #
+          # If left as an empty string,`monitoring.googleapis.com/kubernetes` will be
+          # used for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions.
+      &quot;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.
+      &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;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;cloudRunConfig&quot;: { # Configuration options for the Cloud Run feature. # Configuration for the Cloud Run addon, which allows the user to use a
+            # managed Knative service.
+          &quot;disabled&quot;: True or False, # Whether Cloud Run addon is enabled for this cluster.
+        },
+        &quot;httpLoadBalancing&quot;: { # Configuration options for the HTTP (L7) load balancing controller addon, # Configuration for the HTTP (L7) load balancing controller addon, which
+            # makes it easy to set up HTTP load balancers for services in a cluster.
+            # which makes it easy to set up HTTP load balancers for services in a cluster.
+          &quot;disabled&quot;: True or False, # Whether the HTTP Load Balancing controller is enabled in the cluster.
+              # When enabled, it runs a small pod in the cluster that manages the load
+              # balancers.
+        },
+        &quot;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;dnsCacheConfig&quot;: { # Configuration for NodeLocal DNSCache # Configuration for NodeLocalDNS, a dns cache running on cluster nodes
+          &quot;enabled&quot;: True or False, # Whether NodeLocal DNSCache is enabled for this cluster.
+        },
+        &quot;networkPolicyConfig&quot;: { # Configuration for NetworkPolicy. This only tracks whether the addon # Configuration for NetworkPolicy. This only tracks whether the addon
+            # is enabled or not on the Master, it does not track whether network policy
+            # is enabled for the nodes.
+            # is enabled or not on the Master, it does not track whether network policy
+            # is enabled for the nodes.
+          &quot;disabled&quot;: True or False, # Whether NetworkPolicy is enabled for this cluster.
+        },
+      },
+      &quot;desiredNodePoolAutoscaling&quot;: { # NodePoolAutoscaling contains information required by cluster autoscaler to # Autoscaler configuration for the node pool specified in
+          # desired_node_pool_id. If there is only one pool in the
+          # cluster and desired_node_pool_id is not provided then
+          # the change applies to that single node pool.
+          # adjust the size of the node pool to the current cluster usage.
+        &quot;minNodeCount&quot;: 42, # Minimum number of nodes in the NodePool. Must be &gt;= 1 and &lt;=
+            # max_node_count.
+        &quot;maxNodeCount&quot;: 42, # Maximum number of nodes in the NodePool. Must be &gt;= min_node_count. There
+            # has to enough quota to scale up the cluster.
+        &quot;enabled&quot;: True or False, # Is autoscaling enabled for this node pool.
+        &quot;autoprovisioned&quot;: True or False, # Can this node pool be deleted automatically.
+      },
+      &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;desiredMasterAuthorizedNetworksConfig&quot;: { # Configuration options for the master authorized networks feature. Enabled # The desired configuration options for master authorized networks feature.
+          # master authorized networks will disallow all external traffic to access
+          # Kubernetes master through HTTPS except traffic from the given CIDR blocks,
+          # Google Compute Engine Public IPs and Google Prod IPs.
+        &quot;enabled&quot;: True or False, # Whether or not master authorized networks is enabled.
+        &quot;cidrBlocks&quot;: [ # cidr_blocks define up to 50 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;desiredClusterAutoscaling&quot;: { # ClusterAutoscaling contains global, per-cluster information # Cluster-level autoscaling configuration.
           # required by Cluster Autoscaler to automatically adjust
           # the size of the cluster and create/delete
           # node pools based on the current needs.
-        &quot;autoprovisioningLocations&quot;: [ # The list of Google Compute Engine
-            # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
-            # NodePool&#x27;s nodes can be created by NAP.
-          &quot;A String&quot;,
-        ],
         &quot;resourceLimits&quot;: [ # Contains global constraints regarding minimum and maximum
             # amount of resources in the cluster.
           { # Contains information about amount of some resource in the cluster.
               # For memory, value should be in GB.
             &quot;minimum&quot;: &quot;A String&quot;, # Minimum amount of the resource in the cluster.
-            &quot;maximum&quot;: &quot;A String&quot;, # Maximum amount of the resource in the cluster.
             &quot;resourceType&quot;: &quot;A String&quot;, # Resource name &quot;cpu&quot;, &quot;memory&quot; or gpu-specific string.
+            &quot;maximum&quot;: &quot;A String&quot;, # Maximum amount of the resource in the cluster.
           },
         ],
-        &quot;enableNodeAutoprovisioning&quot;: True or False, # Enables automatic node pool creation and deletion.
         &quot;autoprovisioningNodePoolDefaults&quot;: { # AutoprovisioningNodePoolDefaults contains defaults for a node pool created # AutoprovisioningNodePoolDefaults contains defaults for a node pool
             # created by NAP.
             # by NAP.
+          &quot;serviceAccount&quot;: &quot;A String&quot;, # The Google Cloud Platform Service Account to be used by the node VMs.
           &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;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;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;autoRepair&quot;: True or False, # A flag that specifies whether the node auto-repair is enabled for the node
                 # pool. If enabled, the nodes in this node pool will be monitored and, if
@@ -4778,10 +4919,6 @@
                 # pool. If enabled, node auto-upgrade helps keep the nodes in your node pool
                 # up to date with the latest release version of Kubernetes.
           },
-          &quot;oauthScopes&quot;: [ # Scopes that are used by NAP when creating node pools. If oauth_scopes are
-              # specified, service_account should be empty.
-            &quot;A String&quot;,
-          ],
           &quot;upgradeSettings&quot;: { # These upgrade settings control the level of parallelism and the level of # Specifies the upgrade settings for NAP created node pools
               # disruption caused by an upgrade.
               #
@@ -4811,84 +4948,52 @@
             &quot;maxSurge&quot;: 42, # The maximum number of nodes that can be created beyond the current size
                 # of the node pool during the upgrade process.
           },
-          &quot;serviceAccount&quot;: &quot;A String&quot;, # The Google Cloud Platform Service Account to be used by the node VMs. If
-              # service_account is specified, scopes should be empty.
+          &quot;oauthScopes&quot;: [ # Scopes that are used by NAP when creating node pools.
+            &quot;A String&quot;,
+          ],
         },
+        &quot;enableNodeAutoprovisioning&quot;: True or False, # Enables automatic node pool creation and deletion.
+        &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;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; or
+          # &quot;desired_node_pool_autoscaling&quot; is specified and there is more than one
+          # node pool on the cluster.
+      &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;desiredReleaseChannel&quot;: { # ReleaseChannel indicates which release channel a cluster is # The desired release channel configuration.
+          # subscribed to. Release channels are arranged in order of risk.
+          #
+          # When a cluster is subscribed to a release channel, Google maintains
+          # both the master version and the node version. Node auto-upgrade
+          # defaults to true and cannot be disabled.
+        &quot;channel&quot;: &quot;A String&quot;, # channel specifies which release channel the cluster is subscribed to.
+      },
+      &quot;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;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;state&quot;: &quot;A String&quot;, # Denotes the state of etcd encryption.
       },
-      &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 50 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;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;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;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 Binary Authorization.
       },
-      &quot;desiredNodePoolAutoscaling&quot;: { # NodePoolAutoscaling contains information required by cluster autoscaler to # Autoscaler configuration for the node pool specified in
-          # desired_node_pool_id. If there is only one pool in the
-          # cluster and desired_node_pool_id is not provided then
-          # the change applies to that single node pool.
-          # adjust the size of the node pool to the current cluster usage.
-        &quot;maxNodeCount&quot;: 42, # Maximum number of nodes in the NodePool. Must be &gt;= min_node_count. There
-            # has to enough quota to scale up the cluster.
-        &quot;autoprovisioned&quot;: True or False, # Can this node pool be deleted automatically.
-        &quot;minNodeCount&quot;: 42, # Minimum number of nodes in the NodePool. Must be &gt;= 1 and &lt;=
-            # max_node_count.
-        &quot;enabled&quot;: True or False, # Is autoscaling enabled for this node pool.
-      },
-      &quot;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;desiredMonitoringService&quot;: &quot;A String&quot;, # The monitoring service the cluster should use to write metrics.
-          # Currently available options:
-          #
-          # * &quot;monitoring.googleapis.com/kubernetes&quot; - The Cloud Monitoring
-          # service with a Kubernetes-native resource model
-          # * `monitoring.googleapis.com` - The legacy Cloud Monitoring service (no
-          #   longer available as of GKE 1.15).
-          # * `none` - No metrics will be exported from the cluster.
-          #
-          # If left as an empty string,`monitoring.googleapis.com/kubernetes` will be
-          # used for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions.
     },
-    &quot;name&quot;: &quot;A String&quot;, # The name (project, location, cluster) of the cluster to update.
-        # Specified in the format `projects/*/locations/*/clusters/*`.
-    &quot;projectId&quot;: &quot;A String&quot;, # Deprecated. The Google Developers Console [project ID or project
-        # number](https://support.google.com/cloud/answer/6158840).
-        # This field has been deprecated and replaced by the name field.
     &quot;zone&quot;: &quot;A String&quot;, # 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;, # 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.
@@ -4901,19 +5006,9 @@
 
     { # This operation resource represents operations that may have happened or are
       # happening on the cluster. All fields are output only.
-    &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;name&quot;: &quot;A String&quot;, # A non-parameterized string describing an operation stage.
           # Unset for single-stage operations.
-      &quot;stages&quot;: [ # Substages of an operation or a stage.
-        # Object with schema name: OperationProgress
-      ],
       &quot;metrics&quot;: [ # Progress metric bundle, for example:
           #   metrics: [{name: &quot;nodes done&quot;,     int_value: 15},
           #             {name: &quot;nodes total&quot;,    int_value: 32}]
@@ -4921,41 +5016,51 @@
           #   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;stringValue&quot;: &quot;A String&quot;, # For metrics with custom values (ratios, visual progress, etc.).
           &quot;doubleValue&quot;: 3.14, # For metrics with floating point value.
           &quot;intValue&quot;: &quot;A String&quot;, # For metrics with integer value.
-          &quot;stringValue&quot;: &quot;A String&quot;, # For metrics with custom values (ratios, visual progress, etc.).
+          &quot;name&quot;: &quot;A String&quot;, # Required. Metric name, e.g., &quot;nodes total&quot;, &quot;percent done&quot;.
         },
       ],
       &quot;status&quot;: &quot;A String&quot;, # Status of an operation stage.
           # Unset for single-stage operations.
+      &quot;stages&quot;: [ # Substages of an operation or a stage.
+        # Object with schema name: OperationProgress
+      ],
     },
+    &quot;targetLink&quot;: &quot;A String&quot;, # Server-defined URL for the target of the operation.
+    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
+    &quot;operationType&quot;: &quot;A String&quot;, # The operation type.
+    &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;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
+      },
+    ],
     &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;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
-    &quot;targetLink&quot;: &quot;A String&quot;, # Server-defined URL for the target of the operation.
-    &quot;operationType&quot;: &quot;A String&quot;, # The operation type.
-    &quot;status&quot;: &quot;A String&quot;, # The current status of the operation.
     &quot;name&quot;: &quot;A String&quot;, # The server-assigned ID for the operation.
+    &quot;detail&quot;: &quot;A String&quot;, # Detailed operation progress, if available.
+    &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;nodepoolConditions&quot;: [ # Which conditions caused the current node pool state.
       { # StatusCondition describes why a cluster or a node pool has a certain status
           # (e.g., ERROR or DEGRADED).
-        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
         &quot;message&quot;: &quot;A String&quot;, # Human-friendly representation of the condition
+        &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition
       },
     ],
-    &quot;endTime&quot;: &quot;A String&quot;, # [Output only] The time the operation completed, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
     &quot;location&quot;: &quot;A String&quot;, # [Output only] The name of the Google Compute Engine
         # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
         # or
         # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
         # in which the cluster resides.
-    &quot;startTime&quot;: &quot;A String&quot;, # [Output only] The time the operation started, in
-        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    &quot;statusMessage&quot;: &quot;A String&quot;, # Output only. If an error has occurred, a textual description of the error.
   }</pre>
 </div>