/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include A distribution tells CloudFront where you want content to be delivered from,
* and the details about how to track and manage content delivery.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 AWS account ID.
The ARN (Amazon Resource Name) for the distribution. For example:
* arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5,
* where 123456789012 is your AWS account ID.
The ARN (Amazon Resource Name) for the distribution. For example:
* arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5,
* where 123456789012 is your AWS account ID.
The ARN (Amazon Resource Name) for the distribution. For example:
* arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5,
* where 123456789012 is your AWS account ID.
The ARN (Amazon Resource Name) for the distribution. For example:
* arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5,
* where 123456789012 is your AWS account ID.
The ARN (Amazon Resource Name) for the distribution. For example:
* arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5,
* where 123456789012 is your AWS account ID.
The ARN (Amazon Resource Name) for the distribution. For example:
* arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5,
* where 123456789012 is your AWS account ID.
The ARN (Amazon Resource Name) for the distribution. For example:
* arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5,
* where 123456789012 is your AWS account ID.
This response element indicates the current status of the distribution. When
* the status is Deployed, the distribution's information is fully
* propagated to all CloudFront edge locations.
This response element indicates the current status of the distribution. When
* the status is Deployed, the distribution's information is fully
* propagated to all CloudFront edge locations.
This response element indicates the current status of the distribution. When
* the status is Deployed, the distribution's information is fully
* propagated to all CloudFront edge locations.
This response element indicates the current status of the distribution. When
* the status is Deployed, the distribution's information is fully
* propagated to all CloudFront edge locations.
This response element indicates the current status of the distribution. When
* the status is Deployed, the distribution's information is fully
* propagated to all CloudFront edge locations.
This response element indicates the current status of the distribution. When
* the status is Deployed, the distribution's information is fully
* propagated to all CloudFront edge locations.
This response element indicates the current status of the distribution. When
* the status is Deployed, the distribution's information is fully
* propagated to all CloudFront edge locations.
This response element indicates the current status of the distribution. When
* the status is Deployed, the distribution's information is fully
* 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 Distribution& WithLastModifiedTime(const Aws::Utils::DateTime& value) { SetLastModifiedTime(value); return *this;} /** *The date and time the distribution was last modified.
*/ inline Distribution& WithLastModifiedTime(Aws::Utils::DateTime&& value) { SetLastModifiedTime(std::move(value)); return *this;} /** *The number of invalidation batches currently in progress.
*/ inline int GetInProgressInvalidationBatches() const{ return m_inProgressInvalidationBatches; } /** *The number of invalidation batches currently in progress.
*/ inline bool InProgressInvalidationBatchesHasBeenSet() const { return m_inProgressInvalidationBatchesHasBeenSet; } /** *The number of invalidation batches currently in progress.
*/ inline void SetInProgressInvalidationBatches(int value) { m_inProgressInvalidationBatchesHasBeenSet = true; m_inProgressInvalidationBatches = value; } /** *The number of invalidation batches currently in progress.
*/ inline Distribution& WithInProgressInvalidationBatches(int value) { SetInProgressInvalidationBatches(value); return *this;} /** *The domain name corresponding to the distribution, for example,
* d111111abcdef8.cloudfront.net.
The domain name corresponding to the distribution, for example,
* d111111abcdef8.cloudfront.net.
The domain name corresponding to the distribution, for example,
* d111111abcdef8.cloudfront.net.
The domain name corresponding to the distribution, for example,
* d111111abcdef8.cloudfront.net.
The domain name corresponding to the distribution, for example,
* d111111abcdef8.cloudfront.net.
The domain name corresponding to the distribution, for example,
* d111111abcdef8.cloudfront.net.
The domain name corresponding to the distribution, for example,
* d111111abcdef8.cloudfront.net.
The domain name corresponding to the distribution, for example,
* d111111abcdef8.cloudfront.net.
CloudFront automatically adds this element to the response only if you've set
* up the distribution to serve private content with signed URLs. The element lists
* the key pair IDs that CloudFront is aware of for each trusted signer. The
* Signer child element lists the AWS account number of the trusted
* signer (or an empty Self element if the signer is you). The
* Signer element also includes the IDs of any active key pairs
* associated with the trusted signer's AWS account. If no KeyPairId
* element appears for a Signer, that signer can't create working
* signed URLs.
CloudFront automatically adds this element to the response only if you've set
* up the distribution to serve private content with signed URLs. The element lists
* the key pair IDs that CloudFront is aware of for each trusted signer. The
* Signer child element lists the AWS account number of the trusted
* signer (or an empty Self element if the signer is you). The
* Signer element also includes the IDs of any active key pairs
* associated with the trusted signer's AWS account. If no KeyPairId
* element appears for a Signer, that signer can't create working
* signed URLs.
CloudFront automatically adds this element to the response only if you've set
* up the distribution to serve private content with signed URLs. The element lists
* the key pair IDs that CloudFront is aware of for each trusted signer. The
* Signer child element lists the AWS account number of the trusted
* signer (or an empty Self element if the signer is you). The
* Signer element also includes the IDs of any active key pairs
* associated with the trusted signer's AWS account. If no KeyPairId
* element appears for a Signer, that signer can't create working
* signed URLs.
CloudFront automatically adds this element to the response only if you've set
* up the distribution to serve private content with signed URLs. The element lists
* the key pair IDs that CloudFront is aware of for each trusted signer. The
* Signer child element lists the AWS account number of the trusted
* signer (or an empty Self element if the signer is you). The
* Signer element also includes the IDs of any active key pairs
* associated with the trusted signer's AWS account. If no KeyPairId
* element appears for a Signer, that signer can't create working
* signed URLs.
CloudFront automatically adds this element to the response only if you've set
* up the distribution to serve private content with signed URLs. The element lists
* the key pair IDs that CloudFront is aware of for each trusted signer. The
* Signer child element lists the AWS account number of the trusted
* signer (or an empty Self element if the signer is you). The
* Signer element also includes the IDs of any active key pairs
* associated with the trusted signer's AWS account. If no KeyPairId
* element appears for a Signer, that signer can't create working
* signed URLs.
CloudFront automatically adds this element to the response only if you've set
* up the distribution to serve private content with signed URLs. The element lists
* the key pair IDs that CloudFront is aware of for each trusted signer. The
* Signer child element lists the AWS account number of the trusted
* signer (or an empty Self element if the signer is you). The
* Signer element also includes the IDs of any active key pairs
* associated with the trusted signer's AWS account. If no KeyPairId
* element appears for a Signer, that signer can't create working
* signed URLs.
The current configuration information for the distribution. Send a
* GET request to the /CloudFront API
* version/distribution ID/config resource.
The current configuration information for the distribution. Send a
* GET request to the /CloudFront API
* version/distribution ID/config resource.
The current configuration information for the distribution. Send a
* GET request to the /CloudFront API
* version/distribution ID/config resource.
The current configuration information for the distribution. Send a
* GET request to the /CloudFront API
* version/distribution ID/config resource.
The current configuration information for the distribution. Send a
* GET request to the /CloudFront API
* version/distribution ID/config resource.
The current configuration information for the distribution. Send a
* GET request to the /CloudFront API
* version/distribution ID/config resource.
AWS 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 AWS services in * China.
*/ inline const Aws::VectorAWS 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 AWS services in * China.
*/ inline bool AliasICPRecordalsHasBeenSet() const { return m_aliasICPRecordalsHasBeenSet; } /** *AWS 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 AWS services in * China.
*/ inline void SetAliasICPRecordals(const Aws::VectorAWS 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 AWS services in * China.
*/ inline void SetAliasICPRecordals(Aws::VectorAWS 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 AWS services in * China.
*/ inline Distribution& WithAliasICPRecordals(const Aws::VectorAWS 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 AWS services in * China.
*/ inline Distribution& WithAliasICPRecordals(Aws::VectorAWS 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 AWS services in * China.
*/ inline Distribution& AddAliasICPRecordals(const AliasICPRecordal& value) { m_aliasICPRecordalsHasBeenSet = true; m_aliasICPRecordals.push_back(value); return *this; } /** *AWS 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 AWS services in * China.
*/ inline Distribution& AddAliasICPRecordals(AliasICPRecordal&& value) { m_aliasICPRecordalsHasBeenSet = true; m_aliasICPRecordals.push_back(std::move(value)); return *this; } private: Aws::String m_id; bool m_idHasBeenSet; Aws::String m_aRN; bool m_aRNHasBeenSet; Aws::String m_status; bool m_statusHasBeenSet; Aws::Utils::DateTime m_lastModifiedTime; bool m_lastModifiedTimeHasBeenSet; int m_inProgressInvalidationBatches; bool m_inProgressInvalidationBatchesHasBeenSet; Aws::String m_domainName; bool m_domainNameHasBeenSet; ActiveTrustedSigners m_activeTrustedSigners; bool m_activeTrustedSignersHasBeenSet; DistributionConfig m_distributionConfig; bool m_distributionConfigHasBeenSet; Aws::Vector