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-scheduled-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 |
ecs_task_execution_role_name | If the default AWS ECSTaskExecutionRole is not sufficient for your needs, you can provide your own ECS Task Execution Role here. The module will attach a CloudWatch policy for logging purposes. | 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) | 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. IMPORTANT: This must have an AssumeRolePolicy that includes the 'ecs-tasks.amazonaws.com' provider!! | any |
null |
no |
Name | Description |
---|---|
sns_topic_arn | ARN of the SNS Topic where job failure notifications are sent |