7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/lightsail/Lightsail_EXPORTS.h>
11#include <aws/lightsail/model/CacheBehavior.h>
12#include <aws/lightsail/model/CacheBehaviorPerPath.h>
13#include <aws/lightsail/model/CacheSettings.h>
14#include <aws/lightsail/model/DistributionCustomErrorResponse.h>
15#include <aws/lightsail/model/IpAddressType.h>
16#include <aws/lightsail/model/Origin.h>
17#include <aws/lightsail/model/ResourceLocation.h>
18#include <aws/lightsail/model/ResourceType.h>
19#include <aws/lightsail/model/Tag.h>
52 template <
typename NameT = Aws::String>
54 m_nameHasBeenSet =
true;
55 m_name = std::forward<NameT>(value);
57 template <
typename NameT = Aws::String>
59 SetName(std::forward<NameT>(value));
70 template <
typename ArnT = Aws::String>
72 m_arnHasBeenSet =
true;
73 m_arn = std::forward<ArnT>(value);
75 template <
typename ArnT = Aws::String>
77 SetArn(std::forward<ArnT>(value));
90 template <
typename SupportCodeT = Aws::String>
92 m_supportCodeHasBeenSet =
true;
93 m_supportCode = std::forward<SupportCodeT>(value);
95 template <
typename SupportCodeT = Aws::String>
108 template <
typename CreatedAtT = Aws::Utils::DateTime>
110 m_createdAtHasBeenSet =
true;
111 m_createdAt = std::forward<CreatedAtT>(value);
113 template <
typename CreatedAtT = Aws::Utils::DateTime>
130 template <
typename LocationT = ResourceLocation>
132 m_locationHasBeenSet =
true;
133 m_location = std::forward<LocationT>(value);
135 template <
typename LocationT = ResourceLocation>
149 m_resourceTypeHasBeenSet =
true;
150 m_resourceType = value;
164 template <
typename AlternativeDomainNamesT = Aws::Vector<Aws::String>>
166 m_alternativeDomainNamesHasBeenSet =
true;
167 m_alternativeDomainNames = std::forward<AlternativeDomainNamesT>(value);
169 template <
typename AlternativeDomainNamesT = Aws::Vector<Aws::String>>
174 template <
typename AlternativeDomainNamesT = Aws::String>
176 m_alternativeDomainNamesHasBeenSet =
true;
177 m_alternativeDomainNames.emplace_back(std::forward<AlternativeDomainNamesT>(value));
188 template <
typename StatusT = Aws::String>
190 m_statusHasBeenSet =
true;
191 m_status = std::forward<StatusT>(value);
193 template <
typename StatusT = Aws::String>
207 m_isEnabledHasBeenSet =
true;
222 template <
typename DomainNameT = Aws::String>
224 m_domainNameHasBeenSet =
true;
225 m_domainName = std::forward<DomainNameT>(value);
227 template <
typename DomainNameT = Aws::String>
240 template <
typename BundleIdT = Aws::String>
242 m_bundleIdHasBeenSet =
true;
243 m_bundleId = std::forward<BundleIdT>(value);
245 template <
typename BundleIdT = Aws::String>
258 template <
typename CertificateNameT = Aws::String>
260 m_certificateNameHasBeenSet =
true;
261 m_certificateName = std::forward<CertificateNameT>(value);
263 template <
typename CertificateNameT = Aws::String>
278 template <
typename OriginT = Origin>
280 m_originHasBeenSet =
true;
281 m_origin = std::forward<OriginT>(value);
283 template <
typename OriginT = Origin>
296 template <
typename OriginPublicDNST = Aws::String>
298 m_originPublicDNSHasBeenSet =
true;
299 m_originPublicDNS = std::forward<OriginPublicDNST>(value);
301 template <
typename OriginPublicDNST = Aws::String>
314 template <
typename DefaultCacheBehaviorT = CacheBehavior>
316 m_defaultCacheBehaviorHasBeenSet =
true;
317 m_defaultCacheBehavior = std::forward<DefaultCacheBehaviorT>(value);
319 template <
typename DefaultCacheBehaviorT = CacheBehavior>
332 template <
typename CacheBehaviorSettingsT = CacheSettings>
334 m_cacheBehaviorSettingsHasBeenSet =
true;
335 m_cacheBehaviorSettings = std::forward<CacheBehaviorSettingsT>(value);
337 template <
typename CacheBehaviorSettingsT = CacheSettings>
351 template <
typename CacheBehaviorsT = Aws::Vector<CacheBehaviorPerPath>>
353 m_cacheBehaviorsHasBeenSet =
true;
354 m_cacheBehaviors = std::forward<CacheBehaviorsT>(value);
356 template <
typename CacheBehaviorsT = Aws::Vector<CacheBehaviorPerPath>>
361 template <
typename CacheBehaviorsT = CacheBehaviorPerPath>
363 m_cacheBehaviorsHasBeenSet =
true;
364 m_cacheBehaviors.emplace_back(std::forward<CacheBehaviorsT>(value));
379 m_ableToUpdateBundleHasBeenSet =
true;
380 m_ableToUpdateBundle = value;
397 m_ipAddressTypeHasBeenSet =
true;
398 m_ipAddressType = value;
415 template <
typename TagsT = Aws::Vector<Tag>>
417 m_tagsHasBeenSet =
true;
418 m_tags = std::forward<TagsT>(value);
420 template <
typename TagsT = Aws::Vector<Tag>>
422 SetTags(std::forward<TagsT>(value));
425 template <
typename TagsT = Tag>
427 m_tagsHasBeenSet =
true;
428 m_tags.emplace_back(std::forward<TagsT>(value));
440 template <
typename ViewerMinimumTlsProtocolVersionT = Aws::String>
442 m_viewerMinimumTlsProtocolVersionHasBeenSet =
true;
443 m_viewerMinimumTlsProtocolVersion = std::forward<ViewerMinimumTlsProtocolVersionT>(value);
445 template <
typename ViewerMinimumTlsProtocolVersionT = Aws::String>
460 template <
typename DefaultRootObjectT = Aws::String>
462 m_defaultRootObjectHasBeenSet =
true;
463 m_defaultRootObject = std::forward<DefaultRootObjectT>(value);
465 template <
typename DefaultRootObjectT = Aws::String>
479 template <
typename CustomErrorResponsesT = Aws::Vector<DistributionCustomErrorResponse>>
481 m_customErrorResponsesHasBeenSet =
true;
482 m_customErrorResponses = std::forward<CustomErrorResponsesT>(value);
484 template <
typename CustomErrorResponsesT = Aws::Vector<DistributionCustomErrorResponse>>
489 template <
typename CustomErrorResponsesT = DistributionCustomErrorResponse>
491 m_customErrorResponsesHasBeenSet =
true;
492 m_customErrorResponses.emplace_back(std::forward<CustomErrorResponsesT>(value));
505 ResourceLocation m_location;
513 bool m_isEnabled{
false};
525 CacheBehavior m_defaultCacheBehavior;
527 CacheSettings m_cacheBehaviorSettings;
531 bool m_ableToUpdateBundle{
false};
542 bool m_nameHasBeenSet =
false;
543 bool m_arnHasBeenSet =
false;
544 bool m_supportCodeHasBeenSet =
false;
545 bool m_createdAtHasBeenSet =
false;
546 bool m_locationHasBeenSet =
false;
547 bool m_resourceTypeHasBeenSet =
false;
548 bool m_alternativeDomainNamesHasBeenSet =
false;
549 bool m_statusHasBeenSet =
false;
550 bool m_isEnabledHasBeenSet =
false;
551 bool m_domainNameHasBeenSet =
false;
552 bool m_bundleIdHasBeenSet =
false;
553 bool m_certificateNameHasBeenSet =
false;
554 bool m_originHasBeenSet =
false;
555 bool m_originPublicDNSHasBeenSet =
false;
556 bool m_defaultCacheBehaviorHasBeenSet =
false;
557 bool m_cacheBehaviorSettingsHasBeenSet =
false;
558 bool m_cacheBehaviorsHasBeenSet =
false;
559 bool m_ableToUpdateBundleHasBeenSet =
false;
560 bool m_ipAddressTypeHasBeenSet =
false;
561 bool m_tagsHasBeenSet =
false;
562 bool m_viewerMinimumTlsProtocolVersionHasBeenSet =
false;
563 bool m_defaultRootObjectHasBeenSet =
false;
564 bool m_customErrorResponsesHasBeenSet =
false;
void SetLocation(LocationT &&value)
LightsailDistribution & WithDomainName(DomainNameT &&value)
void SetCustomErrorResponses(CustomErrorResponsesT &&value)
bool TagsHasBeenSet() const
bool NameHasBeenSet() const
bool AlternativeDomainNamesHasBeenSet() const
LightsailDistribution & WithIsEnabled(bool value)
bool IsEnabledHasBeenSet() const
void SetCertificateName(CertificateNameT &&value)
void SetResourceType(ResourceType value)
LightsailDistribution & WithArn(ArnT &&value)
const Aws::String & GetViewerMinimumTlsProtocolVersion() const
bool CertificateNameHasBeenSet() const
bool GetAbleToUpdateBundle() const
LightsailDistribution & WithCreatedAt(CreatedAtT &&value)
void SetCacheBehaviors(CacheBehaviorsT &&value)
void SetDefaultRootObject(DefaultRootObjectT &&value)
LightsailDistribution & WithOrigin(OriginT &&value)
AWS_LIGHTSAIL_API Aws::Utils::Json::JsonValue Jsonize() const
void SetName(NameT &&value)
void SetOrigin(OriginT &&value)
void SetTags(TagsT &&value)
const Origin & GetOrigin() const
bool ArnHasBeenSet() const
AWS_LIGHTSAIL_API LightsailDistribution & operator=(Aws::Utils::Json::JsonView jsonValue)
LightsailDistribution & WithOriginPublicDNS(OriginPublicDNST &&value)
LightsailDistribution & AddCustomErrorResponses(CustomErrorResponsesT &&value)
LightsailDistribution & WithViewerMinimumTlsProtocolVersion(ViewerMinimumTlsProtocolVersionT &&value)
const Aws::String & GetCertificateName() const
void SetCreatedAt(CreatedAtT &&value)
const Aws::Vector< CacheBehaviorPerPath > & GetCacheBehaviors() const
void SetBundleId(BundleIdT &&value)
const ResourceLocation & GetLocation() const
LightsailDistribution & WithCacheBehaviors(CacheBehaviorsT &&value)
void SetViewerMinimumTlsProtocolVersion(ViewerMinimumTlsProtocolVersionT &&value)
void SetArn(ArnT &&value)
LightsailDistribution & WithCustomErrorResponses(CustomErrorResponsesT &&value)
bool ResourceTypeHasBeenSet() const
LightsailDistribution & WithCertificateName(CertificateNameT &&value)
ResourceType GetResourceType() const
LightsailDistribution & WithBundleId(BundleIdT &&value)
const Aws::String & GetDomainName() const
LightsailDistribution & AddTags(TagsT &&value)
bool CacheBehaviorSettingsHasBeenSet() const
LightsailDistribution & AddAlternativeDomainNames(AlternativeDomainNamesT &&value)
const Aws::Vector< DistributionCustomErrorResponse > & GetCustomErrorResponses() const
bool DefaultRootObjectHasBeenSet() const
const Aws::String & GetDefaultRootObject() const
bool StatusHasBeenSet() const
void SetOriginPublicDNS(OriginPublicDNST &&value)
AWS_LIGHTSAIL_API LightsailDistribution()=default
LightsailDistribution & WithAlternativeDomainNames(AlternativeDomainNamesT &&value)
LightsailDistribution & WithTags(TagsT &&value)
const Aws::Vector< Tag > & GetTags() const
void SetCacheBehaviorSettings(CacheBehaviorSettingsT &&value)
const Aws::String & GetStatus() const
const Aws::Utils::DateTime & GetCreatedAt() const
LightsailDistribution & WithIpAddressType(IpAddressType value)
bool AbleToUpdateBundleHasBeenSet() const
const Aws::String & GetBundleId() const
AWS_LIGHTSAIL_API LightsailDistribution(Aws::Utils::Json::JsonView jsonValue)
void SetAbleToUpdateBundle(bool value)
bool IpAddressTypeHasBeenSet() const
bool LocationHasBeenSet() const
bool GetIsEnabled() const
LightsailDistribution & AddCacheBehaviors(CacheBehaviorsT &&value)
LightsailDistribution & WithDefaultRootObject(DefaultRootObjectT &&value)
void SetDomainName(DomainNameT &&value)
void SetSupportCode(SupportCodeT &&value)
const CacheBehavior & GetDefaultCacheBehavior() const
const Aws::String & GetSupportCode() const
const Aws::String & GetOriginPublicDNS() const
LightsailDistribution & WithName(NameT &&value)
LightsailDistribution & WithLocation(LocationT &&value)
LightsailDistribution & WithSupportCode(SupportCodeT &&value)
void SetIpAddressType(IpAddressType value)
bool ViewerMinimumTlsProtocolVersionHasBeenSet() const
LightsailDistribution & WithStatus(StatusT &&value)
LightsailDistribution & WithAbleToUpdateBundle(bool value)
bool OriginPublicDNSHasBeenSet() const
bool DefaultCacheBehaviorHasBeenSet() const
bool BundleIdHasBeenSet() const
bool CacheBehaviorsHasBeenSet() const
bool OriginHasBeenSet() const
void SetAlternativeDomainNames(AlternativeDomainNamesT &&value)
void SetDefaultCacheBehavior(DefaultCacheBehaviorT &&value)
LightsailDistribution & WithCacheBehaviorSettings(CacheBehaviorSettingsT &&value)
const CacheSettings & GetCacheBehaviorSettings() const
const Aws::Vector< Aws::String > & GetAlternativeDomainNames() const
const Aws::String & GetArn() const
bool CreatedAtHasBeenSet() const
void SetStatus(StatusT &&value)
const Aws::String & GetName() const
bool DomainNameHasBeenSet() const
IpAddressType GetIpAddressType() const
bool SupportCodeHasBeenSet() const
void SetIsEnabled(bool value)
bool CustomErrorResponsesHasBeenSet() 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