This Terraform module creates an AWS Glue Job with various configurations.
module "glue_etl_job" {
source = "app.terraform.io/subhamay-bhattacharyya/glue-job/aws"
version = "1.0.0"
aws-region = "us-east-1"
project-name = "your-project"
environment-name = "your-environment"
glue-job-base-name = "example-glue-job"
glue-job-description = "An example Glue ETL Job"
glue-script-bucket-base-name = "example-script-bucket"
script-name = "example-script.py"
glue-job-role-name = "example-glue-role"
execution-class = "STANDARD"
glue-version = "2.0"
python-version = "3.0"
glue-job-command-name = "glueetl"
glue-job-timeout = 2880
max-capacity = 0.0625
worker-type = "Standard"
number-of-workers = 2
max-concurrent-runs = 1
default-arguments = {
"--job-bookmark-option" = "job-bookmark-enable"
"--enable-metrics" = "true"
}
glue-security-configuration-name = "security-configuration-name"
glue-job-tags = {
Environment = "dev"
ProjectName = "example-project"
GitHubRepository = "example-repo"
GitHubRef = "refs/heads/main"
GitHubURL = "https://github.com/example/example-repo"
GitHubSHA = "example-sha"
}
ci-build = ""
}
Name | Description | Type | Default | Required |
---|---|---|---|---|
aws-region | The AWS region to deploy resources | string | "us-east-1" | no |
project-name | The name of the project | string | "gitops" | no |
environment-name | The environment in which to deploy resources | string | "devl" | no |
glue-job-base-name | The base name of the Glue ETL Job | string | n/a | yes |
glue-job-description | The description of the Glue ETL Job | string | n/a | yes |
glue-script-bucket-base-name | The base name of the Glue script S3 bucket | string | n/a | yes |
script-name | The name of the Glue ETL Job script | string | n/a | yes |
glue-job-role-name | The name of the Glue ETL Job role | string | n/a | yes |
execution-class | The execution class of the Glue ETL Job | string | "STANDARD" | no |
glue-version | The version of the Glue ETL Job | string | "2.0" | no |
python-version | The Python version of the Glue ETL Job | string | "3.0" | no |
glue-job-command-name | The command name of the Glue ETL job | string | "glueetl" | no |
glue-job-timeout | The timeout period for the Glue job | number | 2880 | no |
max-capacity | Glue Job max capacity | number | 0.0625 | no |
worker-type | The worker type of the Glue ETL Job | string | null | no |
number-of-workers | The number of workers of the Glue ETL Job | number | 2 | no |
max-concurrent-runs | Maximum allowed concurrent runs | number | 1 | no |
default-arguments | A map of default arguments used by Glue ETL Job | map(string) | {} | no |
glue-security-configuration-name | Security configuration for the Glue ETL Job | string | "" | no |
glue-job-tags | A map of tags to assign to the Glue ETL Job | map(string) | {} | no |
ci-build | CI build identifier | string | "" | no |
Name | Description |
---|---|
glue-job-id | The ID of the created Glue ETL Job |
glue-job-name | The name of the created Glue ETL Job |
glue-job-arn | The ARN of the created Glue ETL Job |
glue-job-role-arn | The ARN of the IAM role associated with the Glue ETL Job |
glue-job-script-location | The S3 location of the Glue ETL Job script |
glue-job-security-config | The security configuration of the Glue ETL Job |