/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Describes an Amazon Lightsail content delivery network (CDN)
* distribution.See Also:
AWS
* API Reference
The name of the distribution.
*/ inline const Aws::String& GetName() const{ return m_name; } /** *The name of the distribution.
*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *The name of the distribution.
*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *The name of the distribution.
*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *The name of the distribution.
*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *The name of the distribution.
*/ inline LightsailDistribution& WithName(const Aws::String& value) { SetName(value); return *this;} /** *The name of the distribution.
*/ inline LightsailDistribution& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *The name of the distribution.
*/ inline LightsailDistribution& WithName(const char* value) { SetName(value); return *this;} /** *The Amazon Resource Name (ARN) of the distribution.
*/ inline const Aws::String& GetArn() const{ return m_arn; } /** *The Amazon Resource Name (ARN) of the distribution.
*/ inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } /** *The Amazon Resource Name (ARN) of the distribution.
*/ inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } /** *The Amazon Resource Name (ARN) of the distribution.
*/ inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } /** *The Amazon Resource Name (ARN) of the distribution.
*/ inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } /** *The Amazon Resource Name (ARN) of the distribution.
*/ inline LightsailDistribution& WithArn(const Aws::String& value) { SetArn(value); return *this;} /** *The Amazon Resource Name (ARN) of the distribution.
*/ inline LightsailDistribution& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) of the distribution.
*/ inline LightsailDistribution& WithArn(const char* value) { SetArn(value); return *this;} /** *The support code. Include this code in your email to support when you have * questions about your Lightsail distribution. This code enables our support team * to look up your Lightsail information more easily.
*/ inline const Aws::String& GetSupportCode() const{ return m_supportCode; } /** *The support code. Include this code in your email to support when you have * questions about your Lightsail distribution. This code enables our support team * to look up your Lightsail information more easily.
*/ inline bool SupportCodeHasBeenSet() const { return m_supportCodeHasBeenSet; } /** *The support code. Include this code in your email to support when you have * questions about your Lightsail distribution. This code enables our support team * to look up your Lightsail information more easily.
*/ inline void SetSupportCode(const Aws::String& value) { m_supportCodeHasBeenSet = true; m_supportCode = value; } /** *The support code. Include this code in your email to support when you have * questions about your Lightsail distribution. This code enables our support team * to look up your Lightsail information more easily.
*/ inline void SetSupportCode(Aws::String&& value) { m_supportCodeHasBeenSet = true; m_supportCode = std::move(value); } /** *The support code. Include this code in your email to support when you have * questions about your Lightsail distribution. This code enables our support team * to look up your Lightsail information more easily.
*/ inline void SetSupportCode(const char* value) { m_supportCodeHasBeenSet = true; m_supportCode.assign(value); } /** *The support code. Include this code in your email to support when you have * questions about your Lightsail distribution. This code enables our support team * to look up your Lightsail information more easily.
*/ inline LightsailDistribution& WithSupportCode(const Aws::String& value) { SetSupportCode(value); return *this;} /** *The support code. Include this code in your email to support when you have * questions about your Lightsail distribution. This code enables our support team * to look up your Lightsail information more easily.
*/ inline LightsailDistribution& WithSupportCode(Aws::String&& value) { SetSupportCode(std::move(value)); return *this;} /** *The support code. Include this code in your email to support when you have * questions about your Lightsail distribution. This code enables our support team * to look up your Lightsail information more easily.
*/ inline LightsailDistribution& WithSupportCode(const char* value) { SetSupportCode(value); return *this;} /** *The timestamp when the distribution was created.
*/ inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } /** *The timestamp when the distribution was created.
*/ inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } /** *The timestamp when the distribution was created.
*/ inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } /** *The timestamp when the distribution was created.
*/ inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } /** *The timestamp when the distribution was created.
*/ inline LightsailDistribution& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} /** *The timestamp when the distribution was created.
*/ inline LightsailDistribution& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} /** *An object that describes the location of the distribution, such as the Amazon * Web Services Region and Availability Zone.
Lightsail distributions
* are global resources that can reference an origin in any Amazon Web Services
* Region, and distribute its content globally. However, all distributions are
* located in the us-east-1
Region.
An object that describes the location of the distribution, such as the Amazon * Web Services Region and Availability Zone.
Lightsail distributions
* are global resources that can reference an origin in any Amazon Web Services
* Region, and distribute its content globally. However, all distributions are
* located in the us-east-1
Region.
An object that describes the location of the distribution, such as the Amazon * Web Services Region and Availability Zone.
Lightsail distributions
* are global resources that can reference an origin in any Amazon Web Services
* Region, and distribute its content globally. However, all distributions are
* located in the us-east-1
Region.
An object that describes the location of the distribution, such as the Amazon * Web Services Region and Availability Zone.
Lightsail distributions
* are global resources that can reference an origin in any Amazon Web Services
* Region, and distribute its content globally. However, all distributions are
* located in the us-east-1
Region.
An object that describes the location of the distribution, such as the Amazon * Web Services Region and Availability Zone.
Lightsail distributions
* are global resources that can reference an origin in any Amazon Web Services
* Region, and distribute its content globally. However, all distributions are
* located in the us-east-1
Region.
An object that describes the location of the distribution, such as the Amazon * Web Services Region and Availability Zone.
Lightsail distributions
* are global resources that can reference an origin in any Amazon Web Services
* Region, and distribute its content globally. However, all distributions are
* located in the us-east-1
Region.
The Lightsail resource type (e.g., Distribution
).
The Lightsail resource type (e.g., Distribution
).
The Lightsail resource type (e.g., Distribution
).
The Lightsail resource type (e.g., Distribution
).
The Lightsail resource type (e.g., Distribution
).
The Lightsail resource type (e.g., Distribution
).
The alternate domain names of the distribution.
*/ inline const Aws::VectorThe alternate domain names of the distribution.
*/ inline bool AlternativeDomainNamesHasBeenSet() const { return m_alternativeDomainNamesHasBeenSet; } /** *The alternate domain names of the distribution.
*/ inline void SetAlternativeDomainNames(const Aws::VectorThe alternate domain names of the distribution.
*/ inline void SetAlternativeDomainNames(Aws::VectorThe alternate domain names of the distribution.
*/ inline LightsailDistribution& WithAlternativeDomainNames(const Aws::VectorThe alternate domain names of the distribution.
*/ inline LightsailDistribution& WithAlternativeDomainNames(Aws::VectorThe alternate domain names of the distribution.
*/ inline LightsailDistribution& AddAlternativeDomainNames(const Aws::String& value) { m_alternativeDomainNamesHasBeenSet = true; m_alternativeDomainNames.push_back(value); return *this; } /** *The alternate domain names of the distribution.
*/ inline LightsailDistribution& AddAlternativeDomainNames(Aws::String&& value) { m_alternativeDomainNamesHasBeenSet = true; m_alternativeDomainNames.push_back(std::move(value)); return *this; } /** *The alternate domain names of the distribution.
*/ inline LightsailDistribution& AddAlternativeDomainNames(const char* value) { m_alternativeDomainNamesHasBeenSet = true; m_alternativeDomainNames.push_back(value); return *this; } /** *The status of the distribution.
*/ inline const Aws::String& GetStatus() const{ return m_status; } /** *The status of the distribution.
*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *The status of the distribution.
*/ inline void SetStatus(const Aws::String& value) { m_statusHasBeenSet = true; m_status = value; } /** *The status of the distribution.
*/ inline void SetStatus(Aws::String&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *The status of the distribution.
*/ inline void SetStatus(const char* value) { m_statusHasBeenSet = true; m_status.assign(value); } /** *The status of the distribution.
*/ inline LightsailDistribution& WithStatus(const Aws::String& value) { SetStatus(value); return *this;} /** *The status of the distribution.
*/ inline LightsailDistribution& WithStatus(Aws::String&& value) { SetStatus(std::move(value)); return *this;} /** *The status of the distribution.
*/ inline LightsailDistribution& WithStatus(const char* value) { SetStatus(value); return *this;} /** *Indicates whether the distribution is enabled.
*/ inline bool GetIsEnabled() const{ return m_isEnabled; } /** *Indicates whether the distribution is enabled.
*/ inline bool IsEnabledHasBeenSet() const { return m_isEnabledHasBeenSet; } /** *Indicates whether the distribution is enabled.
*/ inline void SetIsEnabled(bool value) { m_isEnabledHasBeenSet = true; m_isEnabled = value; } /** *Indicates whether the distribution is enabled.
*/ inline LightsailDistribution& WithIsEnabled(bool value) { SetIsEnabled(value); return *this;} /** *The domain name of the distribution.
*/ inline const Aws::String& GetDomainName() const{ return m_domainName; } /** *The domain name of the distribution.
*/ inline bool DomainNameHasBeenSet() const { return m_domainNameHasBeenSet; } /** *The domain name of the distribution.
*/ inline void SetDomainName(const Aws::String& value) { m_domainNameHasBeenSet = true; m_domainName = value; } /** *The domain name of the distribution.
*/ inline void SetDomainName(Aws::String&& value) { m_domainNameHasBeenSet = true; m_domainName = std::move(value); } /** *The domain name of the distribution.
*/ inline void SetDomainName(const char* value) { m_domainNameHasBeenSet = true; m_domainName.assign(value); } /** *The domain name of the distribution.
*/ inline LightsailDistribution& WithDomainName(const Aws::String& value) { SetDomainName(value); return *this;} /** *The domain name of the distribution.
*/ inline LightsailDistribution& WithDomainName(Aws::String&& value) { SetDomainName(std::move(value)); return *this;} /** *The domain name of the distribution.
*/ inline LightsailDistribution& WithDomainName(const char* value) { SetDomainName(value); return *this;} /** *The ID of the bundle currently applied to the distribution.
*/ inline const Aws::String& GetBundleId() const{ return m_bundleId; } /** *The ID of the bundle currently applied to the distribution.
*/ inline bool BundleIdHasBeenSet() const { return m_bundleIdHasBeenSet; } /** *The ID of the bundle currently applied to the distribution.
*/ inline void SetBundleId(const Aws::String& value) { m_bundleIdHasBeenSet = true; m_bundleId = value; } /** *The ID of the bundle currently applied to the distribution.
*/ inline void SetBundleId(Aws::String&& value) { m_bundleIdHasBeenSet = true; m_bundleId = std::move(value); } /** *The ID of the bundle currently applied to the distribution.
*/ inline void SetBundleId(const char* value) { m_bundleIdHasBeenSet = true; m_bundleId.assign(value); } /** *The ID of the bundle currently applied to the distribution.
*/ inline LightsailDistribution& WithBundleId(const Aws::String& value) { SetBundleId(value); return *this;} /** *The ID of the bundle currently applied to the distribution.
*/ inline LightsailDistribution& WithBundleId(Aws::String&& value) { SetBundleId(std::move(value)); return *this;} /** *The ID of the bundle currently applied to the distribution.
*/ inline LightsailDistribution& WithBundleId(const char* value) { SetBundleId(value); return *this;} /** *The name of the SSL/TLS certificate attached to the distribution, if any.
*/ inline const Aws::String& GetCertificateName() const{ return m_certificateName; } /** *The name of the SSL/TLS certificate attached to the distribution, if any.
*/ inline bool CertificateNameHasBeenSet() const { return m_certificateNameHasBeenSet; } /** *The name of the SSL/TLS certificate attached to the distribution, if any.
*/ inline void SetCertificateName(const Aws::String& value) { m_certificateNameHasBeenSet = true; m_certificateName = value; } /** *The name of the SSL/TLS certificate attached to the distribution, if any.
*/ inline void SetCertificateName(Aws::String&& value) { m_certificateNameHasBeenSet = true; m_certificateName = std::move(value); } /** *The name of the SSL/TLS certificate attached to the distribution, if any.
*/ inline void SetCertificateName(const char* value) { m_certificateNameHasBeenSet = true; m_certificateName.assign(value); } /** *The name of the SSL/TLS certificate attached to the distribution, if any.
*/ inline LightsailDistribution& WithCertificateName(const Aws::String& value) { SetCertificateName(value); return *this;} /** *The name of the SSL/TLS certificate attached to the distribution, if any.
*/ inline LightsailDistribution& WithCertificateName(Aws::String&& value) { SetCertificateName(std::move(value)); return *this;} /** *The name of the SSL/TLS certificate attached to the distribution, if any.
*/ inline LightsailDistribution& WithCertificateName(const char* value) { SetCertificateName(value); return *this;} /** *An object that describes the origin resource of the distribution, such as a * Lightsail instance, bucket, or load balancer.
The distribution pulls, * caches, and serves content from the origin.
*/ inline const Origin& GetOrigin() const{ return m_origin; } /** *An object that describes the origin resource of the distribution, such as a * Lightsail instance, bucket, or load balancer.
The distribution pulls, * caches, and serves content from the origin.
*/ inline bool OriginHasBeenSet() const { return m_originHasBeenSet; } /** *An object that describes the origin resource of the distribution, such as a * Lightsail instance, bucket, or load balancer.
The distribution pulls, * caches, and serves content from the origin.
*/ inline void SetOrigin(const Origin& value) { m_originHasBeenSet = true; m_origin = value; } /** *An object that describes the origin resource of the distribution, such as a * Lightsail instance, bucket, or load balancer.
The distribution pulls, * caches, and serves content from the origin.
*/ inline void SetOrigin(Origin&& value) { m_originHasBeenSet = true; m_origin = std::move(value); } /** *An object that describes the origin resource of the distribution, such as a * Lightsail instance, bucket, or load balancer.
The distribution pulls, * caches, and serves content from the origin.
*/ inline LightsailDistribution& WithOrigin(const Origin& value) { SetOrigin(value); return *this;} /** *An object that describes the origin resource of the distribution, such as a * Lightsail instance, bucket, or load balancer.
The distribution pulls, * caches, and serves content from the origin.
*/ inline LightsailDistribution& WithOrigin(Origin&& value) { SetOrigin(std::move(value)); return *this;} /** *The public DNS of the origin.
*/ inline const Aws::String& GetOriginPublicDNS() const{ return m_originPublicDNS; } /** *The public DNS of the origin.
*/ inline bool OriginPublicDNSHasBeenSet() const { return m_originPublicDNSHasBeenSet; } /** *The public DNS of the origin.
*/ inline void SetOriginPublicDNS(const Aws::String& value) { m_originPublicDNSHasBeenSet = true; m_originPublicDNS = value; } /** *The public DNS of the origin.
*/ inline void SetOriginPublicDNS(Aws::String&& value) { m_originPublicDNSHasBeenSet = true; m_originPublicDNS = std::move(value); } /** *The public DNS of the origin.
*/ inline void SetOriginPublicDNS(const char* value) { m_originPublicDNSHasBeenSet = true; m_originPublicDNS.assign(value); } /** *The public DNS of the origin.
*/ inline LightsailDistribution& WithOriginPublicDNS(const Aws::String& value) { SetOriginPublicDNS(value); return *this;} /** *The public DNS of the origin.
*/ inline LightsailDistribution& WithOriginPublicDNS(Aws::String&& value) { SetOriginPublicDNS(std::move(value)); return *this;} /** *The public DNS of the origin.
*/ inline LightsailDistribution& WithOriginPublicDNS(const char* value) { SetOriginPublicDNS(value); return *this;} /** *An object that describes the default cache behavior of the distribution.
*/ inline const CacheBehavior& GetDefaultCacheBehavior() const{ return m_defaultCacheBehavior; } /** *An object that describes the default cache behavior of the distribution.
*/ inline bool DefaultCacheBehaviorHasBeenSet() const { return m_defaultCacheBehaviorHasBeenSet; } /** *An object that describes the default cache behavior of the distribution.
*/ inline void SetDefaultCacheBehavior(const CacheBehavior& value) { m_defaultCacheBehaviorHasBeenSet = true; m_defaultCacheBehavior = value; } /** *An object that describes the default cache behavior of the distribution.
*/ inline void SetDefaultCacheBehavior(CacheBehavior&& value) { m_defaultCacheBehaviorHasBeenSet = true; m_defaultCacheBehavior = std::move(value); } /** *An object that describes the default cache behavior of the distribution.
*/ inline LightsailDistribution& WithDefaultCacheBehavior(const CacheBehavior& value) { SetDefaultCacheBehavior(value); return *this;} /** *An object that describes the default cache behavior of the distribution.
*/ inline LightsailDistribution& WithDefaultCacheBehavior(CacheBehavior&& value) { SetDefaultCacheBehavior(std::move(value)); return *this;} /** *An object that describes the cache behavior settings of the distribution.
*/ inline const CacheSettings& GetCacheBehaviorSettings() const{ return m_cacheBehaviorSettings; } /** *An object that describes the cache behavior settings of the distribution.
*/ inline bool CacheBehaviorSettingsHasBeenSet() const { return m_cacheBehaviorSettingsHasBeenSet; } /** *An object that describes the cache behavior settings of the distribution.
*/ inline void SetCacheBehaviorSettings(const CacheSettings& value) { m_cacheBehaviorSettingsHasBeenSet = true; m_cacheBehaviorSettings = value; } /** *An object that describes the cache behavior settings of the distribution.
*/ inline void SetCacheBehaviorSettings(CacheSettings&& value) { m_cacheBehaviorSettingsHasBeenSet = true; m_cacheBehaviorSettings = std::move(value); } /** *An object that describes the cache behavior settings of the distribution.
*/ inline LightsailDistribution& WithCacheBehaviorSettings(const CacheSettings& value) { SetCacheBehaviorSettings(value); return *this;} /** *An object that describes the cache behavior settings of the distribution.
*/ inline LightsailDistribution& WithCacheBehaviorSettings(CacheSettings&& value) { SetCacheBehaviorSettings(std::move(value)); return *this;} /** *An array of objects that describe the per-path cache behavior of the * distribution.
*/ inline const Aws::VectorAn array of objects that describe the per-path cache behavior of the * distribution.
*/ inline bool CacheBehaviorsHasBeenSet() const { return m_cacheBehaviorsHasBeenSet; } /** *An array of objects that describe the per-path cache behavior of the * distribution.
*/ inline void SetCacheBehaviors(const Aws::VectorAn array of objects that describe the per-path cache behavior of the * distribution.
*/ inline void SetCacheBehaviors(Aws::VectorAn array of objects that describe the per-path cache behavior of the * distribution.
*/ inline LightsailDistribution& WithCacheBehaviors(const Aws::VectorAn array of objects that describe the per-path cache behavior of the * distribution.
*/ inline LightsailDistribution& WithCacheBehaviors(Aws::VectorAn array of objects that describe the per-path cache behavior of the * distribution.
*/ inline LightsailDistribution& AddCacheBehaviors(const CacheBehaviorPerPath& value) { m_cacheBehaviorsHasBeenSet = true; m_cacheBehaviors.push_back(value); return *this; } /** *An array of objects that describe the per-path cache behavior of the * distribution.
*/ inline LightsailDistribution& AddCacheBehaviors(CacheBehaviorPerPath&& value) { m_cacheBehaviorsHasBeenSet = true; m_cacheBehaviors.push_back(std::move(value)); return *this; } /** *Indicates whether the bundle that is currently applied to your distribution,
* specified using the distributionName
parameter, can be changed to
* another bundle.
Use the UpdateDistributionBundle
action to
* change your distribution's bundle.
Indicates whether the bundle that is currently applied to your distribution,
* specified using the distributionName
parameter, can be changed to
* another bundle.
Use the UpdateDistributionBundle
action to
* change your distribution's bundle.
Indicates whether the bundle that is currently applied to your distribution,
* specified using the distributionName
parameter, can be changed to
* another bundle.
Use the UpdateDistributionBundle
action to
* change your distribution's bundle.
Indicates whether the bundle that is currently applied to your distribution,
* specified using the distributionName
parameter, can be changed to
* another bundle.
Use the UpdateDistributionBundle
action to
* change your distribution's bundle.
The IP address type of the distribution.
The possible values are
* ipv4
for IPv4 only, and dualstack
for IPv4 and
* IPv6.
The IP address type of the distribution.
The possible values are
* ipv4
for IPv4 only, and dualstack
for IPv4 and
* IPv6.
The IP address type of the distribution.
The possible values are
* ipv4
for IPv4 only, and dualstack
for IPv4 and
* IPv6.
The IP address type of the distribution.
The possible values are
* ipv4
for IPv4 only, and dualstack
for IPv4 and
* IPv6.
The IP address type of the distribution.
The possible values are
* ipv4
for IPv4 only, and dualstack
for IPv4 and
* IPv6.
The IP address type of the distribution.
The possible values are
* ipv4
for IPv4 only, and dualstack
for IPv4 and
* IPv6.
The tag keys and optional values for the resource. For more information about * tags in Lightsail, see the Amazon * Lightsail Developer Guide.
*/ inline const Aws::VectorThe tag keys and optional values for the resource. For more information about * tags in Lightsail, see the Amazon * Lightsail Developer Guide.
*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *The tag keys and optional values for the resource. For more information about * tags in Lightsail, see the Amazon * Lightsail Developer Guide.
*/ inline void SetTags(const Aws::VectorThe tag keys and optional values for the resource. For more information about * tags in Lightsail, see the Amazon * Lightsail Developer Guide.
*/ inline void SetTags(Aws::VectorThe tag keys and optional values for the resource. For more information about * tags in Lightsail, see the Amazon * Lightsail Developer Guide.
*/ inline LightsailDistribution& WithTags(const Aws::VectorThe tag keys and optional values for the resource. For more information about * tags in Lightsail, see the Amazon * Lightsail Developer Guide.
*/ inline LightsailDistribution& WithTags(Aws::VectorThe tag keys and optional values for the resource. For more information about * tags in Lightsail, see the Amazon * Lightsail Developer Guide.
*/ inline LightsailDistribution& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *The tag keys and optional values for the resource. For more information about * tags in Lightsail, see the Amazon * Lightsail Developer Guide.
*/ inline LightsailDistribution& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } private: Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_arn; bool m_arnHasBeenSet = false; Aws::String m_supportCode; bool m_supportCodeHasBeenSet = false; Aws::Utils::DateTime m_createdAt; bool m_createdAtHasBeenSet = false; ResourceLocation m_location; bool m_locationHasBeenSet = false; ResourceType m_resourceType; bool m_resourceTypeHasBeenSet = false; Aws::Vector