Skip to main content

Inputs

General

create
bool
default:"true"
Controls if resources should be created (affects nearly all resources).
region
string
default:"null"
Region where the resource(s) will be managed. Defaults to the Region set in the provider configuration.
tags
map(string)
default:"{}"
A map of tags to add to all resources.

Application

name
string
default:"\"\""
The name of the application.
type
string
default:"\"spark\""
The type of application you want to start, such as spark or hive.
release_label
string
default:"null"
Release label for the Amazon EMR release.
release_label_filters
map(object)
default:"{ default = { prefix = \"emr-7\" } }"
Map of release label filters used to look up a release label. Each entry accepts application (optional string) and prefix (optional string).
architecture
string
default:"null"
The CPU architecture of an application. Valid values are ARM64 or X86_64. Default value is X86_64.
auto_start_configuration
object
default:"null"
The configuration for an application to automatically start on job submission. Accepts:
  • enabled (optional bool)
auto_stop_configuration
object
default:"null"
The configuration for an application to automatically stop after a certain amount of time being idle. Accepts:
  • enabled (optional bool)
  • idle_timeout_minutes (optional number)
image_configuration
object
default:"null"
The image configuration applied to all worker types. Accepts:
  • image_uri (string, required)
initial_capacity
map(object)
default:"null"
The capacity to initialize when the application is created. Each entry accepts:
  • initial_capacity_type (string, required)
  • initial_capacity_config (optional object) with worker_count and worker_configuration (containing cpu, memory, and optional disk)
interactive_configuration
object
default:"null"
Enables the interactive use cases to use when running an application. Accepts:
  • livy_endpoint_enabled (optional bool)
  • studio_enabled (optional bool)
job_level_cost_allocation_configuration
object
default:"null"
Configuration block for job-level cost allocation. Accepts:
  • enabled (optional bool)
maximum_capacity
object
default:"null"
The maximum capacity to allocate when the application is created. This is cumulative across all workers at any given point in time. No new resources will be created once any one of the defined limits is hit. Accepts:
  • cpu (string, required)
  • memory (string, required)
  • disk (optional string)
network_configuration
object
default:"null"
The network configuration for customer VPC connectivity. Accepts:
  • security_group_ids (optional list(string), default: [])
  • subnet_ids (optional list(string))
monitoring_configuration
object
default:"null"
The monitoring configuration for the application. Accepts nested blocks for:
  • cloudwatch_logging_configuration — with enabled, log_group_name, log_stream_name_prefix, encryption_key_arn, and log_types
  • managed_persistence_monitoring_configuration — with enabled and encryption_key_arn
  • prometheus_monitoring_configuration — with remote_write_url
  • s3_monitoring_configuration — with log_uri and encryption_key_arn
runtime_configuration
list(object)
default:"null"
The runtime configuration for the application. Each object accepts:
  • classification (string, required)
  • properties (optional map(string))
scheduler_configuration
object
default:"null"
The scheduler configuration for the application. Accepts:
  • max_concurrent_runs (optional number)
  • queue_timeout_minutes (optional number)

Security group

create_security_group
bool
default:"true"
Determines whether the security group is created.
security_group_name
string
default:"null"
Name to use on security group created.
security_group_use_name_prefix
bool
default:"true"
Determines whether the security group name (security_group_name) is used as a prefix.
security_group_description
string
default:"null"
Description of the security group created.
security_group_tags
map(string)
default:"{}"
A map of additional tags to add to the security group created.
security_group_ingress_rules
map(object)
default:"null"
Security group ingress rules to add to the security group created. Each rule accepts cidr_ipv4, cidr_ipv6, description, from_port, to_port, ip_protocol, prefix_list_id, referenced_security_group_id, name, and tags.
security_group_egress_rules
map(object)
Security group egress rules to add to the security group created. Each rule accepts the same fields as ingress rules.

Outputs

Application

arn
string
Amazon Resource Name (ARN) of the application.
id
string
ID of the application.

Security group

security_group_arn
string
Amazon Resource Name (ARN) of the security group.
security_group_id
string
ID of the security group.