This page documents the language specification for the aws package. If you're looking for help working with the inputs, outputs, or functions of aws resources in a Pulumi program, please see the resource documentation for examples and API reference.

ecs

This provider is a derived work of the Terraform Provider distributed under MPL 2.0. If you encounter a bug or missing feature, first check the pulumi/pulumi-aws repo; however, if that doesn’t turn up anything, please consult the source terraform-providers/terraform-provider-aws repo.

class pulumi_aws.ecs.AwaitableGetClusterResult(arn=None, cluster_name=None, id=None, pending_tasks_count=None, registered_container_instances_count=None, running_tasks_count=None, settings=None, status=None)
class pulumi_aws.ecs.AwaitableGetContainerDefinitionResult(container_name=None, cpu=None, disable_networking=None, docker_labels=None, environment=None, id=None, image=None, image_digest=None, memory=None, memory_reservation=None, task_definition=None)
class pulumi_aws.ecs.AwaitableGetServiceResult(arn=None, cluster_arn=None, desired_count=None, id=None, launch_type=None, scheduling_strategy=None, service_name=None, task_definition=None)
class pulumi_aws.ecs.AwaitableGetTaskDefinitionResult(family=None, id=None, network_mode=None, revision=None, status=None, task_definition=None, task_role_arn=None)
class pulumi_aws.ecs.CapacityProvider(resource_name, opts=None, auto_scaling_group_provider=None, name=None, tags=None, __props__=None, __name__=None, __opts__=None)

Provides an ECS cluster capacity provider. More information can be found on the ECS Developer Guide.

import pulumi
import pulumi_aws as aws

test = aws.ecs.CapacityProvider("test", auto_scaling_group_provider={
    "autoScalingGroupArn": aws_autoscaling_group["test"]["arn"],
    "managedTerminationProtection": "ENABLED",
    "managed_scaling": {
        "maximumScalingStepSize": 1000,
        "minimumScalingStepSize": 1,
        "status": "ENABLED",
        "target_capacity": 10,
    },
})
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • auto_scaling_group_provider (pulumi.Input[dict]) – Nested argument defining the provider for the ECS auto scaling group. Defined below.

  • name (pulumi.Input[str]) – The name of the capacity provider.

  • tags (pulumi.Input[dict]) – Key-value map of resource tags.

The auto_scaling_group_provider object supports the following:

  • autoScalingGroupArn (pulumi.Input[str]) - - The Amazon Resource Name (ARN) of the associated auto scaling group.

  • managedScaling (pulumi.Input[dict]) - - Nested argument defining the parameters of the auto scaling. Defined below.

    • maximumScalingStepSize (pulumi.Input[float]) - The maximum step adjustment size. A number between 1 and 10,000.

    • minimumScalingStepSize (pulumi.Input[float]) - The minimum step adjustment size. A number between 1 and 10,000.

    • status (pulumi.Input[str]) - Whether auto scaling is managed by ECS. Valid values are ENABLED and DISABLED.

    • target_capacity (pulumi.Input[float]) - The target utilization for the capacity provider. A number between 1 and 100.

  • managedTerminationProtection (pulumi.Input[str]) - - Enables or disables container-aware termination of instances in the auto scaling group when scale-in happens. Valid values are ENABLED and DISABLED.

arn: pulumi.Output[str] = None

The Amazon Resource Name (ARN) that identifies the capacity provider.

auto_scaling_group_provider: pulumi.Output[dict] = None

Nested argument defining the provider for the ECS auto scaling group. Defined below.

  • autoScalingGroupArn (str) - - The Amazon Resource Name (ARN) of the associated auto scaling group.

  • managedScaling (dict) - - Nested argument defining the parameters of the auto scaling. Defined below.

    • maximumScalingStepSize (float) - The maximum step adjustment size. A number between 1 and 10,000.

    • minimumScalingStepSize (float) - The minimum step adjustment size. A number between 1 and 10,000.

    • status (str) - Whether auto scaling is managed by ECS. Valid values are ENABLED and DISABLED.

    • target_capacity (float) - The target utilization for the capacity provider. A number between 1 and 100.

  • managedTerminationProtection (str) - - Enables or disables container-aware termination of instances in the auto scaling group when scale-in happens. Valid values are ENABLED and DISABLED.

name: pulumi.Output[str] = None

The name of the capacity provider.

tags: pulumi.Output[dict] = None

Key-value map of resource tags.

static get(resource_name, id, opts=None, arn=None, auto_scaling_group_provider=None, name=None, tags=None)

Get an existing CapacityProvider resource’s state with the given name, id, and optional extra properties used to qualify the lookup.

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • arn (pulumi.Input[str]) – The Amazon Resource Name (ARN) that identifies the capacity provider.

  • auto_scaling_group_provider (pulumi.Input[dict]) – Nested argument defining the provider for the ECS auto scaling group. Defined below.

  • name (pulumi.Input[str]) – The name of the capacity provider.

  • tags (pulumi.Input[dict]) – Key-value map of resource tags.

The auto_scaling_group_provider object supports the following:

  • autoScalingGroupArn (pulumi.Input[str]) - - The Amazon Resource Name (ARN) of the associated auto scaling group.

  • managedScaling (pulumi.Input[dict]) - - Nested argument defining the parameters of the auto scaling. Defined below.

    • maximumScalingStepSize (pulumi.Input[float]) - The maximum step adjustment size. A number between 1 and 10,000.

    • minimumScalingStepSize (pulumi.Input[float]) - The minimum step adjustment size. A number between 1 and 10,000.

    • status (pulumi.Input[str]) - Whether auto scaling is managed by ECS. Valid values are ENABLED and DISABLED.

    • target_capacity (pulumi.Input[float]) - The target utilization for the capacity provider. A number between 1 and 100.

  • managedTerminationProtection (pulumi.Input[str]) - - Enables or disables container-aware termination of instances in the auto scaling group when scale-in happens. Valid values are ENABLED and DISABLED.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_aws.ecs.Cluster(resource_name, opts=None, capacity_providers=None, default_capacity_provider_strategies=None, name=None, settings=None, tags=None, __props__=None, __name__=None, __opts__=None)

Provides an ECS cluster.

import pulumi
import pulumi_aws as aws

foo = aws.ecs.Cluster("foo")
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • capacity_providers (pulumi.Input[list]) – List of short names of one or more capacity providers to associate with the cluster. Valid values also include FARGATE and FARGATE_SPOT.

  • default_capacity_provider_strategies (pulumi.Input[list]) – The capacity provider strategy to use by default for the cluster. Can be one or more. Defined below.

  • name (pulumi.Input[str]) – The name of the cluster (up to 255 letters, numbers, hyphens, and underscores)

  • settings (pulumi.Input[list]) – Configuration block(s) with cluster settings. For example, this can be used to enable CloudWatch Container Insights for a cluster. Defined below.

  • tags (pulumi.Input[dict]) – Key-value map of resource tags

The default_capacity_provider_strategies object supports the following:

  • base (pulumi.Input[float]) - The number of tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a base defined.

  • capacityProvider (pulumi.Input[str]) - The short name of the capacity provider.

  • weight (pulumi.Input[float]) - The relative percentage of the total number of launched tasks that should use the specified capacity provider.

The settings object supports the following:

  • name (pulumi.Input[str]) - Name of the setting to manage. Valid values: containerInsights.

  • value (pulumi.Input[str]) - The value to assign to the setting. Value values are enabled and disabled.

arn: pulumi.Output[str] = None

The Amazon Resource Name (ARN) that identifies the cluster

capacity_providers: pulumi.Output[list] = None

List of short names of one or more capacity providers to associate with the cluster. Valid values also include FARGATE and FARGATE_SPOT.

default_capacity_provider_strategies: pulumi.Output[list] = None

The capacity provider strategy to use by default for the cluster. Can be one or more. Defined below.

  • base (float) - The number of tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a base defined.

  • capacityProvider (str) - The short name of the capacity provider.

  • weight (float) - The relative percentage of the total number of launched tasks that should use the specified capacity provider.

name: pulumi.Output[str] = None

The name of the cluster (up to 255 letters, numbers, hyphens, and underscores)

settings: pulumi.Output[list] = None

Configuration block(s) with cluster settings. For example, this can be used to enable CloudWatch Container Insights for a cluster. Defined below.

  • name (str) - Name of the setting to manage. Valid values: containerInsights.

  • value (str) - The value to assign to the setting. Value values are enabled and disabled.

tags: pulumi.Output[dict] = None

Key-value map of resource tags

static get(resource_name, id, opts=None, arn=None, capacity_providers=None, default_capacity_provider_strategies=None, name=None, settings=None, tags=None)

Get an existing Cluster resource’s state with the given name, id, and optional extra properties used to qualify the lookup.

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • arn (pulumi.Input[str]) – The Amazon Resource Name (ARN) that identifies the cluster

  • capacity_providers (pulumi.Input[list]) – List of short names of one or more capacity providers to associate with the cluster. Valid values also include FARGATE and FARGATE_SPOT.

  • default_capacity_provider_strategies (pulumi.Input[list]) – The capacity provider strategy to use by default for the cluster. Can be one or more. Defined below.

  • name (pulumi.Input[str]) – The name of the cluster (up to 255 letters, numbers, hyphens, and underscores)

  • settings (pulumi.Input[list]) – Configuration block(s) with cluster settings. For example, this can be used to enable CloudWatch Container Insights for a cluster. Defined below.

  • tags (pulumi.Input[dict]) – Key-value map of resource tags

The default_capacity_provider_strategies object supports the following:

  • base (pulumi.Input[float]) - The number of tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a base defined.

  • capacityProvider (pulumi.Input[str]) - The short name of the capacity provider.

  • weight (pulumi.Input[float]) - The relative percentage of the total number of launched tasks that should use the specified capacity provider.

The settings object supports the following:

  • name (pulumi.Input[str]) - Name of the setting to manage. Valid values: containerInsights.

  • value (pulumi.Input[str]) - The value to assign to the setting. Value values are enabled and disabled.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_aws.ecs.GetClusterResult(arn=None, cluster_name=None, id=None, pending_tasks_count=None, registered_container_instances_count=None, running_tasks_count=None, settings=None, status=None)

A collection of values returned by getCluster.

arn = None

The ARN of the ECS Cluster

id = None

The provider-assigned unique ID for this managed resource.

pending_tasks_count = None

The number of pending tasks for the ECS Cluster

registered_container_instances_count = None

The number of registered container instances for the ECS Cluster

running_tasks_count = None

The number of running tasks for the ECS Cluster

settings = None

The settings associated with the ECS Cluster.

status = None

The status of the ECS Cluster

class pulumi_aws.ecs.GetContainerDefinitionResult(container_name=None, cpu=None, disable_networking=None, docker_labels=None, environment=None, id=None, image=None, image_digest=None, memory=None, memory_reservation=None, task_definition=None)

A collection of values returned by getContainerDefinition.

cpu = None

The CPU limit for this container definition

disable_networking = None

Indicator if networking is disabled

docker_labels = None

Set docker labels

environment = None

The environment in use

id = None

The provider-assigned unique ID for this managed resource.

image = None

The docker image in use, including the digest

image_digest = None

The digest of the docker image in use

memory = None

The memory limit for this container definition

memory_reservation = None

The soft limit (in MiB) of memory to reserve for the container. When system memory is under contention, Docker attempts to keep the container memory to this soft limit

class pulumi_aws.ecs.GetServiceResult(arn=None, cluster_arn=None, desired_count=None, id=None, launch_type=None, scheduling_strategy=None, service_name=None, task_definition=None)

A collection of values returned by getService.

arn = None

The ARN of the ECS Service

desired_count = None

The number of tasks for the ECS Service

id = None

The provider-assigned unique ID for this managed resource.

launch_type = None

The launch type for the ECS Service

scheduling_strategy = None

The scheduling strategy for the ECS Service

task_definition = None

The family for the latest ACTIVE revision

class pulumi_aws.ecs.GetTaskDefinitionResult(family=None, id=None, network_mode=None, revision=None, status=None, task_definition=None, task_role_arn=None)

A collection of values returned by getTaskDefinition.

family = None

The family of this task definition

id = None

The provider-assigned unique ID for this managed resource.

network_mode = None

The Docker networking mode to use for the containers in this task.

revision = None

The revision of this task definition

status = None

The status of this task definition

task_role_arn = None

The ARN of the IAM role that containers in this task can assume

class pulumi_aws.ecs.Service(resource_name, opts=None, capacity_provider_strategies=None, cluster=None, deployment_controller=None, deployment_maximum_percent=None, deployment_minimum_healthy_percent=None, desired_count=None, enable_ecs_managed_tags=None, force_new_deployment=None, health_check_grace_period_seconds=None, iam_role=None, launch_type=None, load_balancers=None, name=None, network_configuration=None, ordered_placement_strategies=None, placement_constraints=None, platform_version=None, propagate_tags=None, scheduling_strategy=None, service_registries=None, tags=None, task_definition=None, wait_for_steady_state=None, __props__=None, __name__=None, __opts__=None)

Note: To prevent a race condition during service deletion, make sure to set depends_on to the related iam.RolePolicy; otherwise, the policy may be destroyed too soon and the ECS service will then get stuck in the DRAINING state.

Provides an ECS service - effectively a task that is expected to run until an error occurs or a user terminates it (typically a webserver or a database).

See ECS Services section in AWS developer guide.

import pulumi
import pulumi_aws as aws

mongo = aws.ecs.Service("mongo",
    cluster=aws_ecs_cluster["foo"]["id"],
    task_definition=aws_ecs_task_definition["mongo"]["arn"],
    desired_count=3,
    iam_role=aws_iam_role["foo"]["arn"],
    ordered_placement_strategy=[{
        "type": "binpack",
        "field": "cpu",
    }],
    load_balancer=[{
        "target_group_arn": aws_lb_target_group["foo"]["arn"],
        "container_name": "mongo",
        "containerPort": 8080,
    }],
    placement_constraints=[{
        "type": "memberOf",
        "expression": "attribute:ecs.availability-zone in [us-west-2a, us-west-2b]",
    }])
import pulumi
import pulumi_aws as aws

example = aws.ecs.Service("example",
    desired_count=2,
    lifecycle={
        "ignoreChanges": ["desiredCount"],
    })
import pulumi
import pulumi_aws as aws

bar = aws.ecs.Service("bar",
    cluster=aws_ecs_cluster["foo"]["id"],
    scheduling_strategy="DAEMON",
    task_definition=aws_ecs_task_definition["bar"]["arn"])
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • capacity_provider_strategies (pulumi.Input[list]) – The capacity provider strategy to use for the service. Can be one or more. Defined below.

  • cluster (pulumi.Input[str]) – ARN of an ECS cluster

  • deployment_controller (pulumi.Input[dict]) – Configuration block containing deployment controller configuration. Defined below.

  • deployment_maximum_percent (pulumi.Input[float]) – The upper limit (as a percentage of the service’s desiredCount) of the number of running tasks that can be running in a service during a deployment. Not valid when using the DAEMON scheduling strategy.

  • deployment_minimum_healthy_percent (pulumi.Input[float]) – The lower limit (as a percentage of the service’s desiredCount) of the number of running tasks that must remain running and healthy in a service during a deployment.

  • desired_count (pulumi.Input[float]) – The number of instances of the task definition to place and keep running. Defaults to 0. Do not specify if using the DAEMON scheduling strategy.

  • enable_ecs_managed_tags (pulumi.Input[bool]) – Specifies whether to enable Amazon ECS managed tags for the tasks within the service.

  • force_new_deployment (pulumi.Input[bool]) – Enable to force a new task deployment of the service. This can be used to update tasks to use a newer Docker image with same image/tag combination (e.g. myimage:latest), roll Fargate tasks onto a newer platform version, or immediately deploy ordered_placement_strategy and placement_constraints updates.

  • health_check_grace_period_seconds (pulumi.Input[float]) – Seconds to ignore failing load balancer health checks on newly instantiated tasks to prevent premature shutdown, up to 2147483647. Only valid for services configured to use load balancers.

  • iam_role (pulumi.Input[str]) – ARN of the IAM role that allows Amazon ECS to make calls to your load balancer on your behalf. This parameter is required if you are using a load balancer with your service, but only if your task definition does not use the awsvpc network mode. If using awsvpc network mode, do not specify this role. If your account has already created the Amazon ECS service-linked role, that role is used by default for your service unless you specify a role here.

  • launch_type (pulumi.Input[str]) – The launch type on which to run your service. The valid values are EC2 and FARGATE. Defaults to EC2.

  • load_balancers (pulumi.Input[list]) – A load balancer block. Load balancers documented below.

  • name (pulumi.Input[str]) – The name of the service (up to 255 letters, numbers, hyphens, and underscores)

  • network_configuration (pulumi.Input[dict]) – The network configuration for the service. This parameter is required for task definitions that use the awsvpc network mode to receive their own Elastic Network Interface, and it is not supported for other network modes.

  • ordered_placement_strategies (pulumi.Input[list]) – Service level strategy rules that are taken into consideration during task placement. List from top to bottom in order of precedence. Updates to this configuration will take effect next task deployment unless force_new_deployment is enabled. The maximum number of ordered_placement_strategy blocks is 5. Defined below.

  • placement_constraints (pulumi.Input[list]) – rules that are taken into consideration during task placement. Updates to this configuration will take effect next task deployment unless force_new_deployment is enabled. Maximum number of placement_constraints is 10. Defined below.

  • platform_version (pulumi.Input[str]) – The platform version on which to run your service. Only applicable for launch_type set to FARGATE. Defaults to LATEST. More information about Fargate platform versions can be found in the AWS ECS User Guide.

  • propagate_tags (pulumi.Input[str]) – Specifies whether to propagate the tags from the task definition or the service to the tasks. The valid values are SERVICE and TASK_DEFINITION.

  • scheduling_strategy (pulumi.Input[str]) – The scheduling strategy to use for the service. The valid values are REPLICA and DAEMON. Defaults to REPLICA. Note that *Fargate tasks do not support the ``DAEMON` scheduling strategy* <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/scheduling_tasks.html>`_.

  • service_registries (pulumi.Input[dict]) – The service discovery registries for the service. The maximum number of service_registries blocks is 1.

  • tags (pulumi.Input[dict]) – Key-value mapping of resource tags

  • task_definition (pulumi.Input[str]) – The family and revision (family:revision) or full ARN of the task definition that you want to run in your service.

  • wait_for_steady_state (pulumi.Input[bool]) – If true, this provider will wait for the service to reach a steady state (like ``aws ecs wait services-stable` <https://docs.aws.amazon.com/cli/latest/reference/ecs/wait/services-stable.html>`_) before continuing. Default false.

The capacity_provider_strategies object supports the following:

  • base (pulumi.Input[float]) - The number of tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a base defined.

  • capacityProvider (pulumi.Input[str]) - The short name of the capacity provider.

  • weight (pulumi.Input[float]) - The relative percentage of the total number of launched tasks that should use the specified capacity provider.

The deployment_controller object supports the following:

  • type (pulumi.Input[str]) - Type of deployment controller. Valid values: CODE_DEPLOY, ECS. Default: ECS.

The load_balancers object supports the following:

  • container_name (pulumi.Input[str]) - The name of the container to associate with the load balancer (as it appears in a container definition).

  • containerPort (pulumi.Input[float]) - The port on the container to associate with the load balancer.

  • elbName (pulumi.Input[str]) - The name of the ELB (Classic) to associate with the service.

  • target_group_arn (pulumi.Input[str]) - The ARN of the Load Balancer target group to associate with the service.

The network_configuration object supports the following:

  • assignPublicIp (pulumi.Input[bool]) - Assign a public IP address to the ENI (Fargate launch type only). Valid values are true or false. Default false.

  • security_groups (pulumi.Input[list]) - The security groups associated with the task or service. If you do not specify a security group, the default security group for the VPC is used.

  • subnets (pulumi.Input[list]) - The subnets associated with the task or service.

The ordered_placement_strategies object supports the following:

  • field (pulumi.Input[str]) - For the spread placement strategy, valid values are instanceId (or host, which has the same effect), or any platform or custom attribute that is applied to a container instance. For the binpack type, valid values are memory and cpu. For the random type, this attribute is not needed. For more information, see Placement Strategy.

  • type (pulumi.Input[str]) - The type of placement strategy. Must be one of: binpack, random, or spread

The placement_constraints object supports the following:

  • expression (pulumi.Input[str]) - Cluster Query Language expression to apply to the constraint. Does not need to be specified for the distinctInstance type. For more information, see Cluster Query Language in the Amazon EC2 Container Service Developer Guide.

  • type (pulumi.Input[str]) - The type of constraint. The only valid values at this time are memberOf and distinctInstance.

The service_registries object supports the following:

  • container_name (pulumi.Input[str]) - The container name value, already specified in the task definition, to be used for your service discovery service.

  • containerPort (pulumi.Input[float]) - The port value, already specified in the task definition, to be used for your service discovery service.

  • port (pulumi.Input[float]) - The port value used if your Service Discovery service specified an SRV record.

  • registryArn (pulumi.Input[str]) - The ARN of the Service Registry. The currently supported service registry is Amazon Route 53 Auto Naming Service(servicediscovery.Service). For more information, see Service

capacity_provider_strategies: pulumi.Output[list] = None

The capacity provider strategy to use for the service. Can be one or more. Defined below.

  • base (float) - The number of tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a base defined.

  • capacityProvider (str) - The short name of the capacity provider.

  • weight (float) - The relative percentage of the total number of launched tasks that should use the specified capacity provider.

cluster: pulumi.Output[str] = None

ARN of an ECS cluster

deployment_controller: pulumi.Output[dict] = None

Configuration block containing deployment controller configuration. Defined below.

  • type (str) - Type of deployment controller. Valid values: CODE_DEPLOY, ECS. Default: ECS.

deployment_maximum_percent: pulumi.Output[float] = None

The upper limit (as a percentage of the service’s desiredCount) of the number of running tasks that can be running in a service during a deployment. Not valid when using the DAEMON scheduling strategy.

deployment_minimum_healthy_percent: pulumi.Output[float] = None

The lower limit (as a percentage of the service’s desiredCount) of the number of running tasks that must remain running and healthy in a service during a deployment.

desired_count: pulumi.Output[float] = None

The number of instances of the task definition to place and keep running. Defaults to 0. Do not specify if using the DAEMON scheduling strategy.

enable_ecs_managed_tags: pulumi.Output[bool] = None

Specifies whether to enable Amazon ECS managed tags for the tasks within the service.

force_new_deployment: pulumi.Output[bool] = None

Enable to force a new task deployment of the service. This can be used to update tasks to use a newer Docker image with same image/tag combination (e.g. myimage:latest), roll Fargate tasks onto a newer platform version, or immediately deploy ordered_placement_strategy and placement_constraints updates.

health_check_grace_period_seconds: pulumi.Output[float] = None

Seconds to ignore failing load balancer health checks on newly instantiated tasks to prevent premature shutdown, up to 2147483647. Only valid for services configured to use load balancers.

iam_role: pulumi.Output[str] = None

ARN of the IAM role that allows Amazon ECS to make calls to your load balancer on your behalf. This parameter is required if you are using a load balancer with your service, but only if your task definition does not use the awsvpc network mode. If using awsvpc network mode, do not specify this role. If your account has already created the Amazon ECS service-linked role, that role is used by default for your service unless you specify a role here.

launch_type: pulumi.Output[str] = None

The launch type on which to run your service. The valid values are EC2 and FARGATE. Defaults to EC2.

load_balancers: pulumi.Output[list] = None

A load balancer block. Load balancers documented below.

  • container_name (str) - The name of the container to associate with the load balancer (as it appears in a container definition).

  • containerPort (float) - The port on the container to associate with the load balancer.

  • elbName (str) - The name of the ELB (Classic) to associate with the service.

  • target_group_arn (str) - The ARN of the Load Balancer target group to associate with the service.

name: pulumi.Output[str] = None

The name of the service (up to 255 letters, numbers, hyphens, and underscores)

network_configuration: pulumi.Output[dict] = None

The network configuration for the service. This parameter is required for task definitions that use the awsvpc network mode to receive their own Elastic Network Interface, and it is not supported for other network modes.

  • assignPublicIp (bool) - Assign a public IP address to the ENI (Fargate launch type only). Valid values are true or false. Default false.

  • security_groups (list) - The security groups associated with the task or service. If you do not specify a security group, the default security group for the VPC is used.

  • subnets (list) - The subnets associated with the task or service.

ordered_placement_strategies: pulumi.Output[list] = None

Service level strategy rules that are taken into consideration during task placement. List from top to bottom in order of precedence. Updates to this configuration will take effect next task deployment unless force_new_deployment is enabled. The maximum number of ordered_placement_strategy blocks is 5. Defined below.

  • field (str) - For the spread placement strategy, valid values are instanceId (or host, which has the same effect), or any platform or custom attribute that is applied to a container instance. For the binpack type, valid values are memory and cpu. For the random type, this attribute is not needed. For more information, see Placement Strategy.

  • type (str) - The type of placement strategy. Must be one of: binpack, random, or spread

placement_constraints: pulumi.Output[list] = None

rules that are taken into consideration during task placement. Updates to this configuration will take effect next task deployment unless force_new_deployment is enabled. Maximum number of placement_constraints is 10. Defined below.

platform_version: pulumi.Output[str] = None

The platform version on which to run your service. Only applicable for launch_type set to FARGATE. Defaults to LATEST. More information about Fargate platform versions can be found in the AWS ECS User Guide.

propagate_tags: pulumi.Output[str] = None

Specifies whether to propagate the tags from the task definition or the service to the tasks. The valid values are SERVICE and TASK_DEFINITION.

scheduling_strategy: pulumi.Output[str] = None

The scheduling strategy to use for the service. The valid values are REPLICA and DAEMON. Defaults to REPLICA. Note that *Fargate tasks do not support the ``DAEMON` scheduling strategy* <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/scheduling_tasks.html>`_.

service_registries: pulumi.Output[dict] = None

The service discovery registries for the service. The maximum number of service_registries blocks is 1.

  • container_name (str) - The container name value, already specified in the task definition, to be used for your service discovery service.

  • containerPort (float) - The port value, already specified in the task definition, to be used for your service discovery service.

  • port (float) - The port value used if your Service Discovery service specified an SRV record.

  • registryArn (str) - The ARN of the Service Registry. The currently supported service registry is Amazon Route 53 Auto Naming Service(servicediscovery.Service). For more information, see Service

tags: pulumi.Output[dict] = None

Key-value mapping of resource tags

task_definition: pulumi.Output[str] = None

The family and revision (family:revision) or full ARN of the task definition that you want to run in your service.

wait_for_steady_state: pulumi.Output[bool] = None

If true, this provider will wait for the service to reach a steady state (like ``aws ecs wait services-stable` <https://docs.aws.amazon.com/cli/latest/reference/ecs/wait/services-stable.html>`_) before continuing. Default false.

static get(resource_name, id, opts=None, capacity_provider_strategies=None, cluster=None, deployment_controller=None, deployment_maximum_percent=None, deployment_minimum_healthy_percent=None, desired_count=None, enable_ecs_managed_tags=None, force_new_deployment=None, health_check_grace_period_seconds=None, iam_role=None, launch_type=None, load_balancers=None, name=None, network_configuration=None, ordered_placement_strategies=None, placement_constraints=None, platform_version=None, propagate_tags=None, scheduling_strategy=None, service_registries=None, tags=None, task_definition=None, wait_for_steady_state=None)

Get an existing Service resource’s state with the given name, id, and optional extra properties used to qualify the lookup.

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • capacity_provider_strategies (pulumi.Input[list]) – The capacity provider strategy to use for the service. Can be one or more. Defined below.

  • cluster (pulumi.Input[str]) – ARN of an ECS cluster

  • deployment_controller (pulumi.Input[dict]) – Configuration block containing deployment controller configuration. Defined below.

  • deployment_maximum_percent (pulumi.Input[float]) – The upper limit (as a percentage of the service’s desiredCount) of the number of running tasks that can be running in a service during a deployment. Not valid when using the DAEMON scheduling strategy.

  • deployment_minimum_healthy_percent (pulumi.Input[float]) – The lower limit (as a percentage of the service’s desiredCount) of the number of running tasks that must remain running and healthy in a service during a deployment.

  • desired_count (pulumi.Input[float]) – The number of instances of the task definition to place and keep running. Defaults to 0. Do not specify if using the DAEMON scheduling strategy.

  • enable_ecs_managed_tags (pulumi.Input[bool]) – Specifies whether to enable Amazon ECS managed tags for the tasks within the service.

  • force_new_deployment (pulumi.Input[bool]) – Enable to force a new task deployment of the service. This can be used to update tasks to use a newer Docker image with same image/tag combination (e.g. myimage:latest), roll Fargate tasks onto a newer platform version, or immediately deploy ordered_placement_strategy and placement_constraints updates.

  • health_check_grace_period_seconds (pulumi.Input[float]) – Seconds to ignore failing load balancer health checks on newly instantiated tasks to prevent premature shutdown, up to 2147483647. Only valid for services configured to use load balancers.

  • iam_role (pulumi.Input[str]) – ARN of the IAM role that allows Amazon ECS to make calls to your load balancer on your behalf. This parameter is required if you are using a load balancer with your service, but only if your task definition does not use the awsvpc network mode. If using awsvpc network mode, do not specify this role. If your account has already created the Amazon ECS service-linked role, that role is used by default for your service unless you specify a role here.

  • launch_type (pulumi.Input[str]) – The launch type on which to run your service. The valid values are EC2 and FARGATE. Defaults to EC2.

  • load_balancers (pulumi.Input[list]) – A load balancer block. Load balancers documented below.

  • name (pulumi.Input[str]) – The name of the service (up to 255 letters, numbers, hyphens, and underscores)

  • network_configuration (pulumi.Input[dict]) – The network configuration for the service. This parameter is required for task definitions that use the awsvpc network mode to receive their own Elastic Network Interface, and it is not supported for other network modes.

  • ordered_placement_strategies (pulumi.Input[list]) – Service level strategy rules that are taken into consideration during task placement. List from top to bottom in order of precedence. Updates to this configuration will take effect next task deployment unless force_new_deployment is enabled. The maximum number of ordered_placement_strategy blocks is 5. Defined below.

  • placement_constraints (pulumi.Input[list]) – rules that are taken into consideration during task placement. Updates to this configuration will take effect next task deployment unless force_new_deployment is enabled. Maximum number of placement_constraints is 10. Defined below.

  • platform_version (pulumi.Input[str]) –

    The platform version on which to run your service. Only applicable for launch_type set to FARGATE. Defaults to LATEST. More information about Fargate platform versions can be found in the AWS ECS User Guide.

  • propagate_tags (pulumi.Input[str]) – Specifies whether to propagate the tags from the task definition or the service to the tasks. The valid values are SERVICE and TASK_DEFINITION.

  • scheduling_strategy (pulumi.Input[str]) – The scheduling strategy to use for the service. The valid values are REPLICA and DAEMON. Defaults to REPLICA. Note that *Fargate tasks do not support the ``DAEMON` scheduling strategy* <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/scheduling_tasks.html>`_.

  • service_registries (pulumi.Input[dict]) – The service discovery registries for the service. The maximum number of service_registries blocks is 1.

  • tags (pulumi.Input[dict]) – Key-value mapping of resource tags

  • task_definition (pulumi.Input[str]) – The family and revision (family:revision) or full ARN of the task definition that you want to run in your service.

  • wait_for_steady_state (pulumi.Input[bool]) – If true, this provider will wait for the service to reach a steady state (like ``aws ecs wait services-stable` <https://docs.aws.amazon.com/cli/latest/reference/ecs/wait/services-stable.html>`_) before continuing. Default false.

The capacity_provider_strategies object supports the following:

  • base (pulumi.Input[float]) - The number of tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a base defined.

  • capacityProvider (pulumi.Input[str]) - The short name of the capacity provider.

  • weight (pulumi.Input[float]) - The relative percentage of the total number of launched tasks that should use the specified capacity provider.

The deployment_controller object supports the following:

  • type (pulumi.Input[str]) - Type of deployment controller. Valid values: CODE_DEPLOY, ECS. Default: ECS.

The load_balancers object supports the following:

  • container_name (pulumi.Input[str]) - The name of the container to associate with the load balancer (as it appears in a container definition).

  • containerPort (pulumi.Input[float]) - The port on the container to associate with the load balancer.

  • elbName (pulumi.Input[str]) - The name of the ELB (Classic) to associate with the service.

  • target_group_arn (pulumi.Input[str]) - The ARN of the Load Balancer target group to associate with the service.

The network_configuration object supports the following:

  • assignPublicIp (pulumi.Input[bool]) - Assign a public IP address to the ENI (Fargate launch type only). Valid values are true or false. Default false.

  • security_groups (pulumi.Input[list]) - The security groups associated with the task or service. If you do not specify a security group, the default security group for the VPC is used.

  • subnets (pulumi.Input[list]) - The subnets associated with the task or service.

The ordered_placement_strategies object supports the following:

  • field (pulumi.Input[str]) - For the spread placement strategy, valid values are instanceId (or host, which has the same effect), or any platform or custom attribute that is applied to a container instance. For the binpack type, valid values are memory and cpu. For the random type, this attribute is not needed. For more information, see Placement Strategy.

  • type (pulumi.Input[str]) - The type of placement strategy. Must be one of: binpack, random, or spread

The placement_constraints object supports the following:

  • expression (pulumi.Input[str]) - Cluster Query Language expression to apply to the constraint. Does not need to be specified for the distinctInstance type. For more information, see Cluster Query Language in the Amazon EC2 Container Service Developer Guide.

  • type (pulumi.Input[str]) - The type of constraint. The only valid values at this time are memberOf and distinctInstance.

The service_registries object supports the following:

  • container_name (pulumi.Input[str]) - The container name value, already specified in the task definition, to be used for your service discovery service.

  • containerPort (pulumi.Input[float]) - The port value, already specified in the task definition, to be used for your service discovery service.

  • port (pulumi.Input[float]) - The port value used if your Service Discovery service specified an SRV record.

  • registryArn (pulumi.Input[str]) - The ARN of the Service Registry. The currently supported service registry is Amazon Route 53 Auto Naming Service(servicediscovery.Service). For more information, see Service

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_aws.ecs.TaskDefinition(resource_name, opts=None, container_definitions=None, cpu=None, execution_role_arn=None, family=None, inference_accelerators=None, ipc_mode=None, memory=None, network_mode=None, pid_mode=None, placement_constraints=None, proxy_configuration=None, requires_compatibilities=None, tags=None, task_role_arn=None, volumes=None, __props__=None, __name__=None, __opts__=None)

Manages a revision of an ECS task definition to be used in ecs.Service.

import pulumi
import pulumi_aws as aws

service = aws.ecs.TaskDefinition("service",
    family="service",
    container_definitions=(lambda path: open(path).read())("task-definitions/service.json"),
    proxy_configuration={
        "type": "APPMESH",
        "container_name": "applicationContainerName",
        "properties": {
            "AppPorts": "8080",
            "EgressIgnoredIPs": "169.254.170.2,169.254.169.254",
            "IgnoredUID": "1337",
            "ProxyEgressPort": 15001,
            "ProxyIngressPort": 15000,
        },
    })
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • container_definitions (pulumi.Input[str]) – A list of valid [container definitions] (http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html) provided as a single valid JSON document. Please note that you should only provide values that are part of the container definition document. For a detailed description of what parameters are available, see the [Task Definition Parameters] (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html) section from the official Developer Guide.

  • cpu (pulumi.Input[str]) – The number of cpu units used by the task. If the requires_compatibilities is FARGATE this field is required.

  • execution_role_arn (pulumi.Input[str]) – The Amazon Resource Name (ARN) of the task execution role that the Amazon ECS container agent and the Docker daemon can assume.

  • family (pulumi.Input[str]) – A unique name for your task definition.

  • inference_accelerators (pulumi.Input[list]) – Configuration block(s) with Inference Accelerators settings. Detailed below.

  • ipc_mode (pulumi.Input[str]) – The IPC resource namespace to be used for the containers in the task The valid values are host, task, and none.

  • memory (pulumi.Input[str]) – The amount (in MiB) of memory used by the task. If the requires_compatibilities is FARGATE this field is required.

  • network_mode (pulumi.Input[str]) – The Docker networking mode to use for the containers in the task. The valid values are none, bridge, awsvpc, and host.

  • pid_mode (pulumi.Input[str]) – The process namespace to use for the containers in the task. The valid values are host and task.

  • placement_constraints (pulumi.Input[list]) – A set of placement constraints rules that are taken into consideration during task placement. Maximum number of placement_constraints is 10.

  • proxy_configuration (pulumi.Input[dict]) – The proxy configuration details for the App Mesh proxy.

  • requires_compatibilities (pulumi.Input[list]) – A set of launch types required by the task. The valid values are EC2 and FARGATE.

  • tags (pulumi.Input[dict]) – Key-value map of resource tags

  • task_role_arn (pulumi.Input[str]) – The ARN of IAM role that allows your Amazon ECS container task to make calls to other AWS services.

  • volumes (pulumi.Input[list]) – A set of volume blocks that containers in your task may use.

The inference_accelerators object supports the following:

  • device_name (pulumi.Input[str]) - The Elastic Inference accelerator device name. The deviceName must also be referenced in a container definition as a ResourceRequirement.

  • deviceType (pulumi.Input[str]) - The Elastic Inference accelerator type to use.

The placement_constraints object supports the following:

The proxy_configuration object supports the following:

  • container_name (pulumi.Input[str]) - The name of the container that will serve as the App Mesh proxy.

  • properties (pulumi.Input[dict]) - The set of network configuration parameters to provide the Container Network Interface (CNI) plugin, specified a key-value mapping.

  • type (pulumi.Input[str]) - The proxy type. The default value is APPMESH. The only supported value is APPMESH.

The volumes object supports the following:

  • dockerVolumeConfiguration (pulumi.Input[dict]) - Used to configure a docker volume

    • autoprovision (pulumi.Input[bool]) - If this value is true, the Docker volume is created if it does not already exist. Note: This field is only used if the scope is shared.

    • driver (pulumi.Input[str]) - The Docker volume driver to use. The driver value must match the driver name provided by Docker because it is used for task placement.

    • driverOpts (pulumi.Input[dict]) - A map of Docker driver specific options.

    • labels (pulumi.Input[dict]) - A map of custom metadata to add to your Docker volume.

    • scope (pulumi.Input[str]) - The scope for the Docker volume, which determines its lifecycle, either task or shared. Docker volumes that are scoped to a task are automatically provisioned when the task starts and destroyed when the task stops. Docker volumes that are scoped as shared persist after the task stops.

  • efsVolumeConfiguration (pulumi.Input[dict]) - Used to configure a EFS volume.

    • file_system_id (pulumi.Input[str]) - The ID of the EFS File System.

    • root_directory (pulumi.Input[str]) - The path to mount on the host

  • hostPath (pulumi.Input[str]) - The path on the host container instance that is presented to the container. If not set, ECS will create a nonpersistent data volume that starts empty and is deleted after the task has finished.

  • name (pulumi.Input[str]) - The name of the volume. This name is referenced in the sourceVolume parameter of container definition in the mountPoints section.

arn: pulumi.Output[str] = None

Full ARN of the Task Definition (including both family and revision).

container_definitions: pulumi.Output[str] = None

A list of valid [container definitions] (http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html) provided as a single valid JSON document. Please note that you should only provide values that are part of the container definition document. For a detailed description of what parameters are available, see the [Task Definition Parameters] (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html) section from the official Developer Guide.

cpu: pulumi.Output[str] = None

The number of cpu units used by the task. If the requires_compatibilities is FARGATE this field is required.

execution_role_arn: pulumi.Output[str] = None

The Amazon Resource Name (ARN) of the task execution role that the Amazon ECS container agent and the Docker daemon can assume.

family: pulumi.Output[str] = None

A unique name for your task definition.

inference_accelerators: pulumi.Output[list] = None

Configuration block(s) with Inference Accelerators settings. Detailed below.

  • device_name (str) - The Elastic Inference accelerator device name. The deviceName must also be referenced in a container definition as a ResourceRequirement.

  • deviceType (str) - The Elastic Inference accelerator type to use.

ipc_mode: pulumi.Output[str] = None

The IPC resource namespace to be used for the containers in the task The valid values are host, task, and none.

memory: pulumi.Output[str] = None

The amount (in MiB) of memory used by the task. If the requires_compatibilities is FARGATE this field is required.

network_mode: pulumi.Output[str] = None

The Docker networking mode to use for the containers in the task. The valid values are none, bridge, awsvpc, and host.

pid_mode: pulumi.Output[str] = None

The process namespace to use for the containers in the task. The valid values are host and task.

placement_constraints: pulumi.Output[list] = None

A set of placement constraints rules that are taken into consideration during task placement. Maximum number of placement_constraints is 10.

proxy_configuration: pulumi.Output[dict] = None

The proxy configuration details for the App Mesh proxy.

  • container_name (str) - The name of the container that will serve as the App Mesh proxy.

  • properties (dict) - The set of network configuration parameters to provide the Container Network Interface (CNI) plugin, specified a key-value mapping.

  • type (str) - The proxy type. The default value is APPMESH. The only supported value is APPMESH.

requires_compatibilities: pulumi.Output[list] = None

A set of launch types required by the task. The valid values are EC2 and FARGATE.

revision: pulumi.Output[float] = None

The revision of the task in a particular family.

tags: pulumi.Output[dict] = None

Key-value map of resource tags

task_role_arn: pulumi.Output[str] = None

The ARN of IAM role that allows your Amazon ECS container task to make calls to other AWS services.

volumes: pulumi.Output[list] = None

A set of volume blocks that containers in your task may use.

  • dockerVolumeConfiguration (dict) - Used to configure a docker volume

    • autoprovision (bool) - If this value is true, the Docker volume is created if it does not already exist. Note: This field is only used if the scope is shared.

    • driver (str) - The Docker volume driver to use. The driver value must match the driver name provided by Docker because it is used for task placement.

    • driverOpts (dict) - A map of Docker driver specific options.

    • labels (dict) - A map of custom metadata to add to your Docker volume.

    • scope (str) - The scope for the Docker volume, which determines its lifecycle, either task or shared. Docker volumes that are scoped to a task are automatically provisioned when the task starts and destroyed when the task stops. Docker volumes that are scoped as shared persist after the task stops.

  • efsVolumeConfiguration (dict) - Used to configure a EFS volume.

    • file_system_id (str) - The ID of the EFS File System.

    • root_directory (str) - The path to mount on the host

  • hostPath (str) - The path on the host container instance that is presented to the container. If not set, ECS will create a nonpersistent data volume that starts empty and is deleted after the task has finished.

  • name (str) - The name of the volume. This name is referenced in the sourceVolume parameter of container definition in the mountPoints section.

