AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
LoadBalancerInfo.h
1
6#pragma once
7#include <aws/codedeploy/CodeDeploy_EXPORTS.h>
8#include <aws/codedeploy/model/ELBInfo.h>
9#include <aws/codedeploy/model/TargetGroupInfo.h>
10#include <aws/codedeploy/model/TargetGroupPairInfo.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Json {
18class JsonValue;
19class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace CodeDeploy {
23namespace Model {
24
36 public:
37 AWS_CODEDEPLOY_API LoadBalancerInfo() = default;
38 AWS_CODEDEPLOY_API LoadBalancerInfo(Aws::Utils::Json::JsonView jsonValue);
40 AWS_CODEDEPLOY_API Aws::Utils::Json::JsonValue Jsonize() const;
41
43
51 inline const Aws::Vector<ELBInfo>& GetElbInfoList() const { return m_elbInfoList; }
52 inline bool ElbInfoListHasBeenSet() const { return m_elbInfoListHasBeenSet; }
53 template <typename ElbInfoListT = Aws::Vector<ELBInfo>>
54 void SetElbInfoList(ElbInfoListT&& value) {
55 m_elbInfoListHasBeenSet = true;
56 m_elbInfoList = std::forward<ElbInfoListT>(value);
57 }
58 template <typename ElbInfoListT = Aws::Vector<ELBInfo>>
59 LoadBalancerInfo& WithElbInfoList(ElbInfoListT&& value) {
60 SetElbInfoList(std::forward<ElbInfoListT>(value));
61 return *this;
62 }
63 template <typename ElbInfoListT = ELBInfo>
64 LoadBalancerInfo& AddElbInfoList(ElbInfoListT&& value) {
65 m_elbInfoListHasBeenSet = true;
66 m_elbInfoList.emplace_back(std::forward<ElbInfoListT>(value));
67 return *this;
68 }
70
72
80 inline const Aws::Vector<TargetGroupInfo>& GetTargetGroupInfoList() const { return m_targetGroupInfoList; }
81 inline bool TargetGroupInfoListHasBeenSet() const { return m_targetGroupInfoListHasBeenSet; }
82 template <typename TargetGroupInfoListT = Aws::Vector<TargetGroupInfo>>
83 void SetTargetGroupInfoList(TargetGroupInfoListT&& value) {
84 m_targetGroupInfoListHasBeenSet = true;
85 m_targetGroupInfoList = std::forward<TargetGroupInfoListT>(value);
86 }
87 template <typename TargetGroupInfoListT = Aws::Vector<TargetGroupInfo>>
88 LoadBalancerInfo& WithTargetGroupInfoList(TargetGroupInfoListT&& value) {
89 SetTargetGroupInfoList(std::forward<TargetGroupInfoListT>(value));
90 return *this;
91 }
92 template <typename TargetGroupInfoListT = TargetGroupInfo>
93 LoadBalancerInfo& AddTargetGroupInfoList(TargetGroupInfoListT&& value) {
94 m_targetGroupInfoListHasBeenSet = true;
95 m_targetGroupInfoList.emplace_back(std::forward<TargetGroupInfoListT>(value));
96 return *this;
97 }
99
101
105 inline const Aws::Vector<TargetGroupPairInfo>& GetTargetGroupPairInfoList() const { return m_targetGroupPairInfoList; }
106 inline bool TargetGroupPairInfoListHasBeenSet() const { return m_targetGroupPairInfoListHasBeenSet; }
107 template <typename TargetGroupPairInfoListT = Aws::Vector<TargetGroupPairInfo>>
108 void SetTargetGroupPairInfoList(TargetGroupPairInfoListT&& value) {
109 m_targetGroupPairInfoListHasBeenSet = true;
110 m_targetGroupPairInfoList = std::forward<TargetGroupPairInfoListT>(value);
111 }
112 template <typename TargetGroupPairInfoListT = Aws::Vector<TargetGroupPairInfo>>
113 LoadBalancerInfo& WithTargetGroupPairInfoList(TargetGroupPairInfoListT&& value) {
114 SetTargetGroupPairInfoList(std::forward<TargetGroupPairInfoListT>(value));
115 return *this;
116 }
117 template <typename TargetGroupPairInfoListT = TargetGroupPairInfo>
118 LoadBalancerInfo& AddTargetGroupPairInfoList(TargetGroupPairInfoListT&& value) {
119 m_targetGroupPairInfoListHasBeenSet = true;
120 m_targetGroupPairInfoList.emplace_back(std::forward<TargetGroupPairInfoListT>(value));
121 return *this;
122 }
124 private:
125 Aws::Vector<ELBInfo> m_elbInfoList;
126
127 Aws::Vector<TargetGroupInfo> m_targetGroupInfoList;
128
129 Aws::Vector<TargetGroupPairInfo> m_targetGroupPairInfoList;
130 bool m_elbInfoListHasBeenSet = false;
131 bool m_targetGroupInfoListHasBeenSet = false;
132 bool m_targetGroupPairInfoListHasBeenSet = false;
133};
134
135} // namespace Model
136} // namespace CodeDeploy
137} // namespace Aws
AWS_CODEDEPLOY_API LoadBalancerInfo()=default
LoadBalancerInfo & AddTargetGroupPairInfoList(TargetGroupPairInfoListT &&value)
void SetElbInfoList(ElbInfoListT &&value)
LoadBalancerInfo & AddTargetGroupInfoList(TargetGroupInfoListT &&value)
LoadBalancerInfo & WithTargetGroupInfoList(TargetGroupInfoListT &&value)
LoadBalancerInfo & WithTargetGroupPairInfoList(TargetGroupPairInfoListT &&value)
LoadBalancerInfo & WithElbInfoList(ElbInfoListT &&value)
LoadBalancerInfo & AddElbInfoList(ElbInfoListT &&value)
AWS_CODEDEPLOY_API LoadBalancerInfo(Aws::Utils::Json::JsonView jsonValue)
AWS_CODEDEPLOY_API Aws::Utils::Json::JsonValue Jsonize() const
const Aws::Vector< TargetGroupPairInfo > & GetTargetGroupPairInfoList() const
const Aws::Vector< TargetGroupInfo > & GetTargetGroupInfoList() const
void SetTargetGroupPairInfoList(TargetGroupPairInfoListT &&value)
const Aws::Vector< ELBInfo > & GetElbInfoList() const
AWS_CODEDEPLOY_API LoadBalancerInfo & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetTargetGroupInfoList(TargetGroupInfoListT &&value)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue