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.
labels
map(string)
default:"{}"
A map of labels to add to all Kubernetes resources.
annotations
map(string)
default:"{}"
A map of annotations to add to all Kubernetes resources.

EMR virtual cluster

name
string
default:"\"\""
Name of the EMR on EKS virtual cluster.
eks_cluster_name
string
default:"\"\""
EKS cluster name.

Kubernetes namespace and role

create_namespace
bool
default:"true"
Determines whether a Kubernetes namespace is created for EMR on EKS.
namespace
string
default:"\"emr-containers\""
Kubernetes namespace for EMR on EKS.
create_kubernetes_role
bool
default:"true"
Determines whether a Kubernetes role is created for EMR on EKS.

Job execution role

create_iam_role
bool
default:"true"
Determines whether an IAM role is created for EMR on EKS job execution role.
eks_oidc_provider_arn
string
default:"\"\""
OIDC provider ARN for the EKS cluster.
s3_bucket_arns
list(string)
default:"[]"
S3 bucket ARNs for the EMR on EKS job execution role to list, get objects, and put objects.
role_name
string
default:"null"
Name to use on the IAM role created for EMR on EKS job execution role as well as Kubernetes RBAC role.
iam_role_use_name_prefix
bool
default:"true"
Determines whether the IAM job execution role name (role_name) is used as a prefix.
iam_role_path
string
default:"null"
Job execution IAM role path.
iam_role_description
string
default:"null"
Description of the job execution role.
iam_role_permissions_boundary
string
default:"null"
ARN of the policy that is used to set the permissions boundary for the job execution IAM role.
iam_role_additional_policies
map(string)
default:"{}"
Additional policies to be added to the job execution IAM role.

CloudWatch log group

create_cloudwatch_log_group
bool
default:"true"
Determines whether a log group is created by this module for the cluster logs. If not, AWS will automatically create one if logging is enabled.
cloudwatch_log_group_arn
string
default:"\"arn:aws:logs:*:*:*\""
ARN of the log group to use for the cluster logs.
cloudwatch_log_group_retention_in_days
number
default:"7"
Number of days to retain log events.
cloudwatch_log_group_kms_key_id
string
default:"null"
If a KMS Key ARN is set, this key will be used to encrypt the corresponding log group. Please be sure that the KMS Key has an appropriate key policy.
cloudwatch_log_group_class
string
default:"null"
Specified the log class of the log group. Possible values are: STANDARD or INFREQUENT_ACCESS.
cloudwatch_log_group_name
string
default:"null"
The name of the log group. If a name is not provided, the default name format used is: /emr-on-eks-logs/emr-workload/<NAMESPACE>.
cloudwatch_log_group_use_name_prefix
bool
default:"false"
Determines whether the log group name (cloudwatch_log_group_name) is used as a prefix.
cloudwatch_log_group_skip_destroy
bool
default:"null"
Set to true if you do not wish the log group (and any logs it may contain) to be deleted at destroy time, and instead just remove the log group from the Terraform state.

Outputs

EMR virtual cluster

virtual_cluster_arn
string
ARN of the EMR virtual cluster.
virtual_cluster_id
string
ID of the EMR virtual cluster.

Job execution role

job_execution_role_name
string
IAM role name of the job execution role.
job_execution_role_arn
string
IAM role ARN of the job execution role.
job_execution_role_unique_id
string
Stable and unique string identifying the job execution IAM role.

CloudWatch log group

cloudwatch_log_group_name
string
Name of the CloudWatch log group created.
cloudwatch_log_group_arn
string
ARN of the CloudWatch log group created.