static get(resource_name, id, opts=None, arn=None, container_definitions=None, cpu=None, execution_role_arn=None, family=None, inference_accelerators=None, ipc_mode=None, memory=None, network_mode=None, pid_mode=None, placement_constraints=None, proxy_configuration=None, requires_compatibilities=None, revision=None, tags=None, task_role_arn=None, volumes=None)

Get an existing TaskDefinition resource’s state with the given name, id, and optional extra properties used to qualify the lookup.

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • arn (pulumi.Input[str]) – Full ARN of the Task Definition (including both family and revision).

  • container_definitions (pulumi.Input[str]) –

    A list of valid [container definitions] (http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html) provided as a single valid JSON document. Please note that you should only provide values that are part of the container definition document. For a detailed description of what parameters are available, see the [Task Definition Parameters] (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html) section from the official Developer Guide.

  • cpu (pulumi.Input[str]) – The number of cpu units used by the task. If the requires_compatibilities is FARGATE this field is required.

  • execution_role_arn (pulumi.Input[str]) – The Amazon Resource Name (ARN) of the task execution role that the Amazon ECS container agent and the Docker daemon can assume.

  • family (pulumi.Input[str]) – A unique name for your task definition.

  • inference_accelerators (pulumi.Input[list]) – Configuration block(s) with Inference Accelerators settings. Detailed below.

  • ipc_mode (pulumi.Input[str]) – The IPC resource namespace to be used for the containers in the task The valid values are host, task, and none.

  • memory (pulumi.Input[str]) – The amount (in MiB) of memory used by the task. If the requires_compatibilities is FARGATE this field is required.

  • network_mode (pulumi.Input[str]) – The Docker networking mode to use for the containers in the task. The valid values are none, bridge, awsvpc, and host.

  • pid_mode (pulumi.Input[str]) – The process namespace to use for the containers in the task. The valid values are host and task.

  • placement_constraints (pulumi.Input[list]) – A set of placement constraints rules that are taken into consideration during task placement. Maximum number of placement_constraints is 10.

  • proxy_configuration (pulumi.Input[dict]) – The proxy configuration details for the App Mesh proxy.

  • requires_compatibilities (pulumi.Input[list]) – A set of launch types required by the task. The valid values are EC2 and FARGATE.

  • revision (pulumi.Input[float]) – The revision of the task in a particular family.

  • tags (pulumi.Input[dict]) – Key-value map of resource tags

  • task_role_arn (pulumi.Input[str]) – The ARN of IAM role that allows your Amazon ECS container task to make calls to other AWS services.

  • volumes (pulumi.Input[list]) – A set of volume blocks that containers in your task may use.

The inference_accelerators object supports the following:

  • device_name (pulumi.Input[str]) - The Elastic Inference accelerator device name. The deviceName must also be referenced in a container definition as a ResourceRequirement.

  • deviceType (pulumi.Input[str]) - The Elastic Inference accelerator type to use.

The placement_constraints object supports the following:

The proxy_configuration object supports the following:

  • container_name (pulumi.Input[str]) - The name of the container that will serve as the App Mesh proxy.

  • properties (pulumi.Input[dict]) - The set of network configuration parameters to provide the Container Network Interface (CNI) plugin, specified a key-value mapping.

  • type (pulumi.Input[str]) - The proxy type. The default value is APPMESH. The only supported value is APPMESH.

The volumes object supports the following:

  • dockerVolumeConfiguration (pulumi.Input[dict]) - Used to configure a docker volume

    • autoprovision (pulumi.Input[bool]) - If this value is true, the Docker volume is created if it does not already exist. Note: This field is only used if the scope is shared.

    • driver (pulumi.Input[str]) - The Docker volume driver to use. The driver value must match the driver name provided by Docker because it is used for task placement.

    • driverOpts (pulumi.Input[dict]) - A map of Docker driver specific options.

    • labels (pulumi.Input[dict]) - A map of custom metadata to add to your Docker volume.

    • scope (pulumi.Input[str]) - The scope for the Docker volume, which determines its lifecycle, either task or shared. Docker volumes that are scoped to a task are automatically provisioned when the task starts and destroyed when the task stops. Docker volumes that are scoped as shared persist after the task stops.

  • efsVolumeConfiguration (pulumi.Input[dict]) - Used to configure a EFS volume.

    • file_system_id (pulumi.Input[str]) - The ID of the EFS File System.

    • root_directory (pulumi.Input[str]) - The path to mount on the host

  • hostPath (pulumi.Input[str]) - The path on the host container instance that is presented to the container. If not set, ECS will create a nonpersistent data volume that starts empty and is deleted after the task has finished.

  • name (pulumi.Input[str]) - The name of the volume. This name is referenced in the sourceVolume parameter of container definition in the mountPoints section.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

pulumi_aws.ecs.get_cluster(cluster_name=None, opts=None)

The ECS Cluster data source allows access to details of a specific cluster within an AWS ECS service.

import pulumi
import pulumi_aws as aws

ecs_mongo = aws.ecs.get_cluster(cluster_name="ecs-mongo-production")
Parameters

cluster_name (str) – The name of the ECS Cluster

pulumi_aws.ecs.get_container_definition(container_name=None, task_definition=None, opts=None)

The ECS container definition data source allows access to details of a specific container within an AWS ECS service.

import pulumi
import pulumi_aws as aws

ecs_mongo = aws.ecs.get_container_definition(container_name="mongodb",
    task_definition=aws_ecs_task_definition["mongo"]["id"])
Parameters
  • container_name (str) – The name of the container definition

  • task_definition (str) – The ARN of the task definition which contains the container

pulumi_aws.ecs.get_service(cluster_arn=None, service_name=None, opts=None)

The ECS Service data source allows access to details of a specific Service within a AWS ECS Cluster.

import pulumi
import pulumi_aws as aws

example = aws.ecs.get_service(cluster_arn=data["aws_ecs_cluster"]["example"]["arn"],
    service_name="example")
Parameters
  • cluster_arn (str) – The arn of the ECS Cluster

  • service_name (str) – The name of the ECS Service

pulumi_aws.ecs.get_task_definition(task_definition=None, opts=None)

The ECS task definition data source allows access to details of a specific AWS ECS task definition.

Parameters

task_definition (str) – The family for the latest ACTIVE revision, family and revision (family:revision) for a specific revision in the family, the ARN of the task definition to access to.