/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include A summary of the information about a CloudFront distribution.See
* Also:
AWS
* API Reference
The identifier for the distribution. For example:
* EDFDVBD632BHDS5
.
The identifier for the distribution. For example:
* EDFDVBD632BHDS5
.
The identifier for the distribution. For example:
* EDFDVBD632BHDS5
.
The identifier for the distribution. For example:
* EDFDVBD632BHDS5
.
The identifier for the distribution. For example:
* EDFDVBD632BHDS5
.
The identifier for the distribution. For example:
* EDFDVBD632BHDS5
.
The identifier for the distribution. For example:
* EDFDVBD632BHDS5
.
The identifier for the distribution. For example:
* EDFDVBD632BHDS5
.
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.
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.
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.
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.
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.
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.
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.
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.
The current status of the distribution. When the status is
* Deployed
, the distribution's information is propagated to all
* CloudFront edge locations.
The current status of the distribution. When the status is
* Deployed
, the distribution's information is propagated to all
* CloudFront edge locations.
The current status of the distribution. When the status is
* Deployed
, the distribution's information is propagated to all
* CloudFront edge locations.
The current status of the distribution. When the status is
* Deployed
, the distribution's information is propagated to all
* CloudFront edge locations.
The current status of the distribution. When the status is
* Deployed
, the distribution's information is propagated to all
* CloudFront edge locations.
The current status of the distribution. When the status is
* Deployed
, the distribution's information is propagated to all
* CloudFront edge locations.
The current status of the distribution. When the status is
* Deployed
, the distribution's information is propagated to all
* CloudFront edge locations.
The current status of the distribution. When the status is
* Deployed
, the distribution's information is propagated to all
* CloudFront edge locations.
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
.
The domain name that corresponds to the distribution, for example,
* d111111abcdef8.cloudfront.net
.
The domain name that corresponds to the distribution, for example,
* d111111abcdef8.cloudfront.net
.
The domain name that corresponds to the distribution, for example,
* d111111abcdef8.cloudfront.net
.
The domain name that corresponds to the distribution, for example,
* d111111abcdef8.cloudfront.net
.
The domain name that corresponds to the distribution, for example,
* d111111abcdef8.cloudfront.net
.
The domain name that corresponds to the distribution, for example,
* d111111abcdef8.cloudfront.net
.
The domain name that corresponds to the distribution, for example,
* d111111abcdef8.cloudfront.net
.
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.
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.
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.
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.
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.
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.
A complex type that contains zero or more CacheBehavior
* elements.
A complex type that contains zero or more CacheBehavior
* elements.
A complex type that contains zero or more CacheBehavior
* elements.
A complex type that contains zero or more CacheBehavior
* elements.
A complex type that contains zero or more CacheBehavior
* elements.
A complex type that contains zero or more CacheBehavior
* elements.
A complex type that contains zero or more CustomErrorResponses
* elements.
A complex type that contains zero or more CustomErrorResponses
* elements.
A complex type that contains zero or more CustomErrorResponses
* elements.
A complex type that contains zero or more CustomErrorResponses
* elements.
A complex type that contains zero or more CustomErrorResponses
* elements.
A complex type that contains zero or more CustomErrorResponses
* elements.
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.
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.
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.
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.
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.
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.
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::VectorAmazon 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::VectorAmazon 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::VectorAmazon 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::VectorAmazon 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::VectorAmazon 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