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/elasticloadbalancing/ElasticLoadBalancingRequest.h>
10#include <aws/elasticloadbalancing/ElasticLoadBalancing_EXPORTS.h>
11#include <aws/elasticloadbalancing/model/Listener.h>
12#include <aws/elasticloadbalancing/model/Tag.h>
13
14#include <utility>
15
16namespace Aws {
17namespace ElasticLoadBalancing {
18namespace Model {
19
26 public:
27 AWS_ELASTICLOADBALANCING_API CreateLoadBalancerRequest() = default;
28
29 // Service request name is the Operation name which will send this request out,
30 // each operation should has unique request name, so that we can get operation's name from this request.
31 // Note: this is not true for response, multiple operations may have the same response name,
32 // so we can not get operation's name from response.
33 inline virtual const char* GetServiceRequestName() const override { return "CreateLoadBalancer"; }
34
35 AWS_ELASTICLOADBALANCING_API Aws::String SerializePayload() const override;
36
37 protected:
38 AWS_ELASTICLOADBALANCING_API void DumpBodyToUrl(Aws::Http::URI& uri) const override;
39
40 public:
42
48 inline const Aws::String& GetLoadBalancerName() const { return m_loadBalancerName; }
49 inline bool LoadBalancerNameHasBeenSet() const { return m_loadBalancerNameHasBeenSet; }
50 template <typename LoadBalancerNameT = Aws::String>
51 void SetLoadBalancerName(LoadBalancerNameT&& value) {
52 m_loadBalancerNameHasBeenSet = true;
53 m_loadBalancerName = std::forward<LoadBalancerNameT>(value);
54 }
55 template <typename LoadBalancerNameT = Aws::String>
56 CreateLoadBalancerRequest& WithLoadBalancerName(LoadBalancerNameT&& value) {
57 SetLoadBalancerName(std::forward<LoadBalancerNameT>(value));
58 return *this;
59 }
61
63
69 inline const Aws::Vector<Listener>& GetListeners() const { return m_listeners; }
70 inline bool ListenersHasBeenSet() const { return m_listenersHasBeenSet; }
71 template <typename ListenersT = Aws::Vector<Listener>>
72 void SetListeners(ListenersT&& value) {
73 m_listenersHasBeenSet = true;
74 m_listeners = std::forward<ListenersT>(value);
75 }
76 template <typename ListenersT = Aws::Vector<Listener>>
78 SetListeners(std::forward<ListenersT>(value));
79 return *this;
80 }
81 template <typename ListenersT = Listener>
83 m_listenersHasBeenSet = true;
84 m_listeners.emplace_back(std::forward<ListenersT>(value));
85 return *this;
86 }
88
90
96 inline const Aws::Vector<Aws::String>& GetAvailabilityZones() const { return m_availabilityZones; }
97 inline bool AvailabilityZonesHasBeenSet() const { return m_availabilityZonesHasBeenSet; }
98 template <typename AvailabilityZonesT = Aws::Vector<Aws::String>>
99 void SetAvailabilityZones(AvailabilityZonesT&& value) {
100 m_availabilityZonesHasBeenSet = true;
101 m_availabilityZones = std::forward<AvailabilityZonesT>(value);
102 }
103 template <typename AvailabilityZonesT = Aws::Vector<Aws::String>>
105 SetAvailabilityZones(std::forward<AvailabilityZonesT>(value));
106 return *this;
107 }
108 template <typename AvailabilityZonesT = Aws::String>
109 CreateLoadBalancerRequest& AddAvailabilityZones(AvailabilityZonesT&& value) {
110 m_availabilityZonesHasBeenSet = true;
111 m_availabilityZones.emplace_back(std::forward<AvailabilityZonesT>(value));
112 return *this;
113 }
115
117
122 inline const Aws::Vector<Aws::String>& GetSubnets() const { return m_subnets; }
123 inline bool SubnetsHasBeenSet() const { return m_subnetsHasBeenSet; }
124 template <typename SubnetsT = Aws::Vector<Aws::String>>
125 void SetSubnets(SubnetsT&& value) {
126 m_subnetsHasBeenSet = true;
127 m_subnets = std::forward<SubnetsT>(value);
128 }
129 template <typename SubnetsT = Aws::Vector<Aws::String>>
131 SetSubnets(std::forward<SubnetsT>(value));
132 return *this;
133 }
134 template <typename SubnetsT = Aws::String>
136 m_subnetsHasBeenSet = true;
137 m_subnets.emplace_back(std::forward<SubnetsT>(value));
138 return *this;
139 }
141
143
146 inline const Aws::Vector<Aws::String>& GetSecurityGroups() const { return m_securityGroups; }
147 inline bool SecurityGroupsHasBeenSet() const { return m_securityGroupsHasBeenSet; }
148 template <typename SecurityGroupsT = Aws::Vector<Aws::String>>
149 void SetSecurityGroups(SecurityGroupsT&& value) {
150 m_securityGroupsHasBeenSet = true;
151 m_securityGroups = std::forward<SecurityGroupsT>(value);
152 }
153 template <typename SecurityGroupsT = Aws::Vector<Aws::String>>
155 SetSecurityGroups(std::forward<SecurityGroupsT>(value));
156 return *this;
157 }
158 template <typename SecurityGroupsT = Aws::String>
160 m_securityGroupsHasBeenSet = true;
161 m_securityGroups.emplace_back(std::forward<SecurityGroupsT>(value));
162 return *this;
163 }
165
167
177 inline const Aws::String& GetScheme() const { return m_scheme; }
178 inline bool SchemeHasBeenSet() const { return m_schemeHasBeenSet; }
179 template <typename SchemeT = Aws::String>
180 void SetScheme(SchemeT&& value) {
181 m_schemeHasBeenSet = true;
182 m_scheme = std::forward<SchemeT>(value);
183 }
184 template <typename SchemeT = Aws::String>
186 SetScheme(std::forward<SchemeT>(value));
187 return *this;
188 }
190
192
198 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
199 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
200 template <typename TagsT = Aws::Vector<Tag>>
201 void SetTags(TagsT&& value) {
202 m_tagsHasBeenSet = true;
203 m_tags = std::forward<TagsT>(value);
204 }
205 template <typename TagsT = Aws::Vector<Tag>>
207 SetTags(std::forward<TagsT>(value));
208 return *this;
209 }
210 template <typename TagsT = Tag>
212 m_tagsHasBeenSet = true;
213 m_tags.emplace_back(std::forward<TagsT>(value));
214 return *this;
215 }
217 private:
218 Aws::String m_loadBalancerName;
219
220 Aws::Vector<Listener> m_listeners;
221
222 Aws::Vector<Aws::String> m_availabilityZones;
223
224 Aws::Vector<Aws::String> m_subnets;
225
226 Aws::Vector<Aws::String> m_securityGroups;
227
228 Aws::String m_scheme;
229
230 Aws::Vector<Tag> m_tags;
231 bool m_loadBalancerNameHasBeenSet = false;
232 bool m_listenersHasBeenSet = false;
233 bool m_availabilityZonesHasBeenSet = false;
234 bool m_subnetsHasBeenSet = false;
235 bool m_securityGroupsHasBeenSet = false;
236 bool m_schemeHasBeenSet = false;
237 bool m_tagsHasBeenSet = false;
238};
239
240} // namespace Model
241} // namespace ElasticLoadBalancing
242} // namespace Aws
CreateLoadBalancerRequest & AddSecurityGroups(SecurityGroupsT &&value)
AWS_ELASTICLOADBALANCING_API CreateLoadBalancerRequest()=default
AWS_ELASTICLOADBALANCING_API void DumpBodyToUrl(Aws::Http::URI &uri) const override
CreateLoadBalancerRequest & WithLoadBalancerName(LoadBalancerNameT &&value)
CreateLoadBalancerRequest & WithSecurityGroups(SecurityGroupsT &&value)
AWS_ELASTICLOADBALANCING_API Aws::String SerializePayload() const override
CreateLoadBalancerRequest & AddAvailabilityZones(AvailabilityZonesT &&value)
const Aws::Vector< Aws::String > & GetAvailabilityZones() const
CreateLoadBalancerRequest & WithListeners(ListenersT &&value)
CreateLoadBalancerRequest & WithAvailabilityZones(AvailabilityZonesT &&value)
CreateLoadBalancerRequest & AddListeners(ListenersT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector