AWS Tools for Windows PowerShell
Command Reference

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.

Synopsis

Calls the Amazon EC2 Container Service RunTask API operation.

Syntax

New-ECSTask
-Cluster <String>
-AwsvpcConfiguration_AssignPublicIp <AssignPublicIp>
-CapacityProviderStrategy <CapacityProviderStrategyItem[]>
-Overrides_ContainerOverride <ContainerOverride[]>
-Count <Int32>
-Overrides_Cpu <String>
-EnableECSManagedTag <Boolean>
-EnableExecuteCommand <Boolean>
-Overrides_ExecutionRoleArn <String>
-Group <String>
-Overrides_InferenceAcceleratorOverride <InferenceAcceleratorOverride[]>
-LaunchType <LaunchType>
-Overrides_Memory <String>
-PlacementConstraint <PlacementConstraint[]>
-PlacementStrategy <PlacementStrategy[]>
-PlatformVersion <String>
-PropagateTag <PropagateTags>
-ReferenceId <String>
-AwsvpcConfiguration_SecurityGroup <String[]>
-EphemeralStorage_SizeInGiB <Int32>
-StartedBy <String>
-AwsvpcConfiguration_Subnet <String[]>
-Tag <Tag[]>
-TaskDefinition <String>
-Overrides_TaskRoleArn <String>
-VolumeConfiguration <TaskVolumeConfiguration[]>
-ClientToken <String>
-Select <String>
-PassThru <SwitchParameter>
-Force <SwitchParameter>
-ClientConfig <AmazonECSConfig>

Description

Starts a new task using the specified task definition. On March 21, 2024, a change was made to resolve the task definition revision before authorization. When a task definition revision is not specified, authorization will occur using the latest revision of a task definition. You can allow Amazon ECS to place tasks for you, or you can customize how Amazon ECS places tasks using placement constraints and placement strategies. For more information, see Scheduling Tasks in the Amazon Elastic Container Service Developer Guide. Alternatively, you can use StartTask to use your own scheduler or place tasks manually on specific container instances. Starting April 15, 2023, Amazon Web Services will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service. You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when creating or updating a service. For more infomation, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide. The Amazon ECS API follows an eventual consistency model. This is because of the distributed nature of the system supporting the API. This means that the result of an API command you run that affects your Amazon ECS resources might not be immediately visible to all subsequent commands you run. Keep this in mind when you carry out an API command that immediately follows a previous API command. To manage eventual consistency, you can do the following:
  • Confirm the state of the resource before you run a command to modify it. Run the DescribeTasks command using an exponential backoff algorithm to ensure that you allow enough time for the previous command to propagate through the system. To do this, run the DescribeTasks command repeatedly, starting with a couple of seconds of wait time and increasing gradually up to five minutes of wait time.
  • Add wait time between subsequent commands, even if the DescribeTasks command returns an accurate response. Apply an exponential backoff algorithm starting with a couple of seconds of wait time, and increase gradually up to about five minutes of wait time.

Parameters

-AwsvpcConfiguration_AssignPublicIp <AssignPublicIp>
Whether the task's elastic network interface receives a public IP address. The default value is DISABLED.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesNetworkConfiguration_AwsvpcConfiguration_AssignPublicIp
-AwsvpcConfiguration_SecurityGroup <String[]>
The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified per AwsVpcConfiguration.All specified security groups must be from the same VPC.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesNetworkConfiguration_AwsvpcConfiguration_SecurityGroups
-AwsvpcConfiguration_Subnet <String[]>
The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified per AwsVpcConfiguration.All specified subnets must be from the same VPC.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesNetworkConfiguration_AwsvpcConfiguration_Subnets
-CapacityProviderStrategy <CapacityProviderStrategyItem[]>
The capacity provider strategy to use for the task.If a capacityProviderStrategy is specified, the launchType parameter must be omitted. If no capacityProviderStrategy or launchType is specified, the defaultCapacityProviderStrategy for the cluster is used.When you use cluster auto scaling, you must specify capacityProviderStrategy and not launchType. A capacity provider strategy may contain a maximum of 6 capacity providers.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-ClientConfig <AmazonECSConfig>
Amazon.PowerShell.Cmdlets.ECS.AmazonECSClientCmdlet.ClientConfig
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-ClientToken <String>
An identifier that you provide to ensure the idempotency of the request. It must be unique and is case sensitive. Up to 64 characters are allowed. The valid characters are characters in the range of 33-126, inclusive. For more information, see Ensuring idempotency.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-Cluster <String>
The short name or full Amazon Resource Name (ARN) of the cluster to run your task on. If you do not specify a cluster, the default cluster is assumed.
Required?False
Position?1
Accept pipeline input?True (ByValue, ByPropertyName)
-Count <Int32>
The number of instantiations of the specified task to place on your cluster. You can specify up to 10 tasks for each call.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-EnableECSManagedTag <Boolean>
Specifies whether to use Amazon ECS managed tags for the task. For more information, see Tagging Your Amazon ECS Resources in the Amazon Elastic Container Service Developer Guide.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesEnableECSManagedTags
-EnableExecuteCommand <Boolean>
Determines whether to use the execute command functionality for the containers in this task. If true, this enables execute command functionality on all containers in the task.If true, then the task definition must have a task role, or you must provide one as an override.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-EphemeralStorage_SizeInGiB <Int32>
The total amount, in GiB, of ephemeral storage to set for the task. The minimum supported value is 20 GiB and the maximum supported value is 200 GiB.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesOverrides_EphemeralStorage_SizeInGiB
This parameter overrides confirmation prompts to force the cmdlet to continue its operation. This parameter should always be used with caution.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-Group <String>
The name of the task group to associate with the task. The default value is the family name of the task definition (for example, family:my-family-name).
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-LaunchType <LaunchType>
The infrastructure to run your standalone task on. For more information, see Amazon ECS launch types in the Amazon Elastic Container Service Developer Guide.The FARGATE launch type runs your tasks on Fargate On-Demand infrastructure.Fargate Spot infrastructure is available for use but a capacity provider strategy must be used. For more information, see Fargate capacity providers in the Amazon ECS Developer Guide.The EC2 launch type runs your tasks on Amazon EC2 instances registered to your cluster.The EXTERNAL launch type runs your tasks on your on-premises server or virtual machine (VM) capacity registered to your cluster.A task can use either a launch type or a capacity provider strategy. If a launchType is specified, the capacityProviderStrategy parameter must be omitted.When you use cluster auto scaling, you must specify capacityProviderStrategy and not launchType.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-Overrides_ContainerOverride <ContainerOverride[]>
One or more container overrides that are sent to a task.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesOverrides_ContainerOverrides
-Overrides_Cpu <String>
The CPU override for the task.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-Overrides_ExecutionRoleArn <String>
The Amazon Resource Name (ARN) of the task execution role override for the task. For more information, see Amazon ECS task execution IAM role in the Amazon Elastic Container Service Developer Guide.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-Overrides_InferenceAcceleratorOverride <InferenceAcceleratorOverride[]>
The Elastic Inference accelerator override for the task.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesOverrides_InferenceAcceleratorOverrides
-Overrides_Memory <String>
The memory override for the task.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-Overrides_TaskRoleArn <String>
The Amazon Resource Name (ARN) of the 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 Role for Tasks in the Amazon Elastic Container Service Developer Guide.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-PassThru <SwitchParameter>
Changes the cmdlet behavior to return the value passed to the Cluster parameter. The -PassThru parameter is deprecated, use -Select '^Cluster' instead. This parameter will be removed in a future version.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-PlacementConstraint <PlacementConstraint[]>
An array of placement constraint objects to use for the task. You can specify up to 10 constraints for each task (including constraints in the task definition and those specified at runtime).
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesPlacementConstraints
-PlacementStrategy <PlacementStrategy[]>
The placement strategy objects to use for the task. You can specify a maximum of 5 strategy rules for each task.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-PlatformVersion <String>
The platform version the task uses. A platform version is only specified for tasks hosted on Fargate. If one isn't specified, the LATEST platform version is used. For more information, see Fargate platform versions in the Amazon Elastic Container Service Developer Guide.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-PropagateTag <PropagateTags>
Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the TagResource API action.An error will be received if you specify the SERVICE option when running a task.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesPropagateTags
-ReferenceId <String>
The reference ID to use for the task. The reference ID can have a maximum length of 1024 characters.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-Select <String>
Use the -Select parameter to control the cmdlet output. The default value is '*'. Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.ECS.Model.RunTaskResponse). Specifying the name of a property of type Amazon.ECS.Model.RunTaskResponse will result in that property being returned. Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-StartedBy <String>
An optional tag specified when a task is started. For example, if you automatically trigger a task to run a batch process job, you could apply a unique identifier for that job to your task with the startedBy parameter. You can then identify which tasks belong to that job by filtering the results of a ListTasks call with the startedBy value. Up to 128 letters (uppercase and lowercase), numbers, hyphens (-), and underscores (_) are allowed.If a task is started by an Amazon ECS service, then the startedBy parameter contains the deployment ID of the service that starts it.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-Tag <Tag[]>
The metadata that you apply to the task to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define.The following basic restrictions apply to tags:
  • Maximum number of tags per resource - 50
  • For each resource, each tag key must be unique, and each tag key can have only one value.
  • Maximum key length - 128 Unicode characters in UTF-8
  • Maximum value length - 256 Unicode characters in UTF-8
  • If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.
  • Tag keys and values are case-sensitive.
  • Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesTags
-TaskDefinition <String>
The family and revision (family:revision) or full ARN of the task definition to run. If a revision isn't specified, the latest ACTIVE revision is used.When you create a policy for run-task, you can set the resource to be the latest task definition revision, or a specific revision.The full ARN value must match the value that you specified as the Resource of the principal's permissions policy.When you specify the policy resource as the latest task definition version (by setting the Resource in the policy to arn:aws:ecs:us-east-1:111122223333:task-definition/TaskFamilyName), then set this value to arn:aws:ecs:us-east-1:111122223333:task-definition/TaskFamilyName.When you specify the policy resource as a specific task definition version (by setting the Resource in the policy to arn:aws:ecs:us-east-1:111122223333:task-definition/TaskFamilyName:1 or arn:aws:ecs:us-east-1:111122223333:task-definition/TaskFamilyName:*), then set this value to arn:aws:ecs:us-east-1:111122223333:task-definition/TaskFamilyName:1.For more information, see Policy Resources for Amazon ECS in the Amazon Elastic Container Service developer Guide.
Required?True
Position?Named
Accept pipeline input?True (ByPropertyName)
-VolumeConfiguration <TaskVolumeConfiguration[]>
The details of the volume that was configuredAtLaunch. You can configure the size, volumeType, IOPS, throughput, snapshot and encryption in in TaskManagedEBSVolumeConfiguration. The name of the volume must match the name from the task definition.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesVolumeConfigurations

Common Credential and Region Parameters

-AccessKey <String>
The AWS access key for the user account. This can be a temporary access key if the corresponding session token is supplied to the -SessionToken parameter.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesAK
-Credential <AWSCredentials>
An AWSCredentials object instance containing access and secret key information, and optionally a token for session-based credentials.
Required?False
Position?Named
Accept pipeline input?True (ByValue, ByPropertyName)
-EndpointUrl <String>
The endpoint to make the call against.Note: This parameter is primarily for internal AWS use and is not required/should not be specified for normal usage. The cmdlets normally determine which endpoint to call based on the region specified to the -Region parameter or set as default in the shell (via Set-DefaultAWSRegion). Only specify this parameter if you must direct the call to a specific custom endpoint.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-NetworkCredential <PSCredential>
Used with SAML-based authentication when ProfileName references a SAML role profile. Contains the network credentials to be supplied during authentication with the configured identity provider's endpoint. This parameter is not required if the user's default network identity can or should be used during authentication.
Required?False
Position?Named
Accept pipeline input?True (ByValue, ByPropertyName)
-ProfileLocation <String>
Used to specify the name and location of the ini-format credential file (shared with the AWS CLI and other AWS SDKs)If this optional parameter is omitted this cmdlet will search the encrypted credential file used by the AWS SDK for .NET and AWS Toolkit for Visual Studio first. If the profile is not found then the cmdlet will search in the ini-format credential file at the default location: (user's home directory)\.aws\credentials.If this parameter is specified then this cmdlet will only search the ini-format credential file at the location given.As the current folder can vary in a shell or during script execution it is advised that you use specify a fully qualified path instead of a relative path.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesAWSProfilesLocation, ProfilesLocation
-ProfileName <String>
The user-defined name of an AWS credentials or SAML-based role profile containing credential information. The profile is expected to be found in the secure credential file shared with the AWS SDK for .NET and AWS Toolkit for Visual Studio. You can also specify the name of a profile stored in the .ini-format credential file used with the AWS CLI and other AWS SDKs.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesStoredCredentials, AWSProfileName
-Region <Object>
The system name of an AWS region or an AWSRegion instance. This governs the endpoint that will be used when calling service operations. Note that the AWS resources referenced in a call are usually region-specific.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesRegionToCall
-SecretKey <String>
The AWS secret key for the user account. This can be a temporary secret key if the corresponding session token is supplied to the -SessionToken parameter.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesSK, SecretAccessKey
-SessionToken <String>
The session token if the access and secret keys are temporary session-based credentials.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesST

Outputs

This cmdlet returns an Amazon.ECS.Model.RunTaskResponse object containing multiple properties. The object can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack.

Supported Version

AWS Tools for PowerShell: 2.x.y.z