container

This provider is a derived work of the Terraform Provider distributed under MPL 2.0. If you encounter a bug or missing feature, first check the pulumi/pulumi-gcp repo; however, if that doesn’t turn up anything, please consult the source terraform-providers/terraform-provider-google repo.

class pulumi_gcp.container.AwaitableGetClusterResult(additional_zones=None, addons_configs=None, authenticator_groups_configs=None, cluster_autoscalings=None, cluster_ipv4_cidr=None, database_encryptions=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_policies=None, location=None, logging_service=None, maintenance_policies=None, master_auths=None, master_authorized_networks_configs=None, master_version=None, min_master_version=None, monitoring_service=None, name=None, network=None, network_policies=None, node_configs=None, node_locations=None, node_pools=None, node_version=None, pod_security_policy_configs=None, private_cluster_configs=None, project=None, region=None, release_channels=None, remove_default_node_pool=None, resource_labels=None, resource_usage_export_configs=None, services_ipv4_cidr=None, subnetwork=None, tpu_ipv4_cidr_block=None, vertical_pod_autoscalings=None, workload_identity_configs=None, zone=None, id=None)
class pulumi_gcp.container.AwaitableGetEngineVersionsResult(default_cluster_version=None, latest_master_version=None, latest_node_version=None, location=None, project=None, region=None, valid_master_versions=None, valid_node_versions=None, version_prefix=None, zone=None, id=None)
class pulumi_gcp.container.AwaitableGetRegistryImageResult(digest=None, image_url=None, name=None, project=None, region=None, tag=None, id=None)
class pulumi_gcp.container.AwaitableGetRegistryRepositoryResult(project=None, region=None, repository_url=None, id=None)
class pulumi_gcp.container.Cluster(resource_name, opts=None, additional_zones=None, addons_config=None, authenticator_groups_config=None, cluster_autoscaling=None, cluster_ipv4_cidr=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, node_config=None, node_locations=None, node_pools=None, node_version=None, pod_security_policy_config=None, private_cluster_config=None, project=None, region=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, zone=None, __props__=None, __name__=None, __opts__=None)

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 sensitive data in state.

Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • additional_zones (pulumi.Input[list]) – The list of zones in which the cluster’s nodes should be located. These must be in the same region as the cluster zone for zonal clusters, or in the region of a regional cluster. In a multi-zonal cluster, the number of nodes specified in initial_node_count is created in all specified zones as well as the primary zone. If specified for a regional cluster, nodes will only be created in these zones. additional_zones has been deprecated in favour of node_locations.

  • addons_config (pulumi.Input[dict]) – The configuration for addons supported by GKE. Structure is documented below.

  • authenticator_groups_config (pulumi.Input[dict]) – ) Configuration for the Google Groups for GKE feature. Structure is documented below.

  • cluster_autoscaling (pulumi.Input[dict]) –

    ) 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_cidr (pulumi.Input[str]) – 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 /14 block in 10.0.0.0/8. This field will only work if your cluster is not VPC-native- when an ip_allocation_policy block is not defined, or ip_allocation_policy.use_ip_aliases is set to false. If your cluster is VPC-native, use ip_allocation_policy.cluster_ipv4_cidr_block.

  • database_encryption (pulumi.Input[dict]) – ). Structure is documented below.

  • default_max_pods_per_node (pulumi.Input[float]) – 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 (pulumi.Input[str]) – Description of the cluster.

  • enable_binary_authorization (pulumi.Input[bool]) – ) Enable Binary Authorization for this cluster. If enabled, all container images will be validated by Google Binary Authorization.

  • enable_intranode_visibility (pulumi.Input[bool]) –

    ) Whether Intra-node visibility is enabled for this cluster. This makes same node pod to pod traffic visible for VPC network.

  • enable_kubernetes_alpha (pulumi.Input[bool]) – 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_abac (pulumi.Input[bool]) – 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_nodes (pulumi.Input[bool]) – ) Enable Shielded Nodes features on all nodes in this cluster. Defaults to false.

  • enable_tpu (pulumi.Input[bool]) –

    ) Whether to enable Cloud TPU resources in this cluster. See the official documentation.

  • initial_node_count (pulumi.Input[float]) – 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_pool is not set. If you’re using container.NodePool objects with no default node pool, you’ll need to set this to a value of at least 1, alongside setting remove_default_node_pool to true.

  • ip_allocation_policy (pulumi.Input[dict]) –

    Configuration for cluster IP allocation. As of now, only pre-allocated subnetworks (custom type with secondary ranges) are supported. This will activate IP aliases. See the official documentation Structure is documented below. This field is marked to use Attribute as Block in order to support explicit removal with ip_allocation_policy = [].

  • location (pulumi.Input[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 as us-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 (pulumi.Input[str]) – The logging service that the cluster should write logs to. Available options include logging.googleapis.com, logging.googleapis.com/kubernetes, and none. Defaults to logging.googleapis.com

  • maintenance_policy (pulumi.Input[dict]) – The maintenance policy to use for the cluster. Structure is documented below.

  • master_auth (pulumi.Input[dict]) – 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.getCredentials permission. Structure is documented below.

  • master_authorized_networks_config (pulumi.Input[dict]) – The desired configuration options for master authorized networks. Omit the nested cidr_blocks attribute to disallow external access (except the cluster node IPs, which GKE automatically whitelists).

  • min_master_version (pulumi.Input[str]) – 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_version field 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 the container.getEngineVersions data source useful - it indicates which versions are available, and can be use to approximate fuzzy versions. If you intend to specify versions manually, the docs describe the various acceptable formats for this field.

  • monitoring_service (pulumi.Input[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, monitoring.googleapis.com/kubernetes, and none. Defaults to monitoring.googleapis.com

  • name (pulumi.Input[str]) – The name of the cluster, unique within the project and location.

  • network (pulumi.Input[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 (pulumi.Input[dict]) – Configuration options for the NetworkPolicy feature. Structure is documented below.

  • node_config (pulumi.Input[dict]) – Parameters used in creating the default node pool. Generally, this field should not be used at the same time as a container.NodePool or a node_pool block; this configuration manages the default node pool, which isn’t recommended to be used with this provider. Structure is documented below.

  • node_locations (pulumi.Input[list]) – 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 (pulumi.Input[list]) – List of node pools associated with this cluster. See 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 container.NodePool resource instead of this property.

  • node_version (pulumi.Input[str]) – The Kubernetes version on the nodes. Must either be unset or set to the same value as min_master_version on 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 this provider will see spurious diffs when fuzzy versions are used. See the container.getEngineVersions data source’s version_prefix field to approximate fuzzy versions. To update nodes in other node pools, use the version attribute on the node pool.

  • pod_security_policy_config (pulumi.Input[dict]) – ) Configuration for the PodSecurityPolicy feature. Structure is documented below.

  • private_cluster_config (pulumi.Input[dict]) – Configuration for private clusters, clusters with private nodes. Structure is documented below.

  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

  • release_channel (pulumi.Input[dict]) – ) Configuration options for the Release channel feature, which provide more control over automatic upgrades of your GKE clusters. Structure is documented below.

  • remove_default_node_pool (pulumi.Input[bool]) – If true, deletes the default node pool upon cluster creation. If you’re using container.NodePool resources with no default node pool, this should be set to true, alongside setting initial_node_count to at least 1.

  • resource_labels (pulumi.Input[dict]) – The GCE resource labels (a map of key/value pairs) to be applied to the cluster.

  • resource_usage_export_config (pulumi.Input[dict]) – ) Configuration for the ResourceUsageExportConfig feature. Structure is documented below.

  • subnetwork (pulumi.Input[str]) – The name or self_link of the Google Compute Engine subnetwork in which the cluster’s instances are launched.

  • vertical_pod_autoscaling (pulumi.Input[dict]) –

    ) Vertical Pod Autoscaling automatically adjusts the resources of pods controlled by it. Structure is documented below.

  • workload_identity_config (pulumi.Input[dict]) –

    ) Workload Identity allows Kubernetes service accounts to act as a user-managed Google IAM Service Account. Structure is documented below.

  • zone (pulumi.Input[str]) – The zone that the cluster master and nodes should be created in. If specified, this cluster will be a zonal cluster. zone has been deprecated in favour of location.

The addons_config object supports the following:

  • cloudrunConfig (pulumi.Input[dict])

    • disabled (pulumi.Input[bool])

  • horizontalPodAutoscaling (pulumi.Input[dict])

    • disabled (pulumi.Input[bool])

  • httpLoadBalancing (pulumi.Input[dict])

    • disabled (pulumi.Input[bool])

  • istioConfig (pulumi.Input[dict])

    • auth (pulumi.Input[str])

    • disabled (pulumi.Input[bool])

  • kubernetesDashboard (pulumi.Input[dict])

    • disabled (pulumi.Input[bool])

  • networkPolicyConfig (pulumi.Input[dict])

    • disabled (pulumi.Input[bool])

The authenticator_groups_config object supports the following:

  • securityGroup (pulumi.Input[str])

The cluster_autoscaling object supports the following:

  • enabled (pulumi.Input[bool])

  • resourceLimits (pulumi.Input[list])

    • maximum (pulumi.Input[float])

    • minimum (pulumi.Input[float])

    • resourceType (pulumi.Input[str])

The database_encryption object supports the following:

  • keyName (pulumi.Input[str])

  • state (pulumi.Input[str])

The ip_allocation_policy object supports the following:

  • clusterIpv4CidrBlock (pulumi.Input[str])

  • clusterSecondaryRangeName (pulumi.Input[str])

  • createSubnetwork (pulumi.Input[bool])

  • nodeIpv4CidrBlock (pulumi.Input[str])

  • servicesIpv4CidrBlock (pulumi.Input[str])

  • servicesSecondaryRangeName (pulumi.Input[str])

  • subnetworkName (pulumi.Input[str])

  • useIpAliases (pulumi.Input[bool])

The maintenance_policy object supports the following:

  • dailyMaintenanceWindow (pulumi.Input[dict])

    • duration (pulumi.Input[str])

    • startTime (pulumi.Input[str])

  • recurringWindow (pulumi.Input[dict])

    • endTime (pulumi.Input[str])

    • recurrence (pulumi.Input[str])

    • startTime (pulumi.Input[str])

The master_auth object supports the following:

  • clientCertificate (pulumi.Input[str])

  • clientCertificateConfig (pulumi.Input[dict])

    • issueClientCertificate (pulumi.Input[bool])

  • clientKey (pulumi.Input[str])

  • clusterCaCertificate (pulumi.Input[str])

  • password (pulumi.Input[str])

  • username (pulumi.Input[str])

The master_authorized_networks_config object supports the following:

  • cidrBlocks (pulumi.Input[list])

    • cidrBlock (pulumi.Input[str])

    • display_name (pulumi.Input[str])

The network_policy object supports the following:

  • enabled (pulumi.Input[bool])

  • provider (pulumi.Input[str])

The node_config object supports the following:

  • disk_size_gb (pulumi.Input[float])

  • diskType (pulumi.Input[str])

  • guest_accelerators (pulumi.Input[list])

    • count (pulumi.Input[float])

    • type (pulumi.Input[str])

  • imageType (pulumi.Input[str])

  • labels (pulumi.Input[dict])

  • localSsdCount (pulumi.Input[float])

  • machine_type (pulumi.Input[str])

  • metadata (pulumi.Input[dict])

  • min_cpu_platform (pulumi.Input[str])

  • oauthScopes (pulumi.Input[list])

  • preemptible (pulumi.Input[bool])

  • sandboxConfig (pulumi.Input[dict])

    • sandboxType (pulumi.Input[str])

  • service_account (pulumi.Input[str])

  • shielded_instance_config (pulumi.Input[dict])

    • enableIntegrityMonitoring (pulumi.Input[bool])

    • enableSecureBoot (pulumi.Input[bool])

  • tags (pulumi.Input[list])

  • taints (pulumi.Input[list])

    • effect (pulumi.Input[str])

    • key (pulumi.Input[str])

    • value (pulumi.Input[str])

  • workloadMetadataConfig (pulumi.Input[dict])

    • nodeMetadata (pulumi.Input[str])

The node_pools object supports the following:

  • autoscaling (pulumi.Input[dict])

    • maxNodeCount (pulumi.Input[float])

    • minNodeCount (pulumi.Input[float])

  • initial_node_count (pulumi.Input[float]) - 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_pool is not set. If you’re using container.NodePool objects with no default node pool, you’ll need to set this to a value of at least 1, alongside setting remove_default_node_pool to true.

  • instance_group_urls (pulumi.Input[list]) - List of instance group URLs which have been assigned to the cluster.

  • management (pulumi.Input[dict])

    • autoRepair (pulumi.Input[bool])

    • autoUpgrade (pulumi.Input[bool])

  • max_pods_per_node (pulumi.Input[float])

  • name (pulumi.Input[str]) - The name of the cluster, unique within the project and location.

  • name_prefix (pulumi.Input[str])

  • node_config (pulumi.Input[dict]) - Parameters used in creating the default node pool. Generally, this field should not be used at the same time as a container.NodePool or a node_pool block; this configuration manages the default node pool, which isn’t recommended to be used with this provider. Structure is documented below.

    • disk_size_gb (pulumi.Input[float])

    • diskType (pulumi.Input[str])

    • guest_accelerators (pulumi.Input[list])

      • count (pulumi.Input[float])

      • type (pulumi.Input[str])

    • imageType (pulumi.Input[str])

    • labels (pulumi.Input[dict])

    • localSsdCount (pulumi.Input[float])

    • machine_type (pulumi.Input[str])

    • metadata (pulumi.Input[dict])

    • min_cpu_platform (pulumi.Input[str])

    • oauthScopes (pulumi.Input[list])

    • preemptible (pulumi.Input[bool])

    • sandboxConfig (pulumi.Input[dict])

      • sandboxType (pulumi.Input[str])

    • service_account (pulumi.Input[str])

    • shielded_instance_config (pulumi.Input[dict])

      • enableIntegrityMonitoring (pulumi.Input[bool])

      • enableSecureBoot (pulumi.Input[bool])

    • tags (pulumi.Input[list])

    • taints (pulumi.Input[list])

      • effect (pulumi.Input[str])

      • key (pulumi.Input[str])

      • value (pulumi.Input[str])

    • workloadMetadataConfig (pulumi.Input[dict])

      • nodeMetadata (pulumi.Input[str])

  • node_count (pulumi.Input[float])

  • node_locations (pulumi.Input[list]) - 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.

  • version (pulumi.Input[str])

The pod_security_policy_config object supports the following:

  • enabled (pulumi.Input[bool])

The private_cluster_config object supports the following:

  • enablePrivateEndpoint (pulumi.Input[bool])

  • enablePrivateNodes (pulumi.Input[bool])

  • masterIpv4CidrBlock (pulumi.Input[str])

  • privateEndpoint (pulumi.Input[str])

  • publicEndpoint (pulumi.Input[str])

The release_channel object supports the following:

  • channel (pulumi.Input[str])

The resource_usage_export_config object supports the following:

  • bigqueryDestination (pulumi.Input[dict])

    • dataset_id (pulumi.Input[str])

  • enableNetworkEgressMetering (pulumi.Input[bool])

The vertical_pod_autoscaling object supports the following:

  • enabled (pulumi.Input[bool])

The workload_identity_config object supports the following:

  • identityNamespace (pulumi.Input[str])

additional_zones = None

The list of zones in which the cluster’s nodes should be located. These must be in the same region as the cluster zone for zonal clusters, or in the region of a regional cluster. In a multi-zonal cluster, the number of nodes specified in initial_node_count is created in all specified zones as well as the primary zone. If specified for a regional cluster, nodes will only be created in these zones. additional_zones has been deprecated in favour of node_locations.

addons_config = None

The configuration for addons supported by GKE. Structure is documented below.

  • cloudrunConfig (dict)

    • disabled (bool)

  • horizontalPodAutoscaling (dict)

    • disabled (bool)

  • httpLoadBalancing (dict)

    • disabled (bool)

  • istioConfig (dict)

    • auth (str)

    • disabled (bool)

  • kubernetesDashboard (dict)

    • disabled (bool)

  • networkPolicyConfig (dict)

    • disabled (bool)

authenticator_groups_config = None

) Configuration for the Google Groups for GKE feature. Structure is documented below.

  • securityGroup (str)

cluster_autoscaling = None

) 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.

  • enabled (bool)

  • resourceLimits (list)

    • maximum (float)

    • minimum (float)

    • resourceType (str)

cluster_ipv4_cidr = None

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 /14 block in 10.0.0.0/8. This field will only work if your cluster is not VPC-native- when an ip_allocation_policy block is not defined, or ip_allocation_policy.use_ip_aliases is set to false. If your cluster is VPC-native, use ip_allocation_policy.cluster_ipv4_cidr_block.

database_encryption = None

). Structure is documented below.

  • keyName (str)

  • state (str)

default_max_pods_per_node = None

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 = None

Description of the cluster.

enable_binary_authorization = None

) Enable Binary Authorization for this cluster. If enabled, all container images will be validated by Google Binary Authorization.

enable_intranode_visibility = None

) Whether Intra-node visibility is enabled for this cluster. This makes same node pod to pod traffic visible for VPC network.

enable_kubernetes_alpha = None

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_abac = None

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_nodes = None

) Enable Shielded Nodes features on all nodes in this cluster. Defaults to false.

enable_tpu = None

) Whether to enable Cloud TPU resources in this cluster. See the official documentation.

endpoint = None

The IP address of this cluster’s Kubernetes master.

initial_node_count = None

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_pool is not set. If you’re using container.NodePool objects with no default node pool, you’ll need to set this to a value of at least 1, alongside setting remove_default_node_pool to true.

instance_group_urls = None

List of instance group URLs which have been assigned to the cluster.

ip_allocation_policy = None

Configuration for cluster IP allocation. As of now, only pre-allocated subnetworks (custom type with secondary ranges) are supported. This will activate IP aliases. See the official documentation Structure is documented below. This field is marked to use Attribute as Block in order to support explicit removal with ip_allocation_policy = [].

  • clusterIpv4CidrBlock (str)

  • clusterSecondaryRangeName (str)

  • createSubnetwork (bool)

  • nodeIpv4CidrBlock (str)

  • servicesIpv4CidrBlock (str)

  • servicesSecondaryRangeName (str)

  • subnetworkName (str)

  • useIpAliases (bool)

location = None

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 as us-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 = None

The logging service that the cluster should write logs to. Available options include logging.googleapis.com, logging.googleapis.com/kubernetes, and none. Defaults to logging.googleapis.com

maintenance_policy = None

The maintenance policy to use for the cluster. Structure is documented below.

  • dailyMaintenanceWindow (dict)

    • duration (str)

    • startTime (str)

  • recurringWindow (dict)

    • endTime (str)

    • recurrence (str)

    • startTime (str)

master_auth = None

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.getCredentials permission. Structure is documented below.

  • clientCertificate (str)

  • clientCertificateConfig (dict)

    • issueClientCertificate (bool)

  • clientKey (str)

  • clusterCaCertificate (str)

  • password (str)

  • username (str)

master_authorized_networks_config = None

The desired configuration options for master authorized networks. Omit the nested cidr_blocks attribute to disallow external access (except the cluster node IPs, which GKE automatically whitelists).

  • cidrBlocks (list)

    • cidrBlock (str)

    • display_name (str)

master_version = None

The current version of the master in the cluster. This may be different than the min_master_version set in the config if the master has been updated by GKE.

min_master_version = None

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_version field 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 the container.getEngineVersions data source useful - it indicates which versions are available, and can be use to approximate fuzzy versions. If you intend to specify versions manually, the docs describe the various acceptable formats for this field.

monitoring_service = None

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, monitoring.googleapis.com/kubernetes, and none. Defaults to monitoring.googleapis.com

name = None

The name of the cluster, unique within the project and location.

network = None

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 = None

Configuration options for the NetworkPolicy feature. Structure is documented below.

  • enabled (bool)

  • provider (str)

node_config = None

Parameters used in creating the default node pool. Generally, this field should not be used at the same time as a container.NodePool or a node_pool block; this configuration manages the default node pool, which isn’t recommended to be used with this provider. Structure is documented below.

  • disk_size_gb (float)

  • diskType (str)

  • guest_accelerators (list)

    • count (float)

    • type (str)

  • imageType (str)

  • labels (dict)

  • localSsdCount (float)

  • machine_type (str)

  • metadata (dict)

  • min_cpu_platform (str)

  • oauthScopes (list)

  • preemptible (bool)

  • sandboxConfig (dict)

    • sandboxType (str)

  • service_account (str)

  • shielded_instance_config (dict)

    • enableIntegrityMonitoring (bool)

    • enableSecureBoot (bool)

  • tags (list)

  • taints (list)

    • effect (str)

    • key (str)

    • value (str)

  • workloadMetadataConfig (dict)

    • nodeMetadata (str)

node_locations = None

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 = None

List of node pools associated with this cluster. See 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 container.NodePool resource instead of this property.

  • autoscaling (dict)

    • maxNodeCount (float)

    • minNodeCount (float)

  • initial_node_count (float) - 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_pool is not set. If you’re using container.NodePool objects with no default node pool, you’ll need to set this to a value of at least 1, alongside setting remove_default_node_pool to true.

  • instance_group_urls (list) - List of instance group URLs which have been assigned to the cluster.

  • management (dict)

    • autoRepair (bool)

    • autoUpgrade (bool)

  • max_pods_per_node (float)

  • name (str) - The name of the cluster, unique within the project and location.

  • name_prefix (str)

  • node_config (dict) - Parameters used in creating the default node pool. Generally, this field should not be used at the same time as a container.NodePool or a node_pool block; this configuration manages the default node pool, which isn’t recommended to be used with this provider. Structure is documented below.

    • disk_size_gb (float)

    • diskType (str)

    • guest_accelerators (list)

      • count (float)

      • type (str)

    • imageType (str)

    • labels (dict)

    • localSsdCount (float)

    • machine_type (str)

    • metadata (dict)

    • min_cpu_platform (str)

    • oauthScopes (list)

    • preemptible (bool)

    • sandboxConfig (dict)

      • sandboxType (str)

    • service_account (str)

    • shielded_instance_config (dict)

      • enableIntegrityMonitoring (bool)

      • enableSecureBoot (bool)

    • tags (list)

    • taints (list)

      • effect (str)

      • key (str)

      • value (str)

    • workloadMetadataConfig (dict)

      • nodeMetadata (str)

  • node_count (float)

  • node_locations (list) - 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.

  • version (str)

node_version = None

The Kubernetes version on the nodes. Must either be unset or set to the same value as min_master_version on 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 this provider will see spurious diffs when fuzzy versions are used. See the container.getEngineVersions data source’s version_prefix field to approximate fuzzy versions. To update nodes in other node pools, use the version attribute on the node pool.

pod_security_policy_config = None

) Configuration for the PodSecurityPolicy feature. Structure is documented below.

  • enabled (bool)

private_cluster_config = None

Configuration for private clusters, clusters with private nodes. Structure is documented below.

  • enablePrivateEndpoint (bool)

  • enablePrivateNodes (bool)

  • masterIpv4CidrBlock (str)

  • privateEndpoint (str)

  • publicEndpoint (str)

project = None

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

release_channel = None

) Configuration options for the Release channel feature, which provide more control over automatic upgrades of your GKE clusters. Structure is documented below.

  • channel (str)

remove_default_node_pool = None

If true, deletes the default node pool upon cluster creation. If you’re using container.NodePool resources with no default node pool, this should be set to true, alongside setting initial_node_count to at least 1.

resource_labels = None

The GCE resource labels (a map of key/value pairs) to be applied to the cluster.

resource_usage_export_config = None

) Configuration for the ResourceUsageExportConfig feature. Structure is documented below.

  • bigqueryDestination (dict)

    • dataset_id (str)

  • enableNetworkEgressMetering (bool)

services_ipv4_cidr = None

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 /16 from the container CIDR.

subnetwork = None

The name or self_link of the Google Compute Engine subnetwork in which the cluster’s instances are launched.

vertical_pod_autoscaling = None

) Vertical Pod Autoscaling automatically adjusts the resources of pods controlled by it. Structure is documented below.

  • enabled (bool)

workload_identity_config = None

) Workload Identity allows Kubernetes service accounts to act as a user-managed Google IAM Service Account. Structure is documented below.

  • identityNamespace (str)

zone = None

The zone that the cluster master and nodes should be created in. If specified, this cluster will be a zonal cluster. zone has been deprecated in favour of location.

static get(resource_name, id, opts=None, additional_zones=None, addons_config=None, authenticator_groups_config=None, cluster_autoscaling=None, cluster_ipv4_cidr=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, 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, node_config=None, node_locations=None, node_pools=None, node_version=None, pod_security_policy_config=None, private_cluster_config=None, project=None, region=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, zone=None)

