AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
LightsailDistribution.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/Origin.h>
14#include <aws/lightsail/model/CacheBehavior.h>
15#include <aws/lightsail/model/CacheSettings.h>
16#include <aws/lightsail/model/IpAddressType.h>
17#include <aws/lightsail/model/CacheBehaviorPerPath.h>
18#include <aws/lightsail/model/Tag.h>
19#include <utility>
20
21namespace Aws
22{
23namespace Utils
24{
25namespace Json
26{
27 class JsonValue;
28 class JsonView;
29} // namespace Json
30} // namespace Utils
31namespace Lightsail
32{
33namespace Model
34{
35
43 {
44 public:
45 AWS_LIGHTSAIL_API LightsailDistribution() = default;
48 AWS_LIGHTSAIL_API Aws::Utils::Json::JsonValue Jsonize() const;
49
50
52
55 inline const Aws::String& GetName() const { return m_name; }
56 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
57 template<typename NameT = Aws::String>
58 void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward<NameT>(value); }
59 template<typename NameT = Aws::String>
60 LightsailDistribution& WithName(NameT&& value) { SetName(std::forward<NameT>(value)); return *this;}
62
64
67 inline const Aws::String& GetArn() const { return m_arn; }
68 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
69 template<typename ArnT = Aws::String>
70 void SetArn(ArnT&& value) { m_arnHasBeenSet = true; m_arn = std::forward<ArnT>(value); }
71 template<typename ArnT = Aws::String>
72 LightsailDistribution& WithArn(ArnT&& value) { SetArn(std::forward<ArnT>(value)); return *this;}
74
76
81 inline const Aws::String& GetSupportCode() const { return m_supportCode; }
82 inline bool SupportCodeHasBeenSet() const { return m_supportCodeHasBeenSet; }
83 template<typename SupportCodeT = Aws::String>
84 void SetSupportCode(SupportCodeT&& value) { m_supportCodeHasBeenSet = true; m_supportCode = std::forward<SupportCodeT>(value); }
85 template<typename SupportCodeT = Aws::String>
86 LightsailDistribution& WithSupportCode(SupportCodeT&& value) { SetSupportCode(std::forward<SupportCodeT>(value)); return *this;}
88
90
93 inline const Aws::Utils::DateTime& GetCreatedAt() const { return m_createdAt; }
94 inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; }
95 template<typename CreatedAtT = Aws::Utils::DateTime>
96 void SetCreatedAt(CreatedAtT&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::forward<CreatedAtT>(value); }
97 template<typename CreatedAtT = Aws::Utils::DateTime>
98 LightsailDistribution& WithCreatedAt(CreatedAtT&& value) { SetCreatedAt(std::forward<CreatedAtT>(value)); return *this;}
100
102
109 inline const ResourceLocation& GetLocation() const { return m_location; }
110 inline bool LocationHasBeenSet() const { return m_locationHasBeenSet; }
111 template<typename LocationT = ResourceLocation>
112 void SetLocation(LocationT&& value) { m_locationHasBeenSet = true; m_location = std::forward<LocationT>(value); }
113 template<typename LocationT = ResourceLocation>
114 LightsailDistribution& WithLocation(LocationT&& value) { SetLocation(std::forward<LocationT>(value)); return *this;}
116
118
121 inline ResourceType GetResourceType() const { return m_resourceType; }
122 inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; }
123 inline void SetResourceType(ResourceType value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; }
126
128
131 inline const Aws::Vector<Aws::String>& GetAlternativeDomainNames() const { return m_alternativeDomainNames; }
132 inline bool AlternativeDomainNamesHasBeenSet() const { return m_alternativeDomainNamesHasBeenSet; }
133 template<typename AlternativeDomainNamesT = Aws::Vector<Aws::String>>
134 void SetAlternativeDomainNames(AlternativeDomainNamesT&& value) { m_alternativeDomainNamesHasBeenSet = true; m_alternativeDomainNames = std::forward<AlternativeDomainNamesT>(value); }
135 template<typename AlternativeDomainNamesT = Aws::Vector<Aws::String>>
136 LightsailDistribution& WithAlternativeDomainNames(AlternativeDomainNamesT&& value) { SetAlternativeDomainNames(std::forward<AlternativeDomainNamesT>(value)); return *this;}
137 template<typename AlternativeDomainNamesT = Aws::String>
138 LightsailDistribution& AddAlternativeDomainNames(AlternativeDomainNamesT&& value) { m_alternativeDomainNamesHasBeenSet = true; m_alternativeDomainNames.emplace_back(std::forward<AlternativeDomainNamesT>(value)); return *this; }
140
142
145 inline const Aws::String& GetStatus() const { return m_status; }
146 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
147 template<typename StatusT = Aws::String>
148 void SetStatus(StatusT&& value) { m_statusHasBeenSet = true; m_status = std::forward<StatusT>(value); }
149 template<typename StatusT = Aws::String>
150 LightsailDistribution& WithStatus(StatusT&& value) { SetStatus(std::forward<StatusT>(value)); return *this;}
152
154
157 inline bool GetIsEnabled() const { return m_isEnabled; }
158 inline bool IsEnabledHasBeenSet() const { return m_isEnabledHasBeenSet; }
159 inline void SetIsEnabled(bool value) { m_isEnabledHasBeenSet = true; m_isEnabled = value; }
160 inline LightsailDistribution& WithIsEnabled(bool value) { SetIsEnabled(value); return *this;}
162
164
167 inline const Aws::String& GetDomainName() const { return m_domainName; }
168 inline bool DomainNameHasBeenSet() const { return m_domainNameHasBeenSet; }
169 template<typename DomainNameT = Aws::String>
170 void SetDomainName(DomainNameT&& value) { m_domainNameHasBeenSet = true; m_domainName = std::forward<DomainNameT>(value); }
171 template<typename DomainNameT = Aws::String>
172 LightsailDistribution& WithDomainName(DomainNameT&& value) { SetDomainName(std::forward<DomainNameT>(value)); return *this;}
174
176
179 inline const Aws::String& GetBundleId() const { return m_bundleId; }
180 inline bool BundleIdHasBeenSet() const { return m_bundleIdHasBeenSet; }
181 template<typename BundleIdT = Aws::String>
182 void SetBundleId(BundleIdT&& value) { m_bundleIdHasBeenSet = true; m_bundleId = std::forward<BundleIdT>(value); }
183 template<typename BundleIdT = Aws::String>
184 LightsailDistribution& WithBundleId(BundleIdT&& value) { SetBundleId(std::forward<BundleIdT>(value)); return *this;}
186
188
191 inline const Aws::String& GetCertificateName() const { return m_certificateName; }
192 inline bool CertificateNameHasBeenSet() const { return m_certificateNameHasBeenSet; }
193 template<typename CertificateNameT = Aws::String>
194 void SetCertificateName(CertificateNameT&& value) { m_certificateNameHasBeenSet = true; m_certificateName = std::forward<CertificateNameT>(value); }
195 template<typename CertificateNameT = Aws::String>
196 LightsailDistribution& WithCertificateName(CertificateNameT&& value) { SetCertificateName(std::forward<CertificateNameT>(value)); return *this;}
198
200
205 inline const Origin& GetOrigin() const { return m_origin; }
206 inline bool OriginHasBeenSet() const { return m_originHasBeenSet; }
207 template<typename OriginT = Origin>
208 void SetOrigin(OriginT&& value) { m_originHasBeenSet = true; m_origin = std::forward<OriginT>(value); }
209 template<typename OriginT = Origin>
210 LightsailDistribution& WithOrigin(OriginT&& value) { SetOrigin(std::forward<OriginT>(value)); return *this;}
212
214
217 inline const Aws::String& GetOriginPublicDNS() const { return m_originPublicDNS; }
218 inline bool OriginPublicDNSHasBeenSet() const { return m_originPublicDNSHasBeenSet; }
219 template<typename OriginPublicDNST = Aws::String>
220 void SetOriginPublicDNS(OriginPublicDNST&& value) { m_originPublicDNSHasBeenSet = true; m_originPublicDNS = std::forward<OriginPublicDNST>(value); }
221 template<typename OriginPublicDNST = Aws::String>
222 LightsailDistribution& WithOriginPublicDNS(OriginPublicDNST&& value) { SetOriginPublicDNS(std::forward<OriginPublicDNST>(value)); return *this;}
224
226
229 inline const CacheBehavior& GetDefaultCacheBehavior() const { return m_defaultCacheBehavior; }
230 inline bool DefaultCacheBehaviorHasBeenSet() const { return m_defaultCacheBehaviorHasBeenSet; }
231 template<typename DefaultCacheBehaviorT = CacheBehavior>
232 void SetDefaultCacheBehavior(DefaultCacheBehaviorT&& value) { m_defaultCacheBehaviorHasBeenSet = true; m_defaultCacheBehavior = std::forward<DefaultCacheBehaviorT>(value); }
233 template<typename DefaultCacheBehaviorT = CacheBehavior>
234 LightsailDistribution& WithDefaultCacheBehavior(DefaultCacheBehaviorT&& value) { SetDefaultCacheBehavior(std::forward<DefaultCacheBehaviorT>(value)); return *this;}
236
238
241 inline const CacheSettings& GetCacheBehaviorSettings() const { return m_cacheBehaviorSettings; }
242 inline bool CacheBehaviorSettingsHasBeenSet() const { return m_cacheBehaviorSettingsHasBeenSet; }
243 template<typename CacheBehaviorSettingsT = CacheSettings>
244 void SetCacheBehaviorSettings(CacheBehaviorSettingsT&& value) { m_cacheBehaviorSettingsHasBeenSet = true; m_cacheBehaviorSettings = std::forward<CacheBehaviorSettingsT>(value); }
245 template<typename CacheBehaviorSettingsT = CacheSettings>
246 LightsailDistribution& WithCacheBehaviorSettings(CacheBehaviorSettingsT&& value) { SetCacheBehaviorSettings(std::forward<CacheBehaviorSettingsT>(value)); return *this;}
248
250
254 inline const Aws::Vector<CacheBehaviorPerPath>& GetCacheBehaviors() const { return m_cacheBehaviors; }
255 inline bool CacheBehaviorsHasBeenSet() const { return m_cacheBehaviorsHasBeenSet; }
256 template<typename CacheBehaviorsT = Aws::Vector<CacheBehaviorPerPath>>
257 void SetCacheBehaviors(CacheBehaviorsT&& value) { m_cacheBehaviorsHasBeenSet = true; m_cacheBehaviors = std::forward<CacheBehaviorsT>(value); }
258 template<typename CacheBehaviorsT = Aws::Vector<CacheBehaviorPerPath>>
259 LightsailDistribution& WithCacheBehaviors(CacheBehaviorsT&& value) { SetCacheBehaviors(std::forward<CacheBehaviorsT>(value)); return *this;}
260 template<typename CacheBehaviorsT = CacheBehaviorPerPath>
261 LightsailDistribution& AddCacheBehaviors(CacheBehaviorsT&& value) { m_cacheBehaviorsHasBeenSet = true; m_cacheBehaviors.emplace_back(std::forward<CacheBehaviorsT>(value)); return *this; }
263
265
271 inline bool GetAbleToUpdateBundle() const { return m_ableToUpdateBundle; }
272 inline bool AbleToUpdateBundleHasBeenSet() const { return m_ableToUpdateBundleHasBeenSet; }
273 inline void SetAbleToUpdateBundle(bool value) { m_ableToUpdateBundleHasBeenSet = true; m_ableToUpdateBundle = value; }
274 inline LightsailDistribution& WithAbleToUpdateBundle(bool value) { SetAbleToUpdateBundle(value); return *this;}
276
278
283 inline IpAddressType GetIpAddressType() const { return m_ipAddressType; }
284 inline bool IpAddressTypeHasBeenSet() const { return m_ipAddressTypeHasBeenSet; }
285 inline void SetIpAddressType(IpAddressType value) { m_ipAddressTypeHasBeenSet = true; m_ipAddressType = value; }
288
290
296 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
297 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
298 template<typename TagsT = Aws::Vector<Tag>>
299 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
300 template<typename TagsT = Aws::Vector<Tag>>
301 LightsailDistribution& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
302 template<typename TagsT = Tag>
303 LightsailDistribution& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
305
307
311 inline const Aws::String& GetViewerMinimumTlsProtocolVersion() const { return m_viewerMinimumTlsProtocolVersion; }
312 inline bool ViewerMinimumTlsProtocolVersionHasBeenSet() const { return m_viewerMinimumTlsProtocolVersionHasBeenSet; }
313 template<typename ViewerMinimumTlsProtocolVersionT = Aws::String>
314 void SetViewerMinimumTlsProtocolVersion(ViewerMinimumTlsProtocolVersionT&& value) { m_viewerMinimumTlsProtocolVersionHasBeenSet = true; m_viewerMinimumTlsProtocolVersion = std::forward<ViewerMinimumTlsProtocolVersionT>(value); }
315 template<typename ViewerMinimumTlsProtocolVersionT = Aws::String>
316 LightsailDistribution& WithViewerMinimumTlsProtocolVersion(ViewerMinimumTlsProtocolVersionT&& value) { SetViewerMinimumTlsProtocolVersion(std::forward<ViewerMinimumTlsProtocolVersionT>(value)); return *this;}
318 private:
319
320 Aws::String m_name;
321 bool m_nameHasBeenSet = false;
322
323 Aws::String m_arn;
324 bool m_arnHasBeenSet = false;
325
326 Aws::String m_supportCode;
327 bool m_supportCodeHasBeenSet = false;
328
329 Aws::Utils::DateTime m_createdAt{};
330 bool m_createdAtHasBeenSet = false;
331
332 ResourceLocation m_location;
333 bool m_locationHasBeenSet = false;
334
335 ResourceType m_resourceType{ResourceType::NOT_SET};
336 bool m_resourceTypeHasBeenSet = false;
337
338 Aws::Vector<Aws::String> m_alternativeDomainNames;
339 bool m_alternativeDomainNamesHasBeenSet = false;
340
341 Aws::String m_status;
342 bool m_statusHasBeenSet = false;
343
344 bool m_isEnabled{false};
345 bool m_isEnabledHasBeenSet = false;
346
347 Aws::String m_domainName;
348 bool m_domainNameHasBeenSet = false;
349
350 Aws::String m_bundleId;
351 bool m_bundleIdHasBeenSet = false;
352
353 Aws::String m_certificateName;
354 bool m_certificateNameHasBeenSet = false;
355
356 Origin m_origin;
357 bool m_originHasBeenSet = false;
358
359 Aws::String m_originPublicDNS;
360 bool m_originPublicDNSHasBeenSet = false;
361
362 CacheBehavior m_defaultCacheBehavior;
363 bool m_defaultCacheBehaviorHasBeenSet = false;
364
365 CacheSettings m_cacheBehaviorSettings;
366 bool m_cacheBehaviorSettingsHasBeenSet = false;
367
368 Aws::Vector<CacheBehaviorPerPath> m_cacheBehaviors;
369 bool m_cacheBehaviorsHasBeenSet = false;
370
371 bool m_ableToUpdateBundle{false};
372 bool m_ableToUpdateBundleHasBeenSet = false;
373
374 IpAddressType m_ipAddressType{IpAddressType::NOT_SET};
375 bool m_ipAddressTypeHasBeenSet = false;
376
377 Aws::Vector<Tag> m_tags;
378 bool m_tagsHasBeenSet = false;
379
380 Aws::String m_viewerMinimumTlsProtocolVersion;
381 bool m_viewerMinimumTlsProtocolVersionHasBeenSet = false;
382 };
383
384} // namespace Model
385} // namespace Lightsail
386} // namespace Aws
LightsailDistribution & WithDomainName(DomainNameT &&value)
LightsailDistribution & WithIsEnabled(bool value)
LightsailDistribution & WithArn(ArnT &&value)
const Aws::String & GetViewerMinimumTlsProtocolVersion() const
LightsailDistribution & WithCreatedAt(CreatedAtT &&value)
LightsailDistribution & WithOrigin(OriginT &&value)
AWS_LIGHTSAIL_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_LIGHTSAIL_API LightsailDistribution & operator=(Aws::Utils::Json::JsonView jsonValue)
LightsailDistribution & WithOriginPublicDNS(OriginPublicDNST &&value)
LightsailDistribution & WithViewerMinimumTlsProtocolVersion(ViewerMinimumTlsProtocolVersionT &&value)
const Aws::Vector< CacheBehaviorPerPath > & GetCacheBehaviors() const
LightsailDistribution & WithCacheBehaviors(CacheBehaviorsT &&value)
void SetViewerMinimumTlsProtocolVersion(ViewerMinimumTlsProtocolVersionT &&value)
LightsailDistribution & WithCertificateName(CertificateNameT &&value)
LightsailDistribution & WithBundleId(BundleIdT &&value)
LightsailDistribution & AddTags(TagsT &&value)
LightsailDistribution & AddAlternativeDomainNames(AlternativeDomainNamesT &&value)
AWS_LIGHTSAIL_API LightsailDistribution()=default
LightsailDistribution & WithAlternativeDomainNames(AlternativeDomainNamesT &&value)
LightsailDistribution & WithTags(TagsT &&value)
void SetCacheBehaviorSettings(CacheBehaviorSettingsT &&value)
const Aws::Utils::DateTime & GetCreatedAt() const
LightsailDistribution & WithIpAddressType(IpAddressType value)
AWS_LIGHTSAIL_API LightsailDistribution(Aws::Utils::Json::JsonView jsonValue)
LightsailDistribution & AddCacheBehaviors(CacheBehaviorsT &&value)
const CacheBehavior & GetDefaultCacheBehavior() const
LightsailDistribution & WithName(NameT &&value)
LightsailDistribution & WithLocation(LocationT &&value)
LightsailDistribution & WithSupportCode(SupportCodeT &&value)
LightsailDistribution & WithStatus(StatusT &&value)
LightsailDistribution & WithAbleToUpdateBundle(bool value)
void SetAlternativeDomainNames(AlternativeDomainNamesT &&value)
void SetDefaultCacheBehavior(DefaultCacheBehaviorT &&value)
LightsailDistribution & WithCacheBehaviorSettings(CacheBehaviorSettingsT &&value)
const CacheSettings & GetCacheBehaviorSettings() const
const Aws::Vector< Aws::String > & GetAlternativeDomainNames() const
LightsailDistribution & WithResourceType(ResourceType value)
LightsailDistribution & WithDefaultCacheBehavior(DefaultCacheBehaviorT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue