/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace CloudFront { namespace Model { /** *

A summary of the information about a CloudFront distribution.

See * Also:

AWS * API Reference

*/ class DistributionSummary { public: AWS_CLOUDFRONT_API DistributionSummary(); AWS_CLOUDFRONT_API DistributionSummary(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_CLOUDFRONT_API DistributionSummary& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_CLOUDFRONT_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** *

The identifier for the distribution. For example: * EDFDVBD632BHDS5.

*/ inline const Aws::String& GetId() const{ return m_id; } /** *

The identifier for the distribution. For example: * EDFDVBD632BHDS5.

*/ inline bool IdHasBeenSet() const { return m_idHasBeenSet; } /** *

The identifier for the distribution. For example: * EDFDVBD632BHDS5.

*/ inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } /** *

The identifier for the distribution. For example: * EDFDVBD632BHDS5.

*/ inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } /** *

The identifier for the distribution. For example: * EDFDVBD632BHDS5.

*/ inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } /** *

The identifier for the distribution. For example: * EDFDVBD632BHDS5.

*/ inline DistributionSummary& WithId(const Aws::String& value) { SetId(value); return *this;} /** *

The identifier for the distribution. For example: * EDFDVBD632BHDS5.

*/ inline DistributionSummary& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} /** *

The identifier for the distribution. For example: * EDFDVBD632BHDS5.

*/ inline DistributionSummary& WithId(const char* value) { SetId(value); return *this;} /** *

The ARN (Amazon Resource Name) for the distribution. For example: * arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, * where 123456789012 is your Amazon Web Services account ID.

*/ inline const Aws::String& GetARN() const{ return m_aRN; } /** *

The ARN (Amazon Resource Name) for the distribution. For example: * arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, * where 123456789012 is your Amazon Web Services account ID.

*/ inline bool ARNHasBeenSet() const { return m_aRNHasBeenSet; } /** *

The ARN (Amazon Resource Name) for the distribution. For example: * arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, * where 123456789012 is your Amazon Web Services account ID.

*/ inline void SetARN(const Aws::String& value) { m_aRNHasBeenSet = true; m_aRN = value; } /** *

The ARN (Amazon Resource Name) for the distribution. For example: * arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, * where 123456789012 is your Amazon Web Services account ID.

*/ inline void SetARN(Aws::String&& value) { m_aRNHasBeenSet = true; m_aRN = std::move(value); } /** *

The ARN (Amazon Resource Name) for the distribution. For example: * arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, * where 123456789012 is your Amazon Web Services account ID.

*/ inline void SetARN(const char* value) { m_aRNHasBeenSet = true; m_aRN.assign(value); } /** *

The ARN (Amazon Resource Name) for the distribution. For example: * arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, * where 123456789012 is your Amazon Web Services account ID.

*/ inline DistributionSummary& WithARN(const Aws::String& value) { SetARN(value); return *this;} /** *

The ARN (Amazon Resource Name) for the distribution. For example: * arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, * where 123456789012 is your Amazon Web Services account ID.

*/ inline DistributionSummary& WithARN(Aws::String&& value) { SetARN(std::move(value)); return *this;} /** *

The ARN (Amazon Resource Name) for the distribution. For example: * arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, * where 123456789012 is your Amazon Web Services account ID.

*/ inline DistributionSummary& WithARN(const char* value) { SetARN(value); return *this;} /** *

The current status of the distribution. When the status is * Deployed, the distribution's information is propagated to all * CloudFront edge locations.

*/ inline const Aws::String& GetStatus() const{ return m_status; } /** *

The current status of the distribution. When the status is * Deployed, the distribution's information is propagated to all * CloudFront edge locations.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The current status of the distribution. When the status is * Deployed, the distribution's information is propagated to all * CloudFront edge locations.

*/ inline void SetStatus(const Aws::String& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The current status of the distribution. When the status is * Deployed, the distribution's information is propagated to all * CloudFront edge locations.

*/ inline void SetStatus(Aws::String&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The current status of the distribution. When the status is * Deployed, the distribution's information is propagated to all * CloudFront edge locations.

*/ inline void SetStatus(const char* value) { m_statusHasBeenSet = true; m_status.assign(value); } /** *

The current status of the distribution. When the status is * Deployed, the distribution's information is propagated to all * CloudFront edge locations.

*/ inline DistributionSummary& WithStatus(const Aws::String& value) { SetStatus(value); return *this;} /** *

The current status of the distribution. When the status is * Deployed, the distribution's information is propagated to all * CloudFront edge locations.

*/ inline DistributionSummary& WithStatus(Aws::String&& value) { SetStatus(std::move(value)); return *this;} /** *

The current status of the distribution. When the status is * Deployed, the distribution's information is propagated to all * CloudFront edge locations.

*/ inline DistributionSummary& WithStatus(const char* value) { SetStatus(value); return *this;} /** *

The date and time the distribution was last modified.

*/ inline const Aws::Utils::DateTime& GetLastModifiedTime() const{ return m_lastModifiedTime; } /** *

The date and time the distribution was last modified.

*/ inline bool LastModifiedTimeHasBeenSet() const { return m_lastModifiedTimeHasBeenSet; } /** *

The date and time the distribution was last modified.

*/ inline void SetLastModifiedTime(const Aws::Utils::DateTime& value) { m_lastModifiedTimeHasBeenSet = true; m_lastModifiedTime = value; } /** *

The date and time the distribution was last modified.

*/ inline void SetLastModifiedTime(Aws::Utils::DateTime&& value) { m_lastModifiedTimeHasBeenSet = true; m_lastModifiedTime = std::move(value); } /** *

The date and time the distribution was last modified.

*/ inline DistributionSummary& WithLastModifiedTime(const Aws::Utils::DateTime& value) { SetLastModifiedTime(value); return *this;} /** *

The date and time the distribution was last modified.

*/ inline DistributionSummary& WithLastModifiedTime(Aws::Utils::DateTime&& value) { SetLastModifiedTime(std::move(value)); return *this;} /** *

The domain name that corresponds to the distribution, for example, * d111111abcdef8.cloudfront.net.

*/ inline const Aws::String& GetDomainName() const{ return m_domainName; } /** *

The domain name that corresponds to the distribution, for example, * d111111abcdef8.cloudfront.net.

*/ inline bool DomainNameHasBeenSet() const { return m_domainNameHasBeenSet; } /** *

The domain name that corresponds to the distribution, for example, * d111111abcdef8.cloudfront.net.

*/ inline void SetDomainName(const Aws::String& value) { m_domainNameHasBeenSet = true; m_domainName = value; } /** *

The domain name that corresponds to the distribution, for example, * d111111abcdef8.cloudfront.net.

*/ inline void SetDomainName(Aws::String&& value) { m_domainNameHasBeenSet = true; m_domainName = std::move(value); } /** *

The domain name that corresponds to the distribution, for example, * d111111abcdef8.cloudfront.net.

*/ inline void SetDomainName(const char* value) { m_domainNameHasBeenSet = true; m_domainName.assign(value); } /** *

The domain name that corresponds to the distribution, for example, * d111111abcdef8.cloudfront.net.

*/ inline DistributionSummary& WithDomainName(const Aws::String& value) { SetDomainName(value); return *this;} /** *

The domain name that corresponds to the distribution, for example, * d111111abcdef8.cloudfront.net.

*/ inline DistributionSummary& WithDomainName(Aws::String&& value) { SetDomainName(std::move(value)); return *this;} /** *

The domain name that corresponds to the distribution, for example, * d111111abcdef8.cloudfront.net.

*/ inline DistributionSummary& WithDomainName(const char* value) { SetDomainName(value); return *this;} /** *

A complex type that contains information about CNAMEs (alternate domain * names), if any, for this distribution.

*/ inline const Aliases& GetAliases() const{ return m_aliases; } /** *

A complex type that contains information about CNAMEs (alternate domain * names), if any, for this distribution.

*/ inline bool AliasesHasBeenSet() const { return m_aliasesHasBeenSet; } /** *

A complex type that contains information about CNAMEs (alternate domain * names), if any, for this distribution.

*/ inline void SetAliases(const Aliases& value) { m_aliasesHasBeenSet = true; m_aliases = value; } /** *

A complex type that contains information about CNAMEs (alternate domain * names), if any, for this distribution.

*/ inline void SetAliases(Aliases&& value) { m_aliasesHasBeenSet = true; m_aliases = std::move(value); } /** *

A complex type that contains information about CNAMEs (alternate domain * names), if any, for this distribution.

*/ inline DistributionSummary& WithAliases(const Aliases& value) { SetAliases(value); return *this;} /** *

A complex type that contains information about CNAMEs (alternate domain * names), if any, for this distribution.

*/ inline DistributionSummary& WithAliases(Aliases&& value) { SetAliases(std::move(value)); return *this;} /** *

A complex type that contains information about origins for this * distribution.

*/ inline const Origins& GetOrigins() const{ return m_origins; } /** *

A complex type that contains information about origins for this * distribution.

*/ inline bool OriginsHasBeenSet() const { return m_originsHasBeenSet; } /** *

A complex type that contains information about origins for this * distribution.

*/ inline void SetOrigins(const Origins& value) { m_originsHasBeenSet = true; m_origins = value; } /** *

A complex type that contains information about origins for this * distribution.

*/ inline void SetOrigins(Origins&& value) { m_originsHasBeenSet = true; m_origins = std::move(value); } /** *

A complex type that contains information about origins for this * distribution.

*/ inline DistributionSummary& WithOrigins(const Origins& value) { SetOrigins(value); return *this;} /** *

A complex type that contains information about origins for this * distribution.

*/ inline DistributionSummary& WithOrigins(Origins&& value) { SetOrigins(std::move(value)); return *this;} /** *

A complex type that contains information about origin groups for this * distribution.

*/ inline const OriginGroups& GetOriginGroups() const{ return m_originGroups; } /** *

A complex type that contains information about origin groups for this * distribution.

*/ inline bool OriginGroupsHasBeenSet() const { return m_originGroupsHasBeenSet; } /** *

A complex type that contains information about origin groups for this * distribution.

*/ inline void SetOriginGroups(const OriginGroups& value) { m_originGroupsHasBeenSet = true; m_originGroups = value; } /** *

A complex type that contains information about origin groups for this * distribution.

*/ inline void SetOriginGroups(OriginGroups&& value) { m_originGroupsHasBeenSet = true; m_originGroups = std::move(value); } /** *

A complex type that contains information about origin groups for this * distribution.

*/ inline DistributionSummary& WithOriginGroups(const OriginGroups& value) { SetOriginGroups(value); return *this;} /** *

A complex type that contains information about origin groups for this * distribution.

*/ inline DistributionSummary& WithOriginGroups(OriginGroups&& value) { SetOriginGroups(std::move(value)); return *this;} /** *

A complex type that describes the default cache behavior if you don't specify * a CacheBehavior element or if files don't match any of the values * of PathPattern in CacheBehavior elements. You must * create exactly one default cache behavior.

*/ inline const DefaultCacheBehavior& GetDefaultCacheBehavior() const{ return m_defaultCacheBehavior; } /** *

A complex type that describes the default cache behavior if you don't specify * a CacheBehavior element or if files don't match any of the values * of PathPattern in CacheBehavior elements. You must * create exactly one default cache behavior.

*/ inline bool DefaultCacheBehaviorHasBeenSet() const { return m_defaultCacheBehaviorHasBeenSet; } /** *

A complex type that describes the default cache behavior if you don't specify * a CacheBehavior element or if files don't match any of the values * of PathPattern in CacheBehavior elements. You must * create exactly one default cache behavior.

*/ inline void SetDefaultCacheBehavior(const DefaultCacheBehavior& value) { m_defaultCacheBehaviorHasBeenSet = true; m_defaultCacheBehavior = value; } /** *

A complex type that describes the default cache behavior if you don't specify * a CacheBehavior element or if files don't match any of the values * of PathPattern in CacheBehavior elements. You must * create exactly one default cache behavior.

*/ inline void SetDefaultCacheBehavior(DefaultCacheBehavior&& value) { m_defaultCacheBehaviorHasBeenSet = true; m_defaultCacheBehavior = std::move(value); } /** *

A complex type that describes the default cache behavior if you don't specify * a CacheBehavior element or if files don't match any of the values * of PathPattern in CacheBehavior elements. You must * create exactly one default cache behavior.

*/ inline DistributionSummary& WithDefaultCacheBehavior(const DefaultCacheBehavior& value) { SetDefaultCacheBehavior(value); return *this;} /** *

A complex type that describes the default cache behavior if you don't specify * a CacheBehavior element or if files don't match any of the values * of PathPattern in CacheBehavior elements. You must * create exactly one default cache behavior.

*/ inline DistributionSummary& WithDefaultCacheBehavior(DefaultCacheBehavior&& value) { SetDefaultCacheBehavior(std::move(value)); return *this;} /** *

A complex type that contains zero or more CacheBehavior * elements.

*/ inline const CacheBehaviors& GetCacheBehaviors() const{ return m_cacheBehaviors; } /** *

A complex type that contains zero or more CacheBehavior * elements.

*/ inline bool CacheBehaviorsHasBeenSet() const { return m_cacheBehaviorsHasBeenSet; } /** *

A complex type that contains zero or more CacheBehavior * elements.

*/ inline void SetCacheBehaviors(const CacheBehaviors& value) { m_cacheBehaviorsHasBeenSet = true; m_cacheBehaviors = value; } /** *

A complex type that contains zero or more CacheBehavior * elements.

*/ inline void SetCacheBehaviors(CacheBehaviors&& value) { m_cacheBehaviorsHasBeenSet = true; m_cacheBehaviors = std::move(value); } /** *

A complex type that contains zero or more CacheBehavior * elements.

*/ inline DistributionSummary& WithCacheBehaviors(const CacheBehaviors& value) { SetCacheBehaviors(value); return *this;} /** *

A complex type that contains zero or more CacheBehavior * elements.

*/ inline DistributionSummary& WithCacheBehaviors(CacheBehaviors&& value) { SetCacheBehaviors(std::move(value)); return *this;} /** *

A complex type that contains zero or more CustomErrorResponses * elements.

*/ inline const CustomErrorResponses& GetCustomErrorResponses() const{ return m_customErrorResponses; } /** *

A complex type that contains zero or more CustomErrorResponses * elements.

*/ inline bool CustomErrorResponsesHasBeenSet() const { return m_customErrorResponsesHasBeenSet; } /** *

A complex type that contains zero or more CustomErrorResponses * elements.

*/ inline void SetCustomErrorResponses(const CustomErrorResponses& value) { m_customErrorResponsesHasBeenSet = true; m_customErrorResponses = value; } /** *

A complex type that contains zero or more CustomErrorResponses * elements.

*/ inline void SetCustomErrorResponses(CustomErrorResponses&& value) { m_customErrorResponsesHasBeenSet = true; m_customErrorResponses = std::move(value); } /** *

A complex type that contains zero or more CustomErrorResponses * elements.

*/ inline DistributionSummary& WithCustomErrorResponses(const CustomErrorResponses& value) { SetCustomErrorResponses(value); return *this;} /** *

A complex type that contains zero or more CustomErrorResponses * elements.

*/ inline DistributionSummary& WithCustomErrorResponses(CustomErrorResponses&& value) { SetCustomErrorResponses(std::move(value)); return *this;} /** *

The comment originally specified when this distribution was created.

*/ inline const Aws::String& GetComment() const{ return m_comment; } /** *

The comment originally specified when this distribution was created.

*/ inline bool CommentHasBeenSet() const { return m_commentHasBeenSet; } /** *

The comment originally specified when this distribution was created.

*/ inline void SetComment(const Aws::String& value) { m_commentHasBeenSet = true; m_comment = value; } /** *

The comment originally specified when this distribution was created.

*/ inline void SetComment(Aws::String&& value) { m_commentHasBeenSet = true; m_comment = std::move(value); } /** *

The comment originally specified when this distribution was created.

*/ inline void SetComment(const char* value) { m_commentHasBeenSet = true; m_comment.assign(value); } /** *

The comment originally specified when this distribution was created.

*/ inline DistributionSummary& WithComment(const Aws::String& value) { SetComment(value); return *this;} /** *

The comment originally specified when this distribution was created.

*/ inline DistributionSummary& WithComment(Aws::String&& value) { SetComment(std::move(value)); return *this;} /** *

The comment originally specified when this distribution was created.

*/ inline DistributionSummary& WithComment(const char* value) { SetComment(value); return *this;} /** *

A complex type that contains information about price class for this streaming * distribution.

*/ inline const PriceClass& GetPriceClass() const{ return m_priceClass; } /** *

A complex type that contains information about price class for this streaming * distribution.

*/ inline bool PriceClassHasBeenSet() const { return m_priceClassHasBeenSet; } /** *

A complex type that contains information about price class for this streaming * distribution.

*/ inline void SetPriceClass(const PriceClass& value) { m_priceClassHasBeenSet = true; m_priceClass = value; } /** *

A complex type that contains information about price class for this streaming * distribution.

*/ inline void SetPriceClass(PriceClass&& value) { m_priceClassHasBeenSet = true; m_priceClass = std::move(value); } /** *

A complex type that contains information about price class for this streaming * distribution.

*/ inline DistributionSummary& WithPriceClass(const PriceClass& value) { SetPriceClass(value); return *this;} /** *

A complex type that contains information about price class for this streaming * distribution.

*/ inline DistributionSummary& WithPriceClass(PriceClass&& value) { SetPriceClass(std::move(value)); return *this;} /** *

Whether the distribution is enabled to accept user requests for content.

*/ inline bool GetEnabled() const{ return m_enabled; } /** *

Whether the distribution is enabled to accept user requests for content.

*/ inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; } /** *

Whether the distribution is enabled to accept user requests for content.

*/ inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; } /** *

Whether the distribution is enabled to accept user requests for content.

*/ inline DistributionSummary& WithEnabled(bool value) { SetEnabled(value); return *this;} /** *

A complex type that determines the distribution's SSL/TLS configuration for * communicating with viewers.

*/ inline const ViewerCertificate& GetViewerCertificate() const{ return m_viewerCertificate; } /** *

A complex type that determines the distribution's SSL/TLS configuration for * communicating with viewers.

*/ inline bool ViewerCertificateHasBeenSet() const { return m_viewerCertificateHasBeenSet; } /** *

A complex type that determines the distribution's SSL/TLS configuration for * communicating with viewers.

*/ inline void SetViewerCertificate(const ViewerCertificate& value) { m_viewerCertificateHasBeenSet = true; m_viewerCertificate = value; } /** *

A complex type that determines the distribution's SSL/TLS configuration for * communicating with viewers.

*/ inline void SetViewerCertificate(ViewerCertificate&& value) { m_viewerCertificateHasBeenSet = true; m_viewerCertificate = std::move(value); } /** *

A complex type that determines the distribution's SSL/TLS configuration for * communicating with viewers.

*/ inline DistributionSummary& WithViewerCertificate(const ViewerCertificate& value) { SetViewerCertificate(value); return *this;} /** *

A complex type that determines the distribution's SSL/TLS configuration for * communicating with viewers.

*/ inline DistributionSummary& WithViewerCertificate(ViewerCertificate&& value) { SetViewerCertificate(std::move(value)); return *this;} /** *

A complex type that identifies ways in which you want to restrict * distribution of your content.

*/ inline const Restrictions& GetRestrictions() const{ return m_restrictions; } /** *

A complex type that identifies ways in which you want to restrict * distribution of your content.

*/ inline bool RestrictionsHasBeenSet() const { return m_restrictionsHasBeenSet; } /** *

A complex type that identifies ways in which you want to restrict * distribution of your content.

*/ inline void SetRestrictions(const Restrictions& value) { m_restrictionsHasBeenSet = true; m_restrictions = value; } /** *

A complex type that identifies ways in which you want to restrict * distribution of your content.

*/ inline void SetRestrictions(Restrictions&& value) { m_restrictionsHasBeenSet = true; m_restrictions = std::move(value); } /** *

A complex type that identifies ways in which you want to restrict * distribution of your content.

*/ inline DistributionSummary& WithRestrictions(const Restrictions& value) { SetRestrictions(value); return *this;} /** *

A complex type that identifies ways in which you want to restrict * distribution of your content.

*/ inline DistributionSummary& WithRestrictions(Restrictions&& value) { SetRestrictions(std::move(value)); return *this;} /** *

The Web ACL Id (if any) associated with the distribution.

*/ inline const Aws::String& GetWebACLId() const{ return m_webACLId; } /** *

The Web ACL Id (if any) associated with the distribution.

*/ inline bool WebACLIdHasBeenSet() const { return m_webACLIdHasBeenSet; } /** *

The Web ACL Id (if any) associated with the distribution.

*/ inline void SetWebACLId(const Aws::String& value) { m_webACLIdHasBeenSet = true; m_webACLId = value; } /** *

The Web ACL Id (if any) associated with the distribution.

*/ inline void SetWebACLId(Aws::String&& value) { m_webACLIdHasBeenSet = true; m_webACLId = std::move(value); } /** *

The Web ACL Id (if any) associated with the distribution.

*/ inline void SetWebACLId(const char* value) { m_webACLIdHasBeenSet = true; m_webACLId.assign(value); } /** *

The Web ACL Id (if any) associated with the distribution.

*/ inline DistributionSummary& WithWebACLId(const Aws::String& value) { SetWebACLId(value); return *this;} /** *

The Web ACL Id (if any) associated with the distribution.

*/ inline DistributionSummary& WithWebACLId(Aws::String&& value) { SetWebACLId(std::move(value)); return *this;} /** *

The Web ACL Id (if any) associated with the distribution.

*/ inline DistributionSummary& WithWebACLId(const char* value) { SetWebACLId(value); return *this;} /** *

Specify the maximum HTTP version that you want viewers to use to communicate * with CloudFront. The default value for new web distributions is * http2. Viewers that don't support HTTP/2 will * automatically use an earlier version.

*/ inline const HttpVersion& GetHttpVersion() const{ return m_httpVersion; } /** *

Specify the maximum HTTP version that you want viewers to use to communicate * with CloudFront. The default value for new web distributions is * http2. Viewers that don't support HTTP/2 will * automatically use an earlier version.

*/ inline bool HttpVersionHasBeenSet() const { return m_httpVersionHasBeenSet; } /** *

Specify the maximum HTTP version that you want viewers to use to communicate * with CloudFront. The default value for new web distributions is * http2. Viewers that don't support HTTP/2 will * automatically use an earlier version.

*/ inline void SetHttpVersion(const HttpVersion& value) { m_httpVersionHasBeenSet = true; m_httpVersion = value; } /** *

Specify the maximum HTTP version that you want viewers to use to communicate * with CloudFront. The default value for new web distributions is * http2. Viewers that don't support HTTP/2 will * automatically use an earlier version.

*/ inline void SetHttpVersion(HttpVersion&& value) { m_httpVersionHasBeenSet = true; m_httpVersion = std::move(value); } /** *

Specify the maximum HTTP version that you want viewers to use to communicate * with CloudFront. The default value for new web distributions is * http2. Viewers that don't support HTTP/2 will * automatically use an earlier version.

*/ inline DistributionSummary& WithHttpVersion(const HttpVersion& value) { SetHttpVersion(value); return *this;} /** *

Specify the maximum HTTP version that you want viewers to use to communicate * with CloudFront. The default value for new web distributions is * http2. Viewers that don't support HTTP/2 will * automatically use an earlier version.

*/ inline DistributionSummary& WithHttpVersion(HttpVersion&& value) { SetHttpVersion(std::move(value)); return *this;} /** *

Whether CloudFront responds to IPv6 DNS requests with an IPv6 address for * your distribution.

*/ inline bool GetIsIPV6Enabled() const{ return m_isIPV6Enabled; } /** *

Whether CloudFront responds to IPv6 DNS requests with an IPv6 address for * your distribution.

*/ inline bool IsIPV6EnabledHasBeenSet() const { return m_isIPV6EnabledHasBeenSet; } /** *

Whether CloudFront responds to IPv6 DNS requests with an IPv6 address for * your distribution.

*/ inline void SetIsIPV6Enabled(bool value) { m_isIPV6EnabledHasBeenSet = true; m_isIPV6Enabled = value; } /** *

Whether CloudFront responds to IPv6 DNS requests with an IPv6 address for * your distribution.

*/ inline DistributionSummary& WithIsIPV6Enabled(bool value) { SetIsIPV6Enabled(value); return *this;} /** *

Amazon Web Services services in China customers must file for an Internet * Content Provider (ICP) recordal if they want to serve content publicly on an * alternate domain name, also known as a CNAME, that they've added to CloudFront. * AliasICPRecordal provides the ICP recordal status for CNAMEs associated with * distributions.

For more information about ICP recordals, see * Signup, Accounts, and Credentials in Getting Started with Amazon Web * Services services in China.

*/ inline const Aws::Vector& GetAliasICPRecordals() const{ return m_aliasICPRecordals; } /** *

Amazon Web Services services in China customers must file for an Internet * Content Provider (ICP) recordal if they want to serve content publicly on an * alternate domain name, also known as a CNAME, that they've added to CloudFront. * AliasICPRecordal provides the ICP recordal status for CNAMEs associated with * distributions.

For more information about ICP recordals, see * Signup, Accounts, and Credentials in Getting Started with Amazon Web * Services services in China.

*/ inline bool AliasICPRecordalsHasBeenSet() const { return m_aliasICPRecordalsHasBeenSet; } /** *

Amazon Web Services services in China customers must file for an Internet * Content Provider (ICP) recordal if they want to serve content publicly on an * alternate domain name, also known as a CNAME, that they've added to CloudFront. * AliasICPRecordal provides the ICP recordal status for CNAMEs associated with * distributions.

For more information about ICP recordals, see * Signup, Accounts, and Credentials in Getting Started with Amazon Web * Services services in China.

*/ inline void SetAliasICPRecordals(const Aws::Vector& value) { m_aliasICPRecordalsHasBeenSet = true; m_aliasICPRecordals = value; } /** *

Amazon Web Services services in China customers must file for an Internet * Content Provider (ICP) recordal if they want to serve content publicly on an * alternate domain name, also known as a CNAME, that they've added to CloudFront. * AliasICPRecordal provides the ICP recordal status for CNAMEs associated with * distributions.

For more information about ICP recordals, see * Signup, Accounts, and Credentials in Getting Started with Amazon Web * Services services in China.

*/ inline void SetAliasICPRecordals(Aws::Vector&& value) { m_aliasICPRecordalsHasBeenSet = true; m_aliasICPRecordals = std::move(value); } /** *

Amazon Web Services services in China customers must file for an Internet * Content Provider (ICP) recordal if they want to serve content publicly on an * alternate domain name, also known as a CNAME, that they've added to CloudFront. * AliasICPRecordal provides the ICP recordal status for CNAMEs associated with * distributions.

For more information about ICP recordals, see * Signup, Accounts, and Credentials in Getting Started with Amazon Web * Services services in China.

*/ inline DistributionSummary& WithAliasICPRecordals(const Aws::Vector& value) { SetAliasICPRecordals(value); return *this;} /** *

Amazon Web Services services in China customers must file for an Internet * Content Provider (ICP) recordal if they want to serve content publicly on an * alternate domain name, also known as a CNAME, that they've added to CloudFront. * AliasICPRecordal provides the ICP recordal status for CNAMEs associated with * distributions.

For more information about ICP recordals, see * Signup, Accounts, and Credentials in Getting Started with Amazon Web * Services services in China.

*/ inline DistributionSummary& WithAliasICPRecordals(Aws::Vector&& value) { SetAliasICPRecordals(std::move(value)); return *this;} /** *

Amazon Web Services services in China customers must file for an Internet * Content Provider (ICP) recordal if they want to serve content publicly on an * alternate domain name, also known as a CNAME, that they've added to CloudFront. * AliasICPRecordal provides the ICP recordal status for CNAMEs associated with * distributions.

For more information about ICP recordals, see * Signup, Accounts, and Credentials in Getting Started with Amazon Web * Services services in China.

*/ inline DistributionSummary& AddAliasICPRecordals(const AliasICPRecordal& value) { m_aliasICPRecordalsHasBeenSet = true; m_aliasICPRecordals.push_back(value); return *this; } /** *

Amazon Web Services services in China customers must file for an Internet * Content Provider (ICP) recordal if they want to serve content publicly on an * alternate domain name, also known as a CNAME, that they've added to CloudFront. * AliasICPRecordal provides the ICP recordal status for CNAMEs associated with * distributions.

For more information about ICP recordals, see * Signup, Accounts, and Credentials in Getting Started with Amazon Web * Services services in China.

*/ inline DistributionSummary& AddAliasICPRecordals(AliasICPRecordal&& value) { m_aliasICPRecordalsHasBeenSet = true; m_aliasICPRecordals.push_back(std::move(value)); return *this; } /** *

Whether the primary distribution has a staging distribution enabled.

*/ inline bool GetStaging() const{ return m_staging; } /** *

Whether the primary distribution has a staging distribution enabled.

*/ inline bool StagingHasBeenSet() const { return m_stagingHasBeenSet; } /** *

Whether the primary distribution has a staging distribution enabled.

*/ inline void SetStaging(bool value) { m_stagingHasBeenSet = true; m_staging = value; } /** *

Whether the primary distribution has a staging distribution enabled.

*/ inline DistributionSummary& WithStaging(bool value) { SetStaging(value); return *this;} private: Aws::String m_id; bool m_idHasBeenSet = false; Aws::String m_aRN; bool m_aRNHasBeenSet = false; Aws::String m_status; bool m_statusHasBeenSet = false; Aws::Utils::DateTime m_lastModifiedTime; bool m_lastModifiedTimeHasBeenSet = false; Aws::String m_domainName; bool m_domainNameHasBeenSet = false; Aliases m_aliases; bool m_aliasesHasBeenSet = false; Origins m_origins; bool m_originsHasBeenSet = false; OriginGroups m_originGroups; bool m_originGroupsHasBeenSet = false; DefaultCacheBehavior m_defaultCacheBehavior; bool m_defaultCacheBehaviorHasBeenSet = false; CacheBehaviors m_cacheBehaviors; bool m_cacheBehaviorsHasBeenSet = false; CustomErrorResponses m_customErrorResponses; bool m_customErrorResponsesHasBeenSet = false; Aws::String m_comment; bool m_commentHasBeenSet = false; PriceClass m_priceClass; bool m_priceClassHasBeenSet = false; bool m_enabled; bool m_enabledHasBeenSet = false; ViewerCertificate m_viewerCertificate; bool m_viewerCertificateHasBeenSet = false; Restrictions m_restrictions; bool m_restrictionsHasBeenSet = false; Aws::String m_webACLId; bool m_webACLIdHasBeenSet = false; HttpVersion m_httpVersion; bool m_httpVersionHasBeenSet = false; bool m_isIPV6Enabled; bool m_isIPV6EnabledHasBeenSet = false; Aws::Vector m_aliasICPRecordals; bool m_aliasICPRecordalsHasBeenSet = false; bool m_staging; bool m_stagingHasBeenSet = false; }; } // namespace Model } // namespace CloudFront } // namespace Aws