Terraform Module that spins up a Docker-based scheduled job on AWS ECR.
Source code referenced by the blog post: https://hyperscience.com/tech-blog/running-cron-jobs-in-aws/
| Name | Version |
|---|---|
| aws | n/a |
| Name | Description | Type | Default | Required |
|---|---|---|---|---|
| cloudwatch_schedule_expression | AWS cron schedule expression | string |
n/a | yes |
| ecr_repo_name | Name of the ECR repo that contains the Docker image of your cron job | string |
n/a | yes |
| ecs_cluster_name | (Optional) Name of the ECS Cluster that you want to execute your cron job. Defaults to your task name if no value is supplied | string |
"" |
no |
| extra_container_defs | Additional configuration that you want to add to your task definition (see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html for all options) | map(any) |
{} |
no |
| image_tag | Docker tag of the container that you want to run | string |
n/a | yes |
| subnet_ids | Subnets where the job will be run | list(string) |
n/a | yes |
| task_cpu | CPU units to allocate to your job (vCPUs * 1024) | number |
1024 |
no |
| task_memory | In MiB | number |
2048 |
no |
| task_name | Name of the task for resource naming | string |
n/a | yes |
| task_role_arn | IAM role ARN for your task if it needs to access any AWS resources | any |
null |
no |
| Name | Description |
|---|---|
| sns_topic_arn | ARN of the SNS Topic where job failure notifications are sent |