/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace CodeDeploy { namespace Model { /** */ class BatchGetDeploymentTargetsRequest : public CodeDeployRequest { public: AWS_CODEDEPLOY_API BatchGetDeploymentTargetsRequest(); // 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 "BatchGetDeploymentTargets"; } AWS_CODEDEPLOY_API Aws::String SerializePayload() const override; AWS_CODEDEPLOY_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The unique ID of a deployment.

*/ inline const Aws::String& GetDeploymentId() const{ return m_deploymentId; } /** *

The unique ID of a deployment.

*/ inline bool DeploymentIdHasBeenSet() const { return m_deploymentIdHasBeenSet; } /** *

The unique ID of a deployment.

*/ inline void SetDeploymentId(const Aws::String& value) { m_deploymentIdHasBeenSet = true; m_deploymentId = value; } /** *

The unique ID of a deployment.

*/ inline void SetDeploymentId(Aws::String&& value) { m_deploymentIdHasBeenSet = true; m_deploymentId = std::move(value); } /** *

The unique ID of a deployment.

*/ inline void SetDeploymentId(const char* value) { m_deploymentIdHasBeenSet = true; m_deploymentId.assign(value); } /** *

The unique ID of a deployment.

*/ inline BatchGetDeploymentTargetsRequest& WithDeploymentId(const Aws::String& value) { SetDeploymentId(value); return *this;} /** *

The unique ID of a deployment.

*/ inline BatchGetDeploymentTargetsRequest& WithDeploymentId(Aws::String&& value) { SetDeploymentId(std::move(value)); return *this;} /** *

The unique ID of a deployment.

*/ inline BatchGetDeploymentTargetsRequest& WithDeploymentId(const char* value) { SetDeploymentId(value); return *this;} /** *

The unique IDs of the deployment targets. The compute platform of the * deployment determines the type of the targets and their formats. The maximum * number of deployment target IDs you can specify is 25.

  • For * deployments that use the EC2/On-premises compute platform, the target IDs are * Amazon EC2 or on-premises instances IDs, and their target type is * instanceTarget.

  • For deployments that use the * Lambda compute platform, the target IDs are the names of Lambda functions, and * their target type is instanceTarget.

  • For * deployments that use the Amazon ECS compute platform, the target IDs are pairs * of Amazon ECS clusters and services specified using the format * <clustername>:<servicename>. Their target type is * ecsTarget.

  • For deployments that are deployed * with CloudFormation, the target IDs are CloudFormation stack IDs. Their target * type is cloudFormationTarget.

*/ inline const Aws::Vector& GetTargetIds() const{ return m_targetIds; } /** *

The unique IDs of the deployment targets. The compute platform of the * deployment determines the type of the targets and their formats. The maximum * number of deployment target IDs you can specify is 25.

  • For * deployments that use the EC2/On-premises compute platform, the target IDs are * Amazon EC2 or on-premises instances IDs, and their target type is * instanceTarget.

  • For deployments that use the * Lambda compute platform, the target IDs are the names of Lambda functions, and * their target type is instanceTarget.

  • For * deployments that use the Amazon ECS compute platform, the target IDs are pairs * of Amazon ECS clusters and services specified using the format * <clustername>:<servicename>. Their target type is * ecsTarget.

  • For deployments that are deployed * with CloudFormation, the target IDs are CloudFormation stack IDs. Their target * type is cloudFormationTarget.

*/ inline bool TargetIdsHasBeenSet() const { return m_targetIdsHasBeenSet; } /** *

The unique IDs of the deployment targets. The compute platform of the * deployment determines the type of the targets and their formats. The maximum * number of deployment target IDs you can specify is 25.

  • For * deployments that use the EC2/On-premises compute platform, the target IDs are * Amazon EC2 or on-premises instances IDs, and their target type is * instanceTarget.

  • For deployments that use the * Lambda compute platform, the target IDs are the names of Lambda functions, and * their target type is instanceTarget.

  • For * deployments that use the Amazon ECS compute platform, the target IDs are pairs * of Amazon ECS clusters and services specified using the format * <clustername>:<servicename>. Their target type is * ecsTarget.

  • For deployments that are deployed * with CloudFormation, the target IDs are CloudFormation stack IDs. Their target * type is cloudFormationTarget.

*/ inline void SetTargetIds(const Aws::Vector& value) { m_targetIdsHasBeenSet = true; m_targetIds = value; } /** *

The unique IDs of the deployment targets. The compute platform of the * deployment determines the type of the targets and their formats. The maximum * number of deployment target IDs you can specify is 25.

  • For * deployments that use the EC2/On-premises compute platform, the target IDs are * Amazon EC2 or on-premises instances IDs, and their target type is * instanceTarget.

  • For deployments that use the * Lambda compute platform, the target IDs are the names of Lambda functions, and * their target type is instanceTarget.

  • For * deployments that use the Amazon ECS compute platform, the target IDs are pairs * of Amazon ECS clusters and services specified using the format * <clustername>:<servicename>. Their target type is * ecsTarget.

  • For deployments that are deployed * with CloudFormation, the target IDs are CloudFormation stack IDs. Their target * type is cloudFormationTarget.

*/ inline void SetTargetIds(Aws::Vector&& value) { m_targetIdsHasBeenSet = true; m_targetIds = std::move(value); } /** *

The unique IDs of the deployment targets. The compute platform of the * deployment determines the type of the targets and their formats. The maximum * number of deployment target IDs you can specify is 25.

  • For * deployments that use the EC2/On-premises compute platform, the target IDs are * Amazon EC2 or on-premises instances IDs, and their target type is * instanceTarget.

  • For deployments that use the * Lambda compute platform, the target IDs are the names of Lambda functions, and * their target type is instanceTarget.

  • For * deployments that use the Amazon ECS compute platform, the target IDs are pairs * of Amazon ECS clusters and services specified using the format * <clustername>:<servicename>. Their target type is * ecsTarget.

  • For deployments that are deployed * with CloudFormation, the target IDs are CloudFormation stack IDs. Their target * type is cloudFormationTarget.

*/ inline BatchGetDeploymentTargetsRequest& WithTargetIds(const Aws::Vector& value) { SetTargetIds(value); return *this;} /** *

The unique IDs of the deployment targets. The compute platform of the * deployment determines the type of the targets and their formats. The maximum * number of deployment target IDs you can specify is 25.

  • For * deployments that use the EC2/On-premises compute platform, the target IDs are * Amazon EC2 or on-premises instances IDs, and their target type is * instanceTarget.

  • For deployments that use the * Lambda compute platform, the target IDs are the names of Lambda functions, and * their target type is instanceTarget.

  • For * deployments that use the Amazon ECS compute platform, the target IDs are pairs * of Amazon ECS clusters and services specified using the format * <clustername>:<servicename>. Their target type is * ecsTarget.

  • For deployments that are deployed * with CloudFormation, the target IDs are CloudFormation stack IDs. Their target * type is cloudFormationTarget.

*/ inline BatchGetDeploymentTargetsRequest& WithTargetIds(Aws::Vector&& value) { SetTargetIds(std::move(value)); return *this;} /** *

The unique IDs of the deployment targets. The compute platform of the * deployment determines the type of the targets and their formats. The maximum * number of deployment target IDs you can specify is 25.

  • For * deployments that use the EC2/On-premises compute platform, the target IDs are * Amazon EC2 or on-premises instances IDs, and their target type is * instanceTarget.

  • For deployments that use the * Lambda compute platform, the target IDs are the names of Lambda functions, and * their target type is instanceTarget.

  • For * deployments that use the Amazon ECS compute platform, the target IDs are pairs * of Amazon ECS clusters and services specified using the format * <clustername>:<servicename>. Their target type is * ecsTarget.

  • For deployments that are deployed * with CloudFormation, the target IDs are CloudFormation stack IDs. Their target * type is cloudFormationTarget.

*/ inline BatchGetDeploymentTargetsRequest& AddTargetIds(const Aws::String& value) { m_targetIdsHasBeenSet = true; m_targetIds.push_back(value); return *this; } /** *

The unique IDs of the deployment targets. The compute platform of the * deployment determines the type of the targets and their formats. The maximum * number of deployment target IDs you can specify is 25.

  • For * deployments that use the EC2/On-premises compute platform, the target IDs are * Amazon EC2 or on-premises instances IDs, and their target type is * instanceTarget.

  • For deployments that use the * Lambda compute platform, the target IDs are the names of Lambda functions, and * their target type is instanceTarget.

  • For * deployments that use the Amazon ECS compute platform, the target IDs are pairs * of Amazon ECS clusters and services specified using the format * <clustername>:<servicename>. Their target type is * ecsTarget.

  • For deployments that are deployed * with CloudFormation, the target IDs are CloudFormation stack IDs. Their target * type is cloudFormationTarget.

*/ inline BatchGetDeploymentTargetsRequest& AddTargetIds(Aws::String&& value) { m_targetIdsHasBeenSet = true; m_targetIds.push_back(std::move(value)); return *this; } /** *

The unique IDs of the deployment targets. The compute platform of the * deployment determines the type of the targets and their formats. The maximum * number of deployment target IDs you can specify is 25.

  • For * deployments that use the EC2/On-premises compute platform, the target IDs are * Amazon EC2 or on-premises instances IDs, and their target type is * instanceTarget.

  • For deployments that use the * Lambda compute platform, the target IDs are the names of Lambda functions, and * their target type is instanceTarget.

  • For * deployments that use the Amazon ECS compute platform, the target IDs are pairs * of Amazon ECS clusters and services specified using the format * <clustername>:<servicename>. Their target type is * ecsTarget.

  • For deployments that are deployed * with CloudFormation, the target IDs are CloudFormation stack IDs. Their target * type is cloudFormationTarget.

*/ inline BatchGetDeploymentTargetsRequest& AddTargetIds(const char* value) { m_targetIdsHasBeenSet = true; m_targetIds.push_back(value); return *this; } private: Aws::String m_deploymentId; bool m_deploymentIdHasBeenSet = false; Aws::Vector m_targetIds; bool m_targetIdsHasBeenSet = false; }; } // namespace Model } // namespace CodeDeploy } // namespace Aws