/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The custom parameters to be used when the target is an Amazon ECS
* task.See Also:
AWS
* API Reference
The ARN of the task definition to use if the event target is an Amazon ECS * task.
*/ inline const Aws::String& GetTaskDefinitionArn() const{ return m_taskDefinitionArn; } /** *The ARN of the task definition to use if the event target is an Amazon ECS * task.
*/ inline bool TaskDefinitionArnHasBeenSet() const { return m_taskDefinitionArnHasBeenSet; } /** *The ARN of the task definition to use if the event target is an Amazon ECS * task.
*/ inline void SetTaskDefinitionArn(const Aws::String& value) { m_taskDefinitionArnHasBeenSet = true; m_taskDefinitionArn = value; } /** *The ARN of the task definition to use if the event target is an Amazon ECS * task.
*/ inline void SetTaskDefinitionArn(Aws::String&& value) { m_taskDefinitionArnHasBeenSet = true; m_taskDefinitionArn = std::move(value); } /** *The ARN of the task definition to use if the event target is an Amazon ECS * task.
*/ inline void SetTaskDefinitionArn(const char* value) { m_taskDefinitionArnHasBeenSet = true; m_taskDefinitionArn.assign(value); } /** *The ARN of the task definition to use if the event target is an Amazon ECS * task.
*/ inline EcsParameters& WithTaskDefinitionArn(const Aws::String& value) { SetTaskDefinitionArn(value); return *this;} /** *The ARN of the task definition to use if the event target is an Amazon ECS * task.
*/ inline EcsParameters& WithTaskDefinitionArn(Aws::String&& value) { SetTaskDefinitionArn(std::move(value)); return *this;} /** *The ARN of the task definition to use if the event target is an Amazon ECS * task.
*/ inline EcsParameters& WithTaskDefinitionArn(const char* value) { SetTaskDefinitionArn(value); return *this;} /** *The number of tasks to create based on TaskDefinition
. The
* default is 1.
The number of tasks to create based on TaskDefinition
. The
* default is 1.
The number of tasks to create based on TaskDefinition
. The
* default is 1.
The number of tasks to create based on TaskDefinition
. The
* default is 1.
Specifies the launch type on which your task is running. The launch type that
* you specify here must match one of the launch type (compatibilities) of the
* target task. The FARGATE
value is supported only in the Regions
* where Fargate with Amazon ECS is supported. For more information, see Fargate
* on Amazon ECS in the Amazon Elastic Container Service Developer
* Guide.
Specifies the launch type on which your task is running. The launch type that
* you specify here must match one of the launch type (compatibilities) of the
* target task. The FARGATE
value is supported only in the Regions
* where Fargate with Amazon ECS is supported. For more information, see Fargate
* on Amazon ECS in the Amazon Elastic Container Service Developer
* Guide.
Specifies the launch type on which your task is running. The launch type that
* you specify here must match one of the launch type (compatibilities) of the
* target task. The FARGATE
value is supported only in the Regions
* where Fargate with Amazon ECS is supported. For more information, see Fargate
* on Amazon ECS in the Amazon Elastic Container Service Developer
* Guide.
Specifies the launch type on which your task is running. The launch type that
* you specify here must match one of the launch type (compatibilities) of the
* target task. The FARGATE
value is supported only in the Regions
* where Fargate with Amazon ECS is supported. For more information, see Fargate
* on Amazon ECS in the Amazon Elastic Container Service Developer
* Guide.
Specifies the launch type on which your task is running. The launch type that
* you specify here must match one of the launch type (compatibilities) of the
* target task. The FARGATE
value is supported only in the Regions
* where Fargate with Amazon ECS is supported. For more information, see Fargate
* on Amazon ECS in the Amazon Elastic Container Service Developer
* Guide.
Specifies the launch type on which your task is running. The launch type that
* you specify here must match one of the launch type (compatibilities) of the
* target task. The FARGATE
value is supported only in the Regions
* where Fargate with Amazon ECS is supported. For more information, see Fargate
* on Amazon ECS in the Amazon Elastic Container Service Developer
* Guide.
Use this structure if the Amazon ECS task uses the awsvpc
* network mode. This structure specifies the VPC subnets and security groups
* associated with the task, and whether a public IP address is to be used. This
* structure is required if LaunchType
is FARGATE
because
* the awsvpc
mode is required for Fargate tasks.
If you
* specify NetworkConfiguration
when the target ECS task does not use
* the awsvpc
network mode, the task fails.
Use this structure if the Amazon ECS task uses the awsvpc
* network mode. This structure specifies the VPC subnets and security groups
* associated with the task, and whether a public IP address is to be used. This
* structure is required if LaunchType
is FARGATE
because
* the awsvpc
mode is required for Fargate tasks.
If you
* specify NetworkConfiguration
when the target ECS task does not use
* the awsvpc
network mode, the task fails.
Use this structure if the Amazon ECS task uses the awsvpc
* network mode. This structure specifies the VPC subnets and security groups
* associated with the task, and whether a public IP address is to be used. This
* structure is required if LaunchType
is FARGATE
because
* the awsvpc
mode is required for Fargate tasks.
If you
* specify NetworkConfiguration
when the target ECS task does not use
* the awsvpc
network mode, the task fails.
Use this structure if the Amazon ECS task uses the awsvpc
* network mode. This structure specifies the VPC subnets and security groups
* associated with the task, and whether a public IP address is to be used. This
* structure is required if LaunchType
is FARGATE
because
* the awsvpc
mode is required for Fargate tasks.
If you
* specify NetworkConfiguration
when the target ECS task does not use
* the awsvpc
network mode, the task fails.
Use this structure if the Amazon ECS task uses the awsvpc
* network mode. This structure specifies the VPC subnets and security groups
* associated with the task, and whether a public IP address is to be used. This
* structure is required if LaunchType
is FARGATE
because
* the awsvpc
mode is required for Fargate tasks.
If you
* specify NetworkConfiguration
when the target ECS task does not use
* the awsvpc
network mode, the task fails.
Use this structure if the Amazon ECS task uses the awsvpc
* network mode. This structure specifies the VPC subnets and security groups
* associated with the task, and whether a public IP address is to be used. This
* structure is required if LaunchType
is FARGATE
because
* the awsvpc
mode is required for Fargate tasks.
If you
* specify NetworkConfiguration
when the target ECS task does not use
* the awsvpc
network mode, the task fails.
Specifies the platform version for the task. Specify only the numeric portion
* of the platform version, such as 1.1.0
.
This structure is
* used only if LaunchType
is FARGATE
. For more
* information about valid platform versions, see Fargate
* Platform Versions in the Amazon Elastic Container Service Developer
* Guide.
Specifies the platform version for the task. Specify only the numeric portion
* of the platform version, such as 1.1.0
.
This structure is
* used only if LaunchType
is FARGATE
. For more
* information about valid platform versions, see Fargate
* Platform Versions in the Amazon Elastic Container Service Developer
* Guide.
Specifies the platform version for the task. Specify only the numeric portion
* of the platform version, such as 1.1.0
.
This structure is
* used only if LaunchType
is FARGATE
. For more
* information about valid platform versions, see Fargate
* Platform Versions in the Amazon Elastic Container Service Developer
* Guide.
Specifies the platform version for the task. Specify only the numeric portion
* of the platform version, such as 1.1.0
.
This structure is
* used only if LaunchType
is FARGATE
. For more
* information about valid platform versions, see Fargate
* Platform Versions in the Amazon Elastic Container Service Developer
* Guide.
Specifies the platform version for the task. Specify only the numeric portion
* of the platform version, such as 1.1.0
.
This structure is
* used only if LaunchType
is FARGATE
. For more
* information about valid platform versions, see Fargate
* Platform Versions in the Amazon Elastic Container Service Developer
* Guide.
Specifies the platform version for the task. Specify only the numeric portion
* of the platform version, such as 1.1.0
.
This structure is
* used only if LaunchType
is FARGATE
. For more
* information about valid platform versions, see Fargate
* Platform Versions in the Amazon Elastic Container Service Developer
* Guide.
Specifies the platform version for the task. Specify only the numeric portion
* of the platform version, such as 1.1.0
.
This structure is
* used only if LaunchType
is FARGATE
. For more
* information about valid platform versions, see Fargate
* Platform Versions in the Amazon Elastic Container Service Developer
* Guide.
Specifies the platform version for the task. Specify only the numeric portion
* of the platform version, such as 1.1.0
.
This structure is
* used only if LaunchType
is FARGATE
. For more
* information about valid platform versions, see Fargate
* Platform Versions in the Amazon Elastic Container Service Developer
* Guide.
Specifies an ECS task group for the task. The maximum length is 255 * characters.
*/ inline const Aws::String& GetGroup() const{ return m_group; } /** *Specifies an ECS task group for the task. The maximum length is 255 * characters.
*/ inline bool GroupHasBeenSet() const { return m_groupHasBeenSet; } /** *Specifies an ECS task group for the task. The maximum length is 255 * characters.
*/ inline void SetGroup(const Aws::String& value) { m_groupHasBeenSet = true; m_group = value; } /** *Specifies an ECS task group for the task. The maximum length is 255 * characters.
*/ inline void SetGroup(Aws::String&& value) { m_groupHasBeenSet = true; m_group = std::move(value); } /** *Specifies an ECS task group for the task. The maximum length is 255 * characters.
*/ inline void SetGroup(const char* value) { m_groupHasBeenSet = true; m_group.assign(value); } /** *Specifies an ECS task group for the task. The maximum length is 255 * characters.
*/ inline EcsParameters& WithGroup(const Aws::String& value) { SetGroup(value); return *this;} /** *Specifies an ECS task group for the task. The maximum length is 255 * characters.
*/ inline EcsParameters& WithGroup(Aws::String&& value) { SetGroup(std::move(value)); return *this;} /** *Specifies an ECS task group for the task. The maximum length is 255 * characters.
*/ inline EcsParameters& WithGroup(const char* value) { SetGroup(value); return *this;} /** *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.
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.
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.
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.
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.
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.
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.
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.
Specifies whether to enable 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 enable 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 enable 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 enable 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 EcsParameters& WithEnableECSManagedTags(bool value) { SetEnableECSManagedTags(value); return *this;} /** *Whether or not to enable the execute command functionality for the containers * in this task. If true, this enables execute command functionality on all * containers in the task.
*/ inline bool GetEnableExecuteCommand() const{ return m_enableExecuteCommand; } /** *Whether or not to enable the execute command functionality for the containers * in this task. If true, this enables execute command functionality on all * containers in the task.
*/ inline bool EnableExecuteCommandHasBeenSet() const { return m_enableExecuteCommandHasBeenSet; } /** *Whether or not to enable the execute command functionality for the containers * in this task. If true, this enables execute command functionality on all * containers in the task.
*/ inline void SetEnableExecuteCommand(bool value) { m_enableExecuteCommandHasBeenSet = true; m_enableExecuteCommand = value; } /** *Whether or not to enable the execute command functionality for the containers * in this task. If true, this enables execute command functionality on all * containers in the task.
*/ inline EcsParameters& WithEnableExecuteCommand(bool value) { SetEnableExecuteCommand(value); return *this;} /** *An array of placement constraint objects to use for the task. You can specify * up to 10 constraints per task (including constraints in the task definition and * those specified at runtime).
*/ inline const Aws::VectorAn array of placement constraint objects to use for the task. You can specify * up to 10 constraints per task (including constraints in the task definition and * those specified at runtime).
*/ inline bool PlacementConstraintsHasBeenSet() const { return m_placementConstraintsHasBeenSet; } /** *An array of placement constraint objects to use for the task. You can specify * up to 10 constraints per task (including constraints in the task definition and * those specified at runtime).
*/ inline void SetPlacementConstraints(const Aws::VectorAn array of placement constraint objects to use for the task. You can specify * up to 10 constraints per task (including constraints in the task definition and * those specified at runtime).
*/ inline void SetPlacementConstraints(Aws::VectorAn array of placement constraint objects to use for the task. You can specify * up to 10 constraints per task (including constraints in the task definition and * those specified at runtime).
*/ inline EcsParameters& WithPlacementConstraints(const Aws::VectorAn array of placement constraint objects to use for the task. You can specify * up to 10 constraints per task (including constraints in the task definition and * those specified at runtime).
*/ inline EcsParameters& WithPlacementConstraints(Aws::VectorAn array of placement constraint objects to use for the task. You can specify * up to 10 constraints per task (including constraints in the task definition and * those specified at runtime).
*/ inline EcsParameters& AddPlacementConstraints(const PlacementConstraint& value) { m_placementConstraintsHasBeenSet = true; m_placementConstraints.push_back(value); return *this; } /** *An array of placement constraint objects to use for the task. You can specify * up to 10 constraints per task (including constraints in the task definition and * those specified at runtime).
*/ inline EcsParameters& AddPlacementConstraints(PlacementConstraint&& value) { m_placementConstraintsHasBeenSet = true; m_placementConstraints.push_back(std::move(value)); return *this; } /** *The placement strategy objects to use for the task. You can specify a maximum * of five strategy rules per task.
*/ inline const Aws::VectorThe placement strategy objects to use for the task. You can specify a maximum * of five strategy rules per task.
*/ inline bool PlacementStrategyHasBeenSet() const { return m_placementStrategyHasBeenSet; } /** *The placement strategy objects to use for the task. You can specify a maximum * of five strategy rules per task.
*/ inline void SetPlacementStrategy(const Aws::VectorThe placement strategy objects to use for the task. You can specify a maximum * of five strategy rules per task.
*/ inline void SetPlacementStrategy(Aws::VectorThe placement strategy objects to use for the task. You can specify a maximum * of five strategy rules per task.
*/ inline EcsParameters& WithPlacementStrategy(const Aws::VectorThe placement strategy objects to use for the task. You can specify a maximum * of five strategy rules per task.
*/ inline EcsParameters& WithPlacementStrategy(Aws::VectorThe placement strategy objects to use for the task. You can specify a maximum * of five strategy rules per task.
*/ inline EcsParameters& AddPlacementStrategy(const PlacementStrategy& value) { m_placementStrategyHasBeenSet = true; m_placementStrategy.push_back(value); return *this; } /** *The placement strategy objects to use for the task. You can specify a maximum * of five strategy rules per task.
*/ inline EcsParameters& AddPlacementStrategy(PlacementStrategy&& value) { m_placementStrategyHasBeenSet = true; m_placementStrategy.push_back(std::move(value)); return *this; } /** *Specifies whether to propagate the tags from the task definition to the task. * If no value is specified, the tags are not 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.
*/ inline const PropagateTags& GetPropagateTags() const{ return m_propagateTags; } /** *Specifies whether to propagate the tags from the task definition to the task. * If no value is specified, the tags are not 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.
*/ inline bool PropagateTagsHasBeenSet() const { return m_propagateTagsHasBeenSet; } /** *Specifies whether to propagate the tags from the task definition to the task. * If no value is specified, the tags are not 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.
*/ inline void SetPropagateTags(const PropagateTags& value) { m_propagateTagsHasBeenSet = true; m_propagateTags = value; } /** *Specifies whether to propagate the tags from the task definition to the task. * If no value is specified, the tags are not 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.
*/ inline void SetPropagateTags(PropagateTags&& value) { m_propagateTagsHasBeenSet = true; m_propagateTags = std::move(value); } /** *Specifies whether to propagate the tags from the task definition to the task. * If no value is specified, the tags are not 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.
*/ inline EcsParameters& WithPropagateTags(const PropagateTags& value) { SetPropagateTags(value); return *this;} /** *Specifies whether to propagate the tags from the task definition to the task. * If no value is specified, the tags are not 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.
*/ inline EcsParameters& 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 EcsParameters& WithReferenceId(const Aws::String& value) { SetReferenceId(value); return *this;} /** *The reference ID to use for the task.
*/ inline EcsParameters& WithReferenceId(Aws::String&& value) { SetReferenceId(std::move(value)); return *this;} /** *The reference ID to use for the task.
*/ inline EcsParameters& WithReferenceId(const char* value) { SetReferenceId(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. To learn more, see RunTask * in the Amazon ECS API Reference.
*/ inline const Aws::VectorThe 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. To learn more, see RunTask * in the Amazon ECS API Reference.
*/ 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. To learn more, see RunTask * in the Amazon ECS API Reference.
*/ inline void SetTags(const Aws::VectorThe 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. To learn more, see RunTask * in the Amazon ECS API Reference.
*/ inline void SetTags(Aws::VectorThe 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. To learn more, see RunTask * in the Amazon ECS API Reference.
*/ inline EcsParameters& WithTags(const Aws::VectorThe 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. To learn more, see RunTask * in the Amazon ECS API Reference.
*/ inline EcsParameters& WithTags(Aws::VectorThe 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. To learn more, see RunTask * in the Amazon ECS API Reference.
*/ inline EcsParameters& 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. To learn more, see RunTask * in the Amazon ECS API Reference.
*/ inline EcsParameters& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } private: Aws::String m_taskDefinitionArn; bool m_taskDefinitionArnHasBeenSet = false; int m_taskCount; bool m_taskCountHasBeenSet = false; LaunchType m_launchType; bool m_launchTypeHasBeenSet = false; NetworkConfiguration m_networkConfiguration; bool m_networkConfigurationHasBeenSet = false; Aws::String m_platformVersion; bool m_platformVersionHasBeenSet = false; Aws::String m_group; bool m_groupHasBeenSet = false; Aws::Vector