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

Alias resource record sets only: Information about the AWS resource, * such as a CloudFront distribution or an Amazon S3 bucket, that you want to route * traffic to.

When creating resource record sets for a private hosted zone, * note the following:

  • Creating geolocation alias resource record * sets or latency alias resource record sets in a private hosted zone is * unsupported.

  • For information about creating failover resource * record sets in a private hosted zone, see Configuring * Failover in a Private Hosted Zone.

See Also:

AWS * API Reference

*/ 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; /** *

Alias resource records sets only: The value used depends on where you * want to route traffic:

Amazon API Gateway custom regional APIs and * edge-optimized APIs

Specify the hosted zone ID for your API. You * can get the applicable value using the AWS CLI command get-domain-names:

*
  • For regional APIs, specify the value of * regionalHostedZoneId.

  • For edge-optimized APIs, * specify the value of distributionHostedZoneId.

*
Amazon Virtual Private Cloud interface VPC endpoint
*

Specify the hosted zone ID for your interface endpoint. You can get the value * of HostedZoneId using the AWS CLI command describe-vpc-endpoints.

*
CloudFront distribution

Specify * Z2FDTNDATAQYW2.

Alias resource record sets for * CloudFront can't be created in a private zone.

Elastic * Beanstalk environment

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 AWS * Elastic Beanstalk in the "AWS Service Endpoints" chapter of the Amazon * Web Services General Reference.

ELB load balancer
*

Specify the value of the hosted zone ID for the load balancer. Use the * following methods to get the hosted zone ID:

  • Service * Endpoints table in the "Elastic Load Balancing Endpoints and Quotas" topic * in the Amazon Web Services General Reference: 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.

  • AWS Management Console: Go to * the Amazon EC2 page, choose Load Balancers in the navigation pane, select * the load balancer, and get the value of the Hosted zone field on the * Description tab.

  • Elastic Load Balancing API: * Use DescribeLoadBalancers to get the applicable value. For more * information, see the applicable guide:

    • Classic Load Balancers: * Use DescribeLoadBalancers * to get the value of CanonicalHostedZoneNameId.

    • *

      Application and Network Load Balancers: Use DescribeLoadBalancers * to get the value of CanonicalHostedZoneId.

  • *
  • AWS CLI: Use describe-load-balancers to get the * applicable value. For more information, see the applicable guide:

  • *
AWS Global Accelerator accelerator

Specify * Z2BJ6XQ5FK7U4H.

An Amazon S3 bucket configured as a * static website

Specify the hosted zone ID for the region that you * created the bucket in. For more information about valid values, see the table Amazon * S3 Website Endpoints in the Amazon Web Services General * Reference.

Another Route 53 resource record set in your hosted * zone

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.)

*/ inline const Aws::String& GetHostedZoneId() const{ return m_hostedZoneId; } /** *

Alias resource records sets only: The value used depends on where you * want to route traffic:

Amazon API Gateway custom regional APIs and * edge-optimized APIs

Specify the hosted zone ID for your API. You * can get the applicable value using the AWS CLI command get-domain-names:

*
  • For regional APIs, specify the value of * regionalHostedZoneId.

  • For edge-optimized APIs, * specify the value of distributionHostedZoneId.

*
Amazon Virtual Private Cloud interface VPC endpoint
*

Specify the hosted zone ID for your interface endpoint. You can get the value * of HostedZoneId using the AWS CLI command describe-vpc-endpoints.

*
CloudFront distribution

Specify * Z2FDTNDATAQYW2.

Alias resource record sets for * CloudFront can't be created in a private zone.

Elastic * Beanstalk environment

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 AWS * Elastic Beanstalk in the "AWS Service Endpoints" chapter of the Amazon * Web Services General Reference.

ELB load balancer
*

Specify the value of the hosted zone ID for the load balancer. Use the * following methods to get the hosted zone ID:

  • Service * Endpoints table in the "Elastic Load Balancing Endpoints and Quotas" topic * in the Amazon Web Services General Reference: 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.

  • AWS Management Console: Go to * the Amazon EC2 page, choose Load Balancers in the navigation pane, select * the load balancer, and get the value of the Hosted zone field on the * Description tab.

  • Elastic Load Balancing API: * Use DescribeLoadBalancers to get the applicable value. For more * information, see the applicable guide:

    • Classic Load Balancers: * Use DescribeLoadBalancers * to get the value of CanonicalHostedZoneNameId.

    • *

      Application and Network Load Balancers: Use DescribeLoadBalancers * to get the value of CanonicalHostedZoneId.

  • *
  • AWS CLI: Use describe-load-balancers to get the * applicable value. For more information, see the applicable guide:

  • *
AWS Global Accelerator accelerator

Specify * Z2BJ6XQ5FK7U4H.

An Amazon S3 bucket configured as a * static website

Specify the hosted zone ID for the region that you * created the bucket in. For more information about valid values, see the table Amazon * S3 Website Endpoints in the Amazon Web Services General * Reference.

Another Route 53 resource record set in your hosted * zone

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.)

*/ inline bool HostedZoneIdHasBeenSet() const { return m_hostedZoneIdHasBeenSet; } /** *

Alias resource records sets only: The value used depends on where you * want to route traffic:

Amazon API Gateway custom regional APIs and * edge-optimized APIs

Specify the hosted zone ID for your API. You * can get the applicable value using the AWS CLI command get-domain-names:

*
  • For regional APIs, specify the value of * regionalHostedZoneId.

  • For edge-optimized APIs, * specify the value of distributionHostedZoneId.

*
Amazon Virtual Private Cloud interface VPC endpoint
*

Specify the hosted zone ID for your interface endpoint. You can get the value * of HostedZoneId using the AWS CLI command describe-vpc-endpoints.

*
CloudFront distribution

Specify * Z2FDTNDATAQYW2.

Alias resource record sets for * CloudFront can't be created in a private zone.

Elastic * Beanstalk environment

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 AWS * Elastic Beanstalk in the "AWS Service Endpoints" chapter of the Amazon * Web Services General Reference.

ELB load balancer
*

Specify the value of the hosted zone ID for the load balancer. Use the * following methods to get the hosted zone ID:

  • Service * Endpoints table in the "Elastic Load Balancing Endpoints and Quotas" topic * in the Amazon Web Services General Reference: 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.

  • AWS Management Console: Go to * the Amazon EC2 page, choose Load Balancers in the navigation pane, select * the load balancer, and get the value of the Hosted zone field on the * Description tab.

  • Elastic Load Balancing API: * Use DescribeLoadBalancers to get the applicable value. For more * information, see the applicable guide:

    • Classic Load Balancers: * Use DescribeLoadBalancers * to get the value of CanonicalHostedZoneNameId.

    • *

      Application and Network Load Balancers: Use DescribeLoadBalancers * to get the value of CanonicalHostedZoneId.

  • *
  • AWS CLI: Use describe-load-balancers to get the * applicable value. For more information, see the applicable guide:

  • *
AWS Global Accelerator accelerator

Specify * Z2BJ6XQ5FK7U4H.

An Amazon S3 bucket configured as a * static website

Specify the hosted zone ID for the region that you * created the bucket in. For more information about valid values, see the table Amazon * S3 Website Endpoints in the Amazon Web Services General * Reference.

Another Route 53 resource record set in your hosted * zone

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.)

*/ inline void SetHostedZoneId(const Aws::String& value) { m_hostedZoneIdHasBeenSet = true; m_hostedZoneId = value; } /** *

Alias resource records sets only: The value used depends on where you * want to route traffic:

Amazon API Gateway custom regional APIs and * edge-optimized APIs

Specify the hosted zone ID for your API. You * can get the applicable value using the AWS CLI command get-domain-names:

*
  • For regional APIs, specify the value of * regionalHostedZoneId.

  • For edge-optimized APIs, * specify the value of distributionHostedZoneId.

*
Amazon Virtual Private Cloud interface VPC endpoint
*

Specify the hosted zone ID for your interface endpoint. You can get the value * of HostedZoneId using the AWS CLI command describe-vpc-endpoints.

*
CloudFront distribution

Specify * Z2FDTNDATAQYW2.

Alias resource record sets for * CloudFront can't be created in a private zone.

Elastic * Beanstalk environment

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 AWS * Elastic Beanstalk in the "AWS Service Endpoints" chapter of the Amazon * Web Services General Reference.

ELB load balancer
*

Specify the value of the hosted zone ID for the load balancer. Use the * following methods to get the hosted zone ID:

  • Service * Endpoints table in the "Elastic Load Balancing Endpoints and Quotas" topic * in the Amazon Web Services General Reference: 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.

  • AWS Management Console: Go to * the Amazon EC2 page, choose Load Balancers in the navigation pane, select * the load balancer, and get the value of the Hosted zone field on the * Description tab.

  • Elastic Load Balancing API: * Use DescribeLoadBalancers to get the applicable value. For more * information, see the applicable guide:

    • Classic Load Balancers: * Use DescribeLoadBalancers * to get the value of CanonicalHostedZoneNameId.

    • *

      Application and Network Load Balancers: Use DescribeLoadBalancers * to get the value of CanonicalHostedZoneId.

  • *
  • AWS CLI: Use describe-load-balancers to get the * applicable value. For more information, see the applicable guide:

  • *
AWS Global Accelerator accelerator

Specify * Z2BJ6XQ5FK7U4H.

An Amazon S3 bucket configured as a * static website

Specify the hosted zone ID for the region that you * created the bucket in. For more information about valid values, see the table Amazon * S3 Website Endpoints in the Amazon Web Services General * Reference.

Another Route 53 resource record set in your hosted * zone

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.)

*/ inline void SetHostedZoneId(Aws::String&& value) { m_hostedZoneIdHasBeenSet = true; m_hostedZoneId = std::move(value); } /** *

Alias resource records sets only: The value used depends on where you * want to route traffic:

Amazon API Gateway custom regional APIs and * edge-optimized APIs

Specify the hosted zone ID for your API. You * can get the applicable value using the AWS CLI command get-domain-names:

*
  • For regional APIs, specify the value of * regionalHostedZoneId.

  • For edge-optimized APIs, * specify the value of distributionHostedZoneId.

*
Amazon Virtual Private Cloud interface VPC endpoint
*

Specify the hosted zone ID for your interface endpoint. You can get the value * of HostedZoneId using the AWS CLI command describe-vpc-endpoints.

*
CloudFront distribution

Specify * Z2FDTNDATAQYW2.

Alias resource record sets for * CloudFront can't be created in a private zone.

Elastic * Beanstalk environment

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 AWS * Elastic Beanstalk in the "AWS Service Endpoints" chapter of the Amazon * Web Services General Reference.

ELB load balancer
*

Specify the value of the hosted zone ID for the load balancer. Use the * following methods to get the hosted zone ID:

  • Service * Endpoints table in the "Elastic Load Balancing Endpoints and Quotas" topic * in the Amazon Web Services General Reference: 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.

  • AWS Management Console: Go to * the Amazon EC2 page, choose Load Balancers in the navigation pane, select * the load balancer, and get the value of the Hosted zone field on the * Description tab.

  • Elastic Load Balancing API: * Use DescribeLoadBalancers to get the applicable value. For more * information, see the applicable guide:

    • Classic Load Balancers: * Use DescribeLoadBalancers * to get the value of CanonicalHostedZoneNameId.

    • *

      Application and Network Load Balancers: Use DescribeLoadBalancers * to get the value of CanonicalHostedZoneId.

  • *
  • AWS CLI: Use describe-load-balancers to get the * applicable value. For more information, see the applicable guide:

  • *
AWS Global Accelerator accelerator

Specify * Z2BJ6XQ5FK7U4H.

An Amazon S3 bucket configured as a * static website

Specify the hosted zone ID for the region that you * created the bucket in. For more information about valid values, see the table Amazon * S3 Website Endpoints in the Amazon Web Services General * Reference.

Another Route 53 resource record set in your hosted * zone

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.)

*/ inline void SetHostedZoneId(const char* value) { m_hostedZoneIdHasBeenSet = true; m_hostedZoneId.assign(value); } /** *

Alias resource records sets only: The value used depends on where you * want to route traffic:

Amazon API Gateway custom regional APIs and * edge-optimized APIs

Specify the hosted zone ID for your API. You * can get the applicable value using the AWS CLI command get-domain-names:

*
  • For regional APIs, specify the value of * regionalHostedZoneId.

  • For edge-optimized APIs, * specify the value of distributionHostedZoneId.

*
Amazon Virtual Private Cloud interface VPC endpoint
*

Specify the hosted zone ID for your interface endpoint. You can get the value * of HostedZoneId using the AWS CLI command describe-vpc-endpoints.

*
CloudFront distribution

Specify * Z2FDTNDATAQYW2.

Alias resource record sets for * CloudFront can't be created in a private zone.

Elastic * Beanstalk environment

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 AWS * Elastic Beanstalk in the "AWS Service Endpoints" chapter of the Amazon * Web Services General Reference.

ELB load balancer
*

Specify the value of the hosted zone ID for the load balancer. Use the * following methods to get the hosted zone ID:

  • Service * Endpoints table in the "Elastic Load Balancing Endpoints and Quotas" topic * in the Amazon Web Services General Reference: 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.

  • AWS Management Console: Go to * the Amazon EC2 page, choose Load Balancers in the navigation pane, select * the load balancer, and get the value of the Hosted zone field on the * Description tab.

  • Elastic Load Balancing API: * Use DescribeLoadBalancers to get the applicable value. For more * information, see the applicable guide:

    • Classic Load Balancers: * Use DescribeLoadBalancers * to get the value of CanonicalHostedZoneNameId.

    • *

      Application and Network Load Balancers: Use DescribeLoadBalancers * to get the value of CanonicalHostedZoneId.

  • *
  • AWS CLI: Use describe-load-balancers to get the * applicable value. For more information, see the applicable guide:

  • *
AWS Global Accelerator accelerator

Specify * Z2BJ6XQ5FK7U4H.

An Amazon S3 bucket configured as a * static website

Specify the hosted zone ID for the region that you * created the bucket in. For more information about valid values, see the table Amazon * S3 Website Endpoints in the Amazon Web Services General * Reference.

Another Route 53 resource record set in your hosted * zone

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.)

*/ inline AliasTarget& WithHostedZoneId(const Aws::String& value) { SetHostedZoneId(value); return *this;} /** *

Alias resource records sets only: The value used depends on where you * want to route traffic:

Amazon API Gateway custom regional APIs and * edge-optimized APIs

Specify the hosted zone ID for your API. You * can get the applicable value using the AWS CLI command get-domain-names:

*
  • For regional APIs, specify the value of * regionalHostedZoneId.

  • For edge-optimized APIs, * specify the value of distributionHostedZoneId.

*
Amazon Virtual Private Cloud interface VPC endpoint
*

Specify the hosted zone ID for your interface endpoint. You can get the value * of HostedZoneId using the AWS CLI command describe-vpc-endpoints.

*
CloudFront distribution

Specify * Z2FDTNDATAQYW2.

Alias resource record sets for * CloudFront can't be created in a private zone.

Elastic * Beanstalk environment

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 AWS * Elastic Beanstalk in the "AWS Service Endpoints" chapter of the Amazon * Web Services General Reference.

ELB load balancer
*

Specify the value of the hosted zone ID for the load balancer. Use the * following methods to get the hosted zone ID:

  • Service * Endpoints table in the "Elastic Load Balancing Endpoints and Quotas" topic * in the Amazon Web Services General Reference: 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.

  • AWS Management Console: Go to * the Amazon EC2 page, choose Load Balancers in the navigation pane, select * the load balancer, and get the value of the Hosted zone field on the * Description tab.

  • Elastic Load Balancing API: * Use DescribeLoadBalancers to get the applicable value. For more * information, see the applicable guide:

    • Classic Load Balancers: * Use DescribeLoadBalancers * to get the value of CanonicalHostedZoneNameId.

    • *

      Application and Network Load Balancers: Use DescribeLoadBalancers * to get the value of CanonicalHostedZoneId.

  • *
  • AWS CLI: Use describe-load-balancers to get the * applicable value. For more information, see the applicable guide:

  • *
AWS Global Accelerator accelerator

Specify * Z2BJ6XQ5FK7U4H.

An Amazon S3 bucket configured as a * static website

Specify the hosted zone ID for the region that you * created the bucket in. For more information about valid values, see the table Amazon * S3 Website Endpoints in the Amazon Web Services General * Reference.

Another Route 53 resource record set in your hosted * zone

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.)

*/ inline AliasTarget& WithHostedZoneId(Aws::String&& value) { SetHostedZoneId(std::move(value)); return *this;} /** *

Alias resource records sets only: The value used depends on where you * want to route traffic:

Amazon API Gateway custom regional APIs and * edge-optimized APIs

Specify the hosted zone ID for your API. You * can get the applicable value using the AWS CLI command get-domain-names:

*
  • For regional APIs, specify the value of * regionalHostedZoneId.

  • For edge-optimized APIs, * specify the value of distributionHostedZoneId.

*
Amazon Virtual Private Cloud interface VPC endpoint
*

Specify the hosted zone ID for your interface endpoint. You can get the value * of HostedZoneId using the AWS CLI command describe-vpc-endpoints.

*
CloudFront distribution

Specify * Z2FDTNDATAQYW2.

Alias resource record sets for * CloudFront can't be created in a private zone.

Elastic * Beanstalk environment

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 AWS * Elastic Beanstalk in the "AWS Service Endpoints" chapter of the Amazon * Web Services General Reference.

ELB load balancer
*

Specify the value of the hosted zone ID for the load balancer. Use the * following methods to get the hosted zone ID:

  • Service * Endpoints table in the "Elastic Load Balancing Endpoints and Quotas" topic * in the Amazon Web Services General Reference: 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.

  • AWS Management Console: Go to * the Amazon EC2 page, choose Load Balancers in the navigation pane, select * the load balancer, and get the value of the Hosted zone field on the * Description tab.

  • Elastic Load Balancing API: * Use DescribeLoadBalancers to get the applicable value. For more * information, see the applicable guide:

    • Classic Load Balancers: * Use DescribeLoadBalancers * to get the value of CanonicalHostedZoneNameId.

    • *

      Application and Network Load Balancers: Use DescribeLoadBalancers * to get the value of CanonicalHostedZoneId.

  • *
  • AWS CLI: Use describe-load-balancers to get the * applicable value. For more information, see the applicable guide:

  • *
AWS Global Accelerator accelerator

Specify * Z2BJ6XQ5FK7U4H.

An Amazon S3 bucket configured as a * static website

Specify the hosted zone ID for the region that you * created the bucket in. For more information about valid values, see the table Amazon * S3 Website Endpoints in the Amazon Web Services General * Reference.

Another Route 53 resource record set in your hosted * zone

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.)

*/ inline AliasTarget& WithHostedZoneId(const char* value) { SetHostedZoneId(value); return *this;} /** *

Alias resource record sets only: The value that you specify depends * on where you want to route queries:

Amazon API Gateway custom * regional APIs and edge-optimized APIs

Specify the applicable domain * name for your API. You can get the applicable value using the AWS CLI command get-domain-names:

*
  • For regional APIs, specify the value of * regionalDomainName.

  • For edge-optimized APIs, * specify the value of distributionDomainName. This is the name of * the associated CloudFront distribution, such as * da1b2c3d4e5.cloudfront.net.

The name of * the record that you're creating must match a custom domain name for your API, * such as api.example.com.

Amazon Virtual * Private Cloud interface VPC endpoint

Enter the API endpoint for the * interface endpoint, such as * vpce-123456789abcdef01-example-us-east-1a.elasticloadbalancing.us-east-1.vpce.amazonaws.com. * For edge-optimized APIs, this is the domain name for the corresponding * CloudFront distribution. You can get the value of DnsName using the * AWS CLI command describe-vpc-endpoints.

*
CloudFront distribution

Specify the domain name that * CloudFront assigned when you created your distribution.

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 * acme.example.com, your CloudFront distribution must include * acme.example.com as one of the alternate domain names. For more * information, see Using * Alternate Domain Names (CNAMEs) in the Amazon CloudFront Developer * Guide.

You can't create a resource record set in a private hosted * zone to route traffic to a CloudFront distribution.

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.

Elastic Beanstalk environment
*

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 * my-environment.us-west-2.elasticbeanstalk.com is a * regionalized domain name.

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.

For Elastic Beanstalk environments * that have regionalized subdomains, specify the CNAME attribute for * the environment. You can use the following methods to get the value of the CNAME * attribute:

  • AWS Management Console: For information * about how to get the value by using the console, see Using * Custom Domains with AWS Elastic Beanstalk in the AWS Elastic Beanstalk * Developer Guide.

  • Elastic Beanstalk API: Use the * DescribeEnvironments action to get the value of the * CNAME attribute. For more information, see DescribeEnvironments * in the AWS Elastic Beanstalk API Reference.

  • AWS * CLI: Use the describe-environments command to get the value of * the CNAME attribute. For more information, see describe-environments * in the AWS CLI Command Reference.

ELB load * balancer

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.

  • AWS Management Console: Go to the EC2 * page, choose Load Balancers in the navigation pane, choose the load * balancer, choose the Description tab, and get the value of the DNS * name field.

    If you're routing traffic to a Classic Load Balancer, * get the value that begins with dualstack. If you're routing traffic to * another type of load balancer, get the value that applies to the record type, A * or AAAA.

  • Elastic Load Balancing API: Use * DescribeLoadBalancers to get the value of DNSName. For * more information, see the applicable guide:

  • AWS CLI: Use * describe-load-balancers to get the value of DNSName. * For more information, see the applicable guide:

AWS Global Accelerator accelerator
*

Specify the DNS name for your accelerator:

Amazon S3 bucket that is configured as a static * website

Specify the domain name of the Amazon S3 website endpoint * that you created the bucket in, for example, * s3-website.us-east-2.amazonaws.com. For more information about * valid values, see the table Amazon * S3 Website Endpoints in the Amazon Web Services General Reference. * For more information about using S3 buckets for websites, see Getting * Started with Amazon Route 53 in the Amazon Route 53 Developer Guide. *

Another Route 53 resource record set

Specify the * value of the Name element for a resource record set in the current * hosted zone.

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 Type is * CNAME. 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.

*/ inline const Aws::String& GetDNSName() const{ return m_dNSName; } /** *

Alias resource record sets only: The value that you specify depends * on where you want to route queries:

Amazon API Gateway custom * regional APIs and edge-optimized APIs

Specify the applicable domain * name for your API. You can get the applicable value using the AWS CLI command get-domain-names:

*
  • For regional APIs, specify the value of * regionalDomainName.

  • For edge-optimized APIs, * specify the value of distributionDomainName. This is the name of * the associated CloudFront distribution, such as * da1b2c3d4e5.cloudfront.net.

The name of * the record that you're creating must match a custom domain name for your API, * such as api.example.com.

Amazon Virtual * Private Cloud interface VPC endpoint

Enter the API endpoint for the * interface endpoint, such as * vpce-123456789abcdef01-example-us-east-1a.elasticloadbalancing.us-east-1.vpce.amazonaws.com. * For edge-optimized APIs, this is the domain name for the corresponding * CloudFront distribution. You can get the value of DnsName using the * AWS CLI command describe-vpc-endpoints.

*
CloudFront distribution

Specify the domain name that * CloudFront assigned when you created your distribution.

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 * acme.example.com, your CloudFront distribution must include * acme.example.com as one of the alternate domain names. For more * information, see Using * Alternate Domain Names (CNAMEs) in the Amazon CloudFront Developer * Guide.

You can't create a resource record set in a private hosted * zone to route traffic to a CloudFront distribution.

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.

Elastic Beanstalk environment
*

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 * my-environment.us-west-2.elasticbeanstalk.com is a * regionalized domain name.

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.

For Elastic Beanstalk environments * that have regionalized subdomains, specify the CNAME attribute for * the environment. You can use the following methods to get the value of the CNAME * attribute:

  • AWS Management Console: For information * about how to get the value by using the console, see Using * Custom Domains with AWS Elastic Beanstalk in the AWS Elastic Beanstalk * Developer Guide.

  • Elastic Beanstalk API: Use the * DescribeEnvironments action to get the value of the * CNAME attribute. For more information, see DescribeEnvironments * in the AWS Elastic Beanstalk API Reference.

  • AWS * CLI: Use the describe-environments command to get the value of * the CNAME attribute. For more information, see describe-environments * in the AWS CLI Command Reference.

ELB load * balancer

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.

  • AWS Management Console: Go to the EC2 * page, choose Load Balancers in the navigation pane, choose the load * balancer, choose the Description tab, and get the value of the DNS * name field.

    If you're routing traffic to a Classic Load Balancer, * get the value that begins with dualstack. If you're routing traffic to * another type of load balancer, get the value that applies to the record type, A * or AAAA.

  • Elastic Load Balancing API: Use * DescribeLoadBalancers to get the value of DNSName. For * more information, see the applicable guide:

  • AWS CLI: Use * describe-load-balancers to get the value of DNSName. * For more information, see the applicable guide:

AWS Global Accelerator accelerator
*

Specify the DNS name for your accelerator:

Amazon S3 bucket that is configured as a static * website

Specify the domain name of the Amazon S3 website endpoint * that you created the bucket in, for example, * s3-website.us-east-2.amazonaws.com. For more information about * valid values, see the table Amazon * S3 Website Endpoints in the Amazon Web Services General Reference. * For more information about using S3 buckets for websites, see Getting * Started with Amazon Route 53 in the Amazon Route 53 Developer Guide. *

Another Route 53 resource record set

Specify the * value of the Name element for a resource record set in the current * hosted zone.

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 Type is * CNAME. 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.

*/ inline bool DNSNameHasBeenSet() const { return m_dNSNameHasBeenSet; } /** *

Alias resource record sets only: The value that you specify depends * on where you want to route queries:

Amazon API Gateway custom * regional APIs and edge-optimized APIs

Specify the applicable domain * name for your API. You can get the applicable value using the AWS CLI command get-domain-names:

*
  • For regional APIs, specify the value of * regionalDomainName.

  • For edge-optimized APIs, * specify the value of distributionDomainName. This is the name of * the associated CloudFront distribution, such as * da1b2c3d4e5.cloudfront.net.

The name of * the record that you're creating must match a custom domain name for your API, * such as api.example.com.

Amazon Virtual * Private Cloud interface VPC endpoint

Enter the API endpoint for the * interface endpoint, such as * vpce-123456789abcdef01-example-us-east-1a.elasticloadbalancing.us-east-1.vpce.amazonaws.com. * For edge-optimized APIs, this is the domain name for the corresponding * CloudFront distribution. You can get the value of DnsName using the * AWS CLI command describe-vpc-endpoints.

*
CloudFront distribution

Specify the domain name that * CloudFront assigned when you created your distribution.

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 * acme.example.com, your CloudFront distribution must include * acme.example.com as one of the alternate domain names. For more * information, see Using * Alternate Domain Names (CNAMEs) in the Amazon CloudFront Developer * Guide.

You can't create a resource record set in a private hosted * zone to route traffic to a CloudFront distribution.

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.

Elastic Beanstalk environment
*

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 * my-environment.us-west-2.elasticbeanstalk.com is a * regionalized domain name.

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.

For Elastic Beanstalk environments * that have regionalized subdomains, specify the CNAME attribute for * the environment. You can use the following methods to get the value of the CNAME * attribute:

  • AWS Management Console: For information * about how to get the value by using the console, see Using * Custom Domains with AWS Elastic Beanstalk in the AWS Elastic Beanstalk * Developer Guide.

  • Elastic Beanstalk API: Use the * DescribeEnvironments action to get the value of the * CNAME attribute. For more information, see DescribeEnvironments * in the AWS Elastic Beanstalk API Reference.

  • AWS * CLI: Use the describe-environments command to get the value of * the CNAME attribute. For more information, see describe-environments * in the AWS CLI Command Reference.

ELB load * balancer

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.

  • AWS Management Console: Go to the EC2 * page, choose Load Balancers in the navigation pane, choose the load * balancer, choose the Description tab, and get the value of the DNS * name field.

    If you're routing traffic to a Classic Load Balancer, * get the value that begins with dualstack. If you're routing traffic to * another type of load balancer, get the value that applies to the record type, A * or AAAA.

  • Elastic Load Balancing API: Use * DescribeLoadBalancers to get the value of DNSName. For * more information, see the applicable guide:

  • AWS CLI: Use * describe-load-balancers to get the value of DNSName. * For more information, see the applicable guide:

AWS Global Accelerator accelerator
*

Specify the DNS name for your accelerator:

Amazon S3 bucket that is configured as a static * website

Specify the domain name of the Amazon S3 website endpoint * that you created the bucket in, for example, * s3-website.us-east-2.amazonaws.com. For more information about * valid values, see the table Amazon * S3 Website Endpoints in the Amazon Web Services General Reference. * For more information about using S3 buckets for websites, see Getting * Started with Amazon Route 53 in the Amazon Route 53 Developer Guide. *

Another Route 53 resource record set

Specify the * value of the Name element for a resource record set in the current * hosted zone.

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 Type is * CNAME. 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.

*/ inline void SetDNSName(const Aws::String& value) { m_dNSNameHasBeenSet = true; m_dNSName = value; } /** *

Alias resource record sets only: The value that you specify depends * on where you want to route queries:

Amazon API Gateway custom * regional APIs and edge-optimized APIs

Specify the applicable domain * name for your API. You can get the applicable value using the AWS CLI command get-domain-names:

*
  • For regional APIs, specify the value of * regionalDomainName.

  • For edge-optimized APIs, * specify the value of distributionDomainName. This is the name of * the associated CloudFront distribution, such as * da1b2c3d4e5.cloudfront.net.

The name of * the record that you're creating must match a custom domain name for your API, * such as api.example.com.

Amazon Virtual * Private Cloud interface VPC endpoint

Enter the API endpoint for the * interface endpoint, such as * vpce-123456789abcdef01-example-us-east-1a.elasticloadbalancing.us-east-1.vpce.amazonaws.com. * For edge-optimized APIs, this is the domain name for the corresponding * CloudFront distribution. You can get the value of DnsName using the * AWS CLI command describe-vpc-endpoints.

*
CloudFront distribution

Specify the domain name that * CloudFront assigned when you created your distribution.

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 * acme.example.com, your CloudFront distribution must include * acme.example.com as one of the alternate domain names. For more * information, see Using * Alternate Domain Names (CNAMEs) in the Amazon CloudFront Developer * Guide.

You can't create a resource record set in a private hosted * zone to route traffic to a CloudFront distribution.

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.

Elastic Beanstalk environment
*

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 * my-environment.us-west-2.elasticbeanstalk.com is a * regionalized domain name.

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.

For Elastic Beanstalk environments * that have regionalized subdomains, specify the CNAME attribute for * the environment. You can use the following methods to get the value of the CNAME * attribute:

  • AWS Management Console: For information * about how to get the value by using the console, see Using * Custom Domains with AWS Elastic Beanstalk in the AWS Elastic Beanstalk * Developer Guide.

  • Elastic Beanstalk API: Use the * DescribeEnvironments action to get the value of the * CNAME attribute. For more information, see DescribeEnvironments * in the AWS Elastic Beanstalk API Reference.

  • AWS * CLI: Use the describe-environments command to get the value of * the CNAME attribute. For more information, see describe-environments * in the AWS CLI Command Reference.

ELB load * balancer

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.

  • AWS Management Console: Go to the EC2 * page, choose Load Balancers in the navigation pane, choose the load * balancer, choose the Description tab, and get the value of the DNS * name field.

    If you're routing traffic to a Classic Load Balancer, * get the value that begins with dualstack. If you're routing traffic to * another type of load balancer, get the value that applies to the record type, A * or AAAA.

  • Elastic Load Balancing API: Use * DescribeLoadBalancers to get the value of DNSName. For * more information, see the applicable guide:

  • AWS CLI: Use * describe-load-balancers to get the value of DNSName. * For more information, see the applicable guide:

AWS Global Accelerator accelerator
*

Specify the DNS name for your accelerator:

Amazon S3 bucket that is configured as a static * website

Specify the domain name of the Amazon S3 website endpoint * that you created the bucket in, for example, * s3-website.us-east-2.amazonaws.com. For more information about * valid values, see the table Amazon * S3 Website Endpoints in the Amazon Web Services General Reference. * For more information about using S3 buckets for websites, see Getting * Started with Amazon Route 53 in the Amazon Route 53 Developer Guide. *

Another Route 53 resource record set

Specify the * value of the Name element for a resource record set in the current * hosted zone.

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 Type is * CNAME. 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.

*/ inline void SetDNSName(Aws::String&& value) { m_dNSNameHasBeenSet = true; m_dNSName = std::move(value); } /** *

Alias resource record sets only: The value that you specify depends * on where you want to route queries:

Amazon API Gateway custom * regional APIs and edge-optimized APIs

Specify the applicable domain * name for your API. You can get the applicable value using the AWS CLI command get-domain-names:

*
  • For regional APIs, specify the value of * regionalDomainName.

  • For edge-optimized APIs, * specify the value of distributionDomainName. This is the name of * the associated CloudFront distribution, such as * da1b2c3d4e5.cloudfront.net.

The name of * the record that you're creating must match a custom domain name for your API, * such as api.example.com.

Amazon Virtual * Private Cloud interface VPC endpoint

Enter the API endpoint for the * interface endpoint, such as * vpce-123456789abcdef01-example-us-east-1a.elasticloadbalancing.us-east-1.vpce.amazonaws.com. * For edge-optimized APIs, this is the domain name for the corresponding * CloudFront distribution. You can get the value of DnsName using the * AWS CLI command describe-vpc-endpoints.

*
CloudFront distribution

Specify the domain name that * CloudFront assigned when you created your distribution.

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 * acme.example.com, your CloudFront distribution must include * acme.example.com as one of the alternate domain names. For more * information, see Using * Alternate Domain Names (CNAMEs) in the Amazon CloudFront Developer * Guide.

You can't create a resource record set in a private hosted * zone to route traffic to a CloudFront distribution.

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.

Elastic Beanstalk environment
*

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 * my-environment.us-west-2.elasticbeanstalk.com is a * regionalized domain name.

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.

For Elastic Beanstalk environments * that have regionalized subdomains, specify the CNAME attribute for * the environment. You can use the following methods to get the value of the CNAME * attribute:

  • AWS Management Console: For information * about how to get the value by using the console, see Using * Custom Domains with AWS Elastic Beanstalk in the AWS Elastic Beanstalk * Developer Guide.

  • Elastic Beanstalk API: Use the * DescribeEnvironments action to get the value of the * CNAME attribute. For more information, see DescribeEnvironments * in the AWS Elastic Beanstalk API Reference.

  • AWS * CLI: Use the describe-environments command to get the value of * the CNAME attribute. For more information, see describe-environments * in the AWS CLI Command Reference.

ELB load * balancer

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.

  • AWS Management Console: Go to the EC2 * page, choose Load Balancers in the navigation pane, choose the load * balancer, choose the Description tab, and get the value of the DNS * name field.

    If you're routing traffic to a Classic Load Balancer, * get the value that begins with dualstack. If you're routing traffic to * another type of load balancer, get the value that applies to the record type, A * or AAAA.

  • Elastic Load Balancing API: Use * DescribeLoadBalancers to get the value of DNSName. For * more information, see the applicable guide:

  • AWS CLI: Use * describe-load-balancers to get the value of DNSName. * For more information, see the applicable guide:

AWS Global Accelerator accelerator
*

Specify the DNS name for your accelerator:

Amazon S3 bucket that is configured as a static * website

Specify the domain name of the Amazon S3 website endpoint * that you created the bucket in, for example, * s3-website.us-east-2.amazonaws.com. For more information about * valid values, see the table Amazon * S3 Website Endpoints in the Amazon Web Services General Reference. * For more information about using S3 buckets for websites, see Getting * Started with Amazon Route 53 in the Amazon Route 53 Developer Guide. *

Another Route 53 resource record set

Specify the * value of the Name element for a resource record set in the current * hosted zone.

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 Type is * CNAME. 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.

*/ inline void SetDNSName(const char* value) { m_dNSNameHasBeenSet = true; m_dNSName.assign(value); } /** *

Alias resource record sets only: The value that you specify depends * on where you want to route queries:

Amazon API Gateway custom * regional APIs and edge-optimized APIs

Specify the applicable domain * name for your API. You can get the applicable value using the AWS CLI command get-domain-names:

*
  • For regional APIs, specify the value of * regionalDomainName.

  • For edge-optimized APIs, * specify the value of distributionDomainName. This is the name of * the associated CloudFront distribution, such as * da1b2c3d4e5.cloudfront.net.

The name of * the record that you're creating must match a custom domain name for your API, * such as api.example.com.

Amazon Virtual * Private Cloud interface VPC endpoint

Enter the API endpoint for the * interface endpoint, such as * vpce-123456789abcdef01-example-us-east-1a.elasticloadbalancing.us-east-1.vpce.amazonaws.com. * For edge-optimized APIs, this is the domain name for the corresponding * CloudFront distribution. You can get the value of DnsName using the * AWS CLI command describe-vpc-endpoints.

*
CloudFront distribution

Specify the domain name that * CloudFront assigned when you created your distribution.

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 * acme.example.com, your CloudFront distribution must include * acme.example.com as one of the alternate domain names. For more * information, see Using * Alternate Domain Names (CNAMEs) in the Amazon CloudFront Developer * Guide.

You can't create a resource record set in a private hosted * zone to route traffic to a CloudFront distribution.

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.

Elastic Beanstalk environment
*

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 * my-environment.us-west-2.elasticbeanstalk.com is a * regionalized domain name.

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.

For Elastic Beanstalk environments * that have regionalized subdomains, specify the CNAME attribute for * the environment. You can use the following methods to get the value of the CNAME * attribute:

  • AWS Management Console: For information * about how to get the value by using the console, see Using * Custom Domains with AWS Elastic Beanstalk in the AWS Elastic Beanstalk * Developer Guide.

  • Elastic Beanstalk API: Use the * DescribeEnvironments action to get the value of the * CNAME attribute. For more information, see DescribeEnvironments * in the AWS Elastic Beanstalk API Reference.

  • AWS * CLI: Use the describe-environments command to get the value of * the CNAME attribute. For more information, see describe-environments * in the AWS CLI Command Reference.

ELB load * balancer

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.

  • AWS Management Console: Go to the EC2 * page, choose Load Balancers in the navigation pane, choose the load * balancer, choose the Description tab, and get the value of the DNS * name field.

    If you're routing traffic to a Classic Load Balancer, * get the value that begins with dualstack. If you're routing traffic to * another type of load balancer, get the value that applies to the record type, A * or AAAA.

  • Elastic Load Balancing API: Use * DescribeLoadBalancers to get the value of DNSName. For * more information, see the applicable guide:

  • AWS CLI: Use * describe-load-balancers to get the value of DNSName. * For more information, see the applicable guide:

AWS Global Accelerator accelerator
*

Specify the DNS name for your accelerator:

Amazon S3 bucket that is configured as a static * website

Specify the domain name of the Amazon S3 website endpoint * that you created the bucket in, for example, * s3-website.us-east-2.amazonaws.com. For more information about * valid values, see the table Amazon * S3 Website Endpoints in the Amazon Web Services General Reference. * For more information about using S3 buckets for websites, see Getting * Started with Amazon Route 53 in the Amazon Route 53 Developer Guide. *

Another Route 53 resource record set

Specify the * value of the Name element for a resource record set in the current * hosted zone.

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 Type is * CNAME. 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.

*/ inline AliasTarget& WithDNSName(const Aws::String& value) { SetDNSName(value); return *this;} /** *

Alias resource record sets only: The value that you specify depends * on where you want to route queries:

Amazon API Gateway custom * regional APIs and edge-optimized APIs

Specify the applicable domain * name for your API. You can get the applicable value using the AWS CLI command get-domain-names:

*
  • For regional APIs, specify the value of * regionalDomainName.

  • For edge-optimized APIs, * specify the value of distributionDomainName. This is the name of * the associated CloudFront distribution, such as * da1b2c3d4e5.cloudfront.net.

The name of * the record that you're creating must match a custom domain name for your API, * such as api.example.com.

Amazon Virtual * Private Cloud interface VPC endpoint

Enter the API endpoint for the * interface endpoint, such as * vpce-123456789abcdef01-example-us-east-1a.elasticloadbalancing.us-east-1.vpce.amazonaws.com. * For edge-optimized APIs, this is the domain name for the corresponding * CloudFront distribution. You can get the value of DnsName using the * AWS CLI command describe-vpc-endpoints.

*
CloudFront distribution

Specify the domain name that * CloudFront assigned when you created your distribution.

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 * acme.example.com, your CloudFront distribution must include * acme.example.com as one of the alternate domain names. For more * information, see Using * Alternate Domain Names (CNAMEs) in the Amazon CloudFront Developer * Guide.

You can't create a resource record set in a private hosted * zone to route traffic to a CloudFront distribution.

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.

Elastic Beanstalk environment
*

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 * my-environment.us-west-2.elasticbeanstalk.com is a * regionalized domain name.

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.

For Elastic Beanstalk environments * that have regionalized subdomains, specify the CNAME attribute for * the environment. You can use the following methods to get the value of the CNAME * attribute:

  • AWS Management Console: For information * about how to get the value by using the console, see Using * Custom Domains with AWS Elastic Beanstalk in the AWS Elastic Beanstalk * Developer Guide.

  • Elastic Beanstalk API: Use the * DescribeEnvironments action to get the value of the * CNAME attribute. For more information, see DescribeEnvironments * in the AWS Elastic Beanstalk API Reference.

  • AWS * CLI: Use the describe-environments command to get the value of * the CNAME attribute. For more information, see describe-environments * in the AWS CLI Command Reference.

ELB load * balancer

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.

  • AWS Management Console: Go to the EC2 * page, choose Load Balancers in the navigation pane, choose the load * balancer, choose the Description tab, and get the value of the DNS * name field.

    If you're routing traffic to a Classic Load Balancer, * get the value that begins with dualstack. If you're routing traffic to * another type of load balancer, get the value that applies to the record type, A * or AAAA.

  • Elastic Load Balancing API: Use * DescribeLoadBalancers to get the value of DNSName. For * more information, see the applicable guide:

  • AWS CLI: Use * describe-load-balancers to get the value of DNSName. * For more information, see the applicable guide:

AWS Global Accelerator accelerator
*

Specify the DNS name for your accelerator:

Amazon S3 bucket that is configured as a static * website

Specify the domain name of the Amazon S3 website endpoint * that you created the bucket in, for example, * s3-website.us-east-2.amazonaws.com. For more information about * valid values, see the table Amazon * S3 Website Endpoints in the Amazon Web Services General Reference. * For more information about using S3 buckets for websites, see Getting * Started with Amazon Route 53 in the Amazon Route 53 Developer Guide. *

Another Route 53 resource record set

Specify the * value of the Name element for a resource record set in the current * hosted zone.

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 Type is * CNAME. 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.

*/ inline AliasTarget& WithDNSName(Aws::String&& value) { SetDNSName(std::move(value)); return *this;} /** *

Alias resource record sets only: The value that you specify depends * on where you want to route queries:

Amazon API Gateway custom * regional APIs and edge-optimized APIs

Specify the applicable domain * name for your API. You can get the applicable value using the AWS CLI command get-domain-names:

*
  • For regional APIs, specify the value of * regionalDomainName.

  • For edge-optimized APIs, * specify the value of distributionDomainName. This is the name of * the associated CloudFront distribution, such as * da1b2c3d4e5.cloudfront.net.

The name of * the record that you're creating must match a custom domain name for your API, * such as api.example.com.

Amazon Virtual * Private Cloud interface VPC endpoint

Enter the API endpoint for the * interface endpoint, such as * vpce-123456789abcdef01-example-us-east-1a.elasticloadbalancing.us-east-1.vpce.amazonaws.com. * For edge-optimized APIs, this is the domain name for the corresponding * CloudFront distribution. You can get the value of DnsName using the * AWS CLI command describe-vpc-endpoints.

*
CloudFront distribution

Specify the domain name that * CloudFront assigned when you created your distribution.

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 * acme.example.com, your CloudFront distribution must include * acme.example.com as one of the alternate domain names. For more * information, see Using * Alternate Domain Names (CNAMEs) in the Amazon CloudFront Developer * Guide.

You can't create a resource record set in a private hosted * zone to route traffic to a CloudFront distribution.

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.

Elastic Beanstalk environment
*

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 * my-environment.us-west-2.elasticbeanstalk.com is a * regionalized domain name.

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.

For Elastic Beanstalk environments * that have regionalized subdomains, specify the CNAME attribute for * the environment. You can use the following methods to get the value of the CNAME * attribute:

  • AWS Management Console: For information * about how to get the value by using the console, see Using * Custom Domains with AWS Elastic Beanstalk in the AWS Elastic Beanstalk * Developer Guide.

  • Elastic Beanstalk API: Use the * DescribeEnvironments action to get the value of the * CNAME attribute. For more information, see DescribeEnvironments * in the AWS Elastic Beanstalk API Reference.

  • AWS * CLI: Use the describe-environments command to get the value of * the CNAME attribute. For more information, see describe-environments * in the AWS CLI Command Reference.

ELB load * balancer

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.

  • AWS Management Console: Go to the EC2 * page, choose Load Balancers in the navigation pane, choose the load * balancer, choose the Description tab, and get the value of the DNS * name field.

    If you're routing traffic to a Classic Load Balancer, * get the value that begins with dualstack. If you're routing traffic to * another type of load balancer, get the value that applies to the record type, A * or AAAA.

  • Elastic Load Balancing API: Use * DescribeLoadBalancers to get the value of DNSName. For * more information, see the applicable guide:

  • AWS CLI: Use * describe-load-balancers to get the value of DNSName. * For more information, see the applicable guide:

AWS Global Accelerator accelerator
*

Specify the DNS name for your accelerator:

Amazon S3 bucket that is configured as a static * website

Specify the domain name of the Amazon S3 website endpoint * that you created the bucket in, for example, * s3-website.us-east-2.amazonaws.com. For more information about * valid values, see the table Amazon * S3 Website Endpoints in the Amazon Web Services General Reference. * For more information about using S3 buckets for websites, see Getting * Started with Amazon Route 53 in the Amazon Route 53 Developer Guide. *

Another Route 53 resource record set

Specify the * value of the Name element for a resource record set in the current * hosted zone.

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 Type is * CNAME. 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.

*/ inline AliasTarget& WithDNSName(const char* value) { SetDNSName(value); return *this;} /** *

Applies only to alias, failover alias, geolocation alias, latency alias, * and weighted alias resource record sets: When * EvaluateTargetHealth is true, 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.

Note the * following:

CloudFront distributions

You can't set * EvaluateTargetHealth to true when the alias target is * a CloudFront distribution.

Elastic Beanstalk environments that * have regionalized subdomains

If you specify an Elastic Beanstalk * environment in DNSName 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 EvaluateTargetHealth to true * 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.

If the environment contains a single Amazon EC2 * instance, there are no special requirements.

ELB load * balancers

Health checking behavior depends on the type of load * balancer:

  • Classic Load Balancers: If you specify an ELB * Classic Load Balancer in DNSName, Elastic Load Balancing routes * queries only to the healthy Amazon EC2 instances that are registered with the * load balancer. If you set EvaluateTargetHealth to true * and either no EC2 instances are healthy or the load balancer itself is * unhealthy, Route 53 routes queries to other resources.

  • * Application and Network Load Balancers: If you specify an ELB Application * or Network Load Balancer and you set EvaluateTargetHealth to * true, Route 53 routes queries to the load balancer based on the * health of the target groups that are associated with the load balancer:

      *
    • 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.

      *
    • A target group that has no registered targets is considered * unhealthy.

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.

S3 buckets

There are no * special requirements for setting EvaluateTargetHealth to * true when the alias target is an S3 bucket.

Other * records in the same hosted zone

If the AWS resource that you * specify in DNSName 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 What * Happens When You Omit Health Checks? in the Amazon Route 53 Developer * Guide.

For more information and examples, see Amazon * Route 53 Health Checks and DNS Failover in the Amazon Route 53 Developer * Guide.

*/ inline bool GetEvaluateTargetHealth() const{ return m_evaluateTargetHealth; } /** *

Applies only to alias, failover alias, geolocation alias, latency alias, * and weighted alias resource record sets: When * EvaluateTargetHealth is true, 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.

Note the * following:

CloudFront distributions

You can't set * EvaluateTargetHealth to true when the alias target is * a CloudFront distribution.

Elastic Beanstalk environments that * have regionalized subdomains

If you specify an Elastic Beanstalk * environment in DNSName 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 EvaluateTargetHealth to true * 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.

If the environment contains a single Amazon EC2 * instance, there are no special requirements.

ELB load * balancers

Health checking behavior depends on the type of load * balancer:

  • Classic Load Balancers: If you specify an ELB * Classic Load Balancer in DNSName, Elastic Load Balancing routes * queries only to the healthy Amazon EC2 instances that are registered with the * load balancer. If you set EvaluateTargetHealth to true * and either no EC2 instances are healthy or the load balancer itself is * unhealthy, Route 53 routes queries to other resources.

  • * Application and Network Load Balancers: If you specify an ELB Application * or Network Load Balancer and you set EvaluateTargetHealth to * true, Route 53 routes queries to the load balancer based on the * health of the target groups that are associated with the load balancer:

      *
    • 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.

      *
    • A target group that has no registered targets is considered * unhealthy.

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.

S3 buckets

There are no * special requirements for setting EvaluateTargetHealth to * true when the alias target is an S3 bucket.

Other * records in the same hosted zone

If the AWS resource that you * specify in DNSName 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 What * Happens When You Omit Health Checks? in the Amazon Route 53 Developer * Guide.

For more information and examples, see Amazon * Route 53 Health Checks and DNS Failover in the Amazon Route 53 Developer * Guide.

*/ inline bool EvaluateTargetHealthHasBeenSet() const { return m_evaluateTargetHealthHasBeenSet; } /** *

Applies only to alias, failover alias, geolocation alias, latency alias, * and weighted alias resource record sets: When * EvaluateTargetHealth is true, 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.

Note the * following:

CloudFront distributions

You can't set * EvaluateTargetHealth to true when the alias target is * a CloudFront distribution.

Elastic Beanstalk environments that * have regionalized subdomains

If you specify an Elastic Beanstalk * environment in DNSName 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 EvaluateTargetHealth to true * 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.

If the environment contains a single Amazon EC2 * instance, there are no special requirements.

ELB load * balancers

Health checking behavior depends on the type of load * balancer:

  • Classic Load Balancers: If you specify an ELB * Classic Load Balancer in DNSName, Elastic Load Balancing routes * queries only to the healthy Amazon EC2 instances that are registered with the * load balancer. If you set EvaluateTargetHealth to true * and either no EC2 instances are healthy or the load balancer itself is * unhealthy, Route 53 routes queries to other resources.

  • * Application and Network Load Balancers: If you specify an ELB Application * or Network Load Balancer and you set EvaluateTargetHealth to * true, Route 53 routes queries to the load balancer based on the * health of the target groups that are associated with the load balancer:

      *
    • 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.

      *
    • A target group that has no registered targets is considered * unhealthy.

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.

S3 buckets

There are no * special requirements for setting EvaluateTargetHealth to * true when the alias target is an S3 bucket.

Other * records in the same hosted zone

If the AWS resource that you * specify in DNSName 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 What * Happens When You Omit Health Checks? in the Amazon Route 53 Developer * Guide.

For more information and examples, see Amazon * Route 53 Health Checks and DNS Failover in the Amazon Route 53 Developer * Guide.

*/ inline void SetEvaluateTargetHealth(bool value) { m_evaluateTargetHealthHasBeenSet = true; m_evaluateTargetHealth = value; } /** *

Applies only to alias, failover alias, geolocation alias, latency alias, * and weighted alias resource record sets: When * EvaluateTargetHealth is true, 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.

Note the * following:

CloudFront distributions

You can't set * EvaluateTargetHealth to true when the alias target is * a CloudFront distribution.

Elastic Beanstalk environments that * have regionalized subdomains

If you specify an Elastic Beanstalk * environment in DNSName 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 EvaluateTargetHealth to true * 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.

If the environment contains a single Amazon EC2 * instance, there are no special requirements.

ELB load * balancers

Health checking behavior depends on the type of load * balancer:

  • Classic Load Balancers: If you specify an ELB * Classic Load Balancer in DNSName, Elastic Load Balancing routes * queries only to the healthy Amazon EC2 instances that are registered with the * load balancer. If you set EvaluateTargetHealth to true * and either no EC2 instances are healthy or the load balancer itself is * unhealthy, Route 53 routes queries to other resources.

  • * Application and Network Load Balancers: If you specify an ELB Application * or Network Load Balancer and you set EvaluateTargetHealth to * true, Route 53 routes queries to the load balancer based on the * health of the target groups that are associated with the load balancer:

      *
    • 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.

      *
    • A target group that has no registered targets is considered * unhealthy.

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.

S3 buckets

There are no * special requirements for setting EvaluateTargetHealth to * true when the alias target is an S3 bucket.

Other * records in the same hosted zone

If the AWS resource that you * specify in DNSName 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 What * Happens When You Omit Health Checks? in the Amazon Route 53 Developer * Guide.

For more information and examples, see Amazon * Route 53 Health Checks and DNS Failover in the Amazon Route 53 Developer * Guide.

*/ 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