1<html><body> 2<style> 3 4body, h1, h2, h3, div, span, p, pre, a { 5 margin: 0; 6 padding: 0; 7 border: 0; 8 font-weight: inherit; 9 font-style: inherit; 10 font-size: 100%; 11 font-family: inherit; 12 vertical-align: baseline; 13} 14 15body { 16 font-size: 13px; 17 padding: 1em; 18} 19 20h1 { 21 font-size: 26px; 22 margin-bottom: 1em; 23} 24 25h2 { 26 font-size: 24px; 27 margin-bottom: 1em; 28} 29 30h3 { 31 font-size: 20px; 32 margin-bottom: 1em; 33 margin-top: 1em; 34} 35 36pre, code { 37 line-height: 1.5; 38 font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace; 39} 40 41pre { 42 margin-top: 0.5em; 43} 44 45h1, h2, h3, p { 46 font-family: Arial, sans serif; 47} 48 49h1, h2, h3 { 50 border-bottom: solid #CCC 1px; 51} 52 53.toc_element { 54 margin-top: 0.5em; 55} 56 57.firstline { 58 margin-left: 2 em; 59} 60 61.method { 62 margin-top: 1em; 63 border: solid 1px #CCC; 64 padding: 1em; 65 background: #EEE; 66} 67 68.details { 69 font-weight: bold; 70 font-size: 14px; 71} 72 73</style> 74 75<h1><a href="container_v1beta1.html">Kubernetes Engine API</a> . <a href="container_v1beta1.projects.html">projects</a> . <a href="container_v1beta1.projects.locations.html">locations</a> . <a href="container_v1beta1.projects.locations.clusters.html">clusters</a></h1> 76<h2>Instance Methods</h2> 77<p class="toc_element"> 78 <code><a href="container_v1beta1.projects.locations.clusters.nodePools.html">nodePools()</a></code> 79</p> 80<p class="firstline">Returns the nodePools Resource.</p> 81 82<p class="toc_element"> 83 <code><a href="container_v1beta1.projects.locations.clusters.well-known.html">well-known()</a></code> 84</p> 85<p class="firstline">Returns the well-known Resource.</p> 86 87<p class="toc_element"> 88 <code><a href="#completeIpRotation">completeIpRotation(name, body, x__xgafv=None)</a></code></p> 89<p class="firstline">Completes master IP rotation.</p> 90<p class="toc_element"> 91 <code><a href="#create">create(parent, body, x__xgafv=None)</a></code></p> 92<p class="firstline">Creates a cluster, consisting of the specified number and type of Google</p> 93<p class="toc_element"> 94 <code><a href="#delete">delete(name, projectId=None, clusterId=None, zone=None, x__xgafv=None)</a></code></p> 95<p class="firstline">Deletes the cluster, including the Kubernetes endpoint and all worker</p> 96<p class="toc_element"> 97 <code><a href="#get">get(name, projectId=None, clusterId=None, zone=None, x__xgafv=None)</a></code></p> 98<p class="firstline">Gets the details for a specific cluster.</p> 99<p class="toc_element"> 100 <code><a href="#getJwks">getJwks(parent, x__xgafv=None)</a></code></p> 101<p class="firstline">Gets the public component of the cluster signing keys in</p> 102<p class="toc_element"> 103 <code><a href="#list">list(parent, projectId=None, zone=None, x__xgafv=None)</a></code></p> 104<p class="firstline">Lists all clusters owned by a project in either the specified zone or all</p> 105<p class="toc_element"> 106 <code><a href="#setAddons">setAddons(name, body, x__xgafv=None)</a></code></p> 107<p class="firstline">Sets the addons for a specific cluster.</p> 108<p class="toc_element"> 109 <code><a href="#setLegacyAbac">setLegacyAbac(name, body, x__xgafv=None)</a></code></p> 110<p class="firstline">Enables or disables the ABAC authorization mechanism on a cluster.</p> 111<p class="toc_element"> 112 <code><a href="#setLocations">setLocations(name, body, x__xgafv=None)</a></code></p> 113<p class="firstline">Sets the locations for a specific cluster.</p> 114<p class="toc_element"> 115 <code><a href="#setLogging">setLogging(name, body, x__xgafv=None)</a></code></p> 116<p class="firstline">Sets the logging service for a specific cluster.</p> 117<p class="toc_element"> 118 <code><a href="#setMaintenancePolicy">setMaintenancePolicy(name, body, x__xgafv=None)</a></code></p> 119<p class="firstline">Sets the maintenance policy for a cluster.</p> 120<p class="toc_element"> 121 <code><a href="#setMasterAuth">setMasterAuth(name, body, x__xgafv=None)</a></code></p> 122<p class="firstline">Sets master auth materials. Currently supports changing the admin password</p> 123<p class="toc_element"> 124 <code><a href="#setMonitoring">setMonitoring(name, body, x__xgafv=None)</a></code></p> 125<p class="firstline">Sets the monitoring service for a specific cluster.</p> 126<p class="toc_element"> 127 <code><a href="#setNetworkPolicy">setNetworkPolicy(name, body, x__xgafv=None)</a></code></p> 128<p class="firstline">Enables or disables Network Policy for a cluster.</p> 129<p class="toc_element"> 130 <code><a href="#setResourceLabels">setResourceLabels(name, body, x__xgafv=None)</a></code></p> 131<p class="firstline">Sets labels on a cluster.</p> 132<p class="toc_element"> 133 <code><a href="#startIpRotation">startIpRotation(name, body, x__xgafv=None)</a></code></p> 134<p class="firstline">Starts master IP rotation.</p> 135<p class="toc_element"> 136 <code><a href="#update">update(name, body, x__xgafv=None)</a></code></p> 137<p class="firstline">Updates the settings for a specific cluster.</p> 138<p class="toc_element"> 139 <code><a href="#updateMaster">updateMaster(name, body, x__xgafv=None)</a></code></p> 140<p class="firstline">Updates the master for a specific cluster.</p> 141<h3>Method Details</h3> 142<div class="method"> 143 <code class="details" id="completeIpRotation">completeIpRotation(name, body, x__xgafv=None)</code> 144 <pre>Completes master IP rotation. 145 146Args: 147 name: string, The name (project, location, cluster id) of the cluster to complete IP 148rotation. Specified in the format 'projects/*/locations/*/clusters/*'. (required) 149 body: object, The request body. (required) 150 The object takes the form of: 151 152{ # CompleteIPRotationRequest moves the cluster master back into single-IP mode. 153 "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project 154 # number](https://developers.google.com/console/help/new/#projectnumber). 155 # This field has been deprecated and replaced by the name field. 156 "clusterId": "A String", # Deprecated. The name of the cluster. 157 # This field has been deprecated and replaced by the name field. 158 "name": "A String", # The name (project, location, cluster id) of the cluster to complete IP 159 # rotation. Specified in the format 'projects/*/locations/*/clusters/*'. 160 "zone": "A String", # Deprecated. The name of the Google Compute Engine 161 # [zone](/compute/docs/zones#available) in which the cluster 162 # resides. 163 # This field has been deprecated and replaced by the name field. 164 } 165 166 x__xgafv: string, V1 error format. 167 Allowed values 168 1 - v1 error format 169 2 - v2 error format 170 171Returns: 172 An object of the form: 173 174 { # This operation resource represents operations that may have happened or are 175 # happening on the cluster. All fields are output only. 176 "status": "A String", # The current status of the operation. 177 "endTime": "A String", # [Output only] The time the operation completed, in 178 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. 179 "name": "A String", # The server-assigned ID for the operation. 180 "zone": "A String", # The name of the Google Compute Engine 181 # [zone](/compute/docs/zones#available) in which the operation 182 # is taking place. 183 # This field is deprecated, use location instead. 184 "location": "A String", # [Output only] The name of the Google Compute Engine 185 # [zone](/compute/docs/regions-zones/regions-zones#available) or 186 # [region](/compute/docs/regions-zones/regions-zones#available) in which 187 # the cluster resides. 188 "startTime": "A String", # [Output only] The time the operation started, in 189 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. 190 "detail": "A String", # Detailed operation progress, if available. 191 "clusterConditions": [ # Which conditions caused the current cluster state. 192 { # StatusCondition describes why a cluster or a node pool has a certain status 193 # (e.g., ERROR or DEGRADED). 194 "message": "A String", # Human-friendly representation of the condition 195 "code": "A String", # Machine-friendly representation of the condition 196 }, 197 ], 198 "statusMessage": "A String", # If an error has occurred, a textual description of the error. 199 "operationType": "A String", # The operation type. 200 "progress": { # Information about operation (or operation stage) progress. # [Output only] Progress information for an operation. 201 "status": "A String", # Status of an operation stage. 202 # Unset for single-stage operations. 203 "metrics": [ # Progress metric bundle, for example: 204 # metrics: [{name: "nodes done", int_value: 15}, 205 # {name: "nodes total", int_value: 32}] 206 # or 207 # metrics: [{name: "progress", double_value: 0.56}, 208 # {name: "progress scale", double_value: 1.0}] 209 { # Progress metric is (string, int|float|string) pair. 210 "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.). 211 "intValue": "A String", # For metrics with integer value. 212 "name": "A String", # Metric name, required. 213 # e.g., "nodes total", "percent done" 214 "doubleValue": 3.14, # For metrics with floating point value. 215 }, 216 ], 217 "stages": [ # Substages of an operation or a stage. 218 # Object with schema name: OperationProgress 219 ], 220 "name": "A String", # A non-parameterized string describing an operation stage. 221 # Unset for single-stage operations. 222 }, 223 "nodepoolConditions": [ # Which conditions caused the current node pool state. 224 { # StatusCondition describes why a cluster or a node pool has a certain status 225 # (e.g., ERROR or DEGRADED). 226 "message": "A String", # Human-friendly representation of the condition 227 "code": "A String", # Machine-friendly representation of the condition 228 }, 229 ], 230 "selfLink": "A String", # Server-defined URL for the resource. 231 "targetLink": "A String", # Server-defined URL for the target of the operation. 232 }</pre> 233</div> 234 235<div class="method"> 236 <code class="details" id="create">create(parent, body, x__xgafv=None)</code> 237 <pre>Creates a cluster, consisting of the specified number and type of Google 238Compute Engine instances. 239 240By default, the cluster is created in the project's 241[default network](/compute/docs/networks-and-firewalls#networks). 242 243One firewall is added for the cluster. After cluster creation, 244the Kubelet creates routes for each node to allow the containers 245on that node to communicate with all other instances in the 246cluster. 247 248Finally, an entry is added to the project's global metadata indicating 249which CIDR range the cluster is using. 250 251Args: 252 parent: string, The parent (project and location) where the cluster will be created. 253Specified in the format 'projects/*/locations/*'. (required) 254 body: object, The request body. (required) 255 The object takes the form of: 256 257{ # CreateClusterRequest creates a cluster. 258 "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project 259 # number](https://support.google.com/cloud/answer/6158840). 260 # This field has been deprecated and replaced by the parent field. 261 "parent": "A String", # The parent (project and location) where the cluster will be created. 262 # Specified in the format 'projects/*/locations/*'. 263 "zone": "A String", # Deprecated. The name of the Google Compute Engine 264 # [zone](/compute/docs/zones#available) in which the cluster 265 # resides. 266 # This field has been deprecated and replaced by the parent field. 267 "cluster": { # A Google Kubernetes Engine cluster. # A [cluster 268 # resource](/container-engine/reference/rest/v1beta1/projects.zones.clusters) 269 "nodeIpv4CidrSize": 42, # [Output only] The size of the address space on each node for hosting 270 # containers. This is provisioned from within the `container_ipv4_cidr` 271 # range. This field will only be set when cluster is in route-based network 272 # mode. 273 "maintenancePolicy": { # MaintenancePolicy defines the maintenance policy to be used for the cluster. # Configure the maintenance policy for this cluster. 274 "window": { # MaintenanceWindow defines the maintenance window to be used for the cluster. # Specifies the maintenance window in which maintenance may be performed. 275 "dailyMaintenanceWindow": { # Time window specified for daily maintenance operations. # DailyMaintenanceWindow specifies a daily maintenance operation window. 276 "duration": "A String", # [Output only] Duration of the time window, automatically chosen to be 277 # smallest possible in the given scenario. 278 "startTime": "A String", # Time within the maintenance window to start the maintenance operations. 279 # It must be in format "HH:MM", where HH : [00-23] and MM : [00-59] GMT. 280 }, 281 }, 282 }, 283 "networkPolicy": { # Configuration options for the NetworkPolicy feature. # Configuration options for the NetworkPolicy feature. 284 # https://kubernetes.io/docs/concepts/services-networking/networkpolicies/ 285 "enabled": True or False, # Whether network policy is enabled on the cluster. 286 "provider": "A String", # The selected network policy provider. 287 }, 288 "loggingService": "A String", # The logging service the cluster should use to write logs. 289 # Currently available options: 290 # 291 # * `logging.googleapis.com` - the Google Cloud Logging service. 292 # * `none` - no logs will be exported from the cluster. 293 # * if left as an empty string,`logging.googleapis.com` will be used. 294 "masterAuthorizedNetworksConfig": { # Configuration options for the master authorized networks feature. Enabled # The configuration options for master authorized networks feature. 295 # master authorized networks will disallow all external traffic to access 296 # Kubernetes master through HTTPS except traffic from the given CIDR blocks, 297 # Google Compute Engine Public IPs and Google Prod IPs. 298 "enabled": True or False, # Whether or not master authorized networks is enabled. 299 "cidrBlocks": [ # cidr_blocks define up to 10 external networks that could access 300 # Kubernetes master through HTTPS. 301 { # CidrBlock contains an optional name and one CIDR block. 302 "displayName": "A String", # display_name is an optional field for users to identify CIDR blocks. 303 "cidrBlock": "A String", # cidr_block must be specified in CIDR notation. 304 }, 305 ], 306 }, 307 "addonsConfig": { # Configuration for the addons that can be automatically spun up in the # Configurations for the various addons available to run in the cluster. 308 # cluster, enabling additional functionality. 309 "networkPolicyConfig": { # Configuration for NetworkPolicy. This only tracks whether the addon # Configuration for NetworkPolicy. This only tracks whether the addon 310 # is enabled or not on the Master, it does not track whether network policy 311 # is enabled for the nodes. 312 # is enabled or not on the Master, it does not track whether network policy 313 # is enabled for the nodes. 314 "disabled": True or False, # Whether NetworkPolicy is enabled for this cluster. 315 }, 316 "cloudRunConfig": { # Configuration options for the Cloud Run feature. # Configuration for the Cloud Run addon. The `IstioConfig` addon must be 317 # enabled in order to enable Cloud Run addon. This option can only be enabled 318 # at cluster creation time. 319 "disabled": True or False, # Whether Cloud Run addon is enabled for this cluster. 320 }, 321 "httpLoadBalancing": { # Configuration options for the HTTP (L7) load balancing controller addon, # Configuration for the HTTP (L7) load balancing controller addon, which 322 # makes it easy to set up HTTP load balancers for services in a cluster. 323 # which makes it easy to set up HTTP load balancers for services in a cluster. 324 "disabled": True or False, # Whether the HTTP Load Balancing controller is enabled in the cluster. 325 # When enabled, it runs a small pod in the cluster that manages the load 326 # balancers. 327 }, 328 "horizontalPodAutoscaling": { # Configuration options for the horizontal pod autoscaling feature, which # Configuration for the horizontal pod autoscaling feature, which 329 # increases or decreases the number of replica pods a replication controller 330 # has based on the resource usage of the existing pods. 331 # increases or decreases the number of replica pods a replication controller 332 # has based on the resource usage of the existing pods. 333 "disabled": True or False, # Whether the Horizontal Pod Autoscaling feature is enabled in the cluster. 334 # When enabled, it ensures that a Heapster pod is running in the cluster, 335 # which is also used by the Cloud Monitoring service. 336 }, 337 "istioConfig": { # Configuration options for Istio addon. # Configuration for Istio, an open platform to connect, manage, and secure 338 # microservices. 339 "disabled": True or False, # Whether Istio is enabled for this cluster. 340 "auth": "A String", # The specified Istio auth mode, either none, or mutual TLS. 341 }, 342 "kubernetesDashboard": { # Configuration for the Kubernetes Dashboard. # Configuration for the Kubernetes Dashboard. 343 # This addon is deprecated, and will be disabled in 1.15. It is recommended 344 # to use the Cloud Console to manage and monitor your Kubernetes clusters, 345 # workloads and applications. For more information, see: 346 # https://cloud.google.com/kubernetes-engine/docs/concepts/dashboards 347 "disabled": True or False, # Whether the Kubernetes Dashboard is enabled for this cluster. 348 }, 349 }, 350 "locations": [ # The list of Google Compute Engine 351 # [zones](/compute/docs/zones#available) in which the cluster's nodes 352 # should be located. 353 "A String", 354 ], 355 "legacyAbac": { # Configuration for the legacy Attribute Based Access Control authorization # Configuration for the legacy ABAC authorization mode. 356 # mode. 357 "enabled": True or False, # Whether the ABAC authorizer is enabled for this cluster. When enabled, 358 # identities in the system, including service accounts, nodes, and 359 # controllers, will have statically granted permissions beyond those 360 # provided by the RBAC configuration or IAM. 361 }, 362 "enableTpu": True or False, # Enable the ability to use Cloud TPUs in this cluster. 363 "defaultMaxPodsConstraint": { # Constraints applied to pods. # The default constraint on the maximum number of pods that can be run 364 # simultaneously on a node in the node pool of this cluster. Only honored 365 # if cluster created with IP Alias support. 366 "maxPodsPerNode": "A String", # Constraint enforced on the max num of pods per node. 367 }, 368 "ipAllocationPolicy": { # Configuration for controlling how IPs are allocated in the cluster. # Configuration for cluster IP allocation. 369 "clusterIpv4Cidr": "A String", # This field is deprecated, use cluster_ipv4_cidr_block. 370 "useIpAliases": True or False, # Whether alias IPs will be used for pod IPs in the cluster. 371 "nodeIpv4Cidr": "A String", # This field is deprecated, use node_ipv4_cidr_block. 372 "clusterIpv4CidrBlock": "A String", # The IP address range for the cluster pod IPs. If this field is set, then 373 # `cluster.cluster_ipv4_cidr` must be left blank. 374 # 375 # This field is only applicable when `use_ip_aliases` is true. 376 # 377 # Set to blank to have a range chosen with the default size. 378 # 379 # Set to /netmask (e.g. `/14`) to have a range chosen with a specific 380 # netmask. 381 # 382 # Set to a 383 # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) 384 # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. 385 # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range 386 # to use. 387 "clusterSecondaryRangeName": "A String", # The name of the secondary range to be used for the cluster CIDR 388 # block. The secondary range will be used for pod IP 389 # addresses. This must be an existing secondary range associated 390 # with the cluster subnetwork. 391 # 392 # This field is only applicable with use_ip_aliases and 393 # create_subnetwork is false. 394 "servicesIpv4CidrBlock": "A String", # The IP address range of the services IPs in this cluster. If blank, a range 395 # will be automatically chosen with the default size. 396 # 397 # This field is only applicable when `use_ip_aliases` is true. 398 # 399 # Set to blank to have a range chosen with the default size. 400 # 401 # Set to /netmask (e.g. `/14`) to have a range chosen with a specific 402 # netmask. 403 # 404 # Set to a 405 # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) 406 # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. 407 # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range 408 # to use. 409 "createSubnetwork": True or False, # Whether a new subnetwork will be created automatically for the cluster. 410 # 411 # This field is only applicable when `use_ip_aliases` is true. 412 "nodeIpv4CidrBlock": "A String", # The IP address range of the instance IPs in this cluster. 413 # 414 # This is applicable only if `create_subnetwork` is true. 415 # 416 # Set to blank to have a range chosen with the default size. 417 # 418 # Set to /netmask (e.g. `/14`) to have a range chosen with a specific 419 # netmask. 420 # 421 # Set to a 422 # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) 423 # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. 424 # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range 425 # to use. 426 "tpuIpv4CidrBlock": "A String", # The IP address range of the Cloud TPUs in this cluster. If unspecified, a 427 # range will be automatically chosen with the default size. 428 # 429 # This field is only applicable when `use_ip_aliases` is true. 430 # 431 # If unspecified, the range will use the default size. 432 # 433 # Set to /netmask (e.g. `/14`) to have a range chosen with a specific 434 # netmask. 435 # 436 # Set to a 437 # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) 438 # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. 439 # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range 440 # to use. 441 "allowRouteOverlap": True or False, # If true, allow allocation of cluster CIDR ranges that overlap with certain 442 # kinds of network routes. By default we do not allow cluster CIDR ranges to 443 # intersect with any user declared routes. With allow_route_overlap == true, 444 # we allow overlapping with CIDR ranges that are larger than the cluster CIDR 445 # range. 446 # 447 # If this field is set to true, then cluster and services CIDRs must be 448 # fully-specified (e.g. `10.96.0.0/14`, but not `/14`), which means: 449 # 1) When `use_ip_aliases` is true, `cluster_ipv4_cidr_block` and 450 # `services_ipv4_cidr_block` must be fully-specified. 451 # 2) When `use_ip_aliases` is false, `cluster.cluster_ipv4_cidr` muse be 452 # fully-specified. 453 "subnetworkName": "A String", # A custom subnetwork name to be used if `create_subnetwork` is true. If 454 # this field is empty, then an automatic name will be chosen for the new 455 # subnetwork. 456 "servicesSecondaryRangeName": "A String", # The name of the secondary range to be used as for the services 457 # CIDR block. The secondary range will be used for service 458 # ClusterIPs. This must be an existing secondary range associated 459 # with the cluster subnetwork. 460 # 461 # This field is only applicable with use_ip_aliases and 462 # create_subnetwork is false. 463 "servicesIpv4Cidr": "A String", # This field is deprecated, use services_ipv4_cidr_block. 464 }, 465 "network": "A String", # The name of the Google Compute Engine 466 # [network](/compute/docs/networks-and-firewalls#networks) to which the 467 # cluster is connected. If left unspecified, the `default` network 468 # will be used. On output this shows the network ID instead of 469 # the name. 470 "zone": "A String", # [Output only] The name of the Google Compute Engine 471 # [zone](/compute/docs/zones#available) in which the cluster 472 # resides. 473 # This field is deprecated, use location instead. 474 "instanceGroupUrls": [ # Deprecated. Use node_pools.instance_group_urls. 475 "A String", 476 ], 477 "networkConfig": { # NetworkConfig reports the relative names of network & subnetwork. # Configuration for cluster networking. 478 "subnetwork": "A String", # Output only. The relative name of the Google Compute Engine 479 # [subnetwork](/compute/docs/vpc) to which the cluster is connected. 480 # Example: projects/my-project/regions/us-central1/subnetworks/my-subnet 481 "network": "A String", # Output only. The relative name of the Google Compute Engine 482 # network(/compute/docs/networks-and-firewalls#networks) to which 483 # the cluster is connected. 484 # Example: projects/my-project/global/networks/my-network 485 "enableIntraNodeVisibility": True or False, # Whether Intra-node visibility is enabled for this cluster. 486 # This makes same node pod to pod traffic visible for VPC network. 487 }, 488 "privateCluster": True or False, # If this is a private cluster setup. Private clusters are clusters that, by 489 # default have no external IP addresses on the nodes and where nodes and the 490 # master communicate over private IP addresses. 491 # This field is deprecated, use private_cluster_config.enable_private_nodes 492 # instead. 493 "podSecurityPolicyConfig": { # Configuration for the PodSecurityPolicy feature. # Configuration for the PodSecurityPolicy feature. 494 "enabled": True or False, # Enable the PodSecurityPolicy controller for this cluster. If enabled, pods 495 # must be valid under a PodSecurityPolicy to be created. 496 }, 497 "location": "A String", # [Output only] The name of the Google Compute Engine 498 # [zone](/compute/docs/regions-zones/regions-zones#available) or 499 # [region](/compute/docs/regions-zones/regions-zones#available) in which 500 # the cluster resides. 501 "workloadIdentityConfig": { # Configuration for the use of Kubernetes Service Accounts in GCP IAM # Configuration for the use of Kubernetes Service Accounts in GCP IAM 502 # policies. 503 # policies. 504 "identityNamespace": "A String", # IAM Identity Namespace to attach all Kubernetes Service Accounts to. 505 }, 506 "resourceUsageExportConfig": { # Configuration for exporting cluster resource usages. # Configuration for exporting resource usages. Resource usage export is 507 # disabled when this config unspecified. 508 "bigqueryDestination": { # Parameters for using BigQuery as the destination of resource usage export. # Configuration to use BigQuery as usage export destination. 509 "datasetId": "A String", # The ID of a BigQuery Dataset. 510 }, 511 "enableNetworkEgressMetering": True or False, # Whether to enable network egress metering for this cluster. If enabled, a 512 # daemonset will be created in the cluster to meter network egress traffic. 513 "consumptionMeteringConfig": { # Parameters for controlling consumption metering. # Configuration to enable resource consumption metering. 514 "enabled": True or False, # Whether to enable consumption metering for this cluster. If enabled, a 515 # second BigQuery table will be created to hold resource consumption 516 # records. 517 }, 518 }, 519 "masterIpv4CidrBlock": "A String", # The IP prefix in CIDR notation to use for the hosted master network. 520 # This prefix will be used for assigning private IP addresses to the 521 # master or set of masters, as well as the ILB VIP. 522 # This field is deprecated, use 523 # private_cluster_config.master_ipv4_cidr_block instead. 524 "conditions": [ # Which conditions caused the current cluster state. 525 { # StatusCondition describes why a cluster or a node pool has a certain status 526 # (e.g., ERROR or DEGRADED). 527 "message": "A String", # Human-friendly representation of the condition 528 "code": "A String", # Machine-friendly representation of the condition 529 }, 530 ], 531 "servicesIpv4Cidr": "A String", # [Output only] The IP address range of the Kubernetes services in 532 # this cluster, in 533 # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) 534 # notation (e.g. `1.2.3.4/29`). Service addresses are 535 # typically put in the last `/16` from the container CIDR. 536 "statusMessage": "A String", # [Output only] Additional information about the current status of this 537 # cluster, if available. 538 "tierSettings": { # Cluster tier settings. # Cluster tier settings. 539 "tier": "A String", # Cluster tier. 540 }, 541 "status": "A String", # [Output only] The current status of this cluster. 542 "currentMasterVersion": "A String", # [Output only] The current software version of the master endpoint. 543 "description": "A String", # An optional description of this cluster. 544 "databaseEncryption": { # Configuration of etcd encryption. # Configuration of etcd encryption. 545 "state": "A String", # Denotes the state of etcd encryption. 546 "keyName": "A String", # Name of CloudKMS key to use for the encryption of secrets in etcd. 547 # Ex. projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-key 548 }, 549 "currentNodeVersion": "A String", # [Output only] Deprecated, use 550 # [NodePool.version](/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters.nodePools) 551 # instead. The current version of the node software components. 552 # If they are currently at multiple versions because they're in the process 553 # of being upgraded, this reflects the minimum version of all nodes. 554 "binaryAuthorization": { # Configuration for Binary Authorization. # Configuration for Binary Authorization. 555 "enabled": True or False, # Enable Binary Authorization for this cluster. If enabled, all container 556 # images will be validated by Google Binauthz. 557 }, 558 "labelFingerprint": "A String", # The fingerprint of the set of labels for this cluster. 559 "autoscaling": { # ClusterAutoscaling contains global, per-cluster information # Cluster-level autoscaling configuration. 560 # required by Cluster Autoscaler to automatically adjust 561 # the size of the cluster and create/delete 562 # node pools based on the current needs. 563 "autoprovisioningNodePoolDefaults": { # AutoprovisioningNodePoolDefaults contains defaults for a node pool created # AutoprovisioningNodePoolDefaults contains defaults for a node pool 564 # created by NAP. 565 # by NAP. 566 "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs. If 567 # service_account is specified, scopes should be empty. 568 "oauthScopes": [ # Scopes that are used by NAP when creating node pools. If oauth_scopes are 569 # specified, service_account should be empty. 570 "A String", 571 ], 572 }, 573 "resourceLimits": [ # Contains global constraints regarding minimum and maximum 574 # amount of resources in the cluster. 575 { # Contains information about amount of some resource in the cluster. 576 # For memory, value should be in GB. 577 "resourceType": "A String", # Resource name "cpu", "memory" or gpu-specific string. 578 "minimum": "A String", # Minimum amount of the resource in the cluster. 579 "maximum": "A String", # Maximum amount of the resource in the cluster. 580 }, 581 ], 582 "autoprovisioningLocations": [ # The list of Google Compute Engine [zones](/compute/docs/zones#available) 583 # in which the NodePool's nodes can be created by NAP. 584 "A String", 585 ], 586 "enableNodeAutoprovisioning": True or False, # Enables automatic node pool creation and deletion. 587 }, 588 "masterAuth": { # The authentication information for accessing the master endpoint. # The authentication information for accessing the master endpoint. 589 # If unspecified, the defaults are used: 590 # For clusters before v1.12, if master_auth is unspecified, `username` will 591 # be set to "admin", a random password will be generated, and a client 592 # certificate will be issued. 593 # Authentication can be done using HTTP basic auth or using client 594 # certificates. 595 "username": "A String", # The username to use for HTTP basic authentication to the master endpoint. 596 # For clusters v1.6.0 and later, basic authentication can be disabled by 597 # leaving username unspecified (or setting it to the empty string). 598 "clientKey": "A String", # [Output only] Base64-encoded private key used by clients to authenticate 599 # to the cluster endpoint. 600 "clientCertificate": "A String", # [Output only] Base64-encoded public certificate used by clients to 601 # authenticate to the cluster endpoint. 602 "clientCertificateConfig": { # Configuration for client certificates on the cluster. # Configuration for client certificate authentication on the cluster. For 603 # clusters before v1.12, if no configuration is specified, a client 604 # certificate is issued. 605 "issueClientCertificate": True or False, # Issue a client certificate. 606 }, 607 "password": "A String", # The password to use for HTTP basic authentication to the master endpoint. 608 # Because the master endpoint is open to the Internet, you should create a 609 # strong password. If a password is provided for cluster creation, username 610 # must be non-empty. 611 "clusterCaCertificate": "A String", 612 }, 613 "expireTime": "A String", # [Output only] The time the cluster will be automatically 614 # deleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. 615 "initialNodeCount": 42, # The number of nodes to create in this cluster. You must ensure that your 616 # Compute Engine <a href="/compute/docs/resource-quotas">resource quota</a> 617 # is sufficient for this number of instances. You must also have available 618 # firewall and routes quota. 619 # For requests, this field should only be used in lieu of a 620 # "node_pool" object, since this configuration (along with the 621 # "node_config") will be used to create a "NodePool" object with an 622 # auto-generated name. Do not use this and a node_pool at the same time. 623 # 624 # This field is deprecated, use node_pool.initial_node_count instead. 625 "nodePools": [ # The node pools associated with this cluster. 626 # This field should not be set if "node_config" or "initial_node_count" are 627 # specified. 628 { # NodePool contains the name and configuration for a cluster's node pool. 629 # Node pools are a set of nodes (i.e. VM's), with a common configuration and 630 # specification, under the control of the cluster master. They may have a set 631 # of Kubernetes labels applied to them, which may be used to reference them 632 # during pod scheduling. They may also be resized up or down, to accommodate 633 # the workload. 634 "status": "A String", # [Output only] The status of the nodes in this pool instance. 635 "statusMessage": "A String", # [Output only] Additional information about the current status of this 636 # node pool instance, if available. 637 "management": { # NodeManagement defines the set of node management services turned on for the # NodeManagement configuration for this NodePool. 638 # node pool. 639 "autoRepair": True or False, # Whether the nodes will be automatically repaired. 640 "upgradeOptions": { # AutoUpgradeOptions defines the set of options for the user to control how # Specifies the Auto Upgrade knobs for the node pool. 641 # the Auto Upgrades will proceed. 642 "description": "A String", # [Output only] This field is set when upgrades are about to commence 643 # with the description of the upgrade. 644 "autoUpgradeStartTime": "A String", # [Output only] This field is set when upgrades are about to commence 645 # with the approximate start time for the upgrades, in 646 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. 647 }, 648 "autoUpgrade": True or False, # Whether the nodes will be automatically upgraded. 649 }, 650 "name": "A String", # The name of the node pool. 651 "instanceGroupUrls": [ # [Output only] The resource URLs of the [managed instance 652 # groups](/compute/docs/instance-groups/creating-groups-of-managed-instances) 653 # associated with this node pool. 654 "A String", 655 ], 656 "autoscaling": { # NodePoolAutoscaling contains information required by cluster autoscaler to # Autoscaler configuration for this NodePool. Autoscaler is enabled 657 # only if a valid configuration is present. 658 # adjust the size of the node pool to the current cluster usage. 659 "minNodeCount": 42, # Minimum number of nodes in the NodePool. Must be >= 1 and <= 660 # max_node_count. 661 "autoprovisioned": True or False, # Can this node pool be deleted automatically. 662 "enabled": True or False, # Is autoscaling enabled for this node pool. 663 "maxNodeCount": 42, # Maximum number of nodes in the NodePool. Must be >= min_node_count. There 664 # has to enough quota to scale up the cluster. 665 }, 666 "locations": [ # The list of Google Compute Engine [zones](/compute/docs/zones#available) 667 # in which the NodePool's nodes should be located. 668 "A String", 669 ], 670 "maxPodsConstraint": { # Constraints applied to pods. # The constraint on the maximum number of pods that can be run 671 # simultaneously on a node in the node pool. 672 "maxPodsPerNode": "A String", # Constraint enforced on the max num of pods per node. 673 }, 674 "version": "A String", # The version of the Kubernetes of this node. 675 "initialNodeCount": 42, # The initial node count for the pool. You must ensure that your 676 # Compute Engine <a href="/compute/docs/resource-quotas">resource quota</a> 677 # is sufficient for this number of instances. You must also have available 678 # firewall and routes quota. 679 "podIpv4CidrSize": 42, # [Output only] The pod CIDR block size per node in this node pool. 680 "config": { # Parameters that describe the nodes in a cluster. # The node configuration of the pool. 681 "sandboxConfig": { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node. 682 "sandboxType": "A String", # Type of the sandbox to use for the node (e.g. 'gvisor') 683 }, 684 "machineType": "A String", # The name of a Google Compute Engine [machine 685 # type](/compute/docs/machine-types) (e.g. 686 # `n1-standard-1`). 687 # 688 # If unspecified, the default machine type is 689 # `n1-standard-1`. 690 "shieldedInstanceConfig": { # A set of Shielded Instance options. # Shielded Instance options. 691 "enableIntegrityMonitoring": True or False, # Defines whether the instance has integrity monitoring enabled. 692 # 693 # Enables monitoring and attestation of the boot integrity of the instance. 694 # The attestation is performed against the integrity policy baseline. This 695 # baseline is initially derived from the implicitly trusted boot image when 696 # the instance is created. 697 "enableSecureBoot": True or False, # Defines whether the instance has Secure Boot enabled. 698 # 699 # Secure Boot helps ensure that the system only runs authentic software by 700 # verifying the digital signature of all boot components, and halting the 701 # boot process if signature verification fails. 702 }, 703 "diskType": "A String", # Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd') 704 # 705 # If unspecified, the default disk type is 'pd-standard' 706 "tags": [ # The list of instance tags applied to all nodes. Tags are used to identify 707 # valid sources or targets for network firewalls and are specified by 708 # the client during cluster or node pool creation. Each tag within the list 709 # must comply with RFC1035. 710 "A String", 711 ], 712 "preemptible": True or False, # Whether the nodes are created as preemptible VM instances. See: 713 # https://cloud.google.com/compute/docs/instances/preemptible for more 714 # inforamtion about preemptible VM instances. 715 "labels": { # The map of Kubernetes labels (key/value pairs) to be applied to each node. 716 # These will added in addition to any default label(s) that 717 # Kubernetes may apply to the node. 718 # In case of conflict in label keys, the applied set may differ depending on 719 # the Kubernetes version -- it's best to assume the behavior is undefined 720 # and conflicts should be avoided. 721 # For more information, including usage and the valid values, see: 722 # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ 723 "a_key": "A String", 724 }, 725 "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs. If 726 # no Service Account is specified, the "default" service account is used. 727 "oauthScopes": [ # The set of Google API scopes to be made available on all of the 728 # node VMs under the "default" service account. 729 # 730 # The following scopes are recommended, but not required, and by default are 731 # not included: 732 # 733 # * `https://www.googleapis.com/auth/compute` is required for mounting 734 # persistent storage on your nodes. 735 # * `https://www.googleapis.com/auth/devstorage.read_only` is required for 736 # communicating with **gcr.io** 737 # (the [Google Container Registry](/container-registry/)). 738 # 739 # If unspecified, no scopes are added, unless Cloud Logging or Cloud 740 # Monitoring are enabled, in which case their required scopes will be added. 741 "A String", 742 ], 743 "taints": [ # List of kubernetes taints to be applied to each node. 744 # 745 # For more information, including usage and the valid values, see: 746 # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ 747 { # Kubernetes taint is comprised of three fields: key, value, and effect. Effect 748 # can only be one of three types: NoSchedule, PreferNoSchedule or NoExecute. 749 # 750 # For more information, including usage and the valid values, see: 751 # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ 752 "key": "A String", # Key for taint. 753 "effect": "A String", # Effect for taint. 754 "value": "A String", # Value for taint. 755 }, 756 ], 757 "workloadMetadataConfig": { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node. 758 # workloads on the node pool. 759 "nodeMetadata": "A String", # NodeMetadata is the configuration for how to expose metadata to the 760 # workloads running on the node. 761 }, 762 "diskSizeGb": 42, # Size of the disk attached to each node, specified in GB. 763 # The smallest allowed disk size is 10GB. 764 # 765 # If unspecified, the default disk size is 100GB. 766 "accelerators": [ # A list of hardware accelerators to be attached to each node. 767 # See https://cloud.google.com/compute/docs/gpus for more information about 768 # support for GPUs. 769 { # AcceleratorConfig represents a Hardware Accelerator request. 770 "acceleratorCount": "A String", # The number of the accelerator cards exposed to an instance. 771 "acceleratorType": "A String", # The accelerator type resource name. List of supported accelerators 772 # [here](/compute/docs/gpus/#Introduction) 773 }, 774 ], 775 "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be 776 # scheduled on the specified or newer CPU platform. Applicable values are the 777 # friendly names of CPU platforms, such as 778 # <code>minCpuPlatform: "Intel Haswell"</code> or 779 # <code>minCpuPlatform: "Intel Sandy Bridge"</code>. For more 780 # information, read [how to specify min CPU 781 # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform) 782 "localSsdCount": 42, # The number of local SSD disks to be attached to the node. 783 # 784 # The limit for this value is dependant upon the maximum number of 785 # disks available on a machine per zone. See: 786 # https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits 787 # for more information. 788 "imageType": "A String", # The image type to use for this node. Note that for a given image type, 789 # the latest version of it will be used. 790 "metadata": { # The metadata key/value pairs assigned to instances in the cluster. 791 # 792 # Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes 793 # in length. These are reflected as part of a URL in the metadata server. 794 # Additionally, to avoid ambiguity, keys must not conflict with any other 795 # metadata keys for the project or be one of the reserved keys: 796 # "cluster-location" 797 # "cluster-name" 798 # "cluster-uid" 799 # "configure-sh" 800 # "containerd-configure-sh" 801 # "enable-oslogin" 802 # "gci-ensure-gke-docker" 803 # "gci-update-strategy" 804 # "instance-template" 805 # "kube-env" 806 # "startup-script" 807 # "user-data" 808 # "disable-address-manager" 809 # "windows-startup-script-ps1" 810 # "common-psm1" 811 # "k8s-node-setup-psm1" 812 # "install-ssh-psm1" 813 # "user-profile-psm1" 814 # "serial-port-logging-enable" 815 # Values are free-form strings, and only have meaning as interpreted by 816 # the image running in the instance. The only restriction placed on them is 817 # that each value's size must be less than or equal to 32 KB. 818 # 819 # The total size of all keys and values must be less than 512 KB. 820 "a_key": "A String", 821 }, 822 }, 823 "conditions": [ # Which conditions caused the current node pool state. 824 { # StatusCondition describes why a cluster or a node pool has a certain status 825 # (e.g., ERROR or DEGRADED). 826 "message": "A String", # Human-friendly representation of the condition 827 "code": "A String", # Machine-friendly representation of the condition 828 }, 829 ], 830 "selfLink": "A String", # [Output only] Server-defined URL for the resource. 831 }, 832 ], 833 "monitoringService": "A String", # The monitoring service the cluster should use to write metrics. 834 # Currently available options: 835 # 836 # * `monitoring.googleapis.com` - the Google Cloud Monitoring service. 837 # * `none` - no metrics will be exported from the cluster. 838 # * if left as an empty string, `monitoring.googleapis.com` will be used. 839 "createTime": "A String", # [Output only] The time the cluster was created, in 840 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. 841 "authenticatorGroupsConfig": { # Configuration for returning group information from authenticators. # Configuration controlling RBAC group membership information. 842 "enabled": True or False, # Whether this cluster should return group membership lookups 843 # during authentication using a group of security groups. 844 "securityGroup": "A String", # The name of the security group-of-groups to be used. Only relevant 845 # if enabled = true. 846 }, 847 "privateClusterConfig": { # Configuration options for private clusters. # Configuration for private cluster. 848 "enablePrivateEndpoint": True or False, # Whether the master's internal IP address is used as the cluster endpoint. 849 "publicEndpoint": "A String", # Output only. The external IP address of this cluster's master endpoint. 850 "enablePrivateNodes": True or False, # Whether nodes have internal IP addresses only. If enabled, all nodes are 851 # given only RFC 1918 private addresses and communicate with the master via 852 # private networking. 853 "privateEndpoint": "A String", # Output only. The internal IP address of this cluster's master endpoint. 854 "masterIpv4CidrBlock": "A String", # The IP range in CIDR notation to use for the hosted master network. This 855 # range will be used for assigning internal IP addresses to the master or 856 # set of masters, as well as the ILB VIP. This range must not overlap with 857 # any other ranges in use within the cluster's network. 858 "enablePeeringRouteSharing": True or False, # Whether to enable route sharing over the network peering. 859 }, 860 "endpoint": "A String", # [Output only] The IP address of this cluster's master endpoint. 861 # The endpoint can be accessed from the internet at 862 # `https://username:password@endpoint/`. 863 # 864 # See the `masterAuth` property of this resource for username and 865 # password information. 866 "currentNodeCount": 42, # [Output only] The number of nodes currently in the cluster. Deprecated. 867 # Call Kubernetes API directly to retrieve node information. 868 "name": "A String", # The name of this cluster. The name must be unique within this project 869 # and zone, and can be up to 40 characters with the following restrictions: 870 # 871 # * Lowercase letters, numbers, and hyphens only. 872 # * Must start with a letter. 873 # * Must end with a number or a letter. 874 "verticalPodAutoscaling": { # VerticalPodAutoscaling contains global, per-cluster information # Cluster-level Vertical Pod Autoscaling configuration. 875 # required by Vertical Pod Autoscaler to automatically adjust 876 # the resources of pods controlled by it. 877 "enabled": True or False, # Enables vertical pod autoscaling. 878 }, 879 "enableKubernetesAlpha": True or False, # Kubernetes alpha features are enabled on this cluster. This includes alpha 880 # API groups (e.g. v1beta1) and features that may not be production ready in 881 # the kubernetes version of the master and nodes. 882 # The cluster has no SLA for uptime and master/node upgrades are disabled. 883 # Alpha enabled clusters are automatically deleted thirty days after 884 # creation. 885 "initialClusterVersion": "A String", # The initial Kubernetes version for this cluster. Valid versions are those 886 # found in validMasterVersions returned by getServerConfig. The version can 887 # be upgraded over time; such upgrades are reflected in 888 # currentMasterVersion and currentNodeVersion. 889 # 890 # Users may specify either explicit versions offered by 891 # Kubernetes Engine or version aliases, which have the following behavior: 892 # 893 # - "latest": picks the highest valid Kubernetes version 894 # - "1.X": picks the highest valid patch+gke.N patch in the 1.X version 895 # - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version 896 # - "1.X.Y-gke.N": picks an explicit Kubernetes version 897 # - "","-": picks the default Kubernetes version 898 "nodeConfig": { # Parameters that describe the nodes in a cluster. # Parameters used in creating the cluster's nodes. 899 # For requests, this field should only be used in lieu of a 900 # "node_pool" object, since this configuration (along with the 901 # "initial_node_count") will be used to create a "NodePool" object with an 902 # auto-generated name. Do not use this and a node_pool at the same time. 903 # For responses, this field will be populated with the node configuration of 904 # the first node pool. (For configuration of each node pool, see 905 # `node_pool.config`) 906 # 907 # If unspecified, the defaults are used. 908 # This field is deprecated, use node_pool.config instead. 909 "sandboxConfig": { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node. 910 "sandboxType": "A String", # Type of the sandbox to use for the node (e.g. 'gvisor') 911 }, 912 "machineType": "A String", # The name of a Google Compute Engine [machine 913 # type](/compute/docs/machine-types) (e.g. 914 # `n1-standard-1`). 915 # 916 # If unspecified, the default machine type is 917 # `n1-standard-1`. 918 "shieldedInstanceConfig": { # A set of Shielded Instance options. # Shielded Instance options. 919 "enableIntegrityMonitoring": True or False, # Defines whether the instance has integrity monitoring enabled. 920 # 921 # Enables monitoring and attestation of the boot integrity of the instance. 922 # The attestation is performed against the integrity policy baseline. This 923 # baseline is initially derived from the implicitly trusted boot image when 924 # the instance is created. 925 "enableSecureBoot": True or False, # Defines whether the instance has Secure Boot enabled. 926 # 927 # Secure Boot helps ensure that the system only runs authentic software by 928 # verifying the digital signature of all boot components, and halting the 929 # boot process if signature verification fails. 930 }, 931 "diskType": "A String", # Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd') 932 # 933 # If unspecified, the default disk type is 'pd-standard' 934 "tags": [ # The list of instance tags applied to all nodes. Tags are used to identify 935 # valid sources or targets for network firewalls and are specified by 936 # the client during cluster or node pool creation. Each tag within the list 937 # must comply with RFC1035. 938 "A String", 939 ], 940 "preemptible": True or False, # Whether the nodes are created as preemptible VM instances. See: 941 # https://cloud.google.com/compute/docs/instances/preemptible for more 942 # inforamtion about preemptible VM instances. 943 "labels": { # The map of Kubernetes labels (key/value pairs) to be applied to each node. 944 # These will added in addition to any default label(s) that 945 # Kubernetes may apply to the node. 946 # In case of conflict in label keys, the applied set may differ depending on 947 # the Kubernetes version -- it's best to assume the behavior is undefined 948 # and conflicts should be avoided. 949 # For more information, including usage and the valid values, see: 950 # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ 951 "a_key": "A String", 952 }, 953 "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs. If 954 # no Service Account is specified, the "default" service account is used. 955 "oauthScopes": [ # The set of Google API scopes to be made available on all of the 956 # node VMs under the "default" service account. 957 # 958 # The following scopes are recommended, but not required, and by default are 959 # not included: 960 # 961 # * `https://www.googleapis.com/auth/compute` is required for mounting 962 # persistent storage on your nodes. 963 # * `https://www.googleapis.com/auth/devstorage.read_only` is required for 964 # communicating with **gcr.io** 965 # (the [Google Container Registry](/container-registry/)). 966 # 967 # If unspecified, no scopes are added, unless Cloud Logging or Cloud 968 # Monitoring are enabled, in which case their required scopes will be added. 969 "A String", 970 ], 971 "taints": [ # List of kubernetes taints to be applied to each node. 972 # 973 # For more information, including usage and the valid values, see: 974 # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ 975 { # Kubernetes taint is comprised of three fields: key, value, and effect. Effect 976 # can only be one of three types: NoSchedule, PreferNoSchedule or NoExecute. 977 # 978 # For more information, including usage and the valid values, see: 979 # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ 980 "key": "A String", # Key for taint. 981 "effect": "A String", # Effect for taint. 982 "value": "A String", # Value for taint. 983 }, 984 ], 985 "workloadMetadataConfig": { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node. 986 # workloads on the node pool. 987 "nodeMetadata": "A String", # NodeMetadata is the configuration for how to expose metadata to the 988 # workloads running on the node. 989 }, 990 "diskSizeGb": 42, # Size of the disk attached to each node, specified in GB. 991 # The smallest allowed disk size is 10GB. 992 # 993 # If unspecified, the default disk size is 100GB. 994 "accelerators": [ # A list of hardware accelerators to be attached to each node. 995 # See https://cloud.google.com/compute/docs/gpus for more information about 996 # support for GPUs. 997 { # AcceleratorConfig represents a Hardware Accelerator request. 998 "acceleratorCount": "A String", # The number of the accelerator cards exposed to an instance. 999 "acceleratorType": "A String", # The accelerator type resource name. List of supported accelerators 1000 # [here](/compute/docs/gpus/#Introduction) 1001 }, 1002 ], 1003 "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be 1004 # scheduled on the specified or newer CPU platform. Applicable values are the 1005 # friendly names of CPU platforms, such as 1006 # <code>minCpuPlatform: "Intel Haswell"</code> or 1007 # <code>minCpuPlatform: "Intel Sandy Bridge"</code>. For more 1008 # information, read [how to specify min CPU 1009 # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform) 1010 "localSsdCount": 42, # The number of local SSD disks to be attached to the node. 1011 # 1012 # The limit for this value is dependant upon the maximum number of 1013 # disks available on a machine per zone. See: 1014 # https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits 1015 # for more information. 1016 "imageType": "A String", # The image type to use for this node. Note that for a given image type, 1017 # the latest version of it will be used. 1018 "metadata": { # The metadata key/value pairs assigned to instances in the cluster. 1019 # 1020 # Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes 1021 # in length. These are reflected as part of a URL in the metadata server. 1022 # Additionally, to avoid ambiguity, keys must not conflict with any other 1023 # metadata keys for the project or be one of the reserved keys: 1024 # "cluster-location" 1025 # "cluster-name" 1026 # "cluster-uid" 1027 # "configure-sh" 1028 # "containerd-configure-sh" 1029 # "enable-oslogin" 1030 # "gci-ensure-gke-docker" 1031 # "gci-update-strategy" 1032 # "instance-template" 1033 # "kube-env" 1034 # "startup-script" 1035 # "user-data" 1036 # "disable-address-manager" 1037 # "windows-startup-script-ps1" 1038 # "common-psm1" 1039 # "k8s-node-setup-psm1" 1040 # "install-ssh-psm1" 1041 # "user-profile-psm1" 1042 # "serial-port-logging-enable" 1043 # Values are free-form strings, and only have meaning as interpreted by 1044 # the image running in the instance. The only restriction placed on them is 1045 # that each value's size must be less than or equal to 32 KB. 1046 # 1047 # The total size of all keys and values must be less than 512 KB. 1048 "a_key": "A String", 1049 }, 1050 }, 1051 "clusterIpv4Cidr": "A String", # The IP address range of the container pods in this cluster, in 1052 # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) 1053 # notation (e.g. `10.96.0.0/14`). Leave blank to have 1054 # one automatically chosen or specify a `/14` block in `10.0.0.0/8`. 1055 "subnetwork": "A String", # The name of the Google Compute Engine 1056 # [subnetwork](/compute/docs/subnetworks) to which the 1057 # cluster is connected. On output this shows the subnetwork ID instead of 1058 # the name. 1059 "resourceLabels": { # The resource labels for the cluster to use to annotate any related 1060 # Google Compute Engine resources. 1061 "a_key": "A String", 1062 }, 1063 "selfLink": "A String", # [Output only] Server-defined URL for the resource. 1064 "tpuIpv4CidrBlock": "A String", # [Output only] The IP address range of the Cloud TPUs in this cluster, in 1065 # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) 1066 # notation (e.g. `1.2.3.4/29`). 1067 }, 1068 } 1069 1070 x__xgafv: string, V1 error format. 1071 Allowed values 1072 1 - v1 error format 1073 2 - v2 error format 1074 1075Returns: 1076 An object of the form: 1077 1078 { # This operation resource represents operations that may have happened or are 1079 # happening on the cluster. All fields are output only. 1080 "status": "A String", # The current status of the operation. 1081 "endTime": "A String", # [Output only] The time the operation completed, in 1082 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. 1083 "name": "A String", # The server-assigned ID for the operation. 1084 "zone": "A String", # The name of the Google Compute Engine 1085 # [zone](/compute/docs/zones#available) in which the operation 1086 # is taking place. 1087 # This field is deprecated, use location instead. 1088 "location": "A String", # [Output only] The name of the Google Compute Engine 1089 # [zone](/compute/docs/regions-zones/regions-zones#available) or 1090 # [region](/compute/docs/regions-zones/regions-zones#available) in which 1091 # the cluster resides. 1092 "startTime": "A String", # [Output only] The time the operation started, in 1093 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. 1094 "detail": "A String", # Detailed operation progress, if available. 1095 "clusterConditions": [ # Which conditions caused the current cluster state. 1096 { # StatusCondition describes why a cluster or a node pool has a certain status 1097 # (e.g., ERROR or DEGRADED). 1098 "message": "A String", # Human-friendly representation of the condition 1099 "code": "A String", # Machine-friendly representation of the condition 1100 }, 1101 ], 1102 "statusMessage": "A String", # If an error has occurred, a textual description of the error. 1103 "operationType": "A String", # The operation type. 1104 "progress": { # Information about operation (or operation stage) progress. # [Output only] Progress information for an operation. 1105 "status": "A String", # Status of an operation stage. 1106 # Unset for single-stage operations. 1107 "metrics": [ # Progress metric bundle, for example: 1108 # metrics: [{name: "nodes done", int_value: 15}, 1109 # {name: "nodes total", int_value: 32}] 1110 # or 1111 # metrics: [{name: "progress", double_value: 0.56}, 1112 # {name: "progress scale", double_value: 1.0}] 1113 { # Progress metric is (string, int|float|string) pair. 1114 "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.). 1115 "intValue": "A String", # For metrics with integer value. 1116 "name": "A String", # Metric name, required. 1117 # e.g., "nodes total", "percent done" 1118 "doubleValue": 3.14, # For metrics with floating point value. 1119 }, 1120 ], 1121 "stages": [ # Substages of an operation or a stage. 1122 # Object with schema name: OperationProgress 1123 ], 1124 "name": "A String", # A non-parameterized string describing an operation stage. 1125 # Unset for single-stage operations. 1126 }, 1127 "nodepoolConditions": [ # Which conditions caused the current node pool state. 1128 { # StatusCondition describes why a cluster or a node pool has a certain status 1129 # (e.g., ERROR or DEGRADED). 1130 "message": "A String", # Human-friendly representation of the condition 1131 "code": "A String", # Machine-friendly representation of the condition 1132 }, 1133 ], 1134 "selfLink": "A String", # Server-defined URL for the resource. 1135 "targetLink": "A String", # Server-defined URL for the target of the operation. 1136 }</pre> 1137</div> 1138 1139<div class="method"> 1140 <code class="details" id="delete">delete(name, projectId=None, clusterId=None, zone=None, x__xgafv=None)</code> 1141 <pre>Deletes the cluster, including the Kubernetes endpoint and all worker 1142nodes. 1143 1144Firewalls and routes that were configured during cluster creation 1145are also deleted. 1146 1147Other Google Compute Engine resources that might be in use by the cluster, 1148such as load balancer resources, are not deleted if they weren't present 1149when the cluster was initially created. 1150 1151Args: 1152 name: string, The name (project, location, cluster) of the cluster to delete. 1153Specified in the format 'projects/*/locations/*/clusters/*'. (required) 1154 projectId: string, Deprecated. The Google Developers Console [project ID or project 1155number](https://support.google.com/cloud/answer/6158840). 1156This field has been deprecated and replaced by the name field. 1157 clusterId: string, Deprecated. The name of the cluster to delete. 1158This field has been deprecated and replaced by the name field. 1159 zone: string, Deprecated. The name of the Google Compute Engine 1160[zone](/compute/docs/zones#available) in which the cluster 1161resides. 1162This field has been deprecated and replaced by the name field. 1163 x__xgafv: string, V1 error format. 1164 Allowed values 1165 1 - v1 error format 1166 2 - v2 error format 1167 1168Returns: 1169 An object of the form: 1170 1171 { # This operation resource represents operations that may have happened or are 1172 # happening on the cluster. All fields are output only. 1173 "status": "A String", # The current status of the operation. 1174 "endTime": "A String", # [Output only] The time the operation completed, in 1175 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. 1176 "name": "A String", # The server-assigned ID for the operation. 1177 "zone": "A String", # The name of the Google Compute Engine 1178 # [zone](/compute/docs/zones#available) in which the operation 1179 # is taking place. 1180 # This field is deprecated, use location instead. 1181 "location": "A String", # [Output only] The name of the Google Compute Engine 1182 # [zone](/compute/docs/regions-zones/regions-zones#available) or 1183 # [region](/compute/docs/regions-zones/regions-zones#available) in which 1184 # the cluster resides. 1185 "startTime": "A String", # [Output only] The time the operation started, in 1186 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. 1187 "detail": "A String", # Detailed operation progress, if available. 1188 "clusterConditions": [ # Which conditions caused the current cluster state. 1189 { # StatusCondition describes why a cluster or a node pool has a certain status 1190 # (e.g., ERROR or DEGRADED). 1191 "message": "A String", # Human-friendly representation of the condition 1192 "code": "A String", # Machine-friendly representation of the condition 1193 }, 1194 ], 1195 "statusMessage": "A String", # If an error has occurred, a textual description of the error. 1196 "operationType": "A String", # The operation type. 1197 "progress": { # Information about operation (or operation stage) progress. # [Output only] Progress information for an operation. 1198 "status": "A String", # Status of an operation stage. 1199 # Unset for single-stage operations. 1200 "metrics": [ # Progress metric bundle, for example: 1201 # metrics: [{name: "nodes done", int_value: 15}, 1202 # {name: "nodes total", int_value: 32}] 1203 # or 1204 # metrics: [{name: "progress", double_value: 0.56}, 1205 # {name: "progress scale", double_value: 1.0}] 1206 { # Progress metric is (string, int|float|string) pair. 1207 "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.). 1208 "intValue": "A String", # For metrics with integer value. 1209 "name": "A String", # Metric name, required. 1210 # e.g., "nodes total", "percent done" 1211 "doubleValue": 3.14, # For metrics with floating point value. 1212 }, 1213 ], 1214 "stages": [ # Substages of an operation or a stage. 1215 # Object with schema name: OperationProgress 1216 ], 1217 "name": "A String", # A non-parameterized string describing an operation stage. 1218 # Unset for single-stage operations. 1219 }, 1220 "nodepoolConditions": [ # Which conditions caused the current node pool state. 1221 { # StatusCondition describes why a cluster or a node pool has a certain status 1222 # (e.g., ERROR or DEGRADED). 1223 "message": "A String", # Human-friendly representation of the condition 1224 "code": "A String", # Machine-friendly representation of the condition 1225 }, 1226 ], 1227 "selfLink": "A String", # Server-defined URL for the resource. 1228 "targetLink": "A String", # Server-defined URL for the target of the operation. 1229 }</pre> 1230</div> 1231 1232<div class="method"> 1233 <code class="details" id="get">get(name, projectId=None, clusterId=None, zone=None, x__xgafv=None)</code> 1234 <pre>Gets the details for a specific cluster. 1235 1236Args: 1237 name: string, The name (project, location, cluster) of the cluster to retrieve. 1238Specified in the format 'projects/*/locations/*/clusters/*'. (required) 1239 projectId: string, Deprecated. The Google Developers Console [project ID or project 1240number](https://support.google.com/cloud/answer/6158840). 1241This field has been deprecated and replaced by the name field. 1242 clusterId: string, Deprecated. The name of the cluster to retrieve. 1243This field has been deprecated and replaced by the name field. 1244 zone: string, Deprecated. The name of the Google Compute Engine 1245[zone](/compute/docs/zones#available) in which the cluster 1246resides. 1247This field has been deprecated and replaced by the name field. 1248 x__xgafv: string, V1 error format. 1249 Allowed values 1250 1 - v1 error format 1251 2 - v2 error format 1252 1253Returns: 1254 An object of the form: 1255 1256 { # A Google Kubernetes Engine cluster. 1257 "nodeIpv4CidrSize": 42, # [Output only] The size of the address space on each node for hosting 1258 # containers. This is provisioned from within the `container_ipv4_cidr` 1259 # range. This field will only be set when cluster is in route-based network 1260 # mode. 1261 "maintenancePolicy": { # MaintenancePolicy defines the maintenance policy to be used for the cluster. # Configure the maintenance policy for this cluster. 1262 "window": { # MaintenanceWindow defines the maintenance window to be used for the cluster. # Specifies the maintenance window in which maintenance may be performed. 1263 "dailyMaintenanceWindow": { # Time window specified for daily maintenance operations. # DailyMaintenanceWindow specifies a daily maintenance operation window. 1264 "duration": "A String", # [Output only] Duration of the time window, automatically chosen to be 1265 # smallest possible in the given scenario. 1266 "startTime": "A String", # Time within the maintenance window to start the maintenance operations. 1267 # It must be in format "HH:MM", where HH : [00-23] and MM : [00-59] GMT. 1268 }, 1269 }, 1270 }, 1271 "networkPolicy": { # Configuration options for the NetworkPolicy feature. # Configuration options for the NetworkPolicy feature. 1272 # https://kubernetes.io/docs/concepts/services-networking/networkpolicies/ 1273 "enabled": True or False, # Whether network policy is enabled on the cluster. 1274 "provider": "A String", # The selected network policy provider. 1275 }, 1276 "loggingService": "A String", # The logging service the cluster should use to write logs. 1277 # Currently available options: 1278 # 1279 # * `logging.googleapis.com` - the Google Cloud Logging service. 1280 # * `none` - no logs will be exported from the cluster. 1281 # * if left as an empty string,`logging.googleapis.com` will be used. 1282 "masterAuthorizedNetworksConfig": { # Configuration options for the master authorized networks feature. Enabled # The configuration options for master authorized networks feature. 1283 # master authorized networks will disallow all external traffic to access 1284 # Kubernetes master through HTTPS except traffic from the given CIDR blocks, 1285 # Google Compute Engine Public IPs and Google Prod IPs. 1286 "enabled": True or False, # Whether or not master authorized networks is enabled. 1287 "cidrBlocks": [ # cidr_blocks define up to 10 external networks that could access 1288 # Kubernetes master through HTTPS. 1289 { # CidrBlock contains an optional name and one CIDR block. 1290 "displayName": "A String", # display_name is an optional field for users to identify CIDR blocks. 1291 "cidrBlock": "A String", # cidr_block must be specified in CIDR notation. 1292 }, 1293 ], 1294 }, 1295 "addonsConfig": { # Configuration for the addons that can be automatically spun up in the # Configurations for the various addons available to run in the cluster. 1296 # cluster, enabling additional functionality. 1297 "networkPolicyConfig": { # Configuration for NetworkPolicy. This only tracks whether the addon # Configuration for NetworkPolicy. This only tracks whether the addon 1298 # is enabled or not on the Master, it does not track whether network policy 1299 # is enabled for the nodes. 1300 # is enabled or not on the Master, it does not track whether network policy 1301 # is enabled for the nodes. 1302 "disabled": True or False, # Whether NetworkPolicy is enabled for this cluster. 1303 }, 1304 "cloudRunConfig": { # Configuration options for the Cloud Run feature. # Configuration for the Cloud Run addon. The `IstioConfig` addon must be 1305 # enabled in order to enable Cloud Run addon. This option can only be enabled 1306 # at cluster creation time. 1307 "disabled": True or False, # Whether Cloud Run addon is enabled for this cluster. 1308 }, 1309 "httpLoadBalancing": { # Configuration options for the HTTP (L7) load balancing controller addon, # Configuration for the HTTP (L7) load balancing controller addon, which 1310 # makes it easy to set up HTTP load balancers for services in a cluster. 1311 # which makes it easy to set up HTTP load balancers for services in a cluster. 1312 "disabled": True or False, # Whether the HTTP Load Balancing controller is enabled in the cluster. 1313 # When enabled, it runs a small pod in the cluster that manages the load 1314 # balancers. 1315 }, 1316 "horizontalPodAutoscaling": { # Configuration options for the horizontal pod autoscaling feature, which # Configuration for the horizontal pod autoscaling feature, which 1317 # increases or decreases the number of replica pods a replication controller 1318 # has based on the resource usage of the existing pods. 1319 # increases or decreases the number of replica pods a replication controller 1320 # has based on the resource usage of the existing pods. 1321 "disabled": True or False, # Whether the Horizontal Pod Autoscaling feature is enabled in the cluster. 1322 # When enabled, it ensures that a Heapster pod is running in the cluster, 1323 # which is also used by the Cloud Monitoring service. 1324 }, 1325 "istioConfig": { # Configuration options for Istio addon. # Configuration for Istio, an open platform to connect, manage, and secure 1326 # microservices. 1327 "disabled": True or False, # Whether Istio is enabled for this cluster. 1328 "auth": "A String", # The specified Istio auth mode, either none, or mutual TLS. 1329 }, 1330 "kubernetesDashboard": { # Configuration for the Kubernetes Dashboard. # Configuration for the Kubernetes Dashboard. 1331 # This addon is deprecated, and will be disabled in 1.15. It is recommended 1332 # to use the Cloud Console to manage and monitor your Kubernetes clusters, 1333 # workloads and applications. For more information, see: 1334 # https://cloud.google.com/kubernetes-engine/docs/concepts/dashboards 1335 "disabled": True or False, # Whether the Kubernetes Dashboard is enabled for this cluster. 1336 }, 1337 }, 1338 "locations": [ # The list of Google Compute Engine 1339 # [zones](/compute/docs/zones#available) in which the cluster's nodes 1340 # should be located. 1341 "A String", 1342 ], 1343 "legacyAbac": { # Configuration for the legacy Attribute Based Access Control authorization # Configuration for the legacy ABAC authorization mode. 1344 # mode. 1345 "enabled": True or False, # Whether the ABAC authorizer is enabled for this cluster. When enabled, 1346 # identities in the system, including service accounts, nodes, and 1347 # controllers, will have statically granted permissions beyond those 1348 # provided by the RBAC configuration or IAM. 1349 }, 1350 "enableTpu": True or False, # Enable the ability to use Cloud TPUs in this cluster. 1351 "defaultMaxPodsConstraint": { # Constraints applied to pods. # The default constraint on the maximum number of pods that can be run 1352 # simultaneously on a node in the node pool of this cluster. Only honored 1353 # if cluster created with IP Alias support. 1354 "maxPodsPerNode": "A String", # Constraint enforced on the max num of pods per node. 1355 }, 1356 "ipAllocationPolicy": { # Configuration for controlling how IPs are allocated in the cluster. # Configuration for cluster IP allocation. 1357 "clusterIpv4Cidr": "A String", # This field is deprecated, use cluster_ipv4_cidr_block. 1358 "useIpAliases": True or False, # Whether alias IPs will be used for pod IPs in the cluster. 1359 "nodeIpv4Cidr": "A String", # This field is deprecated, use node_ipv4_cidr_block. 1360 "clusterIpv4CidrBlock": "A String", # The IP address range for the cluster pod IPs. If this field is set, then 1361 # `cluster.cluster_ipv4_cidr` must be left blank. 1362 # 1363 # This field is only applicable when `use_ip_aliases` is true. 1364 # 1365 # Set to blank to have a range chosen with the default size. 1366 # 1367 # Set to /netmask (e.g. `/14`) to have a range chosen with a specific 1368 # netmask. 1369 # 1370 # Set to a 1371 # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) 1372 # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. 1373 # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range 1374 # to use. 1375 "clusterSecondaryRangeName": "A String", # The name of the secondary range to be used for the cluster CIDR 1376 # block. The secondary range will be used for pod IP 1377 # addresses. This must be an existing secondary range associated 1378 # with the cluster subnetwork. 1379 # 1380 # This field is only applicable with use_ip_aliases and 1381 # create_subnetwork is false. 1382 "servicesIpv4CidrBlock": "A String", # The IP address range of the services IPs in this cluster. If blank, a range 1383 # will be automatically chosen with the default size. 1384 # 1385 # This field is only applicable when `use_ip_aliases` is true. 1386 # 1387 # Set to blank to have a range chosen with the default size. 1388 # 1389 # Set to /netmask (e.g. `/14`) to have a range chosen with a specific 1390 # netmask. 1391 # 1392 # Set to a 1393 # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) 1394 # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. 1395 # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range 1396 # to use. 1397 "createSubnetwork": True or False, # Whether a new subnetwork will be created automatically for the cluster. 1398 # 1399 # This field is only applicable when `use_ip_aliases` is true. 1400 "nodeIpv4CidrBlock": "A String", # The IP address range of the instance IPs in this cluster. 1401 # 1402 # This is applicable only if `create_subnetwork` is true. 1403 # 1404 # Set to blank to have a range chosen with the default size. 1405 # 1406 # Set to /netmask (e.g. `/14`) to have a range chosen with a specific 1407 # netmask. 1408 # 1409 # Set to a 1410 # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) 1411 # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. 1412 # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range 1413 # to use. 1414 "tpuIpv4CidrBlock": "A String", # The IP address range of the Cloud TPUs in this cluster. If unspecified, a 1415 # range will be automatically chosen with the default size. 1416 # 1417 # This field is only applicable when `use_ip_aliases` is true. 1418 # 1419 # If unspecified, the range will use the default size. 1420 # 1421 # Set to /netmask (e.g. `/14`) to have a range chosen with a specific 1422 # netmask. 1423 # 1424 # Set to a 1425 # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) 1426 # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. 1427 # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range 1428 # to use. 1429 "allowRouteOverlap": True or False, # If true, allow allocation of cluster CIDR ranges that overlap with certain 1430 # kinds of network routes. By default we do not allow cluster CIDR ranges to 1431 # intersect with any user declared routes. With allow_route_overlap == true, 1432 # we allow overlapping with CIDR ranges that are larger than the cluster CIDR 1433 # range. 1434 # 1435 # If this field is set to true, then cluster and services CIDRs must be 1436 # fully-specified (e.g. `10.96.0.0/14`, but not `/14`), which means: 1437 # 1) When `use_ip_aliases` is true, `cluster_ipv4_cidr_block` and 1438 # `services_ipv4_cidr_block` must be fully-specified. 1439 # 2) When `use_ip_aliases` is false, `cluster.cluster_ipv4_cidr` muse be 1440 # fully-specified. 1441 "subnetworkName": "A String", # A custom subnetwork name to be used if `create_subnetwork` is true. If 1442 # this field is empty, then an automatic name will be chosen for the new 1443 # subnetwork. 1444 "servicesSecondaryRangeName": "A String", # The name of the secondary range to be used as for the services 1445 # CIDR block. The secondary range will be used for service 1446 # ClusterIPs. This must be an existing secondary range associated 1447 # with the cluster subnetwork. 1448 # 1449 # This field is only applicable with use_ip_aliases and 1450 # create_subnetwork is false. 1451 "servicesIpv4Cidr": "A String", # This field is deprecated, use services_ipv4_cidr_block. 1452 }, 1453 "network": "A String", # The name of the Google Compute Engine 1454 # [network](/compute/docs/networks-and-firewalls#networks) to which the 1455 # cluster is connected. If left unspecified, the `default` network 1456 # will be used. On output this shows the network ID instead of 1457 # the name. 1458 "zone": "A String", # [Output only] The name of the Google Compute Engine 1459 # [zone](/compute/docs/zones#available) in which the cluster 1460 # resides. 1461 # This field is deprecated, use location instead. 1462 "instanceGroupUrls": [ # Deprecated. Use node_pools.instance_group_urls. 1463 "A String", 1464 ], 1465 "networkConfig": { # NetworkConfig reports the relative names of network & subnetwork. # Configuration for cluster networking. 1466 "subnetwork": "A String", # Output only. The relative name of the Google Compute Engine 1467 # [subnetwork](/compute/docs/vpc) to which the cluster is connected. 1468 # Example: projects/my-project/regions/us-central1/subnetworks/my-subnet 1469 "network": "A String", # Output only. The relative name of the Google Compute Engine 1470 # network(/compute/docs/networks-and-firewalls#networks) to which 1471 # the cluster is connected. 1472 # Example: projects/my-project/global/networks/my-network 1473 "enableIntraNodeVisibility": True or False, # Whether Intra-node visibility is enabled for this cluster. 1474 # This makes same node pod to pod traffic visible for VPC network. 1475 }, 1476 "privateCluster": True or False, # If this is a private cluster setup. Private clusters are clusters that, by 1477 # default have no external IP addresses on the nodes and where nodes and the 1478 # master communicate over private IP addresses. 1479 # This field is deprecated, use private_cluster_config.enable_private_nodes 1480 # instead. 1481 "podSecurityPolicyConfig": { # Configuration for the PodSecurityPolicy feature. # Configuration for the PodSecurityPolicy feature. 1482 "enabled": True or False, # Enable the PodSecurityPolicy controller for this cluster. If enabled, pods 1483 # must be valid under a PodSecurityPolicy to be created. 1484 }, 1485 "location": "A String", # [Output only] The name of the Google Compute Engine 1486 # [zone](/compute/docs/regions-zones/regions-zones#available) or 1487 # [region](/compute/docs/regions-zones/regions-zones#available) in which 1488 # the cluster resides. 1489 "workloadIdentityConfig": { # Configuration for the use of Kubernetes Service Accounts in GCP IAM # Configuration for the use of Kubernetes Service Accounts in GCP IAM 1490 # policies. 1491 # policies. 1492 "identityNamespace": "A String", # IAM Identity Namespace to attach all Kubernetes Service Accounts to. 1493 }, 1494 "resourceUsageExportConfig": { # Configuration for exporting cluster resource usages. # Configuration for exporting resource usages. Resource usage export is 1495 # disabled when this config unspecified. 1496 "bigqueryDestination": { # Parameters for using BigQuery as the destination of resource usage export. # Configuration to use BigQuery as usage export destination. 1497 "datasetId": "A String", # The ID of a BigQuery Dataset. 1498 }, 1499 "enableNetworkEgressMetering": True or False, # Whether to enable network egress metering for this cluster. If enabled, a 1500 # daemonset will be created in the cluster to meter network egress traffic. 1501 "consumptionMeteringConfig": { # Parameters for controlling consumption metering. # Configuration to enable resource consumption metering. 1502 "enabled": True or False, # Whether to enable consumption metering for this cluster. If enabled, a 1503 # second BigQuery table will be created to hold resource consumption 1504 # records. 1505 }, 1506 }, 1507 "masterIpv4CidrBlock": "A String", # The IP prefix in CIDR notation to use for the hosted master network. 1508 # This prefix will be used for assigning private IP addresses to the 1509 # master or set of masters, as well as the ILB VIP. 1510 # This field is deprecated, use 1511 # private_cluster_config.master_ipv4_cidr_block instead. 1512 "conditions": [ # Which conditions caused the current cluster state. 1513 { # StatusCondition describes why a cluster or a node pool has a certain status 1514 # (e.g., ERROR or DEGRADED). 1515 "message": "A String", # Human-friendly representation of the condition 1516 "code": "A String", # Machine-friendly representation of the condition 1517 }, 1518 ], 1519 "servicesIpv4Cidr": "A String", # [Output only] The IP address range of the Kubernetes services in 1520 # this cluster, in 1521 # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) 1522 # notation (e.g. `1.2.3.4/29`). Service addresses are 1523 # typically put in the last `/16` from the container CIDR. 1524 "statusMessage": "A String", # [Output only] Additional information about the current status of this 1525 # cluster, if available. 1526 "tierSettings": { # Cluster tier settings. # Cluster tier settings. 1527 "tier": "A String", # Cluster tier. 1528 }, 1529 "status": "A String", # [Output only] The current status of this cluster. 1530 "currentMasterVersion": "A String", # [Output only] The current software version of the master endpoint. 1531 "description": "A String", # An optional description of this cluster. 1532 "databaseEncryption": { # Configuration of etcd encryption. # Configuration of etcd encryption. 1533 "state": "A String", # Denotes the state of etcd encryption. 1534 "keyName": "A String", # Name of CloudKMS key to use for the encryption of secrets in etcd. 1535 # Ex. projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-key 1536 }, 1537 "currentNodeVersion": "A String", # [Output only] Deprecated, use 1538 # [NodePool.version](/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters.nodePools) 1539 # instead. The current version of the node software components. 1540 # If they are currently at multiple versions because they're in the process 1541 # of being upgraded, this reflects the minimum version of all nodes. 1542 "binaryAuthorization": { # Configuration for Binary Authorization. # Configuration for Binary Authorization. 1543 "enabled": True or False, # Enable Binary Authorization for this cluster. If enabled, all container 1544 # images will be validated by Google Binauthz. 1545 }, 1546 "labelFingerprint": "A String", # The fingerprint of the set of labels for this cluster. 1547 "autoscaling": { # ClusterAutoscaling contains global, per-cluster information # Cluster-level autoscaling configuration. 1548 # required by Cluster Autoscaler to automatically adjust 1549 # the size of the cluster and create/delete 1550 # node pools based on the current needs. 1551 "autoprovisioningNodePoolDefaults": { # AutoprovisioningNodePoolDefaults contains defaults for a node pool created # AutoprovisioningNodePoolDefaults contains defaults for a node pool 1552 # created by NAP. 1553 # by NAP. 1554 "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs. If 1555 # service_account is specified, scopes should be empty. 1556 "oauthScopes": [ # Scopes that are used by NAP when creating node pools. If oauth_scopes are 1557 # specified, service_account should be empty. 1558 "A String", 1559 ], 1560 }, 1561 "resourceLimits": [ # Contains global constraints regarding minimum and maximum 1562 # amount of resources in the cluster. 1563 { # Contains information about amount of some resource in the cluster. 1564 # For memory, value should be in GB. 1565 "resourceType": "A String", # Resource name "cpu", "memory" or gpu-specific string. 1566 "minimum": "A String", # Minimum amount of the resource in the cluster. 1567 "maximum": "A String", # Maximum amount of the resource in the cluster. 1568 }, 1569 ], 1570 "autoprovisioningLocations": [ # The list of Google Compute Engine [zones](/compute/docs/zones#available) 1571 # in which the NodePool's nodes can be created by NAP. 1572 "A String", 1573 ], 1574 "enableNodeAutoprovisioning": True or False, # Enables automatic node pool creation and deletion. 1575 }, 1576 "masterAuth": { # The authentication information for accessing the master endpoint. # The authentication information for accessing the master endpoint. 1577 # If unspecified, the defaults are used: 1578 # For clusters before v1.12, if master_auth is unspecified, `username` will 1579 # be set to "admin", a random password will be generated, and a client 1580 # certificate will be issued. 1581 # Authentication can be done using HTTP basic auth or using client 1582 # certificates. 1583 "username": "A String", # The username to use for HTTP basic authentication to the master endpoint. 1584 # For clusters v1.6.0 and later, basic authentication can be disabled by 1585 # leaving username unspecified (or setting it to the empty string). 1586 "clientKey": "A String", # [Output only] Base64-encoded private key used by clients to authenticate 1587 # to the cluster endpoint. 1588 "clientCertificate": "A String", # [Output only] Base64-encoded public certificate used by clients to 1589 # authenticate to the cluster endpoint. 1590 "clientCertificateConfig": { # Configuration for client certificates on the cluster. # Configuration for client certificate authentication on the cluster. For 1591 # clusters before v1.12, if no configuration is specified, a client 1592 # certificate is issued. 1593 "issueClientCertificate": True or False, # Issue a client certificate. 1594 }, 1595 "password": "A String", # The password to use for HTTP basic authentication to the master endpoint. 1596 # Because the master endpoint is open to the Internet, you should create a 1597 # strong password. If a password is provided for cluster creation, username 1598 # must be non-empty. 1599 "clusterCaCertificate": "A String", 1600 }, 1601 "expireTime": "A String", # [Output only] The time the cluster will be automatically 1602 # deleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. 1603 "initialNodeCount": 42, # The number of nodes to create in this cluster. You must ensure that your 1604 # Compute Engine <a href="/compute/docs/resource-quotas">resource quota</a> 1605 # is sufficient for this number of instances. You must also have available 1606 # firewall and routes quota. 1607 # For requests, this field should only be used in lieu of a 1608 # "node_pool" object, since this configuration (along with the 1609 # "node_config") will be used to create a "NodePool" object with an 1610 # auto-generated name. Do not use this and a node_pool at the same time. 1611 # 1612 # This field is deprecated, use node_pool.initial_node_count instead. 1613 "nodePools": [ # The node pools associated with this cluster. 1614 # This field should not be set if "node_config" or "initial_node_count" are 1615 # specified. 1616 { # NodePool contains the name and configuration for a cluster's node pool. 1617 # Node pools are a set of nodes (i.e. VM's), with a common configuration and 1618 # specification, under the control of the cluster master. They may have a set 1619 # of Kubernetes labels applied to them, which may be used to reference them 1620 # during pod scheduling. They may also be resized up or down, to accommodate 1621 # the workload. 1622 "status": "A String", # [Output only] The status of the nodes in this pool instance. 1623 "statusMessage": "A String", # [Output only] Additional information about the current status of this 1624 # node pool instance, if available. 1625 "management": { # NodeManagement defines the set of node management services turned on for the # NodeManagement configuration for this NodePool. 1626 # node pool. 1627 "autoRepair": True or False, # Whether the nodes will be automatically repaired. 1628 "upgradeOptions": { # AutoUpgradeOptions defines the set of options for the user to control how # Specifies the Auto Upgrade knobs for the node pool. 1629 # the Auto Upgrades will proceed. 1630 "description": "A String", # [Output only] This field is set when upgrades are about to commence 1631 # with the description of the upgrade. 1632 "autoUpgradeStartTime": "A String", # [Output only] This field is set when upgrades are about to commence 1633 # with the approximate start time for the upgrades, in 1634 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. 1635 }, 1636 "autoUpgrade": True or False, # Whether the nodes will be automatically upgraded. 1637 }, 1638 "name": "A String", # The name of the node pool. 1639 "instanceGroupUrls": [ # [Output only] The resource URLs of the [managed instance 1640 # groups](/compute/docs/instance-groups/creating-groups-of-managed-instances) 1641 # associated with this node pool. 1642 "A String", 1643 ], 1644 "autoscaling": { # NodePoolAutoscaling contains information required by cluster autoscaler to # Autoscaler configuration for this NodePool. Autoscaler is enabled 1645 # only if a valid configuration is present. 1646 # adjust the size of the node pool to the current cluster usage. 1647 "minNodeCount": 42, # Minimum number of nodes in the NodePool. Must be >= 1 and <= 1648 # max_node_count. 1649 "autoprovisioned": True or False, # Can this node pool be deleted automatically. 1650 "enabled": True or False, # Is autoscaling enabled for this node pool. 1651 "maxNodeCount": 42, # Maximum number of nodes in the NodePool. Must be >= min_node_count. There 1652 # has to enough quota to scale up the cluster. 1653 }, 1654 "locations": [ # The list of Google Compute Engine [zones](/compute/docs/zones#available) 1655 # in which the NodePool's nodes should be located. 1656 "A String", 1657 ], 1658 "maxPodsConstraint": { # Constraints applied to pods. # The constraint on the maximum number of pods that can be run 1659 # simultaneously on a node in the node pool. 1660 "maxPodsPerNode": "A String", # Constraint enforced on the max num of pods per node. 1661 }, 1662 "version": "A String", # The version of the Kubernetes of this node. 1663 "initialNodeCount": 42, # The initial node count for the pool. You must ensure that your 1664 # Compute Engine <a href="/compute/docs/resource-quotas">resource quota</a> 1665 # is sufficient for this number of instances. You must also have available 1666 # firewall and routes quota. 1667 "podIpv4CidrSize": 42, # [Output only] The pod CIDR block size per node in this node pool. 1668 "config": { # Parameters that describe the nodes in a cluster. # The node configuration of the pool. 1669 "sandboxConfig": { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node. 1670 "sandboxType": "A String", # Type of the sandbox to use for the node (e.g. 'gvisor') 1671 }, 1672 "machineType": "A String", # The name of a Google Compute Engine [machine 1673 # type](/compute/docs/machine-types) (e.g. 1674 # `n1-standard-1`). 1675 # 1676 # If unspecified, the default machine type is 1677 # `n1-standard-1`. 1678 "shieldedInstanceConfig": { # A set of Shielded Instance options. # Shielded Instance options. 1679 "enableIntegrityMonitoring": True or False, # Defines whether the instance has integrity monitoring enabled. 1680 # 1681 # Enables monitoring and attestation of the boot integrity of the instance. 1682 # The attestation is performed against the integrity policy baseline. This 1683 # baseline is initially derived from the implicitly trusted boot image when 1684 # the instance is created. 1685 "enableSecureBoot": True or False, # Defines whether the instance has Secure Boot enabled. 1686 # 1687 # Secure Boot helps ensure that the system only runs authentic software by 1688 # verifying the digital signature of all boot components, and halting the 1689 # boot process if signature verification fails. 1690 }, 1691 "diskType": "A String", # Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd') 1692 # 1693 # If unspecified, the default disk type is 'pd-standard' 1694 "tags": [ # The list of instance tags applied to all nodes. Tags are used to identify 1695 # valid sources or targets for network firewalls and are specified by 1696 # the client during cluster or node pool creation. Each tag within the list 1697 # must comply with RFC1035. 1698 "A String", 1699 ], 1700 "preemptible": True or False, # Whether the nodes are created as preemptible VM instances. See: 1701 # https://cloud.google.com/compute/docs/instances/preemptible for more 1702 # inforamtion about preemptible VM instances. 1703 "labels": { # The map of Kubernetes labels (key/value pairs) to be applied to each node. 1704 # These will added in addition to any default label(s) that 1705 # Kubernetes may apply to the node. 1706 # In case of conflict in label keys, the applied set may differ depending on 1707 # the Kubernetes version -- it's best to assume the behavior is undefined 1708 # and conflicts should be avoided. 1709 # For more information, including usage and the valid values, see: 1710 # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ 1711 "a_key": "A String", 1712 }, 1713 "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs. If 1714 # no Service Account is specified, the "default" service account is used. 1715 "oauthScopes": [ # The set of Google API scopes to be made available on all of the 1716 # node VMs under the "default" service account. 1717 # 1718 # The following scopes are recommended, but not required, and by default are 1719 # not included: 1720 # 1721 # * `https://www.googleapis.com/auth/compute` is required for mounting 1722 # persistent storage on your nodes. 1723 # * `https://www.googleapis.com/auth/devstorage.read_only` is required for 1724 # communicating with **gcr.io** 1725 # (the [Google Container Registry](/container-registry/)). 1726 # 1727 # If unspecified, no scopes are added, unless Cloud Logging or Cloud 1728 # Monitoring are enabled, in which case their required scopes will be added. 1729 "A String", 1730 ], 1731 "taints": [ # List of kubernetes taints to be applied to each node. 1732 # 1733 # For more information, including usage and the valid values, see: 1734 # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ 1735 { # Kubernetes taint is comprised of three fields: key, value, and effect. Effect 1736 # can only be one of three types: NoSchedule, PreferNoSchedule or NoExecute. 1737 # 1738 # For more information, including usage and the valid values, see: 1739 # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ 1740 "key": "A String", # Key for taint. 1741 "effect": "A String", # Effect for taint. 1742 "value": "A String", # Value for taint. 1743 }, 1744 ], 1745 "workloadMetadataConfig": { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node. 1746 # workloads on the node pool. 1747 "nodeMetadata": "A String", # NodeMetadata is the configuration for how to expose metadata to the 1748 # workloads running on the node. 1749 }, 1750 "diskSizeGb": 42, # Size of the disk attached to each node, specified in GB. 1751 # The smallest allowed disk size is 10GB. 1752 # 1753 # If unspecified, the default disk size is 100GB. 1754 "accelerators": [ # A list of hardware accelerators to be attached to each node. 1755 # See https://cloud.google.com/compute/docs/gpus for more information about 1756 # support for GPUs. 1757 { # AcceleratorConfig represents a Hardware Accelerator request. 1758 "acceleratorCount": "A String", # The number of the accelerator cards exposed to an instance. 1759 "acceleratorType": "A String", # The accelerator type resource name. List of supported accelerators 1760 # [here](/compute/docs/gpus/#Introduction) 1761 }, 1762 ], 1763 "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be 1764 # scheduled on the specified or newer CPU platform. Applicable values are the 1765 # friendly names of CPU platforms, such as 1766 # <code>minCpuPlatform: "Intel Haswell"</code> or 1767 # <code>minCpuPlatform: "Intel Sandy Bridge"</code>. For more 1768 # information, read [how to specify min CPU 1769 # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform) 1770 "localSsdCount": 42, # The number of local SSD disks to be attached to the node. 1771 # 1772 # The limit for this value is dependant upon the maximum number of 1773 # disks available on a machine per zone. See: 1774 # https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits 1775 # for more information. 1776 "imageType": "A String", # The image type to use for this node. Note that for a given image type, 1777 # the latest version of it will be used. 1778 "metadata": { # The metadata key/value pairs assigned to instances in the cluster. 1779 # 1780 # Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes 1781 # in length. These are reflected as part of a URL in the metadata server. 1782 # Additionally, to avoid ambiguity, keys must not conflict with any other 1783 # metadata keys for the project or be one of the reserved keys: 1784 # "cluster-location" 1785 # "cluster-name" 1786 # "cluster-uid" 1787 # "configure-sh" 1788 # "containerd-configure-sh" 1789 # "enable-oslogin" 1790 # "gci-ensure-gke-docker" 1791 # "gci-update-strategy" 1792 # "instance-template" 1793 # "kube-env" 1794 # "startup-script" 1795 # "user-data" 1796 # "disable-address-manager" 1797 # "windows-startup-script-ps1" 1798 # "common-psm1" 1799 # "k8s-node-setup-psm1" 1800 # "install-ssh-psm1" 1801 # "user-profile-psm1" 1802 # "serial-port-logging-enable" 1803 # Values are free-form strings, and only have meaning as interpreted by 1804 # the image running in the instance. The only restriction placed on them is 1805 # that each value's size must be less than or equal to 32 KB. 1806 # 1807 # The total size of all keys and values must be less than 512 KB. 1808 "a_key": "A String", 1809 }, 1810 }, 1811 "conditions": [ # Which conditions caused the current node pool state. 1812 { # StatusCondition describes why a cluster or a node pool has a certain status 1813 # (e.g., ERROR or DEGRADED). 1814 "message": "A String", # Human-friendly representation of the condition 1815 "code": "A String", # Machine-friendly representation of the condition 1816 }, 1817 ], 1818 "selfLink": "A String", # [Output only] Server-defined URL for the resource. 1819 }, 1820 ], 1821 "monitoringService": "A String", # The monitoring service the cluster should use to write metrics. 1822 # Currently available options: 1823 # 1824 # * `monitoring.googleapis.com` - the Google Cloud Monitoring service. 1825 # * `none` - no metrics will be exported from the cluster. 1826 # * if left as an empty string, `monitoring.googleapis.com` will be used. 1827 "createTime": "A String", # [Output only] The time the cluster was created, in 1828 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. 1829 "authenticatorGroupsConfig": { # Configuration for returning group information from authenticators. # Configuration controlling RBAC group membership information. 1830 "enabled": True or False, # Whether this cluster should return group membership lookups 1831 # during authentication using a group of security groups. 1832 "securityGroup": "A String", # The name of the security group-of-groups to be used. Only relevant 1833 # if enabled = true. 1834 }, 1835 "privateClusterConfig": { # Configuration options for private clusters. # Configuration for private cluster. 1836 "enablePrivateEndpoint": True or False, # Whether the master's internal IP address is used as the cluster endpoint. 1837 "publicEndpoint": "A String", # Output only. The external IP address of this cluster's master endpoint. 1838 "enablePrivateNodes": True or False, # Whether nodes have internal IP addresses only. If enabled, all nodes are 1839 # given only RFC 1918 private addresses and communicate with the master via 1840 # private networking. 1841 "privateEndpoint": "A String", # Output only. The internal IP address of this cluster's master endpoint. 1842 "masterIpv4CidrBlock": "A String", # The IP range in CIDR notation to use for the hosted master network. This 1843 # range will be used for assigning internal IP addresses to the master or 1844 # set of masters, as well as the ILB VIP. This range must not overlap with 1845 # any other ranges in use within the cluster's network. 1846 "enablePeeringRouteSharing": True or False, # Whether to enable route sharing over the network peering. 1847 }, 1848 "endpoint": "A String", # [Output only] The IP address of this cluster's master endpoint. 1849 # The endpoint can be accessed from the internet at 1850 # `https://username:password@endpoint/`. 1851 # 1852 # See the `masterAuth` property of this resource for username and 1853 # password information. 1854 "currentNodeCount": 42, # [Output only] The number of nodes currently in the cluster. Deprecated. 1855 # Call Kubernetes API directly to retrieve node information. 1856 "name": "A String", # The name of this cluster. The name must be unique within this project 1857 # and zone, and can be up to 40 characters with the following restrictions: 1858 # 1859 # * Lowercase letters, numbers, and hyphens only. 1860 # * Must start with a letter. 1861 # * Must end with a number or a letter. 1862 "verticalPodAutoscaling": { # VerticalPodAutoscaling contains global, per-cluster information # Cluster-level Vertical Pod Autoscaling configuration. 1863 # required by Vertical Pod Autoscaler to automatically adjust 1864 # the resources of pods controlled by it. 1865 "enabled": True or False, # Enables vertical pod autoscaling. 1866 }, 1867 "enableKubernetesAlpha": True or False, # Kubernetes alpha features are enabled on this cluster. This includes alpha 1868 # API groups (e.g. v1beta1) and features that may not be production ready in 1869 # the kubernetes version of the master and nodes. 1870 # The cluster has no SLA for uptime and master/node upgrades are disabled. 1871 # Alpha enabled clusters are automatically deleted thirty days after 1872 # creation. 1873 "initialClusterVersion": "A String", # The initial Kubernetes version for this cluster. Valid versions are those 1874 # found in validMasterVersions returned by getServerConfig. The version can 1875 # be upgraded over time; such upgrades are reflected in 1876 # currentMasterVersion and currentNodeVersion. 1877 # 1878 # Users may specify either explicit versions offered by 1879 # Kubernetes Engine or version aliases, which have the following behavior: 1880 # 1881 # - "latest": picks the highest valid Kubernetes version 1882 # - "1.X": picks the highest valid patch+gke.N patch in the 1.X version 1883 # - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version 1884 # - "1.X.Y-gke.N": picks an explicit Kubernetes version 1885 # - "","-": picks the default Kubernetes version 1886 "nodeConfig": { # Parameters that describe the nodes in a cluster. # Parameters used in creating the cluster's nodes. 1887 # For requests, this field should only be used in lieu of a 1888 # "node_pool" object, since this configuration (along with the 1889 # "initial_node_count") will be used to create a "NodePool" object with an 1890 # auto-generated name. Do not use this and a node_pool at the same time. 1891 # For responses, this field will be populated with the node configuration of 1892 # the first node pool. (For configuration of each node pool, see 1893 # `node_pool.config`) 1894 # 1895 # If unspecified, the defaults are used. 1896 # This field is deprecated, use node_pool.config instead. 1897 "sandboxConfig": { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node. 1898 "sandboxType": "A String", # Type of the sandbox to use for the node (e.g. 'gvisor') 1899 }, 1900 "machineType": "A String", # The name of a Google Compute Engine [machine 1901 # type](/compute/docs/machine-types) (e.g. 1902 # `n1-standard-1`). 1903 # 1904 # If unspecified, the default machine type is 1905 # `n1-standard-1`. 1906 "shieldedInstanceConfig": { # A set of Shielded Instance options. # Shielded Instance options. 1907 "enableIntegrityMonitoring": True or False, # Defines whether the instance has integrity monitoring enabled. 1908 # 1909 # Enables monitoring and attestation of the boot integrity of the instance. 1910 # The attestation is performed against the integrity policy baseline. This 1911 # baseline is initially derived from the implicitly trusted boot image when 1912 # the instance is created. 1913 "enableSecureBoot": True or False, # Defines whether the instance has Secure Boot enabled. 1914 # 1915 # Secure Boot helps ensure that the system only runs authentic software by 1916 # verifying the digital signature of all boot components, and halting the 1917 # boot process if signature verification fails. 1918 }, 1919 "diskType": "A String", # Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd') 1920 # 1921 # If unspecified, the default disk type is 'pd-standard' 1922 "tags": [ # The list of instance tags applied to all nodes. Tags are used to identify 1923 # valid sources or targets for network firewalls and are specified by 1924 # the client during cluster or node pool creation. Each tag within the list 1925 # must comply with RFC1035. 1926 "A String", 1927 ], 1928 "preemptible": True or False, # Whether the nodes are created as preemptible VM instances. See: 1929 # https://cloud.google.com/compute/docs/instances/preemptible for more 1930 # inforamtion about preemptible VM instances. 1931 "labels": { # The map of Kubernetes labels (key/value pairs) to be applied to each node. 1932 # These will added in addition to any default label(s) that 1933 # Kubernetes may apply to the node. 1934 # In case of conflict in label keys, the applied set may differ depending on 1935 # the Kubernetes version -- it's best to assume the behavior is undefined 1936 # and conflicts should be avoided. 1937 # For more information, including usage and the valid values, see: 1938 # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ 1939 "a_key": "A String", 1940 }, 1941 "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs. If 1942 # no Service Account is specified, the "default" service account is used. 1943 "oauthScopes": [ # The set of Google API scopes to be made available on all of the 1944 # node VMs under the "default" service account. 1945 # 1946 # The following scopes are recommended, but not required, and by default are 1947 # not included: 1948 # 1949 # * `https://www.googleapis.com/auth/compute` is required for mounting 1950 # persistent storage on your nodes. 1951 # * `https://www.googleapis.com/auth/devstorage.read_only` is required for 1952 # communicating with **gcr.io** 1953 # (the [Google Container Registry](/container-registry/)). 1954 # 1955 # If unspecified, no scopes are added, unless Cloud Logging or Cloud 1956 # Monitoring are enabled, in which case their required scopes will be added. 1957 "A String", 1958 ], 1959 "taints": [ # List of kubernetes taints to be applied to each node. 1960 # 1961 # For more information, including usage and the valid values, see: 1962 # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ 1963 { # Kubernetes taint is comprised of three fields: key, value, and effect. Effect 1964 # can only be one of three types: NoSchedule, PreferNoSchedule or NoExecute. 1965 # 1966 # For more information, including usage and the valid values, see: 1967 # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ 1968 "key": "A String", # Key for taint. 1969 "effect": "A String", # Effect for taint. 1970 "value": "A String", # Value for taint. 1971 }, 1972 ], 1973 "workloadMetadataConfig": { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node. 1974 # workloads on the node pool. 1975 "nodeMetadata": "A String", # NodeMetadata is the configuration for how to expose metadata to the 1976 # workloads running on the node. 1977 }, 1978 "diskSizeGb": 42, # Size of the disk attached to each node, specified in GB. 1979 # The smallest allowed disk size is 10GB. 1980 # 1981 # If unspecified, the default disk size is 100GB. 1982 "accelerators": [ # A list of hardware accelerators to be attached to each node. 1983 # See https://cloud.google.com/compute/docs/gpus for more information about 1984 # support for GPUs. 1985 { # AcceleratorConfig represents a Hardware Accelerator request. 1986 "acceleratorCount": "A String", # The number of the accelerator cards exposed to an instance. 1987 "acceleratorType": "A String", # The accelerator type resource name. List of supported accelerators 1988 # [here](/compute/docs/gpus/#Introduction) 1989 }, 1990 ], 1991 "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be 1992 # scheduled on the specified or newer CPU platform. Applicable values are the 1993 # friendly names of CPU platforms, such as 1994 # <code>minCpuPlatform: "Intel Haswell"</code> or 1995 # <code>minCpuPlatform: "Intel Sandy Bridge"</code>. For more 1996 # information, read [how to specify min CPU 1997 # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform) 1998 "localSsdCount": 42, # The number of local SSD disks to be attached to the node. 1999 # 2000 # The limit for this value is dependant upon the maximum number of 2001 # disks available on a machine per zone. See: 2002 # https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits 2003 # for more information. 2004 "imageType": "A String", # The image type to use for this node. Note that for a given image type, 2005 # the latest version of it will be used. 2006 "metadata": { # The metadata key/value pairs assigned to instances in the cluster. 2007 # 2008 # Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes 2009 # in length. These are reflected as part of a URL in the metadata server. 2010 # Additionally, to avoid ambiguity, keys must not conflict with any other 2011 # metadata keys for the project or be one of the reserved keys: 2012 # "cluster-location" 2013 # "cluster-name" 2014 # "cluster-uid" 2015 # "configure-sh" 2016 # "containerd-configure-sh" 2017 # "enable-oslogin" 2018 # "gci-ensure-gke-docker" 2019 # "gci-update-strategy" 2020 # "instance-template" 2021 # "kube-env" 2022 # "startup-script" 2023 # "user-data" 2024 # "disable-address-manager" 2025 # "windows-startup-script-ps1" 2026 # "common-psm1" 2027 # "k8s-node-setup-psm1" 2028 # "install-ssh-psm1" 2029 # "user-profile-psm1" 2030 # "serial-port-logging-enable" 2031 # Values are free-form strings, and only have meaning as interpreted by 2032 # the image running in the instance. The only restriction placed on them is 2033 # that each value's size must be less than or equal to 32 KB. 2034 # 2035 # The total size of all keys and values must be less than 512 KB. 2036 "a_key": "A String", 2037 }, 2038 }, 2039 "clusterIpv4Cidr": "A String", # The IP address range of the container pods in this cluster, in 2040 # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) 2041 # notation (e.g. `10.96.0.0/14`). Leave blank to have 2042 # one automatically chosen or specify a `/14` block in `10.0.0.0/8`. 2043 "subnetwork": "A String", # The name of the Google Compute Engine 2044 # [subnetwork](/compute/docs/subnetworks) to which the 2045 # cluster is connected. On output this shows the subnetwork ID instead of 2046 # the name. 2047 "resourceLabels": { # The resource labels for the cluster to use to annotate any related 2048 # Google Compute Engine resources. 2049 "a_key": "A String", 2050 }, 2051 "selfLink": "A String", # [Output only] Server-defined URL for the resource. 2052 "tpuIpv4CidrBlock": "A String", # [Output only] The IP address range of the Cloud TPUs in this cluster, in 2053 # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) 2054 # notation (e.g. `1.2.3.4/29`). 2055 }</pre> 2056</div> 2057 2058<div class="method"> 2059 <code class="details" id="getJwks">getJwks(parent, x__xgafv=None)</code> 2060 <pre>Gets the public component of the cluster signing keys in 2061JSON Web Key format. 2062This API is not yet intended for general use, and is not available for all 2063clusters. 2064 2065Args: 2066 parent: string, The cluster (project, location, cluster id) to get keys for. Specified in 2067the format 'projects/*/locations/*/clusters/*'. (required) 2068 x__xgafv: string, V1 error format. 2069 Allowed values 2070 1 - v1 error format 2071 2 - v2 error format 2072 2073Returns: 2074 An object of the form: 2075 2076 { # GetJSONWebKeysResponse is a valid JSON Web Key Set as specififed in rfc 7517 2077 "keys": [ # The public component of the keys used by the cluster to sign token 2078 # requests. 2079 { # Jwk is a JSON Web Key as specified in RFC 7517 2080 "use": "A String", # Permitted uses for the public keys. 2081 "crv": "A String", # Used for ECDSA keys. 2082 "kty": "A String", # Key Type. 2083 "alg": "A String", # Algorithm. 2084 "n": "A String", # Used for RSA keys. 2085 "y": "A String", # Used for ECDSA keys. 2086 "x": "A String", # Used for ECDSA keys. 2087 "e": "A String", # Used for RSA keys. 2088 "kid": "A String", # Key ID. 2089 }, 2090 ], 2091 }</pre> 2092</div> 2093 2094<div class="method"> 2095 <code class="details" id="list">list(parent, projectId=None, zone=None, x__xgafv=None)</code> 2096 <pre>Lists all clusters owned by a project in either the specified zone or all 2097zones. 2098 2099Args: 2100 parent: string, The parent (project and location) where the clusters will be listed. 2101Specified in the format 'projects/*/locations/*'. 2102Location "-" matches all zones and all regions. (required) 2103 projectId: string, Deprecated. The Google Developers Console [project ID or project 2104number](https://support.google.com/cloud/answer/6158840). 2105This field has been deprecated and replaced by the parent field. 2106 zone: string, Deprecated. The name of the Google Compute Engine 2107[zone](/compute/docs/zones#available) in which the cluster 2108resides, or "-" for all zones. 2109This field has been deprecated and replaced by the parent field. 2110 x__xgafv: string, V1 error format. 2111 Allowed values 2112 1 - v1 error format 2113 2 - v2 error format 2114 2115Returns: 2116 An object of the form: 2117 2118 { # ListClustersResponse is the result of ListClustersRequest. 2119 "clusters": [ # A list of clusters in the project in the specified zone, or 2120 # across all ones. 2121 { # A Google Kubernetes Engine cluster. 2122 "nodeIpv4CidrSize": 42, # [Output only] The size of the address space on each node for hosting 2123 # containers. This is provisioned from within the `container_ipv4_cidr` 2124 # range. This field will only be set when cluster is in route-based network 2125 # mode. 2126 "maintenancePolicy": { # MaintenancePolicy defines the maintenance policy to be used for the cluster. # Configure the maintenance policy for this cluster. 2127 "window": { # MaintenanceWindow defines the maintenance window to be used for the cluster. # Specifies the maintenance window in which maintenance may be performed. 2128 "dailyMaintenanceWindow": { # Time window specified for daily maintenance operations. # DailyMaintenanceWindow specifies a daily maintenance operation window. 2129 "duration": "A String", # [Output only] Duration of the time window, automatically chosen to be 2130 # smallest possible in the given scenario. 2131 "startTime": "A String", # Time within the maintenance window to start the maintenance operations. 2132 # It must be in format "HH:MM", where HH : [00-23] and MM : [00-59] GMT. 2133 }, 2134 }, 2135 }, 2136 "networkPolicy": { # Configuration options for the NetworkPolicy feature. # Configuration options for the NetworkPolicy feature. 2137 # https://kubernetes.io/docs/concepts/services-networking/networkpolicies/ 2138 "enabled": True or False, # Whether network policy is enabled on the cluster. 2139 "provider": "A String", # The selected network policy provider. 2140 }, 2141 "loggingService": "A String", # The logging service the cluster should use to write logs. 2142 # Currently available options: 2143 # 2144 # * `logging.googleapis.com` - the Google Cloud Logging service. 2145 # * `none` - no logs will be exported from the cluster. 2146 # * if left as an empty string,`logging.googleapis.com` will be used. 2147 "masterAuthorizedNetworksConfig": { # Configuration options for the master authorized networks feature. Enabled # The configuration options for master authorized networks feature. 2148 # master authorized networks will disallow all external traffic to access 2149 # Kubernetes master through HTTPS except traffic from the given CIDR blocks, 2150 # Google Compute Engine Public IPs and Google Prod IPs. 2151 "enabled": True or False, # Whether or not master authorized networks is enabled. 2152 "cidrBlocks": [ # cidr_blocks define up to 10 external networks that could access 2153 # Kubernetes master through HTTPS. 2154 { # CidrBlock contains an optional name and one CIDR block. 2155 "displayName": "A String", # display_name is an optional field for users to identify CIDR blocks. 2156 "cidrBlock": "A String", # cidr_block must be specified in CIDR notation. 2157 }, 2158 ], 2159 }, 2160 "addonsConfig": { # Configuration for the addons that can be automatically spun up in the # Configurations for the various addons available to run in the cluster. 2161 # cluster, enabling additional functionality. 2162 "networkPolicyConfig": { # Configuration for NetworkPolicy. This only tracks whether the addon # Configuration for NetworkPolicy. This only tracks whether the addon 2163 # is enabled or not on the Master, it does not track whether network policy 2164 # is enabled for the nodes. 2165 # is enabled or not on the Master, it does not track whether network policy 2166 # is enabled for the nodes. 2167 "disabled": True or False, # Whether NetworkPolicy is enabled for this cluster. 2168 }, 2169 "cloudRunConfig": { # Configuration options for the Cloud Run feature. # Configuration for the Cloud Run addon. The `IstioConfig` addon must be 2170 # enabled in order to enable Cloud Run addon. This option can only be enabled 2171 # at cluster creation time. 2172 "disabled": True or False, # Whether Cloud Run addon is enabled for this cluster. 2173 }, 2174 "httpLoadBalancing": { # Configuration options for the HTTP (L7) load balancing controller addon, # Configuration for the HTTP (L7) load balancing controller addon, which 2175 # makes it easy to set up HTTP load balancers for services in a cluster. 2176 # which makes it easy to set up HTTP load balancers for services in a cluster. 2177 "disabled": True or False, # Whether the HTTP Load Balancing controller is enabled in the cluster. 2178 # When enabled, it runs a small pod in the cluster that manages the load 2179 # balancers. 2180 }, 2181 "horizontalPodAutoscaling": { # Configuration options for the horizontal pod autoscaling feature, which # Configuration for the horizontal pod autoscaling feature, which 2182 # increases or decreases the number of replica pods a replication controller 2183 # has based on the resource usage of the existing pods. 2184 # increases or decreases the number of replica pods a replication controller 2185 # has based on the resource usage of the existing pods. 2186 "disabled": True or False, # Whether the Horizontal Pod Autoscaling feature is enabled in the cluster. 2187 # When enabled, it ensures that a Heapster pod is running in the cluster, 2188 # which is also used by the Cloud Monitoring service. 2189 }, 2190 "istioConfig": { # Configuration options for Istio addon. # Configuration for Istio, an open platform to connect, manage, and secure 2191 # microservices. 2192 "disabled": True or False, # Whether Istio is enabled for this cluster. 2193 "auth": "A String", # The specified Istio auth mode, either none, or mutual TLS. 2194 }, 2195 "kubernetesDashboard": { # Configuration for the Kubernetes Dashboard. # Configuration for the Kubernetes Dashboard. 2196 # This addon is deprecated, and will be disabled in 1.15. It is recommended 2197 # to use the Cloud Console to manage and monitor your Kubernetes clusters, 2198 # workloads and applications. For more information, see: 2199 # https://cloud.google.com/kubernetes-engine/docs/concepts/dashboards 2200 "disabled": True or False, # Whether the Kubernetes Dashboard is enabled for this cluster. 2201 }, 2202 }, 2203 "locations": [ # The list of Google Compute Engine 2204 # [zones](/compute/docs/zones#available) in which the cluster's nodes 2205 # should be located. 2206 "A String", 2207 ], 2208 "legacyAbac": { # Configuration for the legacy Attribute Based Access Control authorization # Configuration for the legacy ABAC authorization mode. 2209 # mode. 2210 "enabled": True or False, # Whether the ABAC authorizer is enabled for this cluster. When enabled, 2211 # identities in the system, including service accounts, nodes, and 2212 # controllers, will have statically granted permissions beyond those 2213 # provided by the RBAC configuration or IAM. 2214 }, 2215 "enableTpu": True or False, # Enable the ability to use Cloud TPUs in this cluster. 2216 "defaultMaxPodsConstraint": { # Constraints applied to pods. # The default constraint on the maximum number of pods that can be run 2217 # simultaneously on a node in the node pool of this cluster. Only honored 2218 # if cluster created with IP Alias support. 2219 "maxPodsPerNode": "A String", # Constraint enforced on the max num of pods per node. 2220 }, 2221 "ipAllocationPolicy": { # Configuration for controlling how IPs are allocated in the cluster. # Configuration for cluster IP allocation. 2222 "clusterIpv4Cidr": "A String", # This field is deprecated, use cluster_ipv4_cidr_block. 2223 "useIpAliases": True or False, # Whether alias IPs will be used for pod IPs in the cluster. 2224 "nodeIpv4Cidr": "A String", # This field is deprecated, use node_ipv4_cidr_block. 2225 "clusterIpv4CidrBlock": "A String", # The IP address range for the cluster pod IPs. If this field is set, then 2226 # `cluster.cluster_ipv4_cidr` must be left blank. 2227 # 2228 # This field is only applicable when `use_ip_aliases` is true. 2229 # 2230 # Set to blank to have a range chosen with the default size. 2231 # 2232 # Set to /netmask (e.g. `/14`) to have a range chosen with a specific 2233 # netmask. 2234 # 2235 # Set to a 2236 # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) 2237 # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. 2238 # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range 2239 # to use. 2240 "clusterSecondaryRangeName": "A String", # The name of the secondary range to be used for the cluster CIDR 2241 # block. The secondary range will be used for pod IP 2242 # addresses. This must be an existing secondary range associated 2243 # with the cluster subnetwork. 2244 # 2245 # This field is only applicable with use_ip_aliases and 2246 # create_subnetwork is false. 2247 "servicesIpv4CidrBlock": "A String", # The IP address range of the services IPs in this cluster. If blank, a range 2248 # will be automatically chosen with the default size. 2249 # 2250 # This field is only applicable when `use_ip_aliases` is true. 2251 # 2252 # Set to blank to have a range chosen with the default size. 2253 # 2254 # Set to /netmask (e.g. `/14`) to have a range chosen with a specific 2255 # netmask. 2256 # 2257 # Set to a 2258 # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) 2259 # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. 2260 # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range 2261 # to use. 2262 "createSubnetwork": True or False, # Whether a new subnetwork will be created automatically for the cluster. 2263 # 2264 # This field is only applicable when `use_ip_aliases` is true. 2265 "nodeIpv4CidrBlock": "A String", # The IP address range of the instance IPs in this cluster. 2266 # 2267 # This is applicable only if `create_subnetwork` is true. 2268 # 2269 # Set to blank to have a range chosen with the default size. 2270 # 2271 # Set to /netmask (e.g. `/14`) to have a range chosen with a specific 2272 # netmask. 2273 # 2274 # Set to a 2275 # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) 2276 # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. 2277 # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range 2278 # to use. 2279 "tpuIpv4CidrBlock": "A String", # The IP address range of the Cloud TPUs in this cluster. If unspecified, a 2280 # range will be automatically chosen with the default size. 2281 # 2282 # This field is only applicable when `use_ip_aliases` is true. 2283 # 2284 # If unspecified, the range will use the default size. 2285 # 2286 # Set to /netmask (e.g. `/14`) to have a range chosen with a specific 2287 # netmask. 2288 # 2289 # Set to a 2290 # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) 2291 # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. 2292 # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range 2293 # to use. 2294 "allowRouteOverlap": True or False, # If true, allow allocation of cluster CIDR ranges that overlap with certain 2295 # kinds of network routes. By default we do not allow cluster CIDR ranges to 2296 # intersect with any user declared routes. With allow_route_overlap == true, 2297 # we allow overlapping with CIDR ranges that are larger than the cluster CIDR 2298 # range. 2299 # 2300 # If this field is set to true, then cluster and services CIDRs must be 2301 # fully-specified (e.g. `10.96.0.0/14`, but not `/14`), which means: 2302 # 1) When `use_ip_aliases` is true, `cluster_ipv4_cidr_block` and 2303 # `services_ipv4_cidr_block` must be fully-specified. 2304 # 2) When `use_ip_aliases` is false, `cluster.cluster_ipv4_cidr` muse be 2305 # fully-specified. 2306 "subnetworkName": "A String", # A custom subnetwork name to be used if `create_subnetwork` is true. If 2307 # this field is empty, then an automatic name will be chosen for the new 2308 # subnetwork. 2309 "servicesSecondaryRangeName": "A String", # The name of the secondary range to be used as for the services 2310 # CIDR block. The secondary range will be used for service 2311 # ClusterIPs. This must be an existing secondary range associated 2312 # with the cluster subnetwork. 2313 # 2314 # This field is only applicable with use_ip_aliases and 2315 # create_subnetwork is false. 2316 "servicesIpv4Cidr": "A String", # This field is deprecated, use services_ipv4_cidr_block. 2317 }, 2318 "network": "A String", # The name of the Google Compute Engine 2319 # [network](/compute/docs/networks-and-firewalls#networks) to which the 2320 # cluster is connected. If left unspecified, the `default` network 2321 # will be used. On output this shows the network ID instead of 2322 # the name. 2323 "zone": "A String", # [Output only] The name of the Google Compute Engine 2324 # [zone](/compute/docs/zones#available) in which the cluster 2325 # resides. 2326 # This field is deprecated, use location instead. 2327 "instanceGroupUrls": [ # Deprecated. Use node_pools.instance_group_urls. 2328 "A String", 2329 ], 2330 "networkConfig": { # NetworkConfig reports the relative names of network & subnetwork. # Configuration for cluster networking. 2331 "subnetwork": "A String", # Output only. The relative name of the Google Compute Engine 2332 # [subnetwork](/compute/docs/vpc) to which the cluster is connected. 2333 # Example: projects/my-project/regions/us-central1/subnetworks/my-subnet 2334 "network": "A String", # Output only. The relative name of the Google Compute Engine 2335 # network(/compute/docs/networks-and-firewalls#networks) to which 2336 # the cluster is connected. 2337 # Example: projects/my-project/global/networks/my-network 2338 "enableIntraNodeVisibility": True or False, # Whether Intra-node visibility is enabled for this cluster. 2339 # This makes same node pod to pod traffic visible for VPC network. 2340 }, 2341 "privateCluster": True or False, # If this is a private cluster setup. Private clusters are clusters that, by 2342 # default have no external IP addresses on the nodes and where nodes and the 2343 # master communicate over private IP addresses. 2344 # This field is deprecated, use private_cluster_config.enable_private_nodes 2345 # instead. 2346 "podSecurityPolicyConfig": { # Configuration for the PodSecurityPolicy feature. # Configuration for the PodSecurityPolicy feature. 2347 "enabled": True or False, # Enable the PodSecurityPolicy controller for this cluster. If enabled, pods 2348 # must be valid under a PodSecurityPolicy to be created. 2349 }, 2350 "location": "A String", # [Output only] The name of the Google Compute Engine 2351 # [zone](/compute/docs/regions-zones/regions-zones#available) or 2352 # [region](/compute/docs/regions-zones/regions-zones#available) in which 2353 # the cluster resides. 2354 "workloadIdentityConfig": { # Configuration for the use of Kubernetes Service Accounts in GCP IAM # Configuration for the use of Kubernetes Service Accounts in GCP IAM 2355 # policies. 2356 # policies. 2357 "identityNamespace": "A String", # IAM Identity Namespace to attach all Kubernetes Service Accounts to. 2358 }, 2359 "resourceUsageExportConfig": { # Configuration for exporting cluster resource usages. # Configuration for exporting resource usages. Resource usage export is 2360 # disabled when this config unspecified. 2361 "bigqueryDestination": { # Parameters for using BigQuery as the destination of resource usage export. # Configuration to use BigQuery as usage export destination. 2362 "datasetId": "A String", # The ID of a BigQuery Dataset. 2363 }, 2364 "enableNetworkEgressMetering": True or False, # Whether to enable network egress metering for this cluster. If enabled, a 2365 # daemonset will be created in the cluster to meter network egress traffic. 2366 "consumptionMeteringConfig": { # Parameters for controlling consumption metering. # Configuration to enable resource consumption metering. 2367 "enabled": True or False, # Whether to enable consumption metering for this cluster. If enabled, a 2368 # second BigQuery table will be created to hold resource consumption 2369 # records. 2370 }, 2371 }, 2372 "masterIpv4CidrBlock": "A String", # The IP prefix in CIDR notation to use for the hosted master network. 2373 # This prefix will be used for assigning private IP addresses to the 2374 # master or set of masters, as well as the ILB VIP. 2375 # This field is deprecated, use 2376 # private_cluster_config.master_ipv4_cidr_block instead. 2377 "conditions": [ # Which conditions caused the current cluster state. 2378 { # StatusCondition describes why a cluster or a node pool has a certain status 2379 # (e.g., ERROR or DEGRADED). 2380 "message": "A String", # Human-friendly representation of the condition 2381 "code": "A String", # Machine-friendly representation of the condition 2382 }, 2383 ], 2384 "servicesIpv4Cidr": "A String", # [Output only] The IP address range of the Kubernetes services in 2385 # this cluster, in 2386 # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) 2387 # notation (e.g. `1.2.3.4/29`). Service addresses are 2388 # typically put in the last `/16` from the container CIDR. 2389 "statusMessage": "A String", # [Output only] Additional information about the current status of this 2390 # cluster, if available. 2391 "tierSettings": { # Cluster tier settings. # Cluster tier settings. 2392 "tier": "A String", # Cluster tier. 2393 }, 2394 "status": "A String", # [Output only] The current status of this cluster. 2395 "currentMasterVersion": "A String", # [Output only] The current software version of the master endpoint. 2396 "description": "A String", # An optional description of this cluster. 2397 "databaseEncryption": { # Configuration of etcd encryption. # Configuration of etcd encryption. 2398 "state": "A String", # Denotes the state of etcd encryption. 2399 "keyName": "A String", # Name of CloudKMS key to use for the encryption of secrets in etcd. 2400 # Ex. projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-key 2401 }, 2402 "currentNodeVersion": "A String", # [Output only] Deprecated, use 2403 # [NodePool.version](/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters.nodePools) 2404 # instead. The current version of the node software components. 2405 # If they are currently at multiple versions because they're in the process 2406 # of being upgraded, this reflects the minimum version of all nodes. 2407 "binaryAuthorization": { # Configuration for Binary Authorization. # Configuration for Binary Authorization. 2408 "enabled": True or False, # Enable Binary Authorization for this cluster. If enabled, all container 2409 # images will be validated by Google Binauthz. 2410 }, 2411 "labelFingerprint": "A String", # The fingerprint of the set of labels for this cluster. 2412 "autoscaling": { # ClusterAutoscaling contains global, per-cluster information # Cluster-level autoscaling configuration. 2413 # required by Cluster Autoscaler to automatically adjust 2414 # the size of the cluster and create/delete 2415 # node pools based on the current needs. 2416 "autoprovisioningNodePoolDefaults": { # AutoprovisioningNodePoolDefaults contains defaults for a node pool created # AutoprovisioningNodePoolDefaults contains defaults for a node pool 2417 # created by NAP. 2418 # by NAP. 2419 "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs. If 2420 # service_account is specified, scopes should be empty. 2421 "oauthScopes": [ # Scopes that are used by NAP when creating node pools. If oauth_scopes are 2422 # specified, service_account should be empty. 2423 "A String", 2424 ], 2425 }, 2426 "resourceLimits": [ # Contains global constraints regarding minimum and maximum 2427 # amount of resources in the cluster. 2428 { # Contains information about amount of some resource in the cluster. 2429 # For memory, value should be in GB. 2430 "resourceType": "A String", # Resource name "cpu", "memory" or gpu-specific string. 2431 "minimum": "A String", # Minimum amount of the resource in the cluster. 2432 "maximum": "A String", # Maximum amount of the resource in the cluster. 2433 }, 2434 ], 2435 "autoprovisioningLocations": [ # The list of Google Compute Engine [zones](/compute/docs/zones#available) 2436 # in which the NodePool's nodes can be created by NAP. 2437 "A String", 2438 ], 2439 "enableNodeAutoprovisioning": True or False, # Enables automatic node pool creation and deletion. 2440 }, 2441 "masterAuth": { # The authentication information for accessing the master endpoint. # The authentication information for accessing the master endpoint. 2442 # If unspecified, the defaults are used: 2443 # For clusters before v1.12, if master_auth is unspecified, `username` will 2444 # be set to "admin", a random password will be generated, and a client 2445 # certificate will be issued. 2446 # Authentication can be done using HTTP basic auth or using client 2447 # certificates. 2448 "username": "A String", # The username to use for HTTP basic authentication to the master endpoint. 2449 # For clusters v1.6.0 and later, basic authentication can be disabled by 2450 # leaving username unspecified (or setting it to the empty string). 2451 "clientKey": "A String", # [Output only] Base64-encoded private key used by clients to authenticate 2452 # to the cluster endpoint. 2453 "clientCertificate": "A String", # [Output only] Base64-encoded public certificate used by clients to 2454 # authenticate to the cluster endpoint. 2455 "clientCertificateConfig": { # Configuration for client certificates on the cluster. # Configuration for client certificate authentication on the cluster. For 2456 # clusters before v1.12, if no configuration is specified, a client 2457 # certificate is issued. 2458 "issueClientCertificate": True or False, # Issue a client certificate. 2459 }, 2460 "password": "A String", # The password to use for HTTP basic authentication to the master endpoint. 2461 # Because the master endpoint is open to the Internet, you should create a 2462 # strong password. If a password is provided for cluster creation, username 2463 # must be non-empty. 2464 "clusterCaCertificate": "A String", 2465 }, 2466 "expireTime": "A String", # [Output only] The time the cluster will be automatically 2467 # deleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. 2468 "initialNodeCount": 42, # The number of nodes to create in this cluster. You must ensure that your 2469 # Compute Engine <a href="/compute/docs/resource-quotas">resource quota</a> 2470 # is sufficient for this number of instances. You must also have available 2471 # firewall and routes quota. 2472 # For requests, this field should only be used in lieu of a 2473 # "node_pool" object, since this configuration (along with the 2474 # "node_config") will be used to create a "NodePool" object with an 2475 # auto-generated name. Do not use this and a node_pool at the same time. 2476 # 2477 # This field is deprecated, use node_pool.initial_node_count instead. 2478 "nodePools": [ # The node pools associated with this cluster. 2479 # This field should not be set if "node_config" or "initial_node_count" are 2480 # specified. 2481 { # NodePool contains the name and configuration for a cluster's node pool. 2482 # Node pools are a set of nodes (i.e. VM's), with a common configuration and 2483 # specification, under the control of the cluster master. They may have a set 2484 # of Kubernetes labels applied to them, which may be used to reference them 2485 # during pod scheduling. They may also be resized up or down, to accommodate 2486 # the workload. 2487 "status": "A String", # [Output only] The status of the nodes in this pool instance. 2488 "statusMessage": "A String", # [Output only] Additional information about the current status of this 2489 # node pool instance, if available. 2490 "management": { # NodeManagement defines the set of node management services turned on for the # NodeManagement configuration for this NodePool. 2491 # node pool. 2492 "autoRepair": True or False, # Whether the nodes will be automatically repaired. 2493 "upgradeOptions": { # AutoUpgradeOptions defines the set of options for the user to control how # Specifies the Auto Upgrade knobs for the node pool. 2494 # the Auto Upgrades will proceed. 2495 "description": "A String", # [Output only] This field is set when upgrades are about to commence 2496 # with the description of the upgrade. 2497 "autoUpgradeStartTime": "A String", # [Output only] This field is set when upgrades are about to commence 2498 # with the approximate start time for the upgrades, in 2499 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. 2500 }, 2501 "autoUpgrade": True or False, # Whether the nodes will be automatically upgraded. 2502 }, 2503 "name": "A String", # The name of the node pool. 2504 "instanceGroupUrls": [ # [Output only] The resource URLs of the [managed instance 2505 # groups](/compute/docs/instance-groups/creating-groups-of-managed-instances) 2506 # associated with this node pool. 2507 "A String", 2508 ], 2509 "autoscaling": { # NodePoolAutoscaling contains information required by cluster autoscaler to # Autoscaler configuration for this NodePool. Autoscaler is enabled 2510 # only if a valid configuration is present. 2511 # adjust the size of the node pool to the current cluster usage. 2512 "minNodeCount": 42, # Minimum number of nodes in the NodePool. Must be >= 1 and <= 2513 # max_node_count. 2514 "autoprovisioned": True or False, # Can this node pool be deleted automatically. 2515 "enabled": True or False, # Is autoscaling enabled for this node pool. 2516 "maxNodeCount": 42, # Maximum number of nodes in the NodePool. Must be >= min_node_count. There 2517 # has to enough quota to scale up the cluster. 2518 }, 2519 "locations": [ # The list of Google Compute Engine [zones](/compute/docs/zones#available) 2520 # in which the NodePool's nodes should be located. 2521 "A String", 2522 ], 2523 "maxPodsConstraint": { # Constraints applied to pods. # The constraint on the maximum number of pods that can be run 2524 # simultaneously on a node in the node pool. 2525 "maxPodsPerNode": "A String", # Constraint enforced on the max num of pods per node. 2526 }, 2527 "version": "A String", # The version of the Kubernetes of this node. 2528 "initialNodeCount": 42, # The initial node count for the pool. You must ensure that your 2529 # Compute Engine <a href="/compute/docs/resource-quotas">resource quota</a> 2530 # is sufficient for this number of instances. You must also have available 2531 # firewall and routes quota. 2532 "podIpv4CidrSize": 42, # [Output only] The pod CIDR block size per node in this node pool. 2533 "config": { # Parameters that describe the nodes in a cluster. # The node configuration of the pool. 2534 "sandboxConfig": { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node. 2535 "sandboxType": "A String", # Type of the sandbox to use for the node (e.g. 'gvisor') 2536 }, 2537 "machineType": "A String", # The name of a Google Compute Engine [machine 2538 # type](/compute/docs/machine-types) (e.g. 2539 # `n1-standard-1`). 2540 # 2541 # If unspecified, the default machine type is 2542 # `n1-standard-1`. 2543 "shieldedInstanceConfig": { # A set of Shielded Instance options. # Shielded Instance options. 2544 "enableIntegrityMonitoring": True or False, # Defines whether the instance has integrity monitoring enabled. 2545 # 2546 # Enables monitoring and attestation of the boot integrity of the instance. 2547 # The attestation is performed against the integrity policy baseline. This 2548 # baseline is initially derived from the implicitly trusted boot image when 2549 # the instance is created. 2550 "enableSecureBoot": True or False, # Defines whether the instance has Secure Boot enabled. 2551 # 2552 # Secure Boot helps ensure that the system only runs authentic software by 2553 # verifying the digital signature of all boot components, and halting the 2554 # boot process if signature verification fails. 2555 }, 2556 "diskType": "A String", # Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd') 2557 # 2558 # If unspecified, the default disk type is 'pd-standard' 2559 "tags": [ # The list of instance tags applied to all nodes. Tags are used to identify 2560 # valid sources or targets for network firewalls and are specified by 2561 # the client during cluster or node pool creation. Each tag within the list 2562 # must comply with RFC1035. 2563 "A String", 2564 ], 2565 "preemptible": True or False, # Whether the nodes are created as preemptible VM instances. See: 2566 # https://cloud.google.com/compute/docs/instances/preemptible for more 2567 # inforamtion about preemptible VM instances. 2568 "labels": { # The map of Kubernetes labels (key/value pairs) to be applied to each node. 2569 # These will added in addition to any default label(s) that 2570 # Kubernetes may apply to the node. 2571 # In case of conflict in label keys, the applied set may differ depending on 2572 # the Kubernetes version -- it's best to assume the behavior is undefined 2573 # and conflicts should be avoided. 2574 # For more information, including usage and the valid values, see: 2575 # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ 2576 "a_key": "A String", 2577 }, 2578 "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs. If 2579 # no Service Account is specified, the "default" service account is used. 2580 "oauthScopes": [ # The set of Google API scopes to be made available on all of the 2581 # node VMs under the "default" service account. 2582 # 2583 # The following scopes are recommended, but not required, and by default are 2584 # not included: 2585 # 2586 # * `https://www.googleapis.com/auth/compute` is required for mounting 2587 # persistent storage on your nodes. 2588 # * `https://www.googleapis.com/auth/devstorage.read_only` is required for 2589 # communicating with **gcr.io** 2590 # (the [Google Container Registry](/container-registry/)). 2591 # 2592 # If unspecified, no scopes are added, unless Cloud Logging or Cloud 2593 # Monitoring are enabled, in which case their required scopes will be added. 2594 "A String", 2595 ], 2596 "taints": [ # List of kubernetes taints to be applied to each node. 2597 # 2598 # For more information, including usage and the valid values, see: 2599 # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ 2600 { # Kubernetes taint is comprised of three fields: key, value, and effect. Effect 2601 # can only be one of three types: NoSchedule, PreferNoSchedule or NoExecute. 2602 # 2603 # For more information, including usage and the valid values, see: 2604 # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ 2605 "key": "A String", # Key for taint. 2606 "effect": "A String", # Effect for taint. 2607 "value": "A String", # Value for taint. 2608 }, 2609 ], 2610 "workloadMetadataConfig": { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node. 2611 # workloads on the node pool. 2612 "nodeMetadata": "A String", # NodeMetadata is the configuration for how to expose metadata to the 2613 # workloads running on the node. 2614 }, 2615 "diskSizeGb": 42, # Size of the disk attached to each node, specified in GB. 2616 # The smallest allowed disk size is 10GB. 2617 # 2618 # If unspecified, the default disk size is 100GB. 2619 "accelerators": [ # A list of hardware accelerators to be attached to each node. 2620 # See https://cloud.google.com/compute/docs/gpus for more information about 2621 # support for GPUs. 2622 { # AcceleratorConfig represents a Hardware Accelerator request. 2623 "acceleratorCount": "A String", # The number of the accelerator cards exposed to an instance. 2624 "acceleratorType": "A String", # The accelerator type resource name. List of supported accelerators 2625 # [here](/compute/docs/gpus/#Introduction) 2626 }, 2627 ], 2628 "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be 2629 # scheduled on the specified or newer CPU platform. Applicable values are the 2630 # friendly names of CPU platforms, such as 2631 # <code>minCpuPlatform: "Intel Haswell"</code> or 2632 # <code>minCpuPlatform: "Intel Sandy Bridge"</code>. For more 2633 # information, read [how to specify min CPU 2634 # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform) 2635 "localSsdCount": 42, # The number of local SSD disks to be attached to the node. 2636 # 2637 # The limit for this value is dependant upon the maximum number of 2638 # disks available on a machine per zone. See: 2639 # https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits 2640 # for more information. 2641 "imageType": "A String", # The image type to use for this node. Note that for a given image type, 2642 # the latest version of it will be used. 2643 "metadata": { # The metadata key/value pairs assigned to instances in the cluster. 2644 # 2645 # Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes 2646 # in length. These are reflected as part of a URL in the metadata server. 2647 # Additionally, to avoid ambiguity, keys must not conflict with any other 2648 # metadata keys for the project or be one of the reserved keys: 2649 # "cluster-location" 2650 # "cluster-name" 2651 # "cluster-uid" 2652 # "configure-sh" 2653 # "containerd-configure-sh" 2654 # "enable-oslogin" 2655 # "gci-ensure-gke-docker" 2656 # "gci-update-strategy" 2657 # "instance-template" 2658 # "kube-env" 2659 # "startup-script" 2660 # "user-data" 2661 # "disable-address-manager" 2662 # "windows-startup-script-ps1" 2663 # "common-psm1" 2664 # "k8s-node-setup-psm1" 2665 # "install-ssh-psm1" 2666 # "user-profile-psm1" 2667 # "serial-port-logging-enable" 2668 # Values are free-form strings, and only have meaning as interpreted by 2669 # the image running in the instance. The only restriction placed on them is 2670 # that each value's size must be less than or equal to 32 KB. 2671 # 2672 # The total size of all keys and values must be less than 512 KB. 2673 "a_key": "A String", 2674 }, 2675 }, 2676 "conditions": [ # Which conditions caused the current node pool state. 2677 { # StatusCondition describes why a cluster or a node pool has a certain status 2678 # (e.g., ERROR or DEGRADED). 2679 "message": "A String", # Human-friendly representation of the condition 2680 "code": "A String", # Machine-friendly representation of the condition 2681 }, 2682 ], 2683 "selfLink": "A String", # [Output only] Server-defined URL for the resource. 2684 }, 2685 ], 2686 "monitoringService": "A String", # The monitoring service the cluster should use to write metrics. 2687 # Currently available options: 2688 # 2689 # * `monitoring.googleapis.com` - the Google Cloud Monitoring service. 2690 # * `none` - no metrics will be exported from the cluster. 2691 # * if left as an empty string, `monitoring.googleapis.com` will be used. 2692 "createTime": "A String", # [Output only] The time the cluster was created, in 2693 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. 2694 "authenticatorGroupsConfig": { # Configuration for returning group information from authenticators. # Configuration controlling RBAC group membership information. 2695 "enabled": True or False, # Whether this cluster should return group membership lookups 2696 # during authentication using a group of security groups. 2697 "securityGroup": "A String", # The name of the security group-of-groups to be used. Only relevant 2698 # if enabled = true. 2699 }, 2700 "privateClusterConfig": { # Configuration options for private clusters. # Configuration for private cluster. 2701 "enablePrivateEndpoint": True or False, # Whether the master's internal IP address is used as the cluster endpoint. 2702 "publicEndpoint": "A String", # Output only. The external IP address of this cluster's master endpoint. 2703 "enablePrivateNodes": True or False, # Whether nodes have internal IP addresses only. If enabled, all nodes are 2704 # given only RFC 1918 private addresses and communicate with the master via 2705 # private networking. 2706 "privateEndpoint": "A String", # Output only. The internal IP address of this cluster's master endpoint. 2707 "masterIpv4CidrBlock": "A String", # The IP range in CIDR notation to use for the hosted master network. This 2708 # range will be used for assigning internal IP addresses to the master or 2709 # set of masters, as well as the ILB VIP. This range must not overlap with 2710 # any other ranges in use within the cluster's network. 2711 "enablePeeringRouteSharing": True or False, # Whether to enable route sharing over the network peering. 2712 }, 2713 "endpoint": "A String", # [Output only] The IP address of this cluster's master endpoint. 2714 # The endpoint can be accessed from the internet at 2715 # `https://username:password@endpoint/`. 2716 # 2717 # See the `masterAuth` property of this resource for username and 2718 # password information. 2719 "currentNodeCount": 42, # [Output only] The number of nodes currently in the cluster. Deprecated. 2720 # Call Kubernetes API directly to retrieve node information. 2721 "name": "A String", # The name of this cluster. The name must be unique within this project 2722 # and zone, and can be up to 40 characters with the following restrictions: 2723 # 2724 # * Lowercase letters, numbers, and hyphens only. 2725 # * Must start with a letter. 2726 # * Must end with a number or a letter. 2727 "verticalPodAutoscaling": { # VerticalPodAutoscaling contains global, per-cluster information # Cluster-level Vertical Pod Autoscaling configuration. 2728 # required by Vertical Pod Autoscaler to automatically adjust 2729 # the resources of pods controlled by it. 2730 "enabled": True or False, # Enables vertical pod autoscaling. 2731 }, 2732 "enableKubernetesAlpha": True or False, # Kubernetes alpha features are enabled on this cluster. This includes alpha 2733 # API groups (e.g. v1beta1) and features that may not be production ready in 2734 # the kubernetes version of the master and nodes. 2735 # The cluster has no SLA for uptime and master/node upgrades are disabled. 2736 # Alpha enabled clusters are automatically deleted thirty days after 2737 # creation. 2738 "initialClusterVersion": "A String", # The initial Kubernetes version for this cluster. Valid versions are those 2739 # found in validMasterVersions returned by getServerConfig. The version can 2740 # be upgraded over time; such upgrades are reflected in 2741 # currentMasterVersion and currentNodeVersion. 2742 # 2743 # Users may specify either explicit versions offered by 2744 # Kubernetes Engine or version aliases, which have the following behavior: 2745 # 2746 # - "latest": picks the highest valid Kubernetes version 2747 # - "1.X": picks the highest valid patch+gke.N patch in the 1.X version 2748 # - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version 2749 # - "1.X.Y-gke.N": picks an explicit Kubernetes version 2750 # - "","-": picks the default Kubernetes version 2751 "nodeConfig": { # Parameters that describe the nodes in a cluster. # Parameters used in creating the cluster's nodes. 2752 # For requests, this field should only be used in lieu of a 2753 # "node_pool" object, since this configuration (along with the 2754 # "initial_node_count") will be used to create a "NodePool" object with an 2755 # auto-generated name. Do not use this and a node_pool at the same time. 2756 # For responses, this field will be populated with the node configuration of 2757 # the first node pool. (For configuration of each node pool, see 2758 # `node_pool.config`) 2759 # 2760 # If unspecified, the defaults are used. 2761 # This field is deprecated, use node_pool.config instead. 2762 "sandboxConfig": { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node. 2763 "sandboxType": "A String", # Type of the sandbox to use for the node (e.g. 'gvisor') 2764 }, 2765 "machineType": "A String", # The name of a Google Compute Engine [machine 2766 # type](/compute/docs/machine-types) (e.g. 2767 # `n1-standard-1`). 2768 # 2769 # If unspecified, the default machine type is 2770 # `n1-standard-1`. 2771 "shieldedInstanceConfig": { # A set of Shielded Instance options. # Shielded Instance options. 2772 "enableIntegrityMonitoring": True or False, # Defines whether the instance has integrity monitoring enabled. 2773 # 2774 # Enables monitoring and attestation of the boot integrity of the instance. 2775 # The attestation is performed against the integrity policy baseline. This 2776 # baseline is initially derived from the implicitly trusted boot image when 2777 # the instance is created. 2778 "enableSecureBoot": True or False, # Defines whether the instance has Secure Boot enabled. 2779 # 2780 # Secure Boot helps ensure that the system only runs authentic software by 2781 # verifying the digital signature of all boot components, and halting the 2782 # boot process if signature verification fails. 2783 }, 2784 "diskType": "A String", # Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd') 2785 # 2786 # If unspecified, the default disk type is 'pd-standard' 2787 "tags": [ # The list of instance tags applied to all nodes. Tags are used to identify 2788 # valid sources or targets for network firewalls and are specified by 2789 # the client during cluster or node pool creation. Each tag within the list 2790 # must comply with RFC1035. 2791 "A String", 2792 ], 2793 "preemptible": True or False, # Whether the nodes are created as preemptible VM instances. See: 2794 # https://cloud.google.com/compute/docs/instances/preemptible for more 2795 # inforamtion about preemptible VM instances. 2796 "labels": { # The map of Kubernetes labels (key/value pairs) to be applied to each node. 2797 # These will added in addition to any default label(s) that 2798 # Kubernetes may apply to the node. 2799 # In case of conflict in label keys, the applied set may differ depending on 2800 # the Kubernetes version -- it's best to assume the behavior is undefined 2801 # and conflicts should be avoided. 2802 # For more information, including usage and the valid values, see: 2803 # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ 2804 "a_key": "A String", 2805 }, 2806 "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs. If 2807 # no Service Account is specified, the "default" service account is used. 2808 "oauthScopes": [ # The set of Google API scopes to be made available on all of the 2809 # node VMs under the "default" service account. 2810 # 2811 # The following scopes are recommended, but not required, and by default are 2812 # not included: 2813 # 2814 # * `https://www.googleapis.com/auth/compute` is required for mounting 2815 # persistent storage on your nodes. 2816 # * `https://www.googleapis.com/auth/devstorage.read_only` is required for 2817 # communicating with **gcr.io** 2818 # (the [Google Container Registry](/container-registry/)). 2819 # 2820 # If unspecified, no scopes are added, unless Cloud Logging or Cloud 2821 # Monitoring are enabled, in which case their required scopes will be added. 2822 "A String", 2823 ], 2824 "taints": [ # List of kubernetes taints to be applied to each node. 2825 # 2826 # For more information, including usage and the valid values, see: 2827 # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ 2828 { # Kubernetes taint is comprised of three fields: key, value, and effect. Effect 2829 # can only be one of three types: NoSchedule, PreferNoSchedule or NoExecute. 2830 # 2831 # For more information, including usage and the valid values, see: 2832 # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ 2833 "key": "A String", # Key for taint. 2834 "effect": "A String", # Effect for taint. 2835 "value": "A String", # Value for taint. 2836 }, 2837 ], 2838 "workloadMetadataConfig": { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node. 2839 # workloads on the node pool. 2840 "nodeMetadata": "A String", # NodeMetadata is the configuration for how to expose metadata to the 2841 # workloads running on the node. 2842 }, 2843 "diskSizeGb": 42, # Size of the disk attached to each node, specified in GB. 2844 # The smallest allowed disk size is 10GB. 2845 # 2846 # If unspecified, the default disk size is 100GB. 2847 "accelerators": [ # A list of hardware accelerators to be attached to each node. 2848 # See https://cloud.google.com/compute/docs/gpus for more information about 2849 # support for GPUs. 2850 { # AcceleratorConfig represents a Hardware Accelerator request. 2851 "acceleratorCount": "A String", # The number of the accelerator cards exposed to an instance. 2852 "acceleratorType": "A String", # The accelerator type resource name. List of supported accelerators 2853 # [here](/compute/docs/gpus/#Introduction) 2854 }, 2855 ], 2856 "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be 2857 # scheduled on the specified or newer CPU platform. Applicable values are the 2858 # friendly names of CPU platforms, such as 2859 # <code>minCpuPlatform: "Intel Haswell"</code> or 2860 # <code>minCpuPlatform: "Intel Sandy Bridge"</code>. For more 2861 # information, read [how to specify min CPU 2862 # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform) 2863 "localSsdCount": 42, # The number of local SSD disks to be attached to the node. 2864 # 2865 # The limit for this value is dependant upon the maximum number of 2866 # disks available on a machine per zone. See: 2867 # https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits 2868 # for more information. 2869 "imageType": "A String", # The image type to use for this node. Note that for a given image type, 2870 # the latest version of it will be used. 2871 "metadata": { # The metadata key/value pairs assigned to instances in the cluster. 2872 # 2873 # Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes 2874 # in length. These are reflected as part of a URL in the metadata server. 2875 # Additionally, to avoid ambiguity, keys must not conflict with any other 2876 # metadata keys for the project or be one of the reserved keys: 2877 # "cluster-location" 2878 # "cluster-name" 2879 # "cluster-uid" 2880 # "configure-sh" 2881 # "containerd-configure-sh" 2882 # "enable-oslogin" 2883 # "gci-ensure-gke-docker" 2884 # "gci-update-strategy" 2885 # "instance-template" 2886 # "kube-env" 2887 # "startup-script" 2888 # "user-data" 2889 # "disable-address-manager" 2890 # "windows-startup-script-ps1" 2891 # "common-psm1" 2892 # "k8s-node-setup-psm1" 2893 # "install-ssh-psm1" 2894 # "user-profile-psm1" 2895 # "serial-port-logging-enable" 2896 # Values are free-form strings, and only have meaning as interpreted by 2897 # the image running in the instance. The only restriction placed on them is 2898 # that each value's size must be less than or equal to 32 KB. 2899 # 2900 # The total size of all keys and values must be less than 512 KB. 2901 "a_key": "A String", 2902 }, 2903 }, 2904 "clusterIpv4Cidr": "A String", # The IP address range of the container pods in this cluster, in 2905 # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) 2906 # notation (e.g. `10.96.0.0/14`). Leave blank to have 2907 # one automatically chosen or specify a `/14` block in `10.0.0.0/8`. 2908 "subnetwork": "A String", # The name of the Google Compute Engine 2909 # [subnetwork](/compute/docs/subnetworks) to which the 2910 # cluster is connected. On output this shows the subnetwork ID instead of 2911 # the name. 2912 "resourceLabels": { # The resource labels for the cluster to use to annotate any related 2913 # Google Compute Engine resources. 2914 "a_key": "A String", 2915 }, 2916 "selfLink": "A String", # [Output only] Server-defined URL for the resource. 2917 "tpuIpv4CidrBlock": "A String", # [Output only] The IP address range of the Cloud TPUs in this cluster, in 2918 # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) 2919 # notation (e.g. `1.2.3.4/29`). 2920 }, 2921 ], 2922 "missingZones": [ # If any zones are listed here, the list of clusters returned 2923 # may be missing those zones. 2924 "A String", 2925 ], 2926 }</pre> 2927</div> 2928 2929<div class="method"> 2930 <code class="details" id="setAddons">setAddons(name, body, x__xgafv=None)</code> 2931 <pre>Sets the addons for a specific cluster. 2932 2933Args: 2934 name: string, The name (project, location, cluster) of the cluster to set addons. 2935Specified in the format 'projects/*/locations/*/clusters/*'. (required) 2936 body: object, The request body. (required) 2937 The object takes the form of: 2938 2939{ # SetAddonsRequest sets the addons associated with the cluster. 2940 "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project 2941 # number](https://support.google.com/cloud/answer/6158840). 2942 # This field has been deprecated and replaced by the name field. 2943 "addonsConfig": { # Configuration for the addons that can be automatically spun up in the # The desired configurations for the various addons available to run in the 2944 # cluster. 2945 # cluster, enabling additional functionality. 2946 "networkPolicyConfig": { # Configuration for NetworkPolicy. This only tracks whether the addon # Configuration for NetworkPolicy. This only tracks whether the addon 2947 # is enabled or not on the Master, it does not track whether network policy 2948 # is enabled for the nodes. 2949 # is enabled or not on the Master, it does not track whether network policy 2950 # is enabled for the nodes. 2951 "disabled": True or False, # Whether NetworkPolicy is enabled for this cluster. 2952 }, 2953 "cloudRunConfig": { # Configuration options for the Cloud Run feature. # Configuration for the Cloud Run addon. The `IstioConfig` addon must be 2954 # enabled in order to enable Cloud Run addon. This option can only be enabled 2955 # at cluster creation time. 2956 "disabled": True or False, # Whether Cloud Run addon is enabled for this cluster. 2957 }, 2958 "httpLoadBalancing": { # Configuration options for the HTTP (L7) load balancing controller addon, # Configuration for the HTTP (L7) load balancing controller addon, which 2959 # makes it easy to set up HTTP load balancers for services in a cluster. 2960 # which makes it easy to set up HTTP load balancers for services in a cluster. 2961 "disabled": True or False, # Whether the HTTP Load Balancing controller is enabled in the cluster. 2962 # When enabled, it runs a small pod in the cluster that manages the load 2963 # balancers. 2964 }, 2965 "horizontalPodAutoscaling": { # Configuration options for the horizontal pod autoscaling feature, which # Configuration for the horizontal pod autoscaling feature, which 2966 # increases or decreases the number of replica pods a replication controller 2967 # has based on the resource usage of the existing pods. 2968 # increases or decreases the number of replica pods a replication controller 2969 # has based on the resource usage of the existing pods. 2970 "disabled": True or False, # Whether the Horizontal Pod Autoscaling feature is enabled in the cluster. 2971 # When enabled, it ensures that a Heapster pod is running in the cluster, 2972 # which is also used by the Cloud Monitoring service. 2973 }, 2974 "istioConfig": { # Configuration options for Istio addon. # Configuration for Istio, an open platform to connect, manage, and secure 2975 # microservices. 2976 "disabled": True or False, # Whether Istio is enabled for this cluster. 2977 "auth": "A String", # The specified Istio auth mode, either none, or mutual TLS. 2978 }, 2979 "kubernetesDashboard": { # Configuration for the Kubernetes Dashboard. # Configuration for the Kubernetes Dashboard. 2980 # This addon is deprecated, and will be disabled in 1.15. It is recommended 2981 # to use the Cloud Console to manage and monitor your Kubernetes clusters, 2982 # workloads and applications. For more information, see: 2983 # https://cloud.google.com/kubernetes-engine/docs/concepts/dashboards 2984 "disabled": True or False, # Whether the Kubernetes Dashboard is enabled for this cluster. 2985 }, 2986 }, 2987 "clusterId": "A String", # Deprecated. The name of the cluster to upgrade. 2988 # This field has been deprecated and replaced by the name field. 2989 "name": "A String", # The name (project, location, cluster) of the cluster to set addons. 2990 # Specified in the format 'projects/*/locations/*/clusters/*'. 2991 "zone": "A String", # Deprecated. The name of the Google Compute Engine 2992 # [zone](/compute/docs/zones#available) in which the cluster 2993 # resides. 2994 # This field has been deprecated and replaced by the name field. 2995 } 2996 2997 x__xgafv: string, V1 error format. 2998 Allowed values 2999 1 - v1 error format 3000 2 - v2 error format 3001 3002Returns: 3003 An object of the form: 3004 3005 { # This operation resource represents operations that may have happened or are 3006 # happening on the cluster. All fields are output only. 3007 "status": "A String", # The current status of the operation. 3008 "endTime": "A String", # [Output only] The time the operation completed, in 3009 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. 3010 "name": "A String", # The server-assigned ID for the operation. 3011 "zone": "A String", # The name of the Google Compute Engine 3012 # [zone](/compute/docs/zones#available) in which the operation 3013 # is taking place. 3014 # This field is deprecated, use location instead. 3015 "location": "A String", # [Output only] The name of the Google Compute Engine 3016 # [zone](/compute/docs/regions-zones/regions-zones#available) or 3017 # [region](/compute/docs/regions-zones/regions-zones#available) in which 3018 # the cluster resides. 3019 "startTime": "A String", # [Output only] The time the operation started, in 3020 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. 3021 "detail": "A String", # Detailed operation progress, if available. 3022 "clusterConditions": [ # Which conditions caused the current cluster state. 3023 { # StatusCondition describes why a cluster or a node pool has a certain status 3024 # (e.g., ERROR or DEGRADED). 3025 "message": "A String", # Human-friendly representation of the condition 3026 "code": "A String", # Machine-friendly representation of the condition 3027 }, 3028 ], 3029 "statusMessage": "A String", # If an error has occurred, a textual description of the error. 3030 "operationType": "A String", # The operation type. 3031 "progress": { # Information about operation (or operation stage) progress. # [Output only] Progress information for an operation. 3032 "status": "A String", # Status of an operation stage. 3033 # Unset for single-stage operations. 3034 "metrics": [ # Progress metric bundle, for example: 3035 # metrics: [{name: "nodes done", int_value: 15}, 3036 # {name: "nodes total", int_value: 32}] 3037 # or 3038 # metrics: [{name: "progress", double_value: 0.56}, 3039 # {name: "progress scale", double_value: 1.0}] 3040 { # Progress metric is (string, int|float|string) pair. 3041 "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.). 3042 "intValue": "A String", # For metrics with integer value. 3043 "name": "A String", # Metric name, required. 3044 # e.g., "nodes total", "percent done" 3045 "doubleValue": 3.14, # For metrics with floating point value. 3046 }, 3047 ], 3048 "stages": [ # Substages of an operation or a stage. 3049 # Object with schema name: OperationProgress 3050 ], 3051 "name": "A String", # A non-parameterized string describing an operation stage. 3052 # Unset for single-stage operations. 3053 }, 3054 "nodepoolConditions": [ # Which conditions caused the current node pool state. 3055 { # StatusCondition describes why a cluster or a node pool has a certain status 3056 # (e.g., ERROR or DEGRADED). 3057 "message": "A String", # Human-friendly representation of the condition 3058 "code": "A String", # Machine-friendly representation of the condition 3059 }, 3060 ], 3061 "selfLink": "A String", # Server-defined URL for the resource. 3062 "targetLink": "A String", # Server-defined URL for the target of the operation. 3063 }</pre> 3064</div> 3065 3066<div class="method"> 3067 <code class="details" id="setLegacyAbac">setLegacyAbac(name, body, x__xgafv=None)</code> 3068 <pre>Enables or disables the ABAC authorization mechanism on a cluster. 3069 3070Args: 3071 name: string, The name (project, location, cluster id) of the cluster to set legacy abac. 3072Specified in the format 'projects/*/locations/*/clusters/*'. (required) 3073 body: object, The request body. (required) 3074 The object takes the form of: 3075 3076{ # SetLegacyAbacRequest enables or disables the ABAC authorization mechanism for 3077 # a cluster. 3078 "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project 3079 # number](https://support.google.com/cloud/answer/6158840). 3080 # This field has been deprecated and replaced by the name field. 3081 "clusterId": "A String", # Deprecated. The name of the cluster to update. 3082 # This field has been deprecated and replaced by the name field. 3083 "enabled": True or False, # Whether ABAC authorization will be enabled in the cluster. 3084 "name": "A String", # The name (project, location, cluster id) of the cluster to set legacy abac. 3085 # Specified in the format 'projects/*/locations/*/clusters/*'. 3086 "zone": "A String", # Deprecated. The name of the Google Compute Engine 3087 # [zone](/compute/docs/zones#available) in which the cluster 3088 # resides. 3089 # This field has been deprecated and replaced by the name field. 3090 } 3091 3092 x__xgafv: string, V1 error format. 3093 Allowed values 3094 1 - v1 error format 3095 2 - v2 error format 3096 3097Returns: 3098 An object of the form: 3099 3100 { # This operation resource represents operations that may have happened or are 3101 # happening on the cluster. All fields are output only. 3102 "status": "A String", # The current status of the operation. 3103 "endTime": "A String", # [Output only] The time the operation completed, in 3104 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. 3105 "name": "A String", # The server-assigned ID for the operation. 3106 "zone": "A String", # The name of the Google Compute Engine 3107 # [zone](/compute/docs/zones#available) in which the operation 3108 # is taking place. 3109 # This field is deprecated, use location instead. 3110 "location": "A String", # [Output only] The name of the Google Compute Engine 3111 # [zone](/compute/docs/regions-zones/regions-zones#available) or 3112 # [region](/compute/docs/regions-zones/regions-zones#available) in which 3113 # the cluster resides. 3114 "startTime": "A String", # [Output only] The time the operation started, in 3115 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. 3116 "detail": "A String", # Detailed operation progress, if available. 3117 "clusterConditions": [ # Which conditions caused the current cluster state. 3118 { # StatusCondition describes why a cluster or a node pool has a certain status 3119 # (e.g., ERROR or DEGRADED). 3120 "message": "A String", # Human-friendly representation of the condition 3121 "code": "A String", # Machine-friendly representation of the condition 3122 }, 3123 ], 3124 "statusMessage": "A String", # If an error has occurred, a textual description of the error. 3125 "operationType": "A String", # The operation type. 3126 "progress": { # Information about operation (or operation stage) progress. # [Output only] Progress information for an operation. 3127 "status": "A String", # Status of an operation stage. 3128 # Unset for single-stage operations. 3129 "metrics": [ # Progress metric bundle, for example: 3130 # metrics: [{name: "nodes done", int_value: 15}, 3131 # {name: "nodes total", int_value: 32}] 3132 # or 3133 # metrics: [{name: "progress", double_value: 0.56}, 3134 # {name: "progress scale", double_value: 1.0}] 3135 { # Progress metric is (string, int|float|string) pair. 3136 "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.). 3137 "intValue": "A String", # For metrics with integer value. 3138 "name": "A String", # Metric name, required. 3139 # e.g., "nodes total", "percent done" 3140 "doubleValue": 3.14, # For metrics with floating point value. 3141 }, 3142 ], 3143 "stages": [ # Substages of an operation or a stage. 3144 # Object with schema name: OperationProgress 3145 ], 3146 "name": "A String", # A non-parameterized string describing an operation stage. 3147 # Unset for single-stage operations. 3148 }, 3149 "nodepoolConditions": [ # Which conditions caused the current node pool state. 3150 { # StatusCondition describes why a cluster or a node pool has a certain status 3151 # (e.g., ERROR or DEGRADED). 3152 "message": "A String", # Human-friendly representation of the condition 3153 "code": "A String", # Machine-friendly representation of the condition 3154 }, 3155 ], 3156 "selfLink": "A String", # Server-defined URL for the resource. 3157 "targetLink": "A String", # Server-defined URL for the target of the operation. 3158 }</pre> 3159</div> 3160 3161<div class="method"> 3162 <code class="details" id="setLocations">setLocations(name, body, x__xgafv=None)</code> 3163 <pre>Sets the locations for a specific cluster. 3164 3165Args: 3166 name: string, The name (project, location, cluster) of the cluster to set locations. 3167Specified in the format 'projects/*/locations/*/clusters/*'. (required) 3168 body: object, The request body. (required) 3169 The object takes the form of: 3170 3171{ # SetLocationsRequest sets the locations of the cluster. 3172 "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project 3173 # number](https://support.google.com/cloud/answer/6158840). 3174 # This field has been deprecated and replaced by the name field. 3175 "clusterId": "A String", # Deprecated. The name of the cluster to upgrade. 3176 # This field has been deprecated and replaced by the name field. 3177 "locations": [ # The desired list of Google Compute Engine 3178 # [zones](/compute/docs/zones#available) in which the cluster's nodes 3179 # should be located. Changing the locations a cluster is in will result 3180 # in nodes being either created or removed from the cluster, depending on 3181 # whether locations are being added or removed. 3182 # 3183 # This list must always include the cluster's primary zone. 3184 "A String", 3185 ], 3186 "zone": "A String", # Deprecated. The name of the Google Compute Engine 3187 # [zone](/compute/docs/zones#available) in which the cluster 3188 # resides. 3189 # This field has been deprecated and replaced by the name field. 3190 "name": "A String", # The name (project, location, cluster) of the cluster to set locations. 3191 # Specified in the format 'projects/*/locations/*/clusters/*'. 3192 } 3193 3194 x__xgafv: string, V1 error format. 3195 Allowed values 3196 1 - v1 error format 3197 2 - v2 error format 3198 3199Returns: 3200 An object of the form: 3201 3202 { # This operation resource represents operations that may have happened or are 3203 # happening on the cluster. All fields are output only. 3204 "status": "A String", # The current status of the operation. 3205 "endTime": "A String", # [Output only] The time the operation completed, in 3206 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. 3207 "name": "A String", # The server-assigned ID for the operation. 3208 "zone": "A String", # The name of the Google Compute Engine 3209 # [zone](/compute/docs/zones#available) in which the operation 3210 # is taking place. 3211 # This field is deprecated, use location instead. 3212 "location": "A String", # [Output only] The name of the Google Compute Engine 3213 # [zone](/compute/docs/regions-zones/regions-zones#available) or 3214 # [region](/compute/docs/regions-zones/regions-zones#available) in which 3215 # the cluster resides. 3216 "startTime": "A String", # [Output only] The time the operation started, in 3217 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. 3218 "detail": "A String", # Detailed operation progress, if available. 3219 "clusterConditions": [ # Which conditions caused the current cluster state. 3220 { # StatusCondition describes why a cluster or a node pool has a certain status 3221 # (e.g., ERROR or DEGRADED). 3222 "message": "A String", # Human-friendly representation of the condition 3223 "code": "A String", # Machine-friendly representation of the condition 3224 }, 3225 ], 3226 "statusMessage": "A String", # If an error has occurred, a textual description of the error. 3227 "operationType": "A String", # The operation type. 3228 "progress": { # Information about operation (or operation stage) progress. # [Output only] Progress information for an operation. 3229 "status": "A String", # Status of an operation stage. 3230 # Unset for single-stage operations. 3231 "metrics": [ # Progress metric bundle, for example: 3232 # metrics: [{name: "nodes done", int_value: 15}, 3233 # {name: "nodes total", int_value: 32}] 3234 # or 3235 # metrics: [{name: "progress", double_value: 0.56}, 3236 # {name: "progress scale", double_value: 1.0}] 3237 { # Progress metric is (string, int|float|string) pair. 3238 "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.). 3239 "intValue": "A String", # For metrics with integer value. 3240 "name": "A String", # Metric name, required. 3241 # e.g., "nodes total", "percent done" 3242 "doubleValue": 3.14, # For metrics with floating point value. 3243 }, 3244 ], 3245 "stages": [ # Substages of an operation or a stage. 3246 # Object with schema name: OperationProgress 3247 ], 3248 "name": "A String", # A non-parameterized string describing an operation stage. 3249 # Unset for single-stage operations. 3250 }, 3251 "nodepoolConditions": [ # Which conditions caused the current node pool state. 3252 { # StatusCondition describes why a cluster or a node pool has a certain status 3253 # (e.g., ERROR or DEGRADED). 3254 "message": "A String", # Human-friendly representation of the condition 3255 "code": "A String", # Machine-friendly representation of the condition 3256 }, 3257 ], 3258 "selfLink": "A String", # Server-defined URL for the resource. 3259 "targetLink": "A String", # Server-defined URL for the target of the operation. 3260 }</pre> 3261</div> 3262 3263<div class="method"> 3264 <code class="details" id="setLogging">setLogging(name, body, x__xgafv=None)</code> 3265 <pre>Sets the logging service for a specific cluster. 3266 3267Args: 3268 name: string, The name (project, location, cluster) of the cluster to set logging. 3269Specified in the format 'projects/*/locations/*/clusters/*'. (required) 3270 body: object, The request body. (required) 3271 The object takes the form of: 3272 3273{ # SetLoggingServiceRequest sets the logging service of a cluster. 3274 "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project 3275 # number](https://support.google.com/cloud/answer/6158840). 3276 # This field has been deprecated and replaced by the name field. 3277 "clusterId": "A String", # Deprecated. The name of the cluster to upgrade. 3278 # This field has been deprecated and replaced by the name field. 3279 "loggingService": "A String", # The logging service the cluster should use to write metrics. 3280 # Currently available options: 3281 # 3282 # * "logging.googleapis.com" - the Google Cloud Logging service 3283 # * "none" - no metrics will be exported from the cluster 3284 "zone": "A String", # Deprecated. The name of the Google Compute Engine 3285 # [zone](/compute/docs/zones#available) in which the cluster 3286 # resides. 3287 # This field has been deprecated and replaced by the name field. 3288 "name": "A String", # The name (project, location, cluster) of the cluster to set logging. 3289 # Specified in the format 'projects/*/locations/*/clusters/*'. 3290 } 3291 3292 x__xgafv: string, V1 error format. 3293 Allowed values 3294 1 - v1 error format 3295 2 - v2 error format 3296 3297Returns: 3298 An object of the form: 3299 3300 { # This operation resource represents operations that may have happened or are 3301 # happening on the cluster. All fields are output only. 3302 "status": "A String", # The current status of the operation. 3303 "endTime": "A String", # [Output only] The time the operation completed, in 3304 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. 3305 "name": "A String", # The server-assigned ID for the operation. 3306 "zone": "A String", # The name of the Google Compute Engine 3307 # [zone](/compute/docs/zones#available) in which the operation 3308 # is taking place. 3309 # This field is deprecated, use location instead. 3310 "location": "A String", # [Output only] The name of the Google Compute Engine 3311 # [zone](/compute/docs/regions-zones/regions-zones#available) or 3312 # [region](/compute/docs/regions-zones/regions-zones#available) in which 3313 # the cluster resides. 3314 "startTime": "A String", # [Output only] The time the operation started, in 3315 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. 3316 "detail": "A String", # Detailed operation progress, if available. 3317 "clusterConditions": [ # Which conditions caused the current cluster state. 3318 { # StatusCondition describes why a cluster or a node pool has a certain status 3319 # (e.g., ERROR or DEGRADED). 3320 "message": "A String", # Human-friendly representation of the condition 3321 "code": "A String", # Machine-friendly representation of the condition 3322 }, 3323 ], 3324 "statusMessage": "A String", # If an error has occurred, a textual description of the error. 3325 "operationType": "A String", # The operation type. 3326 "progress": { # Information about operation (or operation stage) progress. # [Output only] Progress information for an operation. 3327 "status": "A String", # Status of an operation stage. 3328 # Unset for single-stage operations. 3329 "metrics": [ # Progress metric bundle, for example: 3330 # metrics: [{name: "nodes done", int_value: 15}, 3331 # {name: "nodes total", int_value: 32}] 3332 # or 3333 # metrics: [{name: "progress", double_value: 0.56}, 3334 # {name: "progress scale", double_value: 1.0}] 3335 { # Progress metric is (string, int|float|string) pair. 3336 "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.). 3337 "intValue": "A String", # For metrics with integer value. 3338 "name": "A String", # Metric name, required. 3339 # e.g., "nodes total", "percent done" 3340 "doubleValue": 3.14, # For metrics with floating point value. 3341 }, 3342 ], 3343 "stages": [ # Substages of an operation or a stage. 3344 # Object with schema name: OperationProgress 3345 ], 3346 "name": "A String", # A non-parameterized string describing an operation stage. 3347 # Unset for single-stage operations. 3348 }, 3349 "nodepoolConditions": [ # Which conditions caused the current node pool state. 3350 { # StatusCondition describes why a cluster or a node pool has a certain status 3351 # (e.g., ERROR or DEGRADED). 3352 "message": "A String", # Human-friendly representation of the condition 3353 "code": "A String", # Machine-friendly representation of the condition 3354 }, 3355 ], 3356 "selfLink": "A String", # Server-defined URL for the resource. 3357 "targetLink": "A String", # Server-defined URL for the target of the operation. 3358 }</pre> 3359</div> 3360 3361<div class="method"> 3362 <code class="details" id="setMaintenancePolicy">setMaintenancePolicy(name, body, x__xgafv=None)</code> 3363 <pre>Sets the maintenance policy for a cluster. 3364 3365Args: 3366 name: string, The name (project, location, cluster id) of the cluster to set maintenance 3367policy. 3368Specified in the format 'projects/*/locations/*/clusters/*'. (required) 3369 body: object, The request body. (required) 3370 The object takes the form of: 3371 3372{ # SetMaintenancePolicyRequest sets the maintenance policy for a cluster. 3373 "projectId": "A String", # The Google Developers Console [project ID or project 3374 # number](https://support.google.com/cloud/answer/6158840). 3375 "maintenancePolicy": { # MaintenancePolicy defines the maintenance policy to be used for the cluster. # The maintenance policy to be set for the cluster. An empty field 3376 # clears the existing maintenance policy. 3377 "window": { # MaintenanceWindow defines the maintenance window to be used for the cluster. # Specifies the maintenance window in which maintenance may be performed. 3378 "dailyMaintenanceWindow": { # Time window specified for daily maintenance operations. # DailyMaintenanceWindow specifies a daily maintenance operation window. 3379 "duration": "A String", # [Output only] Duration of the time window, automatically chosen to be 3380 # smallest possible in the given scenario. 3381 "startTime": "A String", # Time within the maintenance window to start the maintenance operations. 3382 # It must be in format "HH:MM", where HH : [00-23] and MM : [00-59] GMT. 3383 }, 3384 }, 3385 }, 3386 "clusterId": "A String", # The name of the cluster to update. 3387 "name": "A String", # The name (project, location, cluster id) of the cluster to set maintenance 3388 # policy. 3389 # Specified in the format 'projects/*/locations/*/clusters/*'. 3390 "zone": "A String", # The name of the Google Compute Engine 3391 # [zone](/compute/docs/zones#available) in which the cluster 3392 # resides. 3393 } 3394 3395 x__xgafv: string, V1 error format. 3396 Allowed values 3397 1 - v1 error format 3398 2 - v2 error format 3399 3400Returns: 3401 An object of the form: 3402 3403 { # This operation resource represents operations that may have happened or are 3404 # happening on the cluster. All fields are output only. 3405 "status": "A String", # The current status of the operation. 3406 "endTime": "A String", # [Output only] The time the operation completed, in 3407 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. 3408 "name": "A String", # The server-assigned ID for the operation. 3409 "zone": "A String", # The name of the Google Compute Engine 3410 # [zone](/compute/docs/zones#available) in which the operation 3411 # is taking place. 3412 # This field is deprecated, use location instead. 3413 "location": "A String", # [Output only] The name of the Google Compute Engine 3414 # [zone](/compute/docs/regions-zones/regions-zones#available) or 3415 # [region](/compute/docs/regions-zones/regions-zones#available) in which 3416 # the cluster resides. 3417 "startTime": "A String", # [Output only] The time the operation started, in 3418 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. 3419 "detail": "A String", # Detailed operation progress, if available. 3420 "clusterConditions": [ # Which conditions caused the current cluster state. 3421 { # StatusCondition describes why a cluster or a node pool has a certain status 3422 # (e.g., ERROR or DEGRADED). 3423 "message": "A String", # Human-friendly representation of the condition 3424 "code": "A String", # Machine-friendly representation of the condition 3425 }, 3426 ], 3427 "statusMessage": "A String", # If an error has occurred, a textual description of the error. 3428 "operationType": "A String", # The operation type. 3429 "progress": { # Information about operation (or operation stage) progress. # [Output only] Progress information for an operation. 3430 "status": "A String", # Status of an operation stage. 3431 # Unset for single-stage operations. 3432 "metrics": [ # Progress metric bundle, for example: 3433 # metrics: [{name: "nodes done", int_value: 15}, 3434 # {name: "nodes total", int_value: 32}] 3435 # or 3436 # metrics: [{name: "progress", double_value: 0.56}, 3437 # {name: "progress scale", double_value: 1.0}] 3438 { # Progress metric is (string, int|float|string) pair. 3439 "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.). 3440 "intValue": "A String", # For metrics with integer value. 3441 "name": "A String", # Metric name, required. 3442 # e.g., "nodes total", "percent done" 3443 "doubleValue": 3.14, # For metrics with floating point value. 3444 }, 3445 ], 3446 "stages": [ # Substages of an operation or a stage. 3447 # Object with schema name: OperationProgress 3448 ], 3449 "name": "A String", # A non-parameterized string describing an operation stage. 3450 # Unset for single-stage operations. 3451 }, 3452 "nodepoolConditions": [ # Which conditions caused the current node pool state. 3453 { # StatusCondition describes why a cluster or a node pool has a certain status 3454 # (e.g., ERROR or DEGRADED). 3455 "message": "A String", # Human-friendly representation of the condition 3456 "code": "A String", # Machine-friendly representation of the condition 3457 }, 3458 ], 3459 "selfLink": "A String", # Server-defined URL for the resource. 3460 "targetLink": "A String", # Server-defined URL for the target of the operation. 3461 }</pre> 3462</div> 3463 3464<div class="method"> 3465 <code class="details" id="setMasterAuth">setMasterAuth(name, body, x__xgafv=None)</code> 3466 <pre>Sets master auth materials. Currently supports changing the admin password 3467or a specific cluster, either via password generation or explicitly setting 3468the password. 3469 3470Args: 3471 name: string, The name (project, location, cluster) of the cluster to set auth. 3472Specified in the format 'projects/*/locations/*/clusters/*'. (required) 3473 body: object, The request body. (required) 3474 The object takes the form of: 3475 3476{ # SetMasterAuthRequest updates the admin password of a cluster. 3477 "name": "A String", # The name (project, location, cluster) of the cluster to set auth. 3478 # Specified in the format 'projects/*/locations/*/clusters/*'. 3479 "zone": "A String", # Deprecated. The name of the Google Compute Engine 3480 # [zone](/compute/docs/zones#available) in which the cluster 3481 # resides. 3482 # This field has been deprecated and replaced by the name field. 3483 "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project 3484 # number](https://support.google.com/cloud/answer/6158840). 3485 # This field has been deprecated and replaced by the name field. 3486 "clusterId": "A String", # Deprecated. The name of the cluster to upgrade. 3487 # This field has been deprecated and replaced by the name field. 3488 "update": { # The authentication information for accessing the master endpoint. # A description of the update. 3489 # Authentication can be done using HTTP basic auth or using client 3490 # certificates. 3491 "username": "A String", # The username to use for HTTP basic authentication to the master endpoint. 3492 # For clusters v1.6.0 and later, basic authentication can be disabled by 3493 # leaving username unspecified (or setting it to the empty string). 3494 "clientKey": "A String", # [Output only] Base64-encoded private key used by clients to authenticate 3495 # to the cluster endpoint. 3496 "clientCertificate": "A String", # [Output only] Base64-encoded public certificate used by clients to 3497 # authenticate to the cluster endpoint. 3498 "clientCertificateConfig": { # Configuration for client certificates on the cluster. # Configuration for client certificate authentication on the cluster. For 3499 # clusters before v1.12, if no configuration is specified, a client 3500 # certificate is issued. 3501 "issueClientCertificate": True or False, # Issue a client certificate. 3502 }, 3503 "password": "A String", # The password to use for HTTP basic authentication to the master endpoint. 3504 # Because the master endpoint is open to the Internet, you should create a 3505 # strong password. If a password is provided for cluster creation, username 3506 # must be non-empty. 3507 "clusterCaCertificate": "A String", 3508 }, 3509 "action": "A String", # The exact form of action to be taken on the master auth. 3510 } 3511 3512 x__xgafv: string, V1 error format. 3513 Allowed values 3514 1 - v1 error format 3515 2 - v2 error format 3516 3517Returns: 3518 An object of the form: 3519 3520 { # This operation resource represents operations that may have happened or are 3521 # happening on the cluster. All fields are output only. 3522 "status": "A String", # The current status of the operation. 3523 "endTime": "A String", # [Output only] The time the operation completed, in 3524 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. 3525 "name": "A String", # The server-assigned ID for the operation. 3526 "zone": "A String", # The name of the Google Compute Engine 3527 # [zone](/compute/docs/zones#available) in which the operation 3528 # is taking place. 3529 # This field is deprecated, use location instead. 3530 "location": "A String", # [Output only] The name of the Google Compute Engine 3531 # [zone](/compute/docs/regions-zones/regions-zones#available) or 3532 # [region](/compute/docs/regions-zones/regions-zones#available) in which 3533 # the cluster resides. 3534 "startTime": "A String", # [Output only] The time the operation started, in 3535 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. 3536 "detail": "A String", # Detailed operation progress, if available. 3537 "clusterConditions": [ # Which conditions caused the current cluster state. 3538 { # StatusCondition describes why a cluster or a node pool has a certain status 3539 # (e.g., ERROR or DEGRADED). 3540 "message": "A String", # Human-friendly representation of the condition 3541 "code": "A String", # Machine-friendly representation of the condition 3542 }, 3543 ], 3544 "statusMessage": "A String", # If an error has occurred, a textual description of the error. 3545 "operationType": "A String", # The operation type. 3546 "progress": { # Information about operation (or operation stage) progress. # [Output only] Progress information for an operation. 3547 "status": "A String", # Status of an operation stage. 3548 # Unset for single-stage operations. 3549 "metrics": [ # Progress metric bundle, for example: 3550 # metrics: [{name: "nodes done", int_value: 15}, 3551 # {name: "nodes total", int_value: 32}] 3552 # or 3553 # metrics: [{name: "progress", double_value: 0.56}, 3554 # {name: "progress scale", double_value: 1.0}] 3555 { # Progress metric is (string, int|float|string) pair. 3556 "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.). 3557 "intValue": "A String", # For metrics with integer value. 3558 "name": "A String", # Metric name, required. 3559 # e.g., "nodes total", "percent done" 3560 "doubleValue": 3.14, # For metrics with floating point value. 3561 }, 3562 ], 3563 "stages": [ # Substages of an operation or a stage. 3564 # Object with schema name: OperationProgress 3565 ], 3566 "name": "A String", # A non-parameterized string describing an operation stage. 3567 # Unset for single-stage operations. 3568 }, 3569 "nodepoolConditions": [ # Which conditions caused the current node pool state. 3570 { # StatusCondition describes why a cluster or a node pool has a certain status 3571 # (e.g., ERROR or DEGRADED). 3572 "message": "A String", # Human-friendly representation of the condition 3573 "code": "A String", # Machine-friendly representation of the condition 3574 }, 3575 ], 3576 "selfLink": "A String", # Server-defined URL for the resource. 3577 "targetLink": "A String", # Server-defined URL for the target of the operation. 3578 }</pre> 3579</div> 3580 3581<div class="method"> 3582 <code class="details" id="setMonitoring">setMonitoring(name, body, x__xgafv=None)</code> 3583 <pre>Sets the monitoring service for a specific cluster. 3584 3585Args: 3586 name: string, The name (project, location, cluster) of the cluster to set monitoring. 3587Specified in the format 'projects/*/locations/*/clusters/*'. (required) 3588 body: object, The request body. (required) 3589 The object takes the form of: 3590 3591{ # SetMonitoringServiceRequest sets the monitoring service of a cluster. 3592 "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project 3593 # number](https://support.google.com/cloud/answer/6158840). 3594 # This field has been deprecated and replaced by the name field. 3595 "monitoringService": "A String", # The monitoring service the cluster should use to write metrics. 3596 # Currently available options: 3597 # 3598 # * "monitoring.googleapis.com" - the Google Cloud Monitoring service 3599 # * "none" - no metrics will be exported from the cluster 3600 "clusterId": "A String", # Deprecated. The name of the cluster to upgrade. 3601 # This field has been deprecated and replaced by the name field. 3602 "name": "A String", # The name (project, location, cluster) of the cluster to set monitoring. 3603 # Specified in the format 'projects/*/locations/*/clusters/*'. 3604 "zone": "A String", # Deprecated. The name of the Google Compute Engine 3605 # [zone](/compute/docs/zones#available) in which the cluster 3606 # resides. 3607 # This field has been deprecated and replaced by the name field. 3608 } 3609 3610 x__xgafv: string, V1 error format. 3611 Allowed values 3612 1 - v1 error format 3613 2 - v2 error format 3614 3615Returns: 3616 An object of the form: 3617 3618 { # This operation resource represents operations that may have happened or are 3619 # happening on the cluster. All fields are output only. 3620 "status": "A String", # The current status of the operation. 3621 "endTime": "A String", # [Output only] The time the operation completed, in 3622 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. 3623 "name": "A String", # The server-assigned ID for the operation. 3624 "zone": "A String", # The name of the Google Compute Engine 3625 # [zone](/compute/docs/zones#available) in which the operation 3626 # is taking place. 3627 # This field is deprecated, use location instead. 3628 "location": "A String", # [Output only] The name of the Google Compute Engine 3629 # [zone](/compute/docs/regions-zones/regions-zones#available) or 3630 # [region](/compute/docs/regions-zones/regions-zones#available) in which 3631 # the cluster resides. 3632 "startTime": "A String", # [Output only] The time the operation started, in 3633 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. 3634 "detail": "A String", # Detailed operation progress, if available. 3635 "clusterConditions": [ # Which conditions caused the current cluster state. 3636 { # StatusCondition describes why a cluster or a node pool has a certain status 3637 # (e.g., ERROR or DEGRADED). 3638 "message": "A String", # Human-friendly representation of the condition 3639 "code": "A String", # Machine-friendly representation of the condition 3640 }, 3641 ], 3642 "statusMessage": "A String", # If an error has occurred, a textual description of the error. 3643 "operationType": "A String", # The operation type. 3644 "progress": { # Information about operation (or operation stage) progress. # [Output only] Progress information for an operation. 3645 "status": "A String", # Status of an operation stage. 3646 # Unset for single-stage operations. 3647 "metrics": [ # Progress metric bundle, for example: 3648 # metrics: [{name: "nodes done", int_value: 15}, 3649 # {name: "nodes total", int_value: 32}] 3650 # or 3651 # metrics: [{name: "progress", double_value: 0.56}, 3652 # {name: "progress scale", double_value: 1.0}] 3653 { # Progress metric is (string, int|float|string) pair. 3654 "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.). 3655 "intValue": "A String", # For metrics with integer value. 3656 "name": "A String", # Metric name, required. 3657 # e.g., "nodes total", "percent done" 3658 "doubleValue": 3.14, # For metrics with floating point value. 3659 }, 3660 ], 3661 "stages": [ # Substages of an operation or a stage. 3662 # Object with schema name: OperationProgress 3663 ], 3664 "name": "A String", # A non-parameterized string describing an operation stage. 3665 # Unset for single-stage operations. 3666 }, 3667 "nodepoolConditions": [ # Which conditions caused the current node pool state. 3668 { # StatusCondition describes why a cluster or a node pool has a certain status 3669 # (e.g., ERROR or DEGRADED). 3670 "message": "A String", # Human-friendly representation of the condition 3671 "code": "A String", # Machine-friendly representation of the condition 3672 }, 3673 ], 3674 "selfLink": "A String", # Server-defined URL for the resource. 3675 "targetLink": "A String", # Server-defined URL for the target of the operation. 3676 }</pre> 3677</div> 3678 3679<div class="method"> 3680 <code class="details" id="setNetworkPolicy">setNetworkPolicy(name, body, x__xgafv=None)</code> 3681 <pre>Enables or disables Network Policy for a cluster. 3682 3683Args: 3684 name: string, The name (project, location, cluster id) of the cluster to set networking 3685policy. Specified in the format 'projects/*/locations/*/clusters/*'. (required) 3686 body: object, The request body. (required) 3687 The object takes the form of: 3688 3689{ # SetNetworkPolicyRequest enables/disables network policy for a cluster. 3690 "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project 3691 # number](https://developers.google.com/console/help/new/#projectnumber). 3692 # This field has been deprecated and replaced by the name field. 3693 "clusterId": "A String", # Deprecated. The name of the cluster. 3694 # This field has been deprecated and replaced by the name field. 3695 "networkPolicy": { # Configuration options for the NetworkPolicy feature. # Configuration options for the NetworkPolicy feature. 3696 # https://kubernetes.io/docs/concepts/services-networking/networkpolicies/ 3697 "enabled": True or False, # Whether network policy is enabled on the cluster. 3698 "provider": "A String", # The selected network policy provider. 3699 }, 3700 "zone": "A String", # Deprecated. The name of the Google Compute Engine 3701 # [zone](/compute/docs/zones#available) in which the cluster 3702 # resides. 3703 # This field has been deprecated and replaced by the name field. 3704 "name": "A String", # The name (project, location, cluster id) of the cluster to set networking 3705 # policy. Specified in the format 'projects/*/locations/*/clusters/*'. 3706 } 3707 3708 x__xgafv: string, V1 error format. 3709 Allowed values 3710 1 - v1 error format 3711 2 - v2 error format 3712 3713Returns: 3714 An object of the form: 3715 3716 { # This operation resource represents operations that may have happened or are 3717 # happening on the cluster. All fields are output only. 3718 "status": "A String", # The current status of the operation. 3719 "endTime": "A String", # [Output only] The time the operation completed, in 3720 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. 3721 "name": "A String", # The server-assigned ID for the operation. 3722 "zone": "A String", # The name of the Google Compute Engine 3723 # [zone](/compute/docs/zones#available) in which the operation 3724 # is taking place. 3725 # This field is deprecated, use location instead. 3726 "location": "A String", # [Output only] The name of the Google Compute Engine 3727 # [zone](/compute/docs/regions-zones/regions-zones#available) or 3728 # [region](/compute/docs/regions-zones/regions-zones#available) in which 3729 # the cluster resides. 3730 "startTime": "A String", # [Output only] The time the operation started, in 3731 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. 3732 "detail": "A String", # Detailed operation progress, if available. 3733 "clusterConditions": [ # Which conditions caused the current cluster state. 3734 { # StatusCondition describes why a cluster or a node pool has a certain status 3735 # (e.g., ERROR or DEGRADED). 3736 "message": "A String", # Human-friendly representation of the condition 3737 "code": "A String", # Machine-friendly representation of the condition 3738 }, 3739 ], 3740 "statusMessage": "A String", # If an error has occurred, a textual description of the error. 3741 "operationType": "A String", # The operation type. 3742 "progress": { # Information about operation (or operation stage) progress. # [Output only] Progress information for an operation. 3743 "status": "A String", # Status of an operation stage. 3744 # Unset for single-stage operations. 3745 "metrics": [ # Progress metric bundle, for example: 3746 # metrics: [{name: "nodes done", int_value: 15}, 3747 # {name: "nodes total", int_value: 32}] 3748 # or 3749 # metrics: [{name: "progress", double_value: 0.56}, 3750 # {name: "progress scale", double_value: 1.0}] 3751 { # Progress metric is (string, int|float|string) pair. 3752 "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.). 3753 "intValue": "A String", # For metrics with integer value. 3754 "name": "A String", # Metric name, required. 3755 # e.g., "nodes total", "percent done" 3756 "doubleValue": 3.14, # For metrics with floating point value. 3757 }, 3758 ], 3759 "stages": [ # Substages of an operation or a stage. 3760 # Object with schema name: OperationProgress 3761 ], 3762 "name": "A String", # A non-parameterized string describing an operation stage. 3763 # Unset for single-stage operations. 3764 }, 3765 "nodepoolConditions": [ # Which conditions caused the current node pool state. 3766 { # StatusCondition describes why a cluster or a node pool has a certain status 3767 # (e.g., ERROR or DEGRADED). 3768 "message": "A String", # Human-friendly representation of the condition 3769 "code": "A String", # Machine-friendly representation of the condition 3770 }, 3771 ], 3772 "selfLink": "A String", # Server-defined URL for the resource. 3773 "targetLink": "A String", # Server-defined URL for the target of the operation. 3774 }</pre> 3775</div> 3776 3777<div class="method"> 3778 <code class="details" id="setResourceLabels">setResourceLabels(name, body, x__xgafv=None)</code> 3779 <pre>Sets labels on a cluster. 3780 3781Args: 3782 name: string, The name (project, location, cluster id) of the cluster to set labels. 3783Specified in the format 'projects/*/locations/*/clusters/*'. (required) 3784 body: object, The request body. (required) 3785 The object takes the form of: 3786 3787{ # SetLabelsRequest sets the Google Cloud Platform labels on a Google Container 3788 # Engine cluster, which will in turn set them for Google Compute Engine 3789 # resources used by that cluster 3790 "name": "A String", # The name (project, location, cluster id) of the cluster to set labels. 3791 # Specified in the format 'projects/*/locations/*/clusters/*'. 3792 "zone": "A String", # Deprecated. The name of the Google Compute Engine 3793 # [zone](/compute/docs/zones#available) in which the cluster 3794 # resides. 3795 # This field has been deprecated and replaced by the name field. 3796 "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project 3797 # number](https://developers.google.com/console/help/new/#projectnumber). 3798 # This field has been deprecated and replaced by the name field. 3799 "labelFingerprint": "A String", # The fingerprint of the previous set of labels for this resource, 3800 # used to detect conflicts. The fingerprint is initially generated by 3801 # Kubernetes Engine and changes after every request to modify or update 3802 # labels. You must always provide an up-to-date fingerprint hash when 3803 # updating or changing labels. Make a <code>get()</code> request to the 3804 # resource to get the latest fingerprint. 3805 "clusterId": "A String", # Deprecated. The name of the cluster. 3806 # This field has been deprecated and replaced by the name field. 3807 "resourceLabels": { # The labels to set for that cluster. 3808 "a_key": "A String", 3809 }, 3810 } 3811 3812 x__xgafv: string, V1 error format. 3813 Allowed values 3814 1 - v1 error format 3815 2 - v2 error format 3816 3817Returns: 3818 An object of the form: 3819 3820 { # This operation resource represents operations that may have happened or are 3821 # happening on the cluster. All fields are output only. 3822 "status": "A String", # The current status of the operation. 3823 "endTime": "A String", # [Output only] The time the operation completed, in 3824 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. 3825 "name": "A String", # The server-assigned ID for the operation. 3826 "zone": "A String", # The name of the Google Compute Engine 3827 # [zone](/compute/docs/zones#available) in which the operation 3828 # is taking place. 3829 # This field is deprecated, use location instead. 3830 "location": "A String", # [Output only] The name of the Google Compute Engine 3831 # [zone](/compute/docs/regions-zones/regions-zones#available) or 3832 # [region](/compute/docs/regions-zones/regions-zones#available) in which 3833 # the cluster resides. 3834 "startTime": "A String", # [Output only] The time the operation started, in 3835 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. 3836 "detail": "A String", # Detailed operation progress, if available. 3837 "clusterConditions": [ # Which conditions caused the current cluster state. 3838 { # StatusCondition describes why a cluster or a node pool has a certain status 3839 # (e.g., ERROR or DEGRADED). 3840 "message": "A String", # Human-friendly representation of the condition 3841 "code": "A String", # Machine-friendly representation of the condition 3842 }, 3843 ], 3844 "statusMessage": "A String", # If an error has occurred, a textual description of the error. 3845 "operationType": "A String", # The operation type. 3846 "progress": { # Information about operation (or operation stage) progress. # [Output only] Progress information for an operation. 3847 "status": "A String", # Status of an operation stage. 3848 # Unset for single-stage operations. 3849 "metrics": [ # Progress metric bundle, for example: 3850 # metrics: [{name: "nodes done", int_value: 15}, 3851 # {name: "nodes total", int_value: 32}] 3852 # or 3853 # metrics: [{name: "progress", double_value: 0.56}, 3854 # {name: "progress scale", double_value: 1.0}] 3855 { # Progress metric is (string, int|float|string) pair. 3856 "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.). 3857 "intValue": "A String", # For metrics with integer value. 3858 "name": "A String", # Metric name, required. 3859 # e.g., "nodes total", "percent done" 3860 "doubleValue": 3.14, # For metrics with floating point value. 3861 }, 3862 ], 3863 "stages": [ # Substages of an operation or a stage. 3864 # Object with schema name: OperationProgress 3865 ], 3866 "name": "A String", # A non-parameterized string describing an operation stage. 3867 # Unset for single-stage operations. 3868 }, 3869 "nodepoolConditions": [ # Which conditions caused the current node pool state. 3870 { # StatusCondition describes why a cluster or a node pool has a certain status 3871 # (e.g., ERROR or DEGRADED). 3872 "message": "A String", # Human-friendly representation of the condition 3873 "code": "A String", # Machine-friendly representation of the condition 3874 }, 3875 ], 3876 "selfLink": "A String", # Server-defined URL for the resource. 3877 "targetLink": "A String", # Server-defined URL for the target of the operation. 3878 }</pre> 3879</div> 3880 3881<div class="method"> 3882 <code class="details" id="startIpRotation">startIpRotation(name, body, x__xgafv=None)</code> 3883 <pre>Starts master IP rotation. 3884 3885Args: 3886 name: string, The name (project, location, cluster id) of the cluster to start IP 3887rotation. Specified in the format 'projects/*/locations/*/clusters/*'. (required) 3888 body: object, The request body. (required) 3889 The object takes the form of: 3890 3891{ # StartIPRotationRequest creates a new IP for the cluster and then performs 3892 # a node upgrade on each node pool to point to the new IP. 3893 "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project 3894 # number](https://developers.google.com/console/help/new/#projectnumber). 3895 # This field has been deprecated and replaced by the name field. 3896 "rotateCredentials": True or False, # Whether to rotate credentials during IP rotation. 3897 "clusterId": "A String", # Deprecated. The name of the cluster. 3898 # This field has been deprecated and replaced by the name field. 3899 "name": "A String", # The name (project, location, cluster id) of the cluster to start IP 3900 # rotation. Specified in the format 'projects/*/locations/*/clusters/*'. 3901 "zone": "A String", # Deprecated. The name of the Google Compute Engine 3902 # [zone](/compute/docs/zones#available) in which the cluster 3903 # resides. 3904 # This field has been deprecated and replaced by the name field. 3905 } 3906 3907 x__xgafv: string, V1 error format. 3908 Allowed values 3909 1 - v1 error format 3910 2 - v2 error format 3911 3912Returns: 3913 An object of the form: 3914 3915 { # This operation resource represents operations that may have happened or are 3916 # happening on the cluster. All fields are output only. 3917 "status": "A String", # The current status of the operation. 3918 "endTime": "A String", # [Output only] The time the operation completed, in 3919 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. 3920 "name": "A String", # The server-assigned ID for the operation. 3921 "zone": "A String", # The name of the Google Compute Engine 3922 # [zone](/compute/docs/zones#available) in which the operation 3923 # is taking place. 3924 # This field is deprecated, use location instead. 3925 "location": "A String", # [Output only] The name of the Google Compute Engine 3926 # [zone](/compute/docs/regions-zones/regions-zones#available) or 3927 # [region](/compute/docs/regions-zones/regions-zones#available) in which 3928 # the cluster resides. 3929 "startTime": "A String", # [Output only] The time the operation started, in 3930 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. 3931 "detail": "A String", # Detailed operation progress, if available. 3932 "clusterConditions": [ # Which conditions caused the current cluster state. 3933 { # StatusCondition describes why a cluster or a node pool has a certain status 3934 # (e.g., ERROR or DEGRADED). 3935 "message": "A String", # Human-friendly representation of the condition 3936 "code": "A String", # Machine-friendly representation of the condition 3937 }, 3938 ], 3939 "statusMessage": "A String", # If an error has occurred, a textual description of the error. 3940 "operationType": "A String", # The operation type. 3941 "progress": { # Information about operation (or operation stage) progress. # [Output only] Progress information for an operation. 3942 "status": "A String", # Status of an operation stage. 3943 # Unset for single-stage operations. 3944 "metrics": [ # Progress metric bundle, for example: 3945 # metrics: [{name: "nodes done", int_value: 15}, 3946 # {name: "nodes total", int_value: 32}] 3947 # or 3948 # metrics: [{name: "progress", double_value: 0.56}, 3949 # {name: "progress scale", double_value: 1.0}] 3950 { # Progress metric is (string, int|float|string) pair. 3951 "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.). 3952 "intValue": "A String", # For metrics with integer value. 3953 "name": "A String", # Metric name, required. 3954 # e.g., "nodes total", "percent done" 3955 "doubleValue": 3.14, # For metrics with floating point value. 3956 }, 3957 ], 3958 "stages": [ # Substages of an operation or a stage. 3959 # Object with schema name: OperationProgress 3960 ], 3961 "name": "A String", # A non-parameterized string describing an operation stage. 3962 # Unset for single-stage operations. 3963 }, 3964 "nodepoolConditions": [ # Which conditions caused the current node pool state. 3965 { # StatusCondition describes why a cluster or a node pool has a certain status 3966 # (e.g., ERROR or DEGRADED). 3967 "message": "A String", # Human-friendly representation of the condition 3968 "code": "A String", # Machine-friendly representation of the condition 3969 }, 3970 ], 3971 "selfLink": "A String", # Server-defined URL for the resource. 3972 "targetLink": "A String", # Server-defined URL for the target of the operation. 3973 }</pre> 3974</div> 3975 3976<div class="method"> 3977 <code class="details" id="update">update(name, body, x__xgafv=None)</code> 3978 <pre>Updates the settings for a specific cluster. 3979 3980Args: 3981 name: string, The name (project, location, cluster) of the cluster to update. 3982Specified in the format 'projects/*/locations/*/clusters/*'. (required) 3983 body: object, The request body. (required) 3984 The object takes the form of: 3985 3986{ # UpdateClusterRequest updates the settings of a cluster. 3987 "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project 3988 # number](https://support.google.com/cloud/answer/6158840). 3989 # This field has been deprecated and replaced by the name field. 3990 "clusterId": "A String", # Deprecated. The name of the cluster to upgrade. 3991 # This field has been deprecated and replaced by the name field. 3992 "update": { # ClusterUpdate describes an update to the cluster. Exactly one update can # A description of the update. 3993 # be applied to a cluster with each request, so at most one field can be 3994 # provided. 3995 "desiredPodSecurityPolicyConfig": { # Configuration for the PodSecurityPolicy feature. # The desired configuration options for the PodSecurityPolicy feature. 3996 "enabled": True or False, # Enable the PodSecurityPolicy controller for this cluster. If enabled, pods 3997 # must be valid under a PodSecurityPolicy to be created. 3998 }, 3999 "desiredIntraNodeVisibilityConfig": { # IntraNodeVisibilityConfig contains the desired config of the intra-node # The desired config of Intra-node visibility. 4000 # visibility on this cluster. 4001 "enabled": True or False, # Enables intra node visibility for this cluster. 4002 }, 4003 "desiredLoggingService": "A String", # The logging service the cluster should use to write metrics. 4004 # Currently available options: 4005 # 4006 # * "logging.googleapis.com/kubernetes" - the Google Cloud Logging 4007 # service with Kubernetes-native resource model in Stackdriver 4008 # * "logging.googleapis.com" - the Google Cloud Logging service 4009 # * "none" - no logs will be exported from the cluster 4010 "desiredMasterAuthorizedNetworksConfig": { # Configuration options for the master authorized networks feature. Enabled # The desired configuration options for master authorized networks feature. 4011 # master authorized networks will disallow all external traffic to access 4012 # Kubernetes master through HTTPS except traffic from the given CIDR blocks, 4013 # Google Compute Engine Public IPs and Google Prod IPs. 4014 "enabled": True or False, # Whether or not master authorized networks is enabled. 4015 "cidrBlocks": [ # cidr_blocks define up to 10 external networks that could access 4016 # Kubernetes master through HTTPS. 4017 { # CidrBlock contains an optional name and one CIDR block. 4018 "displayName": "A String", # display_name is an optional field for users to identify CIDR blocks. 4019 "cidrBlock": "A String", # cidr_block must be specified in CIDR notation. 4020 }, 4021 ], 4022 }, 4023 "desiredImageType": "A String", # The desired image type for the node pool. 4024 # NOTE: Set the "desired_node_pool" field as well. 4025 "desiredNodePoolId": "A String", # The node pool to be upgraded. This field is mandatory if 4026 # "desired_node_version", "desired_image_family", 4027 # "desired_node_pool_autoscaling", or "desired_workload_metadata_config" 4028 # is specified and there is more than one node pool on the cluster. 4029 "desiredAddonsConfig": { # Configuration for the addons that can be automatically spun up in the # Configurations for the various addons available to run in the cluster. 4030 # cluster, enabling additional functionality. 4031 "networkPolicyConfig": { # Configuration for NetworkPolicy. This only tracks whether the addon # Configuration for NetworkPolicy. This only tracks whether the addon 4032 # is enabled or not on the Master, it does not track whether network policy 4033 # is enabled for the nodes. 4034 # is enabled or not on the Master, it does not track whether network policy 4035 # is enabled for the nodes. 4036 "disabled": True or False, # Whether NetworkPolicy is enabled for this cluster. 4037 }, 4038 "cloudRunConfig": { # Configuration options for the Cloud Run feature. # Configuration for the Cloud Run addon. The `IstioConfig` addon must be 4039 # enabled in order to enable Cloud Run addon. This option can only be enabled 4040 # at cluster creation time. 4041 "disabled": True or False, # Whether Cloud Run addon is enabled for this cluster. 4042 }, 4043 "httpLoadBalancing": { # Configuration options for the HTTP (L7) load balancing controller addon, # Configuration for the HTTP (L7) load balancing controller addon, which 4044 # makes it easy to set up HTTP load balancers for services in a cluster. 4045 # which makes it easy to set up HTTP load balancers for services in a cluster. 4046 "disabled": True or False, # Whether the HTTP Load Balancing controller is enabled in the cluster. 4047 # When enabled, it runs a small pod in the cluster that manages the load 4048 # balancers. 4049 }, 4050 "horizontalPodAutoscaling": { # Configuration options for the horizontal pod autoscaling feature, which # Configuration for the horizontal pod autoscaling feature, which 4051 # increases or decreases the number of replica pods a replication controller 4052 # has based on the resource usage of the existing pods. 4053 # increases or decreases the number of replica pods a replication controller 4054 # has based on the resource usage of the existing pods. 4055 "disabled": True or False, # Whether the Horizontal Pod Autoscaling feature is enabled in the cluster. 4056 # When enabled, it ensures that a Heapster pod is running in the cluster, 4057 # which is also used by the Cloud Monitoring service. 4058 }, 4059 "istioConfig": { # Configuration options for Istio addon. # Configuration for Istio, an open platform to connect, manage, and secure 4060 # microservices. 4061 "disabled": True or False, # Whether Istio is enabled for this cluster. 4062 "auth": "A String", # The specified Istio auth mode, either none, or mutual TLS. 4063 }, 4064 "kubernetesDashboard": { # Configuration for the Kubernetes Dashboard. # Configuration for the Kubernetes Dashboard. 4065 # This addon is deprecated, and will be disabled in 1.15. It is recommended 4066 # to use the Cloud Console to manage and monitor your Kubernetes clusters, 4067 # workloads and applications. For more information, see: 4068 # https://cloud.google.com/kubernetes-engine/docs/concepts/dashboards 4069 "disabled": True or False, # Whether the Kubernetes Dashboard is enabled for this cluster. 4070 }, 4071 }, 4072 "desiredVerticalPodAutoscaling": { # VerticalPodAutoscaling contains global, per-cluster information # Cluster-level Vertical Pod Autoscaling configuration. 4073 # required by Vertical Pod Autoscaler to automatically adjust 4074 # the resources of pods controlled by it. 4075 "enabled": True or False, # Enables vertical pod autoscaling. 4076 }, 4077 "desiredMasterVersion": "A String", # The Kubernetes version to change the master to. The only valid value is the 4078 # latest supported version. 4079 # 4080 # Users may specify either explicit versions offered by 4081 # Kubernetes Engine or version aliases, which have the following behavior: 4082 # 4083 # - "latest": picks the highest valid Kubernetes version 4084 # - "1.X": picks the highest valid patch+gke.N patch in the 1.X version 4085 # - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version 4086 # - "1.X.Y-gke.N": picks an explicit Kubernetes version 4087 # - "-": picks the default Kubernetes version 4088 "desiredLocations": [ # The desired list of Google Compute Engine 4089 # [zones](/compute/docs/zones#available) in which the cluster's nodes 4090 # should be located. Changing the locations a cluster is in will result 4091 # in nodes being either created or removed from the cluster, depending on 4092 # whether locations are being added or removed. 4093 # 4094 # This list must always include the cluster's primary zone. 4095 "A String", 4096 ], 4097 "desiredNodeVersion": "A String", # The Kubernetes version to change the nodes to (typically an 4098 # upgrade). 4099 # 4100 # Users may specify either explicit versions offered by 4101 # Kubernetes Engine or version aliases, which have the following behavior: 4102 # 4103 # - "latest": picks the highest valid Kubernetes version 4104 # - "1.X": picks the highest valid patch+gke.N patch in the 1.X version 4105 # - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version 4106 # - "1.X.Y-gke.N": picks an explicit Kubernetes version 4107 # - "-": picks the Kubernetes master version 4108 "desiredMonitoringService": "A String", # The monitoring service the cluster should use to write metrics. 4109 # Currently available options: 4110 # 4111 # * "monitoring.googleapis.com/kubernetes" - the Google Cloud Monitoring 4112 # service with Kubernetes-native resource model in Stackdriver 4113 # * "monitoring.googleapis.com" - the Google Cloud Monitoring service 4114 # * "none" - no metrics will be exported from the cluster 4115 "desiredBinaryAuthorization": { # Configuration for Binary Authorization. # The desired configuration options for the Binary Authorization feature. 4116 "enabled": True or False, # Enable Binary Authorization for this cluster. If enabled, all container 4117 # images will be validated by Google Binauthz. 4118 }, 4119 "desiredPrivateClusterConfig": { # Configuration options for private clusters. # The desired private cluster configuration. 4120 "enablePrivateEndpoint": True or False, # Whether the master's internal IP address is used as the cluster endpoint. 4121 "publicEndpoint": "A String", # Output only. The external IP address of this cluster's master endpoint. 4122 "enablePrivateNodes": True or False, # Whether nodes have internal IP addresses only. If enabled, all nodes are 4123 # given only RFC 1918 private addresses and communicate with the master via 4124 # private networking. 4125 "privateEndpoint": "A String", # Output only. The internal IP address of this cluster's master endpoint. 4126 "masterIpv4CidrBlock": "A String", # The IP range in CIDR notation to use for the hosted master network. This 4127 # range will be used for assigning internal IP addresses to the master or 4128 # set of masters, as well as the ILB VIP. This range must not overlap with 4129 # any other ranges in use within the cluster's network. 4130 "enablePeeringRouteSharing": True or False, # Whether to enable route sharing over the network peering. 4131 }, 4132 "desiredResourceUsageExportConfig": { # Configuration for exporting cluster resource usages. # The desired configuration for exporting resource usage. 4133 "bigqueryDestination": { # Parameters for using BigQuery as the destination of resource usage export. # Configuration to use BigQuery as usage export destination. 4134 "datasetId": "A String", # The ID of a BigQuery Dataset. 4135 }, 4136 "enableNetworkEgressMetering": True or False, # Whether to enable network egress metering for this cluster. If enabled, a 4137 # daemonset will be created in the cluster to meter network egress traffic. 4138 "consumptionMeteringConfig": { # Parameters for controlling consumption metering. # Configuration to enable resource consumption metering. 4139 "enabled": True or False, # Whether to enable consumption metering for this cluster. If enabled, a 4140 # second BigQuery table will be created to hold resource consumption 4141 # records. 4142 }, 4143 }, 4144 "desiredWorkloadIdentityConfig": { # Configuration for the use of Kubernetes Service Accounts in GCP IAM # Configuration for Workload Identity. 4145 # policies. 4146 "identityNamespace": "A String", # IAM Identity Namespace to attach all Kubernetes Service Accounts to. 4147 }, 4148 "desiredClusterAutoscaling": { # ClusterAutoscaling contains global, per-cluster information # Cluster-level autoscaling configuration. 4149 # required by Cluster Autoscaler to automatically adjust 4150 # the size of the cluster and create/delete 4151 # node pools based on the current needs. 4152 "autoprovisioningNodePoolDefaults": { # AutoprovisioningNodePoolDefaults contains defaults for a node pool created # AutoprovisioningNodePoolDefaults contains defaults for a node pool 4153 # created by NAP. 4154 # by NAP. 4155 "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs. If 4156 # service_account is specified, scopes should be empty. 4157 "oauthScopes": [ # Scopes that are used by NAP when creating node pools. If oauth_scopes are 4158 # specified, service_account should be empty. 4159 "A String", 4160 ], 4161 }, 4162 "resourceLimits": [ # Contains global constraints regarding minimum and maximum 4163 # amount of resources in the cluster. 4164 { # Contains information about amount of some resource in the cluster. 4165 # For memory, value should be in GB. 4166 "resourceType": "A String", # Resource name "cpu", "memory" or gpu-specific string. 4167 "minimum": "A String", # Minimum amount of the resource in the cluster. 4168 "maximum": "A String", # Maximum amount of the resource in the cluster. 4169 }, 4170 ], 4171 "autoprovisioningLocations": [ # The list of Google Compute Engine [zones](/compute/docs/zones#available) 4172 # in which the NodePool's nodes can be created by NAP. 4173 "A String", 4174 ], 4175 "enableNodeAutoprovisioning": True or False, # Enables automatic node pool creation and deletion. 4176 }, 4177 "desiredNodePoolAutoscaling": { # NodePoolAutoscaling contains information required by cluster autoscaler to # Autoscaler configuration for the node pool specified in 4178 # desired_node_pool_id. If there is only one pool in the 4179 # cluster and desired_node_pool_id is not provided then 4180 # the change applies to that single node pool. 4181 # adjust the size of the node pool to the current cluster usage. 4182 "minNodeCount": 42, # Minimum number of nodes in the NodePool. Must be >= 1 and <= 4183 # max_node_count. 4184 "autoprovisioned": True or False, # Can this node pool be deleted automatically. 4185 "enabled": True or False, # Is autoscaling enabled for this node pool. 4186 "maxNodeCount": 42, # Maximum number of nodes in the NodePool. Must be >= min_node_count. There 4187 # has to enough quota to scale up the cluster. 4188 }, 4189 "desiredDatabaseEncryption": { # Configuration of etcd encryption. # Configuration of etcd encryption. 4190 "state": "A String", # Denotes the state of etcd encryption. 4191 "keyName": "A String", # Name of CloudKMS key to use for the encryption of secrets in etcd. 4192 # Ex. projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-key 4193 }, 4194 }, 4195 "zone": "A String", # Deprecated. The name of the Google Compute Engine 4196 # [zone](/compute/docs/zones#available) in which the cluster 4197 # resides. 4198 # This field has been deprecated and replaced by the name field. 4199 "name": "A String", # The name (project, location, cluster) of the cluster to update. 4200 # Specified in the format 'projects/*/locations/*/clusters/*'. 4201 } 4202 4203 x__xgafv: string, V1 error format. 4204 Allowed values 4205 1 - v1 error format 4206 2 - v2 error format 4207 4208Returns: 4209 An object of the form: 4210 4211 { # This operation resource represents operations that may have happened or are 4212 # happening on the cluster. All fields are output only. 4213 "status": "A String", # The current status of the operation. 4214 "endTime": "A String", # [Output only] The time the operation completed, in 4215 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. 4216 "name": "A String", # The server-assigned ID for the operation. 4217 "zone": "A String", # The name of the Google Compute Engine 4218 # [zone](/compute/docs/zones#available) in which the operation 4219 # is taking place. 4220 # This field is deprecated, use location instead. 4221 "location": "A String", # [Output only] The name of the Google Compute Engine 4222 # [zone](/compute/docs/regions-zones/regions-zones#available) or 4223 # [region](/compute/docs/regions-zones/regions-zones#available) in which 4224 # the cluster resides. 4225 "startTime": "A String", # [Output only] The time the operation started, in 4226 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. 4227 "detail": "A String", # Detailed operation progress, if available. 4228 "clusterConditions": [ # Which conditions caused the current cluster state. 4229 { # StatusCondition describes why a cluster or a node pool has a certain status 4230 # (e.g., ERROR or DEGRADED). 4231 "message": "A String", # Human-friendly representation of the condition 4232 "code": "A String", # Machine-friendly representation of the condition 4233 }, 4234 ], 4235 "statusMessage": "A String", # If an error has occurred, a textual description of the error. 4236 "operationType": "A String", # The operation type. 4237 "progress": { # Information about operation (or operation stage) progress. # [Output only] Progress information for an operation. 4238 "status": "A String", # Status of an operation stage. 4239 # Unset for single-stage operations. 4240 "metrics": [ # Progress metric bundle, for example: 4241 # metrics: [{name: "nodes done", int_value: 15}, 4242 # {name: "nodes total", int_value: 32}] 4243 # or 4244 # metrics: [{name: "progress", double_value: 0.56}, 4245 # {name: "progress scale", double_value: 1.0}] 4246 { # Progress metric is (string, int|float|string) pair. 4247 "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.). 4248 "intValue": "A String", # For metrics with integer value. 4249 "name": "A String", # Metric name, required. 4250 # e.g., "nodes total", "percent done" 4251 "doubleValue": 3.14, # For metrics with floating point value. 4252 }, 4253 ], 4254 "stages": [ # Substages of an operation or a stage. 4255 # Object with schema name: OperationProgress 4256 ], 4257 "name": "A String", # A non-parameterized string describing an operation stage. 4258 # Unset for single-stage operations. 4259 }, 4260 "nodepoolConditions": [ # Which conditions caused the current node pool state. 4261 { # StatusCondition describes why a cluster or a node pool has a certain status 4262 # (e.g., ERROR or DEGRADED). 4263 "message": "A String", # Human-friendly representation of the condition 4264 "code": "A String", # Machine-friendly representation of the condition 4265 }, 4266 ], 4267 "selfLink": "A String", # Server-defined URL for the resource. 4268 "targetLink": "A String", # Server-defined URL for the target of the operation. 4269 }</pre> 4270</div> 4271 4272<div class="method"> 4273 <code class="details" id="updateMaster">updateMaster(name, body, x__xgafv=None)</code> 4274 <pre>Updates the master for a specific cluster. 4275 4276Args: 4277 name: string, The name (project, location, cluster) of the cluster to update. 4278Specified in the format 'projects/*/locations/*/clusters/*'. (required) 4279 body: object, The request body. (required) 4280 The object takes the form of: 4281 4282{ # UpdateMasterRequest updates the master of the cluster. 4283 "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project 4284 # number](https://support.google.com/cloud/answer/6158840). 4285 # This field has been deprecated and replaced by the name field. 4286 "masterVersion": "A String", # The Kubernetes version to change the master to. 4287 # 4288 # Users may specify either explicit versions offered by 4289 # Kubernetes Engine or version aliases, which have the following behavior: 4290 # 4291 # - "latest": picks the highest valid Kubernetes version 4292 # - "1.X": picks the highest valid patch+gke.N patch in the 1.X version 4293 # - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version 4294 # - "1.X.Y-gke.N": picks an explicit Kubernetes version 4295 # - "-": picks the default Kubernetes version 4296 "clusterId": "A String", # Deprecated. The name of the cluster to upgrade. 4297 # This field has been deprecated and replaced by the name field. 4298 "name": "A String", # The name (project, location, cluster) of the cluster to update. 4299 # Specified in the format 'projects/*/locations/*/clusters/*'. 4300 "zone": "A String", # Deprecated. The name of the Google Compute Engine 4301 # [zone](/compute/docs/zones#available) in which the cluster 4302 # resides. 4303 # This field has been deprecated and replaced by the name field. 4304 } 4305 4306 x__xgafv: string, V1 error format. 4307 Allowed values 4308 1 - v1 error format 4309 2 - v2 error format 4310 4311Returns: 4312 An object of the form: 4313 4314 { # This operation resource represents operations that may have happened or are 4315 # happening on the cluster. All fields are output only. 4316 "status": "A String", # The current status of the operation. 4317 "endTime": "A String", # [Output only] The time the operation completed, in 4318 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. 4319 "name": "A String", # The server-assigned ID for the operation. 4320 "zone": "A String", # The name of the Google Compute Engine 4321 # [zone](/compute/docs/zones#available) in which the operation 4322 # is taking place. 4323 # This field is deprecated, use location instead. 4324 "location": "A String", # [Output only] The name of the Google Compute Engine 4325 # [zone](/compute/docs/regions-zones/regions-zones#available) or 4326 # [region](/compute/docs/regions-zones/regions-zones#available) in which 4327 # the cluster resides. 4328 "startTime": "A String", # [Output only] The time the operation started, in 4329 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. 4330 "detail": "A String", # Detailed operation progress, if available. 4331 "clusterConditions": [ # Which conditions caused the current cluster state. 4332 { # StatusCondition describes why a cluster or a node pool has a certain status 4333 # (e.g., ERROR or DEGRADED). 4334 "message": "A String", # Human-friendly representation of the condition 4335 "code": "A String", # Machine-friendly representation of the condition 4336 }, 4337 ], 4338 "statusMessage": "A String", # If an error has occurred, a textual description of the error. 4339 "operationType": "A String", # The operation type. 4340 "progress": { # Information about operation (or operation stage) progress. # [Output only] Progress information for an operation. 4341 "status": "A String", # Status of an operation stage. 4342 # Unset for single-stage operations. 4343 "metrics": [ # Progress metric bundle, for example: 4344 # metrics: [{name: "nodes done", int_value: 15}, 4345 # {name: "nodes total", int_value: 32}] 4346 # or 4347 # metrics: [{name: "progress", double_value: 0.56}, 4348 # {name: "progress scale", double_value: 1.0}] 4349 { # Progress metric is (string, int|float|string) pair. 4350 "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.). 4351 "intValue": "A String", # For metrics with integer value. 4352 "name": "A String", # Metric name, required. 4353 # e.g., "nodes total", "percent done" 4354 "doubleValue": 3.14, # For metrics with floating point value. 4355 }, 4356 ], 4357 "stages": [ # Substages of an operation or a stage. 4358 # Object with schema name: OperationProgress 4359 ], 4360 "name": "A String", # A non-parameterized string describing an operation stage. 4361 # Unset for single-stage operations. 4362 }, 4363 "nodepoolConditions": [ # Which conditions caused the current node pool state. 4364 { # StatusCondition describes why a cluster or a node pool has a certain status 4365 # (e.g., ERROR or DEGRADED). 4366 "message": "A String", # Human-friendly representation of the condition 4367 "code": "A String", # Machine-friendly representation of the condition 4368 }, 4369 ], 4370 "selfLink": "A String", # Server-defined URL for the resource. 4371 "targetLink": "A String", # Server-defined URL for the target of the operation. 4372 }</pre> 4373</div> 4374 4375</body></html>