| composer3_environment_size |
Size of the Composer environment (e.g. composer-3-small) |
string |
"composer-3-small" |
no |
| composer3_resilience_mode |
Resilience mode of the Composer 3 environment. Must be either STANDARD or HIGH |
string |
"STANDARD_RESILIENCE" |
no |
| composer3_workloads_config |
Resource configuration for Composer pods |
object({ scheduler = object({ cpu = number memory_gb = number storage_gb = number count = number }) web_server = object({ cpu = number memory_gb = number storage_gb = number }) worker = object({ cpu = number memory_gb = number storage_gb = number min_count = number max_count = number }) }) |
{ "scheduler": { "count": 1, "cpu": 0.5, "memory_gb": 1, "storage_gb": 2 }, "web_server": { "cpu": 0.5, "memory_gb": 1, "storage_gb": 2 }, "worker": { "cpu": 0.5, "max_count": 3, "memory_gb": 1, "min_count": 1, "storage_gb": 2 } } |
no |
| composer_airflow_config_overrides |
Overrides for airflow.cfg |
map(string) |
{} |
no |
| composer_airflow_env_variables |
Airflow environment variables |
map(string) |
{} |
no |
| composer_airflow_pypi_packages |
PyPI packages to install in the Composer environment |
map(string) |
{ "numpy": "", "paramiko": "", "pendulum": "", "scipy": "", "sshtunnel": "" } |
no |
| composer_environment_name |
Name of the Composer environment |
string |
"vxmseax-ca-composer3-<ENV>" |
no |
| composer_image_version |
Composer version to use, e.g. composer-3-1-0-airflow-2-5-0 |
string |
null |
no |
| composer_ip_allocation_policy |
Configuration for secondary IP ranges for native VPC |
object({ cluster_secondary_range_name = string services_secondary_range_name = string cluster_ipv4_cidr_block = string services_ipv4_cidr_block = string }) |
{ "cluster_ipv4_cidr_block": null, "cluster_secondary_range_name": "composer-pods", "services_ipv4_cidr_block": null, "services_secondary_range_name": "composer-services" } |
no |
| composer_maintenance_exclusions |
Maintenance exclusion periods |
list(object({ name = string start = string end = string })) |
[] |
no |
| composer_maintenance_window |
Allowed maintenance window |
object({ enable = bool start = string end = string recurrence = string }) |
{ "enable": false, "end": "", "recurrence": "", "start": "" } |
no |
| composer_project_sa_roles |
Roles to assign to the Service Account |
list(string) |
[ "roles/composer.worker", "roles/compute.osLogin", "roles/iam.serviceAccountUser", "roles/bigquery.user", "roles/bigquery.jobUser", "roles/bigquery.dataViewer", "roles/run.invoker", "roles/bigquery.dataEditor" ] |
no |
| composer_service_account_name |
Name of the service account used by Composer |
string |
"airflow" |
no |
| composer_service_identity_roles |
List of IAM roles to assign to the Cloud Composer service identity |
list(string) |
[ "roles/storage.objectViewer", "roles/pubsub.publisher", "roles/logging.logWriter" ] |
no |
| enable_composer_cluster |
Enable Composer 3 deployment |
bool |
true |
no |
| env |
Environment: dev, stg or prd |
string |
n/a |
yes |
| network |
Full self_link of the VPC network |
string |
null |
no |
| project_id |
GCP project ID |
string |
n/a |
yes |
| region |
GCP region |
string |
"europe-west1" |
no |
| subnetwork |
Full self_link of the subnetwork |
string |
null |
no |
| web_server_network_access_control |
IPs allowed to access the Airflow Web UI |
list(object({ display_name = string cidr_block = string })) |
[ { "cidr_block": "0.0.0.0/1", "display_name": "Everybody IPv4 1/2" }, { "cidr_block": "128.0.0.0/1", "display_name": "Everybody IPv4 2/2" }, { "cidr_block": "::/0", "display_name": "Everybody IPv6 1/2" }, { "cidr_block": "8000::/1", "display_name": "Everybody IPv6 2/2" } ] |
no |
| zone |
GCP zone |
string |
"europe-west1-b" |
no |