AWS SDK for C++

AWS SDK for C++ Version 1.11.919

Loading...
Searching...
No Matches
UpdateGatewayAlbConfiguration.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/GatewayAlbTestTrafficRules.h>
11#include <aws/ecs/model/GatewayElbAccessLogConfiguration.h>
12#include <aws/ecs/model/UpdateGatewayNetworkConfiguration.h>
13
14#include <utility>
15
16namespace Aws {
17namespace Utils {
18namespace Json {
19class JsonValue;
20class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace ECS {
24namespace Model {
25
34 public:
35 AWS_ECS_API UpdateGatewayAlbConfiguration() = default;
39
41
45 inline const UpdateGatewayNetworkConfiguration& GetNetworkConfiguration() const { return m_networkConfiguration; }
46 inline bool NetworkConfigurationHasBeenSet() const { return m_networkConfigurationHasBeenSet; }
47 template <typename NetworkConfigurationT = UpdateGatewayNetworkConfiguration>
48 void SetNetworkConfiguration(NetworkConfigurationT&& value) {
49 m_networkConfigurationHasBeenSet = true;
50 m_networkConfiguration = std::forward<NetworkConfigurationT>(value);
51 }
52 template <typename NetworkConfigurationT = UpdateGatewayNetworkConfiguration>
54 SetNetworkConfiguration(std::forward<NetworkConfigurationT>(value));
55 return *this;
56 }
58
60
64 inline int GetMaxAlbCount() const { return m_maxAlbCount; }
65 inline bool MaxAlbCountHasBeenSet() const { return m_maxAlbCountHasBeenSet; }
66 inline void SetMaxAlbCount(int value) {
67 m_maxAlbCountHasBeenSet = true;
68 m_maxAlbCount = value;
69 }
71 SetMaxAlbCount(value);
72 return *this;
73 }
75
77
81 inline const Aws::String& GetWebACLArn() const { return m_webACLArn; }
82 inline bool WebACLArnHasBeenSet() const { return m_webACLArnHasBeenSet; }
83 template <typename WebACLArnT = Aws::String>
84 void SetWebACLArn(WebACLArnT&& value) {
85 m_webACLArnHasBeenSet = true;
86 m_webACLArn = std::forward<WebACLArnT>(value);
87 }
88 template <typename WebACLArnT = Aws::String>
90 SetWebACLArn(std::forward<WebACLArnT>(value));
91 return *this;
92 }
94
96
100 inline const GatewayElbAccessLogConfiguration& GetAccessLogs() const { return m_accessLogs; }
101 inline bool AccessLogsHasBeenSet() const { return m_accessLogsHasBeenSet; }
102 template <typename AccessLogsT = GatewayElbAccessLogConfiguration>
103 void SetAccessLogs(AccessLogsT&& value) {
104 m_accessLogsHasBeenSet = true;
105 m_accessLogs = std::forward<AccessLogsT>(value);
106 }
107 template <typename AccessLogsT = GatewayElbAccessLogConfiguration>
109 SetAccessLogs(std::forward<AccessLogsT>(value));
110 return *this;
111 }
113
115
119 inline GatewayAlbDesyncMitigationMode GetHttpDesync() const { return m_httpDesync; }
120 inline bool HttpDesyncHasBeenSet() const { return m_httpDesyncHasBeenSet; }
122 m_httpDesyncHasBeenSet = true;
123 m_httpDesync = value;
124 }
126 SetHttpDesync(value);
127 return *this;
128 }
130
132
135 inline const GatewayAlbTestTrafficRules& GetTestTrafficRules() const { return m_testTrafficRules; }
136 inline bool TestTrafficRulesHasBeenSet() const { return m_testTrafficRulesHasBeenSet; }
137 template <typename TestTrafficRulesT = GatewayAlbTestTrafficRules>
138 void SetTestTrafficRules(TestTrafficRulesT&& value) {
139 m_testTrafficRulesHasBeenSet = true;
140 m_testTrafficRules = std::forward<TestTrafficRulesT>(value);
141 }
142 template <typename TestTrafficRulesT = GatewayAlbTestTrafficRules>
144 SetTestTrafficRules(std::forward<TestTrafficRulesT>(value));
145 return *this;
146 }
148 private:
149 UpdateGatewayNetworkConfiguration m_networkConfiguration;
150
151 int m_maxAlbCount{0};
152
153 Aws::String m_webACLArn;
154
155 GatewayElbAccessLogConfiguration m_accessLogs;
156
158
159 GatewayAlbTestTrafficRules m_testTrafficRules;
160 bool m_networkConfigurationHasBeenSet = false;
161 bool m_maxAlbCountHasBeenSet = false;
162 bool m_webACLArnHasBeenSet = false;
163 bool m_accessLogsHasBeenSet = false;
164 bool m_httpDesyncHasBeenSet = false;
165 bool m_testTrafficRulesHasBeenSet = false;
166};
167
168} // namespace Model
169} // namespace ECS
170} // namespace Aws
UpdateGatewayAlbConfiguration & WithTestTrafficRules(TestTrafficRulesT &&value)
UpdateGatewayAlbConfiguration & WithAccessLogs(AccessLogsT &&value)
UpdateGatewayAlbConfiguration & WithMaxAlbCount(int value)
AWS_ECS_API UpdateGatewayAlbConfiguration & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_ECS_API UpdateGatewayAlbConfiguration(Aws::Utils::Json::JsonView jsonValue)
const GatewayAlbTestTrafficRules & GetTestTrafficRules() const
const UpdateGatewayNetworkConfiguration & GetNetworkConfiguration() const
void SetNetworkConfiguration(NetworkConfigurationT &&value)
UpdateGatewayAlbConfiguration & WithNetworkConfiguration(NetworkConfigurationT &&value)
AWS_ECS_API Aws::Utils::Json::JsonValue Jsonize() const
void SetHttpDesync(GatewayAlbDesyncMitigationMode value)
UpdateGatewayAlbConfiguration & WithWebACLArn(WebACLArnT &&value)
UpdateGatewayAlbConfiguration & WithHttpDesync(GatewayAlbDesyncMitigationMode value)
const GatewayElbAccessLogConfiguration & GetAccessLogs() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue