AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
LoadBalancer.h
1
6#pragma once
7#include <aws/lightsail/Lightsail_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/DateTime.h>
10#include <aws/lightsail/model/ResourceLocation.h>
11#include <aws/lightsail/model/ResourceType.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
13#include <aws/lightsail/model/LoadBalancerState.h>
14#include <aws/lightsail/model/LoadBalancerProtocol.h>
15#include <aws/core/utils/memory/stl/AWSMap.h>
16#include <aws/lightsail/model/IpAddressType.h>
17#include <aws/lightsail/model/Tag.h>
18#include <aws/lightsail/model/InstanceHealthSummary.h>
19#include <aws/lightsail/model/LoadBalancerTlsCertificateSummary.h>
20#include <aws/lightsail/model/LoadBalancerAttributeName.h>
21#include <utility>
22
23namespace Aws
24{
25namespace Utils
26{
27namespace Json
28{
29 class JsonValue;
30 class JsonView;
31} // namespace Json
32} // namespace Utils
33namespace Lightsail
34{
35namespace Model
36{
37
44 {
45 public:
46 AWS_LIGHTSAIL_API LoadBalancer() = default;
47 AWS_LIGHTSAIL_API LoadBalancer(Aws::Utils::Json::JsonView jsonValue);
48 AWS_LIGHTSAIL_API LoadBalancer& operator=(Aws::Utils::Json::JsonView jsonValue);
49 AWS_LIGHTSAIL_API Aws::Utils::Json::JsonValue Jsonize() const;
50
51
53
56 inline const Aws::String& GetName() const { return m_name; }
57 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
58 template<typename NameT = Aws::String>
59 void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward<NameT>(value); }
60 template<typename NameT = Aws::String>
61 LoadBalancer& WithName(NameT&& value) { SetName(std::forward<NameT>(value)); return *this;}
63
65
68 inline const Aws::String& GetArn() const { return m_arn; }
69 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
70 template<typename ArnT = Aws::String>
71 void SetArn(ArnT&& value) { m_arnHasBeenSet = true; m_arn = std::forward<ArnT>(value); }
72 template<typename ArnT = Aws::String>
73 LoadBalancer& WithArn(ArnT&& value) { SetArn(std::forward<ArnT>(value)); return *this;}
75
77
82 inline const Aws::String& GetSupportCode() const { return m_supportCode; }
83 inline bool SupportCodeHasBeenSet() const { return m_supportCodeHasBeenSet; }
84 template<typename SupportCodeT = Aws::String>
85 void SetSupportCode(SupportCodeT&& value) { m_supportCodeHasBeenSet = true; m_supportCode = std::forward<SupportCodeT>(value); }
86 template<typename SupportCodeT = Aws::String>
87 LoadBalancer& WithSupportCode(SupportCodeT&& value) { SetSupportCode(std::forward<SupportCodeT>(value)); return *this;}
89
91
94 inline const Aws::Utils::DateTime& GetCreatedAt() const { return m_createdAt; }
95 inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; }
96 template<typename CreatedAtT = Aws::Utils::DateTime>
97 void SetCreatedAt(CreatedAtT&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::forward<CreatedAtT>(value); }
98 template<typename CreatedAtT = Aws::Utils::DateTime>
99 LoadBalancer& WithCreatedAt(CreatedAtT&& value) { SetCreatedAt(std::forward<CreatedAtT>(value)); return *this;}
101
103
108 inline const ResourceLocation& GetLocation() const { return m_location; }
109 inline bool LocationHasBeenSet() const { return m_locationHasBeenSet; }
110 template<typename LocationT = ResourceLocation>
111 void SetLocation(LocationT&& value) { m_locationHasBeenSet = true; m_location = std::forward<LocationT>(value); }
112 template<typename LocationT = ResourceLocation>
113 LoadBalancer& WithLocation(LocationT&& value) { SetLocation(std::forward<LocationT>(value)); return *this;}
115
117
120 inline ResourceType GetResourceType() const { return m_resourceType; }
121 inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; }
122 inline void SetResourceType(ResourceType value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; }
123 inline LoadBalancer& WithResourceType(ResourceType value) { SetResourceType(value); return *this;}
125
127
133 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
134 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
135 template<typename TagsT = Aws::Vector<Tag>>
136 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
137 template<typename TagsT = Aws::Vector<Tag>>
138 LoadBalancer& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
139 template<typename TagsT = Tag>
140 LoadBalancer& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
142
144
147 inline const Aws::String& GetDnsName() const { return m_dnsName; }
148 inline bool DnsNameHasBeenSet() const { return m_dnsNameHasBeenSet; }
149 template<typename DnsNameT = Aws::String>
150 void SetDnsName(DnsNameT&& value) { m_dnsNameHasBeenSet = true; m_dnsName = std::forward<DnsNameT>(value); }
151 template<typename DnsNameT = Aws::String>
152 LoadBalancer& WithDnsName(DnsNameT&& value) { SetDnsName(std::forward<DnsNameT>(value)); return *this;}
154
156
159 inline LoadBalancerState GetState() const { return m_state; }
160 inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
161 inline void SetState(LoadBalancerState value) { m_stateHasBeenSet = true; m_state = value; }
162 inline LoadBalancer& WithState(LoadBalancerState value) { SetState(value); return *this;}
164
166
171 inline LoadBalancerProtocol GetProtocol() const { return m_protocol; }
172 inline bool ProtocolHasBeenSet() const { return m_protocolHasBeenSet; }
173 inline void SetProtocol(LoadBalancerProtocol value) { m_protocolHasBeenSet = true; m_protocol = value; }
174 inline LoadBalancer& WithProtocol(LoadBalancerProtocol value) { SetProtocol(value); return *this;}
176
178
182 inline const Aws::Vector<int>& GetPublicPorts() const { return m_publicPorts; }
183 inline bool PublicPortsHasBeenSet() const { return m_publicPortsHasBeenSet; }
184 template<typename PublicPortsT = Aws::Vector<int>>
185 void SetPublicPorts(PublicPortsT&& value) { m_publicPortsHasBeenSet = true; m_publicPorts = std::forward<PublicPortsT>(value); }
186 template<typename PublicPortsT = Aws::Vector<int>>
187 LoadBalancer& WithPublicPorts(PublicPortsT&& value) { SetPublicPorts(std::forward<PublicPortsT>(value)); return *this;}
188 inline LoadBalancer& AddPublicPorts(int value) { m_publicPortsHasBeenSet = true; m_publicPorts.push_back(value); return *this; }
190
192
197 inline const Aws::String& GetHealthCheckPath() const { return m_healthCheckPath; }
198 inline bool HealthCheckPathHasBeenSet() const { return m_healthCheckPathHasBeenSet; }
199 template<typename HealthCheckPathT = Aws::String>
200 void SetHealthCheckPath(HealthCheckPathT&& value) { m_healthCheckPathHasBeenSet = true; m_healthCheckPath = std::forward<HealthCheckPathT>(value); }
201 template<typename HealthCheckPathT = Aws::String>
202 LoadBalancer& WithHealthCheckPath(HealthCheckPathT&& value) { SetHealthCheckPath(std::forward<HealthCheckPathT>(value)); return *this;}
204
206
210 inline int GetInstancePort() const { return m_instancePort; }
211 inline bool InstancePortHasBeenSet() const { return m_instancePortHasBeenSet; }
212 inline void SetInstancePort(int value) { m_instancePortHasBeenSet = true; m_instancePort = value; }
213 inline LoadBalancer& WithInstancePort(int value) { SetInstancePort(value); return *this;}
215
217
221 inline const Aws::Vector<InstanceHealthSummary>& GetInstanceHealthSummary() const { return m_instanceHealthSummary; }
222 inline bool InstanceHealthSummaryHasBeenSet() const { return m_instanceHealthSummaryHasBeenSet; }
223 template<typename InstanceHealthSummaryT = Aws::Vector<InstanceHealthSummary>>
224 void SetInstanceHealthSummary(InstanceHealthSummaryT&& value) { m_instanceHealthSummaryHasBeenSet = true; m_instanceHealthSummary = std::forward<InstanceHealthSummaryT>(value); }
225 template<typename InstanceHealthSummaryT = Aws::Vector<InstanceHealthSummary>>
226 LoadBalancer& WithInstanceHealthSummary(InstanceHealthSummaryT&& value) { SetInstanceHealthSummary(std::forward<InstanceHealthSummaryT>(value)); return *this;}
227 template<typename InstanceHealthSummaryT = InstanceHealthSummary>
228 LoadBalancer& AddInstanceHealthSummary(InstanceHealthSummaryT&& value) { m_instanceHealthSummaryHasBeenSet = true; m_instanceHealthSummary.emplace_back(std::forward<InstanceHealthSummaryT>(value)); return *this; }
230
232
237 inline const Aws::Vector<LoadBalancerTlsCertificateSummary>& GetTlsCertificateSummaries() const { return m_tlsCertificateSummaries; }
238 inline bool TlsCertificateSummariesHasBeenSet() const { return m_tlsCertificateSummariesHasBeenSet; }
239 template<typename TlsCertificateSummariesT = Aws::Vector<LoadBalancerTlsCertificateSummary>>
240 void SetTlsCertificateSummaries(TlsCertificateSummariesT&& value) { m_tlsCertificateSummariesHasBeenSet = true; m_tlsCertificateSummaries = std::forward<TlsCertificateSummariesT>(value); }
241 template<typename TlsCertificateSummariesT = Aws::Vector<LoadBalancerTlsCertificateSummary>>
242 LoadBalancer& WithTlsCertificateSummaries(TlsCertificateSummariesT&& value) { SetTlsCertificateSummaries(std::forward<TlsCertificateSummariesT>(value)); return *this;}
243 template<typename TlsCertificateSummariesT = LoadBalancerTlsCertificateSummary>
244 LoadBalancer& AddTlsCertificateSummaries(TlsCertificateSummariesT&& value) { m_tlsCertificateSummariesHasBeenSet = true; m_tlsCertificateSummaries.emplace_back(std::forward<TlsCertificateSummariesT>(value)); return *this; }
246
248
252 inline const Aws::Map<LoadBalancerAttributeName, Aws::String>& GetConfigurationOptions() const { return m_configurationOptions; }
253 inline bool ConfigurationOptionsHasBeenSet() const { return m_configurationOptionsHasBeenSet; }
254 template<typename ConfigurationOptionsT = Aws::Map<LoadBalancerAttributeName, Aws::String>>
255 void SetConfigurationOptions(ConfigurationOptionsT&& value) { m_configurationOptionsHasBeenSet = true; m_configurationOptions = std::forward<ConfigurationOptionsT>(value); }
256 template<typename ConfigurationOptionsT = Aws::Map<LoadBalancerAttributeName, Aws::String>>
257 LoadBalancer& WithConfigurationOptions(ConfigurationOptionsT&& value) { SetConfigurationOptions(std::forward<ConfigurationOptionsT>(value)); return *this;}
259 m_configurationOptionsHasBeenSet = true; m_configurationOptions.emplace(key, value); return *this;
260 }
262
264
269 inline IpAddressType GetIpAddressType() const { return m_ipAddressType; }
270 inline bool IpAddressTypeHasBeenSet() const { return m_ipAddressTypeHasBeenSet; }
271 inline void SetIpAddressType(IpAddressType value) { m_ipAddressTypeHasBeenSet = true; m_ipAddressType = value; }
272 inline LoadBalancer& WithIpAddressType(IpAddressType value) { SetIpAddressType(value); return *this;}
274
276
280 inline bool GetHttpsRedirectionEnabled() const { return m_httpsRedirectionEnabled; }
281 inline bool HttpsRedirectionEnabledHasBeenSet() const { return m_httpsRedirectionEnabledHasBeenSet; }
282 inline void SetHttpsRedirectionEnabled(bool value) { m_httpsRedirectionEnabledHasBeenSet = true; m_httpsRedirectionEnabled = value; }
283 inline LoadBalancer& WithHttpsRedirectionEnabled(bool value) { SetHttpsRedirectionEnabled(value); return *this;}
285
287
290 inline const Aws::String& GetTlsPolicyName() const { return m_tlsPolicyName; }
291 inline bool TlsPolicyNameHasBeenSet() const { return m_tlsPolicyNameHasBeenSet; }
292 template<typename TlsPolicyNameT = Aws::String>
293 void SetTlsPolicyName(TlsPolicyNameT&& value) { m_tlsPolicyNameHasBeenSet = true; m_tlsPolicyName = std::forward<TlsPolicyNameT>(value); }
294 template<typename TlsPolicyNameT = Aws::String>
295 LoadBalancer& WithTlsPolicyName(TlsPolicyNameT&& value) { SetTlsPolicyName(std::forward<TlsPolicyNameT>(value)); return *this;}
297 private:
298
299 Aws::String m_name;
300 bool m_nameHasBeenSet = false;
301
302 Aws::String m_arn;
303 bool m_arnHasBeenSet = false;
304
305 Aws::String m_supportCode;
306 bool m_supportCodeHasBeenSet = false;
307
308 Aws::Utils::DateTime m_createdAt{};
309 bool m_createdAtHasBeenSet = false;
310
311 ResourceLocation m_location;
312 bool m_locationHasBeenSet = false;
313
314 ResourceType m_resourceType{ResourceType::NOT_SET};
315 bool m_resourceTypeHasBeenSet = false;
316
317 Aws::Vector<Tag> m_tags;
318 bool m_tagsHasBeenSet = false;
319
320 Aws::String m_dnsName;
321 bool m_dnsNameHasBeenSet = false;
322
324 bool m_stateHasBeenSet = false;
325
327 bool m_protocolHasBeenSet = false;
328
329 Aws::Vector<int> m_publicPorts;
330 bool m_publicPortsHasBeenSet = false;
331
332 Aws::String m_healthCheckPath;
333 bool m_healthCheckPathHasBeenSet = false;
334
335 int m_instancePort{0};
336 bool m_instancePortHasBeenSet = false;
337
338 Aws::Vector<InstanceHealthSummary> m_instanceHealthSummary;
339 bool m_instanceHealthSummaryHasBeenSet = false;
340
341 Aws::Vector<LoadBalancerTlsCertificateSummary> m_tlsCertificateSummaries;
342 bool m_tlsCertificateSummariesHasBeenSet = false;
343
345 bool m_configurationOptionsHasBeenSet = false;
346
347 IpAddressType m_ipAddressType{IpAddressType::NOT_SET};
348 bool m_ipAddressTypeHasBeenSet = false;
349
350 bool m_httpsRedirectionEnabled{false};
351 bool m_httpsRedirectionEnabledHasBeenSet = false;
352
353 Aws::String m_tlsPolicyName;
354 bool m_tlsPolicyNameHasBeenSet = false;
355 };
356
357} // namespace Model
358} // namespace Lightsail
359} // namespace Aws
const Aws::String & GetName() const
void SetHealthCheckPath(HealthCheckPathT &&value)
ResourceType GetResourceType() const
void SetInstanceHealthSummary(InstanceHealthSummaryT &&value)
LoadBalancer & AddConfigurationOptions(LoadBalancerAttributeName key, Aws::String value)
LoadBalancer & WithInstanceHealthSummary(InstanceHealthSummaryT &&value)
const Aws::String & GetTlsPolicyName() const
const Aws::String & GetDnsName() const
AWS_LIGHTSAIL_API LoadBalancer(Aws::Utils::Json::JsonView jsonValue)
LoadBalancer & WithIpAddressType(IpAddressType value)
void SetTlsCertificateSummaries(TlsCertificateSummariesT &&value)
LoadBalancer & WithTlsCertificateSummaries(TlsCertificateSummariesT &&value)
LoadBalancer & WithProtocol(LoadBalancerProtocol value)
LoadBalancerState GetState() const
void SetPublicPorts(PublicPortsT &&value)
AWS_LIGHTSAIL_API LoadBalancer & operator=(Aws::Utils::Json::JsonView jsonValue)
LoadBalancer & WithTlsPolicyName(TlsPolicyNameT &&value)
LoadBalancer & WithHttpsRedirectionEnabled(bool value)
const Aws::Utils::DateTime & GetCreatedAt() const
LoadBalancer & AddTlsCertificateSummaries(TlsCertificateSummariesT &&value)
LoadBalancer & WithResourceType(ResourceType value)
const Aws::String & GetArn() const
LoadBalancer & WithPublicPorts(PublicPortsT &&value)
void SetIpAddressType(IpAddressType value)
LoadBalancerProtocol GetProtocol() const
void SetLocation(LocationT &&value)
AWS_LIGHTSAIL_API LoadBalancer()=default
LoadBalancer & WithName(NameT &&value)
void SetHttpsRedirectionEnabled(bool value)
LoadBalancer & AddTags(TagsT &&value)
void SetTlsPolicyName(TlsPolicyNameT &&value)
const Aws::Vector< InstanceHealthSummary > & GetInstanceHealthSummary() const
const Aws::Map< LoadBalancerAttributeName, Aws::String > & GetConfigurationOptions() const
LoadBalancer & WithState(LoadBalancerState value)
void SetState(LoadBalancerState value)
LoadBalancer & WithArn(ArnT &&value)
void SetDnsName(DnsNameT &&value)
LoadBalancer & WithCreatedAt(CreatedAtT &&value)
void SetResourceType(ResourceType value)
const ResourceLocation & GetLocation() const
LoadBalancer & WithDnsName(DnsNameT &&value)
AWS_LIGHTSAIL_API Aws::Utils::Json::JsonValue Jsonize() const
LoadBalancer & WithHealthCheckPath(HealthCheckPathT &&value)
LoadBalancer & WithConfigurationOptions(ConfigurationOptionsT &&value)
void SetSupportCode(SupportCodeT &&value)
const Aws::Vector< int > & GetPublicPorts() const
LoadBalancer & AddInstanceHealthSummary(InstanceHealthSummaryT &&value)
IpAddressType GetIpAddressType() const
void SetConfigurationOptions(ConfigurationOptionsT &&value)
LoadBalancer & AddPublicPorts(int value)
LoadBalancer & WithSupportCode(SupportCodeT &&value)
void SetProtocol(LoadBalancerProtocol value)
LoadBalancer & WithTags(TagsT &&value)
const Aws::String & GetSupportCode() const
void SetCreatedAt(CreatedAtT &&value)
const Aws::String & GetHealthCheckPath() const
const Aws::Vector< LoadBalancerTlsCertificateSummary > & GetTlsCertificateSummaries() const
const Aws::Vector< Tag > & GetTags() const
LoadBalancer & WithLocation(LocationT &&value)
LoadBalancer & WithInstancePort(int value)
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue