Difference between revisions of "Terraform resource: aws ecs task definition"
Jump to navigation
Jump to search
Line 8: | Line 8: | ||
* <code>[[requires_compatibilities]]</code>: [[EC2]], [[Fargate]]. https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ecs_task_definition#requires_compatibilities | * <code>[[requires_compatibilities]]</code>: [[EC2]], [[Fargate]]. https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ecs_task_definition#requires_compatibilities | ||
+ | |||
+ | == Examples == | ||
+ | <pre> | ||
+ | resource "aws_ecs_task_definition" "service" { | ||
+ | family = "service" | ||
+ | container_definitions = jsonencode([ | ||
+ | { | ||
+ | name = "first" | ||
+ | image = "service-first" | ||
+ | cpu = 10 | ||
+ | memory = 512 | ||
+ | essential = true | ||
+ | portMappings = [ | ||
+ | { | ||
+ | containerPort = 80 | ||
+ | hostPort = 80 | ||
+ | } | ||
+ | ] | ||
+ | }, | ||
+ | { | ||
+ | name = "second" | ||
+ | image = "service-second" | ||
+ | cpu = 10 | ||
+ | memory = 256 | ||
+ | essential = true | ||
+ | portMappings = [ | ||
+ | { | ||
+ | containerPort = 443 | ||
+ | hostPort = 443 | ||
+ | } | ||
+ | ] | ||
+ | } | ||
+ | ]) | ||
+ | |||
+ | volume { | ||
+ | name = "service-storage" | ||
+ | host_path = "/ecs/service-storage" | ||
+ | } | ||
+ | |||
+ | placement_constraints { | ||
+ | type = "memberOf" | ||
+ | expression = "attribute:ecs.availability-zone in [us-west-2a, us-west-2b]" | ||
+ | } | ||
+ | } | ||
+ | </pre> | ||
== Related == | == Related == |
Revision as of 15:01, 12 January 2023
aws_ecs_task_definition
network_mode
(optional) https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ecs_task_definition#network_mode
requires_compatibilities
: EC2, Fargate. https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ecs_task_definition#requires_compatibilities
Examples
resource "aws_ecs_task_definition" "service" { family = "service" container_definitions = jsonencode([ { name = "first" image = "service-first" cpu = 10 memory = 512 essential = true portMappings = [ { containerPort = 80 hostPort = 80 } ] }, { name = "second" image = "service-second" cpu = 10 memory = 256 essential = true portMappings = [ { containerPort = 443 hostPort = 443 } ] } ]) volume { name = "service-storage" host_path = "/ecs/service-storage" } placement_constraints { type = "memberOf" expression = "attribute:ecs.availability-zone in [us-west-2a, us-west-2b]" } }
Related
See also
- Terraform ECS: module, resources:
aws_ecs_cluster, aws_ecs_service: task definition, aws_ecs_task_definition: container_definitions
terraform plan
: [-refresh-only | -lock=false
|-target
|-var-file
|will be created
|--help
], Terraform plan errors, Terraform plan examples, Terraform plan execution errors, (known after apply)- Terraform AWS resources: IAM, Net, EC2, ECS, ECR, S3, Route53, ACM, CloudWatch, CloudFront SES, RDS, DLM
Advertising: