Class CfnJobDefinitionPropsMixin.EcsTaskPropertiesProperty
The properties for a task definition that describes the container and volume definitions of an Amazon ECS task.
Inherited Members
Namespace: Amazon.CDK.Mixins.Preview.AWS.Batch.Mixins
Assembly: Amazon.CDK.Mixins.Preview.dll
Syntax (csharp)
public class CfnJobDefinitionPropsMixin.EcsTaskPropertiesProperty : CfnJobDefinitionPropsMixin.IEcsTaskPropertiesProperty
Syntax (vb)
Public Class CfnJobDefinitionPropsMixin.EcsTaskPropertiesProperty Implements CfnJobDefinitionPropsMixin.IEcsTaskPropertiesProperty
Remarks
You can specify which Docker images to use, the required resources, and other configurations related to launching the task definition through an Amazon ECS service or task.
ExampleMetadata: fixture=_generated
Examples
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
using Amazon.CDK.Mixins.Preview.AWS.Batch.Mixins;
var options;
var ecsTaskPropertiesProperty = new EcsTaskPropertiesProperty {
Containers = new [] { new TaskContainerPropertiesProperty {
Command = new [] { "command" },
DependsOn = new [] { new TaskContainerDependencyProperty {
Condition = "condition",
ContainerName = "containerName"
} },
Environment = new [] { new EnvironmentProperty {
Name = "name",
Value = "value"
} },
Essential = false,
FirelensConfiguration = new FirelensConfigurationProperty {
Options = new Dictionary<string, string> {
{ "optionsKey", "options" }
},
Type = "type"
},
Image = "image",
LinuxParameters = new LinuxParametersProperty {
Devices = new [] { new DeviceProperty {
ContainerPath = "containerPath",
HostPath = "hostPath",
Permissions = new [] { "permissions" }
} },
InitProcessEnabled = false,
MaxSwap = 123,
SharedMemorySize = 123,
Swappiness = 123,
Tmpfs = new [] { new TmpfsProperty {
ContainerPath = "containerPath",
MountOptions = new [] { "mountOptions" },
Size = 123
} }
},
LogConfiguration = new LogConfigurationProperty {
LogDriver = "logDriver",
Options = options,
SecretOptions = new [] { new SecretProperty {
Name = "name",
ValueFrom = "valueFrom"
} }
},
MountPoints = new [] { new MountPointProperty {
ContainerPath = "containerPath",
ReadOnly = false,
SourceVolume = "sourceVolume"
} },
Name = "name",
Privileged = false,
ReadonlyRootFilesystem = false,
RepositoryCredentials = new RepositoryCredentialsProperty {
CredentialsParameter = "credentialsParameter"
},
ResourceRequirements = new [] { new ResourceRequirementProperty {
Type = "type",
Value = "value"
} },
Secrets = new [] { new SecretProperty {
Name = "name",
ValueFrom = "valueFrom"
} },
Ulimits = new [] { new UlimitProperty {
HardLimit = 123,
Name = "name",
SoftLimit = 123
} },
User = "user"
} },
EnableExecuteCommand = false,
EphemeralStorage = new EphemeralStorageProperty {
SizeInGiB = 123
},
ExecutionRoleArn = "executionRoleArn",
IpcMode = "ipcMode",
NetworkConfiguration = new NetworkConfigurationProperty {
AssignPublicIp = "assignPublicIp"
},
PidMode = "pidMode",
PlatformVersion = "platformVersion",
RuntimePlatform = new RuntimePlatformProperty {
CpuArchitecture = "cpuArchitecture",
OperatingSystemFamily = "operatingSystemFamily"
},
TaskRoleArn = "taskRoleArn",
Volumes = new [] { new VolumesProperty {
EfsVolumeConfiguration = new EfsVolumeConfigurationProperty {
AuthorizationConfig = new AuthorizationConfigProperty {
AccessPointId = "accessPointId",
Iam = "iam"
},
FileSystemId = "fileSystemId",
RootDirectory = "rootDirectory",
TransitEncryption = "transitEncryption",
TransitEncryptionPort = 123
},
Host = new VolumesHostProperty {
SourcePath = "sourcePath"
},
Name = "name"
} }
};
Synopsis
Constructors
| EcsTaskPropertiesProperty() | The properties for a task definition that describes the container and volume definitions of an Amazon ECS task. |
Properties
| Containers | This object is a list of containers. |
| EnableExecuteCommand | Determines whether execute command functionality is turned on for this task. |
| EphemeralStorage | The amount of ephemeral storage to allocate for the task. |
| ExecutionRoleArn | The Amazon Resource Name (ARN) of the execution role that AWS Batch can assume. |
| IpcMode | The IPC resource namespace to use for the containers in the task. |
| NetworkConfiguration | The network configuration for jobs that are running on Fargate resources. |
| PidMode | The process namespace to use for the containers in the task. |
| PlatformVersion | The Fargate platform version where the jobs are running. |
| RuntimePlatform | An object that represents the compute environment architecture for AWS Batch jobs on Fargate. |
| TaskRoleArn | The Amazon Resource Name (ARN) that's associated with the Amazon ECS task. |
| Volumes | A list of volumes that are associated with the job. |
Constructors
EcsTaskPropertiesProperty()
The properties for a task definition that describes the container and volume definitions of an Amazon ECS task.
public EcsTaskPropertiesProperty()
Remarks
You can specify which Docker images to use, the required resources, and other configurations related to launching the task definition through an Amazon ECS service or task.
ExampleMetadata: fixture=_generated
Examples
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
using Amazon.CDK.Mixins.Preview.AWS.Batch.Mixins;
var options;
var ecsTaskPropertiesProperty = new EcsTaskPropertiesProperty {
Containers = new [] { new TaskContainerPropertiesProperty {
Command = new [] { "command" },
DependsOn = new [] { new TaskContainerDependencyProperty {
Condition = "condition",
ContainerName = "containerName"
} },
Environment = new [] { new EnvironmentProperty {
Name = "name",
Value = "value"
} },
Essential = false,
FirelensConfiguration = new FirelensConfigurationProperty {
Options = new Dictionary<string, string> {
{ "optionsKey", "options" }
},
Type = "type"
},
Image = "image",
LinuxParameters = new LinuxParametersProperty {
Devices = new [] { new DeviceProperty {
ContainerPath = "containerPath",
HostPath = "hostPath",
Permissions = new [] { "permissions" }
} },
InitProcessEnabled = false,
MaxSwap = 123,
SharedMemorySize = 123,
Swappiness = 123,
Tmpfs = new [] { new TmpfsProperty {
ContainerPath = "containerPath",
MountOptions = new [] { "mountOptions" },
Size = 123
} }
},
LogConfiguration = new LogConfigurationProperty {
LogDriver = "logDriver",
Options = options,
SecretOptions = new [] { new SecretProperty {
Name = "name",
ValueFrom = "valueFrom"
} }
},
MountPoints = new [] { new MountPointProperty {
ContainerPath = "containerPath",
ReadOnly = false,
SourceVolume = "sourceVolume"
} },
Name = "name",
Privileged = false,
ReadonlyRootFilesystem = false,
RepositoryCredentials = new RepositoryCredentialsProperty {
CredentialsParameter = "credentialsParameter"
},
ResourceRequirements = new [] { new ResourceRequirementProperty {
Type = "type",
Value = "value"
} },
Secrets = new [] { new SecretProperty {
Name = "name",
ValueFrom = "valueFrom"
} },
Ulimits = new [] { new UlimitProperty {
HardLimit = 123,
Name = "name",
SoftLimit = 123
} },
User = "user"
} },
EnableExecuteCommand = false,
EphemeralStorage = new EphemeralStorageProperty {
SizeInGiB = 123
},
ExecutionRoleArn = "executionRoleArn",
IpcMode = "ipcMode",
NetworkConfiguration = new NetworkConfigurationProperty {
AssignPublicIp = "assignPublicIp"
},
PidMode = "pidMode",
PlatformVersion = "platformVersion",
RuntimePlatform = new RuntimePlatformProperty {
CpuArchitecture = "cpuArchitecture",
OperatingSystemFamily = "operatingSystemFamily"
},
TaskRoleArn = "taskRoleArn",
Volumes = new [] { new VolumesProperty {
EfsVolumeConfiguration = new EfsVolumeConfigurationProperty {
AuthorizationConfig = new AuthorizationConfigProperty {
AccessPointId = "accessPointId",
Iam = "iam"
},
FileSystemId = "fileSystemId",
RootDirectory = "rootDirectory",
TransitEncryption = "transitEncryption",
TransitEncryptionPort = 123
},
Host = new VolumesHostProperty {
SourcePath = "sourcePath"
},
Name = "name"
} }
};
Properties
Containers
This object is a list of containers.
public object? Containers { get; set; }
Property Value
Remarks
EnableExecuteCommand
Determines whether execute command functionality is turned on for this task.
public object? EnableExecuteCommand { get; set; }
Property Value
Remarks
If true , execute command functionality is turned on all the containers in the task.
Type union: either bool or IResolvable
EphemeralStorage
The amount of ephemeral storage to allocate for the task.
public object? EphemeralStorage { get; set; }
Property Value
Remarks
This parameter is used to expand the total amount of ephemeral storage available, beyond the default amount, for tasks hosted on AWS Fargate .
Type union: either IResolvable or CfnJobDefinitionPropsMixin.IEphemeralStorageProperty
ExecutionRoleArn
The Amazon Resource Name (ARN) of the execution role that AWS Batch can assume.
public string? ExecutionRoleArn { get; set; }
Property Value
Remarks
For jobs that run on Fargate resources, you must provide an execution role. For more information, see AWS Batch execution IAM role in the AWS Batch User Guide .
IpcMode
The IPC resource namespace to use for the containers in the task.
public string? IpcMode { get; set; }
Property Value
Remarks
The valid values are host , task , or none .
If host is specified, all containers within the tasks that specified the host IPC mode on the same container instance share the same IPC resources with the host Amazon EC2 instance.
If task is specified, all containers within the specified task share the same IPC resources.
If none is specified, the IPC resources within the containers of a task are private, and are not shared with other containers in a task or on the container instance.
If no value is specified, then the IPC resource namespace sharing depends on the Docker daemon setting on the container instance. For more information, see IPC settings in the Docker run reference.
NetworkConfiguration
The network configuration for jobs that are running on Fargate resources.
public object? NetworkConfiguration { get; set; }
Property Value
Remarks
Jobs that are running on Amazon EC2 resources must not specify this parameter.
Type union: either IResolvable or CfnJobDefinitionPropsMixin.INetworkConfigurationProperty
PidMode
The process namespace to use for the containers in the task.
public string? PidMode { get; set; }
Property Value
Remarks
The valid values are host or task . For example, monitoring sidecars might need pidMode to access information about other containers running in the same task.
If host is specified, all containers within the tasks that specified the host PID mode on the same container instance share the process namespace with the host Amazon EC2 instance.
If task is specified, all containers within the specified task share the same process namespace.
If no value is specified, the default is a private namespace for each container. For more information, see PID settings in the Docker run reference.
PlatformVersion
The Fargate platform version where the jobs are running.
public string? PlatformVersion { get; set; }
Property Value
Remarks
A platform version is specified only for jobs that are running on Fargate resources. If one isn't specified, the LATEST platform version is used by default. This uses a recent, approved version of the Fargate platform for compute resources. For more information, see AWS Fargate platform versions in the Amazon Elastic Container Service Developer Guide .
RuntimePlatform
An object that represents the compute environment architecture for AWS Batch jobs on Fargate.
public object? RuntimePlatform { get; set; }
Property Value
Remarks
TaskRoleArn
The Amazon Resource Name (ARN) that's associated with the Amazon ECS task.
public string? TaskRoleArn { get; set; }
Property Value
Remarks
This is object is comparable to <a href="https://docs.aws.amazon.com/batch/latest/APIReference/API_ContainerProperties.html">ContainerProperties:jobRoleArn</a> .
Volumes
A list of volumes that are associated with the job.
public object? Volumes { get; set; }