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

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. The status is returned in the CloudFront response; you can't * configure it yourself.

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

See Also:

AWS * API Reference

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

A domain name associated with a distribution.

*/ inline const Aws::String& GetCNAME() const{ return m_cNAME; } /** *

A domain name associated with a distribution.

*/ inline bool CNAMEHasBeenSet() const { return m_cNAMEHasBeenSet; } /** *

A domain name associated with a distribution.

*/ inline void SetCNAME(const Aws::String& value) { m_cNAMEHasBeenSet = true; m_cNAME = value; } /** *

A domain name associated with a distribution.

*/ inline void SetCNAME(Aws::String&& value) { m_cNAMEHasBeenSet = true; m_cNAME = std::move(value); } /** *

A domain name associated with a distribution.

*/ inline void SetCNAME(const char* value) { m_cNAMEHasBeenSet = true; m_cNAME.assign(value); } /** *

A domain name associated with a distribution.

*/ inline AliasICPRecordal& WithCNAME(const Aws::String& value) { SetCNAME(value); return *this;} /** *

A domain name associated with a distribution.

*/ inline AliasICPRecordal& WithCNAME(Aws::String&& value) { SetCNAME(std::move(value)); return *this;} /** *

A domain name associated with a distribution.

*/ inline AliasICPRecordal& WithCNAME(const char* value) { SetCNAME(value); return *this;} /** *

The Internet Content Provider (ICP) recordal status for a CNAME. The * ICPRecordalStatus is set to APPROVED for all CNAMEs (aliases) in regions outside * of China.

The status values returned are the following:

  • * APPROVED indicates that the associated CNAME has a valid ICP recordal * number. Multiple CNAMEs can be associated with a distribution, and CNAMEs can * correspond to different ICP recordals. To be marked as APPROVED, that is, valid * to use with China region, a CNAME must have one ICP recordal number associated * with it.

  • SUSPENDED indicates that the associated CNAME * does not have a valid ICP recordal number.

  • PENDING * indicates that CloudFront can't determine the ICP recordal status of the CNAME * associated with the distribution because there was an error in trying to * determine the status. You can try again to see if the error is resolved in which * case CloudFront returns an APPROVED or SUSPENDED status.

*/ inline const ICPRecordalStatus& GetICPRecordalStatus() const{ return m_iCPRecordalStatus; } /** *

The Internet Content Provider (ICP) recordal status for a CNAME. The * ICPRecordalStatus is set to APPROVED for all CNAMEs (aliases) in regions outside * of China.

The status values returned are the following:

  • * APPROVED indicates that the associated CNAME has a valid ICP recordal * number. Multiple CNAMEs can be associated with a distribution, and CNAMEs can * correspond to different ICP recordals. To be marked as APPROVED, that is, valid * to use with China region, a CNAME must have one ICP recordal number associated * with it.

  • SUSPENDED indicates that the associated CNAME * does not have a valid ICP recordal number.

  • PENDING * indicates that CloudFront can't determine the ICP recordal status of the CNAME * associated with the distribution because there was an error in trying to * determine the status. You can try again to see if the error is resolved in which * case CloudFront returns an APPROVED or SUSPENDED status.

*/ inline bool ICPRecordalStatusHasBeenSet() const { return m_iCPRecordalStatusHasBeenSet; } /** *

The Internet Content Provider (ICP) recordal status for a CNAME. The * ICPRecordalStatus is set to APPROVED for all CNAMEs (aliases) in regions outside * of China.

The status values returned are the following:

  • * APPROVED indicates that the associated CNAME has a valid ICP recordal * number. Multiple CNAMEs can be associated with a distribution, and CNAMEs can * correspond to different ICP recordals. To be marked as APPROVED, that is, valid * to use with China region, a CNAME must have one ICP recordal number associated * with it.

  • SUSPENDED indicates that the associated CNAME * does not have a valid ICP recordal number.

  • PENDING * indicates that CloudFront can't determine the ICP recordal status of the CNAME * associated with the distribution because there was an error in trying to * determine the status. You can try again to see if the error is resolved in which * case CloudFront returns an APPROVED or SUSPENDED status.

*/ inline void SetICPRecordalStatus(const ICPRecordalStatus& value) { m_iCPRecordalStatusHasBeenSet = true; m_iCPRecordalStatus = value; } /** *

The Internet Content Provider (ICP) recordal status for a CNAME. The * ICPRecordalStatus is set to APPROVED for all CNAMEs (aliases) in regions outside * of China.

The status values returned are the following:

  • * APPROVED indicates that the associated CNAME has a valid ICP recordal * number. Multiple CNAMEs can be associated with a distribution, and CNAMEs can * correspond to different ICP recordals. To be marked as APPROVED, that is, valid * to use with China region, a CNAME must have one ICP recordal number associated * with it.

  • SUSPENDED indicates that the associated CNAME * does not have a valid ICP recordal number.

  • PENDING * indicates that CloudFront can't determine the ICP recordal status of the CNAME * associated with the distribution because there was an error in trying to * determine the status. You can try again to see if the error is resolved in which * case CloudFront returns an APPROVED or SUSPENDED status.

*/ inline void SetICPRecordalStatus(ICPRecordalStatus&& value) { m_iCPRecordalStatusHasBeenSet = true; m_iCPRecordalStatus = std::move(value); } /** *

The Internet Content Provider (ICP) recordal status for a CNAME. The * ICPRecordalStatus is set to APPROVED for all CNAMEs (aliases) in regions outside * of China.

The status values returned are the following:

  • * APPROVED indicates that the associated CNAME has a valid ICP recordal * number. Multiple CNAMEs can be associated with a distribution, and CNAMEs can * correspond to different ICP recordals. To be marked as APPROVED, that is, valid * to use with China region, a CNAME must have one ICP recordal number associated * with it.

  • SUSPENDED indicates that the associated CNAME * does not have a valid ICP recordal number.

  • PENDING * indicates that CloudFront can't determine the ICP recordal status of the CNAME * associated with the distribution because there was an error in trying to * determine the status. You can try again to see if the error is resolved in which * case CloudFront returns an APPROVED or SUSPENDED status.

*/ inline AliasICPRecordal& WithICPRecordalStatus(const ICPRecordalStatus& value) { SetICPRecordalStatus(value); return *this;} /** *

The Internet Content Provider (ICP) recordal status for a CNAME. The * ICPRecordalStatus is set to APPROVED for all CNAMEs (aliases) in regions outside * of China.

The status values returned are the following:

  • * APPROVED indicates that the associated CNAME has a valid ICP recordal * number. Multiple CNAMEs can be associated with a distribution, and CNAMEs can * correspond to different ICP recordals. To be marked as APPROVED, that is, valid * to use with China region, a CNAME must have one ICP recordal number associated * with it.

  • SUSPENDED indicates that the associated CNAME * does not have a valid ICP recordal number.

  • PENDING * indicates that CloudFront can't determine the ICP recordal status of the CNAME * associated with the distribution because there was an error in trying to * determine the status. You can try again to see if the error is resolved in which * case CloudFront returns an APPROVED or SUSPENDED status.

*/ inline AliasICPRecordal& WithICPRecordalStatus(ICPRecordalStatus&& value) { SetICPRecordalStatus(std::move(value)); return *this;} private: Aws::String m_cNAME; bool m_cNAMEHasBeenSet = false; ICPRecordalStatus m_iCPRecordalStatus; bool m_iCPRecordalStatusHasBeenSet = false; }; } // namespace Model } // namespace CloudFront } // namespace Aws