1681 lines
129 KiB
C++
1681 lines
129 KiB
C++
/**
|
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
* SPDX-License-Identifier: Apache-2.0.
|
|
*/
|
|
|
|
#pragma once
|
|
#include <aws/route53/Route53_EXPORTS.h>
|
|
#include <aws/core/utils/memory/stl/AWSString.h>
|
|
#include <utility>
|
|
|
|
namespace Aws
|
|
{
|
|
namespace Utils
|
|
{
|
|
namespace Xml
|
|
{
|
|
class XmlNode;
|
|
} // namespace Xml
|
|
} // namespace Utils
|
|
namespace Route53
|
|
{
|
|
namespace Model
|
|
{
|
|
|
|
/**
|
|
* <p> <i>Alias resource record sets only:</i> Information about the AWS resource,
|
|
* such as a CloudFront distribution or an Amazon S3 bucket, that you want to route
|
|
* traffic to.</p> <p>When creating resource record sets for a private hosted zone,
|
|
* note the following:</p> <ul> <li> <p>Creating geolocation alias resource record
|
|
* sets or latency alias resource record sets in a private hosted zone is
|
|
* unsupported.</p> </li> <li> <p>For information about creating failover resource
|
|
* record sets in a private hosted zone, see <a
|
|
* href="https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html">Configuring
|
|
* Failover in a Private Hosted Zone</a>.</p> </li> </ul><p><h3>See Also:</h3> <a
|
|
* href="http://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/AliasTarget">AWS
|
|
* API Reference</a></p>
|
|
*/
|
|
class AWS_ROUTE53_API AliasTarget
|
|
{
|
|
public:
|
|
AliasTarget();
|
|
AliasTarget(const Aws::Utils::Xml::XmlNode& xmlNode);
|
|
AliasTarget& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
|
|
|
|
void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
|
|
|
|
|
|
/**
|
|
* <p> <i>Alias resource records sets only</i>: The value used depends on where you
|
|
* want to route traffic:</p> <dl> <dt>Amazon API Gateway custom regional APIs and
|
|
* edge-optimized APIs</dt> <dd> <p>Specify the hosted zone ID for your API. You
|
|
* can get the applicable value using the AWS CLI command <a
|
|
* href="https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-domain-names.html">get-domain-names</a>:</p>
|
|
* <ul> <li> <p>For regional APIs, specify the value of
|
|
* <code>regionalHostedZoneId</code>.</p> </li> <li> <p>For edge-optimized APIs,
|
|
* specify the value of <code>distributionHostedZoneId</code>.</p> </li> </ul>
|
|
* </dd> <dt>Amazon Virtual Private Cloud interface VPC endpoint</dt> <dd>
|
|
* <p>Specify the hosted zone ID for your interface endpoint. You can get the value
|
|
* of <code>HostedZoneId</code> using the AWS CLI command <a
|
|
* href="https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html">describe-vpc-endpoints</a>.</p>
|
|
* </dd> <dt>CloudFront distribution</dt> <dd> <p>Specify
|
|
* <code>Z2FDTNDATAQYW2</code>.</p> <p>Alias resource record sets for
|
|
* CloudFront can't be created in a private zone.</p> </dd> <dt>Elastic
|
|
* Beanstalk environment</dt> <dd> <p>Specify the hosted zone ID for the region
|
|
* that you created the environment in. The environment must have a regionalized
|
|
* subdomain. For a list of regions and the corresponding hosted zone IDs, see <a
|
|
* href="https://docs.aws.amazon.com/general/latest/gr/rande.html#elasticbeanstalk_region">AWS
|
|
* Elastic Beanstalk</a> in the "AWS Service Endpoints" chapter of the <i>Amazon
|
|
* Web Services General Reference</i>.</p> </dd> <dt>ELB load balancer</dt> <dd>
|
|
* <p>Specify the value of the hosted zone ID for the load balancer. Use the
|
|
* following methods to get the hosted zone ID:</p> <ul> <li> <p> <a
|
|
* href="https://docs.aws.amazon.com/general/latest/gr/elb.html">Service
|
|
* Endpoints</a> table in the "Elastic Load Balancing Endpoints and Quotas" topic
|
|
* in the <i>Amazon Web Services General Reference</i>: Use the value that
|
|
* corresponds with the region that you created your load balancer in. Note that
|
|
* there are separate columns for Application and Classic Load Balancers and for
|
|
* Network Load Balancers.</p> </li> <li> <p> <b>AWS Management Console</b>: Go to
|
|
* the Amazon EC2 page, choose <b>Load Balancers</b> in the navigation pane, select
|
|
* the load balancer, and get the value of the <b>Hosted zone</b> field on the
|
|
* <b>Description</b> tab.</p> </li> <li> <p> <b>Elastic Load Balancing API</b>:
|
|
* Use <code>DescribeLoadBalancers</code> to get the applicable value. For more
|
|
* information, see the applicable guide:</p> <ul> <li> <p>Classic Load Balancers:
|
|
* Use <a
|
|
* href="https://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html">DescribeLoadBalancers</a>
|
|
* to get the value of <code>CanonicalHostedZoneNameId</code>.</p> </li> <li>
|
|
* <p>Application and Network Load Balancers: Use <a
|
|
* href="https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html">DescribeLoadBalancers</a>
|
|
* to get the value of <code>CanonicalHostedZoneId</code>.</p> </li> </ul> </li>
|
|
* <li> <p> <b>AWS CLI</b>: Use <code>describe-load-balancers</code> to get the
|
|
* applicable value. For more information, see the applicable guide:</p> <ul> <li>
|
|
* <p>Classic Load Balancers: Use <a
|
|
* href="http://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html">describe-load-balancers</a>
|
|
* to get the value of <code>CanonicalHostedZoneNameId</code>.</p> </li> <li>
|
|
* <p>Application and Network Load Balancers: Use <a
|
|
* href="http://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-load-balancers.html">describe-load-balancers</a>
|
|
* to get the value of <code>CanonicalHostedZoneId</code>.</p> </li> </ul> </li>
|
|
* </ul> </dd> <dt>AWS Global Accelerator accelerator</dt> <dd> <p>Specify
|
|
* <code>Z2BJ6XQ5FK7U4H</code>.</p> </dd> <dt>An Amazon S3 bucket configured as a
|
|
* static website</dt> <dd> <p>Specify the hosted zone ID for the region that you
|
|
* created the bucket in. For more information about valid values, see the table <a
|
|
* href="https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints">Amazon
|
|
* S3 Website Endpoints</a> in the <i>Amazon Web Services General
|
|
* Reference</i>.</p> </dd> <dt>Another Route 53 resource record set in your hosted
|
|
* zone</dt> <dd> <p>Specify the hosted zone ID of your hosted zone. (An alias
|
|
* resource record set can't reference a resource record set in a different hosted
|
|
* zone.)</p> </dd> </dl>
|
|
*/
|
|
inline const Aws::String& GetHostedZoneId() const{ return m_hostedZoneId; }
|
|
|
|
/**
|
|
* <p> <i>Alias resource records sets only</i>: The value used depends on where you
|
|
* want to route traffic:</p> <dl> <dt>Amazon API Gateway custom regional APIs and
|
|
* edge-optimized APIs</dt> <dd> <p>Specify the hosted zone ID for your API. You
|
|
* can get the applicable value using the AWS CLI command <a
|
|
* href="https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-domain-names.html">get-domain-names</a>:</p>
|
|
* <ul> <li> <p>For regional APIs, specify the value of
|
|
* <code>regionalHostedZoneId</code>.</p> </li> <li> <p>For edge-optimized APIs,
|
|
* specify the value of <code>distributionHostedZoneId</code>.</p> </li> </ul>
|
|
* </dd> <dt>Amazon Virtual Private Cloud interface VPC endpoint</dt> <dd>
|
|
* <p>Specify the hosted zone ID for your interface endpoint. You can get the value
|
|
* of <code>HostedZoneId</code> using the AWS CLI command <a
|
|
* href="https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html">describe-vpc-endpoints</a>.</p>
|
|
* </dd> <dt>CloudFront distribution</dt> <dd> <p>Specify
|
|
* <code>Z2FDTNDATAQYW2</code>.</p> <p>Alias resource record sets for
|
|
* CloudFront can't be created in a private zone.</p> </dd> <dt>Elastic
|
|
* Beanstalk environment</dt> <dd> <p>Specify the hosted zone ID for the region
|
|
* that you created the environment in. The environment must have a regionalized
|
|
* subdomain. For a list of regions and the corresponding hosted zone IDs, see <a
|
|
* href="https://docs.aws.amazon.com/general/latest/gr/rande.html#elasticbeanstalk_region">AWS
|
|
* Elastic Beanstalk</a> in the "AWS Service Endpoints" chapter of the <i>Amazon
|
|
* Web Services General Reference</i>.</p> </dd> <dt>ELB load balancer</dt> <dd>
|
|
* <p>Specify the value of the hosted zone ID for the load balancer. Use the
|
|
* following methods to get the hosted zone ID:</p> <ul> <li> <p> <a
|
|
* href="https://docs.aws.amazon.com/general/latest/gr/elb.html">Service
|
|
* Endpoints</a> table in the "Elastic Load Balancing Endpoints and Quotas" topic
|
|
* in the <i>Amazon Web Services General Reference</i>: Use the value that
|
|
* corresponds with the region that you created your load balancer in. Note that
|
|
* there are separate columns for Application and Classic Load Balancers and for
|
|
* Network Load Balancers.</p> </li> <li> <p> <b>AWS Management Console</b>: Go to
|
|
* the Amazon EC2 page, choose <b>Load Balancers</b> in the navigation pane, select
|
|
* the load balancer, and get the value of the <b>Hosted zone</b> field on the
|
|
* <b>Description</b> tab.</p> </li> <li> <p> <b>Elastic Load Balancing API</b>:
|
|
* Use <code>DescribeLoadBalancers</code> to get the applicable value. For more
|
|
* information, see the applicable guide:</p> <ul> <li> <p>Classic Load Balancers:
|
|
* Use <a
|
|
* href="https://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html">DescribeLoadBalancers</a>
|
|
* to get the value of <code>CanonicalHostedZoneNameId</code>.</p> </li> <li>
|
|
* <p>Application and Network Load Balancers: Use <a
|
|
* href="https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html">DescribeLoadBalancers</a>
|
|
* to get the value of <code>CanonicalHostedZoneId</code>.</p> </li> </ul> </li>
|
|
* <li> <p> <b>AWS CLI</b>: Use <code>describe-load-balancers</code> to get the
|
|
* applicable value. For more information, see the applicable guide:</p> <ul> <li>
|
|
* <p>Classic Load Balancers: Use <a
|
|
* href="http://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html">describe-load-balancers</a>
|
|
* to get the value of <code>CanonicalHostedZoneNameId</code>.</p> </li> <li>
|
|
* <p>Application and Network Load Balancers: Use <a
|
|
* href="http://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-load-balancers.html">describe-load-balancers</a>
|
|
* to get the value of <code>CanonicalHostedZoneId</code>.</p> </li> </ul> </li>
|
|
* </ul> </dd> <dt>AWS Global Accelerator accelerator</dt> <dd> <p>Specify
|
|
* <code>Z2BJ6XQ5FK7U4H</code>.</p> </dd> <dt>An Amazon S3 bucket configured as a
|
|
* static website</dt> <dd> <p>Specify the hosted zone ID for the region that you
|
|
* created the bucket in. For more information about valid values, see the table <a
|
|
* href="https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints">Amazon
|
|
* S3 Website Endpoints</a> in the <i>Amazon Web Services General
|
|
* Reference</i>.</p> </dd> <dt>Another Route 53 resource record set in your hosted
|
|
* zone</dt> <dd> <p>Specify the hosted zone ID of your hosted zone. (An alias
|
|
* resource record set can't reference a resource record set in a different hosted
|
|
* zone.)</p> </dd> </dl>
|
|
*/
|
|
inline bool HostedZoneIdHasBeenSet() const { return m_hostedZoneIdHasBeenSet; }
|
|
|
|
/**
|
|
* <p> <i>Alias resource records sets only</i>: The value used depends on where you
|
|
* want to route traffic:</p> <dl> <dt>Amazon API Gateway custom regional APIs and
|
|
* edge-optimized APIs</dt> <dd> <p>Specify the hosted zone ID for your API. You
|
|
* can get the applicable value using the AWS CLI command <a
|
|
* href="https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-domain-names.html">get-domain-names</a>:</p>
|
|
* <ul> <li> <p>For regional APIs, specify the value of
|
|
* <code>regionalHostedZoneId</code>.</p> </li> <li> <p>For edge-optimized APIs,
|
|
* specify the value of <code>distributionHostedZoneId</code>.</p> </li> </ul>
|
|
* </dd> <dt>Amazon Virtual Private Cloud interface VPC endpoint</dt> <dd>
|
|
* <p>Specify the hosted zone ID for your interface endpoint. You can get the value
|
|
* of <code>HostedZoneId</code> using the AWS CLI command <a
|
|
* href="https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html">describe-vpc-endpoints</a>.</p>
|
|
* </dd> <dt>CloudFront distribution</dt> <dd> <p>Specify
|
|
* <code>Z2FDTNDATAQYW2</code>.</p> <p>Alias resource record sets for
|
|
* CloudFront can't be created in a private zone.</p> </dd> <dt>Elastic
|
|
* Beanstalk environment</dt> <dd> <p>Specify the hosted zone ID for the region
|
|
* that you created the environment in. The environment must have a regionalized
|
|
* subdomain. For a list of regions and the corresponding hosted zone IDs, see <a
|
|
* href="https://docs.aws.amazon.com/general/latest/gr/rande.html#elasticbeanstalk_region">AWS
|
|
* Elastic Beanstalk</a> in the "AWS Service Endpoints" chapter of the <i>Amazon
|
|
* Web Services General Reference</i>.</p> </dd> <dt>ELB load balancer</dt> <dd>
|
|
* <p>Specify the value of the hosted zone ID for the load balancer. Use the
|
|
* following methods to get the hosted zone ID:</p> <ul> <li> <p> <a
|
|
* href="https://docs.aws.amazon.com/general/latest/gr/elb.html">Service
|
|
* Endpoints</a> table in the "Elastic Load Balancing Endpoints and Quotas" topic
|
|
* in the <i>Amazon Web Services General Reference</i>: Use the value that
|
|
* corresponds with the region that you created your load balancer in. Note that
|
|
* there are separate columns for Application and Classic Load Balancers and for
|
|
* Network Load Balancers.</p> </li> <li> <p> <b>AWS Management Console</b>: Go to
|
|
* the Amazon EC2 page, choose <b>Load Balancers</b> in the navigation pane, select
|
|
* the load balancer, and get the value of the <b>Hosted zone</b> field on the
|
|
* <b>Description</b> tab.</p> </li> <li> <p> <b>Elastic Load Balancing API</b>:
|
|
* Use <code>DescribeLoadBalancers</code> to get the applicable value. For more
|
|
* information, see the applicable guide:</p> <ul> <li> <p>Classic Load Balancers:
|
|
* Use <a
|
|
* href="https://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html">DescribeLoadBalancers</a>
|
|
* to get the value of <code>CanonicalHostedZoneNameId</code>.</p> </li> <li>
|
|
* <p>Application and Network Load Balancers: Use <a
|
|
* href="https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html">DescribeLoadBalancers</a>
|
|
* to get the value of <code>CanonicalHostedZoneId</code>.</p> </li> </ul> </li>
|
|
* <li> <p> <b>AWS CLI</b>: Use <code>describe-load-balancers</code> to get the
|
|
* applicable value. For more information, see the applicable guide:</p> <ul> <li>
|
|
* <p>Classic Load Balancers: Use <a
|
|
* href="http://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html">describe-load-balancers</a>
|
|
* to get the value of <code>CanonicalHostedZoneNameId</code>.</p> </li> <li>
|
|
* <p>Application and Network Load Balancers: Use <a
|
|
* href="http://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-load-balancers.html">describe-load-balancers</a>
|
|
* to get the value of <code>CanonicalHostedZoneId</code>.</p> </li> </ul> </li>
|
|
* </ul> </dd> <dt>AWS Global Accelerator accelerator</dt> <dd> <p>Specify
|
|
* <code>Z2BJ6XQ5FK7U4H</code>.</p> </dd> <dt>An Amazon S3 bucket configured as a
|
|
* static website</dt> <dd> <p>Specify the hosted zone ID for the region that you
|
|
* created the bucket in. For more information about valid values, see the table <a
|
|
* href="https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints">Amazon
|
|
* S3 Website Endpoints</a> in the <i>Amazon Web Services General
|
|
* Reference</i>.</p> </dd> <dt>Another Route 53 resource record set in your hosted
|
|
* zone</dt> <dd> <p>Specify the hosted zone ID of your hosted zone. (An alias
|
|
* resource record set can't reference a resource record set in a different hosted
|
|
* zone.)</p> </dd> </dl>
|
|
*/
|
|
inline void SetHostedZoneId(const Aws::String& value) { m_hostedZoneIdHasBeenSet = true; m_hostedZoneId = value; }
|
|
|
|
/**
|
|
* <p> <i>Alias resource records sets only</i>: The value used depends on where you
|
|
* want to route traffic:</p> <dl> <dt>Amazon API Gateway custom regional APIs and
|
|
* edge-optimized APIs</dt> <dd> <p>Specify the hosted zone ID for your API. You
|
|
* can get the applicable value using the AWS CLI command <a
|
|
* href="https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-domain-names.html">get-domain-names</a>:</p>
|
|
* <ul> <li> <p>For regional APIs, specify the value of
|
|
* <code>regionalHostedZoneId</code>.</p> </li> <li> <p>For edge-optimized APIs,
|
|
* specify the value of <code>distributionHostedZoneId</code>.</p> </li> </ul>
|
|
* </dd> <dt>Amazon Virtual Private Cloud interface VPC endpoint</dt> <dd>
|
|
* <p>Specify the hosted zone ID for your interface endpoint. You can get the value
|
|
* of <code>HostedZoneId</code> using the AWS CLI command <a
|
|
* href="https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html">describe-vpc-endpoints</a>.</p>
|
|
* </dd> <dt>CloudFront distribution</dt> <dd> <p>Specify
|
|
* <code>Z2FDTNDATAQYW2</code>.</p> <p>Alias resource record sets for
|
|
* CloudFront can't be created in a private zone.</p> </dd> <dt>Elastic
|
|
* Beanstalk environment</dt> <dd> <p>Specify the hosted zone ID for the region
|
|
* that you created the environment in. The environment must have a regionalized
|
|
* subdomain. For a list of regions and the corresponding hosted zone IDs, see <a
|
|
* href="https://docs.aws.amazon.com/general/latest/gr/rande.html#elasticbeanstalk_region">AWS
|
|
* Elastic Beanstalk</a> in the "AWS Service Endpoints" chapter of the <i>Amazon
|
|
* Web Services General Reference</i>.</p> </dd> <dt>ELB load balancer</dt> <dd>
|
|
* <p>Specify the value of the hosted zone ID for the load balancer. Use the
|
|
* following methods to get the hosted zone ID:</p> <ul> <li> <p> <a
|
|
* href="https://docs.aws.amazon.com/general/latest/gr/elb.html">Service
|
|
* Endpoints</a> table in the "Elastic Load Balancing Endpoints and Quotas" topic
|
|
* in the <i>Amazon Web Services General Reference</i>: Use the value that
|
|
* corresponds with the region that you created your load balancer in. Note that
|
|
* there are separate columns for Application and Classic Load Balancers and for
|
|
* Network Load Balancers.</p> </li> <li> <p> <b>AWS Management Console</b>: Go to
|
|
* the Amazon EC2 page, choose <b>Load Balancers</b> in the navigation pane, select
|
|
* the load balancer, and get the value of the <b>Hosted zone</b> field on the
|
|
* <b>Description</b> tab.</p> </li> <li> <p> <b>Elastic Load Balancing API</b>:
|
|
* Use <code>DescribeLoadBalancers</code> to get the applicable value. For more
|
|
* information, see the applicable guide:</p> <ul> <li> <p>Classic Load Balancers:
|
|
* Use <a
|
|
* href="https://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html">DescribeLoadBalancers</a>
|
|
* to get the value of <code>CanonicalHostedZoneNameId</code>.</p> </li> <li>
|
|
* <p>Application and Network Load Balancers: Use <a
|
|
* href="https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html">DescribeLoadBalancers</a>
|
|
* to get the value of <code>CanonicalHostedZoneId</code>.</p> </li> </ul> </li>
|
|
* <li> <p> <b>AWS CLI</b>: Use <code>describe-load-balancers</code> to get the
|
|
* applicable value. For more information, see the applicable guide:</p> <ul> <li>
|
|
* <p>Classic Load Balancers: Use <a
|
|
* href="http://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html">describe-load-balancers</a>
|
|
* to get the value of <code>CanonicalHostedZoneNameId</code>.</p> </li> <li>
|
|
* <p>Application and Network Load Balancers: Use <a
|
|
* href="http://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-load-balancers.html">describe-load-balancers</a>
|
|
* to get the value of <code>CanonicalHostedZoneId</code>.</p> </li> </ul> </li>
|
|
* </ul> </dd> <dt>AWS Global Accelerator accelerator</dt> <dd> <p>Specify
|
|
* <code>Z2BJ6XQ5FK7U4H</code>.</p> </dd> <dt>An Amazon S3 bucket configured as a
|
|
* static website</dt> <dd> <p>Specify the hosted zone ID for the region that you
|
|
* created the bucket in. For more information about valid values, see the table <a
|
|
* href="https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints">Amazon
|
|
* S3 Website Endpoints</a> in the <i>Amazon Web Services General
|
|
* Reference</i>.</p> </dd> <dt>Another Route 53 resource record set in your hosted
|
|
* zone</dt> <dd> <p>Specify the hosted zone ID of your hosted zone. (An alias
|
|
* resource record set can't reference a resource record set in a different hosted
|
|
* zone.)</p> </dd> </dl>
|
|
*/
|
|
inline void SetHostedZoneId(Aws::String&& value) { m_hostedZoneIdHasBeenSet = true; m_hostedZoneId = std::move(value); }
|
|
|
|
/**
|
|
* <p> <i>Alias resource records sets only</i>: The value used depends on where you
|
|
* want to route traffic:</p> <dl> <dt>Amazon API Gateway custom regional APIs and
|
|
* edge-optimized APIs</dt> <dd> <p>Specify the hosted zone ID for your API. You
|
|
* can get the applicable value using the AWS CLI command <a
|
|
* href="https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-domain-names.html">get-domain-names</a>:</p>
|
|
* <ul> <li> <p>For regional APIs, specify the value of
|
|
* <code>regionalHostedZoneId</code>.</p> </li> <li> <p>For edge-optimized APIs,
|
|
* specify the value of <code>distributionHostedZoneId</code>.</p> </li> </ul>
|
|
* </dd> <dt>Amazon Virtual Private Cloud interface VPC endpoint</dt> <dd>
|
|
* <p>Specify the hosted zone ID for your interface endpoint. You can get the value
|
|
* of <code>HostedZoneId</code> using the AWS CLI command <a
|
|
* href="https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html">describe-vpc-endpoints</a>.</p>
|
|
* </dd> <dt>CloudFront distribution</dt> <dd> <p>Specify
|
|
* <code>Z2FDTNDATAQYW2</code>.</p> <p>Alias resource record sets for
|
|
* CloudFront can't be created in a private zone.</p> </dd> <dt>Elastic
|
|
* Beanstalk environment</dt> <dd> <p>Specify the hosted zone ID for the region
|
|
* that you created the environment in. The environment must have a regionalized
|
|
* subdomain. For a list of regions and the corresponding hosted zone IDs, see <a
|
|
* href="https://docs.aws.amazon.com/general/latest/gr/rande.html#elasticbeanstalk_region">AWS
|
|
* Elastic Beanstalk</a> in the "AWS Service Endpoints" chapter of the <i>Amazon
|
|
* Web Services General Reference</i>.</p> </dd> <dt>ELB load balancer</dt> <dd>
|
|
* <p>Specify the value of the hosted zone ID for the load balancer. Use the
|
|
* following methods to get the hosted zone ID:</p> <ul> <li> <p> <a
|
|
* href="https://docs.aws.amazon.com/general/latest/gr/elb.html">Service
|
|
* Endpoints</a> table in the "Elastic Load Balancing Endpoints and Quotas" topic
|
|
* in the <i>Amazon Web Services General Reference</i>: Use the value that
|
|
* corresponds with the region that you created your load balancer in. Note that
|
|
* there are separate columns for Application and Classic Load Balancers and for
|
|
* Network Load Balancers.</p> </li> <li> <p> <b>AWS Management Console</b>: Go to
|
|
* the Amazon EC2 page, choose <b>Load Balancers</b> in the navigation pane, select
|
|
* the load balancer, and get the value of the <b>Hosted zone</b> field on the
|
|
* <b>Description</b> tab.</p> </li> <li> <p> <b>Elastic Load Balancing API</b>:
|
|
* Use <code>DescribeLoadBalancers</code> to get the applicable value. For more
|
|
* information, see the applicable guide:</p> <ul> <li> <p>Classic Load Balancers:
|
|
* Use <a
|
|
* href="https://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html">DescribeLoadBalancers</a>
|
|
* to get the value of <code>CanonicalHostedZoneNameId</code>.</p> </li> <li>
|
|
* <p>Application and Network Load Balancers: Use <a
|
|
* href="https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html">DescribeLoadBalancers</a>
|
|
* to get the value of <code>CanonicalHostedZoneId</code>.</p> </li> </ul> </li>
|
|
* <li> <p> <b>AWS CLI</b>: Use <code>describe-load-balancers</code> to get the
|
|
* applicable value. For more information, see the applicable guide:</p> <ul> <li>
|
|
* <p>Classic Load Balancers: Use <a
|
|
* href="http://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html">describe-load-balancers</a>
|
|
* to get the value of <code>CanonicalHostedZoneNameId</code>.</p> </li> <li>
|
|
* <p>Application and Network Load Balancers: Use <a
|
|
* href="http://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-load-balancers.html">describe-load-balancers</a>
|
|
* to get the value of <code>CanonicalHostedZoneId</code>.</p> </li> </ul> </li>
|
|
* </ul> </dd> <dt>AWS Global Accelerator accelerator</dt> <dd> <p>Specify
|
|
* <code>Z2BJ6XQ5FK7U4H</code>.</p> </dd> <dt>An Amazon S3 bucket configured as a
|
|
* static website</dt> <dd> <p>Specify the hosted zone ID for the region that you
|
|
* created the bucket in. For more information about valid values, see the table <a
|
|
* href="https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints">Amazon
|
|
* S3 Website Endpoints</a> in the <i>Amazon Web Services General
|
|
* Reference</i>.</p> </dd> <dt>Another Route 53 resource record set in your hosted
|
|
* zone</dt> <dd> <p>Specify the hosted zone ID of your hosted zone. (An alias
|
|
* resource record set can't reference a resource record set in a different hosted
|
|
* zone.)</p> </dd> </dl>
|
|
*/
|
|
inline void SetHostedZoneId(const char* value) { m_hostedZoneIdHasBeenSet = true; m_hostedZoneId.assign(value); }
|
|
|
|
/**
|
|
* <p> <i>Alias resource records sets only</i>: The value used depends on where you
|
|
* want to route traffic:</p> <dl> <dt>Amazon API Gateway custom regional APIs and
|
|
* edge-optimized APIs</dt> <dd> <p>Specify the hosted zone ID for your API. You
|
|
* can get the applicable value using the AWS CLI command <a
|
|
* href="https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-domain-names.html">get-domain-names</a>:</p>
|
|
* <ul> <li> <p>For regional APIs, specify the value of
|
|
* <code>regionalHostedZoneId</code>.</p> </li> <li> <p>For edge-optimized APIs,
|
|
* specify the value of <code>distributionHostedZoneId</code>.</p> </li> </ul>
|
|
* </dd> <dt>Amazon Virtual Private Cloud interface VPC endpoint</dt> <dd>
|
|
* <p>Specify the hosted zone ID for your interface endpoint. You can get the value
|
|
* of <code>HostedZoneId</code> using the AWS CLI command <a
|
|
* href="https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html">describe-vpc-endpoints</a>.</p>
|
|
* </dd> <dt>CloudFront distribution</dt> <dd> <p>Specify
|
|
* <code>Z2FDTNDATAQYW2</code>.</p> <p>Alias resource record sets for
|
|
* CloudFront can't be created in a private zone.</p> </dd> <dt>Elastic
|
|
* Beanstalk environment</dt> <dd> <p>Specify the hosted zone ID for the region
|
|
* that you created the environment in. The environment must have a regionalized
|
|
* subdomain. For a list of regions and the corresponding hosted zone IDs, see <a
|
|
* href="https://docs.aws.amazon.com/general/latest/gr/rande.html#elasticbeanstalk_region">AWS
|
|
* Elastic Beanstalk</a> in the "AWS Service Endpoints" chapter of the <i>Amazon
|
|
* Web Services General Reference</i>.</p> </dd> <dt>ELB load balancer</dt> <dd>
|
|
* <p>Specify the value of the hosted zone ID for the load balancer. Use the
|
|
* following methods to get the hosted zone ID:</p> <ul> <li> <p> <a
|
|
* href="https://docs.aws.amazon.com/general/latest/gr/elb.html">Service
|
|
* Endpoints</a> table in the "Elastic Load Balancing Endpoints and Quotas" topic
|
|
* in the <i>Amazon Web Services General Reference</i>: Use the value that
|
|
* corresponds with the region that you created your load balancer in. Note that
|
|
* there are separate columns for Application and Classic Load Balancers and for
|
|
* Network Load Balancers.</p> </li> <li> <p> <b>AWS Management Console</b>: Go to
|
|
* the Amazon EC2 page, choose <b>Load Balancers</b> in the navigation pane, select
|
|
* the load balancer, and get the value of the <b>Hosted zone</b> field on the
|
|
* <b>Description</b> tab.</p> </li> <li> <p> <b>Elastic Load Balancing API</b>:
|
|
* Use <code>DescribeLoadBalancers</code> to get the applicable value. For more
|
|
* information, see the applicable guide:</p> <ul> <li> <p>Classic Load Balancers:
|
|
* Use <a
|
|
* href="https://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html">DescribeLoadBalancers</a>
|
|
* to get the value of <code>CanonicalHostedZoneNameId</code>.</p> </li> <li>
|
|
* <p>Application and Network Load Balancers: Use <a
|
|
* href="https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html">DescribeLoadBalancers</a>
|
|
* to get the value of <code>CanonicalHostedZoneId</code>.</p> </li> </ul> </li>
|
|
* <li> <p> <b>AWS CLI</b>: Use <code>describe-load-balancers</code> to get the
|
|
* applicable value. For more information, see the applicable guide:</p> <ul> <li>
|
|
* <p>Classic Load Balancers: Use <a
|
|
* href="http://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html">describe-load-balancers</a>
|
|
* to get the value of <code>CanonicalHostedZoneNameId</code>.</p> </li> <li>
|
|
* <p>Application and Network Load Balancers: Use <a
|
|
* href="http://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-load-balancers.html">describe-load-balancers</a>
|
|
* to get the value of <code>CanonicalHostedZoneId</code>.</p> </li> </ul> </li>
|
|
* </ul> </dd> <dt>AWS Global Accelerator accelerator</dt> <dd> <p>Specify
|
|
* <code>Z2BJ6XQ5FK7U4H</code>.</p> </dd> <dt>An Amazon S3 bucket configured as a
|
|
* static website</dt> <dd> <p>Specify the hosted zone ID for the region that you
|
|
* created the bucket in. For more information about valid values, see the table <a
|
|
* href="https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints">Amazon
|
|
* S3 Website Endpoints</a> in the <i>Amazon Web Services General
|
|
* Reference</i>.</p> </dd> <dt>Another Route 53 resource record set in your hosted
|
|
* zone</dt> <dd> <p>Specify the hosted zone ID of your hosted zone. (An alias
|
|
* resource record set can't reference a resource record set in a different hosted
|
|
* zone.)</p> </dd> </dl>
|
|
*/
|
|
inline AliasTarget& WithHostedZoneId(const Aws::String& value) { SetHostedZoneId(value); return *this;}
|
|
|
|
/**
|
|
* <p> <i>Alias resource records sets only</i>: The value used depends on where you
|
|
* want to route traffic:</p> <dl> <dt>Amazon API Gateway custom regional APIs and
|
|
* edge-optimized APIs</dt> <dd> <p>Specify the hosted zone ID for your API. You
|
|
* can get the applicable value using the AWS CLI command <a
|
|
* href="https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-domain-names.html">get-domain-names</a>:</p>
|
|
* <ul> <li> <p>For regional APIs, specify the value of
|
|
* <code>regionalHostedZoneId</code>.</p> </li> <li> <p>For edge-optimized APIs,
|
|
* specify the value of <code>distributionHostedZoneId</code>.</p> </li> </ul>
|
|
* </dd> <dt>Amazon Virtual Private Cloud interface VPC endpoint</dt> <dd>
|
|
* <p>Specify the hosted zone ID for your interface endpoint. You can get the value
|
|
* of <code>HostedZoneId</code> using the AWS CLI command <a
|
|
* href="https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html">describe-vpc-endpoints</a>.</p>
|
|
* </dd> <dt>CloudFront distribution</dt> <dd> <p>Specify
|
|
* <code>Z2FDTNDATAQYW2</code>.</p> <p>Alias resource record sets for
|
|
* CloudFront can't be created in a private zone.</p> </dd> <dt>Elastic
|
|
* Beanstalk environment</dt> <dd> <p>Specify the hosted zone ID for the region
|
|
* that you created the environment in. The environment must have a regionalized
|
|
* subdomain. For a list of regions and the corresponding hosted zone IDs, see <a
|
|
* href="https://docs.aws.amazon.com/general/latest/gr/rande.html#elasticbeanstalk_region">AWS
|
|
* Elastic Beanstalk</a> in the "AWS Service Endpoints" chapter of the <i>Amazon
|
|
* Web Services General Reference</i>.</p> </dd> <dt>ELB load balancer</dt> <dd>
|
|
* <p>Specify the value of the hosted zone ID for the load balancer. Use the
|
|
* following methods to get the hosted zone ID:</p> <ul> <li> <p> <a
|
|
* href="https://docs.aws.amazon.com/general/latest/gr/elb.html">Service
|
|
* Endpoints</a> table in the "Elastic Load Balancing Endpoints and Quotas" topic
|
|
* in the <i>Amazon Web Services General Reference</i>: Use the value that
|
|
* corresponds with the region that you created your load balancer in. Note that
|
|
* there are separate columns for Application and Classic Load Balancers and for
|
|
* Network Load Balancers.</p> </li> <li> <p> <b>AWS Management Console</b>: Go to
|
|
* the Amazon EC2 page, choose <b>Load Balancers</b> in the navigation pane, select
|
|
* the load balancer, and get the value of the <b>Hosted zone</b> field on the
|
|
* <b>Description</b> tab.</p> </li> <li> <p> <b>Elastic Load Balancing API</b>:
|
|
* Use <code>DescribeLoadBalancers</code> to get the applicable value. For more
|
|
* information, see the applicable guide:</p> <ul> <li> <p>Classic Load Balancers:
|
|
* Use <a
|
|
* href="https://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html">DescribeLoadBalancers</a>
|
|
* to get the value of <code>CanonicalHostedZoneNameId</code>.</p> </li> <li>
|
|
* <p>Application and Network Load Balancers: Use <a
|
|
* href="https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html">DescribeLoadBalancers</a>
|
|
* to get the value of <code>CanonicalHostedZoneId</code>.</p> </li> </ul> </li>
|
|
* <li> <p> <b>AWS CLI</b>: Use <code>describe-load-balancers</code> to get the
|
|
* applicable value. For more information, see the applicable guide:</p> <ul> <li>
|
|
* <p>Classic Load Balancers: Use <a
|
|
* href="http://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html">describe-load-balancers</a>
|
|
* to get the value of <code>CanonicalHostedZoneNameId</code>.</p> </li> <li>
|
|
* <p>Application and Network Load Balancers: Use <a
|
|
* href="http://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-load-balancers.html">describe-load-balancers</a>
|
|
* to get the value of <code>CanonicalHostedZoneId</code>.</p> </li> </ul> </li>
|
|
* </ul> </dd> <dt>AWS Global Accelerator accelerator</dt> <dd> <p>Specify
|
|
* <code>Z2BJ6XQ5FK7U4H</code>.</p> </dd> <dt>An Amazon S3 bucket configured as a
|
|
* static website</dt> <dd> <p>Specify the hosted zone ID for the region that you
|
|
* created the bucket in. For more information about valid values, see the table <a
|
|
* href="https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints">Amazon
|
|
* S3 Website Endpoints</a> in the <i>Amazon Web Services General
|
|
* Reference</i>.</p> </dd> <dt>Another Route 53 resource record set in your hosted
|
|
* zone</dt> <dd> <p>Specify the hosted zone ID of your hosted zone. (An alias
|
|
* resource record set can't reference a resource record set in a different hosted
|
|
* zone.)</p> </dd> </dl>
|
|
*/
|
|
inline AliasTarget& WithHostedZoneId(Aws::String&& value) { SetHostedZoneId(std::move(value)); return *this;}
|
|
|
|
/**
|
|
* <p> <i>Alias resource records sets only</i>: The value used depends on where you
|
|
* want to route traffic:</p> <dl> <dt>Amazon API Gateway custom regional APIs and
|
|
* edge-optimized APIs</dt> <dd> <p>Specify the hosted zone ID for your API. You
|
|
* can get the applicable value using the AWS CLI command <a
|
|
* href="https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-domain-names.html">get-domain-names</a>:</p>
|
|
* <ul> <li> <p>For regional APIs, specify the value of
|
|
* <code>regionalHostedZoneId</code>.</p> </li> <li> <p>For edge-optimized APIs,
|
|
* specify the value of <code>distributionHostedZoneId</code>.</p> </li> </ul>
|
|
* </dd> <dt>Amazon Virtual Private Cloud interface VPC endpoint</dt> <dd>
|
|
* <p>Specify the hosted zone ID for your interface endpoint. You can get the value
|
|
* of <code>HostedZoneId</code> using the AWS CLI command <a
|
|
* href="https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html">describe-vpc-endpoints</a>.</p>
|
|
* </dd> <dt>CloudFront distribution</dt> <dd> <p>Specify
|
|
* <code>Z2FDTNDATAQYW2</code>.</p> <p>Alias resource record sets for
|
|
* CloudFront can't be created in a private zone.</p> </dd> <dt>Elastic
|
|
* Beanstalk environment</dt> <dd> <p>Specify the hosted zone ID for the region
|
|
* that you created the environment in. The environment must have a regionalized
|
|
* subdomain. For a list of regions and the corresponding hosted zone IDs, see <a
|
|
* href="https://docs.aws.amazon.com/general/latest/gr/rande.html#elasticbeanstalk_region">AWS
|
|
* Elastic Beanstalk</a> in the "AWS Service Endpoints" chapter of the <i>Amazon
|
|
* Web Services General Reference</i>.</p> </dd> <dt>ELB load balancer</dt> <dd>
|
|
* <p>Specify the value of the hosted zone ID for the load balancer. Use the
|
|
* following methods to get the hosted zone ID:</p> <ul> <li> <p> <a
|
|
* href="https://docs.aws.amazon.com/general/latest/gr/elb.html">Service
|
|
* Endpoints</a> table in the "Elastic Load Balancing Endpoints and Quotas" topic
|
|
* in the <i>Amazon Web Services General Reference</i>: Use the value that
|
|
* corresponds with the region that you created your load balancer in. Note that
|
|
* there are separate columns for Application and Classic Load Balancers and for
|
|
* Network Load Balancers.</p> </li> <li> <p> <b>AWS Management Console</b>: Go to
|
|
* the Amazon EC2 page, choose <b>Load Balancers</b> in the navigation pane, select
|
|
* the load balancer, and get the value of the <b>Hosted zone</b> field on the
|
|
* <b>Description</b> tab.</p> </li> <li> <p> <b>Elastic Load Balancing API</b>:
|
|
* Use <code>DescribeLoadBalancers</code> to get the applicable value. For more
|
|
* information, see the applicable guide:</p> <ul> <li> <p>Classic Load Balancers:
|
|
* Use <a
|
|
* href="https://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html">DescribeLoadBalancers</a>
|
|
* to get the value of <code>CanonicalHostedZoneNameId</code>.</p> </li> <li>
|
|
* <p>Application and Network Load Balancers: Use <a
|
|
* href="https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html">DescribeLoadBalancers</a>
|
|
* to get the value of <code>CanonicalHostedZoneId</code>.</p> </li> </ul> </li>
|
|
* <li> <p> <b>AWS CLI</b>: Use <code>describe-load-balancers</code> to get the
|
|
* applicable value. For more information, see the applicable guide:</p> <ul> <li>
|
|
* <p>Classic Load Balancers: Use <a
|
|
* href="http://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html">describe-load-balancers</a>
|
|
* to get the value of <code>CanonicalHostedZoneNameId</code>.</p> </li> <li>
|
|
* <p>Application and Network Load Balancers: Use <a
|
|
* href="http://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-load-balancers.html">describe-load-balancers</a>
|
|
* to get the value of <code>CanonicalHostedZoneId</code>.</p> </li> </ul> </li>
|
|
* </ul> </dd> <dt>AWS Global Accelerator accelerator</dt> <dd> <p>Specify
|
|
* <code>Z2BJ6XQ5FK7U4H</code>.</p> </dd> <dt>An Amazon S3 bucket configured as a
|
|
* static website</dt> <dd> <p>Specify the hosted zone ID for the region that you
|
|
* created the bucket in. For more information about valid values, see the table <a
|
|
* href="https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints">Amazon
|
|
* S3 Website Endpoints</a> in the <i>Amazon Web Services General
|
|
* Reference</i>.</p> </dd> <dt>Another Route 53 resource record set in your hosted
|
|
* zone</dt> <dd> <p>Specify the hosted zone ID of your hosted zone. (An alias
|
|
* resource record set can't reference a resource record set in a different hosted
|
|
* zone.)</p> </dd> </dl>
|
|
*/
|
|
inline AliasTarget& WithHostedZoneId(const char* value) { SetHostedZoneId(value); return *this;}
|
|
|
|
|
|
/**
|
|
* <p> <i>Alias resource record sets only:</i> The value that you specify depends
|
|
* on where you want to route queries:</p> <dl> <dt>Amazon API Gateway custom
|
|
* regional APIs and edge-optimized APIs</dt> <dd> <p>Specify the applicable domain
|
|
* name for your API. You can get the applicable value using the AWS CLI command <a
|
|
* href="https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-domain-names.html">get-domain-names</a>:</p>
|
|
* <ul> <li> <p>For regional APIs, specify the value of
|
|
* <code>regionalDomainName</code>.</p> </li> <li> <p>For edge-optimized APIs,
|
|
* specify the value of <code>distributionDomainName</code>. This is the name of
|
|
* the associated CloudFront distribution, such as
|
|
* <code>da1b2c3d4e5.cloudfront.net</code>.</p> </li> </ul> <p>The name of
|
|
* the record that you're creating must match a custom domain name for your API,
|
|
* such as <code>api.example.com</code>.</p> </dd> <dt>Amazon Virtual
|
|
* Private Cloud interface VPC endpoint</dt> <dd> <p>Enter the API endpoint for the
|
|
* interface endpoint, such as
|
|
* <code>vpce-123456789abcdef01-example-us-east-1a.elasticloadbalancing.us-east-1.vpce.amazonaws.com</code>.
|
|
* For edge-optimized APIs, this is the domain name for the corresponding
|
|
* CloudFront distribution. You can get the value of <code>DnsName</code> using the
|
|
* AWS CLI command <a
|
|
* href="https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html">describe-vpc-endpoints</a>.</p>
|
|
* </dd> <dt>CloudFront distribution</dt> <dd> <p>Specify the domain name that
|
|
* CloudFront assigned when you created your distribution.</p> <p>Your CloudFront
|
|
* distribution must include an alternate domain name that matches the name of the
|
|
* resource record set. For example, if the name of the resource record set is
|
|
* <i>acme.example.com</i>, your CloudFront distribution must include
|
|
* <i>acme.example.com</i> as one of the alternate domain names. For more
|
|
* information, see <a
|
|
* href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html">Using
|
|
* Alternate Domain Names (CNAMEs)</a> in the <i>Amazon CloudFront Developer
|
|
* Guide</i>.</p> <p>You can't create a resource record set in a private hosted
|
|
* zone to route traffic to a CloudFront distribution.</p> <p>For failover
|
|
* alias records, you can't specify a CloudFront distribution for both the primary
|
|
* and secondary records. A distribution must include an alternate domain name that
|
|
* matches the name of the record. However, the primary and secondary records have
|
|
* the same name, and you can't include the same alternate domain name in more than
|
|
* one distribution. </p> </dd> <dt>Elastic Beanstalk environment</dt> <dd>
|
|
* <p>If the domain name for your Elastic Beanstalk environment includes the region
|
|
* that you deployed the environment in, you can create an alias record that routes
|
|
* traffic to the environment. For example, the domain name
|
|
* <code>my-environment.<i>us-west-2</i>.elasticbeanstalk.com</code> is a
|
|
* regionalized domain name. </p> <p>For environments that were created
|
|
* before early 2016, the domain name doesn't include the region. To route traffic
|
|
* to these environments, you must create a CNAME record instead of an alias
|
|
* record. Note that you can't create a CNAME record for the root domain name. For
|
|
* example, if your domain name is example.com, you can create a record that routes
|
|
* traffic for acme.example.com to your Elastic Beanstalk environment, but you
|
|
* can't create a record that routes traffic for example.com to your Elastic
|
|
* Beanstalk environment.</p> <p>For Elastic Beanstalk environments
|
|
* that have regionalized subdomains, specify the <code>CNAME</code> attribute for
|
|
* the environment. You can use the following methods to get the value of the CNAME
|
|
* attribute:</p> <ul> <li> <p> <i>AWS Management Console</i>: For information
|
|
* about how to get the value by using the console, see <a
|
|
* href="https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customdomains.html">Using
|
|
* Custom Domains with AWS Elastic Beanstalk</a> in the <i>AWS Elastic Beanstalk
|
|
* Developer Guide</i>.</p> </li> <li> <p> <i>Elastic Beanstalk API</i>: Use the
|
|
* <code>DescribeEnvironments</code> action to get the value of the
|
|
* <code>CNAME</code> attribute. For more information, see <a
|
|
* href="https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_DescribeEnvironments.html">DescribeEnvironments</a>
|
|
* in the <i>AWS Elastic Beanstalk API Reference</i>.</p> </li> <li> <p> <i>AWS
|
|
* CLI</i>: Use the <code>describe-environments</code> command to get the value of
|
|
* the <code>CNAME</code> attribute. For more information, see <a
|
|
* href="https://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/describe-environments.html">describe-environments</a>
|
|
* in the <i>AWS CLI Command Reference</i>.</p> </li> </ul> </dd> <dt>ELB load
|
|
* balancer</dt> <dd> <p>Specify the DNS name that is associated with the load
|
|
* balancer. Get the DNS name by using the AWS Management Console, the ELB API, or
|
|
* the AWS CLI. </p> <ul> <li> <p> <b>AWS Management Console</b>: Go to the EC2
|
|
* page, choose <b>Load Balancers</b> in the navigation pane, choose the load
|
|
* balancer, choose the <b>Description</b> tab, and get the value of the <b>DNS
|
|
* name</b> field. </p> <p>If you're routing traffic to a Classic Load Balancer,
|
|
* get the value that begins with <b>dualstack</b>. If you're routing traffic to
|
|
* another type of load balancer, get the value that applies to the record type, A
|
|
* or AAAA.</p> </li> <li> <p> <b>Elastic Load Balancing API</b>: Use
|
|
* <code>DescribeLoadBalancers</code> to get the value of <code>DNSName</code>. For
|
|
* more information, see the applicable guide:</p> <ul> <li> <p>Classic Load
|
|
* Balancers: <a
|
|
* href="https://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html">DescribeLoadBalancers</a>
|
|
* </p> </li> <li> <p>Application and Network Load Balancers: <a
|
|
* href="https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html">DescribeLoadBalancers</a>
|
|
* </p> </li> </ul> </li> <li> <p> <b>AWS CLI</b>: Use
|
|
* <code>describe-load-balancers</code> to get the value of <code>DNSName</code>.
|
|
* For more information, see the applicable guide:</p> <ul> <li> <p>Classic Load
|
|
* Balancers: <a
|
|
* href="http://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html">describe-load-balancers</a>
|
|
* </p> </li> <li> <p>Application and Network Load Balancers: <a
|
|
* href="http://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-load-balancers.html">describe-load-balancers</a>
|
|
* </p> </li> </ul> </li> </ul> </dd> <dt>AWS Global Accelerator accelerator</dt>
|
|
* <dd> <p>Specify the DNS name for your accelerator:</p> <ul> <li> <p> <b>Global
|
|
* Accelerator API:</b> To get the DNS name, use <a
|
|
* href="https://docs.aws.amazon.com/global-accelerator/latest/api/API_DescribeAccelerator.html">DescribeAccelerator</a>.</p>
|
|
* </li> <li> <p> <b>AWS CLI:</b> To get the DNS name, use <a
|
|
* href="https://docs.aws.amazon.com/cli/latest/reference/globalaccelerator/describe-accelerator.html">describe-accelerator</a>.</p>
|
|
* </li> </ul> </dd> <dt>Amazon S3 bucket that is configured as a static
|
|
* website</dt> <dd> <p>Specify the domain name of the Amazon S3 website endpoint
|
|
* that you created the bucket in, for example,
|
|
* <code>s3-website.us-east-2.amazonaws.com</code>. For more information about
|
|
* valid values, see the table <a
|
|
* href="https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints">Amazon
|
|
* S3 Website Endpoints</a> in the <i>Amazon Web Services General Reference</i>.
|
|
* For more information about using S3 buckets for websites, see <a
|
|
* href="https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/getting-started.html">Getting
|
|
* Started with Amazon Route 53</a> in the <i>Amazon Route 53 Developer Guide.</i>
|
|
* </p> </dd> <dt>Another Route 53 resource record set</dt> <dd> <p>Specify the
|
|
* value of the <code>Name</code> element for a resource record set in the current
|
|
* hosted zone.</p> <p>If you're creating an alias record that has the same
|
|
* name as the hosted zone (known as the zone apex), you can't specify the domain
|
|
* name for a record for which the value of <code>Type</code> is
|
|
* <code>CNAME</code>. This is because the alias record must have the same type as
|
|
* the record that you're routing traffic to, and creating a CNAME record for the
|
|
* zone apex isn't supported even for an alias record.</p> </dd> </dl>
|
|
*/
|
|
inline const Aws::String& GetDNSName() const{ return m_dNSName; }
|
|
|
|
/**
|
|
* <p> <i>Alias resource record sets only:</i> The value that you specify depends
|
|
* on where you want to route queries:</p> <dl> <dt>Amazon API Gateway custom
|
|
* regional APIs and edge-optimized APIs</dt> <dd> <p>Specify the applicable domain
|
|
* name for your API. You can get the applicable value using the AWS CLI command <a
|
|
* href="https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-domain-names.html">get-domain-names</a>:</p>
|
|
* <ul> <li> <p>For regional APIs, specify the value of
|
|
* <code>regionalDomainName</code>.</p> </li> <li> <p>For edge-optimized APIs,
|
|
* specify the value of <code>distributionDomainName</code>. This is the name of
|
|
* the associated CloudFront distribution, such as
|
|
* <code>da1b2c3d4e5.cloudfront.net</code>.</p> </li> </ul> <p>The name of
|
|
* the record that you're creating must match a custom domain name for your API,
|
|
* such as <code>api.example.com</code>.</p> </dd> <dt>Amazon Virtual
|
|
* Private Cloud interface VPC endpoint</dt> <dd> <p>Enter the API endpoint for the
|
|
* interface endpoint, such as
|
|
* <code>vpce-123456789abcdef01-example-us-east-1a.elasticloadbalancing.us-east-1.vpce.amazonaws.com</code>.
|
|
* For edge-optimized APIs, this is the domain name for the corresponding
|
|
* CloudFront distribution. You can get the value of <code>DnsName</code> using the
|
|
* AWS CLI command <a
|
|
* href="https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html">describe-vpc-endpoints</a>.</p>
|
|
* </dd> <dt>CloudFront distribution</dt> <dd> <p>Specify the domain name that
|
|
* CloudFront assigned when you created your distribution.</p> <p>Your CloudFront
|
|
* distribution must include an alternate domain name that matches the name of the
|
|
* resource record set. For example, if the name of the resource record set is
|
|
* <i>acme.example.com</i>, your CloudFront distribution must include
|
|
* <i>acme.example.com</i> as one of the alternate domain names. For more
|
|
* information, see <a
|
|
* href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html">Using
|
|
* Alternate Domain Names (CNAMEs)</a> in the <i>Amazon CloudFront Developer
|
|
* Guide</i>.</p> <p>You can't create a resource record set in a private hosted
|
|
* zone to route traffic to a CloudFront distribution.</p> <p>For failover
|
|
* alias records, you can't specify a CloudFront distribution for both the primary
|
|
* and secondary records. A distribution must include an alternate domain name that
|
|
* matches the name of the record. However, the primary and secondary records have
|
|
* the same name, and you can't include the same alternate domain name in more than
|
|
* one distribution. </p> </dd> <dt>Elastic Beanstalk environment</dt> <dd>
|
|
* <p>If the domain name for your Elastic Beanstalk environment includes the region
|
|
* that you deployed the environment in, you can create an alias record that routes
|
|
* traffic to the environment. For example, the domain name
|
|
* <code>my-environment.<i>us-west-2</i>.elasticbeanstalk.com</code> is a
|
|
* regionalized domain name. </p> <p>For environments that were created
|
|
* before early 2016, the domain name doesn't include the region. To route traffic
|
|
* to these environments, you must create a CNAME record instead of an alias
|
|
* record. Note that you can't create a CNAME record for the root domain name. For
|
|
* example, if your domain name is example.com, you can create a record that routes
|
|
* traffic for acme.example.com to your Elastic Beanstalk environment, but you
|
|
* can't create a record that routes traffic for example.com to your Elastic
|
|
* Beanstalk environment.</p> <p>For Elastic Beanstalk environments
|
|
* that have regionalized subdomains, specify the <code>CNAME</code> attribute for
|
|
* the environment. You can use the following methods to get the value of the CNAME
|
|
* attribute:</p> <ul> <li> <p> <i>AWS Management Console</i>: For information
|
|
* about how to get the value by using the console, see <a
|
|
* href="https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customdomains.html">Using
|
|
* Custom Domains with AWS Elastic Beanstalk</a> in the <i>AWS Elastic Beanstalk
|
|
* Developer Guide</i>.</p> </li> <li> <p> <i>Elastic Beanstalk API</i>: Use the
|
|
* <code>DescribeEnvironments</code> action to get the value of the
|
|
* <code>CNAME</code> attribute. For more information, see <a
|
|
* href="https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_DescribeEnvironments.html">DescribeEnvironments</a>
|
|
* in the <i>AWS Elastic Beanstalk API Reference</i>.</p> </li> <li> <p> <i>AWS
|
|
* CLI</i>: Use the <code>describe-environments</code> command to get the value of
|
|
* the <code>CNAME</code> attribute. For more information, see <a
|
|
* href="https://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/describe-environments.html">describe-environments</a>
|
|
* in the <i>AWS CLI Command Reference</i>.</p> </li> </ul> </dd> <dt>ELB load
|
|
* balancer</dt> <dd> <p>Specify the DNS name that is associated with the load
|
|
* balancer. Get the DNS name by using the AWS Management Console, the ELB API, or
|
|
* the AWS CLI. </p> <ul> <li> <p> <b>AWS Management Console</b>: Go to the EC2
|
|
* page, choose <b>Load Balancers</b> in the navigation pane, choose the load
|
|
* balancer, choose the <b>Description</b> tab, and get the value of the <b>DNS
|
|
* name</b> field. </p> <p>If you're routing traffic to a Classic Load Balancer,
|
|
* get the value that begins with <b>dualstack</b>. If you're routing traffic to
|
|
* another type of load balancer, get the value that applies to the record type, A
|
|
* or AAAA.</p> </li> <li> <p> <b>Elastic Load Balancing API</b>: Use
|
|
* <code>DescribeLoadBalancers</code> to get the value of <code>DNSName</code>. For
|
|
* more information, see the applicable guide:</p> <ul> <li> <p>Classic Load
|
|
* Balancers: <a
|
|
* href="https://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html">DescribeLoadBalancers</a>
|
|
* </p> </li> <li> <p>Application and Network Load Balancers: <a
|
|
* href="https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html">DescribeLoadBalancers</a>
|
|
* </p> </li> </ul> </li> <li> <p> <b>AWS CLI</b>: Use
|
|
* <code>describe-load-balancers</code> to get the value of <code>DNSName</code>.
|
|
* For more information, see the applicable guide:</p> <ul> <li> <p>Classic Load
|
|
* Balancers: <a
|
|
* href="http://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html">describe-load-balancers</a>
|
|
* </p> </li> <li> <p>Application and Network Load Balancers: <a
|
|
* href="http://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-load-balancers.html">describe-load-balancers</a>
|
|
* </p> </li> </ul> </li> </ul> </dd> <dt>AWS Global Accelerator accelerator</dt>
|
|
* <dd> <p>Specify the DNS name for your accelerator:</p> <ul> <li> <p> <b>Global
|
|
* Accelerator API:</b> To get the DNS name, use <a
|
|
* href="https://docs.aws.amazon.com/global-accelerator/latest/api/API_DescribeAccelerator.html">DescribeAccelerator</a>.</p>
|
|
* </li> <li> <p> <b>AWS CLI:</b> To get the DNS name, use <a
|
|
* href="https://docs.aws.amazon.com/cli/latest/reference/globalaccelerator/describe-accelerator.html">describe-accelerator</a>.</p>
|
|
* </li> </ul> </dd> <dt>Amazon S3 bucket that is configured as a static
|
|
* website</dt> <dd> <p>Specify the domain name of the Amazon S3 website endpoint
|
|
* that you created the bucket in, for example,
|
|
* <code>s3-website.us-east-2.amazonaws.com</code>. For more information about
|
|
* valid values, see the table <a
|
|
* href="https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints">Amazon
|
|
* S3 Website Endpoints</a> in the <i>Amazon Web Services General Reference</i>.
|
|
* For more information about using S3 buckets for websites, see <a
|
|
* href="https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/getting-started.html">Getting
|
|
* Started with Amazon Route 53</a> in the <i>Amazon Route 53 Developer Guide.</i>
|
|
* </p> </dd> <dt>Another Route 53 resource record set</dt> <dd> <p>Specify the
|
|
* value of the <code>Name</code> element for a resource record set in the current
|
|
* hosted zone.</p> <p>If you're creating an alias record that has the same
|
|
* name as the hosted zone (known as the zone apex), you can't specify the domain
|
|
* name for a record for which the value of <code>Type</code> is
|
|
* <code>CNAME</code>. This is because the alias record must have the same type as
|
|
* the record that you're routing traffic to, and creating a CNAME record for the
|
|
* zone apex isn't supported even for an alias record.</p> </dd> </dl>
|
|
*/
|
|
inline bool DNSNameHasBeenSet() const { return m_dNSNameHasBeenSet; }
|
|
|
|
/**
|
|
* <p> <i>Alias resource record sets only:</i> The value that you specify depends
|
|
* on where you want to route queries:</p> <dl> <dt>Amazon API Gateway custom
|
|
* regional APIs and edge-optimized APIs</dt> <dd> <p>Specify the applicable domain
|
|
* name for your API. You can get the applicable value using the AWS CLI command <a
|
|
* href="https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-domain-names.html">get-domain-names</a>:</p>
|
|
* <ul> <li> <p>For regional APIs, specify the value of
|
|
* <code>regionalDomainName</code>.</p> </li> <li> <p>For edge-optimized APIs,
|
|
* specify the value of <code>distributionDomainName</code>. This is the name of
|
|
* the associated CloudFront distribution, such as
|
|
* <code>da1b2c3d4e5.cloudfront.net</code>.</p> </li> </ul> <p>The name of
|
|
* the record that you're creating must match a custom domain name for your API,
|
|
* such as <code>api.example.com</code>.</p> </dd> <dt>Amazon Virtual
|
|
* Private Cloud interface VPC endpoint</dt> <dd> <p>Enter the API endpoint for the
|
|
* interface endpoint, such as
|
|
* <code>vpce-123456789abcdef01-example-us-east-1a.elasticloadbalancing.us-east-1.vpce.amazonaws.com</code>.
|
|
* For edge-optimized APIs, this is the domain name for the corresponding
|
|
* CloudFront distribution. You can get the value of <code>DnsName</code> using the
|
|
* AWS CLI command <a
|
|
* href="https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html">describe-vpc-endpoints</a>.</p>
|
|
* </dd> <dt>CloudFront distribution</dt> <dd> <p>Specify the domain name that
|
|
* CloudFront assigned when you created your distribution.</p> <p>Your CloudFront
|
|
* distribution must include an alternate domain name that matches the name of the
|
|
* resource record set. For example, if the name of the resource record set is
|
|
* <i>acme.example.com</i>, your CloudFront distribution must include
|
|
* <i>acme.example.com</i> as one of the alternate domain names. For more
|
|
* information, see <a
|
|
* href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html">Using
|
|
* Alternate Domain Names (CNAMEs)</a> in the <i>Amazon CloudFront Developer
|
|
* Guide</i>.</p> <p>You can't create a resource record set in a private hosted
|
|
* zone to route traffic to a CloudFront distribution.</p> <p>For failover
|
|
* alias records, you can't specify a CloudFront distribution for both the primary
|
|
* and secondary records. A distribution must include an alternate domain name that
|
|
* matches the name of the record. However, the primary and secondary records have
|
|
* the same name, and you can't include the same alternate domain name in more than
|
|
* one distribution. </p> </dd> <dt>Elastic Beanstalk environment</dt> <dd>
|
|
* <p>If the domain name for your Elastic Beanstalk environment includes the region
|
|
* that you deployed the environment in, you can create an alias record that routes
|
|
* traffic to the environment. For example, the domain name
|
|
* <code>my-environment.<i>us-west-2</i>.elasticbeanstalk.com</code> is a
|
|
* regionalized domain name. </p> <p>For environments that were created
|
|
* before early 2016, the domain name doesn't include the region. To route traffic
|
|
* to these environments, you must create a CNAME record instead of an alias
|
|
* record. Note that you can't create a CNAME record for the root domain name. For
|
|
* example, if your domain name is example.com, you can create a record that routes
|
|
* traffic for acme.example.com to your Elastic Beanstalk environment, but you
|
|
* can't create a record that routes traffic for example.com to your Elastic
|
|
* Beanstalk environment.</p> <p>For Elastic Beanstalk environments
|
|
* that have regionalized subdomains, specify the <code>CNAME</code> attribute for
|
|
* the environment. You can use the following methods to get the value of the CNAME
|
|
* attribute:</p> <ul> <li> <p> <i>AWS Management Console</i>: For information
|
|
* about how to get the value by using the console, see <a
|
|
* href="https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customdomains.html">Using
|
|
* Custom Domains with AWS Elastic Beanstalk</a> in the <i>AWS Elastic Beanstalk
|
|
* Developer Guide</i>.</p> </li> <li> <p> <i>Elastic Beanstalk API</i>: Use the
|
|
* <code>DescribeEnvironments</code> action to get the value of the
|
|
* <code>CNAME</code> attribute. For more information, see <a
|
|
* href="https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_DescribeEnvironments.html">DescribeEnvironments</a>
|
|
* in the <i>AWS Elastic Beanstalk API Reference</i>.</p> </li> <li> <p> <i>AWS
|
|
* CLI</i>: Use the <code>describe-environments</code> command to get the value of
|
|
* the <code>CNAME</code> attribute. For more information, see <a
|
|
* href="https://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/describe-environments.html">describe-environments</a>
|
|
* in the <i>AWS CLI Command Reference</i>.</p> </li> </ul> </dd> <dt>ELB load
|
|
* balancer</dt> <dd> <p>Specify the DNS name that is associated with the load
|
|
* balancer. Get the DNS name by using the AWS Management Console, the ELB API, or
|
|
* the AWS CLI. </p> <ul> <li> <p> <b>AWS Management Console</b>: Go to the EC2
|
|
* page, choose <b>Load Balancers</b> in the navigation pane, choose the load
|
|
* balancer, choose the <b>Description</b> tab, and get the value of the <b>DNS
|
|
* name</b> field. </p> <p>If you're routing traffic to a Classic Load Balancer,
|
|
* get the value that begins with <b>dualstack</b>. If you're routing traffic to
|
|
* another type of load balancer, get the value that applies to the record type, A
|
|
* or AAAA.</p> </li> <li> <p> <b>Elastic Load Balancing API</b>: Use
|
|
* <code>DescribeLoadBalancers</code> to get the value of <code>DNSName</code>. For
|
|
* more information, see the applicable guide:</p> <ul> <li> <p>Classic Load
|
|
* Balancers: <a
|
|
* href="https://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html">DescribeLoadBalancers</a>
|
|
* </p> </li> <li> <p>Application and Network Load Balancers: <a
|
|
* href="https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html">DescribeLoadBalancers</a>
|
|
* </p> </li> </ul> </li> <li> <p> <b>AWS CLI</b>: Use
|
|
* <code>describe-load-balancers</code> to get the value of <code>DNSName</code>.
|
|
* For more information, see the applicable guide:</p> <ul> <li> <p>Classic Load
|
|
* Balancers: <a
|
|
* href="http://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html">describe-load-balancers</a>
|
|
* </p> </li> <li> <p>Application and Network Load Balancers: <a
|
|
* href="http://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-load-balancers.html">describe-load-balancers</a>
|
|
* </p> </li> </ul> </li> </ul> </dd> <dt>AWS Global Accelerator accelerator</dt>
|
|
* <dd> <p>Specify the DNS name for your accelerator:</p> <ul> <li> <p> <b>Global
|
|
* Accelerator API:</b> To get the DNS name, use <a
|
|
* href="https://docs.aws.amazon.com/global-accelerator/latest/api/API_DescribeAccelerator.html">DescribeAccelerator</a>.</p>
|
|
* </li> <li> <p> <b>AWS CLI:</b> To get the DNS name, use <a
|
|
* href="https://docs.aws.amazon.com/cli/latest/reference/globalaccelerator/describe-accelerator.html">describe-accelerator</a>.</p>
|
|
* </li> </ul> </dd> <dt>Amazon S3 bucket that is configured as a static
|
|
* website</dt> <dd> <p>Specify the domain name of the Amazon S3 website endpoint
|
|
* that you created the bucket in, for example,
|
|
* <code>s3-website.us-east-2.amazonaws.com</code>. For more information about
|
|
* valid values, see the table <a
|
|
* href="https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints">Amazon
|
|
* S3 Website Endpoints</a> in the <i>Amazon Web Services General Reference</i>.
|
|
* For more information about using S3 buckets for websites, see <a
|
|
* href="https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/getting-started.html">Getting
|
|
* Started with Amazon Route 53</a> in the <i>Amazon Route 53 Developer Guide.</i>
|
|
* </p> </dd> <dt>Another Route 53 resource record set</dt> <dd> <p>Specify the
|
|
* value of the <code>Name</code> element for a resource record set in the current
|
|
* hosted zone.</p> <p>If you're creating an alias record that has the same
|
|
* name as the hosted zone (known as the zone apex), you can't specify the domain
|
|
* name for a record for which the value of <code>Type</code> is
|
|
* <code>CNAME</code>. This is because the alias record must have the same type as
|
|
* the record that you're routing traffic to, and creating a CNAME record for the
|
|
* zone apex isn't supported even for an alias record.</p> </dd> </dl>
|
|
*/
|
|
inline void SetDNSName(const Aws::String& value) { m_dNSNameHasBeenSet = true; m_dNSName = value; }
|
|
|
|
/**
|
|
* <p> <i>Alias resource record sets only:</i> The value that you specify depends
|
|
* on where you want to route queries:</p> <dl> <dt>Amazon API Gateway custom
|
|
* regional APIs and edge-optimized APIs</dt> <dd> <p>Specify the applicable domain
|
|
* name for your API. You can get the applicable value using the AWS CLI command <a
|
|
* href="https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-domain-names.html">get-domain-names</a>:</p>
|
|
* <ul> <li> <p>For regional APIs, specify the value of
|
|
* <code>regionalDomainName</code>.</p> </li> <li> <p>For edge-optimized APIs,
|
|
* specify the value of <code>distributionDomainName</code>. This is the name of
|
|
* the associated CloudFront distribution, such as
|
|
* <code>da1b2c3d4e5.cloudfront.net</code>.</p> </li> </ul> <p>The name of
|
|
* the record that you're creating must match a custom domain name for your API,
|
|
* such as <code>api.example.com</code>.</p> </dd> <dt>Amazon Virtual
|
|
* Private Cloud interface VPC endpoint</dt> <dd> <p>Enter the API endpoint for the
|
|
* interface endpoint, such as
|
|
* <code>vpce-123456789abcdef01-example-us-east-1a.elasticloadbalancing.us-east-1.vpce.amazonaws.com</code>.
|
|
* For edge-optimized APIs, this is the domain name for the corresponding
|
|
* CloudFront distribution. You can get the value of <code>DnsName</code> using the
|
|
* AWS CLI command <a
|
|
* href="https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html">describe-vpc-endpoints</a>.</p>
|
|
* </dd> <dt>CloudFront distribution</dt> <dd> <p>Specify the domain name that
|
|
* CloudFront assigned when you created your distribution.</p> <p>Your CloudFront
|
|
* distribution must include an alternate domain name that matches the name of the
|
|
* resource record set. For example, if the name of the resource record set is
|
|
* <i>acme.example.com</i>, your CloudFront distribution must include
|
|
* <i>acme.example.com</i> as one of the alternate domain names. For more
|
|
* information, see <a
|
|
* href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html">Using
|
|
* Alternate Domain Names (CNAMEs)</a> in the <i>Amazon CloudFront Developer
|
|
* Guide</i>.</p> <p>You can't create a resource record set in a private hosted
|
|
* zone to route traffic to a CloudFront distribution.</p> <p>For failover
|
|
* alias records, you can't specify a CloudFront distribution for both the primary
|
|
* and secondary records. A distribution must include an alternate domain name that
|
|
* matches the name of the record. However, the primary and secondary records have
|
|
* the same name, and you can't include the same alternate domain name in more than
|
|
* one distribution. </p> </dd> <dt>Elastic Beanstalk environment</dt> <dd>
|
|
* <p>If the domain name for your Elastic Beanstalk environment includes the region
|
|
* that you deployed the environment in, you can create an alias record that routes
|
|
* traffic to the environment. For example, the domain name
|
|
* <code>my-environment.<i>us-west-2</i>.elasticbeanstalk.com</code> is a
|
|
* regionalized domain name. </p> <p>For environments that were created
|
|
* before early 2016, the domain name doesn't include the region. To route traffic
|
|
* to these environments, you must create a CNAME record instead of an alias
|
|
* record. Note that you can't create a CNAME record for the root domain name. For
|
|
* example, if your domain name is example.com, you can create a record that routes
|
|
* traffic for acme.example.com to your Elastic Beanstalk environment, but you
|
|
* can't create a record that routes traffic for example.com to your Elastic
|
|
* Beanstalk environment.</p> <p>For Elastic Beanstalk environments
|
|
* that have regionalized subdomains, specify the <code>CNAME</code> attribute for
|
|
* the environment. You can use the following methods to get the value of the CNAME
|
|
* attribute:</p> <ul> <li> <p> <i>AWS Management Console</i>: For information
|
|
* about how to get the value by using the console, see <a
|
|
* href="https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customdomains.html">Using
|
|
* Custom Domains with AWS Elastic Beanstalk</a> in the <i>AWS Elastic Beanstalk
|
|
* Developer Guide</i>.</p> </li> <li> <p> <i>Elastic Beanstalk API</i>: Use the
|
|
* <code>DescribeEnvironments</code> action to get the value of the
|
|
* <code>CNAME</code> attribute. For more information, see <a
|
|
* href="https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_DescribeEnvironments.html">DescribeEnvironments</a>
|
|
* in the <i>AWS Elastic Beanstalk API Reference</i>.</p> </li> <li> <p> <i>AWS
|
|
* CLI</i>: Use the <code>describe-environments</code> command to get the value of
|
|
* the <code>CNAME</code> attribute. For more information, see <a
|
|
* href="https://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/describe-environments.html">describe-environments</a>
|
|
* in the <i>AWS CLI Command Reference</i>.</p> </li> </ul> </dd> <dt>ELB load
|
|
* balancer</dt> <dd> <p>Specify the DNS name that is associated with the load
|
|
* balancer. Get the DNS name by using the AWS Management Console, the ELB API, or
|
|
* the AWS CLI. </p> <ul> <li> <p> <b>AWS Management Console</b>: Go to the EC2
|
|
* page, choose <b>Load Balancers</b> in the navigation pane, choose the load
|
|
* balancer, choose the <b>Description</b> tab, and get the value of the <b>DNS
|
|
* name</b> field. </p> <p>If you're routing traffic to a Classic Load Balancer,
|
|
* get the value that begins with <b>dualstack</b>. If you're routing traffic to
|
|
* another type of load balancer, get the value that applies to the record type, A
|
|
* or AAAA.</p> </li> <li> <p> <b>Elastic Load Balancing API</b>: Use
|
|
* <code>DescribeLoadBalancers</code> to get the value of <code>DNSName</code>. For
|
|
* more information, see the applicable guide:</p> <ul> <li> <p>Classic Load
|
|
* Balancers: <a
|
|
* href="https://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html">DescribeLoadBalancers</a>
|
|
* </p> </li> <li> <p>Application and Network Load Balancers: <a
|
|
* href="https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html">DescribeLoadBalancers</a>
|
|
* </p> </li> </ul> </li> <li> <p> <b>AWS CLI</b>: Use
|
|
* <code>describe-load-balancers</code> to get the value of <code>DNSName</code>.
|
|
* For more information, see the applicable guide:</p> <ul> <li> <p>Classic Load
|
|
* Balancers: <a
|
|
* href="http://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html">describe-load-balancers</a>
|
|
* </p> </li> <li> <p>Application and Network Load Balancers: <a
|
|
* href="http://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-load-balancers.html">describe-load-balancers</a>
|
|
* </p> </li> </ul> </li> </ul> </dd> <dt>AWS Global Accelerator accelerator</dt>
|
|
* <dd> <p>Specify the DNS name for your accelerator:</p> <ul> <li> <p> <b>Global
|
|
* Accelerator API:</b> To get the DNS name, use <a
|
|
* href="https://docs.aws.amazon.com/global-accelerator/latest/api/API_DescribeAccelerator.html">DescribeAccelerator</a>.</p>
|
|
* </li> <li> <p> <b>AWS CLI:</b> To get the DNS name, use <a
|
|
* href="https://docs.aws.amazon.com/cli/latest/reference/globalaccelerator/describe-accelerator.html">describe-accelerator</a>.</p>
|
|
* </li> </ul> </dd> <dt>Amazon S3 bucket that is configured as a static
|
|
* website</dt> <dd> <p>Specify the domain name of the Amazon S3 website endpoint
|
|
* that you created the bucket in, for example,
|
|
* <code>s3-website.us-east-2.amazonaws.com</code>. For more information about
|
|
* valid values, see the table <a
|
|
* href="https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints">Amazon
|
|
* S3 Website Endpoints</a> in the <i>Amazon Web Services General Reference</i>.
|
|
* For more information about using S3 buckets for websites, see <a
|
|
* href="https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/getting-started.html">Getting
|
|
* Started with Amazon Route 53</a> in the <i>Amazon Route 53 Developer Guide.</i>
|
|
* </p> </dd> <dt>Another Route 53 resource record set</dt> <dd> <p>Specify the
|
|
* value of the <code>Name</code> element for a resource record set in the current
|
|
* hosted zone.</p> <p>If you're creating an alias record that has the same
|
|
* name as the hosted zone (known as the zone apex), you can't specify the domain
|
|
* name for a record for which the value of <code>Type</code> is
|
|
* <code>CNAME</code>. This is because the alias record must have the same type as
|
|
* the record that you're routing traffic to, and creating a CNAME record for the
|
|
* zone apex isn't supported even for an alias record.</p> </dd> </dl>
|
|
*/
|
|
inline void SetDNSName(Aws::String&& value) { m_dNSNameHasBeenSet = true; m_dNSName = std::move(value); }
|
|
|
|
/**
|
|
* <p> <i>Alias resource record sets only:</i> The value that you specify depends
|
|
* on where you want to route queries:</p> <dl> <dt>Amazon API Gateway custom
|
|
* regional APIs and edge-optimized APIs</dt> <dd> <p>Specify the applicable domain
|
|
* name for your API. You can get the applicable value using the AWS CLI command <a
|
|
* href="https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-domain-names.html">get-domain-names</a>:</p>
|
|
* <ul> <li> <p>For regional APIs, specify the value of
|
|
* <code>regionalDomainName</code>.</p> </li> <li> <p>For edge-optimized APIs,
|
|
* specify the value of <code>distributionDomainName</code>. This is the name of
|
|
* the associated CloudFront distribution, such as
|
|
* <code>da1b2c3d4e5.cloudfront.net</code>.</p> </li> </ul> <p>The name of
|
|
* the record that you're creating must match a custom domain name for your API,
|
|
* such as <code>api.example.com</code>.</p> </dd> <dt>Amazon Virtual
|
|
* Private Cloud interface VPC endpoint</dt> <dd> <p>Enter the API endpoint for the
|
|
* interface endpoint, such as
|
|
* <code>vpce-123456789abcdef01-example-us-east-1a.elasticloadbalancing.us-east-1.vpce.amazonaws.com</code>.
|
|
* For edge-optimized APIs, this is the domain name for the corresponding
|
|
* CloudFront distribution. You can get the value of <code>DnsName</code> using the
|
|
* AWS CLI command <a
|
|
* href="https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html">describe-vpc-endpoints</a>.</p>
|
|
* </dd> <dt>CloudFront distribution</dt> <dd> <p>Specify the domain name that
|
|
* CloudFront assigned when you created your distribution.</p> <p>Your CloudFront
|
|
* distribution must include an alternate domain name that matches the name of the
|
|
* resource record set. For example, if the name of the resource record set is
|
|
* <i>acme.example.com</i>, your CloudFront distribution must include
|
|
* <i>acme.example.com</i> as one of the alternate domain names. For more
|
|
* information, see <a
|
|
* href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html">Using
|
|
* Alternate Domain Names (CNAMEs)</a> in the <i>Amazon CloudFront Developer
|
|
* Guide</i>.</p> <p>You can't create a resource record set in a private hosted
|
|
* zone to route traffic to a CloudFront distribution.</p> <p>For failover
|
|
* alias records, you can't specify a CloudFront distribution for both the primary
|
|
* and secondary records. A distribution must include an alternate domain name that
|
|
* matches the name of the record. However, the primary and secondary records have
|
|
* the same name, and you can't include the same alternate domain name in more than
|
|
* one distribution. </p> </dd> <dt>Elastic Beanstalk environment</dt> <dd>
|
|
* <p>If the domain name for your Elastic Beanstalk environment includes the region
|
|
* that you deployed the environment in, you can create an alias record that routes
|
|
* traffic to the environment. For example, the domain name
|
|
* <code>my-environment.<i>us-west-2</i>.elasticbeanstalk.com</code> is a
|
|
* regionalized domain name. </p> <p>For environments that were created
|
|
* before early 2016, the domain name doesn't include the region. To route traffic
|
|
* to these environments, you must create a CNAME record instead of an alias
|
|
* record. Note that you can't create a CNAME record for the root domain name. For
|
|
* example, if your domain name is example.com, you can create a record that routes
|
|
* traffic for acme.example.com to your Elastic Beanstalk environment, but you
|
|
* can't create a record that routes traffic for example.com to your Elastic
|
|
* Beanstalk environment.</p> <p>For Elastic Beanstalk environments
|
|
* that have regionalized subdomains, specify the <code>CNAME</code> attribute for
|
|
* the environment. You can use the following methods to get the value of the CNAME
|
|
* attribute:</p> <ul> <li> <p> <i>AWS Management Console</i>: For information
|
|
* about how to get the value by using the console, see <a
|
|
* href="https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customdomains.html">Using
|
|
* Custom Domains with AWS Elastic Beanstalk</a> in the <i>AWS Elastic Beanstalk
|
|
* Developer Guide</i>.</p> </li> <li> <p> <i>Elastic Beanstalk API</i>: Use the
|
|
* <code>DescribeEnvironments</code> action to get the value of the
|
|
* <code>CNAME</code> attribute. For more information, see <a
|
|
* href="https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_DescribeEnvironments.html">DescribeEnvironments</a>
|
|
* in the <i>AWS Elastic Beanstalk API Reference</i>.</p> </li> <li> <p> <i>AWS
|
|
* CLI</i>: Use the <code>describe-environments</code> command to get the value of
|
|
* the <code>CNAME</code> attribute. For more information, see <a
|
|
* href="https://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/describe-environments.html">describe-environments</a>
|
|
* in the <i>AWS CLI Command Reference</i>.</p> </li> </ul> </dd> <dt>ELB load
|
|
* balancer</dt> <dd> <p>Specify the DNS name that is associated with the load
|
|
* balancer. Get the DNS name by using the AWS Management Console, the ELB API, or
|
|
* the AWS CLI. </p> <ul> <li> <p> <b>AWS Management Console</b>: Go to the EC2
|
|
* page, choose <b>Load Balancers</b> in the navigation pane, choose the load
|
|
* balancer, choose the <b>Description</b> tab, and get the value of the <b>DNS
|
|
* name</b> field. </p> <p>If you're routing traffic to a Classic Load Balancer,
|
|
* get the value that begins with <b>dualstack</b>. If you're routing traffic to
|
|
* another type of load balancer, get the value that applies to the record type, A
|
|
* or AAAA.</p> </li> <li> <p> <b>Elastic Load Balancing API</b>: Use
|
|
* <code>DescribeLoadBalancers</code> to get the value of <code>DNSName</code>. For
|
|
* more information, see the applicable guide:</p> <ul> <li> <p>Classic Load
|
|
* Balancers: <a
|
|
* href="https://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html">DescribeLoadBalancers</a>
|
|
* </p> </li> <li> <p>Application and Network Load Balancers: <a
|
|
* href="https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html">DescribeLoadBalancers</a>
|
|
* </p> </li> </ul> </li> <li> <p> <b>AWS CLI</b>: Use
|
|
* <code>describe-load-balancers</code> to get the value of <code>DNSName</code>.
|
|
* For more information, see the applicable guide:</p> <ul> <li> <p>Classic Load
|
|
* Balancers: <a
|
|
* href="http://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html">describe-load-balancers</a>
|
|
* </p> </li> <li> <p>Application and Network Load Balancers: <a
|
|
* href="http://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-load-balancers.html">describe-load-balancers</a>
|
|
* </p> </li> </ul> </li> </ul> </dd> <dt>AWS Global Accelerator accelerator</dt>
|
|
* <dd> <p>Specify the DNS name for your accelerator:</p> <ul> <li> <p> <b>Global
|
|
* Accelerator API:</b> To get the DNS name, use <a
|
|
* href="https://docs.aws.amazon.com/global-accelerator/latest/api/API_DescribeAccelerator.html">DescribeAccelerator</a>.</p>
|
|
* </li> <li> <p> <b>AWS CLI:</b> To get the DNS name, use <a
|
|
* href="https://docs.aws.amazon.com/cli/latest/reference/globalaccelerator/describe-accelerator.html">describe-accelerator</a>.</p>
|
|
* </li> </ul> </dd> <dt>Amazon S3 bucket that is configured as a static
|
|
* website</dt> <dd> <p>Specify the domain name of the Amazon S3 website endpoint
|
|
* that you created the bucket in, for example,
|
|
* <code>s3-website.us-east-2.amazonaws.com</code>. For more information about
|
|
* valid values, see the table <a
|
|
* href="https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints">Amazon
|
|
* S3 Website Endpoints</a> in the <i>Amazon Web Services General Reference</i>.
|
|
* For more information about using S3 buckets for websites, see <a
|
|
* href="https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/getting-started.html">Getting
|
|
* Started with Amazon Route 53</a> in the <i>Amazon Route 53 Developer Guide.</i>
|
|
* </p> </dd> <dt>Another Route 53 resource record set</dt> <dd> <p>Specify the
|
|
* value of the <code>Name</code> element for a resource record set in the current
|
|
* hosted zone.</p> <p>If you're creating an alias record that has the same
|
|
* name as the hosted zone (known as the zone apex), you can't specify the domain
|
|
* name for a record for which the value of <code>Type</code> is
|
|
* <code>CNAME</code>. This is because the alias record must have the same type as
|
|
* the record that you're routing traffic to, and creating a CNAME record for the
|
|
* zone apex isn't supported even for an alias record.</p> </dd> </dl>
|
|
*/
|
|
inline void SetDNSName(const char* value) { m_dNSNameHasBeenSet = true; m_dNSName.assign(value); }
|
|
|
|
/**
|
|
* <p> <i>Alias resource record sets only:</i> The value that you specify depends
|
|
* on where you want to route queries:</p> <dl> <dt>Amazon API Gateway custom
|
|
* regional APIs and edge-optimized APIs</dt> <dd> <p>Specify the applicable domain
|
|
* name for your API. You can get the applicable value using the AWS CLI command <a
|
|
* href="https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-domain-names.html">get-domain-names</a>:</p>
|
|
* <ul> <li> <p>For regional APIs, specify the value of
|
|
* <code>regionalDomainName</code>.</p> </li> <li> <p>For edge-optimized APIs,
|
|
* specify the value of <code>distributionDomainName</code>. This is the name of
|
|
* the associated CloudFront distribution, such as
|
|
* <code>da1b2c3d4e5.cloudfront.net</code>.</p> </li> </ul> <p>The name of
|
|
* the record that you're creating must match a custom domain name for your API,
|
|
* such as <code>api.example.com</code>.</p> </dd> <dt>Amazon Virtual
|
|
* Private Cloud interface VPC endpoint</dt> <dd> <p>Enter the API endpoint for the
|
|
* interface endpoint, such as
|
|
* <code>vpce-123456789abcdef01-example-us-east-1a.elasticloadbalancing.us-east-1.vpce.amazonaws.com</code>.
|
|
* For edge-optimized APIs, this is the domain name for the corresponding
|
|
* CloudFront distribution. You can get the value of <code>DnsName</code> using the
|
|
* AWS CLI command <a
|
|
* href="https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html">describe-vpc-endpoints</a>.</p>
|
|
* </dd> <dt>CloudFront distribution</dt> <dd> <p>Specify the domain name that
|
|
* CloudFront assigned when you created your distribution.</p> <p>Your CloudFront
|
|
* distribution must include an alternate domain name that matches the name of the
|
|
* resource record set. For example, if the name of the resource record set is
|
|
* <i>acme.example.com</i>, your CloudFront distribution must include
|
|
* <i>acme.example.com</i> as one of the alternate domain names. For more
|
|
* information, see <a
|
|
* href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html">Using
|
|
* Alternate Domain Names (CNAMEs)</a> in the <i>Amazon CloudFront Developer
|
|
* Guide</i>.</p> <p>You can't create a resource record set in a private hosted
|
|
* zone to route traffic to a CloudFront distribution.</p> <p>For failover
|
|
* alias records, you can't specify a CloudFront distribution for both the primary
|
|
* and secondary records. A distribution must include an alternate domain name that
|
|
* matches the name of the record. However, the primary and secondary records have
|
|
* the same name, and you can't include the same alternate domain name in more than
|
|
* one distribution. </p> </dd> <dt>Elastic Beanstalk environment</dt> <dd>
|
|
* <p>If the domain name for your Elastic Beanstalk environment includes the region
|
|
* that you deployed the environment in, you can create an alias record that routes
|
|
* traffic to the environment. For example, the domain name
|
|
* <code>my-environment.<i>us-west-2</i>.elasticbeanstalk.com</code> is a
|
|
* regionalized domain name. </p> <p>For environments that were created
|
|
* before early 2016, the domain name doesn't include the region. To route traffic
|
|
* to these environments, you must create a CNAME record instead of an alias
|
|
* record. Note that you can't create a CNAME record for the root domain name. For
|
|
* example, if your domain name is example.com, you can create a record that routes
|
|
* traffic for acme.example.com to your Elastic Beanstalk environment, but you
|
|
* can't create a record that routes traffic for example.com to your Elastic
|
|
* Beanstalk environment.</p> <p>For Elastic Beanstalk environments
|
|
* that have regionalized subdomains, specify the <code>CNAME</code> attribute for
|
|
* the environment. You can use the following methods to get the value of the CNAME
|
|
* attribute:</p> <ul> <li> <p> <i>AWS Management Console</i>: For information
|
|
* about how to get the value by using the console, see <a
|
|
* href="https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customdomains.html">Using
|
|
* Custom Domains with AWS Elastic Beanstalk</a> in the <i>AWS Elastic Beanstalk
|
|
* Developer Guide</i>.</p> </li> <li> <p> <i>Elastic Beanstalk API</i>: Use the
|
|
* <code>DescribeEnvironments</code> action to get the value of the
|
|
* <code>CNAME</code> attribute. For more information, see <a
|
|
* href="https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_DescribeEnvironments.html">DescribeEnvironments</a>
|
|
* in the <i>AWS Elastic Beanstalk API Reference</i>.</p> </li> <li> <p> <i>AWS
|
|
* CLI</i>: Use the <code>describe-environments</code> command to get the value of
|
|
* the <code>CNAME</code> attribute. For more information, see <a
|
|
* href="https://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/describe-environments.html">describe-environments</a>
|
|
* in the <i>AWS CLI Command Reference</i>.</p> </li> </ul> </dd> <dt>ELB load
|
|
* balancer</dt> <dd> <p>Specify the DNS name that is associated with the load
|
|
* balancer. Get the DNS name by using the AWS Management Console, the ELB API, or
|
|
* the AWS CLI. </p> <ul> <li> <p> <b>AWS Management Console</b>: Go to the EC2
|
|
* page, choose <b>Load Balancers</b> in the navigation pane, choose the load
|
|
* balancer, choose the <b>Description</b> tab, and get the value of the <b>DNS
|
|
* name</b> field. </p> <p>If you're routing traffic to a Classic Load Balancer,
|
|
* get the value that begins with <b>dualstack</b>. If you're routing traffic to
|
|
* another type of load balancer, get the value that applies to the record type, A
|
|
* or AAAA.</p> </li> <li> <p> <b>Elastic Load Balancing API</b>: Use
|
|
* <code>DescribeLoadBalancers</code> to get the value of <code>DNSName</code>. For
|
|
* more information, see the applicable guide:</p> <ul> <li> <p>Classic Load
|
|
* Balancers: <a
|
|
* href="https://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html">DescribeLoadBalancers</a>
|
|
* </p> </li> <li> <p>Application and Network Load Balancers: <a
|
|
* href="https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html">DescribeLoadBalancers</a>
|
|
* </p> </li> </ul> </li> <li> <p> <b>AWS CLI</b>: Use
|
|
* <code>describe-load-balancers</code> to get the value of <code>DNSName</code>.
|
|
* For more information, see the applicable guide:</p> <ul> <li> <p>Classic Load
|
|
* Balancers: <a
|
|
* href="http://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html">describe-load-balancers</a>
|
|
* </p> </li> <li> <p>Application and Network Load Balancers: <a
|
|
* href="http://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-load-balancers.html">describe-load-balancers</a>
|
|
* </p> </li> </ul> </li> </ul> </dd> <dt>AWS Global Accelerator accelerator</dt>
|
|
* <dd> <p>Specify the DNS name for your accelerator:</p> <ul> <li> <p> <b>Global
|
|
* Accelerator API:</b> To get the DNS name, use <a
|
|
* href="https://docs.aws.amazon.com/global-accelerator/latest/api/API_DescribeAccelerator.html">DescribeAccelerator</a>.</p>
|
|
* </li> <li> <p> <b>AWS CLI:</b> To get the DNS name, use <a
|
|
* href="https://docs.aws.amazon.com/cli/latest/reference/globalaccelerator/describe-accelerator.html">describe-accelerator</a>.</p>
|
|
* </li> </ul> </dd> <dt>Amazon S3 bucket that is configured as a static
|
|
* website</dt> <dd> <p>Specify the domain name of the Amazon S3 website endpoint
|
|
* that you created the bucket in, for example,
|
|
* <code>s3-website.us-east-2.amazonaws.com</code>. For more information about
|
|
* valid values, see the table <a
|
|
* href="https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints">Amazon
|
|
* S3 Website Endpoints</a> in the <i>Amazon Web Services General Reference</i>.
|
|
* For more information about using S3 buckets for websites, see <a
|
|
* href="https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/getting-started.html">Getting
|
|
* Started with Amazon Route 53</a> in the <i>Amazon Route 53 Developer Guide.</i>
|
|
* </p> </dd> <dt>Another Route 53 resource record set</dt> <dd> <p>Specify the
|
|
* value of the <code>Name</code> element for a resource record set in the current
|
|
* hosted zone.</p> <p>If you're creating an alias record that has the same
|
|
* name as the hosted zone (known as the zone apex), you can't specify the domain
|
|
* name for a record for which the value of <code>Type</code> is
|
|
* <code>CNAME</code>. This is because the alias record must have the same type as
|
|
* the record that you're routing traffic to, and creating a CNAME record for the
|
|
* zone apex isn't supported even for an alias record.</p> </dd> </dl>
|
|
*/
|
|
inline AliasTarget& WithDNSName(const Aws::String& value) { SetDNSName(value); return *this;}
|
|
|
|
/**
|
|
* <p> <i>Alias resource record sets only:</i> The value that you specify depends
|
|
* on where you want to route queries:</p> <dl> <dt>Amazon API Gateway custom
|
|
* regional APIs and edge-optimized APIs</dt> <dd> <p>Specify the applicable domain
|
|
* name for your API. You can get the applicable value using the AWS CLI command <a
|
|
* href="https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-domain-names.html">get-domain-names</a>:</p>
|
|
* <ul> <li> <p>For regional APIs, specify the value of
|
|
* <code>regionalDomainName</code>.</p> </li> <li> <p>For edge-optimized APIs,
|
|
* specify the value of <code>distributionDomainName</code>. This is the name of
|
|
* the associated CloudFront distribution, such as
|
|
* <code>da1b2c3d4e5.cloudfront.net</code>.</p> </li> </ul> <p>The name of
|
|
* the record that you're creating must match a custom domain name for your API,
|
|
* such as <code>api.example.com</code>.</p> </dd> <dt>Amazon Virtual
|
|
* Private Cloud interface VPC endpoint</dt> <dd> <p>Enter the API endpoint for the
|
|
* interface endpoint, such as
|
|
* <code>vpce-123456789abcdef01-example-us-east-1a.elasticloadbalancing.us-east-1.vpce.amazonaws.com</code>.
|
|
* For edge-optimized APIs, this is the domain name for the corresponding
|
|
* CloudFront distribution. You can get the value of <code>DnsName</code> using the
|
|
* AWS CLI command <a
|
|
* href="https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html">describe-vpc-endpoints</a>.</p>
|
|
* </dd> <dt>CloudFront distribution</dt> <dd> <p>Specify the domain name that
|
|
* CloudFront assigned when you created your distribution.</p> <p>Your CloudFront
|
|
* distribution must include an alternate domain name that matches the name of the
|
|
* resource record set. For example, if the name of the resource record set is
|
|
* <i>acme.example.com</i>, your CloudFront distribution must include
|
|
* <i>acme.example.com</i> as one of the alternate domain names. For more
|
|
* information, see <a
|
|
* href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html">Using
|
|
* Alternate Domain Names (CNAMEs)</a> in the <i>Amazon CloudFront Developer
|
|
* Guide</i>.</p> <p>You can't create a resource record set in a private hosted
|
|
* zone to route traffic to a CloudFront distribution.</p> <p>For failover
|
|
* alias records, you can't specify a CloudFront distribution for both the primary
|
|
* and secondary records. A distribution must include an alternate domain name that
|
|
* matches the name of the record. However, the primary and secondary records have
|
|
* the same name, and you can't include the same alternate domain name in more than
|
|
* one distribution. </p> </dd> <dt>Elastic Beanstalk environment</dt> <dd>
|
|
* <p>If the domain name for your Elastic Beanstalk environment includes the region
|
|
* that you deployed the environment in, you can create an alias record that routes
|
|
* traffic to the environment. For example, the domain name
|
|
* <code>my-environment.<i>us-west-2</i>.elasticbeanstalk.com</code> is a
|
|
* regionalized domain name. </p> <p>For environments that were created
|
|
* before early 2016, the domain name doesn't include the region. To route traffic
|
|
* to these environments, you must create a CNAME record instead of an alias
|
|
* record. Note that you can't create a CNAME record for the root domain name. For
|
|
* example, if your domain name is example.com, you can create a record that routes
|
|
* traffic for acme.example.com to your Elastic Beanstalk environment, but you
|
|
* can't create a record that routes traffic for example.com to your Elastic
|
|
* Beanstalk environment.</p> <p>For Elastic Beanstalk environments
|
|
* that have regionalized subdomains, specify the <code>CNAME</code> attribute for
|
|
* the environment. You can use the following methods to get the value of the CNAME
|
|
* attribute:</p> <ul> <li> <p> <i>AWS Management Console</i>: For information
|
|
* about how to get the value by using the console, see <a
|
|
* href="https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customdomains.html">Using
|
|
* Custom Domains with AWS Elastic Beanstalk</a> in the <i>AWS Elastic Beanstalk
|
|
* Developer Guide</i>.</p> </li> <li> <p> <i>Elastic Beanstalk API</i>: Use the
|
|
* <code>DescribeEnvironments</code> action to get the value of the
|
|
* <code>CNAME</code> attribute. For more information, see <a
|
|
* href="https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_DescribeEnvironments.html">DescribeEnvironments</a>
|
|
* in the <i>AWS Elastic Beanstalk API Reference</i>.</p> </li> <li> <p> <i>AWS
|
|
* CLI</i>: Use the <code>describe-environments</code> command to get the value of
|
|
* the <code>CNAME</code> attribute. For more information, see <a
|
|
* href="https://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/describe-environments.html">describe-environments</a>
|
|
* in the <i>AWS CLI Command Reference</i>.</p> </li> </ul> </dd> <dt>ELB load
|
|
* balancer</dt> <dd> <p>Specify the DNS name that is associated with the load
|
|
* balancer. Get the DNS name by using the AWS Management Console, the ELB API, or
|
|
* the AWS CLI. </p> <ul> <li> <p> <b>AWS Management Console</b>: Go to the EC2
|
|
* page, choose <b>Load Balancers</b> in the navigation pane, choose the load
|
|
* balancer, choose the <b>Description</b> tab, and get the value of the <b>DNS
|
|
* name</b> field. </p> <p>If you're routing traffic to a Classic Load Balancer,
|
|
* get the value that begins with <b>dualstack</b>. If you're routing traffic to
|
|
* another type of load balancer, get the value that applies to the record type, A
|
|
* or AAAA.</p> </li> <li> <p> <b>Elastic Load Balancing API</b>: Use
|
|
* <code>DescribeLoadBalancers</code> to get the value of <code>DNSName</code>. For
|
|
* more information, see the applicable guide:</p> <ul> <li> <p>Classic Load
|
|
* Balancers: <a
|
|
* href="https://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html">DescribeLoadBalancers</a>
|
|
* </p> </li> <li> <p>Application and Network Load Balancers: <a
|
|
* href="https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html">DescribeLoadBalancers</a>
|
|
* </p> </li> </ul> </li> <li> <p> <b>AWS CLI</b>: Use
|
|
* <code>describe-load-balancers</code> to get the value of <code>DNSName</code>.
|
|
* For more information, see the applicable guide:</p> <ul> <li> <p>Classic Load
|
|
* Balancers: <a
|
|
* href="http://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html">describe-load-balancers</a>
|
|
* </p> </li> <li> <p>Application and Network Load Balancers: <a
|
|
* href="http://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-load-balancers.html">describe-load-balancers</a>
|
|
* </p> </li> </ul> </li> </ul> </dd> <dt>AWS Global Accelerator accelerator</dt>
|
|
* <dd> <p>Specify the DNS name for your accelerator:</p> <ul> <li> <p> <b>Global
|
|
* Accelerator API:</b> To get the DNS name, use <a
|
|
* href="https://docs.aws.amazon.com/global-accelerator/latest/api/API_DescribeAccelerator.html">DescribeAccelerator</a>.</p>
|
|
* </li> <li> <p> <b>AWS CLI:</b> To get the DNS name, use <a
|
|
* href="https://docs.aws.amazon.com/cli/latest/reference/globalaccelerator/describe-accelerator.html">describe-accelerator</a>.</p>
|
|
* </li> </ul> </dd> <dt>Amazon S3 bucket that is configured as a static
|
|
* website</dt> <dd> <p>Specify the domain name of the Amazon S3 website endpoint
|
|
* that you created the bucket in, for example,
|
|
* <code>s3-website.us-east-2.amazonaws.com</code>. For more information about
|
|
* valid values, see the table <a
|
|
* href="https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints">Amazon
|
|
* S3 Website Endpoints</a> in the <i>Amazon Web Services General Reference</i>.
|
|
* For more information about using S3 buckets for websites, see <a
|
|
* href="https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/getting-started.html">Getting
|
|
* Started with Amazon Route 53</a> in the <i>Amazon Route 53 Developer Guide.</i>
|
|
* </p> </dd> <dt>Another Route 53 resource record set</dt> <dd> <p>Specify the
|
|
* value of the <code>Name</code> element for a resource record set in the current
|
|
* hosted zone.</p> <p>If you're creating an alias record that has the same
|
|
* name as the hosted zone (known as the zone apex), you can't specify the domain
|
|
* name for a record for which the value of <code>Type</code> is
|
|
* <code>CNAME</code>. This is because the alias record must have the same type as
|
|
* the record that you're routing traffic to, and creating a CNAME record for the
|
|
* zone apex isn't supported even for an alias record.</p> </dd> </dl>
|
|
*/
|
|
inline AliasTarget& WithDNSName(Aws::String&& value) { SetDNSName(std::move(value)); return *this;}
|
|
|
|
/**
|
|
* <p> <i>Alias resource record sets only:</i> The value that you specify depends
|
|
* on where you want to route queries:</p> <dl> <dt>Amazon API Gateway custom
|
|
* regional APIs and edge-optimized APIs</dt> <dd> <p>Specify the applicable domain
|
|
* name for your API. You can get the applicable value using the AWS CLI command <a
|
|
* href="https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-domain-names.html">get-domain-names</a>:</p>
|
|
* <ul> <li> <p>For regional APIs, specify the value of
|
|
* <code>regionalDomainName</code>.</p> </li> <li> <p>For edge-optimized APIs,
|
|
* specify the value of <code>distributionDomainName</code>. This is the name of
|
|
* the associated CloudFront distribution, such as
|
|
* <code>da1b2c3d4e5.cloudfront.net</code>.</p> </li> </ul> <p>The name of
|
|
* the record that you're creating must match a custom domain name for your API,
|
|
* such as <code>api.example.com</code>.</p> </dd> <dt>Amazon Virtual
|
|
* Private Cloud interface VPC endpoint</dt> <dd> <p>Enter the API endpoint for the
|
|
* interface endpoint, such as
|
|
* <code>vpce-123456789abcdef01-example-us-east-1a.elasticloadbalancing.us-east-1.vpce.amazonaws.com</code>.
|
|
* For edge-optimized APIs, this is the domain name for the corresponding
|
|
* CloudFront distribution. You can get the value of <code>DnsName</code> using the
|
|
* AWS CLI command <a
|
|
* href="https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html">describe-vpc-endpoints</a>.</p>
|
|
* </dd> <dt>CloudFront distribution</dt> <dd> <p>Specify the domain name that
|
|
* CloudFront assigned when you created your distribution.</p> <p>Your CloudFront
|
|
* distribution must include an alternate domain name that matches the name of the
|
|
* resource record set. For example, if the name of the resource record set is
|
|
* <i>acme.example.com</i>, your CloudFront distribution must include
|
|
* <i>acme.example.com</i> as one of the alternate domain names. For more
|
|
* information, see <a
|
|
* href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html">Using
|
|
* Alternate Domain Names (CNAMEs)</a> in the <i>Amazon CloudFront Developer
|
|
* Guide</i>.</p> <p>You can't create a resource record set in a private hosted
|
|
* zone to route traffic to a CloudFront distribution.</p> <p>For failover
|
|
* alias records, you can't specify a CloudFront distribution for both the primary
|
|
* and secondary records. A distribution must include an alternate domain name that
|
|
* matches the name of the record. However, the primary and secondary records have
|
|
* the same name, and you can't include the same alternate domain name in more than
|
|
* one distribution. </p> </dd> <dt>Elastic Beanstalk environment</dt> <dd>
|
|
* <p>If the domain name for your Elastic Beanstalk environment includes the region
|
|
* that you deployed the environment in, you can create an alias record that routes
|
|
* traffic to the environment. For example, the domain name
|
|
* <code>my-environment.<i>us-west-2</i>.elasticbeanstalk.com</code> is a
|
|
* regionalized domain name. </p> <p>For environments that were created
|
|
* before early 2016, the domain name doesn't include the region. To route traffic
|
|
* to these environments, you must create a CNAME record instead of an alias
|
|
* record. Note that you can't create a CNAME record for the root domain name. For
|
|
* example, if your domain name is example.com, you can create a record that routes
|
|
* traffic for acme.example.com to your Elastic Beanstalk environment, but you
|
|
* can't create a record that routes traffic for example.com to your Elastic
|
|
* Beanstalk environment.</p> <p>For Elastic Beanstalk environments
|
|
* that have regionalized subdomains, specify the <code>CNAME</code> attribute for
|
|
* the environment. You can use the following methods to get the value of the CNAME
|
|
* attribute:</p> <ul> <li> <p> <i>AWS Management Console</i>: For information
|
|
* about how to get the value by using the console, see <a
|
|
* href="https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customdomains.html">Using
|
|
* Custom Domains with AWS Elastic Beanstalk</a> in the <i>AWS Elastic Beanstalk
|
|
* Developer Guide</i>.</p> </li> <li> <p> <i>Elastic Beanstalk API</i>: Use the
|
|
* <code>DescribeEnvironments</code> action to get the value of the
|
|
* <code>CNAME</code> attribute. For more information, see <a
|
|
* href="https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_DescribeEnvironments.html">DescribeEnvironments</a>
|
|
* in the <i>AWS Elastic Beanstalk API Reference</i>.</p> </li> <li> <p> <i>AWS
|
|
* CLI</i>: Use the <code>describe-environments</code> command to get the value of
|
|
* the <code>CNAME</code> attribute. For more information, see <a
|
|
* href="https://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/describe-environments.html">describe-environments</a>
|
|
* in the <i>AWS CLI Command Reference</i>.</p> </li> </ul> </dd> <dt>ELB load
|
|
* balancer</dt> <dd> <p>Specify the DNS name that is associated with the load
|
|
* balancer. Get the DNS name by using the AWS Management Console, the ELB API, or
|
|
* the AWS CLI. </p> <ul> <li> <p> <b>AWS Management Console</b>: Go to the EC2
|
|
* page, choose <b>Load Balancers</b> in the navigation pane, choose the load
|
|
* balancer, choose the <b>Description</b> tab, and get the value of the <b>DNS
|
|
* name</b> field. </p> <p>If you're routing traffic to a Classic Load Balancer,
|
|
* get the value that begins with <b>dualstack</b>. If you're routing traffic to
|
|
* another type of load balancer, get the value that applies to the record type, A
|
|
* or AAAA.</p> </li> <li> <p> <b>Elastic Load Balancing API</b>: Use
|
|
* <code>DescribeLoadBalancers</code> to get the value of <code>DNSName</code>. For
|
|
* more information, see the applicable guide:</p> <ul> <li> <p>Classic Load
|
|
* Balancers: <a
|
|
* href="https://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html">DescribeLoadBalancers</a>
|
|
* </p> </li> <li> <p>Application and Network Load Balancers: <a
|
|
* href="https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html">DescribeLoadBalancers</a>
|
|
* </p> </li> </ul> </li> <li> <p> <b>AWS CLI</b>: Use
|
|
* <code>describe-load-balancers</code> to get the value of <code>DNSName</code>.
|
|
* For more information, see the applicable guide:</p> <ul> <li> <p>Classic Load
|
|
* Balancers: <a
|
|
* href="http://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html">describe-load-balancers</a>
|
|
* </p> </li> <li> <p>Application and Network Load Balancers: <a
|
|
* href="http://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-load-balancers.html">describe-load-balancers</a>
|
|
* </p> </li> </ul> </li> </ul> </dd> <dt>AWS Global Accelerator accelerator</dt>
|
|
* <dd> <p>Specify the DNS name for your accelerator:</p> <ul> <li> <p> <b>Global
|
|
* Accelerator API:</b> To get the DNS name, use <a
|
|
* href="https://docs.aws.amazon.com/global-accelerator/latest/api/API_DescribeAccelerator.html">DescribeAccelerator</a>.</p>
|
|
* </li> <li> <p> <b>AWS CLI:</b> To get the DNS name, use <a
|
|
* href="https://docs.aws.amazon.com/cli/latest/reference/globalaccelerator/describe-accelerator.html">describe-accelerator</a>.</p>
|
|
* </li> </ul> </dd> <dt>Amazon S3 bucket that is configured as a static
|
|
* website</dt> <dd> <p>Specify the domain name of the Amazon S3 website endpoint
|
|
* that you created the bucket in, for example,
|
|
* <code>s3-website.us-east-2.amazonaws.com</code>. For more information about
|
|
* valid values, see the table <a
|
|
* href="https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints">Amazon
|
|
* S3 Website Endpoints</a> in the <i>Amazon Web Services General Reference</i>.
|
|
* For more information about using S3 buckets for websites, see <a
|
|
* href="https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/getting-started.html">Getting
|
|
* Started with Amazon Route 53</a> in the <i>Amazon Route 53 Developer Guide.</i>
|
|
* </p> </dd> <dt>Another Route 53 resource record set</dt> <dd> <p>Specify the
|
|
* value of the <code>Name</code> element for a resource record set in the current
|
|
* hosted zone.</p> <p>If you're creating an alias record that has the same
|
|
* name as the hosted zone (known as the zone apex), you can't specify the domain
|
|
* name for a record for which the value of <code>Type</code> is
|
|
* <code>CNAME</code>. This is because the alias record must have the same type as
|
|
* the record that you're routing traffic to, and creating a CNAME record for the
|
|
* zone apex isn't supported even for an alias record.</p> </dd> </dl>
|
|
*/
|
|
inline AliasTarget& WithDNSName(const char* value) { SetDNSName(value); return *this;}
|
|
|
|
|
|
/**
|
|
* <p> <i>Applies only to alias, failover alias, geolocation alias, latency alias,
|
|
* and weighted alias resource record sets:</i> When
|
|
* <code>EvaluateTargetHealth</code> is <code>true</code>, an alias resource record
|
|
* set inherits the health of the referenced AWS resource, such as an ELB load
|
|
* balancer or another resource record set in the hosted zone.</p> <p>Note the
|
|
* following:</p> <dl> <dt>CloudFront distributions</dt> <dd> <p>You can't set
|
|
* <code>EvaluateTargetHealth</code> to <code>true</code> when the alias target is
|
|
* a CloudFront distribution.</p> </dd> <dt>Elastic Beanstalk environments that
|
|
* have regionalized subdomains</dt> <dd> <p>If you specify an Elastic Beanstalk
|
|
* environment in <code>DNSName</code> and the environment contains an ELB load
|
|
* balancer, Elastic Load Balancing routes queries only to the healthy Amazon EC2
|
|
* instances that are registered with the load balancer. (An environment
|
|
* automatically contains an ELB load balancer if it includes more than one Amazon
|
|
* EC2 instance.) If you set <code>EvaluateTargetHealth</code> to <code>true</code>
|
|
* and either no Amazon EC2 instances are healthy or the load balancer itself is
|
|
* unhealthy, Route 53 routes queries to other available resources that are
|
|
* healthy, if any. </p> <p>If the environment contains a single Amazon EC2
|
|
* instance, there are no special requirements.</p> </dd> <dt>ELB load
|
|
* balancers</dt> <dd> <p>Health checking behavior depends on the type of load
|
|
* balancer:</p> <ul> <li> <p> <b>Classic Load Balancers</b>: If you specify an ELB
|
|
* Classic Load Balancer in <code>DNSName</code>, Elastic Load Balancing routes
|
|
* queries only to the healthy Amazon EC2 instances that are registered with the
|
|
* load balancer. If you set <code>EvaluateTargetHealth</code> to <code>true</code>
|
|
* and either no EC2 instances are healthy or the load balancer itself is
|
|
* unhealthy, Route 53 routes queries to other resources.</p> </li> <li> <p>
|
|
* <b>Application and Network Load Balancers</b>: If you specify an ELB Application
|
|
* or Network Load Balancer and you set <code>EvaluateTargetHealth</code> to
|
|
* <code>true</code>, Route 53 routes queries to the load balancer based on the
|
|
* health of the target groups that are associated with the load balancer:</p> <ul>
|
|
* <li> <p>For an Application or Network Load Balancer to be considered healthy,
|
|
* every target group that contains targets must contain at least one healthy
|
|
* target. If any target group contains only unhealthy targets, the load balancer
|
|
* is considered unhealthy, and Route 53 routes queries to other resources.</p>
|
|
* </li> <li> <p>A target group that has no registered targets is considered
|
|
* unhealthy.</p> </li> </ul> </li> </ul> <p>When you create a load
|
|
* balancer, you configure settings for Elastic Load Balancing health checks;
|
|
* they're not Route 53 health checks, but they perform a similar function. Do not
|
|
* create Route 53 health checks for the EC2 instances that you register with an
|
|
* ELB load balancer. </p> </dd> <dt>S3 buckets</dt> <dd> <p>There are no
|
|
* special requirements for setting <code>EvaluateTargetHealth</code> to
|
|
* <code>true</code> when the alias target is an S3 bucket.</p> </dd> <dt>Other
|
|
* records in the same hosted zone</dt> <dd> <p>If the AWS resource that you
|
|
* specify in <code>DNSName</code> is a record or a group of records (for example,
|
|
* a group of weighted records) but is not another alias record, we recommend that
|
|
* you associate a health check with all of the records in the alias target. For
|
|
* more information, see <a
|
|
* href="https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-complex-configs.html#dns-failover-complex-configs-hc-omitting">What
|
|
* Happens When You Omit Health Checks?</a> in the <i>Amazon Route 53 Developer
|
|
* Guide</i>.</p> </dd> </dl> <p>For more information and examples, see <a
|
|
* href="https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html">Amazon
|
|
* Route 53 Health Checks and DNS Failover</a> in the <i>Amazon Route 53 Developer
|
|
* Guide</i>.</p>
|
|
*/
|
|
inline bool GetEvaluateTargetHealth() const{ return m_evaluateTargetHealth; }
|
|
|
|
/**
|
|
* <p> <i>Applies only to alias, failover alias, geolocation alias, latency alias,
|
|
* and weighted alias resource record sets:</i> When
|
|
* <code>EvaluateTargetHealth</code> is <code>true</code>, an alias resource record
|
|
* set inherits the health of the referenced AWS resource, such as an ELB load
|
|
* balancer or another resource record set in the hosted zone.</p> <p>Note the
|
|
* following:</p> <dl> <dt>CloudFront distributions</dt> <dd> <p>You can't set
|
|
* <code>EvaluateTargetHealth</code> to <code>true</code> when the alias target is
|
|
* a CloudFront distribution.</p> </dd> <dt>Elastic Beanstalk environments that
|
|
* have regionalized subdomains</dt> <dd> <p>If you specify an Elastic Beanstalk
|
|
* environment in <code>DNSName</code> and the environment contains an ELB load
|
|
* balancer, Elastic Load Balancing routes queries only to the healthy Amazon EC2
|
|
* instances that are registered with the load balancer. (An environment
|
|
* automatically contains an ELB load balancer if it includes more than one Amazon
|
|
* EC2 instance.) If you set <code>EvaluateTargetHealth</code> to <code>true</code>
|
|
* and either no Amazon EC2 instances are healthy or the load balancer itself is
|
|
* unhealthy, Route 53 routes queries to other available resources that are
|
|
* healthy, if any. </p> <p>If the environment contains a single Amazon EC2
|
|
* instance, there are no special requirements.</p> </dd> <dt>ELB load
|
|
* balancers</dt> <dd> <p>Health checking behavior depends on the type of load
|
|
* balancer:</p> <ul> <li> <p> <b>Classic Load Balancers</b>: If you specify an ELB
|
|
* Classic Load Balancer in <code>DNSName</code>, Elastic Load Balancing routes
|
|
* queries only to the healthy Amazon EC2 instances that are registered with the
|
|
* load balancer. If you set <code>EvaluateTargetHealth</code> to <code>true</code>
|
|
* and either no EC2 instances are healthy or the load balancer itself is
|
|
* unhealthy, Route 53 routes queries to other resources.</p> </li> <li> <p>
|
|
* <b>Application and Network Load Balancers</b>: If you specify an ELB Application
|
|
* or Network Load Balancer and you set <code>EvaluateTargetHealth</code> to
|
|
* <code>true</code>, Route 53 routes queries to the load balancer based on the
|
|
* health of the target groups that are associated with the load balancer:</p> <ul>
|
|
* <li> <p>For an Application or Network Load Balancer to be considered healthy,
|
|
* every target group that contains targets must contain at least one healthy
|
|
* target. If any target group contains only unhealthy targets, the load balancer
|
|
* is considered unhealthy, and Route 53 routes queries to other resources.</p>
|
|
* </li> <li> <p>A target group that has no registered targets is considered
|
|
* unhealthy.</p> </li> </ul> </li> </ul> <p>When you create a load
|
|
* balancer, you configure settings for Elastic Load Balancing health checks;
|
|
* they're not Route 53 health checks, but they perform a similar function. Do not
|
|
* create Route 53 health checks for the EC2 instances that you register with an
|
|
* ELB load balancer. </p> </dd> <dt>S3 buckets</dt> <dd> <p>There are no
|
|
* special requirements for setting <code>EvaluateTargetHealth</code> to
|
|
* <code>true</code> when the alias target is an S3 bucket.</p> </dd> <dt>Other
|
|
* records in the same hosted zone</dt> <dd> <p>If the AWS resource that you
|
|
* specify in <code>DNSName</code> is a record or a group of records (for example,
|
|
* a group of weighted records) but is not another alias record, we recommend that
|
|
* you associate a health check with all of the records in the alias target. For
|
|
* more information, see <a
|
|
* href="https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-complex-configs.html#dns-failover-complex-configs-hc-omitting">What
|
|
* Happens When You Omit Health Checks?</a> in the <i>Amazon Route 53 Developer
|
|
* Guide</i>.</p> </dd> </dl> <p>For more information and examples, see <a
|
|
* href="https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html">Amazon
|
|
* Route 53 Health Checks and DNS Failover</a> in the <i>Amazon Route 53 Developer
|
|
* Guide</i>.</p>
|
|
*/
|
|
inline bool EvaluateTargetHealthHasBeenSet() const { return m_evaluateTargetHealthHasBeenSet; }
|
|
|
|
/**
|
|
* <p> <i>Applies only to alias, failover alias, geolocation alias, latency alias,
|
|
* and weighted alias resource record sets:</i> When
|
|
* <code>EvaluateTargetHealth</code> is <code>true</code>, an alias resource record
|
|
* set inherits the health of the referenced AWS resource, such as an ELB load
|
|
* balancer or another resource record set in the hosted zone.</p> <p>Note the
|
|
* following:</p> <dl> <dt>CloudFront distributions</dt> <dd> <p>You can't set
|
|
* <code>EvaluateTargetHealth</code> to <code>true</code> when the alias target is
|
|
* a CloudFront distribution.</p> </dd> <dt>Elastic Beanstalk environments that
|
|
* have regionalized subdomains</dt> <dd> <p>If you specify an Elastic Beanstalk
|
|
* environment in <code>DNSName</code> and the environment contains an ELB load
|
|
* balancer, Elastic Load Balancing routes queries only to the healthy Amazon EC2
|
|
* instances that are registered with the load balancer. (An environment
|
|
* automatically contains an ELB load balancer if it includes more than one Amazon
|
|
* EC2 instance.) If you set <code>EvaluateTargetHealth</code> to <code>true</code>
|
|
* and either no Amazon EC2 instances are healthy or the load balancer itself is
|
|
* unhealthy, Route 53 routes queries to other available resources that are
|
|
* healthy, if any. </p> <p>If the environment contains a single Amazon EC2
|
|
* instance, there are no special requirements.</p> </dd> <dt>ELB load
|
|
* balancers</dt> <dd> <p>Health checking behavior depends on the type of load
|
|
* balancer:</p> <ul> <li> <p> <b>Classic Load Balancers</b>: If you specify an ELB
|
|
* Classic Load Balancer in <code>DNSName</code>, Elastic Load Balancing routes
|
|
* queries only to the healthy Amazon EC2 instances that are registered with the
|
|
* load balancer. If you set <code>EvaluateTargetHealth</code> to <code>true</code>
|
|
* and either no EC2 instances are healthy or the load balancer itself is
|
|
* unhealthy, Route 53 routes queries to other resources.</p> </li> <li> <p>
|
|
* <b>Application and Network Load Balancers</b>: If you specify an ELB Application
|
|
* or Network Load Balancer and you set <code>EvaluateTargetHealth</code> to
|
|
* <code>true</code>, Route 53 routes queries to the load balancer based on the
|
|
* health of the target groups that are associated with the load balancer:</p> <ul>
|
|
* <li> <p>For an Application or Network Load Balancer to be considered healthy,
|
|
* every target group that contains targets must contain at least one healthy
|
|
* target. If any target group contains only unhealthy targets, the load balancer
|
|
* is considered unhealthy, and Route 53 routes queries to other resources.</p>
|
|
* </li> <li> <p>A target group that has no registered targets is considered
|
|
* unhealthy.</p> </li> </ul> </li> </ul> <p>When you create a load
|
|
* balancer, you configure settings for Elastic Load Balancing health checks;
|
|
* they're not Route 53 health checks, but they perform a similar function. Do not
|
|
* create Route 53 health checks for the EC2 instances that you register with an
|
|
* ELB load balancer. </p> </dd> <dt>S3 buckets</dt> <dd> <p>There are no
|
|
* special requirements for setting <code>EvaluateTargetHealth</code> to
|
|
* <code>true</code> when the alias target is an S3 bucket.</p> </dd> <dt>Other
|
|
* records in the same hosted zone</dt> <dd> <p>If the AWS resource that you
|
|
* specify in <code>DNSName</code> is a record or a group of records (for example,
|
|
* a group of weighted records) but is not another alias record, we recommend that
|
|
* you associate a health check with all of the records in the alias target. For
|
|
* more information, see <a
|
|
* href="https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-complex-configs.html#dns-failover-complex-configs-hc-omitting">What
|
|
* Happens When You Omit Health Checks?</a> in the <i>Amazon Route 53 Developer
|
|
* Guide</i>.</p> </dd> </dl> <p>For more information and examples, see <a
|
|
* href="https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html">Amazon
|
|
* Route 53 Health Checks and DNS Failover</a> in the <i>Amazon Route 53 Developer
|
|
* Guide</i>.</p>
|
|
*/
|
|
inline void SetEvaluateTargetHealth(bool value) { m_evaluateTargetHealthHasBeenSet = true; m_evaluateTargetHealth = value; }
|
|
|
|
/**
|
|
* <p> <i>Applies only to alias, failover alias, geolocation alias, latency alias,
|
|
* and weighted alias resource record sets:</i> When
|
|
* <code>EvaluateTargetHealth</code> is <code>true</code>, an alias resource record
|
|
* set inherits the health of the referenced AWS resource, such as an ELB load
|
|
* balancer or another resource record set in the hosted zone.</p> <p>Note the
|
|
* following:</p> <dl> <dt>CloudFront distributions</dt> <dd> <p>You can't set
|
|
* <code>EvaluateTargetHealth</code> to <code>true</code> when the alias target is
|
|
* a CloudFront distribution.</p> </dd> <dt>Elastic Beanstalk environments that
|
|
* have regionalized subdomains</dt> <dd> <p>If you specify an Elastic Beanstalk
|
|
* environment in <code>DNSName</code> and the environment contains an ELB load
|
|
* balancer, Elastic Load Balancing routes queries only to the healthy Amazon EC2
|
|
* instances that are registered with the load balancer. (An environment
|
|
* automatically contains an ELB load balancer if it includes more than one Amazon
|
|
* EC2 instance.) If you set <code>EvaluateTargetHealth</code> to <code>true</code>
|
|
* and either no Amazon EC2 instances are healthy or the load balancer itself is
|
|
* unhealthy, Route 53 routes queries to other available resources that are
|
|
* healthy, if any. </p> <p>If the environment contains a single Amazon EC2
|
|
* instance, there are no special requirements.</p> </dd> <dt>ELB load
|
|
* balancers</dt> <dd> <p>Health checking behavior depends on the type of load
|
|
* balancer:</p> <ul> <li> <p> <b>Classic Load Balancers</b>: If you specify an ELB
|
|
* Classic Load Balancer in <code>DNSName</code>, Elastic Load Balancing routes
|
|
* queries only to the healthy Amazon EC2 instances that are registered with the
|
|
* load balancer. If you set <code>EvaluateTargetHealth</code> to <code>true</code>
|
|
* and either no EC2 instances are healthy or the load balancer itself is
|
|
* unhealthy, Route 53 routes queries to other resources.</p> </li> <li> <p>
|
|
* <b>Application and Network Load Balancers</b>: If you specify an ELB Application
|
|
* or Network Load Balancer and you set <code>EvaluateTargetHealth</code> to
|
|
* <code>true</code>, Route 53 routes queries to the load balancer based on the
|
|
* health of the target groups that are associated with the load balancer:</p> <ul>
|
|
* <li> <p>For an Application or Network Load Balancer to be considered healthy,
|
|
* every target group that contains targets must contain at least one healthy
|
|
* target. If any target group contains only unhealthy targets, the load balancer
|
|
* is considered unhealthy, and Route 53 routes queries to other resources.</p>
|
|
* </li> <li> <p>A target group that has no registered targets is considered
|
|
* unhealthy.</p> </li> </ul> </li> </ul> <p>When you create a load
|
|
* balancer, you configure settings for Elastic Load Balancing health checks;
|
|
* they're not Route 53 health checks, but they perform a similar function. Do not
|
|
* create Route 53 health checks for the EC2 instances that you register with an
|
|
* ELB load balancer. </p> </dd> <dt>S3 buckets</dt> <dd> <p>There are no
|
|
* special requirements for setting <code>EvaluateTargetHealth</code> to
|
|
* <code>true</code> when the alias target is an S3 bucket.</p> </dd> <dt>Other
|
|
* records in the same hosted zone</dt> <dd> <p>If the AWS resource that you
|
|
* specify in <code>DNSName</code> is a record or a group of records (for example,
|
|
* a group of weighted records) but is not another alias record, we recommend that
|
|
* you associate a health check with all of the records in the alias target. For
|
|
* more information, see <a
|
|
* href="https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-complex-configs.html#dns-failover-complex-configs-hc-omitting">What
|
|
* Happens When You Omit Health Checks?</a> in the <i>Amazon Route 53 Developer
|
|
* Guide</i>.</p> </dd> </dl> <p>For more information and examples, see <a
|
|
* href="https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html">Amazon
|
|
* Route 53 Health Checks and DNS Failover</a> in the <i>Amazon Route 53 Developer
|
|
* Guide</i>.</p>
|
|
*/
|
|
inline AliasTarget& WithEvaluateTargetHealth(bool value) { SetEvaluateTargetHealth(value); return *this;}
|
|
|
|
private:
|
|
|
|
Aws::String m_hostedZoneId;
|
|
bool m_hostedZoneIdHasBeenSet;
|
|
|
|
Aws::String m_dNSName;
|
|
bool m_dNSNameHasBeenSet;
|
|
|
|
bool m_evaluateTargetHealth;
|
|
bool m_evaluateTargetHealthHasBeenSet;
|
|
};
|
|
|
|
} // namespace Model
|
|
} // namespace Route53
|
|
} // namespace Aws
|