AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
SetSubnetsRequest.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/SubnetMapping.h>
14
15#include <utility>
16
17namespace Aws {
18namespace ElasticLoadBalancingv2 {
19namespace Model {
20
24 public:
25 AWS_ELASTICLOADBALANCINGV2_API SetSubnetsRequest() = default;
26
27 // Service request name is the Operation name which will send this request out,
28 // each operation should has unique request name, so that we can get operation's name from this request.
29 // Note: this is not true for response, multiple operations may have the same response name,
30 // so we can not get operation's name from response.
31 inline virtual const char* GetServiceRequestName() const override { return "SetSubnets"; }
32
33 AWS_ELASTICLOADBALANCINGV2_API Aws::String SerializePayload() const override;
34
35 protected:
36 AWS_ELASTICLOADBALANCINGV2_API void DumpBodyToUrl(Aws::Http::URI& uri) const override;
37
38 public:
40
43 inline const Aws::String& GetLoadBalancerArn() const { return m_loadBalancerArn; }
44 inline bool LoadBalancerArnHasBeenSet() const { return m_loadBalancerArnHasBeenSet; }
45 template <typename LoadBalancerArnT = Aws::String>
46 void SetLoadBalancerArn(LoadBalancerArnT&& value) {
47 m_loadBalancerArnHasBeenSet = true;
48 m_loadBalancerArn = std::forward<LoadBalancerArnT>(value);
49 }
50 template <typename LoadBalancerArnT = Aws::String>
51 SetSubnetsRequest& WithLoadBalancerArn(LoadBalancerArnT&& value) {
52 SetLoadBalancerArn(std::forward<LoadBalancerArnT>(value));
53 return *this;
54 }
56
58
70 inline const Aws::Vector<Aws::String>& GetSubnets() const { return m_subnets; }
71 inline bool SubnetsHasBeenSet() const { return m_subnetsHasBeenSet; }
72 template <typename SubnetsT = Aws::Vector<Aws::String>>
73 void SetSubnets(SubnetsT&& value) {
74 m_subnetsHasBeenSet = true;
75 m_subnets = std::forward<SubnetsT>(value);
76 }
77 template <typename SubnetsT = Aws::Vector<Aws::String>>
78 SetSubnetsRequest& WithSubnets(SubnetsT&& value) {
79 SetSubnets(std::forward<SubnetsT>(value));
80 return *this;
81 }
82 template <typename SubnetsT = Aws::String>
83 SetSubnetsRequest& AddSubnets(SubnetsT&& value) {
84 m_subnetsHasBeenSet = true;
85 m_subnets.emplace_back(std::forward<SubnetsT>(value));
86 return *this;
87 }
89
91
106 inline const Aws::Vector<SubnetMapping>& GetSubnetMappings() const { return m_subnetMappings; }
107 inline bool SubnetMappingsHasBeenSet() const { return m_subnetMappingsHasBeenSet; }
108 template <typename SubnetMappingsT = Aws::Vector<SubnetMapping>>
109 void SetSubnetMappings(SubnetMappingsT&& value) {
110 m_subnetMappingsHasBeenSet = true;
111 m_subnetMappings = std::forward<SubnetMappingsT>(value);
112 }
113 template <typename SubnetMappingsT = Aws::Vector<SubnetMapping>>
114 SetSubnetsRequest& WithSubnetMappings(SubnetMappingsT&& value) {
115 SetSubnetMappings(std::forward<SubnetMappingsT>(value));
116 return *this;
117 }
118 template <typename SubnetMappingsT = SubnetMapping>
119 SetSubnetsRequest& AddSubnetMappings(SubnetMappingsT&& value) {
120 m_subnetMappingsHasBeenSet = true;
121 m_subnetMappings.emplace_back(std::forward<SubnetMappingsT>(value));
122 return *this;
123 }
125
127
135 inline IpAddressType GetIpAddressType() const { return m_ipAddressType; }
136 inline bool IpAddressTypeHasBeenSet() const { return m_ipAddressTypeHasBeenSet; }
137 inline void SetIpAddressType(IpAddressType value) {
138 m_ipAddressTypeHasBeenSet = true;
139 m_ipAddressType = value;
140 }
142 SetIpAddressType(value);
143 return *this;
144 }
146
148
153 inline EnablePrefixForIpv6SourceNatEnum GetEnablePrefixForIpv6SourceNat() const { return m_enablePrefixForIpv6SourceNat; }
154 inline bool EnablePrefixForIpv6SourceNatHasBeenSet() const { return m_enablePrefixForIpv6SourceNatHasBeenSet; }
156 m_enablePrefixForIpv6SourceNatHasBeenSet = true;
157 m_enablePrefixForIpv6SourceNat = value;
158 }
161 return *this;
162 }
164 private:
165 Aws::String m_loadBalancerArn;
166
167 Aws::Vector<Aws::String> m_subnets;
168
169 Aws::Vector<SubnetMapping> m_subnetMappings;
170
171 IpAddressType m_ipAddressType{IpAddressType::NOT_SET};
172
174 bool m_loadBalancerArnHasBeenSet = false;
175 bool m_subnetsHasBeenSet = false;
176 bool m_subnetMappingsHasBeenSet = false;
177 bool m_ipAddressTypeHasBeenSet = false;
178 bool m_enablePrefixForIpv6SourceNatHasBeenSet = false;
179};
180
181} // namespace Model
182} // namespace ElasticLoadBalancingv2
183} // namespace Aws
SetSubnetsRequest & AddSubnetMappings(SubnetMappingsT &&value)
SetSubnetsRequest & WithSubnets(SubnetsT &&value)
AWS_ELASTICLOADBALANCINGV2_API void DumpBodyToUrl(Aws::Http::URI &uri) const override
SetSubnetsRequest & AddSubnets(SubnetsT &&value)
AWS_ELASTICLOADBALANCINGV2_API SetSubnetsRequest()=default
const Aws::Vector< SubnetMapping > & GetSubnetMappings() const
void SetEnablePrefixForIpv6SourceNat(EnablePrefixForIpv6SourceNatEnum value)
SetSubnetsRequest & WithSubnetMappings(SubnetMappingsT &&value)
AWS_ELASTICLOADBALANCINGV2_API Aws::String SerializePayload() const override
SetSubnetsRequest & WithIpAddressType(IpAddressType value)
SetSubnetsRequest & WithLoadBalancerArn(LoadBalancerArnT &&value)
virtual const char * GetServiceRequestName() const override
EnablePrefixForIpv6SourceNatEnum GetEnablePrefixForIpv6SourceNat() const
SetSubnetsRequest & WithEnablePrefixForIpv6SourceNat(EnablePrefixForIpv6SourceNatEnum value)
const Aws::Vector< Aws::String > & GetSubnets() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector