Cluster
Manages a Google Kubernetes Engine (GKE) cluster. For more information see the official documentation and the API reference.
Note: All arguments and attributes, including basic auth username and passwords as well as certificate outputs will be stored in the raw state as plaintext. Read more about secrets in state.
Create a Cluster Resource
new Cluster(name: string, args?: ClusterArgs, opts?: CustomResourceOptions);def Cluster(resource_name, opts=None, addons_config=None, authenticator_groups_config=None, cluster_autoscaling=None, cluster_ipv4_cidr=None, cluster_telemetry=None, database_encryption=None, default_max_pods_per_node=None, description=None, enable_binary_authorization=None, enable_intranode_visibility=None, enable_kubernetes_alpha=None, enable_legacy_abac=None, enable_shielded_nodes=None, enable_tpu=None, initial_node_count=None, ip_allocation_policy=None, location=None, logging_service=None, maintenance_policy=None, master_auth=None, master_authorized_networks_config=None, min_master_version=None, monitoring_service=None, name=None, network=None, network_policy=None, networking_mode=None, node_config=None, node_locations=None, node_pools=None, node_version=None, pod_security_policy_config=None, private_cluster_config=None, project=None, release_channel=None, remove_default_node_pool=None, resource_labels=None, resource_usage_export_config=None, subnetwork=None, vertical_pod_autoscaling=None, workload_identity_config=None, __props__=None);func NewCluster(ctx *Context, name string, args *ClusterArgs, opts ...ResourceOption) (*Cluster, error)public Cluster(string name, ClusterArgs? args = null, CustomResourceOptions? opts = null)- name string
- The unique name of the resource.
- args ClusterArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- opts ResourceOptions
- A bag of options that control this resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args ClusterArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args ClusterArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
Cluster Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Programming Model docs.
Inputs
The Cluster resource accepts the following input properties:
- Addons
Config ClusterAddons Config Args The configuration for addons supported by GKE. Structure is documented below.
- Authenticator
Groups ClusterConfig Authenticator Groups Config Args Configuration for the Google Groups for GKE feature. Structure is documented below.
- Cluster
Autoscaling ClusterCluster Autoscaling Args Per-cluster configuration of Node Auto-Provisioning with Cluster Autoscaler to automatically adjust the size of the cluster and create/delete node pools based on the current needs of the cluster’s workload. See the guide to using Node Auto-Provisioning for more details. Structure is documented below.
- Cluster
Ipv4Cidr string The IP address range of the Kubernetes pods in this cluster in CIDR notation (e.g.
10.96.0.0/14). Leave blank to have one automatically chosen or specify a/14block in10.0.0.0/8. This field will only work for routes-based clusters, whereip_allocation_policyis not defined.- Cluster
Telemetry ClusterCluster Telemetry Args ) Configuration for ClusterTelemetry feature, Structure is documented below.
- Database
Encryption ClusterDatabase Encryption Args Structure is documented below.
- Default
Max intPods Per Node The default maximum number of pods per node in this cluster. This doesn’t work on “routes-based” clusters, clusters that don’t have IP Aliasing enabled. See the official documentation for more information.
- Description string
Description of the cluster.
- bool
Enable Binary Authorization for this cluster. If enabled, all container images will be validated by Google Binary Authorization.
- Enable
Intranode boolVisibility Whether Intra-node visibility is enabled for this cluster. This makes same node pod to pod traffic visible for VPC network.
- Enable
Kubernetes boolAlpha Whether to enable Kubernetes Alpha features for this cluster. Note that when this option is enabled, the cluster cannot be upgraded and will be automatically deleted after 30 days.
- Enable
Legacy boolAbac Whether the ABAC authorizer is enabled for this cluster. When enabled, identities in the system, including service accounts, nodes, and controllers, will have statically granted permissions beyond those provided by the RBAC configuration or IAM. Defaults to
false- Enable
Shielded boolNodes Enable Shielded Nodes features on all nodes in this cluster. Defaults to
false.- Enable
Tpu bool Whether to enable Cloud TPU resources in this cluster. See the official documentation.
- Initial
Node intCount The number of nodes to create in this cluster’s default node pool. In regional or multi-zonal clusters, this is the number of nodes per zone. Must be set if
node_poolis not set. If you’re usinggcp.container.NodePoolobjects with no default node pool, you’ll need to set this to a value of at least1, alongside settingremove_default_node_pooltotrue.- Ip
Allocation ClusterPolicy Ip Allocation Policy Args Configuration of cluster IP allocation for VPC-native clusters. Adding this block enables IP aliasing, making the cluster VPC-native instead of routes-based. Structure is documented below.
- Location string
The location (region or zone) in which the cluster master will be created, as well as the default node location. If you specify a zone (such as
us-central1-a), the cluster will be a zonal cluster with a single cluster master. If you specify a region (such asus-west1), the cluster will be a regional cluster with multiple masters spread across zones in the region, and with default node locations in those zones as well- Logging
Service string The logging service that the cluster should write logs to. Available options include
logging.googleapis.com(Legacy Stackdriver),logging.googleapis.com/kubernetes(Stackdriver Kubernetes Engine Logging), andnone. Defaults tologging.googleapis.com/kubernetes- Maintenance
Policy ClusterMaintenance Policy Args The maintenance policy to use for the cluster. Structure is documented below.
- Master
Auth ClusterMaster Auth Args The authentication information for accessing the Kubernetes master. Some values in this block are only returned by the API if your service account has permission to get credentials for your GKE cluster. If you see an unexpected diff removing a username/password or unsetting your client cert, ensure you have the
container.clusters.getCredentialspermission. Structure is documented below.-
Cluster
Master Authorized Networks Config Args The desired configuration options for master authorized networks. Omit the nested
cidr_blocksattribute to disallow external access (except the cluster node IPs, which GKE automatically whitelists).- Min
Master stringVersion The minimum version of the master. GKE will auto-update the master to new versions, so this does not guarantee the current master version–use the read-only
master_versionfield to obtain that. If unset, the cluster’s version will be set by GKE to the version of the most recent official release (which is not necessarily the latest version). Most users will find thegcp.container.getEngineVersionsdata source useful - it indicates which versions are available. If you intend to specify versions manually, the docs describe the various acceptable formats for this field.- Monitoring
Service string The monitoring service that the cluster should write metrics to. Automatically send metrics from pods in the cluster to the Google Cloud Monitoring API. VM metrics will be collected by Google Compute Engine regardless of this setting Available options include
monitoring.googleapis.com(Legacy Stackdriver),monitoring.googleapis.com/kubernetes(Stackdriver Kubernetes Engine Monitoring), andnone. Defaults tomonitoring.googleapis.com/kubernetes- Name string
The name of the cluster, unique within the project and location.
- Network string
The name or self_link of the Google Compute Engine network to which the cluster is connected. For Shared VPC, set this to the self link of the shared network.
- Network
Policy ClusterNetwork Policy Args Configuration options for the NetworkPolicy feature. Structure is documented below.
- Networking
Mode string Determines whether alias IPs or routes will be used for pod IPs in the cluster. Options are
VPC_NATIVEorROUTES.VPC_NATIVEenables IP aliasing, and requires theip_allocation_policyblock to be defined. By default when this field is unspecified, GKE will create aROUTES-based cluster.- Node
Config ClusterNode Config Args Parameters used in creating the default node pool. Generally, this field should not be used at the same time as a
gcp.container.NodePoolor anode_poolblock; this configuration manages the default node pool, which isn’t recommended to be used. Structure is documented below.- Node
Locations List<string> The list of zones in which the cluster’s nodes are located. Nodes must be in the region of their regional cluster or in the same region as their cluster’s zone for zonal clusters. If this is specified for a zonal cluster, omit the cluster’s zone.
- Node
Pools List<ClusterNode Pool Args> List of node pools associated with this cluster. See gcp.container.NodePool for schema. Warning: node pools defined inside a cluster can’t be changed (or added/removed) after cluster creation without deleting and recreating the entire cluster. Unless you absolutely need the ability to say “these are the only node pools associated with this cluster”, use the gcp.container.NodePool resource instead of this property.
- Node
Version string The Kubernetes version on the nodes. Must either be unset or set to the same value as
min_master_versionon create. Defaults to the default version set by GKE which is not necessarily the latest version. This only affects nodes in the default node pool. While a fuzzy version can be specified, it’s recommended that you specify explicit versions as the provider will see spurious diffs when fuzzy versions are used. See thegcp.container.getEngineVersionsdata source’sversion_prefixfield to approximate fuzzy versions. To update nodes in other node pools, use theversionattribute on the node pool.- Pod
Security ClusterPolicy Config Pod Security Policy Config Args Configuration for the PodSecurityPolicy feature. Structure is documented below.
- Private
Cluster ClusterConfig Private Cluster Config Args Configuration for private clusters, clusters with private nodes. Structure is documented below.
- Project string
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- Release
Channel ClusterRelease Channel Args Configuration options for the Release channel feature, which provide more control over automatic upgrades of your GKE clusters. When updating this field, GKE imposes specific version requirements. See Migrating between release channels for more details; the
gcp.container.getEngineVersionsdatasource can provide the default version for a channel. Note that removing therelease_channelfield from your config will cause this provider to stop managing your cluster’s release channel, but will not unenroll it. Instead, use the"UNSPECIFIED"channel. Structure is documented below.- Remove
Default boolNode Pool If
true, deletes the default node pool upon cluster creation. If you’re usinggcp.container.NodePoolresources with no default node pool, this should be set totrue, alongside settinginitial_node_countto at least1.- Resource
Labels Dictionary<string, string> The GCE resource labels (a map of key/value pairs) to be applied to the cluster.
- Resource
Usage ClusterExport Config Resource Usage Export Config Args Configuration for the ResourceUsageExportConfig feature. Structure is documented below.
- Subnetwork string
The name or self_link of the Google Compute Engine subnetwork in which the cluster’s instances are launched.
- Vertical
Pod ClusterAutoscaling Vertical Pod Autoscaling Args Vertical Pod Autoscaling automatically adjusts the resources of pods controlled by it. Structure is documented below.
- Workload
Identity ClusterConfig Workload Identity Config Args Workload Identity allows Kubernetes service accounts to act as a user-managed Google IAM Service Account. Structure is documented below.
- Addons
Config ClusterAddons Config The configuration for addons supported by GKE. Structure is documented below.
- Authenticator
Groups ClusterConfig Authenticator Groups Config Configuration for the Google Groups for GKE feature. Structure is documented below.
- Cluster
Autoscaling ClusterCluster Autoscaling Per-cluster configuration of Node Auto-Provisioning with Cluster Autoscaler to automatically adjust the size of the cluster and create/delete node pools based on the current needs of the cluster’s workload. See the guide to using Node Auto-Provisioning for more details. Structure is documented below.
- Cluster
Ipv4Cidr string The IP address range of the Kubernetes pods in this cluster in CIDR notation (e.g.
10.96.0.0/14). Leave blank to have one automatically chosen or specify a/14block in10.0.0.0/8. This field will only work for routes-based clusters, whereip_allocation_policyis not defined.- Cluster
Telemetry ClusterCluster Telemetry ) Configuration for ClusterTelemetry feature, Structure is documented below.
- Database
Encryption ClusterDatabase Encryption Structure is documented below.
- Default
Max intPods Per Node The default maximum number of pods per node in this cluster. This doesn’t work on “routes-based” clusters, clusters that don’t have IP Aliasing enabled. See the official documentation for more information.
- Description string
Description of the cluster.
- bool
Enable Binary Authorization for this cluster. If enabled, all container images will be validated by Google Binary Authorization.
- Enable
Intranode boolVisibility Whether Intra-node visibility is enabled for this cluster. This makes same node pod to pod traffic visible for VPC network.
- Enable
Kubernetes boolAlpha Whether to enable Kubernetes Alpha features for this cluster. Note that when this option is enabled, the cluster cannot be upgraded and will be automatically deleted after 30 days.
- Enable
Legacy boolAbac Whether the ABAC authorizer is enabled for this cluster. When enabled, identities in the system, including service accounts, nodes, and controllers, will have statically granted permissions beyond those provided by the RBAC configuration or IAM. Defaults to
false- Enable
Shielded boolNodes Enable Shielded Nodes features on all nodes in this cluster. Defaults to
false.- Enable
Tpu bool Whether to enable Cloud TPU resources in this cluster. See the official documentation.
- Initial
Node intCount The number of nodes to create in this cluster’s default node pool. In regional or multi-zonal clusters, this is the number of nodes per zone. Must be set if
node_poolis not set. If you’re usinggcp.container.NodePoolobjects with no default node pool, you’ll need to set this to a value of at least1, alongside settingremove_default_node_pooltotrue.- Ip
Allocation ClusterPolicy Ip Allocation Policy Configuration of cluster IP allocation for VPC-native clusters. Adding this block enables IP aliasing, making the cluster VPC-native instead of routes-based. Structure is documented below.
- Location string
The location (region or zone) in which the cluster master will be created, as well as the default node location. If you specify a zone (such as
us-central1-a), the cluster will be a zonal cluster with a single cluster master. If you specify a region (such asus-west1), the cluster will be a regional cluster with multiple masters spread across zones in the region, and with default node locations in those zones as well- Logging
Service string The logging service that the cluster should write logs to. Available options include
logging.googleapis.com(Legacy Stackdriver),logging.googleapis.com/kubernetes(Stackdriver Kubernetes Engine Logging), andnone. Defaults tologging.googleapis.com/kubernetes- Maintenance
Policy ClusterMaintenance Policy The maintenance policy to use for the cluster. Structure is documented below.
- Master
Auth ClusterMaster Auth The authentication information for accessing the Kubernetes master. Some values in this block are only returned by the API if your service account has permission to get credentials for your GKE cluster. If you see an unexpected diff removing a username/password or unsetting your client cert, ensure you have the
container.clusters.getCredentialspermission. Structure is documented below.-
Cluster
Master Authorized Networks Config The desired configuration options for master authorized networks. Omit the nested
cidr_blocksattribute to disallow external access (except the cluster node IPs, which GKE automatically whitelists).- Min
Master stringVersion The minimum version of the master. GKE will auto-update the master to new versions, so this does not guarantee the current master version–use the read-only
master_versionfield to obtain that. If unset, the cluster’s version will be set by GKE to the version of the most recent official release (which is not necessarily the latest version). Most users will find thegcp.container.getEngineVersionsdata source useful - it indicates which versions are available. If you intend to specify versions manually, the docs describe the various acceptable formats for this field.- Monitoring
Service string The monitoring service that the cluster should write metrics to. Automatically send metrics from pods in the cluster to the Google Cloud Monitoring API. VM metrics will be collected by Google Compute Engine regardless of this setting Available options include
monitoring.googleapis.com(Legacy Stackdriver),monitoring.googleapis.com/kubernetes(Stackdriver Kubernetes Engine Monitoring), andnone. Defaults tomonitoring.googleapis.com/kubernetes- Name string
The name of the cluster, unique within the project and location.
- Network string
The name or self_link of the Google Compute Engine network to which the cluster is connected. For Shared VPC, set this to the self link of the shared network.
- Network
Policy ClusterNetwork Policy Configuration options for the NetworkPolicy feature. Structure is documented below.
- Networking
Mode string Determines whether alias IPs or routes will be used for pod IPs in the cluster. Options are
VPC_NATIVEorROUTES.VPC_NATIVEenables IP aliasing, and requires theip_allocation_policyblock to be defined. By default when this field is unspecified, GKE will create aROUTES-based cluster.- Node
Config ClusterNode Config Parameters used in creating the default node pool. Generally, this field should not be used at the same time as a
gcp.container.NodePoolor anode_poolblock; this configuration manages the default node pool, which isn’t recommended to be used. Structure is documented below.- Node
Locations []string The list of zones in which the cluster’s nodes are located. Nodes must be in the region of their regional cluster or in the same region as their cluster’s zone for zonal clusters. If this is specified for a zonal cluster, omit the cluster’s zone.
- Node
Pools []ClusterNode Pool List of node pools associated with this cluster. See gcp.container.NodePool for schema. Warning: node pools defined inside a cluster can’t be changed (or added/removed) after cluster creation without deleting and recreating the entire cluster. Unless you absolutely need the ability to say “these are the only node pools associated with this cluster”, use the gcp.container.NodePool resource instead of this property.
- Node
Version string The Kubernetes version on the nodes. Must either be unset or set to the same value as
min_master_versionon create. Defaults to the default version set by GKE which is not necessarily the latest version. This only affects nodes in the default node pool. While a fuzzy version can be specified, it’s recommended that you specify explicit versions as the provider will see spurious diffs when fuzzy versions are used. See thegcp.container.getEngineVersionsdata source’sversion_prefixfield to approximate fuzzy versions. To update nodes in other node pools, use theversionattribute on the node pool.- Pod
Security ClusterPolicy Config Pod Security Policy Config Configuration for the PodSecurityPolicy feature. Structure is documented below.
- Private
Cluster ClusterConfig Private Cluster Config Configuration for private clusters, clusters with private nodes. Structure is documented below.
- Project string
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- Release
Channel ClusterRelease Channel Configuration options for the Release channel feature, which provide more control over automatic upgrades of your GKE clusters. When updating this field, GKE imposes specific version requirements. See Migrating between release channels for more details; the
gcp.container.getEngineVersionsdatasource can provide the default version for a channel. Note that removing therelease_channelfield from your config will cause this provider to stop managing your cluster’s release channel, but will not unenroll it. Instead, use the"UNSPECIFIED"channel. Structure is documented below.- Remove
Default boolNode Pool If
true, deletes the default node pool upon cluster creation. If you’re usinggcp.container.NodePoolresources with no default node pool, this should be set totrue, alongside settinginitial_node_countto at least1.- Resource
Labels map[string]string The GCE resource labels (a map of key/value pairs) to be applied to the cluster.
- Resource
Usage ClusterExport Config Resource Usage Export Config Configuration for the ResourceUsageExportConfig feature. Structure is documented below.
- Subnetwork string
The name or self_link of the Google Compute Engine subnetwork in which the cluster’s instances are launched.
- Vertical
Pod ClusterAutoscaling Vertical Pod Autoscaling Vertical Pod Autoscaling automatically adjusts the resources of pods controlled by it. Structure is documented below.
- Workload
Identity ClusterConfig Workload Identity Config Workload Identity allows Kubernetes service accounts to act as a user-managed Google IAM Service Account. Structure is documented below.
- addons
Config ClusterAddons Config The configuration for addons supported by GKE. Structure is documented below.
- authenticator
Groups ClusterConfig Authenticator Groups Config Configuration for the Google Groups for GKE feature. Structure is documented below.
- cluster
Autoscaling ClusterCluster Autoscaling Per-cluster configuration of Node Auto-Provisioning with Cluster Autoscaler to automatically adjust the size of the cluster and create/delete node pools based on the current needs of the cluster’s workload. See the guide to using Node Auto-Provisioning for more details. Structure is documented below.
- cluster
Ipv4Cidr string The IP address range of the Kubernetes pods in this cluster in CIDR notation (e.g.
10.96.0.0/14). Leave blank to have one automatically chosen or specify a/14block in10.0.0.0/8. This field will only work for routes-based clusters, whereip_allocation_policyis not defined.- cluster
Telemetry ClusterCluster Telemetry ) Configuration for ClusterTelemetry feature, Structure is documented below.
- database
Encryption ClusterDatabase Encryption Structure is documented below.
- default
Max numberPods Per Node The default maximum number of pods per node in this cluster. This doesn’t work on “routes-based” clusters, clusters that don’t have IP Aliasing enabled. See the official documentation for more information.
- description string
Description of the cluster.
- boolean
Enable Binary Authorization for this cluster. If enabled, all container images will be validated by Google Binary Authorization.
- enable
Intranode booleanVisibility Whether Intra-node visibility is enabled for this cluster. This makes same node pod to pod traffic visible for VPC network.
- enable
Kubernetes booleanAlpha Whether to enable Kubernetes Alpha features for this cluster. Note that when this option is enabled, the cluster cannot be upgraded and will be automatically deleted after 30 days.
- enable
Legacy booleanAbac Whether the ABAC authorizer is enabled for this cluster. When enabled, identities in the system, including service accounts, nodes, and controllers, will have statically granted permissions beyond those provided by the RBAC configuration or IAM. Defaults to
false- enable
Shielded booleanNodes Enable Shielded Nodes features on all nodes in this cluster. Defaults to
false.- enable
Tpu boolean Whether to enable Cloud TPU resources in this cluster. See the official documentation.
- initial
Node numberCount The number of nodes to create in this cluster’s default node pool. In regional or multi-zonal clusters, this is the number of nodes per zone. Must be set if
node_poolis not set. If you’re usinggcp.container.NodePoolobjects with no default node pool, you’ll need to set this to a value of at least1, alongside settingremove_default_node_pooltotrue.- ip
Allocation ClusterPolicy Ip Allocation Policy Configuration of cluster IP allocation for VPC-native clusters. Adding this block enables IP aliasing, making the cluster VPC-native instead of routes-based. Structure is documented below.
- location string
The location (region or zone) in which the cluster master will be created, as well as the default node location. If you specify a zone (such as
us-central1-a), the cluster will be a zonal cluster with a single cluster master. If you specify a region (such asus-west1), the cluster will be a regional cluster with multiple masters spread across zones in the region, and with default node locations in those zones as well- logging
Service string The logging service that the cluster should write logs to. Available options include
logging.googleapis.com(Legacy Stackdriver),logging.googleapis.com/kubernetes(Stackdriver Kubernetes Engine Logging), andnone. Defaults tologging.googleapis.com/kubernetes- maintenance
Policy ClusterMaintenance Policy The maintenance policy to use for the cluster. Structure is documented below.
- master
Auth ClusterMaster Auth The authentication information for accessing the Kubernetes master. Some values in this block are only returned by the API if your service account has permission to get credentials for your GKE cluster. If you see an unexpected diff removing a username/password or unsetting your client cert, ensure you have the
container.clusters.getCredentialspermission. Structure is documented below.-
Cluster
Master Authorized Networks Config The desired configuration options for master authorized networks. Omit the nested
cidr_blocksattribute to disallow external access (except the cluster node IPs, which GKE automatically whitelists).- min
Master stringVersion The minimum version of the master. GKE will auto-update the master to new versions, so this does not guarantee the current master version–use the read-only
master_versionfield to obtain that. If unset, the cluster’s version will be set by GKE to the version of the most recent official release (which is not necessarily the latest version). Most users will find thegcp.container.getEngineVersionsdata source useful - it indicates which versions are available. If you intend to specify versions manually, the docs describe the various acceptable formats for this field.- monitoring
Service string The monitoring service that the cluster should write metrics to. Automatically send metrics from pods in the cluster to the Google Cloud Monitoring API. VM metrics will be collected by Google Compute Engine regardless of this setting Available options include
monitoring.googleapis.com(Legacy Stackdriver),monitoring.googleapis.com/kubernetes(Stackdriver Kubernetes Engine Monitoring), andnone. Defaults tomonitoring.googleapis.com/kubernetes- name string
The name of the cluster, unique within the project and location.
- network string
The name or self_link of the Google Compute Engine network to which the cluster is connected. For Shared VPC, set this to the self link of the shared network.
- network
Policy ClusterNetwork Policy Configuration options for the NetworkPolicy feature. Structure is documented below.
- networking
Mode string Determines whether alias IPs or routes will be used for pod IPs in the cluster. Options are
VPC_NATIVEorROUTES.VPC_NATIVEenables IP aliasing, and requires theip_allocation_policyblock to be defined. By default when this field is unspecified, GKE will create aROUTES-based cluster.- node
Config ClusterNode Config Parameters used in creating the default node pool. Generally, this field should not be used at the same time as a
gcp.container.NodePoolor anode_poolblock; this configuration manages the default node pool, which isn’t recommended to be used. Structure is documented below.- node
Locations string[] The list of zones in which the cluster’s nodes are located. Nodes must be in the region of their regional cluster or in the same region as their cluster’s zone for zonal clusters. If this is specified for a zonal cluster, omit the cluster’s zone.
- node
Pools ClusterNode Pool[] List of node pools associated with this cluster. See gcp.container.NodePool for schema. Warning: node pools defined inside a cluster can’t be changed (or added/removed) after cluster creation without deleting and recreating the entire cluster. Unless you absolutely need the ability to say “these are the only node pools associated with this cluster”, use the gcp.container.NodePool resource instead of this property.
- node
Version string The Kubernetes version on the nodes. Must either be unset or set to the same value as
min_master_versionon create. Defaults to the default version set by GKE which is not necessarily the latest version. This only affects nodes in the default node pool. While a fuzzy version can be specified, it’s recommended that you specify explicit versions as the provider will see spurious diffs when fuzzy versions are used. See thegcp.container.getEngineVersionsdata source’sversion_prefixfield to approximate fuzzy versions. To update nodes in other node pools, use theversionattribute on the node pool.- pod
Security ClusterPolicy Config Pod Security Policy Config Configuration for the PodSecurityPolicy feature. Structure is documented below.
- private
Cluster ClusterConfig Private Cluster Config Configuration for private clusters, clusters with private nodes. Structure is documented below.
- project string
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- release
Channel ClusterRelease Channel Configuration options for the Release channel feature, which provide more control over automatic upgrades of your GKE clusters. When updating this field, GKE imposes specific version requirements. See Migrating between release channels for more details; the
gcp.container.getEngineVersionsdatasource can provide the default version for a channel. Note that removing therelease_channelfield from your config will cause this provider to stop managing your cluster’s release channel, but will not unenroll it. Instead, use the"UNSPECIFIED"channel. Structure is documented below.- remove
Default booleanNode Pool If
true, deletes the default node pool upon cluster creation. If you’re usinggcp.container.NodePoolresources with no default node pool, this should be set totrue, alongside settinginitial_node_countto at least1.- resource
Labels {[key: string]: string} The GCE resource labels (a map of key/value pairs) to be applied to the cluster.
- resource
Usage ClusterExport Config Resource Usage Export Config Configuration for the ResourceUsageExportConfig feature. Structure is documented below.
- subnetwork string
The name or self_link of the Google Compute Engine subnetwork in which the cluster’s instances are launched.
- vertical
Pod ClusterAutoscaling Vertical Pod Autoscaling Vertical Pod Autoscaling automatically adjusts the resources of pods controlled by it. Structure is documented below.
- workload
Identity ClusterConfig Workload Identity Config Workload Identity allows Kubernetes service accounts to act as a user-managed Google IAM Service Account. Structure is documented below.
- addons_
config Dict[ClusterAddons Config] The configuration for addons supported by GKE. Structure is documented below.
- authenticator_
groups_ Dict[Clusterconfig Authenticator Groups Config] Configuration for the Google Groups for GKE feature. Structure is documented below.
- cluster_
autoscaling Dict[ClusterCluster Autoscaling] Per-cluster configuration of Node Auto-Provisioning with Cluster Autoscaler to automatically adjust the size of the cluster and create/delete node pools based on the current needs of the cluster’s workload. See the guide to using Node Auto-Provisioning for more details. Structure is documented below.
- cluster_
ipv4_ strcidr The IP address range of the Kubernetes pods in this cluster in CIDR notation (e.g.
10.96.0.0/14). Leave blank to have one automatically chosen or specify a/14block in10.0.0.0/8. This field will only work for routes-based clusters, whereip_allocation_policyis not defined.- cluster_
telemetry Dict[ClusterCluster Telemetry] ) Configuration for ClusterTelemetry feature, Structure is documented below.
- database_
encryption Dict[ClusterDatabase Encryption] Structure is documented below.
- default_
max_ floatpods_ per_ node The default maximum number of pods per node in this cluster. This doesn’t work on “routes-based” clusters, clusters that don’t have IP Aliasing enabled. See the official documentation for more information.
- description str
Description of the cluster.
- bool
Enable Binary Authorization for this cluster. If enabled, all container images will be validated by Google Binary Authorization.
- enable_
intranode_ boolvisibility Whether Intra-node visibility is enabled for this cluster. This makes same node pod to pod traffic visible for VPC network.
- enable_
kubernetes_ boolalpha Whether to enable Kubernetes Alpha features for this cluster. Note that when this option is enabled, the cluster cannot be upgraded and will be automatically deleted after 30 days.
- enable_
legacy_ boolabac Whether the ABAC authorizer is enabled for this cluster. When enabled, identities in the system, including service accounts, nodes, and controllers, will have statically granted permissions beyond those provided by the RBAC configuration or IAM. Defaults to
false- enable_
shielded_ boolnodes Enable Shielded Nodes features on all nodes in this cluster. Defaults to
false.- enable_
tpu bool Whether to enable Cloud TPU resources in this cluster. See the official documentation.
- initial_
node_ floatcount The number of nodes to create in this cluster’s default node pool. In regional or multi-zonal clusters, this is the number of nodes per zone. Must be set if
node_poolis not set. If you’re usinggcp.container.NodePoolobjects with no default node pool, you’ll need to set this to a value of at least1, alongside settingremove_default_node_pooltotrue.- ip_
allocation_ Dict[Clusterpolicy Ip Allocation Policy] Configuration of cluster IP allocation for VPC-native clusters. Adding this block enables IP aliasing, making the cluster VPC-native instead of routes-based. Structure is documented below.
- location str
The location (region or zone) in which the cluster master will be created, as well as the default node location. If you specify a zone (such as
us-central1-a), the cluster will be a zonal cluster with a single cluster master. If you specify a region (such asus-west1), the cluster will be a regional cluster with multiple masters spread across zones in the region, and with default node locations in those zones as well- logging_
service str The logging service that the cluster should write logs to. Available options include
logging.googleapis.com(Legacy Stackdriver),logging.googleapis.com/kubernetes(Stackdriver Kubernetes Engine Logging), andnone. Defaults tologging.googleapis.com/kubernetes- maintenance_
policy Dict[ClusterMaintenance Policy] The maintenance policy to use for the cluster. Structure is documented below.
- master_
auth Dict[ClusterMaster Auth] The authentication information for accessing the Kubernetes master. Some values in this block are only returned by the API if your service account has permission to get credentials for your GKE cluster. If you see an unexpected diff removing a username/password or unsetting your client cert, ensure you have the
container.clusters.getCredentialspermission. Structure is documented below.-
Dict[Cluster
Master Authorized Networks Config] The desired configuration options for master authorized networks. Omit the nested
cidr_blocksattribute to disallow external access (except the cluster node IPs, which GKE automatically whitelists).- min_
master_ strversion The minimum version of the master. GKE will auto-update the master to new versions, so this does not guarantee the current master version–use the read-only
master_versionfield to obtain that. If unset, the cluster’s version will be set by GKE to the version of the most recent official release (which is not necessarily the latest version). Most users will find thegcp.container.getEngineVersionsdata source useful - it indicates which versions are available. If you intend to specify versions manually, the docs describe the various acceptable formats for this field.- monitoring_
service str The monitoring service that the cluster should write metrics to. Automatically send metrics from pods in the cluster to the Google Cloud Monitoring API. VM metrics will be collected by Google Compute Engine regardless of this setting Available options include
monitoring.googleapis.com(Legacy Stackdriver),monitoring.googleapis.com/kubernetes(Stackdriver Kubernetes Engine Monitoring), andnone. Defaults tomonitoring.googleapis.com/kubernetes- name str
The name of the cluster, unique within the project and location.
- network str
The name or self_link of the Google Compute Engine network to which the cluster is connected. For Shared VPC, set this to the self link of the shared network.
- network_
policy Dict[ClusterNetwork Policy] Configuration options for the NetworkPolicy feature. Structure is documented below.
- networking_
mode str Determines whether alias IPs or routes will be used for pod IPs in the cluster. Options are
VPC_NATIVEorROUTES.VPC_NATIVEenables IP aliasing, and requires theip_allocation_policyblock to be defined. By default when this field is unspecified, GKE will create aROUTES-based cluster.- node_
config Dict[ClusterNode Config] Parameters used in creating the default node pool. Generally, this field should not be used at the same time as a
gcp.container.NodePoolor anode_poolblock; this configuration manages the default node pool, which isn’t recommended to be used. Structure is documented below.- node_
locations List[str] The list of zones in which the cluster’s nodes are located. Nodes must be in the region of their regional cluster or in the same region as their cluster’s zone for zonal clusters. If this is specified for a zonal cluster, omit the cluster’s zone.
- node_
pools List[ClusterNode Pool] List of node pools associated with this cluster. See gcp.container.NodePool for schema. Warning: node pools defined inside a cluster can’t be changed (or added/removed) after cluster creation without deleting and recreating the entire cluster. Unless you absolutely need the ability to say “these are the only node pools associated with this cluster”, use the gcp.container.NodePool resource instead of this property.
- node_
version str The Kubernetes version on the nodes. Must either be unset or set to the same value as
min_master_versionon create. Defaults to the default version set by GKE which is not necessarily the latest version. This only affects nodes in the default node pool. While a fuzzy version can be specified, it’s recommended that you specify explicit versions as the provider will see spurious diffs when fuzzy versions are used. See thegcp.container.getEngineVersionsdata source’sversion_prefixfield to approximate fuzzy versions. To update nodes in other node pools, use theversionattribute on the node pool.- pod_
security_ Dict[Clusterpolicy_ config Pod Security Policy Config] Configuration for the PodSecurityPolicy feature. Structure is documented below.
- private_
cluster_ Dict[Clusterconfig Private Cluster Config] Configuration for private clusters, clusters with private nodes. Structure is documented below.
- project str
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- release_
channel Dict[ClusterRelease Channel] Configuration options for the Release channel feature, which provide more control over automatic upgrades of your GKE clusters. When updating this field, GKE imposes specific version requirements. See Migrating between release channels for more details; the
gcp.container.getEngineVersionsdatasource can provide the default version for a channel. Note that removing therelease_channelfield from your config will cause this provider to stop managing your cluster’s release channel, but will not unenroll it. Instead, use the"UNSPECIFIED"channel. Structure is documented below.- remove_
default_ boolnode_ pool If
true, deletes the default node pool upon cluster creation. If you’re usinggcp.container.NodePoolresources with no default node pool, this should be set totrue, alongside settinginitial_node_countto at least1.- resource_
labels Dict[str, str] The GCE resource labels (a map of key/value pairs) to be applied to the cluster.
- resource_
usage_ Dict[Clusterexport_ config Resource Usage Export Config] Configuration for the ResourceUsageExportConfig feature. Structure is documented below.
- subnetwork str
The name or self_link of the Google Compute Engine subnetwork in which the cluster’s instances are launched.
- vertical_
pod_ Dict[Clusterautoscaling Vertical Pod Autoscaling] Vertical Pod Autoscaling automatically adjusts the resources of pods controlled by it. Structure is documented below.
- workload_
identity_ Dict[Clusterconfig Workload Identity Config] Workload Identity allows Kubernetes service accounts to act as a user-managed Google IAM Service Account. Structure is documented below.
Outputs
All input properties are implicitly available as output properties. Additionally, the Cluster resource produces the following output properties:
- Endpoint string
The IP address of this cluster’s Kubernetes master.
- Id string
- The provider-assigned unique ID for this managed resource.
- Instance
Group List<string>Urls List of instance group URLs which have been assigned to the cluster.
- Label
Fingerprint string The fingerprint of the set of labels for this cluster.
- Master
Version string The current version of the master in the cluster. This may be different than the
min_master_versionset in the config if the master has been updated by GKE.- Operation string
- Services
Ipv4Cidr string The IP address range of the Kubernetes services in this cluster, in CIDR notation (e.g.
1.2.3.4/29). Service addresses are typically put in the last/16from the container CIDR.- Tpu
Ipv4Cidr stringBlock The IP address range of the Cloud TPUs in this cluster, in CIDR notation (e.g.
1.2.3.4/29).
- Endpoint string
The IP address of this cluster’s Kubernetes master.
- Id string
- The provider-assigned unique ID for this managed resource.
- Instance
Group []stringUrls List of instance group URLs which have been assigned to the cluster.
- Label
Fingerprint string The fingerprint of the set of labels for this cluster.
- Master
Version string The current version of the master in the cluster. This may be different than the
min_master_versionset in the config if the master has been updated by GKE.- Operation string
- Services
Ipv4Cidr string The IP address range of the Kubernetes services in this cluster, in CIDR notation (e.g.
1.2.3.4/29). Service addresses are typically put in the last/16from the container CIDR.- Tpu
Ipv4Cidr stringBlock The IP address range of the Cloud TPUs in this cluster, in CIDR notation (e.g.
1.2.3.4/29).
- endpoint string
The IP address of this cluster’s Kubernetes master.
- id string
- The provider-assigned unique ID for this managed resource.
- instance
Group string[]Urls List of instance group URLs which have been assigned to the cluster.
- label
Fingerprint string The fingerprint of the set of labels for this cluster.
- master
Version string The current version of the master in the cluster. This may be different than the
min_master_versionset in the config if the master has been updated by GKE.- operation string
- services
Ipv4Cidr string The IP address range of the Kubernetes services in this cluster, in CIDR notation (e.g.
1.2.3.4/29). Service addresses are typically put in the last/16from the container CIDR.- tpu
Ipv4Cidr stringBlock The IP address range of the Cloud TPUs in this cluster, in CIDR notation (e.g.
1.2.3.4/29).
- endpoint str
The IP address of this cluster’s Kubernetes master.
- id str
- The provider-assigned unique ID for this managed resource.
- instance_
group_ List[str]urls List of instance group URLs which have been assigned to the cluster.
- label_
fingerprint str The fingerprint of the set of labels for this cluster.
- master_
version str The current version of the master in the cluster. This may be different than the
min_master_versionset in the config if the master has been updated by GKE.- operation str
- services_
ipv4_ strcidr The IP address range of the Kubernetes services in this cluster, in CIDR notation (e.g.
1.2.3.4/29). Service addresses are typically put in the last/16from the container CIDR.- tpu_
ipv4_ strcidr_ block The IP address range of the Cloud TPUs in this cluster, in CIDR notation (e.g.
1.2.3.4/29).
Look up an Existing Cluster Resource
Get an existing Cluster resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: ClusterState, opts?: CustomResourceOptions): Clusterstatic get(resource_name, id, opts=None, addons_config=None, authenticator_groups_config=None, cluster_autoscaling=None, cluster_ipv4_cidr=None, cluster_telemetry=None, database_encryption=None, default_max_pods_per_node=None, description=None, enable_binary_authorization=None, enable_intranode_visibility=None, enable_kubernetes_alpha=None, enable_legacy_abac=None, enable_shielded_nodes=None, enable_tpu=None, endpoint=None, initial_node_count=None, instance_group_urls=None, ip_allocation_policy=None, label_fingerprint=None, location=None, logging_service=None, maintenance_policy=None, master_auth=None, master_authorized_networks_config=None, master_version=None, min_master_version=None, monitoring_service=None, name=None, network=None, network_policy=None, networking_mode=None, node_config=None, node_locations=None, node_pools=None, node_version=None, operation=None, pod_security_policy_config=None, private_cluster_config=None, project=None, release_channel=None, remove_default_node_pool=None, resource_labels=None, resource_usage_export_config=None, services_ipv4_cidr=None, subnetwork=None, tpu_ipv4_cidr_block=None, vertical_pod_autoscaling=None, workload_identity_config=None, __props__=None);func GetCluster(ctx *Context, name string, id IDInput, state *ClusterState, opts ...ResourceOption) (*Cluster, error)public static Cluster Get(string name, Input<string> id, ClusterState? state, CustomResourceOptions? opts = null)- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
The following state arguments are supported:
- Addons
Config ClusterAddons Config Args The configuration for addons supported by GKE. Structure is documented below.
- Authenticator
Groups ClusterConfig Authenticator Groups Config Args Configuration for the Google Groups for GKE feature. Structure is documented below.
- Cluster
Autoscaling ClusterCluster Autoscaling Args Per-cluster configuration of Node Auto-Provisioning with Cluster Autoscaler to automatically adjust the size of the cluster and create/delete node pools based on the current needs of the cluster’s workload. See the guide to using Node Auto-Provisioning for more details. Structure is documented below.
- Cluster
Ipv4Cidr string The IP address range of the Kubernetes pods in this cluster in CIDR notation (e.g.
10.96.0.0/14). Leave blank to have one automatically chosen or specify a/14block in10.0.0.0/8. This field will only work for routes-based clusters, whereip_allocation_policyis not defined.- Cluster
Telemetry ClusterCluster Telemetry Args ) Configuration for ClusterTelemetry feature, Structure is documented below.
- Database
Encryption ClusterDatabase Encryption Args Structure is documented below.
- Default
Max intPods Per Node The default maximum number of pods per node in this cluster. This doesn’t work on “routes-based” clusters, clusters that don’t have IP Aliasing enabled. See the official documentation for more information.
- Description string
Description of the cluster.
- bool
Enable Binary Authorization for this cluster. If enabled, all container images will be validated by Google Binary Authorization.
- Enable
Intranode boolVisibility Whether Intra-node visibility is enabled for this cluster. This makes same node pod to pod traffic visible for VPC network.
- Enable
Kubernetes boolAlpha Whether to enable Kubernetes Alpha features for this cluster. Note that when this option is enabled, the cluster cannot be upgraded and will be automatically deleted after 30 days.
- Enable
Legacy boolAbac Whether the ABAC authorizer is enabled for this cluster. When enabled, identities in the system, including service accounts, nodes, and controllers, will have statically granted permissions beyond those provided by the RBAC configuration or IAM. Defaults to
false- Enable
Shielded boolNodes Enable Shielded Nodes features on all nodes in this cluster. Defaults to
false.- Enable
Tpu bool Whether to enable Cloud TPU resources in this cluster. See the official documentation.
- Endpoint string
The IP address of this cluster’s Kubernetes master.
- Initial
Node intCount The number of nodes to create in this cluster’s default node pool. In regional or multi-zonal clusters, this is the number of nodes per zone. Must be set if
node_poolis not set. If you’re usinggcp.container.NodePoolobjects with no default node pool, you’ll need to set this to a value of at least1, alongside settingremove_default_node_pooltotrue.- Instance
Group List<string>Urls List of instance group URLs which have been assigned to the cluster.
- Ip
Allocation ClusterPolicy Ip Allocation Policy Args Configuration of cluster IP allocation for VPC-native clusters. Adding this block enables IP aliasing, making the cluster VPC-native instead of routes-based. Structure is documented below.
- Label
Fingerprint string The fingerprint of the set of labels for this cluster.
- Location string
The location (region or zone) in which the cluster master will be created, as well as the default node location. If you specify a zone (such as
us-central1-a), the cluster will be a zonal cluster with a single cluster master. If you specify a region (such asus-west1), the cluster will be a regional cluster with multiple masters spread across zones in the region, and with default node locations in those zones as well- Logging
Service string The logging service that the cluster should write logs to. Available options include
logging.googleapis.com(Legacy Stackdriver),logging.googleapis.com/kubernetes(Stackdriver Kubernetes Engine Logging), andnone. Defaults tologging.googleapis.com/kubernetes- Maintenance
Policy ClusterMaintenance Policy Args The maintenance policy to use for the cluster. Structure is documented below.
- Master
Auth ClusterMaster Auth Args The authentication information for accessing the Kubernetes master. Some values in this block are only returned by the API if your service account has permission to get credentials for your GKE cluster. If you see an unexpected diff removing a username/password or unsetting your client cert, ensure you have the
container.clusters.getCredentialspermission. Structure is documented below.-
Cluster
Master Authorized Networks Config Args The desired configuration options for master authorized networks. Omit the nested
cidr_blocksattribute to disallow external access (except the cluster node IPs, which GKE automatically whitelists).- Master
Version string The current version of the master in the cluster. This may be different than the
min_master_versionset in the config if the master has been updated by GKE.- Min
Master stringVersion The minimum version of the master. GKE will auto-update the master to new versions, so this does not guarantee the current master version–use the read-only
master_versionfield to obtain that. If unset, the cluster’s version will be set by GKE to the version of the most recent official release (which is not necessarily the latest version). Most users will find thegcp.container.getEngineVersionsdata source useful - it indicates which versions are available. If you intend to specify versions manually, the docs describe the various acceptable formats for this field.- Monitoring
Service string The monitoring service that the cluster should write metrics to. Automatically send metrics from pods in the cluster to the Google Cloud Monitoring API. VM metrics will be collected by Google Compute Engine regardless of this setting Available options include
monitoring.googleapis.com(Legacy Stackdriver),monitoring.googleapis.com/kubernetes(Stackdriver Kubernetes Engine Monitoring), andnone. Defaults tomonitoring.googleapis.com/kubernetes- Name string
The name of the cluster, unique within the project and location.
- Network string
The name or self_link of the Google Compute Engine network to which the cluster is connected. For Shared VPC, set this to the self link of the shared network.
- Network
Policy ClusterNetwork Policy Args Configuration options for the NetworkPolicy feature. Structure is documented below.
- Networking
Mode string Determines whether alias IPs or routes will be used for pod IPs in the cluster. Options are
VPC_NATIVEorROUTES.VPC_NATIVEenables IP aliasing, and requires theip_allocation_policyblock to be defined. By default when this field is unspecified, GKE will create aROUTES-based cluster.- Node
Config ClusterNode Config Args Parameters used in creating the default node pool. Generally, this field should not be used at the same time as a
gcp.container.NodePoolor anode_poolblock; this configuration manages the default node pool, which isn’t recommended to be used. Structure is documented below.- Node
Locations List<string> The list of zones in which the cluster’s nodes are located. Nodes must be in the region of their regional cluster or in the same region as their cluster’s zone for zonal clusters. If this is specified for a zonal cluster, omit the cluster’s zone.
- Node
Pools List<ClusterNode Pool Args> List of node pools associated with this cluster. See gcp.container.NodePool for schema. Warning: node pools defined inside a cluster can’t be changed (or added/removed) after cluster creation without deleting and recreating the entire cluster. Unless you absolutely need the ability to say “these are the only node pools associated with this cluster”, use the gcp.container.NodePool resource instead of this property.
- Node
Version string The Kubernetes version on the nodes. Must either be unset or set to the same value as
min_master_versionon create. Defaults to the default version set by GKE which is not necessarily the latest version. This only affects nodes in the default node pool. While a fuzzy version can be specified, it’s recommended that you specify explicit versions as the provider will see spurious diffs when fuzzy versions are used. See thegcp.container.getEngineVersionsdata source’sversion_prefixfield to approximate fuzzy versions. To update nodes in other node pools, use theversionattribute on the node pool.- Operation string
- Pod
Security ClusterPolicy Config Pod Security Policy Config Args Configuration for the PodSecurityPolicy feature. Structure is documented below.
- Private
Cluster ClusterConfig Private Cluster Config Args Configuration for private clusters, clusters with private nodes. Structure is documented below.
- Project string
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- Release
Channel ClusterRelease Channel Args Configuration options for the Release channel feature, which provide more control over automatic upgrades of your GKE clusters. When updating this field, GKE imposes specific version requirements. See Migrating between release channels for more details; the
gcp.container.getEngineVersionsdatasource can provide the default version for a channel. Note that removing therelease_channelfield from your config will cause this provider to stop managing your cluster’s release channel, but will not unenroll it. Instead, use the"UNSPECIFIED"channel. Structure is documented below.- Remove
Default boolNode Pool If
true, deletes the default node pool upon cluster creation. If you’re usinggcp.container.NodePoolresources with no default node pool, this should be set totrue, alongside settinginitial_node_countto at least1.- Resource
Labels Dictionary<string, string> The GCE resource labels (a map of key/value pairs) to be applied to the cluster.
- Resource
Usage ClusterExport Config Resource Usage Export Config Args Configuration for the ResourceUsageExportConfig feature. Structure is documented below.
- Services
Ipv4Cidr string The IP address range of the Kubernetes services in this cluster, in CIDR notation (e.g.
1.2.3.4/29). Service addresses are typically put in the last/16from the container CIDR.- Subnetwork string
The name or self_link of the Google Compute Engine subnetwork in which the cluster’s instances are launched.
- Tpu
Ipv4Cidr stringBlock The IP address range of the Cloud TPUs in this cluster, in CIDR notation (e.g.
1.2.3.4/29).- Vertical
Pod ClusterAutoscaling Vertical Pod Autoscaling Args Vertical Pod Autoscaling automatically adjusts the resources of pods controlled by it. Structure is documented below.
- Workload
Identity ClusterConfig Workload Identity Config Args Workload Identity allows Kubernetes service accounts to act as a user-managed Google IAM Service Account. Structure is documented below.
- Addons
Config ClusterAddons Config The configuration for addons supported by GKE. Structure is documented below.
- Authenticator
Groups ClusterConfig Authenticator Groups Config Configuration for the Google Groups for GKE feature. Structure is documented below.
- Cluster
Autoscaling ClusterCluster Autoscaling Per-cluster configuration of Node Auto-Provisioning with Cluster Autoscaler to automatically adjust the size of the cluster and create/delete node pools based on the current needs of the cluster’s workload. See the guide to using Node Auto-Provisioning for more details. Structure is documented below.
- Cluster
Ipv4Cidr string The IP address range of the Kubernetes pods in this cluster in CIDR notation (e.g.
10.96.0.0/14). Leave blank to have one automatically chosen or specify a/14block in10.0.0.0/8. This field will only work for routes-based clusters, whereip_allocation_policyis not defined.- Cluster
Telemetry ClusterCluster Telemetry ) Configuration for ClusterTelemetry feature, Structure is documented below.
- Database
Encryption ClusterDatabase Encryption Structure is documented below.
- Default
Max intPods Per Node The default maximum number of pods per node in this cluster. This doesn’t work on “routes-based” clusters, clusters that don’t have IP Aliasing enabled. See the official documentation for more information.
- Description string
Description of the cluster.
- bool
Enable Binary Authorization for this cluster. If enabled, all container images will be validated by Google Binary Authorization.
- Enable
Intranode boolVisibility Whether Intra-node visibility is enabled for this cluster. This makes same node pod to pod traffic visible for VPC network.
- Enable
Kubernetes boolAlpha Whether to enable Kubernetes Alpha features for this cluster. Note that when this option is enabled, the cluster cannot be upgraded and will be automatically deleted after 30 days.
- Enable
Legacy boolAbac Whether the ABAC authorizer is enabled for this cluster. When enabled, identities in the system, including service accounts, nodes, and controllers, will have statically granted permissions beyond those provided by the RBAC configuration or IAM. Defaults to
false- Enable
Shielded boolNodes Enable Shielded Nodes features on all nodes in this cluster. Defaults to
false.- Enable
Tpu bool Whether to enable Cloud TPU resources in this cluster. See the official documentation.
- Endpoint string
The IP address of this cluster’s Kubernetes master.
- Initial
Node intCount The number of nodes to create in this cluster’s default node pool. In regional or multi-zonal clusters, this is the number of nodes per zone. Must be set if
node_poolis not set. If you’re usinggcp.container.NodePoolobjects with no default node pool, you’ll need to set this to a value of at least1, alongside settingremove_default_node_pooltotrue.- Instance
Group []stringUrls List of instance group URLs which have been assigned to the cluster.
- Ip
Allocation ClusterPolicy Ip Allocation Policy Configuration of cluster IP allocation for VPC-native clusters. Adding this block enables IP aliasing, making the cluster VPC-native instead of routes-based. Structure is documented below.
- Label
Fingerprint string The fingerprint of the set of labels for this cluster.
- Location string
The location (region or zone) in which the cluster master will be created, as well as the default node location. If you specify a zone (such as
us-central1-a), the cluster will be a zonal cluster with a single cluster master. If you specify a region (such asus-west1), the cluster will be a regional cluster with multiple masters spread across zones in the region, and with default node locations in those zones as well- Logging
Service string The logging service that the cluster should write logs to. Available options include
logging.googleapis.com(Legacy Stackdriver),logging.googleapis.com/kubernetes(Stackdriver Kubernetes Engine Logging), andnone. Defaults tologging.googleapis.com/kubernetes- Maintenance
Policy ClusterMaintenance Policy The maintenance policy to use for the cluster. Structure is documented below.
- Master
Auth ClusterMaster Auth The authentication information for accessing the Kubernetes master. Some values in this block are only returned by the API if your service account has permission to get credentials for your GKE cluster. If you see an unexpected diff removing a username/password or unsetting your client cert, ensure you have the
container.clusters.getCredentialspermission. Structure is documented below.-
Cluster
Master Authorized Networks Config The desired configuration options for master authorized networks. Omit the nested
cidr_blocksattribute to disallow external access (except the cluster node IPs, which GKE automatically whitelists).- Master
Version string The current version of the master in the cluster. This may be different than the
min_master_versionset in the config if the master has been updated by GKE.- Min
Master stringVersion The minimum version of the master. GKE will auto-update the master to new versions, so this does not guarantee the current master version–use the read-only
master_versionfield to obtain that. If unset, the cluster’s version will be set by GKE to the version of the most recent official release (which is not necessarily the latest version). Most users will find thegcp.container.getEngineVersionsdata source useful - it indicates which versions are available. If you intend to specify versions manually, the docs describe the various acceptable formats for this field.- Monitoring
Service string The monitoring service that the cluster should write metrics to. Automatically send metrics from pods in the cluster to the Google Cloud Monitoring API. VM metrics will be collected by Google Compute Engine regardless of this setting Available options include
monitoring.googleapis.com(Legacy Stackdriver),monitoring.googleapis.com/kubernetes(Stackdriver Kubernetes Engine Monitoring), andnone. Defaults tomonitoring.googleapis.com/kubernetes- Name string
The name of the cluster, unique within the project and location.
- Network string
The name or self_link of the Google Compute Engine network to which the cluster is connected. For Shared VPC, set this to the self link of the shared network.
- Network
Policy ClusterNetwork Policy Configuration options for the NetworkPolicy feature. Structure is documented below.
- Networking
Mode string Determines whether alias IPs or routes will be used for pod IPs in the cluster. Options are
VPC_NATIVEorROUTES.VPC_NATIVEenables IP aliasing, and requires theip_allocation_policyblock to be defined. By default when this field is unspecified, GKE will create aROUTES-based cluster.- Node
Config ClusterNode Config Parameters used in creating the default node pool. Generally, this field should not be used at the same time as a
gcp.container.NodePoolor anode_poolblock; this configuration manages the default node pool, which isn’t recommended to be used. Structure is documented below.- Node
Locations []string The list of zones in which the cluster’s nodes are located. Nodes must be in the region of their regional cluster or in the same region as their cluster’s zone for zonal clusters. If this is specified for a zonal cluster, omit the cluster’s zone.
- Node
Pools []ClusterNode Pool List of node pools associated with this cluster. See gcp.container.NodePool for schema. Warning: node pools defined inside a cluster can’t be changed (or added/removed) after cluster creation without deleting and recreating the entire cluster. Unless you absolutely need the ability to say “these are the only node pools associated with this cluster”, use the gcp.container.NodePool resource instead of this property.
- Node
Version string The Kubernetes version on the nodes. Must either be unset or set to the same value as
min_master_versionon create. Defaults to the default version set by GKE which is not necessarily the latest version. This only affects nodes in the default node pool. While a fuzzy version can be specified, it’s recommended that you specify explicit versions as the provider will see spurious diffs when fuzzy versions are used. See thegcp.container.getEngineVersionsdata source’sversion_prefixfield to approximate fuzzy versions. To update nodes in other node pools, use theversionattribute on the node pool.- Operation string
- Pod
Security ClusterPolicy Config Pod Security Policy Config Configuration for the PodSecurityPolicy feature. Structure is documented below.
- Private
Cluster ClusterConfig Private Cluster Config Configuration for private clusters, clusters with private nodes. Structure is documented below.
- Project string
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- Release
Channel ClusterRelease Channel Configuration options for the Release channel feature, which provide more control over automatic upgrades of your GKE clusters. When updating this field, GKE imposes specific version requirements. See Migrating between release channels for more details; the
gcp.container.getEngineVersionsdatasource can provide the default version for a channel. Note that removing therelease_channelfield from your config will cause this provider to stop managing your cluster’s release channel, but will not unenroll it. Instead, use the"UNSPECIFIED"channel. Structure is documented below.- Remove
Default boolNode Pool If
true, deletes the default node pool upon cluster creation. If you’re usinggcp.container.NodePoolresources with no default node pool, this should be set totrue, alongside settinginitial_node_countto at least1.- Resource
Labels map[string]string The GCE resource labels (a map of key/value pairs) to be applied to the cluster.
- Resource
Usage ClusterExport Config Resource Usage Export Config Configuration for the ResourceUsageExportConfig feature. Structure is documented below.
- Services
Ipv4Cidr string The IP address range of the Kubernetes services in this cluster, in CIDR notation (e.g.
1.2.3.4/29). Service addresses are typically put in the last/16from the container CIDR.- Subnetwork string
The name or self_link of the Google Compute Engine subnetwork in which the cluster’s instances are launched.
- Tpu
Ipv4Cidr stringBlock The IP address range of the Cloud TPUs in this cluster, in CIDR notation (e.g.
1.2.3.4/29).- Vertical
Pod ClusterAutoscaling Vertical Pod Autoscaling Vertical Pod Autoscaling automatically adjusts the resources of pods controlled by it. Structure is documented below.
- Workload
Identity ClusterConfig Workload Identity Config Workload Identity allows Kubernetes service accounts to act as a user-managed Google IAM Service Account. Structure is documented below.
- addons
Config ClusterAddons Config The configuration for addons supported by GKE. Structure is documented below.
- authenticator
Groups ClusterConfig Authenticator Groups Config Configuration for the Google Groups for GKE feature. Structure is documented below.
- cluster
Autoscaling ClusterCluster Autoscaling Per-cluster configuration of Node Auto-Provisioning with Cluster Autoscaler to automatically adjust the size of the cluster and create/delete node pools based on the current needs of the cluster’s workload. See the guide to using Node Auto-Provisioning for more details. Structure is documented below.
- cluster
Ipv4Cidr string The IP address range of the Kubernetes pods in this cluster in CIDR notation (e.g.
10.96.0.0/14). Leave blank to have one automatically chosen or specify a/14block in10.0.0.0/8. This field will only work for routes-based clusters, whereip_allocation_policyis not defined.- cluster
Telemetry ClusterCluster Telemetry ) Configuration for ClusterTelemetry feature, Structure is documented below.
- database
Encryption ClusterDatabase Encryption Structure is documented below.
- default
Max numberPods Per Node The default maximum number of pods per node in this cluster. This doesn’t work on “routes-based” clusters, clusters that don’t have IP Aliasing enabled. See the official documentation for more information.
- description string
Description of the cluster.
- boolean
Enable Binary Authorization for this cluster. If enabled, all container images will be validated by Google Binary Authorization.
- enable
Intranode booleanVisibility Whether Intra-node visibility is enabled for this cluster. This makes same node pod to pod traffic visible for VPC network.
- enable
Kubernetes booleanAlpha Whether to enable Kubernetes Alpha features for this cluster. Note that when this option is enabled, the cluster cannot be upgraded and will be automatically deleted after 30 days.
- enable
Legacy booleanAbac Whether the ABAC authorizer is enabled for this cluster. When enabled, identities in the system, including service accounts, nodes, and controllers, will have statically granted permissions beyond those provided by the RBAC configuration or IAM. Defaults to
false- enable
Shielded booleanNodes Enable Shielded Nodes features on all nodes in this cluster. Defaults to
false.- enable
Tpu boolean Whether to enable Cloud TPU resources in this cluster. See the official documentation.
- endpoint string
The IP address of this cluster’s Kubernetes master.
- initial
Node numberCount The number of nodes to create in this cluster’s default node pool. In regional or multi-zonal clusters, this is the number of nodes per zone. Must be set if
node_poolis not set. If you’re usinggcp.container.NodePoolobjects with no default node pool, you’ll need to set this to a value of at least1, alongside settingremove_default_node_pooltotrue.- instance
Group string[]Urls List of instance group URLs which have been assigned to the cluster.
- ip
Allocation ClusterPolicy Ip Allocation Policy Configuration of cluster IP allocation for VPC-native clusters. Adding this block enables IP aliasing, making the cluster VPC-native instead of routes-based. Structure is documented below.
- label
Fingerprint string The fingerprint of the set of labels for this cluster.
- location string
The location (region or zone) in which the cluster master will be created, as well as the default node location. If you specify a zone (such as
us-central1-a), the cluster will be a zonal cluster with a single cluster master. If you specify a region (such asus-west1), the cluster will be a regional cluster with multiple masters spread across zones in the region, and with default node locations in those zones as well- logging
Service string The logging service that the cluster should write logs to. Available options include
logging.googleapis.com(Legacy Stackdriver),logging.googleapis.com/kubernetes(Stackdriver Kubernetes Engine Logging), andnone. Defaults tologging.googleapis.com/kubernetes- maintenance
Policy ClusterMaintenance Policy The maintenance policy to use for the cluster. Structure is documented below.
- master
Auth ClusterMaster Auth The authentication information for accessing the Kubernetes master. Some values in this block are only returned by the API if your service account has permission to get credentials for your GKE cluster. If you see an unexpected diff removing a username/password or unsetting your client cert, ensure you have the
container.clusters.getCredentialspermission. Structure is documented below.-
Cluster
Master Authorized Networks Config The desired configuration options for master authorized networks. Omit the nested
cidr_blocksattribute to disallow external access (except the cluster node IPs, which GKE automatically whitelists).- master
Version string The current version of the master in the cluster. This may be different than the
min_master_versionset in the config if the master has been updated by GKE.- min
Master stringVersion The minimum version of the master. GKE will auto-update the master to new versions, so this does not guarantee the current master version–use the read-only
master_versionfield to obtain that. If unset, the cluster’s version will be set by GKE to the version of the most recent official release (which is not necessarily the latest version). Most users will find thegcp.container.getEngineVersionsdata source useful - it indicates which versions are available. If you intend to specify versions manually, the docs describe the various acceptable formats for this field.- monitoring
Service string The monitoring service that the cluster should write metrics to. Automatically send metrics from pods in the cluster to the Google Cloud Monitoring API. VM metrics will be collected by Google Compute Engine regardless of this setting Available options include
monitoring.googleapis.com(Legacy Stackdriver),monitoring.googleapis.com/kubernetes(Stackdriver Kubernetes Engine Monitoring), andnone. Defaults tomonitoring.googleapis.com/kubernetes- name string
The name of the cluster, unique within the project and location.
- network string
The name or self_link of the Google Compute Engine network to which the cluster is connected. For Shared VPC, set this to the self link of the shared network.
- network
Policy ClusterNetwork Policy Configuration options for the NetworkPolicy feature. Structure is documented below.
- networking
Mode string Determines whether alias IPs or routes will be used for pod IPs in the cluster. Options are
VPC_NATIVEorROUTES.VPC_NATIVEenables IP aliasing, and requires theip_allocation_policyblock to be defined. By default when this field is unspecified, GKE will create aROUTES-based cluster.- node
Config ClusterNode Config Parameters used in creating the default node pool. Generally, this field should not be used at the same time as a
gcp.container.NodePoolor anode_poolblock; this configuration manages the default node pool, which isn’t recommended to be used. Structure is documented below.- node
Locations string[] The list of zones in which the cluster’s nodes are located. Nodes must be in the region of their regional cluster or in the same region as their cluster’s zone for zonal clusters. If this is specified for a zonal cluster, omit the cluster’s zone.
- node
Pools ClusterNode Pool[] List of node pools associated with this cluster. See gcp.container.NodePool for schema. Warning: node pools defined inside a cluster can’t be changed (or added/removed) after cluster creation without deleting and recreating the entire cluster. Unless you absolutely need the ability to say “these are the only node pools associated with this cluster”, use the gcp.container.NodePool resource instead of this property.
- node
Version string The Kubernetes version on the nodes. Must either be unset or set to the same value as
min_master_versionon create. Defaults to the default version set by GKE which is not necessarily the latest version. This only affects nodes in the default node pool. While a fuzzy version can be specified, it’s recommended that you specify explicit versions as the provider will see spurious diffs when fuzzy versions are used. See thegcp.container.getEngineVersionsdata source’sversion_prefixfield to approximate fuzzy versions. To update nodes in other node pools, use theversionattribute on the node pool.- operation string
- pod
Security ClusterPolicy Config Pod Security Policy Config Configuration for the PodSecurityPolicy feature. Structure is documented below.
- private
Cluster ClusterConfig Private Cluster Config Configuration for private clusters, clusters with private nodes. Structure is documented below.
- project string
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- release
Channel ClusterRelease Channel Configuration options for the Release channel feature, which provide more control over automatic upgrades of your GKE clusters. When updating this field, GKE imposes specific version requirements. See Migrating between release channels for more details; the
gcp.container.getEngineVersionsdatasource can provide the default version for a channel. Note that removing therelease_channelfield from your config will cause this provider to stop managing your cluster’s release channel, but will not unenroll it. Instead, use the"UNSPECIFIED"channel. Structure is documented below.- remove
Default booleanNode Pool If
true, deletes the default node pool upon cluster creation. If you’re usinggcp.container.NodePoolresources with no default node pool, this should be set totrue, alongside settinginitial_node_countto at least1.- resource
Labels {[key: string]: string} The GCE resource labels (a map of key/value pairs) to be applied to the cluster.
- resource
Usage ClusterExport Config Resource Usage Export Config Configuration for the ResourceUsageExportConfig feature. Structure is documented below.
- services
Ipv4Cidr string The IP address range of the Kubernetes services in this cluster, in CIDR notation (e.g.
1.2.3.4/29). Service addresses are typically put in the last/16from the container CIDR.- subnetwork string
The name or self_link of the Google Compute Engine subnetwork in which the cluster’s instances are launched.
- tpu
Ipv4Cidr stringBlock The IP address range of the Cloud TPUs in this cluster, in CIDR notation (e.g.
1.2.3.4/29).- vertical
Pod ClusterAutoscaling Vertical Pod Autoscaling Vertical Pod Autoscaling automatically adjusts the resources of pods controlled by it. Structure is documented below.
- workload
Identity ClusterConfig Workload Identity Config Workload Identity allows Kubernetes service accounts to act as a user-managed Google IAM Service Account. Structure is documented below.
- addons_
config Dict[ClusterAddons Config] The configuration for addons supported by GKE. Structure is documented below.
- authenticator_
groups_ Dict[Clusterconfig Authenticator Groups Config] Configuration for the Google Groups for GKE feature. Structure is documented below.
- cluster_
autoscaling Dict[ClusterCluster Autoscaling] Per-cluster configuration of Node Auto-Provisioning with Cluster Autoscaler to automatically adjust the size of the cluster and create/delete node pools based on the current needs of the cluster’s workload. See the guide to using Node Auto-Provisioning for more details. Structure is documented below.
- cluster_
ipv4_ strcidr The IP address range of the Kubernetes pods in this cluster in CIDR notation (e.g.
10.96.0.0/14). Leave blank to have one automatically chosen or specify a/14block in10.0.0.0/8. This field will only work for routes-based clusters, whereip_allocation_policyis not defined.- cluster_
telemetry Dict[ClusterCluster Telemetry] ) Configuration for ClusterTelemetry feature, Structure is documented below.
- database_
encryption Dict[ClusterDatabase Encryption] Structure is documented below.
- default_
max_ floatpods_ per_ node The default maximum number of pods per node in this cluster. This doesn’t work on “routes-based” clusters, clusters that don’t have IP Aliasing enabled. See the official documentation for more information.
- description str
Description of the cluster.
- bool
Enable Binary Authorization for this cluster. If enabled, all container images will be validated by Google Binary Authorization.
- enable_
intranode_ boolvisibility Whether Intra-node visibility is enabled for this cluster. This makes same node pod to pod traffic visible for VPC network.
- enable_
kubernetes_ boolalpha Whether to enable Kubernetes Alpha features for this cluster. Note that when this option is enabled, the cluster cannot be upgraded and will be automatically deleted after 30 days.
- enable_
legacy_ boolabac Whether the ABAC authorizer is enabled for this cluster. When enabled, identities in the system, including service accounts, nodes, and controllers, will have statically granted permissions beyond those provided by the RBAC configuration or IAM. Defaults to
false- enable_
shielded_ boolnodes Enable Shielded Nodes features on all nodes in this cluster. Defaults to
false.- enable_
tpu bool Whether to enable Cloud TPU resources in this cluster. See the official documentation.
- endpoint str
The IP address of this cluster’s Kubernetes master.
- initial_
node_ floatcount The number of nodes to create in this cluster’s default node pool. In regional or multi-zonal clusters, this is the number of nodes per zone. Must be set if
node_poolis not set. If you’re usinggcp.container.NodePoolobjects with no default node pool, you’ll need to set this to a value of at least1, alongside settingremove_default_node_pooltotrue.- instance_
group_ List[str]urls List of instance group URLs which have been assigned to the cluster.
- ip_
allocation_ Dict[Clusterpolicy Ip Allocation Policy] Configuration of cluster IP allocation for VPC-native clusters. Adding this block enables IP aliasing, making the cluster VPC-native instead of routes-based. Structure is documented below.
- label_
fingerprint str The fingerprint of the set of labels for this cluster.
- location str
The location (region or zone) in which the cluster master will be created, as well as the default node location. If you specify a zone (such as
us-central1-a), the cluster will be a zonal cluster with a single cluster master. If you specify a region (such asus-west1), the cluster will be a regional cluster with multiple masters spread across zones in the region, and with default node locations in those zones as well- logging_
service str The logging service that the cluster should write logs to. Available options include
logging.googleapis.com(Legacy Stackdriver),logging.googleapis.com/kubernetes(Stackdriver Kubernetes Engine Logging), andnone. Defaults tologging.googleapis.com/kubernetes- maintenance_
policy Dict[ClusterMaintenance Policy] The maintenance policy to use for the cluster. Structure is documented below.
- master_
auth Dict[ClusterMaster Auth] The authentication information for accessing the Kubernetes master. Some values in this block are only returned by the API if your service account has permission to get credentials for your GKE cluster. If you see an unexpected diff removing a username/password or unsetting your client cert, ensure you have the
container.clusters.getCredentialspermission. Structure is documented below.-
Dict[Cluster
Master Authorized Networks Config] The desired configuration options for master authorized networks. Omit the nested
cidr_blocksattribute to disallow external access (except the cluster node IPs, which GKE automatically whitelists).- master_
version str The current version of the master in the cluster. This may be different than the
min_master_versionset in the config if the master has been updated by GKE.- min_
master_ strversion The minimum version of the master. GKE will auto-update the master to new versions, so this does not guarantee the current master version–use the read-only
master_versionfield to obtain that. If unset, the cluster’s version will be set by GKE to the version of the most recent official release (which is not necessarily the latest version). Most users will find thegcp.container.getEngineVersionsdata source useful - it indicates which versions are available. If you intend to specify versions manually, the docs describe the various acceptable formats for this field.- monitoring_
service str The monitoring service that the cluster should write metrics to. Automatically send metrics from pods in the cluster to the Google Cloud Monitoring API. VM metrics will be collected by Google Compute Engine regardless of this setting Available options include
monitoring.googleapis.com(Legacy Stackdriver),monitoring.googleapis.com/kubernetes(Stackdriver Kubernetes Engine Monitoring), andnone. Defaults tomonitoring.googleapis.com/kubernetes- name str
The name of the cluster, unique within the project and location.
- network str
The name or self_link of the Google Compute Engine network to which the cluster is connected. For Shared VPC, set this to the self link of the shared network.
- network_
policy Dict[ClusterNetwork Policy] Configuration options for the NetworkPolicy feature. Structure is documented below.
- networking_
mode str Determines whether alias IPs or routes will be used for pod IPs in the cluster. Options are
VPC_NATIVEorROUTES.VPC_NATIVEenables IP aliasing, and requires theip_allocation_policyblock to be defined. By default when this field is unspecified, GKE will create aROUTES-based cluster.- node_
config Dict[ClusterNode Config] Parameters used in creating the default node pool. Generally, this field should not be used at the same time as a
gcp.container.NodePoolor anode_poolblock; this configuration manages the default node pool, which isn’t recommended to be used. Structure is documented below.- node_
locations List[str] The list of zones in which the cluster’s nodes are located. Nodes must be in the region of their regional cluster or in the same region as their cluster’s zone for zonal clusters. If this is specified for a zonal cluster, omit the cluster’s zone.
- node_
pools List[ClusterNode Pool] List of node pools associated with this cluster. See gcp.container.NodePool for schema. Warning: node pools defined inside a cluster can’t be changed (or added/removed) after cluster creation without deleting and recreating the entire cluster. Unless you absolutely need the ability to say “these are the only node pools associated with this cluster”, use the gcp.container.NodePool resource instead of this property.
- node_
version str The Kubernetes version on the nodes. Must either be unset or set to the same value as
min_master_versionon create. Defaults to the default version set by GKE which is not necessarily the latest version. This only affects nodes in the default node pool. While a fuzzy version can be specified, it’s recommended that you specify explicit versions as the provider will see spurious diffs when fuzzy versions are used. See thegcp.container.getEngineVersionsdata source’sversion_prefixfield to approximate fuzzy versions. To update nodes in other node pools, use theversionattribute on the node pool.- operation str
- pod_
security_ Dict[Clusterpolicy_ config Pod Security Policy Config] Configuration for the PodSecurityPolicy feature. Structure is documented below.
- private_
cluster_ Dict[Clusterconfig Private Cluster Config] Configuration for private clusters, clusters with private nodes. Structure is documented below.
- project str
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- release_
channel Dict[ClusterRelease Channel] Configuration options for the Release channel feature, which provide more control over automatic upgrades of your GKE clusters. When updating this field, GKE imposes specific version requirements. See Migrating between release channels for more details; the
gcp.container.getEngineVersionsdatasource can provide the default version for a channel. Note that removing therelease_channelfield from your config will cause this provider to stop managing your cluster’s release channel, but will not unenroll it. Instead, use the"UNSPECIFIED"channel. Structure is documented below.- remove_
default_ boolnode_ pool If
true, deletes the default node pool upon cluster creation. If you’re usinggcp.container.NodePoolresources with no default node pool, this should be set totrue, alongside settinginitial_node_countto at least1.- resource_
labels Dict[str, str] The GCE resource labels (a map of key/value pairs) to be applied to the cluster.
- resource_
usage_ Dict[Clusterexport_ config Resource Usage Export Config] Configuration for the ResourceUsageExportConfig feature. Structure is documented below.
- services_
ipv4_ strcidr The IP address range of the Kubernetes services in this cluster, in CIDR notation (e.g.
1.2.3.4/29). Service addresses are typically put in the last/16from the container CIDR.- subnetwork str
The name or self_link of the Google Compute Engine subnetwork in which the cluster’s instances are launched.
- tpu_
ipv4_ strcidr_ block The IP address range of the Cloud TPUs in this cluster, in CIDR notation (e.g.
1.2.3.4/29).- vertical_
pod_ Dict[Clusterautoscaling Vertical Pod Autoscaling] Vertical Pod Autoscaling automatically adjusts the resources of pods controlled by it. Structure is documented below.
- workload_
identity_ Dict[Clusterconfig Workload Identity Config] Workload Identity allows Kubernetes service accounts to act as a user-managed Google IAM Service Account. Structure is documented below.
Supporting Types
ClusterAddonsConfig
- Cloudrun
Config ClusterAddons Config Cloudrun Config Args . The status of the CloudRun addon. It is disabled by default. Set
disabled = falseto enable.- Config
Connector ClusterConfig Addons Config Config Connector Config Args . The status of the ConfigConnector addon. It is disabled by default; Set
enabled = trueto enable.- Dns
Cache ClusterConfig Addons Config Dns Cache Config Args . The status of the NodeLocal DNSCache addon. It is disabled by default. Set
enabled = trueto enable.- Gce
Persistent ClusterDisk Csi Driver Config Addons Config Gce Persistent Disk Csi Driver Config Args . Whether this cluster should enable the Google Compute Engine Persistent Disk Container Storage Interface (CSI) Driver. Defaults to disabled; set
enabled = trueto enable.- Horizontal
Pod ClusterAutoscaling Addons Config Horizontal Pod Autoscaling Args The status of the Horizontal Pod Autoscaling addon, which increases or decreases the number of replica pods a replication controller has based on the resource usage of the existing pods. It ensures that a Heapster pod is running in the cluster, which is also used by the Cloud Monitoring service. It is enabled by default; set
disabled = trueto disable.- Http
Load ClusterBalancing Addons Config Http Load Balancing Args The status of the HTTP (L7) load balancing controller addon, which makes it easy to set up HTTP load balancers for services in a cluster. It is enabled by default; set
disabled = trueto disable.- Istio
Config ClusterAddons Config Istio Config Args . Structure is documented below.
- Kalm
Config ClusterAddons Config Kalm Config Args . Configuration for the KALM addon, which manages the lifecycle of k8s. It is disabled by default; Set
enabled = trueto enable.- Network
Policy ClusterConfig Addons Config Network Policy Config Args Whether we should enable the network policy addon for the master. This must be enabled in order to enable network policy for the nodes. To enable this, you must also define a
network_policyblock, otherwise nothing will happen. It can only be disabled if the nodes already do not have network policies enabled. Defaults to disabled; setdisabled = falseto enable.
- Cloudrun
Config ClusterAddons Config Cloudrun Config . The status of the CloudRun addon. It is disabled by default. Set
disabled = falseto enable.- Config
Connector ClusterConfig Addons Config Config Connector Config . The status of the ConfigConnector addon. It is disabled by default; Set
enabled = trueto enable.- Dns
Cache ClusterConfig Addons Config Dns Cache Config . The status of the NodeLocal DNSCache addon. It is disabled by default. Set
enabled = trueto enable.- Gce
Persistent ClusterDisk Csi Driver Config Addons Config Gce Persistent Disk Csi Driver Config . Whether this cluster should enable the Google Compute Engine Persistent Disk Container Storage Interface (CSI) Driver. Defaults to disabled; set
enabled = trueto enable.- Horizontal
Pod ClusterAutoscaling Addons Config Horizontal Pod Autoscaling The status of the Horizontal Pod Autoscaling addon, which increases or decreases the number of replica pods a replication controller has based on the resource usage of the existing pods. It ensures that a Heapster pod is running in the cluster, which is also used by the Cloud Monitoring service. It is enabled by default; set
disabled = trueto disable.- Http
Load ClusterBalancing Addons Config Http Load Balancing The status of the HTTP (L7) load balancing controller addon, which makes it easy to set up HTTP load balancers for services in a cluster. It is enabled by default; set
disabled = trueto disable.- Istio
Config ClusterAddons Config Istio Config . Structure is documented below.
- Kalm
Config ClusterAddons Config Kalm Config . Configuration for the KALM addon, which manages the lifecycle of k8s. It is disabled by default; Set
enabled = trueto enable.- Network
Policy ClusterConfig Addons Config Network Policy Config Whether we should enable the network policy addon for the master. This must be enabled in order to enable network policy for the nodes. To enable this, you must also define a
network_policyblock, otherwise nothing will happen. It can only be disabled if the nodes already do not have network policies enabled. Defaults to disabled; setdisabled = falseto enable.
- cloudrun
Config ClusterAddons Config Cloudrun Config . The status of the CloudRun addon. It is disabled by default. Set
disabled = falseto enable.- config
Connector ClusterConfig Addons Config Config Connector Config . The status of the ConfigConnector addon. It is disabled by default; Set
enabled = trueto enable.- dns
Cache ClusterConfig Addons Config Dns Cache Config . The status of the NodeLocal DNSCache addon. It is disabled by default. Set
enabled = trueto enable.- gce
Persistent ClusterDisk Csi Driver Config Addons Config Gce Persistent Disk Csi Driver Config . Whether this cluster should enable the Google Compute Engine Persistent Disk Container Storage Interface (CSI) Driver. Defaults to disabled; set
enabled = trueto enable.- horizontal
Pod ClusterAutoscaling Addons Config Horizontal Pod Autoscaling The status of the Horizontal Pod Autoscaling addon, which increases or decreases the number of replica pods a replication controller has based on the resource usage of the existing pods. It ensures that a Heapster pod is running in the cluster, which is also used by the Cloud Monitoring service. It is enabled by default; set
disabled = trueto disable.- http
Load ClusterBalancing Addons Config Http Load Balancing The status of the HTTP (L7) load balancing controller addon, which makes it easy to set up HTTP load balancers for services in a cluster. It is enabled by default; set
disabled = trueto disable.- istio
Config ClusterAddons Config Istio Config . Structure is documented below.
- kalm
Config ClusterAddons Config Kalm Config . Configuration for the KALM addon, which manages the lifecycle of k8s. It is disabled by default; Set
enabled = trueto enable.- network
Policy ClusterConfig Addons Config Network Policy Config Whether we should enable the network policy addon for the master. This must be enabled in order to enable network policy for the nodes. To enable this, you must also define a
network_policyblock, otherwise nothing will happen. It can only be disabled if the nodes already do not have network policies enabled. Defaults to disabled; setdisabled = falseto enable.
- cloudrun
Config Dict[ClusterAddons Config Cloudrun Config] . The status of the CloudRun addon. It is disabled by default. Set
disabled = falseto enable.- config
Connector Dict[ClusterConfig Addons Config Config Connector Config] . The status of the ConfigConnector addon. It is disabled by default; Set
enabled = trueto enable.- dns
Cache Dict[ClusterConfig Addons Config Dns Cache Config] . The status of the NodeLocal DNSCache addon. It is disabled by default. Set
enabled = trueto enable.- gce
Persistent Dict[ClusterDisk Csi Driver Config Addons Config Gce Persistent Disk Csi Driver Config] . Whether this cluster should enable the Google Compute Engine Persistent Disk Container Storage Interface (CSI) Driver. Defaults to disabled; set
enabled = trueto enable.- horizontal
Pod Dict[ClusterAutoscaling Addons Config Horizontal Pod Autoscaling] The status of the Horizontal Pod Autoscaling addon, which increases or decreases the number of replica pods a replication controller has based on the resource usage of the existing pods. It ensures that a Heapster pod is running in the cluster, which is also used by the Cloud Monitoring service. It is enabled by default; set
disabled = trueto disable.- http
Load Dict[ClusterBalancing Addons Config Http Load Balancing] The status of the HTTP (L7) load balancing controller addon, which makes it easy to set up HTTP load balancers for services in a cluster. It is enabled by default; set
disabled = trueto disable.- istio
Config Dict[ClusterAddons Config Istio Config] . Structure is documented below.
- kalm
Config Dict[ClusterAddons Config Kalm Config] . Configuration for the KALM addon, which manages the lifecycle of k8s. It is disabled by default; Set
enabled = trueto enable.- network
Policy Dict[ClusterConfig Addons Config Network Policy Config] Whether we should enable the network policy addon for the master. This must be enabled in order to enable network policy for the nodes. To enable this, you must also define a
network_policyblock, otherwise nothing will happen. It can only be disabled if the nodes already do not have network policies enabled. Defaults to disabled; setdisabled = falseto enable.
ClusterAddonsConfigCloudrunConfig
ClusterAddonsConfigConfigConnectorConfig
ClusterAddonsConfigDnsCacheConfig
ClusterAddonsConfigGcePersistentDiskCsiDriverConfig
ClusterAddonsConfigHorizontalPodAutoscaling
ClusterAddonsConfigHttpLoadBalancing
ClusterAddonsConfigIstioConfig
ClusterAddonsConfigKalmConfig
ClusterAddonsConfigNetworkPolicyConfig
ClusterAuthenticatorGroupsConfig
- Security
Group string The name of the RBAC security group for use with Google security groups in Kubernetes RBAC. Group name must be in format
gke-security-groups@yourdomain.com.
- Security
Group string The name of the RBAC security group for use with Google security groups in Kubernetes RBAC. Group name must be in format
gke-security-groups@yourdomain.com.
- security
Group string The name of the RBAC security group for use with Google security groups in Kubernetes RBAC. Group name must be in format
gke-security-groups@yourdomain.com.
- security
Group str The name of the RBAC security group for use with Google security groups in Kubernetes RBAC. Group name must be in format
gke-security-groups@yourdomain.com.
ClusterClusterAutoscaling
- Enabled bool
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- Auto
Provisioning ClusterDefaults Cluster Autoscaling Auto Provisioning Defaults Args Contains defaults for a node pool created by NAP. Structure is documented below.
- Autoscaling
Profile string ) Configuration options for the Autoscaling profile feature, which lets you choose whether the cluster autoscaler should optimize for resource utilization or resource availability when deciding to remove nodes from a cluster. Can be
BALANCEDorOPTIMIZE_UTILIZATION. Defaults toBALANCED.- Resource
Limits List<ClusterCluster Autoscaling Resource Limit Args> Global constraints for machine resources in the cluster. Configuring the
cpuandmemorytypes is required if node auto-provisioning is enabled. These limits will apply to node pool autoscaling in addition to node auto-provisioning. Structure is documented below.
- Enabled bool
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- Auto
Provisioning ClusterDefaults Cluster Autoscaling Auto Provisioning Defaults Contains defaults for a node pool created by NAP. Structure is documented below.
- Autoscaling
Profile string ) Configuration options for the Autoscaling profile feature, which lets you choose whether the cluster autoscaler should optimize for resource utilization or resource availability when deciding to remove nodes from a cluster. Can be
BALANCEDorOPTIMIZE_UTILIZATION. Defaults toBALANCED.- Resource
Limits []ClusterCluster Autoscaling Resource Limit Global constraints for machine resources in the cluster. Configuring the
cpuandmemorytypes is required if node auto-provisioning is enabled. These limits will apply to node pool autoscaling in addition to node auto-provisioning. Structure is documented below.
- enabled boolean
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- auto
Provisioning ClusterDefaults Cluster Autoscaling Auto Provisioning Defaults Contains defaults for a node pool created by NAP. Structure is documented below.
- autoscaling
Profile string ) Configuration options for the Autoscaling profile feature, which lets you choose whether the cluster autoscaler should optimize for resource utilization or resource availability when deciding to remove nodes from a cluster. Can be
BALANCEDorOPTIMIZE_UTILIZATION. Defaults toBALANCED.- resource
Limits ClusterCluster Autoscaling Resource Limit[] Global constraints for machine resources in the cluster. Configuring the
cpuandmemorytypes is required if node auto-provisioning is enabled. These limits will apply to node pool autoscaling in addition to node auto-provisioning. Structure is documented below.
- enabled bool
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- auto
Provisioning Dict[ClusterDefaults Cluster Autoscaling Auto Provisioning Defaults] Contains defaults for a node pool created by NAP. Structure is documented below.
- autoscaling
Profile str ) Configuration options for the Autoscaling profile feature, which lets you choose whether the cluster autoscaler should optimize for resource utilization or resource availability when deciding to remove nodes from a cluster. Can be
BALANCEDorOPTIMIZE_UTILIZATION. Defaults toBALANCED.- resource
Limits List[ClusterCluster Autoscaling Resource Limit] Global constraints for machine resources in the cluster. Configuring the
cpuandmemorytypes is required if node auto-provisioning is enabled. These limits will apply to node pool autoscaling in addition to node auto-provisioning. Structure is documented below.
ClusterClusterAutoscalingAutoProvisioningDefaults
- Min
Cpu stringPlatform Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as
Intel Haswell. See the official documentation for more information.- Oauth
Scopes List<string> The set of Google API scopes to be made available on all of the node VMs under the “default” service account. These can be either FQDNs, or scope aliases. The following scopes are necessary to ensure the correct functioning of the cluster:
- Service
Account string The service account to be used by the Node VMs. If not specified, the “default” service account is used. In order to use the configured
oauth_scopesfor logging and monitoring, the service account being used needs the roles/logging.logWriter and roles/monitoring.metricWriter roles.
- Min
Cpu stringPlatform Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as
Intel Haswell. See the official documentation for more information.- Oauth
Scopes []string The set of Google API scopes to be made available on all of the node VMs under the “default” service account. These can be either FQDNs, or scope aliases. The following scopes are necessary to ensure the correct functioning of the cluster:
- Service
Account string The service account to be used by the Node VMs. If not specified, the “default” service account is used. In order to use the configured
oauth_scopesfor logging and monitoring, the service account being used needs the roles/logging.logWriter and roles/monitoring.metricWriter roles.
- min
Cpu stringPlatform Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as
Intel Haswell. See the official documentation for more information.- oauth
Scopes string[] The set of Google API scopes to be made available on all of the node VMs under the “default” service account. These can be either FQDNs, or scope aliases. The following scopes are necessary to ensure the correct functioning of the cluster:
- service
Account string The service account to be used by the Node VMs. If not specified, the “default” service account is used. In order to use the configured
oauth_scopesfor logging and monitoring, the service account being used needs the roles/logging.logWriter and roles/monitoring.metricWriter roles.
- min_
cpu_ strplatform Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as
Intel Haswell. See the official documentation for more information.- oauth
Scopes List[str] The set of Google API scopes to be made available on all of the node VMs under the “default” service account. These can be either FQDNs, or scope aliases. The following scopes are necessary to ensure the correct functioning of the cluster:
- service_
account str The service account to be used by the Node VMs. If not specified, the “default” service account is used. In order to use the configured
oauth_scopesfor logging and monitoring, the service account being used needs the roles/logging.logWriter and roles/monitoring.metricWriter roles.
ClusterClusterAutoscalingResourceLimit
- Resource
Type string The type of the resource. For example,
cpuandmemory. See the guide to using Node Auto-Provisioning for a list of types.- Maximum int
Maximum amount of the resource in the cluster.
- Minimum int
Minimum amount of the resource in the cluster.
- Resource
Type string The type of the resource. For example,
cpuandmemory. See the guide to using Node Auto-Provisioning for a list of types.- Maximum int
Maximum amount of the resource in the cluster.
- Minimum int
Minimum amount of the resource in the cluster.
- resource
Type string The type of the resource. For example,
cpuandmemory. See the guide to using Node Auto-Provisioning for a list of types.- maximum number
Maximum amount of the resource in the cluster.
- minimum number
Minimum amount of the resource in the cluster.
- resource
Type str The type of the resource. For example,
cpuandmemory. See the guide to using Node Auto-Provisioning for a list of types.- maximum float
Maximum amount of the resource in the cluster.
- minimum float
Minimum amount of the resource in the cluster.
ClusterClusterTelemetry
ClusterDatabaseEncryption
- State string
ENCRYPTEDorDECRYPTED- Key
Name string the key to use to encrypt/decrypt secrets. See the DatabaseEncryption definition for more information.
- State string
ENCRYPTEDorDECRYPTED- Key
Name string the key to use to encrypt/decrypt secrets. See the DatabaseEncryption definition for more information.
- state string
ENCRYPTEDorDECRYPTED- key
Name string the key to use to encrypt/decrypt secrets. See the DatabaseEncryption definition for more information.
- state str
ENCRYPTEDorDECRYPTED- key
Name str the key to use to encrypt/decrypt secrets. See the DatabaseEncryption definition for more information.
ClusterIpAllocationPolicy
- Cluster
Ipv4Cidr stringBlock The IP address range for the cluster pod IPs. Set to blank to have a range chosen with the default size. Set to /netmask (e.g. /14) to have a range chosen with a specific netmask. Set to a CIDR notation (e.g. 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use.
- Cluster
Secondary stringRange Name The name of the existing secondary range in the cluster’s subnetwork to use for pod IP addresses. Alternatively,
cluster_ipv4_cidr_blockcan be used to automatically create a GKE-managed one.- Services
Ipv4Cidr stringBlock The IP address range of the services IPs in this cluster. Set to blank to have a range chosen with the default size. Set to /netmask (e.g. /14) to have a range chosen with a specific netmask. Set to a CIDR notation (e.g. 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use.
- Services
Secondary stringRange Name The name of the existing secondary range in the cluster’s subnetwork to use for service
ClusterIPs. Alternatively,services_ipv4_cidr_blockcan be used to automatically create a GKE-managed one.
- Cluster
Ipv4Cidr stringBlock The IP address range for the cluster pod IPs. Set to blank to have a range chosen with the default size. Set to /netmask (e.g. /14) to have a range chosen with a specific netmask. Set to a CIDR notation (e.g. 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use.
- Cluster
Secondary stringRange Name The name of the existing secondary range in the cluster’s subnetwork to use for pod IP addresses. Alternatively,
cluster_ipv4_cidr_blockcan be used to automatically create a GKE-managed one.- Services
Ipv4Cidr stringBlock The IP address range of the services IPs in this cluster. Set to blank to have a range chosen with the default size. Set to /netmask (e.g. /14) to have a range chosen with a specific netmask. Set to a CIDR notation (e.g. 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use.
- Services
Secondary stringRange Name The name of the existing secondary range in the cluster’s subnetwork to use for service
ClusterIPs. Alternatively,services_ipv4_cidr_blockcan be used to automatically create a GKE-managed one.
- cluster
Ipv4Cidr stringBlock The IP address range for the cluster pod IPs. Set to blank to have a range chosen with the default size. Set to /netmask (e.g. /14) to have a range chosen with a specific netmask. Set to a CIDR notation (e.g. 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use.
- cluster
Secondary stringRange Name The name of the existing secondary range in the cluster’s subnetwork to use for pod IP addresses. Alternatively,
cluster_ipv4_cidr_blockcan be used to automatically create a GKE-managed one.- services
Ipv4Cidr stringBlock The IP address range of the services IPs in this cluster. Set to blank to have a range chosen with the default size. Set to /netmask (e.g. /14) to have a range chosen with a specific netmask. Set to a CIDR notation (e.g. 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use.
- services
Secondary stringRange Name The name of the existing secondary range in the cluster’s subnetwork to use for service
ClusterIPs. Alternatively,services_ipv4_cidr_blockcan be used to automatically create a GKE-managed one.
- cluster
Ipv4Cidr strBlock The IP address range for the cluster pod IPs. Set to blank to have a range chosen with the default size. Set to /netmask (e.g. /14) to have a range chosen with a specific netmask. Set to a CIDR notation (e.g. 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use.
- cluster
Secondary strRange Name The name of the existing secondary range in the cluster’s subnetwork to use for pod IP addresses. Alternatively,
cluster_ipv4_cidr_blockcan be used to automatically create a GKE-managed one.- services
Ipv4Cidr strBlock The IP address range of the services IPs in this cluster. Set to blank to have a range chosen with the default size. Set to /netmask (e.g. /14) to have a range chosen with a specific netmask. Set to a CIDR notation (e.g. 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use.
- services
Secondary strRange Name The name of the existing secondary range in the cluster’s subnetwork to use for service
ClusterIPs. Alternatively,services_ipv4_cidr_blockcan be used to automatically create a GKE-managed one.
ClusterMaintenancePolicy
- Daily
Maintenance ClusterWindow Maintenance Policy Daily Maintenance Window Args Time window specified for daily maintenance operations. Specify
start_timein RFC3339 format “HH:MM”, where HH : [00-23] and MM : [00-59] GMT. For example:- Recurring
Window ClusterMaintenance Policy Recurring Window Args Time window for recurring maintenance operations.
- Daily
Maintenance ClusterWindow Maintenance Policy Daily Maintenance Window Time window specified for daily maintenance operations. Specify
start_timein RFC3339 format “HH:MM”, where HH : [00-23] and MM : [00-59] GMT. For example:- Recurring
Window ClusterMaintenance Policy Recurring Window Time window for recurring maintenance operations.
- daily
Maintenance ClusterWindow Maintenance Policy Daily Maintenance Window Time window specified for daily maintenance operations. Specify
start_timein RFC3339 format “HH:MM”, where HH : [00-23] and MM : [00-59] GMT. For example:- recurring
Window ClusterMaintenance Policy Recurring Window Time window for recurring maintenance operations.
- daily
Maintenance Dict[ClusterWindow Maintenance Policy Daily Maintenance Window] Time window specified for daily maintenance operations. Specify
start_timein RFC3339 format “HH:MM”, where HH : [00-23] and MM : [00-59] GMT. For example:- recurring
Window Dict[ClusterMaintenance Policy Recurring Window] Time window for recurring maintenance operations.
ClusterMaintenancePolicyDailyMaintenanceWindow
ClusterMaintenancePolicyRecurringWindow
ClusterMasterAuth
- Client
Certificate string - Client
Certificate ClusterConfig Master Auth Client Certificate Config Args Whether client certificate authorization is enabled for this cluster. For example:
- Client
Key string - Cluster
Ca stringCertificate - Password string
The password to use for HTTP basic authentication when accessing the Kubernetes master endpoint.
- Username string
The username to use for HTTP basic authentication when accessing the Kubernetes master endpoint. If not present basic auth will be disabled.
- Client
Certificate string - Client
Certificate ClusterConfig Master Auth Client Certificate Config Whether client certificate authorization is enabled for this cluster. For example:
- Client
Key string - Cluster
Ca stringCertificate - Password string
The password to use for HTTP basic authentication when accessing the Kubernetes master endpoint.
- Username string
The username to use for HTTP basic authentication when accessing the Kubernetes master endpoint. If not present basic auth will be disabled.
- client
Certificate string - client
Certificate ClusterConfig Master Auth Client Certificate Config Whether client certificate authorization is enabled for this cluster. For example:
- client
Key string - cluster
Ca stringCertificate - password string
The password to use for HTTP basic authentication when accessing the Kubernetes master endpoint.
- username string
The username to use for HTTP basic authentication when accessing the Kubernetes master endpoint. If not present basic auth will be disabled.
- client
Certificate str - client
Certificate Dict[ClusterConfig Master Auth Client Certificate Config] Whether client certificate authorization is enabled for this cluster. For example:
- client
Key str - cluster
Ca strCertificate - password str
The password to use for HTTP basic authentication when accessing the Kubernetes master endpoint.
- username str
The username to use for HTTP basic authentication when accessing the Kubernetes master endpoint. If not present basic auth will be disabled.
ClusterMasterAuthClientCertificateConfig
ClusterMasterAuthorizedNetworksConfig
- Cidr
Blocks List<ClusterMaster Authorized Networks Config Cidr Block Args> External networks that can access the Kubernetes cluster master through HTTPS.
- Cidr
Blocks []ClusterMaster Authorized Networks Config Cidr Block External networks that can access the Kubernetes cluster master through HTTPS.
- cidr
Blocks ClusterMaster Authorized Networks Config Cidr Block[] External networks that can access the Kubernetes cluster master through HTTPS.
- cidr
Blocks List[ClusterMaster Authorized Networks Config Cidr Block] External networks that can access the Kubernetes cluster master through HTTPS.
ClusterMasterAuthorizedNetworksConfigCidrBlock
- Cidr
Block string External network that can access Kubernetes master through HTTPS. Must be specified in CIDR notation.
- Display
Name string Field for users to identify CIDR blocks.
- Cidr
Block string External network that can access Kubernetes master through HTTPS. Must be specified in CIDR notation.
- Display
Name string Field for users to identify CIDR blocks.
- cidr
Block string External network that can access Kubernetes master through HTTPS. Must be specified in CIDR notation.
- display
Name string Field for users to identify CIDR blocks.
- cidr_
block str External network that can access Kubernetes master through HTTPS. Must be specified in CIDR notation.
- display_
name str Field for users to identify CIDR blocks.
ClusterNetworkPolicy
ClusterNodeConfig
- Boot
Disk stringKms Key The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
- Disk
Size intGb Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. Defaults to 100GB.
- Disk
Type string Type of the disk attached to each node (e.g. ‘pd-standard’ or ‘pd-ssd’). If unspecified, the default disk type is ‘pd-standard’
- Guest
Accelerators List<ClusterNode Config Guest Accelerator Args> List of the type and count of accelerator cards attached to the instance. Structure documented below.
- Image
Type string The image type to use for this node. Note that changing the image type will delete and recreate all nodes in the node pool.
- Labels Dictionary<string, string>
The Kubernetes labels (key/value pairs) to be applied to each node.
- Local
Ssd intCount The amount of local SSD disks that will be attached to each cluster node. Defaults to 0.
- Machine
Type string The name of a Google Compute Engine machine type. Defaults to
n1-standard-1. To create a custom machine type, value should be set as specified here.- Metadata Dictionary<string, string>
The metadata key/value pairs assigned to instances in the cluster. From GKE
1.12onwards,disable-legacy-endpointsis set totrueby the API; ifmetadatais set but that default value is not included, the provider will attempt to unset the value. To avoid this, set the value in your config.- Min
Cpu stringPlatform Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as
Intel Haswell. See the official documentation for more information.- Oauth
Scopes List<string> The set of Google API scopes to be made available on all of the node VMs under the “default” service account. These can be either FQDNs, or scope aliases. The following scopes are necessary to ensure the correct functioning of the cluster:
- Preemptible bool
A boolean that represents whether or not the underlying node VMs are preemptible. See the official documentation for more information. Defaults to false.
- Sandbox
Config ClusterNode Config Sandbox Config Args GKE Sandbox configuration. When enabling this feature you must specify
image_type = "COS_CONTAINERD"andnode_version = "1.12.7-gke.17"or later to use it. Structure is documented below.- Service
Account string The service account to be used by the Node VMs. If not specified, the “default” service account is used. In order to use the configured
oauth_scopesfor logging and monitoring, the service account being used needs the roles/logging.logWriter and roles/monitoring.metricWriter roles.- Shielded
Instance ClusterConfig Node Config Shielded Instance Config Args Shielded Instance options. Structure is documented below.
- List<string>
The list of instance tags applied to all nodes. Tags are used to identify valid sources or targets for network firewalls.
- Taints
List<Cluster
Node Config Taint Args> A list of Kubernetes taints to apply to nodes. GKE’s API can only set this field on cluster creation. However, GKE will add taints to your nodes if you enable certain features such as GPUs. If this field is set, any diffs on this field will cause the provider to recreate the underlying resource. Taint values can be updated safely in Kubernetes (eg. through
kubectl), and it’s recommended that you do not use this field to manage taints. If you do,lifecycle.ignore_changesis recommended. Structure is documented below.- Workload
Metadata ClusterConfig Node Config Workload Metadata Config Args Metadata configuration to expose to workloads on the node pool. Structure is documented below.
- Boot
Disk stringKms Key The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
- Disk
Size intGb Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. Defaults to 100GB.
- Disk
Type string Type of the disk attached to each node (e.g. ‘pd-standard’ or ‘pd-ssd’). If unspecified, the default disk type is ‘pd-standard’
- Guest
Accelerators []ClusterNode Config Guest Accelerator List of the type and count of accelerator cards attached to the instance. Structure documented below.
- Image
Type string The image type to use for this node. Note that changing the image type will delete and recreate all nodes in the node pool.
- Labels map[string]string
The Kubernetes labels (key/value pairs) to be applied to each node.
- Local
Ssd intCount The amount of local SSD disks that will be attached to each cluster node. Defaults to 0.
- Machine
Type string The name of a Google Compute Engine machine type. Defaults to
n1-standard-1. To create a custom machine type, value should be set as specified here.- Metadata map[string]string
The metadata key/value pairs assigned to instances in the cluster. From GKE
1.12onwards,disable-legacy-endpointsis set totrueby the API; ifmetadatais set but that default value is not included, the provider will attempt to unset the value. To avoid this, set the value in your config.- Min
Cpu stringPlatform Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as
Intel Haswell. See the official documentation for more information.- Oauth
Scopes []string The set of Google API scopes to be made available on all of the node VMs under the “default” service account. These can be either FQDNs, or scope aliases. The following scopes are necessary to ensure the correct functioning of the cluster:
- Preemptible bool
A boolean that represents whether or not the underlying node VMs are preemptible. See the official documentation for more information. Defaults to false.
- Sandbox
Config ClusterNode Config Sandbox Config GKE Sandbox configuration. When enabling this feature you must specify
image_type = "COS_CONTAINERD"andnode_version = "1.12.7-gke.17"or later to use it. Structure is documented below.- Service
Account string The service account to be used by the Node VMs. If not specified, the “default” service account is used. In order to use the configured
oauth_scopesfor logging and monitoring, the service account being used needs the roles/logging.logWriter and roles/monitoring.metricWriter roles.- Shielded
Instance ClusterConfig Node Config Shielded Instance Config Shielded Instance options. Structure is documented below.
- []string
The list of instance tags applied to all nodes. Tags are used to identify valid sources or targets for network firewalls.
- Taints
[]Cluster
Node Config Taint A list of Kubernetes taints to apply to nodes. GKE’s API can only set this field on cluster creation. However, GKE will add taints to your nodes if you enable certain features such as GPUs. If this field is set, any diffs on this field will cause the provider to recreate the underlying resource. Taint values can be updated safely in Kubernetes (eg. through
kubectl), and it’s recommended that you do not use this field to manage taints. If you do,lifecycle.ignore_changesis recommended. Structure is documented below.- Workload
Metadata ClusterConfig Node Config Workload Metadata Config Metadata configuration to expose to workloads on the node pool. Structure is documented below.
- boot
Disk stringKms Key The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
- disk
Size numberGb Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. Defaults to 100GB.
- disk
Type string Type of the disk attached to each node (e.g. ‘pd-standard’ or ‘pd-ssd’). If unspecified, the default disk type is ‘pd-standard’
- guest
Accelerators ClusterNode Config Guest Accelerator[] List of the type and count of accelerator cards attached to the instance. Structure documented below.
- image
Type string The image type to use for this node. Note that changing the image type will delete and recreate all nodes in the node pool.
- labels {[key: string]: string}
The Kubernetes labels (key/value pairs) to be applied to each node.
- local
Ssd numberCount The amount of local SSD disks that will be attached to each cluster node. Defaults to 0.
- machine
Type string The name of a Google Compute Engine machine type. Defaults to
n1-standard-1. To create a custom machine type, value should be set as specified here.- metadata {[key: string]: string}
The metadata key/value pairs assigned to instances in the cluster. From GKE
1.12onwards,disable-legacy-endpointsis set totrueby the API; ifmetadatais set but that default value is not included, the provider will attempt to unset the value. To avoid this, set the value in your config.- min
Cpu stringPlatform Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as
Intel Haswell. See the official documentation for more information.- oauth
Scopes string[] The set of Google API scopes to be made available on all of the node VMs under the “default” service account. These can be either FQDNs, or scope aliases. The following scopes are necessary to ensure the correct functioning of the cluster:
- preemptible boolean
A boolean that represents whether or not the underlying node VMs are preemptible. See the official documentation for more information. Defaults to false.
- sandbox
Config ClusterNode Config Sandbox Config GKE Sandbox configuration. When enabling this feature you must specify
image_type = "COS_CONTAINERD"andnode_version = "1.12.7-gke.17"or later to use it. Structure is documented below.- service
Account string The service account to be used by the Node VMs. If not specified, the “default” service account is used. In order to use the configured
oauth_scopesfor logging and monitoring, the service account being used needs the roles/logging.logWriter and roles/monitoring.metricWriter roles.- shielded
Instance ClusterConfig Node Config Shielded Instance Config Shielded Instance options. Structure is documented below.
- string[]
The list of instance tags applied to all nodes. Tags are used to identify valid sources or targets for network firewalls.
- taints
Cluster
Node Config Taint[] A list of Kubernetes taints to apply to nodes. GKE’s API can only set this field on cluster creation. However, GKE will add taints to your nodes if you enable certain features such as GPUs. If this field is set, any diffs on this field will cause the provider to recreate the underlying resource. Taint values can be updated safely in Kubernetes (eg. through
kubectl), and it’s recommended that you do not use this field to manage taints. If you do,lifecycle.ignore_changesis recommended. Structure is documented below.- workload
Metadata ClusterConfig Node Config Workload Metadata Config Metadata configuration to expose to workloads on the node pool. Structure is documented below.
- boot
Disk strKms Key The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
- disk
Type str Type of the disk attached to each node (e.g. ‘pd-standard’ or ‘pd-ssd’). If unspecified, the default disk type is ‘pd-standard’
- disk_
size_ floatgb Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. Defaults to 100GB.
- guest_
accelerators List[ClusterNode Config Guest Accelerator] List of the type and count of accelerator cards attached to the instance. Structure documented below.
- image
Type str The image type to use for this node. Note that changing the image type will delete and recreate all nodes in the node pool.
- labels Dict[str, str]
The Kubernetes labels (key/value pairs) to be applied to each node.
- local
Ssd floatCount The amount of local SSD disks that will be attached to each cluster node. Defaults to 0.
- machine_
type str The name of a Google Compute Engine machine type. Defaults to
n1-standard-1. To create a custom machine type, value should be set as specified here.- metadata Dict[str, str]
The metadata key/value pairs assigned to instances in the cluster. From GKE
1.12onwards,disable-legacy-endpointsis set totrueby the API; ifmetadatais set but that default value is not included, the provider will attempt to unset the value. To avoid this, set the value in your config.- min_
cpu_ strplatform Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as
Intel Haswell. See the official documentation for more information.- oauth
Scopes List[str] The set of Google API scopes to be made available on all of the node VMs under the “default” service account. These can be either FQDNs, or scope aliases. The following scopes are necessary to ensure the correct functioning of the cluster:
- preemptible bool
A boolean that represents whether or not the underlying node VMs are preemptible. See the official documentation for more information. Defaults to false.
- sandbox
Config Dict[ClusterNode Config Sandbox Config] GKE Sandbox configuration. When enabling this feature you must specify
image_type = "COS_CONTAINERD"andnode_version = "1.12.7-gke.17"or later to use it. Structure is documented below.- service_
account str The service account to be used by the Node VMs. If not specified, the “default” service account is used. In order to use the configured
oauth_scopesfor logging and monitoring, the service account being used needs the roles/logging.logWriter and roles/monitoring.metricWriter roles.- shielded_
instance_ Dict[Clusterconfig Node Config Shielded Instance Config] Shielded Instance options. Structure is documented below.
- List[str]
The list of instance tags applied to all nodes. Tags are used to identify valid sources or targets for network firewalls.
- taints
List[Cluster
Node Config Taint] A list of Kubernetes taints to apply to nodes. GKE’s API can only set this field on cluster creation. However, GKE will add taints to your nodes if you enable certain features such as GPUs. If this field is set, any diffs on this field will cause the provider to recreate the underlying resource. Taint values can be updated safely in Kubernetes (eg. through
kubectl), and it’s recommended that you do not use this field to manage taints. If you do,lifecycle.ignore_changesis recommended. Structure is documented below.- workload
Metadata Dict[ClusterConfig Node Config Workload Metadata Config] Metadata configuration to expose to workloads on the node pool. Structure is documented below.
ClusterNodeConfigGuestAccelerator
ClusterNodeConfigSandboxConfig
- Sandbox
Type string Which sandbox to use for pods in the node pool. Accepted values are:
- Sandbox
Type string Which sandbox to use for pods in the node pool. Accepted values are:
- sandbox
Type string Which sandbox to use for pods in the node pool. Accepted values are:
- sandbox
Type str Which sandbox to use for pods in the node pool. Accepted values are:
ClusterNodeConfigShieldedInstanceConfig
- Enable
Integrity boolMonitoring Defines if the instance has integrity monitoring enabled.
- Enable
Secure boolBoot Defines if the instance has Secure Boot enabled.
- Enable
Integrity boolMonitoring Defines if the instance has integrity monitoring enabled.
- Enable
Secure boolBoot Defines if the instance has Secure Boot enabled.
- enable
Integrity booleanMonitoring Defines if the instance has integrity monitoring enabled.
- enable
Secure booleanBoot Defines if the instance has Secure Boot enabled.
- enable
Integrity boolMonitoring Defines if the instance has integrity monitoring enabled.
- enable
Secure boolBoot Defines if the instance has Secure Boot enabled.
ClusterNodeConfigTaint
ClusterNodeConfigWorkloadMetadataConfig
- Node
Metadata string How to expose the node metadata to the workload running on the node. Accepted values are: * UNSPECIFIED: Not Set * SECURE: Prevent workloads not in hostNetwork from accessing certain VM metadata, specifically kube-env, which contains Kubelet credentials, and the instance identity token. See Metadata Concealment documentation. * EXPOSE: Expose all VM metadata to pods. * GKE_METADATA_SERVER: Enables workload identity on the node.
- Node
Metadata string How to expose the node metadata to the workload running on the node. Accepted values are: * UNSPECIFIED: Not Set * SECURE: Prevent workloads not in hostNetwork from accessing certain VM metadata, specifically kube-env, which contains Kubelet credentials, and the instance identity token. See Metadata Concealment documentation. * EXPOSE: Expose all VM metadata to pods. * GKE_METADATA_SERVER: Enables workload identity on the node.
- node
Metadata string How to expose the node metadata to the workload running on the node. Accepted values are: * UNSPECIFIED: Not Set * SECURE: Prevent workloads not in hostNetwork from accessing certain VM metadata, specifically kube-env, which contains Kubelet credentials, and the instance identity token. See Metadata Concealment documentation. * EXPOSE: Expose all VM metadata to pods. * GKE_METADATA_SERVER: Enables workload identity on the node.
- node
Metadata str How to expose the node metadata to the workload running on the node. Accepted values are: * UNSPECIFIED: Not Set * SECURE: Prevent workloads not in hostNetwork from accessing certain VM metadata, specifically kube-env, which contains Kubelet credentials, and the instance identity token. See Metadata Concealment documentation. * EXPOSE: Expose all VM metadata to pods. * GKE_METADATA_SERVER: Enables workload identity on the node.
ClusterNodePool
- Autoscaling
Cluster
Node Pool Autoscaling Args - Initial
Node intCount The number of nodes to create in this cluster’s default node pool. In regional or multi-zonal clusters, this is the number of nodes per zone. Must be set if
node_poolis not set. If you’re usinggcp.container.NodePoolobjects with no default node pool, you’ll need to set this to a value of at least1, alongside settingremove_default_node_pooltotrue.- Instance
Group List<string>Urls List of instance group URLs which have been assigned to the cluster.
- Management
Cluster
Node Pool Management Args - Max
Pods intPer Node - Name string
The name of the cluster, unique within the project and location.
- Name
Prefix string - Node
Config ClusterNode Pool Node Config Args Parameters used in creating the default node pool. Generally, this field should not be used at the same time as a
gcp.container.NodePoolor anode_poolblock; this configuration manages the default node pool, which isn’t recommended to be used. Structure is documented below.- Node
Count int - Node
Locations List<string> The list of zones in which the cluster’s nodes are located. Nodes must be in the region of their regional cluster or in the same region as their cluster’s zone for zonal clusters. If this is specified for a zonal cluster, omit the cluster’s zone.
- Upgrade
Settings ClusterNode Pool Upgrade Settings Args - Version string
- Autoscaling
Cluster
Node Pool Autoscaling - Initial
Node intCount The number of nodes to create in this cluster’s default node pool. In regional or multi-zonal clusters, this is the number of nodes per zone. Must be set if
node_poolis not set. If you’re usinggcp.container.NodePoolobjects with no default node pool, you’ll need to set this to a value of at least1, alongside settingremove_default_node_pooltotrue.- Instance
Group []stringUrls List of instance group URLs which have been assigned to the cluster.
- Management
Cluster
Node Pool Management - Max
Pods intPer Node - Name string
The name of the cluster, unique within the project and location.
- Name
Prefix string - Node
Config ClusterNode Pool Node Config Parameters used in creating the default node pool. Generally, this field should not be used at the same time as a
gcp.container.NodePoolor anode_poolblock; this configuration manages the default node pool, which isn’t recommended to be used. Structure is documented below.- Node
Count int - Node
Locations []string The list of zones in which the cluster’s nodes are located. Nodes must be in the region of their regional cluster or in the same region as their cluster’s zone for zonal clusters. If this is specified for a zonal cluster, omit the cluster’s zone.
- Upgrade
Settings ClusterNode Pool Upgrade Settings - Version string
- autoscaling
Cluster
Node Pool Autoscaling - initial
Node numberCount The number of nodes to create in this cluster’s default node pool. In regional or multi-zonal clusters, this is the number of nodes per zone. Must be set if
node_poolis not set. If you’re usinggcp.container.NodePoolobjects with no default node pool, you’ll need to set this to a value of at least1, alongside settingremove_default_node_pooltotrue.- instance
Group string[]Urls List of instance group URLs which have been assigned to the cluster.
- management
Cluster
Node Pool Management - max
Pods numberPer Node - name string
The name of the cluster, unique within the project and location.
- name
Prefix string - node
Config ClusterNode Pool Node Config Parameters used in creating the default node pool. Generally, this field should not be used at the same time as a
gcp.container.NodePoolor anode_poolblock; this configuration manages the default node pool, which isn’t recommended to be used. Structure is documented below.- node
Count number - node
Locations string[] The list of zones in which the cluster’s nodes are located. Nodes must be in the region of their regional cluster or in the same region as their cluster’s zone for zonal clusters. If this is specified for a zonal cluster, omit the cluster’s zone.
- upgrade
Settings ClusterNode Pool Upgrade Settings - version string
- autoscaling
Dict[Cluster
Node Pool Autoscaling] - initial_
node_ floatcount The number of nodes to create in this cluster’s default node pool. In regional or multi-zonal clusters, this is the number of nodes per zone. Must be set if
node_poolis not set. If you’re usinggcp.container.NodePoolobjects with no default node pool, you’ll need to set this to a value of at least1, alongside settingremove_default_node_pooltotrue.- instance_
group_ List[str]urls List of instance group URLs which have been assigned to the cluster.
- management
Dict[Cluster
Node Pool Management] - max_
pods_ floatper_ node - name str
The name of the cluster, unique within the project and location.
- name_
prefix str - node_
config Dict[ClusterNode Pool Node Config] Parameters used in creating the default node pool. Generally, this field should not be used at the same time as a
gcp.container.NodePoolor anode_poolblock; this configuration manages the default node pool, which isn’t recommended to be used. Structure is documented below.- node_
count float - node_
locations List[str] The list of zones in which the cluster’s nodes are located. Nodes must be in the region of their regional cluster or in the same region as their cluster’s zone for zonal clusters. If this is specified for a zonal cluster, omit the cluster’s zone.
- upgrade_
settings Dict[ClusterNode Pool Upgrade Settings] - version str
ClusterNodePoolAutoscaling
ClusterNodePoolManagement
ClusterNodePoolNodeConfig
- Boot
Disk stringKms Key The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
- Disk
Size intGb Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. Defaults to 100GB.
- Disk
Type string Type of the disk attached to each node (e.g. ‘pd-standard’ or ‘pd-ssd’). If unspecified, the default disk type is ‘pd-standard’
- Guest
Accelerators List<ClusterNode Pool Node Config Guest Accelerator Args> List of the type and count of accelerator cards attached to the instance. Structure documented below.
- Image
Type string The image type to use for this node. Note that changing the image type will delete and recreate all nodes in the node pool.
- Labels Dictionary<string, string>
The Kubernetes labels (key/value pairs) to be applied to each node.
- Local
Ssd intCount The amount of local SSD disks that will be attached to each cluster node. Defaults to 0.
- Machine
Type string The name of a Google Compute Engine machine type. Defaults to
n1-standard-1. To create a custom machine type, value should be set as specified here.- Metadata Dictionary<string, string>
The metadata key/value pairs assigned to instances in the cluster. From GKE
1.12onwards,disable-legacy-endpointsis set totrueby the API; ifmetadatais set but that default value is not included, the provider will attempt to unset the value. To avoid this, set the value in your config.- Min
Cpu stringPlatform Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as
Intel Haswell. See the official documentation for more information.- Oauth
Scopes List<string> The set of Google API scopes to be made available on all of the node VMs under the “default” service account. These can be either FQDNs, or scope aliases. The following scopes are necessary to ensure the correct functioning of the cluster:
- Preemptible bool
A boolean that represents whether or not the underlying node VMs are preemptible. See the official documentation for more information. Defaults to false.
- Sandbox
Config ClusterNode Pool Node Config Sandbox Config Args GKE Sandbox configuration. When enabling this feature you must specify
image_type = "COS_CONTAINERD"andnode_version = "1.12.7-gke.17"or later to use it. Structure is documented below.- Service
Account string The service account to be used by the Node VMs. If not specified, the “default” service account is used. In order to use the configured
oauth_scopesfor logging and monitoring, the service account being used needs the roles/logging.logWriter and roles/monitoring.metricWriter roles.- Shielded
Instance ClusterConfig Node Pool Node Config Shielded Instance Config Args Shielded Instance options. Structure is documented below.
- List<string>
The list of instance tags applied to all nodes. Tags are used to identify valid sources or targets for network firewalls.
- Taints
List<Cluster
Node Pool Node Config Taint Args> A list of Kubernetes taints to apply to nodes. GKE’s API can only set this field on cluster creation. However, GKE will add taints to your nodes if you enable certain features such as GPUs. If this field is set, any diffs on this field will cause the provider to recreate the underlying resource. Taint values can be updated safely in Kubernetes (eg. through
kubectl), and it’s recommended that you do not use this field to manage taints. If you do,lifecycle.ignore_changesis recommended. Structure is documented below.- Workload
Metadata ClusterConfig Node Pool Node Config Workload Metadata Config Args Metadata configuration to expose to workloads on the node pool. Structure is documented below.
- Boot
Disk stringKms Key The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
- Disk
Size intGb Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. Defaults to 100GB.
- Disk
Type string Type of the disk attached to each node (e.g. ‘pd-standard’ or ‘pd-ssd’). If unspecified, the default disk type is ‘pd-standard’
- Guest
Accelerators []ClusterNode Pool Node Config Guest Accelerator List of the type and count of accelerator cards attached to the instance. Structure documented below.
- Image
Type string The image type to use for this node. Note that changing the image type will delete and recreate all nodes in the node pool.
- Labels map[string]string
The Kubernetes labels (key/value pairs) to be applied to each node.
- Local
Ssd intCount The amount of local SSD disks that will be attached to each cluster node. Defaults to 0.
- Machine
Type string The name of a Google Compute Engine machine type. Defaults to
n1-standard-1. To create a custom machine type, value should be set as specified here.- Metadata map[string]string
The metadata key/value pairs assigned to instances in the cluster. From GKE
1.12onwards,disable-legacy-endpointsis set totrueby the API; ifmetadatais set but that default value is not included, the provider will attempt to unset the value. To avoid this, set the value in your config.- Min
Cpu stringPlatform Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as
Intel Haswell. See the official documentation for more information.- Oauth
Scopes []string The set of Google API scopes to be made available on all of the node VMs under the “default” service account. These can be either FQDNs, or scope aliases. The following scopes are necessary to ensure the correct functioning of the cluster:
- Preemptible bool
A boolean that represents whether or not the underlying node VMs are preemptible. See the official documentation for more information. Defaults to false.
- Sandbox
Config ClusterNode Pool Node Config Sandbox Config GKE Sandbox configuration. When enabling this feature you must specify
image_type = "COS_CONTAINERD"andnode_version = "1.12.7-gke.17"or later to use it. Structure is documented below.- Service
Account string The service account to be used by the Node VMs. If not specified, the “default” service account is used. In order to use the configured
oauth_scopesfor logging and monitoring, the service account being used needs the roles/logging.logWriter and roles/monitoring.metricWriter roles.- Shielded
Instance ClusterConfig Node Pool Node Config Shielded Instance Config Shielded Instance options. Structure is documented below.
- []string
The list of instance tags applied to all nodes. Tags are used to identify valid sources or targets for network firewalls.
- Taints
[]Cluster
Node Pool Node Config Taint A list of Kubernetes taints to apply to nodes. GKE’s API can only set this field on cluster creation. However, GKE will add taints to your nodes if you enable certain features such as GPUs. If this field is set, any diffs on this field will cause the provider to recreate the underlying resource. Taint values can be updated safely in Kubernetes (eg. through
kubectl), and it’s recommended that you do not use this field to manage taints. If you do,lifecycle.ignore_changesis recommended. Structure is documented below.- Workload
Metadata ClusterConfig Node Pool Node Config Workload Metadata Config Metadata configuration to expose to workloads on the node pool. Structure is documented below.
- boot
Disk stringKms Key The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
- disk
Size numberGb Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. Defaults to 100GB.
- disk
Type string Type of the disk attached to each node (e.g. ‘pd-standard’ or ‘pd-ssd’). If unspecified, the default disk type is ‘pd-standard’
- guest
Accelerators ClusterNode Pool Node Config Guest Accelerator[] List of the type and count of accelerator cards attached to the instance. Structure documented below.
- image
Type string The image type to use for this node. Note that changing the image type will delete and recreate all nodes in the node pool.
- labels {[key: string]: string}
The Kubernetes labels (key/value pairs) to be applied to each node.
- local
Ssd numberCount The amount of local SSD disks that will be attached to each cluster node. Defaults to 0.
- machine
Type string The name of a Google Compute Engine machine type. Defaults to
n1-standard-1. To create a custom machine type, value should be set as specified here.- metadata {[key: string]: string}
The metadata key/value pairs assigned to instances in the cluster. From GKE
1.12onwards,disable-legacy-endpointsis set totrueby the API; ifmetadatais set but that default value is not included, the provider will attempt to unset the value. To avoid this, set the value in your config.- min
Cpu stringPlatform Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as
Intel Haswell. See the official documentation for more information.- oauth
Scopes string[] The set of Google API scopes to be made available on all of the node VMs under the “default” service account. These can be either FQDNs, or scope aliases. The following scopes are necessary to ensure the correct functioning of the cluster:
- preemptible boolean
A boolean that represents whether or not the underlying node VMs are preemptible. See the official documentation for more information. Defaults to false.
- sandbox
Config ClusterNode Pool Node Config Sandbox Config GKE Sandbox configuration. When enabling this feature you must specify
image_type = "COS_CONTAINERD"andnode_version = "1.12.7-gke.17"or later to use it. Structure is documented below.- service
Account string The service account to be used by the Node VMs. If not specified, the “default” service account is used. In order to use the configured
oauth_scopesfor logging and monitoring, the service account being used needs the roles/logging.logWriter and roles/monitoring.metricWriter roles.- shielded
Instance ClusterConfig Node Pool Node Config Shielded Instance Config Shielded Instance options. Structure is documented below.
- string[]
The list of instance tags applied to all nodes. Tags are used to identify valid sources or targets for network firewalls.
- taints
Cluster
Node Pool Node Config Taint[] A list of Kubernetes taints to apply to nodes. GKE’s API can only set this field on cluster creation. However, GKE will add taints to your nodes if you enable certain features such as GPUs. If this field is set, any diffs on this field will cause the provider to recreate the underlying resource. Taint values can be updated safely in Kubernetes (eg. through
kubectl), and it’s recommended that you do not use this field to manage taints. If you do,lifecycle.ignore_changesis recommended. Structure is documented below.- workload
Metadata ClusterConfig Node Pool Node Config Workload Metadata Config Metadata configuration to expose to workloads on the node pool. Structure is documented below.
- boot
Disk strKms Key The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
- disk
Type str Type of the disk attached to each node (e.g. ‘pd-standard’ or ‘pd-ssd’). If unspecified, the default disk type is ‘pd-standard’
- disk_
size_ floatgb Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. Defaults to 100GB.
- guest_
accelerators List[ClusterNode Pool Node Config Guest Accelerator] List of the type and count of accelerator cards attached to the instance. Structure documented below.
- image
Type str The image type to use for this node. Note that changing the image type will delete and recreate all nodes in the node pool.
- labels Dict[str, str]
The Kubernetes labels (key/value pairs) to be applied to each node.
- local
Ssd floatCount The amount of local SSD disks that will be attached to each cluster node. Defaults to 0.
- machine_
type str The name of a Google Compute Engine machine type. Defaults to
n1-standard-1. To create a custom machine type, value should be set as specified here.- metadata Dict[str, str]
The metadata key/value pairs assigned to instances in the cluster. From GKE
1.12onwards,disable-legacy-endpointsis set totrueby the API; ifmetadatais set but that default value is not included, the provider will attempt to unset the value. To avoid this, set the value in your config.- min_
cpu_ strplatform Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as
Intel Haswell. See the official documentation for more information.- oauth
Scopes List[str] The set of Google API scopes to be made available on all of the node VMs under the “default” service account. These can be either FQDNs, or scope aliases. The following scopes are necessary to ensure the correct functioning of the cluster:
- preemptible bool
A boolean that represents whether or not the underlying node VMs are preemptible. See the official documentation for more information. Defaults to false.
- sandbox
Config Dict[ClusterNode Pool Node Config Sandbox Config] GKE Sandbox configuration. When enabling this feature you must specify
image_type = "COS_CONTAINERD"andnode_version = "1.12.7-gke.17"or later to use it. Structure is documented below.- service_
account str The service account to be used by the Node VMs. If not specified, the “default” service account is used. In order to use the configured
oauth_scopesfor logging and monitoring, the service account being used needs the roles/logging.logWriter and roles/monitoring.metricWriter roles.- shielded_
instance_ Dict[Clusterconfig Node Pool Node Config Shielded Instance Config] Shielded Instance options. Structure is documented below.
- List[str]
The list of instance tags applied to all nodes. Tags are used to identify valid sources or targets for network firewalls.
- taints
List[Cluster
Node Pool Node Config Taint] A list of Kubernetes taints to apply to nodes. GKE’s API can only set this field on cluster creation. However, GKE will add taints to your nodes if you enable certain features such as GPUs. If this field is set, any diffs on this field will cause the provider to recreate the underlying resource. Taint values can be updated safely in Kubernetes (eg. through
kubectl), and it’s recommended that you do not use this field to manage taints. If you do,lifecycle.ignore_changesis recommended. Structure is documented below.- workload
Metadata Dict[ClusterConfig Node Pool Node Config Workload Metadata Config] Metadata configuration to expose to workloads on the node pool. Structure is documented below.
ClusterNodePoolNodeConfigGuestAccelerator
ClusterNodePoolNodeConfigSandboxConfig
- Sandbox
Type string Which sandbox to use for pods in the node pool. Accepted values are:
- Sandbox
Type string Which sandbox to use for pods in the node pool. Accepted values are:
- sandbox
Type string Which sandbox to use for pods in the node pool. Accepted values are:
- sandbox
Type str Which sandbox to use for pods in the node pool. Accepted values are:
ClusterNodePoolNodeConfigShieldedInstanceConfig
- Enable
Integrity boolMonitoring Defines if the instance has integrity monitoring enabled.
- Enable
Secure boolBoot Defines if the instance has Secure Boot enabled.
- Enable
Integrity boolMonitoring Defines if the instance has integrity monitoring enabled.
- Enable
Secure boolBoot Defines if the instance has Secure Boot enabled.
- enable
Integrity booleanMonitoring Defines if the instance has integrity monitoring enabled.
- enable
Secure booleanBoot Defines if the instance has Secure Boot enabled.
- enable
Integrity boolMonitoring Defines if the instance has integrity monitoring enabled.
- enable
Secure boolBoot Defines if the instance has Secure Boot enabled.
ClusterNodePoolNodeConfigTaint
ClusterNodePoolNodeConfigWorkloadMetadataConfig
- Node
Metadata string How to expose the node metadata to the workload running on the node. Accepted values are: * UNSPECIFIED: Not Set * SECURE: Prevent workloads not in hostNetwork from accessing certain VM metadata, specifically kube-env, which contains Kubelet credentials, and the instance identity token. See Metadata Concealment documentation. * EXPOSE: Expose all VM metadata to pods. * GKE_METADATA_SERVER: Enables workload identity on the node.
- Node
Metadata string How to expose the node metadata to the workload running on the node. Accepted values are: * UNSPECIFIED: Not Set * SECURE: Prevent workloads not in hostNetwork from accessing certain VM metadata, specifically kube-env, which contains Kubelet credentials, and the instance identity token. See Metadata Concealment documentation. * EXPOSE: Expose all VM metadata to pods. * GKE_METADATA_SERVER: Enables workload identity on the node.
- node
Metadata string How to expose the node metadata to the workload running on the node. Accepted values are: * UNSPECIFIED: Not Set * SECURE: Prevent workloads not in hostNetwork from accessing certain VM metadata, specifically kube-env, which contains Kubelet credentials, and the instance identity token. See Metadata Concealment documentation. * EXPOSE: Expose all VM metadata to pods. * GKE_METADATA_SERVER: Enables workload identity on the node.
- node
Metadata str How to expose the node metadata to the workload running on the node. Accepted values are: * UNSPECIFIED: Not Set * SECURE: Prevent workloads not in hostNetwork from accessing certain VM metadata, specifically kube-env, which contains Kubelet credentials, and the instance identity token. See Metadata Concealment documentation. * EXPOSE: Expose all VM metadata to pods. * GKE_METADATA_SERVER: Enables workload identity on the node.
ClusterNodePoolUpgradeSettings
ClusterPodSecurityPolicyConfig
ClusterPrivateClusterConfig
- Enable
Private boolEndpoint When
true, the cluster’s private endpoint is used as the cluster endpoint and access through the public endpoint is disabled. Whenfalse, either endpoint can be used. This field only applies to private clusters, whenenable_private_nodesistrue.- Enable
Private boolNodes Enables the private cluster feature, creating a private endpoint on the cluster. In a private cluster, nodes only have RFC 1918 private addresses and communicate with the master’s private endpoint via private networking.
- Master
Global ClusterAccess Config Private Cluster Config Master Global Access Config Args - Master
Ipv4Cidr stringBlock The IP range in CIDR notation to use for the hosted master network. This range will be used for assigning private IP addresses to the cluster master(s) and the ILB VIP. This range must not overlap with any other ranges in use within the cluster’s network, and it must be a /28 subnet. See Private Cluster Limitations for more details. This field only applies to private clusters, when
enable_private_nodesistrue.- Peering
Name string The name of the peering between this cluster and the Google owned VPC.
- Private
Endpoint string The internal IP address of this cluster’s master endpoint.
- Public
Endpoint string The external IP address of this cluster’s master endpoint.
- Enable
Private boolEndpoint When
true, the cluster’s private endpoint is used as the cluster endpoint and access through the public endpoint is disabled. Whenfalse, either endpoint can be used. This field only applies to private clusters, whenenable_private_nodesistrue.- Enable
Private boolNodes Enables the private cluster feature, creating a private endpoint on the cluster. In a private cluster, nodes only have RFC 1918 private addresses and communicate with the master’s private endpoint via private networking.
- Master
Global ClusterAccess Config Private Cluster Config Master Global Access Config - Master
Ipv4Cidr stringBlock The IP range in CIDR notation to use for the hosted master network. This range will be used for assigning private IP addresses to the cluster master(s) and the ILB VIP. This range must not overlap with any other ranges in use within the cluster’s network, and it must be a /28 subnet. See Private Cluster Limitations for more details. This field only applies to private clusters, when
enable_private_nodesistrue.- Peering
Name string The name of the peering between this cluster and the Google owned VPC.
- Private
Endpoint string The internal IP address of this cluster’s master endpoint.
- Public
Endpoint string The external IP address of this cluster’s master endpoint.
- enable
Private booleanEndpoint When
true, the cluster’s private endpoint is used as the cluster endpoint and access through the public endpoint is disabled. Whenfalse, either endpoint can be used. This field only applies to private clusters, whenenable_private_nodesistrue.- enable
Private booleanNodes Enables the private cluster feature, creating a private endpoint on the cluster. In a private cluster, nodes only have RFC 1918 private addresses and communicate with the master’s private endpoint via private networking.
- master
Global ClusterAccess Config Private Cluster Config Master Global Access Config - master
Ipv4Cidr stringBlock The IP range in CIDR notation to use for the hosted master network. This range will be used for assigning private IP addresses to the cluster master(s) and the ILB VIP. This range must not overlap with any other ranges in use within the cluster’s network, and it must be a /28 subnet. See Private Cluster Limitations for more details. This field only applies to private clusters, when
enable_private_nodesistrue.- peering
Name string The name of the peering between this cluster and the Google owned VPC.
- private
Endpoint string The internal IP address of this cluster’s master endpoint.
- public
Endpoint string The external IP address of this cluster’s master endpoint.
- enable
Private boolEndpoint When
true, the cluster’s private endpoint is used as the cluster endpoint and access through the public endpoint is disabled. Whenfalse, either endpoint can be used. This field only applies to private clusters, whenenable_private_nodesistrue.- enable
Private boolNodes Enables the private cluster feature, creating a private endpoint on the cluster. In a private cluster, nodes only have RFC 1918 private addresses and communicate with the master’s private endpoint via private networking.
- master
Global Dict[ClusterAccess Config Private Cluster Config Master Global Access Config] - master
Ipv4Cidr strBlock The IP range in CIDR notation to use for the hosted master network. This range will be used for assigning private IP addresses to the cluster master(s) and the ILB VIP. This range must not overlap with any other ranges in use within the cluster’s network, and it must be a /28 subnet. See Private Cluster Limitations for more details. This field only applies to private clusters, when
enable_private_nodesistrue.- peering
Name str The name of the peering between this cluster and the Google owned VPC.
- private
Endpoint str The internal IP address of this cluster’s master endpoint.
- public
Endpoint str The external IP address of this cluster’s master endpoint.
ClusterPrivateClusterConfigMasterGlobalAccessConfig
ClusterReleaseChannel
- Channel string
The selected release channel. Accepted values are: * UNSPECIFIED: Not set. * RAPID: Weekly upgrade cadence; Early testers and developers who requires new features. * REGULAR: Multiple per month upgrade cadence; Production users who need features not yet offered in the Stable channel. * STABLE: Every few months upgrade cadence; Production users who need stability above all else, and for whom frequent upgrades are too risky.
- Channel string
The selected release channel. Accepted values are: * UNSPECIFIED: Not set. * RAPID: Weekly upgrade cadence; Early testers and developers who requires new features. * REGULAR: Multiple per month upgrade cadence; Production users who need features not yet offered in the Stable channel. * STABLE: Every few months upgrade cadence; Production users who need stability above all else, and for whom frequent upgrades are too risky.
- channel string
The selected release channel. Accepted values are: * UNSPECIFIED: Not set. * RAPID: Weekly upgrade cadence; Early testers and developers who requires new features. * REGULAR: Multiple per month upgrade cadence; Production users who need features not yet offered in the Stable channel. * STABLE: Every few months upgrade cadence; Production users who need stability above all else, and for whom frequent upgrades are too risky.
- channel str
The selected release channel. Accepted values are: * UNSPECIFIED: Not set. * RAPID: Weekly upgrade cadence; Early testers and developers who requires new features. * REGULAR: Multiple per month upgrade cadence; Production users who need features not yet offered in the Stable channel. * STABLE: Every few months upgrade cadence; Production users who need stability above all else, and for whom frequent upgrades are too risky.
ClusterResourceUsageExportConfig
- Bigquery
Destination ClusterResource Usage Export Config Bigquery Destination Args Parameters for using BigQuery as the destination of resource usage export.
- Enable
Network boolEgress Metering Whether to enable network egress metering for this cluster. If enabled, a daemonset will be created in the cluster to meter network egress traffic.
- Enable
Resource boolConsumption Metering Whether to enable resource consumption metering on this cluster. When enabled, a table will be created in the resource export BigQuery dataset to store resource consumption data. The resulting table can be joined with the resource usage table or with BigQuery billing export. Defaults to
true.
- Bigquery
Destination ClusterResource Usage Export Config Bigquery Destination Parameters for using BigQuery as the destination of resource usage export.
- Enable
Network boolEgress Metering Whether to enable network egress metering for this cluster. If enabled, a daemonset will be created in the cluster to meter network egress traffic.
- Enable
Resource boolConsumption Metering Whether to enable resource consumption metering on this cluster. When enabled, a table will be created in the resource export BigQuery dataset to store resource consumption data. The resulting table can be joined with the resource usage table or with BigQuery billing export. Defaults to
true.
- bigquery
Destination ClusterResource Usage Export Config Bigquery Destination Parameters for using BigQuery as the destination of resource usage export.
- enable
Network booleanEgress Metering Whether to enable network egress metering for this cluster. If enabled, a daemonset will be created in the cluster to meter network egress traffic.
- enable
Resource booleanConsumption Metering Whether to enable resource consumption metering on this cluster. When enabled, a table will be created in the resource export BigQuery dataset to store resource consumption data. The resulting table can be joined with the resource usage table or with BigQuery billing export. Defaults to
true.
- bigquery
Destination Dict[ClusterResource Usage Export Config Bigquery Destination] Parameters for using BigQuery as the destination of resource usage export.
- enable
Network boolEgress Metering Whether to enable network egress metering for this cluster. If enabled, a daemonset will be created in the cluster to meter network egress traffic.
- enable
Resource boolConsumption Metering Whether to enable resource consumption metering on this cluster. When enabled, a table will be created in the resource export BigQuery dataset to store resource consumption data. The resulting table can be joined with the resource usage table or with BigQuery billing export. Defaults to
true.
ClusterResourceUsageExportConfigBigqueryDestination
ClusterVerticalPodAutoscaling
ClusterWorkloadIdentityConfig
- Identity
Namespace string Currently, the only supported identity namespace is the project’s default.
- Identity
Namespace string Currently, the only supported identity namespace is the project’s default.
- identity
Namespace string Currently, the only supported identity namespace is the project’s default.
- identity
Namespace str Currently, the only supported identity namespace is the project’s default.
Package Details
- Repository
- https://github.com/pulumi/pulumi-gcp
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
google-betaTerraform Provider.