{ "name": "ecs-service", "version": "1.0.0", "kind": "l1", "type": "aws:ecs:task_definition", "description": "ECS Fargate service primitive (substrate-agnostic stack types aws:ecs:task_definition + aws:ecs:service; the Terraform adapter translates to aws_ecs_task_definition/aws_ecs_service).", "inputs": { "image": { "type": "string", "description": "ECR image URL for the task container.", "required": true }, "port": { "type": "number", "description": "Container port the service listens on.", "required": true }, "cpu": { "type": "number", "description": "Task CPU units (Fargate).", "required": false, "default": 256 }, "memory": { "type": "number", "description": "Task memory (MiB, Fargate).", "required": false, "default": 512 }, "env": { "type": "string", "description": "Environment variables as a JSON map string (optional).", "required": false }, "cluster_arn": { "type": "arn", "description": "ECS cluster ARN (ref to ecs-cluster).", "required": true }, "subnets": { "type": "string", "description": "Comma-separated subnet ids (ref to vpc).", "required": true }, "security_group": { "type": "string", "description": "Security group id for the service ENIs.", "required": true }, "lb_target_group_arn": { "type": "arn", "description": "Optional ALB target group ARN (ref to alb).", "required": false }, "region": { "type": "string", "description": "AWS region the service is created in.", "required": true } }, "outputs": { "service_arn": { "type": "arn", "description": "The ECS service ARN." }, "task_def_arn": { "type": "arn", "description": "The ECS task definition ARN." } }, "nfrs": {}, "resources": [ { "type": "aws:ecs:task_definition", "description": "Fargate task definition; the adapter jsonencodes image/port/env into container_definitions.", "inputs": ["image", "port", "cpu", "memory", "env"], "outputs": ["task_def_arn"] }, { "type": "aws:ecs:service", "description": "Fargate service running the task definition in the cluster + subnets.", "inputs": ["cluster_arn", "subnets", "security_group", "lb_target_group_arn"], "outputs": ["service_arn"] } ] }