AWS SDK for C++

AWS SDK for C++ Version 1.11.718

Loading...
Searching...
No Matches
CreateLoadBalancerRequest.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/elasticloadbalancingv2/ElasticLoadBalancingv2Request.h>
10#include <aws/elasticloadbalancingv2/ElasticLoadBalancingv2_EXPORTS.h>
11#include <aws/elasticloadbalancingv2/model/EnablePrefixForIpv6SourceNatEnum.h>
12#include <aws/elasticloadbalancingv2/model/IpAddressType.h>
13#include <aws/elasticloadbalancingv2/model/IpamPools.h>
14#include <aws/elasticloadbalancingv2/model/LoadBalancerSchemeEnum.h>
15#include <aws/elasticloadbalancingv2/model/LoadBalancerTypeEnum.h>
16#include <aws/elasticloadbalancingv2/model/SubnetMapping.h>
17#include <aws/elasticloadbalancingv2/model/Tag.h>
18
19#include <utility>
20
21namespace Aws {
22namespace ElasticLoadBalancingv2 {
23namespace Model {
24
28 public:
29 AWS_ELASTICLOADBALANCINGV2_API CreateLoadBalancerRequest() = default;
30
31 // Service request name is the Operation name which will send this request out,
32 // each operation should has unique request name, so that we can get operation's name from this request.
33 // Note: this is not true for response, multiple operations may have the same response name,
34 // so we can not get operation's name from response.
35 inline virtual const char* GetServiceRequestName() const override { return "CreateLoadBalancer"; }
36
37 AWS_ELASTICLOADBALANCINGV2_API Aws::String SerializePayload() const override;
38
39 protected:
40 AWS_ELASTICLOADBALANCINGV2_API void DumpBodyToUrl(Aws::Http::URI& uri) const override;
41
42 public:
44
50 inline const Aws::String& GetName() const { return m_name; }
51 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
52 template <typename NameT = Aws::String>
53 void SetName(NameT&& value) {
54 m_nameHasBeenSet = true;
55 m_name = std::forward<NameT>(value);
56 }
57 template <typename NameT = Aws::String>
59 SetName(std::forward<NameT>(value));
60 return *this;
61 }
63
65
76 inline const Aws::Vector<Aws::String>& GetSubnets() const { return m_subnets; }
77 inline bool SubnetsHasBeenSet() const { return m_subnetsHasBeenSet; }
78 template <typename SubnetsT = Aws::Vector<Aws::String>>
79 void SetSubnets(SubnetsT&& value) {
80 m_subnetsHasBeenSet = true;
81 m_subnets = std::forward<SubnetsT>(value);
82 }
83 template <typename SubnetsT = Aws::Vector<Aws::String>>
85 SetSubnets(std::forward<SubnetsT>(value));
86 return *this;
87 }
88 template <typename SubnetsT = Aws::String>
90 m_subnetsHasBeenSet = true;
91 m_subnets.emplace_back(std::forward<SubnetsT>(value));
92 return *this;
93 }
95
97
113 inline const Aws::Vector<SubnetMapping>& GetSubnetMappings() const { return m_subnetMappings; }
114 inline bool SubnetMappingsHasBeenSet() const { return m_subnetMappingsHasBeenSet; }
115 template <typename SubnetMappingsT = Aws::Vector<SubnetMapping>>
116 void SetSubnetMappings(SubnetMappingsT&& value) {
117 m_subnetMappingsHasBeenSet = true;
118 m_subnetMappings = std::forward<SubnetMappingsT>(value);
119 }
120 template <typename SubnetMappingsT = Aws::Vector<SubnetMapping>>
122 SetSubnetMappings(std::forward<SubnetMappingsT>(value));
123 return *this;
124 }
125 template <typename SubnetMappingsT = SubnetMapping>
127 m_subnetMappingsHasBeenSet = true;
128 m_subnetMappings.emplace_back(std::forward<SubnetMappingsT>(value));
129 return *this;
130 }
132
134
138 inline const Aws::Vector<Aws::String>& GetSecurityGroups() const { return m_securityGroups; }
139 inline bool SecurityGroupsHasBeenSet() const { return m_securityGroupsHasBeenSet; }
140 template <typename SecurityGroupsT = Aws::Vector<Aws::String>>
141 void SetSecurityGroups(SecurityGroupsT&& value) {
142 m_securityGroupsHasBeenSet = true;
143 m_securityGroups = std::forward<SecurityGroupsT>(value);
144 }
145 template <typename SecurityGroupsT = Aws::Vector<Aws::String>>
147 SetSecurityGroups(std::forward<SecurityGroupsT>(value));
148 return *this;
149 }
150 template <typename SecurityGroupsT = Aws::String>
152 m_securityGroupsHasBeenSet = true;
153 m_securityGroups.emplace_back(std::forward<SecurityGroupsT>(value));
154 return *this;
155 }
157
159
171 inline LoadBalancerSchemeEnum GetScheme() const { return m_scheme; }
172 inline bool SchemeHasBeenSet() const { return m_schemeHasBeenSet; }
174 m_schemeHasBeenSet = true;
175 m_scheme = value;
176 }
178 SetScheme(value);
179 return *this;
180 }
182
184
187 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
188 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
189 template <typename TagsT = Aws::Vector<Tag>>
190 void SetTags(TagsT&& value) {
191 m_tagsHasBeenSet = true;
192 m_tags = std::forward<TagsT>(value);
193 }
194 template <typename TagsT = Aws::Vector<Tag>>
196 SetTags(std::forward<TagsT>(value));
197 return *this;
198 }
199 template <typename TagsT = Tag>
201 m_tagsHasBeenSet = true;
202 m_tags.emplace_back(std::forward<TagsT>(value));
203 return *this;
204 }
206
208
211 inline LoadBalancerTypeEnum GetType() const { return m_type; }
212 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
213 inline void SetType(LoadBalancerTypeEnum value) {
214 m_typeHasBeenSet = true;
215 m_type = value;
216 }
218 SetType(value);
219 return *this;
220 }
222
224
233 inline IpAddressType GetIpAddressType() const { return m_ipAddressType; }
234 inline bool IpAddressTypeHasBeenSet() const { return m_ipAddressTypeHasBeenSet; }
235 inline void SetIpAddressType(IpAddressType value) {
236 m_ipAddressTypeHasBeenSet = true;
237 m_ipAddressType = value;
238 }
240 SetIpAddressType(value);
241 return *this;
242 }
244
246
250 inline const Aws::String& GetCustomerOwnedIpv4Pool() const { return m_customerOwnedIpv4Pool; }
251 inline bool CustomerOwnedIpv4PoolHasBeenSet() const { return m_customerOwnedIpv4PoolHasBeenSet; }
252 template <typename CustomerOwnedIpv4PoolT = Aws::String>
253 void SetCustomerOwnedIpv4Pool(CustomerOwnedIpv4PoolT&& value) {
254 m_customerOwnedIpv4PoolHasBeenSet = true;
255 m_customerOwnedIpv4Pool = std::forward<CustomerOwnedIpv4PoolT>(value);
256 }
257 template <typename CustomerOwnedIpv4PoolT = Aws::String>
258 CreateLoadBalancerRequest& WithCustomerOwnedIpv4Pool(CustomerOwnedIpv4PoolT&& value) {
259 SetCustomerOwnedIpv4Pool(std::forward<CustomerOwnedIpv4PoolT>(value));
260 return *this;
261 }
263
265
270 inline EnablePrefixForIpv6SourceNatEnum GetEnablePrefixForIpv6SourceNat() const { return m_enablePrefixForIpv6SourceNat; }
271 inline bool EnablePrefixForIpv6SourceNatHasBeenSet() const { return m_enablePrefixForIpv6SourceNatHasBeenSet; }
273 m_enablePrefixForIpv6SourceNatHasBeenSet = true;
274 m_enablePrefixForIpv6SourceNat = value;
275 }
278 return *this;
279 }
281
283
287 inline const IpamPools& GetIpamPools() const { return m_ipamPools; }
288 inline bool IpamPoolsHasBeenSet() const { return m_ipamPoolsHasBeenSet; }
289 template <typename IpamPoolsT = IpamPools>
290 void SetIpamPools(IpamPoolsT&& value) {
291 m_ipamPoolsHasBeenSet = true;
292 m_ipamPools = std::forward<IpamPoolsT>(value);
293 }
294 template <typename IpamPoolsT = IpamPools>
296 SetIpamPools(std::forward<IpamPoolsT>(value));
297 return *this;
298 }
300 private:
301 Aws::String m_name;
302
303 Aws::Vector<Aws::String> m_subnets;
304
305 Aws::Vector<SubnetMapping> m_subnetMappings;
306
307 Aws::Vector<Aws::String> m_securityGroups;
308
310
311 Aws::Vector<Tag> m_tags;
312
314
315 IpAddressType m_ipAddressType{IpAddressType::NOT_SET};
316
317 Aws::String m_customerOwnedIpv4Pool;
318
320
321 IpamPools m_ipamPools;
322 bool m_nameHasBeenSet = false;
323 bool m_subnetsHasBeenSet = false;
324 bool m_subnetMappingsHasBeenSet = false;
325 bool m_securityGroupsHasBeenSet = false;
326 bool m_schemeHasBeenSet = false;
327 bool m_tagsHasBeenSet = false;
328 bool m_typeHasBeenSet = false;
329 bool m_ipAddressTypeHasBeenSet = false;
330 bool m_customerOwnedIpv4PoolHasBeenSet = false;
331 bool m_enablePrefixForIpv6SourceNatHasBeenSet = false;
332 bool m_ipamPoolsHasBeenSet = false;
333};
334
335} // namespace Model
336} // namespace ElasticLoadBalancingv2
337} // namespace Aws
CreateLoadBalancerRequest & WithSubnetMappings(SubnetMappingsT &&value)
CreateLoadBalancerRequest & AddSubnetMappings(SubnetMappingsT &&value)
CreateLoadBalancerRequest & WithIpAddressType(IpAddressType value)
CreateLoadBalancerRequest & WithEnablePrefixForIpv6SourceNat(EnablePrefixForIpv6SourceNatEnum value)
CreateLoadBalancerRequest & WithType(LoadBalancerTypeEnum value)
CreateLoadBalancerRequest & WithIpamPools(IpamPoolsT &&value)
CreateLoadBalancerRequest & WithSecurityGroups(SecurityGroupsT &&value)
CreateLoadBalancerRequest & WithScheme(LoadBalancerSchemeEnum value)
CreateLoadBalancerRequest & WithCustomerOwnedIpv4Pool(CustomerOwnedIpv4PoolT &&value)
AWS_ELASTICLOADBALANCINGV2_API void DumpBodyToUrl(Aws::Http::URI &uri) const override
CreateLoadBalancerRequest & AddSecurityGroups(SecurityGroupsT &&value)
AWS_ELASTICLOADBALANCINGV2_API CreateLoadBalancerRequest()=default
AWS_ELASTICLOADBALANCINGV2_API Aws::String SerializePayload() const override
void SetEnablePrefixForIpv6SourceNat(EnablePrefixForIpv6SourceNatEnum value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector