aws_ecs_task_definition
Provides an ECS task definition to be used in aws_ecs_service.
Example Usage
resource "aws_ecs_task_definition" "jenkins" {
family = "jenkins"
container_definitions = "${file("task-definitions/jenkins.json")}"
volume {
name = "jenkins-home"
host_path = "/ecs/jenkins-home"
}
}
task-definitions/jenkins.json
The below would be passed into the container_definitions attribute. This is a small subset of the available parameters, see the AWS docs for a full list.
[
{
"name": "jenkins",
"image": "jenkins",
"cpu": 10,
"memory": 500,
"essential": true,
"portMappings": [
{
"containerPort": 80,
"hostPort": 80
}
]
}
]
Argument Reference
The following arguments are supported:
family- (Required) The family, unique name for your task definition.container_definitions- (Required) A list of container definitions in JSON format. See AWS docs for syntax. Note, you only need the containerDefinitions array, not the parent hash including the family and volumes keys.task_role_arn- (Optional) The ARN of IAM role that allows your Amazon ECS container task to make calls to other AWS services.network_mode- (Optional) The Docker networking mode to use for the containers in the task. The valid values arenone,bridge, andhost.volume- (Optional) A volume block. Volumes documented below.
Volumes support the following:
name- (Required) The name of the volume. This name is referenced in thesourceVolumeparameter of container definitionmountPoints.host_path- (Required) The path on the host container instance that is presented to the container.
Attributes Reference
The following attributes are exported:
arn- Full ARN of the task definition (including bothfamily&revision)family- The family of the task definition.revision- The revision of the task in a particular family.
See the source of this document at Terraform.io