AWS services or capabilities described in AWS Documentation may vary by region/location. Click Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.
Container for the parameters to the RegisterTaskDefinition operation.
Registers a new task definition from the supplied family
and containerDefinitions
.
Optionally, you can add data volumes to your containers with the volumes
parameter.
For more information about task definition parameters and defaults, see Amazon
ECS Task Definitions in the Amazon Elastic Container Service Developer Guide.
You can specify a role for your task with the taskRoleArn
parameter. When you
specify a role for a task, its containers can then use the latest versions of the
CLI or SDKs to make API requests to the Amazon Web Services services that are specified
in the policy that's associated with the role. For more information, see IAM
Roles for Tasks in the Amazon Elastic Container Service Developer Guide.
You can specify a Docker networking mode for the containers in your task definition
with the networkMode
parameter. The available network modes correspond to those
described in Network
settings in the Docker run reference. If you specify the awsvpc
network
mode, the task is allocated an elastic network interface, and you must specify a NetworkConfiguration
when you create a service or run a task with the task definition. For more information,
see Task
Networking in the Amazon Elastic Container Service Developer Guide.
Namespace: Amazon.ECS.Model
Assembly: AWSSDK.ECS.dll
Version: 3.x.y.z
public class RegisterTaskDefinitionRequest : AmazonECSRequest IAmazonWebServiceRequest
The RegisterTaskDefinitionRequest type exposes the following members
Name | Description | |
---|---|---|
RegisterTaskDefinitionRequest() |
Name | Type | Description | |
---|---|---|---|
ContainerDefinitions | System.Collections.Generic.List<Amazon.ECS.Model.ContainerDefinition> |
Gets and sets the property ContainerDefinitions. A list of container definitions in JSON format that describe the different containers that make up your task. |
|
Cpu | System.String |
Gets and sets the property Cpu.
The number of CPU units used by the task. It can be expressed as an integer using
CPU units (for example, Task-level CPU and memory parameters are ignored for Windows containers. We recommend specifying container-level resources for Windows containers.
If you're using the EC2 launch type, this field is optional. Supported values are
between
If you're using the Fargate launch type, this field is required and you must use one
of the following values, which determines your range of supported values for the The CPU units cannot be less than 1 vCPU when you use Windows containers on Fargate.
|
|
EphemeralStorage | Amazon.ECS.Model.EphemeralStorage |
Gets and sets the property EphemeralStorage. The amount of ephemeral storage to allocate for the task. This parameter is used to expand the total amount of ephemeral storage available, beyond the default amount, for tasks hosted on Fargate. For more information, see Using data volumes in tasks in the Amazon ECS Developer Guide. For tasks using the Fargate launch type, the task requires the following platforms:
|
|
ExecutionRoleArn | System.String |
Gets and sets the property ExecutionRoleArn. The Amazon Resource Name (ARN) of the task execution role that grants the Amazon ECS container agent permission to make Amazon Web Services API calls on your behalf. The task execution IAM role is required depending on the requirements of your task. For more information, see Amazon ECS task execution IAM role in the Amazon Elastic Container Service Developer Guide. |
|
Family | System.String |
Gets and sets the property Family.
You must specify a |
|
InferenceAccelerators | System.Collections.Generic.List<Amazon.ECS.Model.InferenceAccelerator> |
Gets and sets the property InferenceAccelerators. The Elastic Inference accelerators to use for the containers in the task. |
|
IpcMode | Amazon.ECS.IpcMode |
Gets and sets the property IpcMode.
The IPC resource namespace to use for the containers in the task. The valid values
are
If the
If you are setting namespaced kernel parameters using
This parameter is not supported for Windows containers or tasks run on Fargate. |
|
Memory | System.String |
Gets and sets the property Memory.
The amount of memory (in MiB) used by the task. It can be expressed as an integer
using MiB (for example , Task-level CPU and memory parameters are ignored for Windows containers. We recommend specifying container-level resources for Windows containers. If using the EC2 launch type, this field is optional.
If using the Fargate launch type, this field is required and you must use one of the
following values. This determines your range of supported values for the The CPU units cannot be less than 1 vCPU when you use Windows containers on Fargate.
|
|
NetworkMode | Amazon.ECS.NetworkMode |
Gets and sets the property NetworkMode.
The Docker networking mode to use for the containers in the task. The valid values
are
For Amazon ECS tasks on Fargate, the
With the
When using the
If the network mode is
If the network mode is For more information, see Network settings in the Docker run reference. |
|
PidMode | Amazon.ECS.PidMode |
Gets and sets the property PidMode.
The process namespace to use for the containers in the task. The valid values are
If
If 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.
If the This parameter is not supported for Windows containers.
This parameter is only supported for tasks that are hosted on Fargate if the tasks
are using platform version |
|
PlacementConstraints | System.Collections.Generic.List<Amazon.ECS.Model.TaskDefinitionPlacementConstraint> |
Gets and sets the property PlacementConstraints. An array of placement constraint objects to use for the task. You can specify a maximum of 10 constraints for each task. This limit includes constraints in the task definition and those specified at runtime. |
|
ProxyConfiguration | Amazon.ECS.Model.ProxyConfiguration |
Gets and sets the property ProxyConfiguration. The configuration details for the App Mesh proxy.
For tasks hosted on Amazon EC2 instances, the container instances require at least
version |
|
RequiresCompatibilities | System.Collections.Generic.List<System.String> |
Gets and sets the property RequiresCompatibilities. The task launch type that Amazon ECS validates the task definition against. A client exception is returned if the task definition doesn't validate against the compatibilities specified. If no value is specified, the parameter is omitted from the response. |
|
RuntimePlatform | Amazon.ECS.Model.RuntimePlatform |
Gets and sets the property RuntimePlatform. The operating system that your tasks definitions run on. A platform family is specified only for tasks using the Fargate launch type.
When you specify a task definition in a service, this value must match the |
|
Tags | System.Collections.Generic.List<Amazon.ECS.Model.Tag> |
Gets and sets the property Tags. The metadata that you apply to the task definition to help you categorize and organize them. Each tag consists of a key and an optional value. You define both of them. The following basic restrictions apply to tags:
|
|
TaskRoleArn | System.String |
Gets and sets the property TaskRoleArn. The short name or full Amazon Resource Name (ARN) of the IAM role that containers in this task can assume. All containers in this task are granted the permissions that are specified in this role. For more information, see IAM Roles for Tasks in the Amazon Elastic Container Service Developer Guide. |
|
Volumes | System.Collections.Generic.List<Amazon.ECS.Model.Volume> |
Gets and sets the property Volumes. A list of volume definitions in JSON format that containers in your task might use. |
This example registers a task definition to the specified family.
var client = new AmazonECSClient(); var response = client.RegisterTaskDefinition(new RegisterTaskDefinitionRequest { ContainerDefinitions = new List<ContainerDefinition> { new ContainerDefinition { Name = "sleep", Command = new List<string> { "sleep", "360" }, Cpu = 10, Essential = true, Image = "busybox", Memory = 10 } }, Family = "sleep360", TaskRoleArn = "", Volumes = new List<Volume> { } }); TaskDefinition taskDefinition = response.TaskDefinition;
.NET Core App:
Supported in: 3.1
.NET Standard:
Supported in: 2.0
.NET Framework:
Supported in: 4.5, 4.0, 3.5