TaskDefinition

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

Example Usage

With AppMesh Proxy

using System.IO;
using Pulumi;
using Aws = Pulumi.Aws;

class MyStack : Stack
{
    public MyStack()
    {
        var service = new Aws.Ecs.TaskDefinition("service", new Aws.Ecs.TaskDefinitionArgs
        {
            Family = "service",
            ContainerDefinitions = File.ReadAllText("task-definitions/service.json"),
            ProxyConfiguration = new Aws.Ecs.Inputs.TaskDefinitionProxyConfigurationArgs
            {
                Type = "APPMESH",
                ContainerName = "applicationContainerName",
                Properties = 
                {
                    { "AppPorts", "8080" },
                    { "EgressIgnoredIPs", "169.254.170.2,169.254.169.254" },
                    { "IgnoredUID", "1337" },
                    { "ProxyEgressPort", "15001" },
                    { "ProxyIngressPort", "15000" },
                },
            },
        });
    }

}

Coming soon!

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,
        },
    })
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
import * from "fs";

const service = new aws.ecs.TaskDefinition("service", {
    family: "service",
    containerDefinitions: fs.readFileSync("task-definitions/service.json"),
    proxyConfiguration: {
        type: "APPMESH",
        containerName: "applicationContainerName",
        properties: {
            AppPorts: "8080",
            EgressIgnoredIPs: "169.254.170.2,169.254.169.254",
            IgnoredUID: "1337",
            ProxyEgressPort: 15001,
            ProxyIngressPort: 15000,
        },
    },
});

Create a TaskDefinition Resource

def 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 string
The unique name of the resource.
args TaskDefinitionArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
opts ResourceOptions
A bag of options that control this resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args TaskDefinitionArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args TaskDefinitionArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.

TaskDefinition Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Programming Model docs.

Inputs

The TaskDefinition resource accepts the following input properties:

ContainerDefinitions string

A list of valid container definitions 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 section from the official Developer Guide.

Family string

A unique name for your task definition.

Cpu string

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

ExecutionRoleArn string

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

InferenceAccelerators List<TaskDefinitionInferenceAcceleratorArgs>

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

IpcMode string

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

Memory string

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

NetworkMode string

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

PidMode string

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

PlacementConstraints List<TaskDefinitionPlacementConstraintArgs>

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

ProxyConfiguration TaskDefinitionProxyConfigurationArgs

The proxy configuration details for the App Mesh proxy.

RequiresCompatibilities List<string>

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

Tags Dictionary<string, string>

Key-value map of resource tags

TaskRoleArn string

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

Volumes List<TaskDefinitionVolumeArgs>

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

ContainerDefinitions string

A list of valid container definitions 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 section from the official Developer Guide.

Family string

A unique name for your task definition.

Cpu string

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

ExecutionRoleArn string

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

InferenceAccelerators []TaskDefinitionInferenceAccelerator

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

IpcMode string

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

Memory string

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

NetworkMode string

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

PidMode string

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

PlacementConstraints []TaskDefinitionPlacementConstraint

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

ProxyConfiguration TaskDefinitionProxyConfiguration

The proxy configuration details for the App Mesh proxy.

RequiresCompatibilities []string

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

Tags map[string]string

Key-value map of resource tags

TaskRoleArn string

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

Volumes []TaskDefinitionVolume

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

containerDefinitions string

A list of valid container definitions 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 section from the official Developer Guide.

family string

A unique name for your task definition.

cpu string

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

executionRoleArn string

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

inferenceAccelerators TaskDefinitionInferenceAccelerator[]

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

ipcMode string

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

memory string

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

networkMode string

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

pidMode string

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

placementConstraints TaskDefinitionPlacementConstraint[]

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

proxyConfiguration TaskDefinitionProxyConfiguration

The proxy configuration details for the App Mesh proxy.

requiresCompatibilities string[]

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

tags {[key: string]: string}

Key-value map of resource tags

taskRoleArn string

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

volumes TaskDefinitionVolume[]

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

container_definitions str

A list of valid container definitions 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 section from the official Developer Guide.

family str

A unique name for your task definition.

cpu str

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

execution_role_arn str

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

inference_accelerators List[TaskDefinitionInferenceAccelerator]

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

ipc_mode str

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

memory str

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

network_mode str

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

pid_mode str

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

placement_constraints List[TaskDefinitionPlacementConstraint]

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

proxy_configuration Dict[TaskDefinitionProxyConfiguration]

The proxy configuration details for the App Mesh proxy.

requires_compatibilities List[str]

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

tags Dict[str, str]

Key-value map of resource tags

task_role_arn str

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

volumes List[TaskDefinitionVolume]

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

Outputs

All input properties are implicitly available as output properties. Additionally, the TaskDefinition resource produces the following output properties:

Arn string

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

Id string
The provider-assigned unique ID for this managed resource.
Revision int

The revision of the task in a particular family.

Arn string

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

Id string
The provider-assigned unique ID for this managed resource.
Revision int

The revision of the task in a particular family.

arn string

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

id string
The provider-assigned unique ID for this managed resource.
revision number

The revision of the task in a particular family.

arn str

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

id str
The provider-assigned unique ID for this managed resource.
revision float

The revision of the task in a particular family.

Look up an Existing TaskDefinition Resource

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

public static get(name: string, id: Input<ID>, state?: TaskDefinitionState, opts?: CustomResourceOptions): TaskDefinition
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, __props__=None);
func GetTaskDefinition(ctx *Context, name string, id IDInput, state *TaskDefinitionState, opts ...ResourceOption) (*TaskDefinition, error)
public static TaskDefinition Get(string name, Input<string> id, TaskDefinitionState? state, CustomResourceOptions? opts = null)
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.

The following state arguments are supported:

Arn string

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

ContainerDefinitions string

A list of valid container definitions 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 section from the official Developer Guide.

Cpu string

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

ExecutionRoleArn string

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

Family string

A unique name for your task definition.

InferenceAccelerators List<TaskDefinitionInferenceAcceleratorArgs>

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

IpcMode string

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

Memory string

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

NetworkMode string

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

PidMode string

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

PlacementConstraints List<TaskDefinitionPlacementConstraintArgs>

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

ProxyConfiguration TaskDefinitionProxyConfigurationArgs

The proxy configuration details for the App Mesh proxy.

RequiresCompatibilities List<string>

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

Revision int

The revision of the task in a particular family.

Tags Dictionary<string, string>

Key-value map of resource tags

TaskRoleArn string

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

Volumes List<TaskDefinitionVolumeArgs>

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

Arn string

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

ContainerDefinitions string

A list of valid container definitions 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 section from the official Developer Guide.

Cpu string

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

ExecutionRoleArn string

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

Family string

A unique name for your task definition.

InferenceAccelerators []TaskDefinitionInferenceAccelerator

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

IpcMode string

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

Memory string

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

NetworkMode string

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

PidMode string

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

PlacementConstraints []TaskDefinitionPlacementConstraint

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

ProxyConfiguration TaskDefinitionProxyConfiguration

The proxy configuration details for the App Mesh proxy.

RequiresCompatibilities []string

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

Revision int

The revision of the task in a particular family.

Tags map[string]string

Key-value map of resource tags

TaskRoleArn string

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

Volumes []TaskDefinitionVolume

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

arn string

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

containerDefinitions string

A list of valid container definitions 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 section from the official Developer Guide.

cpu string

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

executionRoleArn string

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

family string

A unique name for your task definition.

inferenceAccelerators TaskDefinitionInferenceAccelerator[]

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

ipcMode string

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

memory string

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

networkMode string

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

pidMode string

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

placementConstraints TaskDefinitionPlacementConstraint[]

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

proxyConfiguration TaskDefinitionProxyConfiguration

The proxy configuration details for the App Mesh proxy.

requiresCompatibilities string[]

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

revision number

The revision of the task in a particular family.

tags {[key: string]: string}

Key-value map of resource tags

taskRoleArn string

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

volumes TaskDefinitionVolume[]

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

arn str

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

container_definitions str

A list of valid container definitions 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 section from the official Developer Guide.

cpu str

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

execution_role_arn str

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

family str

A unique name for your task definition.

inference_accelerators List[TaskDefinitionInferenceAccelerator]

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

ipc_mode str

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

memory str

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

network_mode str

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

pid_mode str

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

placement_constraints List[TaskDefinitionPlacementConstraint]

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

proxy_configuration Dict[TaskDefinitionProxyConfiguration]

The proxy configuration details for the App Mesh proxy.

requires_compatibilities List[str]

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

revision float

The revision of the task in a particular family.

tags Dict[str, str]

Key-value map of resource tags

task_role_arn str

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

volumes List[TaskDefinitionVolume]

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

Supporting Types

TaskDefinitionInferenceAccelerator

See the input and output API doc for this type.

See the input and output API doc for this type.

See the input and output API doc for this type.

DeviceName string

The Elastic Inference accelerator device name. The deviceName must also be referenced in a container definition as a ResourceRequirement.

DeviceType string

The Elastic Inference accelerator type to use.

DeviceName string

The Elastic Inference accelerator device name. The deviceName must also be referenced in a container definition as a ResourceRequirement.

DeviceType string

The Elastic Inference accelerator type to use.

deviceName string

The Elastic Inference accelerator device name. The deviceName must also be referenced in a container definition as a ResourceRequirement.

deviceType string

The Elastic Inference accelerator type to use.

deviceType str

The Elastic Inference accelerator type to use.

device_name str

The Elastic Inference accelerator device name. The deviceName must also be referenced in a container definition as a ResourceRequirement.

TaskDefinitionPlacementConstraint

See the input and output API doc for this type.

See the input and output API doc for this type.

See the input and output API doc for this type.

Type string

The proxy type. The default value is APPMESH. The only supported value is APPMESH.

Expression string

Cluster Query Language expression to apply to the constraint. For more information, see Cluster Query Language in the Amazon EC2 Container Service Developer Guide.

Type string

The proxy type. The default value is APPMESH. The only supported value is APPMESH.

Expression string

Cluster Query Language expression to apply to the constraint. For more information, see Cluster Query Language in the Amazon EC2 Container Service Developer Guide.

type string

The proxy type. The default value is APPMESH. The only supported value is APPMESH.

expression string

Cluster Query Language expression to apply to the constraint. For more information, see Cluster Query Language in the Amazon EC2 Container Service Developer Guide.

type str

The proxy type. The default value is APPMESH. The only supported value is APPMESH.

expression str

Cluster Query Language expression to apply to the constraint. For more information, see Cluster Query Language in the Amazon EC2 Container Service Developer Guide.

TaskDefinitionProxyConfiguration

See the input and output API doc for this type.

See the input and output API doc for this type.

See the input and output API doc for this type.

ContainerName string

The name of the container that will serve as the App Mesh proxy.

Properties Dictionary<string, string>

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

Type string

The proxy type. The default value is APPMESH. The only supported value is APPMESH.

ContainerName string

The name of the container that will serve as the App Mesh proxy.

Properties map[string]string

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

Type string

The proxy type. The default value is APPMESH. The only supported value is APPMESH.

containerName string

The name of the container that will serve as the App Mesh proxy.

properties {[key: string]: string}

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

type string

The proxy type. The default value is APPMESH. The only supported value is APPMESH.

container_name str

The name of the container that will serve as the App Mesh proxy.

properties Dict[str, str]

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.

TaskDefinitionVolume

See the input and output API doc for this type.

See the input and output API doc for this type.

See the input and output API doc for this type.

Name string

The name of the volume. This name is referenced in the sourceVolume parameter of container definition in the mountPoints section.

DockerVolumeConfiguration TaskDefinitionVolumeDockerVolumeConfigurationArgs

Used to configure a docker volume

EfsVolumeConfiguration TaskDefinitionVolumeEfsVolumeConfigurationArgs

Used to configure a EFS volume.

HostPath string

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 string

The name of the volume. This name is referenced in the sourceVolume parameter of container definition in the mountPoints section.

DockerVolumeConfiguration TaskDefinitionVolumeDockerVolumeConfiguration

Used to configure a docker volume

EfsVolumeConfiguration TaskDefinitionVolumeEfsVolumeConfiguration

Used to configure a EFS volume.

HostPath string

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 string

The name of the volume. This name is referenced in the sourceVolume parameter of container definition in the mountPoints section.

dockerVolumeConfiguration TaskDefinitionVolumeDockerVolumeConfiguration

Used to configure a docker volume

efsVolumeConfiguration TaskDefinitionVolumeEfsVolumeConfiguration

Used to configure a EFS volume.

hostPath string

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.

dockerVolumeConfiguration Dict[TaskDefinitionVolumeDockerVolumeConfiguration]

Used to configure a docker volume

efsVolumeConfiguration Dict[TaskDefinitionVolumeEfsVolumeConfiguration]

Used to configure a EFS volume.

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.

TaskDefinitionVolumeDockerVolumeConfiguration

See the input and output API doc for this type.

See the input and output API doc for this type.

See the input and output API doc for this type.

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 string

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 Dictionary<string, string>

A map of Docker driver specific options.

Labels Dictionary<string, string>

A map of custom metadata to add to your Docker volume.

Scope string

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.

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 string

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 map[string]string

A map of Docker driver specific options.

Labels map[string]string

A map of custom metadata to add to your Docker volume.

Scope string

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.

autoprovision boolean

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 string

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 {[key: string]: string}

A map of Docker driver specific options.

labels {[key: string]: string}

A map of custom metadata to add to your Docker volume.

scope string

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.

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[str, str]

A map of Docker driver specific options.

labels Dict[str, str]

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.

TaskDefinitionVolumeEfsVolumeConfiguration

See the input and output API doc for this type.

See the input and output API doc for this type.

See the input and output API doc for this type.

FileSystemId string

The ID of the EFS File System.

AuthorizationConfig TaskDefinitionVolumeEfsVolumeConfigurationAuthorizationConfigArgs

The authorization configuration details for the Amazon EFS file system.

RootDirectory string

The directory within the Amazon EFS file system to mount as the root directory inside the host. If this parameter is omitted, the root of the Amazon EFS volume will be used. Specifying / will have the same effect as omitting this parameter. This argument is ignored when using authorization_config.

TransitEncryption string

Whether or not to enable encryption for Amazon EFS data in transit between the Amazon ECS host and the Amazon EFS server. Transit encryption must be enabled if Amazon EFS IAM authorization is used. Valid values: ENABLED, DISABLED. If this parameter is omitted, the default value of DISABLED is used.

TransitEncryptionPort int

The port to use for transit encryption. If you do not specify a transit encryption port, it will use the port selection strategy that the Amazon EFS mount helper uses.

FileSystemId string

The ID of the EFS File System.

AuthorizationConfig TaskDefinitionVolumeEfsVolumeConfigurationAuthorizationConfig

The authorization configuration details for the Amazon EFS file system.

RootDirectory string

The directory within the Amazon EFS file system to mount as the root directory inside the host. If this parameter is omitted, the root of the Amazon EFS volume will be used. Specifying / will have the same effect as omitting this parameter. This argument is ignored when using authorization_config.

TransitEncryption string

Whether or not to enable encryption for Amazon EFS data in transit between the Amazon ECS host and the Amazon EFS server. Transit encryption must be enabled if Amazon EFS IAM authorization is used. Valid values: ENABLED, DISABLED. If this parameter is omitted, the default value of DISABLED is used.

TransitEncryptionPort int

The port to use for transit encryption. If you do not specify a transit encryption port, it will use the port selection strategy that the Amazon EFS mount helper uses.

fileSystemId string

The ID of the EFS File System.

authorizationConfig TaskDefinitionVolumeEfsVolumeConfigurationAuthorizationConfig

The authorization configuration details for the Amazon EFS file system.

rootDirectory string

The directory within the Amazon EFS file system to mount as the root directory inside the host. If this parameter is omitted, the root of the Amazon EFS volume will be used. Specifying / will have the same effect as omitting this parameter. This argument is ignored when using authorization_config.

transitEncryption string

Whether or not to enable encryption for Amazon EFS data in transit between the Amazon ECS host and the Amazon EFS server. Transit encryption must be enabled if Amazon EFS IAM authorization is used. Valid values: ENABLED, DISABLED. If this parameter is omitted, the default value of DISABLED is used.

transitEncryptionPort number

The port to use for transit encryption. If you do not specify a transit encryption port, it will use the port selection strategy that the Amazon EFS mount helper uses.

file_system_id str

The ID of the EFS File System.

authorizationConfig Dict[TaskDefinitionVolumeEfsVolumeConfigurationAuthorizationConfig]

The authorization configuration details for the Amazon EFS file system.

root_directory str

The directory within the Amazon EFS file system to mount as the root directory inside the host. If this parameter is omitted, the root of the Amazon EFS volume will be used. Specifying / will have the same effect as omitting this parameter. This argument is ignored when using authorization_config.

transitEncryption str

Whether or not to enable encryption for Amazon EFS data in transit between the Amazon ECS host and the Amazon EFS server. Transit encryption must be enabled if Amazon EFS IAM authorization is used. Valid values: ENABLED, DISABLED. If this parameter is omitted, the default value of DISABLED is used.

transitEncryptionPort float

The port to use for transit encryption. If you do not specify a transit encryption port, it will use the port selection strategy that the Amazon EFS mount helper uses.

TaskDefinitionVolumeEfsVolumeConfigurationAuthorizationConfig

See the input and output API doc for this type.

See the input and output API doc for this type.

See the input and output API doc for this type.

AccessPointId string

The access point ID to use. If an access point is specified, the root directory value will be relative to the directory set for the access point. If specified, transit encryption must be enabled in the EFSVolumeConfiguration.

Iam string

Whether or not to use the Amazon ECS task IAM role defined in a task definition when mounting the Amazon EFS file system. If enabled, transit encryption must be enabled in the EFSVolumeConfiguration. Valid values: ENABLED, DISABLED. If this parameter is omitted, the default value of DISABLED is used.

AccessPointId string

The access point ID to use. If an access point is specified, the root directory value will be relative to the directory set for the access point. If specified, transit encryption must be enabled in the EFSVolumeConfiguration.

Iam string

Whether or not to use the Amazon ECS task IAM role defined in a task definition when mounting the Amazon EFS file system. If enabled, transit encryption must be enabled in the EFSVolumeConfiguration. Valid values: ENABLED, DISABLED. If this parameter is omitted, the default value of DISABLED is used.

accessPointId string

The access point ID to use. If an access point is specified, the root directory value will be relative to the directory set for the access point. If specified, transit encryption must be enabled in the EFSVolumeConfiguration.

iam string

Whether or not to use the Amazon ECS task IAM role defined in a task definition when mounting the Amazon EFS file system. If enabled, transit encryption must be enabled in the EFSVolumeConfiguration. Valid values: ENABLED, DISABLED. If this parameter is omitted, the default value of DISABLED is used.

accessPointId str

The access point ID to use. If an access point is specified, the root directory value will be relative to the directory set for the access point. If specified, transit encryption must be enabled in the EFSVolumeConfiguration.

iam str

Whether or not to use the Amazon ECS task IAM role defined in a task definition when mounting the Amazon EFS file system. If enabled, transit encryption must be enabled in the EFSVolumeConfiguration. Valid values: ENABLED, DISABLED. If this parameter is omitted, the default value of DISABLED is used.

Package Details

Repository
https://github.com/pulumi/pulumi-aws
License
Apache-2.0
Notes
This Pulumi package is based on the aws Terraform Provider.