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.
composer¶
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.composer.AwaitableGetImageVersionsResult(id=None, image_versions=None, project=None, region=None)¶
- class
pulumi_gcp.composer.Environment(resource_name, opts=None, config=None, labels=None, name=None, project=None, region=None, __props__=None, __name__=None, __opts__=None)¶ An environment for running orchestration tasks.
Environments run Apache Airflow software on Google infrastructure.
To get more information about Environments, see:
How-to Guides
- Warning: We STRONGLY recommend you read the GCP guides
as the Environment resource requires a long deployment process and involves several layers of GCP infrastructure, including a Kubernetes Engine cluster, Cloud Storage, and Compute networking resources. Due to limitations of the API, This provider will not be able to automatically find or manage many of these underlying resources. In particular:
It can take up to one hour to create or update an environment resource. In addition, GCP may only detect some errors in configuration when they are used (e.g. ~40-50 minutes into the creation process), and is prone to limited error reporting. If you encounter confusing or uninformative errors, please verify your configuration is valid against GCP Cloud Composer before filing bugs against this provider.
Environments create Google Cloud Storage buckets that do not get cleaned up automatically on environment deletion. More about Composer’s use of Cloud Storage.
import pulumi import pulumi_gcp as gcp test = gcp.composer.Environment("test", region="us-central1")
import pulumi import pulumi_gcp as gcp test_network = gcp.compute.Network("testNetwork", auto_create_subnetworks=False) test_subnetwork = gcp.compute.Subnetwork("testSubnetwork", ip_cidr_range="10.2.0.0/16", region="us-central1", network=test_network.id) test_account = gcp.service_account.Account("testAccount", account_id="composer-env-account", display_name="Test Service Account for Composer Environment") composer_worker = gcp.projects.IAMMember("composer-worker", role="roles/composer.worker", member=test_account.email.apply(lambda email: f"serviceAccount:{email}")) test_environment = gcp.composer.Environment("testEnvironment", region="us-central1", config={ "node_count": 4, "node_config": { "zone": "us-central1-a", "machine_type": "n1-standard-1", "network": test_network.id, "subnetwork": test_subnetwork.id, "service_account": test_account.name, }, })
import pulumi import pulumi_gcp as gcp test = gcp.composer.Environment("test", config={ "softwareConfig": { "airflowConfigOverrides": { "core-loadExample": "True", }, "env_variables": { "FOO": "bar", }, "pypiPackages": { "numpy": "", "scipy": "==1.1.0", }, }, }, region="us-central1")
- Parameters
resource_name (str) – The name of the resource.
opts (pulumi.ResourceOptions) – Options for the resource.
config (pulumi.Input[dict]) – Configuration parameters for this environment Structure is documented below.
labels (pulumi.Input[dict]) – User-defined labels for this environment. The labels map can contain no more than 64 entries. Entries of the labels map are UTF8 strings that comply with the following restrictions: Label keys must be between 1 and 63 characters long and must conform to the following regular expression:
a-z?. Label values must be between 0 and 63 characters long and must conform to the regular expression(a-z?)?. No more than 64 labels can be associated with a given environment. Both keys and values must be <= 128 bytes in size.name (pulumi.Input[str]) – Name of the environment
project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
region (pulumi.Input[str]) – The location or Compute Engine region for the environment.
The config object supports the following:
airflowUri(pulumi.Input[str])dagGcsPrefix(pulumi.Input[str])gkeCluster(pulumi.Input[str])node_config(pulumi.Input[dict]) - The configuration used for the Kubernetes Engine cluster. Structure is documented below.disk_size_gb(pulumi.Input[float]) - The disk size in GB used for node VMs. Minimum size is 20GB. If unspecified, defaults to 100GB. Cannot be updated.ip_allocation_policy(pulumi.Input[dict]) - Configuration for controlling how IPs are allocated in the GKE cluster. Structure is documented below. Cannot be updated.clusterIpv4CidrBlock(pulumi.Input[str]) - The IP address range used to allocate IP addresses to pods in the cluster. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. /14) to have GKE choose a range with a specific netmask. Set to a CIDR notation (e.g. 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use. Specify eithercluster_secondary_range_nameorcluster_ipv4_cidr_blockbut not both.clusterSecondaryRangeName(pulumi.Input[str]) - The name of the cluster’s secondary range used to allocate IP addresses to pods. Specify eithercluster_secondary_range_nameorcluster_ipv4_cidr_blockbut not both. This field is applicable only whenuse_ip_aliasesis true.servicesIpv4CidrBlock(pulumi.Input[str]) - The IP address range used to allocate IP addresses in this cluster. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. /14) to have GKE choose a range with a specific netmask. Set to a CIDR notation (e.g. 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use. Specify eitherservices_secondary_range_nameorservices_ipv4_cidr_blockbut not both.servicesSecondaryRangeName(pulumi.Input[str]) - The name of the services’ secondary range used to allocate IP addresses to the cluster. Specify eitherservices_secondary_range_nameorservices_ipv4_cidr_blockbut not both. This field is applicable only whenuse_ip_aliasesis true.useIpAliases(pulumi.Input[bool]) - Whether or not to enable Alias IPs in the GKE cluster. If true, a VPC-native cluster is created. Defaults to true if theip_allocation_blockis present in config.
machine_type(pulumi.Input[str]) - The Compute Engine machine type used for cluster instances, specified as a name or relative resource name. For example: “projects/{project}/zones/{zone}/machineTypes/{machineType}”. Must belong to the enclosing environment’s project and region/zone.network(pulumi.Input[str]) - The Compute Engine network to be used for machine communications, specified as a self-link, relative resource name (e.g. “projects/{project}/global/networks/{network}”), by name.oauthScopes(pulumi.Input[list]) - The set of Google API scopes to be made available on all node VMs. Cannot be updated. If empty, defaults to["https://www.googleapis.com/auth/cloud-platform"]service_account(pulumi.Input[str]) - The Google Cloud Platform Service Account to be used by the node VMs. If a service account is not specified, the “default” Compute Engine service account is used. Cannot be updated. If given, note that the service account must haveroles/composer.workerfor any GCP resources created under the Cloud Composer Environment.subnetwork(pulumi.Input[str]) - The Compute Engine subnetwork to be used for machine communications, , specified as a self-link, relative resource name (e.g. “projects/{project}/regions/{region}/subnetworks/{subnetwork}”), or by name. If subnetwork is provided, network must also be provided and the subnetwork must belong to the enclosing environment’s project and region.tags(pulumi.Input[list]) - The list of instance tags applied to all node VMs. Tags are used to identify valid sources or targets for network firewalls. Each tag within the list must comply with RFC1035. Cannot be updated.zone(pulumi.Input[str]) - The Compute Engine zone in which to deploy the VMs running the Apache Airflow software, specified as the zone name or relative resource name (e.g. “projects/{project}/zones/{zone}”). Must belong to the enclosing environment’s project and region.
node_count(pulumi.Input[float]) - The number of nodes in the Kubernetes Engine cluster that will be used to run this environment.privateEnvironmentConfig(pulumi.Input[dict]) - The configuration used for the Private IP Cloud Composer environment. Structure is documented below.cloudSqlIpv4CidrBlock(pulumi.Input[str]) - The CIDR block from which IP range in tenant project will be reserved for Cloud SQL. Needs to be disjoint fromweb_server_ipv4_cidr_blockenablePrivateEndpoint(pulumi.Input[bool]) - - If true, access to the public endpoint of the GKE cluster is denied.masterIpv4CidrBlock(pulumi.Input[str]) - The IP range in CIDR notation to use for the hosted master network. This range is used for assigning internal IP addresses to the cluster master or set of masters and to the internal load balancer virtual IP. This range must not overlap with any other ranges in use within the cluster’s network. If left blank, the default value of ‘172.16.0.0/28’ is used.webServerIpv4CidrBlock(pulumi.Input[str]) - The CIDR block from which IP range for web server will be reserved. Needs to be disjoint frommaster_ipv4_cidr_blockandcloud_sql_ipv4_cidr_block.
softwareConfig(pulumi.Input[dict]) - The configuration settings for software inside the environment. Structure is documented below.airflowConfigOverrides(pulumi.Input[dict]) - - (Optional) Apache Airflow configuration properties to override. Property keys contain the section and property names, separated by a hyphen, for example “core-dags_are_paused_at_creation”.env_variables(pulumi.Input[dict]) - Additional environment variables to provide to the Apache Airflow scheduler, worker, and webserver processes. Environment variable names must match the regular expression[a-zA-Z_][a-zA-Z0-9_]*. They cannot specify Apache Airflow software configuration overrides (they cannot match the regular expressionAIRFLOW__[A-Z0-9_]+__[A-Z0-9_]+), and they cannot match any of the following reserved names: .. code-block:: pythonimport pulumi
imageVersion(pulumi.Input[str]) - - The version of the software running in the environment. This encapsulates both the version of Cloud Composer functionality and the version of Apache Airflow. It must match the regular expressioncomposer-[0-9]+\.[0-9]+(\.[0-9]+)?-airflow-[0-9]+\.[0-9]+(\.[0-9]+.*)?. The Cloud Composer portion of the version is a semantic version. The portion of the image version following ‘airflow-‘ is an official Apache Airflow repository release name. See documentation for allowed release names.pypiPackages(pulumi.Input[dict]) - Custom Python Package Index (PyPI) packages to be installed in the environment. Keys refer to the lowercase package name (e.g. “numpy”). Values are the lowercase extras and version specifier (e.g. “==1.12.0”, “[devel,gcp_api]”, “[devel]>=1.8.2, <1.9.2”). To specify a package without pinning it to a version specifier, use the empty string as the value.pythonVersion(pulumi.Input[str]) - - The major version of Python used to run the Apache Airflow scheduler, worker, and webserver processes. Can be set to ‘2’ or ‘3’. If not specified, the default is ‘2’. Cannot be updated.
webServerNetworkAccessControl(pulumi.Input[dict]) - The network-level access control policy for the Airflow web server. If unspecified, no network-level access restrictions will be applied.allowedIpRanges(pulumi.Input[list]) - - A collection of allowed IP ranges with descriptions. Structure is documented below.description(pulumi.Input[str]) - A description of this ip range.value(pulumi.Input[str]) - IP address or range, defined using CIDR notation, of requests that this rule applies to. Examples:192.168.1.1or192.168.0.0/16or2001:db8::/32or2001:0db8:0000:0042:0000:8a2e:0370:7334. IP range prefixes should be properly truncated. For example,1.2.3.4/24should be truncated to1.2.3.0/24. Similarly, for IPv6,2001:db8::1/32should be truncated to2001:db8::/32.
config: pulumi.Output[dict] = None¶Configuration parameters for this environment Structure is documented below.
airflowUri(str)dagGcsPrefix(str)gkeCluster(str)node_config(dict) - The configuration used for the Kubernetes Engine cluster. Structure is documented below.disk_size_gb(float) - The disk size in GB used for node VMs. Minimum size is 20GB. If unspecified, defaults to 100GB. Cannot be updated.ip_allocation_policy(dict) - Configuration for controlling how IPs are allocated in the GKE cluster. Structure is documented below. Cannot be updated.clusterIpv4CidrBlock(str) - The IP address range used to allocate IP addresses to pods in the cluster. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. /14) to have GKE choose a range with a specific netmask. Set to a CIDR notation (e.g. 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use. Specify eithercluster_secondary_range_nameorcluster_ipv4_cidr_blockbut not both.clusterSecondaryRangeName(str) - The name of the cluster’s secondary range used to allocate IP addresses to pods. Specify eithercluster_secondary_range_nameorcluster_ipv4_cidr_blockbut not both. This field is applicable only whenuse_ip_aliasesis true.servicesIpv4CidrBlock(str) - The IP address range used to allocate IP addresses in this cluster. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. /14) to have GKE choose a range with a specific netmask. Set to a CIDR notation (e.g. 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use. Specify eitherservices_secondary_range_nameorservices_ipv4_cidr_blockbut not both.servicesSecondaryRangeName(str) - The name of the services’ secondary range used to allocate IP addresses to the cluster. Specify eitherservices_secondary_range_nameorservices_ipv4_cidr_blockbut not both. This field is applicable only whenuse_ip_aliasesis true.useIpAliases(bool) - Whether or not to enable Alias IPs in the GKE cluster. If true, a VPC-native cluster is created. Defaults to true if theip_allocation_blockis present in config.
machine_type(str) - The Compute Engine machine type used for cluster instances, specified as a name or relative resource name. For example: “projects/{project}/zones/{zone}/machineTypes/{machineType}”. Must belong to the enclosing environment’s project and region/zone.network(str) - The Compute Engine network to be used for machine communications, specified as a self-link, relative resource name (e.g. “projects/{project}/global/networks/{network}”), by name.oauthScopes(list) - The set of Google API scopes to be made available on all node VMs. Cannot be updated. If empty, defaults to["https://www.googleapis.com/auth/cloud-platform"]service_account(str) - The Google Cloud Platform Service Account to be used by the node VMs. If a service account is not specified, the “default” Compute Engine service account is used. Cannot be updated. If given, note that the service account must haveroles/composer.workerfor any GCP resources created under the Cloud Composer Environment.subnetwork(str) - The Compute Engine subnetwork to be used for machine communications, , specified as a self-link, relative resource name (e.g. “projects/{project}/regions/{region}/subnetworks/{subnetwork}”), or by name. If subnetwork is provided, network must also be provided and the subnetwork must belong to the enclosing environment’s project and region.tags(list) - The list of instance tags applied to all node VMs. Tags are used to identify valid sources or targets for network firewalls. Each tag within the list must comply with RFC1035. Cannot be updated.zone(str) - The Compute Engine zone in which to deploy the VMs running the Apache Airflow software, specified as the zone name or relative resource name (e.g. “projects/{project}/zones/{zone}”). Must belong to the enclosing environment’s project and region.
node_count(float) - The number of nodes in the Kubernetes Engine cluster that will be used to run this environment.privateEnvironmentConfig(dict) - The configuration used for the Private IP Cloud Composer environment. Structure is documented below.cloudSqlIpv4CidrBlock(str) - The CIDR block from which IP range in tenant project will be reserved for Cloud SQL. Needs to be disjoint fromweb_server_ipv4_cidr_blockenablePrivateEndpoint(bool) - - If true, access to the public endpoint of the GKE cluster is denied.masterIpv4CidrBlock(str) - The IP range in CIDR notation to use for the hosted master network. This range is used for assigning internal IP addresses to the cluster master or set of masters and to the internal load balancer virtual IP. This range must not overlap with any other ranges in use within the cluster’s network. If left blank, the default value of ‘172.16.0.0/28’ is used.webServerIpv4CidrBlock(str) - The CIDR block from which IP range for web server will be reserved. Needs to be disjoint frommaster_ipv4_cidr_blockandcloud_sql_ipv4_cidr_block.
softwareConfig(dict) - The configuration settings for software inside the environment. Structure is documented below.airflowConfigOverrides(dict) - - (Optional) Apache Airflow configuration properties to override. Property keys contain the section and property names, separated by a hyphen, for example “core-dags_are_paused_at_creation”.env_variables(dict) - Additional environment variables to provide to the Apache Airflow scheduler, worker, and webserver processes. Environment variable names must match the regular expression[a-zA-Z_][a-zA-Z0-9_]*. They cannot specify Apache Airflow software configuration overrides (they cannot match the regular expressionAIRFLOW__[A-Z0-9_]+__[A-Z0-9_]+), and they cannot match any of the following reserved names: .. code-block:: pythonimport pulumi
imageVersion(str) - - The version of the software running in the environment. This encapsulates both the version of Cloud Composer functionality and the version of Apache Airflow. It must match the regular expressioncomposer-[0-9]+\.[0-9]+(\.[0-9]+)?-airflow-[0-9]+\.[0-9]+(\.[0-9]+.*)?. The Cloud Composer portion of the version is a semantic version. The portion of the image version following ‘airflow-‘ is an official Apache Airflow repository release name. See documentation for allowed release names.pypiPackages(dict) - Custom Python Package Index (PyPI) packages to be installed in the environment. Keys refer to the lowercase package name (e.g. “numpy”). Values are the lowercase extras and version specifier (e.g. “==1.12.0”, “[devel,gcp_api]”, “[devel]>=1.8.2, <1.9.2”). To specify a package without pinning it to a version specifier, use the empty string as the value.pythonVersion(str) - - The major version of Python used to run the Apache Airflow scheduler, worker, and webserver processes. Can be set to ‘2’ or ‘3’. If not specified, the default is ‘2’. Cannot be updated.
webServerNetworkAccessControl(dict) - The network-level access control policy for the Airflow web server. If unspecified, no network-level access restrictions will be applied.allowedIpRanges(list) - - A collection of allowed IP ranges with descriptions. Structure is documented below.description(str) - A description of this ip range.value(str) - IP address or range, defined using CIDR notation, of requests that this rule applies to. Examples:192.168.1.1or192.168.0.0/16or2001:db8::/32or2001:0db8:0000:0042:0000:8a2e:0370:7334. IP range prefixes should be properly truncated. For example,1.2.3.4/24should be truncated to1.2.3.0/24. Similarly, for IPv6,2001:db8::1/32should be truncated to2001:db8::/32.
labels: pulumi.Output[dict] = None¶User-defined labels for this environment. The labels map can contain no more than 64 entries. Entries of the labels map are UTF8 strings that comply with the following restrictions: Label keys must be between 1 and 63 characters long and must conform to the following regular expression:
a-z?. Label values must be between 0 and 63 characters long and must conform to the regular expression(a-z?)?. No more than 64 labels can be associated with a given environment. Both keys and values must be <= 128 bytes in size.
name: pulumi.Output[str] = None¶Name of the environment
project: pulumi.Output[str] = None¶The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
region: pulumi.Output[str] = None¶The location or Compute Engine region for the environment.
- static
get(resource_name, id, opts=None, config=None, labels=None, name=None, project=None, region=None)¶ Get an existing Environment 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.
config (pulumi.Input[dict]) – Configuration parameters for this environment Structure is documented below.
labels (pulumi.Input[dict]) – User-defined labels for this environment. The labels map can contain no more than 64 entries. Entries of the labels map are UTF8 strings that comply with the following restrictions: Label keys must be between 1 and 63 characters long and must conform to the following regular expression:
a-z?. Label values must be between 0 and 63 characters long and must conform to the regular expression(a-z?)?. No more than 64 labels can be associated with a given environment. Both keys and values must be <= 128 bytes in size.name (pulumi.Input[str]) – Name of the environment
project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
region (pulumi.Input[str]) – The location or Compute Engine region for the environment.
The config object supports the following:
airflowUri(pulumi.Input[str])dagGcsPrefix(pulumi.Input[str])gkeCluster(pulumi.Input[str])node_config(pulumi.Input[dict]) - The configuration used for the Kubernetes Engine cluster. Structure is documented below.disk_size_gb(pulumi.Input[float]) - The disk size in GB used for node VMs. Minimum size is 20GB. If unspecified, defaults to 100GB. Cannot be updated.ip_allocation_policy(pulumi.Input[dict]) - Configuration for controlling how IPs are allocated in the GKE cluster. Structure is documented below. Cannot be updated.clusterIpv4CidrBlock(pulumi.Input[str]) - The IP address range used to allocate IP addresses to pods in the cluster. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. /14) to have GKE choose a range with a specific netmask. Set to a CIDR notation (e.g. 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use. Specify eithercluster_secondary_range_nameorcluster_ipv4_cidr_blockbut not both.clusterSecondaryRangeName(pulumi.Input[str]) - The name of the cluster’s secondary range used to allocate IP addresses to pods. Specify eithercluster_secondary_range_nameorcluster_ipv4_cidr_blockbut not both. This field is applicable only whenuse_ip_aliasesis true.servicesIpv4CidrBlock(pulumi.Input[str]) - The IP address range used to allocate IP addresses in this cluster. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. /14) to have GKE choose a range with a specific netmask. Set to a CIDR notation (e.g. 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use. Specify eitherservices_secondary_range_nameorservices_ipv4_cidr_blockbut not both.servicesSecondaryRangeName(pulumi.Input[str]) - The name of the services’ secondary range used to allocate IP addresses to the cluster. Specify eitherservices_secondary_range_nameorservices_ipv4_cidr_blockbut not both. This field is applicable only whenuse_ip_aliasesis true.useIpAliases(pulumi.Input[bool]) - Whether or not to enable Alias IPs in the GKE cluster. If true, a VPC-native cluster is created. Defaults to true if theip_allocation_blockis present in config.
machine_type(pulumi.Input[str]) - The Compute Engine machine type used for cluster instances, specified as a name or relative resource name. For example: “projects/{project}/zones/{zone}/machineTypes/{machineType}”. Must belong to the enclosing environment’s project and region/zone.network(pulumi.Input[str]) - The Compute Engine network to be used for machine communications, specified as a self-link, relative resource name (e.g. “projects/{project}/global/networks/{network}”), by name.oauthScopes(pulumi.Input[list]) - The set of Google API scopes to be made available on all node VMs. Cannot be updated. If empty, defaults to["https://www.googleapis.com/auth/cloud-platform"]service_account(pulumi.Input[str]) - The Google Cloud Platform Service Account to be used by the node VMs. If a service account is not specified, the “default” Compute Engine service account is used. Cannot be updated. If given, note that the service account must haveroles/composer.workerfor any GCP resources created under the Cloud Composer Environment.subnetwork(pulumi.Input[str]) - The Compute Engine subnetwork to be used for machine communications, , specified as a self-link, relative resource name (e.g. “projects/{project}/regions/{region}/subnetworks/{subnetwork}”), or by name. If subnetwork is provided, network must also be provided and the subnetwork must belong to the enclosing environment’s project and region.tags(pulumi.Input[list]) - The list of instance tags applied to all node VMs. Tags are used to identify valid sources or targets for network firewalls. Each tag within the list must comply with RFC1035. Cannot be updated.zone(pulumi.Input[str]) - The Compute Engine zone in which to deploy the VMs running the Apache Airflow software, specified as the zone name or relative resource name (e.g. “projects/{project}/zones/{zone}”). Must belong to the enclosing environment’s project and region.
node_count(pulumi.Input[float]) - The number of nodes in the Kubernetes Engine cluster that will be used to run this environment.privateEnvironmentConfig(pulumi.Input[dict]) - The configuration used for the Private IP Cloud Composer environment. Structure is documented below.cloudSqlIpv4CidrBlock(pulumi.Input[str]) - The CIDR block from which IP range in tenant project will be reserved for Cloud SQL. Needs to be disjoint fromweb_server_ipv4_cidr_blockenablePrivateEndpoint(pulumi.Input[bool]) - - If true, access to the public endpoint of the GKE cluster is denied.masterIpv4CidrBlock(pulumi.Input[str]) - The IP range in CIDR notation to use for the hosted master network. This range is used for assigning internal IP addresses to the cluster master or set of masters and to the internal load balancer virtual IP. This range must not overlap with any other ranges in use within the cluster’s network. If left blank, the default value of ‘172.16.0.0/28’ is used.webServerIpv4CidrBlock(pulumi.Input[str]) - The CIDR block from which IP range for web server will be reserved. Needs to be disjoint frommaster_ipv4_cidr_blockandcloud_sql_ipv4_cidr_block.
softwareConfig(pulumi.Input[dict]) - The configuration settings for software inside the environment. Structure is documented below.airflowConfigOverrides(pulumi.Input[dict]) - - (Optional) Apache Airflow configuration properties to override. Property keys contain the section and property names, separated by a hyphen, for example “core-dags_are_paused_at_creation”.env_variables(pulumi.Input[dict]) - Additional environment variables to provide to the Apache Airflow scheduler, worker, and webserver processes. Environment variable names must match the regular expression[a-zA-Z_][a-zA-Z0-9_]*. They cannot specify Apache Airflow software configuration overrides (they cannot match the regular expressionAIRFLOW__[A-Z0-9_]+__[A-Z0-9_]+), and they cannot match any of the following reserved names: .. code-block:: pythonimport pulumi
imageVersion(pulumi.Input[str]) - - The version of the software running in the environment. This encapsulates both the version of Cloud Composer functionality and the version of Apache Airflow. It must match the regular expressioncomposer-[0-9]+\.[0-9]+(\.[0-9]+)?-airflow-[0-9]+\.[0-9]+(\.[0-9]+.*)?. The Cloud Composer portion of the version is a semantic version. The portion of the image version following ‘airflow-‘ is an official Apache Airflow repository release name. See documentation for allowed release names.pypiPackages(pulumi.Input[dict]) - Custom Python Package Index (PyPI) packages to be installed in the environment. Keys refer to the lowercase package name (e.g. “numpy”). Values are the lowercase extras and version specifier (e.g. “==1.12.0”, “[devel,gcp_api]”, “[devel]>=1.8.2, <1.9.2”). To specify a package without pinning it to a version specifier, use the empty string as the value.pythonVersion(pulumi.Input[str]) - - The major version of Python used to run the Apache Airflow scheduler, worker, and webserver processes. Can be set to ‘2’ or ‘3’. If not specified, the default is ‘2’. Cannot be updated.
webServerNetworkAccessControl(pulumi.Input[dict]) - The network-level access control policy for the Airflow web server. If unspecified, no network-level access restrictions will be applied.allowedIpRanges(pulumi.Input[list]) - - A collection of allowed IP ranges with descriptions. Structure is documented below.description(pulumi.Input[str]) - A description of this ip range.value(pulumi.Input[str]) - IP address or range, defined using CIDR notation, of requests that this rule applies to. Examples:192.168.1.1or192.168.0.0/16or2001:db8::/32or2001:0db8:0000:0042:0000:8a2e:0370:7334. IP range prefixes should be properly truncated. For example,1.2.3.4/24should be truncated to1.2.3.0/24. Similarly, for IPv6,2001:db8::1/32should be truncated to2001:db8::/32.
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.composer.GetImageVersionsResult(id=None, image_versions=None, project=None, region=None)¶ A collection of values returned by getImageVersions.
id= None¶The provider-assigned unique ID for this managed resource.
image_versions= None¶A list of composer image versions available in the given project and location. Each
image_versioncontains:
pulumi_gcp.composer.get_image_versions(project=None, region=None, opts=None)¶Provides access to available Cloud Composer versions in a region for a given project.
import pulumi import pulumi_gcp as gcp all = gcp.composer.get_image_versions() test = gcp.composer.Environment("test", region="us-central1", config={ "software_config": { "imageVersion": all.image_versions[0]["imageVersionId"], }, })
- Parameters
project (str) – The ID of the project to list versions in. If it is not provided, the provider project is used.
region (str) – The location to list versions in. If it is not provider, the provider region is used.