| domain | The domain to use for the application | object({ name = string type = string wildcard = optional(bool) zone = optional(string) }) | null | no |
| egress | The egress rules to use for the application | string | "AUTOASSIGN" | no |
| env | The environment variables to set for the application | list(object({ key = string value = string scope = optional(string) type = optional(string) })) | [] | no |
| features | The features to enable for the application | list(string) | [] | no |
| functions | The services to deploy as part of the application | map(object({ source_dir = string env = optional(list(object({ key = string value = string scope = string type = string }))) alert = optional(list(object({ rule = string value = number operator = string window = string }))) git = object({ repo_clone_url = string branch = string }) log_destination = optional(object({ name = string papertrail = optional(object({ endpoint = string })) datadog = optional(object({ api_key = string })) logtail = optional(object({ token = string })) })) })) | \{} | no |
| health_check | The health check to use for the application | object({ http_path = string initial_delay_seconds = number period_seconds = number timeout_seconds = number success_threshold = number failure_threshold = number port = number }) | null | no |
| ingress | The ingress rules to use for the application | list(object({ path = string type = string component_name = optional(string) options = optional(object({ preserve_path_prefix = bool })) uri = optional(string) authority = optional(string) port = optional(number) scheme = optional(string) redirect_code = optional(number) cors = optional(object({ allow_origins = object({ exact = string regex = string }) allow_methods = list(string) allow_headers = list(string) max_age = string expose_headers = list(string) allow_credentials = bool })) })) | [] | no |
| jobs | The services to deploy as part of the application | map(object({ kind = string run_command = string environment_slug = string instance_count = optional(number) instance_size_slug = string env = optional(list(object({ key = string value = string scope = string type = string }))) image = object({ registry_type = string registry = optional(string) repository = string registry_credentials = string tag = string }) alert = optional(list(object({ rule = string value = number operator = string window = string }))) git = object({ repo_clone_url = string branch = string }) log_destination = optional(object({ name = string papertrail = optional(object({ endpoint = string })) datadog = optional(object({ api_key = string })) logtail = optional(object({ token = string })) })) })) | \{} | no |
| name | The name of the application | string | n/a | yes |
| region | The region to deploy the application to | string | n/a | yes |
| services | The services to deploy as part of the application | map(object({ environment_slug = string instance_count = optional(number) instance_size_slug = string http_port = number internal_ports = list(number) env = optional(list(object({ key = string value = string scope = string type = string }))) image = object({ registry_type = string registry = optional(string) repository = string registry_credentials = string tag = string }) alert = optional(list(object({ rule = string value = number operator = string window = string }))) git = object({ repo_clone_url = string branch = string }) health_check = optional(object({ http_path = string initial_delay_seconds = number period_seconds = number timeout_seconds = number success_threshold = number failure_threshold = number port = number })) log_destination = optional(object({ name = string papertrail = optional(object({ endpoint = string })) datadog = optional(object({ api_key = string })) logtail = optional(object({ token = string })) })) autoscaling = optional(object({ min_instance_count = number max_instance_count = number metrics = object({ cpu = object({ percent = number }) }) })) })) | \{} | no |
| static_sites | The static sites to deploy as part of the application | map(object({ build_command = string source_dir = string environment_slug = string output_dir = string index_document = string error_document = string catchall_document = string git = object({ repo_clone_url = string branch = string }) env = optional(list(object({ key = string value = string scope = string type = string }))) })) | \{} | no |
| workers | The services to deploy as part of the application | map(object({ environment_slug = string instance_count = optional(number) instance_size_slug = string env = optional(list(object({ key = string value = string scope = string type = string }))) image = object({ registry_type = string registry = optional(string) repository = string registry_credentials = string tag = string }) alert = optional(list(object({ rule = string value = number operator = string window = string }))) git = object({ repo_clone_url = string branch = string }) log_destination = optional(object({ name = string papertrail = optional(object({ endpoint = string })) datadog = optional(object({ api_key = string })) logtail = optional(object({ token = string })) })) })) | \{} | no |