github.com/jmbataller/terraform@v0.6.8-0.20151125192640-b7a12e3a580c/website/source/docs/providers/aws/r/ecs_service.html.markdown (about)

     1  ---
     2  layout: "aws"
     3  page_title: "AWS: aws_ecs_service"
     4  sidebar_current: "docs-aws-resource-ecs-service"
     5  description: |-
     6    Provides an ECS service.
     7  ---
     8  
     9  # aws\_ecs\_service
    10  
    11  -> **Note:** To prevent race condition during service deletion, make sure to set `depends_on` to related `aws_iam_role_policy`, otherwise policy may be destroyed too soon and ECS service will then stuck in `DRAINING` state.
    12  
    13  Provides an ECS service - effectively a task that is expected to run until an error occures or user terminates it (typically a webserver or a database). 
    14  
    15  See [ECS Services section in AWS developer guide](http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html).
    16  
    17  ## Example Usage
    18  
    19  ```
    20  resource "aws_ecs_service" "mongo" {
    21    name = "mongodb"
    22    cluster = "${aws_ecs_cluster.foo.id}"
    23    task_definition = "${aws_ecs_task_definition.mongo.arn}"
    24    desired_count = 3
    25    iam_role = "${aws_iam_role.foo.arn}"
    26    depends_on = ["aws_iam_role_policy.foo"]
    27  
    28    load_balancer {
    29      elb_name = "${aws_elb.foo.id}"
    30      container_name = "mongo"
    31      container_port = 8080
    32    }
    33  }
    34  ```
    35  
    36  ## Argument Reference
    37  
    38  The following arguments are supported:
    39  
    40  * `name` - (Required) The name of the service (up to 255 letters, numbers, hyphens, and underscores)
    41  * `task_definition` - (Required) The family and revision (`family:revision`) or full ARN of the task definition that you want to run in your service.
    42  * `desired_count` - (Required) The number of instances of the task definition to place and keep running
    43  * `cluster` - (Optional) ARN of an ECS cluster
    44  * `iam_role` - (Optional) IAM role that allows your Amazon ECS container agent to make calls to your load balancer on your behalf. This parameter is only required if you are using a load balancer with your service.
    45  * `load_balancer` - (Optional) A load balancer block. Load balancers documented below.
    46  
    47  Load balancers support the following:
    48  
    49  * `elb_name` - (Required) The name of the load balancer.
    50  * `container_name` - (Required) The name of the container to associate with the load balancer (as it appears in a container definition).
    51  * `container_port` - (Required) The port on the container to associate with the load balancer.
    52  
    53  
    54  ## Attributes Reference
    55  
    56  The following attributes are exported:
    57  
    58  * `id` - The Amazon Resource Name (ARN) that identifies the service
    59  * `name` - The name of the service
    60  * `cluster` - The Amazon Resource Name (ARN) of cluster which the service runs on
    61  * `iam_role` - The ARN of IAM role used for ELB
    62  * `desired_count` - The number of instances of the task definition