AWS SDK for C++

AWS SDK for C++ Version 1.11.744

Loading...
Searching...
No Matches
LoadBalancer.h
1
6#pragma once
7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSMap.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/lightsail/Lightsail_EXPORTS.h>
12#include <aws/lightsail/model/InstanceHealthSummary.h>
13#include <aws/lightsail/model/IpAddressType.h>
14#include <aws/lightsail/model/LoadBalancerAttributeName.h>
15#include <aws/lightsail/model/LoadBalancerProtocol.h>
16#include <aws/lightsail/model/LoadBalancerState.h>
17#include <aws/lightsail/model/LoadBalancerTlsCertificateSummary.h>
18#include <aws/lightsail/model/ResourceLocation.h>
19#include <aws/lightsail/model/ResourceType.h>
20#include <aws/lightsail/model/Tag.h>
21
22#include <utility>
23
24namespace Aws {
25namespace Utils {
26namespace Json {
27class JsonValue;
28class JsonView;
29} // namespace Json
30} // namespace Utils
31namespace Lightsail {
32namespace Model {
33
40 public:
41 AWS_LIGHTSAIL_API LoadBalancer() = default;
42 AWS_LIGHTSAIL_API LoadBalancer(Aws::Utils::Json::JsonView jsonValue);
43 AWS_LIGHTSAIL_API LoadBalancer& operator=(Aws::Utils::Json::JsonView jsonValue);
44 AWS_LIGHTSAIL_API Aws::Utils::Json::JsonValue Jsonize() const;
45
47
50 inline const Aws::String& GetName() const { return m_name; }
51 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
52 template <typename NameT = Aws::String>
53 void SetName(NameT&& value) {
54 m_nameHasBeenSet = true;
55 m_name = std::forward<NameT>(value);
56 }
57 template <typename NameT = Aws::String>
58 LoadBalancer& WithName(NameT&& value) {
59 SetName(std::forward<NameT>(value));
60 return *this;
61 }
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) {
72 m_arnHasBeenSet = true;
73 m_arn = std::forward<ArnT>(value);
74 }
75 template <typename ArnT = Aws::String>
76 LoadBalancer& WithArn(ArnT&& value) {
77 SetArn(std::forward<ArnT>(value));
78 return *this;
79 }
81
83
88 inline const Aws::String& GetSupportCode() const { return m_supportCode; }
89 inline bool SupportCodeHasBeenSet() const { return m_supportCodeHasBeenSet; }
90 template <typename SupportCodeT = Aws::String>
91 void SetSupportCode(SupportCodeT&& value) {
92 m_supportCodeHasBeenSet = true;
93 m_supportCode = std::forward<SupportCodeT>(value);
94 }
95 template <typename SupportCodeT = Aws::String>
96 LoadBalancer& WithSupportCode(SupportCodeT&& value) {
97 SetSupportCode(std::forward<SupportCodeT>(value));
98 return *this;
99 }
101
103
106 inline const Aws::Utils::DateTime& GetCreatedAt() const { return m_createdAt; }
107 inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; }
108 template <typename CreatedAtT = Aws::Utils::DateTime>
109 void SetCreatedAt(CreatedAtT&& value) {
110 m_createdAtHasBeenSet = true;
111 m_createdAt = std::forward<CreatedAtT>(value);
112 }
113 template <typename CreatedAtT = Aws::Utils::DateTime>
114 LoadBalancer& WithCreatedAt(CreatedAtT&& value) {
115 SetCreatedAt(std::forward<CreatedAtT>(value));
116 return *this;
117 }
119
121
126 inline const ResourceLocation& GetLocation() const { return m_location; }
127 inline bool LocationHasBeenSet() const { return m_locationHasBeenSet; }
128 template <typename LocationT = ResourceLocation>
129 void SetLocation(LocationT&& value) {
130 m_locationHasBeenSet = true;
131 m_location = std::forward<LocationT>(value);
132 }
133 template <typename LocationT = ResourceLocation>
134 LoadBalancer& WithLocation(LocationT&& value) {
135 SetLocation(std::forward<LocationT>(value));
136 return *this;
137 }
139
141
144 inline ResourceType GetResourceType() const { return m_resourceType; }
145 inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; }
146 inline void SetResourceType(ResourceType value) {
147 m_resourceTypeHasBeenSet = true;
148 m_resourceType = value;
149 }
151 SetResourceType(value);
152 return *this;
153 }
155
157
163 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
164 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
165 template <typename TagsT = Aws::Vector<Tag>>
166 void SetTags(TagsT&& value) {
167 m_tagsHasBeenSet = true;
168 m_tags = std::forward<TagsT>(value);
169 }
170 template <typename TagsT = Aws::Vector<Tag>>
171 LoadBalancer& WithTags(TagsT&& value) {
172 SetTags(std::forward<TagsT>(value));
173 return *this;
174 }
175 template <typename TagsT = Tag>
176 LoadBalancer& AddTags(TagsT&& value) {
177 m_tagsHasBeenSet = true;
178 m_tags.emplace_back(std::forward<TagsT>(value));
179 return *this;
180 }
182
184
187 inline const Aws::String& GetDnsName() const { return m_dnsName; }
188 inline bool DnsNameHasBeenSet() const { return m_dnsNameHasBeenSet; }
189 template <typename DnsNameT = Aws::String>
190 void SetDnsName(DnsNameT&& value) {
191 m_dnsNameHasBeenSet = true;
192 m_dnsName = std::forward<DnsNameT>(value);
193 }
194 template <typename DnsNameT = Aws::String>
195 LoadBalancer& WithDnsName(DnsNameT&& value) {
196 SetDnsName(std::forward<DnsNameT>(value));
197 return *this;
198 }
200
202
205 inline LoadBalancerState GetState() const { return m_state; }
206 inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
207 inline void SetState(LoadBalancerState value) {
208 m_stateHasBeenSet = true;
209 m_state = value;
210 }
212 SetState(value);
213 return *this;
214 }
216
218
223 inline LoadBalancerProtocol GetProtocol() const { return m_protocol; }
224 inline bool ProtocolHasBeenSet() const { return m_protocolHasBeenSet; }
226 m_protocolHasBeenSet = true;
227 m_protocol = value;
228 }
230 SetProtocol(value);
231 return *this;
232 }
234
236
240 inline const Aws::Vector<int>& GetPublicPorts() const { return m_publicPorts; }
241 inline bool PublicPortsHasBeenSet() const { return m_publicPortsHasBeenSet; }
242 template <typename PublicPortsT = Aws::Vector<int>>
243 void SetPublicPorts(PublicPortsT&& value) {
244 m_publicPortsHasBeenSet = true;
245 m_publicPorts = std::forward<PublicPortsT>(value);
246 }
247 template <typename PublicPortsT = Aws::Vector<int>>
248 LoadBalancer& WithPublicPorts(PublicPortsT&& value) {
249 SetPublicPorts(std::forward<PublicPortsT>(value));
250 return *this;
251 }
252 inline LoadBalancer& AddPublicPorts(int value) {
253 m_publicPortsHasBeenSet = true;
254 m_publicPorts.push_back(value);
255 return *this;
256 }
258
260
265 inline const Aws::String& GetHealthCheckPath() const { return m_healthCheckPath; }
266 inline bool HealthCheckPathHasBeenSet() const { return m_healthCheckPathHasBeenSet; }
267 template <typename HealthCheckPathT = Aws::String>
268 void SetHealthCheckPath(HealthCheckPathT&& value) {
269 m_healthCheckPathHasBeenSet = true;
270 m_healthCheckPath = std::forward<HealthCheckPathT>(value);
271 }
272 template <typename HealthCheckPathT = Aws::String>
273 LoadBalancer& WithHealthCheckPath(HealthCheckPathT&& value) {
274 SetHealthCheckPath(std::forward<HealthCheckPathT>(value));
275 return *this;
276 }
278
280
284 inline int GetInstancePort() const { return m_instancePort; }
285 inline bool InstancePortHasBeenSet() const { return m_instancePortHasBeenSet; }
286 inline void SetInstancePort(int value) {
287 m_instancePortHasBeenSet = true;
288 m_instancePort = value;
289 }
290 inline LoadBalancer& WithInstancePort(int value) {
291 SetInstancePort(value);
292 return *this;
293 }
295
297
301 inline const Aws::Vector<InstanceHealthSummary>& GetInstanceHealthSummary() const { return m_instanceHealthSummary; }
302 inline bool InstanceHealthSummaryHasBeenSet() const { return m_instanceHealthSummaryHasBeenSet; }
303 template <typename InstanceHealthSummaryT = Aws::Vector<InstanceHealthSummary>>
304 void SetInstanceHealthSummary(InstanceHealthSummaryT&& value) {
305 m_instanceHealthSummaryHasBeenSet = true;
306 m_instanceHealthSummary = std::forward<InstanceHealthSummaryT>(value);
307 }
308 template <typename InstanceHealthSummaryT = Aws::Vector<InstanceHealthSummary>>
309 LoadBalancer& WithInstanceHealthSummary(InstanceHealthSummaryT&& value) {
310 SetInstanceHealthSummary(std::forward<InstanceHealthSummaryT>(value));
311 return *this;
312 }
313 template <typename InstanceHealthSummaryT = InstanceHealthSummary>
314 LoadBalancer& AddInstanceHealthSummary(InstanceHealthSummaryT&& value) {
315 m_instanceHealthSummaryHasBeenSet = true;
316 m_instanceHealthSummary.emplace_back(std::forward<InstanceHealthSummaryT>(value));
317 return *this;
318 }
320
322
327 inline const Aws::Vector<LoadBalancerTlsCertificateSummary>& GetTlsCertificateSummaries() const { return m_tlsCertificateSummaries; }
328 inline bool TlsCertificateSummariesHasBeenSet() const { return m_tlsCertificateSummariesHasBeenSet; }
329 template <typename TlsCertificateSummariesT = Aws::Vector<LoadBalancerTlsCertificateSummary>>
330 void SetTlsCertificateSummaries(TlsCertificateSummariesT&& value) {
331 m_tlsCertificateSummariesHasBeenSet = true;
332 m_tlsCertificateSummaries = std::forward<TlsCertificateSummariesT>(value);
333 }
334 template <typename TlsCertificateSummariesT = Aws::Vector<LoadBalancerTlsCertificateSummary>>
335 LoadBalancer& WithTlsCertificateSummaries(TlsCertificateSummariesT&& value) {
336 SetTlsCertificateSummaries(std::forward<TlsCertificateSummariesT>(value));
337 return *this;
338 }
339 template <typename TlsCertificateSummariesT = LoadBalancerTlsCertificateSummary>
340 LoadBalancer& AddTlsCertificateSummaries(TlsCertificateSummariesT&& value) {
341 m_tlsCertificateSummariesHasBeenSet = true;
342 m_tlsCertificateSummaries.emplace_back(std::forward<TlsCertificateSummariesT>(value));
343 return *this;
344 }
346
348
352 inline const Aws::Map<LoadBalancerAttributeName, Aws::String>& GetConfigurationOptions() const { return m_configurationOptions; }
353 inline bool ConfigurationOptionsHasBeenSet() const { return m_configurationOptionsHasBeenSet; }
354 template <typename ConfigurationOptionsT = Aws::Map<LoadBalancerAttributeName, Aws::String>>
355 void SetConfigurationOptions(ConfigurationOptionsT&& value) {
356 m_configurationOptionsHasBeenSet = true;
357 m_configurationOptions = std::forward<ConfigurationOptionsT>(value);
358 }
359 template <typename ConfigurationOptionsT = Aws::Map<LoadBalancerAttributeName, Aws::String>>
360 LoadBalancer& WithConfigurationOptions(ConfigurationOptionsT&& value) {
361 SetConfigurationOptions(std::forward<ConfigurationOptionsT>(value));
362 return *this;
363 }
365 m_configurationOptionsHasBeenSet = true;
366 m_configurationOptions.emplace(key, value);
367 return *this;
368 }
370
372
377 inline IpAddressType GetIpAddressType() const { return m_ipAddressType; }
378 inline bool IpAddressTypeHasBeenSet() const { return m_ipAddressTypeHasBeenSet; }
379 inline void SetIpAddressType(IpAddressType value) {
380 m_ipAddressTypeHasBeenSet = true;
381 m_ipAddressType = value;
382 }
384 SetIpAddressType(value);
385 return *this;
386 }
388
390
394 inline bool GetHttpsRedirectionEnabled() const { return m_httpsRedirectionEnabled; }
395 inline bool HttpsRedirectionEnabledHasBeenSet() const { return m_httpsRedirectionEnabledHasBeenSet; }
396 inline void SetHttpsRedirectionEnabled(bool value) {
397 m_httpsRedirectionEnabledHasBeenSet = true;
398 m_httpsRedirectionEnabled = value;
399 }
402 return *this;
403 }
405
407
410 inline const Aws::String& GetTlsPolicyName() const { return m_tlsPolicyName; }
411 inline bool TlsPolicyNameHasBeenSet() const { return m_tlsPolicyNameHasBeenSet; }
412 template <typename TlsPolicyNameT = Aws::String>
413 void SetTlsPolicyName(TlsPolicyNameT&& value) {
414 m_tlsPolicyNameHasBeenSet = true;
415 m_tlsPolicyName = std::forward<TlsPolicyNameT>(value);
416 }
417 template <typename TlsPolicyNameT = Aws::String>
418 LoadBalancer& WithTlsPolicyName(TlsPolicyNameT&& value) {
419 SetTlsPolicyName(std::forward<TlsPolicyNameT>(value));
420 return *this;
421 }
423 private:
424 Aws::String m_name;
425
426 Aws::String m_arn;
427
428 Aws::String m_supportCode;
429
430 Aws::Utils::DateTime m_createdAt{};
431
432 ResourceLocation m_location;
433
434 ResourceType m_resourceType{ResourceType::NOT_SET};
435
436 Aws::Vector<Tag> m_tags;
437
438 Aws::String m_dnsName;
439
441
443
444 Aws::Vector<int> m_publicPorts;
445
446 Aws::String m_healthCheckPath;
447
448 int m_instancePort{0};
449
450 Aws::Vector<InstanceHealthSummary> m_instanceHealthSummary;
451
452 Aws::Vector<LoadBalancerTlsCertificateSummary> m_tlsCertificateSummaries;
453
455
456 IpAddressType m_ipAddressType{IpAddressType::NOT_SET};
457
458 bool m_httpsRedirectionEnabled{false};
459
460 Aws::String m_tlsPolicyName;
461 bool m_nameHasBeenSet = false;
462 bool m_arnHasBeenSet = false;
463 bool m_supportCodeHasBeenSet = false;
464 bool m_createdAtHasBeenSet = false;
465 bool m_locationHasBeenSet = false;
466 bool m_resourceTypeHasBeenSet = false;
467 bool m_tagsHasBeenSet = false;
468 bool m_dnsNameHasBeenSet = false;
469 bool m_stateHasBeenSet = false;
470 bool m_protocolHasBeenSet = false;
471 bool m_publicPortsHasBeenSet = false;
472 bool m_healthCheckPathHasBeenSet = false;
473 bool m_instancePortHasBeenSet = false;
474 bool m_instanceHealthSummaryHasBeenSet = false;
475 bool m_tlsCertificateSummariesHasBeenSet = false;
476 bool m_configurationOptionsHasBeenSet = false;
477 bool m_ipAddressTypeHasBeenSet = false;
478 bool m_httpsRedirectionEnabledHasBeenSet = false;
479 bool m_tlsPolicyNameHasBeenSet = false;
480};
481
482} // namespace Model
483} // namespace Lightsail
484} // 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