Interface ITaskDefinitionProps
The properties for task definitions.
Inherited Members
Namespace: Amazon.CDK.AWS.ECS
Assembly: Amazon.CDK.AWS.ECS.dll
Syntax (csharp)
public interface ITaskDefinitionProps : ICommonTaskDefinitionProps
Syntax (vb)
Public Interface ITaskDefinitionProps
Inherits ICommonTaskDefinitionProps
Remarks
ExampleMetadata: infused
Examples
var vpc = Vpc.FromLookup(this, "Vpc", new VpcLookupOptions {
IsDefault = true
});
var cluster = new Cluster(this, "Ec2Cluster", new ClusterProps { Vpc = vpc });
cluster.AddCapacity("DefaultAutoScalingGroup", new AddCapacityOptions {
InstanceType = new InstanceType("t2.micro"),
VpcSubnets = new SubnetSelection { SubnetType = SubnetType.PUBLIC }
});
var taskDefinition = new TaskDefinition(this, "TD", new TaskDefinitionProps {
Compatibility = Compatibility.EC2
});
taskDefinition.AddContainer("TheContainer", new ContainerDefinitionOptions {
Image = ContainerImage.FromRegistry("foo/bar"),
MemoryLimitMiB = 256
});
var runTask = new EcsRunTask(this, "Run", new EcsRunTaskProps {
IntegrationPattern = IntegrationPattern.RUN_JOB,
Cluster = cluster,
TaskDefinition = taskDefinition,
LaunchTarget = new EcsEc2LaunchTarget(new EcsEc2LaunchTargetOptions {
PlacementStrategies = new [] { PlacementStrategy.SpreadAcrossInstances(), PlacementStrategy.PackedByCpu(), PlacementStrategy.Randomly() },
PlacementConstraints = new [] { PlacementConstraint.MemberOf("blieptuut") }
})
});
Synopsis
Properties
Compatibility | The task launch type compatiblity requirement. |
Cpu | The number of cpu units used by the task. |
EphemeralStorageGiB | The amount (in GiB) of ephemeral storage to be allocated to the task. |
InferenceAccelerators | The inference accelerators to use for the containers in the task. |
IpcMode | The IPC resource namespace to use for the containers in the task. |
MemoryMiB | The amount (in MiB) of memory used by the task. |
NetworkMode | |
PidMode | The process namespace to use for the containers in the task. |
PlacementConstraints | The placement constraints to use for tasks in the service. |
RuntimePlatform | The operating system that your task definitions are running on. |
Properties
Compatibility
The task launch type compatiblity requirement.
Compatibility Compatibility { get; }
Property Value
Cpu
The number of cpu units used by the task.
virtual string Cpu { get; }
Property Value
System.String
Remarks
If you are using the EC2 launch type, this field is optional and any value can be used. If you are using the Fargate launch type, this field is required and you must use one of the following values, which determines your range of valid values for the memory parameter:
256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)
512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)
1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)
2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB)
4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)
Default: - CPU units are not specified.
EphemeralStorageGiB
The amount (in GiB) of ephemeral storage to be allocated to the task.
virtual Nullable<double> EphemeralStorageGiB { get; }
Property Value
System.Nullable<System.Double>
Remarks
Only supported in Fargate platform version 1.4.0 or later.
Default: - Undefined, in which case, the task will receive 20GiB ephemeral storage.
InferenceAccelerators
The inference accelerators to use for the containers in the task.
virtual IInferenceAccelerator[] InferenceAccelerators { get; }
Property Value
Remarks
Not supported in Fargate.
Default: - No inference accelerators.
IpcMode
The IPC resource namespace to use for the containers in the task.
virtual Nullable<IpcMode> IpcMode { get; }
Property Value
System.Nullable<IpcMode>
Remarks
Not supported in Fargate and Windows containers.
Default: - IpcMode used by the task is not specified
MemoryMiB
The amount (in MiB) of memory used by the task.
virtual string MemoryMiB { get; }
Property Value
System.String
Remarks
If using the EC2 launch type, this field is optional and any value can be used. If using the Fargate launch type, this field is required and you must use one of the following values, which determines your range of valid values for the cpu parameter:
512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 vCPU)
1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 vCPU)
2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU)
Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu values: 2048 (2 vCPU)
Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu values: 4096 (4 vCPU)
Default: - Memory used by task is not specified.
NetworkMode
PidMode
The process namespace to use for the containers in the task.
virtual Nullable<PidMode> PidMode { get; }
Property Value
System.Nullable<PidMode>
Remarks
Not supported in Fargate and Windows containers.
Default: - PidMode used by the task is not specified
PlacementConstraints
The placement constraints to use for tasks in the service.
virtual PlacementConstraint[] PlacementConstraints { get; }
Property Value
Remarks
You can specify a maximum of 10 constraints per task (this limit includes constraints in the task definition and those specified at run time).
Not supported in Fargate.
Default: - No placement constraints.
RuntimePlatform
The operating system that your task definitions are running on.
virtual IRuntimePlatform RuntimePlatform { get; }
Property Value
Remarks
A runtimePlatform is supported only for tasks using the Fargate launch type.
Default: - Undefined.