Get an existing Cluster resource’s state with the given name, id, and optional extra properties used to qualify the lookup.

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • additional_zones (pulumi.Input[list]) – The list of zones in which the cluster’s nodes should be located. These must be in the same region as the cluster zone for zonal clusters, or in the region of a regional cluster. In a multi-zonal cluster, the number of nodes specified in initial_node_count is created in all specified zones as well as the primary zone. If specified for a regional cluster, nodes will only be created in these zones. additional_zones has been deprecated in favour of node_locations.

  • addons_config (pulumi.Input[dict]) – The configuration for addons supported by GKE. Structure is documented below.

  • authenticator_groups_config (pulumi.Input[dict]) –

    ) Configuration for the Google Groups for GKE feature. Structure is documented below.

  • cluster_autoscaling (pulumi.Input[dict]) –

    ) 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_cidr (pulumi.Input[str]) – 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 /14 block in 10.0.0.0/8. This field will only work if your cluster is not VPC-native- when an ip_allocation_policy block is not defined, or ip_allocation_policy.use_ip_aliases is set to false. If your cluster is VPC-native, use ip_allocation_policy.cluster_ipv4_cidr_block.

  • database_encryption (pulumi.Input[dict]) – ). Structure is documented below.

  • default_max_pods_per_node (pulumi.Input[float]) –

    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 (pulumi.Input[str]) – Description of the cluster.

  • enable_binary_authorization (pulumi.Input[bool]) – ) Enable Binary Authorization for this cluster. If enabled, all container images will be validated by Google Binary Authorization.

  • enable_intranode_visibility (pulumi.Input[bool]) –

    ) Whether Intra-node visibility is enabled for this cluster. This makes same node pod to pod traffic visible for VPC network.

  • enable_kubernetes_alpha (pulumi.Input[bool]) – 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_abac (pulumi.Input[bool]) – 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_nodes (pulumi.Input[bool]) – ) Enable Shielded Nodes features on all nodes in this cluster. Defaults to false.

  • enable_tpu (pulumi.Input[bool]) –

    ) Whether to enable Cloud TPU resources in this cluster. See the official documentation.

  • endpoint (pulumi.Input[str]) – The IP address of this cluster’s Kubernetes master.

  • initial_node_count (pulumi.Input[float]) – 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_pool is not set. If you’re using container.NodePool objects with no default node pool, you’ll need to set this to a value of at least 1, alongside setting remove_default_node_pool to true.

  • instance_group_urls (pulumi.Input[list]) – List of instance group URLs which have been assigned to the cluster.

  • ip_allocation_policy (pulumi.Input[dict]) –

    Configuration for cluster IP allocation. As of now, only pre-allocated subnetworks (custom type with secondary ranges) are supported. This will activate IP aliases. See the official documentation Structure is documented below. This field is marked to use Attribute as Block in order to support explicit removal with ip_allocation_policy = [].

  • location (pulumi.Input[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 as us-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 (pulumi.Input[str]) – The logging service that the cluster should write logs to. Available options include logging.googleapis.com, logging.googleapis.com/kubernetes, and none. Defaults to logging.googleapis.com

  • maintenance_policy (pulumi.Input[dict]) – The maintenance policy to use for the cluster. Structure is documented below.

  • master_auth (pulumi.Input[dict]) – 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.getCredentials permission. Structure is documented below.

  • master_authorized_networks_config (pulumi.Input[dict]) – The desired configuration options for master authorized networks. Omit the nested cidr_blocks attribute to disallow external access (except the cluster node IPs, which GKE automatically whitelists).

  • master_version (pulumi.Input[str]) – The current version of the master in the cluster. This may be different than the min_master_version set in the config if the master has been updated by GKE.

  • min_master_version (pulumi.Input[str]) –

    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_version field 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 the container.getEngineVersions data source useful - it indicates which versions are available, and can be use to approximate fuzzy versions. If you intend to specify versions manually, the docs describe the various acceptable formats for this field.

  • monitoring_service (pulumi.Input[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, monitoring.googleapis.com/kubernetes, and none. Defaults to monitoring.googleapis.com

  • name (pulumi.Input[str]) – The name of the cluster, unique within the project and location.

  • network (pulumi.Input[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 (pulumi.Input[dict]) –

    Configuration options for the NetworkPolicy feature. Structure is documented below.

  • node_config (pulumi.Input[dict]) – Parameters used in creating the default node pool. Generally, this field should not be used at the same time as a container.NodePool or a node_pool block; this configuration manages the default node pool, which isn’t recommended to be used with this provider. Structure is documented below.

  • node_locations (pulumi.Input[list]) – 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 (pulumi.Input[list]) – List of node pools associated with this cluster. See 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 container.NodePool resource instead of this property.

  • node_version (pulumi.Input[str]) – The Kubernetes version on the nodes. Must either be unset or set to the same value as min_master_version on 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 this provider will see spurious diffs when fuzzy versions are used. See the container.getEngineVersions data source’s version_prefix field to approximate fuzzy versions. To update nodes in other node pools, use the version attribute on the node pool.

  • pod_security_policy_config (pulumi.Input[dict]) –

    ) Configuration for the PodSecurityPolicy feature. Structure is documented below.

  • private_cluster_config (pulumi.Input[dict]) –

    Configuration for private clusters, clusters with private nodes. Structure is documented below.

  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

  • release_channel (pulumi.Input[dict]) –

    ) Configuration options for the Release channel feature, which provide more control over automatic upgrades of your GKE clusters. Structure is documented below.

  • remove_default_node_pool (pulumi.Input[bool]) – If true, deletes the default node pool upon cluster creation. If you’re using container.NodePool resources with no default node pool, this should be set to true, alongside setting initial_node_count to at least 1.

  • resource_labels (pulumi.Input[dict]) – The GCE resource labels (a map of key/value pairs) to be applied to the cluster.

  • resource_usage_export_config (pulumi.Input[dict]) –

    ) Configuration for the ResourceUsageExportConfig feature. Structure is documented below.

  • services_ipv4_cidr (pulumi.Input[str]) –

    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 /16 from the container CIDR.

  • subnetwork (pulumi.Input[str]) – The name or self_link of the Google Compute Engine subnetwork in which the cluster’s instances are launched.

  • vertical_pod_autoscaling (pulumi.Input[dict]) –

    ) Vertical Pod Autoscaling automatically adjusts the resources of pods controlled by it. Structure is documented below.

  • workload_identity_config (pulumi.Input[dict]) –

    ) Workload Identity allows Kubernetes service accounts to act as a user-managed Google IAM Service Account. Structure is documented below.

  • zone (pulumi.Input[str]) – The zone that the cluster master and nodes should be created in. If specified, this cluster will be a zonal cluster. zone has been deprecated in favour of location.

The addons_config object supports the following:

  • cloudrunConfig (pulumi.Input[dict])

    • disabled (pulumi.Input[bool])

  • horizontalPodAutoscaling (pulumi.Input[dict])

    • disabled (pulumi.Input[bool])

  • httpLoadBalancing (pulumi.Input[dict])

    • disabled (pulumi.Input[bool])

  • istioConfig (pulumi.Input[dict])

    • auth (pulumi.Input[str])

    • disabled (pulumi.Input[bool])

  • kubernetesDashboard (pulumi.Input[dict])

    • disabled (pulumi.Input[bool])

  • networkPolicyConfig (pulumi.Input[dict])

    • disabled (pulumi.Input[bool])

The authenticator_groups_config object supports the following:

  • securityGroup (pulumi.Input[str])

The cluster_autoscaling object supports the following:

  • enabled (pulumi.Input[bool])

  • resourceLimits (pulumi.Input[list])

    • maximum (pulumi.Input[float])

    • minimum (pulumi.Input[float])

    • resourceType (pulumi.Input[str])

The database_encryption object supports the following:

  • keyName (pulumi.Input[str])

  • state (pulumi.Input[str])

The ip_allocation_policy object supports the following:

  • clusterIpv4CidrBlock (pulumi.Input[str])

  • clusterSecondaryRangeName (pulumi.Input[str])

  • createSubnetwork (pulumi.Input[bool])

  • nodeIpv4CidrBlock (pulumi.Input[str])

  • servicesIpv4CidrBlock (pulumi.Input[str])

  • servicesSecondaryRangeName (pulumi.Input[str])

  • subnetworkName (pulumi.Input[str])

  • useIpAliases (pulumi.Input[bool])

The maintenance_policy object supports the following:

  • dailyMaintenanceWindow (pulumi.Input[dict])

    • duration (pulumi.Input[str])

    • startTime (pulumi.Input[str])

  • recurringWindow (pulumi.Input[dict])

    • endTime (pulumi.Input[str])

    • recurrence (pulumi.Input[str])

    • startTime (pulumi.Input[str])

The master_auth object supports the following:

  • clientCertificate (pulumi.Input[str])

  • clientCertificateConfig (pulumi.Input[dict])

    • issueClientCertificate (pulumi.Input[bool])

  • clientKey (pulumi.Input[str])

  • clusterCaCertificate (pulumi.Input[str])

  • password (pulumi.Input[str])

  • username (pulumi.Input[str])

The master_authorized_networks_config object supports the following:

  • cidrBlocks (pulumi.Input[list])

    • cidrBlock (pulumi.Input[str])

    • display_name (pulumi.Input[str])

The network_policy object supports the following:

  • enabled (pulumi.Input[bool])

  • provider (pulumi.Input[str])

The node_config object supports the following:

  • disk_size_gb (pulumi.Input[float])

  • diskType (pulumi.Input[str])

  • guest_accelerators (pulumi.Input[list])

    • count (pulumi.Input[float])

    • type (pulumi.Input[str])

  • imageType (pulumi.Input[str])

  • labels (pulumi.Input[dict])

  • localSsdCount (pulumi.Input[float])

  • machine_type (pulumi.Input[str])

  • metadata (pulumi.Input[dict])

  • min_cpu_platform (pulumi.Input[str])

  • oauthScopes (pulumi.Input[list])

  • preemptible (pulumi.Input[bool])

  • sandboxConfig (pulumi.Input[dict])

    • sandboxType (pulumi.Input[str])

  • service_account (pulumi.Input[str])

  • shielded_instance_config (pulumi.Input[dict])

    • enableIntegrityMonitoring (pulumi.Input[bool])

    • enableSecureBoot (pulumi.Input[bool])

  • tags (pulumi.Input[list])

  • taints (pulumi.Input[list])

    • effect (pulumi.Input[str])

    • key (pulumi.Input[str])

    • value (pulumi.Input[str])

  • workloadMetadataConfig (pulumi.Input[dict])

    • nodeMetadata (pulumi.Input[str])

The node_pools object supports the following:

  • autoscaling (pulumi.Input[dict])

    • maxNodeCount (pulumi.Input[float])

    • minNodeCount (pulumi.Input[float])

  • initial_node_count (pulumi.Input[float]) - 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_pool is not set. If you’re using container.NodePool objects with no default node pool, you’ll need to set this to a value of at least 1, alongside setting remove_default_node_pool to true.

  • instance_group_urls (pulumi.Input[list]) - List of instance group URLs which have been assigned to the cluster.

  • management (pulumi.Input[dict])

    • autoRepair (pulumi.Input[bool])

    • autoUpgrade (pulumi.Input[bool])

  • max_pods_per_node (pulumi.Input[float])

  • name (pulumi.Input[str]) - The name of the cluster, unique within the project and location.

  • name_prefix (pulumi.Input[str])

  • node_config (pulumi.Input[dict]) - Parameters used in creating the default node pool. Generally, this field should not be used at the same time as a container.NodePool or a node_pool block; this configuration manages the default node pool, which isn’t recommended to be used with this provider. Structure is documented below.

    • disk_size_gb (pulumi.Input[float])

    • diskType (pulumi.Input[str])

    • guest_accelerators (pulumi.Input[list])

      • count (pulumi.Input[float])

      • type (pulumi.Input[str])

    • imageType (pulumi.Input[str])

    • labels (pulumi.Input[dict])

    • localSsdCount (pulumi.Input[float])

    • machine_type (pulumi.Input[str])

    • metadata (pulumi.Input[dict])

    • min_cpu_platform (pulumi.Input[str])

    • oauthScopes (pulumi.Input[list])

    • preemptible (pulumi.Input[bool])

    • sandboxConfig (pulumi.Input[dict])

      • sandboxType (pulumi.Input[str])

    • service_account (pulumi.Input[str])

    • shielded_instance_config (pulumi.Input[dict])

      • enableIntegrityMonitoring (pulumi.Input[bool])

      • enableSecureBoot (pulumi.Input[bool])

    • tags (pulumi.Input[list])

    • taints (pulumi.Input[list])

      • effect (pulumi.Input[str])

      • key (pulumi.Input[str])

      • value (pulumi.Input[str])

    • workloadMetadataConfig (pulumi.Input[dict])

      • nodeMetadata (pulumi.Input[str])

  • node_count (pulumi.Input[float])

  • node_locations (pulumi.Input[list]) - 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.

  • version (pulumi.Input[str])

The pod_security_policy_config object supports the following:

  • enabled (pulumi.Input[bool])

The private_cluster_config object supports the following:

  • enablePrivateEndpoint (pulumi.Input[bool])

  • enablePrivateNodes (pulumi.Input[bool])

  • masterIpv4CidrBlock (pulumi.Input[str])

  • privateEndpoint (pulumi.Input[str])

  • publicEndpoint (pulumi.Input[str])

The release_channel object supports the following:

  • channel (pulumi.Input[str])

The resource_usage_export_config object supports the following:

  • bigqueryDestination (pulumi.Input[dict])

    • dataset_id (pulumi.Input[str])

  • enableNetworkEgressMetering (pulumi.Input[bool])

The vertical_pod_autoscaling object supports the following:

  • enabled (pulumi.Input[bool])

The workload_identity_config object supports the following:

  • identityNamespace (pulumi.Input[str])

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_gcp.container.GetClusterResult(additional_zones=None, addons_configs=None, authenticator_groups_configs=None, cluster_autoscalings=None, cluster_ipv4_cidr=None, database_encryptions=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_policies=None, location=None, logging_service=None, maintenance_policies=None, master_auths=None, master_authorized_networks_configs=None, master_version=None, min_master_version=None, monitoring_service=None, name=None, network=None, network_policies=None, node_configs=None, node_locations=None, node_pools=None, node_version=None, pod_security_policy_configs=None, private_cluster_configs=None, project=None, region=None, release_channels=None, remove_default_node_pool=None, resource_labels=None, resource_usage_export_configs=None, services_ipv4_cidr=None, subnetwork=None, tpu_ipv4_cidr_block=None, vertical_pod_autoscalings=None, workload_identity_configs=None, zone=None, id=None)

A collection of values returned by getCluster.

id = None

id is the provider-assigned unique ID for this managed resource.

class pulumi_gcp.container.GetEngineVersionsResult(default_cluster_version=None, latest_master_version=None, latest_node_version=None, location=None, project=None, region=None, valid_master_versions=None, valid_node_versions=None, version_prefix=None, zone=None, id=None)

A collection of values returned by getEngineVersions.

default_cluster_version = None

Version of Kubernetes the service deploys by default.

latest_master_version = None

The latest version available in the given zone for use with master instances.

latest_node_version = None

The latest version available in the given zone for use with node instances.

valid_master_versions = None

A list of versions available in the given zone for use with master instances.

valid_node_versions = None

A list of versions available in the given zone for use with node instances.

id = None

id is the provider-assigned unique ID for this managed resource.

class pulumi_gcp.container.GetRegistryImageResult(digest=None, image_url=None, name=None, project=None, region=None, tag=None, id=None)

A collection of values returned by getRegistryImage.

id = None

id is the provider-assigned unique ID for this managed resource.

class pulumi_gcp.container.GetRegistryRepositoryResult(project=None, region=None, repository_url=None, id=None)

A collection of values returned by getRegistryRepository.

id = None

id is the provider-assigned unique ID for this managed resource.

class pulumi_gcp.container.NodePool(resource_name, opts=None, autoscaling=None, cluster=None, initial_node_count=None, location=None, management=None, max_pods_per_node=None, name=None, name_prefix=None, node_config=None, node_count=None, node_locations=None, project=None, region=None, version=None, zone=None, __props__=None, __name__=None, __opts__=None)

Manages a node pool in a Google Kubernetes Engine (GKE) cluster separately from the cluster control plane. For more information see the official documentation and the API reference.

Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • autoscaling (pulumi.Input[dict]) – Configuration required by cluster autoscaler to adjust the size of the node pool to the current cluster usage. Structure is documented below.

  • cluster (pulumi.Input[str]) – The cluster to create the node pool for. Cluster must be present in zone provided for zonal clusters.

  • initial_node_count (pulumi.Input[float]) – The initial number of nodes for the pool. In regional or multi-zonal clusters, this is the number of nodes per zone. Changing this will force recreation of the resource.

  • location (pulumi.Input[str]) – The location (region or zone) of the cluster.

  • management (pulumi.Input[dict]) – Node management configuration, wherein auto-repair and auto-upgrade is configured. Structure is documented below.

  • max_pods_per_node (pulumi.Input[float]) –

    ) The maximum number of pods per node in this node pool. Note that this does not work on node pools which are “route-based” - that is, node pools belonging to clusters that do not have IP Aliasing enabled. See the official documentation for more information.

  • name (pulumi.Input[str]) – The name of the node pool. If left blank, this provider will auto-generate a unique name.

  • node_config (pulumi.Input[dict]) – The node configuration of the pool. See container.Cluster for schema.

  • node_count (pulumi.Input[float]) – The number of nodes per instance group. This field can be used to update the number of nodes per instance group but should not be used alongside autoscaling.

  • node_locations (pulumi.Input[list]) –

    ) The list of zones in which the node pool’s nodes should be 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 unspecified, the cluster-level node_locations will be used.

  • project (pulumi.Input[str]) – The ID of the project in which to create the node pool. If blank, the provider-configured project will be used.

  • region (pulumi.Input[str]) – The region in which the cluster resides (for regional clusters). region has been deprecated in favor of location.

  • version (pulumi.Input[str]) – The Kubernetes version for the nodes in this pool. Note that if this field and auto_upgrade are both specified, they will fight each other for what the node version should be, so setting both is highly discouraged. While a fuzzy version can be specified, it’s recommended that you specify explicit versions as this provider will see spurious diffs when fuzzy versions are used. See the container.getEngineVersions data source’s version_prefix field to approximate fuzzy versions.

  • zone (pulumi.Input[str]) – The zone in which the cluster resides. zone has been deprecated in favor of location.

The autoscaling object supports the following:

  • maxNodeCount (pulumi.Input[float])

  • minNodeCount (pulumi.Input[float])

The management object supports the following:

  • autoRepair (pulumi.Input[bool])

  • autoUpgrade (pulumi.Input[bool])

The node_config object supports the following:

  • disk_size_gb (pulumi.Input[float])

  • diskType (pulumi.Input[str])

  • guest_accelerators (pulumi.Input[list])

    • count (pulumi.Input[float])

    • type (pulumi.Input[str])

  • imageType (pulumi.Input[str])

  • labels (pulumi.Input[dict])

  • localSsdCount (pulumi.Input[float])

  • machine_type (pulumi.Input[str])

  • metadata (pulumi.Input[dict])

  • min_cpu_platform (pulumi.Input[str])

  • oauthScopes (pulumi.Input[list])

  • preemptible (pulumi.Input[bool])

  • sandboxConfig (pulumi.Input[dict])

    • sandboxType (pulumi.Input[str])

  • service_account (pulumi.Input[str])

  • shielded_instance_config (pulumi.Input[dict])

    • enableIntegrityMonitoring (pulumi.Input[bool])

    • enableSecureBoot (pulumi.Input[bool])

  • tags (pulumi.Input[list])

  • taints (pulumi.Input[list])

    • effect (pulumi.Input[str])

    • key (pulumi.Input[str])

    • value (pulumi.Input[str])

  • workloadMetadataConfig (pulumi.Input[dict])

    • nodeMetadata (pulumi.Input[str])

autoscaling = None

Configuration required by cluster autoscaler to adjust the size of the node pool to the current cluster usage. Structure is documented below.

  • maxNodeCount (float)

  • minNodeCount (float)

cluster = None

The cluster to create the node pool for. Cluster must be present in zone provided for zonal clusters.

initial_node_count = None

The initial number of nodes for the pool. In regional or multi-zonal clusters, this is the number of nodes per zone. Changing this will force recreation of the resource.

location = None

The location (region or zone) of the cluster.

management = None

Node management configuration, wherein auto-repair and auto-upgrade is configured. Structure is documented below.

  • autoRepair (bool)

  • autoUpgrade (bool)

max_pods_per_node = None

) The maximum number of pods per node in this node pool. Note that this does not work on node pools which are “route-based” - that is, node pools belonging to clusters that do not have IP Aliasing enabled. See the official documentation for more information.

name = None

The name of the node pool. If left blank, this provider will auto-generate a unique name.

node_config = None

The node configuration of the pool. See container.Cluster for schema.

  • disk_size_gb (float)

  • diskType (str)

  • guest_accelerators (list)

    • count (float)

    • type (str)

  • imageType (str)

  • labels (dict)

  • localSsdCount (float)

  • machine_type (str)

  • metadata (dict)

  • min_cpu_platform (str)

  • oauthScopes (list)

  • preemptible (bool)

  • sandboxConfig (dict)

    • sandboxType (str)

  • service_account (str)

  • shielded_instance_config (dict)

    • enableIntegrityMonitoring (bool)

    • enableSecureBoot (bool)

  • tags (list)

  • taints (list)

    • effect (str)

    • key (str)

    • value (str)

  • workloadMetadataConfig (dict)

    • nodeMetadata (str)

node_count = None

The number of nodes per instance group. This field can be used to update the number of nodes per instance group but should not be used alongside autoscaling.

node_locations = None

) The list of zones in which the node pool’s nodes should be 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 unspecified, the cluster-level node_locations will be used.

project = None

The ID of the project in which to create the node pool. If blank, the provider-configured project will be used.

region = None

The region in which the cluster resides (for regional clusters). region has been deprecated in favor of location.

version = None

