AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
LoadBalancerAttributes.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/elasticloadbalancing/ElasticLoadBalancing_EXPORTS.h>
10#include <aws/elasticloadbalancing/model/AccessLog.h>
11#include <aws/elasticloadbalancing/model/AdditionalAttribute.h>
12#include <aws/elasticloadbalancing/model/ConnectionDraining.h>
13#include <aws/elasticloadbalancing/model/ConnectionSettings.h>
14#include <aws/elasticloadbalancing/model/CrossZoneLoadBalancing.h>
15
16#include <utility>
17
18namespace Aws {
19namespace Utils {
20namespace Xml {
21class XmlNode;
22} // namespace Xml
23} // namespace Utils
24namespace ElasticLoadBalancing {
25namespace Model {
26
33 public:
34 AWS_ELASTICLOADBALANCING_API LoadBalancerAttributes() = default;
35 AWS_ELASTICLOADBALANCING_API LoadBalancerAttributes(const Aws::Utils::Xml::XmlNode& xmlNode);
36 AWS_ELASTICLOADBALANCING_API LoadBalancerAttributes& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
37
38 AWS_ELASTICLOADBALANCING_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index,
39 const char* locationValue) const;
40 AWS_ELASTICLOADBALANCING_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
41
43
50 inline const CrossZoneLoadBalancing& GetCrossZoneLoadBalancing() const { return m_crossZoneLoadBalancing; }
51 inline bool CrossZoneLoadBalancingHasBeenSet() const { return m_crossZoneLoadBalancingHasBeenSet; }
52 template <typename CrossZoneLoadBalancingT = CrossZoneLoadBalancing>
53 void SetCrossZoneLoadBalancing(CrossZoneLoadBalancingT&& value) {
54 m_crossZoneLoadBalancingHasBeenSet = true;
55 m_crossZoneLoadBalancing = std::forward<CrossZoneLoadBalancingT>(value);
56 }
57 template <typename CrossZoneLoadBalancingT = CrossZoneLoadBalancing>
58 LoadBalancerAttributes& WithCrossZoneLoadBalancing(CrossZoneLoadBalancingT&& value) {
59 SetCrossZoneLoadBalancing(std::forward<CrossZoneLoadBalancingT>(value));
60 return *this;
61 }
63
65
72 inline const AccessLog& GetAccessLog() const { return m_accessLog; }
73 inline bool AccessLogHasBeenSet() const { return m_accessLogHasBeenSet; }
74 template <typename AccessLogT = AccessLog>
75 void SetAccessLog(AccessLogT&& value) {
76 m_accessLogHasBeenSet = true;
77 m_accessLog = std::forward<AccessLogT>(value);
78 }
79 template <typename AccessLogT = AccessLog>
81 SetAccessLog(std::forward<AccessLogT>(value));
82 return *this;
83 }
85
87
94 inline const ConnectionDraining& GetConnectionDraining() const { return m_connectionDraining; }
95 inline bool ConnectionDrainingHasBeenSet() const { return m_connectionDrainingHasBeenSet; }
96 template <typename ConnectionDrainingT = ConnectionDraining>
97 void SetConnectionDraining(ConnectionDrainingT&& value) {
98 m_connectionDrainingHasBeenSet = true;
99 m_connectionDraining = std::forward<ConnectionDrainingT>(value);
100 }
101 template <typename ConnectionDrainingT = ConnectionDraining>
102 LoadBalancerAttributes& WithConnectionDraining(ConnectionDrainingT&& value) {
103 SetConnectionDraining(std::forward<ConnectionDrainingT>(value));
104 return *this;
105 }
107
109
118 inline const ConnectionSettings& GetConnectionSettings() const { return m_connectionSettings; }
119 inline bool ConnectionSettingsHasBeenSet() const { return m_connectionSettingsHasBeenSet; }
120 template <typename ConnectionSettingsT = ConnectionSettings>
121 void SetConnectionSettings(ConnectionSettingsT&& value) {
122 m_connectionSettingsHasBeenSet = true;
123 m_connectionSettings = std::forward<ConnectionSettingsT>(value);
124 }
125 template <typename ConnectionSettingsT = ConnectionSettings>
126 LoadBalancerAttributes& WithConnectionSettings(ConnectionSettingsT&& value) {
127 SetConnectionSettings(std::forward<ConnectionSettingsT>(value));
128 return *this;
129 }
131
133
136 inline const Aws::Vector<AdditionalAttribute>& GetAdditionalAttributes() const { return m_additionalAttributes; }
137 inline bool AdditionalAttributesHasBeenSet() const { return m_additionalAttributesHasBeenSet; }
138 template <typename AdditionalAttributesT = Aws::Vector<AdditionalAttribute>>
139 void SetAdditionalAttributes(AdditionalAttributesT&& value) {
140 m_additionalAttributesHasBeenSet = true;
141 m_additionalAttributes = std::forward<AdditionalAttributesT>(value);
142 }
143 template <typename AdditionalAttributesT = Aws::Vector<AdditionalAttribute>>
144 LoadBalancerAttributes& WithAdditionalAttributes(AdditionalAttributesT&& value) {
145 SetAdditionalAttributes(std::forward<AdditionalAttributesT>(value));
146 return *this;
147 }
148 template <typename AdditionalAttributesT = AdditionalAttribute>
149 LoadBalancerAttributes& AddAdditionalAttributes(AdditionalAttributesT&& value) {
150 m_additionalAttributesHasBeenSet = true;
151 m_additionalAttributes.emplace_back(std::forward<AdditionalAttributesT>(value));
152 return *this;
153 }
155 private:
156 CrossZoneLoadBalancing m_crossZoneLoadBalancing;
157
158 AccessLog m_accessLog;
159
160 ConnectionDraining m_connectionDraining;
161
162 ConnectionSettings m_connectionSettings;
163
164 Aws::Vector<AdditionalAttribute> m_additionalAttributes;
165 bool m_crossZoneLoadBalancingHasBeenSet = false;
166 bool m_accessLogHasBeenSet = false;
167 bool m_connectionDrainingHasBeenSet = false;
168 bool m_connectionSettingsHasBeenSet = false;
169 bool m_additionalAttributesHasBeenSet = false;
170};
171
172} // namespace Model
173} // namespace ElasticLoadBalancing
174} // namespace Aws
const CrossZoneLoadBalancing & GetCrossZoneLoadBalancing() const
AWS_ELASTICLOADBALANCING_API LoadBalancerAttributes(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_ELASTICLOADBALANCING_API LoadBalancerAttributes()=default
AWS_ELASTICLOADBALANCING_API void OutputToStream(Aws::OStream &oStream, const char *location) const
LoadBalancerAttributes & WithAccessLog(AccessLogT &&value)
LoadBalancerAttributes & WithConnectionDraining(ConnectionDrainingT &&value)
AWS_ELASTICLOADBALANCING_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
const Aws::Vector< AdditionalAttribute > & GetAdditionalAttributes() const
LoadBalancerAttributes & AddAdditionalAttributes(AdditionalAttributesT &&value)
LoadBalancerAttributes & WithAdditionalAttributes(AdditionalAttributesT &&value)
void SetCrossZoneLoadBalancing(CrossZoneLoadBalancingT &&value)
LoadBalancerAttributes & WithConnectionSettings(ConnectionSettingsT &&value)
LoadBalancerAttributes & WithCrossZoneLoadBalancing(CrossZoneLoadBalancingT &&value)
AWS_ELASTICLOADBALANCING_API LoadBalancerAttributes & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream