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