UNPKG

@aws-sdk/client-route-53

Version:

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

1,125 lines (1,124 loc) 327 kB
import { ExceptionOptionType as __ExceptionOptionType } from "@smithy/smithy-client"; import { Route53ServiceException as __BaseException } from "./Route53ServiceException"; /** * @public * @enum */ export declare const AccountLimitType: { readonly MAX_HEALTH_CHECKS_BY_OWNER: "MAX_HEALTH_CHECKS_BY_OWNER"; readonly MAX_HOSTED_ZONES_BY_OWNER: "MAX_HOSTED_ZONES_BY_OWNER"; readonly MAX_REUSABLE_DELEGATION_SETS_BY_OWNER: "MAX_REUSABLE_DELEGATION_SETS_BY_OWNER"; readonly MAX_TRAFFIC_POLICIES_BY_OWNER: "MAX_TRAFFIC_POLICIES_BY_OWNER"; readonly MAX_TRAFFIC_POLICY_INSTANCES_BY_OWNER: "MAX_TRAFFIC_POLICY_INSTANCES_BY_OWNER"; }; /** * @public */ export type AccountLimitType = (typeof AccountLimitType)[keyof typeof AccountLimitType]; /** * <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; } /** * @public * @enum */ export declare const ChangeStatus: { readonly INSYNC: "INSYNC"; readonly PENDING: "PENDING"; }; /** * @public */ export type ChangeStatus = (typeof ChangeStatus)[keyof typeof ChangeStatus]; /** * <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>Another user submitted a request to create, update, or delete the object at the same * time that you did. Retry the request. </p> * @public */ export declare class ConcurrentModification extends __BaseException { readonly name: "ConcurrentModification"; readonly $fault: "client"; /** * @internal */ constructor(opts: __ExceptionOptionType<ConcurrentModification, __BaseException>); } /** * <p>The input is not valid.</p> * @public */ export declare class InvalidInput extends __BaseException { readonly name: "InvalidInput"; readonly $fault: "client"; /** * @internal */ constructor(opts: __ExceptionOptionType<InvalidInput, __BaseException>); } /** * <p>The key-signing key (KSK) status isn't valid or another KSK has the status * <code>INTERNAL_FAILURE</code>.</p> * @public */ export declare class InvalidKeySigningKeyStatus extends __BaseException { readonly name: "InvalidKeySigningKeyStatus"; readonly $fault: "client"; /** * @internal */ constructor(opts: __ExceptionOptionType<InvalidKeySigningKeyStatus, __BaseException>); } /** * <p>The KeyManagementServiceArn that you specified isn't valid to use with DNSSEC * signing.</p> * @public */ export declare class InvalidKMSArn extends __BaseException { readonly name: "InvalidKMSArn"; readonly $fault: "client"; /** * @internal */ constructor(opts: __ExceptionOptionType<InvalidKMSArn, __BaseException>); } /** * <p>Your hosted zone status isn't valid for this operation. In the hosted zone, change the * status to enable <code>DNSSEC</code> or disable <code>DNSSEC</code>.</p> * @public */ export declare class InvalidSigningStatus extends __BaseException { readonly name: "InvalidSigningStatus"; readonly $fault: "client"; /** * @internal */ constructor(opts: __ExceptionOptionType<InvalidSigningStatus, __BaseException>); } /** * <p>The specified key-signing key (KSK) doesn't exist.</p> * @public */ export declare class NoSuchKeySigningKey extends __BaseException { readonly name: "NoSuchKeySigningKey"; readonly $fault: "client"; /** * @internal */ constructor(opts: __ExceptionOptionType<NoSuchKeySigningKey, __BaseException>); } /** * @public * @enum */ export declare const CloudWatchRegion: { readonly af_south_1: "af-south-1"; readonly ap_east_1: "ap-east-1"; readonly ap_northeast_1: "ap-northeast-1"; readonly ap_northeast_2: "ap-northeast-2"; readonly ap_northeast_3: "ap-northeast-3"; readonly ap_south_1: "ap-south-1"; readonly ap_south_2: "ap-south-2"; readonly ap_southeast_1: "ap-southeast-1"; readonly ap_southeast_2: "ap-southeast-2"; readonly ap_southeast_3: "ap-southeast-3"; readonly ap_southeast_4: "ap-southeast-4"; readonly ap_southeast_5: "ap-southeast-5"; readonly ap_southeast_7: "ap-southeast-7"; readonly ca_central_1: "ca-central-1"; readonly ca_west_1: "ca-west-1"; readonly cn_north_1: "cn-north-1"; readonly cn_northwest_1: "cn-northwest-1"; readonly eu_central_1: "eu-central-1"; readonly eu_central_2: "eu-central-2"; readonly eu_north_1: "eu-north-1"; readonly eu_south_1: "eu-south-1"; readonly eu_south_2: "eu-south-2"; readonly eu_west_1: "eu-west-1"; readonly eu_west_2: "eu-west-2"; readonly eu_west_3: "eu-west-3"; readonly il_central_1: "il-central-1"; readonly me_central_1: "me-central-1"; readonly me_south_1: "me-south-1"; readonly mx_central_1: "mx-central-1"; readonly sa_east_1: "sa-east-1"; readonly us_east_1: "us-east-1"; readonly us_east_2: "us-east-2"; readonly us_gov_east_1: "us-gov-east-1"; readonly us_gov_west_1: "us-gov-west-1"; readonly us_iso_east_1: "us-iso-east-1"; readonly us_iso_west_1: "us-iso-west-1"; readonly us_isob_east_1: "us-isob-east-1"; readonly us_west_1: "us-west-1"; readonly us_west_2: "us-west-2"; }; /** * @public */ export type CloudWatchRegion = (typeof CloudWatchRegion)[keyof typeof CloudWatchRegion]; /** * <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>S3 buckets</dt> * <dd> * <p>There are no special requirements for setting * <code>EvaluateTargetHealth</code> to <code>true</code> when the alias * target is an S3 bucket.</p> * </dd> * <dt>Other records in the same hosted zone</dt> * <dd> * <p>If the 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> * <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; } /** * @public * @enum */ export declare const VPCRegion: { readonly af_south_1: "af-south-1"; readonly ap_east_1: "ap-east-1"; readonly ap_northeast_1: "ap-northeast-1"; readonly ap_northeast_2: "ap-northeast-2"; readonly ap_northeast_3: "ap-northeast-3"; readonly ap_south_1: "ap-south-1"; readonly ap_south_2: "ap-south-2"; readonly ap_southeast_1: "ap-southeast-1"; readonly ap_southeast_2: "ap-southeast-2"; readonly ap_southeast_3: "ap-southeast-3"; readonly ap_southeast_4: "ap-southeast-4"; readonly ap_southeast_5: "ap-southeast-5"; readonly ap_southeast_7: "ap-southeast-7"; readonly ca_central_1: "ca-central-1"; readonly ca_west_1: "ca-west-1"; readonly cn_north_1: "cn-north-1"; readonly cn_northwest_1: "cn-northwest-1"; readonly eu_central_1: "eu-central-1"; readonly eu_central_2: "eu-central-2"; readonly eu_north_1: "eu-north-1"; readonly eu_south_1: "eu-south-1"; readonly eu_south_2: "eu-south-2"; readonly eu_west_1: "eu-west-1"; readonly eu_west_2: "eu-west-2"; readonly eu_west_3: "eu-west-3"; readonly il_central_1: "il-central-1"; readonly me_central_1: "me-central-1"; readonly me_south_1: "me-south-1"; readonly mx_central_1: "mx-central-1"; readonly sa_east_1: "sa-east-1"; readonly us_east_1: "us-east-1"; readonly us_east_2: "us-east-2"; readonly us_gov_east_1: "us-gov-east-1"; readonly us_gov_west_1: "us-gov-west-1"; readonly us_iso_east_1: "us-iso-east-1"; readonly us_iso_west_1: "us-iso-west-1"; readonly us_isob_east_1: "us-isob-east-1"; readonly us_west_1: "us-west-1"; readonly us_west_2: "us-west-2"; }; /** * @public */ export type VPCRegion = (typeof VPCRegion)[keyof typeof VPCRegion]; /** * <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>The cause of this error depends on the operation that you're performing:</p> * <ul> * <li> * <p> * <b>Create a public hosted zone:</b> Two hosted zones * that have the same name or that have a parent/child relationship (example.com * and test.example.com) can't have any common name servers. You tried to create a * hosted zone that has the same name as an existing hosted zone or that's the * parent or child of an existing hosted zone, and you specified a delegation set * that shares one or more name servers with the existing hosted zone. For more * information, see <a href="https://docs.aws.amazon.com/Route53/latest/APIReference/API_CreateReusableDelegationSet.html">CreateReusableDelegationSet</a>.</p> * </li> * <li> * <p> * <b>Create a private hosted zone:</b> A hosted zone * with the specified name already exists and is already associated with the Amazon * VPC that you specified.</p> * </li> * <li> * <p> * <b>Associate VPCs with a private hosted zone:</b> * The VPC that you specified is already associated with another hosted zone that * has the same name.</p> * </li> * </ul> * @public */ export declare class ConflictingDomainExists extends __BaseException { readonly name: "ConflictingDomainExists"; readonly $fault: "client"; /** * @internal */ constructor(opts: __ExceptionOptionType<ConflictingDomainExists, __BaseException>); } /** * <p>The VPC ID that you specified either isn't a valid ID or the current account is not * authorized to access this VPC.</p> * @public */ export declare class InvalidVPCId extends __BaseException { readonly name: "InvalidVPCId"; readonly $fault: "client"; /** * @internal */ constructor(opts: __ExceptionOptionType<InvalidVPCId, __BaseException>); } /** * <p>This operation can't be completed because the current account has reached the * limit on the resource you are trying to create. To request a higher limit, <a href="http://aws.amazon.com/route53-request">create a case</a> with the Amazon Web Services Support * Center.</p> * @public */ export declare class LimitsExceeded extends __BaseException { readonly name: "LimitsExceeded"; readonly $fault: "client"; /** * @internal */ constructor(opts: __ExceptionOptionType<LimitsExceeded, __BaseException>); } /** * <p>No hosted zone exists with the ID that you specified.</p> * @public */ export declare class NoSuchHostedZone extends __BaseException { readonly name: "NoSuchHostedZone"; readonly $fault: "client"; /** * @internal */ constructor(opts: __ExceptionOptionType<NoSuchHostedZone, __BaseException>); } /** * <p>Associating the specified VPC with the specified hosted zone has not been * authorized.</p> * @public */ export declare class NotAuthorizedException extends __BaseException { readonly name: "NotAuthorizedException"; readonly $fault: "client"; /** * @internal */ constructor(opts: __ExceptionOptionType<NotAuthorizedException, __BaseException>); } /** * <p>If Amazon Route 53 can't process a request before the next request arrives, it will * reject subsequent requests for the same hosted zone and return an <code>HTTP 400 * error</code> (<code>Bad request</code>). If Route 53 returns this error repeatedly * for the same request, we recommend that you wait, in intervals of increasing duration, * before you try the request again.</p> * @public */ export declare class PriorRequestNotComplete extends __BaseException { readonly name: "PriorRequestNotComplete"; readonly $fault: "client"; /** * @internal */ constructor(opts: __ExceptionOptionType<PriorRequestNotComplete, __BaseException>); } /** * <p>You're trying to associate a VPC with a public hosted zone. Amazon Route 53 doesn't * support associating a VPC with a public hosted zone.</p> * @public */ export declare class PublicZoneVPCAssociation extends __BaseException { readonly name: "PublicZoneVPCAssociation"; readonly $fault: "client"; /** * @internal */ constructor(opts: __ExceptionOptionType<PublicZoneVPCAssociation, __BaseException>); } /** * @public * @enum */ export declare const CidrCollectionChangeAction: { readonly DELETE_IF_EXISTS: "DELETE_IF_EXISTS"; readonly PUT: "PUT"; }; /** * @public */ export type CidrCollectionChangeAction = (typeof CidrCollectionChangeAction)[keyof typeof CidrCollectionChangeAction]; /** * <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>This CIDR block is already in use.</p> * @public */ export declare class CidrBlockInUseException extends __BaseException { readonly name: "CidrBlockInUseException"; readonly $fault: "client"; Message?: string | undefined; /** * @internal */ constructor(opts: __ExceptionOptionType<CidrBlockInUseException, __BaseException>); } /** * <p>The CIDR collection version you provided, doesn't match the one in the * <code>ListCidrCollections</code> operation.</p> * @public */ export declare class CidrCollectionVersionMismatchException extends __BaseException { readonly name: "CidrCollectionVersionMismatchException"; readonly $fault: "client"; Message?: string | undefined; /** * @internal */ constructor(opts: __ExceptionOptionType<CidrCollectionVersionMismatchException, __BaseException>); } /** * <p>The CIDR collection you specified, doesn't exist.</p> * @public */ export declare class NoSuchCidrCollectionException extends __BaseException { readonly name: "NoSuchCidrCollectionException"; readonly $fault: "client"; Message?: string | undefined; /** * @internal */ constructor(opts: __ExceptionOptionType<NoSuchCidrCollectionException, __BaseException>); } /** * @public * @enum */ export declare const ChangeAction: { readonly CREATE: "CREATE"; readonly DELETE: "DELETE"; readonly UPSERT: "UPSERT"; }; /** * @public */ export type ChangeAction = (typeof ChangeAction)[keyof typeof ChangeAction]; /** * <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; } /** * @public * @enum */ export declare const ResourceRecordSetFailover: { readonly PRIMARY: "PRIMARY"; readonly SECONDARY: "SECONDARY"; }; /** * @public */ export type ResourceRecordSetFailover = (typeof ResourceRecordSetFailover)[keyof typeof ResourceRecordSetFailover]; /** * <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>