code.dwrz.net

Go monorepo.
Log | Files | Refs

types.go (89533B)


      1 // Code generated by smithy-go-codegen DO NOT EDIT.
      2 
      3 package types
      4 
      5 import (
      6 	smithydocument "github.com/aws/smithy-go/document"
      7 	"time"
      8 )
      9 
     10 // A complex type that contains the type of limit that you specified in the request
     11 // and the current value for that limit.
     12 type AccountLimit struct {
     13 
     14 	// The limit that you requested. Valid values include the following:
     15 	//
     16 	// *
     17 	// MAX_HEALTH_CHECKS_BY_OWNER: The maximum number of health checks that you can
     18 	// create using the current account.
     19 	//
     20 	// * MAX_HOSTED_ZONES_BY_OWNER: The maximum
     21 	// number of hosted zones that you can create using the current account.
     22 	//
     23 	// *
     24 	// MAX_REUSABLE_DELEGATION_SETS_BY_OWNER: The maximum number of reusable delegation
     25 	// sets that you can create using the current account.
     26 	//
     27 	// *
     28 	// MAX_TRAFFIC_POLICIES_BY_OWNER: The maximum number of traffic policies that you
     29 	// can create using the current account.
     30 	//
     31 	// * MAX_TRAFFIC_POLICY_INSTANCES_BY_OWNER:
     32 	// The maximum number of traffic policy instances that you can create using the
     33 	// current account. (Traffic policy instances are referred to as traffic flow
     34 	// policy records in the Amazon Route 53 console.)
     35 	//
     36 	// This member is required.
     37 	Type AccountLimitType
     38 
     39 	// The current value for the limit that is specified by Type
     40 	// (https://docs.aws.amazon.com/Route53/latest/APIReference/API_AccountLimit.html#Route53-Type-AccountLimit-Type).
     41 	//
     42 	// This member is required.
     43 	Value int64
     44 
     45 	noSmithyDocumentSerde
     46 }
     47 
     48 // A complex type that identifies the CloudWatch alarm that you want Amazon Route
     49 // 53 health checkers to use to determine whether the specified health check is
     50 // healthy.
     51 type AlarmIdentifier struct {
     52 
     53 	// The name of the CloudWatch alarm that you want Amazon Route 53 health checkers
     54 	// to use to determine whether this health check is healthy. Route 53 supports
     55 	// CloudWatch alarms with the following features:
     56 	//
     57 	// * Standard-resolution metrics.
     58 	// High-resolution metrics aren't supported. For more information, see
     59 	// High-Resolution Metrics
     60 	// (https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/publishingMetrics.html#high-resolution-metrics)
     61 	// in the Amazon CloudWatch User Guide.
     62 	//
     63 	// * Statistics: Average, Minimum, Maximum,
     64 	// Sum, and SampleCount. Extended statistics aren't supported.
     65 	//
     66 	// This member is required.
     67 	Name *string
     68 
     69 	// For the CloudWatch alarm that you want Route 53 health checkers to use to
     70 	// determine whether this health check is healthy, the region that the alarm was
     71 	// created in. For the current list of CloudWatch regions, see Amazon CloudWatch
     72 	// endpoints and quotas
     73 	// (https://docs.aws.amazon.com/general/latest/gr/cw_region.html) in the Amazon Web
     74 	// Services General Reference.
     75 	//
     76 	// This member is required.
     77 	Region CloudWatchRegion
     78 
     79 	noSmithyDocumentSerde
     80 }
     81 
     82 // Alias resource record sets only: Information about the Amazon Web Services
     83 // resource, such as a CloudFront distribution or an Amazon S3 bucket, that you
     84 // want to route traffic to. When creating resource record sets for a private
     85 // hosted zone, note the following:
     86 //
     87 // * For information about creating failover
     88 // resource record sets in a private hosted zone, see Configuring Failover in a
     89 // Private Hosted Zone
     90 // (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html).
     91 type AliasTarget struct {
     92 
     93 	// Alias resource record sets only: The value that you specify depends on where you
     94 	// want to route queries: Amazon API Gateway custom regional APIs and
     95 	// edge-optimized APIs Specify the applicable domain name for your API. You can get
     96 	// the applicable value using the CLI command get-domain-names
     97 	// (https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-domain-names.html):
     98 	//
     99 	// *
    100 	// For regional APIs, specify the value of regionalDomainName.
    101 	//
    102 	// * For
    103 	// edge-optimized APIs, specify the value of distributionDomainName. This is the
    104 	// name of the associated CloudFront distribution, such as
    105 	// da1b2c3d4e5.cloudfront.net.
    106 	//
    107 	// The name of the record that you're creating must
    108 	// match a custom domain name for your API, such as api.example.com. Amazon Virtual
    109 	// Private Cloud interface VPC endpoint Enter the API endpoint for the interface
    110 	// endpoint, such as
    111 	// vpce-123456789abcdef01-example-us-east-1a.elasticloadbalancing.us-east-1.vpce.amazonaws.com.
    112 	// For edge-optimized APIs, this is the domain name for the corresponding
    113 	// CloudFront distribution. You can get the value of DnsName using the CLI command
    114 	// describe-vpc-endpoints
    115 	// (https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html).
    116 	// CloudFront distribution Specify the domain name that CloudFront assigned when
    117 	// you created your distribution. Your CloudFront distribution must include an
    118 	// alternate domain name that matches the name of the resource record set. For
    119 	// example, if the name of the resource record set is acme.example.com, your
    120 	// CloudFront distribution must include acme.example.com as one of the alternate
    121 	// domain names. For more information, see Using Alternate Domain Names (CNAMEs)
    122 	// (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html)
    123 	// in the Amazon CloudFront Developer Guide. You can't create a resource record set
    124 	// in a private hosted zone to route traffic to a CloudFront distribution. For
    125 	// failover alias records, you can't specify a CloudFront distribution for both the
    126 	// primary and secondary records. A distribution must include an alternate domain
    127 	// name that matches the name of the record. However, the primary and secondary
    128 	// records have the same name, and you can't include the same alternate domain name
    129 	// in more than one distribution. Elastic Beanstalk environment If the domain name
    130 	// for your Elastic Beanstalk environment includes the region that you deployed the
    131 	// environment in, you can create an alias record that routes traffic to the
    132 	// environment. For example, the domain name
    133 	// my-environment.us-west-2.elasticbeanstalk.com is a regionalized domain name. For
    134 	// environments that were created before early 2016, the domain name doesn't
    135 	// include the region. To route traffic to these environments, you must create a
    136 	// CNAME record instead of an alias record. Note that you can't create a CNAME
    137 	// record for the root domain name. For example, if your domain name is
    138 	// example.com, you can create a record that routes traffic for acme.example.com to
    139 	// your Elastic Beanstalk environment, but you can't create a record that routes
    140 	// traffic for example.com to your Elastic Beanstalk environment. For Elastic
    141 	// Beanstalk environments that have regionalized subdomains, specify the CNAME
    142 	// attribute for the environment. You can use the following methods to get the
    143 	// value of the CNAME attribute:
    144 	//
    145 	// * Amazon Web Services Management Console: For
    146 	// information about how to get the value by using the console, see Using Custom
    147 	// Domains with Elastic Beanstalk
    148 	// (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customdomains.html) in
    149 	// the Elastic Beanstalk Developer Guide.
    150 	//
    151 	// * Elastic Beanstalk API: Use the
    152 	// DescribeEnvironments action to get the value of the CNAME attribute. For more
    153 	// information, see DescribeEnvironments
    154 	// (https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_DescribeEnvironments.html)
    155 	// in the Elastic Beanstalk API Reference.
    156 	//
    157 	// * CLI: Use the describe-environments
    158 	// command to get the value of the CNAME attribute. For more information, see
    159 	// describe-environments
    160 	// (https://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/describe-environments.html)
    161 	// in the CLI Command Reference.
    162 	//
    163 	// ELB load balancer Specify the DNS name that is
    164 	// associated with the load balancer. Get the DNS name by using the Amazon Web
    165 	// Services Management Console, the ELB API, or the CLI.
    166 	//
    167 	// * Amazon Web Services
    168 	// Management Console: Go to the EC2 page, choose Load Balancers in the navigation
    169 	// pane, choose the load balancer, choose the Description tab, and get the value of
    170 	// the DNS name field. If you're routing traffic to a Classic Load Balancer, get
    171 	// the value that begins with dualstack. If you're routing traffic to another type
    172 	// of load balancer, get the value that applies to the record type, A or AAAA.
    173 	//
    174 	// *
    175 	// Elastic Load Balancing API: Use DescribeLoadBalancers to get the value of
    176 	// DNSName. For more information, see the applicable guide:
    177 	//
    178 	// * Classic Load
    179 	// Balancers: DescribeLoadBalancers
    180 	// (https://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html)
    181 	//
    182 	// *
    183 	// Application and Network Load Balancers: DescribeLoadBalancers
    184 	// (https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html)
    185 	//
    186 	// *
    187 	// CLI: Use describe-load-balancers to get the value of DNSName. For more
    188 	// information, see the applicable guide:
    189 	//
    190 	// * Classic Load Balancers:
    191 	// describe-load-balancers
    192 	// (http://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html)
    193 	//
    194 	// *
    195 	// Application and Network Load Balancers: describe-load-balancers
    196 	// (http://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-load-balancers.html)
    197 	//
    198 	// Global
    199 	// Accelerator accelerator Specify the DNS name for your accelerator:
    200 	//
    201 	// * Global
    202 	// Accelerator API: To get the DNS name, use DescribeAccelerator
    203 	// (https://docs.aws.amazon.com/global-accelerator/latest/api/API_DescribeAccelerator.html).
    204 	//
    205 	// *
    206 	// CLI: To get the DNS name, use describe-accelerator
    207 	// (https://docs.aws.amazon.com/cli/latest/reference/globalaccelerator/describe-accelerator.html).
    208 	//
    209 	// Amazon
    210 	// S3 bucket that is configured as a static website Specify the domain name of the
    211 	// Amazon S3 website endpoint that you created the bucket in, for example,
    212 	// s3-website.us-east-2.amazonaws.com. For more information about valid values, see
    213 	// the table Amazon S3 Website Endpoints
    214 	// (https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints)
    215 	// in the Amazon Web Services General Reference. For more information about using
    216 	// S3 buckets for websites, see Getting Started with Amazon Route 53
    217 	// (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/getting-started.html)
    218 	// in the Amazon Route 53 Developer Guide. Another Route 53 resource record set
    219 	// Specify the value of the Name element for a resource record set in the current
    220 	// hosted zone. If you're creating an alias record that has the same name as the
    221 	// hosted zone (known as the zone apex), you can't specify the domain name for a
    222 	// record for which the value of Type is CNAME. This is because the alias record
    223 	// must have the same type as the record that you're routing traffic to, and
    224 	// creating a CNAME record for the zone apex isn't supported even for an alias
    225 	// record.
    226 	//
    227 	// This member is required.
    228 	DNSName *string
    229 
    230 	// Applies only to alias, failover alias, geolocation alias, latency alias, and
    231 	// weighted alias resource record sets: When EvaluateTargetHealth is true, an alias
    232 	// resource record set inherits the health of the referenced Amazon Web Services
    233 	// resource, such as an ELB load balancer or another resource record set in the
    234 	// hosted zone. Note the following: CloudFront distributions You can't set
    235 	// EvaluateTargetHealth to true when the alias target is a CloudFront distribution.
    236 	// Elastic Beanstalk environments that have regionalized subdomains If you specify
    237 	// an Elastic Beanstalk environment in DNSName and the environment contains an ELB
    238 	// load balancer, Elastic Load Balancing routes queries only to the healthy Amazon
    239 	// EC2 instances that are registered with the load balancer. (An environment
    240 	// automatically contains an ELB load balancer if it includes more than one Amazon
    241 	// EC2 instance.) If you set EvaluateTargetHealth to true and either no Amazon EC2
    242 	// instances are healthy or the load balancer itself is unhealthy, Route 53 routes
    243 	// queries to other available resources that are healthy, if any. If the
    244 	// environment contains a single Amazon EC2 instance, there are no special
    245 	// requirements. ELB load balancers Health checking behavior depends on the type of
    246 	// load balancer:
    247 	//
    248 	// * Classic Load Balancers: If you specify an ELB Classic Load
    249 	// Balancer in DNSName, Elastic Load Balancing routes queries only to the healthy
    250 	// Amazon EC2 instances that are registered with the load balancer. If you set
    251 	// EvaluateTargetHealth to true and either no EC2 instances are healthy or the load
    252 	// balancer itself is unhealthy, Route 53 routes queries to other resources.
    253 	//
    254 	// *
    255 	// Application and Network Load Balancers: If you specify an ELB Application or
    256 	// Network Load Balancer and you set EvaluateTargetHealth to true, Route 53 routes
    257 	// queries to the load balancer based on the health of the target groups that are
    258 	// associated with the load balancer:
    259 	//
    260 	// * For an Application or Network Load
    261 	// Balancer to be considered healthy, every target group that contains targets must
    262 	// contain at least one healthy target. If any target group contains only unhealthy
    263 	// targets, the load balancer is considered unhealthy, and Route 53 routes queries
    264 	// to other resources.
    265 	//
    266 	// * A target group that has no registered targets is
    267 	// considered unhealthy.
    268 	//
    269 	// When you create a load balancer, you configure settings
    270 	// for Elastic Load Balancing health checks; they're not Route 53 health checks,
    271 	// but they perform a similar function. Do not create Route 53 health checks for
    272 	// the EC2 instances that you register with an ELB load balancer. S3 buckets There
    273 	// are no special requirements for setting EvaluateTargetHealth to true when the
    274 	// alias target is an S3 bucket. Other records in the same hosted zone If the
    275 	// Amazon Web Services resource that you specify in DNSName is a record or a group
    276 	// of records (for example, a group of weighted records) but is not another alias
    277 	// record, we recommend that you associate a health check with all of the records
    278 	// in the alias target. For more information, see What Happens When You Omit Health
    279 	// Checks?
    280 	// (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-complex-configs.html#dns-failover-complex-configs-hc-omitting)
    281 	// in the Amazon Route 53 Developer Guide. For more information and examples, see
    282 	// Amazon Route 53 Health Checks and DNS Failover
    283 	// (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) in
    284 	// the Amazon Route 53 Developer Guide.
    285 	//
    286 	// This member is required.
    287 	EvaluateTargetHealth bool
    288 
    289 	// Alias resource records sets only: The value used depends on where you want to
    290 	// route traffic: Amazon API Gateway custom regional APIs and edge-optimized APIs
    291 	// Specify the hosted zone ID for your API. You can get the applicable value using
    292 	// the CLI command get-domain-names
    293 	// (https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-domain-names.html):
    294 	//
    295 	// *
    296 	// For regional APIs, specify the value of regionalHostedZoneId.
    297 	//
    298 	// * For
    299 	// edge-optimized APIs, specify the value of distributionHostedZoneId.
    300 	//
    301 	// Amazon
    302 	// Virtual Private Cloud interface VPC endpoint Specify the hosted zone ID for your
    303 	// interface endpoint. You can get the value of HostedZoneId using the CLI command
    304 	// describe-vpc-endpoints
    305 	// (https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html).
    306 	// CloudFront distribution Specify Z2FDTNDATAQYW2. Alias resource record sets for
    307 	// CloudFront can't be created in a private zone. Elastic Beanstalk environment
    308 	// Specify the hosted zone ID for the region that you created the environment in.
    309 	// The environment must have a regionalized subdomain. For a list of regions and
    310 	// the corresponding hosted zone IDs, see Elastic Beanstalk endpoints and quotas
    311 	// (https://docs.aws.amazon.com/general/latest/gr/elasticbeanstalk.html) in the the
    312 	// Amazon Web Services General Reference. ELB load balancer Specify the value of
    313 	// the hosted zone ID for the load balancer. Use the following methods to get the
    314 	// hosted zone ID:
    315 	//
    316 	// * Elastic Load Balancing endpoints and quotas
    317 	// (https://docs.aws.amazon.com/general/latest/gr/elb.html) topic in the Amazon Web
    318 	// Services General Reference: Use the value that corresponds with the region that
    319 	// you created your load balancer in. Note that there are separate columns for
    320 	// Application and Classic Load Balancers and for Network Load Balancers.
    321 	//
    322 	// * Amazon
    323 	// Web Services Management Console: Go to the Amazon EC2 page, choose Load
    324 	// Balancers in the navigation pane, select the load balancer, and get the value of
    325 	// the Hosted zone field on the Description tab.
    326 	//
    327 	// * Elastic Load Balancing API: Use
    328 	// DescribeLoadBalancers to get the applicable value. For more information, see the
    329 	// applicable guide:
    330 	//
    331 	// * Classic Load Balancers: Use DescribeLoadBalancers
    332 	// (https://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html)
    333 	// to get the value of CanonicalHostedZoneNameId.
    334 	//
    335 	// * Application and Network Load
    336 	// Balancers: Use DescribeLoadBalancers
    337 	// (https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html)
    338 	// to get the value of CanonicalHostedZoneId.
    339 	//
    340 	// * CLI: Use describe-load-balancers
    341 	// to get the applicable value. For more information, see the applicable guide:
    342 	//
    343 	// *
    344 	// Classic Load Balancers: Use describe-load-balancers
    345 	// (http://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html)
    346 	// to get the value of CanonicalHostedZoneNameId.
    347 	//
    348 	// * Application and Network Load
    349 	// Balancers: Use describe-load-balancers
    350 	// (http://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-load-balancers.html)
    351 	// to get the value of CanonicalHostedZoneId.
    352 	//
    353 	// Global Accelerator accelerator
    354 	// Specify Z2BJ6XQ5FK7U4H. An Amazon S3 bucket configured as a static website
    355 	// Specify the hosted zone ID for the region that you created the bucket in. For
    356 	// more information about valid values, see the table Amazon S3 Website Endpoints
    357 	// (https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints)
    358 	// in the Amazon Web Services General Reference. Another Route 53 resource record
    359 	// set in your hosted zone Specify the hosted zone ID of your hosted zone. (An
    360 	// alias resource record set can't reference a resource record set in a different
    361 	// hosted zone.)
    362 	//
    363 	// This member is required.
    364 	HostedZoneId *string
    365 
    366 	noSmithyDocumentSerde
    367 }
    368 
    369 // The information for each resource record set that you want to change.
    370 type Change struct {
    371 
    372 	// The action to perform:
    373 	//
    374 	// * CREATE: Creates a resource record set that has the
    375 	// specified values.
    376 	//
    377 	// * DELETE: Deletes a existing resource record set. To delete
    378 	// the resource record set that is associated with a traffic policy instance, use
    379 	// DeleteTrafficPolicyInstance
    380 	// (https://docs.aws.amazon.com/Route53/latest/APIReference/API_DeleteTrafficPolicyInstance.html).
    381 	// Amazon Route 53 will delete the resource record set automatically. If you delete
    382 	// the resource record set by using ChangeResourceRecordSets, Route 53 doesn't
    383 	// automatically delete the traffic policy instance, and you'll continue to be
    384 	// charged for it even though it's no longer in use.
    385 	//
    386 	// * UPSERT: If a resource
    387 	// record set doesn't already exist, Route 53 creates it. If a resource record set
    388 	// does exist, Route 53 updates it with the values in the request.
    389 	//
    390 	// This member is required.
    391 	Action ChangeAction
    392 
    393 	// Information about the resource record set to create, delete, or update.
    394 	//
    395 	// This member is required.
    396 	ResourceRecordSet *ResourceRecordSet
    397 
    398 	noSmithyDocumentSerde
    399 }
    400 
    401 // The information for a change request.
    402 type ChangeBatch struct {
    403 
    404 	// Information about the changes to make to the record sets.
    405 	//
    406 	// This member is required.
    407 	Changes []Change
    408 
    409 	// Optional: Any comments you want to include about a change batch request.
    410 	Comment *string
    411 
    412 	noSmithyDocumentSerde
    413 }
    414 
    415 // A complex type that describes change information about changes made to your
    416 // hosted zone.
    417 type ChangeInfo struct {
    418 
    419 	// This element contains an ID that you use when performing a GetChange
    420 	// (https://docs.aws.amazon.com/Route53/latest/APIReference/API_GetChange.html)
    421 	// action to get detailed information about the change.
    422 	//
    423 	// This member is required.
    424 	Id *string
    425 
    426 	// The current state of the request. PENDING indicates that this request has not
    427 	// yet been applied to all Amazon Route 53 DNS servers.
    428 	//
    429 	// This member is required.
    430 	Status ChangeStatus
    431 
    432 	// The date and time that the change request was submitted in ISO 8601 format
    433 	// (https://en.wikipedia.org/wiki/ISO_8601) and Coordinated Universal Time (UTC).
    434 	// For example, the value 2017-03-27T17:48:16.751Z represents March 27, 2017 at
    435 	// 17:48:16.751 UTC.
    436 	//
    437 	// This member is required.
    438 	SubmittedAt *time.Time
    439 
    440 	// A comment you can provide.
    441 	Comment *string
    442 
    443 	noSmithyDocumentSerde
    444 }
    445 
    446 // A complex type that lists the CIDR blocks.
    447 type CidrBlockSummary struct {
    448 
    449 	// Value for the CIDR block.
    450 	CidrBlock *string
    451 
    452 	// The location name of the CIDR block.
    453 	LocationName *string
    454 
    455 	noSmithyDocumentSerde
    456 }
    457 
    458 // A complex type that identifies a CIDR collection.
    459 type CidrCollection struct {
    460 
    461 	// The ARN of the collection. Can be used to reference the collection in IAM policy
    462 	// or in another Amazon Web Services account.
    463 	Arn *string
    464 
    465 	// The unique ID of the CIDR collection.
    466 	Id *string
    467 
    468 	// The name of a CIDR collection.
    469 	Name *string
    470 
    471 	// A sequential counter that Route 53 sets to 1 when you create a CIDR collection
    472 	// and increments by 1 each time you update settings for the CIDR collection.
    473 	Version *int64
    474 
    475 	noSmithyDocumentSerde
    476 }
    477 
    478 // A complex type that contains information about the CIDR collection change.
    479 type CidrCollectionChange struct {
    480 
    481 	// CIDR collection change action.
    482 	//
    483 	// This member is required.
    484 	Action CidrCollectionChangeAction
    485 
    486 	// List of CIDR blocks.
    487 	//
    488 	// This member is required.
    489 	CidrList []string
    490 
    491 	// Name of the location that is associated with the CIDR collection.
    492 	//
    493 	// This member is required.
    494 	LocationName *string
    495 
    496 	noSmithyDocumentSerde
    497 }
    498 
    499 // The object that is specified in resource record set object when you are linking
    500 // a resource record set to a CIDR location. A LocationName with an asterisk “*”
    501 // can be used to create a default CIDR record. CollectionId is still required for
    502 // default record.
    503 type CidrRoutingConfig struct {
    504 
    505 	// The CIDR collection ID.
    506 	//
    507 	// This member is required.
    508 	CollectionId *string
    509 
    510 	// The CIDR collection location name.
    511 	//
    512 	// This member is required.
    513 	LocationName *string
    514 
    515 	noSmithyDocumentSerde
    516 }
    517 
    518 // A complex type that contains information about the CloudWatch alarm that Amazon
    519 // Route 53 is monitoring for this health check.
    520 type CloudWatchAlarmConfiguration struct {
    521 
    522 	// For the metric that the CloudWatch alarm is associated with, the arithmetic
    523 	// operation that is used for the comparison.
    524 	//
    525 	// This member is required.
    526 	ComparisonOperator ComparisonOperator
    527 
    528 	// For the metric that the CloudWatch alarm is associated with, the number of
    529 	// periods that the metric is compared to the threshold.
    530 	//
    531 	// This member is required.
    532 	EvaluationPeriods *int32
    533 
    534 	// The name of the CloudWatch metric that the alarm is associated with.
    535 	//
    536 	// This member is required.
    537 	MetricName *string
    538 
    539 	// The namespace of the metric that the alarm is associated with. For more
    540 	// information, see Amazon CloudWatch Namespaces, Dimensions, and Metrics Reference
    541 	// (https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CW_Support_For_AWS.html)
    542 	// in the Amazon CloudWatch User Guide.
    543 	//
    544 	// This member is required.
    545 	Namespace *string
    546 
    547 	// For the metric that the CloudWatch alarm is associated with, the duration of one
    548 	// evaluation period in seconds.
    549 	//
    550 	// This member is required.
    551 	Period *int32
    552 
    553 	// For the metric that the CloudWatch alarm is associated with, the statistic that
    554 	// is applied to the metric.
    555 	//
    556 	// This member is required.
    557 	Statistic Statistic
    558 
    559 	// For the metric that the CloudWatch alarm is associated with, the value the
    560 	// metric is compared with.
    561 	//
    562 	// This member is required.
    563 	Threshold *float64
    564 
    565 	// For the metric that the CloudWatch alarm is associated with, a complex type that
    566 	// contains information about the dimensions for the metric. For information, see
    567 	// Amazon CloudWatch Namespaces, Dimensions, and Metrics Reference
    568 	// (https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CW_Support_For_AWS.html)
    569 	// in the Amazon CloudWatch User Guide.
    570 	Dimensions []Dimension
    571 
    572 	noSmithyDocumentSerde
    573 }
    574 
    575 // A complex type that is an entry in an CidrCollection
    576 // (https://docs.aws.amazon.com/Route53/latest/APIReference/API_CidrCollection.html)
    577 // array.
    578 type CollectionSummary struct {
    579 
    580 	// The ARN of the collection summary. Can be used to reference the collection in
    581 	// IAM policy or cross-account.
    582 	Arn *string
    583 
    584 	// Unique ID for the CIDR collection.
    585 	Id *string
    586 
    587 	// The name of a CIDR collection.
    588 	Name *string
    589 
    590 	// A sequential counter that Route 53 sets to 1 when you create a CIDR collection
    591 	// and increments by 1 each time you update settings for the CIDR collection.
    592 	Version *int64
    593 
    594 	noSmithyDocumentSerde
    595 }
    596 
    597 // A complex type that lists the name servers in a delegation set, as well as the
    598 // CallerReference and the ID for the delegation set.
    599 type DelegationSet struct {
    600 
    601 	// A complex type that contains a list of the authoritative name servers for a
    602 	// hosted zone or for a reusable delegation set.
    603 	//
    604 	// This member is required.
    605 	NameServers []string
    606 
    607 	// The value that you specified for CallerReference when you created the reusable
    608 	// delegation set.
    609 	CallerReference *string
    610 
    611 	// The ID that Amazon Route 53 assigns to a reusable delegation set.
    612 	Id *string
    613 
    614 	noSmithyDocumentSerde
    615 }
    616 
    617 // For the metric that the CloudWatch alarm is associated with, a complex type that
    618 // contains information about one dimension.
    619 type Dimension struct {
    620 
    621 	// For the metric that the CloudWatch alarm is associated with, the name of one
    622 	// dimension.
    623 	//
    624 	// This member is required.
    625 	Name *string
    626 
    627 	// For the metric that the CloudWatch alarm is associated with, the value of one
    628 	// dimension.
    629 	//
    630 	// This member is required.
    631 	Value *string
    632 
    633 	noSmithyDocumentSerde
    634 }
    635 
    636 // A string repesenting the status of DNSSEC signing.
    637 type DNSSECStatus struct {
    638 
    639 	// A string that represents the current hosted zone signing status. Status can have
    640 	// one of the following values: SIGNING DNSSEC signing is enabled for the hosted
    641 	// zone. NOT_SIGNING DNSSEC signing is not enabled for the hosted zone. DELETING
    642 	// DNSSEC signing is in the process of being removed for the hosted zone.
    643 	// ACTION_NEEDED There is a problem with signing in the hosted zone that requires
    644 	// you to take action to resolve. For example, the customer managed key might have
    645 	// been deleted, or the permissions for the customer managed key might have been
    646 	// changed. INTERNAL_FAILURE There was an error during a request. Before you can
    647 	// continue to work with DNSSEC signing, including with key-signing keys (KSKs),
    648 	// you must correct the problem by enabling or disabling DNSSEC signing for the
    649 	// hosted zone.
    650 	ServeSignature *string
    651 
    652 	// The status message provided for the following DNSSEC signing status:
    653 	// INTERNAL_FAILURE. The status message includes information about what the problem
    654 	// might be and steps that you can take to correct the issue.
    655 	StatusMessage *string
    656 
    657 	noSmithyDocumentSerde
    658 }
    659 
    660 // A complex type that contains information about a geographic location.
    661 type GeoLocation struct {
    662 
    663 	// The two-letter code for the continent. Amazon Route 53 supports the following
    664 	// continent codes:
    665 	//
    666 	// * AF: Africa
    667 	//
    668 	// * AN: Antarctica
    669 	//
    670 	// * AS: Asia
    671 	//
    672 	// * EU: Europe
    673 	//
    674 	// *
    675 	// OC: Oceania
    676 	//
    677 	// * NA: North America
    678 	//
    679 	// * SA: South America
    680 	//
    681 	// Constraint: Specifying
    682 	// ContinentCode with either CountryCode or SubdivisionCode returns an InvalidInput
    683 	// error.
    684 	ContinentCode *string
    685 
    686 	// For geolocation resource record sets, the two-letter code for a country. Amazon
    687 	// Route 53 uses the two-letter country codes that are specified in ISO standard
    688 	// 3166-1 alpha-2 (https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
    689 	CountryCode *string
    690 
    691 	// For geolocation resource record sets, the two-letter code for a state of the
    692 	// United States. Route 53 doesn't support any other values for SubdivisionCode.
    693 	// For a list of state abbreviations, see Appendix B: Two–Letter State and
    694 	// Possession Abbreviations (https://pe.usps.com/text/pub28/28apb.htm) on the
    695 	// United States Postal Service website. If you specify subdivisioncode, you must
    696 	// also specify US for CountryCode.
    697 	SubdivisionCode *string
    698 
    699 	noSmithyDocumentSerde
    700 }
    701 
    702 // A complex type that contains the codes and full continent, country, and
    703 // subdivision names for the specified geolocation code.
    704 type GeoLocationDetails struct {
    705 
    706 	// The two-letter code for the continent.
    707 	ContinentCode *string
    708 
    709 	// The full name of the continent.
    710 	ContinentName *string
    711 
    712 	// The two-letter code for the country.
    713 	CountryCode *string
    714 
    715 	// The name of the country.
    716 	CountryName *string
    717 
    718 	// The code for the subdivision, such as a particular state within the United
    719 	// States. For a list of US state abbreviations, see Appendix B: Two–Letter State
    720 	// and Possession Abbreviations (https://pe.usps.com/text/pub28/28apb.htm) on the
    721 	// United States Postal Service website. For a list of all supported subdivision
    722 	// codes, use the ListGeoLocations
    723 	// (https://docs.aws.amazon.com/Route53/latest/APIReference/API_ListGeoLocations.html)
    724 	// API.
    725 	SubdivisionCode *string
    726 
    727 	// The full name of the subdivision. Route 53 currently supports only states in the
    728 	// United States.
    729 	SubdivisionName *string
    730 
    731 	noSmithyDocumentSerde
    732 }
    733 
    734 // A complex type that contains information about one health check that is
    735 // associated with the current Amazon Web Services account.
    736 type HealthCheck struct {
    737 
    738 	// A unique string that you specified when you created the health check.
    739 	//
    740 	// This member is required.
    741 	CallerReference *string
    742 
    743 	// A complex type that contains detailed information about one health check.
    744 	//
    745 	// This member is required.
    746 	HealthCheckConfig *HealthCheckConfig
    747 
    748 	// The version of the health check. You can optionally pass this value in a call to
    749 	// UpdateHealthCheck to prevent overwriting another change to the health check.
    750 	//
    751 	// This member is required.
    752 	HealthCheckVersion *int64
    753 
    754 	// The identifier that Amazon Route 53 assigned to the health check when you
    755 	// created it. When you add or update a resource record set, you use this value to
    756 	// specify which health check to use. The value can be up to 64 characters long.
    757 	//
    758 	// This member is required.
    759 	Id *string
    760 
    761 	// A complex type that contains information about the CloudWatch alarm that Amazon
    762 	// Route 53 is monitoring for this health check.
    763 	CloudWatchAlarmConfiguration *CloudWatchAlarmConfiguration
    764 
    765 	// If the health check was created by another service, the service that created the
    766 	// health check. When a health check is created by another service, you can't edit
    767 	// or delete it using Amazon Route 53.
    768 	LinkedService *LinkedService
    769 
    770 	noSmithyDocumentSerde
    771 }
    772 
    773 // A complex type that contains information about the health check.
    774 type HealthCheckConfig struct {
    775 
    776 	// The type of health check that you want to create, which indicates how Amazon
    777 	// Route 53 determines whether an endpoint is healthy. You can't change the value
    778 	// of Type after you create a health check. You can create the following types of
    779 	// health checks:
    780 	//
    781 	// * HTTP: Route 53 tries to establish a TCP connection. If
    782 	// successful, Route 53 submits an HTTP request and waits for an HTTP status code
    783 	// of 200 or greater and less than 400.
    784 	//
    785 	// * HTTPS: Route 53 tries to establish a TCP
    786 	// connection. If successful, Route 53 submits an HTTPS request and waits for an
    787 	// HTTP status code of 200 or greater and less than 400. If you specify HTTPS for
    788 	// the value of Type, the endpoint must support TLS v1.0 or later.
    789 	//
    790 	// *
    791 	// HTTP_STR_MATCH: Route 53 tries to establish a TCP connection. If successful,
    792 	// Route 53 submits an HTTP request and searches the first 5,120 bytes of the
    793 	// response body for the string that you specify in SearchString.
    794 	//
    795 	// *
    796 	// HTTPS_STR_MATCH: Route 53 tries to establish a TCP connection. If successful,
    797 	// Route 53 submits an HTTPS request and searches the first 5,120 bytes of the
    798 	// response body for the string that you specify in SearchString.
    799 	//
    800 	// * TCP: Route 53
    801 	// tries to establish a TCP connection.
    802 	//
    803 	// * CLOUDWATCH_METRIC: The health check is
    804 	// associated with a CloudWatch alarm. If the state of the alarm is OK, the health
    805 	// check is considered healthy. If the state is ALARM, the health check is
    806 	// considered unhealthy. If CloudWatch doesn't have sufficient data to determine
    807 	// whether the state is OK or ALARM, the health check status depends on the setting
    808 	// for InsufficientDataHealthStatus: Healthy, Unhealthy, or LastKnownStatus.
    809 	//
    810 	// *
    811 	// CALCULATED: For health checks that monitor the status of other health checks,
    812 	// Route 53 adds up the number of health checks that Route 53 health checkers
    813 	// consider to be healthy and compares that number with the value of
    814 	// HealthThreshold.
    815 	//
    816 	// * RECOVERY_CONTROL: The health check is assocated with a
    817 	// Route53 Application Recovery Controller routing control. If the routing control
    818 	// state is ON, the health check is considered healthy. If the state is OFF, the
    819 	// health check is considered unhealthy.
    820 	//
    821 	// For more information, see How Route 53
    822 	// Determines Whether an Endpoint Is Healthy
    823 	// (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html)
    824 	// in the Amazon Route 53 Developer Guide.
    825 	//
    826 	// This member is required.
    827 	Type HealthCheckType
    828 
    829 	// A complex type that identifies the CloudWatch alarm that you want Amazon Route
    830 	// 53 health checkers to use to determine whether the specified health check is
    831 	// healthy.
    832 	AlarmIdentifier *AlarmIdentifier
    833 
    834 	// (CALCULATED Health Checks Only) A complex type that contains one
    835 	// ChildHealthCheck element for each health check that you want to associate with a
    836 	// CALCULATED health check.
    837 	ChildHealthChecks []string
    838 
    839 	// Stops Route 53 from performing health checks. When you disable a health check,
    840 	// here's what happens:
    841 	//
    842 	// * Health checks that check the health of endpoints: Route
    843 	// 53 stops submitting requests to your application, server, or other resource.
    844 	//
    845 	// *
    846 	// Calculated health checks: Route 53 stops aggregating the status of the
    847 	// referenced health checks.
    848 	//
    849 	// * Health checks that monitor CloudWatch alarms: Route
    850 	// 53 stops monitoring the corresponding CloudWatch metrics.
    851 	//
    852 	// After you disable a
    853 	// health check, Route 53 considers the status of the health check to always be
    854 	// healthy. If you configured DNS failover, Route 53 continues to route traffic to
    855 	// the corresponding resources. If you want to stop routing traffic to a resource,
    856 	// change the value of Inverted
    857 	// (https://docs.aws.amazon.com/Route53/latest/APIReference/API_UpdateHealthCheck.html#Route53-UpdateHealthCheck-request-Inverted).
    858 	// Charges for a health check still apply when the health check is disabled. For
    859 	// more information, see Amazon Route 53 Pricing
    860 	// (http://aws.amazon.com/route53/pricing/).
    861 	Disabled *bool
    862 
    863 	// Specify whether you want Amazon Route 53 to send the value of
    864 	// FullyQualifiedDomainName to the endpoint in the client_hello message during TLS
    865 	// negotiation. This allows the endpoint to respond to HTTPS health check requests
    866 	// with the applicable SSL/TLS certificate. Some endpoints require that HTTPS
    867 	// requests include the host name in the client_hello message. If you don't enable
    868 	// SNI, the status of the health check will be SSL alert handshake_failure. A
    869 	// health check can also have that status for other reasons. If SNI is enabled and
    870 	// you're still getting the error, check the SSL/TLS configuration on your endpoint
    871 	// and confirm that your certificate is valid. The SSL/TLS certificate on your
    872 	// endpoint includes a domain name in the Common Name field and possibly several
    873 	// more in the Subject Alternative Names field. One of the domain names in the
    874 	// certificate should match the value that you specify for
    875 	// FullyQualifiedDomainName. If the endpoint responds to the client_hello message
    876 	// with a certificate that does not include the domain name that you specified in
    877 	// FullyQualifiedDomainName, a health checker will retry the handshake. In the
    878 	// second attempt, the health checker will omit FullyQualifiedDomainName from the
    879 	// client_hello message.
    880 	EnableSNI *bool
    881 
    882 	// The number of consecutive health checks that an endpoint must pass or fail for
    883 	// Amazon Route 53 to change the current status of the endpoint from unhealthy to
    884 	// healthy or vice versa. For more information, see How Amazon Route 53 Determines
    885 	// Whether an Endpoint Is Healthy
    886 	// (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html)
    887 	// in the Amazon Route 53 Developer Guide. If you don't specify a value for
    888 	// FailureThreshold, the default value is three health checks.
    889 	FailureThreshold *int32
    890 
    891 	// Amazon Route 53 behavior depends on whether you specify a value for IPAddress.
    892 	// If you specify a value for IPAddress: Amazon Route 53 sends health check
    893 	// requests to the specified IPv4 or IPv6 address and passes the value of
    894 	// FullyQualifiedDomainName in the Host header for all health checks except TCP
    895 	// health checks. This is typically the fully qualified DNS name of the endpoint on
    896 	// which you want Route 53 to perform health checks. When Route 53 checks the
    897 	// health of an endpoint, here is how it constructs the Host header:
    898 	//
    899 	// * If you
    900 	// specify a value of 80 for Port and HTTP or HTTP_STR_MATCH for Type, Route 53
    901 	// passes the value of FullyQualifiedDomainName to the endpoint in the Host
    902 	// header.
    903 	//
    904 	// * If you specify a value of 443 for Port and HTTPS or HTTPS_STR_MATCH
    905 	// for Type, Route 53 passes the value of FullyQualifiedDomainName to the endpoint
    906 	// in the Host header.
    907 	//
    908 	// * If you specify another value for Port and any value
    909 	// except TCP for Type, Route 53 passes FullyQualifiedDomainName:Port to the
    910 	// endpoint in the Host header.
    911 	//
    912 	// If you don't specify a value for
    913 	// FullyQualifiedDomainName, Route 53 substitutes the value of IPAddress in the
    914 	// Host header in each of the preceding cases. If you don't specify a value for
    915 	// IPAddress: Route 53 sends a DNS request to the domain that you specify for
    916 	// FullyQualifiedDomainName at the interval that you specify for RequestInterval.
    917 	// Using an IPv4 address that DNS returns, Route 53 then checks the health of the
    918 	// endpoint. If you don't specify a value for IPAddress, Route 53 uses only IPv4 to
    919 	// send health checks to the endpoint. If there's no resource record set with a
    920 	// type of A for the name that you specify for FullyQualifiedDomainName, the health
    921 	// check fails with a "DNS resolution failed" error. If you want to check the
    922 	// health of weighted, latency, or failover resource record sets and you choose to
    923 	// specify the endpoint only by FullyQualifiedDomainName, we recommend that you
    924 	// create a separate health check for each endpoint. For example, create a health
    925 	// check for each HTTP server that is serving content for www.example.com. For the
    926 	// value of FullyQualifiedDomainName, specify the domain name of the server (such
    927 	// as us-east-2-www.example.com), not the name of the resource record sets
    928 	// (www.example.com). In this configuration, if you create a health check for which
    929 	// the value of FullyQualifiedDomainName matches the name of the resource record
    930 	// sets and you then associate the health check with those resource record sets,
    931 	// health check results will be unpredictable. In addition, if the value that you
    932 	// specify for Type is HTTP, HTTPS, HTTP_STR_MATCH, or HTTPS_STR_MATCH, Route 53
    933 	// passes the value of FullyQualifiedDomainName in the Host header, as it does when
    934 	// you specify a value for IPAddress. If the value of Type is TCP, Route 53 doesn't
    935 	// pass a Host header.
    936 	FullyQualifiedDomainName *string
    937 
    938 	// The number of child health checks that are associated with a CALCULATED health
    939 	// check that Amazon Route 53 must consider healthy for the CALCULATED health check
    940 	// to be considered healthy. To specify the child health checks that you want to
    941 	// associate with a CALCULATED health check, use the ChildHealthChecks
    942 	// (https://docs.aws.amazon.com/Route53/latest/APIReference/API_UpdateHealthCheck.html#Route53-UpdateHealthCheck-request-ChildHealthChecks)
    943 	// element. Note the following:
    944 	//
    945 	// * If you specify a number greater than the number
    946 	// of child health checks, Route 53 always considers this health check to be
    947 	// unhealthy.
    948 	//
    949 	// * If you specify 0, Route 53 always considers this health check to
    950 	// be healthy.
    951 	HealthThreshold *int32
    952 
    953 	// The IPv4 or IPv6 IP address of the endpoint that you want Amazon Route 53 to
    954 	// perform health checks on. If you don't specify a value for IPAddress, Route 53
    955 	// sends a DNS request to resolve the domain name that you specify in
    956 	// FullyQualifiedDomainName at the interval that you specify in RequestInterval.
    957 	// Using an IP address returned by DNS, Route 53 then checks the health of the
    958 	// endpoint. Use one of the following formats for the value of IPAddress:
    959 	//
    960 	// * IPv4
    961 	// address: four values between 0 and 255, separated by periods (.), for example,
    962 	// 192.0.2.44.
    963 	//
    964 	// * IPv6 address: eight groups of four hexadecimal values, separated
    965 	// by colons (:), for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345. You can
    966 	// also shorten IPv6 addresses as described in RFC 5952, for example,
    967 	// 2001:db8:85a3::abcd:1:2345.
    968 	//
    969 	// If the endpoint is an EC2 instance, we recommend
    970 	// that you create an Elastic IP address, associate it with your EC2 instance, and
    971 	// specify the Elastic IP address for IPAddress. This ensures that the IP address
    972 	// of your instance will never change. For more information, see
    973 	// FullyQualifiedDomainName
    974 	// (https://docs.aws.amazon.com/Route53/latest/APIReference/API_UpdateHealthCheck.html#Route53-UpdateHealthCheck-request-FullyQualifiedDomainName).
    975 	// Constraints: Route 53 can't check the health of endpoints for which the IP
    976 	// address is in local, private, non-routable, or multicast ranges. For more
    977 	// information about IP addresses for which you can't create health checks, see the
    978 	// following documents:
    979 	//
    980 	// * RFC 5735, Special Use IPv4 Addresses
    981 	// (https://tools.ietf.org/html/rfc5735)
    982 	//
    983 	// * RFC 6598, IANA-Reserved IPv4 Prefix for
    984 	// Shared Address Space (https://tools.ietf.org/html/rfc6598)
    985 	//
    986 	// * RFC 5156,
    987 	// Special-Use IPv6 Addresses (https://tools.ietf.org/html/rfc5156)
    988 	//
    989 	// When the value
    990 	// of Type is CALCULATED or CLOUDWATCH_METRIC, omit IPAddress.
    991 	IPAddress *string
    992 
    993 	// When CloudWatch has insufficient data about the metric to determine the alarm
    994 	// state, the status that you want Amazon Route 53 to assign to the health
    995 	// check:
    996 	//
    997 	// * Healthy: Route 53 considers the health check to be healthy.
    998 	//
    999 	// *
   1000 	// Unhealthy: Route 53 considers the health check to be unhealthy.
   1001 	//
   1002 	// *
   1003 	// LastKnownStatus: Route 53 uses the status of the health check from the last time
   1004 	// that CloudWatch had sufficient data to determine the alarm state. For new health
   1005 	// checks that have no last known status, the default status for the health check
   1006 	// is healthy.
   1007 	InsufficientDataHealthStatus InsufficientDataHealthStatus
   1008 
   1009 	// Specify whether you want Amazon Route 53 to invert the status of a health check,
   1010 	// for example, to consider a health check unhealthy when it otherwise would be
   1011 	// considered healthy.
   1012 	Inverted *bool
   1013 
   1014 	// Specify whether you want Amazon Route 53 to measure the latency between health
   1015 	// checkers in multiple Amazon Web Services regions and your endpoint, and to
   1016 	// display CloudWatch latency graphs on the Health Checks page in the Route 53
   1017 	// console. You can't change the value of MeasureLatency after you create a health
   1018 	// check.
   1019 	MeasureLatency *bool
   1020 
   1021 	// The port on the endpoint that you want Amazon Route 53 to perform health checks
   1022 	// on. Don't specify a value for Port when you specify a value for Type of
   1023 	// CLOUDWATCH_METRIC or CALCULATED.
   1024 	Port *int32
   1025 
   1026 	// A complex type that contains one Region element for each region from which you
   1027 	// want Amazon Route 53 health checkers to check the specified endpoint. If you
   1028 	// don't specify any regions, Route 53 health checkers automatically performs
   1029 	// checks from all of the regions that are listed under Valid Values. If you update
   1030 	// a health check to remove a region that has been performing health checks, Route
   1031 	// 53 will briefly continue to perform checks from that region to ensure that some
   1032 	// health checkers are always checking the endpoint (for example, if you replace
   1033 	// three regions with four different regions).
   1034 	Regions []HealthCheckRegion
   1035 
   1036 	// The number of seconds between the time that Amazon Route 53 gets a response from
   1037 	// your endpoint and the time that it sends the next health check request. Each
   1038 	// Route 53 health checker makes requests at this interval. You can't change the
   1039 	// value of RequestInterval after you create a health check. If you don't specify a
   1040 	// value for RequestInterval, the default value is 30 seconds.
   1041 	RequestInterval *int32
   1042 
   1043 	// The path, if any, that you want Amazon Route 53 to request when performing
   1044 	// health checks. The path can be any value for which your endpoint will return an
   1045 	// HTTP status code of 2xx or 3xx when the endpoint is healthy, for example, the
   1046 	// file /docs/route53-health-check.html. You can also include query string
   1047 	// parameters, for example, /welcome.html?language=jp&login=y.
   1048 	ResourcePath *string
   1049 
   1050 	// The Amazon Resource Name (ARN) for the Route 53 Application Recovery Controller
   1051 	// routing control. For more information about Route 53 Application Recovery
   1052 	// Controller, see Route 53 Application Recovery Controller Developer Guide.
   1053 	// (https://docs.aws.amazon.com/r53recovery/latest/dg/what-is-route-53-recovery.html).
   1054 	RoutingControlArn *string
   1055 
   1056 	// If the value of Type is HTTP_STR_MATCH or HTTPS_STR_MATCH, the string that you
   1057 	// want Amazon Route 53 to search for in the response body from the specified
   1058 	// resource. If the string appears in the response body, Route 53 considers the
   1059 	// resource healthy. Route 53 considers case when searching for SearchString in the
   1060 	// response body.
   1061 	SearchString *string
   1062 
   1063 	noSmithyDocumentSerde
   1064 }
   1065 
   1066 // A complex type that contains the last failure reason as reported by one Amazon
   1067 // Route 53 health checker.
   1068 type HealthCheckObservation struct {
   1069 
   1070 	// The IP address of the Amazon Route 53 health checker that provided the failure
   1071 	// reason in StatusReport.
   1072 	IPAddress *string
   1073 
   1074 	// The region of the Amazon Route 53 health checker that provided the status in
   1075 	// StatusReport.
   1076 	Region HealthCheckRegion
   1077 
   1078 	// A complex type that contains the last failure reason as reported by one Amazon
   1079 	// Route 53 health checker and the time of the failed health check.
   1080 	StatusReport *StatusReport
   1081 
   1082 	noSmithyDocumentSerde
   1083 }
   1084 
   1085 // A complex type that contains general information about the hosted zone.
   1086 type HostedZone struct {
   1087 
   1088 	// The value that you specified for CallerReference when you created the hosted
   1089 	// zone.
   1090 	//
   1091 	// This member is required.
   1092 	CallerReference *string
   1093 
   1094 	// The ID that Amazon Route 53 assigned to the hosted zone when you created it.
   1095 	//
   1096 	// This member is required.
   1097 	Id *string
   1098 
   1099 	// The name of the domain. For public hosted zones, this is the name that you have
   1100 	// registered with your DNS registrar. For information about how to specify
   1101 	// characters other than a-z, 0-9, and - (hyphen) and how to specify
   1102 	// internationalized domain names, see CreateHostedZone
   1103 	// (https://docs.aws.amazon.com/Route53/latest/APIReference/API_CreateHostedZone.html).
   1104 	//
   1105 	// This member is required.
   1106 	Name *string
   1107 
   1108 	// A complex type that includes the Comment and PrivateZone elements. If you
   1109 	// omitted the HostedZoneConfig and Comment elements from the request, the Config
   1110 	// and Comment elements don't appear in the response.
   1111 	Config *HostedZoneConfig
   1112 
   1113 	// If the hosted zone was created by another service, the service that created the
   1114 	// hosted zone. When a hosted zone is created by another service, you can't edit or
   1115 	// delete it using Route 53.
   1116 	LinkedService *LinkedService
   1117 
   1118 	// The number of resource record sets in the hosted zone.
   1119 	ResourceRecordSetCount *int64
   1120 
   1121 	noSmithyDocumentSerde
   1122 }
   1123 
   1124 // A complex type that contains an optional comment about your hosted zone. If you
   1125 // don't want to specify a comment, omit both the HostedZoneConfig and Comment
   1126 // elements.
   1127 type HostedZoneConfig struct {
   1128 
   1129 	// Any comments that you want to include about the hosted zone.
   1130 	Comment *string
   1131 
   1132 	// A value that indicates whether this is a private hosted zone.
   1133 	PrivateZone bool
   1134 
   1135 	noSmithyDocumentSerde
   1136 }
   1137 
   1138 // A complex type that contains the type of limit that you specified in the request
   1139 // and the current value for that limit.
   1140 type HostedZoneLimit struct {
   1141 
   1142 	// The limit that you requested. Valid values include the following:
   1143 	//
   1144 	// *
   1145 	// MAX_RRSETS_BY_ZONE: The maximum number of records that you can create in the
   1146 	// specified hosted zone.
   1147 	//
   1148 	// * MAX_VPCS_ASSOCIATED_BY_ZONE: The maximum number of
   1149 	// Amazon VPCs that you can associate with the specified private hosted zone.
   1150 	//
   1151 	// This member is required.
   1152 	Type HostedZoneLimitType
   1153 
   1154 	// The current value for the limit that is specified by Type.
   1155 	//
   1156 	// This member is required.
   1157 	Value int64
   1158 
   1159 	noSmithyDocumentSerde
   1160 }
   1161 
   1162 // A complex type that identifies a hosted zone that a specified Amazon VPC is
   1163 // associated with and the owner of the hosted zone. If there is a value for
   1164 // OwningAccount, there is no value for OwningService, and vice versa.
   1165 type HostedZoneOwner struct {
   1166 
   1167 	// If the hosted zone was created by an Amazon Web Services account, or was created
   1168 	// by an Amazon Web Services service that creates hosted zones using the current
   1169 	// account, OwningAccount contains the account ID of that account. For example,
   1170 	// when you use Cloud Map to create a hosted zone, Cloud Map creates the hosted
   1171 	// zone using the current Amazon Web Services account.
   1172 	OwningAccount *string
   1173 
   1174 	// If an Amazon Web Services service uses its own account to create a hosted zone
   1175 	// and associate the specified VPC with that hosted zone, OwningService contains an
   1176 	// abbreviation that identifies the service. For example, if Amazon Elastic File
   1177 	// System (Amazon EFS) created a hosted zone and associated a VPC with the hosted
   1178 	// zone, the value of OwningService is efs.amazonaws.com.
   1179 	OwningService *string
   1180 
   1181 	noSmithyDocumentSerde
   1182 }
   1183 
   1184 // In the response to a ListHostedZonesByVPC request, the HostedZoneSummaries
   1185 // element contains one HostedZoneSummary element for each hosted zone that the
   1186 // specified Amazon VPC is associated with. Each HostedZoneSummary element contains
   1187 // the hosted zone name and ID, and information about who owns the hosted zone.
   1188 type HostedZoneSummary struct {
   1189 
   1190 	// The Route 53 hosted zone ID of a private hosted zone that the specified VPC is
   1191 	// associated with.
   1192 	//
   1193 	// This member is required.
   1194 	HostedZoneId *string
   1195 
   1196 	// The name of the private hosted zone, such as example.com.
   1197 	//
   1198 	// This member is required.
   1199 	Name *string
   1200 
   1201 	// The owner of a private hosted zone that the specified VPC is associated with.
   1202 	// The owner can be either an Amazon Web Services account or an Amazon Web Services
   1203 	// service.
   1204 	//
   1205 	// This member is required.
   1206 	Owner *HostedZoneOwner
   1207 
   1208 	noSmithyDocumentSerde
   1209 }
   1210 
   1211 // A key-signing key (KSK) is a complex type that represents a public/private key
   1212 // pair. The private key is used to generate a digital signature for the zone
   1213 // signing key (ZSK). The public key is stored in the DNS and is used to
   1214 // authenticate the ZSK. A KSK is always associated with a hosted zone; it cannot
   1215 // exist by itself.
   1216 type KeySigningKey struct {
   1217 
   1218 	// The date when the key-signing key (KSK) was created.
   1219 	CreatedDate *time.Time
   1220 
   1221 	// A string that represents a DNSKEY record.
   1222 	DNSKEYRecord *string
   1223 
   1224 	// A string that represents a delegation signer (DS) record.
   1225 	DSRecord *string
   1226 
   1227 	// A string used to represent the delegation signer digest algorithm. This value
   1228 	// must follow the guidelines provided by RFC-8624 Section 3.3
   1229 	// (https://tools.ietf.org/html/rfc8624#section-3.3).
   1230 	DigestAlgorithmMnemonic *string
   1231 
   1232 	// An integer used to represent the delegation signer digest algorithm. This value
   1233 	// must follow the guidelines provided by RFC-8624 Section 3.3
   1234 	// (https://tools.ietf.org/html/rfc8624#section-3.3).
   1235 	DigestAlgorithmType int32
   1236 
   1237 	// A cryptographic digest of a DNSKEY resource record (RR). DNSKEY records are used
   1238 	// to publish the public key that resolvers can use to verify DNSSEC signatures
   1239 	// that are used to secure certain kinds of information provided by the DNS system.
   1240 	DigestValue *string
   1241 
   1242 	// An integer that specifies how the key is used. For key-signing key (KSK), this
   1243 	// value is always 257.
   1244 	Flag int32
   1245 
   1246 	// An integer used to identify the DNSSEC record for the domain name. The process
   1247 	// used to calculate the value is described in RFC-4034 Appendix B
   1248 	// (https://tools.ietf.org/rfc/rfc4034.txt).
   1249 	KeyTag int32
   1250 
   1251 	// The Amazon resource name (ARN) used to identify the customer managed key in Key
   1252 	// Management Service (KMS). The KmsArn must be unique for each key-signing key
   1253 	// (KSK) in a single hosted zone. You must configure the customer managed key as
   1254 	// follows: Status Enabled Key spec ECC_NIST_P256 Key usage Sign and verify Key
   1255 	// policy The key policy must give permission for the following actions:
   1256 	//
   1257 	// *
   1258 	// DescribeKey
   1259 	//
   1260 	// * GetPublicKey
   1261 	//
   1262 	// * Sign
   1263 	//
   1264 	// The key policy must also include the Amazon
   1265 	// Route 53 service in the principal for your account. Specify the following:
   1266 	//
   1267 	// *
   1268 	// "Service": "dnssec-route53.amazonaws.com"
   1269 	//
   1270 	// For more information about working
   1271 	// with the customer managed key in KMS, see Key Management Service concepts
   1272 	// (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html).
   1273 	KmsArn *string
   1274 
   1275 	// The last time that the key-signing key (KSK) was changed.
   1276 	LastModifiedDate *time.Time
   1277 
   1278 	// A string used to identify a key-signing key (KSK). Name can include numbers,
   1279 	// letters, and underscores (_). Name must be unique for each key-signing key in
   1280 	// the same hosted zone.
   1281 	Name *string
   1282 
   1283 	// The public key, represented as a Base64 encoding, as required by  RFC-4034 Page
   1284 	// 5 (https://tools.ietf.org/rfc/rfc4034.txt).
   1285 	PublicKey *string
   1286 
   1287 	// A string used to represent the signing algorithm. This value must follow the
   1288 	// guidelines provided by RFC-8624 Section 3.1
   1289 	// (https://tools.ietf.org/html/rfc8624#section-3.1).
   1290 	SigningAlgorithmMnemonic *string
   1291 
   1292 	// An integer used to represent the signing algorithm. This value must follow the
   1293 	// guidelines provided by RFC-8624 Section 3.1
   1294 	// (https://tools.ietf.org/html/rfc8624#section-3.1).
   1295 	SigningAlgorithmType int32
   1296 
   1297 	// A string that represents the current key-signing key (KSK) status. Status can
   1298 	// have one of the following values: ACTIVE The KSK is being used for signing.
   1299 	// INACTIVE The KSK is not being used for signing. DELETING The KSK is in the
   1300 	// process of being deleted. ACTION_NEEDED There is a problem with the KSK that
   1301 	// requires you to take action to resolve. For example, the customer managed key
   1302 	// might have been deleted, or the permissions for the customer managed key might
   1303 	// have been changed. INTERNAL_FAILURE There was an error during a request. Before
   1304 	// you can continue to work with DNSSEC signing, including actions that involve
   1305 	// this KSK, you must correct the problem. For example, you may need to activate or
   1306 	// deactivate the KSK.
   1307 	Status *string
   1308 
   1309 	// The status message provided for the following key-signing key (KSK) statuses:
   1310 	// ACTION_NEEDED or INTERNAL_FAILURE. The status message includes information about
   1311 	// what the problem might be and steps that you can take to correct the issue.
   1312 	StatusMessage *string
   1313 
   1314 	noSmithyDocumentSerde
   1315 }
   1316 
   1317 // If a health check or hosted zone was created by another service, LinkedService
   1318 // is a complex type that describes the service that created the resource. When a
   1319 // resource is created by another service, you can't edit or delete it using Amazon
   1320 // Route 53.
   1321 type LinkedService struct {
   1322 
   1323 	// If the health check or hosted zone was created by another service, an optional
   1324 	// description that can be provided by the other service. When a resource is
   1325 	// created by another service, you can't edit or delete it using Amazon Route 53.
   1326 	Description *string
   1327 
   1328 	// If the health check or hosted zone was created by another service, the service
   1329 	// that created the resource. When a resource is created by another service, you
   1330 	// can't edit or delete it using Amazon Route 53.
   1331 	ServicePrincipal *string
   1332 
   1333 	noSmithyDocumentSerde
   1334 }
   1335 
   1336 // A complex type that contains information about the CIDR location.
   1337 type LocationSummary struct {
   1338 
   1339 	// A string that specifies a location name.
   1340 	LocationName *string
   1341 
   1342 	noSmithyDocumentSerde
   1343 }
   1344 
   1345 // A complex type that contains information about a configuration for DNS query
   1346 // logging.
   1347 type QueryLoggingConfig struct {
   1348 
   1349 	// The Amazon Resource Name (ARN) of the CloudWatch Logs log group that Amazon
   1350 	// Route 53 is publishing logs to.
   1351 	//
   1352 	// This member is required.
   1353 	CloudWatchLogsLogGroupArn *string
   1354 
   1355 	// The ID of the hosted zone that CloudWatch Logs is logging queries for.
   1356 	//
   1357 	// This member is required.
   1358 	HostedZoneId *string
   1359 
   1360 	// The ID for a configuration for DNS query logging.
   1361 	//
   1362 	// This member is required.
   1363 	Id *string
   1364 
   1365 	noSmithyDocumentSerde
   1366 }
   1367 
   1368 // Information specific to the resource record. If you're creating an alias
   1369 // resource record set, omit ResourceRecord.
   1370 type ResourceRecord struct {
   1371 
   1372 	// The current or new DNS record value, not to exceed 4,000 characters. In the case
   1373 	// of a DELETE action, if the current value does not match the actual value, an
   1374 	// error is returned. For descriptions about how to format Value for different
   1375 	// record types, see Supported DNS Resource Record Types
   1376 	// (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html)
   1377 	// in the Amazon Route 53 Developer Guide. You can specify more than one value for
   1378 	// all record types except CNAME and SOA. If you're creating an alias resource
   1379 	// record set, omit Value.
   1380 	//
   1381 	// This member is required.
   1382 	Value *string
   1383 
   1384 	noSmithyDocumentSerde
   1385 }
   1386 
   1387 // Information about the resource record set to create or delete.
   1388 type ResourceRecordSet struct {
   1389 
   1390 	// For ChangeResourceRecordSets requests, the name of the record that you want to
   1391 	// create, update, or delete. For ListResourceRecordSets responses, the name of a
   1392 	// record in the specified hosted zone. ChangeResourceRecordSets Only Enter a fully
   1393 	// qualified domain name, for example, www.example.com. You can optionally include
   1394 	// a trailing dot. If you omit the trailing dot, Amazon Route 53 assumes that the
   1395 	// domain name that you specify is fully qualified. This means that Route 53 treats
   1396 	// www.example.com (without a trailing dot) and www.example.com. (with a trailing
   1397 	// dot) as identical. For information about how to specify characters other than
   1398 	// a-z, 0-9, and - (hyphen) and how to specify internationalized domain names, see
   1399 	// DNS Domain Name Format
   1400 	// (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html)
   1401 	// in the Amazon Route 53 Developer Guide. You can use the asterisk (*) wildcard to
   1402 	// replace the leftmost label in a domain name, for example, *.example.com. Note
   1403 	// the following:
   1404 	//
   1405 	// * The * must replace the entire label. For example, you can't
   1406 	// specify *prod.example.com or prod*.example.com.
   1407 	//
   1408 	// * The * can't replace any of
   1409 	// the middle labels, for example, marketing.*.example.com.
   1410 	//
   1411 	// * If you include * in
   1412 	// any position other than the leftmost label in a domain name, DNS treats it as an
   1413 	// * character (ASCII 42), not as a wildcard. You can't use the * wildcard for
   1414 	// resource records sets that have a type of NS.
   1415 	//
   1416 	// You can use the * wildcard as the
   1417 	// leftmost label in a domain name, for example, *.example.com. You can't use an *
   1418 	// for one of the middle labels, for example, marketing.*.example.com. In addition,
   1419 	// the * must replace the entire label; for example, you can't specify
   1420 	// prod*.example.com.
   1421 	//
   1422 	// This member is required.
   1423 	Name *string
   1424 
   1425 	// The DNS record type. For information about different record types and how data
   1426 	// is encoded for them, see Supported DNS Resource Record Types
   1427 	// (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html)
   1428 	// in the Amazon Route 53 Developer Guide. Valid values for basic resource record
   1429 	// sets: A | AAAA | CAA | CNAME | DS |MX | NAPTR | NS | PTR | SOA | SPF | SRV | TXT
   1430 	// Values for weighted, latency, geolocation, and failover resource record sets: A
   1431 	// | AAAA | CAA | CNAME | MX | NAPTR | PTR | SPF | SRV | TXT. When creating a group
   1432 	// of weighted, latency, geolocation, or failover resource record sets, specify the
   1433 	// same value for all of the resource record sets in the group. Valid values for
   1434 	// multivalue answer resource record sets: A | AAAA | MX | NAPTR | PTR | SPF | SRV
   1435 	// | TXT SPF records were formerly used to verify the identity of the sender of
   1436 	// email messages. However, we no longer recommend that you create resource record
   1437 	// sets for which the value of Type is SPF. RFC 7208, Sender Policy Framework (SPF)
   1438 	// for Authorizing Use of Domains in Email, Version 1, has been updated to say,
   1439 	// "...[I]ts existence and mechanism defined in [RFC4408] have led to some
   1440 	// interoperability issues. Accordingly, its use is no longer appropriate for SPF
   1441 	// version 1; implementations are not to use it." In RFC 7208, see section 14.1,
   1442 	// The SPF DNS Record Type (http://tools.ietf.org/html/rfc7208#section-14.1).
   1443 	// Values for alias resource record sets:
   1444 	//
   1445 	// * Amazon API Gateway custom regional
   1446 	// APIs and edge-optimized APIs: A
   1447 	//
   1448 	// * CloudFront distributions: A If IPv6 is
   1449 	// enabled for the distribution, create two resource record sets to route traffic
   1450 	// to your distribution, one with a value of A and one with a value of AAAA.
   1451 	//
   1452 	// *
   1453 	// Amazon API Gateway environment that has a regionalized subdomain: A
   1454 	//
   1455 	// * ELB load
   1456 	// balancers: A | AAAA
   1457 	//
   1458 	// * Amazon S3 buckets: A
   1459 	//
   1460 	// * Amazon Virtual Private Cloud
   1461 	// interface VPC endpoints A
   1462 	//
   1463 	// * Another resource record set in this hosted zone:
   1464 	// Specify the type of the resource record set that you're creating the alias for.
   1465 	// All values are supported except NS and SOA. If you're creating an alias record
   1466 	// that has the same name as the hosted zone (known as the zone apex), you can't
   1467 	// route traffic to a record for which the value of Type is CNAME. This is because
   1468 	// the alias record must have the same type as the record you're routing traffic
   1469 	// to, and creating a CNAME record for the zone apex isn't supported even for an
   1470 	// alias record.
   1471 	//
   1472 	// This member is required.
   1473 	Type RRType
   1474 
   1475 	// Alias resource record sets only: Information about the Amazon Web Services
   1476 	// resource, such as a CloudFront distribution or an Amazon S3 bucket, that you
   1477 	// want to route traffic to. If you're creating resource records sets for a private
   1478 	// hosted zone, note the following:
   1479 	//
   1480 	// * You can't create an alias resource record
   1481 	// set in a private hosted zone to route traffic to a CloudFront distribution.
   1482 	//
   1483 	// *
   1484 	// For information about creating failover resource record sets in a private hosted
   1485 	// zone, see Configuring Failover in a Private Hosted Zone
   1486 	// (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html)
   1487 	// in the Amazon Route 53 Developer Guide.
   1488 	AliasTarget *AliasTarget
   1489 
   1490 	// The object that is specified in resource record set object when you are linking
   1491 	// a resource record set to a CIDR location. A LocationName with an asterisk “*”
   1492 	// can be used to create a default CIDR record. CollectionId is still required for
   1493 	// default record.
   1494 	CidrRoutingConfig *CidrRoutingConfig
   1495 
   1496 	// Failover resource record sets only: To configure failover, you add the Failover
   1497 	// element to two resource record sets. For one resource record set, you specify
   1498 	// PRIMARY as the value for Failover; for the other resource record set, you
   1499 	// specify SECONDARY. In addition, you include the HealthCheckId element and
   1500 	// specify the health check that you want Amazon Route 53 to perform for each
   1501 	// resource record set. Except where noted, the following failover behaviors assume
   1502 	// that you have included the HealthCheckId element in both resource record
   1503 	// sets:
   1504 	//
   1505 	// * When the primary resource record set is healthy, Route 53 responds to
   1506 	// DNS queries with the applicable value from the primary resource record set
   1507 	// regardless of the health of the secondary resource record set.
   1508 	//
   1509 	// * When the
   1510 	// primary resource record set is unhealthy and the secondary resource record set
   1511 	// is healthy, Route 53 responds to DNS queries with the applicable value from the
   1512 	// secondary resource record set.
   1513 	//
   1514 	// * When the secondary resource record set is
   1515 	// unhealthy, Route 53 responds to DNS queries with the applicable value from the
   1516 	// primary resource record set regardless of the health of the primary resource
   1517 	// record set.
   1518 	//
   1519 	// * If you omit the HealthCheckId element for the secondary resource
   1520 	// record set, and if the primary resource record set is unhealthy, Route 53 always
   1521 	// responds to DNS queries with the applicable value from the secondary resource
   1522 	// record set. This is true regardless of the health of the associated
   1523 	// endpoint.
   1524 	//
   1525 	// You can't create non-failover resource record sets that have the same
   1526 	// values for the Name and Type elements as failover resource record sets. For
   1527 	// failover alias resource record sets, you must also include the
   1528 	// EvaluateTargetHealth element and set the value to true. For more information
   1529 	// about configuring failover for Route 53, see the following topics in the Amazon
   1530 	// Route 53 Developer Guide:
   1531 	//
   1532 	// * Route 53 Health Checks and DNS Failover
   1533 	// (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html)
   1534 	//
   1535 	// *
   1536 	// Configuring Failover in a Private Hosted Zone
   1537 	// (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html)
   1538 	Failover ResourceRecordSetFailover
   1539 
   1540 	// Geolocation resource record sets only: A complex type that lets you control how
   1541 	// Amazon Route 53 responds to DNS queries based on the geographic origin of the
   1542 	// query. For example, if you want all queries from Africa to be routed to a web
   1543 	// server with an IP address of 192.0.2.111, create a resource record set with a
   1544 	// Type of A and a ContinentCode of AF. Although creating geolocation and
   1545 	// geolocation alias resource record sets in a private hosted zone is allowed, it's
   1546 	// not supported. If you create separate resource record sets for overlapping
   1547 	// geographic regions (for example, one resource record set for a continent and one
   1548 	// for a country on the same continent), priority goes to the smallest geographic
   1549 	// region. This allows you to route most queries for a continent to one resource
   1550 	// and to route queries for a country on that continent to a different resource.
   1551 	// You can't create two geolocation resource record sets that specify the same
   1552 	// geographic location. The value * in the CountryCode element matches all
   1553 	// geographic locations that aren't specified in other geolocation resource record
   1554 	// sets that have the same values for the Name and Type elements. Geolocation works
   1555 	// by mapping IP addresses to locations. However, some IP addresses aren't mapped
   1556 	// to geographic locations, so even if you create geolocation resource record sets
   1557 	// that cover all seven continents, Route 53 will receive some DNS queries from
   1558 	// locations that it can't identify. We recommend that you create a resource record
   1559 	// set for which the value of CountryCode is *. Two groups of queries are routed to
   1560 	// the resource that you specify in this record: queries that come from locations
   1561 	// for which you haven't created geolocation resource record sets and queries from
   1562 	// IP addresses that aren't mapped to a location. If you don't create a * resource
   1563 	// record set, Route 53 returns a "no answer" response for queries from those
   1564 	// locations. You can't create non-geolocation resource record sets that have the
   1565 	// same values for the Name and Type elements as geolocation resource record sets.
   1566 	GeoLocation *GeoLocation
   1567 
   1568 	// If you want Amazon Route 53 to return this resource record set in response to a
   1569 	// DNS query only when the status of a health check is healthy, include the
   1570 	// HealthCheckId element and specify the ID of the applicable health check. Route
   1571 	// 53 determines whether a resource record set is healthy based on one of the
   1572 	// following:
   1573 	//
   1574 	// * By periodically sending a request to the endpoint that is
   1575 	// specified in the health check
   1576 	//
   1577 	// * By aggregating the status of a specified group
   1578 	// of health checks (calculated health checks)
   1579 	//
   1580 	// * By determining the current state
   1581 	// of a CloudWatch alarm (CloudWatch metric health checks)
   1582 	//
   1583 	// Route 53 doesn't check
   1584 	// the health of the endpoint that is specified in the resource record set, for
   1585 	// example, the endpoint specified by the IP address in the Value element. When you
   1586 	// add a HealthCheckId element to a resource record set, Route 53 checks the health
   1587 	// of the endpoint that you specified in the health check. For more information,
   1588 	// see the following topics in the Amazon Route 53 Developer Guide:
   1589 	//
   1590 	// * How Amazon
   1591 	// Route 53 Determines Whether an Endpoint Is Healthy
   1592 	// (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html)
   1593 	//
   1594 	// *
   1595 	// Route 53 Health Checks and DNS Failover
   1596 	// (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html)
   1597 	//
   1598 	// *
   1599 	// Configuring Failover in a Private Hosted Zone
   1600 	// (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html)
   1601 	//
   1602 	// When
   1603 	// to Specify HealthCheckId Specifying a value for HealthCheckId is useful only
   1604 	// when Route 53 is choosing between two or more resource record sets to respond to
   1605 	// a DNS query, and you want Route 53 to base the choice in part on the status of a
   1606 	// health check. Configuring health checks makes sense only in the following
   1607 	// configurations:
   1608 	//
   1609 	// * Non-alias resource record sets: You're checking the health of
   1610 	// a group of non-alias resource record sets that have the same routing policy,
   1611 	// name, and type (such as multiple weighted records named www.example.com with a
   1612 	// type of A) and you specify health check IDs for all the resource record sets. If
   1613 	// the health check status for a resource record set is healthy, Route 53 includes
   1614 	// the record among the records that it responds to DNS queries with. If the health
   1615 	// check status for a resource record set is unhealthy, Route 53 stops responding
   1616 	// to DNS queries using the value for that resource record set. If the health check
   1617 	// status for all resource record sets in the group is unhealthy, Route 53
   1618 	// considers all resource record sets in the group healthy and responds to DNS
   1619 	// queries accordingly.
   1620 	//
   1621 	// * Alias resource record sets: You specify the following
   1622 	// settings:
   1623 	//
   1624 	// * You set EvaluateTargetHealth to true for an alias resource record
   1625 	// set in a group of resource record sets that have the same routing policy, name,
   1626 	// and type (such as multiple weighted records named www.example.com with a type of
   1627 	// A).
   1628 	//
   1629 	// * You configure the alias resource record set to route traffic to a
   1630 	// non-alias resource record set in the same hosted zone.
   1631 	//
   1632 	// * You specify a health
   1633 	// check ID for the non-alias resource record set.
   1634 	//
   1635 	// If the health check status is
   1636 	// healthy, Route 53 considers the alias resource record set to be healthy and
   1637 	// includes the alias record among the records that it responds to DNS queries
   1638 	// with. If the health check status is unhealthy, Route 53 stops responding to DNS
   1639 	// queries using the alias resource record set. The alias resource record set can
   1640 	// also route traffic to a group of non-alias resource record sets that have the
   1641 	// same routing policy, name, and type. In that configuration, associate health
   1642 	// checks with all of the resource record sets in the group of non-alias resource
   1643 	// record sets.
   1644 	//
   1645 	// Geolocation Routing For geolocation resource record sets, if an
   1646 	// endpoint is unhealthy, Route 53 looks for a resource record set for the larger,
   1647 	// associated geographic region. For example, suppose you have resource record sets
   1648 	// for a state in the United States, for the entire United States, for North
   1649 	// America, and a resource record set that has * for CountryCode is *, which
   1650 	// applies to all locations. If the endpoint for the state resource record set is
   1651 	// unhealthy, Route 53 checks for healthy resource record sets in the following
   1652 	// order until it finds a resource record set for which the endpoint is healthy:
   1653 	//
   1654 	// *
   1655 	// The United States
   1656 	//
   1657 	// * North America
   1658 	//
   1659 	// * The default resource record
   1660 	// set
   1661 	//
   1662 	// Specifying the Health Check Endpoint by Domain Name If your health checks
   1663 	// specify the endpoint only by domain name, we recommend that you create a
   1664 	// separate health check for each endpoint. For example, create a health check for
   1665 	// each HTTP server that is serving content for www.example.com. For the value of
   1666 	// FullyQualifiedDomainName, specify the domain name of the server (such as
   1667 	// us-east-2-www.example.com), not the name of the resource record sets
   1668 	// (www.example.com). Health check results will be unpredictable if you do the
   1669 	// following:
   1670 	//
   1671 	// * Create a health check that has the same value for
   1672 	// FullyQualifiedDomainName as the name of a resource record set.
   1673 	//
   1674 	// * Associate that
   1675 	// health check with the resource record set.
   1676 	HealthCheckId *string
   1677 
   1678 	// Multivalue answer resource record sets only: To route traffic approximately
   1679 	// randomly to multiple resources, such as web servers, create one multivalue
   1680 	// answer record for each resource and specify true for MultiValueAnswer. Note the
   1681 	// following:
   1682 	//
   1683 	// * If you associate a health check with a multivalue answer resource
   1684 	// record set, Amazon Route 53 responds to DNS queries with the corresponding IP
   1685 	// address only when the health check is healthy.
   1686 	//
   1687 	// * If you don't associate a
   1688 	// health check with a multivalue answer record, Route 53 always considers the
   1689 	// record to be healthy.
   1690 	//
   1691 	// * Route 53 responds to DNS queries with up to eight
   1692 	// healthy records; if you have eight or fewer healthy records, Route 53 responds
   1693 	// to all DNS queries with all the healthy records.
   1694 	//
   1695 	// * If you have more than eight
   1696 	// healthy records, Route 53 responds to different DNS resolvers with different
   1697 	// combinations of healthy records.
   1698 	//
   1699 	// * When all records are unhealthy, Route 53
   1700 	// responds to DNS queries with up to eight unhealthy records.
   1701 	//
   1702 	// * If a resource
   1703 	// becomes unavailable after a resolver caches a response, client software
   1704 	// typically tries another of the IP addresses in the response.
   1705 	//
   1706 	// You can't create
   1707 	// multivalue answer alias records.
   1708 	MultiValueAnswer *bool
   1709 
   1710 	// Latency-based resource record sets only: The Amazon EC2 Region where you created
   1711 	// the resource that this resource record set refers to. The resource typically is
   1712 	// an Amazon Web Services resource, such as an EC2 instance or an ELB load
   1713 	// balancer, and is referred to by an IP address or a DNS domain name, depending on
   1714 	// the record type. Although creating latency and latency alias resource record
   1715 	// sets in a private hosted zone is allowed, it's not supported. When Amazon Route
   1716 	// 53 receives a DNS query for a domain name and type for which you have created
   1717 	// latency resource record sets, Route 53 selects the latency resource record set
   1718 	// that has the lowest latency between the end user and the associated Amazon EC2
   1719 	// Region. Route 53 then returns the value that is associated with the selected
   1720 	// resource record set. Note the following:
   1721 	//
   1722 	// * You can only specify one
   1723 	// ResourceRecord per latency resource record set.
   1724 	//
   1725 	// * You can only create one
   1726 	// latency resource record set for each Amazon EC2 Region.
   1727 	//
   1728 	// * You aren't required
   1729 	// to create latency resource record sets for all Amazon EC2 Regions. Route 53 will
   1730 	// choose the region with the best latency from among the regions that you create
   1731 	// latency resource record sets for.
   1732 	//
   1733 	// * You can't create non-latency resource
   1734 	// record sets that have the same values for the Name and Type elements as latency
   1735 	// resource record sets.
   1736 	Region ResourceRecordSetRegion
   1737 
   1738 	// Information about the resource records to act upon. If you're creating an alias
   1739 	// resource record set, omit ResourceRecords.
   1740 	ResourceRecords []ResourceRecord
   1741 
   1742 	// Resource record sets that have a routing policy other than simple: An identifier
   1743 	// that differentiates among multiple resource record sets that have the same
   1744 	// combination of name and type, such as multiple weighted resource record sets
   1745 	// named acme.example.com that have a type of A. In a group of resource record sets
   1746 	// that have the same name and type, the value of SetIdentifier must be unique for
   1747 	// each resource record set. For information about routing policies, see Choosing a
   1748 	// Routing Policy
   1749 	// (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html)
   1750 	// in the Amazon Route 53 Developer Guide.
   1751 	SetIdentifier *string
   1752 
   1753 	// The resource record cache time to live (TTL), in seconds. Note the following:
   1754 	//
   1755 	// *
   1756 	// If you're creating or updating an alias resource record set, omit TTL. Amazon
   1757 	// Route 53 uses the value of TTL for the alias target.
   1758 	//
   1759 	// * If you're associating
   1760 	// this resource record set with a health check (if you're adding a HealthCheckId
   1761 	// element), we recommend that you specify a TTL of 60 seconds or less so clients
   1762 	// respond quickly to changes in health status.
   1763 	//
   1764 	// * All of the resource record sets
   1765 	// in a group of weighted resource record sets must have the same value for TTL.
   1766 	//
   1767 	// *
   1768 	// If a group of weighted resource record sets includes one or more weighted alias
   1769 	// resource record sets for which the alias target is an ELB load balancer, we
   1770 	// recommend that you specify a TTL of 60 seconds for all of the non-alias weighted
   1771 	// resource record sets that have the same name and type. Values other than 60
   1772 	// seconds (the TTL for load balancers) will change the effect of the values that
   1773 	// you specify for Weight.
   1774 	TTL *int64
   1775 
   1776 	// When you create a traffic policy instance, Amazon Route 53 automatically creates
   1777 	// a resource record set. TrafficPolicyInstanceId is the ID of the traffic policy
   1778 	// instance that Route 53 created this resource record set for. To delete the
   1779 	// resource record set that is associated with a traffic policy instance, use
   1780 	// DeleteTrafficPolicyInstance. Route 53 will delete the resource record set
   1781 	// automatically. If you delete the resource record set by using
   1782 	// ChangeResourceRecordSets, Route 53 doesn't automatically delete the traffic
   1783 	// policy instance, and you'll continue to be charged for it even though it's no
   1784 	// longer in use.
   1785 	TrafficPolicyInstanceId *string
   1786 
   1787 	// Weighted resource record sets only: Among resource record sets that have the
   1788 	// same combination of DNS name and type, a value that determines the proportion of
   1789 	// DNS queries that Amazon Route 53 responds to using the current resource record
   1790 	// set. Route 53 calculates the sum of the weights for the resource record sets
   1791 	// that have the same combination of DNS name and type. Route 53 then responds to
   1792 	// queries based on the ratio of a resource's weight to the total. Note the
   1793 	// following:
   1794 	//
   1795 	// * You must specify a value for the Weight element for every weighted
   1796 	// resource record set.
   1797 	//
   1798 	// * You can only specify one ResourceRecord per weighted
   1799 	// resource record set.
   1800 	//
   1801 	// * You can't create latency, failover, or geolocation
   1802 	// resource record sets that have the same values for the Name and Type elements as
   1803 	// weighted resource record sets.
   1804 	//
   1805 	// * You can create a maximum of 100 weighted
   1806 	// resource record sets that have the same values for the Name and Type
   1807 	// elements.
   1808 	//
   1809 	// * For weighted (but not weighted alias) resource record sets, if you
   1810 	// set Weight to 0 for a resource record set, Route 53 never responds to queries
   1811 	// with the applicable value for that resource record set. However, if you set
   1812 	// Weight to 0 for all resource record sets that have the same combination of DNS
   1813 	// name and type, traffic is routed to all resources with equal probability. The
   1814 	// effect of setting Weight to 0 is different when you associate health checks with
   1815 	// weighted resource record sets. For more information, see Options for Configuring
   1816 	// Route 53 Active-Active and Active-Passive Failover
   1817 	// (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-configuring-options.html)
   1818 	// in the Amazon Route 53 Developer Guide.
   1819 	Weight *int64
   1820 
   1821 	noSmithyDocumentSerde
   1822 }
   1823 
   1824 // A complex type containing a resource and its associated tags.
   1825 type ResourceTagSet struct {
   1826 
   1827 	// The ID for the specified resource.
   1828 	ResourceId *string
   1829 
   1830 	// The type of the resource.
   1831 	//
   1832 	// * The resource type for health checks is
   1833 	// healthcheck.
   1834 	//
   1835 	// * The resource type for hosted zones is hostedzone.
   1836 	ResourceType TagResourceType
   1837 
   1838 	// The tags associated with the specified resource.
   1839 	Tags []Tag
   1840 
   1841 	noSmithyDocumentSerde
   1842 }
   1843 
   1844 // A complex type that contains the type of limit that you specified in the request
   1845 // and the current value for that limit.
   1846 type ReusableDelegationSetLimit struct {
   1847 
   1848 	// The limit that you requested: MAX_ZONES_BY_REUSABLE_DELEGATION_SET, the maximum
   1849 	// number of hosted zones that you can associate with the specified reusable
   1850 	// delegation set.
   1851 	//
   1852 	// This member is required.
   1853 	Type ReusableDelegationSetLimitType
   1854 
   1855 	// The current value for the MAX_ZONES_BY_REUSABLE_DELEGATION_SET limit.
   1856 	//
   1857 	// This member is required.
   1858 	Value int64
   1859 
   1860 	noSmithyDocumentSerde
   1861 }
   1862 
   1863 // A complex type that contains the status that one Amazon Route 53 health checker
   1864 // reports and the time of the health check.
   1865 type StatusReport struct {
   1866 
   1867 	// The date and time that the health checker performed the health check in ISO 8601
   1868 	// format (https://en.wikipedia.org/wiki/ISO_8601) and Coordinated Universal Time
   1869 	// (UTC). For example, the value 2017-03-27T17:48:16.751Z represents March 27, 2017
   1870 	// at 17:48:16.751 UTC.
   1871 	CheckedTime *time.Time
   1872 
   1873 	// A description of the status of the health check endpoint as reported by one of
   1874 	// the Amazon Route 53 health checkers.
   1875 	Status *string
   1876 
   1877 	noSmithyDocumentSerde
   1878 }
   1879 
   1880 // A complex type that contains information about a tag that you want to add or
   1881 // edit for the specified health check or hosted zone.
   1882 type Tag struct {
   1883 
   1884 	// The value of Key depends on the operation that you want to perform:
   1885 	//
   1886 	// * Add a tag
   1887 	// to a health check or hosted zone: Key is the name that you want to give the new
   1888 	// tag.
   1889 	//
   1890 	// * Edit a tag: Key is the name of the tag that you want to change the Value
   1891 	// for.
   1892 	//
   1893 	// * Delete a key: Key is the name of the tag you want to remove.
   1894 	//
   1895 	// * Give a
   1896 	// name to a health check: Edit the default Name tag. In the Amazon Route 53
   1897 	// console, the list of your health checks includes a Name column that lets you see
   1898 	// the name that you've given to each health check.
   1899 	Key *string
   1900 
   1901 	// The value of Value depends on the operation that you want to perform:
   1902 	//
   1903 	// * Add a
   1904 	// tag to a health check or hosted zone: Value is the value that you want to give
   1905 	// the new tag.
   1906 	//
   1907 	// * Edit a tag: Value is the new value that you want to assign the
   1908 	// tag.
   1909 	Value *string
   1910 
   1911 	noSmithyDocumentSerde
   1912 }
   1913 
   1914 // A complex type that contains settings for a traffic policy.
   1915 type TrafficPolicy struct {
   1916 
   1917 	// The definition of a traffic policy in JSON format. You specify the JSON document
   1918 	// to use for a new traffic policy in the CreateTrafficPolicy request. For more
   1919 	// information about the JSON format, see Traffic Policy Document Format
   1920 	// (https://docs.aws.amazon.com/Route53/latest/APIReference/api-policies-traffic-policy-document-format.html).
   1921 	//
   1922 	// This member is required.
   1923 	Document *string
   1924 
   1925 	// The ID that Amazon Route 53 assigned to a traffic policy when you created it.
   1926 	//
   1927 	// This member is required.
   1928 	Id *string
   1929 
   1930 	// The name that you specified when you created the traffic policy.
   1931 	//
   1932 	// This member is required.
   1933 	Name *string
   1934 
   1935 	// The DNS type of the resource record sets that Amazon Route 53 creates when you
   1936 	// use a traffic policy to create a traffic policy instance.
   1937 	//
   1938 	// This member is required.
   1939 	Type RRType
   1940 
   1941 	// The version number that Amazon Route 53 assigns to a traffic policy. For a new
   1942 	// traffic policy, the value of Version is always 1.
   1943 	//
   1944 	// This member is required.
   1945 	Version *int32
   1946 
   1947 	// The comment that you specify in the CreateTrafficPolicy request, if any.
   1948 	Comment *string
   1949 
   1950 	noSmithyDocumentSerde
   1951 }
   1952 
   1953 // A complex type that contains settings for the new traffic policy instance.
   1954 type TrafficPolicyInstance struct {
   1955 
   1956 	// The ID of the hosted zone that Amazon Route 53 created resource record sets in.
   1957 	//
   1958 	// This member is required.
   1959 	HostedZoneId *string
   1960 
   1961 	// The ID that Amazon Route 53 assigned to the new traffic policy instance.
   1962 	//
   1963 	// This member is required.
   1964 	Id *string
   1965 
   1966 	// If State is Failed, an explanation of the reason for the failure. If State is
   1967 	// another value, Message is empty.
   1968 	//
   1969 	// This member is required.
   1970 	Message *string
   1971 
   1972 	// The DNS name, such as www.example.com, for which Amazon Route 53 responds to
   1973 	// queries by using the resource record sets that are associated with this traffic
   1974 	// policy instance.
   1975 	//
   1976 	// This member is required.
   1977 	Name *string
   1978 
   1979 	// The value of State is one of the following values: Applied Amazon Route 53 has
   1980 	// finished creating resource record sets, and changes have propagated to all Route
   1981 	// 53 edge locations. Creating Route 53 is creating the resource record sets. Use
   1982 	// GetTrafficPolicyInstance to confirm that the CreateTrafficPolicyInstance request
   1983 	// completed successfully. Failed Route 53 wasn't able to create or update the
   1984 	// resource record sets. When the value of State is Failed, see Message for an
   1985 	// explanation of what caused the request to fail.
   1986 	//
   1987 	// This member is required.
   1988 	State *string
   1989 
   1990 	// The TTL that Amazon Route 53 assigned to all of the resource record sets that it
   1991 	// created in the specified hosted zone.
   1992 	//
   1993 	// This member is required.
   1994 	TTL *int64
   1995 
   1996 	// The ID of the traffic policy that Amazon Route 53 used to create resource record
   1997 	// sets in the specified hosted zone.
   1998 	//
   1999 	// This member is required.
   2000 	TrafficPolicyId *string
   2001 
   2002 	// The DNS type that Amazon Route 53 assigned to all of the resource record sets
   2003 	// that it created for this traffic policy instance.
   2004 	//
   2005 	// This member is required.
   2006 	TrafficPolicyType RRType
   2007 
   2008 	// The version of the traffic policy that Amazon Route 53 used to create resource
   2009 	// record sets in the specified hosted zone.
   2010 	//
   2011 	// This member is required.
   2012 	TrafficPolicyVersion *int32
   2013 
   2014 	noSmithyDocumentSerde
   2015 }
   2016 
   2017 // A complex type that contains information about the latest version of one traffic
   2018 // policy that is associated with the current Amazon Web Services account.
   2019 type TrafficPolicySummary struct {
   2020 
   2021 	// The ID that Amazon Route 53 assigned to the traffic policy when you created it.
   2022 	//
   2023 	// This member is required.
   2024 	Id *string
   2025 
   2026 	// The version number of the latest version of the traffic policy.
   2027 	//
   2028 	// This member is required.
   2029 	LatestVersion *int32
   2030 
   2031 	// The name that you specified for the traffic policy when you created it.
   2032 	//
   2033 	// This member is required.
   2034 	Name *string
   2035 
   2036 	// The number of traffic policies that are associated with the current Amazon Web
   2037 	// Services account.
   2038 	//
   2039 	// This member is required.
   2040 	TrafficPolicyCount *int32
   2041 
   2042 	// The DNS type of the resource record sets that Amazon Route 53 creates when you
   2043 	// use a traffic policy to create a traffic policy instance.
   2044 	//
   2045 	// This member is required.
   2046 	Type RRType
   2047 
   2048 	noSmithyDocumentSerde
   2049 }
   2050 
   2051 // (Private hosted zones only) A complex type that contains information about an
   2052 // Amazon VPC. If you associate a private hosted zone with an Amazon VPC when you
   2053 // make a CreateHostedZone
   2054 // (https://docs.aws.amazon.com/Route53/latest/APIReference/API_CreateHostedZone.html)
   2055 // request, the following parameters are also required.
   2056 type VPC struct {
   2057 
   2058 	// (Private hosted zones only) The ID of an Amazon VPC.
   2059 	VPCId *string
   2060 
   2061 	// (Private hosted zones only) The region that an Amazon VPC was created in.
   2062 	VPCRegion VPCRegion
   2063 
   2064 	noSmithyDocumentSerde
   2065 }
   2066 
   2067 type noSmithyDocumentSerde = smithydocument.NoSerde