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/elasticloadbalancing/ElasticLoadBalancing_EXPORTS.h>
8#include <aws/elasticloadbalancing/ElasticLoadBalancingRequest.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/elasticloadbalancing/model/Listener.h>
12#include <aws/elasticloadbalancing/model/Tag.h>
13#include <utility>
14
15namespace Aws
16{
17namespace ElasticLoadBalancing
18{
19namespace Model
20{
21
28 {
29 public:
30 AWS_ELASTICLOADBALANCING_API CreateLoadBalancerRequest() = default;
31
32 // Service request name is the Operation name which will send this request out,
33 // each operation should has unique request name, so that we can get operation's name from this request.
34 // Note: this is not true for response, multiple operations may have the same response name,
35 // so we can not get operation's name from response.
36 inline virtual const char* GetServiceRequestName() const override { return "CreateLoadBalancer"; }
37
38 AWS_ELASTICLOADBALANCING_API Aws::String SerializePayload() const override;
39
40 protected:
41 AWS_ELASTICLOADBALANCING_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
42
43 public:
44
46
52 inline const Aws::String& GetLoadBalancerName() const { return m_loadBalancerName; }
53 inline bool LoadBalancerNameHasBeenSet() const { return m_loadBalancerNameHasBeenSet; }
54 template<typename LoadBalancerNameT = Aws::String>
55 void SetLoadBalancerName(LoadBalancerNameT&& value) { m_loadBalancerNameHasBeenSet = true; m_loadBalancerName = std::forward<LoadBalancerNameT>(value); }
56 template<typename LoadBalancerNameT = Aws::String>
57 CreateLoadBalancerRequest& WithLoadBalancerName(LoadBalancerNameT&& value) { SetLoadBalancerName(std::forward<LoadBalancerNameT>(value)); return *this;}
59
61
67 inline const Aws::Vector<Listener>& GetListeners() const { return m_listeners; }
68 inline bool ListenersHasBeenSet() const { return m_listenersHasBeenSet; }
69 template<typename ListenersT = Aws::Vector<Listener>>
70 void SetListeners(ListenersT&& value) { m_listenersHasBeenSet = true; m_listeners = std::forward<ListenersT>(value); }
71 template<typename ListenersT = Aws::Vector<Listener>>
72 CreateLoadBalancerRequest& WithListeners(ListenersT&& value) { SetListeners(std::forward<ListenersT>(value)); return *this;}
73 template<typename ListenersT = Listener>
74 CreateLoadBalancerRequest& AddListeners(ListenersT&& value) { m_listenersHasBeenSet = true; m_listeners.emplace_back(std::forward<ListenersT>(value)); return *this; }
76
78
84 inline const Aws::Vector<Aws::String>& GetAvailabilityZones() const { return m_availabilityZones; }
85 inline bool AvailabilityZonesHasBeenSet() const { return m_availabilityZonesHasBeenSet; }
86 template<typename AvailabilityZonesT = Aws::Vector<Aws::String>>
87 void SetAvailabilityZones(AvailabilityZonesT&& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones = std::forward<AvailabilityZonesT>(value); }
88 template<typename AvailabilityZonesT = Aws::Vector<Aws::String>>
89 CreateLoadBalancerRequest& WithAvailabilityZones(AvailabilityZonesT&& value) { SetAvailabilityZones(std::forward<AvailabilityZonesT>(value)); return *this;}
90 template<typename AvailabilityZonesT = Aws::String>
91 CreateLoadBalancerRequest& AddAvailabilityZones(AvailabilityZonesT&& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.emplace_back(std::forward<AvailabilityZonesT>(value)); return *this; }
93
95
100 inline const Aws::Vector<Aws::String>& GetSubnets() const { return m_subnets; }
101 inline bool SubnetsHasBeenSet() const { return m_subnetsHasBeenSet; }
102 template<typename SubnetsT = Aws::Vector<Aws::String>>
103 void SetSubnets(SubnetsT&& value) { m_subnetsHasBeenSet = true; m_subnets = std::forward<SubnetsT>(value); }
104 template<typename SubnetsT = Aws::Vector<Aws::String>>
105 CreateLoadBalancerRequest& WithSubnets(SubnetsT&& value) { SetSubnets(std::forward<SubnetsT>(value)); return *this;}
106 template<typename SubnetsT = Aws::String>
107 CreateLoadBalancerRequest& AddSubnets(SubnetsT&& value) { m_subnetsHasBeenSet = true; m_subnets.emplace_back(std::forward<SubnetsT>(value)); return *this; }
109
111
114 inline const Aws::Vector<Aws::String>& GetSecurityGroups() const { return m_securityGroups; }
115 inline bool SecurityGroupsHasBeenSet() const { return m_securityGroupsHasBeenSet; }
116 template<typename SecurityGroupsT = Aws::Vector<Aws::String>>
117 void SetSecurityGroups(SecurityGroupsT&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups = std::forward<SecurityGroupsT>(value); }
118 template<typename SecurityGroupsT = Aws::Vector<Aws::String>>
119 CreateLoadBalancerRequest& WithSecurityGroups(SecurityGroupsT&& value) { SetSecurityGroups(std::forward<SecurityGroupsT>(value)); return *this;}
120 template<typename SecurityGroupsT = Aws::String>
121 CreateLoadBalancerRequest& AddSecurityGroups(SecurityGroupsT&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups.emplace_back(std::forward<SecurityGroupsT>(value)); return *this; }
123
125
135 inline const Aws::String& GetScheme() const { return m_scheme; }
136 inline bool SchemeHasBeenSet() const { return m_schemeHasBeenSet; }
137 template<typename SchemeT = Aws::String>
138 void SetScheme(SchemeT&& value) { m_schemeHasBeenSet = true; m_scheme = std::forward<SchemeT>(value); }
139 template<typename SchemeT = Aws::String>
140 CreateLoadBalancerRequest& WithScheme(SchemeT&& value) { SetScheme(std::forward<SchemeT>(value)); return *this;}
142
144
150 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
151 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
152 template<typename TagsT = Aws::Vector<Tag>>
153 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
154 template<typename TagsT = Aws::Vector<Tag>>
155 CreateLoadBalancerRequest& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
156 template<typename TagsT = Tag>
157 CreateLoadBalancerRequest& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
159 private:
160
161 Aws::String m_loadBalancerName;
162 bool m_loadBalancerNameHasBeenSet = false;
163
164 Aws::Vector<Listener> m_listeners;
165 bool m_listenersHasBeenSet = false;
166
167 Aws::Vector<Aws::String> m_availabilityZones;
168 bool m_availabilityZonesHasBeenSet = false;
169
170 Aws::Vector<Aws::String> m_subnets;
171 bool m_subnetsHasBeenSet = false;
172
173 Aws::Vector<Aws::String> m_securityGroups;
174 bool m_securityGroupsHasBeenSet = false;
175
176 Aws::String m_scheme;
177 bool m_schemeHasBeenSet = false;
178
179 Aws::Vector<Tag> m_tags;
180 bool m_tagsHasBeenSet = false;
181 };
182
183} // namespace Model
184} // namespace ElasticLoadBalancing
185} // 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