/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include namespace Aws { namespace ECS { namespace Model { /** */ class StartTaskRequest : public ECSRequest { public: AWS_ECS_API StartTaskRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "StartTask"; } AWS_ECS_API Aws::String SerializePayload() const override; AWS_ECS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The short name or full Amazon Resource Name (ARN) of the cluster where to * start your task. If you do not specify a cluster, the default cluster is * assumed.

*/ inline const Aws::String& GetCluster() const{ return m_cluster; } /** *

The short name or full Amazon Resource Name (ARN) of the cluster where to * start your task. If you do not specify a cluster, the default cluster is * assumed.

*/ inline bool ClusterHasBeenSet() const { return m_clusterHasBeenSet; } /** *

The short name or full Amazon Resource Name (ARN) of the cluster where to * start your task. If you do not specify a cluster, the default cluster is * assumed.

*/ inline void SetCluster(const Aws::String& value) { m_clusterHasBeenSet = true; m_cluster = value; } /** *

The short name or full Amazon Resource Name (ARN) of the cluster where to * start your task. If you do not specify a cluster, the default cluster is * assumed.

*/ inline void SetCluster(Aws::String&& value) { m_clusterHasBeenSet = true; m_cluster = std::move(value); } /** *

The short name or full Amazon Resource Name (ARN) of the cluster where to * start your task. If you do not specify a cluster, the default cluster is * assumed.

*/ inline void SetCluster(const char* value) { m_clusterHasBeenSet = true; m_cluster.assign(value); } /** *

The short name or full Amazon Resource Name (ARN) of the cluster where to * start your task. If you do not specify a cluster, the default cluster is * assumed.

*/ inline StartTaskRequest& WithCluster(const Aws::String& value) { SetCluster(value); return *this;} /** *

The short name or full Amazon Resource Name (ARN) of the cluster where to * start your task. If you do not specify a cluster, the default cluster is * assumed.

*/ inline StartTaskRequest& WithCluster(Aws::String&& value) { SetCluster(std::move(value)); return *this;} /** *

The short name or full Amazon Resource Name (ARN) of the cluster where to * start your task. If you do not specify a cluster, the default cluster is * assumed.

*/ inline StartTaskRequest& WithCluster(const char* value) { SetCluster(value); return *this;} /** *

The container instance IDs or full ARN entries for the container instances * where you would like to place your task. You can specify up to 10 container * instances.

*/ inline const Aws::Vector& GetContainerInstances() const{ return m_containerInstances; } /** *

The container instance IDs or full ARN entries for the container instances * where you would like to place your task. You can specify up to 10 container * instances.

*/ inline bool ContainerInstancesHasBeenSet() const { return m_containerInstancesHasBeenSet; } /** *

The container instance IDs or full ARN entries for the container instances * where you would like to place your task. You can specify up to 10 container * instances.

*/ inline void SetContainerInstances(const Aws::Vector& value) { m_containerInstancesHasBeenSet = true; m_containerInstances = value; } /** *

The container instance IDs or full ARN entries for the container instances * where you would like to place your task. You can specify up to 10 container * instances.

*/ inline void SetContainerInstances(Aws::Vector&& value) { m_containerInstancesHasBeenSet = true; m_containerInstances = std::move(value); } /** *

The container instance IDs or full ARN entries for the container instances * where you would like to place your task. You can specify up to 10 container * instances.

*/ inline StartTaskRequest& WithContainerInstances(const Aws::Vector& value) { SetContainerInstances(value); return *this;} /** *

The container instance IDs or full ARN entries for the container instances * where you would like to place your task. You can specify up to 10 container * instances.

*/ inline StartTaskRequest& WithContainerInstances(Aws::Vector&& value) { SetContainerInstances(std::move(value)); return *this;} /** *

The container instance IDs or full ARN entries for the container instances * where you would like to place your task. You can specify up to 10 container * instances.

*/ inline StartTaskRequest& AddContainerInstances(const Aws::String& value) { m_containerInstancesHasBeenSet = true; m_containerInstances.push_back(value); return *this; } /** *

The container instance IDs or full ARN entries for the container instances * where you would like to place your task. You can specify up to 10 container * instances.

*/ inline StartTaskRequest& AddContainerInstances(Aws::String&& value) { m_containerInstancesHasBeenSet = true; m_containerInstances.push_back(std::move(value)); return *this; } /** *

The container instance IDs or full ARN entries for the container instances * where you would like to place your task. You can specify up to 10 container * instances.

*/ inline StartTaskRequest& AddContainerInstances(const char* value) { m_containerInstancesHasBeenSet = true; m_containerInstances.push_back(value); return *this; } /** *

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.

*/ inline bool GetEnableECSManagedTags() const{ return m_enableECSManagedTags; } /** *

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.

*/ inline bool EnableECSManagedTagsHasBeenSet() const { return m_enableECSManagedTagsHasBeenSet; } /** *

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.

*/ inline void SetEnableECSManagedTags(bool value) { m_enableECSManagedTagsHasBeenSet = true; m_enableECSManagedTags = value; } /** *

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.

*/ inline StartTaskRequest& WithEnableECSManagedTags(bool value) { SetEnableECSManagedTags(value); return *this;} /** *

Whether or not the execute command functionality is turned on for the task. * If true, this turns on the execute command functionality on all * containers in the task.

*/ inline bool GetEnableExecuteCommand() const{ return m_enableExecuteCommand; } /** *

Whether or not the execute command functionality is turned on for the task. * If true, this turns on the execute command functionality on all * containers in the task.

*/ inline bool EnableExecuteCommandHasBeenSet() const { return m_enableExecuteCommandHasBeenSet; } /** *

Whether or not the execute command functionality is turned on for the task. * If true, this turns on the execute command functionality on all * containers in the task.

*/ inline void SetEnableExecuteCommand(bool value) { m_enableExecuteCommandHasBeenSet = true; m_enableExecuteCommand = value; } /** *

Whether or not the execute command functionality is turned on for the task. * If true, this turns on the execute command functionality on all * containers in the task.

*/ inline StartTaskRequest& WithEnableExecuteCommand(bool value) { SetEnableExecuteCommand(value); return *this;} /** *

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).

*/ inline const Aws::String& GetGroup() const{ return m_group; } /** *

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).

*/ inline bool GroupHasBeenSet() const { return m_groupHasBeenSet; } /** *

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).

*/ inline void SetGroup(const Aws::String& value) { m_groupHasBeenSet = true; m_group = value; } /** *

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).

*/ inline void SetGroup(Aws::String&& value) { m_groupHasBeenSet = true; m_group = std::move(value); } /** *

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).

*/ inline void SetGroup(const char* value) { m_groupHasBeenSet = true; m_group.assign(value); } /** *

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).

*/ inline StartTaskRequest& WithGroup(const Aws::String& value) { SetGroup(value); return *this;} /** *

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).

*/ inline StartTaskRequest& WithGroup(Aws::String&& value) { SetGroup(std::move(value)); return *this;} /** *

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).

*/ inline StartTaskRequest& WithGroup(const char* value) { SetGroup(value); return *this;} /** *

The VPC subnet and security group configuration for tasks that receive their * own elastic network interface by using the awsvpc networking * mode.

*/ inline const NetworkConfiguration& GetNetworkConfiguration() const{ return m_networkConfiguration; } /** *

The VPC subnet and security group configuration for tasks that receive their * own elastic network interface by using the awsvpc networking * mode.

*/ inline bool NetworkConfigurationHasBeenSet() const { return m_networkConfigurationHasBeenSet; } /** *

The VPC subnet and security group configuration for tasks that receive their * own elastic network interface by using the awsvpc networking * mode.

*/ inline void SetNetworkConfiguration(const NetworkConfiguration& value) { m_networkConfigurationHasBeenSet = true; m_networkConfiguration = value; } /** *

The VPC subnet and security group configuration for tasks that receive their * own elastic network interface by using the awsvpc networking * mode.

*/ inline void SetNetworkConfiguration(NetworkConfiguration&& value) { m_networkConfigurationHasBeenSet = true; m_networkConfiguration = std::move(value); } /** *

The VPC subnet and security group configuration for tasks that receive their * own elastic network interface by using the awsvpc networking * mode.

*/ inline StartTaskRequest& WithNetworkConfiguration(const NetworkConfiguration& value) { SetNetworkConfiguration(value); return *this;} /** *

The VPC subnet and security group configuration for tasks that receive their * own elastic network interface by using the awsvpc networking * mode.

*/ inline StartTaskRequest& WithNetworkConfiguration(NetworkConfiguration&& value) { SetNetworkConfiguration(std::move(value)); return *this;} /** *

A list of container overrides in JSON format that specify the name of a * container in the specified task definition and the overrides it receives. You * can override the default command for a container (that's specified in the task * definition or Docker image) with a command override. You can also * override existing environment variables (that are specified in the task * definition or Docker image) on a container or add new environment variables to * it with an environment override.

A total of 8192 * characters are allowed for overrides. This limit includes the JSON formatting * characters of the override structure.

*/ inline const TaskOverride& GetOverrides() const{ return m_overrides; } /** *

A list of container overrides in JSON format that specify the name of a * container in the specified task definition and the overrides it receives. You * can override the default command for a container (that's specified in the task * definition or Docker image) with a command override. You can also * override existing environment variables (that are specified in the task * definition or Docker image) on a container or add new environment variables to * it with an environment override.

A total of 8192 * characters are allowed for overrides. This limit includes the JSON formatting * characters of the override structure.

*/ inline bool OverridesHasBeenSet() const { return m_overridesHasBeenSet; } /** *

A list of container overrides in JSON format that specify the name of a * container in the specified task definition and the overrides it receives. You * can override the default command for a container (that's specified in the task * definition or Docker image) with a command override. You can also * override existing environment variables (that are specified in the task * definition or Docker image) on a container or add new environment variables to * it with an environment override.

A total of 8192 * characters are allowed for overrides. This limit includes the JSON formatting * characters of the override structure.

*/ inline void SetOverrides(const TaskOverride& value) { m_overridesHasBeenSet = true; m_overrides = value; } /** *

A list of container overrides in JSON format that specify the name of a * container in the specified task definition and the overrides it receives. You * can override the default command for a container (that's specified in the task * definition or Docker image) with a command override. You can also * override existing environment variables (that are specified in the task * definition or Docker image) on a container or add new environment variables to * it with an environment override.

A total of 8192 * characters are allowed for overrides. This limit includes the JSON formatting * characters of the override structure.

*/ inline void SetOverrides(TaskOverride&& value) { m_overridesHasBeenSet = true; m_overrides = std::move(value); } /** *

A list of container overrides in JSON format that specify the name of a * container in the specified task definition and the overrides it receives. You * can override the default command for a container (that's specified in the task * definition or Docker image) with a command override. You can also * override existing environment variables (that are specified in the task * definition or Docker image) on a container or add new environment variables to * it with an environment override.

A total of 8192 * characters are allowed for overrides. This limit includes the JSON formatting * characters of the override structure.

*/ inline StartTaskRequest& WithOverrides(const TaskOverride& value) { SetOverrides(value); return *this;} /** *

A list of container overrides in JSON format that specify the name of a * container in the specified task definition and the overrides it receives. You * can override the default command for a container (that's specified in the task * definition or Docker image) with a command override. You can also * override existing environment variables (that are specified in the task * definition or Docker image) on a container or add new environment variables to * it with an environment override.

A total of 8192 * characters are allowed for overrides. This limit includes the JSON formatting * characters of the override structure.

*/ inline StartTaskRequest& WithOverrides(TaskOverride&& value) { SetOverrides(std::move(value)); return *this;} /** *

Specifies whether to propagate the tags from the task definition or the * service to the task. If no value is specified, the tags aren't propagated.

*/ inline const PropagateTags& GetPropagateTags() const{ return m_propagateTags; } /** *

Specifies whether to propagate the tags from the task definition or the * service to the task. If no value is specified, the tags aren't propagated.

*/ inline bool PropagateTagsHasBeenSet() const { return m_propagateTagsHasBeenSet; } /** *

Specifies whether to propagate the tags from the task definition or the * service to the task. If no value is specified, the tags aren't propagated.

*/ inline void SetPropagateTags(const PropagateTags& value) { m_propagateTagsHasBeenSet = true; m_propagateTags = value; } /** *

Specifies whether to propagate the tags from the task definition or the * service to the task. If no value is specified, the tags aren't propagated.

*/ inline void SetPropagateTags(PropagateTags&& value) { m_propagateTagsHasBeenSet = true; m_propagateTags = std::move(value); } /** *

Specifies whether to propagate the tags from the task definition or the * service to the task. If no value is specified, the tags aren't propagated.

*/ inline StartTaskRequest& WithPropagateTags(const PropagateTags& value) { SetPropagateTags(value); return *this;} /** *

Specifies whether to propagate the tags from the task definition or the * service to the task. If no value is specified, the tags aren't propagated.

*/ inline StartTaskRequest& WithPropagateTags(PropagateTags&& value) { SetPropagateTags(std::move(value)); return *this;} /** *

The reference ID to use for the task.

*/ inline const Aws::String& GetReferenceId() const{ return m_referenceId; } /** *

The reference ID to use for the task.

*/ inline bool ReferenceIdHasBeenSet() const { return m_referenceIdHasBeenSet; } /** *

The reference ID to use for the task.

*/ inline void SetReferenceId(const Aws::String& value) { m_referenceIdHasBeenSet = true; m_referenceId = value; } /** *

The reference ID to use for the task.

*/ inline void SetReferenceId(Aws::String&& value) { m_referenceIdHasBeenSet = true; m_referenceId = std::move(value); } /** *

The reference ID to use for the task.

*/ inline void SetReferenceId(const char* value) { m_referenceIdHasBeenSet = true; m_referenceId.assign(value); } /** *

The reference ID to use for the task.

*/ inline StartTaskRequest& WithReferenceId(const Aws::String& value) { SetReferenceId(value); return *this;} /** *

The reference ID to use for the task.

*/ inline StartTaskRequest& WithReferenceId(Aws::String&& value) { SetReferenceId(std::move(value)); return *this;} /** *

The reference ID to use for the task.

*/ inline StartTaskRequest& WithReferenceId(const char* value) { SetReferenceId(value); return *this;} /** *

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 * 36 letters (uppercase and lowercase), numbers, hyphens (-), and underscores (_) * are allowed.

If a task is started by an Amazon ECS service, the * startedBy parameter contains the deployment ID of the service that * starts it.

*/ inline const Aws::String& GetStartedBy() const{ return m_startedBy; } /** *

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 * 36 letters (uppercase and lowercase), numbers, hyphens (-), and underscores (_) * are allowed.

If a task is started by an Amazon ECS service, the * startedBy parameter contains the deployment ID of the service that * starts it.

*/ inline bool StartedByHasBeenSet() const { return m_startedByHasBeenSet; } /** *

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 * 36 letters (uppercase and lowercase), numbers, hyphens (-), and underscores (_) * are allowed.

If a task is started by an Amazon ECS service, the * startedBy parameter contains the deployment ID of the service that * starts it.

*/ inline void SetStartedBy(const Aws::String& value) { m_startedByHasBeenSet = true; m_startedBy = value; } /** *

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 * 36 letters (uppercase and lowercase), numbers, hyphens (-), and underscores (_) * are allowed.

If a task is started by an Amazon ECS service, the * startedBy parameter contains the deployment ID of the service that * starts it.

*/ inline void SetStartedBy(Aws::String&& value) { m_startedByHasBeenSet = true; m_startedBy = std::move(value); } /** *

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 * 36 letters (uppercase and lowercase), numbers, hyphens (-), and underscores (_) * are allowed.

If a task is started by an Amazon ECS service, the * startedBy parameter contains the deployment ID of the service that * starts it.

*/ inline void SetStartedBy(const char* value) { m_startedByHasBeenSet = true; m_startedBy.assign(value); } /** *

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 * 36 letters (uppercase and lowercase), numbers, hyphens (-), and underscores (_) * are allowed.

If a task is started by an Amazon ECS service, the * startedBy parameter contains the deployment ID of the service that * starts it.

*/ inline StartTaskRequest& WithStartedBy(const Aws::String& value) { SetStartedBy(value); return *this;} /** *

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 * 36 letters (uppercase and lowercase), numbers, hyphens (-), and underscores (_) * are allowed.

If a task is started by an Amazon ECS service, the * startedBy parameter contains the deployment ID of the service that * starts it.

*/ inline StartTaskRequest& WithStartedBy(Aws::String&& value) { SetStartedBy(std::move(value)); return *this;} /** *

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 * 36 letters (uppercase and lowercase), numbers, hyphens (-), and underscores (_) * are allowed.

If a task is started by an Amazon ECS service, the * startedBy parameter contains the deployment ID of the service that * starts it.

*/ inline StartTaskRequest& WithStartedBy(const char* value) { SetStartedBy(value); return *this;} /** *

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.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

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.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

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.

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

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.

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

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.

*/ inline StartTaskRequest& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

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.

*/ inline StartTaskRequest& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

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.

*/ inline StartTaskRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

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.

*/ inline StartTaskRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } /** *

The family and revision * (family:revision) or full ARN of the task definition to start. If a * revision isn't specified, the latest ACTIVE revision * is used.

*/ inline const Aws::String& GetTaskDefinition() const{ return m_taskDefinition; } /** *

The family and revision * (family:revision) or full ARN of the task definition to start. If a * revision isn't specified, the latest ACTIVE revision * is used.

*/ inline bool TaskDefinitionHasBeenSet() const { return m_taskDefinitionHasBeenSet; } /** *

The family and revision * (family:revision) or full ARN of the task definition to start. If a * revision isn't specified, the latest ACTIVE revision * is used.

*/ inline void SetTaskDefinition(const Aws::String& value) { m_taskDefinitionHasBeenSet = true; m_taskDefinition = value; } /** *

The family and revision * (family:revision) or full ARN of the task definition to start. If a * revision isn't specified, the latest ACTIVE revision * is used.

*/ inline void SetTaskDefinition(Aws::String&& value) { m_taskDefinitionHasBeenSet = true; m_taskDefinition = std::move(value); } /** *

The family and revision * (family:revision) or full ARN of the task definition to start. If a * revision isn't specified, the latest ACTIVE revision * is used.

*/ inline void SetTaskDefinition(const char* value) { m_taskDefinitionHasBeenSet = true; m_taskDefinition.assign(value); } /** *

The family and revision * (family:revision) or full ARN of the task definition to start. If a * revision isn't specified, the latest ACTIVE revision * is used.

*/ inline StartTaskRequest& WithTaskDefinition(const Aws::String& value) { SetTaskDefinition(value); return *this;} /** *

The family and revision * (family:revision) or full ARN of the task definition to start. If a * revision isn't specified, the latest ACTIVE revision * is used.

*/ inline StartTaskRequest& WithTaskDefinition(Aws::String&& value) { SetTaskDefinition(std::move(value)); return *this;} /** *

The family and revision * (family:revision) or full ARN of the task definition to start. If a * revision isn't specified, the latest ACTIVE revision * is used.

*/ inline StartTaskRequest& WithTaskDefinition(const char* value) { SetTaskDefinition(value); return *this;} private: Aws::String m_cluster; bool m_clusterHasBeenSet = false; Aws::Vector m_containerInstances; bool m_containerInstancesHasBeenSet = false; bool m_enableECSManagedTags; bool m_enableECSManagedTagsHasBeenSet = false; bool m_enableExecuteCommand; bool m_enableExecuteCommandHasBeenSet = false; Aws::String m_group; bool m_groupHasBeenSet = false; NetworkConfiguration m_networkConfiguration; bool m_networkConfigurationHasBeenSet = false; TaskOverride m_overrides; bool m_overridesHasBeenSet = false; PropagateTags m_propagateTags; bool m_propagateTagsHasBeenSet = false; Aws::String m_referenceId; bool m_referenceIdHasBeenSet = false; Aws::String m_startedBy; bool m_startedByHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; Aws::String m_taskDefinition; bool m_taskDefinitionHasBeenSet = false; }; } // namespace Model } // namespace ECS } // namespace Aws