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
6817// ContactType_Values returns all elements of the ContactType enum
6818func ContactType_Values() []string {
6819	return []string{
6820		ContactTypePerson,
6821		ContactTypeCompany,
6822		ContactTypeAssociation,
6823		ContactTypePublicBody,
6824		ContactTypeReseller,
6825	}
6826}
6827
6828const (
6829	// CountryCodeAd is a CountryCode enum value
6830	CountryCodeAd = "AD"
6831
6832	// CountryCodeAe is a CountryCode enum value
6833	CountryCodeAe = "AE"
6834
6835	// CountryCodeAf is a CountryCode enum value
6836	CountryCodeAf = "AF"
6837
6838	// CountryCodeAg is a CountryCode enum value
6839	CountryCodeAg = "AG"
6840
6841	// CountryCodeAi is a CountryCode enum value
6842	CountryCodeAi = "AI"
6843
6844	// CountryCodeAl is a CountryCode enum value
6845	CountryCodeAl = "AL"
6846
6847	// CountryCodeAm is a CountryCode enum value
6848	CountryCodeAm = "AM"
6849
6850	// CountryCodeAn is a CountryCode enum value
6851	CountryCodeAn = "AN"
6852
6853	// CountryCodeAo is a CountryCode enum value
6854	CountryCodeAo = "AO"
6855
6856	// CountryCodeAq is a CountryCode enum value
6857	CountryCodeAq = "AQ"
6858
6859	// CountryCodeAr is a CountryCode enum value
6860	CountryCodeAr = "AR"
6861
6862	// CountryCodeAs is a CountryCode enum value
6863	CountryCodeAs = "AS"
6864
6865	// CountryCodeAt is a CountryCode enum value
6866	CountryCodeAt = "AT"
6867
6868	// CountryCodeAu is a CountryCode enum value
6869	CountryCodeAu = "AU"
6870
6871	// CountryCodeAw is a CountryCode enum value
6872	CountryCodeAw = "AW"
6873
6874	// CountryCodeAz is a CountryCode enum value
6875	CountryCodeAz = "AZ"
6876
6877	// CountryCodeBa is a CountryCode enum value
6878	CountryCodeBa = "BA"
6879
6880	// CountryCodeBb is a CountryCode enum value
6881	CountryCodeBb = "BB"
6882
6883	// CountryCodeBd is a CountryCode enum value
6884	CountryCodeBd = "BD"
6885
6886	// CountryCodeBe is a CountryCode enum value
6887	CountryCodeBe = "BE"
6888
6889	// CountryCodeBf is a CountryCode enum value
6890	CountryCodeBf = "BF"
6891
6892	// CountryCodeBg is a CountryCode enum value
6893	CountryCodeBg = "BG"
6894
6895	// CountryCodeBh is a CountryCode enum value
6896	CountryCodeBh = "BH"
6897
6898	// CountryCodeBi is a CountryCode enum value
6899	CountryCodeBi = "BI"
6900
6901	// CountryCodeBj is a CountryCode enum value
6902	CountryCodeBj = "BJ"
6903
6904	// CountryCodeBl is a CountryCode enum value
6905	CountryCodeBl = "BL"
6906
6907	// CountryCodeBm is a CountryCode enum value
6908	CountryCodeBm = "BM"
6909
6910	// CountryCodeBn is a CountryCode enum value
6911	CountryCodeBn = "BN"
6912
6913	// CountryCodeBo is a CountryCode enum value
6914	CountryCodeBo = "BO"
6915
6916	// CountryCodeBr is a CountryCode enum value
6917	CountryCodeBr = "BR"
6918
6919	// CountryCodeBs is a CountryCode enum value
6920	CountryCodeBs = "BS"
6921
6922	// CountryCodeBt is a CountryCode enum value
6923	CountryCodeBt = "BT"
6924
6925	// CountryCodeBw is a CountryCode enum value
6926	CountryCodeBw = "BW"
6927
6928	// CountryCodeBy is a CountryCode enum value
6929	CountryCodeBy = "BY"
6930
6931	// CountryCodeBz is a CountryCode enum value
6932	CountryCodeBz = "BZ"
6933
6934	// CountryCodeCa is a CountryCode enum value
6935	CountryCodeCa = "CA"
6936
6937	// CountryCodeCc is a CountryCode enum value
6938	CountryCodeCc = "CC"
6939
6940	// CountryCodeCd is a CountryCode enum value
6941	CountryCodeCd = "CD"
6942
6943	// CountryCodeCf is a CountryCode enum value
6944	CountryCodeCf = "CF"
6945
6946	// CountryCodeCg is a CountryCode enum value
6947	CountryCodeCg = "CG"
6948
6949	// CountryCodeCh is a CountryCode enum value
6950	CountryCodeCh = "CH"
6951
6952	// CountryCodeCi is a CountryCode enum value
6953	CountryCodeCi = "CI"
6954
6955	// CountryCodeCk is a CountryCode enum value
6956	CountryCodeCk = "CK"
6957
6958	// CountryCodeCl is a CountryCode enum value
6959	CountryCodeCl = "CL"
6960
6961	// CountryCodeCm is a CountryCode enum value
6962	CountryCodeCm = "CM"
6963
6964	// CountryCodeCn is a CountryCode enum value
6965	CountryCodeCn = "CN"
6966
6967	// CountryCodeCo is a CountryCode enum value
6968	CountryCodeCo = "CO"
6969
6970	// CountryCodeCr is a CountryCode enum value
6971	CountryCodeCr = "CR"
6972
6973	// CountryCodeCu is a CountryCode enum value
6974	CountryCodeCu = "CU"
6975
6976	// CountryCodeCv is a CountryCode enum value
6977	CountryCodeCv = "CV"
6978
6979	// CountryCodeCx is a CountryCode enum value
6980	CountryCodeCx = "CX"
6981
6982	// CountryCodeCy is a CountryCode enum value
6983	CountryCodeCy = "CY"
6984
6985	// CountryCodeCz is a CountryCode enum value
6986	CountryCodeCz = "CZ"
6987
6988	// CountryCodeDe is a CountryCode enum value
6989	CountryCodeDe = "DE"
6990
6991	// CountryCodeDj is a CountryCode enum value
6992	CountryCodeDj = "DJ"
6993
6994	// CountryCodeDk is a CountryCode enum value
6995	CountryCodeDk = "DK"
6996
6997	// CountryCodeDm is a CountryCode enum value
6998	CountryCodeDm = "DM"
6999
7000	// CountryCodeDo is a CountryCode enum value
7001	CountryCodeDo = "DO"
7002
7003	// CountryCodeDz is a CountryCode enum value
7004	CountryCodeDz = "DZ"
7005
7006	// CountryCodeEc is a CountryCode enum value
7007	CountryCodeEc = "EC"
7008
7009	// CountryCodeEe is a CountryCode enum value
7010	CountryCodeEe = "EE"
7011
7012	// CountryCodeEg is a CountryCode enum value
7013	CountryCodeEg = "EG"
7014
7015	// CountryCodeEr is a CountryCode enum value
7016	CountryCodeEr = "ER"
7017
7018	// CountryCodeEs is a CountryCode enum value
7019	CountryCodeEs = "ES"
7020
7021	// CountryCodeEt is a CountryCode enum value
7022	CountryCodeEt = "ET"
7023
7024	// CountryCodeFi is a CountryCode enum value
7025	CountryCodeFi = "FI"
7026
7027	// CountryCodeFj is a CountryCode enum value
7028	CountryCodeFj = "FJ"
7029
7030	// CountryCodeFk is a CountryCode enum value
7031	CountryCodeFk = "FK"
7032
7033	// CountryCodeFm is a CountryCode enum value
7034	CountryCodeFm = "FM"
7035
7036	// CountryCodeFo is a CountryCode enum value
7037	CountryCodeFo = "FO"
7038
7039	// CountryCodeFr is a CountryCode enum value
7040	CountryCodeFr = "FR"
7041
7042	// CountryCodeGa is a CountryCode enum value
7043	CountryCodeGa = "GA"
7044
7045	// CountryCodeGb is a CountryCode enum value
7046	CountryCodeGb = "GB"
7047
7048	// CountryCodeGd is a CountryCode enum value
7049	CountryCodeGd = "GD"
7050
7051	// CountryCodeGe is a CountryCode enum value
7052	CountryCodeGe = "GE"
7053
7054	// CountryCodeGh is a CountryCode enum value
7055	CountryCodeGh = "GH"
7056
7057	// CountryCodeGi is a CountryCode enum value
7058	CountryCodeGi = "GI"
7059
7060	// CountryCodeGl is a CountryCode enum value
7061	CountryCodeGl = "GL"
7062
7063	// CountryCodeGm is a CountryCode enum value
7064	CountryCodeGm = "GM"
7065
7066	// CountryCodeGn is a CountryCode enum value
7067	CountryCodeGn = "GN"
7068
7069	// CountryCodeGq is a CountryCode enum value
7070	CountryCodeGq = "GQ"
7071
7072	// CountryCodeGr is a CountryCode enum value
7073	CountryCodeGr = "GR"
7074
7075	// CountryCodeGt is a CountryCode enum value
7076	CountryCodeGt = "GT"
7077
7078	// CountryCodeGu is a CountryCode enum value
7079	CountryCodeGu = "GU"
7080
7081	// CountryCodeGw is a CountryCode enum value
7082	CountryCodeGw = "GW"
7083
7084	// CountryCodeGy is a CountryCode enum value
7085	CountryCodeGy = "GY"
7086
7087	// CountryCodeHk is a CountryCode enum value
7088	CountryCodeHk = "HK"
7089
7090	// CountryCodeHn is a CountryCode enum value
7091	CountryCodeHn = "HN"
7092
7093	// CountryCodeHr is a CountryCode enum value
7094	CountryCodeHr = "HR"
7095
7096	// CountryCodeHt is a CountryCode enum value
7097	CountryCodeHt = "HT"
7098
7099	// CountryCodeHu is a CountryCode enum value
7100	CountryCodeHu = "HU"
7101
7102	// CountryCodeId is a CountryCode enum value
7103	CountryCodeId = "ID"
7104
7105	// CountryCodeIe is a CountryCode enum value
7106	CountryCodeIe = "IE"
7107
7108	// CountryCodeIl is a CountryCode enum value
7109	CountryCodeIl = "IL"
7110
7111	// CountryCodeIm is a CountryCode enum value
7112	CountryCodeIm = "IM"
7113
7114	// CountryCodeIn is a CountryCode enum value
7115	CountryCodeIn = "IN"
7116
7117	// CountryCodeIq is a CountryCode enum value
7118	CountryCodeIq = "IQ"
7119
7120	// CountryCodeIr is a CountryCode enum value
7121	CountryCodeIr = "IR"
7122
7123	// CountryCodeIs is a CountryCode enum value
7124	CountryCodeIs = "IS"
7125
7126	// CountryCodeIt is a CountryCode enum value
7127	CountryCodeIt = "IT"
7128
7129	// CountryCodeJm is a CountryCode enum value
7130	CountryCodeJm = "JM"
7131
7132	// CountryCodeJo is a CountryCode enum value
7133	CountryCodeJo = "JO"
7134
7135	// CountryCodeJp is a CountryCode enum value
7136	CountryCodeJp = "JP"
7137
7138	// CountryCodeKe is a CountryCode enum value
7139	CountryCodeKe = "KE"
7140
7141	// CountryCodeKg is a CountryCode enum value
7142	CountryCodeKg = "KG"
7143
7144	// CountryCodeKh is a CountryCode enum value
7145	CountryCodeKh = "KH"
7146
7147	// CountryCodeKi is a CountryCode enum value
7148	CountryCodeKi = "KI"
7149
7150	// CountryCodeKm is a CountryCode enum value
7151	CountryCodeKm = "KM"
7152
7153	// CountryCodeKn is a CountryCode enum value
7154	CountryCodeKn = "KN"
7155
7156	// CountryCodeKp is a CountryCode enum value
7157	CountryCodeKp = "KP"
7158
7159	// CountryCodeKr is a CountryCode enum value
7160	CountryCodeKr = "KR"
7161
7162	// CountryCodeKw is a CountryCode enum value
7163	CountryCodeKw = "KW"
7164
7165	// CountryCodeKy is a CountryCode enum value
7166	CountryCodeKy = "KY"
7167
7168	// CountryCodeKz is a CountryCode enum value
7169	CountryCodeKz = "KZ"
7170
7171	// CountryCodeLa is a CountryCode enum value
7172	CountryCodeLa = "LA"
7173
7174	// CountryCodeLb is a CountryCode enum value
7175	CountryCodeLb = "LB"
7176
7177	// CountryCodeLc is a CountryCode enum value
7178	CountryCodeLc = "LC"
7179
7180	// CountryCodeLi is a CountryCode enum value
7181	CountryCodeLi = "LI"
7182
7183	// CountryCodeLk is a CountryCode enum value
7184	CountryCodeLk = "LK"
7185
7186	// CountryCodeLr is a CountryCode enum value
7187	CountryCodeLr = "LR"
7188
7189	// CountryCodeLs is a CountryCode enum value
7190	CountryCodeLs = "LS"
7191
7192	// CountryCodeLt is a CountryCode enum value
7193	CountryCodeLt = "LT"
7194
7195	// CountryCodeLu is a CountryCode enum value
7196	CountryCodeLu = "LU"
7197
7198	// CountryCodeLv is a CountryCode enum value
7199	CountryCodeLv = "LV"
7200
7201	// CountryCodeLy is a CountryCode enum value
7202	CountryCodeLy = "LY"
7203
7204	// CountryCodeMa is a CountryCode enum value
7205	CountryCodeMa = "MA"
7206
7207	// CountryCodeMc is a CountryCode enum value
7208	CountryCodeMc = "MC"
7209
7210	// CountryCodeMd is a CountryCode enum value
7211	CountryCodeMd = "MD"
7212
7213	// CountryCodeMe is a CountryCode enum value
7214	CountryCodeMe = "ME"
7215
7216	// CountryCodeMf is a CountryCode enum value
7217	CountryCodeMf = "MF"
7218
7219	// CountryCodeMg is a CountryCode enum value
7220	CountryCodeMg = "MG"
7221
7222	// CountryCodeMh is a CountryCode enum value
7223	CountryCodeMh = "MH"
7224
7225	// CountryCodeMk is a CountryCode enum value
7226	CountryCodeMk = "MK"
7227
7228	// CountryCodeMl is a CountryCode enum value
7229	CountryCodeMl = "ML"
7230
7231	// CountryCodeMm is a CountryCode enum value
7232	CountryCodeMm = "MM"
7233
7234	// CountryCodeMn is a CountryCode enum value
7235	CountryCodeMn = "MN"
7236
7237	// CountryCodeMo is a CountryCode enum value
7238	CountryCodeMo = "MO"
7239
7240	// CountryCodeMp is a CountryCode enum value
7241	CountryCodeMp = "MP"
7242
7243	// CountryCodeMr is a CountryCode enum value
7244	CountryCodeMr = "MR"
7245
7246	// CountryCodeMs is a CountryCode enum value
7247	CountryCodeMs = "MS"
7248
7249	// CountryCodeMt is a CountryCode enum value
7250	CountryCodeMt = "MT"
7251
7252	// CountryCodeMu is a CountryCode enum value
7253	CountryCodeMu = "MU"
7254
7255	// CountryCodeMv is a CountryCode enum value
7256	CountryCodeMv = "MV"
7257
7258	// CountryCodeMw is a CountryCode enum value
7259	CountryCodeMw = "MW"
7260
7261	// CountryCodeMx is a CountryCode enum value
7262	CountryCodeMx = "MX"
7263
7264	// CountryCodeMy is a CountryCode enum value
7265	CountryCodeMy = "MY"
7266
7267	// CountryCodeMz is a CountryCode enum value
7268	CountryCodeMz = "MZ"
7269
7270	// CountryCodeNa is a CountryCode enum value
7271	CountryCodeNa = "NA"
7272
7273	// CountryCodeNc is a CountryCode enum value
7274	CountryCodeNc = "NC"
7275
7276	// CountryCodeNe is a CountryCode enum value
7277	CountryCodeNe = "NE"
7278
7279	// CountryCodeNg is a CountryCode enum value
7280	CountryCodeNg = "NG"
7281
7282	// CountryCodeNi is a CountryCode enum value
7283	CountryCodeNi = "NI"
7284
7285	// CountryCodeNl is a CountryCode enum value
7286	CountryCodeNl = "NL"
7287
7288	// CountryCodeNo is a CountryCode enum value
7289	CountryCodeNo = "NO"
7290
7291	// CountryCodeNp is a CountryCode enum value
7292	CountryCodeNp = "NP"
7293
7294	// CountryCodeNr is a CountryCode enum value
7295	CountryCodeNr = "NR"
7296
7297	// CountryCodeNu is a CountryCode enum value
7298	CountryCodeNu = "NU"
7299
7300	// CountryCodeNz is a CountryCode enum value
7301	CountryCodeNz = "NZ"
7302
7303	// CountryCodeOm is a CountryCode enum value
7304	CountryCodeOm = "OM"
7305
7306	// CountryCodePa is a CountryCode enum value
7307	CountryCodePa = "PA"
7308
7309	// CountryCodePe is a CountryCode enum value
7310	CountryCodePe = "PE"
7311
7312	// CountryCodePf is a CountryCode enum value
7313	CountryCodePf = "PF"
7314
7315	// CountryCodePg is a CountryCode enum value
7316	CountryCodePg = "PG"
7317
7318	// CountryCodePh is a CountryCode enum value
7319	CountryCodePh = "PH"
7320
7321	// CountryCodePk is a CountryCode enum value
7322	CountryCodePk = "PK"
7323
7324	// CountryCodePl is a CountryCode enum value
7325	CountryCodePl = "PL"
7326
7327	// CountryCodePm is a CountryCode enum value
7328	CountryCodePm = "PM"
7329
7330	// CountryCodePn is a CountryCode enum value
7331	CountryCodePn = "PN"
7332
7333	// CountryCodePr is a CountryCode enum value
7334	CountryCodePr = "PR"
7335
7336	// CountryCodePt is a CountryCode enum value
7337	CountryCodePt = "PT"
7338
7339	// CountryCodePw is a CountryCode enum value
7340	CountryCodePw = "PW"
7341
7342	// CountryCodePy is a CountryCode enum value
7343	CountryCodePy = "PY"
7344
7345	// CountryCodeQa is a CountryCode enum value
7346	CountryCodeQa = "QA"
7347
7348	// CountryCodeRo is a CountryCode enum value
7349	CountryCodeRo = "RO"
7350
7351	// CountryCodeRs is a CountryCode enum value
7352	CountryCodeRs = "RS"
7353
7354	// CountryCodeRu is a CountryCode enum value
7355	CountryCodeRu = "RU"
7356
7357	// CountryCodeRw is a CountryCode enum value
7358	CountryCodeRw = "RW"
7359
7360	// CountryCodeSa is a CountryCode enum value
7361	CountryCodeSa = "SA"
7362
7363	// CountryCodeSb is a CountryCode enum value
7364	CountryCodeSb = "SB"
7365
7366	// CountryCodeSc is a CountryCode enum value
7367	CountryCodeSc = "SC"
7368
7369	// CountryCodeSd is a CountryCode enum value
7370	CountryCodeSd = "SD"
7371
7372	// CountryCodeSe is a CountryCode enum value
7373	CountryCodeSe = "SE"
7374
7375	// CountryCodeSg is a CountryCode enum value
7376	CountryCodeSg = "SG"
7377
7378	// CountryCodeSh is a CountryCode enum value
7379	CountryCodeSh = "SH"
7380
7381	// CountryCodeSi is a CountryCode enum value
7382	CountryCodeSi = "SI"
7383
7384	// CountryCodeSk is a CountryCode enum value
7385	CountryCodeSk = "SK"
7386
7387	// CountryCodeSl is a CountryCode enum value
7388	CountryCodeSl = "SL"
7389
7390	// CountryCodeSm is a CountryCode enum value
7391	CountryCodeSm = "SM"
7392
7393	// CountryCodeSn is a CountryCode enum value
7394	CountryCodeSn = "SN"
7395
7396	// CountryCodeSo is a CountryCode enum value
7397	CountryCodeSo = "SO"
7398
7399	// CountryCodeSr is a CountryCode enum value
7400	CountryCodeSr = "SR"
7401
7402	// CountryCodeSt is a CountryCode enum value
7403	CountryCodeSt = "ST"
7404
7405	// CountryCodeSv is a CountryCode enum value
7406	CountryCodeSv = "SV"
7407
7408	// CountryCodeSy is a CountryCode enum value
7409	CountryCodeSy = "SY"
7410
7411	// CountryCodeSz is a CountryCode enum value
7412	CountryCodeSz = "SZ"
7413
7414	// CountryCodeTc is a CountryCode enum value
7415	CountryCodeTc = "TC"
7416
7417	// CountryCodeTd is a CountryCode enum value
7418	CountryCodeTd = "TD"
7419
7420	// CountryCodeTg is a CountryCode enum value
7421	CountryCodeTg = "TG"
7422
7423	// CountryCodeTh is a CountryCode enum value
7424	CountryCodeTh = "TH"
7425
7426	// CountryCodeTj is a CountryCode enum value
7427	CountryCodeTj = "TJ"
7428
7429	// CountryCodeTk is a CountryCode enum value
7430	CountryCodeTk = "TK"
7431
7432	// CountryCodeTl is a CountryCode enum value
7433	CountryCodeTl = "TL"
7434
7435	// CountryCodeTm is a CountryCode enum value
7436	CountryCodeTm = "TM"
7437
7438	// CountryCodeTn is a CountryCode enum value
7439	CountryCodeTn = "TN"
7440
7441	// CountryCodeTo is a CountryCode enum value
7442	CountryCodeTo = "TO"
7443
7444	// CountryCodeTr is a CountryCode enum value
7445	CountryCodeTr = "TR"
7446
7447	// CountryCodeTt is a CountryCode enum value
7448	CountryCodeTt = "TT"
7449
7450	// CountryCodeTv is a CountryCode enum value
7451	CountryCodeTv = "TV"
7452
7453	// CountryCodeTw is a CountryCode enum value
7454	CountryCodeTw = "TW"
7455
7456	// CountryCodeTz is a CountryCode enum value
7457	CountryCodeTz = "TZ"
7458
7459	// CountryCodeUa is a CountryCode enum value
7460	CountryCodeUa = "UA"
7461
7462	// CountryCodeUg is a CountryCode enum value
7463	CountryCodeUg = "UG"
7464
7465	// CountryCodeUs is a CountryCode enum value
7466	CountryCodeUs = "US"
7467
7468	// CountryCodeUy is a CountryCode enum value
7469	CountryCodeUy = "UY"
7470
7471	// CountryCodeUz is a CountryCode enum value
7472	CountryCodeUz = "UZ"
7473
7474	// CountryCodeVa is a CountryCode enum value
7475	CountryCodeVa = "VA"
7476
7477	// CountryCodeVc is a CountryCode enum value
7478	CountryCodeVc = "VC"
7479
7480	// CountryCodeVe is a CountryCode enum value
7481	CountryCodeVe = "VE"
7482
7483	// CountryCodeVg is a CountryCode enum value
7484	CountryCodeVg = "VG"
7485
7486	// CountryCodeVi is a CountryCode enum value
7487	CountryCodeVi = "VI"
7488
7489	// CountryCodeVn is a CountryCode enum value
7490	CountryCodeVn = "VN"
7491
7492	// CountryCodeVu is a CountryCode enum value
7493	CountryCodeVu = "VU"
7494
7495	// CountryCodeWf is a CountryCode enum value
7496	CountryCodeWf = "WF"
7497
7498	// CountryCodeWs is a CountryCode enum value
7499	CountryCodeWs = "WS"
7500
7501	// CountryCodeYe is a CountryCode enum value
7502	CountryCodeYe = "YE"
7503
7504	// CountryCodeYt is a CountryCode enum value
7505	CountryCodeYt = "YT"
7506
7507	// CountryCodeZa is a CountryCode enum value
7508	CountryCodeZa = "ZA"
7509
7510	// CountryCodeZm is a CountryCode enum value
7511	CountryCodeZm = "ZM"
7512
7513	// CountryCodeZw is a CountryCode enum value
7514	CountryCodeZw = "ZW"
7515)
7516
7517// CountryCode_Values returns all elements of the CountryCode enum
7518func CountryCode_Values() []string {
7519	return []string{
7520		CountryCodeAd,
7521		CountryCodeAe,
7522		CountryCodeAf,
7523		CountryCodeAg,
7524		CountryCodeAi,
7525		CountryCodeAl,
7526		CountryCodeAm,
7527		CountryCodeAn,
7528		CountryCodeAo,
7529		CountryCodeAq,
7530		CountryCodeAr,
7531		CountryCodeAs,
7532		CountryCodeAt,
7533		CountryCodeAu,
7534		CountryCodeAw,
7535		CountryCodeAz,
7536		CountryCodeBa,
7537		CountryCodeBb,
7538		CountryCodeBd,
7539		CountryCodeBe,
7540		CountryCodeBf,
7541		CountryCodeBg,
7542		CountryCodeBh,
7543		CountryCodeBi,
7544		CountryCodeBj,
7545		CountryCodeBl,
7546		CountryCodeBm,
7547		CountryCodeBn,
7548		CountryCodeBo,
7549		CountryCodeBr,
7550		CountryCodeBs,
7551		CountryCodeBt,
7552		CountryCodeBw,
7553		CountryCodeBy,
7554		CountryCodeBz,
7555		CountryCodeCa,
7556		CountryCodeCc,
7557		CountryCodeCd,
7558		CountryCodeCf,
7559		CountryCodeCg,
7560		CountryCodeCh,
7561		CountryCodeCi,
7562		CountryCodeCk,
7563		CountryCodeCl,
7564		CountryCodeCm,
7565		CountryCodeCn,
7566		CountryCodeCo,
7567		CountryCodeCr,
7568		CountryCodeCu,
7569		CountryCodeCv,
7570		CountryCodeCx,
7571		CountryCodeCy,
7572		CountryCodeCz,
7573		CountryCodeDe,
7574		CountryCodeDj,
7575		CountryCodeDk,
7576		CountryCodeDm,
7577		CountryCodeDo,
7578		CountryCodeDz,
7579		CountryCodeEc,
7580		CountryCodeEe,
7581		CountryCodeEg,
7582		CountryCodeEr,
7583		CountryCodeEs,
7584		CountryCodeEt,
7585		CountryCodeFi,
7586		CountryCodeFj,
7587		CountryCodeFk,
7588		CountryCodeFm,
7589		CountryCodeFo,
7590		CountryCodeFr,
7591		CountryCodeGa,
7592		CountryCodeGb,
7593		CountryCodeGd,
7594		CountryCodeGe,
7595		CountryCodeGh,
7596		CountryCodeGi,
7597		CountryCodeGl,
7598		CountryCodeGm,
7599		CountryCodeGn,
7600		CountryCodeGq,
7601		CountryCodeGr,
7602		CountryCodeGt,
7603		CountryCodeGu,
7604		CountryCodeGw,
7605		CountryCodeGy,
7606		CountryCodeHk,
7607		CountryCodeHn,
7608		CountryCodeHr,
7609		CountryCodeHt,
7610		CountryCodeHu,
7611		CountryCodeId,
7612		CountryCodeIe,
7613		CountryCodeIl,
7614		CountryCodeIm,
7615		CountryCodeIn,
7616		CountryCodeIq,
7617		CountryCodeIr,
7618		CountryCodeIs,
7619		CountryCodeIt,
7620		CountryCodeJm,
7621		CountryCodeJo,
7622		CountryCodeJp,
7623		CountryCodeKe,
7624		CountryCodeKg,
7625		CountryCodeKh,
7626		CountryCodeKi,
7627		CountryCodeKm,
7628		CountryCodeKn,
7629		CountryCodeKp,
7630		CountryCodeKr,
7631		CountryCodeKw,
7632		CountryCodeKy,
7633		CountryCodeKz,
7634		CountryCodeLa,
7635		CountryCodeLb,
7636		CountryCodeLc,
7637		CountryCodeLi,
7638		CountryCodeLk,
7639		CountryCodeLr,
7640		CountryCodeLs,
7641		CountryCodeLt,
7642		CountryCodeLu,
7643		CountryCodeLv,
7644		CountryCodeLy,
7645		CountryCodeMa,
7646		CountryCodeMc,
7647		CountryCodeMd,
7648		CountryCodeMe,
7649		CountryCodeMf,
7650		CountryCodeMg,
7651		CountryCodeMh,
7652		CountryCodeMk,
7653		CountryCodeMl,
7654		CountryCodeMm,
7655		CountryCodeMn,
7656		CountryCodeMo,
7657		CountryCodeMp,
7658		CountryCodeMr,
7659		CountryCodeMs,
7660		CountryCodeMt,
7661		CountryCodeMu,
7662		CountryCodeMv,
7663		CountryCodeMw,
7664		CountryCodeMx,
7665		CountryCodeMy,
7666		CountryCodeMz,
7667		CountryCodeNa,
7668		CountryCodeNc,
7669		CountryCodeNe,
7670		CountryCodeNg,
7671		CountryCodeNi,
7672		CountryCodeNl,
7673		CountryCodeNo,
7674		CountryCodeNp,
7675		CountryCodeNr,
7676		CountryCodeNu,
7677		CountryCodeNz,
7678		CountryCodeOm,
7679		CountryCodePa,
7680		CountryCodePe,
7681		CountryCodePf,
7682		CountryCodePg,
7683		CountryCodePh,
7684		CountryCodePk,
7685		CountryCodePl,
7686		CountryCodePm,
7687		CountryCodePn,
7688		CountryCodePr,
7689		CountryCodePt,
7690		CountryCodePw,
7691		CountryCodePy,
7692		CountryCodeQa,
7693		CountryCodeRo,
7694		CountryCodeRs,
7695		CountryCodeRu,
7696		CountryCodeRw,
7697		CountryCodeSa,
7698		CountryCodeSb,
7699		CountryCodeSc,
7700		CountryCodeSd,
7701		CountryCodeSe,
7702		CountryCodeSg,
7703		CountryCodeSh,
7704		CountryCodeSi,
7705		CountryCodeSk,
7706		CountryCodeSl,
7707		CountryCodeSm,
7708		CountryCodeSn,
7709		CountryCodeSo,
7710		CountryCodeSr,
7711		CountryCodeSt,
7712		CountryCodeSv,
7713		CountryCodeSy,
7714		CountryCodeSz,
7715		CountryCodeTc,
7716		CountryCodeTd,
7717		CountryCodeTg,
7718		CountryCodeTh,
7719		CountryCodeTj,
7720		CountryCodeTk,
7721		CountryCodeTl,
7722		CountryCodeTm,
7723		CountryCodeTn,
7724		CountryCodeTo,
7725		CountryCodeTr,
7726		CountryCodeTt,
7727		CountryCodeTv,
7728		CountryCodeTw,
7729		CountryCodeTz,
7730		CountryCodeUa,
7731		CountryCodeUg,
7732		CountryCodeUs,
7733		CountryCodeUy,
7734		CountryCodeUz,
7735		CountryCodeVa,
7736		CountryCodeVc,
7737		CountryCodeVe,
7738		CountryCodeVg,
7739		CountryCodeVi,
7740		CountryCodeVn,
7741		CountryCodeVu,
7742		CountryCodeWf,
7743		CountryCodeWs,
7744		CountryCodeYe,
7745		CountryCodeYt,
7746		CountryCodeZa,
7747		CountryCodeZm,
7748		CountryCodeZw,
7749	}
7750}
7751
7752const (
7753	// DomainAvailabilityAvailable is a DomainAvailability enum value
7754	DomainAvailabilityAvailable = "AVAILABLE"
7755
7756	// DomainAvailabilityAvailableReserved is a DomainAvailability enum value
7757	DomainAvailabilityAvailableReserved = "AVAILABLE_RESERVED"
7758
7759	// DomainAvailabilityAvailablePreorder is a DomainAvailability enum value
7760	DomainAvailabilityAvailablePreorder = "AVAILABLE_PREORDER"
7761
7762	// DomainAvailabilityUnavailable is a DomainAvailability enum value
7763	DomainAvailabilityUnavailable = "UNAVAILABLE"
7764
7765	// DomainAvailabilityUnavailablePremium is a DomainAvailability enum value
7766	DomainAvailabilityUnavailablePremium = "UNAVAILABLE_PREMIUM"
7767
7768	// DomainAvailabilityUnavailableRestricted is a DomainAvailability enum value
7769	DomainAvailabilityUnavailableRestricted = "UNAVAILABLE_RESTRICTED"
7770
7771	// DomainAvailabilityReserved is a DomainAvailability enum value
7772	DomainAvailabilityReserved = "RESERVED"
7773
7774	// DomainAvailabilityDontKnow is a DomainAvailability enum value
7775	DomainAvailabilityDontKnow = "DONT_KNOW"
7776)
7777
7778// DomainAvailability_Values returns all elements of the DomainAvailability enum
7779func DomainAvailability_Values() []string {
7780	return []string{
7781		DomainAvailabilityAvailable,
7782		DomainAvailabilityAvailableReserved,
7783		DomainAvailabilityAvailablePreorder,
7784		DomainAvailabilityUnavailable,
7785		DomainAvailabilityUnavailablePremium,
7786		DomainAvailabilityUnavailableRestricted,
7787		DomainAvailabilityReserved,
7788		DomainAvailabilityDontKnow,
7789	}
7790}
7791
7792const (
7793	// ExtraParamNameDunsNumber is a ExtraParamName enum value
7794	ExtraParamNameDunsNumber = "DUNS_NUMBER"
7795
7796	// ExtraParamNameBrandNumber is a ExtraParamName enum value
7797	ExtraParamNameBrandNumber = "BRAND_NUMBER"
7798
7799	// ExtraParamNameBirthDepartment is a ExtraParamName enum value
7800	ExtraParamNameBirthDepartment = "BIRTH_DEPARTMENT"
7801
7802	// ExtraParamNameBirthDateInYyyyMmDd is a ExtraParamName enum value
7803	ExtraParamNameBirthDateInYyyyMmDd = "BIRTH_DATE_IN_YYYY_MM_DD"
7804
7805	// ExtraParamNameBirthCountry is a ExtraParamName enum value
7806	ExtraParamNameBirthCountry = "BIRTH_COUNTRY"
7807
7808	// ExtraParamNameBirthCity is a ExtraParamName enum value
7809	ExtraParamNameBirthCity = "BIRTH_CITY"
7810
7811	// ExtraParamNameDocumentNumber is a ExtraParamName enum value
7812	ExtraParamNameDocumentNumber = "DOCUMENT_NUMBER"
7813
7814	// ExtraParamNameAuIdNumber is a ExtraParamName enum value
7815	ExtraParamNameAuIdNumber = "AU_ID_NUMBER"
7816
7817	// ExtraParamNameAuIdType is a ExtraParamName enum value
7818	ExtraParamNameAuIdType = "AU_ID_TYPE"
7819
7820	// ExtraParamNameCaLegalType is a ExtraParamName enum value
7821	ExtraParamNameCaLegalType = "CA_LEGAL_TYPE"
7822
7823	// ExtraParamNameCaBusinessEntityType is a ExtraParamName enum value
7824	ExtraParamNameCaBusinessEntityType = "CA_BUSINESS_ENTITY_TYPE"
7825
7826	// ExtraParamNameCaLegalRepresentative is a ExtraParamName enum value
7827	ExtraParamNameCaLegalRepresentative = "CA_LEGAL_REPRESENTATIVE"
7828
7829	// ExtraParamNameCaLegalRepresentativeCapacity is a ExtraParamName enum value
7830	ExtraParamNameCaLegalRepresentativeCapacity = "CA_LEGAL_REPRESENTATIVE_CAPACITY"
7831
7832	// ExtraParamNameEsIdentification is a ExtraParamName enum value
7833	ExtraParamNameEsIdentification = "ES_IDENTIFICATION"
7834
7835	// ExtraParamNameEsIdentificationType is a ExtraParamName enum value
7836	ExtraParamNameEsIdentificationType = "ES_IDENTIFICATION_TYPE"
7837
7838	// ExtraParamNameEsLegalForm is a ExtraParamName enum value
7839	ExtraParamNameEsLegalForm = "ES_LEGAL_FORM"
7840
7841	// ExtraParamNameFiBusinessNumber is a ExtraParamName enum value
7842	ExtraParamNameFiBusinessNumber = "FI_BUSINESS_NUMBER"
7843
7844	// ExtraParamNameFiIdNumber is a ExtraParamName enum value
7845	ExtraParamNameFiIdNumber = "FI_ID_NUMBER"
7846
7847	// ExtraParamNameFiNationality is a ExtraParamName enum value
7848	ExtraParamNameFiNationality = "FI_NATIONALITY"
7849
7850	// ExtraParamNameFiOrganizationType is a ExtraParamName enum value
7851	ExtraParamNameFiOrganizationType = "FI_ORGANIZATION_TYPE"
7852
7853	// ExtraParamNameItNationality is a ExtraParamName enum value
7854	ExtraParamNameItNationality = "IT_NATIONALITY"
7855
7856	// ExtraParamNameItPin is a ExtraParamName enum value
7857	ExtraParamNameItPin = "IT_PIN"
7858
7859	// ExtraParamNameItRegistrantEntityType is a ExtraParamName enum value
7860	ExtraParamNameItRegistrantEntityType = "IT_REGISTRANT_ENTITY_TYPE"
7861
7862	// ExtraParamNameRuPassportData is a ExtraParamName enum value
7863	ExtraParamNameRuPassportData = "RU_PASSPORT_DATA"
7864
7865	// ExtraParamNameSeIdNumber is a ExtraParamName enum value
7866	ExtraParamNameSeIdNumber = "SE_ID_NUMBER"
7867
7868	// ExtraParamNameSgIdNumber is a ExtraParamName enum value
7869	ExtraParamNameSgIdNumber = "SG_ID_NUMBER"
7870
7871	// ExtraParamNameVatNumber is a ExtraParamName enum value
7872	ExtraParamNameVatNumber = "VAT_NUMBER"
7873
7874	// ExtraParamNameUkContactType is a ExtraParamName enum value
7875	ExtraParamNameUkContactType = "UK_CONTACT_TYPE"
7876
7877	// ExtraParamNameUkCompanyNumber is a ExtraParamName enum value
7878	ExtraParamNameUkCompanyNumber = "UK_COMPANY_NUMBER"
7879)
7880
7881// ExtraParamName_Values returns all elements of the ExtraParamName enum
7882func ExtraParamName_Values() []string {
7883	return []string{
7884		ExtraParamNameDunsNumber,
7885		ExtraParamNameBrandNumber,
7886		ExtraParamNameBirthDepartment,
7887		ExtraParamNameBirthDateInYyyyMmDd,
7888		ExtraParamNameBirthCountry,
7889		ExtraParamNameBirthCity,
7890		ExtraParamNameDocumentNumber,
7891		ExtraParamNameAuIdNumber,
7892		ExtraParamNameAuIdType,
7893		ExtraParamNameCaLegalType,
7894		ExtraParamNameCaBusinessEntityType,
7895		ExtraParamNameCaLegalRepresentative,
7896		ExtraParamNameCaLegalRepresentativeCapacity,
7897		ExtraParamNameEsIdentification,
7898		ExtraParamNameEsIdentificationType,
7899		ExtraParamNameEsLegalForm,
7900		ExtraParamNameFiBusinessNumber,
7901		ExtraParamNameFiIdNumber,
7902		ExtraParamNameFiNationality,
7903		ExtraParamNameFiOrganizationType,
7904		ExtraParamNameItNationality,
7905		ExtraParamNameItPin,
7906		ExtraParamNameItRegistrantEntityType,
7907		ExtraParamNameRuPassportData,
7908		ExtraParamNameSeIdNumber,
7909		ExtraParamNameSgIdNumber,
7910		ExtraParamNameVatNumber,
7911		ExtraParamNameUkContactType,
7912		ExtraParamNameUkCompanyNumber,
7913	}
7914}
7915
7916const (
7917	// OperationStatusSubmitted is a OperationStatus enum value
7918	OperationStatusSubmitted = "SUBMITTED"
7919
7920	// OperationStatusInProgress is a OperationStatus enum value
7921	OperationStatusInProgress = "IN_PROGRESS"
7922
7923	// OperationStatusError is a OperationStatus enum value
7924	OperationStatusError = "ERROR"
7925
7926	// OperationStatusSuccessful is a OperationStatus enum value
7927	OperationStatusSuccessful = "SUCCESSFUL"
7928
7929	// OperationStatusFailed is a OperationStatus enum value
7930	OperationStatusFailed = "FAILED"
7931)
7932
7933// OperationStatus_Values returns all elements of the OperationStatus enum
7934func OperationStatus_Values() []string {
7935	return []string{
7936		OperationStatusSubmitted,
7937		OperationStatusInProgress,
7938		OperationStatusError,
7939		OperationStatusSuccessful,
7940		OperationStatusFailed,
7941	}
7942}
7943
7944const (
7945	// OperationTypeRegisterDomain is a OperationType enum value
7946	OperationTypeRegisterDomain = "REGISTER_DOMAIN"
7947
7948	// OperationTypeDeleteDomain is a OperationType enum value
7949	OperationTypeDeleteDomain = "DELETE_DOMAIN"
7950
7951	// OperationTypeTransferInDomain is a OperationType enum value
7952	OperationTypeTransferInDomain = "TRANSFER_IN_DOMAIN"
7953
7954	// OperationTypeUpdateDomainContact is a OperationType enum value
7955	OperationTypeUpdateDomainContact = "UPDATE_DOMAIN_CONTACT"
7956
7957	// OperationTypeUpdateNameserver is a OperationType enum value
7958	OperationTypeUpdateNameserver = "UPDATE_NAMESERVER"
7959
7960	// OperationTypeChangePrivacyProtection is a OperationType enum value
7961	OperationTypeChangePrivacyProtection = "CHANGE_PRIVACY_PROTECTION"
7962
7963	// OperationTypeDomainLock is a OperationType enum value
7964	OperationTypeDomainLock = "DOMAIN_LOCK"
7965
7966	// OperationTypeEnableAutorenew is a OperationType enum value
7967	OperationTypeEnableAutorenew = "ENABLE_AUTORENEW"
7968
7969	// OperationTypeDisableAutorenew is a OperationType enum value
7970	OperationTypeDisableAutorenew = "DISABLE_AUTORENEW"
7971
7972	// OperationTypeAddDnssec is a OperationType enum value
7973	OperationTypeAddDnssec = "ADD_DNSSEC"
7974
7975	// OperationTypeRemoveDnssec is a OperationType enum value
7976	OperationTypeRemoveDnssec = "REMOVE_DNSSEC"
7977
7978	// OperationTypeExpireDomain is a OperationType enum value
7979	OperationTypeExpireDomain = "EXPIRE_DOMAIN"
7980
7981	// OperationTypeTransferOutDomain is a OperationType enum value
7982	OperationTypeTransferOutDomain = "TRANSFER_OUT_DOMAIN"
7983
7984	// OperationTypeChangeDomainOwner is a OperationType enum value
7985	OperationTypeChangeDomainOwner = "CHANGE_DOMAIN_OWNER"
7986
7987	// OperationTypeRenewDomain is a OperationType enum value
7988	OperationTypeRenewDomain = "RENEW_DOMAIN"
7989
7990	// OperationTypePushDomain is a OperationType enum value
7991	OperationTypePushDomain = "PUSH_DOMAIN"
7992
7993	// OperationTypeInternalTransferOutDomain is a OperationType enum value
7994	OperationTypeInternalTransferOutDomain = "INTERNAL_TRANSFER_OUT_DOMAIN"
7995
7996	// OperationTypeInternalTransferInDomain is a OperationType enum value
7997	OperationTypeInternalTransferInDomain = "INTERNAL_TRANSFER_IN_DOMAIN"
7998)
7999
8000// OperationType_Values returns all elements of the OperationType enum
8001func OperationType_Values() []string {
8002	return []string{
8003		OperationTypeRegisterDomain,
8004		OperationTypeDeleteDomain,
8005		OperationTypeTransferInDomain,
8006		OperationTypeUpdateDomainContact,
8007		OperationTypeUpdateNameserver,
8008		OperationTypeChangePrivacyProtection,
8009		OperationTypeDomainLock,
8010		OperationTypeEnableAutorenew,
8011		OperationTypeDisableAutorenew,
8012		OperationTypeAddDnssec,
8013		OperationTypeRemoveDnssec,
8014		OperationTypeExpireDomain,
8015		OperationTypeTransferOutDomain,
8016		OperationTypeChangeDomainOwner,
8017		OperationTypeRenewDomain,
8018		OperationTypePushDomain,
8019		OperationTypeInternalTransferOutDomain,
8020		OperationTypeInternalTransferInDomain,
8021	}
8022}
8023
8024const (
8025	// ReachabilityStatusPending is a ReachabilityStatus enum value
8026	ReachabilityStatusPending = "PENDING"
8027
8028	// ReachabilityStatusDone is a ReachabilityStatus enum value
8029	ReachabilityStatusDone = "DONE"
8030
8031	// ReachabilityStatusExpired is a ReachabilityStatus enum value
8032	ReachabilityStatusExpired = "EXPIRED"
8033)
8034
8035// ReachabilityStatus_Values returns all elements of the ReachabilityStatus enum
8036func ReachabilityStatus_Values() []string {
8037	return []string{
8038		ReachabilityStatusPending,
8039		ReachabilityStatusDone,
8040		ReachabilityStatusExpired,
8041	}
8042}
8043
8044// Whether the domain name can be transferred to Route 53.
8045//
8046// You can transfer only domains that have a value of TRANSFERABLE for Transferable.
8047//
8048// Valid values:
8049//
8050// TRANSFERABLE
8051//
8052// The domain name can be transferred to Route 53.
8053//
8054// UNTRANSFERRABLE
8055//
8056// The domain name can't be transferred to Route 53.
8057//
8058// DONT_KNOW
8059//
8060// Reserved for future use.
8061const (
8062	// TransferableTransferable is a Transferable enum value
8063	TransferableTransferable = "TRANSFERABLE"
8064
8065	// TransferableUntransferable is a Transferable enum value
8066	TransferableUntransferable = "UNTRANSFERABLE"
8067
8068	// TransferableDontKnow is a Transferable enum value
8069	TransferableDontKnow = "DONT_KNOW"
8070)
8071
8072// Transferable_Values returns all elements of the Transferable enum
8073func Transferable_Values() []string {
8074	return []string{
8075		TransferableTransferable,
8076		TransferableUntransferable,
8077		TransferableDontKnow,
8078	}
8079}
8080