UNPKG

@aws-sdk/client-route-53

Version:

AWS SDK for JavaScript Route 53 Client for Node.js, Browser and React Native

973 lines 285 kB
import type { AcceleratedRecoveryStatus, AccountLimitType, ChangeAction, ChangeStatus, CidrCollectionChangeAction, CloudWatchRegion, ComparisonOperator, HealthCheckRegion, HealthCheckType, HostedZoneLimitType, HostedZoneType, InsufficientDataHealthStatus, ResettableElementName, ResourceRecordSetFailover, ResourceRecordSetRegion, ReusableDelegationSetLimitType, RRType, Statistic, TagResourceType, VPCRegion } from "./enums"; /** * <p>A complex type that contains the type of limit that you specified in the request and * the current value for that limit.</p> * @public */ export interface AccountLimit { /** * <p>The limit that you requested. Valid values include the following:</p> * <ul> * <li> * <p> * <b>MAX_HEALTH_CHECKS_BY_OWNER</b>: The maximum * number of health checks that you can create using the current account.</p> * </li> * <li> * <p> * <b>MAX_HOSTED_ZONES_BY_OWNER</b>: The maximum number * of hosted zones that you can create using the current account.</p> * </li> * <li> * <p> * <b>MAX_REUSABLE_DELEGATION_SETS_BY_OWNER</b>: The * maximum number of reusable delegation sets that you can create using the current * account.</p> * </li> * <li> * <p> * <b>MAX_TRAFFIC_POLICIES_BY_OWNER</b>: The maximum * number of traffic policies that you can create using the current account.</p> * </li> * <li> * <p> * <b>MAX_TRAFFIC_POLICY_INSTANCES_BY_OWNER</b>: The * maximum number of traffic policy instances that you can create using the current * account. (Traffic policy instances are referred to as traffic flow policy * records in the Amazon Route 53 console.)</p> * </li> * </ul> * @public */ Type: AccountLimitType | undefined; /** * <p>The current value for the limit that is specified by <a href="https://docs.aws.amazon.com/Route53/latest/APIReference/API_AccountLimit.html#Route53-Type-AccountLimit-Type">Type</a>.</p> * @public */ Value: number | undefined; } /** * @public */ export interface ActivateKeySigningKeyRequest { /** * <p>A unique string used to identify a hosted zone.</p> * @public */ HostedZoneId: string | undefined; /** * <p>A string used to identify a key-signing key (KSK). <code>Name</code> can include * numbers, letters, and underscores (_). <code>Name</code> must be unique for each * key-signing key in the same hosted zone.</p> * @public */ Name: string | undefined; } /** * <p>A complex type that describes change information about changes made to your hosted * zone.</p> * @public */ export interface ChangeInfo { /** * <p>This element contains an ID that you use when performing a <a href="https://docs.aws.amazon.com/Route53/latest/APIReference/API_GetChange.html">GetChange</a> action to get * detailed information about the change.</p> * @public */ Id: string | undefined; /** * <p>The current state of the request. <code>PENDING</code> indicates that this request has * not yet been applied to all Amazon Route 53 DNS servers.</p> * @public */ Status: ChangeStatus | undefined; /** * <p>The date and time that the change request was submitted in <a href="https://en.wikipedia.org/wiki/ISO_8601">ISO 8601 format</a> and Coordinated * Universal Time (UTC). For example, the value <code>2017-03-27T17:48:16.751Z</code> * represents March 27, 2017 at 17:48:16.751 UTC.</p> * @public */ SubmittedAt: Date | undefined; /** * <p>A comment you can provide.</p> * @public */ Comment?: string | undefined; } /** * @public */ export interface ActivateKeySigningKeyResponse { /** * <p>A complex type that describes change information about changes made to your hosted * zone.</p> * @public */ ChangeInfo: ChangeInfo | undefined; } /** * <p>A complex type that identifies the CloudWatch alarm that you want Amazon Route 53 * health checkers to use to determine whether the specified health check is * healthy.</p> * @public */ export interface AlarmIdentifier { /** * <p>For the CloudWatch alarm that you want Route 53 health checkers to use to determine * whether this health check is healthy, the region that the alarm was created in.</p> * <p>For the current list of CloudWatch regions, see <a href="https://docs.aws.amazon.com/general/latest/gr/cw_region.html">Amazon CloudWatch endpoints and * quotas</a> in the <i>Amazon Web Services General * Reference</i>.</p> * @public */ Region: CloudWatchRegion | undefined; /** * <p>The name of the CloudWatch alarm that you want Amazon Route 53 health checkers to use * to determine whether this health check is healthy.</p> * <note> * <p>Route 53 supports CloudWatch alarms with the following features:</p> * <ul> * <li> * <p>Standard-resolution metrics. High-resolution metrics aren't supported. For * more information, see <a href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/publishingMetrics.html#high-resolution-metrics">High-Resolution Metrics</a> in the <i>Amazon CloudWatch User * Guide</i>.</p> * </li> * <li> * <p>Statistics: Average, Minimum, Maximum, Sum, and SampleCount. Extended * statistics aren't supported.</p> * </li> * </ul> * </note> * @public */ Name: string | undefined; } /** * <p> * <i>Alias resource record sets only:</i> Information about the Amazon Web Services 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>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> * @public */ export interface AliasTarget { /** * <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 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 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> * <note> * <p>Alias resource record sets for CloudFront can't be created in a * private zone.</p> * </note> * </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/elasticbeanstalk.html">Elastic Beanstalk * endpoints and quotas</a> in 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">Elastic Load Balancing endpoints and quotas</a> 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>Amazon Web Services 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>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>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> * @public */ HostedZoneId: string | undefined; /** * <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 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> * <note> * <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> * </note> * </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 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> * <note> * <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> * </note> * </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> * <important> * <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> * </important> * <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>Amazon Web Services 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 Elastic Beanstalk</a> in the * <i>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>Elastic Beanstalk API Reference</i>.</p> * </li> * <li> * <p> * <i>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>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 Amazon Web Services Management Console, the ELB API, or the CLI. </p> * <ul> * <li> * <p> * <b>Amazon Web Services 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>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>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>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> * <note> * <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> * </note> * </dd> * </dl> * @public */ DNSName: string | undefined; /** * <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 Amazon Web Services 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> * <note> * <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> * </note> * </dd> * <dt>API Gateway APIs</dt> * <dd> * <p>There are no special requirements for setting * <code>EvaluateTargetHealth</code> to <code>true</code> when the alias * target is an API Gateway API. However, because API Gateway is highly * available by design, <code>EvaluateTargetHealth</code> provides no * operational benefit and <a href="https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html">Route 53 health * checks</a> are recommended instead for failover scenarios.</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. However, because S3 buckets are highly available by * design, <code>EvaluateTargetHealth</code> provides no operational benefit * and <a href="https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html">Route 53 health * checks</a> are recommended instead for failover scenarios.</p> * </dd> * <dt>VPC interface endpoints</dt> * <dd> * <p>There are no special requirements for setting * <code>EvaluateTargetHealth</code> to <code>true</code> when the alias * target is a VPC interface endpoint. However, because VPC interface endpoints * are highly available by design, <code>EvaluateTargetHealth</code> provides * no operational benefit and <a href="https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html">Route 53 health * checks</a> are recommended instead for failover scenarios.</p> * </dd> * <dt>Other records in the same hosted zone</dt> * <dd> * <p>If the Amazon Web Services 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> * <note> * <p>While <code>EvaluateTargetHealth</code> can be set to <code>true</code> for highly * available Amazon Web Services services (such as S3 buckets, VPC interface endpoints, * and API Gateway), these services are designed for high availability and rarely * experience outages that would be detected by this feature. For failover scenarios * with these services, consider using <a href="https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html">Route 53 health * checks</a> that monitor your application's ability to access the service * instead.</p> * </note> * <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> * @public */ EvaluateTargetHealth: boolean | undefined; } /** * <p>(Private hosted zones only) A complex type that contains information about an Amazon VPC.</p> * <p>If you associate a private hosted zone with an Amazon VPC when you make a * <a href="https://docs.aws.amazon.com/Route53/latest/APIReference/API_CreateHostedZone.html">CreateHostedZone</a> * request, the following parameters are also required.</p> * @public */ export interface VPC { /** * <p>(Private hosted zones only) The region that an Amazon VPC was created * in.</p> * @public */ VPCRegion?: VPCRegion | undefined; /** * <p>(Private hosted zones only) The ID of an Amazon VPC. </p> * @public */ VPCId?: string | undefined; } /** * <p>A complex type that contains information about the request to associate a VPC with a * private hosted zone.</p> * @public */ export interface AssociateVPCWithHostedZoneRequest { /** * <p>The ID of the private hosted zone that you want to associate an Amazon VPC * with.</p> * <p>Note that you can't associate a VPC with a hosted zone that doesn't have an existing * VPC association.</p> * @public */ HostedZoneId: string | undefined; /** * <p>A complex type that contains information about the VPC that you want to associate with * a private hosted zone.</p> * @public */ VPC: VPC | undefined; /** * <p> * <i>Optional:</i> A comment about the association request.</p> * @public */ Comment?: string | undefined; } /** * <p>A complex type that contains the response information for the * <code>AssociateVPCWithHostedZone</code> request.</p> * @public */ export interface AssociateVPCWithHostedZoneResponse { /** * <p>A complex type that describes the changes made to your hosted zone.</p> * @public */ ChangeInfo: ChangeInfo | undefined; } /** * <p>A complex type that contains information about the CIDR collection change.</p> * @public */ export interface CidrCollectionChange { /** * <p>Name of the location that is associated with the CIDR collection.</p> * @public */ LocationName: string | undefined; /** * <p>CIDR collection change action. </p> * @public */ Action: CidrCollectionChangeAction | undefined; /** * <p>List of CIDR blocks.</p> * @public */ CidrList: string[] | undefined; } /** * @public */ export interface ChangeCidrCollectionRequest { /** * <p>The UUID of the CIDR collection to update.</p> * @public */ Id: string | undefined; /** * <p>A sequential counter that Amazon Route 53 sets to 1 when you create a * collection and increments it by 1 each time you update the collection.</p> * <p>We recommend that you use <code>ListCidrCollection</code> to get the current value of * <code>CollectionVersion</code> for the collection that you want to update, and then * include that value with the change request. This prevents Route 53 from * overwriting an intervening update: </p> * <ul> * <li> * <p>If the value in the request matches the value of * <code>CollectionVersion</code> in the collection, Route 53 updates * the collection.</p> * </li> * <li> * <p>If the value of <code>CollectionVersion</code> in the collection is greater * than the value in the request, the collection was changed after you got the * version number. Route 53 does not update the collection, and it * returns a <code>CidrCollectionVersionMismatch</code> error. </p> * </li> * </ul> * @public */ CollectionVersion?: number | undefined; /** * <p> Information about changes to a CIDR collection.</p> * @public */ Changes: CidrCollectionChange[] | undefined; } /** * @public */ export interface ChangeCidrCollectionResponse { /** * <p>The ID that is returned by <code>ChangeCidrCollection</code>. You can use it as input to * <code>GetChange</code> to see if a CIDR collection change has propagated or * not.</p> * @public */ Id: string | undefined; } /** * <p>The object that is specified in resource record set object when you are linking a * resource record set to a CIDR location.</p> * <p>A <code>LocationName</code> with an asterisk “*” can be used to create a default CIDR * record. <code>CollectionId</code> is still required for default record.</p> * @public */ export interface CidrRoutingConfig { /** * <p>The CIDR collection ID.</p> * @public */ CollectionId: string | undefined; /** * <p>The CIDR collection location name.</p> * @public */ LocationName: string | undefined; } /** * <p>A complex type that contains information about a geographic location.</p> * @public */ export interface GeoLocation { /** * <p>The two-letter code for the continent.</p> * <p>Amazon Route 53 supports the following continent codes:</p> * <ul> * <li> * <p> * <b>AF</b>: Africa</p> * </li> * <li> * <p> * <b>AN</b>: Antarctica</p> * </li> * <li> * <p> * <b>AS</b>: Asia</p> * </li> * <li> * <p> * <b>EU</b>: Europe</p> * </li> * <li> * <p> * <b>OC</b>: Oceania</p> * </li> * <li> * <p> * <b>NA</b>: North America</p> * </li> * <li> * <p> * <b>SA</b>: South America</p> * </li> * </ul> * <p>Constraint: Specifying <code>ContinentCode</code> with either <code>CountryCode</code> * or <code>SubdivisionCode</code> returns an <code>InvalidInput</code> error.</p> * @public */ ContinentCode?: string | undefined; /** * <p>For geolocation resource record sets, the two-letter code for a country.</p> * <p>Amazon Route 53 uses the two-letter country codes that are specified in <a href="https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2">ISO standard 3166-1 * alpha-2</a>.</p> * <p>Route 53 also supports the country code <b>UA</b> for * Ukraine.</p> * @public */ CountryCode?: string | undefined; /** * <p>For geolocation resource record sets, the two-letter code for a state of the United * States. Route 53 doesn't support any other values for <code>SubdivisionCode</code>. For * a list of state abbreviations, see <a href="https://pe.usps.com/text/pub28/28apb.htm">Appendix B: Two–Letter State and Possession Abbreviations</a> on the United * States Postal Service website. </p> * <p>If you specify <code>subdivisioncode</code>, you must also specify <code>US</code> for * <code>CountryCode</code>. </p> * @public */ SubdivisionCode?: string | undefined; } /** * <p> * A complex type that lists the coordinates for a geoproximity resource record. * </p> * @public */ export interface Coordinates { /** * <p> Specifies a coordinate of the north–south position of a geographic point on the surface of * the Earth (-90 - 90). </p> * @public */ Latitude: string | undefined; /** * <p> Specifies a coordinate of the east–west position of a geographic point on the surface of * the Earth (-180 - 180). </p> * @public */ Longitude: string | undefined; } /** * <p> (Resource record sets only): A complex type that lets you specify where your resources are * located. Only one of <code>LocalZoneGroup</code>, <code>Coordinates</code>, or * <code>Amazon Web ServicesRegion</code> is allowed per request at a time.</p> * <p>For more information about geoproximity routing, see <a href="https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy-geoproximity.html">Geoproximity routing</a> in the * <i>Amazon Route 53 Developer Guide</i>.</p> * @public */ export interface GeoProximityLocation { /** * <p> The Amazon Web Services Region the resource you are directing DNS traffic to, is in. </p> * @public */ AWSRegion?: string | undefined; /** * <p> * Specifies an Amazon Web Services Local Zone Group. * </p> * <p>A local Zone Group is usually the Local Zone code without the ending character. For example, * if the Local Zone is <code>us-east-1-bue-1a</code> the Local Zone Group is <code>us-east-1-bue-1</code>.</p> * <p>You can identify the Local Zones Group for a specific Local Zone by using the <a href="https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-availability-zones.html">describe-availability-zones</a> CLI command:</p> * <p>This command returns: <code>"GroupName": "us-west-2-den-1"</code>, specifying that the Local Zone <code>us-west-2-den-1a</code> * belongs to the Local Zone Group <code>us-west-2-den-1</code>.</p> * @public */ LocalZoneGroup?: string | undefined; /** * <p> Contains the longitude and latitude for a geographic region. </p> * @public */ Coordinates?: Coordinates | undefined; /** * <p> * The bias increases or decreases the size of the geographic region from which Route 53 routes traffic to a resource. * </p> * <p>To use <code>Bias</code> to change the size of the geographic region, specify the * applicable value for the bias:</p> * <ul> * <li> * <p>To expand the size of the geographic region from which Route 53 routes traffic to a resource, specify a * positive integer from 1 to 99 for the bias. Route 53 shrinks the size of adjacent regions. </p> * </li> * <li> * <p>To shrink the size of the geographic region from which Route 53 routes traffic to a resource, specify a * negative bias of -1 to -99. Route 53 expands the size of adjacent regions. </p> * </li> * </ul> * @public */ Bias?: number | undefined; } /** * <p>Information specific to the resource record.</p> * <note> * <p>If you're creating an alias resource record set, omit * <code>ResourceRecord</code>.</p> * </note> * @public */ export interface ResourceRecord { /** * <p>The current or new DNS record value, not to exceed 4,000 characters. In the case of a * <code>DELETE</code> action, if the current value does not match the actual value, an * error is returned. For descriptions about how to format <code>Value</code> for different * record types, see <a href="https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html">Supported DNS Resource * Record Types</a> in the <i>Amazon Route 53 Developer * Guide</i>.</p> * <p>You can specify more than one value for all record types except <code>CNAME</code> and * <code>SOA</code>. </p> * <note> * <p>If you're creating an alias resource record set, omit <code>Value</code>.</p> * </note> * @public */ Value: string | undefined; } /** * <p>Information about the resource record set to create or delete.</p> * @public */ export interface ResourceRecordSet { /** * <p>For <code>ChangeResourceRecordSets</code> requests, the name of the record that you * want to create, update, or delete. For <code>ListResourceRecordSets</code> responses, * the name of a record in the specified hosted zone.</p> * <p> * <b>ChangeResourceRecordSets Only</b> * </p> * <p>Enter a fully qualified domain name, for example, <code>www.example.com</code>. You * can optionally include a trailing dot. If you omit the trailing dot, Amazon Route 53 * assumes that the domain name that you specify is fully qualified. This means that Route * 53 treats <code>www.example.com</code> (without a trailing dot) and * <code>www.example.com.</code> (with a trailing dot) as identical.</p> * <p>For information about how to specify characters other than <code>a-z</code>, * <code>0-9</code>, and <code>-</code> (hyphen) and how to specify internationalized * domain names, see <a href="https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html">DNS Domain Name * Format</a> in the <i>Amazon Route 53 Developer Guide</i>.</p> * <p>You can use the asterisk (*) wildcard to replace the leftmost label in a domain name, * for example, <code>*.example.com</code>. Note the following:</p> * <ul> * <li> * <p>The * must replace the entire label. For example, you can't specify * <code>*prod.example.com</code> or <code>prod*.example.com</code>.</p> * </li> * <li> * <p>The * can't replace any of the middle labels, for example, * marketing.*.example.com.</p> * </li> * <li> * <p>If you include * in any position other than the leftmost label in a domain * name, DNS treats it as an * character (ASCII 42), not as a wildcard.</p> * <important> * <p>You can't use the * wildcard for resource records sets that have a type of * NS.</p> * </important> * </li> * </ul> * @public */ Name: string | undefined; /** * <p>The DNS record type. For information about different record types and how data is * encoded for them, see <a href="https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html">Supported DNS Resource * Record Types</a> in the <i>Amazon Route 53 Developer * Guide</i>.</p> * <p>Valid values for basic resource record sets: <code>A</code> | <code>AAAA</code> | * <code>CAA</code> | <code>CNAME</code> | <code>DS</code> |<code>MX</code> | * <code>NAPTR</code> | <code>NS</code> | <code>PTR</code> | <code>SOA</code> | * <code>SPF</code> | <code>SRV</code> | <code>TXT</code>| <code>TLSA</code>| <code>SSHFP</code>| <code>SVCB</code>| <code>HTTPS</code> * </p> * <p>Values for weighted, latency, geolocation, and failover resource record sets: <code>A</code> * | <code>AAAA</code> | <code>CAA</code> | <code>CNAME</code> | <code>MX</code> | * <code>NAPTR</code> | <code>PTR</code> | <code>SPF</code> | <code>SRV</code> | * <code>TXT</code>| <code>TLSA</code>| <code>SSHFP</code>| <code>SVCB</code>| * <code>HTTPS</code>. When creating a group of weighted, latency, geolocation, or * failover resource record sets, specify the same value for all of the resource record * sets in the group.</p> * <p>Valid values for multivalue answer resource record sets: <code>A</code> | * <code>AAAA</code> | <code>MX</code> | <code>NAPTR</code> | <code