EMR
Terraform module to create AWS EMR resources
Inputs
40 / 74
additional_infooptionalstringJSON string for selecting additional features such as adding proxy information. Note: Currently there is no API to retrieve the value of this argument after EMR cluster creation from provider, therefore Terraform cannot detect drift from the actual EMR cluster if its value is changed outside Terrafo…
nullapplicationsoptionallist(string)A case-insensitive list of applications for Amazon EMR to install and configure when launching the cluster
[]auto_termination_policyoptionalobject({ idle_timeout = optional(number) })An auto-termination policy for an Amazon EMR cluster. An auto-termination policy defines the amount of idle time in seconds after which a cluster automatically terminates
nullautoscaling_iam_role_arnoptionalstringThe ARN of an existing IAM role to use for autoscaling
nullautoscaling_iam_role_descriptionoptionalstringDescription of the role
nullautoscaling_iam_role_nameoptionalstringName to use on IAM role created
nullbootstrap_actionoptionallist(object({ args = optional(list(string)) name = string path = string }))Ordered list of bootstrap actions that will be run before Hadoop is started on the cluster nodes
nullconfigurationsoptionalstringList of configurations supplied for the EMR cluster you are creating. Supply a configuration object for applications to override their default configuration
nullconfigurations_jsonoptionalstringJSON string for supplying list of configurations for the EMR cluster
nullcore_instance_fleetoptionalobject({ instance_type_configs = optional(list(object({ bid_price = optional(str…Configuration block to use an [Instance Fleet](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-instance-fleet.html) for the core node type. Cannot be specified if any `core_instance_group` configuration blocks are set
nullcore_instance_groupoptionalobject({ autoscaling_policy = optional(string) bid_price = optional(string) ebs_…Configuration block to use an [Instance Group] for the core node type
nullcreateoptionalboolControls if resources should be created (affects nearly all resources)
truecreate_autoscaling_iam_roleoptionalboolDetermines whether the autoscaling IAM role should be created
truecreate_iam_instance_profileoptionalboolDetermines whether the EC2 IAM role/instance profile should be created
truecreate_managed_security_groupsoptionalboolDetermines whether managed security groups are created
truecreate_security_configurationoptionalboolDetermines whether a security configuration is created
falsecreate_service_iam_roleoptionalboolDetermines whether the service IAM role should be created
truecustom_ami_idoptionalstringCustom Amazon Linux AMI for the cluster (instead of an EMR-owned AMI). Available in Amazon EMR version 5.7.0 and later
nullebs_root_volume_sizeoptionalnumberSize in GiB of the EBS root device volume of the Linux AMI that is used for each EC2 instance. Available in Amazon EMR version 4.x and later
nullec2_attributesoptionalobject({ additional_master_security_groups = optional(string) additional_slave_s…Attributes for the EC2 instances running the job flow
nulliam_instance_profile_descriptionoptionalstringDescription of the EC2 IAM role/instance profile
nulliam_instance_profile_nameoptionalstringName to use on EC2 IAM role/instance profile created
nulliam_instance_profile_policiesoptionalmap(string)Map of IAM policies to attach to the EC2 IAM role/instance profile
{…}iam_instance_profile_role_arnoptionalstringThe ARN of an existing IAM role to use if passing in a custom instance profile and creating a service role
nulliam_role_pathoptionalstringIAM role path
nulliam_role_permissions_boundaryoptionalstringARN of the policy that is used to set the permissions boundary for the IAM role
nulliam_role_tagsoptionalmap(string)A map of additional tags to add to the IAM role created
{}iam_role_use_name_prefixoptionalboolDetermines whether the IAM role name is used as a prefix
trueis_private_clusteroptionalboolIdentifies whether the cluster is created in a private subnet
truekeep_job_flow_alive_when_no_stepsoptionalboolSwitch on/off run cluster with no steps or when all steps are complete (default is on)
nullkerberos_attributesoptionalobject({ ad_domain_join_password = optional(string) ad_domain_join_user = option…Kerberos configuration for the cluster
nulllist_steps_statesoptionallist(string)List of [step states](https://docs.aws.amazon.com/emr/latest/APIReference/API_StepStatus.html) used to filter returned steps
[]log_encryption_kms_key_idoptionalstringAWS KMS customer master key (CMK) key ID or arn used for encrypting log files. This attribute is only available with EMR version 5.30.0 and later, excluding EMR 6.0.0
nulllog_urioptionalstringS3 bucket to write the log files of the job flow. If a value is not provided, logs are not created
nullmanaged_scaling_policyoptionalobject({ maximum_capacity_units = number maximum_core_capacity_units = optional(…Compute limit configuration for a [Managed Scaling Policy](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-scaling.html)
nullmanaged_security_group_nameoptionalstringName to use on manged security group created. Note - `-master`, `-slave`, and `-service` will be appended to this name to distinguish
nullmanaged_security_group_tagsoptionalmap(string)A map of additional tags to add to the security group created
{}managed_security_group_use_name_prefixoptionalboolDetermines whether the security group name (`security_group_name`) is used as a prefix
truemaster_instance_fleetoptionalobject({ instance_type_configs = optional(list(object({ bid_price = optional(str…Configuration block to use an [Instance Fleet](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-instance-fleet.html) for the master node type. Cannot be specified if any `master_instance_group` configuration blocks are set
nullmaster_instance_groupoptionalobject({ bid_price = optional(string) ebs_config = optional(list(object({ iops =…Configuration block to use an [Instance Group](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-instance-group-configuration.html#emr-plan-instance-groups) for the [master node type](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-master-core-task-nodes.html#emr-plan-master)
nullAll 74 are optional — the module deploys with none of them set. Showing 40, so the site stays a static download — the remaining 34 are in the source.
Outputs
25
autoscaling_iam_role_arnAutoscaling IAM role ARN
autoscaling_iam_role_nameAutoscaling IAM role name
autoscaling_iam_role_unique_idStable and unique string identifying the autoscaling IAM role
cluster_arnThe ARN of the cluster
cluster_core_instance_group_idCore node type Instance Group ID, if using Instance Group for this node type
cluster_idThe ID of the cluster
cluster_master_instance_group_idMaster node type Instance Group ID, if using Instance Group for this node type
cluster_master_public_dnsThe DNS name of the master node. If the cluster is on a private subnet, this is the private DNS name. On a public subnet, this is the public DNS name
iam_instance_profile_arnARN assigned by AWS to the instance profile
iam_instance_profile_iam_role_arnInstance profile IAM role ARN
iam_instance_profile_iam_role_nameInstance profile IAM role name
iam_instance_profile_iam_role_unique_idStable and unique string identifying the instance profile IAM role
iam_instance_profile_idInstance profile's ID
iam_instance_profile_uniqueStable and unique string identifying the IAM instance profile
managed_master_security_group_arnAmazon Resource Name (ARN) of the managed master security group
managed_master_security_group_idID of the managed master security group
managed_service_access_security_group_arnAmazon Resource Name (ARN) of the managed service access security group
managed_service_access_security_group_idID of the managed service access security group
managed_slave_security_group_arnAmazon Resource Name (ARN) of the managed slave security group
managed_slave_security_group_idID of the managed slave security group
security_configuration_idThe ID of the security configuration
security_configuration_nameThe name of the security configuration
service_iam_role_arnService IAM role ARN
service_iam_role_nameService IAM role name
service_iam_role_unique_idStable and unique string identifying the service IAM role
What the agent wires into the next module. An edge on the architecture diagram is one of these consumed by something else.