AWS SDK for C++

AWS SDK for C++ Version 1.11.919

Loading...
Searching...
No Matches
HostSharedAlbConfiguration.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/ecs/ECS_EXPORTS.h>
9#include <aws/ecs/model/GatewayAlbDesyncMitigationMode.h>
10#include <aws/ecs/model/GatewayAlbProtocol.h>
11#include <aws/ecs/model/GatewayAlbTestTrafficRules.h>
12#include <aws/ecs/model/GatewayElbAccessLogConfiguration.h>
13#include <aws/ecs/model/GatewayElbNetworkConfiguration.h>
14#include <aws/ecs/model/GatewayElbScheme.h>
15
16#include <utility>
17
18namespace Aws {
19namespace Utils {
20namespace Json {
21class JsonValue;
22class JsonView;
23} // namespace Json
24} // namespace Utils
25namespace ECS {
26namespace Model {
27
36 public:
37 AWS_ECS_API HostSharedAlbConfiguration() = default;
41
43
47 inline const GatewayElbNetworkConfiguration& GetNetworkConfiguration() const { return m_networkConfiguration; }
48 inline bool NetworkConfigurationHasBeenSet() const { return m_networkConfigurationHasBeenSet; }
49 template <typename NetworkConfigurationT = GatewayElbNetworkConfiguration>
50 void SetNetworkConfiguration(NetworkConfigurationT&& value) {
51 m_networkConfigurationHasBeenSet = true;
52 m_networkConfiguration = std::forward<NetworkConfigurationT>(value);
53 }
54 template <typename NetworkConfigurationT = GatewayElbNetworkConfiguration>
55 HostSharedAlbConfiguration& WithNetworkConfiguration(NetworkConfigurationT&& value) {
56 SetNetworkConfiguration(std::forward<NetworkConfigurationT>(value));
57 return *this;
58 }
60
62
67 inline GatewayElbScheme GetScheme() const { return m_scheme; }
68 inline bool SchemeHasBeenSet() const { return m_schemeHasBeenSet; }
69 inline void SetScheme(GatewayElbScheme value) {
70 m_schemeHasBeenSet = true;
71 m_scheme = value;
72 }
74 SetScheme(value);
75 return *this;
76 }
78
80
84 inline const Aws::String& GetWebACLArn() const { return m_webACLArn; }
85 inline bool WebACLArnHasBeenSet() const { return m_webACLArnHasBeenSet; }
86 template <typename WebACLArnT = Aws::String>
87 void SetWebACLArn(WebACLArnT&& value) {
88 m_webACLArnHasBeenSet = true;
89 m_webACLArn = std::forward<WebACLArnT>(value);
90 }
91 template <typename WebACLArnT = Aws::String>
93 SetWebACLArn(std::forward<WebACLArnT>(value));
94 return *this;
95 }
97
99
103 inline const GatewayElbAccessLogConfiguration& GetAccessLogs() const { return m_accessLogs; }
104 inline bool AccessLogsHasBeenSet() const { return m_accessLogsHasBeenSet; }
105 template <typename AccessLogsT = GatewayElbAccessLogConfiguration>
106 void SetAccessLogs(AccessLogsT&& value) {
107 m_accessLogsHasBeenSet = true;
108 m_accessLogs = std::forward<AccessLogsT>(value);
109 }
110 template <typename AccessLogsT = GatewayElbAccessLogConfiguration>
112 SetAccessLogs(std::forward<AccessLogsT>(value));
113 return *this;
114 }
116
118
122 inline int GetPort() const { return m_port; }
123 inline bool PortHasBeenSet() const { return m_portHasBeenSet; }
124 inline void SetPort(int value) {
125 m_portHasBeenSet = true;
126 m_port = value;
127 }
129 SetPort(value);
130 return *this;
131 }
133
135
139 inline GatewayAlbProtocol GetProtocol() const { return m_protocol; }
140 inline bool ProtocolHasBeenSet() const { return m_protocolHasBeenSet; }
141 inline void SetProtocol(GatewayAlbProtocol value) {
142 m_protocolHasBeenSet = true;
143 m_protocol = value;
144 }
146 SetProtocol(value);
147 return *this;
148 }
150
152
156 inline int GetMaxAlbCount() const { return m_maxAlbCount; }
157 inline bool MaxAlbCountHasBeenSet() const { return m_maxAlbCountHasBeenSet; }
158 inline void SetMaxAlbCount(int value) {
159 m_maxAlbCountHasBeenSet = true;
160 m_maxAlbCount = value;
161 }
163 SetMaxAlbCount(value);
164 return *this;
165 }
167
169
174 inline GatewayAlbDesyncMitigationMode GetHttpDesync() const { return m_httpDesync; }
175 inline bool HttpDesyncHasBeenSet() const { return m_httpDesyncHasBeenSet; }
177 m_httpDesyncHasBeenSet = true;
178 m_httpDesync = value;
179 }
181 SetHttpDesync(value);
182 return *this;
183 }
185
187
193 inline const GatewayAlbTestTrafficRules& GetTestTrafficRules() const { return m_testTrafficRules; }
194 inline bool TestTrafficRulesHasBeenSet() const { return m_testTrafficRulesHasBeenSet; }
195 template <typename TestTrafficRulesT = GatewayAlbTestTrafficRules>
196 void SetTestTrafficRules(TestTrafficRulesT&& value) {
197 m_testTrafficRulesHasBeenSet = true;
198 m_testTrafficRules = std::forward<TestTrafficRulesT>(value);
199 }
200 template <typename TestTrafficRulesT = GatewayAlbTestTrafficRules>
202 SetTestTrafficRules(std::forward<TestTrafficRulesT>(value));
203 return *this;
204 }
206 private:
207 GatewayElbNetworkConfiguration m_networkConfiguration;
208
210
211 Aws::String m_webACLArn;
212
213 GatewayElbAccessLogConfiguration m_accessLogs;
214
215 int m_port{0};
216
218
219 int m_maxAlbCount{0};
220
222
223 GatewayAlbTestTrafficRules m_testTrafficRules;
224 bool m_networkConfigurationHasBeenSet = false;
225 bool m_schemeHasBeenSet = false;
226 bool m_webACLArnHasBeenSet = false;
227 bool m_accessLogsHasBeenSet = false;
228 bool m_portHasBeenSet = false;
229 bool m_protocolHasBeenSet = false;
230 bool m_maxAlbCountHasBeenSet = false;
231 bool m_httpDesyncHasBeenSet = false;
232 bool m_testTrafficRulesHasBeenSet = false;
233};
234
235} // namespace Model
236} // namespace ECS
237} // namespace Aws
void SetNetworkConfiguration(NetworkConfigurationT &&value)
HostSharedAlbConfiguration & WithHttpDesync(GatewayAlbDesyncMitigationMode value)
void SetHttpDesync(GatewayAlbDesyncMitigationMode value)
HostSharedAlbConfiguration & WithPort(int value)
AWS_ECS_API HostSharedAlbConfiguration(Aws::Utils::Json::JsonView jsonValue)
HostSharedAlbConfiguration & WithMaxAlbCount(int value)
HostSharedAlbConfiguration & WithWebACLArn(WebACLArnT &&value)
HostSharedAlbConfiguration & WithNetworkConfiguration(NetworkConfigurationT &&value)
HostSharedAlbConfiguration & WithTestTrafficRules(TestTrafficRulesT &&value)
HostSharedAlbConfiguration & WithScheme(GatewayElbScheme value)
AWS_ECS_API Aws::Utils::Json::JsonValue Jsonize() const
const GatewayAlbTestTrafficRules & GetTestTrafficRules() const
const GatewayElbNetworkConfiguration & GetNetworkConfiguration() const
GatewayAlbDesyncMitigationMode GetHttpDesync() const
HostSharedAlbConfiguration & WithProtocol(GatewayAlbProtocol value)
const GatewayElbAccessLogConfiguration & GetAccessLogs() const
HostSharedAlbConfiguration & WithAccessLogs(AccessLogsT &&value)
AWS_ECS_API HostSharedAlbConfiguration()=default
AWS_ECS_API HostSharedAlbConfiguration & operator=(Aws::Utils::Json::JsonView jsonValue)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue