This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
pxz-hos-client-cpp-module/support/aws-sdk-cpp-master/aws-cpp-sdk-ecs/include/aws/ecs/model/RunTaskRequest.h

1289 lines
70 KiB
C++

/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ecs/ECS_EXPORTS.h>
#include <aws/ecs/ECSRequest.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/ecs/model/LaunchType.h>
#include <aws/ecs/model/NetworkConfiguration.h>
#include <aws/ecs/model/TaskOverride.h>
#include <aws/ecs/model/PropagateTags.h>
#include <aws/ecs/model/CapacityProviderStrategyItem.h>
#include <aws/ecs/model/PlacementConstraint.h>
#include <aws/ecs/model/PlacementStrategy.h>
#include <aws/ecs/model/Tag.h>
#include <utility>
namespace Aws
{
namespace ECS
{
namespace Model
{
/**
*/
class AWS_ECS_API RunTaskRequest : public ECSRequest
{
public:
RunTaskRequest();
// 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 "RunTask"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The capacity provider strategy to use for the task.</p> <p>A capacity
* provider strategy consists of one or more capacity providers along with the
* <code>base</code> and <code>weight</code> to assign to them. A capacity provider
* must be associated with the cluster to be used in a capacity provider strategy.
* The <a>PutClusterCapacityProviders</a> API is used to associate a capacity
* provider with a cluster. Only capacity providers with an <code>ACTIVE</code> or
* <code>UPDATING</code> status can be used.</p> <p>If a
* <code>capacityProviderStrategy</code> is specified, the <code>launchType</code>
* parameter must be omitted. If no <code>capacityProviderStrategy</code> or
* <code>launchType</code> is specified, the
* <code>defaultCapacityProviderStrategy</code> for the cluster is used.</p> <p>If
* specifying a capacity provider that uses an Auto Scaling group, the capacity
* provider must already be created. New capacity providers can be created with the
* <a>CreateCapacityProvider</a> API operation.</p> <p>To use a AWS Fargate
* capacity provider, specify either the <code>FARGATE</code> or
* <code>FARGATE_SPOT</code> capacity providers. The AWS Fargate capacity providers
* are available to all accounts and only need to be associated with a cluster to
* be used.</p> <p>The <a>PutClusterCapacityProviders</a> API operation is used to
* update the list of available capacity providers for a cluster after the cluster
* is created.</p>
*/
inline const Aws::Vector<CapacityProviderStrategyItem>& GetCapacityProviderStrategy() const{ return m_capacityProviderStrategy; }
/**
* <p>The capacity provider strategy to use for the task.</p> <p>A capacity
* provider strategy consists of one or more capacity providers along with the
* <code>base</code> and <code>weight</code> to assign to them. A capacity provider
* must be associated with the cluster to be used in a capacity provider strategy.
* The <a>PutClusterCapacityProviders</a> API is used to associate a capacity
* provider with a cluster. Only capacity providers with an <code>ACTIVE</code> or
* <code>UPDATING</code> status can be used.</p> <p>If a
* <code>capacityProviderStrategy</code> is specified, the <code>launchType</code>
* parameter must be omitted. If no <code>capacityProviderStrategy</code> or
* <code>launchType</code> is specified, the
* <code>defaultCapacityProviderStrategy</code> for the cluster is used.</p> <p>If
* specifying a capacity provider that uses an Auto Scaling group, the capacity
* provider must already be created. New capacity providers can be created with the
* <a>CreateCapacityProvider</a> API operation.</p> <p>To use a AWS Fargate
* capacity provider, specify either the <code>FARGATE</code> or
* <code>FARGATE_SPOT</code> capacity providers. The AWS Fargate capacity providers
* are available to all accounts and only need to be associated with a cluster to
* be used.</p> <p>The <a>PutClusterCapacityProviders</a> API operation is used to
* update the list of available capacity providers for a cluster after the cluster
* is created.</p>
*/
inline bool CapacityProviderStrategyHasBeenSet() const { return m_capacityProviderStrategyHasBeenSet; }
/**
* <p>The capacity provider strategy to use for the task.</p> <p>A capacity
* provider strategy consists of one or more capacity providers along with the
* <code>base</code> and <code>weight</code> to assign to them. A capacity provider
* must be associated with the cluster to be used in a capacity provider strategy.
* The <a>PutClusterCapacityProviders</a> API is used to associate a capacity
* provider with a cluster. Only capacity providers with an <code>ACTIVE</code> or
* <code>UPDATING</code> status can be used.</p> <p>If a
* <code>capacityProviderStrategy</code> is specified, the <code>launchType</code>
* parameter must be omitted. If no <code>capacityProviderStrategy</code> or
* <code>launchType</code> is specified, the
* <code>defaultCapacityProviderStrategy</code> for the cluster is used.</p> <p>If
* specifying a capacity provider that uses an Auto Scaling group, the capacity
* provider must already be created. New capacity providers can be created with the
* <a>CreateCapacityProvider</a> API operation.</p> <p>To use a AWS Fargate
* capacity provider, specify either the <code>FARGATE</code> or
* <code>FARGATE_SPOT</code> capacity providers. The AWS Fargate capacity providers
* are available to all accounts and only need to be associated with a cluster to
* be used.</p> <p>The <a>PutClusterCapacityProviders</a> API operation is used to
* update the list of available capacity providers for a cluster after the cluster
* is created.</p>
*/
inline void SetCapacityProviderStrategy(const Aws::Vector<CapacityProviderStrategyItem>& value) { m_capacityProviderStrategyHasBeenSet = true; m_capacityProviderStrategy = value; }
/**
* <p>The capacity provider strategy to use for the task.</p> <p>A capacity
* provider strategy consists of one or more capacity providers along with the
* <code>base</code> and <code>weight</code> to assign to them. A capacity provider
* must be associated with the cluster to be used in a capacity provider strategy.
* The <a>PutClusterCapacityProviders</a> API is used to associate a capacity
* provider with a cluster. Only capacity providers with an <code>ACTIVE</code> or
* <code>UPDATING</code> status can be used.</p> <p>If a
* <code>capacityProviderStrategy</code> is specified, the <code>launchType</code>
* parameter must be omitted. If no <code>capacityProviderStrategy</code> or
* <code>launchType</code> is specified, the
* <code>defaultCapacityProviderStrategy</code> for the cluster is used.</p> <p>If
* specifying a capacity provider that uses an Auto Scaling group, the capacity
* provider must already be created. New capacity providers can be created with the
* <a>CreateCapacityProvider</a> API operation.</p> <p>To use a AWS Fargate
* capacity provider, specify either the <code>FARGATE</code> or
* <code>FARGATE_SPOT</code> capacity providers. The AWS Fargate capacity providers
* are available to all accounts and only need to be associated with a cluster to
* be used.</p> <p>The <a>PutClusterCapacityProviders</a> API operation is used to
* update the list of available capacity providers for a cluster after the cluster
* is created.</p>
*/
inline void SetCapacityProviderStrategy(Aws::Vector<CapacityProviderStrategyItem>&& value) { m_capacityProviderStrategyHasBeenSet = true; m_capacityProviderStrategy = std::move(value); }
/**
* <p>The capacity provider strategy to use for the task.</p> <p>A capacity
* provider strategy consists of one or more capacity providers along with the
* <code>base</code> and <code>weight</code> to assign to them. A capacity provider
* must be associated with the cluster to be used in a capacity provider strategy.
* The <a>PutClusterCapacityProviders</a> API is used to associate a capacity
* provider with a cluster. Only capacity providers with an <code>ACTIVE</code> or
* <code>UPDATING</code> status can be used.</p> <p>If a
* <code>capacityProviderStrategy</code> is specified, the <code>launchType</code>
* parameter must be omitted. If no <code>capacityProviderStrategy</code> or
* <code>launchType</code> is specified, the
* <code>defaultCapacityProviderStrategy</code> for the cluster is used.</p> <p>If
* specifying a capacity provider that uses an Auto Scaling group, the capacity
* provider must already be created. New capacity providers can be created with the
* <a>CreateCapacityProvider</a> API operation.</p> <p>To use a AWS Fargate
* capacity provider, specify either the <code>FARGATE</code> or
* <code>FARGATE_SPOT</code> capacity providers. The AWS Fargate capacity providers
* are available to all accounts and only need to be associated with a cluster to
* be used.</p> <p>The <a>PutClusterCapacityProviders</a> API operation is used to
* update the list of available capacity providers for a cluster after the cluster
* is created.</p>
*/
inline RunTaskRequest& WithCapacityProviderStrategy(const Aws::Vector<CapacityProviderStrategyItem>& value) { SetCapacityProviderStrategy(value); return *this;}
/**
* <p>The capacity provider strategy to use for the task.</p> <p>A capacity
* provider strategy consists of one or more capacity providers along with the
* <code>base</code> and <code>weight</code> to assign to them. A capacity provider
* must be associated with the cluster to be used in a capacity provider strategy.
* The <a>PutClusterCapacityProviders</a> API is used to associate a capacity
* provider with a cluster. Only capacity providers with an <code>ACTIVE</code> or
* <code>UPDATING</code> status can be used.</p> <p>If a
* <code>capacityProviderStrategy</code> is specified, the <code>launchType</code>
* parameter must be omitted. If no <code>capacityProviderStrategy</code> or
* <code>launchType</code> is specified, the
* <code>defaultCapacityProviderStrategy</code> for the cluster is used.</p> <p>If
* specifying a capacity provider that uses an Auto Scaling group, the capacity
* provider must already be created. New capacity providers can be created with the
* <a>CreateCapacityProvider</a> API operation.</p> <p>To use a AWS Fargate
* capacity provider, specify either the <code>FARGATE</code> or
* <code>FARGATE_SPOT</code> capacity providers. The AWS Fargate capacity providers
* are available to all accounts and only need to be associated with a cluster to
* be used.</p> <p>The <a>PutClusterCapacityProviders</a> API operation is used to
* update the list of available capacity providers for a cluster after the cluster
* is created.</p>
*/
inline RunTaskRequest& WithCapacityProviderStrategy(Aws::Vector<CapacityProviderStrategyItem>&& value) { SetCapacityProviderStrategy(std::move(value)); return *this;}
/**
* <p>The capacity provider strategy to use for the task.</p> <p>A capacity
* provider strategy consists of one or more capacity providers along with the
* <code>base</code> and <code>weight</code> to assign to them. A capacity provider
* must be associated with the cluster to be used in a capacity provider strategy.
* The <a>PutClusterCapacityProviders</a> API is used to associate a capacity
* provider with a cluster. Only capacity providers with an <code>ACTIVE</code> or
* <code>UPDATING</code> status can be used.</p> <p>If a
* <code>capacityProviderStrategy</code> is specified, the <code>launchType</code>
* parameter must be omitted. If no <code>capacityProviderStrategy</code> or
* <code>launchType</code> is specified, the
* <code>defaultCapacityProviderStrategy</code> for the cluster is used.</p> <p>If
* specifying a capacity provider that uses an Auto Scaling group, the capacity
* provider must already be created. New capacity providers can be created with the
* <a>CreateCapacityProvider</a> API operation.</p> <p>To use a AWS Fargate
* capacity provider, specify either the <code>FARGATE</code> or
* <code>FARGATE_SPOT</code> capacity providers. The AWS Fargate capacity providers
* are available to all accounts and only need to be associated with a cluster to
* be used.</p> <p>The <a>PutClusterCapacityProviders</a> API operation is used to
* update the list of available capacity providers for a cluster after the cluster
* is created.</p>
*/
inline RunTaskRequest& AddCapacityProviderStrategy(const CapacityProviderStrategyItem& value) { m_capacityProviderStrategyHasBeenSet = true; m_capacityProviderStrategy.push_back(value); return *this; }
/**
* <p>The capacity provider strategy to use for the task.</p> <p>A capacity
* provider strategy consists of one or more capacity providers along with the
* <code>base</code> and <code>weight</code> to assign to them. A capacity provider
* must be associated with the cluster to be used in a capacity provider strategy.
* The <a>PutClusterCapacityProviders</a> API is used to associate a capacity
* provider with a cluster. Only capacity providers with an <code>ACTIVE</code> or
* <code>UPDATING</code> status can be used.</p> <p>If a
* <code>capacityProviderStrategy</code> is specified, the <code>launchType</code>
* parameter must be omitted. If no <code>capacityProviderStrategy</code> or
* <code>launchType</code> is specified, the
* <code>defaultCapacityProviderStrategy</code> for the cluster is used.</p> <p>If
* specifying a capacity provider that uses an Auto Scaling group, the capacity
* provider must already be created. New capacity providers can be created with the
* <a>CreateCapacityProvider</a> API operation.</p> <p>To use a AWS Fargate
* capacity provider, specify either the <code>FARGATE</code> or
* <code>FARGATE_SPOT</code> capacity providers. The AWS Fargate capacity providers
* are available to all accounts and only need to be associated with a cluster to
* be used.</p> <p>The <a>PutClusterCapacityProviders</a> API operation is used to
* update the list of available capacity providers for a cluster after the cluster
* is created.</p>
*/
inline RunTaskRequest& AddCapacityProviderStrategy(CapacityProviderStrategyItem&& value) { m_capacityProviderStrategyHasBeenSet = true; m_capacityProviderStrategy.push_back(std::move(value)); return *this; }
/**
* <p>The short name or full Amazon Resource Name (ARN) of the cluster on which to
* run your task. If you do not specify a cluster, the default cluster is
* assumed.</p>
*/
inline const Aws::String& GetCluster() const{ return m_cluster; }
/**
* <p>The short name or full Amazon Resource Name (ARN) of the cluster on which to
* run your task. If you do not specify a cluster, the default cluster is
* assumed.</p>
*/
inline bool ClusterHasBeenSet() const { return m_clusterHasBeenSet; }
/**
* <p>The short name or full Amazon Resource Name (ARN) of the cluster on which to
* run your task. If you do not specify a cluster, the default cluster is
* assumed.</p>
*/
inline void SetCluster(const Aws::String& value) { m_clusterHasBeenSet = true; m_cluster = value; }
/**
* <p>The short name or full Amazon Resource Name (ARN) of the cluster on which to
* run your task. If you do not specify a cluster, the default cluster is
* assumed.</p>
*/
inline void SetCluster(Aws::String&& value) { m_clusterHasBeenSet = true; m_cluster = std::move(value); }
/**
* <p>The short name or full Amazon Resource Name (ARN) of the cluster on which to
* run your task. If you do not specify a cluster, the default cluster is
* assumed.</p>
*/
inline void SetCluster(const char* value) { m_clusterHasBeenSet = true; m_cluster.assign(value); }
/**
* <p>The short name or full Amazon Resource Name (ARN) of the cluster on which to
* run your task. If you do not specify a cluster, the default cluster is
* assumed.</p>
*/
inline RunTaskRequest& WithCluster(const Aws::String& value) { SetCluster(value); return *this;}
/**
* <p>The short name or full Amazon Resource Name (ARN) of the cluster on which to
* run your task. If you do not specify a cluster, the default cluster is
* assumed.</p>
*/
inline RunTaskRequest& WithCluster(Aws::String&& value) { SetCluster(std::move(value)); return *this;}
/**
* <p>The short name or full Amazon Resource Name (ARN) of the cluster on which to
* run your task. If you do not specify a cluster, the default cluster is
* assumed.</p>
*/
inline RunTaskRequest& WithCluster(const char* value) { SetCluster(value); return *this;}
/**
* <p>The number of instantiations of the specified task to place on your cluster.
* You can specify up to 10 tasks per call.</p>
*/
inline int GetCount() const{ return m_count; }
/**
* <p>The number of instantiations of the specified task to place on your cluster.
* You can specify up to 10 tasks per call.</p>
*/
inline bool CountHasBeenSet() const { return m_countHasBeenSet; }
/**
* <p>The number of instantiations of the specified task to place on your cluster.
* You can specify up to 10 tasks per call.</p>
*/
inline void SetCount(int value) { m_countHasBeenSet = true; m_count = value; }
/**
* <p>The number of instantiations of the specified task to place on your cluster.
* You can specify up to 10 tasks per call.</p>
*/
inline RunTaskRequest& WithCount(int value) { SetCount(value); return *this;}
/**
* <p>Specifies whether to enable Amazon ECS managed tags for the task. For more
* information, see <a
* href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html">Tagging
* Your Amazon ECS Resources</a> in the <i>Amazon Elastic Container Service
* Developer Guide</i>.</p>
*/
inline bool GetEnableECSManagedTags() const{ return m_enableECSManagedTags; }
/**
* <p>Specifies whether to enable Amazon ECS managed tags for the task. For more
* information, see <a
* href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html">Tagging
* Your Amazon ECS Resources</a> in the <i>Amazon Elastic Container Service
* Developer Guide</i>.</p>
*/
inline bool EnableECSManagedTagsHasBeenSet() const { return m_enableECSManagedTagsHasBeenSet; }
/**
* <p>Specifies whether to enable Amazon ECS managed tags for the task. For more
* information, see <a
* href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html">Tagging
* Your Amazon ECS Resources</a> in the <i>Amazon Elastic Container Service
* Developer Guide</i>.</p>
*/
inline void SetEnableECSManagedTags(bool value) { m_enableECSManagedTagsHasBeenSet = true; m_enableECSManagedTags = value; }
/**
* <p>Specifies whether to enable Amazon ECS managed tags for the task. For more
* information, see <a
* href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html">Tagging
* Your Amazon ECS Resources</a> in the <i>Amazon Elastic Container Service
* Developer Guide</i>.</p>
*/
inline RunTaskRequest& WithEnableECSManagedTags(bool value) { SetEnableECSManagedTags(value); return *this;}
/**
* <p>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).</p>
*/
inline const Aws::String& GetGroup() const{ return m_group; }
/**
* <p>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).</p>
*/
inline bool GroupHasBeenSet() const { return m_groupHasBeenSet; }
/**
* <p>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).</p>
*/
inline void SetGroup(const Aws::String& value) { m_groupHasBeenSet = true; m_group = value; }
/**
* <p>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).</p>
*/
inline void SetGroup(Aws::String&& value) { m_groupHasBeenSet = true; m_group = std::move(value); }
/**
* <p>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).</p>
*/
inline void SetGroup(const char* value) { m_groupHasBeenSet = true; m_group.assign(value); }
/**
* <p>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).</p>
*/
inline RunTaskRequest& WithGroup(const Aws::String& value) { SetGroup(value); return *this;}
/**
* <p>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).</p>
*/
inline RunTaskRequest& WithGroup(Aws::String&& value) { SetGroup(std::move(value)); return *this;}
/**
* <p>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).</p>
*/
inline RunTaskRequest& WithGroup(const char* value) { SetGroup(value); return *this;}
/**
* <p>The launch type on which to run your task. For more information, see <a
* href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html">Amazon
* ECS Launch Types</a> in the <i>Amazon Elastic Container Service Developer
* Guide</i>.</p> <p>If a <code>launchType</code> is specified, the
* <code>capacityProviderStrategy</code> parameter must be omitted.</p>
*/
inline const LaunchType& GetLaunchType() const{ return m_launchType; }
/**
* <p>The launch type on which to run your task. For more information, see <a
* href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html">Amazon
* ECS Launch Types</a> in the <i>Amazon Elastic Container Service Developer
* Guide</i>.</p> <p>If a <code>launchType</code> is specified, the
* <code>capacityProviderStrategy</code> parameter must be omitted.</p>
*/
inline bool LaunchTypeHasBeenSet() const { return m_launchTypeHasBeenSet; }
/**
* <p>The launch type on which to run your task. For more information, see <a
* href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html">Amazon
* ECS Launch Types</a> in the <i>Amazon Elastic Container Service Developer
* Guide</i>.</p> <p>If a <code>launchType</code> is specified, the
* <code>capacityProviderStrategy</code> parameter must be omitted.</p>
*/
inline void SetLaunchType(const LaunchType& value) { m_launchTypeHasBeenSet = true; m_launchType = value; }
/**
* <p>The launch type on which to run your task. For more information, see <a
* href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html">Amazon
* ECS Launch Types</a> in the <i>Amazon Elastic Container Service Developer
* Guide</i>.</p> <p>If a <code>launchType</code> is specified, the
* <code>capacityProviderStrategy</code> parameter must be omitted.</p>
*/
inline void SetLaunchType(LaunchType&& value) { m_launchTypeHasBeenSet = true; m_launchType = std::move(value); }
/**
* <p>The launch type on which to run your task. For more information, see <a
* href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html">Amazon
* ECS Launch Types</a> in the <i>Amazon Elastic Container Service Developer
* Guide</i>.</p> <p>If a <code>launchType</code> is specified, the
* <code>capacityProviderStrategy</code> parameter must be omitted.</p>
*/
inline RunTaskRequest& WithLaunchType(const LaunchType& value) { SetLaunchType(value); return *this;}
/**
* <p>The launch type on which to run your task. For more information, see <a
* href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html">Amazon
* ECS Launch Types</a> in the <i>Amazon Elastic Container Service Developer
* Guide</i>.</p> <p>If a <code>launchType</code> is specified, the
* <code>capacityProviderStrategy</code> parameter must be omitted.</p>
*/
inline RunTaskRequest& WithLaunchType(LaunchType&& value) { SetLaunchType(std::move(value)); return *this;}
/**
* <p>The network configuration for the task. This parameter is required for task
* definitions that use the <code>awsvpc</code> network mode to receive their own
* elastic network interface, and it is not supported for other network modes. For
* more information, see <a
* href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html">Task
* Networking</a> in the <i>Amazon Elastic Container Service Developer
* Guide</i>.</p>
*/
inline const NetworkConfiguration& GetNetworkConfiguration() const{ return m_networkConfiguration; }
/**
* <p>The network configuration for the task. This parameter is required for task
* definitions that use the <code>awsvpc</code> network mode to receive their own
* elastic network interface, and it is not supported for other network modes. For
* more information, see <a
* href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html">Task
* Networking</a> in the <i>Amazon Elastic Container Service Developer
* Guide</i>.</p>
*/
inline bool NetworkConfigurationHasBeenSet() const { return m_networkConfigurationHasBeenSet; }
/**
* <p>The network configuration for the task. This parameter is required for task
* definitions that use the <code>awsvpc</code> network mode to receive their own
* elastic network interface, and it is not supported for other network modes. For
* more information, see <a
* href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html">Task
* Networking</a> in the <i>Amazon Elastic Container Service Developer
* Guide</i>.</p>
*/
inline void SetNetworkConfiguration(const NetworkConfiguration& value) { m_networkConfigurationHasBeenSet = true; m_networkConfiguration = value; }
/**
* <p>The network configuration for the task. This parameter is required for task
* definitions that use the <code>awsvpc</code> network mode to receive their own
* elastic network interface, and it is not supported for other network modes. For
* more information, see <a
* href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html">Task
* Networking</a> in the <i>Amazon Elastic Container Service Developer
* Guide</i>.</p>
*/
inline void SetNetworkConfiguration(NetworkConfiguration&& value) { m_networkConfigurationHasBeenSet = true; m_networkConfiguration = std::move(value); }
/**
* <p>The network configuration for the task. This parameter is required for task
* definitions that use the <code>awsvpc</code> network mode to receive their own
* elastic network interface, and it is not supported for other network modes. For
* more information, see <a
* href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html">Task
* Networking</a> in the <i>Amazon Elastic Container Service Developer
* Guide</i>.</p>
*/
inline RunTaskRequest& WithNetworkConfiguration(const NetworkConfiguration& value) { SetNetworkConfiguration(value); return *this;}
/**
* <p>The network configuration for the task. This parameter is required for task
* definitions that use the <code>awsvpc</code> network mode to receive their own
* elastic network interface, and it is not supported for other network modes. For
* more information, see <a
* href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html">Task
* Networking</a> in the <i>Amazon Elastic Container Service Developer
* Guide</i>.</p>
*/
inline RunTaskRequest& WithNetworkConfiguration(NetworkConfiguration&& value) { SetNetworkConfiguration(std::move(value)); return *this;}
/**
* <p>A list of container overrides in JSON format that specify the name of a
* container in the specified task definition and the overrides it should receive.
* You can override the default command for a container (that is specified in the
* task definition or Docker image) with a <code>command</code> 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 <code>environment</code> override.</p> <p>A total of 8192
* characters are allowed for overrides. This limit includes the JSON formatting
* characters of the override structure.</p>
*/
inline const TaskOverride& GetOverrides() const{ return m_overrides; }
/**
* <p>A list of container overrides in JSON format that specify the name of a
* container in the specified task definition and the overrides it should receive.
* You can override the default command for a container (that is specified in the
* task definition or Docker image) with a <code>command</code> 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 <code>environment</code> override.</p> <p>A total of 8192
* characters are allowed for overrides. This limit includes the JSON formatting
* characters of the override structure.</p>
*/
inline bool OverridesHasBeenSet() const { return m_overridesHasBeenSet; }
/**
* <p>A list of container overrides in JSON format that specify the name of a
* container in the specified task definition and the overrides it should receive.
* You can override the default command for a container (that is specified in the
* task definition or Docker image) with a <code>command</code> 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 <code>environment</code> override.</p> <p>A total of 8192
* characters are allowed for overrides. This limit includes the JSON formatting
* characters of the override structure.</p>
*/
inline void SetOverrides(const TaskOverride& value) { m_overridesHasBeenSet = true; m_overrides = value; }
/**
* <p>A list of container overrides in JSON format that specify the name of a
* container in the specified task definition and the overrides it should receive.
* You can override the default command for a container (that is specified in the
* task definition or Docker image) with a <code>command</code> 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 <code>environment</code> override.</p> <p>A total of 8192
* characters are allowed for overrides. This limit includes the JSON formatting
* characters of the override structure.</p>
*/
inline void SetOverrides(TaskOverride&& value) { m_overridesHasBeenSet = true; m_overrides = std::move(value); }
/**
* <p>A list of container overrides in JSON format that specify the name of a
* container in the specified task definition and the overrides it should receive.
* You can override the default command for a container (that is specified in the
* task definition or Docker image) with a <code>command</code> 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 <code>environment</code> override.</p> <p>A total of 8192
* characters are allowed for overrides. This limit includes the JSON formatting
* characters of the override structure.</p>
*/
inline RunTaskRequest& WithOverrides(const TaskOverride& value) { SetOverrides(value); return *this;}
/**
* <p>A list of container overrides in JSON format that specify the name of a
* container in the specified task definition and the overrides it should receive.
* You can override the default command for a container (that is specified in the
* task definition or Docker image) with a <code>command</code> 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 <code>environment</code> override.</p> <p>A total of 8192
* characters are allowed for overrides. This limit includes the JSON formatting
* characters of the override structure.</p>
*/
inline RunTaskRequest& WithOverrides(TaskOverride&& value) { SetOverrides(std::move(value)); return *this;}
/**
* <p>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).</p>
*/
inline const Aws::Vector<PlacementConstraint>& GetPlacementConstraints() const{ return m_placementConstraints; }
/**
* <p>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).</p>
*/
inline bool PlacementConstraintsHasBeenSet() const { return m_placementConstraintsHasBeenSet; }
/**
* <p>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).</p>
*/
inline void SetPlacementConstraints(const Aws::Vector<PlacementConstraint>& value) { m_placementConstraintsHasBeenSet = true; m_placementConstraints = value; }
/**
* <p>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).</p>
*/
inline void SetPlacementConstraints(Aws::Vector<PlacementConstraint>&& value) { m_placementConstraintsHasBeenSet = true; m_placementConstraints = std::move(value); }
/**
* <p>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).</p>
*/
inline RunTaskRequest& WithPlacementConstraints(const Aws::Vector<PlacementConstraint>& value) { SetPlacementConstraints(value); return *this;}
/**
* <p>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).</p>
*/
inline RunTaskRequest& WithPlacementConstraints(Aws::Vector<PlacementConstraint>&& value) { SetPlacementConstraints(std::move(value)); return *this;}
/**
* <p>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).</p>
*/
inline RunTaskRequest& AddPlacementConstraints(const PlacementConstraint& value) { m_placementConstraintsHasBeenSet = true; m_placementConstraints.push_back(value); return *this; }
/**
* <p>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).</p>
*/
inline RunTaskRequest& AddPlacementConstraints(PlacementConstraint&& value) { m_placementConstraintsHasBeenSet = true; m_placementConstraints.push_back(std::move(value)); return *this; }
/**
* <p>The placement strategy objects to use for the task. You can specify a maximum
* of five strategy rules per task.</p>
*/
inline const Aws::Vector<PlacementStrategy>& GetPlacementStrategy() const{ return m_placementStrategy; }
/**
* <p>The placement strategy objects to use for the task. You can specify a maximum
* of five strategy rules per task.</p>
*/
inline bool PlacementStrategyHasBeenSet() const { return m_placementStrategyHasBeenSet; }
/**
* <p>The placement strategy objects to use for the task. You can specify a maximum
* of five strategy rules per task.</p>
*/
inline void SetPlacementStrategy(const Aws::Vector<PlacementStrategy>& value) { m_placementStrategyHasBeenSet = true; m_placementStrategy = value; }
/**
* <p>The placement strategy objects to use for the task. You can specify a maximum
* of five strategy rules per task.</p>
*/
inline void SetPlacementStrategy(Aws::Vector<PlacementStrategy>&& value) { m_placementStrategyHasBeenSet = true; m_placementStrategy = std::move(value); }
/**
* <p>The placement strategy objects to use for the task. You can specify a maximum
* of five strategy rules per task.</p>
*/
inline RunTaskRequest& WithPlacementStrategy(const Aws::Vector<PlacementStrategy>& value) { SetPlacementStrategy(value); return *this;}
/**
* <p>The placement strategy objects to use for the task. You can specify a maximum
* of five strategy rules per task.</p>
*/
inline RunTaskRequest& WithPlacementStrategy(Aws::Vector<PlacementStrategy>&& value) { SetPlacementStrategy(std::move(value)); return *this;}
/**
* <p>The placement strategy objects to use for the task. You can specify a maximum
* of five strategy rules per task.</p>
*/
inline RunTaskRequest& AddPlacementStrategy(const PlacementStrategy& value) { m_placementStrategyHasBeenSet = true; m_placementStrategy.push_back(value); return *this; }
/**
* <p>The placement strategy objects to use for the task. You can specify a maximum
* of five strategy rules per task.</p>
*/
inline RunTaskRequest& AddPlacementStrategy(PlacementStrategy&& value) { m_placementStrategyHasBeenSet = true; m_placementStrategy.push_back(std::move(value)); return *this; }
/**
* <p>The platform version the task should run. A platform version is only
* specified for tasks using the Fargate launch type. If one is not specified, the
* <code>LATEST</code> platform version is used by default. For more information,
* see <a
* href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html">AWS
* Fargate Platform Versions</a> in the <i>Amazon Elastic Container Service
* Developer Guide</i>.</p>
*/
inline const Aws::String& GetPlatformVersion() const{ return m_platformVersion; }
/**
* <p>The platform version the task should run. A platform version is only
* specified for tasks using the Fargate launch type. If one is not specified, the
* <code>LATEST</code> platform version is used by default. For more information,
* see <a
* href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html">AWS
* Fargate Platform Versions</a> in the <i>Amazon Elastic Container Service
* Developer Guide</i>.</p>
*/
inline bool PlatformVersionHasBeenSet() const { return m_platformVersionHasBeenSet; }
/**
* <p>The platform version the task should run. A platform version is only
* specified for tasks using the Fargate launch type. If one is not specified, the
* <code>LATEST</code> platform version is used by default. For more information,
* see <a
* href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html">AWS
* Fargate Platform Versions</a> in the <i>Amazon Elastic Container Service
* Developer Guide</i>.</p>
*/
inline void SetPlatformVersion(const Aws::String& value) { m_platformVersionHasBeenSet = true; m_platformVersion = value; }
/**
* <p>The platform version the task should run. A platform version is only
* specified for tasks using the Fargate launch type. If one is not specified, the
* <code>LATEST</code> platform version is used by default. For more information,
* see <a
* href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html">AWS
* Fargate Platform Versions</a> in the <i>Amazon Elastic Container Service
* Developer Guide</i>.</p>
*/
inline void SetPlatformVersion(Aws::String&& value) { m_platformVersionHasBeenSet = true; m_platformVersion = std::move(value); }
/**
* <p>The platform version the task should run. A platform version is only
* specified for tasks using the Fargate launch type. If one is not specified, the
* <code>LATEST</code> platform version is used by default. For more information,
* see <a
* href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html">AWS
* Fargate Platform Versions</a> in the <i>Amazon Elastic Container Service
* Developer Guide</i>.</p>
*/
inline void SetPlatformVersion(const char* value) { m_platformVersionHasBeenSet = true; m_platformVersion.assign(value); }
/**
* <p>The platform version the task should run. A platform version is only
* specified for tasks using the Fargate launch type. If one is not specified, the
* <code>LATEST</code> platform version is used by default. For more information,
* see <a
* href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html">AWS
* Fargate Platform Versions</a> in the <i>Amazon Elastic Container Service
* Developer Guide</i>.</p>
*/
inline RunTaskRequest& WithPlatformVersion(const Aws::String& value) { SetPlatformVersion(value); return *this;}
/**
* <p>The platform version the task should run. A platform version is only
* specified for tasks using the Fargate launch type. If one is not specified, the
* <code>LATEST</code> platform version is used by default. For more information,
* see <a
* href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html">AWS
* Fargate Platform Versions</a> in the <i>Amazon Elastic Container Service
* Developer Guide</i>.</p>
*/
inline RunTaskRequest& WithPlatformVersion(Aws::String&& value) { SetPlatformVersion(std::move(value)); return *this;}
/**
* <p>The platform version the task should run. A platform version is only
* specified for tasks using the Fargate launch type. If one is not specified, the
* <code>LATEST</code> platform version is used by default. For more information,
* see <a
* href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html">AWS
* Fargate Platform Versions</a> in the <i>Amazon Elastic Container Service
* Developer Guide</i>.</p>
*/
inline RunTaskRequest& WithPlatformVersion(const char* value) { SetPlatformVersion(value); return *this;}
/**
* <p>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 <a>TagResource</a> API action.</p> <p>An error will be
* received if you specify the <code>SERVICE</code> option when running a task.</p>
*
*/
inline const PropagateTags& GetPropagateTags() const{ return m_propagateTags; }
/**
* <p>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 <a>TagResource</a> API action.</p> <p>An error will be
* received if you specify the <code>SERVICE</code> option when running a task.</p>
*
*/
inline bool PropagateTagsHasBeenSet() const { return m_propagateTagsHasBeenSet; }
/**
* <p>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 <a>TagResource</a> API action.</p> <p>An error will be
* received if you specify the <code>SERVICE</code> option when running a task.</p>
*
*/
inline void SetPropagateTags(const PropagateTags& value) { m_propagateTagsHasBeenSet = true; m_propagateTags = value; }
/**
* <p>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 <a>TagResource</a> API action.</p> <p>An error will be
* received if you specify the <code>SERVICE</code> option when running a task.</p>
*
*/
inline void SetPropagateTags(PropagateTags&& value) { m_propagateTagsHasBeenSet = true; m_propagateTags = std::move(value); }
/**
* <p>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 <a>TagResource</a> API action.</p> <p>An error will be
* received if you specify the <code>SERVICE</code> option when running a task.</p>
*
*/
inline RunTaskRequest& WithPropagateTags(const PropagateTags& value) { SetPropagateTags(value); return *this;}
/**
* <p>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 <a>TagResource</a> API action.</p> <p>An error will be
* received if you specify the <code>SERVICE</code> option when running a task.</p>
*
*/
inline RunTaskRequest& WithPropagateTags(PropagateTags&& value) { SetPropagateTags(std::move(value)); return *this;}
/**
* <p>The reference ID to use for the task.</p>
*/
inline const Aws::String& GetReferenceId() const{ return m_referenceId; }
/**
* <p>The reference ID to use for the task.</p>
*/
inline bool ReferenceIdHasBeenSet() const { return m_referenceIdHasBeenSet; }
/**
* <p>The reference ID to use for the task.</p>
*/
inline void SetReferenceId(const Aws::String& value) { m_referenceIdHasBeenSet = true; m_referenceId = value; }
/**
* <p>The reference ID to use for the task.</p>
*/
inline void SetReferenceId(Aws::String&& value) { m_referenceIdHasBeenSet = true; m_referenceId = std::move(value); }
/**
* <p>The reference ID to use for the task.</p>
*/
inline void SetReferenceId(const char* value) { m_referenceIdHasBeenSet = true; m_referenceId.assign(value); }
/**
* <p>The reference ID to use for the task.</p>
*/
inline RunTaskRequest& WithReferenceId(const Aws::String& value) { SetReferenceId(value); return *this;}
/**
* <p>The reference ID to use for the task.</p>
*/
inline RunTaskRequest& WithReferenceId(Aws::String&& value) { SetReferenceId(std::move(value)); return *this;}
/**
* <p>The reference ID to use for the task.</p>
*/
inline RunTaskRequest& WithReferenceId(const char* value) { SetReferenceId(value); return *this;}
/**
* <p>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 <code>startedBy</code>
* parameter. You can then identify which tasks belong to that job by filtering the
* results of a <a>ListTasks</a> call with the <code>startedBy</code> value. Up to
* 36 letters (uppercase and lowercase), numbers, hyphens, and underscores are
* allowed.</p> <p>If a task is started by an Amazon ECS service, then the
* <code>startedBy</code> parameter contains the deployment ID of the service that
* starts it.</p>
*/
inline const Aws::String& GetStartedBy() const{ return m_startedBy; }
/**
* <p>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 <code>startedBy</code>
* parameter. You can then identify which tasks belong to that job by filtering the
* results of a <a>ListTasks</a> call with the <code>startedBy</code> value. Up to
* 36 letters (uppercase and lowercase), numbers, hyphens, and underscores are
* allowed.</p> <p>If a task is started by an Amazon ECS service, then the
* <code>startedBy</code> parameter contains the deployment ID of the service that
* starts it.</p>
*/
inline bool StartedByHasBeenSet() const { return m_startedByHasBeenSet; }
/**
* <p>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 <code>startedBy</code>
* parameter. You can then identify which tasks belong to that job by filtering the
* results of a <a>ListTasks</a> call with the <code>startedBy</code> value. Up to
* 36 letters (uppercase and lowercase), numbers, hyphens, and underscores are
* allowed.</p> <p>If a task is started by an Amazon ECS service, then the
* <code>startedBy</code> parameter contains the deployment ID of the service that
* starts it.</p>
*/
inline void SetStartedBy(const Aws::String& value) { m_startedByHasBeenSet = true; m_startedBy = value; }
/**
* <p>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 <code>startedBy</code>
* parameter. You can then identify which tasks belong to that job by filtering the
* results of a <a>ListTasks</a> call with the <code>startedBy</code> value. Up to
* 36 letters (uppercase and lowercase), numbers, hyphens, and underscores are
* allowed.</p> <p>If a task is started by an Amazon ECS service, then the
* <code>startedBy</code> parameter contains the deployment ID of the service that
* starts it.</p>
*/
inline void SetStartedBy(Aws::String&& value) { m_startedByHasBeenSet = true; m_startedBy = std::move(value); }
/**
* <p>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 <code>startedBy</code>
* parameter. You can then identify which tasks belong to that job by filtering the
* results of a <a>ListTasks</a> call with the <code>startedBy</code> value. Up to
* 36 letters (uppercase and lowercase), numbers, hyphens, and underscores are
* allowed.</p> <p>If a task is started by an Amazon ECS service, then the
* <code>startedBy</code> parameter contains the deployment ID of the service that
* starts it.</p>
*/
inline void SetStartedBy(const char* value) { m_startedByHasBeenSet = true; m_startedBy.assign(value); }
/**
* <p>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 <code>startedBy</code>
* parameter. You can then identify which tasks belong to that job by filtering the
* results of a <a>ListTasks</a> call with the <code>startedBy</code> value. Up to
* 36 letters (uppercase and lowercase), numbers, hyphens, and underscores are
* allowed.</p> <p>If a task is started by an Amazon ECS service, then the
* <code>startedBy</code> parameter contains the deployment ID of the service that
* starts it.</p>
*/
inline RunTaskRequest& WithStartedBy(const Aws::String& value) { SetStartedBy(value); return *this;}
/**
* <p>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 <code>startedBy</code>
* parameter. You can then identify which tasks belong to that job by filtering the
* results of a <a>ListTasks</a> call with the <code>startedBy</code> value. Up to
* 36 letters (uppercase and lowercase), numbers, hyphens, and underscores are
* allowed.</p> <p>If a task is started by an Amazon ECS service, then the
* <code>startedBy</code> parameter contains the deployment ID of the service that
* starts it.</p>
*/
inline RunTaskRequest& WithStartedBy(Aws::String&& value) { SetStartedBy(std::move(value)); return *this;}
/**
* <p>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 <code>startedBy</code>
* parameter. You can then identify which tasks belong to that job by filtering the
* results of a <a>ListTasks</a> call with the <code>startedBy</code> value. Up to
* 36 letters (uppercase and lowercase), numbers, hyphens, and underscores are
* allowed.</p> <p>If a task is started by an Amazon ECS service, then the
* <code>startedBy</code> parameter contains the deployment ID of the service that
* starts it.</p>
*/
inline RunTaskRequest& WithStartedBy(const char* value) { SetStartedBy(value); return *this;}
/**
* <p>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.</p> <p>The following basic restrictions apply to tags:</p> <ul> <li>
* <p>Maximum number of tags per resource - 50</p> </li> <li> <p>For each resource,
* each tag key must be unique, and each tag key can have only one value.</p> </li>
* <li> <p>Maximum key length - 128 Unicode characters in UTF-8</p> </li> <li>
* <p>Maximum value length - 256 Unicode characters in UTF-8</p> </li> <li> <p>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: + - = . _ : / @.</p> </li> <li> <p>Tag keys and values
* are case-sensitive.</p> </li> <li> <p>Do not use <code>aws:</code>,
* <code>AWS:</code>, or any upper or lowercase combination of such as a prefix for
* either keys or values as it is reserved for AWS 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.</p> </li> </ul>
*/
inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
/**
* <p>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.</p> <p>The following basic restrictions apply to tags:</p> <ul> <li>
* <p>Maximum number of tags per resource - 50</p> </li> <li> <p>For each resource,
* each tag key must be unique, and each tag key can have only one value.</p> </li>
* <li> <p>Maximum key length - 128 Unicode characters in UTF-8</p> </li> <li>
* <p>Maximum value length - 256 Unicode characters in UTF-8</p> </li> <li> <p>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: + - = . _ : / @.</p> </li> <li> <p>Tag keys and values
* are case-sensitive.</p> </li> <li> <p>Do not use <code>aws:</code>,
* <code>AWS:</code>, or any upper or lowercase combination of such as a prefix for
* either keys or values as it is reserved for AWS 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.</p> </li> </ul>
*/
inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
/**
* <p>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.</p> <p>The following basic restrictions apply to tags:</p> <ul> <li>
* <p>Maximum number of tags per resource - 50</p> </li> <li> <p>For each resource,
* each tag key must be unique, and each tag key can have only one value.</p> </li>
* <li> <p>Maximum key length - 128 Unicode characters in UTF-8</p> </li> <li>
* <p>Maximum value length - 256 Unicode characters in UTF-8</p> </li> <li> <p>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: + - = . _ : / @.</p> </li> <li> <p>Tag keys and values
* are case-sensitive.</p> </li> <li> <p>Do not use <code>aws:</code>,
* <code>AWS:</code>, or any upper or lowercase combination of such as a prefix for
* either keys or values as it is reserved for AWS 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.</p> </li> </ul>
*/
inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
/**
* <p>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.</p> <p>The following basic restrictions apply to tags:</p> <ul> <li>
* <p>Maximum number of tags per resource - 50</p> </li> <li> <p>For each resource,
* each tag key must be unique, and each tag key can have only one value.</p> </li>
* <li> <p>Maximum key length - 128 Unicode characters in UTF-8</p> </li> <li>
* <p>Maximum value length - 256 Unicode characters in UTF-8</p> </li> <li> <p>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: + - = . _ : / @.</p> </li> <li> <p>Tag keys and values
* are case-sensitive.</p> </li> <li> <p>Do not use <code>aws:</code>,
* <code>AWS:</code>, or any upper or lowercase combination of such as a prefix for
* either keys or values as it is reserved for AWS 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.</p> </li> </ul>
*/
inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
/**
* <p>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.</p> <p>The following basic restrictions apply to tags:</p> <ul> <li>
* <p>Maximum number of tags per resource - 50</p> </li> <li> <p>For each resource,
* each tag key must be unique, and each tag key can have only one value.</p> </li>
* <li> <p>Maximum key length - 128 Unicode characters in UTF-8</p> </li> <li>
* <p>Maximum value length - 256 Unicode characters in UTF-8</p> </li> <li> <p>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: + - = . _ : / @.</p> </li> <li> <p>Tag keys and values
* are case-sensitive.</p> </li> <li> <p>Do not use <code>aws:</code>,
* <code>AWS:</code>, or any upper or lowercase combination of such as a prefix for
* either keys or values as it is reserved for AWS 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.</p> </li> </ul>
*/
inline RunTaskRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
/**
* <p>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.</p> <p>The following basic restrictions apply to tags:</p> <ul> <li>
* <p>Maximum number of tags per resource - 50</p> </li> <li> <p>For each resource,
* each tag key must be unique, and each tag key can have only one value.</p> </li>
* <li> <p>Maximum key length - 128 Unicode characters in UTF-8</p> </li> <li>
* <p>Maximum value length - 256 Unicode characters in UTF-8</p> </li> <li> <p>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: + - = . _ : / @.</p> </li> <li> <p>Tag keys and values
* are case-sensitive.</p> </li> <li> <p>Do not use <code>aws:</code>,
* <code>AWS:</code>, or any upper or lowercase combination of such as a prefix for
* either keys or values as it is reserved for AWS 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.</p> </li> </ul>
*/
inline RunTaskRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
/**
* <p>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.</p> <p>The following basic restrictions apply to tags:</p> <ul> <li>
* <p>Maximum number of tags per resource - 50</p> </li> <li> <p>For each resource,
* each tag key must be unique, and each tag key can have only one value.</p> </li>
* <li> <p>Maximum key length - 128 Unicode characters in UTF-8</p> </li> <li>
* <p>Maximum value length - 256 Unicode characters in UTF-8</p> </li> <li> <p>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: + - = . _ : / @.</p> </li> <li> <p>Tag keys and values
* are case-sensitive.</p> </li> <li> <p>Do not use <code>aws:</code>,
* <code>AWS:</code>, or any upper or lowercase combination of such as a prefix for
* either keys or values as it is reserved for AWS 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.</p> </li> </ul>
*/
inline RunTaskRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
/**
* <p>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.</p> <p>The following basic restrictions apply to tags:</p> <ul> <li>
* <p>Maximum number of tags per resource - 50</p> </li> <li> <p>For each resource,
* each tag key must be unique, and each tag key can have only one value.</p> </li>
* <li> <p>Maximum key length - 128 Unicode characters in UTF-8</p> </li> <li>
* <p>Maximum value length - 256 Unicode characters in UTF-8</p> </li> <li> <p>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: + - = . _ : / @.</p> </li> <li> <p>Tag keys and values
* are case-sensitive.</p> </li> <li> <p>Do not use <code>aws:</code>,
* <code>AWS:</code>, or any upper or lowercase combination of such as a prefix for
* either keys or values as it is reserved for AWS 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.</p> </li> </ul>
*/
inline RunTaskRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
/**
* <p>The <code>family</code> and <code>revision</code>
* (<code>family:revision</code>) or full ARN of the task definition to run. If a
* <code>revision</code> is not specified, the latest <code>ACTIVE</code> revision
* is used.</p>
*/
inline const Aws::String& GetTaskDefinition() const{ return m_taskDefinition; }
/**
* <p>The <code>family</code> and <code>revision</code>
* (<code>family:revision</code>) or full ARN of the task definition to run. If a
* <code>revision</code> is not specified, the latest <code>ACTIVE</code> revision
* is used.</p>
*/
inline bool TaskDefinitionHasBeenSet() const { return m_taskDefinitionHasBeenSet; }
/**
* <p>The <code>family</code> and <code>revision</code>
* (<code>family:revision</code>) or full ARN of the task definition to run. If a
* <code>revision</code> is not specified, the latest <code>ACTIVE</code> revision
* is used.</p>
*/
inline void SetTaskDefinition(const Aws::String& value) { m_taskDefinitionHasBeenSet = true; m_taskDefinition = value; }
/**
* <p>The <code>family</code> and <code>revision</code>
* (<code>family:revision</code>) or full ARN of the task definition to run. If a
* <code>revision</code> is not specified, the latest <code>ACTIVE</code> revision
* is used.</p>
*/
inline void SetTaskDefinition(Aws::String&& value) { m_taskDefinitionHasBeenSet = true; m_taskDefinition = std::move(value); }
/**
* <p>The <code>family</code> and <code>revision</code>
* (<code>family:revision</code>) or full ARN of the task definition to run. If a
* <code>revision</code> is not specified, the latest <code>ACTIVE</code> revision
* is used.</p>
*/
inline void SetTaskDefinition(const char* value) { m_taskDefinitionHasBeenSet = true; m_taskDefinition.assign(value); }
/**
* <p>The <code>family</code> and <code>revision</code>
* (<code>family:revision</code>) or full ARN of the task definition to run. If a
* <code>revision</code> is not specified, the latest <code>ACTIVE</code> revision
* is used.</p>
*/
inline RunTaskRequest& WithTaskDefinition(const Aws::String& value) { SetTaskDefinition(value); return *this;}
/**
* <p>The <code>family</code> and <code>revision</code>
* (<code>family:revision</code>) or full ARN of the task definition to run. If a
* <code>revision</code> is not specified, the latest <code>ACTIVE</code> revision
* is used.</p>
*/
inline RunTaskRequest& WithTaskDefinition(Aws::String&& value) { SetTaskDefinition(std::move(value)); return *this;}
/**
* <p>The <code>family</code> and <code>revision</code>
* (<code>family:revision</code>) or full ARN of the task definition to run. If a
* <code>revision</code> is not specified, the latest <code>ACTIVE</code> revision
* is used.</p>
*/
inline RunTaskRequest& WithTaskDefinition(const char* value) { SetTaskDefinition(value); return *this;}
private:
Aws::Vector<CapacityProviderStrategyItem> m_capacityProviderStrategy;
bool m_capacityProviderStrategyHasBeenSet;
Aws::String m_cluster;
bool m_clusterHasBeenSet;
int m_count;
bool m_countHasBeenSet;
bool m_enableECSManagedTags;
bool m_enableECSManagedTagsHasBeenSet;
Aws::String m_group;
bool m_groupHasBeenSet;
LaunchType m_launchType;
bool m_launchTypeHasBeenSet;
NetworkConfiguration m_networkConfiguration;
bool m_networkConfigurationHasBeenSet;
TaskOverride m_overrides;
bool m_overridesHasBeenSet;
Aws::Vector<PlacementConstraint> m_placementConstraints;
bool m_placementConstraintsHasBeenSet;
Aws::Vector<PlacementStrategy> m_placementStrategy;
bool m_placementStrategyHasBeenSet;
Aws::String m_platformVersion;
bool m_platformVersionHasBeenSet;
PropagateTags m_propagateTags;
bool m_propagateTagsHasBeenSet;
Aws::String m_referenceId;
bool m_referenceIdHasBeenSet;
Aws::String m_startedBy;
bool m_startedByHasBeenSet;
Aws::Vector<Tag> m_tags;
bool m_tagsHasBeenSet;
Aws::String m_taskDefinition;
bool m_taskDefinitionHasBeenSet;
};
} // namespace Model
} // namespace ECS
} // namespace Aws