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