// Code generated by smithy-go-codegen DO NOT EDIT. package types import ( smithydocument "github.com/aws/smithy-go/document" "time" ) // A complex type that contains the type of limit that you specified in the // request and the current value for that limit. type AccountLimit struct { // The limit that you requested. Valid values include the following: // - MAX_HEALTH_CHECKS_BY_OWNER: The maximum number of health checks that you // can create using the current account. // - MAX_HOSTED_ZONES_BY_OWNER: The maximum number of hosted zones that you can // create using the current account. // - MAX_REUSABLE_DELEGATION_SETS_BY_OWNER: The maximum number of reusable // delegation sets that you can create using the current account. // - MAX_TRAFFIC_POLICIES_BY_OWNER: The maximum number of traffic policies that // you can create using the current account. // - MAX_TRAFFIC_POLICY_INSTANCES_BY_OWNER: 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.) // // This member is required. Type AccountLimitType // The current value for the limit that is specified by Type (https://docs.aws.amazon.com/Route53/latest/APIReference/API_AccountLimit.html#Route53-Type-AccountLimit-Type) // . // // This member is required. Value int64 noSmithyDocumentSerde } // 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. type AlarmIdentifier struct { // The name of the CloudWatch alarm that you want Amazon Route 53 health checkers // to use to determine whether this health check is healthy. Route 53 supports // CloudWatch alarms with the following features: // - Standard-resolution metrics. High-resolution metrics aren't supported. For // more information, see High-Resolution Metrics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/publishingMetrics.html#high-resolution-metrics) // in the Amazon CloudWatch User Guide. // - Statistics: Average, Minimum, Maximum, Sum, and SampleCount. Extended // statistics aren't supported. // // This member is required. Name *string // 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. For the current list of CloudWatch regions, see Amazon CloudWatch // endpoints and quotas (https://docs.aws.amazon.com/general/latest/gr/cw_region.html) // in the Amazon Web Services General Reference. // // This member is required. Region CloudWatchRegion noSmithyDocumentSerde } // Alias resource record sets only: Information about the Amazon Web Services // resource, such as a CloudFront distribution or an Amazon S3 bucket, that you // want to route traffic to. When creating resource record sets for a private // hosted zone, note the following: // - For information about creating failover resource record sets in a private // hosted zone, see Configuring Failover in a Private Hosted Zone (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html) // . type AliasTarget struct { // Alias resource record sets only: The value that you specify depends on where // you want to route queries: Amazon API Gateway custom regional APIs and // edge-optimized APIs Specify the applicable domain name for your API. You can get // the applicable value using the CLI command get-domain-names (https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-domain-names.html) // : // - For regional APIs, specify the value of regionalDomainName . // - For edge-optimized APIs, specify the value of distributionDomainName . This // is the name of the associated CloudFront distribution, such as // da1b2c3d4e5.cloudfront.net . // The name of the record that you're creating must match a custom domain name for // your API, such as api.example.com . Amazon Virtual Private Cloud interface VPC // endpoint Enter the API endpoint for the interface endpoint, such as // vpce-123456789abcdef01-example-us-east-1a.elasticloadbalancing.us-east-1.vpce.amazonaws.com // . For edge-optimized APIs, this is the domain name for the corresponding // CloudFront distribution. You can get the value of DnsName using the CLI command // describe-vpc-endpoints (https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html) // . CloudFront distribution Specify the domain name that CloudFront assigned when // you created your distribution. Your CloudFront distribution must include an // alternate domain name that matches the name of the resource record set. For // example, if the name of the resource record set is acme.example.com, your // CloudFront distribution must include acme.example.com as one of the alternate // domain names. For more information, see Using Alternate Domain Names (CNAMEs) (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html) // in the Amazon CloudFront Developer Guide. You can't create a resource record set // in a private hosted zone to route traffic to a CloudFront distribution. For // failover alias records, you can't specify a CloudFront distribution for both the // primary and secondary records. A distribution must include an alternate domain // name that matches the name of the record. However, the primary and secondary // records have the same name, and you can't include the same alternate domain name // in more than one distribution. Elastic Beanstalk environment If the domain name // for your Elastic Beanstalk environment includes the region that you deployed the // environment in, you can create an alias record that routes traffic to the // environment. For example, the domain name // my-environment.us-west-2.elasticbeanstalk.com is a regionalized domain name. For // environments that were created before early 2016, the domain name doesn't // include the region. To route traffic to these environments, you must create a // CNAME record instead of an alias record. Note that you can't create a CNAME // record for the root domain name. For example, if your domain name is // example.com, you can create a record that routes traffic for acme.example.com to // your Elastic Beanstalk environment, but you can't create a record that routes // traffic for example.com to your Elastic Beanstalk environment. For Elastic // Beanstalk environments that have regionalized subdomains, specify the CNAME // attribute for the environment. You can use the following methods to get the // value of the CNAME attribute: // - Amazon Web Services Management Console: For information about how to get // the value by using the console, see Using Custom Domains with Elastic // Beanstalk (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customdomains.html) // in the Elastic Beanstalk Developer Guide. // - Elastic Beanstalk API: Use the DescribeEnvironments action to get the value // of the CNAME attribute. For more information, see DescribeEnvironments (https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_DescribeEnvironments.html) // in the Elastic Beanstalk API Reference. // - CLI: Use the describe-environments command to get the value of the CNAME // attribute. For more information, see describe-environments (https://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/describe-environments.html) // in the CLI Command Reference. // ELB load balancer 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. // - Amazon Web Services Management Console: Go to the EC2 page, choose Load // Balancers in the navigation pane, choose the load balancer, choose the // Description tab, and get the value of the DNS name field. If you're routing // traffic to a Classic Load Balancer, get the value that begins with dualstack. If // you're routing traffic to another type of load balancer, get the value that // applies to the record type, A or AAAA. // - Elastic Load Balancing API: Use DescribeLoadBalancers to get the value of // DNSName . For more information, see the applicable guide: // - Classic Load Balancers: DescribeLoadBalancers (https://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html) // - Application and Network Load Balancers: DescribeLoadBalancers (https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html) // - CLI: Use describe-load-balancers to get the value of DNSName . For more // information, see the applicable guide: // - Classic Load Balancers: describe-load-balancers (http://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html) // - Application and Network Load Balancers: describe-load-balancers (http://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-load-balancers.html) // Global Accelerator accelerator Specify the DNS name for your accelerator: // - Global Accelerator API: To get the DNS name, use DescribeAccelerator (https://docs.aws.amazon.com/global-accelerator/latest/api/API_DescribeAccelerator.html) // . // - CLI: To get the DNS name, use describe-accelerator (https://docs.aws.amazon.com/cli/latest/reference/globalaccelerator/describe-accelerator.html) // . // Amazon S3 bucket that is configured as a static website Specify the domain name // of the Amazon S3 website endpoint that you created the bucket in, for example, // s3-website.us-east-2.amazonaws.com . For more information about valid values, // see the table Amazon S3 Website Endpoints (https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints) // in the Amazon Web Services General Reference. For more information about using // S3 buckets for websites, see Getting Started with Amazon Route 53 (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/getting-started.html) // in the Amazon Route 53 Developer Guide. Another Route 53 resource record set // Specify the value of the Name element for a resource record set in the current // hosted zone. If you're creating an alias record that has the same name as the // hosted zone (known as the zone apex), you can't specify the domain name for a // record for which the value of Type is CNAME . This is because the alias record // must have the same type as the record that you're routing traffic to, and // creating a CNAME record for the zone apex isn't supported even for an alias // record. // // This member is required. DNSName *string // Applies only to alias, failover alias, geolocation alias, latency alias, and // weighted alias resource record sets: When EvaluateTargetHealth is true , an // alias resource record set inherits the health of the referenced Amazon Web // Services resource, such as an ELB load balancer or another resource record set // in the hosted zone. Note the following: CloudFront distributions You can't set // EvaluateTargetHealth to true when the alias target is a CloudFront // distribution. Elastic Beanstalk environments that have regionalized subdomains // If you specify an Elastic Beanstalk environment in DNSName and the environment // contains an ELB load balancer, Elastic Load Balancing routes queries only to the // healthy Amazon EC2 instances that are registered with the load balancer. (An // environment automatically contains an ELB load balancer if it includes more than // one Amazon EC2 instance.) If you set EvaluateTargetHealth to true and either no // Amazon EC2 instances are healthy or the load balancer itself is unhealthy, Route // 53 routes queries to other available resources that are healthy, if any. If the // environment contains a single Amazon EC2 instance, there are no special // requirements. ELB load balancers Health checking behavior depends on the type of // load balancer: // - Classic Load Balancers: If you specify an ELB Classic Load Balancer in // DNSName , Elastic Load Balancing routes queries only to the healthy Amazon EC2 // instances that are registered with the load balancer. If you set // EvaluateTargetHealth to true and either no EC2 instances are healthy or the // load balancer itself is unhealthy, Route 53 routes queries to other resources. // - Application and Network Load Balancers: If you specify an ELB Application // or Network Load Balancer and you set EvaluateTargetHealth to true , Route 53 // routes queries to the load balancer based on the health of the target groups // that are associated with the load balancer: // - For an Application or Network Load Balancer to be considered healthy, every // target group that contains targets must contain at least one healthy target. If // any target group contains only unhealthy targets, the load balancer is // considered unhealthy, and Route 53 routes queries to other resources. // - A target group that has no registered targets is considered unhealthy. // When you create a load balancer, you configure settings for Elastic Load // Balancing health checks; they're not Route 53 health checks, but they perform a // similar function. Do not create Route 53 health checks for the EC2 instances // that you register with an ELB load balancer. S3 buckets There are no special // requirements for setting EvaluateTargetHealth to true when the alias target is // an S3 bucket. Other records in the same hosted zone If the Amazon Web Services // resource that you specify in DNSName is a record or a group of records (for // example, a group of weighted records) but is not another alias record, we // recommend that you associate a health check with all of the records in the alias // target. For more information, see What Happens When You Omit Health Checks? (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-complex-configs.html#dns-failover-complex-configs-hc-omitting) // in the Amazon Route 53 Developer Guide. For more information and examples, see // Amazon Route 53 Health Checks and DNS Failover (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) // in the Amazon Route 53 Developer Guide. // // This member is required. EvaluateTargetHealth bool // Alias resource records sets only: The value used depends on where you want to // route traffic: Amazon API Gateway custom regional APIs and edge-optimized APIs // Specify the hosted zone ID for your API. You can get the applicable value using // the CLI command get-domain-names (https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-domain-names.html) // : // - For regional APIs, specify the value of regionalHostedZoneId . // - For edge-optimized APIs, specify the value of distributionHostedZoneId . // Amazon Virtual Private Cloud interface VPC endpoint Specify the hosted zone ID // for your interface endpoint. You can get the value of HostedZoneId using the // CLI command describe-vpc-endpoints (https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html) // . CloudFront distribution Specify Z2FDTNDATAQYW2 . Alias resource record sets // for CloudFront can't be created in a private zone. Elastic Beanstalk environment // Specify the hosted zone ID for the region that you created the environment in. // The environment must have a regionalized subdomain. For a list of regions and // the corresponding hosted zone IDs, see Elastic Beanstalk endpoints and quotas (https://docs.aws.amazon.com/general/latest/gr/elasticbeanstalk.html) // in the the Amazon Web Services General Reference. ELB load balancer Specify the // value of the hosted zone ID for the load balancer. Use the following methods to // get the hosted zone ID: // - Elastic Load Balancing endpoints and quotas (https://docs.aws.amazon.com/general/latest/gr/elb.html) // topic in the Amazon Web Services General Reference: Use the value that // corresponds with the region that you created your load balancer in. Note that // there are separate columns for Application and Classic Load Balancers and for // Network Load Balancers. // - Amazon Web Services Management Console: Go to the Amazon EC2 page, choose // Load Balancers in the navigation pane, select the load balancer, and get the // value of the Hosted zone field on the Description tab. // - Elastic Load Balancing API: Use DescribeLoadBalancers to get the applicable // value. For more information, see the applicable guide: // - Classic Load Balancers: Use DescribeLoadBalancers (https://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html) // to get the value of CanonicalHostedZoneNameId . // - Application and Network Load Balancers: Use DescribeLoadBalancers (https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html) // to get the value of CanonicalHostedZoneId . // - CLI: Use describe-load-balancers to get the applicable value. For more // information, see the applicable guide: // - Classic Load Balancers: Use describe-load-balancers (http://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html) // to get the value of CanonicalHostedZoneNameId . // - Application and Network Load Balancers: Use describe-load-balancers (http://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-load-balancers.html) // to get the value of CanonicalHostedZoneId . // Global Accelerator accelerator Specify Z2BJ6XQ5FK7U4H . An Amazon S3 bucket // configured as a static website Specify the hosted zone ID for the region that // you created the bucket in. For more information about valid values, see the // table Amazon S3 Website Endpoints (https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints) // in the Amazon Web Services General Reference. Another Route 53 resource record // set in your hosted zone Specify the hosted zone ID of your hosted zone. (An // alias resource record set can't reference a resource record set in a different // hosted zone.) // // This member is required. HostedZoneId *string noSmithyDocumentSerde } // The information for each resource record set that you want to change. type Change struct { // The action to perform: // - CREATE : Creates a resource record set that has the specified values. // - DELETE : Deletes a existing resource record set. To delete the resource // record set that is associated with a traffic policy instance, use // DeleteTrafficPolicyInstance (https://docs.aws.amazon.com/Route53/latest/APIReference/API_DeleteTrafficPolicyInstance.html) // . Amazon Route 53 will delete the resource record set automatically. If you // delete the resource record set by using ChangeResourceRecordSets , Route 53 // doesn't automatically delete the traffic policy instance, and you'll continue to // be charged for it even though it's no longer in use. // - UPSERT : If a resource record set doesn't already exist, Route 53 creates // it. If a resource record set does exist, Route 53 updates it with the values in // the request. // // This member is required. Action ChangeAction // Information about the resource record set to create, delete, or update. // // This member is required. ResourceRecordSet *ResourceRecordSet noSmithyDocumentSerde } // The information for a change request. type ChangeBatch struct { // Information about the changes to make to the record sets. // // This member is required. Changes []Change // Optional: Any comments you want to include about a change batch request. Comment *string noSmithyDocumentSerde } // A complex type that describes change information about changes made to your // hosted zone. type ChangeInfo struct { // This element contains an ID that you use when performing a GetChange (https://docs.aws.amazon.com/Route53/latest/APIReference/API_GetChange.html) // action to get detailed information about the change. // // This member is required. Id *string // The current state of the request. PENDING indicates that this request has not // yet been applied to all Amazon Route 53 DNS servers. // // This member is required. Status ChangeStatus // The date and time that the change request was submitted in ISO 8601 format (https://en.wikipedia.org/wiki/ISO_8601) // and Coordinated Universal Time (UTC). For example, the value // 2017-03-27T17:48:16.751Z represents March 27, 2017 at 17:48:16.751 UTC. // // This member is required. SubmittedAt *time.Time // A comment you can provide. Comment *string noSmithyDocumentSerde } // A complex type that lists the CIDR blocks. type CidrBlockSummary struct { // Value for the CIDR block. CidrBlock *string // The location name of the CIDR block. LocationName *string noSmithyDocumentSerde } // A complex type that identifies a CIDR collection. type CidrCollection struct { // The ARN of the collection. Can be used to reference the collection in IAM // policy or in another Amazon Web Services account. Arn *string // The unique ID of the CIDR collection. Id *string // The name of a CIDR collection. Name *string // A sequential counter that Route 53 sets to 1 when you create a CIDR collection // and increments by 1 each time you update settings for the CIDR collection. Version *int64 noSmithyDocumentSerde } // A complex type that contains information about the CIDR collection change. type CidrCollectionChange struct { // CIDR collection change action. // // This member is required. Action CidrCollectionChangeAction // List of CIDR blocks. // // This member is required. CidrList []string // Name of the location that is associated with the CIDR collection. // // This member is required. LocationName *string noSmithyDocumentSerde } // The object that is specified in resource record set object when you are linking // a resource record set to a CIDR location. A LocationName with an asterisk “*” // can be used to create a default CIDR record. CollectionId is still required for // default record. type CidrRoutingConfig struct { // The CIDR collection ID. // // This member is required. CollectionId *string // The CIDR collection location name. // // This member is required. LocationName *string noSmithyDocumentSerde } // A complex type that contains information about the CloudWatch alarm that Amazon // Route 53 is monitoring for this health check. type CloudWatchAlarmConfiguration struct { // For the metric that the CloudWatch alarm is associated with, the arithmetic // operation that is used for the comparison. // // This member is required. ComparisonOperator ComparisonOperator // For the metric that the CloudWatch alarm is associated with, the number of // periods that the metric is compared to the threshold. // // This member is required. EvaluationPeriods *int32 // The name of the CloudWatch metric that the alarm is associated with. // // This member is required. MetricName *string // The namespace of the metric that the alarm is associated with. For more // information, see Amazon CloudWatch Namespaces, Dimensions, and Metrics Reference (https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CW_Support_For_AWS.html) // in the Amazon CloudWatch User Guide. // // This member is required. Namespace *string // For the metric that the CloudWatch alarm is associated with, the duration of // one evaluation period in seconds. // // This member is required. Period *int32 // For the metric that the CloudWatch alarm is associated with, the statistic that // is applied to the metric. // // This member is required. Statistic Statistic // For the metric that the CloudWatch alarm is associated with, the value the // metric is compared with. // // This member is required. Threshold *float64 // For the metric that the CloudWatch alarm is associated with, a complex type // that contains information about the dimensions for the metric. For information, // see Amazon CloudWatch Namespaces, Dimensions, and Metrics Reference (https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CW_Support_For_AWS.html) // in the Amazon CloudWatch User Guide. Dimensions []Dimension noSmithyDocumentSerde } // A complex type that is an entry in an CidrCollection (https://docs.aws.amazon.com/Route53/latest/APIReference/API_CidrCollection.html) // array. type CollectionSummary struct { // The ARN of the collection summary. Can be used to reference the collection in // IAM policy or cross-account. Arn *string // Unique ID for the CIDR collection. Id *string // The name of a CIDR collection. Name *string // A sequential counter that Route 53 sets to 1 when you create a CIDR collection // and increments by 1 each time you update settings for the CIDR collection. Version *int64 noSmithyDocumentSerde } // A complex type that lists the name servers in a delegation set, as well as the // CallerReference and the ID for the delegation set. type DelegationSet struct { // A complex type that contains a list of the authoritative name servers for a // hosted zone or for a reusable delegation set. // // This member is required. NameServers []string // The value that you specified for CallerReference when you created the reusable // delegation set. CallerReference *string // The ID that Amazon Route 53 assigns to a reusable delegation set. Id *string noSmithyDocumentSerde } // For the metric that the CloudWatch alarm is associated with, a complex type // that contains information about one dimension. type Dimension struct { // For the metric that the CloudWatch alarm is associated with, the name of one // dimension. // // This member is required. Name *string // For the metric that the CloudWatch alarm is associated with, the value of one // dimension. // // This member is required. Value *string noSmithyDocumentSerde } // A string repesenting the status of DNSSEC signing. type DNSSECStatus struct { // A string that represents the current hosted zone signing status. Status can // have one of the following values: SIGNING DNSSEC signing is enabled for the // hosted zone. NOT_SIGNING DNSSEC signing is not enabled for the hosted zone. // DELETING DNSSEC signing is in the process of being removed for the hosted zone. // ACTION_NEEDED There is a problem with signing in the hosted zone that requires // you to take action to resolve. For example, the customer managed key might have // been deleted, or the permissions for the customer managed key might have been // changed. INTERNAL_FAILURE There was an error during a request. Before you can // continue to work with DNSSEC signing, including with key-signing keys (KSKs), // you must correct the problem by enabling or disabling DNSSEC signing for the // hosted zone. ServeSignature *string // The status message provided for the following DNSSEC signing status: // INTERNAL_FAILURE . The status message includes information about what the // problem might be and steps that you can take to correct the issue. StatusMessage *string noSmithyDocumentSerde } // A complex type that contains information about a geographic location. type GeoLocation struct { // The two-letter code for the continent. Amazon Route 53 supports the following // continent codes: // - AF: Africa // - AN: Antarctica // - AS: Asia // - EU: Europe // - OC: Oceania // - NA: North America // - SA: South America // Constraint: Specifying ContinentCode with either CountryCode or SubdivisionCode // returns an InvalidInput error. ContinentCode *string // For geolocation resource record sets, the two-letter code for a country. Amazon // Route 53 uses the two-letter country codes that are specified in ISO standard // 3166-1 alpha-2 (https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) . CountryCode *string // 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 SubdivisionCode . // For a list of state abbreviations, see Appendix B: Two–Letter State and // Possession Abbreviations (https://pe.usps.com/text/pub28/28apb.htm) on the // United States Postal Service website. If you specify subdivisioncode , you must // also specify US for CountryCode . SubdivisionCode *string noSmithyDocumentSerde } // A complex type that contains the codes and full continent, country, and // subdivision names for the specified geolocation code. type GeoLocationDetails struct { // The two-letter code for the continent. ContinentCode *string // The full name of the continent. ContinentName *string // The two-letter code for the country. CountryCode *string // The name of the country. CountryName *string // The code for the subdivision, such as a particular state within the United // States. For a list of US state abbreviations, see Appendix B: Two–Letter State // and Possession Abbreviations (https://pe.usps.com/text/pub28/28apb.htm) on the // United States Postal Service website. For a list of all supported subdivision // codes, use the ListGeoLocations (https://docs.aws.amazon.com/Route53/latest/APIReference/API_ListGeoLocations.html) // API. SubdivisionCode *string // The full name of the subdivision. Route 53 currently supports only states in // the United States. SubdivisionName *string noSmithyDocumentSerde } // A complex type that contains information about one health check that is // associated with the current Amazon Web Services account. type HealthCheck struct { // A unique string that you specified when you created the health check. // // This member is required. CallerReference *string // A complex type that contains detailed information about one health check. // // This member is required. HealthCheckConfig *HealthCheckConfig // The version of the health check. You can optionally pass this value in a call // to UpdateHealthCheck to prevent overwriting another change to the health check. // // This member is required. HealthCheckVersion *int64 // The identifier that Amazon Route 53 assigned to the health check when you // created it. When you add or update a resource record set, you use this value to // specify which health check to use. The value can be up to 64 characters long. // // This member is required. Id *string // A complex type that contains information about the CloudWatch alarm that Amazon // Route 53 is monitoring for this health check. CloudWatchAlarmConfiguration *CloudWatchAlarmConfiguration // If the health check was created by another service, the service that created // the health check. When a health check is created by another service, you can't // edit or delete it using Amazon Route 53. LinkedService *LinkedService noSmithyDocumentSerde } // A complex type that contains information about the health check. type HealthCheckConfig struct { // The type of health check that you want to create, which indicates how Amazon // Route 53 determines whether an endpoint is healthy. You can't change the value // of Type after you create a health check. You can create the following types of // health checks: // - HTTP: Route 53 tries to establish a TCP connection. If successful, Route 53 // submits an HTTP request and waits for an HTTP status code of 200 or greater and // less than 400. // - HTTPS: Route 53 tries to establish a TCP connection. If successful, Route // 53 submits an HTTPS request and waits for an HTTP status code of 200 or greater // and less than 400. If you specify HTTPS for the value of Type , the endpoint // must support TLS v1.0 or later. // - HTTP_STR_MATCH: Route 53 tries to establish a TCP connection. If // successful, Route 53 submits an HTTP request and searches the first 5,120 bytes // of the response body for the string that you specify in SearchString . // - HTTPS_STR_MATCH: Route 53 tries to establish a TCP connection. If // successful, Route 53 submits an HTTPS request and searches the first 5,120 // bytes of the response body for the string that you specify in SearchString . // - TCP: Route 53 tries to establish a TCP connection. // - CLOUDWATCH_METRIC: The health check is associated with a CloudWatch alarm. // If the state of the alarm is OK , the health check is considered healthy. If // the state is ALARM , the health check is considered unhealthy. If CloudWatch // doesn't have sufficient data to determine whether the state is OK or ALARM , // the health check status depends on the setting for // InsufficientDataHealthStatus : Healthy , Unhealthy , or LastKnownStatus . // - CALCULATED: For health checks that monitor the status of other health // checks, Route 53 adds up the number of health checks that Route 53 health // checkers consider to be healthy and compares that number with the value of // HealthThreshold . // - RECOVERY_CONTROL: The health check is assocated with a Route53 Application // Recovery Controller routing control. If the routing control state is ON , the // health check is considered healthy. If the state is OFF , the health check is // considered unhealthy. // For more information, see How Route 53 Determines Whether an Endpoint Is Healthy (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html) // in the Amazon Route 53 Developer Guide. // // This member is required. Type HealthCheckType // 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. AlarmIdentifier *AlarmIdentifier // (CALCULATED Health Checks Only) A complex type that contains one // ChildHealthCheck element for each health check that you want to associate with a // CALCULATED health check. ChildHealthChecks []string // Stops Route 53 from performing health checks. When you disable a health check, // here's what happens: // - Health checks that check the health of endpoints: Route 53 stops submitting // requests to your application, server, or other resource. // - Calculated health checks: Route 53 stops aggregating the status of the // referenced health checks. // - Health checks that monitor CloudWatch alarms: Route 53 stops monitoring the // corresponding CloudWatch metrics. // After you disable a health check, Route 53 considers the status of the health // check to always be healthy. If you configured DNS failover, Route 53 continues // to route traffic to the corresponding resources. If you want to stop routing // traffic to a resource, change the value of Inverted (https://docs.aws.amazon.com/Route53/latest/APIReference/API_UpdateHealthCheck.html#Route53-UpdateHealthCheck-request-Inverted) // . Charges for a health check still apply when the health check is disabled. For // more information, see Amazon Route 53 Pricing (http://aws.amazon.com/route53/pricing/) // . Disabled *bool // Specify whether you want Amazon Route 53 to send the value of // FullyQualifiedDomainName to the endpoint in the client_hello message during TLS // negotiation. This allows the endpoint to respond to HTTPS health check requests // with the applicable SSL/TLS certificate. Some endpoints require that HTTPS // requests include the host name in the client_hello message. If you don't enable // SNI, the status of the health check will be SSL alert handshake_failure . A // health check can also have that status for other reasons. If SNI is enabled and // you're still getting the error, check the SSL/TLS configuration on your endpoint // and confirm that your certificate is valid. The SSL/TLS certificate on your // endpoint includes a domain name in the Common Name field and possibly several // more in the Subject Alternative Names field. One of the domain names in the // certificate should match the value that you specify for FullyQualifiedDomainName // . If the endpoint responds to the client_hello message with a certificate that // does not include the domain name that you specified in FullyQualifiedDomainName // , a health checker will retry the handshake. In the second attempt, the health // checker will omit FullyQualifiedDomainName from the client_hello message. EnableSNI *bool // The number of consecutive health checks that an endpoint must pass or fail for // Amazon Route 53 to change the current status of the endpoint from unhealthy to // healthy or vice versa. For more information, see How Amazon Route 53 Determines // Whether an Endpoint Is Healthy (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html) // in the Amazon Route 53 Developer Guide. If you don't specify a value for // FailureThreshold , the default value is three health checks. FailureThreshold *int32 // Amazon Route 53 behavior depends on whether you specify a value for IPAddress . // If you specify a value for IPAddress : Amazon Route 53 sends health check // requests to the specified IPv4 or IPv6 address and passes the value of // FullyQualifiedDomainName in the Host header for all health checks except TCP // health checks. This is typically the fully qualified DNS name of the endpoint on // which you want Route 53 to perform health checks. When Route 53 checks the // health of an endpoint, here is how it constructs the Host header: // - If you specify a value of 80 for Port and HTTP or HTTP_STR_MATCH for Type , // Route 53 passes the value of FullyQualifiedDomainName to the endpoint in the // Host header. // - If you specify a value of 443 for Port and HTTPS or HTTPS_STR_MATCH for Type // , Route 53 passes the value of FullyQualifiedDomainName to the endpoint in the // Host header. // - If you specify another value for Port and any value except TCP for Type , // Route 53 passes FullyQualifiedDomainName:Port to the endpoint in the Host // header. // If you don't specify a value for FullyQualifiedDomainName , Route 53 substitutes // the value of IPAddress in the Host header in each of the preceding cases. If // you don't specify a value for IPAddress : Route 53 sends a DNS request to the // domain that you specify for FullyQualifiedDomainName at the interval that you // specify for RequestInterval . Using an IPv4 address that DNS returns, Route 53 // then checks the health of the endpoint. If you don't specify a value for // IPAddress , Route 53 uses only IPv4 to send health checks to the endpoint. If // there's no resource record set with a type of A for the name that you specify // for FullyQualifiedDomainName , the health check fails with a "DNS resolution // failed" error. If you want to check the health of weighted, latency, or failover // resource record sets and you choose to specify the endpoint only by // FullyQualifiedDomainName , we recommend that you create a separate health check // for each endpoint. For example, create a health check for each HTTP server that // is serving content for www.example.com. For the value of // FullyQualifiedDomainName , specify the domain name of the server (such as // us-east-2-www.example.com), not the name of the resource record sets // (www.example.com). In this configuration, if you create a health check for which // the value of FullyQualifiedDomainName matches the name of the resource record // sets and you then associate the health check with those resource record sets, // health check results will be unpredictable. In addition, if the value that you // specify for Type is HTTP , HTTPS , HTTP_STR_MATCH , or HTTPS_STR_MATCH , Route // 53 passes the value of FullyQualifiedDomainName in the Host header, as it does // when you specify a value for IPAddress . If the value of Type is TCP , Route 53 // doesn't pass a Host header. FullyQualifiedDomainName *string // The number of child health checks that are associated with a CALCULATED health // check that Amazon Route 53 must consider healthy for the CALCULATED health // check to be considered healthy. To specify the child health checks that you want // to associate with a CALCULATED health check, use the ChildHealthChecks (https://docs.aws.amazon.com/Route53/latest/APIReference/API_UpdateHealthCheck.html#Route53-UpdateHealthCheck-request-ChildHealthChecks) // element. Note the following: // - If you specify a number greater than the number of child health checks, // Route 53 always considers this health check to be unhealthy. // - If you specify 0 , Route 53 always considers this health check to be // healthy. HealthThreshold *int32 // The IPv4 or IPv6 IP address of the endpoint that you want Amazon Route 53 to // perform health checks on. If you don't specify a value for IPAddress , Route 53 // sends a DNS request to resolve the domain name that you specify in // FullyQualifiedDomainName at the interval that you specify in RequestInterval . // Using an IP address returned by DNS, Route 53 then checks the health of the // endpoint. Use one of the following formats for the value of IPAddress : // - IPv4 address: four values between 0 and 255, separated by periods (.), for // example, 192.0.2.44 . // - IPv6 address: eight groups of four hexadecimal values, separated by colons // (:), for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345 . You can also // shorten IPv6 addresses as described in RFC 5952, for example, // 2001:db8:85a3::abcd:1:2345 . // If the endpoint is an EC2 instance, we recommend that you create an Elastic IP // address, associate it with your EC2 instance, and specify the Elastic IP address // for IPAddress . This ensures that the IP address of your instance will never // change. For more information, see FullyQualifiedDomainName (https://docs.aws.amazon.com/Route53/latest/APIReference/API_UpdateHealthCheck.html#Route53-UpdateHealthCheck-request-FullyQualifiedDomainName) // . Constraints: Route 53 can't check the health of endpoints for which the IP // address is in local, private, non-routable, or multicast ranges. For more // information about IP addresses for which you can't create health checks, see the // following documents: // - RFC 5735, Special Use IPv4 Addresses (https://tools.ietf.org/html/rfc5735) // - RFC 6598, IANA-Reserved IPv4 Prefix for Shared Address Space (https://tools.ietf.org/html/rfc6598) // - RFC 5156, Special-Use IPv6 Addresses (https://tools.ietf.org/html/rfc5156) // When the value of Type is CALCULATED or CLOUDWATCH_METRIC , omit IPAddress . IPAddress *string // When CloudWatch has insufficient data about the metric to determine the alarm // state, the status that you want Amazon Route 53 to assign to the health check: // - Healthy : Route 53 considers the health check to be healthy. // - Unhealthy : Route 53 considers the health check to be unhealthy. // - LastKnownStatus : Route 53 uses the status of the health check from the last // time that CloudWatch had sufficient data to determine the alarm state. For new // health checks that have no last known status, the default status for the health // check is healthy. InsufficientDataHealthStatus InsufficientDataHealthStatus // Specify whether you want Amazon Route 53 to invert the status of a health // check, for example, to consider a health check unhealthy when it otherwise would // be considered healthy. Inverted *bool // Specify whether you want Amazon Route 53 to measure the latency between health // checkers in multiple Amazon Web Services regions and your endpoint, and to // display CloudWatch latency graphs on the Health Checks page in the Route 53 // console. You can't change the value of MeasureLatency after you create a health // check. MeasureLatency *bool // The port on the endpoint that you want Amazon Route 53 to perform health checks // on. Don't specify a value for Port when you specify a value for Type of // CLOUDWATCH_METRIC or CALCULATED . Port *int32 // A complex type that contains one Region element for each region from which you // want Amazon Route 53 health checkers to check the specified endpoint. If you // don't specify any regions, Route 53 health checkers automatically performs // checks from all of the regions that are listed under Valid Values. If you update // a health check to remove a region that has been performing health checks, Route // 53 will briefly continue to perform checks from that region to ensure that some // health checkers are always checking the endpoint (for example, if you replace // three regions with four different regions). Regions []HealthCheckRegion // The number of seconds between the time that Amazon Route 53 gets a response // from your endpoint and the time that it sends the next health check request. // Each Route 53 health checker makes requests at this interval. You can't change // the value of RequestInterval after you create a health check. If you don't // specify a value for RequestInterval , the default value is 30 seconds. RequestInterval *int32 // The path, if any, that you want Amazon Route 53 to request when performing // health checks. The path can be any value for which your endpoint will return an // HTTP status code of 2xx or 3xx when the endpoint is healthy, for example, the // file /docs/route53-health-check.html. You can also include query string // parameters, for example, /welcome.html?language=jp&login=y . ResourcePath *string // The Amazon Resource Name (ARN) for the Route 53 Application Recovery Controller // routing control. For more information about Route 53 Application Recovery // Controller, see Route 53 Application Recovery Controller Developer Guide. (https://docs.aws.amazon.com/r53recovery/latest/dg/what-is-route-53-recovery.html) // . RoutingControlArn *string // If the value of Type is HTTP_STR_MATCH or HTTPS_STR_MATCH , the string that you // want Amazon Route 53 to search for in the response body from the specified // resource. If the string appears in the response body, Route 53 considers the // resource healthy. Route 53 considers case when searching for SearchString in // the response body. SearchString *string noSmithyDocumentSerde } // A complex type that contains the last failure reason as reported by one Amazon // Route 53 health checker. type HealthCheckObservation struct { // The IP address of the Amazon Route 53 health checker that provided the failure // reason in StatusReport . IPAddress *string // The region of the Amazon Route 53 health checker that provided the status in // StatusReport . Region HealthCheckRegion // A complex type that contains the last failure reason as reported by one Amazon // Route 53 health checker and the time of the failed health check. StatusReport *StatusReport noSmithyDocumentSerde } // A complex type that contains general information about the hosted zone. type HostedZone struct { // The value that you specified for CallerReference when you created the hosted // zone. // // This member is required. CallerReference *string // The ID that Amazon Route 53 assigned to the hosted zone when you created it. // // This member is required. Id *string // The name of the domain. For public hosted zones, this is the name that you have // registered with your DNS registrar. For information about how to specify // characters other than a-z , 0-9 , and - (hyphen) and how to specify // internationalized domain names, see CreateHostedZone (https://docs.aws.amazon.com/Route53/latest/APIReference/API_CreateHostedZone.html) // . // // This member is required. Name *string // A complex type that includes the Comment and PrivateZone elements. If you // omitted the HostedZoneConfig and Comment elements from the request, the Config // and Comment elements don't appear in the response. Config *HostedZoneConfig // If the hosted zone was created by another service, the service that created the // hosted zone. When a hosted zone is created by another service, you can't edit or // delete it using Route 53. LinkedService *LinkedService // The number of resource record sets in the hosted zone. ResourceRecordSetCount *int64 noSmithyDocumentSerde } // A complex type that contains an optional comment about your hosted zone. If you // don't want to specify a comment, omit both the HostedZoneConfig and Comment // elements. type HostedZoneConfig struct { // Any comments that you want to include about the hosted zone. Comment *string // A value that indicates whether this is a private hosted zone. PrivateZone bool noSmithyDocumentSerde } // A complex type that contains the type of limit that you specified in the // request and the current value for that limit. type HostedZoneLimit struct { // The limit that you requested. Valid values include the following: // - MAX_RRSETS_BY_ZONE: The maximum number of records that you can create in // the specified hosted zone. // - MAX_VPCS_ASSOCIATED_BY_ZONE: The maximum number of Amazon VPCs that you can // associate with the specified private hosted zone. // // This member is required. Type HostedZoneLimitType // The current value for the limit that is specified by Type . // // This member is required. Value int64 noSmithyDocumentSerde } // A complex type that identifies a hosted zone that a specified Amazon VPC is // associated with and the owner of the hosted zone. If there is a value for // OwningAccount , there is no value for OwningService , and vice versa. type HostedZoneOwner struct { // If the hosted zone was created by an Amazon Web Services account, or was // created by an Amazon Web Services service that creates hosted zones using the // current account, OwningAccount contains the account ID of that account. For // example, when you use Cloud Map to create a hosted zone, Cloud Map creates the // hosted zone using the current Amazon Web Services account. OwningAccount *string // If an Amazon Web Services service uses its own account to create a hosted zone // and associate the specified VPC with that hosted zone, OwningService contains // an abbreviation that identifies the service. For example, if Amazon Elastic File // System (Amazon EFS) created a hosted zone and associated a VPC with the hosted // zone, the value of OwningService is efs.amazonaws.com . OwningService *string noSmithyDocumentSerde } // In the response to a ListHostedZonesByVPC request, the HostedZoneSummaries // element contains one HostedZoneSummary element for each hosted zone that the // specified Amazon VPC is associated with. Each HostedZoneSummary element // contains the hosted zone name and ID, and information about who owns the hosted // zone. type HostedZoneSummary struct { // The Route 53 hosted zone ID of a private hosted zone that the specified VPC is // associated with. // // This member is required. HostedZoneId *string // The name of the private hosted zone, such as example.com . // // This member is required. Name *string // The owner of a private hosted zone that the specified VPC is associated with. // The owner can be either an Amazon Web Services account or an Amazon Web Services // service. // // This member is required. Owner *HostedZoneOwner noSmithyDocumentSerde } // A key-signing key (KSK) is a complex type that represents a public/private key // pair. The private key is used to generate a digital signature for the zone // signing key (ZSK). The public key is stored in the DNS and is used to // authenticate the ZSK. A KSK is always associated with a hosted zone; it cannot // exist by itself. type KeySigningKey struct { // The date when the key-signing key (KSK) was created. CreatedDate *time.Time // A string that represents a DNSKEY record. DNSKEYRecord *string // A string that represents a delegation signer (DS) record. DSRecord *string // A string used to represent the delegation signer digest algorithm. This value // must follow the guidelines provided by RFC-8624 Section 3.3 (https://tools.ietf.org/html/rfc8624#section-3.3) // . DigestAlgorithmMnemonic *string // An integer used to represent the delegation signer digest algorithm. This value // must follow the guidelines provided by RFC-8624 Section 3.3 (https://tools.ietf.org/html/rfc8624#section-3.3) // . DigestAlgorithmType int32 // A cryptographic digest of a DNSKEY resource record (RR). DNSKEY records are // used to publish the public key that resolvers can use to verify DNSSEC // signatures that are used to secure certain kinds of information provided by the // DNS system. DigestValue *string // An integer that specifies how the key is used. For key-signing key (KSK), this // value is always 257. Flag int32 // An integer used to identify the DNSSEC record for the domain name. The process // used to calculate the value is described in RFC-4034 Appendix B (https://tools.ietf.org/rfc/rfc4034.txt) // . KeyTag int32 // The Amazon resource name (ARN) used to identify the customer managed key in Key // Management Service (KMS). The KmsArn must be unique for each key-signing key // (KSK) in a single hosted zone. You must configure the customer managed key as // follows: Status Enabled Key spec ECC_NIST_P256 Key usage Sign and verify Key // policy The key policy must give permission for the following actions: // - DescribeKey // - GetPublicKey // - Sign // The key policy must also include the Amazon Route 53 service in the principal // for your account. Specify the following: // - "Service": "dnssec-route53.amazonaws.com" // For more information about working with the customer managed key in KMS, see // Key Management Service concepts (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html) // . KmsArn *string // The last time that the key-signing key (KSK) was changed. LastModifiedDate *time.Time // A string used to identify a key-signing key (KSK). Name can include numbers, // letters, and underscores (_). Name must be unique for each key-signing key in // the same hosted zone. Name *string // The public key, represented as a Base64 encoding, as required by RFC-4034 Page // 5 (https://tools.ietf.org/rfc/rfc4034.txt) . PublicKey *string // A string used to represent the signing algorithm. This value must follow the // guidelines provided by RFC-8624 Section 3.1 (https://tools.ietf.org/html/rfc8624#section-3.1) // . SigningAlgorithmMnemonic *string // An integer used to represent the signing algorithm. This value must follow the // guidelines provided by RFC-8624 Section 3.1 (https://tools.ietf.org/html/rfc8624#section-3.1) // . SigningAlgorithmType int32 // A string that represents the current key-signing key (KSK) status. Status can // have one of the following values: ACTIVE The KSK is being used for signing. // INACTIVE The KSK is not being used for signing. DELETING The KSK is in the // process of being deleted. ACTION_NEEDED There is a problem with the KSK that // requires you to take action to resolve. For example, the customer managed key // might have been deleted, or the permissions for the customer managed key might // have been changed. INTERNAL_FAILURE There was an error during a request. Before // you can continue to work with DNSSEC signing, including actions that involve // this KSK, you must correct the problem. For example, you may need to activate or // deactivate the KSK. Status *string // The status message provided for the following key-signing key (KSK) statuses: // ACTION_NEEDED or INTERNAL_FAILURE . The status message includes information // about what the problem might be and steps that you can take to correct the // issue. StatusMessage *string noSmithyDocumentSerde } // If a health check or hosted zone was created by another service, LinkedService // is a complex type that describes the service that created the resource. When a // resource is created by another service, you can't edit or delete it using Amazon // Route 53. type LinkedService struct { // If the health check or hosted zone was created by another service, an optional // description that can be provided by the other service. When a resource is // created by another service, you can't edit or delete it using Amazon Route 53. Description *string // If the health check or hosted zone was created by another service, the service // that created the resource. When a resource is created by another service, you // can't edit or delete it using Amazon Route 53. ServicePrincipal *string noSmithyDocumentSerde } // A complex type that contains information about the CIDR location. type LocationSummary struct { // A string that specifies a location name. LocationName *string noSmithyDocumentSerde } // A complex type that contains information about a configuration for DNS query // logging. type QueryLoggingConfig struct { // The Amazon Resource Name (ARN) of the CloudWatch Logs log group that Amazon // Route 53 is publishing logs to. // // This member is required. CloudWatchLogsLogGroupArn *string // The ID of the hosted zone that CloudWatch Logs is logging queries for. // // This member is required. HostedZoneId *string // The ID for a configuration for DNS query logging. // // This member is required. Id *string noSmithyDocumentSerde } // Information specific to the resource record. If you're creating an alias // resource record set, omit ResourceRecord . type ResourceRecord struct { // The current or new DNS record value, not to exceed 4,000 characters. In the // case of a DELETE action, if the current value does not match the actual value, // an error is returned. For descriptions about how to format Value for different // record types, see Supported DNS Resource Record Types (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html) // in the Amazon Route 53 Developer Guide. You can specify more than one value for // all record types except CNAME and SOA . If you're creating an alias resource // record set, omit Value . // // This member is required. Value *string noSmithyDocumentSerde } // Information about the resource record set to create or delete. type ResourceRecordSet struct { // For ChangeResourceRecordSets requests, the name of the record that you want to // create, update, or delete. For ListResourceRecordSets responses, the name of a // record in the specified hosted zone. ChangeResourceRecordSets Only Enter a fully // qualified domain name, for example, www.example.com . 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 // www.example.com (without a trailing dot) and www.example.com. (with a trailing // dot) as identical. For information about how to specify characters other than // a-z , 0-9 , and - (hyphen) and how to specify internationalized domain names, // see DNS Domain Name Format (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html) // in the Amazon Route 53 Developer Guide. You can use the asterisk (*) wildcard to // replace the leftmost label in a domain name, for example, *.example.com . Note // the following: // - The * must replace the entire label. For example, you can't specify // *prod.example.com or prod*.example.com . // - The * can't replace any of the middle labels, for example, // marketing.*.example.com. // - 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. You can't // use the * wildcard for resource records sets that have a type of NS. // You can use the * wildcard as the leftmost label in a domain name, for example, // *.example.com . You can't use an * for one of the middle labels, for example, // marketing.*.example.com . In addition, the * must replace the entire label; for // example, you can't specify prod*.example.com . // // This member is required. Name *string // The DNS record type. For information about different record types and how data // is encoded for them, see Supported DNS Resource Record Types (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html) // in the Amazon Route 53 Developer Guide. Valid values for basic resource record // sets: A | AAAA | CAA | CNAME | DS | MX | NAPTR | NS | PTR | SOA | SPF | SRV | // TXT Values for weighted, latency, geolocation, and failover resource record // sets: A | AAAA | CAA | CNAME | MX | NAPTR | PTR | SPF | SRV | TXT . 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. // Valid values for multivalue answer resource record sets: A | AAAA | MX | NAPTR // | PTR | SPF | SRV | TXT SPF records were formerly used to verify the identity // of the sender of email messages. However, we no longer recommend that you create // resource record sets for which the value of Type is SPF . RFC 7208, Sender // Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1, has // been updated to say, "...[I]ts existence and mechanism defined in [RFC4408] have // led to some interoperability issues. Accordingly, its use is no longer // appropriate for SPF version 1; implementations are not to use it." In RFC 7208, // see section 14.1, The SPF DNS Record Type (http://tools.ietf.org/html/rfc7208#section-14.1) // . Values for alias resource record sets: // - Amazon API Gateway custom regional APIs and edge-optimized APIs: A // - CloudFront distributions: A If IPv6 is enabled for the distribution, create // two resource record sets to route traffic to your distribution, one with a value // of A and one with a value of AAAA . // - Amazon API Gateway environment that has a regionalized subdomain: A // - ELB load balancers: A | AAAA // - Amazon S3 buckets: A // - Amazon Virtual Private Cloud interface VPC endpoints A // - Another resource record set in this hosted zone: Specify the type of the // resource record set that you're creating the alias for. All values are supported // except NS and SOA . If you're creating an alias record that has the same name // as the hosted zone (known as the zone apex), you can't route traffic to a record // for which the value of Type is CNAME . This is because the alias record must // have the same type as the record you're routing traffic to, and creating a CNAME // record for the zone apex isn't supported even for an alias record. // // This member is required. Type RRType // Alias resource record sets only: Information about the Amazon Web Services // resource, such as a CloudFront distribution or an Amazon S3 bucket, that you // want to route traffic to. If you're creating resource records sets for a private // hosted zone, note the following: // - You can't create an alias resource record set in a private hosted zone to // route traffic to a CloudFront distribution. // - For information about creating failover resource record sets in a private // hosted zone, see Configuring Failover in a Private Hosted Zone (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html) // in the Amazon Route 53 Developer Guide. AliasTarget *AliasTarget // The object that is specified in resource record set object when you are linking // a resource record set to a CIDR location. A LocationName with an asterisk “*” // can be used to create a default CIDR record. CollectionId is still required for // default record. CidrRoutingConfig *CidrRoutingConfig // Failover resource record sets only: To configure failover, you add the Failover // element to two resource record sets. For one resource record set, you specify // PRIMARY as the value for Failover ; for the other resource record set, you // specify SECONDARY . In addition, you include the HealthCheckId element and // specify the health check that you want Amazon Route 53 to perform for each // resource record set. Except where noted, the following failover behaviors assume // that you have included the HealthCheckId element in both resource record sets: // - When the primary resource record set is healthy, Route 53 responds to DNS // queries with the applicable value from the primary resource record set // regardless of the health of the secondary resource record set. // - When the primary resource record set is unhealthy and the secondary // resource record set is healthy, Route 53 responds to DNS queries with the // applicable value from the secondary resource record set. // - When the secondary resource record set is unhealthy, Route 53 responds to // DNS queries with the applicable value from the primary resource record set // regardless of the health of the primary resource record set. // - If you omit the HealthCheckId element for the secondary resource record set, // and if the primary resource record set is unhealthy, Route 53 always responds to // DNS queries with the applicable value from the secondary resource record set. // This is true regardless of the health of the associated endpoint. // You can't create non-failover resource record sets that have the same values // for the Name and Type elements as failover resource record sets. For failover // alias resource record sets, you must also include the EvaluateTargetHealth // element and set the value to true. For more information about configuring // failover for Route 53, see the following topics in the Amazon Route 53 Developer // Guide: // - Route 53 Health Checks and DNS Failover (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) // - Configuring Failover in a Private Hosted Zone (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html) Failover ResourceRecordSetFailover // Geolocation resource record sets only: A complex type that lets you control how // Amazon Route 53 responds to DNS queries based on the geographic origin of the // query. For example, if you want all queries from Africa to be routed to a web // server with an IP address of 192.0.2.111 , create a resource record set with a // Type of A and a ContinentCode of AF . Although creating geolocation and // geolocation alias resource record sets in a private hosted zone is allowed, it's // not supported. If you create separate resource record sets for overlapping // geographic regions (for example, one resource record set for a continent and one // for a country on the same continent), priority goes to the smallest geographic // region. This allows you to route most queries for a continent to one resource // and to route queries for a country on that continent to a different resource. // You can't create two geolocation resource record sets that specify the same // geographic location. The value * in the CountryCode element matches all // geographic locations that aren't specified in other geolocation resource record // sets that have the same values for the Name and Type elements. Geolocation // works by mapping IP addresses to locations. However, some IP addresses aren't // mapped to geographic locations, so even if you create geolocation resource // record sets that cover all seven continents, Route 53 will receive some DNS // queries from locations that it can't identify. We recommend that you create a // resource record set for which the value of CountryCode is * . Two groups of // queries are routed to the resource that you specify in this record: queries that // come from locations for which you haven't created geolocation resource record // sets and queries from IP addresses that aren't mapped to a location. If you // don't create a * resource record set, Route 53 returns a "no answer" response // for queries from those locations. You can't create non-geolocation resource // record sets that have the same values for the Name and Type elements as // geolocation resource record sets. GeoLocation *GeoLocation // If you want Amazon Route 53 to return this resource record set in response to a // DNS query only when the status of a health check is healthy, include the // HealthCheckId element and specify the ID of the applicable health check. Route // 53 determines whether a resource record set is healthy based on one of the // following: // - By periodically sending a request to the endpoint that is specified in the // health check // - By aggregating the status of a specified group of health checks (calculated // health checks) // - By determining the current state of a CloudWatch alarm (CloudWatch metric // health checks) // Route 53 doesn't check the health of the endpoint that is specified in the // resource record set, for example, the endpoint specified by the IP address in // the Value element. When you add a HealthCheckId element to a resource record // set, Route 53 checks the health of the endpoint that you specified in the health // check. For more information, see the following topics in the Amazon Route 53 // Developer Guide: // - How Amazon Route 53 Determines Whether an Endpoint Is Healthy (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html) // - Route 53 Health Checks and DNS Failover (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) // - Configuring Failover in a Private Hosted Zone (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html) // When to Specify HealthCheckId Specifying a value for HealthCheckId is useful // only when Route 53 is choosing between two or more resource record sets to // respond to a DNS query, and you want Route 53 to base the choice in part on the // status of a health check. Configuring health checks makes sense only in the // following configurations: // - Non-alias resource record sets: You're checking the health of a group of // non-alias resource record sets that have the same routing policy, name, and type // (such as multiple weighted records named www.example.com with a type of A) and // you specify health check IDs for all the resource record sets. If the health // check status for a resource record set is healthy, Route 53 includes the record // among the records that it responds to DNS queries with. If the health check // status for a resource record set is unhealthy, Route 53 stops responding to DNS // queries using the value for that resource record set. If the health check status // for all resource record sets in the group is unhealthy, Route 53 considers all // resource record sets in the group healthy and responds to DNS queries // accordingly. // - Alias resource record sets: You specify the following settings: // - You set EvaluateTargetHealth to true for an alias resource record set in a // group of resource record sets that have the same routing policy, name, and type // (such as multiple weighted records named www.example.com with a type of A). // - You configure the alias resource record set to route traffic to a non-alias // resource record set in the same hosted zone. // - You specify a health check ID for the non-alias resource record set. If the // health check status is healthy, Route 53 considers the alias resource record set // to be healthy and includes the alias record among the records that it responds // to DNS queries with. If the health check status is unhealthy, Route 53 stops // responding to DNS queries using the alias resource record set. The alias // resource record set can also route traffic to a group of non-alias resource // record sets that have the same routing policy, name, and type. In that // configuration, associate health checks with all of the resource record sets in // the group of non-alias resource record sets. // Geolocation Routing For geolocation resource record sets, if an endpoint is // unhealthy, Route 53 looks for a resource record set for the larger, associated // geographic region. For example, suppose you have resource record sets for a // state in the United States, for the entire United States, for North America, and // a resource record set that has * for CountryCode is * , which applies to all // locations. If the endpoint for the state resource record set is unhealthy, Route // 53 checks for healthy resource record sets in the following order until it finds // a resource record set for which the endpoint is healthy: // - The United States // - North America // - The default resource record set // Specifying the Health Check Endpoint by Domain Name If your health checks // specify the endpoint only by domain name, we recommend that you create a // separate health check for each endpoint. For example, create a health check for // each HTTP server that is serving content for www.example.com . For the value of // FullyQualifiedDomainName , specify the domain name of the server (such as // us-east-2-www.example.com ), not the name of the resource record sets ( // www.example.com ). Health check results will be unpredictable if you do the // following: // - Create a health check that has the same value for FullyQualifiedDomainName // as the name of a resource record set. // - Associate that health check with the resource record set. HealthCheckId *string // Multivalue answer resource record sets only: To route traffic approximately // randomly to multiple resources, such as web servers, create one multivalue // answer record for each resource and specify true for MultiValueAnswer . Note the // following: // - If you associate a health check with a multivalue answer resource record // set, Amazon Route 53 responds to DNS queries with the corresponding IP address // only when the health check is healthy. // - If you don't associate a health check with a multivalue answer record, // Route 53 always considers the record to be healthy. // - Route 53 responds to DNS queries with up to eight healthy records; if you // have eight or fewer healthy records, Route 53 responds to all DNS queries with // all the healthy records. // - If you have more than eight healthy records, Route 53 responds to different // DNS resolvers with different combinations of healthy records. // - When all records are unhealthy, Route 53 responds to DNS queries with up to // eight unhealthy records. // - If a resource becomes unavailable after a resolver caches a response, // client software typically tries another of the IP addresses in the response. // You can't create multivalue answer alias records. MultiValueAnswer *bool // Latency-based resource record sets only: The Amazon EC2 Region where you // created the resource that this resource record set refers to. The resource // typically is an Amazon Web Services resource, such as an EC2 instance or an ELB // load balancer, and is referred to by an IP address or a DNS domain name, // depending on the record type. When Amazon Route 53 receives a DNS query for a // domain name and type for which you have created latency resource record sets, // Route 53 selects the latency resource record set that has the lowest latency // between the end user and the associated Amazon EC2 Region. Route 53 then returns // the value that is associated with the selected resource record set. Note the // following: // - You can only specify one ResourceRecord per latency resource record set. // - You can only create one latency resource record set for each Amazon EC2 // Region. // - You aren't required to create latency resource record sets for all Amazon // EC2 Regions. Route 53 will choose the region with the best latency from among // the regions that you create latency resource record sets for. // - You can't create non-latency resource record sets that have the same values // for the Name and Type elements as latency resource record sets. Region ResourceRecordSetRegion // Information about the resource records to act upon. If you're creating an alias // resource record set, omit ResourceRecords . ResourceRecords []ResourceRecord // Resource record sets that have a routing policy other than simple: An // identifier that differentiates among multiple resource record sets that have the // same combination of name and type, such as multiple weighted resource record // sets named acme.example.com that have a type of A. In a group of resource record // sets that have the same name and type, the value of SetIdentifier must be // unique for each resource record set. For information about routing policies, see // Choosing a Routing Policy (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html) // in the Amazon Route 53 Developer Guide. SetIdentifier *string // The resource record cache time to live (TTL), in seconds. Note the following: // - If you're creating or updating an alias resource record set, omit TTL . // Amazon Route 53 uses the value of TTL for the alias target. // - If you're associating this resource record set with a health check (if // you're adding a HealthCheckId element), we recommend that you specify a TTL of // 60 seconds or less so clients respond quickly to changes in health status. // - All of the resource record sets in a group of weighted resource record sets // must have the same value for TTL . // - If a group of weighted resource record sets includes one or more weighted // alias resource record sets for which the alias target is an ELB load balancer, // we recommend that you specify a TTL of 60 seconds for all of the non-alias // weighted resource record sets that have the same name and type. Values other // than 60 seconds (the TTL for load balancers) will change the effect of the // values that you specify for Weight . TTL *int64 // When you create a traffic policy instance, Amazon Route 53 automatically // creates a resource record set. TrafficPolicyInstanceId is the ID of the traffic // policy instance that Route 53 created this resource record set for. To delete // the resource record set that is associated with a traffic policy instance, use // DeleteTrafficPolicyInstance . Route 53 will delete the resource record set // automatically. If you delete the resource record set by using // ChangeResourceRecordSets , Route 53 doesn't automatically delete the traffic // policy instance, and you'll continue to be charged for it even though it's no // longer in use. TrafficPolicyInstanceId *string // Weighted resource record sets only: Among resource record sets that have the // same combination of DNS name and type, a value that determines the proportion of // DNS queries that Amazon Route 53 responds to using the current resource record // set. Route 53 calculates the sum of the weights for the resource record sets // that have the same combination of DNS name and type. Route 53 then responds to // queries based on the ratio of a resource's weight to the total. Note the // following: // - You must specify a value for the Weight element for every weighted resource // record set. // - You can only specify one ResourceRecord per weighted resource record set. // - You can't create latency, failover, or geolocation resource record sets // that have the same values for the Name and Type elements as weighted resource // record sets. // - You can create a maximum of 100 weighted resource record sets that have the // same values for the Name and Type elements. // - For weighted (but not weighted alias) resource record sets, if you set // Weight to 0 for a resource record set, Route 53 never responds to queries with // the applicable value for that resource record set. However, if you set Weight // to 0 for all resource record sets that have the same combination of DNS name // and type, traffic is routed to all resources with equal probability. The effect // of setting Weight to 0 is different when you associate health checks with // weighted resource record sets. For more information, see Options for // Configuring Route 53 Active-Active and Active-Passive Failover (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-configuring-options.html) // in the Amazon Route 53 Developer Guide. Weight *int64 noSmithyDocumentSerde } // A complex type containing a resource and its associated tags. type ResourceTagSet struct { // The ID for the specified resource. ResourceId *string // The type of the resource. // - The resource type for health checks is healthcheck . // - The resource type for hosted zones is hostedzone . ResourceType TagResourceType // The tags associated with the specified resource. Tags []Tag noSmithyDocumentSerde } // A complex type that contains the type of limit that you specified in the // request and the current value for that limit. type ReusableDelegationSetLimit struct { // The limit that you requested: MAX_ZONES_BY_REUSABLE_DELEGATION_SET , the maximum // number of hosted zones that you can associate with the specified reusable // delegation set. // // This member is required. Type ReusableDelegationSetLimitType // The current value for the MAX_ZONES_BY_REUSABLE_DELEGATION_SET limit. // // This member is required. Value int64 noSmithyDocumentSerde } // A complex type that contains the status that one Amazon Route 53 health checker // reports and the time of the health check. type StatusReport struct { // The date and time that the health checker performed the health check in ISO // 8601 format (https://en.wikipedia.org/wiki/ISO_8601) and Coordinated Universal // Time (UTC). For example, the value 2017-03-27T17:48:16.751Z represents March // 27, 2017 at 17:48:16.751 UTC. CheckedTime *time.Time // A description of the status of the health check endpoint as reported by one of // the Amazon Route 53 health checkers. Status *string noSmithyDocumentSerde } // A complex type that contains information about a tag that you want to add or // edit for the specified health check or hosted zone. type Tag struct { // The value of Key depends on the operation that you want to perform: // - Add a tag to a health check or hosted zone: Key is the name that you want to // give the new tag. // - Edit a tag: Key is the name of the tag that you want to change the Value // for. // - Delete a key: Key is the name of the tag you want to remove. // - Give a name to a health check: Edit the default Name tag. In the Amazon // Route 53 console, the list of your health checks includes a Name column that // lets you see the name that you've given to each health check. Key *string // The value of Value depends on the operation that you want to perform: // - Add a tag to a health check or hosted zone: Value is the value that you want // to give the new tag. // - Edit a tag: Value is the new value that you want to assign the tag. Value *string noSmithyDocumentSerde } // A complex type that contains settings for a traffic policy. type TrafficPolicy struct { // The definition of a traffic policy in JSON format. You specify the JSON // document to use for a new traffic policy in the CreateTrafficPolicy request. // For more information about the JSON format, see Traffic Policy Document Format (https://docs.aws.amazon.com/Route53/latest/APIReference/api-policies-traffic-policy-document-format.html) // . // // This member is required. Document *string // The ID that Amazon Route 53 assigned to a traffic policy when you created it. // // This member is required. Id *string // The name that you specified when you created the traffic policy. // // This member is required. Name *string // The DNS type of the resource record sets that Amazon Route 53 creates when you // use a traffic policy to create a traffic policy instance. // // This member is required. Type RRType // The version number that Amazon Route 53 assigns to a traffic policy. For a new // traffic policy, the value of Version is always 1. // // This member is required. Version *int32 // The comment that you specify in the CreateTrafficPolicy request, if any. Comment *string noSmithyDocumentSerde } // A complex type that contains settings for the new traffic policy instance. type TrafficPolicyInstance struct { // The ID of the hosted zone that Amazon Route 53 created resource record sets in. // // This member is required. HostedZoneId *string // The ID that Amazon Route 53 assigned to the new traffic policy instance. // // This member is required. Id *string // If State is Failed , an explanation of the reason for the failure. If State is // another value, Message is empty. // // This member is required. Message *string // The DNS name, such as www.example.com, for which Amazon Route 53 responds to // queries by using the resource record sets that are associated with this traffic // policy instance. // // This member is required. Name *string // The value of State is one of the following values: Applied Amazon Route 53 has // finished creating resource record sets, and changes have propagated to all Route // 53 edge locations. Creating Route 53 is creating the resource record sets. Use // GetTrafficPolicyInstance to confirm that the CreateTrafficPolicyInstance // request completed successfully. Failed Route 53 wasn't able to create or update // the resource record sets. When the value of State is Failed , see Message for // an explanation of what caused the request to fail. // // This member is required. State *string // The TTL that Amazon Route 53 assigned to all of the resource record sets that // it created in the specified hosted zone. // // This member is required. TTL *int64 // The ID of the traffic policy that Amazon Route 53 used to create resource // record sets in the specified hosted zone. // // This member is required. TrafficPolicyId *string // The DNS type that Amazon Route 53 assigned to all of the resource record sets // that it created for this traffic policy instance. // // This member is required. TrafficPolicyType RRType // The version of the traffic policy that Amazon Route 53 used to create resource // record sets in the specified hosted zone. // // This member is required. TrafficPolicyVersion *int32 noSmithyDocumentSerde } // A complex type that contains information about the latest version of one // traffic policy that is associated with the current Amazon Web Services account. type TrafficPolicySummary struct { // The ID that Amazon Route 53 assigned to the traffic policy when you created it. // // This member is required. Id *string // The version number of the latest version of the traffic policy. // // This member is required. LatestVersion *int32 // The name that you specified for the traffic policy when you created it. // // This member is required. Name *string // The number of traffic policies that are associated with the current Amazon Web // Services account. // // This member is required. TrafficPolicyCount *int32 // The DNS type of the resource record sets that Amazon Route 53 creates when you // use a traffic policy to create a traffic policy instance. // // This member is required. Type RRType noSmithyDocumentSerde } // (Private hosted zones only) A complex type that contains information about an // Amazon VPC. If you associate a private hosted zone with an Amazon VPC when you // make a CreateHostedZone (https://docs.aws.amazon.com/Route53/latest/APIReference/API_CreateHostedZone.html) // request, the following parameters are also required. type VPC struct { // (Private hosted zones only) The ID of an Amazon VPC. VPCId *string // (Private hosted zones only) The region that an Amazon VPC was created in. VPCRegion VPCRegion noSmithyDocumentSerde } type noSmithyDocumentSerde = smithydocument.NoSerde