/** * 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 Elastic Load Balancing load balancer or target group * used in a deployment.

See Also:

AWS * API Reference

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

An array that contains information about the load balancer to use for load * balancing in a deployment. In Elastic Load Balancing, load balancers are used * with Classic Load Balancers.

Adding more than one load balancer * to the array is not supported.

*/ inline const Aws::Vector& GetElbInfoList() const{ return m_elbInfoList; } /** *

An array that contains information about the load balancer to use for load * balancing in a deployment. In Elastic Load Balancing, load balancers are used * with Classic Load Balancers.

Adding more than one load balancer * to the array is not supported.

*/ inline bool ElbInfoListHasBeenSet() const { return m_elbInfoListHasBeenSet; } /** *

An array that contains information about the load balancer to use for load * balancing in a deployment. In Elastic Load Balancing, load balancers are used * with Classic Load Balancers.

Adding more than one load balancer * to the array is not supported.

*/ inline void SetElbInfoList(const Aws::Vector& value) { m_elbInfoListHasBeenSet = true; m_elbInfoList = value; } /** *

An array that contains information about the load balancer to use for load * balancing in a deployment. In Elastic Load Balancing, load balancers are used * with Classic Load Balancers.

Adding more than one load balancer * to the array is not supported.

*/ inline void SetElbInfoList(Aws::Vector&& value) { m_elbInfoListHasBeenSet = true; m_elbInfoList = std::move(value); } /** *

An array that contains information about the load balancer to use for load * balancing in a deployment. In Elastic Load Balancing, load balancers are used * with Classic Load Balancers.

Adding more than one load balancer * to the array is not supported.

*/ inline LoadBalancerInfo& WithElbInfoList(const Aws::Vector& value) { SetElbInfoList(value); return *this;} /** *

An array that contains information about the load balancer to use for load * balancing in a deployment. In Elastic Load Balancing, load balancers are used * with Classic Load Balancers.

Adding more than one load balancer * to the array is not supported.

*/ inline LoadBalancerInfo& WithElbInfoList(Aws::Vector&& value) { SetElbInfoList(std::move(value)); return *this;} /** *

An array that contains information about the load balancer to use for load * balancing in a deployment. In Elastic Load Balancing, load balancers are used * with Classic Load Balancers.

Adding more than one load balancer * to the array is not supported.

*/ inline LoadBalancerInfo& AddElbInfoList(const ELBInfo& value) { m_elbInfoListHasBeenSet = true; m_elbInfoList.push_back(value); return *this; } /** *

An array that contains information about the load balancer to use for load * balancing in a deployment. In Elastic Load Balancing, load balancers are used * with Classic Load Balancers.

Adding more than one load balancer * to the array is not supported.

*/ inline LoadBalancerInfo& AddElbInfoList(ELBInfo&& value) { m_elbInfoListHasBeenSet = true; m_elbInfoList.push_back(std::move(value)); return *this; } /** *

An array that contains information about the target group to use for load * balancing in a deployment. In Elastic Load Balancing, target groups are used * with Application Load Balancers.

Adding more than one target * group to the array is not supported.

*/ inline const Aws::Vector& GetTargetGroupInfoList() const{ return m_targetGroupInfoList; } /** *

An array that contains information about the target group to use for load * balancing in a deployment. In Elastic Load Balancing, target groups are used * with Application Load Balancers.

Adding more than one target * group to the array is not supported.

*/ inline bool TargetGroupInfoListHasBeenSet() const { return m_targetGroupInfoListHasBeenSet; } /** *

An array that contains information about the target group to use for load * balancing in a deployment. In Elastic Load Balancing, target groups are used * with Application Load Balancers.

Adding more than one target * group to the array is not supported.

*/ inline void SetTargetGroupInfoList(const Aws::Vector& value) { m_targetGroupInfoListHasBeenSet = true; m_targetGroupInfoList = value; } /** *

An array that contains information about the target group to use for load * balancing in a deployment. In Elastic Load Balancing, target groups are used * with Application Load Balancers.

Adding more than one target * group to the array is not supported.

*/ inline void SetTargetGroupInfoList(Aws::Vector&& value) { m_targetGroupInfoListHasBeenSet = true; m_targetGroupInfoList = std::move(value); } /** *

An array that contains information about the target group to use for load * balancing in a deployment. In Elastic Load Balancing, target groups are used * with Application Load Balancers.

Adding more than one target * group to the array is not supported.

*/ inline LoadBalancerInfo& WithTargetGroupInfoList(const Aws::Vector& value) { SetTargetGroupInfoList(value); return *this;} /** *

An array that contains information about the target group to use for load * balancing in a deployment. In Elastic Load Balancing, target groups are used * with Application Load Balancers.

Adding more than one target * group to the array is not supported.

*/ inline LoadBalancerInfo& WithTargetGroupInfoList(Aws::Vector&& value) { SetTargetGroupInfoList(std::move(value)); return *this;} /** *

An array that contains information about the target group to use for load * balancing in a deployment. In Elastic Load Balancing, target groups are used * with Application Load Balancers.

Adding more than one target * group to the array is not supported.

*/ inline LoadBalancerInfo& AddTargetGroupInfoList(const TargetGroupInfo& value) { m_targetGroupInfoListHasBeenSet = true; m_targetGroupInfoList.push_back(value); return *this; } /** *

An array that contains information about the target group to use for load * balancing in a deployment. In Elastic Load Balancing, target groups are used * with Application Load Balancers.

Adding more than one target * group to the array is not supported.

*/ inline LoadBalancerInfo& AddTargetGroupInfoList(TargetGroupInfo&& value) { m_targetGroupInfoListHasBeenSet = true; m_targetGroupInfoList.push_back(std::move(value)); return *this; } /** *

The target group pair information. This is an array of * TargeGroupPairInfo objects with a maximum size of one.

*/ inline const Aws::Vector& GetTargetGroupPairInfoList() const{ return m_targetGroupPairInfoList; } /** *

The target group pair information. This is an array of * TargeGroupPairInfo objects with a maximum size of one.

*/ inline bool TargetGroupPairInfoListHasBeenSet() const { return m_targetGroupPairInfoListHasBeenSet; } /** *

The target group pair information. This is an array of * TargeGroupPairInfo objects with a maximum size of one.

*/ inline void SetTargetGroupPairInfoList(const Aws::Vector& value) { m_targetGroupPairInfoListHasBeenSet = true; m_targetGroupPairInfoList = value; } /** *

The target group pair information. This is an array of * TargeGroupPairInfo objects with a maximum size of one.

*/ inline void SetTargetGroupPairInfoList(Aws::Vector&& value) { m_targetGroupPairInfoListHasBeenSet = true; m_targetGroupPairInfoList = std::move(value); } /** *

The target group pair information. This is an array of * TargeGroupPairInfo objects with a maximum size of one.

*/ inline LoadBalancerInfo& WithTargetGroupPairInfoList(const Aws::Vector& value) { SetTargetGroupPairInfoList(value); return *this;} /** *

The target group pair information. This is an array of * TargeGroupPairInfo objects with a maximum size of one.

*/ inline LoadBalancerInfo& WithTargetGroupPairInfoList(Aws::Vector&& value) { SetTargetGroupPairInfoList(std::move(value)); return *this;} /** *

The target group pair information. This is an array of * TargeGroupPairInfo objects with a maximum size of one.

*/ inline LoadBalancerInfo& AddTargetGroupPairInfoList(const TargetGroupPairInfo& value) { m_targetGroupPairInfoListHasBeenSet = true; m_targetGroupPairInfoList.push_back(value); return *this; } /** *

The target group pair information. This is an array of * TargeGroupPairInfo objects with a maximum size of one.

*/ inline LoadBalancerInfo& AddTargetGroupPairInfoList(TargetGroupPairInfo&& value) { m_targetGroupPairInfoListHasBeenSet = true; m_targetGroupPairInfoList.push_back(std::move(value)); return *this; } private: Aws::Vector m_elbInfoList; bool m_elbInfoListHasBeenSet = false; Aws::Vector m_targetGroupInfoList; bool m_targetGroupInfoListHasBeenSet = false; Aws::Vector m_targetGroupPairInfoList; bool m_targetGroupPairInfoListHasBeenSet = false; }; } // namespace Model } // namespace CodeDeploy } // namespace Aws