Module container
This page documents the language specification for the gcp package. If you're looking for help working with the inputs, outputs, or functions of gcp resources in a Pulumi program, please see the resource documentation for examples and API reference.
Resources
Functions
Others
- ClusterArgs
- ClusterState
- GetClusterArgs
- GetClusterResult
- GetEngineVersionsArgs
- GetEngineVersionsResult
- GetRegistryImageArgs
- GetRegistryImageResult
- GetRegistryRepositoryArgs
- GetRegistryRepositoryResult
- NodePoolArgs
- NodePoolState
- RegistryArgs
- RegistryState
Resources
Resource Cluster
class Cluster extends CustomResourceManages 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.
Example Usage - with a separately managed node pool (recommended)
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const primary = new gcp.container.Cluster("primary", {
location: "us-central1",
removeDefaultNodePool: true,
initialNodeCount: 1,
master_auth: {
username: "",
password: "",
client_certificate_config: {
issueClientCertificate: false,
},
},
});
const primaryPreemptibleNodes = new gcp.container.NodePool("primaryPreemptibleNodes", {
location: "us-central1",
cluster: primary.name,
nodeCount: 1,
node_config: {
preemptible: true,
machineType: "n1-standard-1",
metadata: {
"disable-legacy-endpoints": "true",
},
oauthScopes: [
"https://www.googleapis.com/auth/logging.write",
"https://www.googleapis.com/auth/monitoring",
],
},
});Example Usage - with the default node pool
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const primary = new gcp.container.Cluster("primary", {
initialNodeCount: 3,
location: "us-central1-a",
masterAuth: {
clientCertificateConfig: {
issueClientCertificate: false,
},
password: "",
username: "",
},
nodeConfig: {
labels: {
foo: "bar",
},
metadata: {
"disable-legacy-endpoints": "true",
},
oauthScopes: [
"https://www.googleapis.com/auth/logging.write",
"https://www.googleapis.com/auth/monitoring",
],
tags: [
"foo",
"bar",
],
},
}, { timeouts: {
create: "30m",
update: "40m",
} });constructor
new Cluster(name: string, args?: ClusterArgs, opts?: pulumi.CustomResourceOptions)Create a Cluster resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ClusterState, opts?: pulumi.CustomResourceOptions): ClusterGet an existing Cluster resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is ClusterReturns true if the given object is an instance of Cluster. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property addonsConfig
public addonsConfig: pulumi.Output<ClusterAddonsConfig>;The configuration for addons supported by GKE. Structure is documented below.
property authenticatorGroupsConfig
public authenticatorGroupsConfig: pulumi.Output<ClusterAuthenticatorGroupsConfig>;Configuration for the Google Groups for GKE feature. Structure is documented below.
property clusterAutoscaling
public clusterAutoscaling: pulumi.Output<ClusterClusterAutoscaling>;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.
property clusterIpv4Cidr
public clusterIpv4Cidr: pulumi.Output<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 /14 block in 10.0.0.0/8. This field will
only work for routes-based clusters, where ipAllocationPolicy is not defined.
property databaseEncryption
public databaseEncryption: pulumi.Output<ClusterDatabaseEncryption>;. Structure is documented below.
property defaultMaxPodsPerNode
public defaultMaxPodsPerNode: pulumi.Output<number>;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.
property description
public description: pulumi.Output<string | undefined>;Description of the cluster.
property enableBinaryAuthorization
public enableBinaryAuthorization: pulumi.Output<boolean | undefined>;Enable Binary Authorization for this cluster. If enabled, all container images will be validated by Google Binary Authorization.
property enableIntranodeVisibility
public enableIntranodeVisibility: pulumi.Output<boolean | undefined>;Whether Intra-node visibility is enabled for this cluster. This makes same node pod to pod traffic visible for VPC network.
property enableKubernetesAlpha
public enableKubernetesAlpha: pulumi.Output<boolean | undefined>;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.
property enableLegacyAbac
public enableLegacyAbac: pulumi.Output<boolean | undefined>;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
property enableShieldedNodes
public enableShieldedNodes: pulumi.Output<boolean | undefined>;Enable Shielded Nodes features on all nodes in this cluster. Defaults to false.
property enableTpu
public enableTpu: pulumi.Output<boolean | undefined>;Whether to enable Cloud TPU resources in this cluster. See the official documentation.
property endpoint
public endpoint: pulumi.Output<string>;The IP address of this cluster’s Kubernetes master.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property initialNodeCount
public initialNodeCount: pulumi.Output<number | undefined>;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 nodePool is not set. If you’re using
gcp.container.NodePool objects with no default node pool, you’ll need to
set this to a value of at least 1, alongside setting
removeDefaultNodePool to true.
property instanceGroupUrls
public instanceGroupUrls: pulumi.Output<string[]>;List of instance group URLs which have been assigned to the cluster.
property ipAllocationPolicy
public ipAllocationPolicy: pulumi.Output<ClusterIpAllocationPolicy | undefined>;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.
property labelFingerprint
public labelFingerprint: pulumi.Output<string>;The fingerprint of the set of labels for this cluster.
property location
public location: pulumi.Output<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 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
property loggingService
public loggingService: pulumi.Output<string | undefined>;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), and none. Defaults to logging.googleapis.com/kubernetes
property maintenancePolicy
public maintenancePolicy: pulumi.Output<ClusterMaintenancePolicy | undefined>;The maintenance policy to use for the cluster. Structure is documented below.
property masterAuth
public masterAuth: pulumi.Output<ClusterMasterAuth>;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.
property masterAuthorizedNetworksConfig
public masterAuthorizedNetworksConfig: pulumi.Output<ClusterMasterAuthorizedNetworksConfig | undefined>;The desired configuration options
for master authorized networks. Omit the nested cidrBlocks attribute to disallow
external access (except the cluster node IPs, which GKE automatically whitelists).
property masterVersion
public masterVersion: pulumi.Output<string>;The current version of the master in the cluster. This may
be different than the minMasterVersion set in the config if the master
has been updated by GKE.
property minMasterVersion
public minMasterVersion: pulumi.Output<string | undefined>;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 masterVersion 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 gcp.container.getEngineVersions data 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.
property monitoringService
public monitoringService: pulumi.Output<string | undefined>;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), and none.
Defaults to monitoring.googleapis.com/kubernetes
property name
public name: pulumi.Output<string>;The name of the cluster, unique within the project and location.
property network
public network: pulumi.Output<string | undefined>;The name or selfLink 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.
property networkPolicy
public networkPolicy: pulumi.Output<ClusterNetworkPolicy>;Configuration options for the NetworkPolicy feature. Structure is documented below.
property nodeConfig
public nodeConfig: pulumi.Output<ClusterNodeConfig>;Parameters used in creating the default node pool.
Generally, this field should not be used at the same time as a
gcp.container.NodePool or a nodePool block; this configuration
manages the default node pool, which isn’t recommended to be used.
Structure is documented below.
property nodeLocations
public nodeLocations: pulumi.Output<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.
property nodePools
public nodePools: pulumi.Output<ClusterNodePool[]>;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.
property nodeVersion
public nodeVersion: pulumi.Output<string>;The Kubernetes version on the nodes. Must either be unset
or set to the same value as minMasterVersion 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 the provider will see spurious diffs
when fuzzy versions are used. See the gcp.container.getEngineVersions data source’s
versionPrefix field to approximate fuzzy versions.
To update nodes in other node pools, use the version attribute on the node pool.
property operation
public operation: pulumi.Output<string>;property podSecurityPolicyConfig
public podSecurityPolicyConfig: pulumi.Output<ClusterPodSecurityPolicyConfig | undefined>;Configuration for the PodSecurityPolicy feature. Structure is documented below.
property privateClusterConfig
public privateClusterConfig: pulumi.Output<ClusterPrivateClusterConfig>;Configuration for private clusters, clusters with private nodes. Structure is documented below.
property project
public project: pulumi.Output<string>;The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
property releaseChannel
public releaseChannel: pulumi.Output<ClusterReleaseChannel>;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.getEngineVersions datasource can provide
the default version for a channel. Note that removing the releaseChannel
field 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.
property removeDefaultNodePool
public removeDefaultNodePool: pulumi.Output<boolean | undefined>;If true, deletes the default node
pool upon cluster creation. If you’re using gcp.container.NodePool
resources with no default node pool, this should be set to true, alongside
setting initialNodeCount to at least 1.
property resourceLabels
public resourceLabels: pulumi.Output<{[key: string]: string} | undefined>;The GCE resource labels (a map of key/value pairs) to be applied to the cluster.
property resourceUsageExportConfig
public resourceUsageExportConfig: pulumi.Output<ClusterResourceUsageExportConfig | undefined>;Configuration for the ResourceUsageExportConfig feature. Structure is documented below.
property servicesIpv4Cidr
public servicesIpv4Cidr: pulumi.Output<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
/16 from the container CIDR.
property subnetwork
public subnetwork: pulumi.Output<string>;The name or selfLink of the Google Compute Engine subnetwork in which the cluster’s instances are launched.
property tpuIpv4CidrBlock
public tpuIpv4CidrBlock: pulumi.Output<string>;The IP address range of the Cloud TPUs in this cluster, in
CIDR
notation (e.g. 1.2.3.4/29).
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property verticalPodAutoscaling
public verticalPodAutoscaling: pulumi.Output<ClusterVerticalPodAutoscaling | undefined>;Vertical Pod Autoscaling automatically adjusts the resources of pods controlled by it. Structure is documented below.
property workloadIdentityConfig
public workloadIdentityConfig: pulumi.Output<ClusterWorkloadIdentityConfig | undefined>;Workload Identity allows Kubernetes service accounts to act as a user-managed Google IAM Service Account. Structure is documented below.
Resource NodePool
class NodePool extends CustomResourceManages 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.
Example Usage - using a separately managed node pool (recommended)
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const primary = new gcp.container.Cluster("primary", {
location: "us-central1",
removeDefaultNodePool: true,
initialNodeCount: 1,
});
const primaryPreemptibleNodes = new gcp.container.NodePool("primaryPreemptibleNodes", {
location: "us-central1",
cluster: primary.name,
nodeCount: 1,
node_config: {
preemptible: true,
machineType: "n1-standard-1",
oauthScopes: [
"https://www.googleapis.com/auth/logging.write",
"https://www.googleapis.com/auth/monitoring",
],
},
});Example Usage - 2 node pools, 1 separately managed + the default node pool
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const primary = new gcp.container.Cluster("primary", {
location: "us-central1-a",
initialNodeCount: 3,
nodeLocations: ["us-central1-c"],
master_auth: {
username: "",
password: "",
client_certificate_config: {
issueClientCertificate: false,
},
},
node_config: {
oauthScopes: [
"https://www.googleapis.com/auth/logging.write",
"https://www.googleapis.com/auth/monitoring",
],
metadata: {
"disable-legacy-endpoints": "true",
},
guest_accelerator: [{
type: "nvidia-tesla-k80",
count: 1,
}],
},
});
const np = new gcp.container.NodePool("np", {
location: "us-central1-a",
cluster: primary.name,
nodeCount: 3,
timeouts: [{
create: "30m",
update: "20m",
}],
});constructor
new NodePool(name: string, args: NodePoolArgs, opts?: pulumi.CustomResourceOptions)Create a NodePool resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: NodePoolState, opts?: pulumi.CustomResourceOptions): NodePoolGet an existing NodePool resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is NodePoolReturns true if the given object is an instance of NodePool. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property autoscaling
public autoscaling: pulumi.Output<NodePoolAutoscaling | undefined>;Configuration required by cluster autoscaler to adjust the size of the node pool to the current cluster usage. Structure is documented below.
property cluster
public cluster: pulumi.Output<string>;The cluster to create the node pool for. Cluster must be present in location provided for zonal clusters.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property initialNodeCount
public initialNodeCount: pulumi.Output<number>;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.
property instanceGroupUrls
public instanceGroupUrls: pulumi.Output<string[]>;The resource URLs of the managed instance groups associated with this node pool.
property location
public location: pulumi.Output<string>;The location (region or zone) of the cluster.
property management
public management: pulumi.Output<NodePoolManagement>;Node management configuration, wherein auto-repair and auto-upgrade is configured. Structure is documented below.
property maxPodsPerNode
public maxPodsPerNode: pulumi.Output<number>;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.
property name
public name: pulumi.Output<string>;The name of the node pool. If left blank, the provider will auto-generate a unique name.
property namePrefix
public namePrefix: pulumi.Output<string>;Creates a unique name for the node pool beginning
with the specified prefix. Conflicts with name.
property nodeConfig
public nodeConfig: pulumi.Output<NodePoolNodeConfig>;The node configuration of the pool. See gcp.container.Cluster for schema.
property nodeCount
public nodeCount: pulumi.Output<number>;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.
property nodeLocations
public nodeLocations: pulumi.Output<string[]>;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
nodeLocations will be used.
property project
public project: pulumi.Output<string>;The ID of the project in which to create the node pool. If blank, the provider-configured project will be used.
property upgradeSettings
public upgradeSettings: pulumi.Output<NodePoolUpgradeSettings>;Specify node upgrade settings to change how many nodes GKE attempts to
upgrade at once. The number of nodes upgraded simultaneously is the sum of maxSurge and maxUnavailable.
The maximum number of nodes upgraded simultaneously is limited to 20.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
property version
public version: pulumi.Output<string>;The Kubernetes version for the nodes in this pool. Note that if this field
and autoUpgrade 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 the provider will see spurious diffs
when fuzzy versions are used. See the gcp.container.getEngineVersions data source’s
versionPrefix field to approximate fuzzy versions in a provider-compatible way.
Resource Registry
class Registry extends CustomResourceEnsures that the Google Cloud Storage bucket that backs Google Container Registry exists. Creating this resource will create the backing bucket if it does not exist, or do nothing if the bucket already exists. Destroying this resource does NOT destroy the backing bucket. For more information see the official documentation
This resource can be used to ensure that the GCS bucket exists prior to assigning permissions. For more information see the access control page for GCR.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const registry = new gcp.container.Registry("registry", {
location: "EU",
project: "my-project",
});constructor
new Registry(name: string, args?: RegistryArgs, opts?: pulumi.CustomResourceOptions)Create a Registry resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: RegistryState, opts?: pulumi.CustomResourceOptions): RegistryGet an existing Registry resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is RegistryReturns true if the given object is an instance of Registry. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property bucketSelfLink
public bucketSelfLink: pulumi.Output<string>;The URI of the created resource.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property location
public location: pulumi.Output<string | undefined>;The location of the registry. One of ASIA, EU, US or not specified. See the official documentation for more information on registry locations.
property project
public project: pulumi.Output<string>;The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Functions
Function getCluster
getCluster(args: GetClusterArgs, opts?: pulumi.InvokeOptions): Promise<GetClusterResult>Get info about a GKE cluster from its name and location.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const myCluster = gcp.container.getCluster({
name: "my-cluster",
location: "us-east1-a",
});
export const clusterUsername = myCluster.then(myCluster => myCluster.masterAuths[0].username);
export const clusterPassword = myCluster.then(myCluster => myCluster.masterAuths[0].password);
export const endpoint = myCluster.then(myCluster => myCluster.endpoint);
export const instanceGroupUrls = myCluster.then(myCluster => myCluster.instanceGroupUrls);
export const nodeConfig = myCluster.then(myCluster => myCluster.nodeConfigs);
export const nodePools = myCluster.then(myCluster => myCluster.nodePools);Function getEngineVersions
getEngineVersions(args?: GetEngineVersionsArgs, opts?: pulumi.InvokeOptions): Promise<GetEngineVersionsResult>Provides access to available Google Kubernetes Engine versions in a zone or region for a given project.
If you are using the
gcp.container.getEngineVersionsdatasource with a regional cluster, ensure that you have provided a region as thelocationto 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.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const central1b = gcp.container.getEngineVersions({
location: "us-central1-b",
versionPrefix: "1.12.",
});
const foo = new gcp.container.Cluster("foo", {
location: "us-central1-b",
nodeVersion: central1b.then(central1b => central1b.latestNodeVersion),
initialNodeCount: 1,
master_auth: {
username: "mr.yoda",
password: "adoy.rm",
},
});
export const stableChannelVersion = central1b.then(central1b => central1b.releaseChannelDefaultVersion.STABLE);Function getRegistryImage
getRegistryImage(args: GetRegistryImageArgs, opts?: pulumi.InvokeOptions): Promise<GetRegistryImageResult>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.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const debian = gcp.container.getRegistryImage({
name: "debian",
});
export const gcrLocation = debian.then(debian => debian.imageUrl);Function getRegistryRepository
getRegistryRepository(args?: GetRegistryRepositoryArgs, opts?: pulumi.InvokeOptions): Promise<GetRegistryRepositoryResult>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.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const foo = gcp.container.getRegistryRepository({});
export const gcrLocation = foo.then(foo => foo.repositoryUrl);Others
interface ClusterArgs
interface ClusterArgsThe set of arguments for constructing a Cluster resource.
property addonsConfig
addonsConfig?: pulumi.Input<ClusterAddonsConfig>;The configuration for addons supported by GKE. Structure is documented below.
property authenticatorGroupsConfig
authenticatorGroupsConfig?: pulumi.Input<ClusterAuthenticatorGroupsConfig>;Configuration for the Google Groups for GKE feature. Structure is documented below.
property clusterAutoscaling
clusterAutoscaling?: pulumi.Input<ClusterClusterAutoscaling>;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.
property clusterIpv4Cidr
clusterIpv4Cidr?: pulumi.Input<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 /14 block in 10.0.0.0/8. This field will
only work for routes-based clusters, where ipAllocationPolicy is not defined.
property databaseEncryption
databaseEncryption?: pulumi.Input<ClusterDatabaseEncryption>;. Structure is documented below.
property defaultMaxPodsPerNode
defaultMaxPodsPerNode?: pulumi.Input<number>;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.
property description
description?: pulumi.Input<string>;Description of the cluster.
property enableBinaryAuthorization
enableBinaryAuthorization?: pulumi.Input<boolean>;Enable Binary Authorization for this cluster. If enabled, all container images will be validated by Google Binary Authorization.
property enableIntranodeVisibility
enableIntranodeVisibility?: pulumi.Input<boolean>;Whether Intra-node visibility is enabled for this cluster. This makes same node pod to pod traffic visible for VPC network.
property enableKubernetesAlpha
enableKubernetesAlpha?: pulumi.Input<boolean>;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.
property enableLegacyAbac
enableLegacyAbac?: pulumi.Input<boolean>;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
property enableShieldedNodes
enableShieldedNodes?: pulumi.Input<boolean>;Enable Shielded Nodes features on all nodes in this cluster. Defaults to false.
property enableTpu
enableTpu?: pulumi.Input<boolean>;Whether to enable Cloud TPU resources in this cluster. See the official documentation.
property initialNodeCount
initialNodeCount?: pulumi.Input<number>;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 nodePool is not set. If you’re using
gcp.container.NodePool objects with no default node pool, you’ll need to
set this to a value of at least 1, alongside setting
removeDefaultNodePool to true.
property ipAllocationPolicy
ipAllocationPolicy?: pulumi.Input<ClusterIpAllocationPolicy>;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.
property location
location?: pulumi.Input<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 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
property loggingService
loggingService?: pulumi.Input<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), and none. Defaults to logging.googleapis.com/kubernetes
property maintenancePolicy
maintenancePolicy?: pulumi.Input<ClusterMaintenancePolicy>;The maintenance policy to use for the cluster. Structure is documented below.
property masterAuth
masterAuth?: pulumi.Input<ClusterMasterAuth>;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.
property masterAuthorizedNetworksConfig
masterAuthorizedNetworksConfig?: pulumi.Input<ClusterMasterAuthorizedNetworksConfig>;The desired configuration options
for master authorized networks. Omit the nested cidrBlocks attribute to disallow
external access (except the cluster node IPs, which GKE automatically whitelists).
property minMasterVersion
minMasterVersion?: pulumi.Input<string>;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 masterVersion 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 gcp.container.getEngineVersions data 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.
property monitoringService
monitoringService?: pulumi.Input<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), and none.
Defaults to monitoring.googleapis.com/kubernetes
property name
name?: pulumi.Input<string>;The name of the cluster, unique within the project and location.
property network
network?: pulumi.Input<string>;The name or selfLink 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.
property networkPolicy
networkPolicy?: pulumi.Input<ClusterNetworkPolicy>;Configuration options for the NetworkPolicy feature. Structure is documented below.
property nodeConfig
nodeConfig?: pulumi.Input<ClusterNodeConfig>;Parameters used in creating the default node pool.
Generally, this field should not be used at the same time as a
gcp.container.NodePool or a nodePool block; this configuration
manages the default node pool, which isn’t recommended to be used.
Structure is documented below.
property nodeLocations
nodeLocations?: pulumi.Input<pulumi.Input<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.
property nodePools
nodePools?: pulumi.Input<pulumi.Input<ClusterNodePool>[]>;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.
property nodeVersion
nodeVersion?: pulumi.Input<string>;The Kubernetes version on the nodes. Must either be unset
or set to the same value as minMasterVersion 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 the provider will see spurious diffs
when fuzzy versions are used. See the gcp.container.getEngineVersions data source’s
versionPrefix field to approximate fuzzy versions.
To update nodes in other node pools, use the version attribute on the node pool.
property podSecurityPolicyConfig
podSecurityPolicyConfig?: pulumi.Input<ClusterPodSecurityPolicyConfig>;Configuration for the PodSecurityPolicy feature. Structure is documented below.
property privateClusterConfig
privateClusterConfig?: pulumi.Input<ClusterPrivateClusterConfig>;Configuration for private clusters, clusters with private nodes. Structure is documented below.
property project
project?: pulumi.Input<string>;The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
property releaseChannel
releaseChannel?: pulumi.Input<ClusterReleaseChannel>;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.getEngineVersions datasource can provide
the default version for a channel. Note that removing the releaseChannel
field 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.
property removeDefaultNodePool
removeDefaultNodePool?: pulumi.Input<boolean>;If true, deletes the default node
pool upon cluster creation. If you’re using gcp.container.NodePool
resources with no default node pool, this should be set to true, alongside
setting initialNodeCount to at least 1.
property resourceLabels
resourceLabels?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;The GCE resource labels (a map of key/value pairs) to be applied to the cluster.
property resourceUsageExportConfig
resourceUsageExportConfig?: pulumi.Input<ClusterResourceUsageExportConfig>;Configuration for the ResourceUsageExportConfig feature. Structure is documented below.
property subnetwork
subnetwork?: pulumi.Input<string>;The name or selfLink of the Google Compute Engine subnetwork in which the cluster’s instances are launched.
property verticalPodAutoscaling
verticalPodAutoscaling?: pulumi.Input<ClusterVerticalPodAutoscaling>;Vertical Pod Autoscaling automatically adjusts the resources of pods controlled by it. Structure is documented below.
property workloadIdentityConfig
workloadIdentityConfig?: pulumi.Input<ClusterWorkloadIdentityConfig>;Workload Identity allows Kubernetes service accounts to act as a user-managed Google IAM Service Account. Structure is documented below.
interface ClusterState
interface ClusterStateInput properties used for looking up and filtering Cluster resources.
property addonsConfig
addonsConfig?: pulumi.Input<ClusterAddonsConfig>;The configuration for addons supported by GKE. Structure is documented below.
property authenticatorGroupsConfig
authenticatorGroupsConfig?: pulumi.Input<ClusterAuthenticatorGroupsConfig>;Configuration for the Google Groups for GKE feature. Structure is documented below.
property clusterAutoscaling
clusterAutoscaling?: pulumi.Input<ClusterClusterAutoscaling>;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.
property clusterIpv4Cidr
clusterIpv4Cidr?: pulumi.Input<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 /14 block in 10.0.0.0/8. This field will
only work for routes-based clusters, where ipAllocationPolicy is not defined.
property databaseEncryption
databaseEncryption?: pulumi.Input<ClusterDatabaseEncryption>;. Structure is documented below.
property defaultMaxPodsPerNode
defaultMaxPodsPerNode?: pulumi.Input<number>;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.
property description
description?: pulumi.Input<string>;Description of the cluster.
property enableBinaryAuthorization
enableBinaryAuthorization?: pulumi.Input<boolean>;Enable Binary Authorization for this cluster. If enabled, all container images will be validated by Google Binary Authorization.
property enableIntranodeVisibility
enableIntranodeVisibility?: pulumi.Input<boolean>;Whether Intra-node visibility is enabled for this cluster. This makes same node pod to pod traffic visible for VPC network.
property enableKubernetesAlpha
enableKubernetesAlpha?: pulumi.Input<boolean>;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.
property enableLegacyAbac
enableLegacyAbac?: pulumi.Input<boolean>;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
property enableShieldedNodes
enableShieldedNodes?: pulumi.Input<boolean>;Enable Shielded Nodes features on all nodes in this cluster. Defaults to false.
property enableTpu
enableTpu?: pulumi.Input<boolean>;Whether to enable Cloud TPU resources in this cluster. See the official documentation.
property endpoint
endpoint?: pulumi.Input<string>;The IP address of this cluster’s Kubernetes master.
property initialNodeCount
initialNodeCount?: pulumi.Input<number>;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 nodePool is not set. If you’re using
gcp.container.NodePool objects with no default node pool, you’ll need to
set this to a value of at least 1, alongside setting
removeDefaultNodePool to true.
property instanceGroupUrls
instanceGroupUrls?: pulumi.Input<pulumi.Input<string>[]>;List of instance group URLs which have been assigned to the cluster.
property ipAllocationPolicy
ipAllocationPolicy?: pulumi.Input<ClusterIpAllocationPolicy>;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.
property labelFingerprint
labelFingerprint?: pulumi.Input<string>;The fingerprint of the set of labels for this cluster.
property location
location?: pulumi.Input<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 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
property loggingService
loggingService?: pulumi.Input<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), and none. Defaults to logging.googleapis.com/kubernetes
property maintenancePolicy
maintenancePolicy?: pulumi.Input<ClusterMaintenancePolicy>;The maintenance policy to use for the cluster. Structure is documented below.
property masterAuth
masterAuth?: pulumi.Input<ClusterMasterAuth>;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.
property masterAuthorizedNetworksConfig
masterAuthorizedNetworksConfig?: pulumi.Input<ClusterMasterAuthorizedNetworksConfig>;The desired configuration options
for master authorized networks. Omit the nested cidrBlocks attribute to disallow
external access (except the cluster node IPs, which GKE automatically whitelists).
property masterVersion
masterVersion?: pulumi.Input<string>;The current version of the master in the cluster. This may
be different than the minMasterVersion set in the config if the master
has been updated by GKE.
property minMasterVersion
minMasterVersion?: pulumi.Input<string>;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 masterVersion 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 gcp.container.getEngineVersions data 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.
property monitoringService
monitoringService?: pulumi.Input<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), and none.
Defaults to monitoring.googleapis.com/kubernetes
property name
name?: pulumi.Input<string>;The name of the cluster, unique within the project and location.
property network
network?: pulumi.Input<string>;The name or selfLink 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.
property networkPolicy
networkPolicy?: pulumi.Input<ClusterNetworkPolicy>;Configuration options for the NetworkPolicy feature. Structure is documented below.
property nodeConfig
nodeConfig?: pulumi.Input<ClusterNodeConfig>;Parameters used in creating the default node pool.
Generally, this field should not be used at the same time as a
gcp.container.NodePool or a nodePool block; this configuration
manages the default node pool, which isn’t recommended to be used.
Structure is documented below.
property nodeLocations
nodeLocations?: pulumi.Input<pulumi.Input<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.
property nodePools
nodePools?: pulumi.Input<pulumi.Input<ClusterNodePool>[]>;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.
property nodeVersion
nodeVersion?: pulumi.Input<string>;The Kubernetes version on the nodes. Must either be unset
or set to the same value as minMasterVersion 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 the provider will see spurious diffs
when fuzzy versions are used. See the gcp.container.getEngineVersions data source’s
versionPrefix field to approximate fuzzy versions.
To update nodes in other node pools, use the version attribute on the node pool.
property operation
operation?: pulumi.Input<string>;property podSecurityPolicyConfig
podSecurityPolicyConfig?: pulumi.Input<ClusterPodSecurityPolicyConfig>;Configuration for the PodSecurityPolicy feature. Structure is documented below.
property privateClusterConfig
privateClusterConfig?: pulumi.Input<ClusterPrivateClusterConfig>;Configuration for private clusters, clusters with private nodes. Structure is documented below.
property project
project?: pulumi.Input<string>;The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
property releaseChannel
releaseChannel?: pulumi.Input<ClusterReleaseChannel>;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.getEngineVersions datasource can provide
the default version for a channel. Note that removing the releaseChannel
field 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.
property removeDefaultNodePool
removeDefaultNodePool?: pulumi.Input<boolean>;If true, deletes the default node
pool upon cluster creation. If you’re using gcp.container.NodePool
resources with no default node pool, this should be set to true, alongside
setting initialNodeCount to at least 1.
property resourceLabels
resourceLabels?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;The GCE resource labels (a map of key/value pairs) to be applied to the cluster.
property resourceUsageExportConfig
resourceUsageExportConfig?: pulumi.Input<ClusterResourceUsageExportConfig>;Configuration for the ResourceUsageExportConfig feature. Structure is documented below.
property servicesIpv4Cidr
servicesIpv4Cidr?: pulumi.Input<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
/16 from the container CIDR.
property subnetwork
subnetwork?: pulumi.Input<string>;The name or selfLink of the Google Compute Engine subnetwork in which the cluster’s instances are launched.
property tpuIpv4CidrBlock
tpuIpv4CidrBlock?: pulumi.Input<string>;The IP address range of the Cloud TPUs in this cluster, in
CIDR
notation (e.g. 1.2.3.4/29).
property verticalPodAutoscaling
verticalPodAutoscaling?: pulumi.Input<ClusterVerticalPodAutoscaling>;Vertical Pod Autoscaling automatically adjusts the resources of pods controlled by it. Structure is documented below.
property workloadIdentityConfig
workloadIdentityConfig?: pulumi.Input<ClusterWorkloadIdentityConfig>;Workload Identity allows Kubernetes service accounts to act as a user-managed Google IAM Service Account. Structure is documented below.
interface GetClusterArgs
interface GetClusterArgsA collection of arguments for invoking getCluster.
property location
location?: undefined | string;The location (zone or region) this cluster has been
created in. One of location, region, zone, or a provider-level zone must
be specified.
property name
name: string;The name of the cluster.
property project
project?: undefined | string;The project in which the resource belongs. If it is not provided, the provider project is used.
property region
region?: undefined | string;The region this cluster has been created in. Deprecated
in favour of location.
property zone
zone?: undefined | string;The zone this cluster has been created in. Deprecated in
favour of location.
interface GetClusterResult
interface GetClusterResultA collection of values returned by getCluster.
property additionalZones
additionalZones: string[];property addonsConfigs
addonsConfigs: GetClusterAddonsConfig[];property authenticatorGroupsConfigs
authenticatorGroupsConfigs: GetClusterAuthenticatorGroupsConfig[];property clusterAutoscalings
clusterAutoscalings: GetClusterClusterAutoscaling[];property clusterIpv4Cidr
clusterIpv4Cidr: string;property databaseEncryptions
databaseEncryptions: GetClusterDatabaseEncryption[];property defaultMaxPodsPerNode
defaultMaxPodsPerNode: number;property description
description: string;property enableBinaryAuthorization
enableBinaryAuthorization: boolean;property enableIntranodeVisibility
enableIntranodeVisibility: boolean;property enableKubernetesAlpha
enableKubernetesAlpha: boolean;property enableLegacyAbac
enableLegacyAbac: boolean;property enableShieldedNodes
enableShieldedNodes: boolean;property enableTpu
enableTpu: boolean;property endpoint
endpoint: string;property id
id: string;The provider-assigned unique ID for this managed resource.
property initialNodeCount
initialNodeCount: number;property instanceGroupUrls
instanceGroupUrls: string[];property ipAllocationPolicies
ipAllocationPolicies: GetClusterIpAllocationPolicy[];property labelFingerprint
labelFingerprint: string;property location
location?: undefined | string;property loggingService
loggingService: string;property maintenancePolicies
maintenancePolicies: GetClusterMaintenancePolicy[];property masterAuthorizedNetworksConfigs
masterAuthorizedNetworksConfigs: GetClusterMasterAuthorizedNetworksConfig[];property masterAuths
masterAuths: GetClusterMasterAuth[];property masterVersion
masterVersion: string;property minMasterVersion
minMasterVersion: string;property monitoringService
monitoringService: string;property name
name: string;property network
network: string;property networkPolicies
networkPolicies: GetClusterNetworkPolicy[];property nodeConfigs
nodeConfigs: GetClusterNodeConfig[];property nodeLocations
nodeLocations: string[];property nodePools
nodePools: GetClusterNodePool[];property nodeVersion
nodeVersion: string;property operation
operation: string;property podSecurityPolicyConfigs
podSecurityPolicyConfigs: GetClusterPodSecurityPolicyConfig[];property privateClusterConfigs
privateClusterConfigs: GetClusterPrivateClusterConfig[];property project
project?: undefined | string;property region
region?: undefined | string;property releaseChannels
releaseChannels: GetClusterReleaseChannel[];property removeDefaultNodePool
removeDefaultNodePool: boolean;property resourceLabels
resourceLabels: {[key: string]: string};property resourceUsageExportConfigs
resourceUsageExportConfigs: GetClusterResourceUsageExportConfig[];property servicesIpv4Cidr
servicesIpv4Cidr: string;property subnetwork
subnetwork: string;property tpuIpv4CidrBlock
tpuIpv4CidrBlock: string;property verticalPodAutoscalings
verticalPodAutoscalings: GetClusterVerticalPodAutoscaling[];property workloadIdentityConfigs
workloadIdentityConfigs: GetClusterWorkloadIdentityConfig[];property zone
zone?: undefined | string;interface GetEngineVersionsArgs
interface GetEngineVersionsArgsA collection of arguments for invoking getEngineVersions.
property location
location?: undefined | string;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.
property project
project?: undefined | string;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.
property versionPrefix
versionPrefix?: undefined | string;If provided, the 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.
interface GetEngineVersionsResult
interface GetEngineVersionsResultA collection of values returned by getEngineVersions.
property defaultClusterVersion
defaultClusterVersion: string;Version of Kubernetes the service deploys by default.
property id
id: string;The provider-assigned unique ID for this managed resource.
property latestMasterVersion
latestMasterVersion: string;The latest version available in the given zone for use with master instances.
property latestNodeVersion
latestNodeVersion: string;The latest version available in the given zone for use with node instances.
property location
location?: undefined | string;property project
project?: undefined | string;property releaseChannelDefaultVersion
releaseChannelDefaultVersion: {[key: string]: string};A map from a release channel name to the channel’s default version.
property validMasterVersions
validMasterVersions: string[];A list of versions available in the given zone for use with master instances.
property validNodeVersions
validNodeVersions: string[];A list of versions available in the given zone for use with node instances.
property versionPrefix
versionPrefix?: undefined | string;interface GetRegistryImageArgs
interface GetRegistryImageArgsA collection of arguments for invoking getRegistryImage.
property digest
digest?: undefined | string;property name
name: string;property project
project?: undefined | string;property region
region?: undefined | string;property tag
tag?: undefined | string;interface GetRegistryImageResult
interface GetRegistryImageResultA collection of values returned by getRegistryImage.
property digest
digest?: undefined | string;property id
id: string;The provider-assigned unique ID for this managed resource.
property imageUrl
imageUrl: string;property name
name: string;property project
project: string;property region
region?: undefined | string;property tag
tag?: undefined | string;interface GetRegistryRepositoryArgs
interface GetRegistryRepositoryArgsA collection of arguments for invoking getRegistryRepository.
property project
project?: undefined | string;property region
region?: undefined | string;interface GetRegistryRepositoryResult
interface GetRegistryRepositoryResultA collection of values returned by getRegistryRepository.
property id
id: string;The provider-assigned unique ID for this managed resource.
property project
project: string;property region
region?: undefined | string;property repositoryUrl
repositoryUrl: string;interface NodePoolArgs
interface NodePoolArgsThe set of arguments for constructing a NodePool resource.
property autoscaling
autoscaling?: pulumi.Input<NodePoolAutoscaling>;Configuration required by cluster autoscaler to adjust the size of the node pool to the current cluster usage. Structure is documented below.
property cluster
cluster: pulumi.Input<string>;The cluster to create the node pool for. Cluster must be present in location provided for zonal clusters.
property initialNodeCount
initialNodeCount?: pulumi.Input<number>;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.
property location
location?: pulumi.Input<string>;The location (region or zone) of the cluster.
property management
management?: pulumi.Input<NodePoolManagement>;Node management configuration, wherein auto-repair and auto-upgrade is configured. Structure is documented below.
property maxPodsPerNode
maxPodsPerNode?: pulumi.Input<number>;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.
property name
name?: pulumi.Input<string>;The name of the node pool. If left blank, the provider will auto-generate a unique name.
property namePrefix
namePrefix?: pulumi.Input<string>;Creates a unique name for the node pool beginning
with the specified prefix. Conflicts with name.
property nodeConfig
nodeConfig?: pulumi.Input<NodePoolNodeConfig>;The node configuration of the pool. See gcp.container.Cluster for schema.
property nodeCount
nodeCount?: pulumi.Input<number>;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.
property nodeLocations
nodeLocations?: pulumi.Input<pulumi.Input<string>[]>;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
nodeLocations will be used.
property project
project?: pulumi.Input<string>;The ID of the project in which to create the node pool. If blank, the provider-configured project will be used.
property upgradeSettings
upgradeSettings?: pulumi.Input<NodePoolUpgradeSettings>;Specify node upgrade settings to change how many nodes GKE attempts to
upgrade at once. The number of nodes upgraded simultaneously is the sum of maxSurge and maxUnavailable.
The maximum number of nodes upgraded simultaneously is limited to 20.
property version
version?: pulumi.Input<string>;The Kubernetes version for the nodes in this pool. Note that if this field
and autoUpgrade 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 the provider will see spurious diffs
when fuzzy versions are used. See the gcp.container.getEngineVersions data source’s
versionPrefix field to approximate fuzzy versions in a provider-compatible way.
interface NodePoolState
interface NodePoolStateInput properties used for looking up and filtering NodePool resources.
property autoscaling
autoscaling?: pulumi.Input<NodePoolAutoscaling>;Configuration required by cluster autoscaler to adjust the size of the node pool to the current cluster usage. Structure is documented below.
property cluster
cluster?: pulumi.Input<string>;The cluster to create the node pool for. Cluster must be present in location provided for zonal clusters.
property initialNodeCount
initialNodeCount?: pulumi.Input<number>;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.
property instanceGroupUrls
instanceGroupUrls?: pulumi.Input<pulumi.Input<string>[]>;The resource URLs of the managed instance groups associated with this node pool.
property location
location?: pulumi.Input<string>;The location (region or zone) of the cluster.
property management
management?: pulumi.Input<NodePoolManagement>;Node management configuration, wherein auto-repair and auto-upgrade is configured. Structure is documented below.
property maxPodsPerNode
maxPodsPerNode?: pulumi.Input<number>;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.
property name
name?: pulumi.Input<string>;The name of the node pool. If left blank, the provider will auto-generate a unique name.
property namePrefix
namePrefix?: pulumi.Input<string>;Creates a unique name for the node pool beginning
with the specified prefix. Conflicts with name.
property nodeConfig
nodeConfig?: pulumi.Input<NodePoolNodeConfig>;The node configuration of the pool. See gcp.container.Cluster for schema.
property nodeCount
nodeCount?: pulumi.Input<number>;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.
property nodeLocations
nodeLocations?: pulumi.Input<pulumi.Input<string>[]>;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
nodeLocations will be used.
property project
project?: pulumi.Input<string>;The ID of the project in which to create the node pool. If blank, the provider-configured project will be used.
property upgradeSettings
upgradeSettings?: pulumi.Input<NodePoolUpgradeSettings>;Specify node upgrade settings to change how many nodes GKE attempts to
upgrade at once. The number of nodes upgraded simultaneously is the sum of maxSurge and maxUnavailable.
The maximum number of nodes upgraded simultaneously is limited to 20.
property version
version?: pulumi.Input<string>;The Kubernetes version for the nodes in this pool. Note that if this field
and autoUpgrade 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 the provider will see spurious diffs
when fuzzy versions are used. See the gcp.container.getEngineVersions data source’s
versionPrefix field to approximate fuzzy versions in a provider-compatible way.
interface RegistryArgs
interface RegistryArgsThe set of arguments for constructing a Registry resource.
property location
location?: pulumi.Input<string>;The location of the registry. One of ASIA, EU, US or not specified. See the official documentation for more information on registry locations.
property project
project?: pulumi.Input<string>;The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
interface RegistryState
interface RegistryStateInput properties used for looking up and filtering Registry resources.
property bucketSelfLink
bucketSelfLink?: pulumi.Input<string>;The URI of the created resource.
property location
location?: pulumi.Input<string>;The location of the registry. One of ASIA, EU, US or not specified. See the official documentation for more information on registry locations.
property project
project?: pulumi.Input<string>;The ID of the project in which the resource belongs. If it is not provided, the provider project is used.