The Kubernetes version for the nodes in this pool. Note that if this field and auto_upgrade are both specified, they will fight each other for what the node version should be, so setting both is highly discouraged. While a fuzzy version can be specified, it’s recommended that you specify explicit versions as this provider will see spurious diffs when fuzzy versions are used. See the container.getEngineVersions data source’s version_prefix field to approximate fuzzy versions.

zone = None

The zone in which the cluster resides. zone has been deprecated in favor of location.

static get(resource_name, id, opts=None, autoscaling=None, cluster=None, initial_node_count=None, instance_group_urls=None, location=None, management=None, max_pods_per_node=None, name=None, name_prefix=None, node_config=None, node_count=None, node_locations=None, project=None, region=None, version=None, zone=None)

Get an existing NodePool resource’s state with the given name, id, and optional extra properties used to qualify the lookup.

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • autoscaling (pulumi.Input[dict]) – Configuration required by cluster autoscaler to adjust the size of the node pool to the current cluster usage. Structure is documented below.

  • cluster (pulumi.Input[str]) – The cluster to create the node pool for. Cluster must be present in zone provided for zonal clusters.

  • initial_node_count (pulumi.Input[float]) – The initial number of nodes for the pool. In regional or multi-zonal clusters, this is the number of nodes per zone. Changing this will force recreation of the resource.

  • location (pulumi.Input[str]) – The location (region or zone) of the cluster.

  • management (pulumi.Input[dict]) – Node management configuration, wherein auto-repair and auto-upgrade is configured. Structure is documented below.

  • max_pods_per_node (pulumi.Input[float]) –

    ) The maximum number of pods per node in this node pool. Note that this does not work on node pools which are “route-based” - that is, node pools belonging to clusters that do not have IP Aliasing enabled. See the official documentation for more information.

  • name (pulumi.Input[str]) – The name of the node pool. If left blank, this provider will auto-generate a unique name.

  • node_config (pulumi.Input[dict]) – The node configuration of the pool. See container.Cluster for schema.

  • node_count (pulumi.Input[float]) – The number of nodes per instance group. This field can be used to update the number of nodes per instance group but should not be used alongside autoscaling.

  • node_locations (pulumi.Input[list]) –

    ) The list of zones in which the node pool’s nodes should be 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 unspecified, the cluster-level node_locations will be used.

  • project (pulumi.Input[str]) – The ID of the project in which to create the node pool. If blank, the provider-configured project will be used.

  • region (pulumi.Input[str]) – The region in which the cluster resides (for regional clusters). region has been deprecated in favor of location.

  • version (pulumi.Input[str]) – The Kubernetes version for the nodes in this pool. Note that if this field and auto_upgrade are both specified, they will fight each other for what the node version should be, so setting both is highly discouraged. While a fuzzy version can be specified, it’s recommended that you specify explicit versions as this provider will see spurious diffs when fuzzy versions are used. See the container.getEngineVersions data source’s version_prefix field to approximate fuzzy versions.

  • zone (pulumi.Input[str]) – The zone in which the cluster resides. zone has been deprecated in favor of location.

The autoscaling object supports the following:

  • maxNodeCount (pulumi.Input[float])

  • minNodeCount (pulumi.Input[float])

The management object supports the following:

  • autoRepair (pulumi.Input[bool])

  • autoUpgrade (pulumi.Input[bool])

The node_config object supports the following:

  • disk_size_gb (pulumi.Input[float])

  • diskType (pulumi.Input[str])

  • guest_accelerators (pulumi.Input[list])

    • count (pulumi.Input[float])

    • type (pulumi.Input[str])

  • imageType (pulumi.Input[str])

  • labels (pulumi.Input[dict])

  • localSsdCount (pulumi.Input[float])

  • machine_type (pulumi.Input[str])

  • metadata (pulumi.Input[dict])

  • min_cpu_platform (pulumi.Input[str])

  • oauthScopes (pulumi.Input[list])

  • preemptible (pulumi.Input[bool])

  • sandboxConfig (pulumi.Input[dict])

    • sandboxType (pulumi.Input[str])

  • service_account (pulumi.Input[str])

  • shielded_instance_config (pulumi.Input[dict])

    • enableIntegrityMonitoring (pulumi.Input[bool])

    • enableSecureBoot (pulumi.Input[bool])

  • tags (pulumi.Input[list])

  • taints (pulumi.Input[list])

    • effect (pulumi.Input[str])

    • key (pulumi.Input[str])

    • value (pulumi.Input[str])

  • workloadMetadataConfig (pulumi.Input[dict])

    • nodeMetadata (pulumi.Input[str])

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

pulumi_gcp.container.get_cluster(location=None, name=None, project=None, region=None, zone=None, opts=None)

Get info about a GKE cluster from its name and location.

Parameters
  • location (str) – The location (zone or region) this cluster has been created in. One of location, region, zone, or a provider-level zone must be specified.

  • name (str) – The name of the cluster.

  • project (str) – The project in which the resource belongs. If it is not provided, the provider project is used.

  • region (str) – The region this cluster has been created in. Deprecated in favour of location.

  • zone (str) – The zone this cluster has been created in. Deprecated in favour of location.

pulumi_gcp.container.get_engine_versions(location=None, project=None, region=None, version_prefix=None, zone=None, opts=None)

Provides access to available Google Kubernetes Engine versions in a zone or region for a given project.

If you are using the container.getEngineVersions datasource with a regional cluster, ensure that you have provided a region as the location to the datasource. A region can have a different set of supported versions than its component zones, and not all zones in a region are guaranteed to support the same version.

Parameters
  • location (str) – The location (region or zone) to list versions for. Must exactly match the location the cluster will be deployed in, or listed versions may not be available. If location, region, and zone are not specified, the provider-level zone must be set and is used instead.

  • project (str) – ID of the project to list available cluster versions for. Should match the project the cluster will be deployed to. Defaults to the project that the provider is authenticated with.

  • version_prefix (str) – If provided, this provider will only return versions that match the string prefix. For example, 1.11. will match all 1.11 series releases. Since this is just a string match, it’s recommended that you append a . after minor versions to ensure that prefixes such as 1.1 don’t match versions like 1.12.5-gke.10 accidentally. See the docs on versioning schema for full details on how version strings are formatted.

pulumi_gcp.container.get_registry_image(digest=None, name=None, project=None, region=None, tag=None, opts=None)

This data source fetches the project name, and provides the appropriate URLs to use for container registry for this project.

The URLs are computed entirely offline - as long as the project exists, they will be valid, but this data source does not contact Google Container Registry (GCR) at any point.

pulumi_gcp.container.get_registry_repository(project=None, region=None, opts=None)

This data source fetches the project name, and provides the appropriate URLs to use for container registry for this project.

The URLs are computed entirely offline - as long as the project exists, they will be valid, but this data source does not contact Google Container Registry (GCR) at any point.