AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
CreateLoadBalancerRequest.h
1
6#pragma once
7#include <aws/elasticloadbalancingv2/ElasticLoadBalancingv2_EXPORTS.h>
8#include <aws/elasticloadbalancingv2/ElasticLoadBalancingv2Request.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/elasticloadbalancingv2/model/LoadBalancerSchemeEnum.h>
12#include <aws/elasticloadbalancingv2/model/LoadBalancerTypeEnum.h>
13#include <aws/elasticloadbalancingv2/model/IpAddressType.h>
14#include <aws/elasticloadbalancingv2/model/EnablePrefixForIpv6SourceNatEnum.h>
15#include <aws/elasticloadbalancingv2/model/IpamPools.h>
16#include <aws/elasticloadbalancingv2/model/SubnetMapping.h>
17#include <aws/elasticloadbalancingv2/model/Tag.h>
18#include <utility>
19
20namespace Aws
21{
22namespace ElasticLoadBalancingv2
23{
24namespace Model
25{
26
30 {
31 public:
32 AWS_ELASTICLOADBALANCINGV2_API CreateLoadBalancerRequest() = default;
33
34 // Service request name is the Operation name which will send this request out,
35 // each operation should has unique request name, so that we can get operation's name from this request.
36 // Note: this is not true for response, multiple operations may have the same response name,
37 // so we can not get operation's name from response.
38 inline virtual const char* GetServiceRequestName() const override { return "CreateLoadBalancer"; }
39
40 AWS_ELASTICLOADBALANCINGV2_API Aws::String SerializePayload() const override;
41
42 protected:
43 AWS_ELASTICLOADBALANCINGV2_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
44
45 public:
46
48
54 inline const Aws::String& GetName() const { return m_name; }
55 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
56 template<typename NameT = Aws::String>
57 void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward<NameT>(value); }
58 template<typename NameT = Aws::String>
59 CreateLoadBalancerRequest& WithName(NameT&& value) { SetName(std::forward<NameT>(value)); return *this;}
61
63
74 inline const Aws::Vector<Aws::String>& GetSubnets() const { return m_subnets; }
75 inline bool SubnetsHasBeenSet() const { return m_subnetsHasBeenSet; }
76 template<typename SubnetsT = Aws::Vector<Aws::String>>
77 void SetSubnets(SubnetsT&& value) { m_subnetsHasBeenSet = true; m_subnets = std::forward<SubnetsT>(value); }
78 template<typename SubnetsT = Aws::Vector<Aws::String>>
79 CreateLoadBalancerRequest& WithSubnets(SubnetsT&& value) { SetSubnets(std::forward<SubnetsT>(value)); return *this;}
80 template<typename SubnetsT = Aws::String>
81 CreateLoadBalancerRequest& AddSubnets(SubnetsT&& value) { m_subnetsHasBeenSet = true; m_subnets.emplace_back(std::forward<SubnetsT>(value)); return *this; }
83
85
101 inline const Aws::Vector<SubnetMapping>& GetSubnetMappings() const { return m_subnetMappings; }
102 inline bool SubnetMappingsHasBeenSet() const { return m_subnetMappingsHasBeenSet; }
103 template<typename SubnetMappingsT = Aws::Vector<SubnetMapping>>
104 void SetSubnetMappings(SubnetMappingsT&& value) { m_subnetMappingsHasBeenSet = true; m_subnetMappings = std::forward<SubnetMappingsT>(value); }
105 template<typename SubnetMappingsT = Aws::Vector<SubnetMapping>>
106 CreateLoadBalancerRequest& WithSubnetMappings(SubnetMappingsT&& value) { SetSubnetMappings(std::forward<SubnetMappingsT>(value)); return *this;}
107 template<typename SubnetMappingsT = SubnetMapping>
108 CreateLoadBalancerRequest& AddSubnetMappings(SubnetMappingsT&& value) { m_subnetMappingsHasBeenSet = true; m_subnetMappings.emplace_back(std::forward<SubnetMappingsT>(value)); return *this; }
110
112
116 inline const Aws::Vector<Aws::String>& GetSecurityGroups() const { return m_securityGroups; }
117 inline bool SecurityGroupsHasBeenSet() const { return m_securityGroupsHasBeenSet; }
118 template<typename SecurityGroupsT = Aws::Vector<Aws::String>>
119 void SetSecurityGroups(SecurityGroupsT&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups = std::forward<SecurityGroupsT>(value); }
120 template<typename SecurityGroupsT = Aws::Vector<Aws::String>>
121 CreateLoadBalancerRequest& WithSecurityGroups(SecurityGroupsT&& value) { SetSecurityGroups(std::forward<SecurityGroupsT>(value)); return *this;}
122 template<typename SecurityGroupsT = Aws::String>
123 CreateLoadBalancerRequest& AddSecurityGroups(SecurityGroupsT&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups.emplace_back(std::forward<SecurityGroupsT>(value)); return *this; }
125
127
139 inline LoadBalancerSchemeEnum GetScheme() const { return m_scheme; }
140 inline bool SchemeHasBeenSet() const { return m_schemeHasBeenSet; }
141 inline void SetScheme(LoadBalancerSchemeEnum value) { m_schemeHasBeenSet = true; m_scheme = value; }
144
146
149 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
150 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
151 template<typename TagsT = Aws::Vector<Tag>>
152 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
153 template<typename TagsT = Aws::Vector<Tag>>
154 CreateLoadBalancerRequest& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
155 template<typename TagsT = Tag>
156 CreateLoadBalancerRequest& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
158
160
163 inline LoadBalancerTypeEnum GetType() const { return m_type; }
164 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
165 inline void SetType(LoadBalancerTypeEnum value) { m_typeHasBeenSet = true; m_type = value; }
166 inline CreateLoadBalancerRequest& WithType(LoadBalancerTypeEnum value) { SetType(value); return *this;}
168
170
179 inline IpAddressType GetIpAddressType() const { return m_ipAddressType; }
180 inline bool IpAddressTypeHasBeenSet() const { return m_ipAddressTypeHasBeenSet; }
181 inline void SetIpAddressType(IpAddressType value) { m_ipAddressTypeHasBeenSet = true; m_ipAddressType = value; }
184
186
190 inline const Aws::String& GetCustomerOwnedIpv4Pool() const { return m_customerOwnedIpv4Pool; }
191 inline bool CustomerOwnedIpv4PoolHasBeenSet() const { return m_customerOwnedIpv4PoolHasBeenSet; }
192 template<typename CustomerOwnedIpv4PoolT = Aws::String>
193 void SetCustomerOwnedIpv4Pool(CustomerOwnedIpv4PoolT&& value) { m_customerOwnedIpv4PoolHasBeenSet = true; m_customerOwnedIpv4Pool = std::forward<CustomerOwnedIpv4PoolT>(value); }
194 template<typename CustomerOwnedIpv4PoolT = Aws::String>
195 CreateLoadBalancerRequest& WithCustomerOwnedIpv4Pool(CustomerOwnedIpv4PoolT&& value) { SetCustomerOwnedIpv4Pool(std::forward<CustomerOwnedIpv4PoolT>(value)); return *this;}
197
199
204 inline EnablePrefixForIpv6SourceNatEnum GetEnablePrefixForIpv6SourceNat() const { return m_enablePrefixForIpv6SourceNat; }
205 inline bool EnablePrefixForIpv6SourceNatHasBeenSet() const { return m_enablePrefixForIpv6SourceNatHasBeenSet; }
206 inline void SetEnablePrefixForIpv6SourceNat(EnablePrefixForIpv6SourceNatEnum value) { m_enablePrefixForIpv6SourceNatHasBeenSet = true; m_enablePrefixForIpv6SourceNat = value; }
209
211
215 inline const IpamPools& GetIpamPools() const { return m_ipamPools; }
216 inline bool IpamPoolsHasBeenSet() const { return m_ipamPoolsHasBeenSet; }
217 template<typename IpamPoolsT = IpamPools>
218 void SetIpamPools(IpamPoolsT&& value) { m_ipamPoolsHasBeenSet = true; m_ipamPools = std::forward<IpamPoolsT>(value); }
219 template<typename IpamPoolsT = IpamPools>
220 CreateLoadBalancerRequest& WithIpamPools(IpamPoolsT&& value) { SetIpamPools(std::forward<IpamPoolsT>(value)); return *this;}
222 private:
223
224 Aws::String m_name;
225 bool m_nameHasBeenSet = false;
226
227 Aws::Vector<Aws::String> m_subnets;
228 bool m_subnetsHasBeenSet = false;
229
230 Aws::Vector<SubnetMapping> m_subnetMappings;
231 bool m_subnetMappingsHasBeenSet = false;
232
233 Aws::Vector<Aws::String> m_securityGroups;
234 bool m_securityGroupsHasBeenSet = false;
235
237 bool m_schemeHasBeenSet = false;
238
239 Aws::Vector<Tag> m_tags;
240 bool m_tagsHasBeenSet = false;
241
243 bool m_typeHasBeenSet = false;
244
245 IpAddressType m_ipAddressType{IpAddressType::NOT_SET};
246 bool m_ipAddressTypeHasBeenSet = false;
247
248 Aws::String m_customerOwnedIpv4Pool;
249 bool m_customerOwnedIpv4PoolHasBeenSet = false;
250
252 bool m_enablePrefixForIpv6SourceNatHasBeenSet = false;
253
254 IpamPools m_ipamPools;
255 bool m_ipamPoolsHasBeenSet = false;
256 };
257
258} // namespace Model
259} // namespace ElasticLoadBalancingv2
260} // 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