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-events/include/aws/events/model/EcsParameters.h

412 lines
19 KiB
C++

/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/events/CloudWatchEvents_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/events/model/LaunchType.h>
#include <aws/events/model/NetworkConfiguration.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace CloudWatchEvents
{
namespace Model
{
/**
* <p>The custom parameters to be used when the target is an Amazon ECS
* task.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/EcsParameters">AWS
* API Reference</a></p>
*/
class AWS_CLOUDWATCHEVENTS_API EcsParameters
{
public:
EcsParameters();
EcsParameters(Aws::Utils::Json::JsonView jsonValue);
EcsParameters& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The ARN of the task definition to use if the event target is an Amazon ECS
* task. </p>
*/
inline const Aws::String& GetTaskDefinitionArn() const{ return m_taskDefinitionArn; }
/**
* <p>The ARN of the task definition to use if the event target is an Amazon ECS
* task. </p>
*/
inline bool TaskDefinitionArnHasBeenSet() const { return m_taskDefinitionArnHasBeenSet; }
/**
* <p>The ARN of the task definition to use if the event target is an Amazon ECS
* task. </p>
*/
inline void SetTaskDefinitionArn(const Aws::String& value) { m_taskDefinitionArnHasBeenSet = true; m_taskDefinitionArn = value; }
/**
* <p>The ARN of the task definition to use if the event target is an Amazon ECS
* task. </p>
*/
inline void SetTaskDefinitionArn(Aws::String&& value) { m_taskDefinitionArnHasBeenSet = true; m_taskDefinitionArn = std::move(value); }
/**
* <p>The ARN of the task definition to use if the event target is an Amazon ECS
* task. </p>
*/
inline void SetTaskDefinitionArn(const char* value) { m_taskDefinitionArnHasBeenSet = true; m_taskDefinitionArn.assign(value); }
/**
* <p>The ARN of the task definition to use if the event target is an Amazon ECS
* task. </p>
*/
inline EcsParameters& WithTaskDefinitionArn(const Aws::String& value) { SetTaskDefinitionArn(value); return *this;}
/**
* <p>The ARN of the task definition to use if the event target is an Amazon ECS
* task. </p>
*/
inline EcsParameters& WithTaskDefinitionArn(Aws::String&& value) { SetTaskDefinitionArn(std::move(value)); return *this;}
/**
* <p>The ARN of the task definition to use if the event target is an Amazon ECS
* task. </p>
*/
inline EcsParameters& WithTaskDefinitionArn(const char* value) { SetTaskDefinitionArn(value); return *this;}
/**
* <p>The number of tasks to create based on <code>TaskDefinition</code>. The
* default is 1.</p>
*/
inline int GetTaskCount() const{ return m_taskCount; }
/**
* <p>The number of tasks to create based on <code>TaskDefinition</code>. The
* default is 1.</p>
*/
inline bool TaskCountHasBeenSet() const { return m_taskCountHasBeenSet; }
/**
* <p>The number of tasks to create based on <code>TaskDefinition</code>. The
* default is 1.</p>
*/
inline void SetTaskCount(int value) { m_taskCountHasBeenSet = true; m_taskCount = value; }
/**
* <p>The number of tasks to create based on <code>TaskDefinition</code>. The
* default is 1.</p>
*/
inline EcsParameters& WithTaskCount(int value) { SetTaskCount(value); return *this;}
/**
* <p>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 <code>FARGATE</code> value is supported only in the Regions
* where AWS Fargate with Amazon ECS is supported. For more information, see <a
* href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS-Fargate.html">AWS
* Fargate on Amazon ECS</a> in the <i>Amazon Elastic Container Service Developer
* Guide</i>.</p>
*/
inline const LaunchType& GetLaunchType() const{ return m_launchType; }
/**
* <p>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 <code>FARGATE</code> value is supported only in the Regions
* where AWS Fargate with Amazon ECS is supported. For more information, see <a
* href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS-Fargate.html">AWS
* Fargate on Amazon ECS</a> in the <i>Amazon Elastic Container Service Developer
* Guide</i>.</p>
*/
inline bool LaunchTypeHasBeenSet() const { return m_launchTypeHasBeenSet; }
/**
* <p>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 <code>FARGATE</code> value is supported only in the Regions
* where AWS Fargate with Amazon ECS is supported. For more information, see <a
* href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS-Fargate.html">AWS
* Fargate on Amazon ECS</a> in the <i>Amazon Elastic Container Service Developer
* Guide</i>.</p>
*/
inline void SetLaunchType(const LaunchType& value) { m_launchTypeHasBeenSet = true; m_launchType = value; }
/**
* <p>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 <code>FARGATE</code> value is supported only in the Regions
* where AWS Fargate with Amazon ECS is supported. For more information, see <a
* href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS-Fargate.html">AWS
* Fargate on Amazon ECS</a> in the <i>Amazon Elastic Container Service Developer
* Guide</i>.</p>
*/
inline void SetLaunchType(LaunchType&& value) { m_launchTypeHasBeenSet = true; m_launchType = std::move(value); }
/**
* <p>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 <code>FARGATE</code> value is supported only in the Regions
* where AWS Fargate with Amazon ECS is supported. For more information, see <a
* href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS-Fargate.html">AWS
* Fargate on Amazon ECS</a> in the <i>Amazon Elastic Container Service Developer
* Guide</i>.</p>
*/
inline EcsParameters& WithLaunchType(const LaunchType& value) { SetLaunchType(value); return *this;}
/**
* <p>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 <code>FARGATE</code> value is supported only in the Regions
* where AWS Fargate with Amazon ECS is supported. For more information, see <a
* href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS-Fargate.html">AWS
* Fargate on Amazon ECS</a> in the <i>Amazon Elastic Container Service Developer
* Guide</i>.</p>
*/
inline EcsParameters& WithLaunchType(LaunchType&& value) { SetLaunchType(std::move(value)); return *this;}
/**
* <p>Use this structure if the ECS task uses the <code>awsvpc</code> 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 <code>LaunchType</code> is <code>FARGATE</code> because the
* <code>awsvpc</code> mode is required for Fargate tasks.</p> <p>If you specify
* <code>NetworkConfiguration</code> when the target ECS task does not use the
* <code>awsvpc</code> network mode, the task fails.</p>
*/
inline const NetworkConfiguration& GetNetworkConfiguration() const{ return m_networkConfiguration; }
/**
* <p>Use this structure if the ECS task uses the <code>awsvpc</code> 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 <code>LaunchType</code> is <code>FARGATE</code> because the
* <code>awsvpc</code> mode is required for Fargate tasks.</p> <p>If you specify
* <code>NetworkConfiguration</code> when the target ECS task does not use the
* <code>awsvpc</code> network mode, the task fails.</p>
*/
inline bool NetworkConfigurationHasBeenSet() const { return m_networkConfigurationHasBeenSet; }
/**
* <p>Use this structure if the ECS task uses the <code>awsvpc</code> 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 <code>LaunchType</code> is <code>FARGATE</code> because the
* <code>awsvpc</code> mode is required for Fargate tasks.</p> <p>If you specify
* <code>NetworkConfiguration</code> when the target ECS task does not use the
* <code>awsvpc</code> network mode, the task fails.</p>
*/
inline void SetNetworkConfiguration(const NetworkConfiguration& value) { m_networkConfigurationHasBeenSet = true; m_networkConfiguration = value; }
/**
* <p>Use this structure if the ECS task uses the <code>awsvpc</code> 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 <code>LaunchType</code> is <code>FARGATE</code> because the
* <code>awsvpc</code> mode is required for Fargate tasks.</p> <p>If you specify
* <code>NetworkConfiguration</code> when the target ECS task does not use the
* <code>awsvpc</code> network mode, the task fails.</p>
*/
inline void SetNetworkConfiguration(NetworkConfiguration&& value) { m_networkConfigurationHasBeenSet = true; m_networkConfiguration = std::move(value); }
/**
* <p>Use this structure if the ECS task uses the <code>awsvpc</code> 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 <code>LaunchType</code> is <code>FARGATE</code> because the
* <code>awsvpc</code> mode is required for Fargate tasks.</p> <p>If you specify
* <code>NetworkConfiguration</code> when the target ECS task does not use the
* <code>awsvpc</code> network mode, the task fails.</p>
*/
inline EcsParameters& WithNetworkConfiguration(const NetworkConfiguration& value) { SetNetworkConfiguration(value); return *this;}
/**
* <p>Use this structure if the ECS task uses the <code>awsvpc</code> 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 <code>LaunchType</code> is <code>FARGATE</code> because the
* <code>awsvpc</code> mode is required for Fargate tasks.</p> <p>If you specify
* <code>NetworkConfiguration</code> when the target ECS task does not use the
* <code>awsvpc</code> network mode, the task fails.</p>
*/
inline EcsParameters& WithNetworkConfiguration(NetworkConfiguration&& value) { SetNetworkConfiguration(std::move(value)); return *this;}
/**
* <p>Specifies the platform version for the task. Specify only the numeric portion
* of the platform version, such as <code>1.1.0</code>.</p> <p>This structure is
* used only if <code>LaunchType</code> is <code>FARGATE</code>. For more
* information about valid platform versions, 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>Specifies the platform version for the task. Specify only the numeric portion
* of the platform version, such as <code>1.1.0</code>.</p> <p>This structure is
* used only if <code>LaunchType</code> is <code>FARGATE</code>. For more
* information about valid platform versions, 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>Specifies the platform version for the task. Specify only the numeric portion
* of the platform version, such as <code>1.1.0</code>.</p> <p>This structure is
* used only if <code>LaunchType</code> is <code>FARGATE</code>. For more
* information about valid platform versions, 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>Specifies the platform version for the task. Specify only the numeric portion
* of the platform version, such as <code>1.1.0</code>.</p> <p>This structure is
* used only if <code>LaunchType</code> is <code>FARGATE</code>. For more
* information about valid platform versions, 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>Specifies the platform version for the task. Specify only the numeric portion
* of the platform version, such as <code>1.1.0</code>.</p> <p>This structure is
* used only if <code>LaunchType</code> is <code>FARGATE</code>. For more
* information about valid platform versions, 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>Specifies the platform version for the task. Specify only the numeric portion
* of the platform version, such as <code>1.1.0</code>.</p> <p>This structure is
* used only if <code>LaunchType</code> is <code>FARGATE</code>. For more
* information about valid platform versions, 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 EcsParameters& WithPlatformVersion(const Aws::String& value) { SetPlatformVersion(value); return *this;}
/**
* <p>Specifies the platform version for the task. Specify only the numeric portion
* of the platform version, such as <code>1.1.0</code>.</p> <p>This structure is
* used only if <code>LaunchType</code> is <code>FARGATE</code>. For more
* information about valid platform versions, 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 EcsParameters& WithPlatformVersion(Aws::String&& value) { SetPlatformVersion(std::move(value)); return *this;}
/**
* <p>Specifies the platform version for the task. Specify only the numeric portion
* of the platform version, such as <code>1.1.0</code>.</p> <p>This structure is
* used only if <code>LaunchType</code> is <code>FARGATE</code>. For more
* information about valid platform versions, 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 EcsParameters& WithPlatformVersion(const char* value) { SetPlatformVersion(value); return *this;}
/**
* <p>Specifies an ECS task group for the task. The maximum length is 255
* characters.</p>
*/
inline const Aws::String& GetGroup() const{ return m_group; }
/**
* <p>Specifies an ECS task group for the task. The maximum length is 255
* characters.</p>
*/
inline bool GroupHasBeenSet() const { return m_groupHasBeenSet; }
/**
* <p>Specifies an ECS task group for the task. The maximum length is 255
* characters.</p>
*/
inline void SetGroup(const Aws::String& value) { m_groupHasBeenSet = true; m_group = value; }
/**
* <p>Specifies an ECS task group for the task. The maximum length is 255
* characters.</p>
*/
inline void SetGroup(Aws::String&& value) { m_groupHasBeenSet = true; m_group = std::move(value); }
/**
* <p>Specifies an ECS task group for the task. The maximum length is 255
* characters.</p>
*/
inline void SetGroup(const char* value) { m_groupHasBeenSet = true; m_group.assign(value); }
/**
* <p>Specifies an ECS task group for the task. The maximum length is 255
* characters.</p>
*/
inline EcsParameters& WithGroup(const Aws::String& value) { SetGroup(value); return *this;}
/**
* <p>Specifies an ECS task group for the task. The maximum length is 255
* characters.</p>
*/
inline EcsParameters& WithGroup(Aws::String&& value) { SetGroup(std::move(value)); return *this;}
/**
* <p>Specifies an ECS task group for the task. The maximum length is 255
* characters.</p>
*/
inline EcsParameters& WithGroup(const char* value) { SetGroup(value); return *this;}
private:
Aws::String m_taskDefinitionArn;
bool m_taskDefinitionArnHasBeenSet;
int m_taskCount;
bool m_taskCountHasBeenSet;
LaunchType m_launchType;
bool m_launchTypeHasBeenSet;
NetworkConfiguration m_networkConfiguration;
bool m_networkConfigurationHasBeenSet;
Aws::String m_platformVersion;
bool m_platformVersionHasBeenSet;
Aws::String m_group;
bool m_groupHasBeenSet;
};
} // namespace Model
} // namespace CloudWatchEvents
} // namespace Aws