1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package route53domains
4
5import (
6	"fmt"
7	"time"
8
9	"github.com/aws/aws-sdk-go/aws"
10	"github.com/aws/aws-sdk-go/aws/awsutil"
11	"github.com/aws/aws-sdk-go/aws/request"
12	"github.com/aws/aws-sdk-go/private/protocol"
13	"github.com/aws/aws-sdk-go/private/protocol/jsonrpc"
14)
15
16const opAcceptDomainTransferFromAnotherAwsAccount = "AcceptDomainTransferFromAnotherAwsAccount"
17
18// AcceptDomainTransferFromAnotherAwsAccountRequest generates a "aws/request.Request" representing the
19// client's request for the AcceptDomainTransferFromAnotherAwsAccount operation. The "output" return
20// value will be populated with the request's response once the request completes
21// successfully.
22//
23// Use "Send" method on the returned Request to send the API call to the service.
24// the "output" return value is not valid until after Send returns without error.
25//
26// See AcceptDomainTransferFromAnotherAwsAccount for more information on using the AcceptDomainTransferFromAnotherAwsAccount
27// API call, and error handling.
28//
29// This method is useful when you want to inject custom logic or configuration
30// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31//
32//
33//    // Example sending a request using the AcceptDomainTransferFromAnotherAwsAccountRequest method.
34//    req, resp := client.AcceptDomainTransferFromAnotherAwsAccountRequest(params)
35//
36//    err := req.Send()
37//    if err == nil { // resp is now filled
38//        fmt.Println(resp)
39//    }
40//
41// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/AcceptDomainTransferFromAnotherAwsAccount
42func (c *Route53Domains) AcceptDomainTransferFromAnotherAwsAccountRequest(input *AcceptDomainTransferFromAnotherAwsAccountInput) (req *request.Request, output *AcceptDomainTransferFromAnotherAwsAccountOutput) {
43	op := &request.Operation{
44		Name:       opAcceptDomainTransferFromAnotherAwsAccount,
45		HTTPMethod: "POST",
46		HTTPPath:   "/",
47	}
48
49	if input == nil {
50		input = &AcceptDomainTransferFromAnotherAwsAccountInput{}
51	}
52
53	output = &AcceptDomainTransferFromAnotherAwsAccountOutput{}
54	req = c.newRequest(op, input, output)
55	return
56}
57
58// AcceptDomainTransferFromAnotherAwsAccount API operation for Amazon Route 53 Domains.
59//
60// Accepts the transfer of a domain from another AWS account to the current
61// AWS account. You initiate a transfer between AWS accounts using TransferDomainToAnotherAwsAccount
62// (https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_TransferDomainToAnotherAwsAccount.html).
63//
64// Use either ListOperations (https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_ListOperations.html)
65// or GetOperationDetail (https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_GetOperationDetail.html)
66// to determine whether the operation succeeded. GetOperationDetail (https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_GetOperationDetail.html)
67// provides additional information, for example, Domain Transfer from Aws Account
68// 111122223333 has been cancelled.
69//
70// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
71// with awserr.Error's Code and Message methods to get detailed information about
72// the error.
73//
74// See the AWS API reference guide for Amazon Route 53 Domains's
75// API operation AcceptDomainTransferFromAnotherAwsAccount for usage and error information.
76//
77// Returned Error Types:
78//   * InvalidInput
79//   The requested item is not acceptable. For example, for APIs that accept a
80//   domain name, the request might specify a domain name that doesn't belong
81//   to the account that submitted the request. For AcceptDomainTransferFromAnotherAwsAccount,
82//   the password might be invalid.
83//
84//   * OperationLimitExceeded
85//   The number of operations or jobs running exceeded the allowed threshold for
86//   the account.
87//
88//   * DomainLimitExceeded
89//   The number of domains has exceeded the allowed threshold for the account.
90//
91// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/AcceptDomainTransferFromAnotherAwsAccount
92func (c *Route53Domains) AcceptDomainTransferFromAnotherAwsAccount(input *AcceptDomainTransferFromAnotherAwsAccountInput) (*AcceptDomainTransferFromAnotherAwsAccountOutput, error) {
93	req, out := c.AcceptDomainTransferFromAnotherAwsAccountRequest(input)
94	return out, req.Send()
95}
96
97// AcceptDomainTransferFromAnotherAwsAccountWithContext is the same as AcceptDomainTransferFromAnotherAwsAccount with the addition of
98// the ability to pass a context and additional request options.
99//
100// See AcceptDomainTransferFromAnotherAwsAccount for details on how to use this API operation.
101//
102// The context must be non-nil and will be used for request cancellation. If
103// the context is nil a panic will occur. In the future the SDK may create
104// sub-contexts for http.Requests. See https://golang.org/pkg/context/
105// for more information on using Contexts.
106func (c *Route53Domains) AcceptDomainTransferFromAnotherAwsAccountWithContext(ctx aws.Context, input *AcceptDomainTransferFromAnotherAwsAccountInput, opts ...request.Option) (*AcceptDomainTransferFromAnotherAwsAccountOutput, error) {
107	req, out := c.AcceptDomainTransferFromAnotherAwsAccountRequest(input)
108	req.SetContext(ctx)
109	req.ApplyOptions(opts...)
110	return out, req.Send()
111}
112
113const opCancelDomainTransferToAnotherAwsAccount = "CancelDomainTransferToAnotherAwsAccount"
114
115// CancelDomainTransferToAnotherAwsAccountRequest generates a "aws/request.Request" representing the
116// client's request for the CancelDomainTransferToAnotherAwsAccount operation. The "output" return
117// value will be populated with the request's response once the request completes
118// successfully.
119//
120// Use "Send" method on the returned Request to send the API call to the service.
121// the "output" return value is not valid until after Send returns without error.
122//
123// See CancelDomainTransferToAnotherAwsAccount for more information on using the CancelDomainTransferToAnotherAwsAccount
124// API call, and error handling.
125//
126// This method is useful when you want to inject custom logic or configuration
127// into the SDK's request lifecycle. Such as custom headers, or retry logic.
128//
129//
130//    // Example sending a request using the CancelDomainTransferToAnotherAwsAccountRequest method.
131//    req, resp := client.CancelDomainTransferToAnotherAwsAccountRequest(params)
132//
133//    err := req.Send()
134//    if err == nil { // resp is now filled
135//        fmt.Println(resp)
136//    }
137//
138// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/CancelDomainTransferToAnotherAwsAccount
139func (c *Route53Domains) CancelDomainTransferToAnotherAwsAccountRequest(input *CancelDomainTransferToAnotherAwsAccountInput) (req *request.Request, output *CancelDomainTransferToAnotherAwsAccountOutput) {
140	op := &request.Operation{
141		Name:       opCancelDomainTransferToAnotherAwsAccount,
142		HTTPMethod: "POST",
143		HTTPPath:   "/",
144	}
145
146	if input == nil {
147		input = &CancelDomainTransferToAnotherAwsAccountInput{}
148	}
149
150	output = &CancelDomainTransferToAnotherAwsAccountOutput{}
151	req = c.newRequest(op, input, output)
152	return
153}
154
155// CancelDomainTransferToAnotherAwsAccount API operation for Amazon Route 53 Domains.
156//
157// Cancels the transfer of a domain from the current AWS account to another
158// AWS account. You initiate a transfer between AWS accounts using TransferDomainToAnotherAwsAccount
159// (https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_TransferDomainToAnotherAwsAccount.html).
160//
161// You must cancel the transfer before the other AWS account accepts the transfer
162// using AcceptDomainTransferFromAnotherAwsAccount (https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_AcceptDomainTransferFromAnotherAwsAccount.html).
163//
164// Use either ListOperations (https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_ListOperations.html)
165// or GetOperationDetail (https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_GetOperationDetail.html)
166// to determine whether the operation succeeded. GetOperationDetail (https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_GetOperationDetail.html)
167// provides additional information, for example, Domain Transfer from Aws Account
168// 111122223333 has been cancelled.
169//
170// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
171// with awserr.Error's Code and Message methods to get detailed information about
172// the error.
173//
174// See the AWS API reference guide for Amazon Route 53 Domains's
175// API operation CancelDomainTransferToAnotherAwsAccount for usage and error information.
176//
177// Returned Error Types:
178//   * InvalidInput
179//   The requested item is not acceptable. For example, for APIs that accept a
180//   domain name, the request might specify a domain name that doesn't belong
181//   to the account that submitted the request. For AcceptDomainTransferFromAnotherAwsAccount,
182//   the password might be invalid.
183//
184//   * OperationLimitExceeded
185//   The number of operations or jobs running exceeded the allowed threshold for
186//   the account.
187//
188// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/CancelDomainTransferToAnotherAwsAccount
189func (c *Route53Domains) CancelDomainTransferToAnotherAwsAccount(input *CancelDomainTransferToAnotherAwsAccountInput) (*CancelDomainTransferToAnotherAwsAccountOutput, error) {
190	req, out := c.CancelDomainTransferToAnotherAwsAccountRequest(input)
191	return out, req.Send()
192}
193
194// CancelDomainTransferToAnotherAwsAccountWithContext is the same as CancelDomainTransferToAnotherAwsAccount with the addition of
195// the ability to pass a context and additional request options.
196//
197// See CancelDomainTransferToAnotherAwsAccount for details on how to use this API operation.
198//
199// The context must be non-nil and will be used for request cancellation. If
200// the context is nil a panic will occur. In the future the SDK may create
201// sub-contexts for http.Requests. See https://golang.org/pkg/context/
202// for more information on using Contexts.
203func (c *Route53Domains) CancelDomainTransferToAnotherAwsAccountWithContext(ctx aws.Context, input *CancelDomainTransferToAnotherAwsAccountInput, opts ...request.Option) (*CancelDomainTransferToAnotherAwsAccountOutput, error) {
204	req, out := c.CancelDomainTransferToAnotherAwsAccountRequest(input)
205	req.SetContext(ctx)
206	req.ApplyOptions(opts...)
207	return out, req.Send()
208}
209
210const opCheckDomainAvailability = "CheckDomainAvailability"
211
212// CheckDomainAvailabilityRequest generates a "aws/request.Request" representing the
213// client's request for the CheckDomainAvailability operation. The "output" return
214// value will be populated with the request's response once the request completes
215// successfully.
216//
217// Use "Send" method on the returned Request to send the API call to the service.
218// the "output" return value is not valid until after Send returns without error.
219//
220// See CheckDomainAvailability for more information on using the CheckDomainAvailability
221// API call, and error handling.
222//
223// This method is useful when you want to inject custom logic or configuration
224// into the SDK's request lifecycle. Such as custom headers, or retry logic.
225//
226//
227//    // Example sending a request using the CheckDomainAvailabilityRequest method.
228//    req, resp := client.CheckDomainAvailabilityRequest(params)
229//
230//    err := req.Send()
231//    if err == nil { // resp is now filled
232//        fmt.Println(resp)
233//    }
234//
235// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/CheckDomainAvailability
236func (c *Route53Domains) CheckDomainAvailabilityRequest(input *CheckDomainAvailabilityInput) (req *request.Request, output *CheckDomainAvailabilityOutput) {
237	op := &request.Operation{
238		Name:       opCheckDomainAvailability,
239		HTTPMethod: "POST",
240		HTTPPath:   "/",
241	}
242
243	if input == nil {
244		input = &CheckDomainAvailabilityInput{}
245	}
246
247	output = &CheckDomainAvailabilityOutput{}
248	req = c.newRequest(op, input, output)
249	return
250}
251
252// CheckDomainAvailability API operation for Amazon Route 53 Domains.
253//
254// This operation checks the availability of one domain name. Note that if the
255// availability status of a domain is pending, you must submit another request
256// to determine the availability of the domain name.
257//
258// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
259// with awserr.Error's Code and Message methods to get detailed information about
260// the error.
261//
262// See the AWS API reference guide for Amazon Route 53 Domains's
263// API operation CheckDomainAvailability for usage and error information.
264//
265// Returned Error Types:
266//   * InvalidInput
267//   The requested item is not acceptable. For example, for APIs that accept a
268//   domain name, the request might specify a domain name that doesn't belong
269//   to the account that submitted the request. For AcceptDomainTransferFromAnotherAwsAccount,
270//   the password might be invalid.
271//
272//   * UnsupportedTLD
273//   Amazon Route 53 does not support this top-level domain (TLD).
274//
275// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/CheckDomainAvailability
276func (c *Route53Domains) CheckDomainAvailability(input *CheckDomainAvailabilityInput) (*CheckDomainAvailabilityOutput, error) {
277	req, out := c.CheckDomainAvailabilityRequest(input)
278	return out, req.Send()
279}
280
281// CheckDomainAvailabilityWithContext is the same as CheckDomainAvailability with the addition of
282// the ability to pass a context and additional request options.
283//
284// See CheckDomainAvailability for details on how to use this API operation.
285//
286// The context must be non-nil and will be used for request cancellation. If
287// the context is nil a panic will occur. In the future the SDK may create
288// sub-contexts for http.Requests. See https://golang.org/pkg/context/
289// for more information on using Contexts.
290func (c *Route53Domains) CheckDomainAvailabilityWithContext(ctx aws.Context, input *CheckDomainAvailabilityInput, opts ...request.Option) (*CheckDomainAvailabilityOutput, error) {
291	req, out := c.CheckDomainAvailabilityRequest(input)
292	req.SetContext(ctx)
293	req.ApplyOptions(opts...)
294	return out, req.Send()
295}
296
297const opCheckDomainTransferability = "CheckDomainTransferability"
298
299// CheckDomainTransferabilityRequest generates a "aws/request.Request" representing the
300// client's request for the CheckDomainTransferability operation. The "output" return
301// value will be populated with the request's response once the request completes
302// successfully.
303//
304// Use "Send" method on the returned Request to send the API call to the service.
305// the "output" return value is not valid until after Send returns without error.
306//
307// See CheckDomainTransferability for more information on using the CheckDomainTransferability
308// API call, and error handling.
309//
310// This method is useful when you want to inject custom logic or configuration
311// into the SDK's request lifecycle. Such as custom headers, or retry logic.
312//
313//
314//    // Example sending a request using the CheckDomainTransferabilityRequest method.
315//    req, resp := client.CheckDomainTransferabilityRequest(params)
316//
317//    err := req.Send()
318//    if err == nil { // resp is now filled
319//        fmt.Println(resp)
320//    }
321//
322// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/CheckDomainTransferability
323func (c *Route53Domains) CheckDomainTransferabilityRequest(input *CheckDomainTransferabilityInput) (req *request.Request, output *CheckDomainTransferabilityOutput) {
324	op := &request.Operation{
325		Name:       opCheckDomainTransferability,
326		HTTPMethod: "POST",
327		HTTPPath:   "/",
328	}
329
330	if input == nil {
331		input = &CheckDomainTransferabilityInput{}
332	}
333
334	output = &CheckDomainTransferabilityOutput{}
335	req = c.newRequest(op, input, output)
336	return
337}
338
339// CheckDomainTransferability API operation for Amazon Route 53 Domains.
340//
341// Checks whether a domain name can be transferred to Amazon Route 53.
342//
343// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
344// with awserr.Error's Code and Message methods to get detailed information about
345// the error.
346//
347// See the AWS API reference guide for Amazon Route 53 Domains's
348// API operation CheckDomainTransferability for usage and error information.
349//
350// Returned Error Types:
351//   * InvalidInput
352//   The requested item is not acceptable. For example, for APIs that accept a
353//   domain name, the request might specify a domain name that doesn't belong
354//   to the account that submitted the request. For AcceptDomainTransferFromAnotherAwsAccount,
355//   the password might be invalid.
356//
357//   * UnsupportedTLD
358//   Amazon Route 53 does not support this top-level domain (TLD).
359//
360// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/CheckDomainTransferability
361func (c *Route53Domains) CheckDomainTransferability(input *CheckDomainTransferabilityInput) (*CheckDomainTransferabilityOutput, error) {
362	req, out := c.CheckDomainTransferabilityRequest(input)
363	return out, req.Send()
364}
365
366// CheckDomainTransferabilityWithContext is the same as CheckDomainTransferability with the addition of
367// the ability to pass a context and additional request options.
368//
369// See CheckDomainTransferability for details on how to use this API operation.
370//
371// The context must be non-nil and will be used for request cancellation. If
372// the context is nil a panic will occur. In the future the SDK may create
373// sub-contexts for http.Requests. See https://golang.org/pkg/context/
374// for more information on using Contexts.
375func (c *Route53Domains) CheckDomainTransferabilityWithContext(ctx aws.Context, input *CheckDomainTransferabilityInput, opts ...request.Option) (*CheckDomainTransferabilityOutput, error) {
376	req, out := c.CheckDomainTransferabilityRequest(input)
377	req.SetContext(ctx)
378	req.ApplyOptions(opts...)
379	return out, req.Send()
380}
381
382const opDeleteTagsForDomain = "DeleteTagsForDomain"
383
384// DeleteTagsForDomainRequest generates a "aws/request.Request" representing the
385// client's request for the DeleteTagsForDomain operation. The "output" return
386// value will be populated with the request's response once the request completes
387// successfully.
388//
389// Use "Send" method on the returned Request to send the API call to the service.
390// the "output" return value is not valid until after Send returns without error.
391//
392// See DeleteTagsForDomain for more information on using the DeleteTagsForDomain
393// API call, and error handling.
394//
395// This method is useful when you want to inject custom logic or configuration
396// into the SDK's request lifecycle. Such as custom headers, or retry logic.
397//
398//
399//    // Example sending a request using the DeleteTagsForDomainRequest method.
400//    req, resp := client.DeleteTagsForDomainRequest(params)
401//
402//    err := req.Send()
403//    if err == nil { // resp is now filled
404//        fmt.Println(resp)
405//    }
406//
407// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/DeleteTagsForDomain
408func (c *Route53Domains) DeleteTagsForDomainRequest(input *DeleteTagsForDomainInput) (req *request.Request, output *DeleteTagsForDomainOutput) {
409	op := &request.Operation{
410		Name:       opDeleteTagsForDomain,
411		HTTPMethod: "POST",
412		HTTPPath:   "/",
413	}
414
415	if input == nil {
416		input = &DeleteTagsForDomainInput{}
417	}
418
419	output = &DeleteTagsForDomainOutput{}
420	req = c.newRequest(op, input, output)
421	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
422	return
423}
424
425// DeleteTagsForDomain API operation for Amazon Route 53 Domains.
426//
427// This operation deletes the specified tags for a domain.
428//
429// All tag operations are eventually consistent; subsequent operations might
430// not immediately represent all issued operations.
431//
432// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
433// with awserr.Error's Code and Message methods to get detailed information about
434// the error.
435//
436// See the AWS API reference guide for Amazon Route 53 Domains's
437// API operation DeleteTagsForDomain for usage and error information.
438//
439// Returned Error Types:
440//   * InvalidInput
441//   The requested item is not acceptable. For example, for APIs that accept a
442//   domain name, the request might specify a domain name that doesn't belong
443//   to the account that submitted the request. For AcceptDomainTransferFromAnotherAwsAccount,
444//   the password might be invalid.
445//
446//   * OperationLimitExceeded
447//   The number of operations or jobs running exceeded the allowed threshold for
448//   the account.
449//
450//   * UnsupportedTLD
451//   Amazon Route 53 does not support this top-level domain (TLD).
452//
453// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/DeleteTagsForDomain
454func (c *Route53Domains) DeleteTagsForDomain(input *DeleteTagsForDomainInput) (*DeleteTagsForDomainOutput, error) {
455	req, out := c.DeleteTagsForDomainRequest(input)
456	return out, req.Send()
457}
458
459// DeleteTagsForDomainWithContext is the same as DeleteTagsForDomain with the addition of
460// the ability to pass a context and additional request options.
461//
462// See DeleteTagsForDomain for details on how to use this API operation.
463//
464// The context must be non-nil and will be used for request cancellation. If
465// the context is nil a panic will occur. In the future the SDK may create
466// sub-contexts for http.Requests. See https://golang.org/pkg/context/
467// for more information on using Contexts.
468func (c *Route53Domains) DeleteTagsForDomainWithContext(ctx aws.Context, input *DeleteTagsForDomainInput, opts ...request.Option) (*DeleteTagsForDomainOutput, error) {
469	req, out := c.DeleteTagsForDomainRequest(input)
470	req.SetContext(ctx)
471	req.ApplyOptions(opts...)
472	return out, req.Send()
473}
474
475const opDisableDomainAutoRenew = "DisableDomainAutoRenew"
476
477// DisableDomainAutoRenewRequest generates a "aws/request.Request" representing the
478// client's request for the DisableDomainAutoRenew operation. The "output" return
479// value will be populated with the request's response once the request completes
480// successfully.
481//
482// Use "Send" method on the returned Request to send the API call to the service.
483// the "output" return value is not valid until after Send returns without error.
484//
485// See DisableDomainAutoRenew for more information on using the DisableDomainAutoRenew
486// API call, and error handling.
487//
488// This method is useful when you want to inject custom logic or configuration
489// into the SDK's request lifecycle. Such as custom headers, or retry logic.
490//
491//
492//    // Example sending a request using the DisableDomainAutoRenewRequest method.
493//    req, resp := client.DisableDomainAutoRenewRequest(params)
494//
495//    err := req.Send()
496//    if err == nil { // resp is now filled
497//        fmt.Println(resp)
498//    }
499//
500// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/DisableDomainAutoRenew
501func (c *Route53Domains) DisableDomainAutoRenewRequest(input *DisableDomainAutoRenewInput) (req *request.Request, output *DisableDomainAutoRenewOutput) {
502	op := &request.Operation{
503		Name:       opDisableDomainAutoRenew,
504		HTTPMethod: "POST",
505		HTTPPath:   "/",
506	}
507
508	if input == nil {
509		input = &DisableDomainAutoRenewInput{}
510	}
511
512	output = &DisableDomainAutoRenewOutput{}
513	req = c.newRequest(op, input, output)
514	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
515	return
516}
517
518// DisableDomainAutoRenew API operation for Amazon Route 53 Domains.
519//
520// This operation disables automatic renewal of domain registration for the
521// specified domain.
522//
523// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
524// with awserr.Error's Code and Message methods to get detailed information about
525// the error.
526//
527// See the AWS API reference guide for Amazon Route 53 Domains's
528// API operation DisableDomainAutoRenew for usage and error information.
529//
530// Returned Error Types:
531//   * InvalidInput
532//   The requested item is not acceptable. For example, for APIs that accept a
533//   domain name, the request might specify a domain name that doesn't belong
534//   to the account that submitted the request. For AcceptDomainTransferFromAnotherAwsAccount,
535//   the password might be invalid.
536//
537//   * UnsupportedTLD
538//   Amazon Route 53 does not support this top-level domain (TLD).
539//
540// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/DisableDomainAutoRenew
541func (c *Route53Domains) DisableDomainAutoRenew(input *DisableDomainAutoRenewInput) (*DisableDomainAutoRenewOutput, error) {
542	req, out := c.DisableDomainAutoRenewRequest(input)
543	return out, req.Send()
544}
545
546// DisableDomainAutoRenewWithContext is the same as DisableDomainAutoRenew with the addition of
547// the ability to pass a context and additional request options.
548//
549// See DisableDomainAutoRenew for details on how to use this API operation.
550//
551// The context must be non-nil and will be used for request cancellation. If
552// the context is nil a panic will occur. In the future the SDK may create
553// sub-contexts for http.Requests. See https://golang.org/pkg/context/
554// for more information on using Contexts.
555func (c *Route53Domains) DisableDomainAutoRenewWithContext(ctx aws.Context, input *DisableDomainAutoRenewInput, opts ...request.Option) (*DisableDomainAutoRenewOutput, error) {
556	req, out := c.DisableDomainAutoRenewRequest(input)
557	req.SetContext(ctx)
558	req.ApplyOptions(opts...)
559	return out, req.Send()
560}
561
562const opDisableDomainTransferLock = "DisableDomainTransferLock"
563
564// DisableDomainTransferLockRequest generates a "aws/request.Request" representing the
565// client's request for the DisableDomainTransferLock operation. The "output" return
566// value will be populated with the request's response once the request completes
567// successfully.
568//
569// Use "Send" method on the returned Request to send the API call to the service.
570// the "output" return value is not valid until after Send returns without error.
571//
572// See DisableDomainTransferLock for more information on using the DisableDomainTransferLock
573// API call, and error handling.
574//
575// This method is useful when you want to inject custom logic or configuration
576// into the SDK's request lifecycle. Such as custom headers, or retry logic.
577//
578//
579//    // Example sending a request using the DisableDomainTransferLockRequest method.
580//    req, resp := client.DisableDomainTransferLockRequest(params)
581//
582//    err := req.Send()
583//    if err == nil { // resp is now filled
584//        fmt.Println(resp)
585//    }
586//
587// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/DisableDomainTransferLock
588func (c *Route53Domains) DisableDomainTransferLockRequest(input *DisableDomainTransferLockInput) (req *request.Request, output *DisableDomainTransferLockOutput) {
589	op := &request.Operation{
590		Name:       opDisableDomainTransferLock,
591		HTTPMethod: "POST",
592		HTTPPath:   "/",
593	}
594
595	if input == nil {
596		input = &DisableDomainTransferLockInput{}
597	}
598
599	output = &DisableDomainTransferLockOutput{}
600	req = c.newRequest(op, input, output)
601	return
602}
603
604// DisableDomainTransferLock API operation for Amazon Route 53 Domains.
605//
606// This operation removes the transfer lock on the domain (specifically the
607// clientTransferProhibited status) to allow domain transfers. We recommend
608// you refrain from performing this action unless you intend to transfer the
609// domain to a different registrar. Successful submission returns an operation
610// ID that you can use to track the progress and completion of the action. If
611// the request is not completed successfully, the domain registrant will be
612// notified by email.
613//
614// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
615// with awserr.Error's Code and Message methods to get detailed information about
616// the error.
617//
618// See the AWS API reference guide for Amazon Route 53 Domains's
619// API operation DisableDomainTransferLock for usage and error information.
620//
621// Returned Error Types:
622//   * InvalidInput
623//   The requested item is not acceptable. For example, for APIs that accept a
624//   domain name, the request might specify a domain name that doesn't belong
625//   to the account that submitted the request. For AcceptDomainTransferFromAnotherAwsAccount,
626//   the password might be invalid.
627//
628//   * DuplicateRequest
629//   The request is already in progress for the domain.
630//
631//   * TLDRulesViolation
632//   The top-level domain does not support this operation.
633//
634//   * OperationLimitExceeded
635//   The number of operations or jobs running exceeded the allowed threshold for
636//   the account.
637//
638//   * UnsupportedTLD
639//   Amazon Route 53 does not support this top-level domain (TLD).
640//
641// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/DisableDomainTransferLock
642func (c *Route53Domains) DisableDomainTransferLock(input *DisableDomainTransferLockInput) (*DisableDomainTransferLockOutput, error) {
643	req, out := c.DisableDomainTransferLockRequest(input)
644	return out, req.Send()
645}
646
647// DisableDomainTransferLockWithContext is the same as DisableDomainTransferLock with the addition of
648// the ability to pass a context and additional request options.
649//
650// See DisableDomainTransferLock for details on how to use this API operation.
651//
652// The context must be non-nil and will be used for request cancellation. If
653// the context is nil a panic will occur. In the future the SDK may create
654// sub-contexts for http.Requests. See https://golang.org/pkg/context/
655// for more information on using Contexts.
656func (c *Route53Domains) DisableDomainTransferLockWithContext(ctx aws.Context, input *DisableDomainTransferLockInput, opts ...request.Option) (*DisableDomainTransferLockOutput, error) {
657	req, out := c.DisableDomainTransferLockRequest(input)
658	req.SetContext(ctx)
659	req.ApplyOptions(opts...)
660	return out, req.Send()
661}
662
663const opEnableDomainAutoRenew = "EnableDomainAutoRenew"
664
665// EnableDomainAutoRenewRequest generates a "aws/request.Request" representing the
666// client's request for the EnableDomainAutoRenew operation. The "output" return
667// value will be populated with the request's response once the request completes
668// successfully.
669//
670// Use "Send" method on the returned Request to send the API call to the service.
671// the "output" return value is not valid until after Send returns without error.
672//
673// See EnableDomainAutoRenew for more information on using the EnableDomainAutoRenew
674// API call, and error handling.
675//
676// This method is useful when you want to inject custom logic or configuration
677// into the SDK's request lifecycle. Such as custom headers, or retry logic.
678//
679//
680//    // Example sending a request using the EnableDomainAutoRenewRequest method.
681//    req, resp := client.EnableDomainAutoRenewRequest(params)
682//
683//    err := req.Send()
684//    if err == nil { // resp is now filled
685//        fmt.Println(resp)
686//    }
687//
688// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/EnableDomainAutoRenew
689func (c *Route53Domains) EnableDomainAutoRenewRequest(input *EnableDomainAutoRenewInput) (req *request.Request, output *EnableDomainAutoRenewOutput) {
690	op := &request.Operation{
691		Name:       opEnableDomainAutoRenew,
692		HTTPMethod: "POST",
693		HTTPPath:   "/",
694	}
695
696	if input == nil {
697		input = &EnableDomainAutoRenewInput{}
698	}
699
700	output = &EnableDomainAutoRenewOutput{}
701	req = c.newRequest(op, input, output)
702	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
703	return
704}
705
706// EnableDomainAutoRenew API operation for Amazon Route 53 Domains.
707//
708// This operation configures Amazon Route 53 to automatically renew the specified
709// domain before the domain registration expires. The cost of renewing your
710// domain registration is billed to your AWS account.
711//
712// The period during which you can renew a domain name varies by TLD. For a
713// list of TLDs and their renewal policies, see Domains That You Can Register
714// with Amazon Route 53 (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/registrar-tld-list.html)
715// in the Amazon Route 53 Developer Guide. Route 53 requires that you renew
716// before the end of the renewal period so we can complete processing before
717// the deadline.
718//
719// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
720// with awserr.Error's Code and Message methods to get detailed information about
721// the error.
722//
723// See the AWS API reference guide for Amazon Route 53 Domains's
724// API operation EnableDomainAutoRenew for usage and error information.
725//
726// Returned Error Types:
727//   * InvalidInput
728//   The requested item is not acceptable. For example, for APIs that accept a
729//   domain name, the request might specify a domain name that doesn't belong
730//   to the account that submitted the request. For AcceptDomainTransferFromAnotherAwsAccount,
731//   the password might be invalid.
732//
733//   * UnsupportedTLD
734//   Amazon Route 53 does not support this top-level domain (TLD).
735//
736//   * TLDRulesViolation
737//   The top-level domain does not support this operation.
738//
739// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/EnableDomainAutoRenew
740func (c *Route53Domains) EnableDomainAutoRenew(input *EnableDomainAutoRenewInput) (*EnableDomainAutoRenewOutput, error) {
741	req, out := c.EnableDomainAutoRenewRequest(input)
742	return out, req.Send()
743}
744
745// EnableDomainAutoRenewWithContext is the same as EnableDomainAutoRenew with the addition of
746// the ability to pass a context and additional request options.
747//
748// See EnableDomainAutoRenew for details on how to use this API operation.
749//
750// The context must be non-nil and will be used for request cancellation. If
751// the context is nil a panic will occur. In the future the SDK may create
752// sub-contexts for http.Requests. See https://golang.org/pkg/context/
753// for more information on using Contexts.
754func (c *Route53Domains) EnableDomainAutoRenewWithContext(ctx aws.Context, input *EnableDomainAutoRenewInput, opts ...request.Option) (*EnableDomainAutoRenewOutput, error) {
755	req, out := c.EnableDomainAutoRenewRequest(input)
756	req.SetContext(ctx)
757	req.ApplyOptions(opts...)
758	return out, req.Send()
759}
760
761const opEnableDomainTransferLock = "EnableDomainTransferLock"
762
763// EnableDomainTransferLockRequest generates a "aws/request.Request" representing the
764// client's request for the EnableDomainTransferLock operation. The "output" return
765// value will be populated with the request's response once the request completes
766// successfully.
767//
768// Use "Send" method on the returned Request to send the API call to the service.
769// the "output" return value is not valid until after Send returns without error.
770//
771// See EnableDomainTransferLock for more information on using the EnableDomainTransferLock
772// API call, and error handling.
773//
774// This method is useful when you want to inject custom logic or configuration
775// into the SDK's request lifecycle. Such as custom headers, or retry logic.
776//
777//
778//    // Example sending a request using the EnableDomainTransferLockRequest method.
779//    req, resp := client.EnableDomainTransferLockRequest(params)
780//
781//    err := req.Send()
782//    if err == nil { // resp is now filled
783//        fmt.Println(resp)
784//    }
785//
786// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/EnableDomainTransferLock
787func (c *Route53Domains) EnableDomainTransferLockRequest(input *EnableDomainTransferLockInput) (req *request.Request, output *EnableDomainTransferLockOutput) {
788	op := &request.Operation{
789		Name:       opEnableDomainTransferLock,
790		HTTPMethod: "POST",
791		HTTPPath:   "/",
792	}
793
794	if input == nil {
795		input = &EnableDomainTransferLockInput{}
796	}
797
798	output = &EnableDomainTransferLockOutput{}
799	req = c.newRequest(op, input, output)
800	return
801}
802
803// EnableDomainTransferLock API operation for Amazon Route 53 Domains.
804//
805// This operation sets the transfer lock on the domain (specifically the clientTransferProhibited
806// status) to prevent domain transfers. Successful submission returns an operation
807// ID that you can use to track the progress and completion of the action. If
808// the request is not completed successfully, the domain registrant will be
809// notified by email.
810//
811// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
812// with awserr.Error's Code and Message methods to get detailed information about
813// the error.
814//
815// See the AWS API reference guide for Amazon Route 53 Domains's
816// API operation EnableDomainTransferLock for usage and error information.
817//
818// Returned Error Types:
819//   * InvalidInput
820//   The requested item is not acceptable. For example, for APIs that accept a
821//   domain name, the request might specify a domain name that doesn't belong
822//   to the account that submitted the request. For AcceptDomainTransferFromAnotherAwsAccount,
823//   the password might be invalid.
824//
825//   * DuplicateRequest
826//   The request is already in progress for the domain.
827//
828//   * TLDRulesViolation
829//   The top-level domain does not support this operation.
830//
831//   * OperationLimitExceeded
832//   The number of operations or jobs running exceeded the allowed threshold for
833//   the account.
834//
835//   * UnsupportedTLD
836//   Amazon Route 53 does not support this top-level domain (TLD).
837//
838// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/EnableDomainTransferLock
839func (c *Route53Domains) EnableDomainTransferLock(input *EnableDomainTransferLockInput) (*EnableDomainTransferLockOutput, error) {
840	req, out := c.EnableDomainTransferLockRequest(input)
841	return out, req.Send()
842}
843
844// EnableDomainTransferLockWithContext is the same as EnableDomainTransferLock with the addition of
845// the ability to pass a context and additional request options.
846//
847// See EnableDomainTransferLock for details on how to use this API operation.
848//
849// The context must be non-nil and will be used for request cancellation. If
850// the context is nil a panic will occur. In the future the SDK may create
851// sub-contexts for http.Requests. See https://golang.org/pkg/context/
852// for more information on using Contexts.
853func (c *Route53Domains) EnableDomainTransferLockWithContext(ctx aws.Context, input *EnableDomainTransferLockInput, opts ...request.Option) (*EnableDomainTransferLockOutput, error) {
854	req, out := c.EnableDomainTransferLockRequest(input)
855	req.SetContext(ctx)
856	req.ApplyOptions(opts...)
857	return out, req.Send()
858}
859
860const opGetContactReachabilityStatus = "GetContactReachabilityStatus"
861
862// GetContactReachabilityStatusRequest generates a "aws/request.Request" representing the
863// client's request for the GetContactReachabilityStatus operation. The "output" return
864// value will be populated with the request's response once the request completes
865// successfully.
866//
867// Use "Send" method on the returned Request to send the API call to the service.
868// the "output" return value is not valid until after Send returns without error.
869//
870// See GetContactReachabilityStatus for more information on using the GetContactReachabilityStatus
871// API call, and error handling.
872//
873// This method is useful when you want to inject custom logic or configuration
874// into the SDK's request lifecycle. Such as custom headers, or retry logic.
875//
876//
877//    // Example sending a request using the GetContactReachabilityStatusRequest method.
878//    req, resp := client.GetContactReachabilityStatusRequest(params)
879//
880//    err := req.Send()
881//    if err == nil { // resp is now filled
882//        fmt.Println(resp)
883//    }
884//
885// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/GetContactReachabilityStatus
886func (c *Route53Domains) GetContactReachabilityStatusRequest(input *GetContactReachabilityStatusInput) (req *request.Request, output *GetContactReachabilityStatusOutput) {
887	op := &request.Operation{
888		Name:       opGetContactReachabilityStatus,
889		HTTPMethod: "POST",
890		HTTPPath:   "/",
891	}
892
893	if input == nil {
894		input = &GetContactReachabilityStatusInput{}
895	}
896
897	output = &GetContactReachabilityStatusOutput{}
898	req = c.newRequest(op, input, output)
899	return
900}
901
902// GetContactReachabilityStatus API operation for Amazon Route 53 Domains.
903//
904// For operations that require confirmation that the email address for the registrant
905// contact is valid, such as registering a new domain, this operation returns
906// information about whether the registrant contact has responded.
907//
908// If you want us to resend the email, use the ResendContactReachabilityEmail
909// operation.
910//
911// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
912// with awserr.Error's Code and Message methods to get detailed information about
913// the error.
914//
915// See the AWS API reference guide for Amazon Route 53 Domains's
916// API operation GetContactReachabilityStatus for usage and error information.
917//
918// Returned Error Types:
919//   * InvalidInput
920//   The requested item is not acceptable. For example, for APIs that accept a
921//   domain name, the request might specify a domain name that doesn't belong
922//   to the account that submitted the request. For AcceptDomainTransferFromAnotherAwsAccount,
923//   the password might be invalid.
924//
925//   * OperationLimitExceeded
926//   The number of operations or jobs running exceeded the allowed threshold for
927//   the account.
928//
929//   * UnsupportedTLD
930//   Amazon Route 53 does not support this top-level domain (TLD).
931//
932// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/GetContactReachabilityStatus
933func (c *Route53Domains) GetContactReachabilityStatus(input *GetContactReachabilityStatusInput) (*GetContactReachabilityStatusOutput, error) {
934	req, out := c.GetContactReachabilityStatusRequest(input)
935	return out, req.Send()
936}
937
938// GetContactReachabilityStatusWithContext is the same as GetContactReachabilityStatus with the addition of
939// the ability to pass a context and additional request options.
940//
941// See GetContactReachabilityStatus for details on how to use this API operation.
942//
943// The context must be non-nil and will be used for request cancellation. If
944// the context is nil a panic will occur. In the future the SDK may create
945// sub-contexts for http.Requests. See https://golang.org/pkg/context/
946// for more information on using Contexts.
947func (c *Route53Domains) GetContactReachabilityStatusWithContext(ctx aws.Context, input *GetContactReachabilityStatusInput, opts ...request.Option) (*GetContactReachabilityStatusOutput, error) {
948	req, out := c.GetContactReachabilityStatusRequest(input)
949	req.SetContext(ctx)
950	req.ApplyOptions(opts...)
951	return out, req.Send()
952}
953
954const opGetDomainDetail = "GetDomainDetail"
955
956// GetDomainDetailRequest generates a "aws/request.Request" representing the
957// client's request for the GetDomainDetail operation. The "output" return
958// value will be populated with the request's response once the request completes
959// successfully.
960//
961// Use "Send" method on the returned Request to send the API call to the service.
962// the "output" return value is not valid until after Send returns without error.
963//
964// See GetDomainDetail for more information on using the GetDomainDetail
965// API call, and error handling.
966//
967// This method is useful when you want to inject custom logic or configuration
968// into the SDK's request lifecycle. Such as custom headers, or retry logic.
969//
970//
971//    // Example sending a request using the GetDomainDetailRequest method.
972//    req, resp := client.GetDomainDetailRequest(params)
973//
974//    err := req.Send()
975//    if err == nil { // resp is now filled
976//        fmt.Println(resp)
977//    }
978//
979// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/GetDomainDetail
980func (c *Route53Domains) GetDomainDetailRequest(input *GetDomainDetailInput) (req *request.Request, output *GetDomainDetailOutput) {
981	op := &request.Operation{
982		Name:       opGetDomainDetail,
983		HTTPMethod: "POST",
984		HTTPPath:   "/",
985	}
986
987	if input == nil {
988		input = &GetDomainDetailInput{}
989	}
990
991	output = &GetDomainDetailOutput{}
992	req = c.newRequest(op, input, output)
993	return
994}
995
996// GetDomainDetail API operation for Amazon Route 53 Domains.
997//
998// This operation returns detailed information about a specified domain that
999// is associated with the current AWS account. Contact information for the domain
1000// is also returned as part of the output.
1001//
1002// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1003// with awserr.Error's Code and Message methods to get detailed information about
1004// the error.
1005//
1006// See the AWS API reference guide for Amazon Route 53 Domains's
1007// API operation GetDomainDetail for usage and error information.
1008//
1009// Returned Error Types:
1010//   * InvalidInput
1011//   The requested item is not acceptable. For example, for APIs that accept a
1012//   domain name, the request might specify a domain name that doesn't belong
1013//   to the account that submitted the request. For AcceptDomainTransferFromAnotherAwsAccount,
1014//   the password might be invalid.
1015//
1016//   * UnsupportedTLD
1017//   Amazon Route 53 does not support this top-level domain (TLD).
1018//
1019// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/GetDomainDetail
1020func (c *Route53Domains) GetDomainDetail(input *GetDomainDetailInput) (*GetDomainDetailOutput, error) {
1021	req, out := c.GetDomainDetailRequest(input)
1022	return out, req.Send()
1023}
1024
1025// GetDomainDetailWithContext is the same as GetDomainDetail with the addition of
1026// the ability to pass a context and additional request options.
1027//
1028// See GetDomainDetail for details on how to use this API operation.
1029//
1030// The context must be non-nil and will be used for request cancellation. If
1031// the context is nil a panic will occur. In the future the SDK may create
1032// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1033// for more information on using Contexts.
1034func (c *Route53Domains) GetDomainDetailWithContext(ctx aws.Context, input *GetDomainDetailInput, opts ...request.Option) (*GetDomainDetailOutput, error) {
1035	req, out := c.GetDomainDetailRequest(input)
1036	req.SetContext(ctx)
1037	req.ApplyOptions(opts...)
1038	return out, req.Send()
1039}
1040
1041const opGetDomainSuggestions = "GetDomainSuggestions"
1042
1043// GetDomainSuggestionsRequest generates a "aws/request.Request" representing the
1044// client's request for the GetDomainSuggestions operation. The "output" return
1045// value will be populated with the request's response once the request completes
1046// successfully.
1047//
1048// Use "Send" method on the returned Request to send the API call to the service.
1049// the "output" return value is not valid until after Send returns without error.
1050//
1051// See GetDomainSuggestions for more information on using the GetDomainSuggestions
1052// API call, and error handling.
1053//
1054// This method is useful when you want to inject custom logic or configuration
1055// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1056//
1057//
1058//    // Example sending a request using the GetDomainSuggestionsRequest method.
1059//    req, resp := client.GetDomainSuggestionsRequest(params)
1060//
1061//    err := req.Send()
1062//    if err == nil { // resp is now filled
1063//        fmt.Println(resp)
1064//    }
1065//
1066// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/GetDomainSuggestions
1067func (c *Route53Domains) GetDomainSuggestionsRequest(input *GetDomainSuggestionsInput) (req *request.Request, output *GetDomainSuggestionsOutput) {
1068	op := &request.Operation{
1069		Name:       opGetDomainSuggestions,
1070		HTTPMethod: "POST",
1071		HTTPPath:   "/",
1072	}
1073
1074	if input == nil {
1075		input = &GetDomainSuggestionsInput{}
1076	}
1077
1078	output = &GetDomainSuggestionsOutput{}
1079	req = c.newRequest(op, input, output)
1080	return
1081}
1082
1083// GetDomainSuggestions API operation for Amazon Route 53 Domains.
1084//
1085// The GetDomainSuggestions operation returns a list of suggested domain names.
1086//
1087// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1088// with awserr.Error's Code and Message methods to get detailed information about
1089// the error.
1090//
1091// See the AWS API reference guide for Amazon Route 53 Domains's
1092// API operation GetDomainSuggestions for usage and error information.
1093//
1094// Returned Error Types:
1095//   * InvalidInput
1096//   The requested item is not acceptable. For example, for APIs that accept a
1097//   domain name, the request might specify a domain name that doesn't belong
1098//   to the account that submitted the request. For AcceptDomainTransferFromAnotherAwsAccount,
1099//   the password might be invalid.
1100//
1101//   * UnsupportedTLD
1102//   Amazon Route 53 does not support this top-level domain (TLD).
1103//
1104// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/GetDomainSuggestions
1105func (c *Route53Domains) GetDomainSuggestions(input *GetDomainSuggestionsInput) (*GetDomainSuggestionsOutput, error) {
1106	req, out := c.GetDomainSuggestionsRequest(input)
1107	return out, req.Send()
1108}
1109
1110// GetDomainSuggestionsWithContext is the same as GetDomainSuggestions with the addition of
1111// the ability to pass a context and additional request options.
1112//
1113// See GetDomainSuggestions for details on how to use this API operation.
1114//
1115// The context must be non-nil and will be used for request cancellation. If
1116// the context is nil a panic will occur. In the future the SDK may create
1117// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1118// for more information on using Contexts.
1119func (c *Route53Domains) GetDomainSuggestionsWithContext(ctx aws.Context, input *GetDomainSuggestionsInput, opts ...request.Option) (*GetDomainSuggestionsOutput, error) {
1120	req, out := c.GetDomainSuggestionsRequest(input)
1121	req.SetContext(ctx)
1122	req.ApplyOptions(opts...)
1123	return out, req.Send()
1124}
1125
1126const opGetOperationDetail = "GetOperationDetail"
1127
1128// GetOperationDetailRequest generates a "aws/request.Request" representing the
1129// client's request for the GetOperationDetail operation. The "output" return
1130// value will be populated with the request's response once the request completes
1131// successfully.
1132//
1133// Use "Send" method on the returned Request to send the API call to the service.
1134// the "output" return value is not valid until after Send returns without error.
1135//
1136// See GetOperationDetail for more information on using the GetOperationDetail
1137// API call, and error handling.
1138//
1139// This method is useful when you want to inject custom logic or configuration
1140// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1141//
1142//
1143//    // Example sending a request using the GetOperationDetailRequest method.
1144//    req, resp := client.GetOperationDetailRequest(params)
1145//
1146//    err := req.Send()
1147//    if err == nil { // resp is now filled
1148//        fmt.Println(resp)
1149//    }
1150//
1151// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/GetOperationDetail
1152func (c *Route53Domains) GetOperationDetailRequest(input *GetOperationDetailInput) (req *request.Request, output *GetOperationDetailOutput) {
1153	op := &request.Operation{
1154		Name:       opGetOperationDetail,
1155		HTTPMethod: "POST",
1156		HTTPPath:   "/",
1157	}
1158
1159	if input == nil {
1160		input = &GetOperationDetailInput{}
1161	}
1162
1163	output = &GetOperationDetailOutput{}
1164	req = c.newRequest(op, input, output)
1165	return
1166}
1167
1168// GetOperationDetail API operation for Amazon Route 53 Domains.
1169//
1170// This operation returns the current status of an operation that is not completed.
1171//
1172// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1173// with awserr.Error's Code and Message methods to get detailed information about
1174// the error.
1175//
1176// See the AWS API reference guide for Amazon Route 53 Domains's
1177// API operation GetOperationDetail for usage and error information.
1178//
1179// Returned Error Types:
1180//   * InvalidInput
1181//   The requested item is not acceptable. For example, for APIs that accept a
1182//   domain name, the request might specify a domain name that doesn't belong
1183//   to the account that submitted the request. For AcceptDomainTransferFromAnotherAwsAccount,
1184//   the password might be invalid.
1185//
1186// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/GetOperationDetail
1187func (c *Route53Domains) GetOperationDetail(input *GetOperationDetailInput) (*GetOperationDetailOutput, error) {
1188	req, out := c.GetOperationDetailRequest(input)
1189	return out, req.Send()
1190}
1191
1192// GetOperationDetailWithContext is the same as GetOperationDetail with the addition of
1193// the ability to pass a context and additional request options.
1194//
1195// See GetOperationDetail for details on how to use this API operation.
1196//
1197// The context must be non-nil and will be used for request cancellation. If
1198// the context is nil a panic will occur. In the future the SDK may create
1199// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1200// for more information on using Contexts.
1201func (c *Route53Domains) GetOperationDetailWithContext(ctx aws.Context, input *GetOperationDetailInput, opts ...request.Option) (*GetOperationDetailOutput, error) {
1202	req, out := c.GetOperationDetailRequest(input)
1203	req.SetContext(ctx)
1204	req.ApplyOptions(opts...)
1205	return out, req.Send()
1206}
1207
1208const opListDomains = "ListDomains"
1209
1210// ListDomainsRequest generates a "aws/request.Request" representing the
1211// client's request for the ListDomains operation. The "output" return
1212// value will be populated with the request's response once the request completes
1213// successfully.
1214//
1215// Use "Send" method on the returned Request to send the API call to the service.
1216// the "output" return value is not valid until after Send returns without error.
1217//
1218// See ListDomains for more information on using the ListDomains
1219// API call, and error handling.
1220//
1221// This method is useful when you want to inject custom logic or configuration
1222// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1223//
1224//
1225//    // Example sending a request using the ListDomainsRequest method.
1226//    req, resp := client.ListDomainsRequest(params)
1227//
1228//    err := req.Send()
1229//    if err == nil { // resp is now filled
1230//        fmt.Println(resp)
1231//    }
1232//
1233// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/ListDomains
1234func (c *Route53Domains) ListDomainsRequest(input *ListDomainsInput) (req *request.Request, output *ListDomainsOutput) {
1235	op := &request.Operation{
1236		Name:       opListDomains,
1237		HTTPMethod: "POST",
1238		HTTPPath:   "/",
1239		Paginator: &request.Paginator{
1240			InputTokens:     []string{"Marker"},
1241			OutputTokens:    []string{"NextPageMarker"},
1242			LimitToken:      "MaxItems",
1243			TruncationToken: "",
1244		},
1245	}
1246
1247	if input == nil {
1248		input = &ListDomainsInput{}
1249	}
1250
1251	output = &ListDomainsOutput{}
1252	req = c.newRequest(op, input, output)
1253	return
1254}
1255
1256// ListDomains API operation for Amazon Route 53 Domains.
1257//
1258// This operation returns all the domain names registered with Amazon Route
1259// 53 for the current AWS account.
1260//
1261// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1262// with awserr.Error's Code and Message methods to get detailed information about
1263// the error.
1264//
1265// See the AWS API reference guide for Amazon Route 53 Domains's
1266// API operation ListDomains for usage and error information.
1267//
1268// Returned Error Types:
1269//   * InvalidInput
1270//   The requested item is not acceptable. For example, for APIs that accept a
1271//   domain name, the request might specify a domain name that doesn't belong
1272//   to the account that submitted the request. For AcceptDomainTransferFromAnotherAwsAccount,
1273//   the password might be invalid.
1274//
1275// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/ListDomains
1276func (c *Route53Domains) ListDomains(input *ListDomainsInput) (*ListDomainsOutput, error) {
1277	req, out := c.ListDomainsRequest(input)
1278	return out, req.Send()
1279}
1280
1281// ListDomainsWithContext is the same as ListDomains with the addition of
1282// the ability to pass a context and additional request options.
1283//
1284// See ListDomains for details on how to use this API operation.
1285//
1286// The context must be non-nil and will be used for request cancellation. If
1287// the context is nil a panic will occur. In the future the SDK may create
1288// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1289// for more information on using Contexts.
1290func (c *Route53Domains) ListDomainsWithContext(ctx aws.Context, input *ListDomainsInput, opts ...request.Option) (*ListDomainsOutput, error) {
1291	req, out := c.ListDomainsRequest(input)
1292	req.SetContext(ctx)
1293	req.ApplyOptions(opts...)
1294	return out, req.Send()
1295}
1296
1297// ListDomainsPages iterates over the pages of a ListDomains operation,
1298// calling the "fn" function with the response data for each page. To stop
1299// iterating, return false from the fn function.
1300//
1301// See ListDomains method for more information on how to use this operation.
1302//
1303// Note: This operation can generate multiple requests to a service.
1304//
1305//    // Example iterating over at most 3 pages of a ListDomains operation.
1306//    pageNum := 0
1307//    err := client.ListDomainsPages(params,
1308//        func(page *route53domains.ListDomainsOutput, lastPage bool) bool {
1309//            pageNum++
1310//            fmt.Println(page)
1311//            return pageNum <= 3
1312//        })
1313//
1314func (c *Route53Domains) ListDomainsPages(input *ListDomainsInput, fn func(*ListDomainsOutput, bool) bool) error {
1315	return c.ListDomainsPagesWithContext(aws.BackgroundContext(), input, fn)
1316}
1317
1318// ListDomainsPagesWithContext same as ListDomainsPages except
1319// it takes a Context and allows setting request options on the pages.
1320//
1321// The context must be non-nil and will be used for request cancellation. If
1322// the context is nil a panic will occur. In the future the SDK may create
1323// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1324// for more information on using Contexts.
1325func (c *Route53Domains) ListDomainsPagesWithContext(ctx aws.Context, input *ListDomainsInput, fn func(*ListDomainsOutput, bool) bool, opts ...request.Option) error {
1326	p := request.Pagination{
1327		NewRequest: func() (*request.Request, error) {
1328			var inCpy *ListDomainsInput
1329			if input != nil {
1330				tmp := *input
1331				inCpy = &tmp
1332			}
1333			req, _ := c.ListDomainsRequest(inCpy)
1334			req.SetContext(ctx)
1335			req.ApplyOptions(opts...)
1336			return req, nil
1337		},
1338	}
1339
1340	for p.Next() {
1341		if !fn(p.Page().(*ListDomainsOutput), !p.HasNextPage()) {
1342			break
1343		}
1344	}
1345
1346	return p.Err()
1347}
1348
1349const opListOperations = "ListOperations"
1350
1351// ListOperationsRequest generates a "aws/request.Request" representing the
1352// client's request for the ListOperations operation. The "output" return
1353// value will be populated with the request's response once the request completes
1354// successfully.
1355//
1356// Use "Send" method on the returned Request to send the API call to the service.
1357// the "output" return value is not valid until after Send returns without error.
1358//
1359// See ListOperations for more information on using the ListOperations
1360// API call, and error handling.
1361//
1362// This method is useful when you want to inject custom logic or configuration
1363// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1364//
1365//
1366//    // Example sending a request using the ListOperationsRequest method.
1367//    req, resp := client.ListOperationsRequest(params)
1368//
1369//    err := req.Send()
1370//    if err == nil { // resp is now filled
1371//        fmt.Println(resp)
1372//    }
1373//
1374// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/ListOperations
1375func (c *Route53Domains) ListOperationsRequest(input *ListOperationsInput) (req *request.Request, output *ListOperationsOutput) {
1376	op := &request.Operation{
1377		Name:       opListOperations,
1378		HTTPMethod: "POST",
1379		HTTPPath:   "/",
1380		Paginator: &request.Paginator{
1381			InputTokens:     []string{"Marker"},
1382			OutputTokens:    []string{"NextPageMarker"},
1383			LimitToken:      "MaxItems",
1384			TruncationToken: "",
1385		},
1386	}
1387
1388	if input == nil {
1389		input = &ListOperationsInput{}
1390	}
1391
1392	output = &ListOperationsOutput{}
1393	req = c.newRequest(op, input, output)
1394	return
1395}
1396
1397// ListOperations API operation for Amazon Route 53 Domains.
1398//
1399// Returns information about all of the operations that return an operation
1400// ID and that have ever been performed on domains that were registered by the
1401// current account.
1402//
1403// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1404// with awserr.Error's Code and Message methods to get detailed information about
1405// the error.
1406//
1407// See the AWS API reference guide for Amazon Route 53 Domains's
1408// API operation ListOperations for usage and error information.
1409//
1410// Returned Error Types:
1411//   * InvalidInput
1412//   The requested item is not acceptable. For example, for APIs that accept a
1413//   domain name, the request might specify a domain name that doesn't belong
1414//   to the account that submitted the request. For AcceptDomainTransferFromAnotherAwsAccount,
1415//   the password might be invalid.
1416//
1417// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/ListOperations
1418func (c *Route53Domains) ListOperations(input *ListOperationsInput) (*ListOperationsOutput, error) {
1419	req, out := c.ListOperationsRequest(input)
1420	return out, req.Send()
1421}
1422
1423// ListOperationsWithContext is the same as ListOperations with the addition of
1424// the ability to pass a context and additional request options.
1425//
1426// See ListOperations for details on how to use this API operation.
1427//
1428// The context must be non-nil and will be used for request cancellation. If
1429// the context is nil a panic will occur. In the future the SDK may create
1430// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1431// for more information on using Contexts.
1432func (c *Route53Domains) ListOperationsWithContext(ctx aws.Context, input *ListOperationsInput, opts ...request.Option) (*ListOperationsOutput, error) {
1433	req, out := c.ListOperationsRequest(input)
1434	req.SetContext(ctx)
1435	req.ApplyOptions(opts...)
1436	return out, req.Send()
1437}
1438
1439// ListOperationsPages iterates over the pages of a ListOperations operation,
1440// calling the "fn" function with the response data for each page. To stop
1441// iterating, return false from the fn function.
1442//
1443// See ListOperations method for more information on how to use this operation.
1444//
1445// Note: This operation can generate multiple requests to a service.
1446//
1447//    // Example iterating over at most 3 pages of a ListOperations operation.
1448//    pageNum := 0
1449//    err := client.ListOperationsPages(params,
1450//        func(page *route53domains.ListOperationsOutput, lastPage bool) bool {
1451//            pageNum++
1452//            fmt.Println(page)
1453//            return pageNum <= 3
1454//        })
1455//
1456func (c *Route53Domains) ListOperationsPages(input *ListOperationsInput, fn func(*ListOperationsOutput, bool) bool) error {
1457	return c.ListOperationsPagesWithContext(aws.BackgroundContext(), input, fn)
1458}
1459
1460// ListOperationsPagesWithContext same as ListOperationsPages except
1461// it takes a Context and allows setting request options on the pages.
1462//
1463// The context must be non-nil and will be used for request cancellation. If
1464// the context is nil a panic will occur. In the future the SDK may create
1465// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1466// for more information on using Contexts.
1467func (c *Route53Domains) ListOperationsPagesWithContext(ctx aws.Context, input *ListOperationsInput, fn func(*ListOperationsOutput, bool) bool, opts ...request.Option) error {
1468	p := request.Pagination{
1469		NewRequest: func() (*request.Request, error) {
1470			var inCpy *ListOperationsInput
1471			if input != nil {
1472				tmp := *input
1473				inCpy = &tmp
1474			}
1475			req, _ := c.ListOperationsRequest(inCpy)
1476			req.SetContext(ctx)
1477			req.ApplyOptions(opts...)
1478			return req, nil
1479		},
1480	}
1481
1482	for p.Next() {
1483		if !fn(p.Page().(*ListOperationsOutput), !p.HasNextPage()) {
1484			break
1485		}
1486	}
1487
1488	return p.Err()
1489}
1490
1491const opListTagsForDomain = "ListTagsForDomain"
1492
1493// ListTagsForDomainRequest generates a "aws/request.Request" representing the
1494// client's request for the ListTagsForDomain operation. The "output" return
1495// value will be populated with the request's response once the request completes
1496// successfully.
1497//
1498// Use "Send" method on the returned Request to send the API call to the service.
1499// the "output" return value is not valid until after Send returns without error.
1500//
1501// See ListTagsForDomain for more information on using the ListTagsForDomain
1502// API call, and error handling.
1503//
1504// This method is useful when you want to inject custom logic or configuration
1505// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1506//
1507//
1508//    // Example sending a request using the ListTagsForDomainRequest method.
1509//    req, resp := client.ListTagsForDomainRequest(params)
1510//
1511//    err := req.Send()
1512//    if err == nil { // resp is now filled
1513//        fmt.Println(resp)
1514//    }
1515//
1516// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/ListTagsForDomain
1517func (c *Route53Domains) ListTagsForDomainRequest(input *ListTagsForDomainInput) (req *request.Request, output *ListTagsForDomainOutput) {
1518	op := &request.Operation{
1519		Name:       opListTagsForDomain,
1520		HTTPMethod: "POST",
1521		HTTPPath:   "/",
1522	}
1523
1524	if input == nil {
1525		input = &ListTagsForDomainInput{}
1526	}
1527
1528	output = &ListTagsForDomainOutput{}
1529	req = c.newRequest(op, input, output)
1530	return
1531}
1532
1533// ListTagsForDomain API operation for Amazon Route 53 Domains.
1534//
1535// This operation returns all of the tags that are associated with the specified
1536// domain.
1537//
1538// All tag operations are eventually consistent; subsequent operations might
1539// not immediately represent all issued operations.
1540//
1541// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1542// with awserr.Error's Code and Message methods to get detailed information about
1543// the error.
1544//
1545// See the AWS API reference guide for Amazon Route 53 Domains's
1546// API operation ListTagsForDomain for usage and error information.
1547//
1548// Returned Error Types:
1549//   * InvalidInput
1550//   The requested item is not acceptable. For example, for APIs that accept a
1551//   domain name, the request might specify a domain name that doesn't belong
1552//   to the account that submitted the request. For AcceptDomainTransferFromAnotherAwsAccount,
1553//   the password might be invalid.
1554//
1555//   * OperationLimitExceeded
1556//   The number of operations or jobs running exceeded the allowed threshold for
1557//   the account.
1558//
1559//   * UnsupportedTLD
1560//   Amazon Route 53 does not support this top-level domain (TLD).
1561//
1562// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/ListTagsForDomain
1563func (c *Route53Domains) ListTagsForDomain(input *ListTagsForDomainInput) (*ListTagsForDomainOutput, error) {
1564	req, out := c.ListTagsForDomainRequest(input)
1565	return out, req.Send()
1566}
1567
1568// ListTagsForDomainWithContext is the same as ListTagsForDomain with the addition of
1569// the ability to pass a context and additional request options.
1570//
1571// See ListTagsForDomain for details on how to use this API operation.
1572//
1573// The context must be non-nil and will be used for request cancellation. If
1574// the context is nil a panic will occur. In the future the SDK may create
1575// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1576// for more information on using Contexts.
1577func (c *Route53Domains) ListTagsForDomainWithContext(ctx aws.Context, input *ListTagsForDomainInput, opts ...request.Option) (*ListTagsForDomainOutput, error) {
1578	req, out := c.ListTagsForDomainRequest(input)
1579	req.SetContext(ctx)
1580	req.ApplyOptions(opts...)
1581	return out, req.Send()
1582}
1583
1584const opRegisterDomain = "RegisterDomain"
1585
1586// RegisterDomainRequest generates a "aws/request.Request" representing the
1587// client's request for the RegisterDomain operation. The "output" return
1588// value will be populated with the request's response once the request completes
1589// successfully.
1590//
1591// Use "Send" method on the returned Request to send the API call to the service.
1592// the "output" return value is not valid until after Send returns without error.
1593//
1594// See RegisterDomain for more information on using the RegisterDomain
1595// API call, and error handling.
1596//
1597// This method is useful when you want to inject custom logic or configuration
1598// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1599//
1600//
1601//    // Example sending a request using the RegisterDomainRequest method.
1602//    req, resp := client.RegisterDomainRequest(params)
1603//
1604//    err := req.Send()
1605//    if err == nil { // resp is now filled
1606//        fmt.Println(resp)
1607//    }
1608//
1609// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/RegisterDomain
1610func (c *Route53Domains) RegisterDomainRequest(input *RegisterDomainInput) (req *request.Request, output *RegisterDomainOutput) {
1611	op := &request.Operation{
1612		Name:       opRegisterDomain,
1613		HTTPMethod: "POST",
1614		HTTPPath:   "/",
1615	}
1616
1617	if input == nil {
1618		input = &RegisterDomainInput{}
1619	}
1620
1621	output = &RegisterDomainOutput{}
1622	req = c.newRequest(op, input, output)
1623	return
1624}
1625
1626// RegisterDomain API operation for Amazon Route 53 Domains.
1627//
1628// This operation registers a domain. Domains are registered either by Amazon
1629// Registrar (for .com, .net, and .org domains) or by our registrar associate,
1630// Gandi (for all other domains). For some top-level domains (TLDs), this operation
1631// requires extra parameters.
1632//
1633// When you register a domain, Amazon Route 53 does the following:
1634//
1635//    * Creates a Route 53 hosted zone that has the same name as the domain.
1636//    Route 53 assigns four name servers to your hosted zone and automatically
1637//    updates your domain registration with the names of these name servers.
1638//
1639//    * Enables autorenew, so your domain registration will renew automatically
1640//    each year. We'll notify you in advance of the renewal date so you can
1641//    choose whether to renew the registration.
1642//
1643//    * Optionally enables privacy protection, so WHOIS queries return contact
1644//    information either for Amazon Registrar (for .com, .net, and .org domains)
1645//    or for our registrar associate, Gandi (for all other TLDs). If you don't
1646//    enable privacy protection, WHOIS queries return the information that you
1647//    entered for the registrant, admin, and tech contacts.
1648//
1649//    * If registration is successful, returns an operation ID that you can
1650//    use to track the progress and completion of the action. If the request
1651//    is not completed successfully, the domain registrant is notified by email.
1652//
1653//    * Charges your AWS account an amount based on the top-level domain. For
1654//    more information, see Amazon Route 53 Pricing (http://aws.amazon.com/route53/pricing/).
1655//
1656// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1657// with awserr.Error's Code and Message methods to get detailed information about
1658// the error.
1659//
1660// See the AWS API reference guide for Amazon Route 53 Domains's
1661// API operation RegisterDomain for usage and error information.
1662//
1663// Returned Error Types:
1664//   * InvalidInput
1665//   The requested item is not acceptable. For example, for APIs that accept a
1666//   domain name, the request might specify a domain name that doesn't belong
1667//   to the account that submitted the request. For AcceptDomainTransferFromAnotherAwsAccount,
1668//   the password might be invalid.
1669//
1670//   * UnsupportedTLD
1671//   Amazon Route 53 does not support this top-level domain (TLD).
1672//
1673//   * DuplicateRequest
1674//   The request is already in progress for the domain.
1675//
1676//   * TLDRulesViolation
1677//   The top-level domain does not support this operation.
1678//
1679//   * DomainLimitExceeded
1680//   The number of domains has exceeded the allowed threshold for the account.
1681//
1682//   * OperationLimitExceeded
1683//   The number of operations or jobs running exceeded the allowed threshold for
1684//   the account.
1685//
1686// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/RegisterDomain
1687func (c *Route53Domains) RegisterDomain(input *RegisterDomainInput) (*RegisterDomainOutput, error) {
1688	req, out := c.RegisterDomainRequest(input)
1689	return out, req.Send()
1690}
1691
1692// RegisterDomainWithContext is the same as RegisterDomain with the addition of
1693// the ability to pass a context and additional request options.
1694//
1695// See RegisterDomain for details on how to use this API operation.
1696//
1697// The context must be non-nil and will be used for request cancellation. If
1698// the context is nil a panic will occur. In the future the SDK may create
1699// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1700// for more information on using Contexts.
1701func (c *Route53Domains) RegisterDomainWithContext(ctx aws.Context, input *RegisterDomainInput, opts ...request.Option) (*RegisterDomainOutput, error) {
1702	req, out := c.RegisterDomainRequest(input)
1703	req.SetContext(ctx)
1704	req.ApplyOptions(opts...)
1705	return out, req.Send()
1706}
1707
1708const opRejectDomainTransferFromAnotherAwsAccount = "RejectDomainTransferFromAnotherAwsAccount"
1709
1710// RejectDomainTransferFromAnotherAwsAccountRequest generates a "aws/request.Request" representing the
1711// client's request for the RejectDomainTransferFromAnotherAwsAccount operation. The "output" return
1712// value will be populated with the request's response once the request completes
1713// successfully.
1714//
1715// Use "Send" method on the returned Request to send the API call to the service.
1716// the "output" return value is not valid until after Send returns without error.
1717//
1718// See RejectDomainTransferFromAnotherAwsAccount for more information on using the RejectDomainTransferFromAnotherAwsAccount
1719// API call, and error handling.
1720//
1721// This method is useful when you want to inject custom logic or configuration
1722// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1723//
1724//
1725//    // Example sending a request using the RejectDomainTransferFromAnotherAwsAccountRequest method.
1726//    req, resp := client.RejectDomainTransferFromAnotherAwsAccountRequest(params)
1727//
1728//    err := req.Send()
1729//    if err == nil { // resp is now filled
1730//        fmt.Println(resp)
1731//    }
1732//
1733// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/RejectDomainTransferFromAnotherAwsAccount
1734func (c *Route53Domains) RejectDomainTransferFromAnotherAwsAccountRequest(input *RejectDomainTransferFromAnotherAwsAccountInput) (req *request.Request, output *RejectDomainTransferFromAnotherAwsAccountOutput) {
1735	op := &request.Operation{
1736		Name:       opRejectDomainTransferFromAnotherAwsAccount,
1737		HTTPMethod: "POST",
1738		HTTPPath:   "/",
1739	}
1740
1741	if input == nil {
1742		input = &RejectDomainTransferFromAnotherAwsAccountInput{}
1743	}
1744
1745	output = &RejectDomainTransferFromAnotherAwsAccountOutput{}
1746	req = c.newRequest(op, input, output)
1747	return
1748}
1749
1750// RejectDomainTransferFromAnotherAwsAccount API operation for Amazon Route 53 Domains.
1751//
1752// Rejects the transfer of a domain from another AWS account to the current
1753// AWS account. You initiate a transfer between AWS accounts using TransferDomainToAnotherAwsAccount
1754// (https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_TransferDomainToAnotherAwsAccount.html).
1755//
1756// Use either ListOperations (https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_ListOperations.html)
1757// or GetOperationDetail (https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_GetOperationDetail.html)
1758// to determine whether the operation succeeded. GetOperationDetail (https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_GetOperationDetail.html)
1759// provides additional information, for example, Domain Transfer from Aws Account
1760// 111122223333 has been cancelled.
1761//
1762// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1763// with awserr.Error's Code and Message methods to get detailed information about
1764// the error.
1765//
1766// See the AWS API reference guide for Amazon Route 53 Domains's
1767// API operation RejectDomainTransferFromAnotherAwsAccount for usage and error information.
1768//
1769// Returned Error Types:
1770//   * InvalidInput
1771//   The requested item is not acceptable. For example, for APIs that accept a
1772//   domain name, the request might specify a domain name that doesn't belong
1773//   to the account that submitted the request. For AcceptDomainTransferFromAnotherAwsAccount,
1774//   the password might be invalid.
1775//
1776//   * OperationLimitExceeded
1777//   The number of operations or jobs running exceeded the allowed threshold for
1778//   the account.
1779//
1780// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/RejectDomainTransferFromAnotherAwsAccount
1781func (c *Route53Domains) RejectDomainTransferFromAnotherAwsAccount(input *RejectDomainTransferFromAnotherAwsAccountInput) (*RejectDomainTransferFromAnotherAwsAccountOutput, error) {
1782	req, out := c.RejectDomainTransferFromAnotherAwsAccountRequest(input)
1783	return out, req.Send()
1784}
1785
1786// RejectDomainTransferFromAnotherAwsAccountWithContext is the same as RejectDomainTransferFromAnotherAwsAccount with the addition of
1787// the ability to pass a context and additional request options.
1788//
1789// See RejectDomainTransferFromAnotherAwsAccount for details on how to use this API operation.
1790//
1791// The context must be non-nil and will be used for request cancellation. If
1792// the context is nil a panic will occur. In the future the SDK may create
1793// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1794// for more information on using Contexts.
1795func (c *Route53Domains) RejectDomainTransferFromAnotherAwsAccountWithContext(ctx aws.Context, input *RejectDomainTransferFromAnotherAwsAccountInput, opts ...request.Option) (*RejectDomainTransferFromAnotherAwsAccountOutput, error) {
1796	req, out := c.RejectDomainTransferFromAnotherAwsAccountRequest(input)
1797	req.SetContext(ctx)
1798	req.ApplyOptions(opts...)
1799	return out, req.Send()
1800}
1801
1802const opRenewDomain = "RenewDomain"
1803
1804// RenewDomainRequest generates a "aws/request.Request" representing the
1805// client's request for the RenewDomain operation. The "output" return
1806// value will be populated with the request's response once the request completes
1807// successfully.
1808//
1809// Use "Send" method on the returned Request to send the API call to the service.
1810// the "output" return value is not valid until after Send returns without error.
1811//
1812// See RenewDomain for more information on using the RenewDomain
1813// API call, and error handling.
1814//
1815// This method is useful when you want to inject custom logic or configuration
1816// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1817//
1818//
1819//    // Example sending a request using the RenewDomainRequest method.
1820//    req, resp := client.RenewDomainRequest(params)
1821//
1822//    err := req.Send()
1823//    if err == nil { // resp is now filled
1824//        fmt.Println(resp)
1825//    }
1826//
1827// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/RenewDomain
1828func (c *Route53Domains) RenewDomainRequest(input *RenewDomainInput) (req *request.Request, output *RenewDomainOutput) {
1829	op := &request.Operation{
1830		Name:       opRenewDomain,
1831		HTTPMethod: "POST",
1832		HTTPPath:   "/",
1833	}
1834
1835	if input == nil {
1836		input = &RenewDomainInput{}
1837	}
1838
1839	output = &RenewDomainOutput{}
1840	req = c.newRequest(op, input, output)
1841	return
1842}
1843
1844// RenewDomain API operation for Amazon Route 53 Domains.
1845//
1846// This operation renews a domain for the specified number of years. The cost
1847// of renewing your domain is billed to your AWS account.
1848//
1849// We recommend that you renew your domain several weeks before the expiration
1850// date. Some TLD registries delete domains before the expiration date if you
1851// haven't renewed far enough in advance. For more information about renewing
1852// domain registration, see Renewing Registration for a Domain (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-renew.html)
1853// in the Amazon Route 53 Developer Guide.
1854//
1855// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1856// with awserr.Error's Code and Message methods to get detailed information about
1857// the error.
1858//
1859// See the AWS API reference guide for Amazon Route 53 Domains's
1860// API operation RenewDomain for usage and error information.
1861//
1862// Returned Error Types:
1863//   * InvalidInput
1864//   The requested item is not acceptable. For example, for APIs that accept a
1865//   domain name, the request might specify a domain name that doesn't belong
1866//   to the account that submitted the request. For AcceptDomainTransferFromAnotherAwsAccount,
1867//   the password might be invalid.
1868//
1869//   * UnsupportedTLD
1870//   Amazon Route 53 does not support this top-level domain (TLD).
1871//
1872//   * DuplicateRequest
1873//   The request is already in progress for the domain.
1874//
1875//   * TLDRulesViolation
1876//   The top-level domain does not support this operation.
1877//
1878//   * OperationLimitExceeded
1879//   The number of operations or jobs running exceeded the allowed threshold for
1880//   the account.
1881//
1882// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/RenewDomain
1883func (c *Route53Domains) RenewDomain(input *RenewDomainInput) (*RenewDomainOutput, error) {
1884	req, out := c.RenewDomainRequest(input)
1885	return out, req.Send()
1886}
1887
1888// RenewDomainWithContext is the same as RenewDomain with the addition of
1889// the ability to pass a context and additional request options.
1890//
1891// See RenewDomain for details on how to use this API operation.
1892//
1893// The context must be non-nil and will be used for request cancellation. If
1894// the context is nil a panic will occur. In the future the SDK may create
1895// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1896// for more information on using Contexts.
1897func (c *Route53Domains) RenewDomainWithContext(ctx aws.Context, input *RenewDomainInput, opts ...request.Option) (*RenewDomainOutput, error) {
1898	req, out := c.RenewDomainRequest(input)
1899	req.SetContext(ctx)
1900	req.ApplyOptions(opts...)
1901	return out, req.Send()
1902}
1903
1904const opResendContactReachabilityEmail = "ResendContactReachabilityEmail"
1905
1906// ResendContactReachabilityEmailRequest generates a "aws/request.Request" representing the
1907// client's request for the ResendContactReachabilityEmail operation. The "output" return
1908// value will be populated with the request's response once the request completes
1909// successfully.
1910//
1911// Use "Send" method on the returned Request to send the API call to the service.
1912// the "output" return value is not valid until after Send returns without error.
1913//
1914// See ResendContactReachabilityEmail for more information on using the ResendContactReachabilityEmail
1915// API call, and error handling.
1916//
1917// This method is useful when you want to inject custom logic or configuration
1918// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1919//
1920//
1921//    // Example sending a request using the ResendContactReachabilityEmailRequest method.
1922//    req, resp := client.ResendContactReachabilityEmailRequest(params)
1923//
1924//    err := req.Send()
1925//    if err == nil { // resp is now filled
1926//        fmt.Println(resp)
1927//    }
1928//
1929// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/ResendContactReachabilityEmail
1930func (c *Route53Domains) ResendContactReachabilityEmailRequest(input *ResendContactReachabilityEmailInput) (req *request.Request, output *ResendContactReachabilityEmailOutput) {
1931	op := &request.Operation{
1932		Name:       opResendContactReachabilityEmail,
1933		HTTPMethod: "POST",
1934		HTTPPath:   "/",
1935	}
1936
1937	if input == nil {
1938		input = &ResendContactReachabilityEmailInput{}
1939	}
1940
1941	output = &ResendContactReachabilityEmailOutput{}
1942	req = c.newRequest(op, input, output)
1943	return
1944}
1945
1946// ResendContactReachabilityEmail API operation for Amazon Route 53 Domains.
1947//
1948// For operations that require confirmation that the email address for the registrant
1949// contact is valid, such as registering a new domain, this operation resends
1950// the confirmation email to the current email address for the registrant contact.
1951//
1952// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1953// with awserr.Error's Code and Message methods to get detailed information about
1954// the error.
1955//
1956// See the AWS API reference guide for Amazon Route 53 Domains's
1957// API operation ResendContactReachabilityEmail for usage and error information.
1958//
1959// Returned Error Types:
1960//   * InvalidInput
1961//   The requested item is not acceptable. For example, for APIs that accept a
1962//   domain name, the request might specify a domain name that doesn't belong
1963//   to the account that submitted the request. For AcceptDomainTransferFromAnotherAwsAccount,
1964//   the password might be invalid.
1965//
1966//   * OperationLimitExceeded
1967//   The number of operations or jobs running exceeded the allowed threshold for
1968//   the account.
1969//
1970//   * UnsupportedTLD
1971//   Amazon Route 53 does not support this top-level domain (TLD).
1972//
1973// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/ResendContactReachabilityEmail
1974func (c *Route53Domains) ResendContactReachabilityEmail(input *ResendContactReachabilityEmailInput) (*ResendContactReachabilityEmailOutput, error) {
1975	req, out := c.ResendContactReachabilityEmailRequest(input)
1976	return out, req.Send()
1977}
1978
1979// ResendContactReachabilityEmailWithContext is the same as ResendContactReachabilityEmail with the addition of
1980// the ability to pass a context and additional request options.
1981//
1982// See ResendContactReachabilityEmail for details on how to use this API operation.
1983//
1984// The context must be non-nil and will be used for request cancellation. If
1985// the context is nil a panic will occur. In the future the SDK may create
1986// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1987// for more information on using Contexts.
1988func (c *Route53Domains) ResendContactReachabilityEmailWithContext(ctx aws.Context, input *ResendContactReachabilityEmailInput, opts ...request.Option) (*ResendContactReachabilityEmailOutput, error) {
1989	req, out := c.ResendContactReachabilityEmailRequest(input)
1990	req.SetContext(ctx)
1991	req.ApplyOptions(opts...)
1992	return out, req.Send()
1993}
1994
1995const opRetrieveDomainAuthCode = "RetrieveDomainAuthCode"
1996
1997// RetrieveDomainAuthCodeRequest generates a "aws/request.Request" representing the
1998// client's request for the RetrieveDomainAuthCode operation. The "output" return
1999// value will be populated with the request's response once the request completes
2000// successfully.
2001//
2002// Use "Send" method on the returned Request to send the API call to the service.
2003// the "output" return value is not valid until after Send returns without error.
2004//
2005// See RetrieveDomainAuthCode for more information on using the RetrieveDomainAuthCode
2006// API call, and error handling.
2007//
2008// This method is useful when you want to inject custom logic or configuration
2009// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2010//
2011//
2012//    // Example sending a request using the RetrieveDomainAuthCodeRequest method.
2013//    req, resp := client.RetrieveDomainAuthCodeRequest(params)
2014//
2015//    err := req.Send()
2016//    if err == nil { // resp is now filled
2017//        fmt.Println(resp)
2018//    }
2019//
2020// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/RetrieveDomainAuthCode
2021func (c *Route53Domains) RetrieveDomainAuthCodeRequest(input *RetrieveDomainAuthCodeInput) (req *request.Request, output *RetrieveDomainAuthCodeOutput) {
2022	op := &request.Operation{
2023		Name:       opRetrieveDomainAuthCode,
2024		HTTPMethod: "POST",
2025		HTTPPath:   "/",
2026	}
2027
2028	if input == nil {
2029		input = &RetrieveDomainAuthCodeInput{}
2030	}
2031
2032	output = &RetrieveDomainAuthCodeOutput{}
2033	req = c.newRequest(op, input, output)
2034	return
2035}
2036
2037// RetrieveDomainAuthCode API operation for Amazon Route 53 Domains.
2038//
2039// This operation returns the AuthCode for the domain. To transfer a domain
2040// to another registrar, you provide this value to the new registrar.
2041//
2042// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2043// with awserr.Error's Code and Message methods to get detailed information about
2044// the error.
2045//
2046// See the AWS API reference guide for Amazon Route 53 Domains's
2047// API operation RetrieveDomainAuthCode for usage and error information.
2048//
2049// Returned Error Types:
2050//   * InvalidInput
2051//   The requested item is not acceptable. For example, for APIs that accept a
2052//   domain name, the request might specify a domain name that doesn't belong
2053//   to the account that submitted the request. For AcceptDomainTransferFromAnotherAwsAccount,
2054//   the password might be invalid.
2055//
2056//   * UnsupportedTLD
2057//   Amazon Route 53 does not support this top-level domain (TLD).
2058//
2059// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/RetrieveDomainAuthCode
2060func (c *Route53Domains) RetrieveDomainAuthCode(input *RetrieveDomainAuthCodeInput) (*RetrieveDomainAuthCodeOutput, error) {
2061	req, out := c.RetrieveDomainAuthCodeRequest(input)
2062	return out, req.Send()
2063}
2064
2065// RetrieveDomainAuthCodeWithContext is the same as RetrieveDomainAuthCode with the addition of
2066// the ability to pass a context and additional request options.
2067//
2068// See RetrieveDomainAuthCode for details on how to use this API operation.
2069//
2070// The context must be non-nil and will be used for request cancellation. If
2071// the context is nil a panic will occur. In the future the SDK may create
2072// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2073// for more information on using Contexts.
2074func (c *Route53Domains) RetrieveDomainAuthCodeWithContext(ctx aws.Context, input *RetrieveDomainAuthCodeInput, opts ...request.Option) (*RetrieveDomainAuthCodeOutput, error) {
2075	req, out := c.RetrieveDomainAuthCodeRequest(input)
2076	req.SetContext(ctx)
2077	req.ApplyOptions(opts...)
2078	return out, req.Send()
2079}
2080
2081const opTransferDomain = "TransferDomain"
2082
2083// TransferDomainRequest generates a "aws/request.Request" representing the
2084// client's request for the TransferDomain operation. The "output" return
2085// value will be populated with the request's response once the request completes
2086// successfully.
2087//
2088// Use "Send" method on the returned Request to send the API call to the service.
2089// the "output" return value is not valid until after Send returns without error.
2090//
2091// See TransferDomain for more information on using the TransferDomain
2092// API call, and error handling.
2093//
2094// This method is useful when you want to inject custom logic or configuration
2095// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2096//
2097//
2098//    // Example sending a request using the TransferDomainRequest method.
2099//    req, resp := client.TransferDomainRequest(params)
2100//
2101//    err := req.Send()
2102//    if err == nil { // resp is now filled
2103//        fmt.Println(resp)
2104//    }
2105//
2106// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/TransferDomain
2107func (c *Route53Domains) TransferDomainRequest(input *TransferDomainInput) (req *request.Request, output *TransferDomainOutput) {
2108	op := &request.Operation{
2109		Name:       opTransferDomain,
2110		HTTPMethod: "POST",
2111		HTTPPath:   "/",
2112	}
2113
2114	if input == nil {
2115		input = &TransferDomainInput{}
2116	}
2117
2118	output = &TransferDomainOutput{}
2119	req = c.newRequest(op, input, output)
2120	return
2121}
2122
2123// TransferDomain API operation for Amazon Route 53 Domains.
2124//
2125// Transfers a domain from another registrar to Amazon Route 53. When the transfer
2126// is complete, the domain is registered either with Amazon Registrar (for .com,
2127// .net, and .org domains) or with our registrar associate, Gandi (for all other
2128// TLDs).
2129//
2130// For more information about transferring domains, see the following topics:
2131//
2132//    * For transfer requirements, a detailed procedure, and information about
2133//    viewing the status of a domain that you're transferring to Route 53, see
2134//    Transferring Registration for a Domain to Amazon Route 53 (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-transfer-to-route-53.html)
2135//    in the Amazon Route 53 Developer Guide.
2136//
2137//    * For information about how to transfer a domain from one AWS account
2138//    to another, see TransferDomainToAnotherAwsAccount (https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_TransferDomainToAnotherAwsAccount.html).
2139//
2140//    * For information about how to transfer a domain to another domain registrar,
2141//    see Transferring a Domain from Amazon Route 53 to Another Registrar (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-transfer-from-route-53.html)
2142//    in the Amazon Route 53 Developer Guide.
2143//
2144// If the registrar for your domain is also the DNS service provider for the
2145// domain, we highly recommend that you transfer your DNS service to Route 53
2146// or to another DNS service provider before you transfer your registration.
2147// Some registrars provide free DNS service when you purchase a domain registration.
2148// When you transfer the registration, the previous registrar will not renew
2149// your domain registration and could end your DNS service at any time.
2150//
2151// If the registrar for your domain is also the DNS service provider for the
2152// domain and you don't transfer DNS service to another provider, your website,
2153// email, and the web applications associated with the domain might become unavailable.
2154//
2155// If the transfer is successful, this method returns an operation ID that you
2156// can use to track the progress and completion of the action. If the transfer
2157// doesn't complete successfully, the domain registrant will be notified by
2158// email.
2159//
2160// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2161// with awserr.Error's Code and Message methods to get detailed information about
2162// the error.
2163//
2164// See the AWS API reference guide for Amazon Route 53 Domains's
2165// API operation TransferDomain for usage and error information.
2166//
2167// Returned Error Types:
2168//   * InvalidInput
2169//   The requested item is not acceptable. For example, for APIs that accept a
2170//   domain name, the request might specify a domain name that doesn't belong
2171//   to the account that submitted the request. For AcceptDomainTransferFromAnotherAwsAccount,
2172//   the password might be invalid.
2173//
2174//   * UnsupportedTLD
2175//   Amazon Route 53 does not support this top-level domain (TLD).
2176//
2177//   * DuplicateRequest
2178//   The request is already in progress for the domain.
2179//
2180//   * TLDRulesViolation
2181//   The top-level domain does not support this operation.
2182//
2183//   * DomainLimitExceeded
2184//   The number of domains has exceeded the allowed threshold for the account.
2185//
2186//   * OperationLimitExceeded
2187//   The number of operations or jobs running exceeded the allowed threshold for
2188//   the account.
2189//
2190// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/TransferDomain
2191func (c *Route53Domains) TransferDomain(input *TransferDomainInput) (*TransferDomainOutput, error) {
2192	req, out := c.TransferDomainRequest(input)
2193	return out, req.Send()
2194}
2195
2196// TransferDomainWithContext is the same as TransferDomain with the addition of
2197// the ability to pass a context and additional request options.
2198//
2199// See TransferDomain for details on how to use this API operation.
2200//
2201// The context must be non-nil and will be used for request cancellation. If
2202// the context is nil a panic will occur. In the future the SDK may create
2203// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2204// for more information on using Contexts.
2205func (c *Route53Domains) TransferDomainWithContext(ctx aws.Context, input *TransferDomainInput, opts ...request.Option) (*TransferDomainOutput, error) {
2206	req, out := c.TransferDomainRequest(input)
2207	req.SetContext(ctx)
2208	req.ApplyOptions(opts...)
2209	return out, req.Send()
2210}
2211
2212const opTransferDomainToAnotherAwsAccount = "TransferDomainToAnotherAwsAccount"
2213
2214// TransferDomainToAnotherAwsAccountRequest generates a "aws/request.Request" representing the
2215// client's request for the TransferDomainToAnotherAwsAccount operation. The "output" return
2216// value will be populated with the request's response once the request completes
2217// successfully.
2218//
2219// Use "Send" method on the returned Request to send the API call to the service.
2220// the "output" return value is not valid until after Send returns without error.
2221//
2222// See TransferDomainToAnotherAwsAccount for more information on using the TransferDomainToAnotherAwsAccount
2223// API call, and error handling.
2224//
2225// This method is useful when you want to inject custom logic or configuration
2226// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2227//
2228//
2229//    // Example sending a request using the TransferDomainToAnotherAwsAccountRequest method.
2230//    req, resp := client.TransferDomainToAnotherAwsAccountRequest(params)
2231//
2232//    err := req.Send()
2233//    if err == nil { // resp is now filled
2234//        fmt.Println(resp)
2235//    }
2236//
2237// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/TransferDomainToAnotherAwsAccount
2238func (c *Route53Domains) TransferDomainToAnotherAwsAccountRequest(input *TransferDomainToAnotherAwsAccountInput) (req *request.Request, output *TransferDomainToAnotherAwsAccountOutput) {
2239	op := &request.Operation{
2240		Name:       opTransferDomainToAnotherAwsAccount,
2241		HTTPMethod: "POST",
2242		HTTPPath:   "/",
2243	}
2244
2245	if input == nil {
2246		input = &TransferDomainToAnotherAwsAccountInput{}
2247	}
2248
2249	output = &TransferDomainToAnotherAwsAccountOutput{}
2250	req = c.newRequest(op, input, output)
2251	return
2252}
2253
2254// TransferDomainToAnotherAwsAccount API operation for Amazon Route 53 Domains.
2255//
2256// Transfers a domain from the current AWS account to another AWS account. Note
2257// the following:
2258//
2259//    * The AWS account that you're transferring the domain to must accept the
2260//    transfer. If the other account doesn't accept the transfer within 3 days,
2261//    we cancel the transfer. See AcceptDomainTransferFromAnotherAwsAccount
2262//    (https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_AcceptDomainTransferFromAnotherAwsAccount.html).
2263//
2264//    * You can cancel the transfer before the other account accepts it. See
2265//    CancelDomainTransferToAnotherAwsAccount (https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_CancelDomainTransferToAnotherAwsAccount.html).
2266//
2267//    * The other account can reject the transfer. See RejectDomainTransferFromAnotherAwsAccount
2268//    (https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_RejectDomainTransferFromAnotherAwsAccount.html).
2269//
2270// When you transfer a domain from one AWS account to another, Route 53 doesn't
2271// transfer the hosted zone that is associated with the domain. DNS resolution
2272// isn't affected if the domain and the hosted zone are owned by separate accounts,
2273// so transferring the hosted zone is optional. For information about transferring
2274// the hosted zone to another AWS account, see Migrating a Hosted Zone to a
2275// Different AWS Account (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zones-migrating.html)
2276// in the Amazon Route 53 Developer Guide.
2277//
2278// Use either ListOperations (https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_ListOperations.html)
2279// or GetOperationDetail (https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_GetOperationDetail.html)
2280// to determine whether the operation succeeded. GetOperationDetail (https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_GetOperationDetail.html)
2281// provides additional information, for example, Domain Transfer from Aws Account
2282// 111122223333 has been cancelled.
2283//
2284// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2285// with awserr.Error's Code and Message methods to get detailed information about
2286// the error.
2287//
2288// See the AWS API reference guide for Amazon Route 53 Domains's
2289// API operation TransferDomainToAnotherAwsAccount for usage and error information.
2290//
2291// Returned Error Types:
2292//   * InvalidInput
2293//   The requested item is not acceptable. For example, for APIs that accept a
2294//   domain name, the request might specify a domain name that doesn't belong
2295//   to the account that submitted the request. For AcceptDomainTransferFromAnotherAwsAccount,
2296//   the password might be invalid.
2297//
2298//   * OperationLimitExceeded
2299//   The number of operations or jobs running exceeded the allowed threshold for
2300//   the account.
2301//
2302//   * DuplicateRequest
2303//   The request is already in progress for the domain.
2304//
2305// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/TransferDomainToAnotherAwsAccount
2306func (c *Route53Domains) TransferDomainToAnotherAwsAccount(input *TransferDomainToAnotherAwsAccountInput) (*TransferDomainToAnotherAwsAccountOutput, error) {
2307	req, out := c.TransferDomainToAnotherAwsAccountRequest(input)
2308	return out, req.Send()
2309}
2310
2311// TransferDomainToAnotherAwsAccountWithContext is the same as TransferDomainToAnotherAwsAccount with the addition of
2312// the ability to pass a context and additional request options.
2313//
2314// See TransferDomainToAnotherAwsAccount for details on how to use this API operation.
2315//
2316// The context must be non-nil and will be used for request cancellation. If
2317// the context is nil a panic will occur. In the future the SDK may create
2318// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2319// for more information on using Contexts.
2320func (c *Route53Domains) TransferDomainToAnotherAwsAccountWithContext(ctx aws.Context, input *TransferDomainToAnotherAwsAccountInput, opts ...request.Option) (*TransferDomainToAnotherAwsAccountOutput, error) {
2321	req, out := c.TransferDomainToAnotherAwsAccountRequest(input)
2322	req.SetContext(ctx)
2323	req.ApplyOptions(opts...)
2324	return out, req.Send()
2325}
2326
2327const opUpdateDomainContact = "UpdateDomainContact"
2328
2329// UpdateDomainContactRequest generates a "aws/request.Request" representing the
2330// client's request for the UpdateDomainContact operation. The "output" return
2331// value will be populated with the request's response once the request completes
2332// successfully.
2333//
2334// Use "Send" method on the returned Request to send the API call to the service.
2335// the "output" return value is not valid until after Send returns without error.
2336//
2337// See UpdateDomainContact for more information on using the UpdateDomainContact
2338// API call, and error handling.
2339//
2340// This method is useful when you want to inject custom logic or configuration
2341// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2342//
2343//
2344//    // Example sending a request using the UpdateDomainContactRequest method.
2345//    req, resp := client.UpdateDomainContactRequest(params)
2346//
2347//    err := req.Send()
2348//    if err == nil { // resp is now filled
2349//        fmt.Println(resp)
2350//    }
2351//
2352// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/UpdateDomainContact
2353func (c *Route53Domains) UpdateDomainContactRequest(input *UpdateDomainContactInput) (req *request.Request, output *UpdateDomainContactOutput) {
2354	op := &request.Operation{
2355		Name:       opUpdateDomainContact,
2356		HTTPMethod: "POST",
2357		HTTPPath:   "/",
2358	}
2359
2360	if input == nil {
2361		input = &UpdateDomainContactInput{}
2362	}
2363
2364	output = &UpdateDomainContactOutput{}
2365	req = c.newRequest(op, input, output)
2366	return
2367}
2368
2369// UpdateDomainContact API operation for Amazon Route 53 Domains.
2370//
2371// This operation updates the contact information for a particular domain. You
2372// must specify information for at least one contact: registrant, administrator,
2373// or technical.
2374//
2375// If the update is successful, this method returns an operation ID that you
2376// can use to track the progress and completion of the action. If the request
2377// is not completed successfully, the domain registrant will be notified by
2378// email.
2379//
2380// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2381// with awserr.Error's Code and Message methods to get detailed information about
2382// the error.
2383//
2384// See the AWS API reference guide for Amazon Route 53 Domains's
2385// API operation UpdateDomainContact for usage and error information.
2386//
2387// Returned Error Types:
2388//   * InvalidInput
2389//   The requested item is not acceptable. For example, for APIs that accept a
2390//   domain name, the request might specify a domain name that doesn't belong
2391//   to the account that submitted the request. For AcceptDomainTransferFromAnotherAwsAccount,
2392//   the password might be invalid.
2393//
2394//   * DuplicateRequest
2395//   The request is already in progress for the domain.
2396//
2397//   * TLDRulesViolation
2398//   The top-level domain does not support this operation.
2399//
2400//   * OperationLimitExceeded
2401//   The number of operations or jobs running exceeded the allowed threshold for
2402//   the account.
2403//
2404//   * UnsupportedTLD
2405//   Amazon Route 53 does not support this top-level domain (TLD).
2406//
2407// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/UpdateDomainContact
2408func (c *Route53Domains) UpdateDomainContact(input *UpdateDomainContactInput) (*UpdateDomainContactOutput, error) {
2409	req, out := c.UpdateDomainContactRequest(input)
2410	return out, req.Send()
2411}
2412
2413// UpdateDomainContactWithContext is the same as UpdateDomainContact with the addition of
2414// the ability to pass a context and additional request options.
2415//
2416// See UpdateDomainContact for details on how to use this API operation.
2417//
2418// The context must be non-nil and will be used for request cancellation. If
2419// the context is nil a panic will occur. In the future the SDK may create
2420// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2421// for more information on using Contexts.
2422func (c *Route53Domains) UpdateDomainContactWithContext(ctx aws.Context, input *UpdateDomainContactInput, opts ...request.Option) (*UpdateDomainContactOutput, error) {
2423	req, out := c.UpdateDomainContactRequest(input)
2424	req.SetContext(ctx)
2425	req.ApplyOptions(opts...)
2426	return out, req.Send()
2427}
2428
2429const opUpdateDomainContactPrivacy = "UpdateDomainContactPrivacy"
2430
2431// UpdateDomainContactPrivacyRequest generates a "aws/request.Request" representing the
2432// client's request for the UpdateDomainContactPrivacy operation. The "output" return
2433// value will be populated with the request's response once the request completes
2434// successfully.
2435//
2436// Use "Send" method on the returned Request to send the API call to the service.
2437// the "output" return value is not valid until after Send returns without error.
2438//
2439// See UpdateDomainContactPrivacy for more information on using the UpdateDomainContactPrivacy
2440// API call, and error handling.
2441//
2442// This method is useful when you want to inject custom logic or configuration
2443// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2444//
2445//
2446//    // Example sending a request using the UpdateDomainContactPrivacyRequest method.
2447//    req, resp := client.UpdateDomainContactPrivacyRequest(params)
2448//
2449//    err := req.Send()
2450//    if err == nil { // resp is now filled
2451//        fmt.Println(resp)
2452//    }
2453//
2454// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/UpdateDomainContactPrivacy
2455func (c *Route53Domains) UpdateDomainContactPrivacyRequest(input *UpdateDomainContactPrivacyInput) (req *request.Request, output *UpdateDomainContactPrivacyOutput) {
2456	op := &request.Operation{
2457		Name:       opUpdateDomainContactPrivacy,
2458		HTTPMethod: "POST",
2459		HTTPPath:   "/",
2460	}
2461
2462	if input == nil {
2463		input = &UpdateDomainContactPrivacyInput{}
2464	}
2465
2466	output = &UpdateDomainContactPrivacyOutput{}
2467	req = c.newRequest(op, input, output)
2468	return
2469}
2470
2471// UpdateDomainContactPrivacy API operation for Amazon Route 53 Domains.
2472//
2473// This operation updates the specified domain contact's privacy setting. When
2474// privacy protection is enabled, contact information such as email address
2475// is replaced either with contact information for Amazon Registrar (for .com,
2476// .net, and .org domains) or with contact information for our registrar associate,
2477// Gandi.
2478//
2479// This operation affects only the contact information for the specified contact
2480// type (registrant, administrator, or tech). If the request succeeds, Amazon
2481// Route 53 returns an operation ID that you can use with GetOperationDetail
2482// (https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_GetOperationDetail.html)
2483// to track the progress and completion of the action. If the request doesn't
2484// complete successfully, the domain registrant will be notified by email.
2485//
2486// By disabling the privacy service via API, you consent to the publication
2487// of the contact information provided for this domain via the public WHOIS
2488// database. You certify that you are the registrant of this domain name and
2489// have the authority to make this decision. You may withdraw your consent at
2490// any time by enabling privacy protection using either UpdateDomainContactPrivacy
2491// or the Route 53 console. Enabling privacy protection removes the contact
2492// information provided for this domain from the WHOIS database. For more information
2493// on our privacy practices, see https://aws.amazon.com/privacy/ (https://aws.amazon.com/privacy/).
2494//
2495// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2496// with awserr.Error's Code and Message methods to get detailed information about
2497// the error.
2498//
2499// See the AWS API reference guide for Amazon Route 53 Domains's
2500// API operation UpdateDomainContactPrivacy for usage and error information.
2501//
2502// Returned Error Types:
2503//   * InvalidInput
2504//   The requested item is not acceptable. For example, for APIs that accept a
2505//   domain name, the request might specify a domain name that doesn't belong
2506//   to the account that submitted the request. For AcceptDomainTransferFromAnotherAwsAccount,
2507//   the password might be invalid.
2508//
2509//   * DuplicateRequest
2510//   The request is already in progress for the domain.
2511//
2512//   * TLDRulesViolation
2513//   The top-level domain does not support this operation.
2514//
2515//   * OperationLimitExceeded
2516//   The number of operations or jobs running exceeded the allowed threshold for
2517//   the account.
2518//
2519//   * UnsupportedTLD
2520//   Amazon Route 53 does not support this top-level domain (TLD).
2521//
2522// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/UpdateDomainContactPrivacy
2523func (c *Route53Domains) UpdateDomainContactPrivacy(input *UpdateDomainContactPrivacyInput) (*UpdateDomainContactPrivacyOutput, error) {
2524	req, out := c.UpdateDomainContactPrivacyRequest(input)
2525	return out, req.Send()
2526}
2527
2528// UpdateDomainContactPrivacyWithContext is the same as UpdateDomainContactPrivacy with the addition of
2529// the ability to pass a context and additional request options.
2530//
2531// See UpdateDomainContactPrivacy for details on how to use this API operation.
2532//
2533// The context must be non-nil and will be used for request cancellation. If
2534// the context is nil a panic will occur. In the future the SDK may create
2535// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2536// for more information on using Contexts.
2537func (c *Route53Domains) UpdateDomainContactPrivacyWithContext(ctx aws.Context, input *UpdateDomainContactPrivacyInput, opts ...request.Option) (*UpdateDomainContactPrivacyOutput, error) {
2538	req, out := c.UpdateDomainContactPrivacyRequest(input)
2539	req.SetContext(ctx)
2540	req.ApplyOptions(opts...)
2541	return out, req.Send()
2542}
2543
2544const opUpdateDomainNameservers = "UpdateDomainNameservers"
2545
2546// UpdateDomainNameserversRequest generates a "aws/request.Request" representing the
2547// client's request for the UpdateDomainNameservers operation. The "output" return
2548// value will be populated with the request's response once the request completes
2549// successfully.
2550//
2551// Use "Send" method on the returned Request to send the API call to the service.
2552// the "output" return value is not valid until after Send returns without error.
2553//
2554// See UpdateDomainNameservers for more information on using the UpdateDomainNameservers
2555// API call, and error handling.
2556//
2557// This method is useful when you want to inject custom logic or configuration
2558// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2559//
2560//
2561//    // Example sending a request using the UpdateDomainNameserversRequest method.
2562//    req, resp := client.UpdateDomainNameserversRequest(params)
2563//
2564//    err := req.Send()
2565//    if err == nil { // resp is now filled
2566//        fmt.Println(resp)
2567//    }
2568//
2569// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/UpdateDomainNameservers
2570func (c *Route53Domains) UpdateDomainNameserversRequest(input *UpdateDomainNameserversInput) (req *request.Request, output *UpdateDomainNameserversOutput) {
2571	op := &request.Operation{
2572		Name:       opUpdateDomainNameservers,
2573		HTTPMethod: "POST",
2574		HTTPPath:   "/",
2575	}
2576
2577	if input == nil {
2578		input = &UpdateDomainNameserversInput{}
2579	}
2580
2581	output = &UpdateDomainNameserversOutput{}
2582	req = c.newRequest(op, input, output)
2583	return
2584}
2585
2586// UpdateDomainNameservers API operation for Amazon Route 53 Domains.
2587//
2588// This operation replaces the current set of name servers for the domain with
2589// the specified set of name servers. If you use Amazon Route 53 as your DNS
2590// service, specify the four name servers in the delegation set for the hosted
2591// zone for the domain.
2592//
2593// If successful, this operation returns an operation ID that you can use to
2594// track the progress and completion of the action. If the request is not completed
2595// successfully, the domain registrant will be notified by email.
2596//
2597// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2598// with awserr.Error's Code and Message methods to get detailed information about
2599// the error.
2600//
2601// See the AWS API reference guide for Amazon Route 53 Domains's
2602// API operation UpdateDomainNameservers for usage and error information.
2603//
2604// Returned Error Types:
2605//   * InvalidInput
2606//   The requested item is not acceptable. For example, for APIs that accept a
2607//   domain name, the request might specify a domain name that doesn't belong
2608//   to the account that submitted the request. For AcceptDomainTransferFromAnotherAwsAccount,
2609//   the password might be invalid.
2610//
2611//   * DuplicateRequest
2612//   The request is already in progress for the domain.
2613//
2614//   * TLDRulesViolation
2615//   The top-level domain does not support this operation.
2616//
2617//   * OperationLimitExceeded
2618//   The number of operations or jobs running exceeded the allowed threshold for
2619//   the account.
2620//
2621//   * UnsupportedTLD
2622//   Amazon Route 53 does not support this top-level domain (TLD).
2623//
2624// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/UpdateDomainNameservers
2625func (c *Route53Domains) UpdateDomainNameservers(input *UpdateDomainNameserversInput) (*UpdateDomainNameserversOutput, error) {
2626	req, out := c.UpdateDomainNameserversRequest(input)
2627	return out, req.Send()
2628}
2629
2630// UpdateDomainNameserversWithContext is the same as UpdateDomainNameservers with the addition of
2631// the ability to pass a context and additional request options.
2632//
2633// See UpdateDomainNameservers for details on how to use this API operation.
2634//
2635// The context must be non-nil and will be used for request cancellation. If
2636// the context is nil a panic will occur. In the future the SDK may create
2637// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2638// for more information on using Contexts.
2639func (c *Route53Domains) UpdateDomainNameserversWithContext(ctx aws.Context, input *UpdateDomainNameserversInput, opts ...request.Option) (*UpdateDomainNameserversOutput, error) {
2640	req, out := c.UpdateDomainNameserversRequest(input)
2641	req.SetContext(ctx)
2642	req.ApplyOptions(opts...)
2643	return out, req.Send()
2644}
2645
2646const opUpdateTagsForDomain = "UpdateTagsForDomain"
2647
2648// UpdateTagsForDomainRequest generates a "aws/request.Request" representing the
2649// client's request for the UpdateTagsForDomain operation. The "output" return
2650// value will be populated with the request's response once the request completes
2651// successfully.
2652//
2653// Use "Send" method on the returned Request to send the API call to the service.
2654// the "output" return value is not valid until after Send returns without error.
2655//
2656// See UpdateTagsForDomain for more information on using the UpdateTagsForDomain
2657// API call, and error handling.
2658//
2659// This method is useful when you want to inject custom logic or configuration
2660// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2661//
2662//
2663//    // Example sending a request using the UpdateTagsForDomainRequest method.
2664//    req, resp := client.UpdateTagsForDomainRequest(params)
2665//
2666//    err := req.Send()
2667//    if err == nil { // resp is now filled
2668//        fmt.Println(resp)
2669//    }
2670//
2671// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/UpdateTagsForDomain
2672func (c *Route53Domains) UpdateTagsForDomainRequest(input *UpdateTagsForDomainInput) (req *request.Request, output *UpdateTagsForDomainOutput) {
2673	op := &request.Operation{
2674		Name:       opUpdateTagsForDomain,
2675		HTTPMethod: "POST",
2676		HTTPPath:   "/",
2677	}
2678
2679	if input == nil {
2680		input = &UpdateTagsForDomainInput{}
2681	}
2682
2683	output = &UpdateTagsForDomainOutput{}
2684	req = c.newRequest(op, input, output)
2685	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2686	return
2687}
2688
2689// UpdateTagsForDomain API operation for Amazon Route 53 Domains.
2690//
2691// This operation adds or updates tags for a specified domain.
2692//
2693// All tag operations are eventually consistent; subsequent operations might
2694// not immediately represent all issued operations.
2695//
2696// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2697// with awserr.Error's Code and Message methods to get detailed information about
2698// the error.
2699//
2700// See the AWS API reference guide for Amazon Route 53 Domains's
2701// API operation UpdateTagsForDomain for usage and error information.
2702//
2703// Returned Error Types:
2704//   * InvalidInput
2705//   The requested item is not acceptable. For example, for APIs that accept a
2706//   domain name, the request might specify a domain name that doesn't belong
2707//   to the account that submitted the request. For AcceptDomainTransferFromAnotherAwsAccount,
2708//   the password might be invalid.
2709//
2710//   * OperationLimitExceeded
2711//   The number of operations or jobs running exceeded the allowed threshold for
2712//   the account.
2713//
2714//   * UnsupportedTLD
2715//   Amazon Route 53 does not support this top-level domain (TLD).
2716//
2717// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/UpdateTagsForDomain
2718func (c *Route53Domains) UpdateTagsForDomain(input *UpdateTagsForDomainInput) (*UpdateTagsForDomainOutput, error) {
2719	req, out := c.UpdateTagsForDomainRequest(input)
2720	return out, req.Send()
2721}
2722
2723// UpdateTagsForDomainWithContext is the same as UpdateTagsForDomain with the addition of
2724// the ability to pass a context and additional request options.
2725//
2726// See UpdateTagsForDomain for details on how to use this API operation.
2727//
2728// The context must be non-nil and will be used for request cancellation. If
2729// the context is nil a panic will occur. In the future the SDK may create
2730// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2731// for more information on using Contexts.
2732func (c *Route53Domains) UpdateTagsForDomainWithContext(ctx aws.Context, input *UpdateTagsForDomainInput, opts ...request.Option) (*UpdateTagsForDomainOutput, error) {
2733	req, out := c.UpdateTagsForDomainRequest(input)
2734	req.SetContext(ctx)
2735	req.ApplyOptions(opts...)
2736	return out, req.Send()
2737}
2738
2739const opViewBilling = "ViewBilling"
2740
2741// ViewBillingRequest generates a "aws/request.Request" representing the
2742// client's request for the ViewBilling operation. The "output" return
2743// value will be populated with the request's response once the request completes
2744// successfully.
2745//
2746// Use "Send" method on the returned Request to send the API call to the service.
2747// the "output" return value is not valid until after Send returns without error.
2748//
2749// See ViewBilling for more information on using the ViewBilling
2750// API call, and error handling.
2751//
2752// This method is useful when you want to inject custom logic or configuration
2753// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2754//
2755//
2756//    // Example sending a request using the ViewBillingRequest method.
2757//    req, resp := client.ViewBillingRequest(params)
2758//
2759//    err := req.Send()
2760//    if err == nil { // resp is now filled
2761//        fmt.Println(resp)
2762//    }
2763//
2764// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/ViewBilling
2765func (c *Route53Domains) ViewBillingRequest(input *ViewBillingInput) (req *request.Request, output *ViewBillingOutput) {
2766	op := &request.Operation{
2767		Name:       opViewBilling,
2768		HTTPMethod: "POST",
2769		HTTPPath:   "/",
2770	}
2771
2772	if input == nil {
2773		input = &ViewBillingInput{}
2774	}
2775
2776	output = &ViewBillingOutput{}
2777	req = c.newRequest(op, input, output)
2778	return
2779}
2780
2781// ViewBilling API operation for Amazon Route 53 Domains.
2782//
2783// Returns all the domain-related billing records for the current AWS account
2784// for a specified period
2785//
2786// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2787// with awserr.Error's Code and Message methods to get detailed information about
2788// the error.
2789//
2790// See the AWS API reference guide for Amazon Route 53 Domains's
2791// API operation ViewBilling for usage and error information.
2792//
2793// Returned Error Types:
2794//   * InvalidInput
2795//   The requested item is not acceptable. For example, for APIs that accept a
2796//   domain name, the request might specify a domain name that doesn't belong
2797//   to the account that submitted the request. For AcceptDomainTransferFromAnotherAwsAccount,
2798//   the password might be invalid.
2799//
2800// See also, https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/ViewBilling
2801func (c *Route53Domains) ViewBilling(input *ViewBillingInput) (*ViewBillingOutput, error) {
2802	req, out := c.ViewBillingRequest(input)
2803	return out, req.Send()
2804}
2805
2806// ViewBillingWithContext is the same as ViewBilling with the addition of
2807// the ability to pass a context and additional request options.
2808//
2809// See ViewBilling for details on how to use this API operation.
2810//
2811// The context must be non-nil and will be used for request cancellation. If
2812// the context is nil a panic will occur. In the future the SDK may create
2813// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2814// for more information on using Contexts.
2815func (c *Route53Domains) ViewBillingWithContext(ctx aws.Context, input *ViewBillingInput, opts ...request.Option) (*ViewBillingOutput, error) {
2816	req, out := c.ViewBillingRequest(input)
2817	req.SetContext(ctx)
2818	req.ApplyOptions(opts...)
2819	return out, req.Send()
2820}
2821
2822// The AcceptDomainTransferFromAnotherAwsAccount request includes the following
2823// elements.
2824type AcceptDomainTransferFromAnotherAwsAccountInput struct {
2825	_ struct{} `type:"structure"`
2826
2827	// The name of the domain that was specified when another AWS account submitted
2828	// a TransferDomainToAnotherAwsAccount (https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_TransferDomainToAnotherAwsAccount.html)
2829	// request.
2830	//
2831	// DomainName is a required field
2832	DomainName *string `type:"string" required:"true"`
2833
2834	// The password that was returned by the TransferDomainToAnotherAwsAccount (https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_TransferDomainToAnotherAwsAccount.html)
2835	// request.
2836	//
2837	// Password is a required field
2838	Password *string `type:"string" required:"true"`
2839}
2840
2841// String returns the string representation
2842func (s AcceptDomainTransferFromAnotherAwsAccountInput) String() string {
2843	return awsutil.Prettify(s)
2844}
2845
2846// GoString returns the string representation
2847func (s AcceptDomainTransferFromAnotherAwsAccountInput) GoString() string {
2848	return s.String()
2849}
2850
2851// Validate inspects the fields of the type to determine if they are valid.
2852func (s *AcceptDomainTransferFromAnotherAwsAccountInput) Validate() error {
2853	invalidParams := request.ErrInvalidParams{Context: "AcceptDomainTransferFromAnotherAwsAccountInput"}
2854	if s.DomainName == nil {
2855		invalidParams.Add(request.NewErrParamRequired("DomainName"))
2856	}
2857	if s.Password == nil {
2858		invalidParams.Add(request.NewErrParamRequired("Password"))
2859	}
2860
2861	if invalidParams.Len() > 0 {
2862		return invalidParams
2863	}
2864	return nil
2865}
2866
2867// SetDomainName sets the DomainName field's value.
2868func (s *AcceptDomainTransferFromAnotherAwsAccountInput) SetDomainName(v string) *AcceptDomainTransferFromAnotherAwsAccountInput {
2869	s.DomainName = &v
2870	return s
2871}
2872
2873// SetPassword sets the Password field's value.
2874func (s *AcceptDomainTransferFromAnotherAwsAccountInput) SetPassword(v string) *AcceptDomainTransferFromAnotherAwsAccountInput {
2875	s.Password = &v
2876	return s
2877}
2878
2879// The AcceptDomainTransferFromAnotherAwsAccount response includes the following
2880// element.
2881type AcceptDomainTransferFromAnotherAwsAccountOutput struct {
2882	_ struct{} `type:"structure"`
2883
2884	// Identifier for tracking the progress of the request. To query the operation
2885	// status, use GetOperationDetail (https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_GetOperationDetail.html).
2886	OperationId *string `type:"string"`
2887}
2888
2889// String returns the string representation
2890func (s AcceptDomainTransferFromAnotherAwsAccountOutput) String() string {
2891	return awsutil.Prettify(s)
2892}
2893
2894// GoString returns the string representation
2895func (s AcceptDomainTransferFromAnotherAwsAccountOutput) GoString() string {
2896	return s.String()
2897}
2898
2899// SetOperationId sets the OperationId field's value.
2900func (s *AcceptDomainTransferFromAnotherAwsAccountOutput) SetOperationId(v string) *AcceptDomainTransferFromAnotherAwsAccountOutput {
2901	s.OperationId = &v
2902	return s
2903}
2904
2905// Information for one billing record.
2906type BillingRecord struct {
2907	_ struct{} `type:"structure"`
2908
2909	// The date that the operation was billed, in Unix format.
2910	BillDate *time.Time `type:"timestamp"`
2911
2912	// The name of the domain that the billing record applies to. If the domain
2913	// name contains characters other than a-z, 0-9, and - (hyphen), such as an
2914	// internationalized domain name, then this value is in Punycode. For more information,
2915	// see DNS Domain Name Format (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html)
2916	// in the Amazon Route 53 Developer Guide.
2917	DomainName *string `type:"string"`
2918
2919	// The ID of the invoice that is associated with the billing record.
2920	InvoiceId *string `type:"string"`
2921
2922	// The operation that you were charged for.
2923	Operation *string `type:"string" enum:"OperationType"`
2924
2925	// The price that you were charged for the operation, in US dollars.
2926	//
2927	// Example value: 12.0
2928	Price *float64 `type:"double"`
2929}
2930
2931// String returns the string representation
2932func (s BillingRecord) String() string {
2933	return awsutil.Prettify(s)
2934}
2935
2936// GoString returns the string representation
2937func (s BillingRecord) GoString() string {
2938	return s.String()
2939}
2940
2941// SetBillDate sets the BillDate field's value.
2942func (s *BillingRecord) SetBillDate(v time.Time) *BillingRecord {
2943	s.BillDate = &v
2944	return s
2945}
2946
2947// SetDomainName sets the DomainName field's value.
2948func (s *BillingRecord) SetDomainName(v string) *BillingRecord {
2949	s.DomainName = &v
2950	return s
2951}
2952
2953// SetInvoiceId sets the InvoiceId field's value.
2954func (s *BillingRecord) SetInvoiceId(v string) *BillingRecord {
2955	s.InvoiceId = &v
2956	return s
2957}
2958
2959// SetOperation sets the Operation field's value.
2960func (s *BillingRecord) SetOperation(v string) *BillingRecord {
2961	s.Operation = &v
2962	return s
2963}
2964
2965// SetPrice sets the Price field's value.
2966func (s *BillingRecord) SetPrice(v float64) *BillingRecord {
2967	s.Price = &v
2968	return s
2969}
2970
2971// The CancelDomainTransferToAnotherAwsAccount request includes the following
2972// element.
2973type CancelDomainTransferToAnotherAwsAccountInput struct {
2974	_ struct{} `type:"structure"`
2975
2976	// The name of the domain for which you want to cancel the transfer to another
2977	// AWS account.
2978	//
2979	// DomainName is a required field
2980	DomainName *string `type:"string" required:"true"`
2981}
2982
2983// String returns the string representation
2984func (s CancelDomainTransferToAnotherAwsAccountInput) String() string {
2985	return awsutil.Prettify(s)
2986}
2987
2988// GoString returns the string representation
2989func (s CancelDomainTransferToAnotherAwsAccountInput) GoString() string {
2990	return s.String()
2991}
2992
2993// Validate inspects the fields of the type to determine if they are valid.
2994func (s *CancelDomainTransferToAnotherAwsAccountInput) Validate() error {
2995	invalidParams := request.ErrInvalidParams{Context: "CancelDomainTransferToAnotherAwsAccountInput"}
2996	if s.DomainName == nil {
2997		invalidParams.Add(request.NewErrParamRequired("DomainName"))
2998	}
2999
3000	if invalidParams.Len() > 0 {
3001		return invalidParams
3002	}
3003	return nil
3004}
3005
3006// SetDomainName sets the DomainName field's value.
3007func (s *CancelDomainTransferToAnotherAwsAccountInput) SetDomainName(v string) *CancelDomainTransferToAnotherAwsAccountInput {
3008	s.DomainName = &v
3009	return s
3010}
3011
3012// The CancelDomainTransferToAnotherAwsAccount response includes the following
3013// element.
3014type CancelDomainTransferToAnotherAwsAccountOutput struct {
3015	_ struct{} `type:"structure"`
3016
3017	// The identifier that TransferDomainToAnotherAwsAccount returned to track the
3018	// progress of the request. Because the transfer request was canceled, the value
3019	// is no longer valid, and you can't use GetOperationDetail to query the operation
3020	// status.
3021	OperationId *string `type:"string"`
3022}
3023
3024// String returns the string representation
3025func (s CancelDomainTransferToAnotherAwsAccountOutput) String() string {
3026	return awsutil.Prettify(s)
3027}
3028
3029// GoString returns the string representation
3030func (s CancelDomainTransferToAnotherAwsAccountOutput) GoString() string {
3031	return s.String()
3032}
3033
3034// SetOperationId sets the OperationId field's value.
3035func (s *CancelDomainTransferToAnotherAwsAccountOutput) SetOperationId(v string) *CancelDomainTransferToAnotherAwsAccountOutput {
3036	s.OperationId = &v
3037	return s
3038}
3039
3040// The CheckDomainAvailability request contains the following elements.
3041type CheckDomainAvailabilityInput struct {
3042	_ struct{} `type:"structure"`
3043
3044	// The name of the domain that you want to get availability for. The top-level
3045	// domain (TLD), such as .com, must be a TLD that Route 53 supports. For a list
3046	// of supported TLDs, see Domains that You Can Register with Amazon Route 53
3047	// (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/registrar-tld-list.html)
3048	// in the Amazon Route 53 Developer Guide.
3049	//
3050	// The domain name can contain only the following characters:
3051	//
3052	//    * Letters a through z. Domain names are not case sensitive.
3053	//
3054	//    * Numbers 0 through 9.
3055	//
3056	//    * Hyphen (-). You can't specify a hyphen at the beginning or end of a
3057	//    label.
3058	//
3059	//    * Period (.) to separate the labels in the name, such as the . in example.com.
3060	//
3061	// Internationalized domain names are not supported for some top-level domains.
3062	// To determine whether the TLD that you want to use supports internationalized
3063	// domain names, see Domains that You Can Register with Amazon Route 53 (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/registrar-tld-list.html).
3064	// For more information, see Formatting Internationalized Domain Names (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html#domain-name-format-idns).
3065	//
3066	// DomainName is a required field
3067	DomainName *string `type:"string" required:"true"`
3068
3069	// Reserved for future use.
3070	IdnLangCode *string `type:"string"`
3071}
3072
3073// String returns the string representation
3074func (s CheckDomainAvailabilityInput) String() string {
3075	return awsutil.Prettify(s)
3076}
3077
3078// GoString returns the string representation
3079func (s CheckDomainAvailabilityInput) GoString() string {
3080	return s.String()
3081}
3082
3083// Validate inspects the fields of the type to determine if they are valid.
3084func (s *CheckDomainAvailabilityInput) Validate() error {
3085	invalidParams := request.ErrInvalidParams{Context: "CheckDomainAvailabilityInput"}
3086	if s.DomainName == nil {
3087		invalidParams.Add(request.NewErrParamRequired("DomainName"))
3088	}
3089
3090	if invalidParams.Len() > 0 {
3091		return invalidParams
3092	}
3093	return nil
3094}
3095
3096// SetDomainName sets the DomainName field's value.
3097func (s *CheckDomainAvailabilityInput) SetDomainName(v string) *CheckDomainAvailabilityInput {
3098	s.DomainName = &v
3099	return s
3100}
3101
3102// SetIdnLangCode sets the IdnLangCode field's value.
3103func (s *CheckDomainAvailabilityInput) SetIdnLangCode(v string) *CheckDomainAvailabilityInput {
3104	s.IdnLangCode = &v
3105	return s
3106}
3107
3108// The CheckDomainAvailability response includes the following elements.
3109type CheckDomainAvailabilityOutput struct {
3110	_ struct{} `type:"structure"`
3111
3112	// Whether the domain name is available for registering.
3113	//
3114	// You can register only domains designated as AVAILABLE.
3115	//
3116	// Valid values:
3117	//
3118	// AVAILABLE
3119	//
3120	// The domain name is available.
3121	//
3122	// AVAILABLE_RESERVED
3123	//
3124	// The domain name is reserved under specific conditions.
3125	//
3126	// AVAILABLE_PREORDER
3127	//
3128	// The domain name is available and can be preordered.
3129	//
3130	// DONT_KNOW
3131	//
3132	// The TLD registry didn't reply with a definitive answer about whether the
3133	// domain name is available. Route 53 can return this response for a variety
3134	// of reasons, for example, the registry is performing maintenance. Try again
3135	// later.
3136	//
3137	// PENDING
3138	//
3139	// The TLD registry didn't return a response in the expected amount of time.
3140	// When the response is delayed, it usually takes just a few extra seconds.
3141	// You can resubmit the request immediately.
3142	//
3143	// RESERVED
3144	//
3145	// The domain name has been reserved for another person or organization.
3146	//
3147	// UNAVAILABLE
3148	//
3149	// The domain name is not available.
3150	//
3151	// UNAVAILABLE_PREMIUM
3152	//
3153	// The domain name is not available.
3154	//
3155	// UNAVAILABLE_RESTRICTED
3156	//
3157	// The domain name is forbidden.
3158	//
3159	// Availability is a required field
3160	Availability *string `type:"string" required:"true" enum:"DomainAvailability"`
3161}
3162
3163// String returns the string representation
3164func (s CheckDomainAvailabilityOutput) String() string {
3165	return awsutil.Prettify(s)
3166}
3167
3168// GoString returns the string representation
3169func (s CheckDomainAvailabilityOutput) GoString() string {
3170	return s.String()
3171}
3172
3173// SetAvailability sets the Availability field's value.
3174func (s *CheckDomainAvailabilityOutput) SetAvailability(v string) *CheckDomainAvailabilityOutput {
3175	s.Availability = &v
3176	return s
3177}
3178
3179// The CheckDomainTransferability request contains the following elements.
3180type CheckDomainTransferabilityInput struct {
3181	_ struct{} `type:"structure"`
3182
3183	// If the registrar for the top-level domain (TLD) requires an authorization
3184	// code to transfer the domain, the code that you got from the current registrar
3185	// for the domain.
3186	AuthCode *string `type:"string" sensitive:"true"`
3187
3188	// The name of the domain that you want to transfer to Route 53. The top-level
3189	// domain (TLD), such as .com, must be a TLD that Route 53 supports. For a list
3190	// of supported TLDs, see Domains that You Can Register with Amazon Route 53
3191	// (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/registrar-tld-list.html)
3192	// in the Amazon Route 53 Developer Guide.
3193	//
3194	// The domain name can contain only the following characters:
3195	//
3196	//    * Letters a through z. Domain names are not case sensitive.
3197	//
3198	//    * Numbers 0 through 9.
3199	//
3200	//    * Hyphen (-). You can't specify a hyphen at the beginning or end of a
3201	//    label.
3202	//
3203	//    * Period (.) to separate the labels in the name, such as the . in example.com.
3204	//
3205	// DomainName is a required field
3206	DomainName *string `type:"string" required:"true"`
3207}
3208
3209// String returns the string representation
3210func (s CheckDomainTransferabilityInput) String() string {
3211	return awsutil.Prettify(s)
3212}
3213
3214// GoString returns the string representation
3215func (s CheckDomainTransferabilityInput) GoString() string {
3216	return s.String()
3217}
3218
3219// Validate inspects the fields of the type to determine if they are valid.
3220func (s *CheckDomainTransferabilityInput) Validate() error {
3221	invalidParams := request.ErrInvalidParams{Context: "CheckDomainTransferabilityInput"}
3222	if s.DomainName == nil {
3223		invalidParams.Add(request.NewErrParamRequired("DomainName"))
3224	}
3225
3226	if invalidParams.Len() > 0 {
3227		return invalidParams
3228	}
3229	return nil
3230}
3231
3232// SetAuthCode sets the AuthCode field's value.
3233func (s *CheckDomainTransferabilityInput) SetAuthCode(v string) *CheckDomainTransferabilityInput {
3234	s.AuthCode = &v
3235	return s
3236}
3237
3238// SetDomainName sets the DomainName field's value.
3239func (s *CheckDomainTransferabilityInput) SetDomainName(v string) *CheckDomainTransferabilityInput {
3240	s.DomainName = &v
3241	return s
3242}
3243
3244// The CheckDomainTransferability response includes the following elements.
3245type CheckDomainTransferabilityOutput struct {
3246	_ struct{} `type:"structure"`
3247
3248	// A complex type that contains information about whether the specified domain
3249	// can be transferred to Route 53.
3250	//
3251	// Transferability is a required field
3252	Transferability *DomainTransferability `type:"structure" required:"true"`
3253}
3254
3255// String returns the string representation
3256func (s CheckDomainTransferabilityOutput) String() string {
3257	return awsutil.Prettify(s)
3258}
3259
3260// GoString returns the string representation
3261func (s CheckDomainTransferabilityOutput) GoString() string {
3262	return s.String()
3263}
3264
3265// SetTransferability sets the Transferability field's value.
3266func (s *CheckDomainTransferabilityOutput) SetTransferability(v *DomainTransferability) *CheckDomainTransferabilityOutput {
3267	s.Transferability = v
3268	return s
3269}
3270
3271// ContactDetail includes the following elements.
3272type ContactDetail struct {
3273	_ struct{} `type:"structure" sensitive:"true"`
3274
3275	// First line of the contact's address.
3276	AddressLine1 *string `type:"string"`
3277
3278	// Second line of contact's address, if any.
3279	AddressLine2 *string `type:"string"`
3280
3281	// The city of the contact's address.
3282	City *string `type:"string"`
3283
3284	// Indicates whether the contact is a person, company, association, or public
3285	// organization. Note the following:
3286	//
3287	//    * If you specify a value other than PERSON, you must also specify a value
3288	//    for OrganizationName.
3289	//
3290	//    * For some TLDs, the privacy protection available depends on the value
3291	//    that you specify for Contact Type. For the privacy protection settings
3292	//    for your TLD, see Domains that You Can Register with Amazon Route 53 (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/registrar-tld-list.html)
3293	//    in the Amazon Route 53 Developer Guide
3294	//
3295	//    * For .es domains, if you specify PERSON, you must specify INDIVIDUAL
3296	//    for the value of ES_LEGAL_FORM.
3297	ContactType *string `type:"string" enum:"ContactType"`
3298
3299	// Code for the country of the contact's address.
3300	CountryCode *string `type:"string" enum:"CountryCode"`
3301
3302	// Email address of the contact.
3303	Email *string `type:"string"`
3304
3305	// A list of name-value pairs for parameters required by certain top-level domains.
3306	ExtraParams []*ExtraParam `type:"list"`
3307
3308	// Fax number of the contact.
3309	//
3310	// Constraints: Phone number must be specified in the format "+[country dialing
3311	// code].[number including any area code]". For example, a US phone number might
3312	// appear as "+1.1234567890".
3313	Fax *string `type:"string"`
3314
3315	// First name of contact.
3316	FirstName *string `type:"string"`
3317
3318	// Last name of contact.
3319	LastName *string `type:"string"`
3320
3321	// Name of the organization for contact types other than PERSON.
3322	OrganizationName *string `type:"string"`
3323
3324	// The phone number of the contact.
3325	//
3326	// Constraints: Phone number must be specified in the format "+[country dialing
3327	// code].[number including any area code>]". For example, a US phone number
3328	// might appear as "+1.1234567890".
3329	PhoneNumber *string `type:"string"`
3330
3331	// The state or province of the contact's city.
3332	State *string `type:"string"`
3333
3334	// The zip or postal code of the contact's address.
3335	ZipCode *string `type:"string"`
3336}
3337
3338// String returns the string representation
3339func (s ContactDetail) String() string {
3340	return awsutil.Prettify(s)
3341}
3342
3343// GoString returns the string representation
3344func (s ContactDetail) GoString() string {
3345	return s.String()
3346}
3347
3348// Validate inspects the fields of the type to determine if they are valid.
3349func (s *ContactDetail) Validate() error {
3350	invalidParams := request.ErrInvalidParams{Context: "ContactDetail"}
3351	if s.ExtraParams != nil {
3352		for i, v := range s.ExtraParams {
3353			if v == nil {
3354				continue
3355			}
3356			if err := v.Validate(); err != nil {
3357				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ExtraParams", i), err.(request.ErrInvalidParams))
3358			}
3359		}
3360	}
3361
3362	if invalidParams.Len() > 0 {
3363		return invalidParams
3364	}
3365	return nil
3366}
3367
3368// SetAddressLine1 sets the AddressLine1 field's value.
3369func (s *ContactDetail) SetAddressLine1(v string) *ContactDetail {
3370	s.AddressLine1 = &v
3371	return s
3372}
3373
3374// SetAddressLine2 sets the AddressLine2 field's value.
3375func (s *ContactDetail) SetAddressLine2(v string) *ContactDetail {
3376	s.AddressLine2 = &v
3377	return s
3378}
3379
3380// SetCity sets the City field's value.
3381func (s *ContactDetail) SetCity(v string) *ContactDetail {
3382	s.City = &v
3383	return s
3384}
3385
3386// SetContactType sets the ContactType field's value.
3387func (s *ContactDetail) SetContactType(v string) *ContactDetail {
3388	s.ContactType = &v
3389	return s
3390}
3391
3392// SetCountryCode sets the CountryCode field's value.
3393func (s *ContactDetail) SetCountryCode(v string) *ContactDetail {
3394	s.CountryCode = &v
3395	return s
3396}
3397
3398// SetEmail sets the Email field's value.
3399func (s *ContactDetail) SetEmail(v string) *ContactDetail {
3400	s.Email = &v
3401	return s
3402}
3403
3404// SetExtraParams sets the ExtraParams field's value.
3405func (s *ContactDetail) SetExtraParams(v []*ExtraParam) *ContactDetail {
3406	s.ExtraParams = v
3407	return s
3408}
3409
3410// SetFax sets the Fax field's value.
3411func (s *ContactDetail) SetFax(v string) *ContactDetail {
3412	s.Fax = &v
3413	return s
3414}
3415
3416// SetFirstName sets the FirstName field's value.
3417func (s *ContactDetail) SetFirstName(v string) *ContactDetail {
3418	s.FirstName = &v
3419	return s
3420}
3421
3422// SetLastName sets the LastName field's value.
3423func (s *ContactDetail) SetLastName(v string) *ContactDetail {
3424	s.LastName = &v
3425	return s
3426}
3427
3428// SetOrganizationName sets the OrganizationName field's value.
3429func (s *ContactDetail) SetOrganizationName(v string) *ContactDetail {
3430	s.OrganizationName = &v
3431	return s
3432}
3433
3434// SetPhoneNumber sets the PhoneNumber field's value.
3435func (s *ContactDetail) SetPhoneNumber(v string) *ContactDetail {
3436	s.PhoneNumber = &v
3437	return s
3438}
3439
3440// SetState sets the State field's value.
3441func (s *ContactDetail) SetState(v string) *ContactDetail {
3442	s.State = &v
3443	return s
3444}
3445
3446// SetZipCode sets the ZipCode field's value.
3447func (s *ContactDetail) SetZipCode(v string) *ContactDetail {
3448	s.ZipCode = &v
3449	return s
3450}
3451
3452// The DeleteTagsForDomainRequest includes the following elements.
3453type DeleteTagsForDomainInput struct {
3454	_ struct{} `type:"structure"`
3455
3456	// The domain for which you want to delete one or more tags.
3457	//
3458	// DomainName is a required field
3459	DomainName *string `type:"string" required:"true"`
3460
3461	// A list of tag keys to delete.
3462	//
3463	// TagsToDelete is a required field
3464	TagsToDelete []*string `type:"list" required:"true"`
3465}
3466
3467// String returns the string representation
3468func (s DeleteTagsForDomainInput) String() string {
3469	return awsutil.Prettify(s)
3470}
3471
3472// GoString returns the string representation
3473func (s DeleteTagsForDomainInput) GoString() string {
3474	return s.String()
3475}
3476
3477// Validate inspects the fields of the type to determine if they are valid.
3478func (s *DeleteTagsForDomainInput) Validate() error {
3479	invalidParams := request.ErrInvalidParams{Context: "DeleteTagsForDomainInput"}
3480	if s.DomainName == nil {
3481		invalidParams.Add(request.NewErrParamRequired("DomainName"))
3482	}
3483	if s.TagsToDelete == nil {
3484		invalidParams.Add(request.NewErrParamRequired("TagsToDelete"))
3485	}
3486
3487	if invalidParams.Len() > 0 {
3488		return invalidParams
3489	}
3490	return nil
3491}
3492
3493// SetDomainName sets the DomainName field's value.
3494func (s *DeleteTagsForDomainInput) SetDomainName(v string) *DeleteTagsForDomainInput {
3495	s.DomainName = &v
3496	return s
3497}
3498
3499// SetTagsToDelete sets the TagsToDelete field's value.
3500func (s *DeleteTagsForDomainInput) SetTagsToDelete(v []*string) *DeleteTagsForDomainInput {
3501	s.TagsToDelete = v
3502	return s
3503}
3504
3505type DeleteTagsForDomainOutput struct {
3506	_ struct{} `type:"structure"`
3507}
3508
3509// String returns the string representation
3510func (s DeleteTagsForDomainOutput) String() string {
3511	return awsutil.Prettify(s)
3512}
3513
3514// GoString returns the string representation
3515func (s DeleteTagsForDomainOutput) GoString() string {
3516	return s.String()
3517}
3518
3519type DisableDomainAutoRenewInput struct {
3520	_ struct{} `type:"structure"`
3521
3522	// The name of the domain that you want to disable automatic renewal for.
3523	//
3524	// DomainName is a required field
3525	DomainName *string `type:"string" required:"true"`
3526}
3527
3528// String returns the string representation
3529func (s DisableDomainAutoRenewInput) String() string {
3530	return awsutil.Prettify(s)
3531}
3532
3533// GoString returns the string representation
3534func (s DisableDomainAutoRenewInput) GoString() string {
3535	return s.String()
3536}
3537
3538// Validate inspects the fields of the type to determine if they are valid.
3539func (s *DisableDomainAutoRenewInput) Validate() error {
3540	invalidParams := request.ErrInvalidParams{Context: "DisableDomainAutoRenewInput"}
3541	if s.DomainName == nil {
3542		invalidParams.Add(request.NewErrParamRequired("DomainName"))
3543	}
3544
3545	if invalidParams.Len() > 0 {
3546		return invalidParams
3547	}
3548	return nil
3549}
3550
3551// SetDomainName sets the DomainName field's value.
3552func (s *DisableDomainAutoRenewInput) SetDomainName(v string) *DisableDomainAutoRenewInput {
3553	s.DomainName = &v
3554	return s
3555}
3556
3557type DisableDomainAutoRenewOutput struct {
3558	_ struct{} `type:"structure"`
3559}
3560
3561// String returns the string representation
3562func (s DisableDomainAutoRenewOutput) String() string {
3563	return awsutil.Prettify(s)
3564}
3565
3566// GoString returns the string representation
3567func (s DisableDomainAutoRenewOutput) GoString() string {
3568	return s.String()
3569}
3570
3571// The DisableDomainTransferLock request includes the following element.
3572type DisableDomainTransferLockInput struct {
3573	_ struct{} `type:"structure"`
3574
3575	// The name of the domain that you want to remove the transfer lock for.
3576	//
3577	// DomainName is a required field
3578	DomainName *string `type:"string" required:"true"`
3579}
3580
3581// String returns the string representation
3582func (s DisableDomainTransferLockInput) String() string {
3583	return awsutil.Prettify(s)
3584}
3585
3586// GoString returns the string representation
3587func (s DisableDomainTransferLockInput) GoString() string {
3588	return s.String()
3589}
3590
3591// Validate inspects the fields of the type to determine if they are valid.
3592func (s *DisableDomainTransferLockInput) Validate() error {
3593	invalidParams := request.ErrInvalidParams{Context: "DisableDomainTransferLockInput"}
3594	if s.DomainName == nil {
3595		invalidParams.Add(request.NewErrParamRequired("DomainName"))
3596	}
3597
3598	if invalidParams.Len() > 0 {
3599		return invalidParams
3600	}
3601	return nil
3602}
3603
3604// SetDomainName sets the DomainName field's value.
3605func (s *DisableDomainTransferLockInput) SetDomainName(v string) *DisableDomainTransferLockInput {
3606	s.DomainName = &v
3607	return s
3608}
3609
3610// The DisableDomainTransferLock response includes the following element.
3611type DisableDomainTransferLockOutput struct {
3612	_ struct{} `type:"structure"`
3613
3614	// Identifier for tracking the progress of the request. To query the operation
3615	// status, use GetOperationDetail (https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_GetOperationDetail.html).
3616	//
3617	// OperationId is a required field
3618	OperationId *string `type:"string" required:"true"`
3619}
3620
3621// String returns the string representation
3622func (s DisableDomainTransferLockOutput) String() string {
3623	return awsutil.Prettify(s)
3624}
3625
3626// GoString returns the string representation
3627func (s DisableDomainTransferLockOutput) GoString() string {
3628	return s.String()
3629}
3630
3631// SetOperationId sets the OperationId field's value.
3632func (s *DisableDomainTransferLockOutput) SetOperationId(v string) *DisableDomainTransferLockOutput {
3633	s.OperationId = &v
3634	return s
3635}
3636
3637// The number of domains has exceeded the allowed threshold for the account.
3638type DomainLimitExceeded struct {
3639	_            struct{}                  `type:"structure"`
3640	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
3641
3642	// The number of domains has exceeded the allowed threshold for the account.
3643	Message_ *string `locationName:"message" type:"string"`
3644}
3645
3646// String returns the string representation
3647func (s DomainLimitExceeded) String() string {
3648	return awsutil.Prettify(s)
3649}
3650
3651// GoString returns the string representation
3652func (s DomainLimitExceeded) GoString() string {
3653	return s.String()
3654}
3655
3656func newErrorDomainLimitExceeded(v protocol.ResponseMetadata) error {
3657	return &DomainLimitExceeded{
3658		RespMetadata: v,
3659	}
3660}
3661
3662// Code returns the exception type name.
3663func (s *DomainLimitExceeded) Code() string {
3664	return "DomainLimitExceeded"
3665}
3666
3667// Message returns the exception's message.
3668func (s *DomainLimitExceeded) Message() string {
3669	if s.Message_ != nil {
3670		return *s.Message_
3671	}
3672	return ""
3673}
3674
3675// OrigErr always returns nil, satisfies awserr.Error interface.
3676func (s *DomainLimitExceeded) OrigErr() error {
3677	return nil
3678}
3679
3680func (s *DomainLimitExceeded) Error() string {
3681	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
3682}
3683
3684// Status code returns the HTTP status code for the request's response error.
3685func (s *DomainLimitExceeded) StatusCode() int {
3686	return s.RespMetadata.StatusCode
3687}
3688
3689// RequestID returns the service's response RequestID for request.
3690func (s *DomainLimitExceeded) RequestID() string {
3691	return s.RespMetadata.RequestID
3692}
3693
3694// Information about one suggested domain name.
3695type DomainSuggestion struct {
3696	_ struct{} `type:"structure"`
3697
3698	// Whether the domain name is available for registering.
3699	//
3700	// You can register only the domains that are designated as AVAILABLE.
3701	//
3702	// Valid values:
3703	//
3704	// AVAILABLE
3705	//
3706	// The domain name is available.
3707	//
3708	// AVAILABLE_RESERVED
3709	//
3710	// The domain name is reserved under specific conditions.
3711	//
3712	// AVAILABLE_PREORDER
3713	//
3714	// The domain name is available and can be preordered.
3715	//
3716	// DONT_KNOW
3717	//
3718	// The TLD registry didn't reply with a definitive answer about whether the
3719	// domain name is available. Route 53 can return this response for a variety
3720	// of reasons, for example, the registry is performing maintenance. Try again
3721	// later.
3722	//
3723	// PENDING
3724	//
3725	// The TLD registry didn't return a response in the expected amount of time.
3726	// When the response is delayed, it usually takes just a few extra seconds.
3727	// You can resubmit the request immediately.
3728	//
3729	// RESERVED
3730	//
3731	// The domain name has been reserved for another person or organization.
3732	//
3733	// UNAVAILABLE
3734	//
3735	// The domain name is not available.
3736	//
3737	// UNAVAILABLE_PREMIUM
3738	//
3739	// The domain name is not available.
3740	//
3741	// UNAVAILABLE_RESTRICTED
3742	//
3743	// The domain name is forbidden.
3744	Availability *string `type:"string"`
3745
3746	// A suggested domain name.
3747	DomainName *string `type:"string"`
3748}
3749
3750// String returns the string representation
3751func (s DomainSuggestion) String() string {
3752	return awsutil.Prettify(s)
3753}
3754
3755// GoString returns the string representation
3756func (s DomainSuggestion) GoString() string {
3757	return s.String()
3758}
3759
3760// SetAvailability sets the Availability field's value.
3761func (s *DomainSuggestion) SetAvailability(v string) *DomainSuggestion {
3762	s.Availability = &v
3763	return s
3764}
3765
3766// SetDomainName sets the DomainName field's value.
3767func (s *DomainSuggestion) SetDomainName(v string) *DomainSuggestion {
3768	s.DomainName = &v
3769	return s
3770}
3771
3772// Summary information about one domain.
3773type DomainSummary struct {
3774	_ struct{} `type:"structure"`
3775
3776	// Indicates whether the domain is automatically renewed upon expiration.
3777	AutoRenew *bool `type:"boolean"`
3778
3779	// The name of the domain that the summary information applies to.
3780	//
3781	// DomainName is a required field
3782	DomainName *string `type:"string" required:"true"`
3783
3784	// Expiration date of the domain in Unix time format and Coordinated Universal
3785	// Time (UTC).
3786	Expiry *time.Time `type:"timestamp"`
3787
3788	// Indicates whether a domain is locked from unauthorized transfer to another
3789	// party.
3790	TransferLock *bool `type:"boolean"`
3791}
3792
3793// String returns the string representation
3794func (s DomainSummary) String() string {
3795	return awsutil.Prettify(s)
3796}
3797
3798// GoString returns the string representation
3799func (s DomainSummary) GoString() string {
3800	return s.String()
3801}
3802
3803// SetAutoRenew sets the AutoRenew field's value.
3804func (s *DomainSummary) SetAutoRenew(v bool) *DomainSummary {
3805	s.AutoRenew = &v
3806	return s
3807}
3808
3809// SetDomainName sets the DomainName field's value.
3810func (s *DomainSummary) SetDomainName(v string) *DomainSummary {
3811	s.DomainName = &v
3812	return s
3813}
3814
3815// SetExpiry sets the Expiry field's value.
3816func (s *DomainSummary) SetExpiry(v time.Time) *DomainSummary {
3817	s.Expiry = &v
3818	return s
3819}
3820
3821// SetTransferLock sets the TransferLock field's value.
3822func (s *DomainSummary) SetTransferLock(v bool) *DomainSummary {
3823	s.TransferLock = &v
3824	return s
3825}
3826
3827// A complex type that contains information about whether the specified domain
3828// can be transferred to Route 53.
3829type DomainTransferability struct {
3830	_ struct{} `type:"structure"`
3831
3832	// Whether the domain name can be transferred to Route 53.
3833	//
3834	// You can transfer only domains that have a value of TRANSFERABLE for Transferable.
3835	//
3836	// Valid values:
3837	//
3838	// TRANSFERABLE
3839	//
3840	// The domain name can be transferred to Route 53.
3841	//
3842	// UNTRANSFERRABLE
3843	//
3844	// The domain name can't be transferred to Route 53.
3845	//
3846	// DONT_KNOW
3847	//
3848	// Reserved for future use.
3849	Transferable *string `type:"string" enum:"Transferable"`
3850}
3851
3852// String returns the string representation
3853func (s DomainTransferability) String() string {
3854	return awsutil.Prettify(s)
3855}
3856
3857// GoString returns the string representation
3858func (s DomainTransferability) GoString() string {
3859	return s.String()
3860}
3861
3862// SetTransferable sets the Transferable field's value.
3863func (s *DomainTransferability) SetTransferable(v string) *DomainTransferability {
3864	s.Transferable = &v
3865	return s
3866}
3867
3868// The request is already in progress for the domain.
3869type DuplicateRequest struct {
3870	_            struct{}                  `type:"structure"`
3871	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
3872
3873	// The request is already in progress for the domain.
3874	Message_ *string `locationName:"message" type:"string"`
3875}
3876
3877// String returns the string representation
3878func (s DuplicateRequest) String() string {
3879	return awsutil.Prettify(s)
3880}
3881
3882// GoString returns the string representation
3883func (s DuplicateRequest) GoString() string {
3884	return s.String()
3885}
3886
3887func newErrorDuplicateRequest(v protocol.ResponseMetadata) error {
3888	return &DuplicateRequest{
3889		RespMetadata: v,
3890	}
3891}
3892
3893// Code returns the exception type name.
3894func (s *DuplicateRequest) Code() string {
3895	return "DuplicateRequest"
3896}
3897
3898// Message returns the exception's message.
3899func (s *DuplicateRequest) Message() string {
3900	if s.Message_ != nil {
3901		return *s.Message_
3902	}
3903	return ""
3904}
3905
3906// OrigErr always returns nil, satisfies awserr.Error interface.
3907func (s *DuplicateRequest) OrigErr() error {
3908	return nil
3909}
3910
3911func (s *DuplicateRequest) Error() string {
3912	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
3913}
3914
3915// Status code returns the HTTP status code for the request's response error.
3916func (s *DuplicateRequest) StatusCode() int {
3917	return s.RespMetadata.StatusCode
3918}
3919
3920// RequestID returns the service's response RequestID for request.
3921func (s *DuplicateRequest) RequestID() string {
3922	return s.RespMetadata.RequestID
3923}
3924
3925type EnableDomainAutoRenewInput struct {
3926	_ struct{} `type:"structure"`
3927
3928	// The name of the domain that you want to enable automatic renewal for.
3929	//
3930	// DomainName is a required field
3931	DomainName *string `type:"string" required:"true"`
3932}
3933
3934// String returns the string representation
3935func (s EnableDomainAutoRenewInput) String() string {
3936	return awsutil.Prettify(s)
3937}
3938
3939// GoString returns the string representation
3940func (s EnableDomainAutoRenewInput) GoString() string {
3941	return s.String()
3942}
3943
3944// Validate inspects the fields of the type to determine if they are valid.
3945func (s *EnableDomainAutoRenewInput) Validate() error {
3946	invalidParams := request.ErrInvalidParams{Context: "EnableDomainAutoRenewInput"}
3947	if s.DomainName == nil {
3948		invalidParams.Add(request.NewErrParamRequired("DomainName"))
3949	}
3950
3951	if invalidParams.Len() > 0 {
3952		return invalidParams
3953	}
3954	return nil
3955}
3956
3957// SetDomainName sets the DomainName field's value.
3958func (s *EnableDomainAutoRenewInput) SetDomainName(v string) *EnableDomainAutoRenewInput {
3959	s.DomainName = &v
3960	return s
3961}
3962
3963type EnableDomainAutoRenewOutput struct {
3964	_ struct{} `type:"structure"`
3965}
3966
3967// String returns the string representation
3968func (s EnableDomainAutoRenewOutput) String() string {
3969	return awsutil.Prettify(s)
3970}
3971
3972// GoString returns the string representation
3973func (s EnableDomainAutoRenewOutput) GoString() string {
3974	return s.String()
3975}
3976
3977// A request to set the transfer lock for the specified domain.
3978type EnableDomainTransferLockInput struct {
3979	_ struct{} `type:"structure"`
3980
3981	// The name of the domain that you want to set the transfer lock for.
3982	//
3983	// DomainName is a required field
3984	DomainName *string `type:"string" required:"true"`
3985}
3986
3987// String returns the string representation
3988func (s EnableDomainTransferLockInput) String() string {
3989	return awsutil.Prettify(s)
3990}
3991
3992// GoString returns the string representation
3993func (s EnableDomainTransferLockInput) GoString() string {
3994	return s.String()
3995}
3996
3997// Validate inspects the fields of the type to determine if they are valid.
3998func (s *EnableDomainTransferLockInput) Validate() error {
3999	invalidParams := request.ErrInvalidParams{Context: "EnableDomainTransferLockInput"}
4000	if s.DomainName == nil {
4001		invalidParams.Add(request.NewErrParamRequired("DomainName"))
4002	}
4003
4004	if invalidParams.Len() > 0 {
4005		return invalidParams
4006	}
4007	return nil
4008}
4009
4010// SetDomainName sets the DomainName field's value.
4011func (s *EnableDomainTransferLockInput) SetDomainName(v string) *EnableDomainTransferLockInput {
4012	s.DomainName = &v
4013	return s
4014}
4015
4016// The EnableDomainTransferLock response includes the following elements.
4017type EnableDomainTransferLockOutput struct {
4018	_ struct{} `type:"structure"`
4019
4020	// Identifier for tracking the progress of the request. To use this ID to query
4021	// the operation status, use GetOperationDetail.
4022	//
4023	// OperationId is a required field
4024	OperationId *string `type:"string" required:"true"`
4025}
4026
4027// String returns the string representation
4028func (s EnableDomainTransferLockOutput) String() string {
4029	return awsutil.Prettify(s)
4030}
4031
4032// GoString returns the string representation
4033func (s EnableDomainTransferLockOutput) GoString() string {
4034	return s.String()
4035}
4036
4037// SetOperationId sets the OperationId field's value.
4038func (s *EnableDomainTransferLockOutput) SetOperationId(v string) *EnableDomainTransferLockOutput {
4039	s.OperationId = &v
4040	return s
4041}
4042
4043// ExtraParam includes the following elements.
4044type ExtraParam struct {
4045	_ struct{} `type:"structure"`
4046
4047	// The name of an additional parameter that is required by a top-level domain.
4048	// Here are the top-level domains that require additional parameters and the
4049	// names of the parameters that they require:
4050	//
4051	// .com.au and .net.au
4052	//
4053	//    * AU_ID_NUMBER
4054	//
4055	//    * AU_ID_TYPE Valid values include the following: ABN (Australian business
4056	//    number) ACN (Australian company number) TM (Trademark number)
4057	//
4058	// .ca
4059	//
4060	//    * BRAND_NUMBER
4061	//
4062	//    * CA_BUSINESS_ENTITY_TYPE Valid values include the following: BANK (Bank)
4063	//    COMMERCIAL_COMPANY (Commercial company) COMPANY (Company) COOPERATION
4064	//    (Cooperation) COOPERATIVE (Cooperative) COOPRIX (Cooprix) CORP (Corporation)
4065	//    CREDIT_UNION (Credit union) FOMIA (Federation of mutual insurance associations)
4066	//    INC (Incorporated) LTD (Limited) LTEE (Limitée) LLC (Limited liability
4067	//    corporation) LLP (Limited liability partnership) LTE (Lte.) MBA (Mutual
4068	//    benefit association) MIC (Mutual insurance company) NFP (Not-for-profit
4069	//    corporation) SA (S.A.) SAVINGS_COMPANY (Savings company) SAVINGS_UNION
4070	//    (Savings union) SARL (Société à responsabilité limitée) TRUST (Trust)
4071	//    ULC (Unlimited liability corporation)
4072	//
4073	//    * CA_LEGAL_TYPE When ContactType is PERSON, valid values include the following:
4074	//    ABO (Aboriginal Peoples indigenous to Canada) CCT (Canadian citizen) LGR
4075	//    (Legal Representative of a Canadian Citizen or Permanent Resident) RES
4076	//    (Permanent resident of Canada) When ContactType is a value other than
4077	//    PERSON, valid values include the following: ASS (Canadian unincorporated
4078	//    association) CCO (Canadian corporation) EDU (Canadian educational institution)
4079	//    GOV (Government or government entity in Canada) HOP (Canadian Hospital)
4080	//    INB (Indian Band recognized by the Indian Act of Canada) LAM (Canadian
4081	//    Library, Archive, or Museum) MAJ (Her/His Majesty the Queen/King) OMK
4082	//    (Official mark registered in Canada) PLT (Canadian Political Party) PRT
4083	//    (Partnership Registered in Canada) TDM (Trademark registered in Canada)
4084	//    TRD (Canadian Trade Union) TRS (Trust established in Canada)
4085	//
4086	// .es
4087	//
4088	//    * ES_IDENTIFICATION Specify the applicable value: For contacts inside
4089	//    Spain: Enter your passport ID. For contacts outside of Spain: Enter the
4090	//    VAT identification number for the company. For .es domains, the value
4091	//    of ContactType must be PERSON.
4092	//
4093	//    * ES_IDENTIFICATION_TYPE Valid values include the following: DNI_AND_NIF
4094	//    (For Spanish contacts) NIE (For foreigners with legal residence) OTHER
4095	//    (For contacts outside of Spain)
4096	//
4097	//    * ES_LEGAL_FORM Valid values include the following: ASSOCIATION CENTRAL_GOVERNMENT_BODY
4098	//    CIVIL_SOCIETY COMMUNITY_OF_OWNERS COMMUNITY_PROPERTY CONSULATE COOPERATIVE
4099	//    DESIGNATION_OF_ORIGIN_SUPERVISORY_COUNCIL ECONOMIC_INTEREST_GROUP EMBASSY
4100	//    ENTITY_MANAGING_NATURAL_AREAS FARM_PARTNERSHIP FOUNDATION GENERAL_AND_LIMITED_PARTNERSHIP
4101	//    GENERAL_PARTNERSHIP INDIVIDUAL LIMITED_COMPANY LOCAL_AUTHORITY LOCAL_PUBLIC_ENTITY
4102	//    MUTUAL_INSURANCE_COMPANY NATIONAL_PUBLIC_ENTITY ORDER_OR_RELIGIOUS_INSTITUTION
4103	//    OTHERS (Only for contacts outside of Spain) POLITICAL_PARTY PROFESSIONAL_ASSOCIATION
4104	//    PUBLIC_LAW_ASSOCIATION PUBLIC_LIMITED_COMPANY REGIONAL_GOVERNMENT_BODY
4105	//    REGIONAL_PUBLIC_ENTITY SAVINGS_BANK SPANISH_OFFICE SPORTS_ASSOCIATION
4106	//    SPORTS_FEDERATION SPORTS_LIMITED_COMPANY TEMPORARY_ALLIANCE_OF_ENTERPRISES
4107	//    TRADE_UNION WORKER_OWNED_COMPANY WORKER_OWNED_LIMITED_COMPANY
4108	//
4109	// .fi
4110	//
4111	//    * BIRTH_DATE_IN_YYYY_MM_DD
4112	//
4113	//    * FI_BUSINESS_NUMBER
4114	//
4115	//    * FI_ID_NUMBER
4116	//
4117	//    * FI_NATIONALITY Valid values include the following: FINNISH NOT_FINNISH
4118	//
4119	//    * FI_ORGANIZATION_TYPE Valid values include the following: COMPANY CORPORATION
4120	//    GOVERNMENT INSTITUTION POLITICAL_PARTY PUBLIC_COMMUNITY TOWNSHIP
4121	//
4122	// .fr
4123	//
4124	//    * BIRTH_CITY
4125	//
4126	//    * BIRTH_COUNTRY
4127	//
4128	//    * BIRTH_DATE_IN_YYYY_MM_DD
4129	//
4130	//    * BIRTH_DEPARTMENT: Specify the INSEE code that corresponds with the department
4131	//    where the contact was born. If the contact was born somewhere other than
4132	//    France or its overseas departments, specify 99. For more information,
4133	//    including a list of departments and the corresponding INSEE numbers, see
4134	//    the Wikipedia entry Departments of France (https://en.wikipedia.org/wiki/Departments_of_France).
4135	//
4136	//    * BRAND_NUMBER
4137	//
4138	// .it
4139	//
4140	//    * IT_NATIONALITY
4141	//
4142	//    * IT_PIN
4143	//
4144	//    * IT_REGISTRANT_ENTITY_TYPE Valid values include the following: FOREIGNERS
4145	//    FREELANCE_WORKERS (Freelance workers and professionals) ITALIAN_COMPANIES
4146	//    (Italian companies and one-person companies) NON_PROFIT_ORGANIZATIONS
4147	//    OTHER_SUBJECTS PUBLIC_ORGANIZATIONS
4148	//
4149	// .ru
4150	//
4151	//    * BIRTH_DATE_IN_YYYY_MM_DD
4152	//
4153	//    * RU_PASSPORT_DATA
4154	//
4155	// .se
4156	//
4157	//    * BIRTH_COUNTRY
4158	//
4159	//    * SE_ID_NUMBER
4160	//
4161	// .sg
4162	//
4163	//    * SG_ID_NUMBER
4164	//
4165	// .co.uk, .me.uk, and .org.uk
4166	//
4167	//    * UK_CONTACT_TYPE Valid values include the following: CRC (UK Corporation
4168	//    by Royal Charter) FCORP (Non-UK Corporation) FIND (Non-UK Individual,
4169	//    representing self) FOTHER (Non-UK Entity that does not fit into any other
4170	//    category) GOV (UK Government Body) IND (UK Individual (representing self))
4171	//    IP (UK Industrial/Provident Registered Company) LLP (UK Limited Liability
4172	//    Partnership) LTD (UK Limited Company) OTHER (UK Entity that does not fit
4173	//    into any other category) PLC (UK Public Limited Company) PTNR (UK Partnership)
4174	//    RCHAR (UK Registered Charity) SCH (UK School) STAT (UK Statutory Body)
4175	//    STRA (UK Sole Trader)
4176	//
4177	//    * UK_COMPANY_NUMBER
4178	//
4179	// In addition, many TLDs require a VAT_NUMBER.
4180	//
4181	// Name is a required field
4182	Name *string `type:"string" required:"true" enum:"ExtraParamName"`
4183
4184	// The value that corresponds with the name of an extra parameter.
4185	//
4186	// Value is a required field
4187	Value *string `type:"string" required:"true"`
4188}
4189
4190// String returns the string representation
4191func (s ExtraParam) String() string {
4192	return awsutil.Prettify(s)
4193}
4194
4195// GoString returns the string representation
4196func (s ExtraParam) GoString() string {
4197	return s.String()
4198}
4199
4200// Validate inspects the fields of the type to determine if they are valid.
4201func (s *ExtraParam) Validate() error {
4202	invalidParams := request.ErrInvalidParams{Context: "ExtraParam"}
4203	if s.Name == nil {
4204		invalidParams.Add(request.NewErrParamRequired("Name"))
4205	}
4206	if s.Value == nil {
4207		invalidParams.Add(request.NewErrParamRequired("Value"))
4208	}
4209
4210	if invalidParams.Len() > 0 {
4211		return invalidParams
4212	}
4213	return nil
4214}
4215
4216// SetName sets the Name field's value.
4217func (s *ExtraParam) SetName(v string) *ExtraParam {
4218	s.Name = &v
4219	return s
4220}
4221
4222// SetValue sets the Value field's value.
4223func (s *ExtraParam) SetValue(v string) *ExtraParam {
4224	s.Value = &v
4225	return s
4226}
4227
4228type GetContactReachabilityStatusInput struct {
4229	_ struct{} `type:"structure"`
4230
4231	// The name of the domain for which you want to know whether the registrant
4232	// contact has confirmed that the email address is valid.
4233	DomainName *string `locationName:"domainName" type:"string"`
4234}
4235
4236// String returns the string representation
4237func (s GetContactReachabilityStatusInput) String() string {
4238	return awsutil.Prettify(s)
4239}
4240
4241// GoString returns the string representation
4242func (s GetContactReachabilityStatusInput) GoString() string {
4243	return s.String()
4244}
4245
4246// SetDomainName sets the DomainName field's value.
4247func (s *GetContactReachabilityStatusInput) SetDomainName(v string) *GetContactReachabilityStatusInput {
4248	s.DomainName = &v
4249	return s
4250}
4251
4252type GetContactReachabilityStatusOutput struct {
4253	_ struct{} `type:"structure"`
4254
4255	// The domain name for which you requested the reachability status.
4256	DomainName *string `locationName:"domainName" type:"string"`
4257
4258	// Whether the registrant contact has responded. Values include the following:
4259	//
4260	// PENDING
4261	//
4262	// We sent the confirmation email and haven't received a response yet.
4263	//
4264	// DONE
4265	//
4266	// We sent the email and got confirmation from the registrant contact.
4267	//
4268	// EXPIRED
4269	//
4270	// The time limit expired before the registrant contact responded.
4271	Status *string `locationName:"status" type:"string" enum:"ReachabilityStatus"`
4272}
4273
4274// String returns the string representation
4275func (s GetContactReachabilityStatusOutput) String() string {
4276	return awsutil.Prettify(s)
4277}
4278
4279// GoString returns the string representation
4280func (s GetContactReachabilityStatusOutput) GoString() string {
4281	return s.String()
4282}
4283
4284// SetDomainName sets the DomainName field's value.
4285func (s *GetContactReachabilityStatusOutput) SetDomainName(v string) *GetContactReachabilityStatusOutput {
4286	s.DomainName = &v
4287	return s
4288}
4289
4290// SetStatus sets the Status field's value.
4291func (s *GetContactReachabilityStatusOutput) SetStatus(v string) *GetContactReachabilityStatusOutput {
4292	s.Status = &v
4293	return s
4294}
4295
4296// The GetDomainDetail request includes the following element.
4297type GetDomainDetailInput struct {
4298	_ struct{} `type:"structure"`
4299
4300	// The name of the domain that you want to get detailed information about.
4301	//
4302	// DomainName is a required field
4303	DomainName *string `type:"string" required:"true"`
4304}
4305
4306// String returns the string representation
4307func (s GetDomainDetailInput) String() string {
4308	return awsutil.Prettify(s)
4309}
4310
4311// GoString returns the string representation
4312func (s GetDomainDetailInput) GoString() string {
4313	return s.String()
4314}
4315
4316// Validate inspects the fields of the type to determine if they are valid.
4317func (s *GetDomainDetailInput) Validate() error {
4318	invalidParams := request.ErrInvalidParams{Context: "GetDomainDetailInput"}
4319	if s.DomainName == nil {
4320		invalidParams.Add(request.NewErrParamRequired("DomainName"))
4321	}
4322
4323	if invalidParams.Len() > 0 {
4324		return invalidParams
4325	}
4326	return nil
4327}
4328
4329// SetDomainName sets the DomainName field's value.
4330func (s *GetDomainDetailInput) SetDomainName(v string) *GetDomainDetailInput {
4331	s.DomainName = &v
4332	return s
4333}
4334
4335// The GetDomainDetail response includes the following elements.
4336type GetDomainDetailOutput struct {
4337	_ struct{} `type:"structure"`
4338
4339	// Email address to contact to report incorrect contact information for a domain,
4340	// to report that the domain is being used to send spam, to report that someone
4341	// is cybersquatting on a domain name, or report some other type of abuse.
4342	AbuseContactEmail *string `type:"string"`
4343
4344	// Phone number for reporting abuse.
4345	AbuseContactPhone *string `type:"string"`
4346
4347	// Provides details about the domain administrative contact.
4348	//
4349	// AdminContact is a required field
4350	AdminContact *ContactDetail `type:"structure" required:"true" sensitive:"true"`
4351
4352	// Specifies whether contact information is concealed from WHOIS queries. If
4353	// the value is true, WHOIS ("who is") queries return contact information either
4354	// for Amazon Registrar (for .com, .net, and .org domains) or for our registrar
4355	// associate, Gandi (for all other TLDs). If the value is false, WHOIS queries
4356	// return the information that you entered for the admin contact.
4357	AdminPrivacy *bool `type:"boolean"`
4358
4359	// Specifies whether the domain registration is set to renew automatically.
4360	AutoRenew *bool `type:"boolean"`
4361
4362	// The date when the domain was created as found in the response to a WHOIS
4363	// query. The date and time is in Unix time format and Coordinated Universal
4364	// time (UTC).
4365	CreationDate *time.Time `type:"timestamp"`
4366
4367	// Reserved for future use.
4368	DnsSec *string `type:"string"`
4369
4370	// The name of a domain.
4371	//
4372	// DomainName is a required field
4373	DomainName *string `type:"string" required:"true"`
4374
4375	// The date when the registration for the domain is set to expire. The date
4376	// and time is in Unix time format and Coordinated Universal time (UTC).
4377	ExpirationDate *time.Time `type:"timestamp"`
4378
4379	// The name of the domain.
4380	//
4381	// Nameservers is a required field
4382	Nameservers []*Nameserver `type:"list" required:"true"`
4383
4384	// Provides details about the domain registrant.
4385	//
4386	// RegistrantContact is a required field
4387	RegistrantContact *ContactDetail `type:"structure" required:"true" sensitive:"true"`
4388
4389	// Specifies whether contact information is concealed from WHOIS queries. If
4390	// the value is true, WHOIS ("who is") queries return contact information either
4391	// for Amazon Registrar (for .com, .net, and .org domains) or for our registrar
4392	// associate, Gandi (for all other TLDs). If the value is false, WHOIS queries
4393	// return the information that you entered for the registrant contact (domain
4394	// owner).
4395	RegistrantPrivacy *bool `type:"boolean"`
4396
4397	// Name of the registrar of the domain as identified in the registry. Domains
4398	// with a .com, .net, or .org TLD are registered by Amazon Registrar. All other
4399	// domains are registered by our registrar associate, Gandi. The value for domains
4400	// that are registered by Gandi is "GANDI SAS".
4401	RegistrarName *string `type:"string"`
4402
4403	// Web address of the registrar.
4404	RegistrarUrl *string `type:"string"`
4405
4406	// Reserved for future use.
4407	RegistryDomainId *string `type:"string"`
4408
4409	// Reseller of the domain. Domains registered or transferred using Route 53
4410	// domains will have "Amazon" as the reseller.
4411	Reseller *string `type:"string"`
4412
4413	// An array of domain name status codes, also known as Extensible Provisioning
4414	// Protocol (EPP) status codes.
4415	//
4416	// ICANN, the organization that maintains a central database of domain names,
4417	// has developed a set of domain name status codes that tell you the status
4418	// of a variety of operations on a domain name, for example, registering a domain
4419	// name, transferring a domain name to another registrar, renewing the registration
4420	// for a domain name, and so on. All registrars use this same set of status
4421	// codes.
4422	//
4423	// For a current list of domain name status codes and an explanation of what
4424	// each code means, go to the ICANN website (https://www.icann.org/) and search
4425	// for epp status codes. (Search on the ICANN website; web searches sometimes
4426	// return an old version of the document.)
4427	StatusList []*string `type:"list"`
4428
4429	// Provides details about the domain technical contact.
4430	//
4431	// TechContact is a required field
4432	TechContact *ContactDetail `type:"structure" required:"true" sensitive:"true"`
4433
4434	// Specifies whether contact information is concealed from WHOIS queries. If
4435	// the value is true, WHOIS ("who is") queries return contact information either
4436	// for Amazon Registrar (for .com, .net, and .org domains) or for our registrar
4437	// associate, Gandi (for all other TLDs). If the value is false, WHOIS queries
4438	// return the information that you entered for the technical contact.
4439	TechPrivacy *bool `type:"boolean"`
4440
4441	// The last updated date of the domain as found in the response to a WHOIS query.
4442	// The date and time is in Unix time format and Coordinated Universal time (UTC).
4443	UpdatedDate *time.Time `type:"timestamp"`
4444
4445	// The fully qualified name of the WHOIS server that can answer the WHOIS query
4446	// for the domain.
4447	WhoIsServer *string `type:"string"`
4448}
4449
4450// String returns the string representation
4451func (s GetDomainDetailOutput) String() string {
4452	return awsutil.Prettify(s)
4453}
4454
4455// GoString returns the string representation
4456func (s GetDomainDetailOutput) GoString() string {
4457	return s.String()
4458}
4459
4460// SetAbuseContactEmail sets the AbuseContactEmail field's value.
4461func (s *GetDomainDetailOutput) SetAbuseContactEmail(v string) *GetDomainDetailOutput {
4462	s.AbuseContactEmail = &v
4463	return s
4464}
4465
4466// SetAbuseContactPhone sets the AbuseContactPhone field's value.
4467func (s *GetDomainDetailOutput) SetAbuseContactPhone(v string) *GetDomainDetailOutput {
4468	s.AbuseContactPhone = &v
4469	return s
4470}
4471
4472// SetAdminContact sets the AdminContact field's value.
4473func (s *GetDomainDetailOutput) SetAdminContact(v *ContactDetail) *GetDomainDetailOutput {
4474	s.AdminContact = v
4475	return s
4476}
4477
4478// SetAdminPrivacy sets the AdminPrivacy field's value.
4479func (s *GetDomainDetailOutput) SetAdminPrivacy(v bool) *GetDomainDetailOutput {
4480	s.AdminPrivacy = &v
4481	return s
4482}
4483
4484// SetAutoRenew sets the AutoRenew field's value.
4485func (s *GetDomainDetailOutput) SetAutoRenew(v bool) *GetDomainDetailOutput {
4486	s.AutoRenew = &v
4487	return s
4488}
4489
4490// SetCreationDate sets the CreationDate field's value.
4491func (s *GetDomainDetailOutput) SetCreationDate(v time.Time) *GetDomainDetailOutput {
4492	s.CreationDate = &v
4493	return s
4494}
4495
4496// SetDnsSec sets the DnsSec field's value.
4497func (s *GetDomainDetailOutput) SetDnsSec(v string) *GetDomainDetailOutput {
4498	s.DnsSec = &v
4499	return s
4500}
4501
4502// SetDomainName sets the DomainName field's value.
4503func (s *GetDomainDetailOutput) SetDomainName(v string) *GetDomainDetailOutput {
4504	s.DomainName = &v
4505	return s
4506}
4507
4508// SetExpirationDate sets the ExpirationDate field's value.
4509func (s *GetDomainDetailOutput) SetExpirationDate(v time.Time) *GetDomainDetailOutput {
4510	s.ExpirationDate = &v
4511	return s
4512}
4513
4514// SetNameservers sets the Nameservers field's value.
4515func (s *GetDomainDetailOutput) SetNameservers(v []*Nameserver) *GetDomainDetailOutput {
4516	s.Nameservers = v
4517	return s
4518}
4519
4520// SetRegistrantContact sets the RegistrantContact field's value.
4521func (s *GetDomainDetailOutput) SetRegistrantContact(v *ContactDetail) *GetDomainDetailOutput {
4522	s.RegistrantContact = v
4523	return s
4524}
4525
4526// SetRegistrantPrivacy sets the RegistrantPrivacy field's value.
4527func (s *GetDomainDetailOutput) SetRegistrantPrivacy(v bool) *GetDomainDetailOutput {
4528	s.RegistrantPrivacy = &v
4529	return s
4530}
4531
4532// SetRegistrarName sets the RegistrarName field's value.
4533func (s *GetDomainDetailOutput) SetRegistrarName(v string) *GetDomainDetailOutput {
4534	s.RegistrarName = &v
4535	return s
4536}
4537
4538// SetRegistrarUrl sets the RegistrarUrl field's value.
4539func (s *GetDomainDetailOutput) SetRegistrarUrl(v string) *GetDomainDetailOutput {
4540	s.RegistrarUrl = &v
4541	return s
4542}
4543
4544// SetRegistryDomainId sets the RegistryDomainId field's value.
4545func (s *GetDomainDetailOutput) SetRegistryDomainId(v string) *GetDomainDetailOutput {
4546	s.RegistryDomainId = &v
4547	return s
4548}
4549
4550// SetReseller sets the Reseller field's value.
4551func (s *GetDomainDetailOutput) SetReseller(v string) *GetDomainDetailOutput {
4552	s.Reseller = &v
4553	return s
4554}
4555
4556// SetStatusList sets the StatusList field's value.
4557func (s *GetDomainDetailOutput) SetStatusList(v []*string) *GetDomainDetailOutput {
4558	s.StatusList = v
4559	return s
4560}
4561
4562// SetTechContact sets the TechContact field's value.
4563func (s *GetDomainDetailOutput) SetTechContact(v *ContactDetail) *GetDomainDetailOutput {
4564	s.TechContact = v
4565	return s
4566}
4567
4568// SetTechPrivacy sets the TechPrivacy field's value.
4569func (s *GetDomainDetailOutput) SetTechPrivacy(v bool) *GetDomainDetailOutput {
4570	s.TechPrivacy = &v
4571	return s
4572}
4573
4574// SetUpdatedDate sets the UpdatedDate field's value.
4575func (s *GetDomainDetailOutput) SetUpdatedDate(v time.Time) *GetDomainDetailOutput {
4576	s.UpdatedDate = &v
4577	return s
4578}
4579
4580// SetWhoIsServer sets the WhoIsServer field's value.
4581func (s *GetDomainDetailOutput) SetWhoIsServer(v string) *GetDomainDetailOutput {
4582	s.WhoIsServer = &v
4583	return s
4584}
4585
4586type GetDomainSuggestionsInput struct {
4587	_ struct{} `type:"structure"`
4588
4589	// A domain name that you want to use as the basis for a list of possible domain
4590	// names. The top-level domain (TLD), such as .com, must be a TLD that Route
4591	// 53 supports. For a list of supported TLDs, see Domains that You Can Register
4592	// with Amazon Route 53 (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/registrar-tld-list.html)
4593	// in the Amazon Route 53 Developer Guide.
4594	//
4595	// The domain name can contain only the following characters:
4596	//
4597	//    * Letters a through z. Domain names are not case sensitive.
4598	//
4599	//    * Numbers 0 through 9.
4600	//
4601	//    * Hyphen (-). You can't specify a hyphen at the beginning or end of a
4602	//    label.
4603	//
4604	//    * Period (.) to separate the labels in the name, such as the . in example.com.
4605	//
4606	// Internationalized domain names are not supported for some top-level domains.
4607	// To determine whether the TLD that you want to use supports internationalized
4608	// domain names, see Domains that You Can Register with Amazon Route 53 (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/registrar-tld-list.html).
4609	//
4610	// DomainName is a required field
4611	DomainName *string `type:"string" required:"true"`
4612
4613	// If OnlyAvailable is true, Route 53 returns only domain names that are available.
4614	// If OnlyAvailable is false, Route 53 returns domain names without checking
4615	// whether they're available to be registered. To determine whether the domain
4616	// is available, you can call checkDomainAvailability for each suggestion.
4617	//
4618	// OnlyAvailable is a required field
4619	OnlyAvailable *bool `type:"boolean" required:"true"`
4620
4621	// The number of suggested domain names that you want Route 53 to return. Specify
4622	// a value between 1 and 50.
4623	//
4624	// SuggestionCount is a required field
4625	SuggestionCount *int64 `type:"integer" required:"true"`
4626}
4627
4628// String returns the string representation
4629func (s GetDomainSuggestionsInput) String() string {
4630	return awsutil.Prettify(s)
4631}
4632
4633// GoString returns the string representation
4634func (s GetDomainSuggestionsInput) GoString() string {
4635	return s.String()
4636}
4637
4638// Validate inspects the fields of the type to determine if they are valid.
4639func (s *GetDomainSuggestionsInput) Validate() error {
4640	invalidParams := request.ErrInvalidParams{Context: "GetDomainSuggestionsInput"}
4641	if s.DomainName == nil {
4642		invalidParams.Add(request.NewErrParamRequired("DomainName"))
4643	}
4644	if s.OnlyAvailable == nil {
4645		invalidParams.Add(request.NewErrParamRequired("OnlyAvailable"))
4646	}
4647	if s.SuggestionCount == nil {
4648		invalidParams.Add(request.NewErrParamRequired("SuggestionCount"))
4649	}
4650
4651	if invalidParams.Len() > 0 {
4652		return invalidParams
4653	}
4654	return nil
4655}
4656
4657// SetDomainName sets the DomainName field's value.
4658func (s *GetDomainSuggestionsInput) SetDomainName(v string) *GetDomainSuggestionsInput {
4659	s.DomainName = &v
4660	return s
4661}
4662
4663// SetOnlyAvailable sets the OnlyAvailable field's value.
4664func (s *GetDomainSuggestionsInput) SetOnlyAvailable(v bool) *GetDomainSuggestionsInput {
4665	s.OnlyAvailable = &v
4666	return s
4667}
4668
4669// SetSuggestionCount sets the SuggestionCount field's value.
4670func (s *GetDomainSuggestionsInput) SetSuggestionCount(v int64) *GetDomainSuggestionsInput {
4671	s.SuggestionCount = &v
4672	return s
4673}
4674
4675type GetDomainSuggestionsOutput struct {
4676	_ struct{} `type:"structure"`
4677
4678	// A list of possible domain names. If you specified true for OnlyAvailable
4679	// in the request, the list contains only domains that are available for registration.
4680	SuggestionsList []*DomainSuggestion `type:"list"`
4681}
4682
4683// String returns the string representation
4684func (s GetDomainSuggestionsOutput) String() string {
4685	return awsutil.Prettify(s)
4686}
4687
4688// GoString returns the string representation
4689func (s GetDomainSuggestionsOutput) GoString() string {
4690	return s.String()
4691}
4692
4693// SetSuggestionsList sets the SuggestionsList field's value.
4694func (s *GetDomainSuggestionsOutput) SetSuggestionsList(v []*DomainSuggestion) *GetDomainSuggestionsOutput {
4695	s.SuggestionsList = v
4696	return s
4697}
4698
4699// The GetOperationDetail (https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_GetOperationDetail.html)
4700// request includes the following element.
4701type GetOperationDetailInput struct {
4702	_ struct{} `type:"structure"`
4703
4704	// The identifier for the operation for which you want to get the status. Route
4705	// 53 returned the identifier in the response to the original request.
4706	//
4707	// OperationId is a required field
4708	OperationId *string `type:"string" required:"true"`
4709}
4710
4711// String returns the string representation
4712func (s GetOperationDetailInput) String() string {
4713	return awsutil.Prettify(s)
4714}
4715
4716// GoString returns the string representation
4717func (s GetOperationDetailInput) GoString() string {
4718	return s.String()
4719}
4720
4721// Validate inspects the fields of the type to determine if they are valid.
4722func (s *GetOperationDetailInput) Validate() error {
4723	invalidParams := request.ErrInvalidParams{Context: "GetOperationDetailInput"}
4724	if s.OperationId == nil {
4725		invalidParams.Add(request.NewErrParamRequired("OperationId"))
4726	}
4727
4728	if invalidParams.Len() > 0 {
4729		return invalidParams
4730	}
4731	return nil
4732}
4733
4734// SetOperationId sets the OperationId field's value.
4735func (s *GetOperationDetailInput) SetOperationId(v string) *GetOperationDetailInput {
4736	s.OperationId = &v
4737	return s
4738}
4739
4740// The GetOperationDetail response includes the following elements.
4741type GetOperationDetailOutput struct {
4742	_ struct{} `type:"structure"`
4743
4744	// The name of a domain.
4745	DomainName *string `type:"string"`
4746
4747	// Detailed information on the status including possible errors.
4748	Message *string `type:"string"`
4749
4750	// The identifier for the operation.
4751	OperationId *string `type:"string"`
4752
4753	// The current status of the requested operation in the system.
4754	Status *string `type:"string" enum:"OperationStatus"`
4755
4756	// The date when the request was submitted.
4757	SubmittedDate *time.Time `type:"timestamp"`
4758
4759	// The type of operation that was requested.
4760	Type *string `type:"string" enum:"OperationType"`
4761}
4762
4763// String returns the string representation
4764func (s GetOperationDetailOutput) String() string {
4765	return awsutil.Prettify(s)
4766}
4767
4768// GoString returns the string representation
4769func (s GetOperationDetailOutput) GoString() string {
4770	return s.String()
4771}
4772
4773// SetDomainName sets the DomainName field's value.
4774func (s *GetOperationDetailOutput) SetDomainName(v string) *GetOperationDetailOutput {
4775	s.DomainName = &v
4776	return s
4777}
4778
4779// SetMessage sets the Message field's value.
4780func (s *GetOperationDetailOutput) SetMessage(v string) *GetOperationDetailOutput {
4781	s.Message = &v
4782	return s
4783}
4784
4785// SetOperationId sets the OperationId field's value.
4786func (s *GetOperationDetailOutput) SetOperationId(v string) *GetOperationDetailOutput {
4787	s.OperationId = &v
4788	return s
4789}
4790
4791// SetStatus sets the Status field's value.
4792func (s *GetOperationDetailOutput) SetStatus(v string) *GetOperationDetailOutput {
4793	s.Status = &v
4794	return s
4795}
4796
4797// SetSubmittedDate sets the SubmittedDate field's value.
4798func (s *GetOperationDetailOutput) SetSubmittedDate(v time.Time) *GetOperationDetailOutput {
4799	s.SubmittedDate = &v
4800	return s
4801}
4802
4803// SetType sets the Type field's value.
4804func (s *GetOperationDetailOutput) SetType(v string) *GetOperationDetailOutput {
4805	s.Type = &v
4806	return s
4807}
4808
4809// The requested item is not acceptable. For example, for APIs that accept a
4810// domain name, the request might specify a domain name that doesn't belong
4811// to the account that submitted the request. For AcceptDomainTransferFromAnotherAwsAccount,
4812// the password might be invalid.
4813type InvalidInput struct {
4814	_            struct{}                  `type:"structure"`
4815	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4816
4817	// The requested item is not acceptable. For example, for an OperationId it
4818	// might refer to the ID of an operation that is already completed. For a domain
4819	// name, it might not be a valid domain name or belong to the requester account.
4820	Message_ *string `locationName:"message" type:"string"`
4821}
4822
4823// String returns the string representation
4824func (s InvalidInput) String() string {
4825	return awsutil.Prettify(s)
4826}
4827
4828// GoString returns the string representation
4829func (s InvalidInput) GoString() string {
4830	return s.String()
4831}
4832
4833func newErrorInvalidInput(v protocol.ResponseMetadata) error {
4834	return &InvalidInput{
4835		RespMetadata: v,
4836	}
4837}
4838
4839// Code returns the exception type name.
4840func (s *InvalidInput) Code() string {
4841	return "InvalidInput"
4842}
4843
4844// Message returns the exception's message.
4845func (s *InvalidInput) Message() string {
4846	if s.Message_ != nil {
4847		return *s.Message_
4848	}
4849	return ""
4850}
4851
4852// OrigErr always returns nil, satisfies awserr.Error interface.
4853func (s *InvalidInput) OrigErr() error {
4854	return nil
4855}
4856
4857func (s *InvalidInput) Error() string {
4858	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4859}
4860
4861// Status code returns the HTTP status code for the request's response error.
4862func (s *InvalidInput) StatusCode() int {
4863	return s.RespMetadata.StatusCode
4864}
4865
4866// RequestID returns the service's response RequestID for request.
4867func (s *InvalidInput) RequestID() string {
4868	return s.RespMetadata.RequestID
4869}
4870
4871// The ListDomains request includes the following elements.
4872type ListDomainsInput struct {
4873	_ struct{} `type:"structure"`
4874
4875	// For an initial request for a list of domains, omit this element. If the number
4876	// of domains that are associated with the current AWS account is greater than
4877	// the value that you specified for MaxItems, you can use Marker to return additional
4878	// domains. Get the value of NextPageMarker from the previous response, and
4879	// submit another request that includes the value of NextPageMarker in the Marker
4880	// element.
4881	//
4882	// Constraints: The marker must match the value specified in the previous request.
4883	Marker *string `type:"string"`
4884
4885	// Number of domains to be returned.
4886	//
4887	// Default: 20
4888	MaxItems *int64 `type:"integer"`
4889}
4890
4891// String returns the string representation
4892func (s ListDomainsInput) String() string {
4893	return awsutil.Prettify(s)
4894}
4895
4896// GoString returns the string representation
4897func (s ListDomainsInput) GoString() string {
4898	return s.String()
4899}
4900
4901// SetMarker sets the Marker field's value.
4902func (s *ListDomainsInput) SetMarker(v string) *ListDomainsInput {
4903	s.Marker = &v
4904	return s
4905}
4906
4907// SetMaxItems sets the MaxItems field's value.
4908func (s *ListDomainsInput) SetMaxItems(v int64) *ListDomainsInput {
4909	s.MaxItems = &v
4910	return s
4911}
4912
4913// The ListDomains response includes the following elements.
4914type ListDomainsOutput struct {
4915	_ struct{} `type:"structure"`
4916
4917	// A summary of domains.
4918	//
4919	// Domains is a required field
4920	Domains []*DomainSummary `type:"list" required:"true"`
4921
4922	// If there are more domains than you specified for MaxItems in the request,
4923	// submit another request and include the value of NextPageMarker in the value
4924	// of Marker.
4925	NextPageMarker *string `type:"string"`
4926}
4927
4928// String returns the string representation
4929func (s ListDomainsOutput) String() string {
4930	return awsutil.Prettify(s)
4931}
4932
4933// GoString returns the string representation
4934func (s ListDomainsOutput) GoString() string {
4935	return s.String()
4936}
4937
4938// SetDomains sets the Domains field's value.
4939func (s *ListDomainsOutput) SetDomains(v []*DomainSummary) *ListDomainsOutput {
4940	s.Domains = v
4941	return s
4942}
4943
4944// SetNextPageMarker sets the NextPageMarker field's value.
4945func (s *ListDomainsOutput) SetNextPageMarker(v string) *ListDomainsOutput {
4946	s.NextPageMarker = &v
4947	return s
4948}
4949
4950// The ListOperations request includes the following elements.
4951type ListOperationsInput struct {
4952	_ struct{} `type:"structure"`
4953
4954	// For an initial request for a list of operations, omit this element. If the
4955	// number of operations that are not yet complete is greater than the value
4956	// that you specified for MaxItems, you can use Marker to return additional
4957	// operations. Get the value of NextPageMarker from the previous response, and
4958	// submit another request that includes the value of NextPageMarker in the Marker
4959	// element.
4960	Marker *string `type:"string"`
4961
4962	// Number of domains to be returned.
4963	//
4964	// Default: 20
4965	MaxItems *int64 `type:"integer"`
4966
4967	// An optional parameter that lets you get information about all the operations
4968	// that you submitted after a specified date and time. Specify the date and
4969	// time in Unix time format and Coordinated Universal time (UTC).
4970	SubmittedSince *time.Time `type:"timestamp"`
4971}
4972
4973// String returns the string representation
4974func (s ListOperationsInput) String() string {
4975	return awsutil.Prettify(s)
4976}
4977
4978// GoString returns the string representation
4979func (s ListOperationsInput) GoString() string {
4980	return s.String()
4981}
4982
4983// SetMarker sets the Marker field's value.
4984func (s *ListOperationsInput) SetMarker(v string) *ListOperationsInput {
4985	s.Marker = &v
4986	return s
4987}
4988
4989// SetMaxItems sets the MaxItems field's value.
4990func (s *ListOperationsInput) SetMaxItems(v int64) *ListOperationsInput {
4991	s.MaxItems = &v
4992	return s
4993}
4994
4995// SetSubmittedSince sets the SubmittedSince field's value.
4996func (s *ListOperationsInput) SetSubmittedSince(v time.Time) *ListOperationsInput {
4997	s.SubmittedSince = &v
4998	return s
4999}
5000
5001// The ListOperations response includes the following elements.
5002type ListOperationsOutput struct {
5003	_ struct{} `type:"structure"`
5004
5005	// If there are more operations than you specified for MaxItems in the request,
5006	// submit another request and include the value of NextPageMarker in the value
5007	// of Marker.
5008	NextPageMarker *string `type:"string"`
5009
5010	// Lists summaries of the operations.
5011	//
5012	// Operations is a required field
5013	Operations []*OperationSummary `type:"list" required:"true"`
5014}
5015
5016// String returns the string representation
5017func (s ListOperationsOutput) String() string {
5018	return awsutil.Prettify(s)
5019}
5020
5021// GoString returns the string representation
5022func (s ListOperationsOutput) GoString() string {
5023	return s.String()
5024}
5025
5026// SetNextPageMarker sets the NextPageMarker field's value.
5027func (s *ListOperationsOutput) SetNextPageMarker(v string) *ListOperationsOutput {
5028	s.NextPageMarker = &v
5029	return s
5030}
5031
5032// SetOperations sets the Operations field's value.
5033func (s *ListOperationsOutput) SetOperations(v []*OperationSummary) *ListOperationsOutput {
5034	s.Operations = v
5035	return s
5036}
5037
5038// The ListTagsForDomainRequest includes the following elements.
5039type ListTagsForDomainInput struct {
5040	_ struct{} `type:"structure"`
5041
5042	// The domain for which you want to get a list of tags.
5043	//
5044	// DomainName is a required field
5045	DomainName *string `type:"string" required:"true"`
5046}
5047
5048// String returns the string representation
5049func (s ListTagsForDomainInput) String() string {
5050	return awsutil.Prettify(s)
5051}
5052
5053// GoString returns the string representation
5054func (s ListTagsForDomainInput) GoString() string {
5055	return s.String()
5056}
5057
5058// Validate inspects the fields of the type to determine if they are valid.
5059func (s *ListTagsForDomainInput) Validate() error {
5060	invalidParams := request.ErrInvalidParams{Context: "ListTagsForDomainInput"}
5061	if s.DomainName == nil {
5062		invalidParams.Add(request.NewErrParamRequired("DomainName"))
5063	}
5064
5065	if invalidParams.Len() > 0 {
5066		return invalidParams
5067	}
5068	return nil
5069}
5070
5071// SetDomainName sets the DomainName field's value.
5072func (s *ListTagsForDomainInput) SetDomainName(v string) *ListTagsForDomainInput {
5073	s.DomainName = &v
5074	return s
5075}
5076
5077// The ListTagsForDomain response includes the following elements.
5078type ListTagsForDomainOutput struct {
5079	_ struct{} `type:"structure"`
5080
5081	// A list of the tags that are associated with the specified domain.
5082	//
5083	// TagList is a required field
5084	TagList []*Tag `type:"list" required:"true"`
5085}
5086
5087// String returns the string representation
5088func (s ListTagsForDomainOutput) String() string {
5089	return awsutil.Prettify(s)
5090}
5091
5092// GoString returns the string representation
5093func (s ListTagsForDomainOutput) GoString() string {
5094	return s.String()
5095}
5096
5097// SetTagList sets the TagList field's value.
5098func (s *ListTagsForDomainOutput) SetTagList(v []*Tag) *ListTagsForDomainOutput {
5099	s.TagList = v
5100	return s
5101}
5102
5103// Nameserver includes the following elements.
5104type Nameserver struct {
5105	_ struct{} `type:"structure"`
5106
5107	// Glue IP address of a name server entry. Glue IP addresses are required only
5108	// when the name of the name server is a subdomain of the domain. For example,
5109	// if your domain is example.com and the name server for the domain is ns.example.com,
5110	// you need to specify the IP address for ns.example.com.
5111	//
5112	// Constraints: The list can contain only one IPv4 and one IPv6 address.
5113	GlueIps []*string `type:"list"`
5114
5115	// The fully qualified host name of the name server.
5116	//
5117	// Constraint: Maximum 255 characters
5118	//
5119	// Name is a required field
5120	Name *string `type:"string" required:"true"`
5121}
5122
5123// String returns the string representation
5124func (s Nameserver) String() string {
5125	return awsutil.Prettify(s)
5126}
5127
5128// GoString returns the string representation
5129func (s Nameserver) GoString() string {
5130	return s.String()
5131}
5132
5133// Validate inspects the fields of the type to determine if they are valid.
5134func (s *Nameserver) Validate() error {
5135	invalidParams := request.ErrInvalidParams{Context: "Nameserver"}
5136	if s.Name == nil {
5137		invalidParams.Add(request.NewErrParamRequired("Name"))
5138	}
5139
5140	if invalidParams.Len() > 0 {
5141		return invalidParams
5142	}
5143	return nil
5144}
5145
5146// SetGlueIps sets the GlueIps field's value.
5147func (s *Nameserver) SetGlueIps(v []*string) *Nameserver {
5148	s.GlueIps = v
5149	return s
5150}
5151
5152// SetName sets the Name field's value.
5153func (s *Nameserver) SetName(v string) *Nameserver {
5154	s.Name = &v
5155	return s
5156}
5157
5158// The number of operations or jobs running exceeded the allowed threshold for
5159// the account.
5160type OperationLimitExceeded struct {
5161	_            struct{}                  `type:"structure"`
5162	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5163
5164	// The number of operations or jobs running exceeded the allowed threshold for
5165	// the account.
5166	Message_ *string `locationName:"message" type:"string"`
5167}
5168
5169// String returns the string representation
5170func (s OperationLimitExceeded) String() string {
5171	return awsutil.Prettify(s)
5172}
5173
5174// GoString returns the string representation
5175func (s OperationLimitExceeded) GoString() string {
5176	return s.String()
5177}
5178
5179func newErrorOperationLimitExceeded(v protocol.ResponseMetadata) error {
5180	return &OperationLimitExceeded{
5181		RespMetadata: v,
5182	}
5183}
5184
5185// Code returns the exception type name.
5186func (s *OperationLimitExceeded) Code() string {
5187	return "OperationLimitExceeded"
5188}
5189
5190// Message returns the exception's message.
5191func (s *OperationLimitExceeded) Message() string {
5192	if s.Message_ != nil {
5193		return *s.Message_
5194	}
5195	return ""
5196}
5197
5198// OrigErr always returns nil, satisfies awserr.Error interface.
5199func (s *OperationLimitExceeded) OrigErr() error {
5200	return nil
5201}
5202
5203func (s *OperationLimitExceeded) Error() string {
5204	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5205}
5206
5207// Status code returns the HTTP status code for the request's response error.
5208func (s *OperationLimitExceeded) StatusCode() int {
5209	return s.RespMetadata.StatusCode
5210}
5211
5212// RequestID returns the service's response RequestID for request.
5213func (s *OperationLimitExceeded) RequestID() string {
5214	return s.RespMetadata.RequestID
5215}
5216
5217// OperationSummary includes the following elements.
5218type OperationSummary struct {
5219	_ struct{} `type:"structure"`
5220
5221	// Identifier returned to track the requested action.
5222	//
5223	// OperationId is a required field
5224	OperationId *string `type:"string" required:"true"`
5225
5226	// The current status of the requested operation in the system.
5227	//
5228	// Status is a required field
5229	Status *string `type:"string" required:"true" enum:"OperationStatus"`
5230
5231	// The date when the request was submitted.
5232	//
5233	// SubmittedDate is a required field
5234	SubmittedDate *time.Time `type:"timestamp" required:"true"`
5235
5236	// Type of the action requested.
5237	//
5238	// Type is a required field
5239	Type *string `type:"string" required:"true" enum:"OperationType"`
5240}
5241
5242// String returns the string representation
5243func (s OperationSummary) String() string {
5244	return awsutil.Prettify(s)
5245}
5246
5247// GoString returns the string representation
5248func (s OperationSummary) GoString() string {
5249	return s.String()
5250}
5251
5252// SetOperationId sets the OperationId field's value.
5253func (s *OperationSummary) SetOperationId(v string) *OperationSummary {
5254	s.OperationId = &v
5255	return s
5256}
5257
5258// SetStatus sets the Status field's value.
5259func (s *OperationSummary) SetStatus(v string) *OperationSummary {
5260	s.Status = &v
5261	return s
5262}
5263
5264// SetSubmittedDate sets the SubmittedDate field's value.
5265func (s *OperationSummary) SetSubmittedDate(v time.Time) *OperationSummary {
5266	s.SubmittedDate = &v
5267	return s
5268}
5269
5270// SetType sets the Type field's value.
5271func (s *OperationSummary) SetType(v string) *OperationSummary {
5272	s.Type = &v
5273	return s
5274}
5275
5276// The RegisterDomain request includes the following elements.
5277type RegisterDomainInput struct {
5278	_ struct{} `type:"structure"`
5279
5280	// Provides detailed contact information. For information about the values that
5281	// you specify for each element, see ContactDetail (https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_ContactDetail.html).
5282	//
5283	// AdminContact is a required field
5284	AdminContact *ContactDetail `type:"structure" required:"true" sensitive:"true"`
5285
5286	// Indicates whether the domain will be automatically renewed (true) or not
5287	// (false). Autorenewal only takes effect after the account is charged.
5288	//
5289	// Default: true
5290	AutoRenew *bool `type:"boolean"`
5291
5292	// The domain name that you want to register. The top-level domain (TLD), such
5293	// as .com, must be a TLD that Route 53 supports. For a list of supported TLDs,
5294	// see Domains that You Can Register with Amazon Route 53 (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/registrar-tld-list.html)
5295	// in the Amazon Route 53 Developer Guide.
5296	//
5297	// The domain name can contain only the following characters:
5298	//
5299	//    * Letters a through z. Domain names are not case sensitive.
5300	//
5301	//    * Numbers 0 through 9.
5302	//
5303	//    * Hyphen (-). You can't specify a hyphen at the beginning or end of a
5304	//    label.
5305	//
5306	//    * Period (.) to separate the labels in the name, such as the . in example.com.
5307	//
5308	// Internationalized domain names are not supported for some top-level domains.
5309	// To determine whether the TLD that you want to use supports internationalized
5310	// domain names, see Domains that You Can Register with Amazon Route 53 (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/registrar-tld-list.html).
5311	// For more information, see Formatting Internationalized Domain Names (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html#domain-name-format-idns).
5312	//
5313	// DomainName is a required field
5314	DomainName *string `type:"string" required:"true"`
5315
5316	// The number of years that you want to register the domain for. Domains are
5317	// registered for a minimum of one year. The maximum period depends on the top-level
5318	// domain. For the range of valid values for your domain, see Domains that You
5319	// Can Register with Amazon Route 53 (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/registrar-tld-list.html)
5320	// in the Amazon Route 53 Developer Guide.
5321	//
5322	// Default: 1
5323	//
5324	// DurationInYears is a required field
5325	DurationInYears *int64 `min:"1" type:"integer" required:"true"`
5326
5327	// Reserved for future use.
5328	IdnLangCode *string `type:"string"`
5329
5330	// Whether you want to conceal contact information from WHOIS queries. If you
5331	// specify true, WHOIS ("who is") queries return contact information either
5332	// for Amazon Registrar (for .com, .net, and .org domains) or for our registrar
5333	// associate, Gandi (for all other TLDs). If you specify false, WHOIS queries
5334	// return the information that you entered for the admin contact.
5335	//
5336	// Default: true
5337	PrivacyProtectAdminContact *bool `type:"boolean"`
5338
5339	// Whether you want to conceal contact information from WHOIS queries. If you
5340	// specify true, WHOIS ("who is") queries return contact information either
5341	// for Amazon Registrar (for .com, .net, and .org domains) or for our registrar
5342	// associate, Gandi (for all other TLDs). If you specify false, WHOIS queries
5343	// return the information that you entered for the registrant contact (the domain
5344	// owner).
5345	//
5346	// Default: true
5347	PrivacyProtectRegistrantContact *bool `type:"boolean"`
5348
5349	// Whether you want to conceal contact information from WHOIS queries. If you
5350	// specify true, WHOIS ("who is") queries return contact information either
5351	// for Amazon Registrar (for .com, .net, and .org domains) or for our registrar
5352	// associate, Gandi (for all other TLDs). If you specify false, WHOIS queries
5353	// return the information that you entered for the technical contact.
5354	//
5355	// Default: true
5356	PrivacyProtectTechContact *bool `type:"boolean"`
5357
5358	// Provides detailed contact information. For information about the values that
5359	// you specify for each element, see ContactDetail (https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_ContactDetail.html).
5360	//
5361	// RegistrantContact is a required field
5362	RegistrantContact *ContactDetail `type:"structure" required:"true" sensitive:"true"`
5363
5364	// Provides detailed contact information. For information about the values that
5365	// you specify for each element, see ContactDetail (https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_ContactDetail.html).
5366	//
5367	// TechContact is a required field
5368	TechContact *ContactDetail `type:"structure" required:"true" sensitive:"true"`
5369}
5370
5371// String returns the string representation
5372func (s RegisterDomainInput) String() string {
5373	return awsutil.Prettify(s)
5374}
5375
5376// GoString returns the string representation
5377func (s RegisterDomainInput) GoString() string {
5378	return s.String()
5379}
5380
5381// Validate inspects the fields of the type to determine if they are valid.
5382func (s *RegisterDomainInput) Validate() error {
5383	invalidParams := request.ErrInvalidParams{Context: "RegisterDomainInput"}
5384	if s.AdminContact == nil {
5385		invalidParams.Add(request.NewErrParamRequired("AdminContact"))
5386	}
5387	if s.DomainName == nil {
5388		invalidParams.Add(request.NewErrParamRequired("DomainName"))
5389	}
5390	if s.DurationInYears == nil {
5391		invalidParams.Add(request.NewErrParamRequired("DurationInYears"))
5392	}
5393	if s.DurationInYears != nil && *s.DurationInYears < 1 {
5394		invalidParams.Add(request.NewErrParamMinValue("DurationInYears", 1))
5395	}
5396	if s.RegistrantContact == nil {
5397		invalidParams.Add(request.NewErrParamRequired("RegistrantContact"))
5398	}
5399	if s.TechContact == nil {
5400		invalidParams.Add(request.NewErrParamRequired("TechContact"))
5401	}
5402	if s.AdminContact != nil {
5403		if err := s.AdminContact.Validate(); err != nil {
5404			invalidParams.AddNested("AdminContact", err.(request.ErrInvalidParams))
5405		}
5406	}
5407	if s.RegistrantContact != nil {
5408		if err := s.RegistrantContact.Validate(); err != nil {
5409			invalidParams.AddNested("RegistrantContact", err.(request.ErrInvalidParams))
5410		}
5411	}
5412	if s.TechContact != nil {
5413		if err := s.TechContact.Validate(); err != nil {
5414			invalidParams.AddNested("TechContact", err.(request.ErrInvalidParams))
5415		}
5416	}
5417
5418	if invalidParams.Len() > 0 {
5419		return invalidParams
5420	}
5421	return nil
5422}
5423
5424// SetAdminContact sets the AdminContact field's value.
5425func (s *RegisterDomainInput) SetAdminContact(v *ContactDetail) *RegisterDomainInput {
5426	s.AdminContact = v
5427	return s
5428}
5429
5430// SetAutoRenew sets the AutoRenew field's value.
5431func (s *RegisterDomainInput) SetAutoRenew(v bool) *RegisterDomainInput {
5432	s.AutoRenew = &v
5433	return s
5434}
5435
5436// SetDomainName sets the DomainName field's value.
5437func (s *RegisterDomainInput) SetDomainName(v string) *RegisterDomainInput {
5438	s.DomainName = &v
5439	return s
5440}
5441
5442// SetDurationInYears sets the DurationInYears field's value.
5443func (s *RegisterDomainInput) SetDurationInYears(v int64) *RegisterDomainInput {
5444	s.DurationInYears = &v
5445	return s
5446}
5447
5448// SetIdnLangCode sets the IdnLangCode field's value.
5449func (s *RegisterDomainInput) SetIdnLangCode(v string) *RegisterDomainInput {
5450	s.IdnLangCode = &v
5451	return s
5452}
5453
5454// SetPrivacyProtectAdminContact sets the PrivacyProtectAdminContact field's value.
5455func (s *RegisterDomainInput) SetPrivacyProtectAdminContact(v bool) *RegisterDomainInput {
5456	s.PrivacyProtectAdminContact = &v
5457	return s
5458}
5459
5460// SetPrivacyProtectRegistrantContact sets the PrivacyProtectRegistrantContact field's value.
5461func (s *RegisterDomainInput) SetPrivacyProtectRegistrantContact(v bool) *RegisterDomainInput {
5462	s.PrivacyProtectRegistrantContact = &v
5463	return s
5464}
5465
5466// SetPrivacyProtectTechContact sets the PrivacyProtectTechContact field's value.
5467func (s *RegisterDomainInput) SetPrivacyProtectTechContact(v bool) *RegisterDomainInput {
5468	s.PrivacyProtectTechContact = &v
5469	return s
5470}
5471
5472// SetRegistrantContact sets the RegistrantContact field's value.
5473func (s *RegisterDomainInput) SetRegistrantContact(v *ContactDetail) *RegisterDomainInput {
5474	s.RegistrantContact = v
5475	return s
5476}
5477
5478// SetTechContact sets the TechContact field's value.
5479func (s *RegisterDomainInput) SetTechContact(v *ContactDetail) *RegisterDomainInput {
5480	s.TechContact = v
5481	return s
5482}
5483
5484// The RegisterDomain response includes the following element.
5485type RegisterDomainOutput struct {
5486	_ struct{} `type:"structure"`
5487
5488	// Identifier for tracking the progress of the request. To query the operation
5489	// status, use GetOperationDetail (https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_GetOperationDetail.html).
5490	//
5491	// OperationId is a required field
5492	OperationId *string `type:"string" required:"true"`
5493}
5494
5495// String returns the string representation
5496func (s RegisterDomainOutput) String() string {
5497	return awsutil.Prettify(s)
5498}
5499
5500// GoString returns the string representation
5501func (s RegisterDomainOutput) GoString() string {
5502	return s.String()
5503}
5504
5505// SetOperationId sets the OperationId field's value.
5506func (s *RegisterDomainOutput) SetOperationId(v string) *RegisterDomainOutput {
5507	s.OperationId = &v
5508	return s
5509}
5510
5511// The RejectDomainTransferFromAnotherAwsAccount request includes the following
5512// element.
5513type RejectDomainTransferFromAnotherAwsAccountInput struct {
5514	_ struct{} `type:"structure"`
5515
5516	// The name of the domain that was specified when another AWS account submitted
5517	// a TransferDomainToAnotherAwsAccount (https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_TransferDomainToAnotherAwsAccount.html)
5518	// request.
5519	//
5520	// DomainName is a required field
5521	DomainName *string `type:"string" required:"true"`
5522}
5523
5524// String returns the string representation
5525func (s RejectDomainTransferFromAnotherAwsAccountInput) String() string {
5526	return awsutil.Prettify(s)
5527}
5528
5529// GoString returns the string representation
5530func (s RejectDomainTransferFromAnotherAwsAccountInput) GoString() string {
5531	return s.String()
5532}
5533
5534// Validate inspects the fields of the type to determine if they are valid.
5535func (s *RejectDomainTransferFromAnotherAwsAccountInput) Validate() error {
5536	invalidParams := request.ErrInvalidParams{Context: "RejectDomainTransferFromAnotherAwsAccountInput"}
5537	if s.DomainName == nil {
5538		invalidParams.Add(request.NewErrParamRequired("DomainName"))
5539	}
5540
5541	if invalidParams.Len() > 0 {
5542		return invalidParams
5543	}
5544	return nil
5545}
5546
5547// SetDomainName sets the DomainName field's value.
5548func (s *RejectDomainTransferFromAnotherAwsAccountInput) SetDomainName(v string) *RejectDomainTransferFromAnotherAwsAccountInput {
5549	s.DomainName = &v
5550	return s
5551}
5552
5553// The RejectDomainTransferFromAnotherAwsAccount response includes the following
5554// element.
5555type RejectDomainTransferFromAnotherAwsAccountOutput struct {
5556	_ struct{} `type:"structure"`
5557
5558	// The identifier that TransferDomainToAnotherAwsAccount returned to track the
5559	// progress of the request. Because the transfer request was rejected, the value
5560	// is no longer valid, and you can't use GetOperationDetail to query the operation
5561	// status.
5562	OperationId *string `type:"string"`
5563}
5564
5565// String returns the string representation
5566func (s RejectDomainTransferFromAnotherAwsAccountOutput) String() string {
5567	return awsutil.Prettify(s)
5568}
5569
5570// GoString returns the string representation
5571func (s RejectDomainTransferFromAnotherAwsAccountOutput) GoString() string {
5572	return s.String()
5573}
5574
5575// SetOperationId sets the OperationId field's value.
5576func (s *RejectDomainTransferFromAnotherAwsAccountOutput) SetOperationId(v string) *RejectDomainTransferFromAnotherAwsAccountOutput {
5577	s.OperationId = &v
5578	return s
5579}
5580
5581// A RenewDomain request includes the number of years that you want to renew
5582// for and the current expiration year.
5583type RenewDomainInput struct {
5584	_ struct{} `type:"structure"`
5585
5586	// The year when the registration for the domain is set to expire. This value
5587	// must match the current expiration date for the domain.
5588	//
5589	// CurrentExpiryYear is a required field
5590	CurrentExpiryYear *int64 `type:"integer" required:"true"`
5591
5592	// The name of the domain that you want to renew.
5593	//
5594	// DomainName is a required field
5595	DomainName *string `type:"string" required:"true"`
5596
5597	// The number of years that you want to renew the domain for. The maximum number
5598	// of years depends on the top-level domain. For the range of valid values for
5599	// your domain, see Domains that You Can Register with Amazon Route 53 (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/registrar-tld-list.html)
5600	// in the Amazon Route 53 Developer Guide.
5601	//
5602	// Default: 1
5603	DurationInYears *int64 `min:"1" type:"integer"`
5604}
5605
5606// String returns the string representation
5607func (s RenewDomainInput) String() string {
5608	return awsutil.Prettify(s)
5609}
5610
5611// GoString returns the string representation
5612func (s RenewDomainInput) GoString() string {
5613	return s.String()
5614}
5615
5616// Validate inspects the fields of the type to determine if they are valid.
5617func (s *RenewDomainInput) Validate() error {
5618	invalidParams := request.ErrInvalidParams{Context: "RenewDomainInput"}
5619	if s.CurrentExpiryYear == nil {
5620		invalidParams.Add(request.NewErrParamRequired("CurrentExpiryYear"))
5621	}
5622	if s.DomainName == nil {
5623		invalidParams.Add(request.NewErrParamRequired("DomainName"))
5624	}
5625	if s.DurationInYears != nil && *s.DurationInYears < 1 {
5626		invalidParams.Add(request.NewErrParamMinValue("DurationInYears", 1))
5627	}
5628
5629	if invalidParams.Len() > 0 {
5630		return invalidParams
5631	}
5632	return nil
5633}
5634
5635// SetCurrentExpiryYear sets the CurrentExpiryYear field's value.
5636func (s *RenewDomainInput) SetCurrentExpiryYear(v int64) *RenewDomainInput {
5637	s.CurrentExpiryYear = &v
5638	return s
5639}
5640
5641// SetDomainName sets the DomainName field's value.
5642func (s *RenewDomainInput) SetDomainName(v string) *RenewDomainInput {
5643	s.DomainName = &v
5644	return s
5645}
5646
5647// SetDurationInYears sets the DurationInYears field's value.
5648func (s *RenewDomainInput) SetDurationInYears(v int64) *RenewDomainInput {
5649	s.DurationInYears = &v
5650	return s
5651}
5652
5653type RenewDomainOutput struct {
5654	_ struct{} `type:"structure"`
5655
5656	// Identifier for tracking the progress of the request. To query the operation
5657	// status, use GetOperationDetail (https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_GetOperationDetail.html).
5658	//
5659	// OperationId is a required field
5660	OperationId *string `type:"string" required:"true"`
5661}
5662
5663// String returns the string representation
5664func (s RenewDomainOutput) String() string {
5665	return awsutil.Prettify(s)
5666}
5667
5668// GoString returns the string representation
5669func (s RenewDomainOutput) GoString() string {
5670	return s.String()
5671}
5672
5673// SetOperationId sets the OperationId field's value.
5674func (s *RenewDomainOutput) SetOperationId(v string) *RenewDomainOutput {
5675	s.OperationId = &v
5676	return s
5677}
5678
5679type ResendContactReachabilityEmailInput struct {
5680	_ struct{} `type:"structure"`
5681
5682	// The name of the domain for which you want Route 53 to resend a confirmation
5683	// email to the registrant contact.
5684	DomainName *string `locationName:"domainName" type:"string"`
5685}
5686
5687// String returns the string representation
5688func (s ResendContactReachabilityEmailInput) String() string {
5689	return awsutil.Prettify(s)
5690}
5691
5692// GoString returns the string representation
5693func (s ResendContactReachabilityEmailInput) GoString() string {
5694	return s.String()
5695}
5696
5697// SetDomainName sets the DomainName field's value.
5698func (s *ResendContactReachabilityEmailInput) SetDomainName(v string) *ResendContactReachabilityEmailInput {
5699	s.DomainName = &v
5700	return s
5701}
5702
5703type ResendContactReachabilityEmailOutput struct {
5704	_ struct{} `type:"structure"`
5705
5706	// The domain name for which you requested a confirmation email.
5707	DomainName *string `locationName:"domainName" type:"string"`
5708
5709	// The email address for the registrant contact at the time that we sent the
5710	// verification email.
5711	EmailAddress *string `locationName:"emailAddress" type:"string"`
5712
5713	// True if the email address for the registrant contact has already been verified,
5714	// and false otherwise. If the email address has already been verified, we don't
5715	// send another confirmation email.
5716	IsAlreadyVerified *bool `locationName:"isAlreadyVerified" type:"boolean"`
5717}
5718
5719// String returns the string representation
5720func (s ResendContactReachabilityEmailOutput) String() string {
5721	return awsutil.Prettify(s)
5722}
5723
5724// GoString returns the string representation
5725func (s ResendContactReachabilityEmailOutput) GoString() string {
5726	return s.String()
5727}
5728
5729// SetDomainName sets the DomainName field's value.
5730func (s *ResendContactReachabilityEmailOutput) SetDomainName(v string) *ResendContactReachabilityEmailOutput {
5731	s.DomainName = &v
5732	return s
5733}
5734
5735// SetEmailAddress sets the EmailAddress field's value.
5736func (s *ResendContactReachabilityEmailOutput) SetEmailAddress(v string) *ResendContactReachabilityEmailOutput {
5737	s.EmailAddress = &v
5738	return s
5739}
5740
5741// SetIsAlreadyVerified sets the IsAlreadyVerified field's value.
5742func (s *ResendContactReachabilityEmailOutput) SetIsAlreadyVerified(v bool) *ResendContactReachabilityEmailOutput {
5743	s.IsAlreadyVerified = &v
5744	return s
5745}
5746
5747// A request for the authorization code for the specified domain. To transfer
5748// a domain to another registrar, you provide this value to the new registrar.
5749type RetrieveDomainAuthCodeInput struct {
5750	_ struct{} `type:"structure"`
5751
5752	// The name of the domain that you want to get an authorization code for.
5753	//
5754	// DomainName is a required field
5755	DomainName *string `type:"string" required:"true"`
5756}
5757
5758// String returns the string representation
5759func (s RetrieveDomainAuthCodeInput) String() string {
5760	return awsutil.Prettify(s)
5761}
5762
5763// GoString returns the string representation
5764func (s RetrieveDomainAuthCodeInput) GoString() string {
5765	return s.String()
5766}
5767
5768// Validate inspects the fields of the type to determine if they are valid.
5769func (s *RetrieveDomainAuthCodeInput) Validate() error {
5770	invalidParams := request.ErrInvalidParams{Context: "RetrieveDomainAuthCodeInput"}
5771	if s.DomainName == nil {
5772		invalidParams.Add(request.NewErrParamRequired("DomainName"))
5773	}
5774
5775	if invalidParams.Len() > 0 {
5776		return invalidParams
5777	}
5778	return nil
5779}
5780
5781// SetDomainName sets the DomainName field's value.
5782func (s *RetrieveDomainAuthCodeInput) SetDomainName(v string) *RetrieveDomainAuthCodeInput {
5783	s.DomainName = &v
5784	return s
5785}
5786
5787// The RetrieveDomainAuthCode response includes the following element.
5788type RetrieveDomainAuthCodeOutput struct {
5789	_ struct{} `type:"structure"`
5790
5791	// The authorization code for the domain.
5792	//
5793	// AuthCode is a required field
5794	AuthCode *string `type:"string" required:"true" sensitive:"true"`
5795}
5796
5797// String returns the string representation
5798func (s RetrieveDomainAuthCodeOutput) String() string {
5799	return awsutil.Prettify(s)
5800}
5801
5802// GoString returns the string representation
5803func (s RetrieveDomainAuthCodeOutput) GoString() string {
5804	return s.String()
5805}
5806
5807// SetAuthCode sets the AuthCode field's value.
5808func (s *RetrieveDomainAuthCodeOutput) SetAuthCode(v string) *RetrieveDomainAuthCodeOutput {
5809	s.AuthCode = &v
5810	return s
5811}
5812
5813// The top-level domain does not support this operation.
5814type TLDRulesViolation struct {
5815	_            struct{}                  `type:"structure"`
5816	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5817
5818	// The top-level domain does not support this operation.
5819	Message_ *string `locationName:"message" type:"string"`
5820}
5821
5822// String returns the string representation
5823func (s TLDRulesViolation) String() string {
5824	return awsutil.Prettify(s)
5825}
5826
5827// GoString returns the string representation
5828func (s TLDRulesViolation) GoString() string {
5829	return s.String()
5830}
5831
5832func newErrorTLDRulesViolation(v protocol.ResponseMetadata) error {
5833	return &TLDRulesViolation{
5834		RespMetadata: v,
5835	}
5836}
5837
5838// Code returns the exception type name.
5839func (s *TLDRulesViolation) Code() string {
5840	return "TLDRulesViolation"
5841}
5842
5843// Message returns the exception's message.
5844func (s *TLDRulesViolation) Message() string {
5845	if s.Message_ != nil {
5846		return *s.Message_
5847	}
5848	return ""
5849}
5850
5851// OrigErr always returns nil, satisfies awserr.Error interface.
5852func (s *TLDRulesViolation) OrigErr() error {
5853	return nil
5854}
5855
5856func (s *TLDRulesViolation) Error() string {
5857	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5858}
5859
5860// Status code returns the HTTP status code for the request's response error.
5861func (s *TLDRulesViolation) StatusCode() int {
5862	return s.RespMetadata.StatusCode
5863}
5864
5865// RequestID returns the service's response RequestID for request.
5866func (s *TLDRulesViolation) RequestID() string {
5867	return s.RespMetadata.RequestID
5868}
5869
5870// Each tag includes the following elements.
5871type Tag struct {
5872	_ struct{} `type:"structure"`
5873
5874	// The key (name) of a tag.
5875	//
5876	// Valid values: A-Z, a-z, 0-9, space, ".:/=+\-@"
5877	//
5878	// Constraints: Each key can be 1-128 characters long.
5879	Key *string `type:"string"`
5880
5881	// The value of a tag.
5882	//
5883	// Valid values: A-Z, a-z, 0-9, space, ".:/=+\-@"
5884	//
5885	// Constraints: Each value can be 0-256 characters long.
5886	Value *string `type:"string"`
5887}
5888
5889// String returns the string representation
5890func (s Tag) String() string {
5891	return awsutil.Prettify(s)
5892}
5893
5894// GoString returns the string representation
5895func (s Tag) GoString() string {
5896	return s.String()
5897}
5898
5899// SetKey sets the Key field's value.
5900func (s *Tag) SetKey(v string) *Tag {
5901	s.Key = &v
5902	return s
5903}
5904
5905// SetValue sets the Value field's value.
5906func (s *Tag) SetValue(v string) *Tag {
5907	s.Value = &v
5908	return s
5909}
5910
5911// The TransferDomain request includes the following elements.
5912type TransferDomainInput struct {
5913	_ struct{} `type:"structure"`
5914
5915	// Provides detailed contact information.
5916	//
5917	// AdminContact is a required field
5918	AdminContact *ContactDetail `type:"structure" required:"true" sensitive:"true"`
5919
5920	// The authorization code for the domain. You get this value from the current
5921	// registrar.
5922	AuthCode *string `type:"string" sensitive:"true"`
5923
5924	// Indicates whether the domain will be automatically renewed (true) or not
5925	// (false). Autorenewal only takes effect after the account is charged.
5926	//
5927	// Default: true
5928	AutoRenew *bool `type:"boolean"`
5929
5930	// The name of the domain that you want to transfer to Route 53. The top-level
5931	// domain (TLD), such as .com, must be a TLD that Route 53 supports. For a list
5932	// of supported TLDs, see Domains that You Can Register with Amazon Route 53
5933	// (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/registrar-tld-list.html)
5934	// in the Amazon Route 53 Developer Guide.
5935	//
5936	// The domain name can contain only the following characters:
5937	//
5938	//    * Letters a through z. Domain names are not case sensitive.
5939	//
5940	//    * Numbers 0 through 9.
5941	//
5942	//    * Hyphen (-). You can't specify a hyphen at the beginning or end of a
5943	//    label.
5944	//
5945	//    * Period (.) to separate the labels in the name, such as the . in example.com.
5946	//
5947	// DomainName is a required field
5948	DomainName *string `type:"string" required:"true"`
5949
5950	// The number of years that you want to register the domain for. Domains are
5951	// registered for a minimum of one year. The maximum period depends on the top-level
5952	// domain.
5953	//
5954	// Default: 1
5955	//
5956	// DurationInYears is a required field
5957	DurationInYears *int64 `min:"1" type:"integer" required:"true"`
5958
5959	// Reserved for future use.
5960	IdnLangCode *string `type:"string"`
5961
5962	// Contains details for the host and glue IP addresses.
5963	Nameservers []*Nameserver `type:"list"`
5964
5965	// Whether you want to conceal contact information from WHOIS queries. If you
5966	// specify true, WHOIS ("who is") queries return contact information either
5967	// for Amazon Registrar (for .com, .net, and .org domains) or for our registrar
5968	// associate, Gandi (for all other TLDs). If you specify false, WHOIS queries
5969	// return the information that you entered for the admin contact.
5970	//
5971	// Default: true
5972	PrivacyProtectAdminContact *bool `type:"boolean"`
5973
5974	// Whether you want to conceal contact information from WHOIS queries. If you
5975	// specify true, WHOIS ("who is") queries return contact information either
5976	// for Amazon Registrar (for .com, .net, and .org domains) or for our registrar
5977	// associate, Gandi (for all other TLDs). If you specify false, WHOIS queries
5978	// return the information that you entered for the registrant contact (domain
5979	// owner).
5980	//
5981	// Default: true
5982	PrivacyProtectRegistrantContact *bool `type:"boolean"`
5983
5984	// Whether you want to conceal contact information from WHOIS queries. If you
5985	// specify true, WHOIS ("who is") queries return contact information either
5986	// for Amazon Registrar (for .com, .net, and .org domains) or for our registrar
5987	// associate, Gandi (for all other TLDs). If you specify false, WHOIS queries
5988	// return the information that you entered for the technical contact.
5989	//
5990	// Default: true
5991	PrivacyProtectTechContact *bool `type:"boolean"`
5992
5993	// Provides detailed contact information.
5994	//
5995	// RegistrantContact is a required field
5996	RegistrantContact *ContactDetail `type:"structure" required:"true" sensitive:"true"`
5997
5998	// Provides detailed contact information.
5999	//
6000	// TechContact is a required field
6001	TechContact *ContactDetail `type:"structure" required:"true" sensitive:"true"`
6002}
6003
6004// String returns the string representation
6005func (s TransferDomainInput) String() string {
6006	return awsutil.Prettify(s)
6007}
6008
6009// GoString returns the string representation
6010func (s TransferDomainInput) GoString() string {
6011	return s.String()
6012}
6013
6014// Validate inspects the fields of the type to determine if they are valid.
6015func (s *TransferDomainInput) Validate() error {
6016	invalidParams := request.ErrInvalidParams{Context: "TransferDomainInput"}
6017	if s.AdminContact == nil {
6018		invalidParams.Add(request.NewErrParamRequired("AdminContact"))
6019	}
6020	if s.DomainName == nil {
6021		invalidParams.Add(request.NewErrParamRequired("DomainName"))
6022	}
6023	if s.DurationInYears == nil {
6024		invalidParams.Add(request.NewErrParamRequired("DurationInYears"))
6025	}
6026	if s.DurationInYears != nil && *s.DurationInYears < 1 {
6027		invalidParams.Add(request.NewErrParamMinValue("DurationInYears", 1))
6028	}
6029	if s.RegistrantContact == nil {
6030		invalidParams.Add(request.NewErrParamRequired("RegistrantContact"))
6031	}
6032	if s.TechContact == nil {
6033		invalidParams.Add(request.NewErrParamRequired("TechContact"))
6034	}
6035	if s.AdminContact != nil {
6036		if err := s.AdminContact.Validate(); err != nil {
6037			invalidParams.AddNested("AdminContact", err.(request.ErrInvalidParams))
6038		}
6039	}
6040	if s.Nameservers != nil {
6041		for i, v := range s.Nameservers {
6042			if v == nil {
6043				continue
6044			}
6045			if err := v.Validate(); err != nil {
6046				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Nameservers", i), err.(request.ErrInvalidParams))
6047			}
6048		}
6049	}
6050	if s.RegistrantContact != nil {
6051		if err := s.RegistrantContact.Validate(); err != nil {
6052			invalidParams.AddNested("RegistrantContact", err.(request.ErrInvalidParams))
6053		}
6054	}
6055	if s.TechContact != nil {
6056		if err := s.TechContact.Validate(); err != nil {
6057			invalidParams.AddNested("TechContact", err.(request.ErrInvalidParams))
6058		}
6059	}
6060
6061	if invalidParams.Len() > 0 {
6062		return invalidParams
6063	}
6064	return nil
6065}
6066
6067// SetAdminContact sets the AdminContact field's value.
6068func (s *TransferDomainInput) SetAdminContact(v *ContactDetail) *TransferDomainInput {
6069	s.AdminContact = v
6070	return s
6071}
6072
6073// SetAuthCode sets the AuthCode field's value.
6074func (s *TransferDomainInput) SetAuthCode(v string) *TransferDomainInput {
6075	s.AuthCode = &v
6076	return s
6077}
6078
6079// SetAutoRenew sets the AutoRenew field's value.
6080func (s *TransferDomainInput) SetAutoRenew(v bool) *TransferDomainInput {
6081	s.AutoRenew = &v
6082	return s
6083}
6084
6085// SetDomainName sets the DomainName field's value.
6086func (s *TransferDomainInput) SetDomainName(v string) *TransferDomainInput {
6087	s.DomainName = &v
6088	return s
6089}
6090
6091// SetDurationInYears sets the DurationInYears field's value.
6092func (s *TransferDomainInput) SetDurationInYears(v int64) *TransferDomainInput {
6093	s.DurationInYears = &v
6094	return s
6095}
6096
6097// SetIdnLangCode sets the IdnLangCode field's value.
6098func (s *TransferDomainInput) SetIdnLangCode(v string) *TransferDomainInput {
6099	s.IdnLangCode = &v
6100	return s
6101}
6102
6103// SetNameservers sets the Nameservers field's value.
6104func (s *TransferDomainInput) SetNameservers(v []*Nameserver) *TransferDomainInput {
6105	s.Nameservers = v
6106	return s
6107}
6108
6109// SetPrivacyProtectAdminContact sets the PrivacyProtectAdminContact field's value.
6110func (s *TransferDomainInput) SetPrivacyProtectAdminContact(v bool) *TransferDomainInput {
6111	s.PrivacyProtectAdminContact = &v
6112	return s
6113}
6114
6115// SetPrivacyProtectRegistrantContact sets the PrivacyProtectRegistrantContact field's value.
6116func (s *TransferDomainInput) SetPrivacyProtectRegistrantContact(v bool) *TransferDomainInput {
6117	s.PrivacyProtectRegistrantContact = &v
6118	return s
6119}
6120
6121// SetPrivacyProtectTechContact sets the PrivacyProtectTechContact field's value.
6122func (s *TransferDomainInput) SetPrivacyProtectTechContact(v bool) *TransferDomainInput {
6123	s.PrivacyProtectTechContact = &v
6124	return s
6125}
6126
6127// SetRegistrantContact sets the RegistrantContact field's value.
6128func (s *TransferDomainInput) SetRegistrantContact(v *ContactDetail) *TransferDomainInput {
6129	s.RegistrantContact = v
6130	return s
6131}
6132
6133// SetTechContact sets the TechContact field's value.
6134func (s *TransferDomainInput) SetTechContact(v *ContactDetail) *TransferDomainInput {
6135	s.TechContact = v
6136	return s
6137}
6138
6139// The TransferDomain response includes the following element.
6140type TransferDomainOutput struct {
6141	_ struct{} `type:"structure"`
6142
6143	// Identifier for tracking the progress of the request. To query the operation
6144	// status, use GetOperationDetail (https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_GetOperationDetail.html).
6145	//
6146	// OperationId is a required field
6147	OperationId *string `type:"string" required:"true"`
6148}
6149
6150// String returns the string representation
6151func (s TransferDomainOutput) String() string {
6152	return awsutil.Prettify(s)
6153}
6154
6155// GoString returns the string representation
6156func (s TransferDomainOutput) GoString() string {
6157	return s.String()
6158}
6159
6160// SetOperationId sets the OperationId field's value.
6161func (s *TransferDomainOutput) SetOperationId(v string) *TransferDomainOutput {
6162	s.OperationId = &v
6163	return s
6164}
6165
6166// The TransferDomainToAnotherAwsAccount request includes the following elements.
6167type TransferDomainToAnotherAwsAccountInput struct {
6168	_ struct{} `type:"structure"`
6169
6170	// The account ID of the AWS account that you want to transfer the domain to,
6171	// for example, 111122223333.
6172	//
6173	// AccountId is a required field
6174	AccountId *string `type:"string" required:"true"`
6175
6176	// The name of the domain that you want to transfer from the current AWS account
6177	// to another account.
6178	//
6179	// DomainName is a required field
6180	DomainName *string `type:"string" required:"true"`
6181}
6182
6183// String returns the string representation
6184func (s TransferDomainToAnotherAwsAccountInput) String() string {
6185	return awsutil.Prettify(s)
6186}
6187
6188// GoString returns the string representation
6189func (s TransferDomainToAnotherAwsAccountInput) GoString() string {
6190	return s.String()
6191}
6192
6193// Validate inspects the fields of the type to determine if they are valid.
6194func (s *TransferDomainToAnotherAwsAccountInput) Validate() error {
6195	invalidParams := request.ErrInvalidParams{Context: "TransferDomainToAnotherAwsAccountInput"}
6196	if s.AccountId == nil {
6197		invalidParams.Add(request.NewErrParamRequired("AccountId"))
6198	}
6199	if s.DomainName == nil {
6200		invalidParams.Add(request.NewErrParamRequired("DomainName"))
6201	}
6202
6203	if invalidParams.Len() > 0 {
6204		return invalidParams
6205	}
6206	return nil
6207}
6208
6209// SetAccountId sets the AccountId field's value.
6210func (s *TransferDomainToAnotherAwsAccountInput) SetAccountId(v string) *TransferDomainToAnotherAwsAccountInput {
6211	s.AccountId = &v
6212	return s
6213}
6214
6215// SetDomainName sets the DomainName field's value.
6216func (s *TransferDomainToAnotherAwsAccountInput) SetDomainName(v string) *TransferDomainToAnotherAwsAccountInput {
6217	s.DomainName = &v
6218	return s
6219}
6220
6221// The TransferDomainToAnotherAwsAccount response includes the following elements.
6222type TransferDomainToAnotherAwsAccountOutput struct {
6223	_ struct{} `type:"structure"`
6224
6225	// Identifier for tracking the progress of the request. To query the operation
6226	// status, use GetOperationDetail (https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_GetOperationDetail.html).
6227	OperationId *string `type:"string"`
6228
6229	// To finish transferring a domain to another AWS account, the account that
6230	// the domain is being transferred to must submit an AcceptDomainTransferFromAnotherAwsAccount
6231	// (https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_AcceptDomainTransferFromAnotherAwsAccount.html)
6232	// request. The request must include the value of the Password element that
6233	// was returned in the TransferDomainToAnotherAwsAccount response.
6234	Password *string `type:"string"`
6235}
6236
6237// String returns the string representation
6238func (s TransferDomainToAnotherAwsAccountOutput) String() string {
6239	return awsutil.Prettify(s)
6240}
6241
6242// GoString returns the string representation
6243func (s TransferDomainToAnotherAwsAccountOutput) GoString() string {
6244	return s.String()
6245}
6246
6247// SetOperationId sets the OperationId field's value.
6248func (s *TransferDomainToAnotherAwsAccountOutput) SetOperationId(v string) *TransferDomainToAnotherAwsAccountOutput {
6249	s.OperationId = &v
6250	return s
6251}
6252
6253// SetPassword sets the Password field's value.
6254func (s *TransferDomainToAnotherAwsAccountOutput) SetPassword(v string) *TransferDomainToAnotherAwsAccountOutput {
6255	s.Password = &v
6256	return s
6257}
6258
6259// Amazon Route 53 does not support this top-level domain (TLD).
6260type UnsupportedTLD struct {
6261	_            struct{}                  `type:"structure"`
6262	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6263
6264	// Amazon Route 53 does not support this top-level domain (TLD).
6265	Message_ *string `locationName:"message" type:"string"`
6266}
6267
6268// String returns the string representation
6269func (s UnsupportedTLD) String() string {
6270	return awsutil.Prettify(s)
6271}
6272
6273// GoString returns the string representation
6274func (s UnsupportedTLD) GoString() string {
6275	return s.String()
6276}
6277
6278func newErrorUnsupportedTLD(v protocol.ResponseMetadata) error {
6279	return &UnsupportedTLD{
6280		RespMetadata: v,
6281	}
6282}
6283
6284// Code returns the exception type name.
6285func (s *UnsupportedTLD) Code() string {
6286	return "UnsupportedTLD"
6287}
6288
6289// Message returns the exception's message.
6290func (s *UnsupportedTLD) Message() string {
6291	if s.Message_ != nil {
6292		return *s.Message_
6293	}
6294	return ""
6295}
6296
6297// OrigErr always returns nil, satisfies awserr.Error interface.
6298func (s *UnsupportedTLD) OrigErr() error {
6299	return nil
6300}
6301
6302func (s *UnsupportedTLD) Error() string {
6303	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
6304}
6305
6306// Status code returns the HTTP status code for the request's response error.
6307func (s *UnsupportedTLD) StatusCode() int {
6308	return s.RespMetadata.StatusCode
6309}
6310
6311// RequestID returns the service's response RequestID for request.
6312func (s *UnsupportedTLD) RequestID() string {
6313	return s.RespMetadata.RequestID
6314}
6315
6316// The UpdateDomainContact request includes the following elements.
6317type UpdateDomainContactInput struct {
6318	_ struct{} `type:"structure"`
6319
6320	// Provides detailed contact information.
6321	AdminContact *ContactDetail `type:"structure" sensitive:"true"`
6322
6323	// The name of the domain that you want to update contact information for.
6324	//
6325	// DomainName is a required field
6326	DomainName *string `type:"string" required:"true"`
6327
6328	// Provides detailed contact information.
6329	RegistrantContact *ContactDetail `type:"structure" sensitive:"true"`
6330
6331	// Provides detailed contact information.
6332	TechContact *ContactDetail `type:"structure" sensitive:"true"`
6333}
6334
6335// String returns the string representation
6336func (s UpdateDomainContactInput) String() string {
6337	return awsutil.Prettify(s)
6338}
6339
6340// GoString returns the string representation
6341func (s UpdateDomainContactInput) GoString() string {
6342	return s.String()
6343}
6344
6345// Validate inspects the fields of the type to determine if they are valid.
6346func (s *UpdateDomainContactInput) Validate() error {
6347	invalidParams := request.ErrInvalidParams{Context: "UpdateDomainContactInput"}
6348	if s.DomainName == nil {
6349		invalidParams.Add(request.NewErrParamRequired("DomainName"))
6350	}
6351	if s.AdminContact != nil {
6352		if err := s.AdminContact.Validate(); err != nil {
6353			invalidParams.AddNested("AdminContact", err.(request.ErrInvalidParams))
6354		}
6355	}
6356	if s.RegistrantContact != nil {
6357		if err := s.RegistrantContact.Validate(); err != nil {
6358			invalidParams.AddNested("RegistrantContact", err.(request.ErrInvalidParams))
6359		}
6360	}
6361	if s.TechContact != nil {
6362		if err := s.TechContact.Validate(); err != nil {
6363			invalidParams.AddNested("TechContact", err.(request.ErrInvalidParams))
6364		}
6365	}
6366
6367	if invalidParams.Len() > 0 {
6368		return invalidParams
6369	}
6370	return nil
6371}
6372
6373// SetAdminContact sets the AdminContact field's value.
6374func (s *UpdateDomainContactInput) SetAdminContact(v *ContactDetail) *UpdateDomainContactInput {
6375	s.AdminContact = v
6376	return s
6377}
6378
6379// SetDomainName sets the DomainName field's value.
6380func (s *UpdateDomainContactInput) SetDomainName(v string) *UpdateDomainContactInput {
6381	s.DomainName = &v
6382	return s
6383}
6384
6385// SetRegistrantContact sets the RegistrantContact field's value.
6386func (s *UpdateDomainContactInput) SetRegistrantContact(v *ContactDetail) *UpdateDomainContactInput {
6387	s.RegistrantContact = v
6388	return s
6389}
6390
6391// SetTechContact sets the TechContact field's value.
6392func (s *UpdateDomainContactInput) SetTechContact(v *ContactDetail) *UpdateDomainContactInput {
6393	s.TechContact = v
6394	return s
6395}
6396
6397// The UpdateDomainContact response includes the following element.
6398type UpdateDomainContactOutput struct {
6399	_ struct{} `type:"structure"`
6400
6401	// Identifier for tracking the progress of the request. To query the operation
6402	// status, use GetOperationDetail (https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_GetOperationDetail.html).
6403	//
6404	// OperationId is a required field
6405	OperationId *string `type:"string" required:"true"`
6406}
6407
6408// String returns the string representation
6409func (s UpdateDomainContactOutput) String() string {
6410	return awsutil.Prettify(s)
6411}
6412
6413// GoString returns the string representation
6414func (s UpdateDomainContactOutput) GoString() string {
6415	return s.String()
6416}
6417
6418// SetOperationId sets the OperationId field's value.
6419func (s *UpdateDomainContactOutput) SetOperationId(v string) *UpdateDomainContactOutput {
6420	s.OperationId = &v
6421	return s
6422}
6423
6424// The UpdateDomainContactPrivacy request includes the following elements.
6425type UpdateDomainContactPrivacyInput struct {
6426	_ struct{} `type:"structure"`
6427
6428	// Whether you want to conceal contact information from WHOIS queries. If you
6429	// specify true, WHOIS ("who is") queries return contact information either
6430	// for Amazon Registrar (for .com, .net, and .org domains) or for our registrar
6431	// associate, Gandi (for all other TLDs). If you specify false, WHOIS queries
6432	// return the information that you entered for the admin contact.
6433	AdminPrivacy *bool `type:"boolean"`
6434
6435	// The name of the domain that you want to update the privacy setting for.
6436	//
6437	// DomainName is a required field
6438	DomainName *string `type:"string" required:"true"`
6439
6440	// Whether you want to conceal contact information from WHOIS queries. If you
6441	// specify true, WHOIS ("who is") queries return contact information either
6442	// for Amazon Registrar (for .com, .net, and .org domains) or for our registrar
6443	// associate, Gandi (for all other TLDs). If you specify false, WHOIS queries
6444	// return the information that you entered for the registrant contact (domain
6445	// owner).
6446	RegistrantPrivacy *bool `type:"boolean"`
6447
6448	// Whether you want to conceal contact information from WHOIS queries. If you
6449	// specify true, WHOIS ("who is") queries return contact information either
6450	// for Amazon Registrar (for .com, .net, and .org domains) or for our registrar
6451	// associate, Gandi (for all other TLDs). If you specify false, WHOIS queries
6452	// return the information that you entered for the technical contact.
6453	TechPrivacy *bool `type:"boolean"`
6454}
6455
6456// String returns the string representation
6457func (s UpdateDomainContactPrivacyInput) String() string {
6458	return awsutil.Prettify(s)
6459}
6460
6461// GoString returns the string representation
6462func (s UpdateDomainContactPrivacyInput) GoString() string {
6463	return s.String()
6464}
6465
6466// Validate inspects the fields of the type to determine if they are valid.
6467func (s *UpdateDomainContactPrivacyInput) Validate() error {
6468	invalidParams := request.ErrInvalidParams{Context: "UpdateDomainContactPrivacyInput"}
6469	if s.DomainName == nil {
6470		invalidParams.Add(request.NewErrParamRequired("DomainName"))
6471	}
6472
6473	if invalidParams.Len() > 0 {
6474		return invalidParams
6475	}
6476	return nil
6477}
6478
6479// SetAdminPrivacy sets the AdminPrivacy field's value.
6480func (s *UpdateDomainContactPrivacyInput) SetAdminPrivacy(v bool) *UpdateDomainContactPrivacyInput {
6481	s.AdminPrivacy = &v
6482	return s
6483}
6484
6485// SetDomainName sets the DomainName field's value.
6486func (s *UpdateDomainContactPrivacyInput) SetDomainName(v string) *UpdateDomainContactPrivacyInput {
6487	s.DomainName = &v
6488	return s
6489}
6490
6491// SetRegistrantPrivacy sets the RegistrantPrivacy field's value.
6492func (s *UpdateDomainContactPrivacyInput) SetRegistrantPrivacy(v bool) *UpdateDomainContactPrivacyInput {
6493	s.RegistrantPrivacy = &v
6494	return s
6495}
6496
6497// SetTechPrivacy sets the TechPrivacy field's value.
6498func (s *UpdateDomainContactPrivacyInput) SetTechPrivacy(v bool) *UpdateDomainContactPrivacyInput {
6499	s.TechPrivacy = &v
6500	return s
6501}
6502
6503// The UpdateDomainContactPrivacy response includes the following element.
6504type UpdateDomainContactPrivacyOutput struct {
6505	_ struct{} `type:"structure"`
6506
6507	// Identifier for tracking the progress of the request. To use this ID to query
6508	// the operation status, use GetOperationDetail.
6509	//
6510	// OperationId is a required field
6511	OperationId *string `type:"string" required:"true"`
6512}
6513
6514// String returns the string representation
6515func (s UpdateDomainContactPrivacyOutput) String() string {
6516	return awsutil.Prettify(s)
6517}
6518
6519// GoString returns the string representation
6520func (s UpdateDomainContactPrivacyOutput) GoString() string {
6521	return s.String()
6522}
6523
6524// SetOperationId sets the OperationId field's value.
6525func (s *UpdateDomainContactPrivacyOutput) SetOperationId(v string) *UpdateDomainContactPrivacyOutput {
6526	s.OperationId = &v
6527	return s
6528}
6529
6530// Replaces the current set of name servers for the domain with the specified
6531// set of name servers. If you use Amazon Route 53 as your DNS service, specify
6532// the four name servers in the delegation set for the hosted zone for the domain.
6533//
6534// If successful, this operation returns an operation ID that you can use to
6535// track the progress and completion of the action. If the request is not completed
6536// successfully, the domain registrant will be notified by email.
6537type UpdateDomainNameserversInput struct {
6538	_ struct{} `type:"structure"`
6539
6540	// The name of the domain that you want to change name servers for.
6541	//
6542	// DomainName is a required field
6543	DomainName *string `type:"string" required:"true"`
6544
6545	// The authorization key for .fi domains
6546	//
6547	// Deprecated: FIAuthKey has been deprecated
6548	FIAuthKey *string `deprecated:"true" type:"string"`
6549
6550	// A list of new name servers for the domain.
6551	//
6552	// Nameservers is a required field
6553	Nameservers []*Nameserver `type:"list" required:"true"`
6554}
6555
6556// String returns the string representation
6557func (s UpdateDomainNameserversInput) String() string {
6558	return awsutil.Prettify(s)
6559}
6560
6561// GoString returns the string representation
6562func (s UpdateDomainNameserversInput) GoString() string {
6563	return s.String()
6564}
6565
6566// Validate inspects the fields of the type to determine if they are valid.
6567func (s *UpdateDomainNameserversInput) Validate() error {
6568	invalidParams := request.ErrInvalidParams{Context: "UpdateDomainNameserversInput"}
6569	if s.DomainName == nil {
6570		invalidParams.Add(request.NewErrParamRequired("DomainName"))
6571	}
6572	if s.Nameservers == nil {
6573		invalidParams.Add(request.NewErrParamRequired("Nameservers"))
6574	}
6575	if s.Nameservers != nil {
6576		for i, v := range s.Nameservers {
6577			if v == nil {
6578				continue
6579			}
6580			if err := v.Validate(); err != nil {
6581				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Nameservers", i), err.(request.ErrInvalidParams))
6582			}
6583		}
6584	}
6585
6586	if invalidParams.Len() > 0 {
6587		return invalidParams
6588	}
6589	return nil
6590}
6591
6592// SetDomainName sets the DomainName field's value.
6593func (s *UpdateDomainNameserversInput) SetDomainName(v string) *UpdateDomainNameserversInput {
6594	s.DomainName = &v
6595	return s
6596}
6597
6598// SetFIAuthKey sets the FIAuthKey field's value.
6599func (s *UpdateDomainNameserversInput) SetFIAuthKey(v string) *UpdateDomainNameserversInput {
6600	s.FIAuthKey = &v
6601	return s
6602}
6603
6604// SetNameservers sets the Nameservers field's value.
6605func (s *UpdateDomainNameserversInput) SetNameservers(v []*Nameserver) *UpdateDomainNameserversInput {
6606	s.Nameservers = v
6607	return s
6608}
6609
6610// The UpdateDomainNameservers response includes the following element.
6611type UpdateDomainNameserversOutput struct {
6612	_ struct{} `type:"structure"`
6613
6614	// Identifier for tracking the progress of the request. To query the operation
6615	// status, use GetOperationDetail (https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_GetOperationDetail.html).
6616	//
6617	// OperationId is a required field
6618	OperationId *string `type:"string" required:"true"`
6619}
6620
6621// String returns the string representation
6622func (s UpdateDomainNameserversOutput) String() string {
6623	return awsutil.Prettify(s)
6624}
6625
6626// GoString returns the string representation
6627func (s UpdateDomainNameserversOutput) GoString() string {
6628	return s.String()
6629}
6630
6631// SetOperationId sets the OperationId field's value.
6632func (s *UpdateDomainNameserversOutput) SetOperationId(v string) *UpdateDomainNameserversOutput {
6633	s.OperationId = &v
6634	return s
6635}
6636
6637// The UpdateTagsForDomainRequest includes the following elements.
6638type UpdateTagsForDomainInput struct {
6639	_ struct{} `type:"structure"`
6640
6641	// The domain for which you want to add or update tags.
6642	//
6643	// DomainName is a required field
6644	DomainName *string `type:"string" required:"true"`
6645
6646	// A list of the tag keys and values that you want to add or update. If you
6647	// specify a key that already exists, the corresponding value will be replaced.
6648	TagsToUpdate []*Tag `type:"list"`
6649}
6650
6651// String returns the string representation
6652func (s UpdateTagsForDomainInput) String() string {
6653	return awsutil.Prettify(s)
6654}
6655
6656// GoString returns the string representation
6657func (s UpdateTagsForDomainInput) GoString() string {
6658	return s.String()
6659}
6660
6661// Validate inspects the fields of the type to determine if they are valid.
6662func (s *UpdateTagsForDomainInput) Validate() error {
6663	invalidParams := request.ErrInvalidParams{Context: "UpdateTagsForDomainInput"}
6664	if s.DomainName == nil {
6665		invalidParams.Add(request.NewErrParamRequired("DomainName"))
6666	}
6667
6668	if invalidParams.Len() > 0 {
6669		return invalidParams
6670	}
6671	return nil
6672}
6673
6674// SetDomainName sets the DomainName field's value.
6675func (s *UpdateTagsForDomainInput) SetDomainName(v string) *UpdateTagsForDomainInput {
6676	s.DomainName = &v
6677	return s
6678}
6679
6680// SetTagsToUpdate sets the TagsToUpdate field's value.
6681func (s *UpdateTagsForDomainInput) SetTagsToUpdate(v []*Tag) *UpdateTagsForDomainInput {
6682	s.TagsToUpdate = v
6683	return s
6684}
6685
6686type UpdateTagsForDomainOutput struct {
6687	_ struct{} `type:"structure"`
6688}
6689
6690// String returns the string representation
6691func (s UpdateTagsForDomainOutput) String() string {
6692	return awsutil.Prettify(s)
6693}
6694
6695// GoString returns the string representation
6696func (s UpdateTagsForDomainOutput) GoString() string {
6697	return s.String()
6698}
6699
6700// The ViewBilling request includes the following elements.
6701type ViewBillingInput struct {
6702	_ struct{} `type:"structure"`
6703
6704	// The end date and time for the time period for which you want a list of billing
6705	// records. Specify the date and time in Unix time format and Coordinated Universal
6706	// time (UTC).
6707	End *time.Time `type:"timestamp"`
6708
6709	// For an initial request for a list of billing records, omit this element.
6710	// If the number of billing records that are associated with the current AWS
6711	// account during the specified period is greater than the value that you specified
6712	// for MaxItems, you can use Marker to return additional billing records. Get
6713	// the value of NextPageMarker from the previous response, and submit another
6714	// request that includes the value of NextPageMarker in the Marker element.
6715	//
6716	// Constraints: The marker must match the value of NextPageMarker that was returned
6717	// in the previous response.
6718	Marker *string `type:"string"`
6719
6720	// The number of billing records to be returned.
6721	//
6722	// Default: 20
6723	MaxItems *int64 `type:"integer"`
6724
6725	// The beginning date and time for the time period for which you want a list
6726	// of billing records. Specify the date and time in Unix time format and Coordinated
6727	// Universal time (UTC).
6728	Start *time.Time `type:"timestamp"`
6729}
6730
6731// String returns the string representation
6732func (s ViewBillingInput) String() string {
6733	return awsutil.Prettify(s)
6734}
6735
6736// GoString returns the string representation
6737func (s ViewBillingInput) GoString() string {
6738	return s.String()
6739}
6740
6741// SetEnd sets the End field's value.
6742func (s *ViewBillingInput) SetEnd(v time.Time) *ViewBillingInput {
6743	s.End = &v
6744	return s
6745}
6746
6747// SetMarker sets the Marker field's value.
6748func (s *ViewBillingInput) SetMarker(v string) *ViewBillingInput {
6749	s.Marker = &v
6750	return s
6751}
6752
6753// SetMaxItems sets the MaxItems field's value.
6754func (s *ViewBillingInput) SetMaxItems(v int64) *ViewBillingInput {
6755	s.MaxItems = &v
6756	return s
6757}
6758
6759// SetStart sets the Start field's value.
6760func (s *ViewBillingInput) SetStart(v time.Time) *ViewBillingInput {
6761	s.Start = &v
6762	return s
6763}
6764
6765// The ViewBilling response includes the following elements.
6766type ViewBillingOutput struct {
6767	_ struct{} `type:"structure"`
6768
6769	// A summary of billing records.
6770	BillingRecords []*BillingRecord `type:"list"`
6771
6772	// If there are more billing records than you specified for MaxItems in the
6773	// request, submit another request and include the value of NextPageMarker in
6774	// the value of Marker.
6775	NextPageMarker *string `type:"string"`
6776}
6777
6778// String returns the string representation
6779func (s ViewBillingOutput) String() string {
6780	return awsutil.Prettify(s)
6781}
6782
6783// GoString returns the string representation
6784func (s ViewBillingOutput) GoString() string {
6785	return s.String()
6786}
6787
6788// SetBillingRecords sets the BillingRecords field's value.
6789func (s *ViewBillingOutput) SetBillingRecords(v []*BillingRecord) *ViewBillingOutput {
6790	s.BillingRecords = v
6791	return s
6792}
6793
6794// SetNextPageMarker sets the NextPageMarker field's value.
6795func (s *ViewBillingOutput) SetNextPageMarker(v string) *ViewBillingOutput {
6796	s.NextPageMarker = &v
6797	return s
6798}
6799
6800const (
6801	// ContactTypePerson is a ContactType enum value
6802	ContactTypePerson = "PERSON"
6803
6804	// ContactTypeCompany is a ContactType enum value
6805	ContactTypeCompany = "COMPANY"
6806
6807	// ContactTypeAssociation is a ContactType enum value
6808	ContactTypeAssociation = "ASSOCIATION"
6809
6810	// ContactTypePublicBody is a ContactType enum value
6811	ContactTypePublicBody = "PUBLIC_BODY"
6812
6813	// ContactTypeReseller is a ContactType enum value
6814	ContactTypeReseller = "RESELLER"
6815)
6816
6817const (
6818	// CountryCodeAd is a CountryCode enum value
6819	CountryCodeAd = "AD"
6820
6821	// CountryCodeAe is a CountryCode enum value
6822	CountryCodeAe = "AE"
6823
6824	// CountryCodeAf is a CountryCode enum value
6825	CountryCodeAf = "AF"
6826
6827	// CountryCodeAg is a CountryCode enum value
6828	CountryCodeAg = "AG"
6829
6830	// CountryCodeAi is a CountryCode enum value
6831	CountryCodeAi = "AI"
6832
6833	// CountryCodeAl is a CountryCode enum value
6834	CountryCodeAl = "AL"
6835
6836	// CountryCodeAm is a CountryCode enum value
6837	CountryCodeAm = "AM"
6838
6839	// CountryCodeAn is a CountryCode enum value
6840	CountryCodeAn = "AN"
6841
6842	// CountryCodeAo is a CountryCode enum value
6843	CountryCodeAo = "AO"
6844
6845	// CountryCodeAq is a CountryCode enum value
6846	CountryCodeAq = "AQ"
6847
6848	// CountryCodeAr is a CountryCode enum value
6849	CountryCodeAr = "AR"
6850
6851	// CountryCodeAs is a CountryCode enum value
6852	CountryCodeAs = "AS"
6853
6854	// CountryCodeAt is a CountryCode enum value
6855	CountryCodeAt = "AT"
6856
6857	// CountryCodeAu is a CountryCode enum value
6858	CountryCodeAu = "AU"
6859
6860	// CountryCodeAw is a CountryCode enum value
6861	CountryCodeAw = "AW"
6862
6863	// CountryCodeAz is a CountryCode enum value
6864	CountryCodeAz = "AZ"
6865
6866	// CountryCodeBa is a CountryCode enum value
6867	CountryCodeBa = "BA"
6868
6869	// CountryCodeBb is a CountryCode enum value
6870	CountryCodeBb = "BB"
6871
6872	// CountryCodeBd is a CountryCode enum value
6873	CountryCodeBd = "BD"
6874
6875	// CountryCodeBe is a CountryCode enum value
6876	CountryCodeBe = "BE"
6877
6878	// CountryCodeBf is a CountryCode enum value
6879	CountryCodeBf = "BF"
6880
6881	// CountryCodeBg is a CountryCode enum value
6882	CountryCodeBg = "BG"
6883
6884	// CountryCodeBh is a CountryCode enum value
6885	CountryCodeBh = "BH"
6886
6887	// CountryCodeBi is a CountryCode enum value
6888	CountryCodeBi = "BI"
6889
6890	// CountryCodeBj is a CountryCode enum value
6891	CountryCodeBj = "BJ"
6892
6893	// CountryCodeBl is a CountryCode enum value
6894	CountryCodeBl = "BL"
6895
6896	// CountryCodeBm is a CountryCode enum value
6897	CountryCodeBm = "BM"
6898
6899	// CountryCodeBn is a CountryCode enum value
6900	CountryCodeBn = "BN"
6901
6902	// CountryCodeBo is a CountryCode enum value
6903	CountryCodeBo = "BO"
6904
6905	// CountryCodeBr is a CountryCode enum value
6906	CountryCodeBr = "BR"
6907
6908	// CountryCodeBs is a CountryCode enum value
6909	CountryCodeBs = "BS"
6910
6911	// CountryCodeBt is a CountryCode enum value
6912	CountryCodeBt = "BT"
6913
6914	// CountryCodeBw is a CountryCode enum value
6915	CountryCodeBw = "BW"
6916
6917	// CountryCodeBy is a CountryCode enum value
6918	CountryCodeBy = "BY"
6919
6920	// CountryCodeBz is a CountryCode enum value
6921	CountryCodeBz = "BZ"
6922
6923	// CountryCodeCa is a CountryCode enum value
6924	CountryCodeCa = "CA"
6925
6926	// CountryCodeCc is a CountryCode enum value
6927	CountryCodeCc = "CC"
6928
6929	// CountryCodeCd is a CountryCode enum value
6930	CountryCodeCd = "CD"
6931
6932	// CountryCodeCf is a CountryCode enum value
6933	CountryCodeCf = "CF"
6934
6935	// CountryCodeCg is a CountryCode enum value
6936	CountryCodeCg = "CG"
6937
6938	// CountryCodeCh is a CountryCode enum value
6939	CountryCodeCh = "CH"
6940
6941	// CountryCodeCi is a CountryCode enum value
6942	CountryCodeCi = "CI"
6943
6944	// CountryCodeCk is a CountryCode enum value
6945	CountryCodeCk = "CK"
6946
6947	// CountryCodeCl is a CountryCode enum value
6948	CountryCodeCl = "CL"
6949
6950	// CountryCodeCm is a CountryCode enum value
6951	CountryCodeCm = "CM"
6952
6953	// CountryCodeCn is a CountryCode enum value
6954	CountryCodeCn = "CN"
6955
6956	// CountryCodeCo is a CountryCode enum value
6957	CountryCodeCo = "CO"
6958
6959	// CountryCodeCr is a CountryCode enum value
6960	CountryCodeCr = "CR"
6961
6962	// CountryCodeCu is a CountryCode enum value
6963	CountryCodeCu = "CU"
6964
6965	// CountryCodeCv is a CountryCode enum value
6966	CountryCodeCv = "CV"
6967
6968	// CountryCodeCx is a CountryCode enum value
6969	CountryCodeCx = "CX"
6970
6971	// CountryCodeCy is a CountryCode enum value
6972	CountryCodeCy = "CY"
6973
6974	// CountryCodeCz is a CountryCode enum value
6975	CountryCodeCz = "CZ"
6976
6977	// CountryCodeDe is a CountryCode enum value
6978	CountryCodeDe = "DE"
6979
6980	// CountryCodeDj is a CountryCode enum value
6981	CountryCodeDj = "DJ"
6982
6983	// CountryCodeDk is a CountryCode enum value
6984	CountryCodeDk = "DK"
6985
6986	// CountryCodeDm is a CountryCode enum value
6987	CountryCodeDm = "DM"
6988
6989	// CountryCodeDo is a CountryCode enum value
6990	CountryCodeDo = "DO"
6991
6992	// CountryCodeDz is a CountryCode enum value
6993	CountryCodeDz = "DZ"
6994
6995	// CountryCodeEc is a CountryCode enum value
6996	CountryCodeEc = "EC"
6997
6998	// CountryCodeEe is a CountryCode enum value
6999	CountryCodeEe = "EE"
7000
7001	// CountryCodeEg is a CountryCode enum value
7002	CountryCodeEg = "EG"
7003
7004	// CountryCodeEr is a CountryCode enum value
7005	CountryCodeEr = "ER"
7006
7007	// CountryCodeEs is a CountryCode enum value
7008	CountryCodeEs = "ES"
7009
7010	// CountryCodeEt is a CountryCode enum value
7011	CountryCodeEt = "ET"
7012
7013	// CountryCodeFi is a CountryCode enum value
7014	CountryCodeFi = "FI"
7015
7016	// CountryCodeFj is a CountryCode enum value
7017	CountryCodeFj = "FJ"
7018
7019	// CountryCodeFk is a CountryCode enum value
7020	CountryCodeFk = "FK"
7021
7022	// CountryCodeFm is a CountryCode enum value
7023	CountryCodeFm = "FM"
7024
7025	// CountryCodeFo is a CountryCode enum value
7026	CountryCodeFo = "FO"
7027
7028	// CountryCodeFr is a CountryCode enum value
7029	CountryCodeFr = "FR"
7030
7031	// CountryCodeGa is a CountryCode enum value
7032	CountryCodeGa = "GA"
7033
7034	// CountryCodeGb is a CountryCode enum value
7035	CountryCodeGb = "GB"
7036
7037	// CountryCodeGd is a CountryCode enum value
7038	CountryCodeGd = "GD"
7039
7040	// CountryCodeGe is a CountryCode enum value
7041	CountryCodeGe = "GE"
7042
7043	// CountryCodeGh is a CountryCode enum value
7044	CountryCodeGh = "GH"
7045
7046	// CountryCodeGi is a CountryCode enum value
7047	CountryCodeGi = "GI"
7048
7049	// CountryCodeGl is a CountryCode enum value
7050	CountryCodeGl = "GL"
7051
7052	// CountryCodeGm is a CountryCode enum value
7053	CountryCodeGm = "GM"
7054
7055	// CountryCodeGn is a CountryCode enum value
7056	CountryCodeGn = "GN"
7057
7058	// CountryCodeGq is a CountryCode enum value
7059	CountryCodeGq = "GQ"
7060
7061	// CountryCodeGr is a CountryCode enum value
7062	CountryCodeGr = "GR"
7063
7064	// CountryCodeGt is a CountryCode enum value
7065	CountryCodeGt = "GT"
7066
7067	// CountryCodeGu is a CountryCode enum value
7068	CountryCodeGu = "GU"
7069
7070	// CountryCodeGw is a CountryCode enum value
7071	CountryCodeGw = "GW"
7072
7073	// CountryCodeGy is a CountryCode enum value
7074	CountryCodeGy = "GY"
7075
7076	// CountryCodeHk is a CountryCode enum value
7077	CountryCodeHk = "HK"
7078
7079	// CountryCodeHn is a CountryCode enum value
7080	CountryCodeHn = "HN"
7081
7082	// CountryCodeHr is a CountryCode enum value
7083	CountryCodeHr = "HR"
7084
7085	// CountryCodeHt is a CountryCode enum value
7086	CountryCodeHt = "HT"
7087
7088	// CountryCodeHu is a CountryCode enum value
7089	CountryCodeHu = "HU"
7090
7091	// CountryCodeId is a CountryCode enum value
7092	CountryCodeId = "ID"
7093
7094	// CountryCodeIe is a CountryCode enum value
7095	CountryCodeIe = "IE"
7096
7097	// CountryCodeIl is a CountryCode enum value
7098	CountryCodeIl = "IL"
7099
7100	// CountryCodeIm is a CountryCode enum value
7101	CountryCodeIm = "IM"
7102
7103	// CountryCodeIn is a CountryCode enum value
7104	CountryCodeIn = "IN"
7105
7106	// CountryCodeIq is a CountryCode enum value
7107	CountryCodeIq = "IQ"
7108
7109	// CountryCodeIr is a CountryCode enum value
7110	CountryCodeIr = "IR"
7111
7112	// CountryCodeIs is a CountryCode enum value
7113	CountryCodeIs = "IS"
7114
7115	// CountryCodeIt is a CountryCode enum value
7116	CountryCodeIt = "IT"
7117
7118	// CountryCodeJm is a CountryCode enum value
7119	CountryCodeJm = "JM"
7120
7121	// CountryCodeJo is a CountryCode enum value
7122	CountryCodeJo = "JO"
7123
7124	// CountryCodeJp is a CountryCode enum value
7125	CountryCodeJp = "JP"
7126
7127	// CountryCodeKe is a CountryCode enum value
7128	CountryCodeKe = "KE"
7129
7130	// CountryCodeKg is a CountryCode enum value
7131	CountryCodeKg = "KG"
7132
7133	// CountryCodeKh is a CountryCode enum value
7134	CountryCodeKh = "KH"
7135
7136	// CountryCodeKi is a CountryCode enum value
7137	CountryCodeKi = "KI"
7138
7139	// CountryCodeKm is a CountryCode enum value
7140	CountryCodeKm = "KM"
7141
7142	// CountryCodeKn is a CountryCode enum value
7143	CountryCodeKn = "KN"
7144
7145	// CountryCodeKp is a CountryCode enum value
7146	CountryCodeKp = "KP"
7147
7148	// CountryCodeKr is a CountryCode enum value
7149	CountryCodeKr = "KR"
7150
7151	// CountryCodeKw is a CountryCode enum value
7152	CountryCodeKw = "KW"
7153
7154	// CountryCodeKy is a CountryCode enum value
7155	CountryCodeKy = "KY"
7156
7157	// CountryCodeKz is a CountryCode enum value
7158	CountryCodeKz = "KZ"
7159
7160	// CountryCodeLa is a CountryCode enum value
7161	CountryCodeLa = "LA"
7162
7163	// CountryCodeLb is a CountryCode enum value
7164	CountryCodeLb = "LB"
7165
7166	// CountryCodeLc is a CountryCode enum value
7167	CountryCodeLc = "LC"
7168
7169	// CountryCodeLi is a CountryCode enum value
7170	CountryCodeLi = "LI"
7171
7172	// CountryCodeLk is a CountryCode enum value
7173	CountryCodeLk = "LK"
7174
7175	// CountryCodeLr is a CountryCode enum value
7176	CountryCodeLr = "LR"
7177
7178	// CountryCodeLs is a CountryCode enum value
7179	CountryCodeLs = "LS"
7180
7181	// CountryCodeLt is a CountryCode enum value
7182	CountryCodeLt = "LT"
7183
7184	// CountryCodeLu is a CountryCode enum value
7185	CountryCodeLu = "LU"
7186
7187	// CountryCodeLv is a CountryCode enum value
7188	CountryCodeLv = "LV"
7189
7190	// CountryCodeLy is a CountryCode enum value
7191	CountryCodeLy = "LY"
7192
7193	// CountryCodeMa is a CountryCode enum value
7194	CountryCodeMa = "MA"
7195
7196	// CountryCodeMc is a CountryCode enum value
7197	CountryCodeMc = "MC"
7198
7199	// CountryCodeMd is a CountryCode enum value
7200	CountryCodeMd = "MD"
7201
7202	// CountryCodeMe is a CountryCode enum value
7203	CountryCodeMe = "ME"
7204
7205	// CountryCodeMf is a CountryCode enum value
7206	CountryCodeMf = "MF"
7207
7208	// CountryCodeMg is a CountryCode enum value
7209	CountryCodeMg = "MG"
7210
7211	// CountryCodeMh is a CountryCode enum value
7212	CountryCodeMh = "MH"
7213
7214	// CountryCodeMk is a CountryCode enum value
7215	CountryCodeMk = "MK"
7216
7217	// CountryCodeMl is a CountryCode enum value
7218	CountryCodeMl = "ML"
7219
7220	// CountryCodeMm is a CountryCode enum value
7221	CountryCodeMm = "MM"
7222
7223	// CountryCodeMn is a CountryCode enum value
7224	CountryCodeMn = "MN"
7225
7226	// CountryCodeMo is a CountryCode enum value
7227	CountryCodeMo = "MO"
7228
7229	// CountryCodeMp is a CountryCode enum value
7230	CountryCodeMp = "MP"
7231
7232	// CountryCodeMr is a CountryCode enum value
7233	CountryCodeMr = "MR"
7234
7235	// CountryCodeMs is a CountryCode enum value
7236	CountryCodeMs = "MS"
7237
7238	// CountryCodeMt is a CountryCode enum value
7239	CountryCodeMt = "MT"
7240
7241	// CountryCodeMu is a CountryCode enum value
7242	CountryCodeMu = "MU"
7243
7244	// CountryCodeMv is a CountryCode enum value
7245	CountryCodeMv = "MV"
7246
7247	// CountryCodeMw is a CountryCode enum value
7248	CountryCodeMw = "MW"
7249
7250	// CountryCodeMx is a CountryCode enum value
7251	CountryCodeMx = "MX"
7252
7253	// CountryCodeMy is a CountryCode enum value
7254	CountryCodeMy = "MY"
7255
7256	// CountryCodeMz is a CountryCode enum value
7257	CountryCodeMz = "MZ"
7258
7259	// CountryCodeNa is a CountryCode enum value
7260	CountryCodeNa = "NA"
7261
7262	// CountryCodeNc is a CountryCode enum value
7263	CountryCodeNc = "NC"
7264
7265	// CountryCodeNe is a CountryCode enum value
7266	CountryCodeNe = "NE"
7267
7268	// CountryCodeNg is a CountryCode enum value
7269	CountryCodeNg = "NG"
7270
7271	// CountryCodeNi is a CountryCode enum value
7272	CountryCodeNi = "NI"
7273
7274	// CountryCodeNl is a CountryCode enum value
7275	CountryCodeNl = "NL"
7276
7277	// CountryCodeNo is a CountryCode enum value
7278	CountryCodeNo = "NO"
7279
7280	// CountryCodeNp is a CountryCode enum value
7281	CountryCodeNp = "NP"
7282
7283	// CountryCodeNr is a CountryCode enum value
7284	CountryCodeNr = "NR"
7285
7286	// CountryCodeNu is a CountryCode enum value
7287	CountryCodeNu = "NU"
7288
7289	// CountryCodeNz is a CountryCode enum value
7290	CountryCodeNz = "NZ"
7291
7292	// CountryCodeOm is a CountryCode enum value
7293	CountryCodeOm = "OM"
7294
7295	// CountryCodePa is a CountryCode enum value
7296	CountryCodePa = "PA"
7297
7298	// CountryCodePe is a CountryCode enum value
7299	CountryCodePe = "PE"
7300
7301	// CountryCodePf is a CountryCode enum value
7302	CountryCodePf = "PF"
7303
7304	// CountryCodePg is a CountryCode enum value
7305	CountryCodePg = "PG"
7306
7307	// CountryCodePh is a CountryCode enum value
7308	CountryCodePh = "PH"
7309
7310	// CountryCodePk is a CountryCode enum value
7311	CountryCodePk = "PK"
7312
7313	// CountryCodePl is a CountryCode enum value
7314	CountryCodePl = "PL"
7315
7316	// CountryCodePm is a CountryCode enum value
7317	CountryCodePm = "PM"
7318
7319	// CountryCodePn is a CountryCode enum value
7320	CountryCodePn = "PN"
7321
7322	// CountryCodePr is a CountryCode enum value
7323	CountryCodePr = "PR"
7324
7325	// CountryCodePt is a CountryCode enum value
7326	CountryCodePt = "PT"
7327
7328	// CountryCodePw is a CountryCode enum value
7329	CountryCodePw = "PW"
7330
7331	// CountryCodePy is a CountryCode enum value
7332	CountryCodePy = "PY"
7333
7334	// CountryCodeQa is a CountryCode enum value
7335	CountryCodeQa = "QA"
7336
7337	// CountryCodeRo is a CountryCode enum value
7338	CountryCodeRo = "RO"
7339
7340	// CountryCodeRs is a CountryCode enum value
7341	CountryCodeRs = "RS"
7342
7343	// CountryCodeRu is a CountryCode enum value
7344	CountryCodeRu = "RU"
7345
7346	// CountryCodeRw is a CountryCode enum value
7347	CountryCodeRw = "RW"
7348
7349	// CountryCodeSa is a CountryCode enum value
7350	CountryCodeSa = "SA"
7351
7352	// CountryCodeSb is a CountryCode enum value
7353	CountryCodeSb = "SB"
7354
7355	// CountryCodeSc is a CountryCode enum value
7356	CountryCodeSc = "SC"
7357
7358	// CountryCodeSd is a CountryCode enum value
7359	CountryCodeSd = "SD"
7360
7361	// CountryCodeSe is a CountryCode enum value
7362	CountryCodeSe = "SE"
7363
7364	// CountryCodeSg is a CountryCode enum value
7365	CountryCodeSg = "SG"
7366
7367	// CountryCodeSh is a CountryCode enum value
7368	CountryCodeSh = "SH"
7369
7370	// CountryCodeSi is a CountryCode enum value
7371	CountryCodeSi = "SI"
7372
7373	// CountryCodeSk is a CountryCode enum value
7374	CountryCodeSk = "SK"
7375
7376	// CountryCodeSl is a CountryCode enum value
7377	CountryCodeSl = "SL"
7378
7379	// CountryCodeSm is a CountryCode enum value
7380	CountryCodeSm = "SM"
7381
7382	// CountryCodeSn is a CountryCode enum value
7383	CountryCodeSn = "SN"
7384
7385	// CountryCodeSo is a CountryCode enum value
7386	CountryCodeSo = "SO"
7387
7388	// CountryCodeSr is a CountryCode enum value
7389	CountryCodeSr = "SR"
7390
7391	// CountryCodeSt is a CountryCode enum value
7392	CountryCodeSt = "ST"
7393
7394	// CountryCodeSv is a CountryCode enum value
7395	CountryCodeSv = "SV"
7396
7397	// CountryCodeSy is a CountryCode enum value
7398	CountryCodeSy = "SY"
7399
7400	// CountryCodeSz is a CountryCode enum value
7401	CountryCodeSz = "SZ"
7402
7403	// CountryCodeTc is a CountryCode enum value
7404	CountryCodeTc = "TC"
7405
7406	// CountryCodeTd is a CountryCode enum value
7407	CountryCodeTd = "TD"
7408
7409	// CountryCodeTg is a CountryCode enum value
7410	CountryCodeTg = "TG"
7411
7412	// CountryCodeTh is a CountryCode enum value
7413	CountryCodeTh = "TH"
7414
7415	// CountryCodeTj is a CountryCode enum value
7416	CountryCodeTj = "TJ"
7417
7418	// CountryCodeTk is a CountryCode enum value
7419	CountryCodeTk = "TK"
7420
7421	// CountryCodeTl is a CountryCode enum value
7422	CountryCodeTl = "TL"
7423
7424	// CountryCodeTm is a CountryCode enum value
7425	CountryCodeTm = "TM"
7426
7427	// CountryCodeTn is a CountryCode enum value
7428	CountryCodeTn = "TN"
7429
7430	// CountryCodeTo is a CountryCode enum value
7431	CountryCodeTo = "TO"
7432
7433	// CountryCodeTr is a CountryCode enum value
7434	CountryCodeTr = "TR"
7435
7436	// CountryCodeTt is a CountryCode enum value
7437	CountryCodeTt = "TT"
7438
7439	// CountryCodeTv is a CountryCode enum value
7440	CountryCodeTv = "TV"
7441
7442	// CountryCodeTw is a CountryCode enum value
7443	CountryCodeTw = "TW"
7444
7445	// CountryCodeTz is a CountryCode enum value
7446	CountryCodeTz = "TZ"
7447
7448	// CountryCodeUa is a CountryCode enum value
7449	CountryCodeUa = "UA"
7450
7451	// CountryCodeUg is a CountryCode enum value
7452	CountryCodeUg = "UG"
7453
7454	// CountryCodeUs is a CountryCode enum value
7455	CountryCodeUs = "US"
7456
7457	// CountryCodeUy is a CountryCode enum value
7458	CountryCodeUy = "UY"
7459
7460	// CountryCodeUz is a CountryCode enum value
7461	CountryCodeUz = "UZ"
7462
7463	// CountryCodeVa is a CountryCode enum value
7464	CountryCodeVa = "VA"
7465
7466	// CountryCodeVc is a CountryCode enum value
7467	CountryCodeVc = "VC"
7468
7469	// CountryCodeVe is a CountryCode enum value
7470	CountryCodeVe = "VE"
7471
7472	// CountryCodeVg is a CountryCode enum value
7473	CountryCodeVg = "VG"
7474
7475	// CountryCodeVi is a CountryCode enum value
7476	CountryCodeVi = "VI"
7477
7478	// CountryCodeVn is a CountryCode enum value
7479	CountryCodeVn = "VN"
7480
7481	// CountryCodeVu is a CountryCode enum value
7482	CountryCodeVu = "VU"
7483
7484	// CountryCodeWf is a CountryCode enum value
7485	CountryCodeWf = "WF"
7486
7487	// CountryCodeWs is a CountryCode enum value
7488	CountryCodeWs = "WS"
7489
7490	// CountryCodeYe is a CountryCode enum value
7491	CountryCodeYe = "YE"
7492
7493	// CountryCodeYt is a CountryCode enum value
7494	CountryCodeYt = "YT"
7495
7496	// CountryCodeZa is a CountryCode enum value
7497	CountryCodeZa = "ZA"
7498
7499	// CountryCodeZm is a CountryCode enum value
7500	CountryCodeZm = "ZM"
7501
7502	// CountryCodeZw is a CountryCode enum value
7503	CountryCodeZw = "ZW"
7504)
7505
7506const (
7507	// DomainAvailabilityAvailable is a DomainAvailability enum value
7508	DomainAvailabilityAvailable = "AVAILABLE"
7509
7510	// DomainAvailabilityAvailableReserved is a DomainAvailability enum value
7511	DomainAvailabilityAvailableReserved = "AVAILABLE_RESERVED"
7512
7513	// DomainAvailabilityAvailablePreorder is a DomainAvailability enum value
7514	DomainAvailabilityAvailablePreorder = "AVAILABLE_PREORDER"
7515
7516	// DomainAvailabilityUnavailable is a DomainAvailability enum value
7517	DomainAvailabilityUnavailable = "UNAVAILABLE"
7518
7519	// DomainAvailabilityUnavailablePremium is a DomainAvailability enum value
7520	DomainAvailabilityUnavailablePremium = "UNAVAILABLE_PREMIUM"
7521
7522	// DomainAvailabilityUnavailableRestricted is a DomainAvailability enum value
7523	DomainAvailabilityUnavailableRestricted = "UNAVAILABLE_RESTRICTED"
7524
7525	// DomainAvailabilityReserved is a DomainAvailability enum value
7526	DomainAvailabilityReserved = "RESERVED"
7527
7528	// DomainAvailabilityDontKnow is a DomainAvailability enum value
7529	DomainAvailabilityDontKnow = "DONT_KNOW"
7530)
7531
7532const (
7533	// ExtraParamNameDunsNumber is a ExtraParamName enum value
7534	ExtraParamNameDunsNumber = "DUNS_NUMBER"
7535
7536	// ExtraParamNameBrandNumber is a ExtraParamName enum value
7537	ExtraParamNameBrandNumber = "BRAND_NUMBER"
7538
7539	// ExtraParamNameBirthDepartment is a ExtraParamName enum value
7540	ExtraParamNameBirthDepartment = "BIRTH_DEPARTMENT"
7541
7542	// ExtraParamNameBirthDateInYyyyMmDd is a ExtraParamName enum value
7543	ExtraParamNameBirthDateInYyyyMmDd = "BIRTH_DATE_IN_YYYY_MM_DD"
7544
7545	// ExtraParamNameBirthCountry is a ExtraParamName enum value
7546	ExtraParamNameBirthCountry = "BIRTH_COUNTRY"
7547
7548	// ExtraParamNameBirthCity is a ExtraParamName enum value
7549	ExtraParamNameBirthCity = "BIRTH_CITY"
7550
7551	// ExtraParamNameDocumentNumber is a ExtraParamName enum value
7552	ExtraParamNameDocumentNumber = "DOCUMENT_NUMBER"
7553
7554	// ExtraParamNameAuIdNumber is a ExtraParamName enum value
7555	ExtraParamNameAuIdNumber = "AU_ID_NUMBER"
7556
7557	// ExtraParamNameAuIdType is a ExtraParamName enum value
7558	ExtraParamNameAuIdType = "AU_ID_TYPE"
7559
7560	// ExtraParamNameCaLegalType is a ExtraParamName enum value
7561	ExtraParamNameCaLegalType = "CA_LEGAL_TYPE"
7562
7563	// ExtraParamNameCaBusinessEntityType is a ExtraParamName enum value
7564	ExtraParamNameCaBusinessEntityType = "CA_BUSINESS_ENTITY_TYPE"
7565
7566	// ExtraParamNameCaLegalRepresentative is a ExtraParamName enum value
7567	ExtraParamNameCaLegalRepresentative = "CA_LEGAL_REPRESENTATIVE"
7568
7569	// ExtraParamNameCaLegalRepresentativeCapacity is a ExtraParamName enum value
7570	ExtraParamNameCaLegalRepresentativeCapacity = "CA_LEGAL_REPRESENTATIVE_CAPACITY"
7571
7572	// ExtraParamNameEsIdentification is a ExtraParamName enum value
7573	ExtraParamNameEsIdentification = "ES_IDENTIFICATION"
7574
7575	// ExtraParamNameEsIdentificationType is a ExtraParamName enum value
7576	ExtraParamNameEsIdentificationType = "ES_IDENTIFICATION_TYPE"
7577
7578	// ExtraParamNameEsLegalForm is a ExtraParamName enum value
7579	ExtraParamNameEsLegalForm = "ES_LEGAL_FORM"
7580
7581	// ExtraParamNameFiBusinessNumber is a ExtraParamName enum value
7582	ExtraParamNameFiBusinessNumber = "FI_BUSINESS_NUMBER"
7583
7584	// ExtraParamNameFiIdNumber is a ExtraParamName enum value
7585	ExtraParamNameFiIdNumber = "FI_ID_NUMBER"
7586
7587	// ExtraParamNameFiNationality is a ExtraParamName enum value
7588	ExtraParamNameFiNationality = "FI_NATIONALITY"
7589
7590	// ExtraParamNameFiOrganizationType is a ExtraParamName enum value
7591	ExtraParamNameFiOrganizationType = "FI_ORGANIZATION_TYPE"
7592
7593	// ExtraParamNameItNationality is a ExtraParamName enum value
7594	ExtraParamNameItNationality = "IT_NATIONALITY"
7595
7596	// ExtraParamNameItPin is a ExtraParamName enum value
7597	ExtraParamNameItPin = "IT_PIN"
7598
7599	// ExtraParamNameItRegistrantEntityType is a ExtraParamName enum value
7600	ExtraParamNameItRegistrantEntityType = "IT_REGISTRANT_ENTITY_TYPE"
7601
7602	// ExtraParamNameRuPassportData is a ExtraParamName enum value
7603	ExtraParamNameRuPassportData = "RU_PASSPORT_DATA"
7604
7605	// ExtraParamNameSeIdNumber is a ExtraParamName enum value
7606	ExtraParamNameSeIdNumber = "SE_ID_NUMBER"
7607
7608	// ExtraParamNameSgIdNumber is a ExtraParamName enum value
7609	ExtraParamNameSgIdNumber = "SG_ID_NUMBER"
7610
7611	// ExtraParamNameVatNumber is a ExtraParamName enum value
7612	ExtraParamNameVatNumber = "VAT_NUMBER"
7613
7614	// ExtraParamNameUkContactType is a ExtraParamName enum value
7615	ExtraParamNameUkContactType = "UK_CONTACT_TYPE"
7616
7617	// ExtraParamNameUkCompanyNumber is a ExtraParamName enum value
7618	ExtraParamNameUkCompanyNumber = "UK_COMPANY_NUMBER"
7619)
7620
7621const (
7622	// OperationStatusSubmitted is a OperationStatus enum value
7623	OperationStatusSubmitted = "SUBMITTED"
7624
7625	// OperationStatusInProgress is a OperationStatus enum value
7626	OperationStatusInProgress = "IN_PROGRESS"
7627
7628	// OperationStatusError is a OperationStatus enum value
7629	OperationStatusError = "ERROR"
7630
7631	// OperationStatusSuccessful is a OperationStatus enum value
7632	OperationStatusSuccessful = "SUCCESSFUL"
7633
7634	// OperationStatusFailed is a OperationStatus enum value
7635	OperationStatusFailed = "FAILED"
7636)
7637
7638const (
7639	// OperationTypeRegisterDomain is a OperationType enum value
7640	OperationTypeRegisterDomain = "REGISTER_DOMAIN"
7641
7642	// OperationTypeDeleteDomain is a OperationType enum value
7643	OperationTypeDeleteDomain = "DELETE_DOMAIN"
7644
7645	// OperationTypeTransferInDomain is a OperationType enum value
7646	OperationTypeTransferInDomain = "TRANSFER_IN_DOMAIN"
7647
7648	// OperationTypeUpdateDomainContact is a OperationType enum value
7649	OperationTypeUpdateDomainContact = "UPDATE_DOMAIN_CONTACT"
7650
7651	// OperationTypeUpdateNameserver is a OperationType enum value
7652	OperationTypeUpdateNameserver = "UPDATE_NAMESERVER"
7653
7654	// OperationTypeChangePrivacyProtection is a OperationType enum value
7655	OperationTypeChangePrivacyProtection = "CHANGE_PRIVACY_PROTECTION"
7656
7657	// OperationTypeDomainLock is a OperationType enum value
7658	OperationTypeDomainLock = "DOMAIN_LOCK"
7659
7660	// OperationTypeEnableAutorenew is a OperationType enum value
7661	OperationTypeEnableAutorenew = "ENABLE_AUTORENEW"
7662
7663	// OperationTypeDisableAutorenew is a OperationType enum value
7664	OperationTypeDisableAutorenew = "DISABLE_AUTORENEW"
7665
7666	// OperationTypeAddDnssec is a OperationType enum value
7667	OperationTypeAddDnssec = "ADD_DNSSEC"
7668
7669	// OperationTypeRemoveDnssec is a OperationType enum value
7670	OperationTypeRemoveDnssec = "REMOVE_DNSSEC"
7671
7672	// OperationTypeExpireDomain is a OperationType enum value
7673	OperationTypeExpireDomain = "EXPIRE_DOMAIN"
7674
7675	// OperationTypeTransferOutDomain is a OperationType enum value
7676	OperationTypeTransferOutDomain = "TRANSFER_OUT_DOMAIN"
7677
7678	// OperationTypeChangeDomainOwner is a OperationType enum value
7679	OperationTypeChangeDomainOwner = "CHANGE_DOMAIN_OWNER"
7680
7681	// OperationTypeRenewDomain is a OperationType enum value
7682	OperationTypeRenewDomain = "RENEW_DOMAIN"
7683
7684	// OperationTypePushDomain is a OperationType enum value
7685	OperationTypePushDomain = "PUSH_DOMAIN"
7686
7687	// OperationTypeInternalTransferOutDomain is a OperationType enum value
7688	OperationTypeInternalTransferOutDomain = "INTERNAL_TRANSFER_OUT_DOMAIN"
7689
7690	// OperationTypeInternalTransferInDomain is a OperationType enum value
7691	OperationTypeInternalTransferInDomain = "INTERNAL_TRANSFER_IN_DOMAIN"
7692)
7693
7694const (
7695	// ReachabilityStatusPending is a ReachabilityStatus enum value
7696	ReachabilityStatusPending = "PENDING"
7697
7698	// ReachabilityStatusDone is a ReachabilityStatus enum value
7699	ReachabilityStatusDone = "DONE"
7700
7701	// ReachabilityStatusExpired is a ReachabilityStatus enum value
7702	ReachabilityStatusExpired = "EXPIRED"
7703)
7704
7705// Whether the domain name can be transferred to Route 53.
7706//
7707// You can transfer only domains that have a value of TRANSFERABLE for Transferable.
7708//
7709// Valid values:
7710//
7711// TRANSFERABLE
7712//
7713// The domain name can be transferred to Route 53.
7714//
7715// UNTRANSFERRABLE
7716//
7717// The domain name can't be transferred to Route 53.
7718//
7719// DONT_KNOW
7720//
7721// Reserved for future use.
7722const (
7723	// TransferableTransferable is a Transferable enum value
7724	TransferableTransferable = "TRANSFERABLE"
7725
7726	// TransferableUntransferable is a Transferable enum value
7727	TransferableUntransferable = "UNTRANSFERABLE"
7728
7729	// TransferableDontKnow is a Transferable enum value
7730	TransferableDontKnow = "DONT_KNOW"
7731)
7732