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.
- "clusterId": "A String", # Deprecated. The name of the cluster.
- # This field has been deprecated and replaced by the name field.
"name": "A String", # The name (project, location, cluster id) of the cluster to complete IP
# rotation. Specified in the format `projects/*/locations/*/clusters/*`.
+ "clusterId": "A String", # Deprecated. The name of the cluster.
+ # 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://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.
- "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}]
@@ -329,41 +322,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>
@@ -396,237 +399,153 @@
The object takes the form of:
{ # CreateClusterRequest creates a cluster.
+ "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 parent
+ # field.
"parent": "A String", # The parent (project and location) where the cluster will be created.
# Specified in the format `projects/*/locations/*`.
"cluster": { # A Google Kubernetes Engine cluster. # Required. A [cluster
- # resource](https://cloud.google.com/container-engine/reference/rest/v1/projects.zones.clusters)
- "createTime": "A String", # [Output only] The time the cluster was created, in
- # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
- "clusterIpv4Cidr": "A String", # 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`.
- "autoscaling": { # ClusterAutoscaling contains global, per-cluster information # Cluster-level autoscaling configuration.
- # required by Cluster Autoscaler to automatically adjust
- # the size of the cluster and create/delete
- # node pools based on the current needs.
- "autoprovisioningLocations": [ # The list of Google Compute Engine
- # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
- # NodePool's nodes can be created by NAP.
- "A String",
- ],
- "resourceLimits": [ # Contains global constraints regarding minimum and maximum
- # amount of resources in the cluster.
- { # Contains information about amount of some resource in the cluster.
- # For memory, value should be in GB.
- "minimum": "A String", # Minimum amount of the resource in the cluster.
- "maximum": "A String", # Maximum amount of the resource in the cluster.
- "resourceType": "A String", # Resource name "cpu", "memory" or gpu-specific string.
- },
- ],
- "enableNodeAutoprovisioning": True or False, # Enables automatic node pool creation and deletion.
- "autoprovisioningNodePoolDefaults": { # AutoprovisioningNodePoolDefaults contains defaults for a node pool created # AutoprovisioningNodePoolDefaults contains defaults for a node pool
- # created by NAP.
- # by NAP.
- "management": { # NodeManagement defines the set of node management services turned on for the # Specifies the node management options for NAP created node-pools.
- # node pool.
- "upgradeOptions": { # AutoUpgradeOptions defines the set of options for the user to control how # Specifies the Auto Upgrade knobs for the node pool.
- # the Auto Upgrades will proceed.
- "autoUpgradeStartTime": "A String", # [Output only] This field is set when upgrades are about to commence
- # with the approximate start time for the upgrades, in
- # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
- "description": "A String", # [Output only] This field is set when upgrades are about to commence
- # with the description of the upgrade.
- },
- "autoRepair": 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.
- "autoUpgrade": 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.
- },
- "oauthScopes": [ # Scopes that are used by NAP when creating node pools. If oauth_scopes are
- # specified, service_account should be empty.
- "A String",
- ],
- "upgradeSettings": { # These upgrade settings control the level of parallelism and the level of # Specifies the upgrade settings for NAP created node pools
- # disruption caused by an upgrade.
- #
- # maxUnavailable controls the number of nodes that can be simultaneously
- # unavailable.
- #
- # maxSurge controls the number of additional nodes that can be added to the
- # node pool temporarily for the time of the upgrade to increase the number of
- # available nodes.
- #
- # (maxUnavailable + maxSurge) determines the level of parallelism (how many
- # nodes are being upgraded at the same time).
- #
- # Note: upgrades inevitably introduce some disruption since workloads need to
- # be moved from old nodes to new, upgraded ones. Even if maxUnavailable=0,
- # this holds true. (Disruption stays within the limits of
- # PodDisruptionBudget, if it is configured.)
- #
- # Consider a hypothetical node pool with 5 nodes having maxSurge=2,
- # maxUnavailable=1. This means the upgrade process upgrades 3 nodes
- # simultaneously. It creates 2 additional (upgraded) nodes, then it brings
- # down 3 old (not yet upgraded) nodes at the same time. This ensures that
- # there are always at least 4 nodes available.
- "maxUnavailable": 42, # The maximum number of nodes that can be simultaneously unavailable during
- # the upgrade process. A node is considered available if its status is
- # Ready.
- "maxSurge": 42, # The maximum number of nodes that can be created beyond the current size
- # of the node pool during the upgrade process.
- },
- "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs. If
- # service_account is specified, scopes should be empty.
- },
+ # resource](https://cloud.google.com/container-engine/reference/rest/v1/projects.locations.clusters)
+ "currentMasterVersion": "A String", # [Output only] The current software version of the master endpoint.
+ "currentNodeVersion": "A String", # [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're in the process of being
+ # upgraded, this reflects the minimum version of all nodes.
+ "authenticatorGroupsConfig": { # Configuration for returning group information from authenticators. # Configuration controlling RBAC group membership information.
+ "securityGroup": "A String", # The name of the security group-of-groups to be used. Only relevant
+ # if enabled = true.
+ "enabled": True or False, # Whether this cluster should return group membership lookups
+ # during authentication using a group of security groups.
},
- "initialNodeCount": 42, # The number of nodes to create in this cluster. You must ensure that your
- # Compute Engine <a href="/compute/docs/resource-quotas">resource quota</a>
- # is sufficient for this number of instances. You must also have available
- # firewall and routes quota.
- # For requests, this field should only be used in lieu of a
- # "node_pool" object, since this configuration (along with the
- # "node_config") will be used to create a "NodePool" object with an
- # auto-generated name. Do not use this and a node_pool at the same time.
+ "enableKubernetesAlpha": 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.
+ "ipAllocationPolicy": { # Configuration for controlling how IPs are allocated in the cluster. # Configuration for cluster IP allocation.
+ "servicesSecondaryRangeName": "A String", # 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.
+ "subnetworkName": "A String", # A custom subnetwork name to be used if `create_subnetwork` is true. If
+ # this field is empty, then an automatic name will be chosen for the new
+ # subnetwork.
+ "nodeIpv4Cidr": "A String", # This field is deprecated, use node_ipv4_cidr_block.
+ "servicesIpv4CidrBlock": "A String", # 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.
+ "servicesIpv4Cidr": "A String", # This field is deprecated, use services_ipv4_cidr_block.
+ "clusterSecondaryRangeName": "A String", # The name of the secondary range to be used for the cluster CIDR
+ # block. The secondary range will be used for pod IP
+ # addresses. This must be an existing secondary range associated
+ # with the cluster subnetwork.
+ #
+ # This field is only applicable with use_ip_aliases is true and
+ # create_subnetwork is false.
+ "tpuIpv4CidrBlock": "A String", # 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.
+ "nodeIpv4CidrBlock": "A String", # 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.
+ "useIpAliases": True or False, # Whether alias IPs will be used for pod IPs in the cluster.
+ "createSubnetwork": 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.
+ "clusterIpv4CidrBlock": "A String", # The IP address range for the cluster pod IPs. If this field is set, then
+ # `cluster.cluster_ipv4_cidr` must be left blank.
+ #
+ # This field is only applicable when `use_ip_aliases` is true.
+ #
+ # Set to blank to have a range chosen with the default size.
+ #
+ # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
+ # netmask.
+ #
+ # Set to a
+ # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+ # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
+ # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
+ # to use.
+ "clusterIpv4Cidr": "A String", # This field is deprecated, use cluster_ipv4_cidr_block.
+ },
+ "loggingService": "A String", # The logging service the cluster should use to write logs.
+ # Currently available options:
#
- # This field is deprecated, use node_pool.initial_node_count instead.
- "instanceGroupUrls": [ # Deprecated. Use node_pools.instance_group_urls.
- "A String",
- ],
- "privateClusterConfig": { # Configuration options for private clusters. # Configuration for private cluster.
- "masterIpv4CidrBlock": "A String", # The IP range in CIDR notation to use for the hosted master network. This
- # range will be used for assigning internal IP addresses to the master or
- # set of masters, as well as the ILB VIP. This range must not overlap with
- # any other ranges in use within the cluster's network.
- "enablePrivateNodes": True or False, # Whether nodes have internal IP addresses only. If enabled, all nodes are
- # given only RFC 1918 private addresses and communicate with the master via
- # private networking.
- "privateEndpoint": "A String", # Output only. The internal IP address of this cluster's master endpoint.
- "enablePrivateEndpoint": True or False, # Whether the master's internal IP address is used as the cluster endpoint.
- "peeringName": "A String", # Output only. The peering name in the customer VPC used by this cluster.
- "publicEndpoint": "A String", # Output only. The external IP address of this cluster'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.
+ "zone": "A String", # [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.
+ "legacyAbac": { # Configuration for the legacy Attribute Based Access Control authorization # Configuration for the legacy ABAC authorization mode.
+ # mode.
+ "enabled": True or False, # Whether the ABAC authorizer is enabled for this cluster. When enabled,
+ # identities in the system, including service accounts, nodes, and
+ # controllers, will have statically granted permissions beyond those
+ # provided by the RBAC configuration or IAM.
},
- "shieldedNodes": { # Configuration of Shielded Nodes feature. # Shielded Nodes configuration.
- "enabled": True or False, # Whether Shielded Nodes features are enabled on all nodes in this cluster.
+ "resourceLabels": { # The resource labels for the cluster to use to annotate any related
+ # Google Compute Engine resources.
+ "a_key": "A String",
},
- "verticalPodAutoscaling": { # VerticalPodAutoscaling contains global, per-cluster information # Cluster-level Vertical Pod Autoscaling configuration.
- # required by Vertical Pod Autoscaler to automatically adjust
- # the resources of pods controlled by it.
- "enabled": True or False, # Enables vertical pod autoscaling.
- },
- "defaultMaxPodsConstraint": { # Constraints applied to pods. # The default constraint on the maximum number of pods that can be run
- # simultaneously on a node in the node pool of this cluster. Only honored
- # if cluster created with IP Alias support.
- "maxPodsPerNode": "A String", # Constraint enforced on the max num of pods per node.
- },
- "network": "A String", # The name of the Google Compute Engine
- # [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks)
- # to which the cluster is connected. If left unspecified, the `default`
- # network will be used.
- "labelFingerprint": "A String", # The fingerprint of the set of labels for this cluster.
"nodeIpv4CidrSize": 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.
- "masterAuthorizedNetworksConfig": { # Configuration options for the master authorized networks feature. Enabled # The configuration options for master authorized networks feature.
- # master authorized networks will disallow all external traffic to access
- # Kubernetes master through HTTPS except traffic from the given CIDR blocks,
- # Google Compute Engine Public IPs and Google Prod IPs.
- "cidrBlocks": [ # cidr_blocks define up to 50 external networks that could access
- # Kubernetes master through HTTPS.
- { # CidrBlock contains an optional name and one CIDR block.
- "displayName": "A String", # display_name is an optional field for users to identify CIDR blocks.
- "cidrBlock": "A String", # cidr_block must be specified in CIDR notation.
- },
- ],
- "enabled": True or False, # Whether or not master authorized networks is enabled.
- },
- "statusMessage": "A String", # [Output only] Additional information about the current status of this
- # cluster, if available.
- "masterAuth": { # The authentication information for accessing the master endpoint. # The authentication information for accessing the master endpoint.
- # If unspecified, the defaults are used:
- # For clusters before v1.12, if master_auth is unspecified, `username` will
- # be set to "admin", a random password will be generated, and a client
- # certificate will be issued.
- # Authentication can be done using HTTP basic auth or using client
- # certificates.
- "password": "A String", # The password to use for HTTP basic authentication to the master endpoint.
- # Because the master endpoint is open to the Internet, you should create a
- # strong password. If a password is provided for cluster creation, username
- # must be non-empty.
- "clientCertificateConfig": { # Configuration for client certificates on the cluster. # Configuration for client certificate authentication on the cluster. For
- # clusters before v1.12, if no configuration is specified, a client
- # certificate is issued.
- "issueClientCertificate": True or False, # Issue a client certificate.
- },
- "clientKey": "A String", # [Output only] Base64-encoded private key used by clients to authenticate
- # to the cluster endpoint.
- "clusterCaCertificate": "A String", # [Output only] Base64-encoded public certificate that is the root of
- # trust for the cluster.
- "clientCertificate": "A String", # [Output only] Base64-encoded public certificate used by clients to
- # authenticate to the cluster endpoint.
- "username": "A String", # The username to use for HTTP basic authentication to the master endpoint.
- # For clusters v1.6.0 and later, basic authentication can be disabled by
- # leaving username unspecified (or setting it to the empty string).
- },
- "authenticatorGroupsConfig": { # Configuration for returning group information from authenticators. # Configuration controlling RBAC group membership information.
- "enabled": True or False, # Whether this cluster should return group membership lookups
- # during authentication using a group of security groups.
- "securityGroup": "A String", # The name of the security group-of-groups to be used. Only relevant
- # if enabled = true.
- },
- "currentMasterVersion": "A String", # [Output only] The current software version of the master endpoint.
- "addonsConfig": { # Configuration for the addons that can be automatically spun up in the # Configurations for the various addons available to run in the cluster.
- # cluster, enabling additional functionality.
- "networkPolicyConfig": { # Configuration for NetworkPolicy. This only tracks whether the addon # Configuration for NetworkPolicy. This only tracks whether the addon
- # is enabled or not on the Master, it does not track whether network policy
- # is enabled for the nodes.
- # is enabled or not on the Master, it does not track whether network policy
- # is enabled for the nodes.
- "disabled": True or False, # Whether NetworkPolicy is enabled for this cluster.
- },
- "cloudRunConfig": { # Configuration options for the Cloud Run feature. # Configuration for the Cloud Run addon, which allows the user to use a
- # managed Knative service.
- "disabled": True or False, # Whether Cloud Run addon is enabled for this cluster.
- },
- "horizontalPodAutoscaling": { # Configuration options for the horizontal pod autoscaling feature, which # Configuration for the horizontal pod autoscaling feature, which
- # increases or decreases the number of replica pods a replication controller
- # has based on the resource usage of the existing pods.
- # increases or decreases the number of replica pods a replication controller
- # has based on the resource usage of the existing pods.
- "disabled": True or False, # Whether the Horizontal Pod Autoscaling feature is enabled in the cluster.
- # When enabled, it ensures that metrics are collected into Stackdriver
- # Monitoring.
- },
- "httpLoadBalancing": { # Configuration options for the HTTP (L7) load balancing controller addon, # Configuration for the HTTP (L7) load balancing controller addon, which
- # makes it easy to set up HTTP load balancers for services in a cluster.
- # which makes it easy to set up HTTP load balancers for services in a cluster.
- "disabled": True or False, # Whether the HTTP Load Balancing controller is enabled in the cluster.
- # When enabled, it runs a small pod in the cluster that manages the load
- # balancers.
- },
- "kubernetesDashboard": { # Configuration for the Kubernetes Dashboard. # Configuration for the Kubernetes Dashboard.
- # This addon is deprecated, and will be disabled in 1.15. It is recommended
- # to use the Cloud Console to manage and monitor your Kubernetes clusters,
- # workloads and applications. For more information, see:
- # https://cloud.google.com/kubernetes-engine/docs/concepts/dashboards
- "disabled": True or False, # Whether the Kubernetes Dashboard is enabled for this cluster.
- },
- },
- "currentNodeVersion": "A String", # [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're in the process of being
- # upgraded, this reflects the minimum version of all nodes.
- "subnetwork": "A String", # The name of the Google Compute Engine
- # [subnetwork](https://cloud.google.com/compute/docs/subnetworks) to which
- # the cluster is connected.
- "resourceLabels": { # The resource labels for the cluster to use to annotate any related
- # Google Compute Engine resources.
- "a_key": "A String",
+ "releaseChannel": { # 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.
+ "channel": "A String", # channel specifies which release channel the cluster is subscribed to.
},
"maintenancePolicy": { # MaintenancePolicy defines the maintenance policy to be used for the cluster. # Configure the maintenance policy for this cluster.
"window": { # MaintenanceWindow defines the maintenance window to be used for the cluster. # Specifies the maintenance window in which maintenance may be performed.
@@ -638,6 +557,15 @@
"startTime": "A String", # The time that the window first starts.
},
},
+ "dailyMaintenanceWindow": { # Time window specified for daily maintenance operations. # DailyMaintenanceWindow specifies a daily maintenance operation window.
+ "duration": "A String", # [Output only] Duration of the time window, automatically chosen to be
+ # smallest possible in the given scenario.
+ # Duration will be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)
+ # format "PTnHnMnS".
+ "startTime": "A String", # Time within the maintenance window to start the maintenance operations.
+ # Time format should be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)
+ # format "HH:MM", where HH : [00-23] and MM : [00-59] GMT.
+ },
"recurringWindow": { # 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.
},
- "dailyMaintenanceWindow": { # Time window specified for daily maintenance operations. # DailyMaintenanceWindow specifies a daily maintenance operation window.
- "startTime": "A String", # Time within the maintenance window to start the maintenance operations.
- # Time format should be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)
- # format "HH:MM", where HH : [00-23] and MM : [00-59] GMT.
- "duration": "A String", # [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 "PTnHnMnS".
- },
},
"resourceVersion": "A String", # A hash identifying the version of this policy, so that updates to fields of
# the policy won't accidentally undo intermediate changes (and so that users
@@ -690,157 +609,96 @@
# Make a <code>get()</code> request to the cluster to get the current
# resource version and include it with requests to set the policy.
},
- "initialClusterVersion": "A String", # The initial Kubernetes version for this cluster. Valid versions are those
- # found in validMasterVersions returned by getServerConfig. The version can
- # be upgraded over time; such upgrades are reflected in
- # currentMasterVersion and currentNodeVersion.
+ "monitoringService": "A String", # 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:
+ # * "monitoring.googleapis.com/kubernetes" - 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.
#
- # - "latest": picks the highest valid Kubernetes version
- # - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
- # - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
- # - "1.X.Y-gke.N": picks an explicit Kubernetes version
- # - "","-": picks the default Kubernetes version
- "ipAllocationPolicy": { # Configuration for controlling how IPs are allocated in the cluster. # Configuration for cluster IP allocation.
- "nodeIpv4Cidr": "A String", # This field is deprecated, use node_ipv4_cidr_block.
- "clusterSecondaryRangeName": "A String", # The name of the secondary range to be used for the cluster CIDR
- # block. The secondary range will be used for pod IP
- # addresses. This must be an existing secondary range associated
- # with the cluster subnetwork.
- #
- # This field is only applicable with use_ip_aliases is true and
- # create_subnetwork is false.
- "clusterIpv4CidrBlock": "A String", # The IP address range for the cluster pod IPs. If this field is set, then
- # `cluster.cluster_ipv4_cidr` must be left blank.
- #
- # This field is only applicable when `use_ip_aliases` is true.
- #
- # Set to blank to have a range chosen with the default size.
- #
- # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
- # netmask.
- #
- # Set to a
- # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
- # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
- # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
- # to use.
- "nodeIpv4CidrBlock": "A String", # 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.
- "tpuIpv4CidrBlock": "A String", # 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.
- "useIpAliases": True or False, # Whether alias IPs will be used for pod IPs in the cluster.
- "servicesSecondaryRangeName": "A String", # 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.
- "createSubnetwork": 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.
- "subnetworkName": "A String", # A custom subnetwork name to be used if `create_subnetwork` is true. If
- # this field is empty, then an automatic name will be chosen for the new
- # subnetwork.
- "clusterIpv4Cidr": "A String", # This field is deprecated, use cluster_ipv4_cidr_block.
- "servicesIpv4Cidr": "A String", # This field is deprecated, use services_ipv4_cidr_block.
- "servicesIpv4CidrBlock": "A String", # 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.
+ "binaryAuthorization": { # Configuration for Binary Authorization. # Configuration for Binary Authorization.
+ "enabled": True or False, # Enable Binary Authorization for this cluster. If enabled, all container
+ # images will be validated by Binary Authorization.
},
- "legacyAbac": { # Configuration for the legacy Attribute Based Access Control authorization # Configuration for the legacy ABAC authorization mode.
- # mode.
- "enabled": True or False, # Whether the ABAC authorizer is enabled for this cluster. When enabled,
- # identities in the system, including service accounts, nodes, and
- # controllers, will have statically granted permissions beyond those
- # provided by the RBAC configuration or IAM.
- },
- "resourceUsageExportConfig": { # Configuration for exporting cluster resource usages. # Configuration for exporting resource usages. Resource usage export is
- # disabled when this config is unspecified.
- "enableNetworkEgressMetering": True or False, # Whether to enable network egress metering for this cluster. If enabled, a
- # daemonset will be created in the cluster to meter network egress traffic.
- "consumptionMeteringConfig": { # Parameters for controlling consumption metering. # Configuration to enable resource consumption metering.
- "enabled": True or False, # Whether to enable consumption metering for this cluster. If enabled, a
- # second BigQuery table will be created to hold resource consumption
- # records.
- },
- "bigqueryDestination": { # Parameters for using BigQuery as the destination of resource usage export. # Configuration to use BigQuery as usage export destination.
- "datasetId": "A String", # The ID of a BigQuery Dataset.
- },
- },
- "enableTpu": True or False, # Enable the ability to use Cloud TPUs in this cluster.
- "locations": [ # The list of Google Compute Engine
- # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
- # cluster's nodes should be located.
+ "expireTime": "A String", # [Output only] The time the cluster will be automatically
+ # deleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+ "instanceGroupUrls": [ # Deprecated. Use node_pools.instance_group_urls.
"A String",
],
- "nodePools": [ # The node pools associated with this cluster.
- # This field should not be set if "node_config" or "initial_node_count" are
- # specified.
- { # NodePool contains the name and configuration for a cluster's node pool.
- # Node pools are a set of nodes (i.e. VM's), with a common configuration and
- # 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.
- "statusMessage": "A String", # [Output only] Additional information about the current status of this
- # node pool instance, if available.
- "autoscaling": { # 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.
- "maxNodeCount": 42, # Maximum number of nodes in the NodePool. Must be >= min_node_count. There
- # has to enough quota to scale up the cluster.
- "autoprovisioned": True or False, # Can this node pool be deleted automatically.
- "minNodeCount": 42, # Minimum number of nodes in the NodePool. Must be >= 1 and <=
- # max_node_count.
- "enabled": True or False, # Is autoscaling enabled for this node pool.
+ "endpoint": "A String", # [Output only] The IP address of this cluster's master endpoint.
+ # The endpoint can be accessed from the internet at
+ # `https://username:password@endpoint/`.
+ #
+ # See the `masterAuth` property of this resource for username and
+ # password information.
+ "shieldedNodes": { # Configuration of Shielded Nodes feature. # Shielded Nodes configuration.
+ "enabled": True or False, # Whether Shielded Nodes features are enabled on all nodes in this cluster.
+ },
+ "masterAuthorizedNetworksConfig": { # Configuration options for the master authorized networks feature. Enabled # The configuration options for master authorized networks feature.
+ # master authorized networks will disallow all external traffic to access
+ # Kubernetes master through HTTPS except traffic from the given CIDR blocks,
+ # Google Compute Engine Public IPs and Google Prod IPs.
+ "enabled": True or False, # Whether or not master authorized networks is enabled.
+ "cidrBlocks": [ # cidr_blocks define up to 50 external networks that could access
+ # Kubernetes master through HTTPS.
+ { # CidrBlock contains an optional name and one CIDR block.
+ "displayName": "A String", # display_name is an optional field for users to identify CIDR blocks.
+ "cidrBlock": "A String", # cidr_block must be specified in CIDR notation.
},
- "initialNodeCount": 42, # The initial node count for the pool. You must ensure that your
- # Compute Engine <a href="/compute/docs/resource-quotas">resource quota</a>
- # is sufficient for this number of instances. You must also have available
- # firewall and routes quota.
- "selfLink": "A String", # [Output only] Server-defined URL for the resource.
- "upgradeSettings": { # These upgrade settings control the level of parallelism and the level of # Upgrade settings control disruption and speed of the upgrade.
+ ],
+ },
+ "conditions": [ # Which conditions caused the current cluster state.
+ { # StatusCondition describes why a cluster or a node pool has a certain status
+ # (e.g., ERROR or DEGRADED).
+ "message": "A String", # Human-friendly representation of the condition
+ "code": "A String", # Machine-friendly representation of the condition
+ },
+ ],
+ "network": "A String", # The name of the Google Compute Engine
+ # [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks)
+ # to which the cluster is connected. If left unspecified, the `default`
+ # network will be used.
+ "status": "A String", # [Output only] The current status of this cluster.
+ "autoscaling": { # ClusterAutoscaling contains global, per-cluster information # Cluster-level autoscaling configuration.
+ # required by Cluster Autoscaler to automatically adjust
+ # the size of the cluster and create/delete
+ # node pools based on the current needs.
+ "resourceLimits": [ # Contains global constraints regarding minimum and maximum
+ # amount of resources in the cluster.
+ { # Contains information about amount of some resource in the cluster.
+ # For memory, value should be in GB.
+ "minimum": "A String", # Minimum amount of the resource in the cluster.
+ "resourceType": "A String", # Resource name "cpu", "memory" or gpu-specific string.
+ "maximum": "A String", # Maximum amount of the resource in the cluster.
+ },
+ ],
+ "autoprovisioningNodePoolDefaults": { # AutoprovisioningNodePoolDefaults contains defaults for a node pool created # AutoprovisioningNodePoolDefaults contains defaults for a node pool
+ # created by NAP.
+ # by NAP.
+ "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs.
+ "management": { # NodeManagement defines the set of node management services turned on for the # Specifies the node management options for NAP created node-pools.
+ # node pool.
+ "upgradeOptions": { # AutoUpgradeOptions defines the set of options for the user to control how # Specifies the Auto Upgrade knobs for the node pool.
+ # the Auto Upgrades will proceed.
+ "description": "A String", # [Output only] This field is set when upgrades are about to commence
+ # with the description of the upgrade.
+ "autoUpgradeStartTime": "A String", # [Output only] This field is set when upgrades are about to commence
+ # with the approximate start time for the upgrades, in
+ # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+ },
+ "autoRepair": True or False, # 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.
+ "autoUpgrade": 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.
+ },
+ "upgradeSettings": { # These upgrade settings control the level of parallelism and the level of # Specifies the upgrade settings for NAP created node pools
# disruption caused by an upgrade.
#
# maxUnavailable controls the number of nodes that can be simultaneously
@@ -869,284 +727,32 @@
"maxSurge": 42, # The maximum number of nodes that can be created beyond the current size
# of the node pool during the upgrade process.
},
- "locations": [ # The list of Google Compute Engine
- # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
- # NodePool's nodes should be located.
+ "oauthScopes": [ # Scopes that are used by NAP when creating node pools.
"A String",
],
- "instanceGroupUrls": [ # [Output only] The resource URLs of the [managed instance
- # groups](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances)
- # associated with this node pool.
- "A String",
- ],
- "version": "A String", # The version of the Kubernetes of this node.
- "podIpv4CidrSize": 42, # [Output only] The pod CIDR block size per node in this node pool.
- "conditions": [ # Which conditions caused the current node pool state.
- { # StatusCondition describes why a cluster or a node pool has a certain status
- # (e.g., ERROR or DEGRADED).
- "code": "A String", # Machine-friendly representation of the condition
- "message": "A String", # Human-friendly representation of the condition
- },
- ],
- "status": "A String", # [Output only] The status of the nodes in this pool instance.
- "config": { # Parameters that describe the nodes in a cluster. # The node configuration of the pool.
- "oauthScopes": [ # The set of Google API scopes to be made available on all of the
- # node VMs under the "default" 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.
- "A String",
- ],
- "taints": [ # 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.
- "effect": "A String", # Effect for taint.
- "value": "A String", # Value for taint.
- "key": "A String", # Key for taint.
- },
- ],
- "labels": { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
- # These will added in addition to any default label(s) that
- # Kubernetes may apply to the node.
- # In case of conflict in label keys, the applied set may differ depending on
- # the Kubernetes version -- it's best to assume the behavior is undefined
- # and conflicts should be avoided.
- # For more information, including usage and the valid values, see:
- # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
- "a_key": "A String",
- },
- "diskSizeGb": 42, # Size of the disk attached to each node, specified in GB.
- # The smallest allowed disk size is 10GB.
- #
- # If unspecified, the default disk size is 100GB.
- "workloadMetadataConfig": { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node.
- # workloads on the node pool.
- "mode": "A String", # Mode is the configuration for how to expose metadata to workloads running
- # on the node pool.
- },
- "accelerators": [ # A list of hardware accelerators to be attached to each node.
- # See https://cloud.google.com/compute/docs/gpus for more information about
- # support for GPUs.
- { # AcceleratorConfig represents a Hardware Accelerator request.
- "acceleratorType": "A String", # The accelerator type resource name. List of supported accelerators
- # [here](https://cloud.google.com/compute/docs/gpus)
- "acceleratorCount": "A String", # The number of the accelerator cards exposed to an instance.
- },
- ],
- "machineType": "A String", # 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`.
- "diskType": "A String", # Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd')
- #
- # If unspecified, the default disk type is 'pd-standard'
- "shieldedInstanceConfig": { # A set of Shielded Instance options. # Shielded Instance options.
- "enableIntegrityMonitoring": True or False, # Defines whether the instance has integrity monitoring enabled.
- #
- # Enables monitoring and attestation of the boot integrity of the instance.
- # The attestation is performed against the integrity policy baseline. This
- # baseline is initially derived from the implicitly trusted boot image when
- # the instance is created.
- "enableSecureBoot": True or False, # Defines whether the instance has Secure Boot enabled.
- #
- # Secure Boot helps ensure that the system only runs authentic software by
- # verifying the digital signature of all boot components, and halting the
- # boot process if signature verification fails.
- },
- "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be
- # scheduled on the specified or newer CPU platform. Applicable values are the
- # friendly names of CPU platforms, such as
- # <code>minCpuPlatform: &quot;Intel Haswell&quot;</code> or
- # <code>minCpuPlatform: &quot;Intel Sandy Bridge&quot;</code>. For more
- # information, read [how to specify min CPU
- # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
- "preemptible": 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.
- "localSsdCount": 42, # The number of local SSD disks to be attached to the node.
- #
- # The limit for this value is dependent upon the maximum number of
- # disks available on a machine per zone. See:
- # https://cloud.google.com/compute/docs/disks/local-ssd
- # for more information.
- "sandboxConfig": { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node.
- "type": "A String", # Type of the sandbox to use for the node.
- },
- "metadata": { # The metadata key/value pairs assigned to instances in the cluster.
- #
- # Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes
- # in length. These are reflected as part of a URL in the metadata server.
- # Additionally, to avoid ambiguity, keys must not conflict with any other
- # metadata keys for the project or be one of the reserved keys:
- # "cluster-location"
- # "cluster-name"
- # "cluster-uid"
- # "configure-sh"
- # "containerd-configure-sh"
- # "enable-os-login"
- # "gci-ensure-gke-docker"
- # "gci-metrics-enabled"
- # "gci-update-strategy"
- # "instance-template"
- # "kube-env"
- # "startup-script"
- # "user-data"
- # "disable-address-manager"
- # "windows-startup-script-ps1"
- # "common-psm1"
- # "k8s-node-setup-psm1"
- # "install-ssh-psm1"
- # "user-profile-psm1"
- # "serial-port-logging-enable"
- #
- # Values are free-form strings, and only have meaning as interpreted by
- # the image running in the instance. The only restriction placed on them is
- # that each value's size must be less than or equal to 32 KB.
- #
- # The total size of all keys and values must be less than 512 KB.
- "a_key": "A String",
- },
- "reservationAffinity": { # [ReservationAffinity](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources) # The optional reservation affinity. Setting this field will apply
- # the specified [Zonal Compute
- # Reservation](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources)
- # to this node pool.
- # is the configuration of desired reservation which instances could take
- # capacity from.
- "values": [ # Corresponds to the label value(s) of reservation resource(s).
- "A String",
- ],
- "consumeReservationType": "A String", # Corresponds to the type of reservation consumption.
- "key": "A String", # Corresponds to the label key of a reservation resource. To target a
- # SPECIFIC_RESERVATION by name, specify "googleapis.com/reservation-name" as
- # the key and specify the name of your reservation as its value.
- },
- "tags": [ # The list of instance tags applied to all nodes. Tags are used to identify
- # valid sources or targets for network firewalls and are specified by
- # the client during cluster or node pool creation. Each tag within the list
- # must comply with RFC1035.
- "A String",
- ],
- "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs.
- # Specify the email address of the Service Account; otherwise, if no Service
- # Account is specified, the "default" service account is used.
- "imageType": "A String", # The image type to use for this node. Note that for a given image type,
- # the latest version of it will be used.
- },
- "maxPodsConstraint": { # Constraints applied to pods. # The constraint on the maximum number of pods that can be run
- # simultaneously on a node in the node pool.
- "maxPodsPerNode": "A String", # Constraint enforced on the max num of pods per node.
- },
- "name": "A String", # The name of the node pool.
- "management": { # NodeManagement defines the set of node management services turned on for the # NodeManagement configuration for this NodePool.
- # node pool.
- "upgradeOptions": { # AutoUpgradeOptions defines the set of options for the user to control how # Specifies the Auto Upgrade knobs for the node pool.
- # the Auto Upgrades will proceed.
- "autoUpgradeStartTime": "A String", # [Output only] This field is set when upgrades are about to commence
- # with the approximate start time for the upgrades, in
- # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
- "description": "A String", # [Output only] This field is set when upgrades are about to commence
- # with the description of the upgrade.
- },
- "autoRepair": 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.
- "autoUpgrade": 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.
- },
},
- ],
- "selfLink": "A String", # [Output only] Server-defined URL for the resource.
+ "enableNodeAutoprovisioning": True or False, # Enables automatic node pool creation and deletion.
+ "autoprovisioningLocations": [ # The list of Google Compute Engine
+ # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
+ # NodePool's nodes can be created by NAP.
+ "A String",
+ ],
+ },
+ "labelFingerprint": "A String", # The fingerprint of the set of labels for this cluster.
"networkPolicy": { # Configuration options for the NetworkPolicy feature. # Configuration options for the NetworkPolicy feature.
# https://kubernetes.io/docs/concepts/services-networking/networkpolicies/
- "provider": "A String", # The selected network policy provider.
"enabled": True or False, # Whether network policy is enabled on the cluster.
+ "provider": "A String", # The selected network policy provider.
},
- "servicesIpv4Cidr": "A String", # [Output only] The IP address range of the Kubernetes services in
- # this cluster, in
+ "clusterIpv4Cidr": "A String", # 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.
- "enableKubernetesAlpha": 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.
- "description": "A String", # An optional description of this cluster.
- "conditions": [ # Which conditions caused the current cluster state.
- { # StatusCondition describes why a cluster or a node pool has a certain status
- # (e.g., ERROR or DEGRADED).
- "code": "A String", # Machine-friendly representation of the condition
- "message": "A String", # Human-friendly representation of the condition
- },
- ],
- "currentNodeCount": 42, # [Output only] The number of nodes currently in the cluster. Deprecated.
- # Call Kubernetes API directly to retrieve node information.
- "monitoringService": "A String", # The monitoring service the cluster should use to write metrics.
- # Currently available options:
- #
- # * "monitoring.googleapis.com/kubernetes" - 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.
- "databaseEncryption": { # Configuration of etcd encryption. # Configuration of etcd encryption.
- "keyName": "A String", # Name of CloudKMS key to use for the encryption of secrets in etcd.
- # Ex. projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-key
- "state": "A String", # 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`.
+ "defaultMaxPodsConstraint": { # Constraints applied to pods. # The default constraint on the maximum number of pods that can be run
+ # simultaneously on a node in the node pool of this cluster. Only honored
+ # if cluster created with IP Alias support.
+ "maxPodsPerNode": "A String", # Constraint enforced on the max num of pods per node.
},
- "binaryAuthorization": { # Configuration for Binary Authorization. # Configuration for Binary Authorization.
- "enabled": True or False, # Enable Binary Authorization for this cluster. If enabled, all container
- # images will be validated by Binary Authorization.
- },
- "tpuIpv4CidrBlock": "A String", # [Output only] The IP address range of the Cloud TPUs in this cluster, in
- # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
- # notation (e.g. `1.2.3.4/29`).
- "workloadIdentityConfig": { # Configuration for the use of Kubernetes Service Accounts in GCP IAM # Configuration for the use of Kubernetes Service Accounts in GCP IAM
- # policies.
- # policies.
- "workloadPool": "A String", # The workload pool to attach all Kubernetes service accounts to.
- },
- "zone": "A String", # [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.
- "expireTime": "A String", # [Output only] The time the cluster will be automatically
- # deleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
- "loggingService": "A String", # The logging service the cluster should use to write logs.
- # Currently available options:
- #
- # * `logging.googleapis.com/kubernetes` - The Cloud Logging
- # service with a Kubernetes-native resource model
- # * `logging.googleapis.com` - The legacy Cloud Logging service (no longer
- # available as of GKE 1.15).
- # * `none` - no logs will be exported from the cluster.
- #
- # If left as an empty string,`logging.googleapis.com/kubernetes` will be
- # used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.
"nodeConfig": { # Parameters that describe the nodes in a cluster. # Parameters used in creating the cluster's nodes.
# For requests, this field should only be used in lieu of a
# "node_pool" 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.
+ "diskType": "A String", # Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd')
+ #
+ # If unspecified, the default disk type is 'pd-standard'
+ "bootDiskKmsKey": "A String", #
+ # The Customer Managed Encryption Key used to encrypt the boot disk attached
+ # to each node in the node pool. This should be of the form
+ # projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME].
+ # For more information about protecting resources with Cloud KMS Keys please
+ # see:
+ # https://cloud.google.com/compute/docs/disks/customer-managed-encryption
+ "shieldedInstanceConfig": { # A set of Shielded Instance options. # Shielded Instance options.
+ "enableIntegrityMonitoring": True or False, # Defines whether the instance has integrity monitoring enabled.
+ #
+ # Enables monitoring and attestation of the boot integrity of the instance.
+ # The attestation is performed against the integrity policy baseline. This
+ # baseline is initially derived from the implicitly trusted boot image when
+ # the instance is created.
+ "enableSecureBoot": True or False, # Defines whether the instance has Secure Boot enabled.
+ #
+ # Secure Boot helps ensure that the system only runs authentic software by
+ # verifying the digital signature of all boot components, and halting the
+ # boot process if signature verification fails.
+ },
+ "labels": { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
+ # These will added in addition to any default label(s) that
+ # Kubernetes may apply to the node.
+ # In case of conflict in label keys, the applied set may differ depending on
+ # the Kubernetes version -- it's best to assume the behavior is undefined
+ # and conflicts should be avoided.
+ # For more information, including usage and the valid values, see:
+ # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
+ "a_key": "A String",
+ },
"oauthScopes": [ # The set of Google API scopes to be made available on all of the
# node VMs under the "default" service account.
#
@@ -1175,6 +814,19 @@
# Monitoring are enabled, in which case their required scopes will be added.
"A String",
],
+ "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be
+ # scheduled on the specified or newer CPU platform. Applicable values are the
+ # friendly names of CPU platforms, such as
+ # <code>minCpuPlatform: &quot;Intel Haswell&quot;</code> or
+ # <code>minCpuPlatform: &quot;Intel Sandy Bridge&quot;</code>. For more
+ # information, read [how to specify min CPU
+ # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
+ "localSsdCount": 42, # The number of local SSD disks to be attached to the node.
+ #
+ # The limit for this value is dependent upon the maximum number of
+ # disks available on a machine per zone. See:
+ # https://cloud.google.com/compute/docs/disks/local-ssd
+ # for more information.
"taints": [ # 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.
- "effect": "A String", # Effect for taint.
"value": "A String", # Value for taint.
"key": "A String", # Key for taint.
+ "effect": "A String", # Effect for taint.
},
],
- "labels": { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
- # These will added in addition to any default label(s) that
- # Kubernetes may apply to the node.
- # In case of conflict in label keys, the applied set may differ depending on
- # the Kubernetes version -- it's best to assume the behavior is undefined
- # and conflicts should be avoided.
- # For more information, including usage and the valid values, see:
- # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
- "a_key": "A String",
+ "imageType": "A String", # The image type to use for this node. Note that for a given image type,
+ # the latest version of it will be used.
+ "reservationAffinity": { # [ReservationAffinity](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources) # The optional reservation affinity. Setting this field will apply
+ # the specified [Zonal Compute
+ # Reservation](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources)
+ # to this node pool.
+ # is the configuration of desired reservation which instances could take
+ # capacity from.
+ "consumeReservationType": "A String", # Corresponds to the type of reservation consumption.
+ "key": "A String", # Corresponds to the label key of a reservation resource. To target a
+ # SPECIFIC_RESERVATION by name, specify "googleapis.com/reservation-name" as
+ # the key and specify the name of your reservation as its value.
+ "values": [ # Corresponds to the label value(s) of reservation resource(s).
+ "A String",
+ ],
},
- "diskSizeGb": 42, # Size of the disk attached to each node, specified in GB.
- # The smallest allowed disk size is 10GB.
- #
- # If unspecified, the default disk size is 100GB.
- "workloadMetadataConfig": { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node.
- # workloads on the node pool.
- "mode": "A String", # Mode is the configuration for how to expose metadata to workloads running
- # on the node pool.
- },
- "accelerators": [ # A list of hardware accelerators to be attached to each node.
- # See https://cloud.google.com/compute/docs/gpus for more information about
- # support for GPUs.
- { # AcceleratorConfig represents a Hardware Accelerator request.
- "acceleratorType": "A String", # The accelerator type resource name. List of supported accelerators
- # [here](https://cloud.google.com/compute/docs/gpus)
- "acceleratorCount": "A String", # The number of the accelerator cards exposed to an instance.
- },
- ],
"machineType": "A String", # 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`.
- "diskType": "A String", # Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd')
- #
- # If unspecified, the default disk type is 'pd-standard'
- "shieldedInstanceConfig": { # A set of Shielded Instance options. # Shielded Instance options.
- "enableIntegrityMonitoring": True or False, # Defines whether the instance has integrity monitoring enabled.
- #
- # Enables monitoring and attestation of the boot integrity of the instance.
- # The attestation is performed against the integrity policy baseline. This
- # baseline is initially derived from the implicitly trusted boot image when
- # the instance is created.
- "enableSecureBoot": True or False, # Defines whether the instance has Secure Boot enabled.
- #
- # Secure Boot helps ensure that the system only runs authentic software by
- # verifying the digital signature of all boot components, and halting the
- # boot process if signature verification fails.
- },
- "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be
- # scheduled on the specified or newer CPU platform. Applicable values are the
- # friendly names of CPU platforms, such as
- # <code>minCpuPlatform: &quot;Intel Haswell&quot;</code> or
- # <code>minCpuPlatform: &quot;Intel Sandy Bridge&quot;</code>. For more
- # information, read [how to specify min CPU
- # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
- "preemptible": 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.
- "localSsdCount": 42, # The number of local SSD disks to be attached to the node.
- #
- # The limit for this value is dependent upon the maximum number of
- # disks available on a machine per zone. See:
- # https://cloud.google.com/compute/docs/disks/local-ssd
- # for more information.
- "sandboxConfig": { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node.
- "type": "A String", # Type of the sandbox to use for the node.
- },
+ "nodeGroup": "A String", # 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).
"metadata": { # The metadata key/value pairs assigned to instances in the cluster.
#
# Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes
@@ -1293,45 +902,63 @@
# The total size of all keys and values must be less than 512 KB.
"a_key": "A String",
},
- "reservationAffinity": { # [ReservationAffinity](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources) # The optional reservation affinity. Setting this field will apply
- # the specified [Zonal Compute
- # Reservation](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources)
- # to this node pool.
- # is the configuration of desired reservation which instances could take
- # capacity from.
- "values": [ # Corresponds to the label value(s) of reservation resource(s).
- "A String",
- ],
- "consumeReservationType": "A String", # Corresponds to the type of reservation consumption.
- "key": "A String", # Corresponds to the label key of a reservation resource. To target a
- # SPECIFIC_RESERVATION by name, specify "googleapis.com/reservation-name" as
- # the key and specify the name of your reservation as its value.
- },
"tags": [ # The list of instance tags applied to all nodes. Tags are used to identify
# valid sources or targets for network firewalls and are specified by
# the client during cluster or node pool creation. Each tag within the list
# must comply with RFC1035.
"A String",
],
+ "sandboxConfig": { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node.
+ "type": "A String", # Type of the sandbox to use for the node.
+ },
+ "preemptible": 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.
+ "workloadMetadataConfig": { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node.
+ # workloads on the node pool.
+ "mode": "A String", # Mode is the configuration for how to expose metadata to workloads running
+ # on the node pool.
+ },
+ "diskSizeGb": 42, # Size of the disk attached to each node, specified in GB.
+ # The smallest allowed disk size is 10GB.
+ #
+ # If unspecified, the default disk size is 100GB.
"serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs.
# Specify the email address of the Service Account; otherwise, if no Service
# Account is specified, the "default" service account is used.
- "imageType": "A String", # The image type to use for this node. Note that for a given image type,
- # the latest version of it will be used.
+ "accelerators": [ # A list of hardware accelerators to be attached to each node.
+ # See https://cloud.google.com/compute/docs/gpus for more information about
+ # support for GPUs.
+ { # AcceleratorConfig represents a Hardware Accelerator request.
+ "acceleratorType": "A String", # The accelerator type resource name. List of supported accelerators
+ # [here](https://cloud.google.com/compute/docs/gpus)
+ "acceleratorCount": "A String", # The number of the accelerator cards exposed to an instance.
+ },
+ ],
},
- "status": "A String", # [Output only] The current status of this cluster.
- "networkConfig": { # NetworkConfig reports the relative names of network & subnetwork. # Configuration for cluster networking.
- "enableIntraNodeVisibility": True or False, # Whether Intra-node visibility is enabled for this cluster.
- # This makes same node pod to pod traffic visible for VPC network.
- "subnetwork": "A String", # Output only. The relative name of the Google Compute Engine
- # [subnetwork](https://cloud.google.com/compute/docs/vpc) to which the
- # cluster is connected. Example:
- # projects/my-project/regions/us-central1/subnetworks/my-subnet
- "network": "A String", # Output only. The relative name of the Google Compute Engine
- # network(https://cloud.google.com/compute/docs/networks-and-firewalls#networks)
- # to which the cluster is connected. Example:
- # projects/my-project/global/networks/my-network
+ "resourceUsageExportConfig": { # Configuration for exporting cluster resource usages. # Configuration for exporting resource usages. Resource usage export is
+ # disabled when this config is unspecified.
+ "enableNetworkEgressMetering": True or False, # Whether to enable network egress metering for this cluster. If enabled, a
+ # daemonset will be created in the cluster to meter network egress traffic.
+ "bigqueryDestination": { # Parameters for using BigQuery as the destination of resource usage export. # Configuration to use BigQuery as usage export destination.
+ "datasetId": "A String", # The ID of a BigQuery Dataset.
+ },
+ "consumptionMeteringConfig": { # Parameters for controlling consumption metering. # Configuration to enable resource consumption metering.
+ "enabled": True or False, # Whether to enable consumption metering for this cluster. If enabled, a
+ # second BigQuery table will be created to hold resource consumption
+ # records.
+ },
},
+ "initialNodeCount": 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
+ # "node_pool" object, since this configuration (along with the
+ # "node_config") will be used to create a "NodePool" 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.
"name": "A String", # The name of this cluster. The name must be unique within this project
# and location (e.g. zone or region), and can be up to 40 characters with
# the following restrictions:
@@ -1339,25 +966,432 @@
# * Lowercase letters, numbers, and hyphens only.
# * Must start with a letter.
# * Must end with a number or a letter.
- "endpoint": "A String", # [Output only] The IP address of this cluster's master endpoint.
- # The endpoint can be accessed from the internet at
- # `https://username:password@endpoint/`.
+ "workloadIdentityConfig": { # Configuration for the use of Kubernetes Service Accounts in GCP IAM # Configuration for the use of Kubernetes Service Accounts in GCP IAM
+ # policies.
+ # policies.
+ "workloadPool": "A String", # The workload pool to attach all Kubernetes service accounts to.
+ },
+ "networkConfig": { # NetworkConfig reports the relative names of network & subnetwork. # Configuration for cluster networking.
+ "network": "A String", # Output only. The relative name of the Google Compute Engine
+ # network(https://cloud.google.com/compute/docs/networks-and-firewalls#networks)
+ # to which the cluster is connected. Example:
+ # projects/my-project/global/networks/my-network
+ "enableIntraNodeVisibility": True or False, # Whether Intra-node visibility is enabled for this cluster.
+ # This makes same node pod to pod traffic visible for VPC network.
+ "subnetwork": "A String", # Output only. The relative name of the Google Compute Engine
+ # [subnetwork](https://cloud.google.com/compute/docs/vpc) to which the
+ # cluster is connected. Example:
+ # projects/my-project/regions/us-central1/subnetworks/my-subnet
+ },
+ "databaseEncryption": { # Configuration of etcd encryption. # Configuration of etcd encryption.
+ "state": "A String", # Denotes the state of etcd encryption.
+ "keyName": "A String", # Name of CloudKMS key to use for the encryption of secrets in etcd.
+ # Ex. projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-key
+ },
+ "privateClusterConfig": { # Configuration options for private clusters. # Configuration for private cluster.
+ "privateEndpoint": "A String", # Output only. The internal IP address of this cluster's master endpoint.
+ "peeringName": "A String", # Output only. The peering name in the customer VPC used by this cluster.
+ "enablePrivateNodes": True or False, # Whether nodes have internal IP addresses only. If enabled, all nodes are
+ # given only RFC 1918 private addresses and communicate with the master via
+ # private networking.
+ "publicEndpoint": "A String", # Output only. The external IP address of this cluster's master endpoint.
+ "enablePrivateEndpoint": True or False, # Whether the master's internal IP address is used as the cluster endpoint.
+ "masterIpv4CidrBlock": "A String", # The IP range in CIDR notation to use for the hosted master network. This
+ # range will be used for assigning internal IP addresses to the master or
+ # set of masters, as well as the ILB VIP. This range must not overlap with
+ # any other ranges in use within the cluster's network.
+ },
+ "createTime": "A String", # [Output only] The time the cluster was created, in
+ # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+ "nodePools": [ # The node pools associated with this cluster.
+ # This field should not be set if "node_config" or "initial_node_count" are
+ # specified.
+ { # NodePool contains the name and configuration for a cluster's node pool.
+ # Node pools are a set of nodes (i.e. VM's), with a common configuration and
+ # 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.
+ "selfLink": "A String", # [Output only] Server-defined URL for the resource.
+ "management": { # NodeManagement defines the set of node management services turned on for the # NodeManagement configuration for this NodePool.
+ # node pool.
+ "upgradeOptions": { # AutoUpgradeOptions defines the set of options for the user to control how # Specifies the Auto Upgrade knobs for the node pool.
+ # the Auto Upgrades will proceed.
+ "description": "A String", # [Output only] This field is set when upgrades are about to commence
+ # with the description of the upgrade.
+ "autoUpgradeStartTime": "A String", # [Output only] This field is set when upgrades are about to commence
+ # with the approximate start time for the upgrades, in
+ # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+ },
+ "autoRepair": True or False, # 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.
+ "autoUpgrade": 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.
+ },
+ "upgradeSettings": { # 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.
+ "maxUnavailable": 42, # The maximum number of nodes that can be simultaneously unavailable during
+ # the upgrade process. A node is considered available if its status is
+ # Ready.
+ "maxSurge": 42, # The maximum number of nodes that can be created beyond the current size
+ # of the node pool during the upgrade process.
+ },
+ "initialNodeCount": 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.
+ "statusMessage": "A String", # [Output only] Additional information about the current status of this
+ # node pool instance, if available.
+ "version": "A String", # The version of the Kubernetes of this node.
+ "conditions": [ # Which conditions caused the current node pool state.
+ { # StatusCondition describes why a cluster or a node pool has a certain status
+ # (e.g., ERROR or DEGRADED).
+ "message": "A String", # Human-friendly representation of the condition
+ "code": "A String", # Machine-friendly representation of the condition
+ },
+ ],
+ "config": { # Parameters that describe the nodes in a cluster. # The node configuration of the pool.
+ "diskType": "A String", # Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd')
+ #
+ # If unspecified, the default disk type is 'pd-standard'
+ "bootDiskKmsKey": "A String", #
+ # The Customer Managed Encryption Key used to encrypt the boot disk attached
+ # to each node in the node pool. This should be of the form
+ # projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME].
+ # For more information about protecting resources with Cloud KMS Keys please
+ # see:
+ # https://cloud.google.com/compute/docs/disks/customer-managed-encryption
+ "shieldedInstanceConfig": { # A set of Shielded Instance options. # Shielded Instance options.
+ "enableIntegrityMonitoring": True or False, # Defines whether the instance has integrity monitoring enabled.
+ #
+ # Enables monitoring and attestation of the boot integrity of the instance.
+ # The attestation is performed against the integrity policy baseline. This
+ # baseline is initially derived from the implicitly trusted boot image when
+ # the instance is created.
+ "enableSecureBoot": True or False, # Defines whether the instance has Secure Boot enabled.
+ #
+ # Secure Boot helps ensure that the system only runs authentic software by
+ # verifying the digital signature of all boot components, and halting the
+ # boot process if signature verification fails.
+ },
+ "labels": { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
+ # These will added in addition to any default label(s) that
+ # Kubernetes may apply to the node.
+ # In case of conflict in label keys, the applied set may differ depending on
+ # the Kubernetes version -- it's best to assume the behavior is undefined
+ # and conflicts should be avoided.
+ # For more information, including usage and the valid values, see:
+ # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
+ "a_key": "A String",
+ },
+ "oauthScopes": [ # The set of Google API scopes to be made available on all of the
+ # node VMs under the "default" 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.
+ "A String",
+ ],
+ "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be
+ # scheduled on the specified or newer CPU platform. Applicable values are the
+ # friendly names of CPU platforms, such as
+ # <code>minCpuPlatform: &quot;Intel Haswell&quot;</code> or
+ # <code>minCpuPlatform: &quot;Intel Sandy Bridge&quot;</code>. For more
+ # information, read [how to specify min CPU
+ # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
+ "localSsdCount": 42, # The number of local SSD disks to be attached to the node.
+ #
+ # The limit for this value is dependent upon the maximum number of
+ # disks available on a machine per zone. See:
+ # https://cloud.google.com/compute/docs/disks/local-ssd
+ # for more information.
+ "taints": [ # 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.
+ "value": "A String", # Value for taint.
+ "key": "A String", # Key for taint.
+ "effect": "A String", # Effect for taint.
+ },
+ ],
+ "imageType": "A String", # The image type to use for this node. Note that for a given image type,
+ # the latest version of it will be used.
+ "reservationAffinity": { # [ReservationAffinity](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources) # The optional reservation affinity. Setting this field will apply
+ # the specified [Zonal Compute
+ # Reservation](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources)
+ # to this node pool.
+ # is the configuration of desired reservation which instances could take
+ # capacity from.
+ "consumeReservationType": "A String", # Corresponds to the type of reservation consumption.
+ "key": "A String", # Corresponds to the label key of a reservation resource. To target a
+ # SPECIFIC_RESERVATION by name, specify "googleapis.com/reservation-name" as
+ # the key and specify the name of your reservation as its value.
+ "values": [ # Corresponds to the label value(s) of reservation resource(s).
+ "A String",
+ ],
+ },
+ "machineType": "A String", # 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`.
+ "nodeGroup": "A String", # 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).
+ "metadata": { # The metadata key/value pairs assigned to instances in the cluster.
+ #
+ # Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes
+ # in length. These are reflected as part of a URL in the metadata server.
+ # Additionally, to avoid ambiguity, keys must not conflict with any other
+ # metadata keys for the project or be one of the reserved keys:
+ # "cluster-location"
+ # "cluster-name"
+ # "cluster-uid"
+ # "configure-sh"
+ # "containerd-configure-sh"
+ # "enable-os-login"
+ # "gci-ensure-gke-docker"
+ # "gci-metrics-enabled"
+ # "gci-update-strategy"
+ # "instance-template"
+ # "kube-env"
+ # "startup-script"
+ # "user-data"
+ # "disable-address-manager"
+ # "windows-startup-script-ps1"
+ # "common-psm1"
+ # "k8s-node-setup-psm1"
+ # "install-ssh-psm1"
+ # "user-profile-psm1"
+ # "serial-port-logging-enable"
+ #
+ # Values are free-form strings, and only have meaning as interpreted by
+ # the image running in the instance. The only restriction placed on them is
+ # that each value's size must be less than or equal to 32 KB.
+ #
+ # The total size of all keys and values must be less than 512 KB.
+ "a_key": "A String",
+ },
+ "tags": [ # The list of instance tags applied to all nodes. Tags are used to identify
+ # valid sources or targets for network firewalls and are specified by
+ # the client during cluster or node pool creation. Each tag within the list
+ # must comply with RFC1035.
+ "A String",
+ ],
+ "sandboxConfig": { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node.
+ "type": "A String", # Type of the sandbox to use for the node.
+ },
+ "preemptible": 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.
+ "workloadMetadataConfig": { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node.
+ # workloads on the node pool.
+ "mode": "A String", # Mode is the configuration for how to expose metadata to workloads running
+ # on the node pool.
+ },
+ "diskSizeGb": 42, # Size of the disk attached to each node, specified in GB.
+ # The smallest allowed disk size is 10GB.
+ #
+ # If unspecified, the default disk size is 100GB.
+ "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs.
+ # Specify the email address of the Service Account; otherwise, if no Service
+ # Account is specified, the "default" service account is used.
+ "accelerators": [ # A list of hardware accelerators to be attached to each node.
+ # See https://cloud.google.com/compute/docs/gpus for more information about
+ # support for GPUs.
+ { # AcceleratorConfig represents a Hardware Accelerator request.
+ "acceleratorType": "A String", # The accelerator type resource name. List of supported accelerators
+ # [here](https://cloud.google.com/compute/docs/gpus)
+ "acceleratorCount": "A String", # The number of the accelerator cards exposed to an instance.
+ },
+ ],
+ },
+ "name": "A String", # The name of the node pool.
+ "maxPodsConstraint": { # Constraints applied to pods. # The constraint on the maximum number of pods that can be run
+ # simultaneously on a node in the node pool.
+ "maxPodsPerNode": "A String", # Constraint enforced on the max num of pods per node.
+ },
+ "autoscaling": { # NodePoolAutoscaling contains information required by cluster autoscaler to # Autoscaler configuration for this NodePool. Autoscaler is enabled
+ # only if a valid configuration is present.
+ # adjust the size of the node pool to the current cluster usage.
+ "minNodeCount": 42, # Minimum number of nodes in the NodePool. Must be >= 1 and <=
+ # max_node_count.
+ "maxNodeCount": 42, # Maximum number of nodes in the NodePool. Must be >= min_node_count. There
+ # has to enough quota to scale up the cluster.
+ "enabled": True or False, # Is autoscaling enabled for this node pool.
+ "autoprovisioned": True or False, # Can this node pool be deleted automatically.
+ },
+ "podIpv4CidrSize": 42, # [Output only] The pod CIDR block size per node in this node pool.
+ "instanceGroupUrls": [ # [Output only] The resource URLs of the [managed instance
+ # groups](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances)
+ # associated with this node pool.
+ "A String",
+ ],
+ "status": "A String", # [Output only] The status of the nodes in this pool instance.
+ "locations": [ # The list of Google Compute Engine
+ # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
+ # NodePool's nodes should be located.
+ "A String",
+ ],
+ },
+ ],
+ "subnetwork": "A String", # The name of the Google Compute Engine
+ # [subnetwork](https://cloud.google.com/compute/docs/subnetworks) to which
+ # the cluster is connected.
+ "addonsConfig": { # Configuration for the addons that can be automatically spun up in the # Configurations for the various addons available to run in the cluster.
+ # cluster, enabling additional functionality.
+ "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.
+ # increases or decreases the number of replica pods a replication controller
+ # has based on the resource usage of the existing pods.
+ "disabled": True or False, # Whether the Horizontal Pod Autoscaling feature is enabled in the cluster.
+ # When enabled, it ensures that metrics are collected into Stackdriver
+ # Monitoring.
+ },
+ "dnsCacheConfig": { # Configuration for NodeLocal DNSCache # Configuration for NodeLocalDNS, a dns cache running on cluster nodes
+ "enabled": True or False, # Whether NodeLocal DNSCache is enabled for this cluster.
+ },
+ "networkPolicyConfig": { # Configuration for NetworkPolicy. This only tracks whether the addon # Configuration for NetworkPolicy. This only tracks whether the addon
+ # is enabled or not on the Master, it does not track whether network policy
+ # 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.
+ },
+ },
+ "masterAuth": { # The authentication information for accessing the master endpoint. # The authentication information for accessing the master endpoint.
+ # If unspecified, the defaults are used:
+ # For clusters before v1.12, if master_auth is unspecified, `username` will
+ # be set to "admin", a random password will be generated, and a client
+ # certificate will be issued.
+ # Authentication can be done using HTTP basic auth or using client
+ # certificates.
+ "clientKey": "A String", # [Output only] Base64-encoded private key used by clients to authenticate
+ # to the cluster endpoint.
+ "clientCertificate": "A String", # [Output only] Base64-encoded public certificate used by clients to
+ # authenticate to the cluster endpoint.
+ "username": "A String", # The username to use for HTTP basic authentication to the master endpoint.
+ # For clusters v1.6.0 and later, basic authentication can be disabled by
+ # leaving username unspecified (or setting it to the empty string).
+ "password": "A String", # The password to use for HTTP basic authentication to the master endpoint.
+ # Because the master endpoint is open to the Internet, you should create a
+ # strong password. If a password is provided for cluster creation, username
+ # must be non-empty.
+ "clientCertificateConfig": { # Configuration for client certificates on the cluster. # Configuration for client certificate authentication on the cluster. For
+ # clusters before v1.12, if no configuration is specified, a client
+ # certificate is issued.
+ "issueClientCertificate": True or False, # Issue a client certificate.
+ },
+ "clusterCaCertificate": "A String", # [Output only] Base64-encoded public certificate that is the root of
+ # trust for the cluster.
+ },
+ "verticalPodAutoscaling": { # VerticalPodAutoscaling contains global, per-cluster information # Cluster-level Vertical Pod Autoscaling configuration.
+ # required by Vertical Pod Autoscaler to automatically adjust
+ # the resources of pods controlled by it.
+ "enabled": True or False, # Enables vertical pod autoscaling.
+ },
+ "enableTpu": True or False, # Enable the ability to use Cloud TPUs in this cluster.
+ "initialClusterVersion": "A String", # The initial Kubernetes version for this cluster. Valid versions are those
+ # found in validMasterVersions returned by getServerConfig. The version can
+ # be upgraded over time; such upgrades are reflected in
+ # currentMasterVersion and currentNodeVersion.
#
- # 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:
+ #
+ # - "latest": picks the highest valid Kubernetes version
+ # - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
+ # - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
+ # - "1.X.Y-gke.N": picks an explicit Kubernetes version
+ # - "","-": picks the default Kubernetes version
+ "currentNodeCount": 42, # [Output only] The number of nodes currently in the cluster. Deprecated.
+ # Call Kubernetes API directly to retrieve node information.
+ "tpuIpv4CidrBlock": "A String", # [Output only] The IP address range of the Cloud TPUs in this cluster, in
+ # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+ # notation (e.g. `1.2.3.4/29`).
+ "locations": [ # The list of Google Compute Engine
+ # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
+ # cluster's nodes should be located.
+ "A String",
+ ],
+ "selfLink": "A String", # [Output only] Server-defined URL for the resource.
+ "description": "A String", # An optional description of this cluster.
+ "statusMessage": "A String", # [Output only] Additional information about the current status of this
+ # cluster, if available.
"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.
+ "servicesIpv4Cidr": "A String", # [Output only] The IP address range of the Kubernetes services in
+ # this cluster, in
+ # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+ # notation (e.g. `1.2.3.4/29`). Service addresses are
+ # typically put in the last `/16` from the container CIDR.
},
"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 parent 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 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.
- "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}]
@@ -1390,41 +1414,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>
@@ -1462,19 +1496,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}]
@@ -1482,41 +1506,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>
@@ -1545,233 +1579,145 @@
An object of the form:
{ # A Google Kubernetes Engine cluster.
- "createTime": "A String", # [Output only] The time the cluster was created, in
- # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
- "clusterIpv4Cidr": "A String", # 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`.
- "autoscaling": { # ClusterAutoscaling contains global, per-cluster information # Cluster-level autoscaling configuration.
- # required by Cluster Autoscaler to automatically adjust
- # the size of the cluster and create/delete
- # node pools based on the current needs.
- "autoprovisioningLocations": [ # The list of Google Compute Engine
- # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
- # NodePool's nodes can be created by NAP.
- "A String",
- ],
- "resourceLimits": [ # Contains global constraints regarding minimum and maximum
- # amount of resources in the cluster.
- { # Contains information about amount of some resource in the cluster.
- # For memory, value should be in GB.
- "minimum": "A String", # Minimum amount of the resource in the cluster.
- "maximum": "A String", # Maximum amount of the resource in the cluster.
- "resourceType": "A String", # Resource name "cpu", "memory" or gpu-specific string.
- },
- ],
- "enableNodeAutoprovisioning": True or False, # Enables automatic node pool creation and deletion.
- "autoprovisioningNodePoolDefaults": { # AutoprovisioningNodePoolDefaults contains defaults for a node pool created # AutoprovisioningNodePoolDefaults contains defaults for a node pool
- # created by NAP.
- # by NAP.
- "management": { # NodeManagement defines the set of node management services turned on for the # Specifies the node management options for NAP created node-pools.
- # node pool.
- "upgradeOptions": { # AutoUpgradeOptions defines the set of options for the user to control how # Specifies the Auto Upgrade knobs for the node pool.
- # the Auto Upgrades will proceed.
- "autoUpgradeStartTime": "A String", # [Output only] This field is set when upgrades are about to commence
- # with the approximate start time for the upgrades, in
- # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
- "description": "A String", # [Output only] This field is set when upgrades are about to commence
- # with the description of the upgrade.
- },
- "autoRepair": 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.
- "autoUpgrade": 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.
- },
- "oauthScopes": [ # Scopes that are used by NAP when creating node pools. If oauth_scopes are
- # specified, service_account should be empty.
- "A String",
- ],
- "upgradeSettings": { # These upgrade settings control the level of parallelism and the level of # Specifies the upgrade settings for NAP created node pools
- # disruption caused by an upgrade.
- #
- # maxUnavailable controls the number of nodes that can be simultaneously
- # unavailable.
- #
- # maxSurge controls the number of additional nodes that can be added to the
- # node pool temporarily for the time of the upgrade to increase the number of
- # available nodes.
- #
- # (maxUnavailable + maxSurge) determines the level of parallelism (how many
- # nodes are being upgraded at the same time).
- #
- # Note: upgrades inevitably introduce some disruption since workloads need to
- # be moved from old nodes to new, upgraded ones. Even if maxUnavailable=0,
- # this holds true. (Disruption stays within the limits of
- # PodDisruptionBudget, if it is configured.)
- #
- # Consider a hypothetical node pool with 5 nodes having maxSurge=2,
- # maxUnavailable=1. This means the upgrade process upgrades 3 nodes
- # simultaneously. It creates 2 additional (upgraded) nodes, then it brings
- # down 3 old (not yet upgraded) nodes at the same time. This ensures that
- # there are always at least 4 nodes available.
- "maxUnavailable": 42, # The maximum number of nodes that can be simultaneously unavailable during
- # the upgrade process. A node is considered available if its status is
- # Ready.
- "maxSurge": 42, # The maximum number of nodes that can be created beyond the current size
- # of the node pool during the upgrade process.
- },
- "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs. If
- # service_account is specified, scopes should be empty.
- },
+ "currentMasterVersion": "A String", # [Output only] The current software version of the master endpoint.
+ "currentNodeVersion": "A String", # [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're in the process of being
+ # upgraded, this reflects the minimum version of all nodes.
+ "authenticatorGroupsConfig": { # Configuration for returning group information from authenticators. # Configuration controlling RBAC group membership information.
+ "securityGroup": "A String", # The name of the security group-of-groups to be used. Only relevant
+ # if enabled = true.
+ "enabled": True or False, # Whether this cluster should return group membership lookups
+ # during authentication using a group of security groups.
},
- "initialNodeCount": 42, # The number of nodes to create in this cluster. You must ensure that your
- # Compute Engine <a href="/compute/docs/resource-quotas">resource quota</a>
- # is sufficient for this number of instances. You must also have available
- # firewall and routes quota.
- # For requests, this field should only be used in lieu of a
- # "node_pool" object, since this configuration (along with the
- # "node_config") will be used to create a "NodePool" object with an
- # auto-generated name. Do not use this and a node_pool at the same time.
+ "enableKubernetesAlpha": 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.
+ "ipAllocationPolicy": { # Configuration for controlling how IPs are allocated in the cluster. # Configuration for cluster IP allocation.
+ "servicesSecondaryRangeName": "A String", # 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.
+ "subnetworkName": "A String", # A custom subnetwork name to be used if `create_subnetwork` is true. If
+ # this field is empty, then an automatic name will be chosen for the new
+ # subnetwork.
+ "nodeIpv4Cidr": "A String", # This field is deprecated, use node_ipv4_cidr_block.
+ "servicesIpv4CidrBlock": "A String", # 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.
+ "servicesIpv4Cidr": "A String", # This field is deprecated, use services_ipv4_cidr_block.
+ "clusterSecondaryRangeName": "A String", # The name of the secondary range to be used for the cluster CIDR
+ # block. The secondary range will be used for pod IP
+ # addresses. This must be an existing secondary range associated
+ # with the cluster subnetwork.
+ #
+ # This field is only applicable with use_ip_aliases is true and
+ # create_subnetwork is false.
+ "tpuIpv4CidrBlock": "A String", # 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.
+ "nodeIpv4CidrBlock": "A String", # 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.
+ "useIpAliases": True or False, # Whether alias IPs will be used for pod IPs in the cluster.
+ "createSubnetwork": 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.
+ "clusterIpv4CidrBlock": "A String", # The IP address range for the cluster pod IPs. If this field is set, then
+ # `cluster.cluster_ipv4_cidr` must be left blank.
+ #
+ # This field is only applicable when `use_ip_aliases` is true.
+ #
+ # Set to blank to have a range chosen with the default size.
+ #
+ # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
+ # netmask.
+ #
+ # Set to a
+ # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+ # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
+ # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
+ # to use.
+ "clusterIpv4Cidr": "A String", # This field is deprecated, use cluster_ipv4_cidr_block.
+ },
+ "loggingService": "A String", # The logging service the cluster should use to write logs.
+ # Currently available options:
#
- # This field is deprecated, use node_pool.initial_node_count instead.
- "instanceGroupUrls": [ # Deprecated. Use node_pools.instance_group_urls.
- "A String",
- ],
- "privateClusterConfig": { # Configuration options for private clusters. # Configuration for private cluster.
- "masterIpv4CidrBlock": "A String", # The IP range in CIDR notation to use for the hosted master network. This
- # range will be used for assigning internal IP addresses to the master or
- # set of masters, as well as the ILB VIP. This range must not overlap with
- # any other ranges in use within the cluster's network.
- "enablePrivateNodes": True or False, # Whether nodes have internal IP addresses only. If enabled, all nodes are
- # given only RFC 1918 private addresses and communicate with the master via
- # private networking.
- "privateEndpoint": "A String", # Output only. The internal IP address of this cluster's master endpoint.
- "enablePrivateEndpoint": True or False, # Whether the master's internal IP address is used as the cluster endpoint.
- "peeringName": "A String", # Output only. The peering name in the customer VPC used by this cluster.
- "publicEndpoint": "A String", # Output only. The external IP address of this cluster'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.
+ "zone": "A String", # [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.
+ "legacyAbac": { # Configuration for the legacy Attribute Based Access Control authorization # Configuration for the legacy ABAC authorization mode.
+ # mode.
+ "enabled": True or False, # Whether the ABAC authorizer is enabled for this cluster. When enabled,
+ # identities in the system, including service accounts, nodes, and
+ # controllers, will have statically granted permissions beyond those
+ # provided by the RBAC configuration or IAM.
},
- "shieldedNodes": { # Configuration of Shielded Nodes feature. # Shielded Nodes configuration.
- "enabled": True or False, # Whether Shielded Nodes features are enabled on all nodes in this cluster.
+ "resourceLabels": { # The resource labels for the cluster to use to annotate any related
+ # Google Compute Engine resources.
+ "a_key": "A String",
},
- "verticalPodAutoscaling": { # VerticalPodAutoscaling contains global, per-cluster information # Cluster-level Vertical Pod Autoscaling configuration.
- # required by Vertical Pod Autoscaler to automatically adjust
- # the resources of pods controlled by it.
- "enabled": True or False, # Enables vertical pod autoscaling.
- },
- "defaultMaxPodsConstraint": { # Constraints applied to pods. # The default constraint on the maximum number of pods that can be run
- # simultaneously on a node in the node pool of this cluster. Only honored
- # if cluster created with IP Alias support.
- "maxPodsPerNode": "A String", # Constraint enforced on the max num of pods per node.
- },
- "network": "A String", # The name of the Google Compute Engine
- # [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks)
- # to which the cluster is connected. If left unspecified, the `default`
- # network will be used.
- "labelFingerprint": "A String", # The fingerprint of the set of labels for this cluster.
"nodeIpv4CidrSize": 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.
- "masterAuthorizedNetworksConfig": { # Configuration options for the master authorized networks feature. Enabled # The configuration options for master authorized networks feature.
- # master authorized networks will disallow all external traffic to access
- # Kubernetes master through HTTPS except traffic from the given CIDR blocks,
- # Google Compute Engine Public IPs and Google Prod IPs.
- "cidrBlocks": [ # cidr_blocks define up to 50 external networks that could access
- # Kubernetes master through HTTPS.
- { # CidrBlock contains an optional name and one CIDR block.
- "displayName": "A String", # display_name is an optional field for users to identify CIDR blocks.
- "cidrBlock": "A String", # cidr_block must be specified in CIDR notation.
- },
- ],
- "enabled": True or False, # Whether or not master authorized networks is enabled.
- },
- "statusMessage": "A String", # [Output only] Additional information about the current status of this
- # cluster, if available.
- "masterAuth": { # The authentication information for accessing the master endpoint. # The authentication information for accessing the master endpoint.
- # If unspecified, the defaults are used:
- # For clusters before v1.12, if master_auth is unspecified, `username` will
- # be set to "admin", a random password will be generated, and a client
- # certificate will be issued.
- # Authentication can be done using HTTP basic auth or using client
- # certificates.
- "password": "A String", # The password to use for HTTP basic authentication to the master endpoint.
- # Because the master endpoint is open to the Internet, you should create a
- # strong password. If a password is provided for cluster creation, username
- # must be non-empty.
- "clientCertificateConfig": { # Configuration for client certificates on the cluster. # Configuration for client certificate authentication on the cluster. For
- # clusters before v1.12, if no configuration is specified, a client
- # certificate is issued.
- "issueClientCertificate": True or False, # Issue a client certificate.
- },
- "clientKey": "A String", # [Output only] Base64-encoded private key used by clients to authenticate
- # to the cluster endpoint.
- "clusterCaCertificate": "A String", # [Output only] Base64-encoded public certificate that is the root of
- # trust for the cluster.
- "clientCertificate": "A String", # [Output only] Base64-encoded public certificate used by clients to
- # authenticate to the cluster endpoint.
- "username": "A String", # The username to use for HTTP basic authentication to the master endpoint.
- # For clusters v1.6.0 and later, basic authentication can be disabled by
- # leaving username unspecified (or setting it to the empty string).
- },
- "authenticatorGroupsConfig": { # Configuration for returning group information from authenticators. # Configuration controlling RBAC group membership information.
- "enabled": True or False, # Whether this cluster should return group membership lookups
- # during authentication using a group of security groups.
- "securityGroup": "A String", # The name of the security group-of-groups to be used. Only relevant
- # if enabled = true.
- },
- "currentMasterVersion": "A String", # [Output only] The current software version of the master endpoint.
- "addonsConfig": { # Configuration for the addons that can be automatically spun up in the # Configurations for the various addons available to run in the cluster.
- # cluster, enabling additional functionality.
- "networkPolicyConfig": { # Configuration for NetworkPolicy. This only tracks whether the addon # Configuration for NetworkPolicy. This only tracks whether the addon
- # is enabled or not on the Master, it does not track whether network policy
- # is enabled for the nodes.
- # is enabled or not on the Master, it does not track whether network policy
- # is enabled for the nodes.
- "disabled": True or False, # Whether NetworkPolicy is enabled for this cluster.
- },
- "cloudRunConfig": { # Configuration options for the Cloud Run feature. # Configuration for the Cloud Run addon, which allows the user to use a
- # managed Knative service.
- "disabled": True or False, # Whether Cloud Run addon is enabled for this cluster.
- },
- "horizontalPodAutoscaling": { # Configuration options for the horizontal pod autoscaling feature, which # Configuration for the horizontal pod autoscaling feature, which
- # increases or decreases the number of replica pods a replication controller
- # has based on the resource usage of the existing pods.
- # increases or decreases the number of replica pods a replication controller
- # has based on the resource usage of the existing pods.
- "disabled": True or False, # Whether the Horizontal Pod Autoscaling feature is enabled in the cluster.
- # When enabled, it ensures that metrics are collected into Stackdriver
- # Monitoring.
- },
- "httpLoadBalancing": { # Configuration options for the HTTP (L7) load balancing controller addon, # Configuration for the HTTP (L7) load balancing controller addon, which
- # makes it easy to set up HTTP load balancers for services in a cluster.
- # which makes it easy to set up HTTP load balancers for services in a cluster.
- "disabled": True or False, # Whether the HTTP Load Balancing controller is enabled in the cluster.
- # When enabled, it runs a small pod in the cluster that manages the load
- # balancers.
- },
- "kubernetesDashboard": { # Configuration for the Kubernetes Dashboard. # Configuration for the Kubernetes Dashboard.
- # This addon is deprecated, and will be disabled in 1.15. It is recommended
- # to use the Cloud Console to manage and monitor your Kubernetes clusters,
- # workloads and applications. For more information, see:
- # https://cloud.google.com/kubernetes-engine/docs/concepts/dashboards
- "disabled": True or False, # Whether the Kubernetes Dashboard is enabled for this cluster.
- },
- },
- "currentNodeVersion": "A String", # [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're in the process of being
- # upgraded, this reflects the minimum version of all nodes.
- "subnetwork": "A String", # The name of the Google Compute Engine
- # [subnetwork](https://cloud.google.com/compute/docs/subnetworks) to which
- # the cluster is connected.
- "resourceLabels": { # The resource labels for the cluster to use to annotate any related
- # Google Compute Engine resources.
- "a_key": "A String",
+ "releaseChannel": { # 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.
+ "channel": "A String", # channel specifies which release channel the cluster is subscribed to.
},
"maintenancePolicy": { # MaintenancePolicy defines the maintenance policy to be used for the cluster. # Configure the maintenance policy for this cluster.
"window": { # MaintenanceWindow defines the maintenance window to be used for the cluster. # Specifies the maintenance window in which maintenance may be performed.
@@ -1783,6 +1729,15 @@
"startTime": "A String", # The time that the window first starts.
},
},
+ "dailyMaintenanceWindow": { # Time window specified for daily maintenance operations. # DailyMaintenanceWindow specifies a daily maintenance operation window.
+ "duration": "A String", # [Output only] Duration of the time window, automatically chosen to be
+ # smallest possible in the given scenario.
+ # Duration will be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)
+ # format "PTnHnMnS".
+ "startTime": "A String", # Time within the maintenance window to start the maintenance operations.
+ # Time format should be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)
+ # format "HH:MM", where HH : [00-23] and MM : [00-59] GMT.
+ },
"recurringWindow": { # 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.
},
- "dailyMaintenanceWindow": { # Time window specified for daily maintenance operations. # DailyMaintenanceWindow specifies a daily maintenance operation window.
- "startTime": "A String", # Time within the maintenance window to start the maintenance operations.
- # Time format should be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)
- # format "HH:MM", where HH : [00-23] and MM : [00-59] GMT.
- "duration": "A String", # [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 "PTnHnMnS".
- },
},
"resourceVersion": "A String", # A hash identifying the version of this policy, so that updates to fields of
# the policy won't accidentally undo intermediate changes (and so that users
@@ -1835,157 +1781,96 @@
# Make a <code>get()</code> request to the cluster to get the current
# resource version and include it with requests to set the policy.
},
- "initialClusterVersion": "A String", # The initial Kubernetes version for this cluster. Valid versions are those
- # found in validMasterVersions returned by getServerConfig. The version can
- # be upgraded over time; such upgrades are reflected in
- # currentMasterVersion and currentNodeVersion.
+ "monitoringService": "A String", # 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:
+ # * "monitoring.googleapis.com/kubernetes" - 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.
#
- # - "latest": picks the highest valid Kubernetes version
- # - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
- # - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
- # - "1.X.Y-gke.N": picks an explicit Kubernetes version
- # - "","-": picks the default Kubernetes version
- "ipAllocationPolicy": { # Configuration for controlling how IPs are allocated in the cluster. # Configuration for cluster IP allocation.
- "nodeIpv4Cidr": "A String", # This field is deprecated, use node_ipv4_cidr_block.
- "clusterSecondaryRangeName": "A String", # The name of the secondary range to be used for the cluster CIDR
- # block. The secondary range will be used for pod IP
- # addresses. This must be an existing secondary range associated
- # with the cluster subnetwork.
- #
- # This field is only applicable with use_ip_aliases is true and
- # create_subnetwork is false.
- "clusterIpv4CidrBlock": "A String", # The IP address range for the cluster pod IPs. If this field is set, then
- # `cluster.cluster_ipv4_cidr` must be left blank.
- #
- # This field is only applicable when `use_ip_aliases` is true.
- #
- # Set to blank to have a range chosen with the default size.
- #
- # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
- # netmask.
- #
- # Set to a
- # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
- # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
- # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
- # to use.
- "nodeIpv4CidrBlock": "A String", # 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.
- "tpuIpv4CidrBlock": "A String", # 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.
- "useIpAliases": True or False, # Whether alias IPs will be used for pod IPs in the cluster.
- "servicesSecondaryRangeName": "A String", # 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.
- "createSubnetwork": 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.
- "subnetworkName": "A String", # A custom subnetwork name to be used if `create_subnetwork` is true. If
- # this field is empty, then an automatic name will be chosen for the new
- # subnetwork.
- "clusterIpv4Cidr": "A String", # This field is deprecated, use cluster_ipv4_cidr_block.
- "servicesIpv4Cidr": "A String", # This field is deprecated, use services_ipv4_cidr_block.
- "servicesIpv4CidrBlock": "A String", # 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.
+ "binaryAuthorization": { # Configuration for Binary Authorization. # Configuration for Binary Authorization.
+ "enabled": True or False, # Enable Binary Authorization for this cluster. If enabled, all container
+ # images will be validated by Binary Authorization.
},
- "legacyAbac": { # Configuration for the legacy Attribute Based Access Control authorization # Configuration for the legacy ABAC authorization mode.
- # mode.
- "enabled": True or False, # Whether the ABAC authorizer is enabled for this cluster. When enabled,
- # identities in the system, including service accounts, nodes, and
- # controllers, will have statically granted permissions beyond those
- # provided by the RBAC configuration or IAM.
- },
- "resourceUsageExportConfig": { # Configuration for exporting cluster resource usages. # Configuration for exporting resource usages. Resource usage export is
- # disabled when this config is unspecified.
- "enableNetworkEgressMetering": True or False, # Whether to enable network egress metering for this cluster. If enabled, a
- # daemonset will be created in the cluster to meter network egress traffic.
- "consumptionMeteringConfig": { # Parameters for controlling consumption metering. # Configuration to enable resource consumption metering.
- "enabled": True or False, # Whether to enable consumption metering for this cluster. If enabled, a
- # second BigQuery table will be created to hold resource consumption
- # records.
- },
- "bigqueryDestination": { # Parameters for using BigQuery as the destination of resource usage export. # Configuration to use BigQuery as usage export destination.
- "datasetId": "A String", # The ID of a BigQuery Dataset.
- },
- },
- "enableTpu": True or False, # Enable the ability to use Cloud TPUs in this cluster.
- "locations": [ # The list of Google Compute Engine
- # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
- # cluster's nodes should be located.
+ "expireTime": "A String", # [Output only] The time the cluster will be automatically
+ # deleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+ "instanceGroupUrls": [ # Deprecated. Use node_pools.instance_group_urls.
"A String",
],
- "nodePools": [ # The node pools associated with this cluster.
- # This field should not be set if "node_config" or "initial_node_count" are
- # specified.
- { # NodePool contains the name and configuration for a cluster's node pool.
- # Node pools are a set of nodes (i.e. VM's), with a common configuration and
- # 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.
- "statusMessage": "A String", # [Output only] Additional information about the current status of this
- # node pool instance, if available.
- "autoscaling": { # 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.
- "maxNodeCount": 42, # Maximum number of nodes in the NodePool. Must be >= min_node_count. There
- # has to enough quota to scale up the cluster.
- "autoprovisioned": True or False, # Can this node pool be deleted automatically.
- "minNodeCount": 42, # Minimum number of nodes in the NodePool. Must be >= 1 and <=
- # max_node_count.
- "enabled": True or False, # Is autoscaling enabled for this node pool.
+ "endpoint": "A String", # [Output only] The IP address of this cluster's master endpoint.
+ # The endpoint can be accessed from the internet at
+ # `https://username:password@endpoint/`.
+ #
+ # See the `masterAuth` property of this resource for username and
+ # password information.
+ "shieldedNodes": { # Configuration of Shielded Nodes feature. # Shielded Nodes configuration.
+ "enabled": True or False, # Whether Shielded Nodes features are enabled on all nodes in this cluster.
+ },
+ "masterAuthorizedNetworksConfig": { # Configuration options for the master authorized networks feature. Enabled # The configuration options for master authorized networks feature.
+ # master authorized networks will disallow all external traffic to access
+ # Kubernetes master through HTTPS except traffic from the given CIDR blocks,
+ # Google Compute Engine Public IPs and Google Prod IPs.
+ "enabled": True or False, # Whether or not master authorized networks is enabled.
+ "cidrBlocks": [ # cidr_blocks define up to 50 external networks that could access
+ # Kubernetes master through HTTPS.
+ { # CidrBlock contains an optional name and one CIDR block.
+ "displayName": "A String", # display_name is an optional field for users to identify CIDR blocks.
+ "cidrBlock": "A String", # cidr_block must be specified in CIDR notation.
},
- "initialNodeCount": 42, # The initial node count for the pool. You must ensure that your
- # Compute Engine <a href="/compute/docs/resource-quotas">resource quota</a>
- # is sufficient for this number of instances. You must also have available
- # firewall and routes quota.
- "selfLink": "A String", # [Output only] Server-defined URL for the resource.
- "upgradeSettings": { # These upgrade settings control the level of parallelism and the level of # Upgrade settings control disruption and speed of the upgrade.
+ ],
+ },
+ "conditions": [ # Which conditions caused the current cluster state.
+ { # StatusCondition describes why a cluster or a node pool has a certain status
+ # (e.g., ERROR or DEGRADED).
+ "message": "A String", # Human-friendly representation of the condition
+ "code": "A String", # Machine-friendly representation of the condition
+ },
+ ],
+ "network": "A String", # The name of the Google Compute Engine
+ # [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks)
+ # to which the cluster is connected. If left unspecified, the `default`
+ # network will be used.
+ "status": "A String", # [Output only] The current status of this cluster.
+ "autoscaling": { # ClusterAutoscaling contains global, per-cluster information # Cluster-level autoscaling configuration.
+ # required by Cluster Autoscaler to automatically adjust
+ # the size of the cluster and create/delete
+ # node pools based on the current needs.
+ "resourceLimits": [ # Contains global constraints regarding minimum and maximum
+ # amount of resources in the cluster.
+ { # Contains information about amount of some resource in the cluster.
+ # For memory, value should be in GB.
+ "minimum": "A String", # Minimum amount of the resource in the cluster.
+ "resourceType": "A String", # Resource name "cpu", "memory" or gpu-specific string.
+ "maximum": "A String", # Maximum amount of the resource in the cluster.
+ },
+ ],
+ "autoprovisioningNodePoolDefaults": { # AutoprovisioningNodePoolDefaults contains defaults for a node pool created # AutoprovisioningNodePoolDefaults contains defaults for a node pool
+ # created by NAP.
+ # by NAP.
+ "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs.
+ "management": { # NodeManagement defines the set of node management services turned on for the # Specifies the node management options for NAP created node-pools.
+ # node pool.
+ "upgradeOptions": { # AutoUpgradeOptions defines the set of options for the user to control how # Specifies the Auto Upgrade knobs for the node pool.
+ # the Auto Upgrades will proceed.
+ "description": "A String", # [Output only] This field is set when upgrades are about to commence
+ # with the description of the upgrade.
+ "autoUpgradeStartTime": "A String", # [Output only] This field is set when upgrades are about to commence
+ # with the approximate start time for the upgrades, in
+ # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+ },
+ "autoRepair": True or False, # 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.
+ "autoUpgrade": 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.
+ },
+ "upgradeSettings": { # These upgrade settings control the level of parallelism and the level of # Specifies the upgrade settings for NAP created node pools
# disruption caused by an upgrade.
#
# maxUnavailable controls the number of nodes that can be simultaneously
@@ -2014,284 +1899,32 @@
"maxSurge": 42, # The maximum number of nodes that can be created beyond the current size
# of the node pool during the upgrade process.
},
- "locations": [ # The list of Google Compute Engine
- # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
- # NodePool's nodes should be located.
+ "oauthScopes": [ # Scopes that are used by NAP when creating node pools.
"A String",
],
- "instanceGroupUrls": [ # [Output only] The resource URLs of the [managed instance
- # groups](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances)
- # associated with this node pool.
- "A String",
- ],
- "version": "A String", # The version of the Kubernetes of this node.
- "podIpv4CidrSize": 42, # [Output only] The pod CIDR block size per node in this node pool.
- "conditions": [ # Which conditions caused the current node pool state.
- { # StatusCondition describes why a cluster or a node pool has a certain status
- # (e.g., ERROR or DEGRADED).
- "code": "A String", # Machine-friendly representation of the condition
- "message": "A String", # Human-friendly representation of the condition
- },
- ],
- "status": "A String", # [Output only] The status of the nodes in this pool instance.
- "config": { # Parameters that describe the nodes in a cluster. # The node configuration of the pool.
- "oauthScopes": [ # The set of Google API scopes to be made available on all of the
- # node VMs under the "default" 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.
- "A String",
- ],
- "taints": [ # 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.
- "effect": "A String", # Effect for taint.
- "value": "A String", # Value for taint.
- "key": "A String", # Key for taint.
- },
- ],
- "labels": { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
- # These will added in addition to any default label(s) that
- # Kubernetes may apply to the node.
- # In case of conflict in label keys, the applied set may differ depending on
- # the Kubernetes version -- it's best to assume the behavior is undefined
- # and conflicts should be avoided.
- # For more information, including usage and the valid values, see:
- # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
- "a_key": "A String",
- },
- "diskSizeGb": 42, # Size of the disk attached to each node, specified in GB.
- # The smallest allowed disk size is 10GB.
- #
- # If unspecified, the default disk size is 100GB.
- "workloadMetadataConfig": { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node.
- # workloads on the node pool.
- "mode": "A String", # Mode is the configuration for how to expose metadata to workloads running
- # on the node pool.
- },
- "accelerators": [ # A list of hardware accelerators to be attached to each node.
- # See https://cloud.google.com/compute/docs/gpus for more information about
- # support for GPUs.
- { # AcceleratorConfig represents a Hardware Accelerator request.
- "acceleratorType": "A String", # The accelerator type resource name. List of supported accelerators
- # [here](https://cloud.google.com/compute/docs/gpus)
- "acceleratorCount": "A String", # The number of the accelerator cards exposed to an instance.
- },
- ],
- "machineType": "A String", # 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`.
- "diskType": "A String", # Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd')
- #
- # If unspecified, the default disk type is 'pd-standard'
- "shieldedInstanceConfig": { # A set of Shielded Instance options. # Shielded Instance options.
- "enableIntegrityMonitoring": True or False, # Defines whether the instance has integrity monitoring enabled.
- #
- # Enables monitoring and attestation of the boot integrity of the instance.
- # The attestation is performed against the integrity policy baseline. This
- # baseline is initially derived from the implicitly trusted boot image when
- # the instance is created.
- "enableSecureBoot": True or False, # Defines whether the instance has Secure Boot enabled.
- #
- # Secure Boot helps ensure that the system only runs authentic software by
- # verifying the digital signature of all boot components, and halting the
- # boot process if signature verification fails.
- },
- "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be
- # scheduled on the specified or newer CPU platform. Applicable values are the
- # friendly names of CPU platforms, such as
- # <code>minCpuPlatform: &quot;Intel Haswell&quot;</code> or
- # <code>minCpuPlatform: &quot;Intel Sandy Bridge&quot;</code>. For more
- # information, read [how to specify min CPU
- # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
- "preemptible": 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.
- "localSsdCount": 42, # The number of local SSD disks to be attached to the node.
- #
- # The limit for this value is dependent upon the maximum number of
- # disks available on a machine per zone. See:
- # https://cloud.google.com/compute/docs/disks/local-ssd
- # for more information.
- "sandboxConfig": { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node.
- "type": "A String", # Type of the sandbox to use for the node.
- },
- "metadata": { # The metadata key/value pairs assigned to instances in the cluster.
- #
- # Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes
- # in length. These are reflected as part of a URL in the metadata server.
- # Additionally, to avoid ambiguity, keys must not conflict with any other
- # metadata keys for the project or be one of the reserved keys:
- # "cluster-location"
- # "cluster-name"
- # "cluster-uid"
- # "configure-sh"
- # "containerd-configure-sh"
- # "enable-os-login"
- # "gci-ensure-gke-docker"
- # "gci-metrics-enabled"
- # "gci-update-strategy"
- # "instance-template"
- # "kube-env"
- # "startup-script"
- # "user-data"
- # "disable-address-manager"
- # "windows-startup-script-ps1"
- # "common-psm1"
- # "k8s-node-setup-psm1"
- # "install-ssh-psm1"
- # "user-profile-psm1"
- # "serial-port-logging-enable"
- #
- # Values are free-form strings, and only have meaning as interpreted by
- # the image running in the instance. The only restriction placed on them is
- # that each value's size must be less than or equal to 32 KB.
- #
- # The total size of all keys and values must be less than 512 KB.
- "a_key": "A String",
- },
- "reservationAffinity": { # [ReservationAffinity](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources) # The optional reservation affinity. Setting this field will apply
- # the specified [Zonal Compute
- # Reservation](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources)
- # to this node pool.
- # is the configuration of desired reservation which instances could take
- # capacity from.
- "values": [ # Corresponds to the label value(s) of reservation resource(s).
- "A String",
- ],
- "consumeReservationType": "A String", # Corresponds to the type of reservation consumption.
- "key": "A String", # Corresponds to the label key of a reservation resource. To target a
- # SPECIFIC_RESERVATION by name, specify "googleapis.com/reservation-name" as
- # the key and specify the name of your reservation as its value.
- },
- "tags": [ # The list of instance tags applied to all nodes. Tags are used to identify
- # valid sources or targets for network firewalls and are specified by
- # the client during cluster or node pool creation. Each tag within the list
- # must comply with RFC1035.
- "A String",
- ],
- "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs.
- # Specify the email address of the Service Account; otherwise, if no Service
- # Account is specified, the "default" service account is used.
- "imageType": "A String", # The image type to use for this node. Note that for a given image type,
- # the latest version of it will be used.
- },
- "maxPodsConstraint": { # Constraints applied to pods. # The constraint on the maximum number of pods that can be run
- # simultaneously on a node in the node pool.
- "maxPodsPerNode": "A String", # Constraint enforced on the max num of pods per node.
- },
- "name": "A String", # The name of the node pool.
- "management": { # NodeManagement defines the set of node management services turned on for the # NodeManagement configuration for this NodePool.
- # node pool.
- "upgradeOptions": { # AutoUpgradeOptions defines the set of options for the user to control how # Specifies the Auto Upgrade knobs for the node pool.
- # the Auto Upgrades will proceed.
- "autoUpgradeStartTime": "A String", # [Output only] This field is set when upgrades are about to commence
- # with the approximate start time for the upgrades, in
- # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
- "description": "A String", # [Output only] This field is set when upgrades are about to commence
- # with the description of the upgrade.
- },
- "autoRepair": 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.
- "autoUpgrade": 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.
- },
},
- ],
- "selfLink": "A String", # [Output only] Server-defined URL for the resource.
+ "enableNodeAutoprovisioning": True or False, # Enables automatic node pool creation and deletion.
+ "autoprovisioningLocations": [ # The list of Google Compute Engine
+ # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
+ # NodePool's nodes can be created by NAP.
+ "A String",
+ ],
+ },
+ "labelFingerprint": "A String", # The fingerprint of the set of labels for this cluster.
"networkPolicy": { # Configuration options for the NetworkPolicy feature. # Configuration options for the NetworkPolicy feature.
# https://kubernetes.io/docs/concepts/services-networking/networkpolicies/
- "provider": "A String", # The selected network policy provider.
"enabled": True or False, # Whether network policy is enabled on the cluster.
+ "provider": "A String", # The selected network policy provider.
},
- "servicesIpv4Cidr": "A String", # [Output only] The IP address range of the Kubernetes services in
- # this cluster, in
+ "clusterIpv4Cidr": "A String", # 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.
- "enableKubernetesAlpha": 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.
- "description": "A String", # An optional description of this cluster.
- "conditions": [ # Which conditions caused the current cluster state.
- { # StatusCondition describes why a cluster or a node pool has a certain status
- # (e.g., ERROR or DEGRADED).
- "code": "A String", # Machine-friendly representation of the condition
- "message": "A String", # Human-friendly representation of the condition
- },
- ],
- "currentNodeCount": 42, # [Output only] The number of nodes currently in the cluster. Deprecated.
- # Call Kubernetes API directly to retrieve node information.
- "monitoringService": "A String", # The monitoring service the cluster should use to write metrics.
- # Currently available options:
- #
- # * "monitoring.googleapis.com/kubernetes" - 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.
- "databaseEncryption": { # Configuration of etcd encryption. # Configuration of etcd encryption.
- "keyName": "A String", # Name of CloudKMS key to use for the encryption of secrets in etcd.
- # Ex. projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-key
- "state": "A String", # 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`.
+ "defaultMaxPodsConstraint": { # Constraints applied to pods. # The default constraint on the maximum number of pods that can be run
+ # simultaneously on a node in the node pool of this cluster. Only honored
+ # if cluster created with IP Alias support.
+ "maxPodsPerNode": "A String", # Constraint enforced on the max num of pods per node.
},
- "binaryAuthorization": { # Configuration for Binary Authorization. # Configuration for Binary Authorization.
- "enabled": True or False, # Enable Binary Authorization for this cluster. If enabled, all container
- # images will be validated by Binary Authorization.
- },
- "tpuIpv4CidrBlock": "A String", # [Output only] The IP address range of the Cloud TPUs in this cluster, in
- # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
- # notation (e.g. `1.2.3.4/29`).
- "workloadIdentityConfig": { # Configuration for the use of Kubernetes Service Accounts in GCP IAM # Configuration for the use of Kubernetes Service Accounts in GCP IAM
- # policies.
- # policies.
- "workloadPool": "A String", # The workload pool to attach all Kubernetes service accounts to.
- },
- "zone": "A String", # [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.
- "expireTime": "A String", # [Output only] The time the cluster will be automatically
- # deleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
- "loggingService": "A String", # The logging service the cluster should use to write logs.
- # Currently available options:
- #
- # * `logging.googleapis.com/kubernetes` - The Cloud Logging
- # service with a Kubernetes-native resource model
- # * `logging.googleapis.com` - The legacy Cloud Logging service (no longer
- # available as of GKE 1.15).
- # * `none` - no logs will be exported from the cluster.
- #
- # If left as an empty string,`logging.googleapis.com/kubernetes` will be
- # used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.
"nodeConfig": { # Parameters that describe the nodes in a cluster. # Parameters used in creating the cluster's nodes.
# For requests, this field should only be used in lieu of a
# "node_pool" 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.
+ "diskType": "A String", # Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd')
+ #
+ # If unspecified, the default disk type is 'pd-standard'
+ "bootDiskKmsKey": "A String", #
+ # The Customer Managed Encryption Key used to encrypt the boot disk attached
+ # to each node in the node pool. This should be of the form
+ # projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME].
+ # For more information about protecting resources with Cloud KMS Keys please
+ # see:
+ # https://cloud.google.com/compute/docs/disks/customer-managed-encryption
+ "shieldedInstanceConfig": { # A set of Shielded Instance options. # Shielded Instance options.
+ "enableIntegrityMonitoring": True or False, # Defines whether the instance has integrity monitoring enabled.
+ #
+ # Enables monitoring and attestation of the boot integrity of the instance.
+ # The attestation is performed against the integrity policy baseline. This
+ # baseline is initially derived from the implicitly trusted boot image when
+ # the instance is created.
+ "enableSecureBoot": True or False, # Defines whether the instance has Secure Boot enabled.
+ #
+ # Secure Boot helps ensure that the system only runs authentic software by
+ # verifying the digital signature of all boot components, and halting the
+ # boot process if signature verification fails.
+ },
+ "labels": { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
+ # These will added in addition to any default label(s) that
+ # Kubernetes may apply to the node.
+ # In case of conflict in label keys, the applied set may differ depending on
+ # the Kubernetes version -- it's best to assume the behavior is undefined
+ # and conflicts should be avoided.
+ # For more information, including usage and the valid values, see:
+ # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
+ "a_key": "A String",
+ },
"oauthScopes": [ # The set of Google API scopes to be made available on all of the
# node VMs under the "default" service account.
#
@@ -2320,6 +1986,19 @@
# Monitoring are enabled, in which case their required scopes will be added.
"A String",
],
+ "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be
+ # scheduled on the specified or newer CPU platform. Applicable values are the
+ # friendly names of CPU platforms, such as
+ # <code>minCpuPlatform: &quot;Intel Haswell&quot;</code> or
+ # <code>minCpuPlatform: &quot;Intel Sandy Bridge&quot;</code>. For more
+ # information, read [how to specify min CPU
+ # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
+ "localSsdCount": 42, # The number of local SSD disks to be attached to the node.
+ #
+ # The limit for this value is dependent upon the maximum number of
+ # disks available on a machine per zone. See:
+ # https://cloud.google.com/compute/docs/disks/local-ssd
+ # for more information.
"taints": [ # 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.
- "effect": "A String", # Effect for taint.
"value": "A String", # Value for taint.
"key": "A String", # Key for taint.
+ "effect": "A String", # Effect for taint.
},
],
- "labels": { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
- # These will added in addition to any default label(s) that
- # Kubernetes may apply to the node.
- # In case of conflict in label keys, the applied set may differ depending on
- # the Kubernetes version -- it's best to assume the behavior is undefined
- # and conflicts should be avoided.
- # For more information, including usage and the valid values, see:
- # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
- "a_key": "A String",
+ "imageType": "A String", # The image type to use for this node. Note that for a given image type,
+ # the latest version of it will be used.
+ "reservationAffinity": { # [ReservationAffinity](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources) # The optional reservation affinity. Setting this field will apply
+ # the specified [Zonal Compute
+ # Reservation](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources)
+ # to this node pool.
+ # is the configuration of desired reservation which instances could take
+ # capacity from.
+ "consumeReservationType": "A String", # Corresponds to the type of reservation consumption.
+ "key": "A String", # Corresponds to the label key of a reservation resource. To target a
+ # SPECIFIC_RESERVATION by name, specify "googleapis.com/reservation-name" as
+ # the key and specify the name of your reservation as its value.
+ "values": [ # Corresponds to the label value(s) of reservation resource(s).
+ "A String",
+ ],
},
- "diskSizeGb": 42, # Size of the disk attached to each node, specified in GB.
- # The smallest allowed disk size is 10GB.
- #
- # If unspecified, the default disk size is 100GB.
- "workloadMetadataConfig": { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node.
- # workloads on the node pool.
- "mode": "A String", # Mode is the configuration for how to expose metadata to workloads running
- # on the node pool.
- },
- "accelerators": [ # A list of hardware accelerators to be attached to each node.
- # See https://cloud.google.com/compute/docs/gpus for more information about
- # support for GPUs.
- { # AcceleratorConfig represents a Hardware Accelerator request.
- "acceleratorType": "A String", # The accelerator type resource name. List of supported accelerators
- # [here](https://cloud.google.com/compute/docs/gpus)
- "acceleratorCount": "A String", # The number of the accelerator cards exposed to an instance.
- },
- ],
"machineType": "A String", # 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`.
- "diskType": "A String", # Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd')
- #
- # If unspecified, the default disk type is 'pd-standard'
- "shieldedInstanceConfig": { # A set of Shielded Instance options. # Shielded Instance options.
- "enableIntegrityMonitoring": True or False, # Defines whether the instance has integrity monitoring enabled.
- #
- # Enables monitoring and attestation of the boot integrity of the instance.
- # The attestation is performed against the integrity policy baseline. This
- # baseline is initially derived from the implicitly trusted boot image when
- # the instance is created.
- "enableSecureBoot": True or False, # Defines whether the instance has Secure Boot enabled.
- #
- # Secure Boot helps ensure that the system only runs authentic software by
- # verifying the digital signature of all boot components, and halting the
- # boot process if signature verification fails.
- },
- "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be
- # scheduled on the specified or newer CPU platform. Applicable values are the
- # friendly names of CPU platforms, such as
- # <code>minCpuPlatform: &quot;Intel Haswell&quot;</code> or
- # <code>minCpuPlatform: &quot;Intel Sandy Bridge&quot;</code>. For more
- # information, read [how to specify min CPU
- # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
- "preemptible": 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.
- "localSsdCount": 42, # The number of local SSD disks to be attached to the node.
- #
- # The limit for this value is dependent upon the maximum number of
- # disks available on a machine per zone. See:
- # https://cloud.google.com/compute/docs/disks/local-ssd
- # for more information.
- "sandboxConfig": { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node.
- "type": "A String", # Type of the sandbox to use for the node.
- },
+ "nodeGroup": "A String", # 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).
"metadata": { # The metadata key/value pairs assigned to instances in the cluster.
#
# Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes
@@ -2438,45 +2074,63 @@
# The total size of all keys and values must be less than 512 KB.
"a_key": "A String",
},
- "reservationAffinity": { # [ReservationAffinity](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources) # The optional reservation affinity. Setting this field will apply
- # the specified [Zonal Compute
- # Reservation](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources)
- # to this node pool.
- # is the configuration of desired reservation which instances could take
- # capacity from.
- "values": [ # Corresponds to the label value(s) of reservation resource(s).
- "A String",
- ],
- "consumeReservationType": "A String", # Corresponds to the type of reservation consumption.
- "key": "A String", # Corresponds to the label key of a reservation resource. To target a
- # SPECIFIC_RESERVATION by name, specify "googleapis.com/reservation-name" as
- # the key and specify the name of your reservation as its value.
- },
"tags": [ # The list of instance tags applied to all nodes. Tags are used to identify
# valid sources or targets for network firewalls and are specified by
# the client during cluster or node pool creation. Each tag within the list
# must comply with RFC1035.
"A String",
],
+ "sandboxConfig": { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node.
+ "type": "A String", # Type of the sandbox to use for the node.
+ },
+ "preemptible": 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.
+ "workloadMetadataConfig": { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node.
+ # workloads on the node pool.
+ "mode": "A String", # Mode is the configuration for how to expose metadata to workloads running
+ # on the node pool.
+ },
+ "diskSizeGb": 42, # Size of the disk attached to each node, specified in GB.
+ # The smallest allowed disk size is 10GB.
+ #
+ # If unspecified, the default disk size is 100GB.
"serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs.
# Specify the email address of the Service Account; otherwise, if no Service
# Account is specified, the "default" service account is used.
- "imageType": "A String", # The image type to use for this node. Note that for a given image type,
- # the latest version of it will be used.
+ "accelerators": [ # A list of hardware accelerators to be attached to each node.
+ # See https://cloud.google.com/compute/docs/gpus for more information about
+ # support for GPUs.
+ { # AcceleratorConfig represents a Hardware Accelerator request.
+ "acceleratorType": "A String", # The accelerator type resource name. List of supported accelerators
+ # [here](https://cloud.google.com/compute/docs/gpus)
+ "acceleratorCount": "A String", # The number of the accelerator cards exposed to an instance.
+ },
+ ],
},
- "status": "A String", # [Output only] The current status of this cluster.
- "networkConfig": { # NetworkConfig reports the relative names of network & subnetwork. # Configuration for cluster networking.
- "enableIntraNodeVisibility": True or False, # Whether Intra-node visibility is enabled for this cluster.
- # This makes same node pod to pod traffic visible for VPC network.
- "subnetwork": "A String", # Output only. The relative name of the Google Compute Engine
- # [subnetwork](https://cloud.google.com/compute/docs/vpc) to which the
- # cluster is connected. Example:
- # projects/my-project/regions/us-central1/subnetworks/my-subnet
- "network": "A String", # Output only. The relative name of the Google Compute Engine
- # network(https://cloud.google.com/compute/docs/networks-and-firewalls#networks)
- # to which the cluster is connected. Example:
- # projects/my-project/global/networks/my-network
+ "resourceUsageExportConfig": { # Configuration for exporting cluster resource usages. # Configuration for exporting resource usages. Resource usage export is
+ # disabled when this config is unspecified.
+ "enableNetworkEgressMetering": True or False, # Whether to enable network egress metering for this cluster. If enabled, a
+ # daemonset will be created in the cluster to meter network egress traffic.
+ "bigqueryDestination": { # Parameters for using BigQuery as the destination of resource usage export. # Configuration to use BigQuery as usage export destination.
+ "datasetId": "A String", # The ID of a BigQuery Dataset.
+ },
+ "consumptionMeteringConfig": { # Parameters for controlling consumption metering. # Configuration to enable resource consumption metering.
+ "enabled": True or False, # Whether to enable consumption metering for this cluster. If enabled, a
+ # second BigQuery table will be created to hold resource consumption
+ # records.
+ },
},
+ "initialNodeCount": 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
+ # "node_pool" object, since this configuration (along with the
+ # "node_config") will be used to create a "NodePool" 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.
"name": "A String", # The name of this cluster. The name must be unique within this project
# and location (e.g. zone or region), and can be up to 40 characters with
# the following restrictions:
@@ -2484,17 +2138,428 @@
# * Lowercase letters, numbers, and hyphens only.
# * Must start with a letter.
# * Must end with a number or a letter.
- "endpoint": "A String", # [Output only] The IP address of this cluster's master endpoint.
- # The endpoint can be accessed from the internet at
- # `https://username:password@endpoint/`.
+ "workloadIdentityConfig": { # Configuration for the use of Kubernetes Service Accounts in GCP IAM # Configuration for the use of Kubernetes Service Accounts in GCP IAM
+ # policies.
+ # policies.
+ "workloadPool": "A String", # The workload pool to attach all Kubernetes service accounts to.
+ },
+ "networkConfig": { # NetworkConfig reports the relative names of network & subnetwork. # Configuration for cluster networking.
+ "network": "A String", # Output only. The relative name of the Google Compute Engine
+ # network(https://cloud.google.com/compute/docs/networks-and-firewalls#networks)
+ # to which the cluster is connected. Example:
+ # projects/my-project/global/networks/my-network
+ "enableIntraNodeVisibility": True or False, # Whether Intra-node visibility is enabled for this cluster.
+ # This makes same node pod to pod traffic visible for VPC network.
+ "subnetwork": "A String", # Output only. The relative name of the Google Compute Engine
+ # [subnetwork](https://cloud.google.com/compute/docs/vpc) to which the
+ # cluster is connected. Example:
+ # projects/my-project/regions/us-central1/subnetworks/my-subnet
+ },
+ "databaseEncryption": { # Configuration of etcd encryption. # Configuration of etcd encryption.
+ "state": "A String", # Denotes the state of etcd encryption.
+ "keyName": "A String", # Name of CloudKMS key to use for the encryption of secrets in etcd.
+ # Ex. projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-key
+ },
+ "privateClusterConfig": { # Configuration options for private clusters. # Configuration for private cluster.
+ "privateEndpoint": "A String", # Output only. The internal IP address of this cluster's master endpoint.
+ "peeringName": "A String", # Output only. The peering name in the customer VPC used by this cluster.
+ "enablePrivateNodes": True or False, # Whether nodes have internal IP addresses only. If enabled, all nodes are
+ # given only RFC 1918 private addresses and communicate with the master via
+ # private networking.
+ "publicEndpoint": "A String", # Output only. The external IP address of this cluster's master endpoint.
+ "enablePrivateEndpoint": True or False, # Whether the master's internal IP address is used as the cluster endpoint.
+ "masterIpv4CidrBlock": "A String", # The IP range in CIDR notation to use for the hosted master network. This
+ # range will be used for assigning internal IP addresses to the master or
+ # set of masters, as well as the ILB VIP. This range must not overlap with
+ # any other ranges in use within the cluster's network.
+ },
+ "createTime": "A String", # [Output only] The time the cluster was created, in
+ # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+ "nodePools": [ # The node pools associated with this cluster.
+ # This field should not be set if "node_config" or "initial_node_count" are
+ # specified.
+ { # NodePool contains the name and configuration for a cluster's node pool.
+ # Node pools are a set of nodes (i.e. VM's), with a common configuration and
+ # 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.
+ "selfLink": "A String", # [Output only] Server-defined URL for the resource.
+ "management": { # NodeManagement defines the set of node management services turned on for the # NodeManagement configuration for this NodePool.
+ # node pool.
+ "upgradeOptions": { # AutoUpgradeOptions defines the set of options for the user to control how # Specifies the Auto Upgrade knobs for the node pool.
+ # the Auto Upgrades will proceed.
+ "description": "A String", # [Output only] This field is set when upgrades are about to commence
+ # with the description of the upgrade.
+ "autoUpgradeStartTime": "A String", # [Output only] This field is set when upgrades are about to commence
+ # with the approximate start time for the upgrades, in
+ # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+ },
+ "autoRepair": True or False, # 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.
+ "autoUpgrade": 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.
+ },
+ "upgradeSettings": { # 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.
+ "maxUnavailable": 42, # The maximum number of nodes that can be simultaneously unavailable during
+ # the upgrade process. A node is considered available if its status is
+ # Ready.
+ "maxSurge": 42, # The maximum number of nodes that can be created beyond the current size
+ # of the node pool during the upgrade process.
+ },
+ "initialNodeCount": 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.
+ "statusMessage": "A String", # [Output only] Additional information about the current status of this
+ # node pool instance, if available.
+ "version": "A String", # The version of the Kubernetes of this node.
+ "conditions": [ # Which conditions caused the current node pool state.
+ { # StatusCondition describes why a cluster or a node pool has a certain status
+ # (e.g., ERROR or DEGRADED).
+ "message": "A String", # Human-friendly representation of the condition
+ "code": "A String", # Machine-friendly representation of the condition
+ },
+ ],
+ "config": { # Parameters that describe the nodes in a cluster. # The node configuration of the pool.
+ "diskType": "A String", # Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd')
+ #
+ # If unspecified, the default disk type is 'pd-standard'
+ "bootDiskKmsKey": "A String", #
+ # The Customer Managed Encryption Key used to encrypt the boot disk attached
+ # to each node in the node pool. This should be of the form
+ # projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME].
+ # For more information about protecting resources with Cloud KMS Keys please
+ # see:
+ # https://cloud.google.com/compute/docs/disks/customer-managed-encryption
+ "shieldedInstanceConfig": { # A set of Shielded Instance options. # Shielded Instance options.
+ "enableIntegrityMonitoring": True or False, # Defines whether the instance has integrity monitoring enabled.
+ #
+ # Enables monitoring and attestation of the boot integrity of the instance.
+ # The attestation is performed against the integrity policy baseline. This
+ # baseline is initially derived from the implicitly trusted boot image when
+ # the instance is created.
+ "enableSecureBoot": True or False, # Defines whether the instance has Secure Boot enabled.
+ #
+ # Secure Boot helps ensure that the system only runs authentic software by
+ # verifying the digital signature of all boot components, and halting the
+ # boot process if signature verification fails.
+ },
+ "labels": { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
+ # These will added in addition to any default label(s) that
+ # Kubernetes may apply to the node.
+ # In case of conflict in label keys, the applied set may differ depending on
+ # the Kubernetes version -- it's best to assume the behavior is undefined
+ # and conflicts should be avoided.
+ # For more information, including usage and the valid values, see:
+ # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
+ "a_key": "A String",
+ },
+ "oauthScopes": [ # The set of Google API scopes to be made available on all of the
+ # node VMs under the "default" 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.
+ "A String",
+ ],
+ "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be
+ # scheduled on the specified or newer CPU platform. Applicable values are the
+ # friendly names of CPU platforms, such as
+ # <code>minCpuPlatform: &quot;Intel Haswell&quot;</code> or
+ # <code>minCpuPlatform: &quot;Intel Sandy Bridge&quot;</code>. For more
+ # information, read [how to specify min CPU
+ # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
+ "localSsdCount": 42, # The number of local SSD disks to be attached to the node.
+ #
+ # The limit for this value is dependent upon the maximum number of
+ # disks available on a machine per zone. See:
+ # https://cloud.google.com/compute/docs/disks/local-ssd
+ # for more information.
+ "taints": [ # 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.
+ "value": "A String", # Value for taint.
+ "key": "A String", # Key for taint.
+ "effect": "A String", # Effect for taint.
+ },
+ ],
+ "imageType": "A String", # The image type to use for this node. Note that for a given image type,
+ # the latest version of it will be used.
+ "reservationAffinity": { # [ReservationAffinity](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources) # The optional reservation affinity. Setting this field will apply
+ # the specified [Zonal Compute
+ # Reservation](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources)
+ # to this node pool.
+ # is the configuration of desired reservation which instances could take
+ # capacity from.
+ "consumeReservationType": "A String", # Corresponds to the type of reservation consumption.
+ "key": "A String", # Corresponds to the label key of a reservation resource. To target a
+ # SPECIFIC_RESERVATION by name, specify "googleapis.com/reservation-name" as
+ # the key and specify the name of your reservation as its value.
+ "values": [ # Corresponds to the label value(s) of reservation resource(s).
+ "A String",
+ ],
+ },
+ "machineType": "A String", # 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`.
+ "nodeGroup": "A String", # 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).
+ "metadata": { # The metadata key/value pairs assigned to instances in the cluster.
+ #
+ # Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes
+ # in length. These are reflected as part of a URL in the metadata server.
+ # Additionally, to avoid ambiguity, keys must not conflict with any other
+ # metadata keys for the project or be one of the reserved keys:
+ # "cluster-location"
+ # "cluster-name"
+ # "cluster-uid"
+ # "configure-sh"
+ # "containerd-configure-sh"
+ # "enable-os-login"
+ # "gci-ensure-gke-docker"
+ # "gci-metrics-enabled"
+ # "gci-update-strategy"
+ # "instance-template"
+ # "kube-env"
+ # "startup-script"
+ # "user-data"
+ # "disable-address-manager"
+ # "windows-startup-script-ps1"
+ # "common-psm1"
+ # "k8s-node-setup-psm1"
+ # "install-ssh-psm1"
+ # "user-profile-psm1"
+ # "serial-port-logging-enable"
+ #
+ # Values are free-form strings, and only have meaning as interpreted by
+ # the image running in the instance. The only restriction placed on them is
+ # that each value's size must be less than or equal to 32 KB.
+ #
+ # The total size of all keys and values must be less than 512 KB.
+ "a_key": "A String",
+ },
+ "tags": [ # The list of instance tags applied to all nodes. Tags are used to identify
+ # valid sources or targets for network firewalls and are specified by
+ # the client during cluster or node pool creation. Each tag within the list
+ # must comply with RFC1035.
+ "A String",
+ ],
+ "sandboxConfig": { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node.
+ "type": "A String", # Type of the sandbox to use for the node.
+ },
+ "preemptible": 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.
+ "workloadMetadataConfig": { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node.
+ # workloads on the node pool.
+ "mode": "A String", # Mode is the configuration for how to expose metadata to workloads running
+ # on the node pool.
+ },
+ "diskSizeGb": 42, # Size of the disk attached to each node, specified in GB.
+ # The smallest allowed disk size is 10GB.
+ #
+ # If unspecified, the default disk size is 100GB.
+ "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs.
+ # Specify the email address of the Service Account; otherwise, if no Service
+ # Account is specified, the "default" service account is used.
+ "accelerators": [ # A list of hardware accelerators to be attached to each node.
+ # See https://cloud.google.com/compute/docs/gpus for more information about
+ # support for GPUs.
+ { # AcceleratorConfig represents a Hardware Accelerator request.
+ "acceleratorType": "A String", # The accelerator type resource name. List of supported accelerators
+ # [here](https://cloud.google.com/compute/docs/gpus)
+ "acceleratorCount": "A String", # The number of the accelerator cards exposed to an instance.
+ },
+ ],
+ },
+ "name": "A String", # The name of the node pool.
+ "maxPodsConstraint": { # Constraints applied to pods. # The constraint on the maximum number of pods that can be run
+ # simultaneously on a node in the node pool.
+ "maxPodsPerNode": "A String", # Constraint enforced on the max num of pods per node.
+ },
+ "autoscaling": { # NodePoolAutoscaling contains information required by cluster autoscaler to # Autoscaler configuration for this NodePool. Autoscaler is enabled
+ # only if a valid configuration is present.
+ # adjust the size of the node pool to the current cluster usage.
+ "minNodeCount": 42, # Minimum number of nodes in the NodePool. Must be >= 1 and <=
+ # max_node_count.
+ "maxNodeCount": 42, # Maximum number of nodes in the NodePool. Must be >= min_node_count. There
+ # has to enough quota to scale up the cluster.
+ "enabled": True or False, # Is autoscaling enabled for this node pool.
+ "autoprovisioned": True or False, # Can this node pool be deleted automatically.
+ },
+ "podIpv4CidrSize": 42, # [Output only] The pod CIDR block size per node in this node pool.
+ "instanceGroupUrls": [ # [Output only] The resource URLs of the [managed instance
+ # groups](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances)
+ # associated with this node pool.
+ "A String",
+ ],
+ "status": "A String", # [Output only] The status of the nodes in this pool instance.
+ "locations": [ # The list of Google Compute Engine
+ # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
+ # NodePool's nodes should be located.
+ "A String",
+ ],
+ },
+ ],
+ "subnetwork": "A String", # The name of the Google Compute Engine
+ # [subnetwork](https://cloud.google.com/compute/docs/subnetworks) to which
+ # the cluster is connected.
+ "addonsConfig": { # Configuration for the addons that can be automatically spun up in the # Configurations for the various addons available to run in the cluster.
+ # cluster, enabling additional functionality.
+ "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.
+ # increases or decreases the number of replica pods a replication controller
+ # has based on the resource usage of the existing pods.
+ "disabled": True or False, # Whether the Horizontal Pod Autoscaling feature is enabled in the cluster.
+ # When enabled, it ensures that metrics are collected into Stackdriver
+ # Monitoring.
+ },
+ "dnsCacheConfig": { # Configuration for NodeLocal DNSCache # Configuration for NodeLocalDNS, a dns cache running on cluster nodes
+ "enabled": True or False, # Whether NodeLocal DNSCache is enabled for this cluster.
+ },
+ "networkPolicyConfig": { # Configuration for NetworkPolicy. This only tracks whether the addon # Configuration for NetworkPolicy. This only tracks whether the addon
+ # is enabled or not on the Master, it does not track whether network policy
+ # 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.
+ },
+ },
+ "masterAuth": { # The authentication information for accessing the master endpoint. # The authentication information for accessing the master endpoint.
+ # If unspecified, the defaults are used:
+ # For clusters before v1.12, if master_auth is unspecified, `username` will
+ # be set to "admin", a random password will be generated, and a client
+ # certificate will be issued.
+ # Authentication can be done using HTTP basic auth or using client
+ # certificates.
+ "clientKey": "A String", # [Output only] Base64-encoded private key used by clients to authenticate
+ # to the cluster endpoint.
+ "clientCertificate": "A String", # [Output only] Base64-encoded public certificate used by clients to
+ # authenticate to the cluster endpoint.
+ "username": "A String", # The username to use for HTTP basic authentication to the master endpoint.
+ # For clusters v1.6.0 and later, basic authentication can be disabled by
+ # leaving username unspecified (or setting it to the empty string).
+ "password": "A String", # The password to use for HTTP basic authentication to the master endpoint.
+ # Because the master endpoint is open to the Internet, you should create a
+ # strong password. If a password is provided for cluster creation, username
+ # must be non-empty.
+ "clientCertificateConfig": { # Configuration for client certificates on the cluster. # Configuration for client certificate authentication on the cluster. For
+ # clusters before v1.12, if no configuration is specified, a client
+ # certificate is issued.
+ "issueClientCertificate": True or False, # Issue a client certificate.
+ },
+ "clusterCaCertificate": "A String", # [Output only] Base64-encoded public certificate that is the root of
+ # trust for the cluster.
+ },
+ "verticalPodAutoscaling": { # VerticalPodAutoscaling contains global, per-cluster information # Cluster-level Vertical Pod Autoscaling configuration.
+ # required by Vertical Pod Autoscaler to automatically adjust
+ # the resources of pods controlled by it.
+ "enabled": True or False, # Enables vertical pod autoscaling.
+ },
+ "enableTpu": True or False, # Enable the ability to use Cloud TPUs in this cluster.
+ "initialClusterVersion": "A String", # The initial Kubernetes version for this cluster. Valid versions are those
+ # found in validMasterVersions returned by getServerConfig. The version can
+ # be upgraded over time; such upgrades are reflected in
+ # currentMasterVersion and currentNodeVersion.
#
- # 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:
+ #
+ # - "latest": picks the highest valid Kubernetes version
+ # - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
+ # - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
+ # - "1.X.Y-gke.N": picks an explicit Kubernetes version
+ # - "","-": picks the default Kubernetes version
+ "currentNodeCount": 42, # [Output only] The number of nodes currently in the cluster. Deprecated.
+ # Call Kubernetes API directly to retrieve node information.
+ "tpuIpv4CidrBlock": "A String", # [Output only] The IP address range of the Cloud TPUs in this cluster, in
+ # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+ # notation (e.g. `1.2.3.4/29`).
+ "locations": [ # The list of Google Compute Engine
+ # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
+ # cluster's nodes should be located.
+ "A String",
+ ],
+ "selfLink": "A String", # [Output only] Server-defined URL for the resource.
+ "description": "A String", # An optional description of this cluster.
+ "statusMessage": "A String", # [Output only] Additional information about the current status of this
+ # cluster, if available.
"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.
+ "servicesIpv4Cidr": "A String", # [Output only] The IP address range of the Kubernetes services in
+ # this cluster, in
+ # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+ # notation (e.g. `1.2.3.4/29`). Service addresses are
+ # typically put in the last `/16` from the container CIDR.
}</pre>
</div>
@@ -2517,18 +2582,18 @@
{ # SetLegacyAbacRequest enables or disables the ABAC authorization mechanism for
# a cluster.
- "clusterId": "A String", # Deprecated. The name of the cluster to update.
- # This field has been deprecated and replaced by the name field.
"name": "A String", # The name (project, location, cluster id) of the cluster to set legacy abac.
# Specified in the format `projects/*/locations/*/clusters/*`.
- "enabled": True or False, # Required. Whether ABAC authorization will be enabled in the cluster.
- "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 update.
+ # 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.
+ "enabled": 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.
- "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}]
@@ -2561,41 +2616,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>
@@ -2627,233 +2692,145 @@
"clusters": [ # A list of clusters in the project in the specified zone, or
# across all ones.
{ # A Google Kubernetes Engine cluster.
- "createTime": "A String", # [Output only] The time the cluster was created, in
- # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
- "clusterIpv4Cidr": "A String", # 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`.
- "autoscaling": { # ClusterAutoscaling contains global, per-cluster information # Cluster-level autoscaling configuration.
- # required by Cluster Autoscaler to automatically adjust
- # the size of the cluster and create/delete
- # node pools based on the current needs.
- "autoprovisioningLocations": [ # The list of Google Compute Engine
- # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
- # NodePool's nodes can be created by NAP.
- "A String",
- ],
- "resourceLimits": [ # Contains global constraints regarding minimum and maximum
- # amount of resources in the cluster.
- { # Contains information about amount of some resource in the cluster.
- # For memory, value should be in GB.
- "minimum": "A String", # Minimum amount of the resource in the cluster.
- "maximum": "A String", # Maximum amount of the resource in the cluster.
- "resourceType": "A String", # Resource name "cpu", "memory" or gpu-specific string.
- },
- ],
- "enableNodeAutoprovisioning": True or False, # Enables automatic node pool creation and deletion.
- "autoprovisioningNodePoolDefaults": { # AutoprovisioningNodePoolDefaults contains defaults for a node pool created # AutoprovisioningNodePoolDefaults contains defaults for a node pool
- # created by NAP.
- # by NAP.
- "management": { # NodeManagement defines the set of node management services turned on for the # Specifies the node management options for NAP created node-pools.
- # node pool.
- "upgradeOptions": { # AutoUpgradeOptions defines the set of options for the user to control how # Specifies the Auto Upgrade knobs for the node pool.
- # the Auto Upgrades will proceed.
- "autoUpgradeStartTime": "A String", # [Output only] This field is set when upgrades are about to commence
- # with the approximate start time for the upgrades, in
- # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
- "description": "A String", # [Output only] This field is set when upgrades are about to commence
- # with the description of the upgrade.
- },
- "autoRepair": 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.
- "autoUpgrade": 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.
- },
- "oauthScopes": [ # Scopes that are used by NAP when creating node pools. If oauth_scopes are
- # specified, service_account should be empty.
- "A String",
- ],
- "upgradeSettings": { # These upgrade settings control the level of parallelism and the level of # Specifies the upgrade settings for NAP created node pools
- # disruption caused by an upgrade.
- #
- # maxUnavailable controls the number of nodes that can be simultaneously
- # unavailable.
- #
- # maxSurge controls the number of additional nodes that can be added to the
- # node pool temporarily for the time of the upgrade to increase the number of
- # available nodes.
- #
- # (maxUnavailable + maxSurge) determines the level of parallelism (how many
- # nodes are being upgraded at the same time).
- #
- # Note: upgrades inevitably introduce some disruption since workloads need to
- # be moved from old nodes to new, upgraded ones. Even if maxUnavailable=0,
- # this holds true. (Disruption stays within the limits of
- # PodDisruptionBudget, if it is configured.)
- #
- # Consider a hypothetical node pool with 5 nodes having maxSurge=2,
- # maxUnavailable=1. This means the upgrade process upgrades 3 nodes
- # simultaneously. It creates 2 additional (upgraded) nodes, then it brings
- # down 3 old (not yet upgraded) nodes at the same time. This ensures that
- # there are always at least 4 nodes available.
- "maxUnavailable": 42, # The maximum number of nodes that can be simultaneously unavailable during
- # the upgrade process. A node is considered available if its status is
- # Ready.
- "maxSurge": 42, # The maximum number of nodes that can be created beyond the current size
- # of the node pool during the upgrade process.
- },
- "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs. If
- # service_account is specified, scopes should be empty.
- },
+ "currentMasterVersion": "A String", # [Output only] The current software version of the master endpoint.
+ "currentNodeVersion": "A String", # [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're in the process of being
+ # upgraded, this reflects the minimum version of all nodes.
+ "authenticatorGroupsConfig": { # Configuration for returning group information from authenticators. # Configuration controlling RBAC group membership information.
+ "securityGroup": "A String", # The name of the security group-of-groups to be used. Only relevant
+ # if enabled = true.
+ "enabled": True or False, # Whether this cluster should return group membership lookups
+ # during authentication using a group of security groups.
},
- "initialNodeCount": 42, # The number of nodes to create in this cluster. You must ensure that your
- # Compute Engine <a href="/compute/docs/resource-quotas">resource quota</a>
- # is sufficient for this number of instances. You must also have available
- # firewall and routes quota.
- # For requests, this field should only be used in lieu of a
- # "node_pool" object, since this configuration (along with the
- # "node_config") will be used to create a "NodePool" object with an
- # auto-generated name. Do not use this and a node_pool at the same time.
+ "enableKubernetesAlpha": 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.
+ "ipAllocationPolicy": { # Configuration for controlling how IPs are allocated in the cluster. # Configuration for cluster IP allocation.
+ "servicesSecondaryRangeName": "A String", # 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.
+ "subnetworkName": "A String", # A custom subnetwork name to be used if `create_subnetwork` is true. If
+ # this field is empty, then an automatic name will be chosen for the new
+ # subnetwork.
+ "nodeIpv4Cidr": "A String", # This field is deprecated, use node_ipv4_cidr_block.
+ "servicesIpv4CidrBlock": "A String", # 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.
+ "servicesIpv4Cidr": "A String", # This field is deprecated, use services_ipv4_cidr_block.
+ "clusterSecondaryRangeName": "A String", # The name of the secondary range to be used for the cluster CIDR
+ # block. The secondary range will be used for pod IP
+ # addresses. This must be an existing secondary range associated
+ # with the cluster subnetwork.
+ #
+ # This field is only applicable with use_ip_aliases is true and
+ # create_subnetwork is false.
+ "tpuIpv4CidrBlock": "A String", # 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.
+ "nodeIpv4CidrBlock": "A String", # 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.
+ "useIpAliases": True or False, # Whether alias IPs will be used for pod IPs in the cluster.
+ "createSubnetwork": 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.
+ "clusterIpv4CidrBlock": "A String", # The IP address range for the cluster pod IPs. If this field is set, then
+ # `cluster.cluster_ipv4_cidr` must be left blank.
+ #
+ # This field is only applicable when `use_ip_aliases` is true.
+ #
+ # Set to blank to have a range chosen with the default size.
+ #
+ # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
+ # netmask.
+ #
+ # Set to a
+ # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+ # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
+ # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
+ # to use.
+ "clusterIpv4Cidr": "A String", # This field is deprecated, use cluster_ipv4_cidr_block.
+ },
+ "loggingService": "A String", # The logging service the cluster should use to write logs.
+ # Currently available options:
#
- # This field is deprecated, use node_pool.initial_node_count instead.
- "instanceGroupUrls": [ # Deprecated. Use node_pools.instance_group_urls.
- "A String",
- ],
- "privateClusterConfig": { # Configuration options for private clusters. # Configuration for private cluster.
- "masterIpv4CidrBlock": "A String", # The IP range in CIDR notation to use for the hosted master network. This
- # range will be used for assigning internal IP addresses to the master or
- # set of masters, as well as the ILB VIP. This range must not overlap with
- # any other ranges in use within the cluster's network.
- "enablePrivateNodes": True or False, # Whether nodes have internal IP addresses only. If enabled, all nodes are
- # given only RFC 1918 private addresses and communicate with the master via
- # private networking.
- "privateEndpoint": "A String", # Output only. The internal IP address of this cluster's master endpoint.
- "enablePrivateEndpoint": True or False, # Whether the master's internal IP address is used as the cluster endpoint.
- "peeringName": "A String", # Output only. The peering name in the customer VPC used by this cluster.
- "publicEndpoint": "A String", # Output only. The external IP address of this cluster'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.
+ "zone": "A String", # [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.
+ "legacyAbac": { # Configuration for the legacy Attribute Based Access Control authorization # Configuration for the legacy ABAC authorization mode.
+ # mode.
+ "enabled": True or False, # Whether the ABAC authorizer is enabled for this cluster. When enabled,
+ # identities in the system, including service accounts, nodes, and
+ # controllers, will have statically granted permissions beyond those
+ # provided by the RBAC configuration or IAM.
},
- "shieldedNodes": { # Configuration of Shielded Nodes feature. # Shielded Nodes configuration.
- "enabled": True or False, # Whether Shielded Nodes features are enabled on all nodes in this cluster.
+ "resourceLabels": { # The resource labels for the cluster to use to annotate any related
+ # Google Compute Engine resources.
+ "a_key": "A String",
},
- "verticalPodAutoscaling": { # VerticalPodAutoscaling contains global, per-cluster information # Cluster-level Vertical Pod Autoscaling configuration.
- # required by Vertical Pod Autoscaler to automatically adjust
- # the resources of pods controlled by it.
- "enabled": True or False, # Enables vertical pod autoscaling.
- },
- "defaultMaxPodsConstraint": { # Constraints applied to pods. # The default constraint on the maximum number of pods that can be run
- # simultaneously on a node in the node pool of this cluster. Only honored
- # if cluster created with IP Alias support.
- "maxPodsPerNode": "A String", # Constraint enforced on the max num of pods per node.
- },
- "network": "A String", # The name of the Google Compute Engine
- # [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks)
- # to which the cluster is connected. If left unspecified, the `default`
- # network will be used.
- "labelFingerprint": "A String", # The fingerprint of the set of labels for this cluster.
"nodeIpv4CidrSize": 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.
- "masterAuthorizedNetworksConfig": { # Configuration options for the master authorized networks feature. Enabled # The configuration options for master authorized networks feature.
- # master authorized networks will disallow all external traffic to access
- # Kubernetes master through HTTPS except traffic from the given CIDR blocks,
- # Google Compute Engine Public IPs and Google Prod IPs.
- "cidrBlocks": [ # cidr_blocks define up to 50 external networks that could access
- # Kubernetes master through HTTPS.
- { # CidrBlock contains an optional name and one CIDR block.
- "displayName": "A String", # display_name is an optional field for users to identify CIDR blocks.
- "cidrBlock": "A String", # cidr_block must be specified in CIDR notation.
- },
- ],
- "enabled": True or False, # Whether or not master authorized networks is enabled.
- },
- "statusMessage": "A String", # [Output only] Additional information about the current status of this
- # cluster, if available.
- "masterAuth": { # The authentication information for accessing the master endpoint. # The authentication information for accessing the master endpoint.
- # If unspecified, the defaults are used:
- # For clusters before v1.12, if master_auth is unspecified, `username` will
- # be set to "admin", a random password will be generated, and a client
- # certificate will be issued.
- # Authentication can be done using HTTP basic auth or using client
- # certificates.
- "password": "A String", # The password to use for HTTP basic authentication to the master endpoint.
- # Because the master endpoint is open to the Internet, you should create a
- # strong password. If a password is provided for cluster creation, username
- # must be non-empty.
- "clientCertificateConfig": { # Configuration for client certificates on the cluster. # Configuration for client certificate authentication on the cluster. For
- # clusters before v1.12, if no configuration is specified, a client
- # certificate is issued.
- "issueClientCertificate": True or False, # Issue a client certificate.
- },
- "clientKey": "A String", # [Output only] Base64-encoded private key used by clients to authenticate
- # to the cluster endpoint.
- "clusterCaCertificate": "A String", # [Output only] Base64-encoded public certificate that is the root of
- # trust for the cluster.
- "clientCertificate": "A String", # [Output only] Base64-encoded public certificate used by clients to
- # authenticate to the cluster endpoint.
- "username": "A String", # The username to use for HTTP basic authentication to the master endpoint.
- # For clusters v1.6.0 and later, basic authentication can be disabled by
- # leaving username unspecified (or setting it to the empty string).
- },
- "authenticatorGroupsConfig": { # Configuration for returning group information from authenticators. # Configuration controlling RBAC group membership information.
- "enabled": True or False, # Whether this cluster should return group membership lookups
- # during authentication using a group of security groups.
- "securityGroup": "A String", # The name of the security group-of-groups to be used. Only relevant
- # if enabled = true.
- },
- "currentMasterVersion": "A String", # [Output only] The current software version of the master endpoint.
- "addonsConfig": { # Configuration for the addons that can be automatically spun up in the # Configurations for the various addons available to run in the cluster.
- # cluster, enabling additional functionality.
- "networkPolicyConfig": { # Configuration for NetworkPolicy. This only tracks whether the addon # Configuration for NetworkPolicy. This only tracks whether the addon
- # is enabled or not on the Master, it does not track whether network policy
- # is enabled for the nodes.
- # is enabled or not on the Master, it does not track whether network policy
- # is enabled for the nodes.
- "disabled": True or False, # Whether NetworkPolicy is enabled for this cluster.
- },
- "cloudRunConfig": { # Configuration options for the Cloud Run feature. # Configuration for the Cloud Run addon, which allows the user to use a
- # managed Knative service.
- "disabled": True or False, # Whether Cloud Run addon is enabled for this cluster.
- },
- "horizontalPodAutoscaling": { # Configuration options for the horizontal pod autoscaling feature, which # Configuration for the horizontal pod autoscaling feature, which
- # increases or decreases the number of replica pods a replication controller
- # has based on the resource usage of the existing pods.
- # increases or decreases the number of replica pods a replication controller
- # has based on the resource usage of the existing pods.
- "disabled": True or False, # Whether the Horizontal Pod Autoscaling feature is enabled in the cluster.
- # When enabled, it ensures that metrics are collected into Stackdriver
- # Monitoring.
- },
- "httpLoadBalancing": { # Configuration options for the HTTP (L7) load balancing controller addon, # Configuration for the HTTP (L7) load balancing controller addon, which
- # makes it easy to set up HTTP load balancers for services in a cluster.
- # which makes it easy to set up HTTP load balancers for services in a cluster.
- "disabled": True or False, # Whether the HTTP Load Balancing controller is enabled in the cluster.
- # When enabled, it runs a small pod in the cluster that manages the load
- # balancers.
- },
- "kubernetesDashboard": { # Configuration for the Kubernetes Dashboard. # Configuration for the Kubernetes Dashboard.
- # This addon is deprecated, and will be disabled in 1.15. It is recommended
- # to use the Cloud Console to manage and monitor your Kubernetes clusters,
- # workloads and applications. For more information, see:
- # https://cloud.google.com/kubernetes-engine/docs/concepts/dashboards
- "disabled": True or False, # Whether the Kubernetes Dashboard is enabled for this cluster.
- },
- },
- "currentNodeVersion": "A String", # [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're in the process of being
- # upgraded, this reflects the minimum version of all nodes.
- "subnetwork": "A String", # The name of the Google Compute Engine
- # [subnetwork](https://cloud.google.com/compute/docs/subnetworks) to which
- # the cluster is connected.
- "resourceLabels": { # The resource labels for the cluster to use to annotate any related
- # Google Compute Engine resources.
- "a_key": "A String",
+ "releaseChannel": { # 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.
+ "channel": "A String", # channel specifies which release channel the cluster is subscribed to.
},
"maintenancePolicy": { # MaintenancePolicy defines the maintenance policy to be used for the cluster. # Configure the maintenance policy for this cluster.
"window": { # MaintenanceWindow defines the maintenance window to be used for the cluster. # Specifies the maintenance window in which maintenance may be performed.
@@ -2865,6 +2842,15 @@
"startTime": "A String", # The time that the window first starts.
},
},
+ "dailyMaintenanceWindow": { # Time window specified for daily maintenance operations. # DailyMaintenanceWindow specifies a daily maintenance operation window.
+ "duration": "A String", # [Output only] Duration of the time window, automatically chosen to be
+ # smallest possible in the given scenario.
+ # Duration will be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)
+ # format "PTnHnMnS".
+ "startTime": "A String", # Time within the maintenance window to start the maintenance operations.
+ # Time format should be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)
+ # format "HH:MM", where HH : [00-23] and MM : [00-59] GMT.
+ },
"recurringWindow": { # 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.
},
- "dailyMaintenanceWindow": { # Time window specified for daily maintenance operations. # DailyMaintenanceWindow specifies a daily maintenance operation window.
- "startTime": "A String", # Time within the maintenance window to start the maintenance operations.
- # Time format should be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)
- # format "HH:MM", where HH : [00-23] and MM : [00-59] GMT.
- "duration": "A String", # [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 "PTnHnMnS".
- },
},
"resourceVersion": "A String", # A hash identifying the version of this policy, so that updates to fields of
# the policy won't accidentally undo intermediate changes (and so that users
@@ -2917,157 +2894,96 @@
# Make a <code>get()</code> request to the cluster to get the current
# resource version and include it with requests to set the policy.
},
- "initialClusterVersion": "A String", # The initial Kubernetes version for this cluster. Valid versions are those
- # found in validMasterVersions returned by getServerConfig. The version can
- # be upgraded over time; such upgrades are reflected in
- # currentMasterVersion and currentNodeVersion.
+ "monitoringService": "A String", # 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:
+ # * "monitoring.googleapis.com/kubernetes" - 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.
#
- # - "latest": picks the highest valid Kubernetes version
- # - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
- # - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
- # - "1.X.Y-gke.N": picks an explicit Kubernetes version
- # - "","-": picks the default Kubernetes version
- "ipAllocationPolicy": { # Configuration for controlling how IPs are allocated in the cluster. # Configuration for cluster IP allocation.
- "nodeIpv4Cidr": "A String", # This field is deprecated, use node_ipv4_cidr_block.
- "clusterSecondaryRangeName": "A String", # The name of the secondary range to be used for the cluster CIDR
- # block. The secondary range will be used for pod IP
- # addresses. This must be an existing secondary range associated
- # with the cluster subnetwork.
- #
- # This field is only applicable with use_ip_aliases is true and
- # create_subnetwork is false.
- "clusterIpv4CidrBlock": "A String", # The IP address range for the cluster pod IPs. If this field is set, then
- # `cluster.cluster_ipv4_cidr` must be left blank.
- #
- # This field is only applicable when `use_ip_aliases` is true.
- #
- # Set to blank to have a range chosen with the default size.
- #
- # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
- # netmask.
- #
- # Set to a
- # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
- # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
- # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
- # to use.
- "nodeIpv4CidrBlock": "A String", # 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.
- "tpuIpv4CidrBlock": "A String", # 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.
- "useIpAliases": True or False, # Whether alias IPs will be used for pod IPs in the cluster.
- "servicesSecondaryRangeName": "A String", # 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.
- "createSubnetwork": 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.
- "subnetworkName": "A String", # A custom subnetwork name to be used if `create_subnetwork` is true. If
- # this field is empty, then an automatic name will be chosen for the new
- # subnetwork.
- "clusterIpv4Cidr": "A String", # This field is deprecated, use cluster_ipv4_cidr_block.
- "servicesIpv4Cidr": "A String", # This field is deprecated, use services_ipv4_cidr_block.
- "servicesIpv4CidrBlock": "A String", # 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.
+ "binaryAuthorization": { # Configuration for Binary Authorization. # Configuration for Binary Authorization.
+ "enabled": True or False, # Enable Binary Authorization for this cluster. If enabled, all container
+ # images will be validated by Binary Authorization.
},
- "legacyAbac": { # Configuration for the legacy Attribute Based Access Control authorization # Configuration for the legacy ABAC authorization mode.
- # mode.
- "enabled": True or False, # Whether the ABAC authorizer is enabled for this cluster. When enabled,
- # identities in the system, including service accounts, nodes, and
- # controllers, will have statically granted permissions beyond those
- # provided by the RBAC configuration or IAM.
- },
- "resourceUsageExportConfig": { # Configuration for exporting cluster resource usages. # Configuration for exporting resource usages. Resource usage export is
- # disabled when this config is unspecified.
- "enableNetworkEgressMetering": True or False, # Whether to enable network egress metering for this cluster. If enabled, a
- # daemonset will be created in the cluster to meter network egress traffic.
- "consumptionMeteringConfig": { # Parameters for controlling consumption metering. # Configuration to enable resource consumption metering.
- "enabled": True or False, # Whether to enable consumption metering for this cluster. If enabled, a
- # second BigQuery table will be created to hold resource consumption
- # records.
- },
- "bigqueryDestination": { # Parameters for using BigQuery as the destination of resource usage export. # Configuration to use BigQuery as usage export destination.
- "datasetId": "A String", # The ID of a BigQuery Dataset.
- },
- },
- "enableTpu": True or False, # Enable the ability to use Cloud TPUs in this cluster.
- "locations": [ # The list of Google Compute Engine
- # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
- # cluster's nodes should be located.
+ "expireTime": "A String", # [Output only] The time the cluster will be automatically
+ # deleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+ "instanceGroupUrls": [ # Deprecated. Use node_pools.instance_group_urls.
"A String",
],
- "nodePools": [ # The node pools associated with this cluster.
- # This field should not be set if "node_config" or "initial_node_count" are
- # specified.
- { # NodePool contains the name and configuration for a cluster's node pool.
- # Node pools are a set of nodes (i.e. VM's), with a common configuration and
- # 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.
- "statusMessage": "A String", # [Output only] Additional information about the current status of this
- # node pool instance, if available.
- "autoscaling": { # 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.
- "maxNodeCount": 42, # Maximum number of nodes in the NodePool. Must be >= min_node_count. There
- # has to enough quota to scale up the cluster.
- "autoprovisioned": True or False, # Can this node pool be deleted automatically.
- "minNodeCount": 42, # Minimum number of nodes in the NodePool. Must be >= 1 and <=
- # max_node_count.
- "enabled": True or False, # Is autoscaling enabled for this node pool.
+ "endpoint": "A String", # [Output only] The IP address of this cluster's master endpoint.
+ # The endpoint can be accessed from the internet at
+ # `https://username:password@endpoint/`.
+ #
+ # See the `masterAuth` property of this resource for username and
+ # password information.
+ "shieldedNodes": { # Configuration of Shielded Nodes feature. # Shielded Nodes configuration.
+ "enabled": True or False, # Whether Shielded Nodes features are enabled on all nodes in this cluster.
+ },
+ "masterAuthorizedNetworksConfig": { # Configuration options for the master authorized networks feature. Enabled # The configuration options for master authorized networks feature.
+ # master authorized networks will disallow all external traffic to access
+ # Kubernetes master through HTTPS except traffic from the given CIDR blocks,
+ # Google Compute Engine Public IPs and Google Prod IPs.
+ "enabled": True or False, # Whether or not master authorized networks is enabled.
+ "cidrBlocks": [ # cidr_blocks define up to 50 external networks that could access
+ # Kubernetes master through HTTPS.
+ { # CidrBlock contains an optional name and one CIDR block.
+ "displayName": "A String", # display_name is an optional field for users to identify CIDR blocks.
+ "cidrBlock": "A String", # cidr_block must be specified in CIDR notation.
},
- "initialNodeCount": 42, # The initial node count for the pool. You must ensure that your
- # Compute Engine <a href="/compute/docs/resource-quotas">resource quota</a>
- # is sufficient for this number of instances. You must also have available
- # firewall and routes quota.
- "selfLink": "A String", # [Output only] Server-defined URL for the resource.
- "upgradeSettings": { # These upgrade settings control the level of parallelism and the level of # Upgrade settings control disruption and speed of the upgrade.
+ ],
+ },
+ "conditions": [ # Which conditions caused the current cluster state.
+ { # StatusCondition describes why a cluster or a node pool has a certain status
+ # (e.g., ERROR or DEGRADED).
+ "message": "A String", # Human-friendly representation of the condition
+ "code": "A String", # Machine-friendly representation of the condition
+ },
+ ],
+ "network": "A String", # The name of the Google Compute Engine
+ # [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks)
+ # to which the cluster is connected. If left unspecified, the `default`
+ # network will be used.
+ "status": "A String", # [Output only] The current status of this cluster.
+ "autoscaling": { # ClusterAutoscaling contains global, per-cluster information # Cluster-level autoscaling configuration.
+ # required by Cluster Autoscaler to automatically adjust
+ # the size of the cluster and create/delete
+ # node pools based on the current needs.
+ "resourceLimits": [ # Contains global constraints regarding minimum and maximum
+ # amount of resources in the cluster.
+ { # Contains information about amount of some resource in the cluster.
+ # For memory, value should be in GB.
+ "minimum": "A String", # Minimum amount of the resource in the cluster.
+ "resourceType": "A String", # Resource name "cpu", "memory" or gpu-specific string.
+ "maximum": "A String", # Maximum amount of the resource in the cluster.
+ },
+ ],
+ "autoprovisioningNodePoolDefaults": { # AutoprovisioningNodePoolDefaults contains defaults for a node pool created # AutoprovisioningNodePoolDefaults contains defaults for a node pool
+ # created by NAP.
+ # by NAP.
+ "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs.
+ "management": { # NodeManagement defines the set of node management services turned on for the # Specifies the node management options for NAP created node-pools.
+ # node pool.
+ "upgradeOptions": { # AutoUpgradeOptions defines the set of options for the user to control how # Specifies the Auto Upgrade knobs for the node pool.
+ # the Auto Upgrades will proceed.
+ "description": "A String", # [Output only] This field is set when upgrades are about to commence
+ # with the description of the upgrade.
+ "autoUpgradeStartTime": "A String", # [Output only] This field is set when upgrades are about to commence
+ # with the approximate start time for the upgrades, in
+ # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+ },
+ "autoRepair": True or False, # 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.
+ "autoUpgrade": 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.
+ },
+ "upgradeSettings": { # These upgrade settings control the level of parallelism and the level of # Specifies the upgrade settings for NAP created node pools
# disruption caused by an upgrade.
#
# maxUnavailable controls the number of nodes that can be simultaneously
@@ -3096,284 +3012,32 @@
"maxSurge": 42, # The maximum number of nodes that can be created beyond the current size
# of the node pool during the upgrade process.
},
- "locations": [ # The list of Google Compute Engine
- # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
- # NodePool's nodes should be located.
+ "oauthScopes": [ # Scopes that are used by NAP when creating node pools.
"A String",
],
- "instanceGroupUrls": [ # [Output only] The resource URLs of the [managed instance
- # groups](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances)
- # associated with this node pool.
- "A String",
- ],
- "version": "A String", # The version of the Kubernetes of this node.
- "podIpv4CidrSize": 42, # [Output only] The pod CIDR block size per node in this node pool.
- "conditions": [ # Which conditions caused the current node pool state.
- { # StatusCondition describes why a cluster or a node pool has a certain status
- # (e.g., ERROR or DEGRADED).
- "code": "A String", # Machine-friendly representation of the condition
- "message": "A String", # Human-friendly representation of the condition
- },
- ],
- "status": "A String", # [Output only] The status of the nodes in this pool instance.
- "config": { # Parameters that describe the nodes in a cluster. # The node configuration of the pool.
- "oauthScopes": [ # The set of Google API scopes to be made available on all of the
- # node VMs under the "default" 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.
- "A String",
- ],
- "taints": [ # 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.
- "effect": "A String", # Effect for taint.
- "value": "A String", # Value for taint.
- "key": "A String", # Key for taint.
- },
- ],
- "labels": { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
- # These will added in addition to any default label(s) that
- # Kubernetes may apply to the node.
- # In case of conflict in label keys, the applied set may differ depending on
- # the Kubernetes version -- it's best to assume the behavior is undefined
- # and conflicts should be avoided.
- # For more information, including usage and the valid values, see:
- # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
- "a_key": "A String",
- },
- "diskSizeGb": 42, # Size of the disk attached to each node, specified in GB.
- # The smallest allowed disk size is 10GB.
- #
- # If unspecified, the default disk size is 100GB.
- "workloadMetadataConfig": { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node.
- # workloads on the node pool.
- "mode": "A String", # Mode is the configuration for how to expose metadata to workloads running
- # on the node pool.
- },
- "accelerators": [ # A list of hardware accelerators to be attached to each node.
- # See https://cloud.google.com/compute/docs/gpus for more information about
- # support for GPUs.
- { # AcceleratorConfig represents a Hardware Accelerator request.
- "acceleratorType": "A String", # The accelerator type resource name. List of supported accelerators
- # [here](https://cloud.google.com/compute/docs/gpus)
- "acceleratorCount": "A String", # The number of the accelerator cards exposed to an instance.
- },
- ],
- "machineType": "A String", # 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`.
- "diskType": "A String", # Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd')
- #
- # If unspecified, the default disk type is 'pd-standard'
- "shieldedInstanceConfig": { # A set of Shielded Instance options. # Shielded Instance options.
- "enableIntegrityMonitoring": True or False, # Defines whether the instance has integrity monitoring enabled.
- #
- # Enables monitoring and attestation of the boot integrity of the instance.
- # The attestation is performed against the integrity policy baseline. This
- # baseline is initially derived from the implicitly trusted boot image when
- # the instance is created.
- "enableSecureBoot": True or False, # Defines whether the instance has Secure Boot enabled.
- #
- # Secure Boot helps ensure that the system only runs authentic software by
- # verifying the digital signature of all boot components, and halting the
- # boot process if signature verification fails.
- },
- "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be
- # scheduled on the specified or newer CPU platform. Applicable values are the
- # friendly names of CPU platforms, such as
- # <code>minCpuPlatform: &quot;Intel Haswell&quot;</code> or
- # <code>minCpuPlatform: &quot;Intel Sandy Bridge&quot;</code>. For more
- # information, read [how to specify min CPU
- # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
- "preemptible": 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.
- "localSsdCount": 42, # The number of local SSD disks to be attached to the node.
- #
- # The limit for this value is dependent upon the maximum number of
- # disks available on a machine per zone. See:
- # https://cloud.google.com/compute/docs/disks/local-ssd
- # for more information.
- "sandboxConfig": { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node.
- "type": "A String", # Type of the sandbox to use for the node.
- },
- "metadata": { # The metadata key/value pairs assigned to instances in the cluster.
- #
- # Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes
- # in length. These are reflected as part of a URL in the metadata server.
- # Additionally, to avoid ambiguity, keys must not conflict with any other
- # metadata keys for the project or be one of the reserved keys:
- # "cluster-location"
- # "cluster-name"
- # "cluster-uid"
- # "configure-sh"
- # "containerd-configure-sh"
- # "enable-os-login"
- # "gci-ensure-gke-docker"
- # "gci-metrics-enabled"
- # "gci-update-strategy"
- # "instance-template"
- # "kube-env"
- # "startup-script"
- # "user-data"
- # "disable-address-manager"
- # "windows-startup-script-ps1"
- # "common-psm1"
- # "k8s-node-setup-psm1"
- # "install-ssh-psm1"
- # "user-profile-psm1"
- # "serial-port-logging-enable"
- #
- # Values are free-form strings, and only have meaning as interpreted by
- # the image running in the instance. The only restriction placed on them is
- # that each value's size must be less than or equal to 32 KB.
- #
- # The total size of all keys and values must be less than 512 KB.
- "a_key": "A String",
- },
- "reservationAffinity": { # [ReservationAffinity](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources) # The optional reservation affinity. Setting this field will apply
- # the specified [Zonal Compute
- # Reservation](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources)
- # to this node pool.
- # is the configuration of desired reservation which instances could take
- # capacity from.
- "values": [ # Corresponds to the label value(s) of reservation resource(s).
- "A String",
- ],
- "consumeReservationType": "A String", # Corresponds to the type of reservation consumption.
- "key": "A String", # Corresponds to the label key of a reservation resource. To target a
- # SPECIFIC_RESERVATION by name, specify "googleapis.com/reservation-name" as
- # the key and specify the name of your reservation as its value.
- },
- "tags": [ # The list of instance tags applied to all nodes. Tags are used to identify
- # valid sources or targets for network firewalls and are specified by
- # the client during cluster or node pool creation. Each tag within the list
- # must comply with RFC1035.
- "A String",
- ],
- "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs.
- # Specify the email address of the Service Account; otherwise, if no Service
- # Account is specified, the "default" service account is used.
- "imageType": "A String", # The image type to use for this node. Note that for a given image type,
- # the latest version of it will be used.
- },
- "maxPodsConstraint": { # Constraints applied to pods. # The constraint on the maximum number of pods that can be run
- # simultaneously on a node in the node pool.
- "maxPodsPerNode": "A String", # Constraint enforced on the max num of pods per node.
- },
- "name": "A String", # The name of the node pool.
- "management": { # NodeManagement defines the set of node management services turned on for the # NodeManagement configuration for this NodePool.
- # node pool.
- "upgradeOptions": { # AutoUpgradeOptions defines the set of options for the user to control how # Specifies the Auto Upgrade knobs for the node pool.
- # the Auto Upgrades will proceed.
- "autoUpgradeStartTime": "A String", # [Output only] This field is set when upgrades are about to commence
- # with the approximate start time for the upgrades, in
- # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
- "description": "A String", # [Output only] This field is set when upgrades are about to commence
- # with the description of the upgrade.
- },
- "autoRepair": 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.
- "autoUpgrade": 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.
- },
},
- ],
- "selfLink": "A String", # [Output only] Server-defined URL for the resource.
+ "enableNodeAutoprovisioning": True or False, # Enables automatic node pool creation and deletion.
+ "autoprovisioningLocations": [ # The list of Google Compute Engine
+ # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
+ # NodePool's nodes can be created by NAP.
+ "A String",
+ ],
+ },
+ "labelFingerprint": "A String", # The fingerprint of the set of labels for this cluster.
"networkPolicy": { # Configuration options for the NetworkPolicy feature. # Configuration options for the NetworkPolicy feature.
# https://kubernetes.io/docs/concepts/services-networking/networkpolicies/
- "provider": "A String", # The selected network policy provider.
"enabled": True or False, # Whether network policy is enabled on the cluster.
+ "provider": "A String", # The selected network policy provider.
},
- "servicesIpv4Cidr": "A String", # [Output only] The IP address range of the Kubernetes services in
- # this cluster, in
+ "clusterIpv4Cidr": "A String", # 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.
- "enableKubernetesAlpha": 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.
- "description": "A String", # An optional description of this cluster.
- "conditions": [ # Which conditions caused the current cluster state.
- { # StatusCondition describes why a cluster or a node pool has a certain status
- # (e.g., ERROR or DEGRADED).
- "code": "A String", # Machine-friendly representation of the condition
- "message": "A String", # Human-friendly representation of the condition
- },
- ],
- "currentNodeCount": 42, # [Output only] The number of nodes currently in the cluster. Deprecated.
- # Call Kubernetes API directly to retrieve node information.
- "monitoringService": "A String", # The monitoring service the cluster should use to write metrics.
- # Currently available options:
- #
- # * "monitoring.googleapis.com/kubernetes" - 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.
- "databaseEncryption": { # Configuration of etcd encryption. # Configuration of etcd encryption.
- "keyName": "A String", # Name of CloudKMS key to use for the encryption of secrets in etcd.
- # Ex. projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-key
- "state": "A String", # 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`.
+ "defaultMaxPodsConstraint": { # Constraints applied to pods. # The default constraint on the maximum number of pods that can be run
+ # simultaneously on a node in the node pool of this cluster. Only honored
+ # if cluster created with IP Alias support.
+ "maxPodsPerNode": "A String", # Constraint enforced on the max num of pods per node.
},
- "binaryAuthorization": { # Configuration for Binary Authorization. # Configuration for Binary Authorization.
- "enabled": True or False, # Enable Binary Authorization for this cluster. If enabled, all container
- # images will be validated by Binary Authorization.
- },
- "tpuIpv4CidrBlock": "A String", # [Output only] The IP address range of the Cloud TPUs in this cluster, in
- # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
- # notation (e.g. `1.2.3.4/29`).
- "workloadIdentityConfig": { # Configuration for the use of Kubernetes Service Accounts in GCP IAM # Configuration for the use of Kubernetes Service Accounts in GCP IAM
- # policies.
- # policies.
- "workloadPool": "A String", # The workload pool to attach all Kubernetes service accounts to.
- },
- "zone": "A String", # [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.
- "expireTime": "A String", # [Output only] The time the cluster will be automatically
- # deleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
- "loggingService": "A String", # The logging service the cluster should use to write logs.
- # Currently available options:
- #
- # * `logging.googleapis.com/kubernetes` - The Cloud Logging
- # service with a Kubernetes-native resource model
- # * `logging.googleapis.com` - The legacy Cloud Logging service (no longer
- # available as of GKE 1.15).
- # * `none` - no logs will be exported from the cluster.
- #
- # If left as an empty string,`logging.googleapis.com/kubernetes` will be
- # used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.
"nodeConfig": { # Parameters that describe the nodes in a cluster. # Parameters used in creating the cluster's nodes.
# For requests, this field should only be used in lieu of a
# "node_pool" 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.
+ "diskType": "A String", # Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd')
+ #
+ # If unspecified, the default disk type is 'pd-standard'
+ "bootDiskKmsKey": "A String", #
+ # The Customer Managed Encryption Key used to encrypt the boot disk attached
+ # to each node in the node pool. This should be of the form
+ # projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME].
+ # For more information about protecting resources with Cloud KMS Keys please
+ # see:
+ # https://cloud.google.com/compute/docs/disks/customer-managed-encryption
+ "shieldedInstanceConfig": { # A set of Shielded Instance options. # Shielded Instance options.
+ "enableIntegrityMonitoring": True or False, # Defines whether the instance has integrity monitoring enabled.
+ #
+ # Enables monitoring and attestation of the boot integrity of the instance.
+ # The attestation is performed against the integrity policy baseline. This
+ # baseline is initially derived from the implicitly trusted boot image when
+ # the instance is created.
+ "enableSecureBoot": True or False, # Defines whether the instance has Secure Boot enabled.
+ #
+ # Secure Boot helps ensure that the system only runs authentic software by
+ # verifying the digital signature of all boot components, and halting the
+ # boot process if signature verification fails.
+ },
+ "labels": { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
+ # These will added in addition to any default label(s) that
+ # Kubernetes may apply to the node.
+ # In case of conflict in label keys, the applied set may differ depending on
+ # the Kubernetes version -- it's best to assume the behavior is undefined
+ # and conflicts should be avoided.
+ # For more information, including usage and the valid values, see:
+ # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
+ "a_key": "A String",
+ },
"oauthScopes": [ # The set of Google API scopes to be made available on all of the
# node VMs under the "default" service account.
#
@@ -3402,6 +3099,19 @@
# Monitoring are enabled, in which case their required scopes will be added.
"A String",
],
+ "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be
+ # scheduled on the specified or newer CPU platform. Applicable values are the
+ # friendly names of CPU platforms, such as
+ # <code>minCpuPlatform: &quot;Intel Haswell&quot;</code> or
+ # <code>minCpuPlatform: &quot;Intel Sandy Bridge&quot;</code>. For more
+ # information, read [how to specify min CPU
+ # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
+ "localSsdCount": 42, # The number of local SSD disks to be attached to the node.
+ #
+ # The limit for this value is dependent upon the maximum number of
+ # disks available on a machine per zone. See:
+ # https://cloud.google.com/compute/docs/disks/local-ssd
+ # for more information.
"taints": [ # 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.
- "effect": "A String", # Effect for taint.
"value": "A String", # Value for taint.
"key": "A String", # Key for taint.
+ "effect": "A String", # Effect for taint.
},
],
- "labels": { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
- # These will added in addition to any default label(s) that
- # Kubernetes may apply to the node.
- # In case of conflict in label keys, the applied set may differ depending on
- # the Kubernetes version -- it's best to assume the behavior is undefined
- # and conflicts should be avoided.
- # For more information, including usage and the valid values, see:
- # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
- "a_key": "A String",
+ "imageType": "A String", # The image type to use for this node. Note that for a given image type,
+ # the latest version of it will be used.
+ "reservationAffinity": { # [ReservationAffinity](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources) # The optional reservation affinity. Setting this field will apply
+ # the specified [Zonal Compute
+ # Reservation](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources)
+ # to this node pool.
+ # is the configuration of desired reservation which instances could take
+ # capacity from.
+ "consumeReservationType": "A String", # Corresponds to the type of reservation consumption.
+ "key": "A String", # Corresponds to the label key of a reservation resource. To target a
+ # SPECIFIC_RESERVATION by name, specify "googleapis.com/reservation-name" as
+ # the key and specify the name of your reservation as its value.
+ "values": [ # Corresponds to the label value(s) of reservation resource(s).
+ "A String",
+ ],
},
- "diskSizeGb": 42, # Size of the disk attached to each node, specified in GB.
- # The smallest allowed disk size is 10GB.
- #
- # If unspecified, the default disk size is 100GB.
- "workloadMetadataConfig": { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node.
- # workloads on the node pool.
- "mode": "A String", # Mode is the configuration for how to expose metadata to workloads running
- # on the node pool.
- },
- "accelerators": [ # A list of hardware accelerators to be attached to each node.
- # See https://cloud.google.com/compute/docs/gpus for more information about
- # support for GPUs.
- { # AcceleratorConfig represents a Hardware Accelerator request.
- "acceleratorType": "A String", # The accelerator type resource name. List of supported accelerators
- # [here](https://cloud.google.com/compute/docs/gpus)
- "acceleratorCount": "A String", # The number of the accelerator cards exposed to an instance.
- },
- ],
"machineType": "A String", # 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`.
- "diskType": "A String", # Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd')
- #
- # If unspecified, the default disk type is 'pd-standard'
- "shieldedInstanceConfig": { # A set of Shielded Instance options. # Shielded Instance options.
- "enableIntegrityMonitoring": True or False, # Defines whether the instance has integrity monitoring enabled.
- #
- # Enables monitoring and attestation of the boot integrity of the instance.
- # The attestation is performed against the integrity policy baseline. This
- # baseline is initially derived from the implicitly trusted boot image when
- # the instance is created.
- "enableSecureBoot": True or False, # Defines whether the instance has Secure Boot enabled.
- #
- # Secure Boot helps ensure that the system only runs authentic software by
- # verifying the digital signature of all boot components, and halting the
- # boot process if signature verification fails.
- },
- "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be
- # scheduled on the specified or newer CPU platform. Applicable values are the
- # friendly names of CPU platforms, such as
- # <code>minCpuPlatform: &quot;Intel Haswell&quot;</code> or
- # <code>minCpuPlatform: &quot;Intel Sandy Bridge&quot;</code>. For more
- # information, read [how to specify min CPU
- # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
- "preemptible": 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.
- "localSsdCount": 42, # The number of local SSD disks to be attached to the node.
- #
- # The limit for this value is dependent upon the maximum number of
- # disks available on a machine per zone. See:
- # https://cloud.google.com/compute/docs/disks/local-ssd
- # for more information.
- "sandboxConfig": { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node.
- "type": "A String", # Type of the sandbox to use for the node.
- },
+ "nodeGroup": "A String", # 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).
"metadata": { # The metadata key/value pairs assigned to instances in the cluster.
#
# Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes
@@ -3520,45 +3187,63 @@
# The total size of all keys and values must be less than 512 KB.
"a_key": "A String",
},
- "reservationAffinity": { # [ReservationAffinity](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources) # The optional reservation affinity. Setting this field will apply
- # the specified [Zonal Compute
- # Reservation](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources)
- # to this node pool.
- # is the configuration of desired reservation which instances could take
- # capacity from.
- "values": [ # Corresponds to the label value(s) of reservation resource(s).
- "A String",
- ],
- "consumeReservationType": "A String", # Corresponds to the type of reservation consumption.
- "key": "A String", # Corresponds to the label key of a reservation resource. To target a
- # SPECIFIC_RESERVATION by name, specify "googleapis.com/reservation-name" as
- # the key and specify the name of your reservation as its value.
- },
"tags": [ # The list of instance tags applied to all nodes. Tags are used to identify
# valid sources or targets for network firewalls and are specified by
# the client during cluster or node pool creation. Each tag within the list
# must comply with RFC1035.
"A String",
],
+ "sandboxConfig": { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node.
+ "type": "A String", # Type of the sandbox to use for the node.
+ },
+ "preemptible": 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.
+ "workloadMetadataConfig": { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node.
+ # workloads on the node pool.
+ "mode": "A String", # Mode is the configuration for how to expose metadata to workloads running
+ # on the node pool.
+ },
+ "diskSizeGb": 42, # Size of the disk attached to each node, specified in GB.
+ # The smallest allowed disk size is 10GB.
+ #
+ # If unspecified, the default disk size is 100GB.
"serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs.
# Specify the email address of the Service Account; otherwise, if no Service
# Account is specified, the "default" service account is used.
- "imageType": "A String", # The image type to use for this node. Note that for a given image type,
- # the latest version of it will be used.
+ "accelerators": [ # A list of hardware accelerators to be attached to each node.
+ # See https://cloud.google.com/compute/docs/gpus for more information about
+ # support for GPUs.
+ { # AcceleratorConfig represents a Hardware Accelerator request.
+ "acceleratorType": "A String", # The accelerator type resource name. List of supported accelerators
+ # [here](https://cloud.google.com/compute/docs/gpus)
+ "acceleratorCount": "A String", # The number of the accelerator cards exposed to an instance.
+ },
+ ],
},
- "status": "A String", # [Output only] The current status of this cluster.
- "networkConfig": { # NetworkConfig reports the relative names of network & subnetwork. # Configuration for cluster networking.
- "enableIntraNodeVisibility": True or False, # Whether Intra-node visibility is enabled for this cluster.
- # This makes same node pod to pod traffic visible for VPC network.
- "subnetwork": "A String", # Output only. The relative name of the Google Compute Engine
- # [subnetwork](https://cloud.google.com/compute/docs/vpc) to which the
- # cluster is connected. Example:
- # projects/my-project/regions/us-central1/subnetworks/my-subnet
- "network": "A String", # Output only. The relative name of the Google Compute Engine
- # network(https://cloud.google.com/compute/docs/networks-and-firewalls#networks)
- # to which the cluster is connected. Example:
- # projects/my-project/global/networks/my-network
+ "resourceUsageExportConfig": { # Configuration for exporting cluster resource usages. # Configuration for exporting resource usages. Resource usage export is
+ # disabled when this config is unspecified.
+ "enableNetworkEgressMetering": True or False, # Whether to enable network egress metering for this cluster. If enabled, a
+ # daemonset will be created in the cluster to meter network egress traffic.
+ "bigqueryDestination": { # Parameters for using BigQuery as the destination of resource usage export. # Configuration to use BigQuery as usage export destination.
+ "datasetId": "A String", # The ID of a BigQuery Dataset.
+ },
+ "consumptionMeteringConfig": { # Parameters for controlling consumption metering. # Configuration to enable resource consumption metering.
+ "enabled": True or False, # Whether to enable consumption metering for this cluster. If enabled, a
+ # second BigQuery table will be created to hold resource consumption
+ # records.
+ },
},
+ "initialNodeCount": 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
+ # "node_pool" object, since this configuration (along with the
+ # "node_config") will be used to create a "NodePool" 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.
"name": "A String", # The name of this cluster. The name must be unique within this project
# and location (e.g. zone or region), and can be up to 40 characters with
# the following restrictions:
@@ -3566,17 +3251,428 @@
# * Lowercase letters, numbers, and hyphens only.
# * Must start with a letter.
# * Must end with a number or a letter.
- "endpoint": "A String", # [Output only] The IP address of this cluster's master endpoint.
- # The endpoint can be accessed from the internet at
- # `https://username:password@endpoint/`.
+ "workloadIdentityConfig": { # Configuration for the use of Kubernetes Service Accounts in GCP IAM # Configuration for the use of Kubernetes Service Accounts in GCP IAM
+ # policies.
+ # policies.
+ "workloadPool": "A String", # The workload pool to attach all Kubernetes service accounts to.
+ },
+ "networkConfig": { # NetworkConfig reports the relative names of network & subnetwork. # Configuration for cluster networking.
+ "network": "A String", # Output only. The relative name of the Google Compute Engine
+ # network(https://cloud.google.com/compute/docs/networks-and-firewalls#networks)
+ # to which the cluster is connected. Example:
+ # projects/my-project/global/networks/my-network
+ "enableIntraNodeVisibility": True or False, # Whether Intra-node visibility is enabled for this cluster.
+ # This makes same node pod to pod traffic visible for VPC network.
+ "subnetwork": "A String", # Output only. The relative name of the Google Compute Engine
+ # [subnetwork](https://cloud.google.com/compute/docs/vpc) to which the
+ # cluster is connected. Example:
+ # projects/my-project/regions/us-central1/subnetworks/my-subnet
+ },
+ "databaseEncryption": { # Configuration of etcd encryption. # Configuration of etcd encryption.
+ "state": "A String", # Denotes the state of etcd encryption.
+ "keyName": "A String", # Name of CloudKMS key to use for the encryption of secrets in etcd.
+ # Ex. projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-key
+ },
+ "privateClusterConfig": { # Configuration options for private clusters. # Configuration for private cluster.
+ "privateEndpoint": "A String", # Output only. The internal IP address of this cluster's master endpoint.
+ "peeringName": "A String", # Output only. The peering name in the customer VPC used by this cluster.
+ "enablePrivateNodes": True or False, # Whether nodes have internal IP addresses only. If enabled, all nodes are
+ # given only RFC 1918 private addresses and communicate with the master via
+ # private networking.
+ "publicEndpoint": "A String", # Output only. The external IP address of this cluster's master endpoint.
+ "enablePrivateEndpoint": True or False, # Whether the master's internal IP address is used as the cluster endpoint.
+ "masterIpv4CidrBlock": "A String", # The IP range in CIDR notation to use for the hosted master network. This
+ # range will be used for assigning internal IP addresses to the master or
+ # set of masters, as well as the ILB VIP. This range must not overlap with
+ # any other ranges in use within the cluster's network.
+ },
+ "createTime": "A String", # [Output only] The time the cluster was created, in
+ # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+ "nodePools": [ # The node pools associated with this cluster.
+ # This field should not be set if "node_config" or "initial_node_count" are
+ # specified.
+ { # NodePool contains the name and configuration for a cluster's node pool.
+ # Node pools are a set of nodes (i.e. VM's), with a common configuration and
+ # 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.
+ "selfLink": "A String", # [Output only] Server-defined URL for the resource.
+ "management": { # NodeManagement defines the set of node management services turned on for the # NodeManagement configuration for this NodePool.
+ # node pool.
+ "upgradeOptions": { # AutoUpgradeOptions defines the set of options for the user to control how # Specifies the Auto Upgrade knobs for the node pool.
+ # the Auto Upgrades will proceed.
+ "description": "A String", # [Output only] This field is set when upgrades are about to commence
+ # with the description of the upgrade.
+ "autoUpgradeStartTime": "A String", # [Output only] This field is set when upgrades are about to commence
+ # with the approximate start time for the upgrades, in
+ # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+ },
+ "autoRepair": True or False, # 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.
+ "autoUpgrade": 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.
+ },
+ "upgradeSettings": { # 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.
+ "maxUnavailable": 42, # The maximum number of nodes that can be simultaneously unavailable during
+ # the upgrade process. A node is considered available if its status is
+ # Ready.
+ "maxSurge": 42, # The maximum number of nodes that can be created beyond the current size
+ # of the node pool during the upgrade process.
+ },
+ "initialNodeCount": 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.
+ "statusMessage": "A String", # [Output only] Additional information about the current status of this
+ # node pool instance, if available.
+ "version": "A String", # The version of the Kubernetes of this node.
+ "conditions": [ # Which conditions caused the current node pool state.
+ { # StatusCondition describes why a cluster or a node pool has a certain status
+ # (e.g., ERROR or DEGRADED).
+ "message": "A String", # Human-friendly representation of the condition
+ "code": "A String", # Machine-friendly representation of the condition
+ },
+ ],
+ "config": { # Parameters that describe the nodes in a cluster. # The node configuration of the pool.
+ "diskType": "A String", # Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd')
+ #
+ # If unspecified, the default disk type is 'pd-standard'
+ "bootDiskKmsKey": "A String", #
+ # The Customer Managed Encryption Key used to encrypt the boot disk attached
+ # to each node in the node pool. This should be of the form
+ # projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME].
+ # For more information about protecting resources with Cloud KMS Keys please
+ # see:
+ # https://cloud.google.com/compute/docs/disks/customer-managed-encryption
+ "shieldedInstanceConfig": { # A set of Shielded Instance options. # Shielded Instance options.
+ "enableIntegrityMonitoring": True or False, # Defines whether the instance has integrity monitoring enabled.
+ #
+ # Enables monitoring and attestation of the boot integrity of the instance.
+ # The attestation is performed against the integrity policy baseline. This
+ # baseline is initially derived from the implicitly trusted boot image when
+ # the instance is created.
+ "enableSecureBoot": True or False, # Defines whether the instance has Secure Boot enabled.
+ #
+ # Secure Boot helps ensure that the system only runs authentic software by
+ # verifying the digital signature of all boot components, and halting the
+ # boot process if signature verification fails.
+ },
+ "labels": { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
+ # These will added in addition to any default label(s) that
+ # Kubernetes may apply to the node.
+ # In case of conflict in label keys, the applied set may differ depending on
+ # the Kubernetes version -- it's best to assume the behavior is undefined
+ # and conflicts should be avoided.
+ # For more information, including usage and the valid values, see:
+ # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
+ "a_key": "A String",
+ },
+ "oauthScopes": [ # The set of Google API scopes to be made available on all of the
+ # node VMs under the "default" 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.
+ "A String",
+ ],
+ "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be
+ # scheduled on the specified or newer CPU platform. Applicable values are the
+ # friendly names of CPU platforms, such as
+ # <code>minCpuPlatform: &quot;Intel Haswell&quot;</code> or
+ # <code>minCpuPlatform: &quot;Intel Sandy Bridge&quot;</code>. For more
+ # information, read [how to specify min CPU
+ # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
+ "localSsdCount": 42, # The number of local SSD disks to be attached to the node.
+ #
+ # The limit for this value is dependent upon the maximum number of
+ # disks available on a machine per zone. See:
+ # https://cloud.google.com/compute/docs/disks/local-ssd
+ # for more information.
+ "taints": [ # 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.
+ "value": "A String", # Value for taint.
+ "key": "A String", # Key for taint.
+ "effect": "A String", # Effect for taint.
+ },
+ ],
+ "imageType": "A String", # The image type to use for this node. Note that for a given image type,
+ # the latest version of it will be used.
+ "reservationAffinity": { # [ReservationAffinity](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources) # The optional reservation affinity. Setting this field will apply
+ # the specified [Zonal Compute
+ # Reservation](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources)
+ # to this node pool.
+ # is the configuration of desired reservation which instances could take
+ # capacity from.
+ "consumeReservationType": "A String", # Corresponds to the type of reservation consumption.
+ "key": "A String", # Corresponds to the label key of a reservation resource. To target a
+ # SPECIFIC_RESERVATION by name, specify "googleapis.com/reservation-name" as
+ # the key and specify the name of your reservation as its value.
+ "values": [ # Corresponds to the label value(s) of reservation resource(s).
+ "A String",
+ ],
+ },
+ "machineType": "A String", # 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`.
+ "nodeGroup": "A String", # 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).
+ "metadata": { # The metadata key/value pairs assigned to instances in the cluster.
+ #
+ # Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes
+ # in length. These are reflected as part of a URL in the metadata server.
+ # Additionally, to avoid ambiguity, keys must not conflict with any other
+ # metadata keys for the project or be one of the reserved keys:
+ # "cluster-location"
+ # "cluster-name"
+ # "cluster-uid"
+ # "configure-sh"
+ # "containerd-configure-sh"
+ # "enable-os-login"
+ # "gci-ensure-gke-docker"
+ # "gci-metrics-enabled"
+ # "gci-update-strategy"
+ # "instance-template"
+ # "kube-env"
+ # "startup-script"
+ # "user-data"
+ # "disable-address-manager"
+ # "windows-startup-script-ps1"
+ # "common-psm1"
+ # "k8s-node-setup-psm1"
+ # "install-ssh-psm1"
+ # "user-profile-psm1"
+ # "serial-port-logging-enable"
+ #
+ # Values are free-form strings, and only have meaning as interpreted by
+ # the image running in the instance. The only restriction placed on them is
+ # that each value's size must be less than or equal to 32 KB.
+ #
+ # The total size of all keys and values must be less than 512 KB.
+ "a_key": "A String",
+ },
+ "tags": [ # The list of instance tags applied to all nodes. Tags are used to identify
+ # valid sources or targets for network firewalls and are specified by
+ # the client during cluster or node pool creation. Each tag within the list
+ # must comply with RFC1035.
+ "A String",
+ ],
+ "sandboxConfig": { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node.
+ "type": "A String", # Type of the sandbox to use for the node.
+ },
+ "preemptible": 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.
+ "workloadMetadataConfig": { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node.
+ # workloads on the node pool.
+ "mode": "A String", # Mode is the configuration for how to expose metadata to workloads running
+ # on the node pool.
+ },
+ "diskSizeGb": 42, # Size of the disk attached to each node, specified in GB.
+ # The smallest allowed disk size is 10GB.
+ #
+ # If unspecified, the default disk size is 100GB.
+ "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs.
+ # Specify the email address of the Service Account; otherwise, if no Service
+ # Account is specified, the "default" service account is used.
+ "accelerators": [ # A list of hardware accelerators to be attached to each node.
+ # See https://cloud.google.com/compute/docs/gpus for more information about
+ # support for GPUs.
+ { # AcceleratorConfig represents a Hardware Accelerator request.
+ "acceleratorType": "A String", # The accelerator type resource name. List of supported accelerators
+ # [here](https://cloud.google.com/compute/docs/gpus)
+ "acceleratorCount": "A String", # The number of the accelerator cards exposed to an instance.
+ },
+ ],
+ },
+ "name": "A String", # The name of the node pool.
+ "maxPodsConstraint": { # Constraints applied to pods. # The constraint on the maximum number of pods that can be run
+ # simultaneously on a node in the node pool.
+ "maxPodsPerNode": "A String", # Constraint enforced on the max num of pods per node.
+ },
+ "autoscaling": { # NodePoolAutoscaling contains information required by cluster autoscaler to # Autoscaler configuration for this NodePool. Autoscaler is enabled
+ # only if a valid configuration is present.
+ # adjust the size of the node pool to the current cluster usage.
+ "minNodeCount": 42, # Minimum number of nodes in the NodePool. Must be >= 1 and <=
+ # max_node_count.
+ "maxNodeCount": 42, # Maximum number of nodes in the NodePool. Must be >= min_node_count. There
+ # has to enough quota to scale up the cluster.
+ "enabled": True or False, # Is autoscaling enabled for this node pool.
+ "autoprovisioned": True or False, # Can this node pool be deleted automatically.
+ },
+ "podIpv4CidrSize": 42, # [Output only] The pod CIDR block size per node in this node pool.
+ "instanceGroupUrls": [ # [Output only] The resource URLs of the [managed instance
+ # groups](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances)
+ # associated with this node pool.
+ "A String",
+ ],
+ "status": "A String", # [Output only] The status of the nodes in this pool instance.
+ "locations": [ # The list of Google Compute Engine
+ # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
+ # NodePool's nodes should be located.
+ "A String",
+ ],
+ },
+ ],
+ "subnetwork": "A String", # The name of the Google Compute Engine
+ # [subnetwork](https://cloud.google.com/compute/docs/subnetworks) to which
+ # the cluster is connected.
+ "addonsConfig": { # Configuration for the addons that can be automatically spun up in the # Configurations for the various addons available to run in the cluster.
+ # cluster, enabling additional functionality.
+ "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.
+ # increases or decreases the number of replica pods a replication controller
+ # has based on the resource usage of the existing pods.
+ "disabled": True or False, # Whether the Horizontal Pod Autoscaling feature is enabled in the cluster.
+ # When enabled, it ensures that metrics are collected into Stackdriver
+ # Monitoring.
+ },
+ "dnsCacheConfig": { # Configuration for NodeLocal DNSCache # Configuration for NodeLocalDNS, a dns cache running on cluster nodes
+ "enabled": True or False, # Whether NodeLocal DNSCache is enabled for this cluster.
+ },
+ "networkPolicyConfig": { # Configuration for NetworkPolicy. This only tracks whether the addon # Configuration for NetworkPolicy. This only tracks whether the addon
+ # is enabled or not on the Master, it does not track whether network policy
+ # 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.
+ },
+ },
+ "masterAuth": { # The authentication information for accessing the master endpoint. # The authentication information for accessing the master endpoint.
+ # If unspecified, the defaults are used:
+ # For clusters before v1.12, if master_auth is unspecified, `username` will
+ # be set to "admin", a random password will be generated, and a client
+ # certificate will be issued.
+ # Authentication can be done using HTTP basic auth or using client
+ # certificates.
+ "clientKey": "A String", # [Output only] Base64-encoded private key used by clients to authenticate
+ # to the cluster endpoint.
+ "clientCertificate": "A String", # [Output only] Base64-encoded public certificate used by clients to
+ # authenticate to the cluster endpoint.
+ "username": "A String", # The username to use for HTTP basic authentication to the master endpoint.
+ # For clusters v1.6.0 and later, basic authentication can be disabled by
+ # leaving username unspecified (or setting it to the empty string).
+ "password": "A String", # The password to use for HTTP basic authentication to the master endpoint.
+ # Because the master endpoint is open to the Internet, you should create a
+ # strong password. If a password is provided for cluster creation, username
+ # must be non-empty.
+ "clientCertificateConfig": { # Configuration for client certificates on the cluster. # Configuration for client certificate authentication on the cluster. For
+ # clusters before v1.12, if no configuration is specified, a client
+ # certificate is issued.
+ "issueClientCertificate": True or False, # Issue a client certificate.
+ },
+ "clusterCaCertificate": "A String", # [Output only] Base64-encoded public certificate that is the root of
+ # trust for the cluster.
+ },
+ "verticalPodAutoscaling": { # VerticalPodAutoscaling contains global, per-cluster information # Cluster-level Vertical Pod Autoscaling configuration.
+ # required by Vertical Pod Autoscaler to automatically adjust
+ # the resources of pods controlled by it.
+ "enabled": True or False, # Enables vertical pod autoscaling.
+ },
+ "enableTpu": True or False, # Enable the ability to use Cloud TPUs in this cluster.
+ "initialClusterVersion": "A String", # The initial Kubernetes version for this cluster. Valid versions are those
+ # found in validMasterVersions returned by getServerConfig. The version can
+ # be upgraded over time; such upgrades are reflected in
+ # currentMasterVersion and currentNodeVersion.
#
- # 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:
+ #
+ # - "latest": picks the highest valid Kubernetes version
+ # - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
+ # - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
+ # - "1.X.Y-gke.N": picks an explicit Kubernetes version
+ # - "","-": picks the default Kubernetes version
+ "currentNodeCount": 42, # [Output only] The number of nodes currently in the cluster. Deprecated.
+ # Call Kubernetes API directly to retrieve node information.
+ "tpuIpv4CidrBlock": "A String", # [Output only] The IP address range of the Cloud TPUs in this cluster, in
+ # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+ # notation (e.g. `1.2.3.4/29`).
+ "locations": [ # The list of Google Compute Engine
+ # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
+ # cluster's nodes should be located.
+ "A String",
+ ],
+ "selfLink": "A String", # [Output only] Server-defined URL for the resource.
+ "description": "A String", # An optional description of this cluster.
+ "statusMessage": "A String", # [Output only] Additional information about the current status of this
+ # cluster, if available.
"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.
+ "servicesIpv4Cidr": "A String", # [Output only] The IP address range of the Kubernetes services in
+ # this cluster, in
+ # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+ # notation (e.g. `1.2.3.4/29`). Service addresses are
+ # typically put in the last `/16` from the container CIDR.
},
],
"missingZones": [ # 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.
- "clusterId": "A String", # Deprecated. The name of the cluster to upgrade.
- # This field has been deprecated and replaced by the name field.
"name": "A String", # The name (project, location, cluster) of the cluster to set locations.
# Specified in the format `projects/*/locations/*/clusters/*`.
+ "zone": "A String", # 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.
"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.
@@ -3623,10 +3723,6 @@
# This list must always include the cluster's primary zone.
"A String",
],
- "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.
@@ -3639,19 +3735,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}]
@@ -3659,41 +3745,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>
@@ -3715,17 +3811,17 @@
The object takes the form of:
{ # SetLoggingServiceRequest sets the logging service of a cluster.
- "name": "A String", # The name (project, location, cluster) of the cluster to set logging.
- # Specified in the format `projects/*/locations/*/clusters/*`.
+ "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 logging.
+ # 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.
- "clusterId": "A String", # Deprecated. The name of the cluster to upgrade.
- # This field has been deprecated and replaced by the name field.
"loggingService": "A String", # Required. The logging service the cluster should use to write logs.
# 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.
- "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}]
@@ -3769,41 +3855,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>
@@ -3825,9 +3921,6 @@
The object takes the form of:
{ # UpdateMasterRequest updates the master of the cluster.
- "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.
"masterVersion": "A String", # Required. The Kubernetes version to change the master to.
#
# Users may specify either explicit versions offered by Kubernetes Engine or
@@ -3838,6 +3931,9 @@
# - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
# - "1.X.Y-gke.N": picks an explicit Kubernetes version
# - "-": picks the default Kubernetes version
+ "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
@@ -3858,19 +3954,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}]
@@ -3878,41 +3964,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>
@@ -3934,8 +4030,6 @@
The object takes the form of:
{ # SetMonitoringServiceRequest sets the monitoring service of a cluster.
- "clusterId": "A String", # Deprecated. The name of the cluster to upgrade.
- # This field has been deprecated and replaced by the name field.
"monitoringService": "A String", # Required. The monitoring service the cluster should use to write metrics.
# 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.
- "name": "A String", # The name (project, location, cluster) of the cluster to set monitoring.
- # 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).
+ "clusterId": "A String", # Deprecated. The name of the cluster to upgrade.
# 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.
+ "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 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.
- "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}]
@@ -3988,41 +4074,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>
@@ -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
+ "name": "A String", # The name (project, location, cluster id) of the cluster to set labels.
+ # Specified in the format `projects/*/locations/*/clusters/*`.
+ "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project
+ # number](https://developers.google.com/console/help/new/#projectnumber).
+ # This field has been deprecated and replaced by the name field.
"clusterId": "A String", # Deprecated. The name of the cluster.
# This field has been deprecated and replaced by the name field.
"labelFingerprint": "A String", # Required. The fingerprint of the previous set of labels for this resource,
@@ -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.
- "name": "A String", # The name (project, location, cluster id) of the cluster to set labels.
- # Specified in the format `projects/*/locations/*/clusters/*`.
"resourceLabels": { # Required. The labels to set for that cluster.
"a_key": "A String",
},
- "projectId": "A String", # 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.
- "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}]
@@ -4098,41 +4184,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>
@@ -4165,6 +4261,15 @@
"startTime": "A String", # The time that the window first starts.
},
},
+ "dailyMaintenanceWindow": { # Time window specified for daily maintenance operations. # DailyMaintenanceWindow specifies a daily maintenance operation window.
+ "duration": "A String", # [Output only] Duration of the time window, automatically chosen to be
+ # smallest possible in the given scenario.
+ # Duration will be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)
+ # format "PTnHnMnS".
+ "startTime": "A String", # Time within the maintenance window to start the maintenance operations.
+ # Time format should be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)
+ # format "HH:MM", where HH : [00-23] and MM : [00-59] GMT.
+ },
"recurringWindow": { # 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.
},
- "dailyMaintenanceWindow": { # Time window specified for daily maintenance operations. # DailyMaintenanceWindow specifies a daily maintenance operation window.
- "startTime": "A String", # Time within the maintenance window to start the maintenance operations.
- # Time format should be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)
- # format "HH:MM", where HH : [00-23] and MM : [00-59] GMT.
- "duration": "A String", # [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 "PTnHnMnS".
- },
},
"resourceVersion": "A String", # A hash identifying the version of this policy, so that updates to fields of
# the policy won't accidentally undo intermediate changes (and so that users
@@ -4219,10 +4315,10 @@
},
"projectId": "A String", # Required. The Google Developers Console [project ID or project
# number](https://support.google.com/cloud/answer/6158840).
+ "clusterId": "A String", # Required. The name of the cluster to update.
"zone": "A String", # Required. The name of the Google Compute Engine
# [zone](https://cloud.google.com/compute/docs/zones#available) in which the
# cluster resides.
- "clusterId": "A String", # 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.
- "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}]
@@ -4255,41 +4341,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>
@@ -4313,17 +4409,22 @@
The object takes the form of:
{ # SetMasterAuthRequest updates the admin password of a cluster.
- "name": "A String", # The name (project, location, cluster) of the cluster to set auth.
- # Specified in the format `projects/*/locations/*/clusters/*`.
- "action": "A String", # Required. The exact form of action to be taken on the master auth.
- "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.
"update": { # 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.
+ "clientKey": "A String", # [Output only] Base64-encoded private key used by clients to authenticate
+ # to the cluster endpoint.
+ "clientCertificate": "A String", # [Output only] Base64-encoded public certificate used by clients to
+ # authenticate to the cluster endpoint.
+ "username": "A String", # The username to use for HTTP basic authentication to the master endpoint.
+ # For clusters v1.6.0 and later, basic authentication can be disabled by
+ # leaving username unspecified (or setting it to the empty string).
"password": "A String", # The password to use for HTTP basic authentication to the master endpoint.
# Because the master endpoint is open to the Internet, you should create a
# strong password. If a password is provided for cluster creation, username
@@ -4333,20 +4434,15 @@
# certificate is issued.
"issueClientCertificate": True or False, # Issue a client certificate.
},
- "clientKey": "A String", # [Output only] Base64-encoded private key used by clients to authenticate
- # to the cluster endpoint.
"clusterCaCertificate": "A String", # [Output only] Base64-encoded public certificate that is the root of
# trust for the cluster.
- "clientCertificate": "A String", # [Output only] Base64-encoded public certificate used by clients to
- # authenticate to the cluster endpoint.
- "username": "A String", # The username to use for HTTP basic authentication to the master endpoint.
- # For clusters v1.6.0 and later, basic authentication can be disabled by
- # leaving username unspecified (or setting it to the empty string).
},
- "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.
+ "name": "A String", # The name (project, location, cluster) of the cluster to set auth.
+ # Specified in the format `projects/*/locations/*/clusters/*`.
+ "action": "A String", # Required. The exact form of action to be taken on the master auth.
+ "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.
}
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.
- "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}]
@@ -4379,41 +4465,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>
@@ -4435,22 +4531,22 @@
The object takes the form of:
{ # SetNetworkPolicyRequest enables/disables network policy for a cluster.
- "clusterId": "A String", # Deprecated. The name of the cluster.
- # This field has been deprecated and replaced by the name field.
- "networkPolicy": { # Configuration options for the NetworkPolicy feature. # Required. Configuration options for the NetworkPolicy feature.
- # https://kubernetes.io/docs/concepts/services-networking/networkpolicies/
- "provider": "A String", # The selected network policy provider.
- "enabled": True or False, # Whether network policy is enabled on the cluster.
- },
"name": "A String", # The name (project, location, cluster id) of the cluster to set networking
# policy. Specified in the format `projects/*/locations/*/clusters/*`.
- "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project
- # number](https://developers.google.com/console/help/new/#projectnumber).
+ "clusterId": "A String", # Deprecated. The name of the cluster.
# 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.
+ "networkPolicy": { # Configuration options for the NetworkPolicy feature. # Required. Configuration options for the NetworkPolicy feature.
+ # https://kubernetes.io/docs/concepts/services-networking/networkpolicies/
+ "enabled": True or False, # Whether network policy is enabled on the cluster.
+ "provider": "A String", # The selected network policy provider.
+ },
+ "projectId": "A String", # 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.
- "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}]
@@ -4483,41 +4569,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>
@@ -4542,14 +4638,14 @@
# a node upgrade on each node pool to point to the new IP.
"name": "A String", # The name (project, location, cluster id) of the cluster to start IP
# rotation. Specified in the format `projects/*/locations/*/clusters/*`.
- "projectId": "A String", # 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.
"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.
"rotateCredentials": True or False, # Whether to rotate credentials during IP rotation.
+ "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project
+ # number](https://developers.google.com/console/help/new/#projectnumber).
+ # This field has been deprecated and replaced by the name field.
"clusterId": "A String", # 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.
- "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}]
@@ -4584,41 +4670,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>
@@ -4640,89 +4736,16 @@
The object takes the form of:
{ # UpdateClusterRequest updates the settings of a 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 update.
+ # Specified in the format `projects/*/locations/*/clusters/*`.
"update": { # 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.
- "desiredImageType": "A String", # The desired image type for the node pool.
- # NOTE: Set the "desired_node_pool" field as well.
- "desiredWorkloadIdentityConfig": { # Configuration for the use of Kubernetes Service Accounts in GCP IAM # Configuration for Workload Identity.
- # policies.
- "workloadPool": "A String", # The workload pool to attach all Kubernetes service accounts to.
- },
- "desiredNodePoolId": "A String", # The node pool to be upgraded. This field is mandatory if
- # "desired_node_version", "desired_image_family" or
- # "desired_node_pool_autoscaling" is specified and there is more than one
- # node pool on the cluster.
- "desiredMasterVersion": "A String", # The Kubernetes version to change the master to.
- #
- # Users may specify either explicit versions offered by
- # Kubernetes Engine or version aliases, which have the following behavior:
- #
- # - "latest": picks the highest valid Kubernetes version
- # - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
- # - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
- # - "1.X.Y-gke.N": picks an explicit Kubernetes version
- # - "-": picks the default Kubernetes version
- "desiredShieldedNodes": { # Configuration of Shielded Nodes feature. # Configuration for Shielded Nodes.
- "enabled": True or False, # Whether Shielded Nodes features are enabled on all nodes in this cluster.
- },
- "desiredLoggingService": "A String", # The logging service the cluster should use to write logs.
- # Currently available options:
- #
- # * `logging.googleapis.com/kubernetes` - The Cloud Logging
- # service with a Kubernetes-native resource model
- # * `logging.googleapis.com` - The legacy Cloud Logging service (no longer
- # available as of GKE 1.15).
- # * `none` - no logs will be exported from the cluster.
- #
- # If left as an empty string,`logging.googleapis.com/kubernetes` will be
- # used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.
- "desiredVerticalPodAutoscaling": { # VerticalPodAutoscaling contains global, per-cluster information # Cluster-level Vertical Pod Autoscaling configuration.
- # required by Vertical Pod Autoscaler to automatically adjust
- # the resources of pods controlled by it.
- "enabled": True or False, # Enables vertical pod autoscaling.
- },
- "desiredBinaryAuthorization": { # Configuration for Binary Authorization. # The desired configuration options for the Binary Authorization feature.
- "enabled": True or False, # Enable Binary Authorization for this cluster. If enabled, all container
- # images will be validated by Binary Authorization.
- },
- "desiredAddonsConfig": { # Configuration for the addons that can be automatically spun up in the # Configurations for the various addons available to run in the cluster.
- # cluster, enabling additional functionality.
- "networkPolicyConfig": { # Configuration for NetworkPolicy. This only tracks whether the addon # Configuration for NetworkPolicy. This only tracks whether the addon
- # is enabled or not on the Master, it does not track whether network policy
- # is enabled for the nodes.
- # is enabled or not on the Master, it does not track whether network policy
- # is enabled for the nodes.
- "disabled": True or False, # Whether NetworkPolicy is enabled for this cluster.
- },
- "cloudRunConfig": { # Configuration options for the Cloud Run feature. # Configuration for the Cloud Run addon, which allows the user to use a
- # managed Knative service.
- "disabled": True or False, # Whether Cloud Run addon is enabled for this cluster.
- },
- "horizontalPodAutoscaling": { # Configuration options for the horizontal pod autoscaling feature, which # Configuration for the horizontal pod autoscaling feature, which
- # increases or decreases the number of replica pods a replication controller
- # has based on the resource usage of the existing pods.
- # increases or decreases the number of replica pods a replication controller
- # has based on the resource usage of the existing pods.
- "disabled": True or False, # Whether the Horizontal Pod Autoscaling feature is enabled in the cluster.
- # When enabled, it ensures that metrics are collected into Stackdriver
- # Monitoring.
- },
- "httpLoadBalancing": { # Configuration options for the HTTP (L7) load balancing controller addon, # Configuration for the HTTP (L7) load balancing controller addon, which
- # makes it easy to set up HTTP load balancers for services in a cluster.
- # which makes it easy to set up HTTP load balancers for services in a cluster.
- "disabled": True or False, # Whether the HTTP Load Balancing controller is enabled in the cluster.
- # When enabled, it runs a small pod in the cluster that manages the load
- # balancers.
- },
- "kubernetesDashboard": { # Configuration for the Kubernetes Dashboard. # Configuration for the Kubernetes Dashboard.
- # This addon is deprecated, and will be disabled in 1.15. It is recommended
- # to use the Cloud Console to manage and monitor your Kubernetes clusters,
- # workloads and applications. For more information, see:
- # https://cloud.google.com/kubernetes-engine/docs/concepts/dashboards
- "disabled": True or False, # Whether the Kubernetes Dashboard is enabled for this cluster.
- },
- },
"desiredNodeVersion": "A String", # The Kubernetes version to change the nodes to (typically an
# upgrade).
#
@@ -4734,41 +4757,159 @@
# - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
# - "1.X.Y-gke.N": picks an explicit Kubernetes version
# - "-": picks the Kubernetes master version
- "desiredIntraNodeVisibilityConfig": { # IntraNodeVisibilityConfig contains the desired config of the intra-node # The desired config of Intra-node visibility.
- # visibility on this cluster.
- "enabled": True or False, # Enables intra node visibility for this cluster.
+ "desiredWorkloadIdentityConfig": { # Configuration for the use of Kubernetes Service Accounts in GCP IAM # Configuration for Workload Identity.
+ # policies.
+ "workloadPool": "A String", # The workload pool to attach all Kubernetes service accounts to.
+ },
+ "desiredVerticalPodAutoscaling": { # VerticalPodAutoscaling contains global, per-cluster information # Cluster-level Vertical Pod Autoscaling configuration.
+ # required by Vertical Pod Autoscaler to automatically adjust
+ # the resources of pods controlled by it.
+ "enabled": True or False, # Enables vertical pod autoscaling.
+ },
+ "desiredResourceUsageExportConfig": { # Configuration for exporting cluster resource usages. # The desired configuration for exporting resource usage.
+ "enableNetworkEgressMetering": True or False, # Whether to enable network egress metering for this cluster. If enabled, a
+ # daemonset will be created in the cluster to meter network egress traffic.
+ "bigqueryDestination": { # Parameters for using BigQuery as the destination of resource usage export. # Configuration to use BigQuery as usage export destination.
+ "datasetId": "A String", # The ID of a BigQuery Dataset.
+ },
+ "consumptionMeteringConfig": { # Parameters for controlling consumption metering. # Configuration to enable resource consumption metering.
+ "enabled": True or False, # Whether to enable consumption metering for this cluster. If enabled, a
+ # second BigQuery table will be created to hold resource consumption
+ # records.
+ },
+ },
+ "desiredMasterVersion": "A String", # The Kubernetes version to change the master to.
+ #
+ # Users may specify either explicit versions offered by
+ # Kubernetes Engine or version aliases, which have the following behavior:
+ #
+ # - "latest": picks the highest valid Kubernetes version
+ # - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
+ # - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
+ # - "1.X.Y-gke.N": picks an explicit Kubernetes version
+ # - "-": picks the default Kubernetes version
+ "desiredMonitoringService": "A String", # The monitoring service the cluster should use to write metrics.
+ # Currently available options:
+ #
+ # * "monitoring.googleapis.com/kubernetes" - 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.
+ "desiredLoggingService": "A String", # The logging service the cluster should use to write logs.
+ # Currently available options:
+ #
+ # * `logging.googleapis.com/kubernetes` - The Cloud Logging
+ # service with a Kubernetes-native resource model
+ # * `logging.googleapis.com` - The legacy Cloud Logging service (no longer
+ # available as of GKE 1.15).
+ # * `none` - no logs will be exported from the cluster.
+ #
+ # If left as an empty string,`logging.googleapis.com/kubernetes` will be
+ # used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.
+ "desiredAddonsConfig": { # Configuration for the addons that can be automatically spun up in the # Configurations for the various addons available to run in the cluster.
+ # cluster, enabling additional functionality.
+ "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.
+ # increases or decreases the number of replica pods a replication controller
+ # has based on the resource usage of the existing pods.
+ "disabled": True or False, # Whether the Horizontal Pod Autoscaling feature is enabled in the cluster.
+ # When enabled, it ensures that metrics are collected into Stackdriver
+ # Monitoring.
+ },
+ "dnsCacheConfig": { # Configuration for NodeLocal DNSCache # Configuration for NodeLocalDNS, a dns cache running on cluster nodes
+ "enabled": True or False, # Whether NodeLocal DNSCache is enabled for this cluster.
+ },
+ "networkPolicyConfig": { # Configuration for NetworkPolicy. This only tracks whether the addon # Configuration for NetworkPolicy. This only tracks whether the addon
+ # is enabled or not on the Master, it does not track whether network policy
+ # 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.
+ },
+ },
+ "desiredNodePoolAutoscaling": { # NodePoolAutoscaling contains information required by cluster autoscaler to # Autoscaler configuration for the node pool specified in
+ # desired_node_pool_id. If there is only one pool in the
+ # cluster and desired_node_pool_id is not provided then
+ # the change applies to that single node pool.
+ # adjust the size of the node pool to the current cluster usage.
+ "minNodeCount": 42, # Minimum number of nodes in the NodePool. Must be >= 1 and <=
+ # max_node_count.
+ "maxNodeCount": 42, # Maximum number of nodes in the NodePool. Must be >= min_node_count. There
+ # has to enough quota to scale up the cluster.
+ "enabled": True or False, # Is autoscaling enabled for this node pool.
+ "autoprovisioned": True or False, # Can this node pool be deleted automatically.
+ },
+ "desiredLocations": [ # The desired list of Google Compute Engine
+ # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
+ # cluster's nodes should be located. Changing the locations a cluster is in
+ # will result in nodes being either created or removed from the cluster,
+ # depending on whether locations are being added or removed.
+ #
+ # This list must always include the cluster's primary zone.
+ "A String",
+ ],
+ "desiredMasterAuthorizedNetworksConfig": { # Configuration options for the master authorized networks feature. Enabled # The desired configuration options for master authorized networks feature.
+ # master authorized networks will disallow all external traffic to access
+ # Kubernetes master through HTTPS except traffic from the given CIDR blocks,
+ # Google Compute Engine Public IPs and Google Prod IPs.
+ "enabled": True or False, # Whether or not master authorized networks is enabled.
+ "cidrBlocks": [ # cidr_blocks define up to 50 external networks that could access
+ # Kubernetes master through HTTPS.
+ { # CidrBlock contains an optional name and one CIDR block.
+ "displayName": "A String", # display_name is an optional field for users to identify CIDR blocks.
+ "cidrBlock": "A String", # cidr_block must be specified in CIDR notation.
+ },
+ ],
},
"desiredClusterAutoscaling": { # 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.
- "autoprovisioningLocations": [ # The list of Google Compute Engine
- # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
- # NodePool's nodes can be created by NAP.
- "A String",
- ],
"resourceLimits": [ # Contains global constraints regarding minimum and maximum
# amount of resources in the cluster.
{ # Contains information about amount of some resource in the cluster.
# For memory, value should be in GB.
"minimum": "A String", # Minimum amount of the resource in the cluster.
- "maximum": "A String", # Maximum amount of the resource in the cluster.
"resourceType": "A String", # Resource name "cpu", "memory" or gpu-specific string.
+ "maximum": "A String", # Maximum amount of the resource in the cluster.
},
],
- "enableNodeAutoprovisioning": True or False, # Enables automatic node pool creation and deletion.
"autoprovisioningNodePoolDefaults": { # AutoprovisioningNodePoolDefaults contains defaults for a node pool created # AutoprovisioningNodePoolDefaults contains defaults for a node pool
# created by NAP.
# by NAP.
+ "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs.
"management": { # NodeManagement defines the set of node management services turned on for the # Specifies the node management options for NAP created node-pools.
# node pool.
"upgradeOptions": { # AutoUpgradeOptions defines the set of options for the user to control how # Specifies the Auto Upgrade knobs for the node pool.
# the Auto Upgrades will proceed.
+ "description": "A String", # [Output only] This field is set when upgrades are about to commence
+ # with the description of the upgrade.
"autoUpgradeStartTime": "A String", # [Output only] This field is set when upgrades are about to commence
# with the approximate start time for the upgrades, in
# [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
- "description": "A String", # [Output only] This field is set when upgrades are about to commence
- # with the description of the upgrade.
},
"autoRepair": 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.
},
- "oauthScopes": [ # Scopes that are used by NAP when creating node pools. If oauth_scopes are
- # specified, service_account should be empty.
- "A String",
- ],
"upgradeSettings": { # These upgrade settings control the level of parallelism and the level of # Specifies the upgrade settings for NAP created node pools
# disruption caused by an upgrade.
#
@@ -4811,84 +4948,52 @@
"maxSurge": 42, # The maximum number of nodes that can be created beyond the current size
# of the node pool during the upgrade process.
},
- "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs. If
- # service_account is specified, scopes should be empty.
+ "oauthScopes": [ # Scopes that are used by NAP when creating node pools.
+ "A String",
+ ],
},
+ "enableNodeAutoprovisioning": True or False, # Enables automatic node pool creation and deletion.
+ "autoprovisioningLocations": [ # The list of Google Compute Engine
+ # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
+ # NodePool's nodes can be created by NAP.
+ "A String",
+ ],
+ },
+ "desiredNodePoolId": "A String", # The node pool to be upgraded. This field is mandatory if
+ # "desired_node_version", "desired_image_family" or
+ # "desired_node_pool_autoscaling" is specified and there is more than one
+ # node pool on the cluster.
+ "desiredImageType": "A String", # The desired image type for the node pool.
+ # NOTE: Set the "desired_node_pool" field as well.
+ "desiredReleaseChannel": { # 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.
+ "channel": "A String", # channel specifies which release channel the cluster is subscribed to.
+ },
+ "desiredIntraNodeVisibilityConfig": { # IntraNodeVisibilityConfig contains the desired config of the intra-node # The desired config of Intra-node visibility.
+ # visibility on this cluster.
+ "enabled": True or False, # Enables intra node visibility for this cluster.
},
"desiredDatabaseEncryption": { # Configuration of etcd encryption. # Configuration of etcd encryption.
+ "state": "A String", # Denotes the state of etcd encryption.
"keyName": "A String", # Name of CloudKMS key to use for the encryption of secrets in etcd.
# Ex. projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-key
- "state": "A String", # Denotes the state of etcd encryption.
},
- "desiredMasterAuthorizedNetworksConfig": { # Configuration options for the master authorized networks feature. Enabled # The desired configuration options for master authorized networks feature.
- # master authorized networks will disallow all external traffic to access
- # Kubernetes master through HTTPS except traffic from the given CIDR blocks,
- # Google Compute Engine Public IPs and Google Prod IPs.
- "cidrBlocks": [ # cidr_blocks define up to 50 external networks that could access
- # Kubernetes master through HTTPS.
- { # CidrBlock contains an optional name and one CIDR block.
- "displayName": "A String", # display_name is an optional field for users to identify CIDR blocks.
- "cidrBlock": "A String", # cidr_block must be specified in CIDR notation.
- },
- ],
- "enabled": True or False, # Whether or not master authorized networks is enabled.
+ "desiredShieldedNodes": { # Configuration of Shielded Nodes feature. # Configuration for Shielded Nodes.
+ "enabled": True or False, # Whether Shielded Nodes features are enabled on all nodes in this cluster.
},
- "desiredResourceUsageExportConfig": { # Configuration for exporting cluster resource usages. # The desired configuration for exporting resource usage.
- "enableNetworkEgressMetering": True or False, # Whether to enable network egress metering for this cluster. If enabled, a
- # daemonset will be created in the cluster to meter network egress traffic.
- "consumptionMeteringConfig": { # Parameters for controlling consumption metering. # Configuration to enable resource consumption metering.
- "enabled": True or False, # Whether to enable consumption metering for this cluster. If enabled, a
- # second BigQuery table will be created to hold resource consumption
- # records.
- },
- "bigqueryDestination": { # Parameters for using BigQuery as the destination of resource usage export. # Configuration to use BigQuery as usage export destination.
- "datasetId": "A String", # The ID of a BigQuery Dataset.
- },
+ "desiredBinaryAuthorization": { # Configuration for Binary Authorization. # The desired configuration options for the Binary Authorization feature.
+ "enabled": True or False, # Enable Binary Authorization for this cluster. If enabled, all container
+ # images will be validated by Binary Authorization.
},
- "desiredNodePoolAutoscaling": { # 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.
- "maxNodeCount": 42, # Maximum number of nodes in the NodePool. Must be >= min_node_count. There
- # has to enough quota to scale up the cluster.
- "autoprovisioned": True or False, # Can this node pool be deleted automatically.
- "minNodeCount": 42, # Minimum number of nodes in the NodePool. Must be >= 1 and <=
- # max_node_count.
- "enabled": True or False, # Is autoscaling enabled for this node pool.
- },
- "desiredLocations": [ # The desired list of Google Compute Engine
- # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
- # cluster's nodes should be located. Changing the locations a cluster is in
- # will result in nodes being either created or removed from the cluster,
- # depending on whether locations are being added or removed.
- #
- # This list must always include the cluster's primary zone.
- "A String",
- ],
- "desiredMonitoringService": "A String", # The monitoring service the cluster should use to write metrics.
- # Currently available options:
- #
- # * "monitoring.googleapis.com/kubernetes" - 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.
},
- "name": "A String", # The name (project, location, cluster) of the cluster to update.
- # 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.
}
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.
- "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}]
@@ -4921,41 +5016,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>