AWS SDK for C++

AWS SDK for C++ Version 1.11.612

Loading...
Searching...
No Matches
LoadBalancerAttributes.h
1
6#pragma once
7#include <aws/elasticloadbalancing/ElasticLoadBalancing_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/elasticloadbalancing/model/CrossZoneLoadBalancing.h>
10#include <aws/elasticloadbalancing/model/AccessLog.h>
11#include <aws/elasticloadbalancing/model/ConnectionDraining.h>
12#include <aws/elasticloadbalancing/model/ConnectionSettings.h>
13#include <aws/core/utils/memory/stl/AWSVector.h>
14#include <aws/elasticloadbalancing/model/AdditionalAttribute.h>
15#include <utility>
16
17namespace Aws
18{
19namespace Utils
20{
21namespace Xml
22{
23 class XmlNode;
24} // namespace Xml
25} // namespace Utils
26namespace ElasticLoadBalancing
27{
28namespace Model
29{
30
37 {
38 public:
39 AWS_ELASTICLOADBALANCING_API LoadBalancerAttributes() = default;
40 AWS_ELASTICLOADBALANCING_API LoadBalancerAttributes(const Aws::Utils::Xml::XmlNode& xmlNode);
41 AWS_ELASTICLOADBALANCING_API LoadBalancerAttributes& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
42
43 AWS_ELASTICLOADBALANCING_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
44 AWS_ELASTICLOADBALANCING_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
45
46
48
55 inline const CrossZoneLoadBalancing& GetCrossZoneLoadBalancing() const { return m_crossZoneLoadBalancing; }
56 inline bool CrossZoneLoadBalancingHasBeenSet() const { return m_crossZoneLoadBalancingHasBeenSet; }
57 template<typename CrossZoneLoadBalancingT = CrossZoneLoadBalancing>
58 void SetCrossZoneLoadBalancing(CrossZoneLoadBalancingT&& value) { m_crossZoneLoadBalancingHasBeenSet = true; m_crossZoneLoadBalancing = std::forward<CrossZoneLoadBalancingT>(value); }
59 template<typename CrossZoneLoadBalancingT = CrossZoneLoadBalancing>
60 LoadBalancerAttributes& WithCrossZoneLoadBalancing(CrossZoneLoadBalancingT&& value) { SetCrossZoneLoadBalancing(std::forward<CrossZoneLoadBalancingT>(value)); return *this;}
62
64
71 inline const AccessLog& GetAccessLog() const { return m_accessLog; }
72 inline bool AccessLogHasBeenSet() const { return m_accessLogHasBeenSet; }
73 template<typename AccessLogT = AccessLog>
74 void SetAccessLog(AccessLogT&& value) { m_accessLogHasBeenSet = true; m_accessLog = std::forward<AccessLogT>(value); }
75 template<typename AccessLogT = AccessLog>
76 LoadBalancerAttributes& WithAccessLog(AccessLogT&& value) { SetAccessLog(std::forward<AccessLogT>(value)); return *this;}
78
80
87 inline const ConnectionDraining& GetConnectionDraining() const { return m_connectionDraining; }
88 inline bool ConnectionDrainingHasBeenSet() const { return m_connectionDrainingHasBeenSet; }
89 template<typename ConnectionDrainingT = ConnectionDraining>
90 void SetConnectionDraining(ConnectionDrainingT&& value) { m_connectionDrainingHasBeenSet = true; m_connectionDraining = std::forward<ConnectionDrainingT>(value); }
91 template<typename ConnectionDrainingT = ConnectionDraining>
92 LoadBalancerAttributes& WithConnectionDraining(ConnectionDrainingT&& value) { SetConnectionDraining(std::forward<ConnectionDrainingT>(value)); return *this;}
94
96
105 inline const ConnectionSettings& GetConnectionSettings() const { return m_connectionSettings; }
106 inline bool ConnectionSettingsHasBeenSet() const { return m_connectionSettingsHasBeenSet; }
107 template<typename ConnectionSettingsT = ConnectionSettings>
108 void SetConnectionSettings(ConnectionSettingsT&& value) { m_connectionSettingsHasBeenSet = true; m_connectionSettings = std::forward<ConnectionSettingsT>(value); }
109 template<typename ConnectionSettingsT = ConnectionSettings>
110 LoadBalancerAttributes& WithConnectionSettings(ConnectionSettingsT&& value) { SetConnectionSettings(std::forward<ConnectionSettingsT>(value)); return *this;}
112
114
117 inline const Aws::Vector<AdditionalAttribute>& GetAdditionalAttributes() const { return m_additionalAttributes; }
118 inline bool AdditionalAttributesHasBeenSet() const { return m_additionalAttributesHasBeenSet; }
119 template<typename AdditionalAttributesT = Aws::Vector<AdditionalAttribute>>
120 void SetAdditionalAttributes(AdditionalAttributesT&& value) { m_additionalAttributesHasBeenSet = true; m_additionalAttributes = std::forward<AdditionalAttributesT>(value); }
121 template<typename AdditionalAttributesT = Aws::Vector<AdditionalAttribute>>
122 LoadBalancerAttributes& WithAdditionalAttributes(AdditionalAttributesT&& value) { SetAdditionalAttributes(std::forward<AdditionalAttributesT>(value)); return *this;}
123 template<typename AdditionalAttributesT = AdditionalAttribute>
124 LoadBalancerAttributes& AddAdditionalAttributes(AdditionalAttributesT&& value) { m_additionalAttributesHasBeenSet = true; m_additionalAttributes.emplace_back(std::forward<AdditionalAttributesT>(value)); return *this; }
126 private:
127
128 CrossZoneLoadBalancing m_crossZoneLoadBalancing;
129 bool m_crossZoneLoadBalancingHasBeenSet = false;
130
131 AccessLog m_accessLog;
132 bool m_accessLogHasBeenSet = false;
133
134 ConnectionDraining m_connectionDraining;
135 bool m_connectionDrainingHasBeenSet = false;
136
137 ConnectionSettings m_connectionSettings;
138 bool m_connectionSettingsHasBeenSet = false;
139
140 Aws::Vector<AdditionalAttribute> m_additionalAttributes;
141 bool m_additionalAttributesHasBeenSet = false;
142 };
143
144} // namespace Model
145} // namespace ElasticLoadBalancing
146} // 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