AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
AwsElbLoadBalancerAttributes.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSVector.h>
8#include <aws/securityhub/SecurityHub_EXPORTS.h>
9#include <aws/securityhub/model/AwsElbLoadBalancerAccessLog.h>
10#include <aws/securityhub/model/AwsElbLoadBalancerAdditionalAttribute.h>
11#include <aws/securityhub/model/AwsElbLoadBalancerConnectionDraining.h>
12#include <aws/securityhub/model/AwsElbLoadBalancerConnectionSettings.h>
13#include <aws/securityhub/model/AwsElbLoadBalancerCrossZoneLoadBalancing.h>
14
15#include <utility>
16
17namespace Aws {
18namespace Utils {
19namespace Json {
20class JsonValue;
21class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace SecurityHub {
25namespace Model {
26
33 public:
34 AWS_SECURITYHUB_API AwsElbLoadBalancerAttributes() = default;
37 AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const;
38
40
45 inline const AwsElbLoadBalancerAccessLog& GetAccessLog() const { return m_accessLog; }
46 inline bool AccessLogHasBeenSet() const { return m_accessLogHasBeenSet; }
47 template <typename AccessLogT = AwsElbLoadBalancerAccessLog>
48 void SetAccessLog(AccessLogT&& value) {
49 m_accessLogHasBeenSet = true;
50 m_accessLog = std::forward<AccessLogT>(value);
51 }
52 template <typename AccessLogT = AwsElbLoadBalancerAccessLog>
54 SetAccessLog(std::forward<AccessLogT>(value));
55 return *this;
56 }
58
60
66 inline const AwsElbLoadBalancerConnectionDraining& GetConnectionDraining() const { return m_connectionDraining; }
67 inline bool ConnectionDrainingHasBeenSet() const { return m_connectionDrainingHasBeenSet; }
68 template <typename ConnectionDrainingT = AwsElbLoadBalancerConnectionDraining>
69 void SetConnectionDraining(ConnectionDrainingT&& value) {
70 m_connectionDrainingHasBeenSet = true;
71 m_connectionDraining = std::forward<ConnectionDrainingT>(value);
72 }
73 template <typename ConnectionDrainingT = AwsElbLoadBalancerConnectionDraining>
75 SetConnectionDraining(std::forward<ConnectionDrainingT>(value));
76 return *this;
77 }
79
81
87 inline const AwsElbLoadBalancerConnectionSettings& GetConnectionSettings() const { return m_connectionSettings; }
88 inline bool ConnectionSettingsHasBeenSet() const { return m_connectionSettingsHasBeenSet; }
89 template <typename ConnectionSettingsT = AwsElbLoadBalancerConnectionSettings>
90 void SetConnectionSettings(ConnectionSettingsT&& value) {
91 m_connectionSettingsHasBeenSet = true;
92 m_connectionSettings = std::forward<ConnectionSettingsT>(value);
93 }
94 template <typename ConnectionSettingsT = AwsElbLoadBalancerConnectionSettings>
96 SetConnectionSettings(std::forward<ConnectionSettingsT>(value));
97 return *this;
98 }
100
102
107 inline const AwsElbLoadBalancerCrossZoneLoadBalancing& GetCrossZoneLoadBalancing() const { return m_crossZoneLoadBalancing; }
108 inline bool CrossZoneLoadBalancingHasBeenSet() const { return m_crossZoneLoadBalancingHasBeenSet; }
109 template <typename CrossZoneLoadBalancingT = AwsElbLoadBalancerCrossZoneLoadBalancing>
110 void SetCrossZoneLoadBalancing(CrossZoneLoadBalancingT&& value) {
111 m_crossZoneLoadBalancingHasBeenSet = true;
112 m_crossZoneLoadBalancing = std::forward<CrossZoneLoadBalancingT>(value);
113 }
114 template <typename CrossZoneLoadBalancingT = AwsElbLoadBalancerCrossZoneLoadBalancing>
116 SetCrossZoneLoadBalancing(std::forward<CrossZoneLoadBalancingT>(value));
117 return *this;
118 }
120
122
125 inline const Aws::Vector<AwsElbLoadBalancerAdditionalAttribute>& GetAdditionalAttributes() const { return m_additionalAttributes; }
126 inline bool AdditionalAttributesHasBeenSet() const { return m_additionalAttributesHasBeenSet; }
127 template <typename AdditionalAttributesT = Aws::Vector<AwsElbLoadBalancerAdditionalAttribute>>
128 void SetAdditionalAttributes(AdditionalAttributesT&& value) {
129 m_additionalAttributesHasBeenSet = true;
130 m_additionalAttributes = std::forward<AdditionalAttributesT>(value);
131 }
132 template <typename AdditionalAttributesT = Aws::Vector<AwsElbLoadBalancerAdditionalAttribute>>
134 SetAdditionalAttributes(std::forward<AdditionalAttributesT>(value));
135 return *this;
136 }
137 template <typename AdditionalAttributesT = AwsElbLoadBalancerAdditionalAttribute>
139 m_additionalAttributesHasBeenSet = true;
140 m_additionalAttributes.emplace_back(std::forward<AdditionalAttributesT>(value));
141 return *this;
142 }
144 private:
145 AwsElbLoadBalancerAccessLog m_accessLog;
146
147 AwsElbLoadBalancerConnectionDraining m_connectionDraining;
148
149 AwsElbLoadBalancerConnectionSettings m_connectionSettings;
150
151 AwsElbLoadBalancerCrossZoneLoadBalancing m_crossZoneLoadBalancing;
152
154 bool m_accessLogHasBeenSet = false;
155 bool m_connectionDrainingHasBeenSet = false;
156 bool m_connectionSettingsHasBeenSet = false;
157 bool m_crossZoneLoadBalancingHasBeenSet = false;
158 bool m_additionalAttributesHasBeenSet = false;
159};
160
161} // namespace Model
162} // namespace SecurityHub
163} // namespace Aws
const Aws::Vector< AwsElbLoadBalancerAdditionalAttribute > & GetAdditionalAttributes() const
const AwsElbLoadBalancerAccessLog & GetAccessLog() const
AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_SECURITYHUB_API AwsElbLoadBalancerAttributes(Aws::Utils::Json::JsonView jsonValue)
AwsElbLoadBalancerAttributes & WithConnectionDraining(ConnectionDrainingT &&value)
const AwsElbLoadBalancerConnectionDraining & GetConnectionDraining() const
const AwsElbLoadBalancerConnectionSettings & GetConnectionSettings() const
AwsElbLoadBalancerAttributes & WithAdditionalAttributes(AdditionalAttributesT &&value)
const AwsElbLoadBalancerCrossZoneLoadBalancing & GetCrossZoneLoadBalancing() const
AwsElbLoadBalancerAttributes & AddAdditionalAttributes(AdditionalAttributesT &&value)
AWS_SECURITYHUB_API AwsElbLoadBalancerAttributes & operator=(Aws::Utils::Json::JsonView jsonValue)
AwsElbLoadBalancerAttributes & WithConnectionSettings(ConnectionSettingsT &&value)
AWS_SECURITYHUB_API AwsElbLoadBalancerAttributes()=default
AwsElbLoadBalancerAttributes & WithAccessLog(AccessLogT &&value)
AwsElbLoadBalancerAttributes & WithCrossZoneLoadBalancing(CrossZoneLoadBalancingT &&value)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue