@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
TypeScript
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>