/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace CodeDeploy { namespace Model { /** *

Information about the instances to be used in the replacement environment in * a blue/green deployment.

See Also:

AWS * API Reference

*/ class TargetInstances { public: AWS_CODEDEPLOY_API TargetInstances(); AWS_CODEDEPLOY_API TargetInstances(Aws::Utils::Json::JsonView jsonValue); AWS_CODEDEPLOY_API TargetInstances& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_CODEDEPLOY_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The tag filter key, type, and value used to identify Amazon EC2 instances in * a replacement environment for a blue/green deployment. Cannot be used in the * same call as ec2TagSet.

*/ inline const Aws::Vector& GetTagFilters() const{ return m_tagFilters; } /** *

The tag filter key, type, and value used to identify Amazon EC2 instances in * a replacement environment for a blue/green deployment. Cannot be used in the * same call as ec2TagSet.

*/ inline bool TagFiltersHasBeenSet() const { return m_tagFiltersHasBeenSet; } /** *

The tag filter key, type, and value used to identify Amazon EC2 instances in * a replacement environment for a blue/green deployment. Cannot be used in the * same call as ec2TagSet.

*/ inline void SetTagFilters(const Aws::Vector& value) { m_tagFiltersHasBeenSet = true; m_tagFilters = value; } /** *

The tag filter key, type, and value used to identify Amazon EC2 instances in * a replacement environment for a blue/green deployment. Cannot be used in the * same call as ec2TagSet.

*/ inline void SetTagFilters(Aws::Vector&& value) { m_tagFiltersHasBeenSet = true; m_tagFilters = std::move(value); } /** *

The tag filter key, type, and value used to identify Amazon EC2 instances in * a replacement environment for a blue/green deployment. Cannot be used in the * same call as ec2TagSet.

*/ inline TargetInstances& WithTagFilters(const Aws::Vector& value) { SetTagFilters(value); return *this;} /** *

The tag filter key, type, and value used to identify Amazon EC2 instances in * a replacement environment for a blue/green deployment. Cannot be used in the * same call as ec2TagSet.

*/ inline TargetInstances& WithTagFilters(Aws::Vector&& value) { SetTagFilters(std::move(value)); return *this;} /** *

The tag filter key, type, and value used to identify Amazon EC2 instances in * a replacement environment for a blue/green deployment. Cannot be used in the * same call as ec2TagSet.

*/ inline TargetInstances& AddTagFilters(const EC2TagFilter& value) { m_tagFiltersHasBeenSet = true; m_tagFilters.push_back(value); return *this; } /** *

The tag filter key, type, and value used to identify Amazon EC2 instances in * a replacement environment for a blue/green deployment. Cannot be used in the * same call as ec2TagSet.

*/ inline TargetInstances& AddTagFilters(EC2TagFilter&& value) { m_tagFiltersHasBeenSet = true; m_tagFilters.push_back(std::move(value)); return *this; } /** *

The names of one or more Auto Scaling groups to identify a replacement * environment for a blue/green deployment.

*/ inline const Aws::Vector& GetAutoScalingGroups() const{ return m_autoScalingGroups; } /** *

The names of one or more Auto Scaling groups to identify a replacement * environment for a blue/green deployment.

*/ inline bool AutoScalingGroupsHasBeenSet() const { return m_autoScalingGroupsHasBeenSet; } /** *

The names of one or more Auto Scaling groups to identify a replacement * environment for a blue/green deployment.

*/ inline void SetAutoScalingGroups(const Aws::Vector& value) { m_autoScalingGroupsHasBeenSet = true; m_autoScalingGroups = value; } /** *

The names of one or more Auto Scaling groups to identify a replacement * environment for a blue/green deployment.

*/ inline void SetAutoScalingGroups(Aws::Vector&& value) { m_autoScalingGroupsHasBeenSet = true; m_autoScalingGroups = std::move(value); } /** *

The names of one or more Auto Scaling groups to identify a replacement * environment for a blue/green deployment.

*/ inline TargetInstances& WithAutoScalingGroups(const Aws::Vector& value) { SetAutoScalingGroups(value); return *this;} /** *

The names of one or more Auto Scaling groups to identify a replacement * environment for a blue/green deployment.

*/ inline TargetInstances& WithAutoScalingGroups(Aws::Vector&& value) { SetAutoScalingGroups(std::move(value)); return *this;} /** *

The names of one or more Auto Scaling groups to identify a replacement * environment for a blue/green deployment.

*/ inline TargetInstances& AddAutoScalingGroups(const Aws::String& value) { m_autoScalingGroupsHasBeenSet = true; m_autoScalingGroups.push_back(value); return *this; } /** *

The names of one or more Auto Scaling groups to identify a replacement * environment for a blue/green deployment.

*/ inline TargetInstances& AddAutoScalingGroups(Aws::String&& value) { m_autoScalingGroupsHasBeenSet = true; m_autoScalingGroups.push_back(std::move(value)); return *this; } /** *

The names of one or more Auto Scaling groups to identify a replacement * environment for a blue/green deployment.

*/ inline TargetInstances& AddAutoScalingGroups(const char* value) { m_autoScalingGroupsHasBeenSet = true; m_autoScalingGroups.push_back(value); return *this; } /** *

Information about the groups of Amazon EC2 instance tags that an instance * must be identified by in order for it to be included in the replacement * environment for a blue/green deployment. Cannot be used in the same call as * tagFilters.

*/ inline const EC2TagSet& GetEc2TagSet() const{ return m_ec2TagSet; } /** *

Information about the groups of Amazon EC2 instance tags that an instance * must be identified by in order for it to be included in the replacement * environment for a blue/green deployment. Cannot be used in the same call as * tagFilters.

*/ inline bool Ec2TagSetHasBeenSet() const { return m_ec2TagSetHasBeenSet; } /** *

Information about the groups of Amazon EC2 instance tags that an instance * must be identified by in order for it to be included in the replacement * environment for a blue/green deployment. Cannot be used in the same call as * tagFilters.

*/ inline void SetEc2TagSet(const EC2TagSet& value) { m_ec2TagSetHasBeenSet = true; m_ec2TagSet = value; } /** *

Information about the groups of Amazon EC2 instance tags that an instance * must be identified by in order for it to be included in the replacement * environment for a blue/green deployment. Cannot be used in the same call as * tagFilters.

*/ inline void SetEc2TagSet(EC2TagSet&& value) { m_ec2TagSetHasBeenSet = true; m_ec2TagSet = std::move(value); } /** *

Information about the groups of Amazon EC2 instance tags that an instance * must be identified by in order for it to be included in the replacement * environment for a blue/green deployment. Cannot be used in the same call as * tagFilters.

*/ inline TargetInstances& WithEc2TagSet(const EC2TagSet& value) { SetEc2TagSet(value); return *this;} /** *

Information about the groups of Amazon EC2 instance tags that an instance * must be identified by in order for it to be included in the replacement * environment for a blue/green deployment. Cannot be used in the same call as * tagFilters.

*/ inline TargetInstances& WithEc2TagSet(EC2TagSet&& value) { SetEc2TagSet(std::move(value)); return *this;} private: Aws::Vector m_tagFilters; bool m_tagFiltersHasBeenSet = false; Aws::Vector m_autoScalingGroups; bool m_autoScalingGroupsHasBeenSet = false; EC2TagSet m_ec2TagSet; bool m_ec2TagSetHasBeenSet = false; }; } // namespace Model } // namespace CodeDeploy } // namespace Aws