github.com/aavshr/aws-sdk-go@v1.41.3/service/route53domains/api.go (about)

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package route53domains
     4  
     5  import (
     6  	"fmt"
     7  	"time"
     8  
     9  	"github.com/aavshr/aws-sdk-go/aws"
    10  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    11  	"github.com/aavshr/aws-sdk-go/aws/request"
    12  	"github.com/aavshr/aws-sdk-go/private/protocol"
    13  	"github.com/aavshr/aws-sdk-go/private/protocol/jsonrpc"
    14  )
    15  
    16  const 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
    42  func (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
    92  func (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.
   106  func (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  
   113  const 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
   139  func (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
   189  func (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.
   203  func (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  
   210  const 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
   236  func (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
   276  func (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.
   290  func (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  
   297  const 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
   323  func (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
   361  func (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.
   375  func (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  
   382  const 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
   408  func (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
   454  func (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.
   468  func (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  
   475  const 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
   501  func (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
   541  func (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.
   555  func (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  
   562  const 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
   588  func (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
   642  func (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.
   656  func (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  
   663  const 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
   689  func (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
   740  func (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.
   754  func (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  
   761  const 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
   787  func (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
   839  func (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.
   853  func (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  
   860  const 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
   886  func (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
   933  func (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.
   947  func (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  
   954  const 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
   980  func (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
  1020  func (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.
  1034  func (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  
  1041  const 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
  1067  func (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
  1105  func (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.
  1119  func (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  
  1126  const 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
  1152  func (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
  1187  func (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.
  1201  func (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  
  1208  const 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
  1234  func (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
  1276  func (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.
  1290  func (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  //
  1314  func (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.
  1325  func (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  
  1349  const 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
  1375  func (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
  1418  func (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.
  1432  func (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  //
  1456  func (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.
  1467  func (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  
  1491  const 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
  1517  func (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
  1563  func (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.
  1577  func (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  
  1584  const 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
  1610  func (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
  1687  func (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.
  1701  func (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  
  1708  const 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
  1734  func (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
  1781  func (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.
  1795  func (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  
  1802  const 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
  1828  func (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
  1883  func (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.
  1897  func (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  
  1904  const 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
  1930  func (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
  1974  func (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.
  1988  func (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  
  1995  const 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
  2021  func (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
  2060  func (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.
  2074  func (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  
  2081  const 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
  2107  func (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
  2191  func (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.
  2205  func (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  
  2212  const 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
  2238  func (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
  2306  func (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.
  2320  func (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  
  2327  const 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
  2353  func (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
  2408  func (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.
  2422  func (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  
  2429  const 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
  2455  func (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
  2523  func (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.
  2537  func (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  
  2544  const 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
  2570  func (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
  2625  func (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.
  2639  func (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  
  2646  const 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
  2672  func (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
  2718  func (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.
  2732  func (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  
  2739  const 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
  2765  func (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
  2801  func (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.
  2815  func (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.
  2824  type 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.
  2842  //
  2843  // API parameter values that are decorated as "sensitive" in the API will not
  2844  // be included in the string output. The member name will be present, but the
  2845  // value will be replaced with "sensitive".
  2846  func (s AcceptDomainTransferFromAnotherAwsAccountInput) String() string {
  2847  	return awsutil.Prettify(s)
  2848  }
  2849  
  2850  // GoString returns the string representation.
  2851  //
  2852  // API parameter values that are decorated as "sensitive" in the API will not
  2853  // be included in the string output. The member name will be present, but the
  2854  // value will be replaced with "sensitive".
  2855  func (s AcceptDomainTransferFromAnotherAwsAccountInput) GoString() string {
  2856  	return s.String()
  2857  }
  2858  
  2859  // Validate inspects the fields of the type to determine if they are valid.
  2860  func (s *AcceptDomainTransferFromAnotherAwsAccountInput) Validate() error {
  2861  	invalidParams := request.ErrInvalidParams{Context: "AcceptDomainTransferFromAnotherAwsAccountInput"}
  2862  	if s.DomainName == nil {
  2863  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  2864  	}
  2865  	if s.Password == nil {
  2866  		invalidParams.Add(request.NewErrParamRequired("Password"))
  2867  	}
  2868  
  2869  	if invalidParams.Len() > 0 {
  2870  		return invalidParams
  2871  	}
  2872  	return nil
  2873  }
  2874  
  2875  // SetDomainName sets the DomainName field's value.
  2876  func (s *AcceptDomainTransferFromAnotherAwsAccountInput) SetDomainName(v string) *AcceptDomainTransferFromAnotherAwsAccountInput {
  2877  	s.DomainName = &v
  2878  	return s
  2879  }
  2880  
  2881  // SetPassword sets the Password field's value.
  2882  func (s *AcceptDomainTransferFromAnotherAwsAccountInput) SetPassword(v string) *AcceptDomainTransferFromAnotherAwsAccountInput {
  2883  	s.Password = &v
  2884  	return s
  2885  }
  2886  
  2887  // The AcceptDomainTransferFromAnotherAwsAccount response includes the following
  2888  // element.
  2889  type AcceptDomainTransferFromAnotherAwsAccountOutput struct {
  2890  	_ struct{} `type:"structure"`
  2891  
  2892  	// Identifier for tracking the progress of the request. To query the operation
  2893  	// status, use GetOperationDetail (https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_GetOperationDetail.html).
  2894  	OperationId *string `type:"string"`
  2895  }
  2896  
  2897  // String returns the string representation.
  2898  //
  2899  // API parameter values that are decorated as "sensitive" in the API will not
  2900  // be included in the string output. The member name will be present, but the
  2901  // value will be replaced with "sensitive".
  2902  func (s AcceptDomainTransferFromAnotherAwsAccountOutput) String() string {
  2903  	return awsutil.Prettify(s)
  2904  }
  2905  
  2906  // GoString returns the string representation.
  2907  //
  2908  // API parameter values that are decorated as "sensitive" in the API will not
  2909  // be included in the string output. The member name will be present, but the
  2910  // value will be replaced with "sensitive".
  2911  func (s AcceptDomainTransferFromAnotherAwsAccountOutput) GoString() string {
  2912  	return s.String()
  2913  }
  2914  
  2915  // SetOperationId sets the OperationId field's value.
  2916  func (s *AcceptDomainTransferFromAnotherAwsAccountOutput) SetOperationId(v string) *AcceptDomainTransferFromAnotherAwsAccountOutput {
  2917  	s.OperationId = &v
  2918  	return s
  2919  }
  2920  
  2921  // Information for one billing record.
  2922  type BillingRecord struct {
  2923  	_ struct{} `type:"structure"`
  2924  
  2925  	// The date that the operation was billed, in Unix format.
  2926  	BillDate *time.Time `type:"timestamp"`
  2927  
  2928  	// The name of the domain that the billing record applies to. If the domain
  2929  	// name contains characters other than a-z, 0-9, and - (hyphen), such as an
  2930  	// internationalized domain name, then this value is in Punycode. For more information,
  2931  	// see DNS Domain Name Format (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html)
  2932  	// in the Amazon Route 53 Developer Guide.
  2933  	DomainName *string `type:"string"`
  2934  
  2935  	// The ID of the invoice that is associated with the billing record.
  2936  	InvoiceId *string `type:"string"`
  2937  
  2938  	// The operation that you were charged for.
  2939  	Operation *string `type:"string" enum:"OperationType"`
  2940  
  2941  	// The price that you were charged for the operation, in US dollars.
  2942  	//
  2943  	// Example value: 12.0
  2944  	Price *float64 `type:"double"`
  2945  }
  2946  
  2947  // String returns the string representation.
  2948  //
  2949  // API parameter values that are decorated as "sensitive" in the API will not
  2950  // be included in the string output. The member name will be present, but the
  2951  // value will be replaced with "sensitive".
  2952  func (s BillingRecord) String() string {
  2953  	return awsutil.Prettify(s)
  2954  }
  2955  
  2956  // GoString returns the string representation.
  2957  //
  2958  // API parameter values that are decorated as "sensitive" in the API will not
  2959  // be included in the string output. The member name will be present, but the
  2960  // value will be replaced with "sensitive".
  2961  func (s BillingRecord) GoString() string {
  2962  	return s.String()
  2963  }
  2964  
  2965  // SetBillDate sets the BillDate field's value.
  2966  func (s *BillingRecord) SetBillDate(v time.Time) *BillingRecord {
  2967  	s.BillDate = &v
  2968  	return s
  2969  }
  2970  
  2971  // SetDomainName sets the DomainName field's value.
  2972  func (s *BillingRecord) SetDomainName(v string) *BillingRecord {
  2973  	s.DomainName = &v
  2974  	return s
  2975  }
  2976  
  2977  // SetInvoiceId sets the InvoiceId field's value.
  2978  func (s *BillingRecord) SetInvoiceId(v string) *BillingRecord {
  2979  	s.InvoiceId = &v
  2980  	return s
  2981  }
  2982  
  2983  // SetOperation sets the Operation field's value.
  2984  func (s *BillingRecord) SetOperation(v string) *BillingRecord {
  2985  	s.Operation = &v
  2986  	return s
  2987  }
  2988  
  2989  // SetPrice sets the Price field's value.
  2990  func (s *BillingRecord) SetPrice(v float64) *BillingRecord {
  2991  	s.Price = &v
  2992  	return s
  2993  }
  2994  
  2995  // The CancelDomainTransferToAnotherAwsAccount request includes the following
  2996  // element.
  2997  type CancelDomainTransferToAnotherAwsAccountInput struct {
  2998  	_ struct{} `type:"structure"`
  2999  
  3000  	// The name of the domain for which you want to cancel the transfer to another
  3001  	// AWS account.
  3002  	//
  3003  	// DomainName is a required field
  3004  	DomainName *string `type:"string" required:"true"`
  3005  }
  3006  
  3007  // String returns the string representation.
  3008  //
  3009  // API parameter values that are decorated as "sensitive" in the API will not
  3010  // be included in the string output. The member name will be present, but the
  3011  // value will be replaced with "sensitive".
  3012  func (s CancelDomainTransferToAnotherAwsAccountInput) String() string {
  3013  	return awsutil.Prettify(s)
  3014  }
  3015  
  3016  // GoString returns the string representation.
  3017  //
  3018  // API parameter values that are decorated as "sensitive" in the API will not
  3019  // be included in the string output. The member name will be present, but the
  3020  // value will be replaced with "sensitive".
  3021  func (s CancelDomainTransferToAnotherAwsAccountInput) GoString() string {
  3022  	return s.String()
  3023  }
  3024  
  3025  // Validate inspects the fields of the type to determine if they are valid.
  3026  func (s *CancelDomainTransferToAnotherAwsAccountInput) Validate() error {
  3027  	invalidParams := request.ErrInvalidParams{Context: "CancelDomainTransferToAnotherAwsAccountInput"}
  3028  	if s.DomainName == nil {
  3029  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  3030  	}
  3031  
  3032  	if invalidParams.Len() > 0 {
  3033  		return invalidParams
  3034  	}
  3035  	return nil
  3036  }
  3037  
  3038  // SetDomainName sets the DomainName field's value.
  3039  func (s *CancelDomainTransferToAnotherAwsAccountInput) SetDomainName(v string) *CancelDomainTransferToAnotherAwsAccountInput {
  3040  	s.DomainName = &v
  3041  	return s
  3042  }
  3043  
  3044  // The CancelDomainTransferToAnotherAwsAccount response includes the following
  3045  // element.
  3046  type CancelDomainTransferToAnotherAwsAccountOutput struct {
  3047  	_ struct{} `type:"structure"`
  3048  
  3049  	// The identifier that TransferDomainToAnotherAwsAccount returned to track the
  3050  	// progress of the request. Because the transfer request was canceled, the value
  3051  	// is no longer valid, and you can't use GetOperationDetail to query the operation
  3052  	// status.
  3053  	OperationId *string `type:"string"`
  3054  }
  3055  
  3056  // String returns the string representation.
  3057  //
  3058  // API parameter values that are decorated as "sensitive" in the API will not
  3059  // be included in the string output. The member name will be present, but the
  3060  // value will be replaced with "sensitive".
  3061  func (s CancelDomainTransferToAnotherAwsAccountOutput) String() string {
  3062  	return awsutil.Prettify(s)
  3063  }
  3064  
  3065  // GoString returns the string representation.
  3066  //
  3067  // API parameter values that are decorated as "sensitive" in the API will not
  3068  // be included in the string output. The member name will be present, but the
  3069  // value will be replaced with "sensitive".
  3070  func (s CancelDomainTransferToAnotherAwsAccountOutput) GoString() string {
  3071  	return s.String()
  3072  }
  3073  
  3074  // SetOperationId sets the OperationId field's value.
  3075  func (s *CancelDomainTransferToAnotherAwsAccountOutput) SetOperationId(v string) *CancelDomainTransferToAnotherAwsAccountOutput {
  3076  	s.OperationId = &v
  3077  	return s
  3078  }
  3079  
  3080  // The CheckDomainAvailability request contains the following elements.
  3081  type CheckDomainAvailabilityInput struct {
  3082  	_ struct{} `type:"structure"`
  3083  
  3084  	// The name of the domain that you want to get availability for. The top-level
  3085  	// domain (TLD), such as .com, must be a TLD that Route 53 supports. For a list
  3086  	// of supported TLDs, see Domains that You Can Register with Amazon Route 53
  3087  	// (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/registrar-tld-list.html)
  3088  	// in the Amazon Route 53 Developer Guide.
  3089  	//
  3090  	// The domain name can contain only the following characters:
  3091  	//
  3092  	//    * Letters a through z. Domain names are not case sensitive.
  3093  	//
  3094  	//    * Numbers 0 through 9.
  3095  	//
  3096  	//    * Hyphen (-). You can't specify a hyphen at the beginning or end of a
  3097  	//    label.
  3098  	//
  3099  	//    * Period (.) to separate the labels in the name, such as the . in example.com.
  3100  	//
  3101  	// Internationalized domain names are not supported for some top-level domains.
  3102  	// To determine whether the TLD that you want to use supports internationalized
  3103  	// domain names, see Domains that You Can Register with Amazon Route 53 (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/registrar-tld-list.html).
  3104  	// For more information, see Formatting Internationalized Domain Names (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html#domain-name-format-idns).
  3105  	//
  3106  	// DomainName is a required field
  3107  	DomainName *string `type:"string" required:"true"`
  3108  
  3109  	// Reserved for future use.
  3110  	IdnLangCode *string `type:"string"`
  3111  }
  3112  
  3113  // String returns the string representation.
  3114  //
  3115  // API parameter values that are decorated as "sensitive" in the API will not
  3116  // be included in the string output. The member name will be present, but the
  3117  // value will be replaced with "sensitive".
  3118  func (s CheckDomainAvailabilityInput) String() string {
  3119  	return awsutil.Prettify(s)
  3120  }
  3121  
  3122  // GoString returns the string representation.
  3123  //
  3124  // API parameter values that are decorated as "sensitive" in the API will not
  3125  // be included in the string output. The member name will be present, but the
  3126  // value will be replaced with "sensitive".
  3127  func (s CheckDomainAvailabilityInput) GoString() string {
  3128  	return s.String()
  3129  }
  3130  
  3131  // Validate inspects the fields of the type to determine if they are valid.
  3132  func (s *CheckDomainAvailabilityInput) Validate() error {
  3133  	invalidParams := request.ErrInvalidParams{Context: "CheckDomainAvailabilityInput"}
  3134  	if s.DomainName == nil {
  3135  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  3136  	}
  3137  
  3138  	if invalidParams.Len() > 0 {
  3139  		return invalidParams
  3140  	}
  3141  	return nil
  3142  }
  3143  
  3144  // SetDomainName sets the DomainName field's value.
  3145  func (s *CheckDomainAvailabilityInput) SetDomainName(v string) *CheckDomainAvailabilityInput {
  3146  	s.DomainName = &v
  3147  	return s
  3148  }
  3149  
  3150  // SetIdnLangCode sets the IdnLangCode field's value.
  3151  func (s *CheckDomainAvailabilityInput) SetIdnLangCode(v string) *CheckDomainAvailabilityInput {
  3152  	s.IdnLangCode = &v
  3153  	return s
  3154  }
  3155  
  3156  // The CheckDomainAvailability response includes the following elements.
  3157  type CheckDomainAvailabilityOutput struct {
  3158  	_ struct{} `type:"structure"`
  3159  
  3160  	// Whether the domain name is available for registering.
  3161  	//
  3162  	// You can register only domains designated as AVAILABLE.
  3163  	//
  3164  	// Valid values:
  3165  	//
  3166  	// AVAILABLE
  3167  	//
  3168  	// The domain name is available.
  3169  	//
  3170  	// AVAILABLE_RESERVED
  3171  	//
  3172  	// The domain name is reserved under specific conditions.
  3173  	//
  3174  	// AVAILABLE_PREORDER
  3175  	//
  3176  	// The domain name is available and can be preordered.
  3177  	//
  3178  	// DONT_KNOW
  3179  	//
  3180  	// The TLD registry didn't reply with a definitive answer about whether the
  3181  	// domain name is available. Route 53 can return this response for a variety
  3182  	// of reasons, for example, the registry is performing maintenance. Try again
  3183  	// later.
  3184  	//
  3185  	// PENDING
  3186  	//
  3187  	// The TLD registry didn't return a response in the expected amount of time.
  3188  	// When the response is delayed, it usually takes just a few extra seconds.
  3189  	// You can resubmit the request immediately.
  3190  	//
  3191  	// RESERVED
  3192  	//
  3193  	// The domain name has been reserved for another person or organization.
  3194  	//
  3195  	// UNAVAILABLE
  3196  	//
  3197  	// The domain name is not available.
  3198  	//
  3199  	// UNAVAILABLE_PREMIUM
  3200  	//
  3201  	// The domain name is not available.
  3202  	//
  3203  	// UNAVAILABLE_RESTRICTED
  3204  	//
  3205  	// The domain name is forbidden.
  3206  	//
  3207  	// Availability is a required field
  3208  	Availability *string `type:"string" required:"true" enum:"DomainAvailability"`
  3209  }
  3210  
  3211  // String returns the string representation.
  3212  //
  3213  // API parameter values that are decorated as "sensitive" in the API will not
  3214  // be included in the string output. The member name will be present, but the
  3215  // value will be replaced with "sensitive".
  3216  func (s CheckDomainAvailabilityOutput) String() string {
  3217  	return awsutil.Prettify(s)
  3218  }
  3219  
  3220  // GoString returns the string representation.
  3221  //
  3222  // API parameter values that are decorated as "sensitive" in the API will not
  3223  // be included in the string output. The member name will be present, but the
  3224  // value will be replaced with "sensitive".
  3225  func (s CheckDomainAvailabilityOutput) GoString() string {
  3226  	return s.String()
  3227  }
  3228  
  3229  // SetAvailability sets the Availability field's value.
  3230  func (s *CheckDomainAvailabilityOutput) SetAvailability(v string) *CheckDomainAvailabilityOutput {
  3231  	s.Availability = &v
  3232  	return s
  3233  }
  3234  
  3235  // The CheckDomainTransferability request contains the following elements.
  3236  type CheckDomainTransferabilityInput struct {
  3237  	_ struct{} `type:"structure"`
  3238  
  3239  	// If the registrar for the top-level domain (TLD) requires an authorization
  3240  	// code to transfer the domain, the code that you got from the current registrar
  3241  	// for the domain.
  3242  	//
  3243  	// AuthCode is a sensitive parameter and its value will be
  3244  	// replaced with "sensitive" in string returned by CheckDomainTransferabilityInput's
  3245  	// String and GoString methods.
  3246  	AuthCode *string `type:"string" sensitive:"true"`
  3247  
  3248  	// The name of the domain that you want to transfer to Route 53. The top-level
  3249  	// domain (TLD), such as .com, must be a TLD that Route 53 supports. For a list
  3250  	// of supported TLDs, see Domains that You Can Register with Amazon Route 53
  3251  	// (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/registrar-tld-list.html)
  3252  	// in the Amazon Route 53 Developer Guide.
  3253  	//
  3254  	// The domain name can contain only the following characters:
  3255  	//
  3256  	//    * Letters a through z. Domain names are not case sensitive.
  3257  	//
  3258  	//    * Numbers 0 through 9.
  3259  	//
  3260  	//    * Hyphen (-). You can't specify a hyphen at the beginning or end of a
  3261  	//    label.
  3262  	//
  3263  	//    * Period (.) to separate the labels in the name, such as the . in example.com.
  3264  	//
  3265  	// DomainName is a required field
  3266  	DomainName *string `type:"string" required:"true"`
  3267  }
  3268  
  3269  // String returns the string representation.
  3270  //
  3271  // API parameter values that are decorated as "sensitive" in the API will not
  3272  // be included in the string output. The member name will be present, but the
  3273  // value will be replaced with "sensitive".
  3274  func (s CheckDomainTransferabilityInput) String() string {
  3275  	return awsutil.Prettify(s)
  3276  }
  3277  
  3278  // GoString returns the string representation.
  3279  //
  3280  // API parameter values that are decorated as "sensitive" in the API will not
  3281  // be included in the string output. The member name will be present, but the
  3282  // value will be replaced with "sensitive".
  3283  func (s CheckDomainTransferabilityInput) GoString() string {
  3284  	return s.String()
  3285  }
  3286  
  3287  // Validate inspects the fields of the type to determine if they are valid.
  3288  func (s *CheckDomainTransferabilityInput) Validate() error {
  3289  	invalidParams := request.ErrInvalidParams{Context: "CheckDomainTransferabilityInput"}
  3290  	if s.DomainName == nil {
  3291  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  3292  	}
  3293  
  3294  	if invalidParams.Len() > 0 {
  3295  		return invalidParams
  3296  	}
  3297  	return nil
  3298  }
  3299  
  3300  // SetAuthCode sets the AuthCode field's value.
  3301  func (s *CheckDomainTransferabilityInput) SetAuthCode(v string) *CheckDomainTransferabilityInput {
  3302  	s.AuthCode = &v
  3303  	return s
  3304  }
  3305  
  3306  // SetDomainName sets the DomainName field's value.
  3307  func (s *CheckDomainTransferabilityInput) SetDomainName(v string) *CheckDomainTransferabilityInput {
  3308  	s.DomainName = &v
  3309  	return s
  3310  }
  3311  
  3312  // The CheckDomainTransferability response includes the following elements.
  3313  type CheckDomainTransferabilityOutput struct {
  3314  	_ struct{} `type:"structure"`
  3315  
  3316  	// A complex type that contains information about whether the specified domain
  3317  	// can be transferred to Route 53.
  3318  	//
  3319  	// Transferability is a required field
  3320  	Transferability *DomainTransferability `type:"structure" required:"true"`
  3321  }
  3322  
  3323  // String returns the string representation.
  3324  //
  3325  // API parameter values that are decorated as "sensitive" in the API will not
  3326  // be included in the string output. The member name will be present, but the
  3327  // value will be replaced with "sensitive".
  3328  func (s CheckDomainTransferabilityOutput) String() string {
  3329  	return awsutil.Prettify(s)
  3330  }
  3331  
  3332  // GoString returns the string representation.
  3333  //
  3334  // API parameter values that are decorated as "sensitive" in the API will not
  3335  // be included in the string output. The member name will be present, but the
  3336  // value will be replaced with "sensitive".
  3337  func (s CheckDomainTransferabilityOutput) GoString() string {
  3338  	return s.String()
  3339  }
  3340  
  3341  // SetTransferability sets the Transferability field's value.
  3342  func (s *CheckDomainTransferabilityOutput) SetTransferability(v *DomainTransferability) *CheckDomainTransferabilityOutput {
  3343  	s.Transferability = v
  3344  	return s
  3345  }
  3346  
  3347  // ContactDetail includes the following elements.
  3348  type ContactDetail struct {
  3349  	_ struct{} `type:"structure" sensitive:"true"`
  3350  
  3351  	// First line of the contact's address.
  3352  	AddressLine1 *string `type:"string"`
  3353  
  3354  	// Second line of contact's address, if any.
  3355  	AddressLine2 *string `type:"string"`
  3356  
  3357  	// The city of the contact's address.
  3358  	City *string `type:"string"`
  3359  
  3360  	// Indicates whether the contact is a person, company, association, or public
  3361  	// organization. Note the following:
  3362  	//
  3363  	//    * If you specify a value other than PERSON, you must also specify a value
  3364  	//    for OrganizationName.
  3365  	//
  3366  	//    * For some TLDs, the privacy protection available depends on the value
  3367  	//    that you specify for Contact Type. For the privacy protection settings
  3368  	//    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)
  3369  	//    in the Amazon Route 53 Developer Guide
  3370  	//
  3371  	//    * For .es domains, if you specify PERSON, you must specify INDIVIDUAL
  3372  	//    for the value of ES_LEGAL_FORM.
  3373  	ContactType *string `type:"string" enum:"ContactType"`
  3374  
  3375  	// Code for the country of the contact's address.
  3376  	CountryCode *string `type:"string" enum:"CountryCode"`
  3377  
  3378  	// Email address of the contact.
  3379  	Email *string `type:"string"`
  3380  
  3381  	// A list of name-value pairs for parameters required by certain top-level domains.
  3382  	ExtraParams []*ExtraParam `type:"list"`
  3383  
  3384  	// Fax number of the contact.
  3385  	//
  3386  	// Constraints: Phone number must be specified in the format "+[country dialing
  3387  	// code].[number including any area code]". For example, a US phone number might
  3388  	// appear as "+1.1234567890".
  3389  	Fax *string `type:"string"`
  3390  
  3391  	// First name of contact.
  3392  	FirstName *string `type:"string"`
  3393  
  3394  	// Last name of contact.
  3395  	LastName *string `type:"string"`
  3396  
  3397  	// Name of the organization for contact types other than PERSON.
  3398  	OrganizationName *string `type:"string"`
  3399  
  3400  	// The phone number of the contact.
  3401  	//
  3402  	// Constraints: Phone number must be specified in the format "+[country dialing
  3403  	// code].[number including any area code>]". For example, a US phone number
  3404  	// might appear as "+1.1234567890".
  3405  	PhoneNumber *string `type:"string"`
  3406  
  3407  	// The state or province of the contact's city.
  3408  	State *string `type:"string"`
  3409  
  3410  	// The zip or postal code of the contact's address.
  3411  	ZipCode *string `type:"string"`
  3412  }
  3413  
  3414  // String returns the string representation.
  3415  //
  3416  // API parameter values that are decorated as "sensitive" in the API will not
  3417  // be included in the string output. The member name will be present, but the
  3418  // value will be replaced with "sensitive".
  3419  func (s ContactDetail) String() string {
  3420  	return awsutil.Prettify(s)
  3421  }
  3422  
  3423  // GoString returns the string representation.
  3424  //
  3425  // API parameter values that are decorated as "sensitive" in the API will not
  3426  // be included in the string output. The member name will be present, but the
  3427  // value will be replaced with "sensitive".
  3428  func (s ContactDetail) GoString() string {
  3429  	return s.String()
  3430  }
  3431  
  3432  // Validate inspects the fields of the type to determine if they are valid.
  3433  func (s *ContactDetail) Validate() error {
  3434  	invalidParams := request.ErrInvalidParams{Context: "ContactDetail"}
  3435  	if s.ExtraParams != nil {
  3436  		for i, v := range s.ExtraParams {
  3437  			if v == nil {
  3438  				continue
  3439  			}
  3440  			if err := v.Validate(); err != nil {
  3441  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ExtraParams", i), err.(request.ErrInvalidParams))
  3442  			}
  3443  		}
  3444  	}
  3445  
  3446  	if invalidParams.Len() > 0 {
  3447  		return invalidParams
  3448  	}
  3449  	return nil
  3450  }
  3451  
  3452  // SetAddressLine1 sets the AddressLine1 field's value.
  3453  func (s *ContactDetail) SetAddressLine1(v string) *ContactDetail {
  3454  	s.AddressLine1 = &v
  3455  	return s
  3456  }
  3457  
  3458  // SetAddressLine2 sets the AddressLine2 field's value.
  3459  func (s *ContactDetail) SetAddressLine2(v string) *ContactDetail {
  3460  	s.AddressLine2 = &v
  3461  	return s
  3462  }
  3463  
  3464  // SetCity sets the City field's value.
  3465  func (s *ContactDetail) SetCity(v string) *ContactDetail {
  3466  	s.City = &v
  3467  	return s
  3468  }
  3469  
  3470  // SetContactType sets the ContactType field's value.
  3471  func (s *ContactDetail) SetContactType(v string) *ContactDetail {
  3472  	s.ContactType = &v
  3473  	return s
  3474  }
  3475  
  3476  // SetCountryCode sets the CountryCode field's value.
  3477  func (s *ContactDetail) SetCountryCode(v string) *ContactDetail {
  3478  	s.CountryCode = &v
  3479  	return s
  3480  }
  3481  
  3482  // SetEmail sets the Email field's value.
  3483  func (s *ContactDetail) SetEmail(v string) *ContactDetail {
  3484  	s.Email = &v
  3485  	return s
  3486  }
  3487  
  3488  // SetExtraParams sets the ExtraParams field's value.
  3489  func (s *ContactDetail) SetExtraParams(v []*ExtraParam) *ContactDetail {
  3490  	s.ExtraParams = v
  3491  	return s
  3492  }
  3493  
  3494  // SetFax sets the Fax field's value.
  3495  func (s *ContactDetail) SetFax(v string) *ContactDetail {
  3496  	s.Fax = &v
  3497  	return s
  3498  }
  3499  
  3500  // SetFirstName sets the FirstName field's value.
  3501  func (s *ContactDetail) SetFirstName(v string) *ContactDetail {
  3502  	s.FirstName = &v
  3503  	return s
  3504  }
  3505  
  3506  // SetLastName sets the LastName field's value.
  3507  func (s *ContactDetail) SetLastName(v string) *ContactDetail {
  3508  	s.LastName = &v
  3509  	return s
  3510  }
  3511  
  3512  // SetOrganizationName sets the OrganizationName field's value.
  3513  func (s *ContactDetail) SetOrganizationName(v string) *ContactDetail {
  3514  	s.OrganizationName = &v
  3515  	return s
  3516  }
  3517  
  3518  // SetPhoneNumber sets the PhoneNumber field's value.
  3519  func (s *ContactDetail) SetPhoneNumber(v string) *ContactDetail {
  3520  	s.PhoneNumber = &v
  3521  	return s
  3522  }
  3523  
  3524  // SetState sets the State field's value.
  3525  func (s *ContactDetail) SetState(v string) *ContactDetail {
  3526  	s.State = &v
  3527  	return s
  3528  }
  3529  
  3530  // SetZipCode sets the ZipCode field's value.
  3531  func (s *ContactDetail) SetZipCode(v string) *ContactDetail {
  3532  	s.ZipCode = &v
  3533  	return s
  3534  }
  3535  
  3536  // The DeleteTagsForDomainRequest includes the following elements.
  3537  type DeleteTagsForDomainInput struct {
  3538  	_ struct{} `type:"structure"`
  3539  
  3540  	// The domain for which you want to delete one or more tags.
  3541  	//
  3542  	// DomainName is a required field
  3543  	DomainName *string `type:"string" required:"true"`
  3544  
  3545  	// A list of tag keys to delete.
  3546  	//
  3547  	// TagsToDelete is a required field
  3548  	TagsToDelete []*string `type:"list" required:"true"`
  3549  }
  3550  
  3551  // String returns the string representation.
  3552  //
  3553  // API parameter values that are decorated as "sensitive" in the API will not
  3554  // be included in the string output. The member name will be present, but the
  3555  // value will be replaced with "sensitive".
  3556  func (s DeleteTagsForDomainInput) String() string {
  3557  	return awsutil.Prettify(s)
  3558  }
  3559  
  3560  // GoString returns the string representation.
  3561  //
  3562  // API parameter values that are decorated as "sensitive" in the API will not
  3563  // be included in the string output. The member name will be present, but the
  3564  // value will be replaced with "sensitive".
  3565  func (s DeleteTagsForDomainInput) GoString() string {
  3566  	return s.String()
  3567  }
  3568  
  3569  // Validate inspects the fields of the type to determine if they are valid.
  3570  func (s *DeleteTagsForDomainInput) Validate() error {
  3571  	invalidParams := request.ErrInvalidParams{Context: "DeleteTagsForDomainInput"}
  3572  	if s.DomainName == nil {
  3573  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  3574  	}
  3575  	if s.TagsToDelete == nil {
  3576  		invalidParams.Add(request.NewErrParamRequired("TagsToDelete"))
  3577  	}
  3578  
  3579  	if invalidParams.Len() > 0 {
  3580  		return invalidParams
  3581  	}
  3582  	return nil
  3583  }
  3584  
  3585  // SetDomainName sets the DomainName field's value.
  3586  func (s *DeleteTagsForDomainInput) SetDomainName(v string) *DeleteTagsForDomainInput {
  3587  	s.DomainName = &v
  3588  	return s
  3589  }
  3590  
  3591  // SetTagsToDelete sets the TagsToDelete field's value.
  3592  func (s *DeleteTagsForDomainInput) SetTagsToDelete(v []*string) *DeleteTagsForDomainInput {
  3593  	s.TagsToDelete = v
  3594  	return s
  3595  }
  3596  
  3597  type DeleteTagsForDomainOutput struct {
  3598  	_ struct{} `type:"structure"`
  3599  }
  3600  
  3601  // String returns the string representation.
  3602  //
  3603  // API parameter values that are decorated as "sensitive" in the API will not
  3604  // be included in the string output. The member name will be present, but the
  3605  // value will be replaced with "sensitive".
  3606  func (s DeleteTagsForDomainOutput) String() string {
  3607  	return awsutil.Prettify(s)
  3608  }
  3609  
  3610  // GoString returns the string representation.
  3611  //
  3612  // API parameter values that are decorated as "sensitive" in the API will not
  3613  // be included in the string output. The member name will be present, but the
  3614  // value will be replaced with "sensitive".
  3615  func (s DeleteTagsForDomainOutput) GoString() string {
  3616  	return s.String()
  3617  }
  3618  
  3619  type DisableDomainAutoRenewInput struct {
  3620  	_ struct{} `type:"structure"`
  3621  
  3622  	// The name of the domain that you want to disable automatic renewal for.
  3623  	//
  3624  	// DomainName is a required field
  3625  	DomainName *string `type:"string" required:"true"`
  3626  }
  3627  
  3628  // String returns the string representation.
  3629  //
  3630  // API parameter values that are decorated as "sensitive" in the API will not
  3631  // be included in the string output. The member name will be present, but the
  3632  // value will be replaced with "sensitive".
  3633  func (s DisableDomainAutoRenewInput) String() string {
  3634  	return awsutil.Prettify(s)
  3635  }
  3636  
  3637  // GoString returns the string representation.
  3638  //
  3639  // API parameter values that are decorated as "sensitive" in the API will not
  3640  // be included in the string output. The member name will be present, but the
  3641  // value will be replaced with "sensitive".
  3642  func (s DisableDomainAutoRenewInput) GoString() string {
  3643  	return s.String()
  3644  }
  3645  
  3646  // Validate inspects the fields of the type to determine if they are valid.
  3647  func (s *DisableDomainAutoRenewInput) Validate() error {
  3648  	invalidParams := request.ErrInvalidParams{Context: "DisableDomainAutoRenewInput"}
  3649  	if s.DomainName == nil {
  3650  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  3651  	}
  3652  
  3653  	if invalidParams.Len() > 0 {
  3654  		return invalidParams
  3655  	}
  3656  	return nil
  3657  }
  3658  
  3659  // SetDomainName sets the DomainName field's value.
  3660  func (s *DisableDomainAutoRenewInput) SetDomainName(v string) *DisableDomainAutoRenewInput {
  3661  	s.DomainName = &v
  3662  	return s
  3663  }
  3664  
  3665  type DisableDomainAutoRenewOutput struct {
  3666  	_ struct{} `type:"structure"`
  3667  }
  3668  
  3669  // String returns the string representation.
  3670  //
  3671  // API parameter values that are decorated as "sensitive" in the API will not
  3672  // be included in the string output. The member name will be present, but the
  3673  // value will be replaced with "sensitive".
  3674  func (s DisableDomainAutoRenewOutput) String() string {
  3675  	return awsutil.Prettify(s)
  3676  }
  3677  
  3678  // GoString returns the string representation.
  3679  //
  3680  // API parameter values that are decorated as "sensitive" in the API will not
  3681  // be included in the string output. The member name will be present, but the
  3682  // value will be replaced with "sensitive".
  3683  func (s DisableDomainAutoRenewOutput) GoString() string {
  3684  	return s.String()
  3685  }
  3686  
  3687  // The DisableDomainTransferLock request includes the following element.
  3688  type DisableDomainTransferLockInput struct {
  3689  	_ struct{} `type:"structure"`
  3690  
  3691  	// The name of the domain that you want to remove the transfer lock for.
  3692  	//
  3693  	// DomainName is a required field
  3694  	DomainName *string `type:"string" required:"true"`
  3695  }
  3696  
  3697  // String returns the string representation.
  3698  //
  3699  // API parameter values that are decorated as "sensitive" in the API will not
  3700  // be included in the string output. The member name will be present, but the
  3701  // value will be replaced with "sensitive".
  3702  func (s DisableDomainTransferLockInput) String() string {
  3703  	return awsutil.Prettify(s)
  3704  }
  3705  
  3706  // GoString returns the string representation.
  3707  //
  3708  // API parameter values that are decorated as "sensitive" in the API will not
  3709  // be included in the string output. The member name will be present, but the
  3710  // value will be replaced with "sensitive".
  3711  func (s DisableDomainTransferLockInput) GoString() string {
  3712  	return s.String()
  3713  }
  3714  
  3715  // Validate inspects the fields of the type to determine if they are valid.
  3716  func (s *DisableDomainTransferLockInput) Validate() error {
  3717  	invalidParams := request.ErrInvalidParams{Context: "DisableDomainTransferLockInput"}
  3718  	if s.DomainName == nil {
  3719  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  3720  	}
  3721  
  3722  	if invalidParams.Len() > 0 {
  3723  		return invalidParams
  3724  	}
  3725  	return nil
  3726  }
  3727  
  3728  // SetDomainName sets the DomainName field's value.
  3729  func (s *DisableDomainTransferLockInput) SetDomainName(v string) *DisableDomainTransferLockInput {
  3730  	s.DomainName = &v
  3731  	return s
  3732  }
  3733  
  3734  // The DisableDomainTransferLock response includes the following element.
  3735  type DisableDomainTransferLockOutput struct {
  3736  	_ struct{} `type:"structure"`
  3737  
  3738  	// Identifier for tracking the progress of the request. To query the operation
  3739  	// status, use GetOperationDetail (https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_GetOperationDetail.html).
  3740  	//
  3741  	// OperationId is a required field
  3742  	OperationId *string `type:"string" required:"true"`
  3743  }
  3744  
  3745  // String returns the string representation.
  3746  //
  3747  // API parameter values that are decorated as "sensitive" in the API will not
  3748  // be included in the string output. The member name will be present, but the
  3749  // value will be replaced with "sensitive".
  3750  func (s DisableDomainTransferLockOutput) String() string {
  3751  	return awsutil.Prettify(s)
  3752  }
  3753  
  3754  // GoString returns the string representation.
  3755  //
  3756  // API parameter values that are decorated as "sensitive" in the API will not
  3757  // be included in the string output. The member name will be present, but the
  3758  // value will be replaced with "sensitive".
  3759  func (s DisableDomainTransferLockOutput) GoString() string {
  3760  	return s.String()
  3761  }
  3762  
  3763  // SetOperationId sets the OperationId field's value.
  3764  func (s *DisableDomainTransferLockOutput) SetOperationId(v string) *DisableDomainTransferLockOutput {
  3765  	s.OperationId = &v
  3766  	return s
  3767  }
  3768  
  3769  // The number of domains has exceeded the allowed threshold for the account.
  3770  type DomainLimitExceeded struct {
  3771  	_            struct{}                  `type:"structure"`
  3772  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3773  
  3774  	// The number of domains has exceeded the allowed threshold for the account.
  3775  	Message_ *string `locationName:"message" type:"string"`
  3776  }
  3777  
  3778  // String returns the string representation.
  3779  //
  3780  // API parameter values that are decorated as "sensitive" in the API will not
  3781  // be included in the string output. The member name will be present, but the
  3782  // value will be replaced with "sensitive".
  3783  func (s DomainLimitExceeded) String() string {
  3784  	return awsutil.Prettify(s)
  3785  }
  3786  
  3787  // GoString returns the string representation.
  3788  //
  3789  // API parameter values that are decorated as "sensitive" in the API will not
  3790  // be included in the string output. The member name will be present, but the
  3791  // value will be replaced with "sensitive".
  3792  func (s DomainLimitExceeded) GoString() string {
  3793  	return s.String()
  3794  }
  3795  
  3796  func newErrorDomainLimitExceeded(v protocol.ResponseMetadata) error {
  3797  	return &DomainLimitExceeded{
  3798  		RespMetadata: v,
  3799  	}
  3800  }
  3801  
  3802  // Code returns the exception type name.
  3803  func (s *DomainLimitExceeded) Code() string {
  3804  	return "DomainLimitExceeded"
  3805  }
  3806  
  3807  // Message returns the exception's message.
  3808  func (s *DomainLimitExceeded) Message() string {
  3809  	if s.Message_ != nil {
  3810  		return *s.Message_
  3811  	}
  3812  	return ""
  3813  }
  3814  
  3815  // OrigErr always returns nil, satisfies awserr.Error interface.
  3816  func (s *DomainLimitExceeded) OrigErr() error {
  3817  	return nil
  3818  }
  3819  
  3820  func (s *DomainLimitExceeded) Error() string {
  3821  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  3822  }
  3823  
  3824  // Status code returns the HTTP status code for the request's response error.
  3825  func (s *DomainLimitExceeded) StatusCode() int {
  3826  	return s.RespMetadata.StatusCode
  3827  }
  3828  
  3829  // RequestID returns the service's response RequestID for request.
  3830  func (s *DomainLimitExceeded) RequestID() string {
  3831  	return s.RespMetadata.RequestID
  3832  }
  3833  
  3834  // Information about one suggested domain name.
  3835  type DomainSuggestion struct {
  3836  	_ struct{} `type:"structure"`
  3837  
  3838  	// Whether the domain name is available for registering.
  3839  	//
  3840  	// You can register only the domains that are designated as AVAILABLE.
  3841  	//
  3842  	// Valid values:
  3843  	//
  3844  	// AVAILABLE
  3845  	//
  3846  	// The domain name is available.
  3847  	//
  3848  	// AVAILABLE_RESERVED
  3849  	//
  3850  	// The domain name is reserved under specific conditions.
  3851  	//
  3852  	// AVAILABLE_PREORDER
  3853  	//
  3854  	// The domain name is available and can be preordered.
  3855  	//
  3856  	// DONT_KNOW
  3857  	//
  3858  	// The TLD registry didn't reply with a definitive answer about whether the
  3859  	// domain name is available. Route 53 can return this response for a variety
  3860  	// of reasons, for example, the registry is performing maintenance. Try again
  3861  	// later.
  3862  	//
  3863  	// PENDING
  3864  	//
  3865  	// The TLD registry didn't return a response in the expected amount of time.
  3866  	// When the response is delayed, it usually takes just a few extra seconds.
  3867  	// You can resubmit the request immediately.
  3868  	//
  3869  	// RESERVED
  3870  	//
  3871  	// The domain name has been reserved for another person or organization.
  3872  	//
  3873  	// UNAVAILABLE
  3874  	//
  3875  	// The domain name is not available.
  3876  	//
  3877  	// UNAVAILABLE_PREMIUM
  3878  	//
  3879  	// The domain name is not available.
  3880  	//
  3881  	// UNAVAILABLE_RESTRICTED
  3882  	//
  3883  	// The domain name is forbidden.
  3884  	Availability *string `type:"string"`
  3885  
  3886  	// A suggested domain name.
  3887  	DomainName *string `type:"string"`
  3888  }
  3889  
  3890  // String returns the string representation.
  3891  //
  3892  // API parameter values that are decorated as "sensitive" in the API will not
  3893  // be included in the string output. The member name will be present, but the
  3894  // value will be replaced with "sensitive".
  3895  func (s DomainSuggestion) String() string {
  3896  	return awsutil.Prettify(s)
  3897  }
  3898  
  3899  // GoString returns the string representation.
  3900  //
  3901  // API parameter values that are decorated as "sensitive" in the API will not
  3902  // be included in the string output. The member name will be present, but the
  3903  // value will be replaced with "sensitive".
  3904  func (s DomainSuggestion) GoString() string {
  3905  	return s.String()
  3906  }
  3907  
  3908  // SetAvailability sets the Availability field's value.
  3909  func (s *DomainSuggestion) SetAvailability(v string) *DomainSuggestion {
  3910  	s.Availability = &v
  3911  	return s
  3912  }
  3913  
  3914  // SetDomainName sets the DomainName field's value.
  3915  func (s *DomainSuggestion) SetDomainName(v string) *DomainSuggestion {
  3916  	s.DomainName = &v
  3917  	return s
  3918  }
  3919  
  3920  // Summary information about one domain.
  3921  type DomainSummary struct {
  3922  	_ struct{} `type:"structure"`
  3923  
  3924  	// Indicates whether the domain is automatically renewed upon expiration.
  3925  	AutoRenew *bool `type:"boolean"`
  3926  
  3927  	// The name of the domain that the summary information applies to.
  3928  	//
  3929  	// DomainName is a required field
  3930  	DomainName *string `type:"string" required:"true"`
  3931  
  3932  	// Expiration date of the domain in Unix time format and Coordinated Universal
  3933  	// Time (UTC).
  3934  	Expiry *time.Time `type:"timestamp"`
  3935  
  3936  	// Indicates whether a domain is locked from unauthorized transfer to another
  3937  	// party.
  3938  	TransferLock *bool `type:"boolean"`
  3939  }
  3940  
  3941  // String returns the string representation.
  3942  //
  3943  // API parameter values that are decorated as "sensitive" in the API will not
  3944  // be included in the string output. The member name will be present, but the
  3945  // value will be replaced with "sensitive".
  3946  func (s DomainSummary) String() string {
  3947  	return awsutil.Prettify(s)
  3948  }
  3949  
  3950  // GoString returns the string representation.
  3951  //
  3952  // API parameter values that are decorated as "sensitive" in the API will not
  3953  // be included in the string output. The member name will be present, but the
  3954  // value will be replaced with "sensitive".
  3955  func (s DomainSummary) GoString() string {
  3956  	return s.String()
  3957  }
  3958  
  3959  // SetAutoRenew sets the AutoRenew field's value.
  3960  func (s *DomainSummary) SetAutoRenew(v bool) *DomainSummary {
  3961  	s.AutoRenew = &v
  3962  	return s
  3963  }
  3964  
  3965  // SetDomainName sets the DomainName field's value.
  3966  func (s *DomainSummary) SetDomainName(v string) *DomainSummary {
  3967  	s.DomainName = &v
  3968  	return s
  3969  }
  3970  
  3971  // SetExpiry sets the Expiry field's value.
  3972  func (s *DomainSummary) SetExpiry(v time.Time) *DomainSummary {
  3973  	s.Expiry = &v
  3974  	return s
  3975  }
  3976  
  3977  // SetTransferLock sets the TransferLock field's value.
  3978  func (s *DomainSummary) SetTransferLock(v bool) *DomainSummary {
  3979  	s.TransferLock = &v
  3980  	return s
  3981  }
  3982  
  3983  // A complex type that contains information about whether the specified domain
  3984  // can be transferred to Route 53.
  3985  type DomainTransferability struct {
  3986  	_ struct{} `type:"structure"`
  3987  
  3988  	// Whether the domain name can be transferred to Route 53.
  3989  	//
  3990  	// You can transfer only domains that have a value of TRANSFERABLE for Transferable.
  3991  	//
  3992  	// Valid values:
  3993  	//
  3994  	// TRANSFERABLE
  3995  	//
  3996  	// The domain name can be transferred to Route 53.
  3997  	//
  3998  	// UNTRANSFERRABLE
  3999  	//
  4000  	// The domain name can't be transferred to Route 53.
  4001  	//
  4002  	// DONT_KNOW
  4003  	//
  4004  	// Reserved for future use.
  4005  	Transferable *string `type:"string" enum:"Transferable"`
  4006  }
  4007  
  4008  // String returns the string representation.
  4009  //
  4010  // API parameter values that are decorated as "sensitive" in the API will not
  4011  // be included in the string output. The member name will be present, but the
  4012  // value will be replaced with "sensitive".
  4013  func (s DomainTransferability) String() string {
  4014  	return awsutil.Prettify(s)
  4015  }
  4016  
  4017  // GoString returns the string representation.
  4018  //
  4019  // API parameter values that are decorated as "sensitive" in the API will not
  4020  // be included in the string output. The member name will be present, but the
  4021  // value will be replaced with "sensitive".
  4022  func (s DomainTransferability) GoString() string {
  4023  	return s.String()
  4024  }
  4025  
  4026  // SetTransferable sets the Transferable field's value.
  4027  func (s *DomainTransferability) SetTransferable(v string) *DomainTransferability {
  4028  	s.Transferable = &v
  4029  	return s
  4030  }
  4031  
  4032  // The request is already in progress for the domain.
  4033  type DuplicateRequest struct {
  4034  	_            struct{}                  `type:"structure"`
  4035  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4036  
  4037  	// The request is already in progress for the domain.
  4038  	Message_ *string `locationName:"message" type:"string"`
  4039  }
  4040  
  4041  // String returns the string representation.
  4042  //
  4043  // API parameter values that are decorated as "sensitive" in the API will not
  4044  // be included in the string output. The member name will be present, but the
  4045  // value will be replaced with "sensitive".
  4046  func (s DuplicateRequest) String() string {
  4047  	return awsutil.Prettify(s)
  4048  }
  4049  
  4050  // GoString returns the string representation.
  4051  //
  4052  // API parameter values that are decorated as "sensitive" in the API will not
  4053  // be included in the string output. The member name will be present, but the
  4054  // value will be replaced with "sensitive".
  4055  func (s DuplicateRequest) GoString() string {
  4056  	return s.String()
  4057  }
  4058  
  4059  func newErrorDuplicateRequest(v protocol.ResponseMetadata) error {
  4060  	return &DuplicateRequest{
  4061  		RespMetadata: v,
  4062  	}
  4063  }
  4064  
  4065  // Code returns the exception type name.
  4066  func (s *DuplicateRequest) Code() string {
  4067  	return "DuplicateRequest"
  4068  }
  4069  
  4070  // Message returns the exception's message.
  4071  func (s *DuplicateRequest) Message() string {
  4072  	if s.Message_ != nil {
  4073  		return *s.Message_
  4074  	}
  4075  	return ""
  4076  }
  4077  
  4078  // OrigErr always returns nil, satisfies awserr.Error interface.
  4079  func (s *DuplicateRequest) OrigErr() error {
  4080  	return nil
  4081  }
  4082  
  4083  func (s *DuplicateRequest) Error() string {
  4084  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  4085  }
  4086  
  4087  // Status code returns the HTTP status code for the request's response error.
  4088  func (s *DuplicateRequest) StatusCode() int {
  4089  	return s.RespMetadata.StatusCode
  4090  }
  4091  
  4092  // RequestID returns the service's response RequestID for request.
  4093  func (s *DuplicateRequest) RequestID() string {
  4094  	return s.RespMetadata.RequestID
  4095  }
  4096  
  4097  type EnableDomainAutoRenewInput struct {
  4098  	_ struct{} `type:"structure"`
  4099  
  4100  	// The name of the domain that you want to enable automatic renewal for.
  4101  	//
  4102  	// DomainName is a required field
  4103  	DomainName *string `type:"string" required:"true"`
  4104  }
  4105  
  4106  // String returns the string representation.
  4107  //
  4108  // API parameter values that are decorated as "sensitive" in the API will not
  4109  // be included in the string output. The member name will be present, but the
  4110  // value will be replaced with "sensitive".
  4111  func (s EnableDomainAutoRenewInput) String() string {
  4112  	return awsutil.Prettify(s)
  4113  }
  4114  
  4115  // GoString returns the string representation.
  4116  //
  4117  // API parameter values that are decorated as "sensitive" in the API will not
  4118  // be included in the string output. The member name will be present, but the
  4119  // value will be replaced with "sensitive".
  4120  func (s EnableDomainAutoRenewInput) GoString() string {
  4121  	return s.String()
  4122  }
  4123  
  4124  // Validate inspects the fields of the type to determine if they are valid.
  4125  func (s *EnableDomainAutoRenewInput) Validate() error {
  4126  	invalidParams := request.ErrInvalidParams{Context: "EnableDomainAutoRenewInput"}
  4127  	if s.DomainName == nil {
  4128  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  4129  	}
  4130  
  4131  	if invalidParams.Len() > 0 {
  4132  		return invalidParams
  4133  	}
  4134  	return nil
  4135  }
  4136  
  4137  // SetDomainName sets the DomainName field's value.
  4138  func (s *EnableDomainAutoRenewInput) SetDomainName(v string) *EnableDomainAutoRenewInput {
  4139  	s.DomainName = &v
  4140  	return s
  4141  }
  4142  
  4143  type EnableDomainAutoRenewOutput struct {
  4144  	_ struct{} `type:"structure"`
  4145  }
  4146  
  4147  // String returns the string representation.
  4148  //
  4149  // API parameter values that are decorated as "sensitive" in the API will not
  4150  // be included in the string output. The member name will be present, but the
  4151  // value will be replaced with "sensitive".
  4152  func (s EnableDomainAutoRenewOutput) String() string {
  4153  	return awsutil.Prettify(s)
  4154  }
  4155  
  4156  // GoString returns the string representation.
  4157  //
  4158  // API parameter values that are decorated as "sensitive" in the API will not
  4159  // be included in the string output. The member name will be present, but the
  4160  // value will be replaced with "sensitive".
  4161  func (s EnableDomainAutoRenewOutput) GoString() string {
  4162  	return s.String()
  4163  }
  4164  
  4165  // A request to set the transfer lock for the specified domain.
  4166  type EnableDomainTransferLockInput struct {
  4167  	_ struct{} `type:"structure"`
  4168  
  4169  	// The name of the domain that you want to set the transfer lock for.
  4170  	//
  4171  	// DomainName is a required field
  4172  	DomainName *string `type:"string" required:"true"`
  4173  }
  4174  
  4175  // String returns the string representation.
  4176  //
  4177  // API parameter values that are decorated as "sensitive" in the API will not
  4178  // be included in the string output. The member name will be present, but the
  4179  // value will be replaced with "sensitive".
  4180  func (s EnableDomainTransferLockInput) String() string {
  4181  	return awsutil.Prettify(s)
  4182  }
  4183  
  4184  // GoString returns the string representation.
  4185  //
  4186  // API parameter values that are decorated as "sensitive" in the API will not
  4187  // be included in the string output. The member name will be present, but the
  4188  // value will be replaced with "sensitive".
  4189  func (s EnableDomainTransferLockInput) GoString() string {
  4190  	return s.String()
  4191  }
  4192  
  4193  // Validate inspects the fields of the type to determine if they are valid.
  4194  func (s *EnableDomainTransferLockInput) Validate() error {
  4195  	invalidParams := request.ErrInvalidParams{Context: "EnableDomainTransferLockInput"}
  4196  	if s.DomainName == nil {
  4197  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  4198  	}
  4199  
  4200  	if invalidParams.Len() > 0 {
  4201  		return invalidParams
  4202  	}
  4203  	return nil
  4204  }
  4205  
  4206  // SetDomainName sets the DomainName field's value.
  4207  func (s *EnableDomainTransferLockInput) SetDomainName(v string) *EnableDomainTransferLockInput {
  4208  	s.DomainName = &v
  4209  	return s
  4210  }
  4211  
  4212  // The EnableDomainTransferLock response includes the following elements.
  4213  type EnableDomainTransferLockOutput struct {
  4214  	_ struct{} `type:"structure"`
  4215  
  4216  	// Identifier for tracking the progress of the request. To use this ID to query
  4217  	// the operation status, use GetOperationDetail.
  4218  	//
  4219  	// OperationId is a required field
  4220  	OperationId *string `type:"string" required:"true"`
  4221  }
  4222  
  4223  // String returns the string representation.
  4224  //
  4225  // API parameter values that are decorated as "sensitive" in the API will not
  4226  // be included in the string output. The member name will be present, but the
  4227  // value will be replaced with "sensitive".
  4228  func (s EnableDomainTransferLockOutput) String() string {
  4229  	return awsutil.Prettify(s)
  4230  }
  4231  
  4232  // GoString returns the string representation.
  4233  //
  4234  // API parameter values that are decorated as "sensitive" in the API will not
  4235  // be included in the string output. The member name will be present, but the
  4236  // value will be replaced with "sensitive".
  4237  func (s EnableDomainTransferLockOutput) GoString() string {
  4238  	return s.String()
  4239  }
  4240  
  4241  // SetOperationId sets the OperationId field's value.
  4242  func (s *EnableDomainTransferLockOutput) SetOperationId(v string) *EnableDomainTransferLockOutput {
  4243  	s.OperationId = &v
  4244  	return s
  4245  }
  4246  
  4247  // ExtraParam includes the following elements.
  4248  type ExtraParam struct {
  4249  	_ struct{} `type:"structure"`
  4250  
  4251  	// The name of an additional parameter that is required by a top-level domain.
  4252  	// Here are the top-level domains that require additional parameters and the
  4253  	// names of the parameters that they require:
  4254  	//
  4255  	// .com.au and .net.au
  4256  	//
  4257  	//    * AU_ID_NUMBER
  4258  	//
  4259  	//    * AU_ID_TYPE Valid values include the following: ABN (Australian business
  4260  	//    number) ACN (Australian company number) TM (Trademark number)
  4261  	//
  4262  	// .ca
  4263  	//
  4264  	//    * BRAND_NUMBER
  4265  	//
  4266  	//    * CA_BUSINESS_ENTITY_TYPE Valid values include the following: BANK (Bank)
  4267  	//    COMMERCIAL_COMPANY (Commercial company) COMPANY (Company) COOPERATION
  4268  	//    (Cooperation) COOPERATIVE (Cooperative) COOPRIX (Cooprix) CORP (Corporation)
  4269  	//    CREDIT_UNION (Credit union) FOMIA (Federation of mutual insurance associations)
  4270  	//    INC (Incorporated) LTD (Limited) LTEE (Limitée) LLC (Limited liability
  4271  	//    corporation) LLP (Limited liability partnership) LTE (Lte.) MBA (Mutual
  4272  	//    benefit association) MIC (Mutual insurance company) NFP (Not-for-profit
  4273  	//    corporation) SA (S.A.) SAVINGS_COMPANY (Savings company) SAVINGS_UNION
  4274  	//    (Savings union) SARL (Société à responsabilité limitée) TRUST (Trust)
  4275  	//    ULC (Unlimited liability corporation)
  4276  	//
  4277  	//    * CA_LEGAL_TYPE When ContactType is PERSON, valid values include the following:
  4278  	//    ABO (Aboriginal Peoples indigenous to Canada) CCT (Canadian citizen) LGR
  4279  	//    (Legal Representative of a Canadian Citizen or Permanent Resident) RES
  4280  	//    (Permanent resident of Canada) When ContactType is a value other than
  4281  	//    PERSON, valid values include the following: ASS (Canadian unincorporated
  4282  	//    association) CCO (Canadian corporation) EDU (Canadian educational institution)
  4283  	//    GOV (Government or government entity in Canada) HOP (Canadian Hospital)
  4284  	//    INB (Indian Band recognized by the Indian Act of Canada) LAM (Canadian
  4285  	//    Library, Archive, or Museum) MAJ (Her/His Majesty the Queen/King) OMK
  4286  	//    (Official mark registered in Canada) PLT (Canadian Political Party) PRT
  4287  	//    (Partnership Registered in Canada) TDM (Trademark registered in Canada)
  4288  	//    TRD (Canadian Trade Union) TRS (Trust established in Canada)
  4289  	//
  4290  	// .es
  4291  	//
  4292  	//    * ES_IDENTIFICATION Specify the applicable value: For contacts inside
  4293  	//    Spain: Enter your passport ID. For contacts outside of Spain: Enter the
  4294  	//    VAT identification number for the company. For .es domains, the value
  4295  	//    of ContactType must be PERSON.
  4296  	//
  4297  	//    * ES_IDENTIFICATION_TYPE Valid values include the following: DNI_AND_NIF
  4298  	//    (For Spanish contacts) NIE (For foreigners with legal residence) OTHER
  4299  	//    (For contacts outside of Spain)
  4300  	//
  4301  	//    * ES_LEGAL_FORM Valid values include the following: ASSOCIATION CENTRAL_GOVERNMENT_BODY
  4302  	//    CIVIL_SOCIETY COMMUNITY_OF_OWNERS COMMUNITY_PROPERTY CONSULATE COOPERATIVE
  4303  	//    DESIGNATION_OF_ORIGIN_SUPERVISORY_COUNCIL ECONOMIC_INTEREST_GROUP EMBASSY
  4304  	//    ENTITY_MANAGING_NATURAL_AREAS FARM_PARTNERSHIP FOUNDATION GENERAL_AND_LIMITED_PARTNERSHIP
  4305  	//    GENERAL_PARTNERSHIP INDIVIDUAL LIMITED_COMPANY LOCAL_AUTHORITY LOCAL_PUBLIC_ENTITY
  4306  	//    MUTUAL_INSURANCE_COMPANY NATIONAL_PUBLIC_ENTITY ORDER_OR_RELIGIOUS_INSTITUTION
  4307  	//    OTHERS (Only for contacts outside of Spain) POLITICAL_PARTY PROFESSIONAL_ASSOCIATION
  4308  	//    PUBLIC_LAW_ASSOCIATION PUBLIC_LIMITED_COMPANY REGIONAL_GOVERNMENT_BODY
  4309  	//    REGIONAL_PUBLIC_ENTITY SAVINGS_BANK SPANISH_OFFICE SPORTS_ASSOCIATION
  4310  	//    SPORTS_FEDERATION SPORTS_LIMITED_COMPANY TEMPORARY_ALLIANCE_OF_ENTERPRISES
  4311  	//    TRADE_UNION WORKER_OWNED_COMPANY WORKER_OWNED_LIMITED_COMPANY
  4312  	//
  4313  	// .fi
  4314  	//
  4315  	//    * BIRTH_DATE_IN_YYYY_MM_DD
  4316  	//
  4317  	//    * FI_BUSINESS_NUMBER
  4318  	//
  4319  	//    * FI_ID_NUMBER
  4320  	//
  4321  	//    * FI_NATIONALITY Valid values include the following: FINNISH NOT_FINNISH
  4322  	//
  4323  	//    * FI_ORGANIZATION_TYPE Valid values include the following: COMPANY CORPORATION
  4324  	//    GOVERNMENT INSTITUTION POLITICAL_PARTY PUBLIC_COMMUNITY TOWNSHIP
  4325  	//
  4326  	// .fr
  4327  	//
  4328  	//    * BIRTH_CITY
  4329  	//
  4330  	//    * BIRTH_COUNTRY
  4331  	//
  4332  	//    * BIRTH_DATE_IN_YYYY_MM_DD
  4333  	//
  4334  	//    * BIRTH_DEPARTMENT: Specify the INSEE code that corresponds with the department
  4335  	//    where the contact was born. If the contact was born somewhere other than
  4336  	//    France or its overseas departments, specify 99. For more information,
  4337  	//    including a list of departments and the corresponding INSEE numbers, see
  4338  	//    the Wikipedia entry Departments of France (https://en.wikipedia.org/wiki/Departments_of_France).
  4339  	//
  4340  	//    * BRAND_NUMBER
  4341  	//
  4342  	// .it
  4343  	//
  4344  	//    * IT_NATIONALITY
  4345  	//
  4346  	//    * IT_PIN
  4347  	//
  4348  	//    * IT_REGISTRANT_ENTITY_TYPE Valid values include the following: FOREIGNERS
  4349  	//    FREELANCE_WORKERS (Freelance workers and professionals) ITALIAN_COMPANIES
  4350  	//    (Italian companies and one-person companies) NON_PROFIT_ORGANIZATIONS
  4351  	//    OTHER_SUBJECTS PUBLIC_ORGANIZATIONS
  4352  	//
  4353  	// .ru
  4354  	//
  4355  	//    * BIRTH_DATE_IN_YYYY_MM_DD
  4356  	//
  4357  	//    * RU_PASSPORT_DATA
  4358  	//
  4359  	// .se
  4360  	//
  4361  	//    * BIRTH_COUNTRY
  4362  	//
  4363  	//    * SE_ID_NUMBER
  4364  	//
  4365  	// .sg
  4366  	//
  4367  	//    * SG_ID_NUMBER
  4368  	//
  4369  	// .co.uk, .me.uk, and .org.uk
  4370  	//
  4371  	//    * UK_CONTACT_TYPE Valid values include the following: CRC (UK Corporation
  4372  	//    by Royal Charter) FCORP (Non-UK Corporation) FIND (Non-UK Individual,
  4373  	//    representing self) FOTHER (Non-UK Entity that does not fit into any other
  4374  	//    category) GOV (UK Government Body) IND (UK Individual (representing self))
  4375  	//    IP (UK Industrial/Provident Registered Company) LLP (UK Limited Liability
  4376  	//    Partnership) LTD (UK Limited Company) OTHER (UK Entity that does not fit
  4377  	//    into any other category) PLC (UK Public Limited Company) PTNR (UK Partnership)
  4378  	//    RCHAR (UK Registered Charity) SCH (UK School) STAT (UK Statutory Body)
  4379  	//    STRA (UK Sole Trader)
  4380  	//
  4381  	//    * UK_COMPANY_NUMBER
  4382  	//
  4383  	// In addition, many TLDs require a VAT_NUMBER.
  4384  	//
  4385  	// Name is a required field
  4386  	Name *string `type:"string" required:"true" enum:"ExtraParamName"`
  4387  
  4388  	// The value that corresponds with the name of an extra parameter.
  4389  	//
  4390  	// Value is a required field
  4391  	Value *string `type:"string" required:"true"`
  4392  }
  4393  
  4394  // String returns the string representation.
  4395  //
  4396  // API parameter values that are decorated as "sensitive" in the API will not
  4397  // be included in the string output. The member name will be present, but the
  4398  // value will be replaced with "sensitive".
  4399  func (s ExtraParam) String() string {
  4400  	return awsutil.Prettify(s)
  4401  }
  4402  
  4403  // GoString returns the string representation.
  4404  //
  4405  // API parameter values that are decorated as "sensitive" in the API will not
  4406  // be included in the string output. The member name will be present, but the
  4407  // value will be replaced with "sensitive".
  4408  func (s ExtraParam) GoString() string {
  4409  	return s.String()
  4410  }
  4411  
  4412  // Validate inspects the fields of the type to determine if they are valid.
  4413  func (s *ExtraParam) Validate() error {
  4414  	invalidParams := request.ErrInvalidParams{Context: "ExtraParam"}
  4415  	if s.Name == nil {
  4416  		invalidParams.Add(request.NewErrParamRequired("Name"))
  4417  	}
  4418  	if s.Value == nil {
  4419  		invalidParams.Add(request.NewErrParamRequired("Value"))
  4420  	}
  4421  
  4422  	if invalidParams.Len() > 0 {
  4423  		return invalidParams
  4424  	}
  4425  	return nil
  4426  }
  4427  
  4428  // SetName sets the Name field's value.
  4429  func (s *ExtraParam) SetName(v string) *ExtraParam {
  4430  	s.Name = &v
  4431  	return s
  4432  }
  4433  
  4434  // SetValue sets the Value field's value.
  4435  func (s *ExtraParam) SetValue(v string) *ExtraParam {
  4436  	s.Value = &v
  4437  	return s
  4438  }
  4439  
  4440  type GetContactReachabilityStatusInput struct {
  4441  	_ struct{} `type:"structure"`
  4442  
  4443  	// The name of the domain for which you want to know whether the registrant
  4444  	// contact has confirmed that the email address is valid.
  4445  	DomainName *string `locationName:"domainName" type:"string"`
  4446  }
  4447  
  4448  // String returns the string representation.
  4449  //
  4450  // API parameter values that are decorated as "sensitive" in the API will not
  4451  // be included in the string output. The member name will be present, but the
  4452  // value will be replaced with "sensitive".
  4453  func (s GetContactReachabilityStatusInput) String() string {
  4454  	return awsutil.Prettify(s)
  4455  }
  4456  
  4457  // GoString returns the string representation.
  4458  //
  4459  // API parameter values that are decorated as "sensitive" in the API will not
  4460  // be included in the string output. The member name will be present, but the
  4461  // value will be replaced with "sensitive".
  4462  func (s GetContactReachabilityStatusInput) GoString() string {
  4463  	return s.String()
  4464  }
  4465  
  4466  // SetDomainName sets the DomainName field's value.
  4467  func (s *GetContactReachabilityStatusInput) SetDomainName(v string) *GetContactReachabilityStatusInput {
  4468  	s.DomainName = &v
  4469  	return s
  4470  }
  4471  
  4472  type GetContactReachabilityStatusOutput struct {
  4473  	_ struct{} `type:"structure"`
  4474  
  4475  	// The domain name for which you requested the reachability status.
  4476  	DomainName *string `locationName:"domainName" type:"string"`
  4477  
  4478  	// Whether the registrant contact has responded. Values include the following:
  4479  	//
  4480  	// PENDING
  4481  	//
  4482  	// We sent the confirmation email and haven't received a response yet.
  4483  	//
  4484  	// DONE
  4485  	//
  4486  	// We sent the email and got confirmation from the registrant contact.
  4487  	//
  4488  	// EXPIRED
  4489  	//
  4490  	// The time limit expired before the registrant contact responded.
  4491  	Status *string `locationName:"status" type:"string" enum:"ReachabilityStatus"`
  4492  }
  4493  
  4494  // String returns the string representation.
  4495  //
  4496  // API parameter values that are decorated as "sensitive" in the API will not
  4497  // be included in the string output. The member name will be present, but the
  4498  // value will be replaced with "sensitive".
  4499  func (s GetContactReachabilityStatusOutput) String() string {
  4500  	return awsutil.Prettify(s)
  4501  }
  4502  
  4503  // GoString returns the string representation.
  4504  //
  4505  // API parameter values that are decorated as "sensitive" in the API will not
  4506  // be included in the string output. The member name will be present, but the
  4507  // value will be replaced with "sensitive".
  4508  func (s GetContactReachabilityStatusOutput) GoString() string {
  4509  	return s.String()
  4510  }
  4511  
  4512  // SetDomainName sets the DomainName field's value.
  4513  func (s *GetContactReachabilityStatusOutput) SetDomainName(v string) *GetContactReachabilityStatusOutput {
  4514  	s.DomainName = &v
  4515  	return s
  4516  }
  4517  
  4518  // SetStatus sets the Status field's value.
  4519  func (s *GetContactReachabilityStatusOutput) SetStatus(v string) *GetContactReachabilityStatusOutput {
  4520  	s.Status = &v
  4521  	return s
  4522  }
  4523  
  4524  // The GetDomainDetail request includes the following element.
  4525  type GetDomainDetailInput struct {
  4526  	_ struct{} `type:"structure"`
  4527  
  4528  	// The name of the domain that you want to get detailed information about.
  4529  	//
  4530  	// DomainName is a required field
  4531  	DomainName *string `type:"string" required:"true"`
  4532  }
  4533  
  4534  // String returns the string representation.
  4535  //
  4536  // API parameter values that are decorated as "sensitive" in the API will not
  4537  // be included in the string output. The member name will be present, but the
  4538  // value will be replaced with "sensitive".
  4539  func (s GetDomainDetailInput) String() string {
  4540  	return awsutil.Prettify(s)
  4541  }
  4542  
  4543  // GoString returns the string representation.
  4544  //
  4545  // API parameter values that are decorated as "sensitive" in the API will not
  4546  // be included in the string output. The member name will be present, but the
  4547  // value will be replaced with "sensitive".
  4548  func (s GetDomainDetailInput) GoString() string {
  4549  	return s.String()
  4550  }
  4551  
  4552  // Validate inspects the fields of the type to determine if they are valid.
  4553  func (s *GetDomainDetailInput) Validate() error {
  4554  	invalidParams := request.ErrInvalidParams{Context: "GetDomainDetailInput"}
  4555  	if s.DomainName == nil {
  4556  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  4557  	}
  4558  
  4559  	if invalidParams.Len() > 0 {
  4560  		return invalidParams
  4561  	}
  4562  	return nil
  4563  }
  4564  
  4565  // SetDomainName sets the DomainName field's value.
  4566  func (s *GetDomainDetailInput) SetDomainName(v string) *GetDomainDetailInput {
  4567  	s.DomainName = &v
  4568  	return s
  4569  }
  4570  
  4571  // The GetDomainDetail response includes the following elements.
  4572  type GetDomainDetailOutput struct {
  4573  	_ struct{} `type:"structure"`
  4574  
  4575  	// Email address to contact to report incorrect contact information for a domain,
  4576  	// to report that the domain is being used to send spam, to report that someone
  4577  	// is cybersquatting on a domain name, or report some other type of abuse.
  4578  	AbuseContactEmail *string `type:"string"`
  4579  
  4580  	// Phone number for reporting abuse.
  4581  	AbuseContactPhone *string `type:"string"`
  4582  
  4583  	// Provides details about the domain administrative contact.
  4584  	//
  4585  	// AdminContact is a sensitive parameter and its value will be
  4586  	// replaced with "sensitive" in string returned by GetDomainDetailOutput's
  4587  	// String and GoString methods.
  4588  	//
  4589  	// AdminContact is a required field
  4590  	AdminContact *ContactDetail `type:"structure" required:"true" sensitive:"true"`
  4591  
  4592  	// Specifies whether contact information is concealed from WHOIS queries. If
  4593  	// the value is true, WHOIS ("who is") queries return contact information either
  4594  	// for Amazon Registrar (for .com, .net, and .org domains) or for our registrar
  4595  	// associate, Gandi (for all other TLDs). If the value is false, WHOIS queries
  4596  	// return the information that you entered for the admin contact.
  4597  	AdminPrivacy *bool `type:"boolean"`
  4598  
  4599  	// Specifies whether the domain registration is set to renew automatically.
  4600  	AutoRenew *bool `type:"boolean"`
  4601  
  4602  	// The date when the domain was created as found in the response to a WHOIS
  4603  	// query. The date and time is in Unix time format and Coordinated Universal
  4604  	// time (UTC).
  4605  	CreationDate *time.Time `type:"timestamp"`
  4606  
  4607  	// Reserved for future use.
  4608  	DnsSec *string `type:"string"`
  4609  
  4610  	// The name of a domain.
  4611  	//
  4612  	// DomainName is a required field
  4613  	DomainName *string `type:"string" required:"true"`
  4614  
  4615  	// The date when the registration for the domain is set to expire. The date
  4616  	// and time is in Unix time format and Coordinated Universal time (UTC).
  4617  	ExpirationDate *time.Time `type:"timestamp"`
  4618  
  4619  	// The name of the domain.
  4620  	//
  4621  	// Nameservers is a required field
  4622  	Nameservers []*Nameserver `type:"list" required:"true"`
  4623  
  4624  	// Provides details about the domain registrant.
  4625  	//
  4626  	// RegistrantContact is a sensitive parameter and its value will be
  4627  	// replaced with "sensitive" in string returned by GetDomainDetailOutput's
  4628  	// String and GoString methods.
  4629  	//
  4630  	// RegistrantContact is a required field
  4631  	RegistrantContact *ContactDetail `type:"structure" required:"true" sensitive:"true"`
  4632  
  4633  	// Specifies whether contact information is concealed from WHOIS queries. If
  4634  	// the value is true, WHOIS ("who is") queries return contact information either
  4635  	// for Amazon Registrar (for .com, .net, and .org domains) or for our registrar
  4636  	// associate, Gandi (for all other TLDs). If the value is false, WHOIS queries
  4637  	// return the information that you entered for the registrant contact (domain
  4638  	// owner).
  4639  	RegistrantPrivacy *bool `type:"boolean"`
  4640  
  4641  	// Name of the registrar of the domain as identified in the registry. Domains
  4642  	// with a .com, .net, or .org TLD are registered by Amazon Registrar. All other
  4643  	// domains are registered by our registrar associate, Gandi. The value for domains
  4644  	// that are registered by Gandi is "GANDI SAS".
  4645  	RegistrarName *string `type:"string"`
  4646  
  4647  	// Web address of the registrar.
  4648  	RegistrarUrl *string `type:"string"`
  4649  
  4650  	// Reserved for future use.
  4651  	RegistryDomainId *string `type:"string"`
  4652  
  4653  	// Reseller of the domain. Domains registered or transferred using Route 53
  4654  	// domains will have "Amazon" as the reseller.
  4655  	Reseller *string `type:"string"`
  4656  
  4657  	// An array of domain name status codes, also known as Extensible Provisioning
  4658  	// Protocol (EPP) status codes.
  4659  	//
  4660  	// ICANN, the organization that maintains a central database of domain names,
  4661  	// has developed a set of domain name status codes that tell you the status
  4662  	// of a variety of operations on a domain name, for example, registering a domain
  4663  	// name, transferring a domain name to another registrar, renewing the registration
  4664  	// for a domain name, and so on. All registrars use this same set of status
  4665  	// codes.
  4666  	//
  4667  	// For a current list of domain name status codes and an explanation of what
  4668  	// each code means, go to the ICANN website (https://www.icann.org/) and search
  4669  	// for epp status codes. (Search on the ICANN website; web searches sometimes
  4670  	// return an old version of the document.)
  4671  	StatusList []*string `type:"list"`
  4672  
  4673  	// Provides details about the domain technical contact.
  4674  	//
  4675  	// TechContact is a sensitive parameter and its value will be
  4676  	// replaced with "sensitive" in string returned by GetDomainDetailOutput's
  4677  	// String and GoString methods.
  4678  	//
  4679  	// TechContact is a required field
  4680  	TechContact *ContactDetail `type:"structure" required:"true" sensitive:"true"`
  4681  
  4682  	// Specifies whether contact information is concealed from WHOIS queries. If
  4683  	// the value is true, WHOIS ("who is") queries return contact information either
  4684  	// for Amazon Registrar (for .com, .net, and .org domains) or for our registrar
  4685  	// associate, Gandi (for all other TLDs). If the value is false, WHOIS queries
  4686  	// return the information that you entered for the technical contact.
  4687  	TechPrivacy *bool `type:"boolean"`
  4688  
  4689  	// The last updated date of the domain as found in the response to a WHOIS query.
  4690  	// The date and time is in Unix time format and Coordinated Universal time (UTC).
  4691  	UpdatedDate *time.Time `type:"timestamp"`
  4692  
  4693  	// The fully qualified name of the WHOIS server that can answer the WHOIS query
  4694  	// for the domain.
  4695  	WhoIsServer *string `type:"string"`
  4696  }
  4697  
  4698  // String returns the string representation.
  4699  //
  4700  // API parameter values that are decorated as "sensitive" in the API will not
  4701  // be included in the string output. The member name will be present, but the
  4702  // value will be replaced with "sensitive".
  4703  func (s GetDomainDetailOutput) String() string {
  4704  	return awsutil.Prettify(s)
  4705  }
  4706  
  4707  // GoString returns the string representation.
  4708  //
  4709  // API parameter values that are decorated as "sensitive" in the API will not
  4710  // be included in the string output. The member name will be present, but the
  4711  // value will be replaced with "sensitive".
  4712  func (s GetDomainDetailOutput) GoString() string {
  4713  	return s.String()
  4714  }
  4715  
  4716  // SetAbuseContactEmail sets the AbuseContactEmail field's value.
  4717  func (s *GetDomainDetailOutput) SetAbuseContactEmail(v string) *GetDomainDetailOutput {
  4718  	s.AbuseContactEmail = &v
  4719  	return s
  4720  }
  4721  
  4722  // SetAbuseContactPhone sets the AbuseContactPhone field's value.
  4723  func (s *GetDomainDetailOutput) SetAbuseContactPhone(v string) *GetDomainDetailOutput {
  4724  	s.AbuseContactPhone = &v
  4725  	return s
  4726  }
  4727  
  4728  // SetAdminContact sets the AdminContact field's value.
  4729  func (s *GetDomainDetailOutput) SetAdminContact(v *ContactDetail) *GetDomainDetailOutput {
  4730  	s.AdminContact = v
  4731  	return s
  4732  }
  4733  
  4734  // SetAdminPrivacy sets the AdminPrivacy field's value.
  4735  func (s *GetDomainDetailOutput) SetAdminPrivacy(v bool) *GetDomainDetailOutput {
  4736  	s.AdminPrivacy = &v
  4737  	return s
  4738  }
  4739  
  4740  // SetAutoRenew sets the AutoRenew field's value.
  4741  func (s *GetDomainDetailOutput) SetAutoRenew(v bool) *GetDomainDetailOutput {
  4742  	s.AutoRenew = &v
  4743  	return s
  4744  }
  4745  
  4746  // SetCreationDate sets the CreationDate field's value.
  4747  func (s *GetDomainDetailOutput) SetCreationDate(v time.Time) *GetDomainDetailOutput {
  4748  	s.CreationDate = &v
  4749  	return s
  4750  }
  4751  
  4752  // SetDnsSec sets the DnsSec field's value.
  4753  func (s *GetDomainDetailOutput) SetDnsSec(v string) *GetDomainDetailOutput {
  4754  	s.DnsSec = &v
  4755  	return s
  4756  }
  4757  
  4758  // SetDomainName sets the DomainName field's value.
  4759  func (s *GetDomainDetailOutput) SetDomainName(v string) *GetDomainDetailOutput {
  4760  	s.DomainName = &v
  4761  	return s
  4762  }
  4763  
  4764  // SetExpirationDate sets the ExpirationDate field's value.
  4765  func (s *GetDomainDetailOutput) SetExpirationDate(v time.Time) *GetDomainDetailOutput {
  4766  	s.ExpirationDate = &v
  4767  	return s
  4768  }
  4769  
  4770  // SetNameservers sets the Nameservers field's value.
  4771  func (s *GetDomainDetailOutput) SetNameservers(v []*Nameserver) *GetDomainDetailOutput {
  4772  	s.Nameservers = v
  4773  	return s
  4774  }
  4775  
  4776  // SetRegistrantContact sets the RegistrantContact field's value.
  4777  func (s *GetDomainDetailOutput) SetRegistrantContact(v *ContactDetail) *GetDomainDetailOutput {
  4778  	s.RegistrantContact = v
  4779  	return s
  4780  }
  4781  
  4782  // SetRegistrantPrivacy sets the RegistrantPrivacy field's value.
  4783  func (s *GetDomainDetailOutput) SetRegistrantPrivacy(v bool) *GetDomainDetailOutput {
  4784  	s.RegistrantPrivacy = &v
  4785  	return s
  4786  }
  4787  
  4788  // SetRegistrarName sets the RegistrarName field's value.
  4789  func (s *GetDomainDetailOutput) SetRegistrarName(v string) *GetDomainDetailOutput {
  4790  	s.RegistrarName = &v
  4791  	return s
  4792  }
  4793  
  4794  // SetRegistrarUrl sets the RegistrarUrl field's value.
  4795  func (s *GetDomainDetailOutput) SetRegistrarUrl(v string) *GetDomainDetailOutput {
  4796  	s.RegistrarUrl = &v
  4797  	return s
  4798  }
  4799  
  4800  // SetRegistryDomainId sets the RegistryDomainId field's value.
  4801  func (s *GetDomainDetailOutput) SetRegistryDomainId(v string) *GetDomainDetailOutput {
  4802  	s.RegistryDomainId = &v
  4803  	return s
  4804  }
  4805  
  4806  // SetReseller sets the Reseller field's value.
  4807  func (s *GetDomainDetailOutput) SetReseller(v string) *GetDomainDetailOutput {
  4808  	s.Reseller = &v
  4809  	return s
  4810  }
  4811  
  4812  // SetStatusList sets the StatusList field's value.
  4813  func (s *GetDomainDetailOutput) SetStatusList(v []*string) *GetDomainDetailOutput {
  4814  	s.StatusList = v
  4815  	return s
  4816  }
  4817  
  4818  // SetTechContact sets the TechContact field's value.
  4819  func (s *GetDomainDetailOutput) SetTechContact(v *ContactDetail) *GetDomainDetailOutput {
  4820  	s.TechContact = v
  4821  	return s
  4822  }
  4823  
  4824  // SetTechPrivacy sets the TechPrivacy field's value.
  4825  func (s *GetDomainDetailOutput) SetTechPrivacy(v bool) *GetDomainDetailOutput {
  4826  	s.TechPrivacy = &v
  4827  	return s
  4828  }
  4829  
  4830  // SetUpdatedDate sets the UpdatedDate field's value.
  4831  func (s *GetDomainDetailOutput) SetUpdatedDate(v time.Time) *GetDomainDetailOutput {
  4832  	s.UpdatedDate = &v
  4833  	return s
  4834  }
  4835  
  4836  // SetWhoIsServer sets the WhoIsServer field's value.
  4837  func (s *GetDomainDetailOutput) SetWhoIsServer(v string) *GetDomainDetailOutput {
  4838  	s.WhoIsServer = &v
  4839  	return s
  4840  }
  4841  
  4842  type GetDomainSuggestionsInput struct {
  4843  	_ struct{} `type:"structure"`
  4844  
  4845  	// A domain name that you want to use as the basis for a list of possible domain
  4846  	// names. The top-level domain (TLD), such as .com, must be a TLD that Route
  4847  	// 53 supports. For a list of supported TLDs, see Domains that You Can Register
  4848  	// with Amazon Route 53 (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/registrar-tld-list.html)
  4849  	// in the Amazon Route 53 Developer Guide.
  4850  	//
  4851  	// The domain name can contain only the following characters:
  4852  	//
  4853  	//    * Letters a through z. Domain names are not case sensitive.
  4854  	//
  4855  	//    * Numbers 0 through 9.
  4856  	//
  4857  	//    * Hyphen (-). You can't specify a hyphen at the beginning or end of a
  4858  	//    label.
  4859  	//
  4860  	//    * Period (.) to separate the labels in the name, such as the . in example.com.
  4861  	//
  4862  	// Internationalized domain names are not supported for some top-level domains.
  4863  	// To determine whether the TLD that you want to use supports internationalized
  4864  	// domain names, see Domains that You Can Register with Amazon Route 53 (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/registrar-tld-list.html).
  4865  	//
  4866  	// DomainName is a required field
  4867  	DomainName *string `type:"string" required:"true"`
  4868  
  4869  	// If OnlyAvailable is true, Route 53 returns only domain names that are available.
  4870  	// If OnlyAvailable is false, Route 53 returns domain names without checking
  4871  	// whether they're available to be registered. To determine whether the domain
  4872  	// is available, you can call checkDomainAvailability for each suggestion.
  4873  	//
  4874  	// OnlyAvailable is a required field
  4875  	OnlyAvailable *bool `type:"boolean" required:"true"`
  4876  
  4877  	// The number of suggested domain names that you want Route 53 to return. Specify
  4878  	// a value between 1 and 50.
  4879  	//
  4880  	// SuggestionCount is a required field
  4881  	SuggestionCount *int64 `type:"integer" required:"true"`
  4882  }
  4883  
  4884  // String returns the string representation.
  4885  //
  4886  // API parameter values that are decorated as "sensitive" in the API will not
  4887  // be included in the string output. The member name will be present, but the
  4888  // value will be replaced with "sensitive".
  4889  func (s GetDomainSuggestionsInput) String() string {
  4890  	return awsutil.Prettify(s)
  4891  }
  4892  
  4893  // GoString returns the string representation.
  4894  //
  4895  // API parameter values that are decorated as "sensitive" in the API will not
  4896  // be included in the string output. The member name will be present, but the
  4897  // value will be replaced with "sensitive".
  4898  func (s GetDomainSuggestionsInput) GoString() string {
  4899  	return s.String()
  4900  }
  4901  
  4902  // Validate inspects the fields of the type to determine if they are valid.
  4903  func (s *GetDomainSuggestionsInput) Validate() error {
  4904  	invalidParams := request.ErrInvalidParams{Context: "GetDomainSuggestionsInput"}
  4905  	if s.DomainName == nil {
  4906  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  4907  	}
  4908  	if s.OnlyAvailable == nil {
  4909  		invalidParams.Add(request.NewErrParamRequired("OnlyAvailable"))
  4910  	}
  4911  	if s.SuggestionCount == nil {
  4912  		invalidParams.Add(request.NewErrParamRequired("SuggestionCount"))
  4913  	}
  4914  
  4915  	if invalidParams.Len() > 0 {
  4916  		return invalidParams
  4917  	}
  4918  	return nil
  4919  }
  4920  
  4921  // SetDomainName sets the DomainName field's value.
  4922  func (s *GetDomainSuggestionsInput) SetDomainName(v string) *GetDomainSuggestionsInput {
  4923  	s.DomainName = &v
  4924  	return s
  4925  }
  4926  
  4927  // SetOnlyAvailable sets the OnlyAvailable field's value.
  4928  func (s *GetDomainSuggestionsInput) SetOnlyAvailable(v bool) *GetDomainSuggestionsInput {
  4929  	s.OnlyAvailable = &v
  4930  	return s
  4931  }
  4932  
  4933  // SetSuggestionCount sets the SuggestionCount field's value.
  4934  func (s *GetDomainSuggestionsInput) SetSuggestionCount(v int64) *GetDomainSuggestionsInput {
  4935  	s.SuggestionCount = &v
  4936  	return s
  4937  }
  4938  
  4939  type GetDomainSuggestionsOutput struct {
  4940  	_ struct{} `type:"structure"`
  4941  
  4942  	// A list of possible domain names. If you specified true for OnlyAvailable
  4943  	// in the request, the list contains only domains that are available for registration.
  4944  	SuggestionsList []*DomainSuggestion `type:"list"`
  4945  }
  4946  
  4947  // String returns the string representation.
  4948  //
  4949  // API parameter values that are decorated as "sensitive" in the API will not
  4950  // be included in the string output. The member name will be present, but the
  4951  // value will be replaced with "sensitive".
  4952  func (s GetDomainSuggestionsOutput) String() string {
  4953  	return awsutil.Prettify(s)
  4954  }
  4955  
  4956  // GoString returns the string representation.
  4957  //
  4958  // API parameter values that are decorated as "sensitive" in the API will not
  4959  // be included in the string output. The member name will be present, but the
  4960  // value will be replaced with "sensitive".
  4961  func (s GetDomainSuggestionsOutput) GoString() string {
  4962  	return s.String()
  4963  }
  4964  
  4965  // SetSuggestionsList sets the SuggestionsList field's value.
  4966  func (s *GetDomainSuggestionsOutput) SetSuggestionsList(v []*DomainSuggestion) *GetDomainSuggestionsOutput {
  4967  	s.SuggestionsList = v
  4968  	return s
  4969  }
  4970  
  4971  // The GetOperationDetail (https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_GetOperationDetail.html)
  4972  // request includes the following element.
  4973  type GetOperationDetailInput struct {
  4974  	_ struct{} `type:"structure"`
  4975  
  4976  	// The identifier for the operation for which you want to get the status. Route
  4977  	// 53 returned the identifier in the response to the original request.
  4978  	//
  4979  	// OperationId is a required field
  4980  	OperationId *string `type:"string" required:"true"`
  4981  }
  4982  
  4983  // String returns the string representation.
  4984  //
  4985  // API parameter values that are decorated as "sensitive" in the API will not
  4986  // be included in the string output. The member name will be present, but the
  4987  // value will be replaced with "sensitive".
  4988  func (s GetOperationDetailInput) String() string {
  4989  	return awsutil.Prettify(s)
  4990  }
  4991  
  4992  // GoString returns the string representation.
  4993  //
  4994  // API parameter values that are decorated as "sensitive" in the API will not
  4995  // be included in the string output. The member name will be present, but the
  4996  // value will be replaced with "sensitive".
  4997  func (s GetOperationDetailInput) GoString() string {
  4998  	return s.String()
  4999  }
  5000  
  5001  // Validate inspects the fields of the type to determine if they are valid.
  5002  func (s *GetOperationDetailInput) Validate() error {
  5003  	invalidParams := request.ErrInvalidParams{Context: "GetOperationDetailInput"}
  5004  	if s.OperationId == nil {
  5005  		invalidParams.Add(request.NewErrParamRequired("OperationId"))
  5006  	}
  5007  
  5008  	if invalidParams.Len() > 0 {
  5009  		return invalidParams
  5010  	}
  5011  	return nil
  5012  }
  5013  
  5014  // SetOperationId sets the OperationId field's value.
  5015  func (s *GetOperationDetailInput) SetOperationId(v string) *GetOperationDetailInput {
  5016  	s.OperationId = &v
  5017  	return s
  5018  }
  5019  
  5020  // The GetOperationDetail response includes the following elements.
  5021  type GetOperationDetailOutput struct {
  5022  	_ struct{} `type:"structure"`
  5023  
  5024  	// The name of a domain.
  5025  	DomainName *string `type:"string"`
  5026  
  5027  	// Detailed information on the status including possible errors.
  5028  	Message *string `type:"string"`
  5029  
  5030  	// The identifier for the operation.
  5031  	OperationId *string `type:"string"`
  5032  
  5033  	// The current status of the requested operation in the system.
  5034  	Status *string `type:"string" enum:"OperationStatus"`
  5035  
  5036  	// The date when the request was submitted.
  5037  	SubmittedDate *time.Time `type:"timestamp"`
  5038  
  5039  	// The type of operation that was requested.
  5040  	Type *string `type:"string" enum:"OperationType"`
  5041  }
  5042  
  5043  // String returns the string representation.
  5044  //
  5045  // API parameter values that are decorated as "sensitive" in the API will not
  5046  // be included in the string output. The member name will be present, but the
  5047  // value will be replaced with "sensitive".
  5048  func (s GetOperationDetailOutput) String() string {
  5049  	return awsutil.Prettify(s)
  5050  }
  5051  
  5052  // GoString returns the string representation.
  5053  //
  5054  // API parameter values that are decorated as "sensitive" in the API will not
  5055  // be included in the string output. The member name will be present, but the
  5056  // value will be replaced with "sensitive".
  5057  func (s GetOperationDetailOutput) GoString() string {
  5058  	return s.String()
  5059  }
  5060  
  5061  // SetDomainName sets the DomainName field's value.
  5062  func (s *GetOperationDetailOutput) SetDomainName(v string) *GetOperationDetailOutput {
  5063  	s.DomainName = &v
  5064  	return s
  5065  }
  5066  
  5067  // SetMessage sets the Message field's value.
  5068  func (s *GetOperationDetailOutput) SetMessage(v string) *GetOperationDetailOutput {
  5069  	s.Message = &v
  5070  	return s
  5071  }
  5072  
  5073  // SetOperationId sets the OperationId field's value.
  5074  func (s *GetOperationDetailOutput) SetOperationId(v string) *GetOperationDetailOutput {
  5075  	s.OperationId = &v
  5076  	return s
  5077  }
  5078  
  5079  // SetStatus sets the Status field's value.
  5080  func (s *GetOperationDetailOutput) SetStatus(v string) *GetOperationDetailOutput {
  5081  	s.Status = &v
  5082  	return s
  5083  }
  5084  
  5085  // SetSubmittedDate sets the SubmittedDate field's value.
  5086  func (s *GetOperationDetailOutput) SetSubmittedDate(v time.Time) *GetOperationDetailOutput {
  5087  	s.SubmittedDate = &v
  5088  	return s
  5089  }
  5090  
  5091  // SetType sets the Type field's value.
  5092  func (s *GetOperationDetailOutput) SetType(v string) *GetOperationDetailOutput {
  5093  	s.Type = &v
  5094  	return s
  5095  }
  5096  
  5097  // The requested item is not acceptable. For example, for APIs that accept a
  5098  // domain name, the request might specify a domain name that doesn't belong
  5099  // to the account that submitted the request. For AcceptDomainTransferFromAnotherAwsAccount,
  5100  // the password might be invalid.
  5101  type InvalidInput struct {
  5102  	_            struct{}                  `type:"structure"`
  5103  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5104  
  5105  	// The requested item is not acceptable. For example, for an OperationId it
  5106  	// might refer to the ID of an operation that is already completed. For a domain
  5107  	// name, it might not be a valid domain name or belong to the requester account.
  5108  	Message_ *string `locationName:"message" type:"string"`
  5109  }
  5110  
  5111  // String returns the string representation.
  5112  //
  5113  // API parameter values that are decorated as "sensitive" in the API will not
  5114  // be included in the string output. The member name will be present, but the
  5115  // value will be replaced with "sensitive".
  5116  func (s InvalidInput) String() string {
  5117  	return awsutil.Prettify(s)
  5118  }
  5119  
  5120  // GoString returns the string representation.
  5121  //
  5122  // API parameter values that are decorated as "sensitive" in the API will not
  5123  // be included in the string output. The member name will be present, but the
  5124  // value will be replaced with "sensitive".
  5125  func (s InvalidInput) GoString() string {
  5126  	return s.String()
  5127  }
  5128  
  5129  func newErrorInvalidInput(v protocol.ResponseMetadata) error {
  5130  	return &InvalidInput{
  5131  		RespMetadata: v,
  5132  	}
  5133  }
  5134  
  5135  // Code returns the exception type name.
  5136  func (s *InvalidInput) Code() string {
  5137  	return "InvalidInput"
  5138  }
  5139  
  5140  // Message returns the exception's message.
  5141  func (s *InvalidInput) Message() string {
  5142  	if s.Message_ != nil {
  5143  		return *s.Message_
  5144  	}
  5145  	return ""
  5146  }
  5147  
  5148  // OrigErr always returns nil, satisfies awserr.Error interface.
  5149  func (s *InvalidInput) OrigErr() error {
  5150  	return nil
  5151  }
  5152  
  5153  func (s *InvalidInput) Error() string {
  5154  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  5155  }
  5156  
  5157  // Status code returns the HTTP status code for the request's response error.
  5158  func (s *InvalidInput) StatusCode() int {
  5159  	return s.RespMetadata.StatusCode
  5160  }
  5161  
  5162  // RequestID returns the service's response RequestID for request.
  5163  func (s *InvalidInput) RequestID() string {
  5164  	return s.RespMetadata.RequestID
  5165  }
  5166  
  5167  // The ListDomains request includes the following elements.
  5168  type ListDomainsInput struct {
  5169  	_ struct{} `type:"structure"`
  5170  
  5171  	// For an initial request for a list of domains, omit this element. If the number
  5172  	// of domains that are associated with the current AWS account is greater than
  5173  	// the value that you specified for MaxItems, you can use Marker to return additional
  5174  	// domains. Get the value of NextPageMarker from the previous response, and
  5175  	// submit another request that includes the value of NextPageMarker in the Marker
  5176  	// element.
  5177  	//
  5178  	// Constraints: The marker must match the value specified in the previous request.
  5179  	Marker *string `type:"string"`
  5180  
  5181  	// Number of domains to be returned.
  5182  	//
  5183  	// Default: 20
  5184  	MaxItems *int64 `type:"integer"`
  5185  }
  5186  
  5187  // String returns the string representation.
  5188  //
  5189  // API parameter values that are decorated as "sensitive" in the API will not
  5190  // be included in the string output. The member name will be present, but the
  5191  // value will be replaced with "sensitive".
  5192  func (s ListDomainsInput) String() string {
  5193  	return awsutil.Prettify(s)
  5194  }
  5195  
  5196  // GoString returns the string representation.
  5197  //
  5198  // API parameter values that are decorated as "sensitive" in the API will not
  5199  // be included in the string output. The member name will be present, but the
  5200  // value will be replaced with "sensitive".
  5201  func (s ListDomainsInput) GoString() string {
  5202  	return s.String()
  5203  }
  5204  
  5205  // SetMarker sets the Marker field's value.
  5206  func (s *ListDomainsInput) SetMarker(v string) *ListDomainsInput {
  5207  	s.Marker = &v
  5208  	return s
  5209  }
  5210  
  5211  // SetMaxItems sets the MaxItems field's value.
  5212  func (s *ListDomainsInput) SetMaxItems(v int64) *ListDomainsInput {
  5213  	s.MaxItems = &v
  5214  	return s
  5215  }
  5216  
  5217  // The ListDomains response includes the following elements.
  5218  type ListDomainsOutput struct {
  5219  	_ struct{} `type:"structure"`
  5220  
  5221  	// A summary of domains.
  5222  	//
  5223  	// Domains is a required field
  5224  	Domains []*DomainSummary `type:"list" required:"true"`
  5225  
  5226  	// If there are more domains than you specified for MaxItems in the request,
  5227  	// submit another request and include the value of NextPageMarker in the value
  5228  	// of Marker.
  5229  	NextPageMarker *string `type:"string"`
  5230  }
  5231  
  5232  // String returns the string representation.
  5233  //
  5234  // API parameter values that are decorated as "sensitive" in the API will not
  5235  // be included in the string output. The member name will be present, but the
  5236  // value will be replaced with "sensitive".
  5237  func (s ListDomainsOutput) String() string {
  5238  	return awsutil.Prettify(s)
  5239  }
  5240  
  5241  // GoString returns the string representation.
  5242  //
  5243  // API parameter values that are decorated as "sensitive" in the API will not
  5244  // be included in the string output. The member name will be present, but the
  5245  // value will be replaced with "sensitive".
  5246  func (s ListDomainsOutput) GoString() string {
  5247  	return s.String()
  5248  }
  5249  
  5250  // SetDomains sets the Domains field's value.
  5251  func (s *ListDomainsOutput) SetDomains(v []*DomainSummary) *ListDomainsOutput {
  5252  	s.Domains = v
  5253  	return s
  5254  }
  5255  
  5256  // SetNextPageMarker sets the NextPageMarker field's value.
  5257  func (s *ListDomainsOutput) SetNextPageMarker(v string) *ListDomainsOutput {
  5258  	s.NextPageMarker = &v
  5259  	return s
  5260  }
  5261  
  5262  // The ListOperations request includes the following elements.
  5263  type ListOperationsInput struct {
  5264  	_ struct{} `type:"structure"`
  5265  
  5266  	// For an initial request for a list of operations, omit this element. If the
  5267  	// number of operations that are not yet complete is greater than the value
  5268  	// that you specified for MaxItems, you can use Marker to return additional
  5269  	// operations. Get the value of NextPageMarker from the previous response, and
  5270  	// submit another request that includes the value of NextPageMarker in the Marker
  5271  	// element.
  5272  	Marker *string `type:"string"`
  5273  
  5274  	// Number of domains to be returned.
  5275  	//
  5276  	// Default: 20
  5277  	MaxItems *int64 `type:"integer"`
  5278  
  5279  	// An optional parameter that lets you get information about all the operations
  5280  	// that you submitted after a specified date and time. Specify the date and
  5281  	// time in Unix time format and Coordinated Universal time (UTC).
  5282  	SubmittedSince *time.Time `type:"timestamp"`
  5283  }
  5284  
  5285  // String returns the string representation.
  5286  //
  5287  // API parameter values that are decorated as "sensitive" in the API will not
  5288  // be included in the string output. The member name will be present, but the
  5289  // value will be replaced with "sensitive".
  5290  func (s ListOperationsInput) String() string {
  5291  	return awsutil.Prettify(s)
  5292  }
  5293  
  5294  // GoString returns the string representation.
  5295  //
  5296  // API parameter values that are decorated as "sensitive" in the API will not
  5297  // be included in the string output. The member name will be present, but the
  5298  // value will be replaced with "sensitive".
  5299  func (s ListOperationsInput) GoString() string {
  5300  	return s.String()
  5301  }
  5302  
  5303  // SetMarker sets the Marker field's value.
  5304  func (s *ListOperationsInput) SetMarker(v string) *ListOperationsInput {
  5305  	s.Marker = &v
  5306  	return s
  5307  }
  5308  
  5309  // SetMaxItems sets the MaxItems field's value.
  5310  func (s *ListOperationsInput) SetMaxItems(v int64) *ListOperationsInput {
  5311  	s.MaxItems = &v
  5312  	return s
  5313  }
  5314  
  5315  // SetSubmittedSince sets the SubmittedSince field's value.
  5316  func (s *ListOperationsInput) SetSubmittedSince(v time.Time) *ListOperationsInput {
  5317  	s.SubmittedSince = &v
  5318  	return s
  5319  }
  5320  
  5321  // The ListOperations response includes the following elements.
  5322  type ListOperationsOutput struct {
  5323  	_ struct{} `type:"structure"`
  5324  
  5325  	// If there are more operations than you specified for MaxItems in the request,
  5326  	// submit another request and include the value of NextPageMarker in the value
  5327  	// of Marker.
  5328  	NextPageMarker *string `type:"string"`
  5329  
  5330  	// Lists summaries of the operations.
  5331  	//
  5332  	// Operations is a required field
  5333  	Operations []*OperationSummary `type:"list" required:"true"`
  5334  }
  5335  
  5336  // String returns the string representation.
  5337  //
  5338  // API parameter values that are decorated as "sensitive" in the API will not
  5339  // be included in the string output. The member name will be present, but the
  5340  // value will be replaced with "sensitive".
  5341  func (s ListOperationsOutput) String() string {
  5342  	return awsutil.Prettify(s)
  5343  }
  5344  
  5345  // GoString returns the string representation.
  5346  //
  5347  // API parameter values that are decorated as "sensitive" in the API will not
  5348  // be included in the string output. The member name will be present, but the
  5349  // value will be replaced with "sensitive".
  5350  func (s ListOperationsOutput) GoString() string {
  5351  	return s.String()
  5352  }
  5353  
  5354  // SetNextPageMarker sets the NextPageMarker field's value.
  5355  func (s *ListOperationsOutput) SetNextPageMarker(v string) *ListOperationsOutput {
  5356  	s.NextPageMarker = &v
  5357  	return s
  5358  }
  5359  
  5360  // SetOperations sets the Operations field's value.
  5361  func (s *ListOperationsOutput) SetOperations(v []*OperationSummary) *ListOperationsOutput {
  5362  	s.Operations = v
  5363  	return s
  5364  }
  5365  
  5366  // The ListTagsForDomainRequest includes the following elements.
  5367  type ListTagsForDomainInput struct {
  5368  	_ struct{} `type:"structure"`
  5369  
  5370  	// The domain for which you want to get a list of tags.
  5371  	//
  5372  	// DomainName is a required field
  5373  	DomainName *string `type:"string" required:"true"`
  5374  }
  5375  
  5376  // String returns the string representation.
  5377  //
  5378  // API parameter values that are decorated as "sensitive" in the API will not
  5379  // be included in the string output. The member name will be present, but the
  5380  // value will be replaced with "sensitive".
  5381  func (s ListTagsForDomainInput) String() string {
  5382  	return awsutil.Prettify(s)
  5383  }
  5384  
  5385  // GoString returns the string representation.
  5386  //
  5387  // API parameter values that are decorated as "sensitive" in the API will not
  5388  // be included in the string output. The member name will be present, but the
  5389  // value will be replaced with "sensitive".
  5390  func (s ListTagsForDomainInput) GoString() string {
  5391  	return s.String()
  5392  }
  5393  
  5394  // Validate inspects the fields of the type to determine if they are valid.
  5395  func (s *ListTagsForDomainInput) Validate() error {
  5396  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForDomainInput"}
  5397  	if s.DomainName == nil {
  5398  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  5399  	}
  5400  
  5401  	if invalidParams.Len() > 0 {
  5402  		return invalidParams
  5403  	}
  5404  	return nil
  5405  }
  5406  
  5407  // SetDomainName sets the DomainName field's value.
  5408  func (s *ListTagsForDomainInput) SetDomainName(v string) *ListTagsForDomainInput {
  5409  	s.DomainName = &v
  5410  	return s
  5411  }
  5412  
  5413  // The ListTagsForDomain response includes the following elements.
  5414  type ListTagsForDomainOutput struct {
  5415  	_ struct{} `type:"structure"`
  5416  
  5417  	// A list of the tags that are associated with the specified domain.
  5418  	//
  5419  	// TagList is a required field
  5420  	TagList []*Tag `type:"list" required:"true"`
  5421  }
  5422  
  5423  // String returns the string representation.
  5424  //
  5425  // API parameter values that are decorated as "sensitive" in the API will not
  5426  // be included in the string output. The member name will be present, but the
  5427  // value will be replaced with "sensitive".
  5428  func (s ListTagsForDomainOutput) String() string {
  5429  	return awsutil.Prettify(s)
  5430  }
  5431  
  5432  // GoString returns the string representation.
  5433  //
  5434  // API parameter values that are decorated as "sensitive" in the API will not
  5435  // be included in the string output. The member name will be present, but the
  5436  // value will be replaced with "sensitive".
  5437  func (s ListTagsForDomainOutput) GoString() string {
  5438  	return s.String()
  5439  }
  5440  
  5441  // SetTagList sets the TagList field's value.
  5442  func (s *ListTagsForDomainOutput) SetTagList(v []*Tag) *ListTagsForDomainOutput {
  5443  	s.TagList = v
  5444  	return s
  5445  }
  5446  
  5447  // Nameserver includes the following elements.
  5448  type Nameserver struct {
  5449  	_ struct{} `type:"structure"`
  5450  
  5451  	// Glue IP address of a name server entry. Glue IP addresses are required only
  5452  	// when the name of the name server is a subdomain of the domain. For example,
  5453  	// if your domain is example.com and the name server for the domain is ns.example.com,
  5454  	// you need to specify the IP address for ns.example.com.
  5455  	//
  5456  	// Constraints: The list can contain only one IPv4 and one IPv6 address.
  5457  	GlueIps []*string `type:"list"`
  5458  
  5459  	// The fully qualified host name of the name server.
  5460  	//
  5461  	// Constraint: Maximum 255 characters
  5462  	//
  5463  	// Name is a required field
  5464  	Name *string `type:"string" required:"true"`
  5465  }
  5466  
  5467  // String returns the string representation.
  5468  //
  5469  // API parameter values that are decorated as "sensitive" in the API will not
  5470  // be included in the string output. The member name will be present, but the
  5471  // value will be replaced with "sensitive".
  5472  func (s Nameserver) String() string {
  5473  	return awsutil.Prettify(s)
  5474  }
  5475  
  5476  // GoString returns the string representation.
  5477  //
  5478  // API parameter values that are decorated as "sensitive" in the API will not
  5479  // be included in the string output. The member name will be present, but the
  5480  // value will be replaced with "sensitive".
  5481  func (s Nameserver) GoString() string {
  5482  	return s.String()
  5483  }
  5484  
  5485  // Validate inspects the fields of the type to determine if they are valid.
  5486  func (s *Nameserver) Validate() error {
  5487  	invalidParams := request.ErrInvalidParams{Context: "Nameserver"}
  5488  	if s.Name == nil {
  5489  		invalidParams.Add(request.NewErrParamRequired("Name"))
  5490  	}
  5491  
  5492  	if invalidParams.Len() > 0 {
  5493  		return invalidParams
  5494  	}
  5495  	return nil
  5496  }
  5497  
  5498  // SetGlueIps sets the GlueIps field's value.
  5499  func (s *Nameserver) SetGlueIps(v []*string) *Nameserver {
  5500  	s.GlueIps = v
  5501  	return s
  5502  }
  5503  
  5504  // SetName sets the Name field's value.
  5505  func (s *Nameserver) SetName(v string) *Nameserver {
  5506  	s.Name = &v
  5507  	return s
  5508  }
  5509  
  5510  // The number of operations or jobs running exceeded the allowed threshold for
  5511  // the account.
  5512  type OperationLimitExceeded struct {
  5513  	_            struct{}                  `type:"structure"`
  5514  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5515  
  5516  	// The number of operations or jobs running exceeded the allowed threshold for
  5517  	// the account.
  5518  	Message_ *string `locationName:"message" type:"string"`
  5519  }
  5520  
  5521  // String returns the string representation.
  5522  //
  5523  // API parameter values that are decorated as "sensitive" in the API will not
  5524  // be included in the string output. The member name will be present, but the
  5525  // value will be replaced with "sensitive".
  5526  func (s OperationLimitExceeded) String() string {
  5527  	return awsutil.Prettify(s)
  5528  }
  5529  
  5530  // GoString returns the string representation.
  5531  //
  5532  // API parameter values that are decorated as "sensitive" in the API will not
  5533  // be included in the string output. The member name will be present, but the
  5534  // value will be replaced with "sensitive".
  5535  func (s OperationLimitExceeded) GoString() string {
  5536  	return s.String()
  5537  }
  5538  
  5539  func newErrorOperationLimitExceeded(v protocol.ResponseMetadata) error {
  5540  	return &OperationLimitExceeded{
  5541  		RespMetadata: v,
  5542  	}
  5543  }
  5544  
  5545  // Code returns the exception type name.
  5546  func (s *OperationLimitExceeded) Code() string {
  5547  	return "OperationLimitExceeded"
  5548  }
  5549  
  5550  // Message returns the exception's message.
  5551  func (s *OperationLimitExceeded) Message() string {
  5552  	if s.Message_ != nil {
  5553  		return *s.Message_
  5554  	}
  5555  	return ""
  5556  }
  5557  
  5558  // OrigErr always returns nil, satisfies awserr.Error interface.
  5559  func (s *OperationLimitExceeded) OrigErr() error {
  5560  	return nil
  5561  }
  5562  
  5563  func (s *OperationLimitExceeded) Error() string {
  5564  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  5565  }
  5566  
  5567  // Status code returns the HTTP status code for the request's response error.
  5568  func (s *OperationLimitExceeded) StatusCode() int {
  5569  	return s.RespMetadata.StatusCode
  5570  }
  5571  
  5572  // RequestID returns the service's response RequestID for request.
  5573  func (s *OperationLimitExceeded) RequestID() string {
  5574  	return s.RespMetadata.RequestID
  5575  }
  5576  
  5577  // OperationSummary includes the following elements.
  5578  type OperationSummary struct {
  5579  	_ struct{} `type:"structure"`
  5580  
  5581  	// Identifier returned to track the requested action.
  5582  	//
  5583  	// OperationId is a required field
  5584  	OperationId *string `type:"string" required:"true"`
  5585  
  5586  	// The current status of the requested operation in the system.
  5587  	//
  5588  	// Status is a required field
  5589  	Status *string `type:"string" required:"true" enum:"OperationStatus"`
  5590  
  5591  	// The date when the request was submitted.
  5592  	//
  5593  	// SubmittedDate is a required field
  5594  	SubmittedDate *time.Time `type:"timestamp" required:"true"`
  5595  
  5596  	// Type of the action requested.
  5597  	//
  5598  	// Type is a required field
  5599  	Type *string `type:"string" required:"true" enum:"OperationType"`
  5600  }
  5601  
  5602  // String returns the string representation.
  5603  //
  5604  // API parameter values that are decorated as "sensitive" in the API will not
  5605  // be included in the string output. The member name will be present, but the
  5606  // value will be replaced with "sensitive".
  5607  func (s OperationSummary) String() string {
  5608  	return awsutil.Prettify(s)
  5609  }
  5610  
  5611  // GoString returns the string representation.
  5612  //
  5613  // API parameter values that are decorated as "sensitive" in the API will not
  5614  // be included in the string output. The member name will be present, but the
  5615  // value will be replaced with "sensitive".
  5616  func (s OperationSummary) GoString() string {
  5617  	return s.String()
  5618  }
  5619  
  5620  // SetOperationId sets the OperationId field's value.
  5621  func (s *OperationSummary) SetOperationId(v string) *OperationSummary {
  5622  	s.OperationId = &v
  5623  	return s
  5624  }
  5625  
  5626  // SetStatus sets the Status field's value.
  5627  func (s *OperationSummary) SetStatus(v string) *OperationSummary {
  5628  	s.Status = &v
  5629  	return s
  5630  }
  5631  
  5632  // SetSubmittedDate sets the SubmittedDate field's value.
  5633  func (s *OperationSummary) SetSubmittedDate(v time.Time) *OperationSummary {
  5634  	s.SubmittedDate = &v
  5635  	return s
  5636  }
  5637  
  5638  // SetType sets the Type field's value.
  5639  func (s *OperationSummary) SetType(v string) *OperationSummary {
  5640  	s.Type = &v
  5641  	return s
  5642  }
  5643  
  5644  // The RegisterDomain request includes the following elements.
  5645  type RegisterDomainInput struct {
  5646  	_ struct{} `type:"structure"`
  5647  
  5648  	// Provides detailed contact information. For information about the values that
  5649  	// you specify for each element, see ContactDetail (https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_ContactDetail.html).
  5650  	//
  5651  	// AdminContact is a sensitive parameter and its value will be
  5652  	// replaced with "sensitive" in string returned by RegisterDomainInput's
  5653  	// String and GoString methods.
  5654  	//
  5655  	// AdminContact is a required field
  5656  	AdminContact *ContactDetail `type:"structure" required:"true" sensitive:"true"`
  5657  
  5658  	// Indicates whether the domain will be automatically renewed (true) or not
  5659  	// (false). Autorenewal only takes effect after the account is charged.
  5660  	//
  5661  	// Default: true
  5662  	AutoRenew *bool `type:"boolean"`
  5663  
  5664  	// The domain name that you want to register. The top-level domain (TLD), such
  5665  	// as .com, must be a TLD that Route 53 supports. For a list of supported TLDs,
  5666  	// see Domains that You Can Register with Amazon Route 53 (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/registrar-tld-list.html)
  5667  	// in the Amazon Route 53 Developer Guide.
  5668  	//
  5669  	// The domain name can contain only the following characters:
  5670  	//
  5671  	//    * Letters a through z. Domain names are not case sensitive.
  5672  	//
  5673  	//    * Numbers 0 through 9.
  5674  	//
  5675  	//    * Hyphen (-). You can't specify a hyphen at the beginning or end of a
  5676  	//    label.
  5677  	//
  5678  	//    * Period (.) to separate the labels in the name, such as the . in example.com.
  5679  	//
  5680  	// Internationalized domain names are not supported for some top-level domains.
  5681  	// To determine whether the TLD that you want to use supports internationalized
  5682  	// domain names, see Domains that You Can Register with Amazon Route 53 (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/registrar-tld-list.html).
  5683  	// For more information, see Formatting Internationalized Domain Names (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html#domain-name-format-idns).
  5684  	//
  5685  	// DomainName is a required field
  5686  	DomainName *string `type:"string" required:"true"`
  5687  
  5688  	// The number of years that you want to register the domain for. Domains are
  5689  	// registered for a minimum of one year. The maximum period depends on the top-level
  5690  	// domain. For the range of valid values for your domain, see Domains that You
  5691  	// Can Register with Amazon Route 53 (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/registrar-tld-list.html)
  5692  	// in the Amazon Route 53 Developer Guide.
  5693  	//
  5694  	// Default: 1
  5695  	//
  5696  	// DurationInYears is a required field
  5697  	DurationInYears *int64 `min:"1" type:"integer" required:"true"`
  5698  
  5699  	// Reserved for future use.
  5700  	IdnLangCode *string `type:"string"`
  5701  
  5702  	// Whether you want to conceal contact information from WHOIS queries. If you
  5703  	// specify true, WHOIS ("who is") queries return contact information either
  5704  	// for Amazon Registrar (for .com, .net, and .org domains) or for our registrar
  5705  	// associate, Gandi (for all other TLDs). If you specify false, WHOIS queries
  5706  	// return the information that you entered for the admin contact.
  5707  	//
  5708  	// Default: true
  5709  	PrivacyProtectAdminContact *bool `type:"boolean"`
  5710  
  5711  	// Whether you want to conceal contact information from WHOIS queries. If you
  5712  	// specify true, WHOIS ("who is") queries return contact information either
  5713  	// for Amazon Registrar (for .com, .net, and .org domains) or for our registrar
  5714  	// associate, Gandi (for all other TLDs). If you specify false, WHOIS queries
  5715  	// return the information that you entered for the registrant contact (the domain
  5716  	// owner).
  5717  	//
  5718  	// Default: true
  5719  	PrivacyProtectRegistrantContact *bool `type:"boolean"`
  5720  
  5721  	// Whether you want to conceal contact information from WHOIS queries. If you
  5722  	// specify true, WHOIS ("who is") queries return contact information either
  5723  	// for Amazon Registrar (for .com, .net, and .org domains) or for our registrar
  5724  	// associate, Gandi (for all other TLDs). If you specify false, WHOIS queries
  5725  	// return the information that you entered for the technical contact.
  5726  	//
  5727  	// Default: true
  5728  	PrivacyProtectTechContact *bool `type:"boolean"`
  5729  
  5730  	// Provides detailed contact information. For information about the values that
  5731  	// you specify for each element, see ContactDetail (https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_ContactDetail.html).
  5732  	//
  5733  	// RegistrantContact is a sensitive parameter and its value will be
  5734  	// replaced with "sensitive" in string returned by RegisterDomainInput's
  5735  	// String and GoString methods.
  5736  	//
  5737  	// RegistrantContact is a required field
  5738  	RegistrantContact *ContactDetail `type:"structure" required:"true" sensitive:"true"`
  5739  
  5740  	// Provides detailed contact information. For information about the values that
  5741  	// you specify for each element, see ContactDetail (https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_ContactDetail.html).
  5742  	//
  5743  	// TechContact is a sensitive parameter and its value will be
  5744  	// replaced with "sensitive" in string returned by RegisterDomainInput's
  5745  	// String and GoString methods.
  5746  	//
  5747  	// TechContact is a required field
  5748  	TechContact *ContactDetail `type:"structure" required:"true" sensitive:"true"`
  5749  }
  5750  
  5751  // String returns the string representation.
  5752  //
  5753  // API parameter values that are decorated as "sensitive" in the API will not
  5754  // be included in the string output. The member name will be present, but the
  5755  // value will be replaced with "sensitive".
  5756  func (s RegisterDomainInput) String() string {
  5757  	return awsutil.Prettify(s)
  5758  }
  5759  
  5760  // GoString returns the string representation.
  5761  //
  5762  // API parameter values that are decorated as "sensitive" in the API will not
  5763  // be included in the string output. The member name will be present, but the
  5764  // value will be replaced with "sensitive".
  5765  func (s RegisterDomainInput) GoString() string {
  5766  	return s.String()
  5767  }
  5768  
  5769  // Validate inspects the fields of the type to determine if they are valid.
  5770  func (s *RegisterDomainInput) Validate() error {
  5771  	invalidParams := request.ErrInvalidParams{Context: "RegisterDomainInput"}
  5772  	if s.AdminContact == nil {
  5773  		invalidParams.Add(request.NewErrParamRequired("AdminContact"))
  5774  	}
  5775  	if s.DomainName == nil {
  5776  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  5777  	}
  5778  	if s.DurationInYears == nil {
  5779  		invalidParams.Add(request.NewErrParamRequired("DurationInYears"))
  5780  	}
  5781  	if s.DurationInYears != nil && *s.DurationInYears < 1 {
  5782  		invalidParams.Add(request.NewErrParamMinValue("DurationInYears", 1))
  5783  	}
  5784  	if s.RegistrantContact == nil {
  5785  		invalidParams.Add(request.NewErrParamRequired("RegistrantContact"))
  5786  	}
  5787  	if s.TechContact == nil {
  5788  		invalidParams.Add(request.NewErrParamRequired("TechContact"))
  5789  	}
  5790  	if s.AdminContact != nil {
  5791  		if err := s.AdminContact.Validate(); err != nil {
  5792  			invalidParams.AddNested("AdminContact", err.(request.ErrInvalidParams))
  5793  		}
  5794  	}
  5795  	if s.RegistrantContact != nil {
  5796  		if err := s.RegistrantContact.Validate(); err != nil {
  5797  			invalidParams.AddNested("RegistrantContact", err.(request.ErrInvalidParams))
  5798  		}
  5799  	}
  5800  	if s.TechContact != nil {
  5801  		if err := s.TechContact.Validate(); err != nil {
  5802  			invalidParams.AddNested("TechContact", err.(request.ErrInvalidParams))
  5803  		}
  5804  	}
  5805  
  5806  	if invalidParams.Len() > 0 {
  5807  		return invalidParams
  5808  	}
  5809  	return nil
  5810  }
  5811  
  5812  // SetAdminContact sets the AdminContact field's value.
  5813  func (s *RegisterDomainInput) SetAdminContact(v *ContactDetail) *RegisterDomainInput {
  5814  	s.AdminContact = v
  5815  	return s
  5816  }
  5817  
  5818  // SetAutoRenew sets the AutoRenew field's value.
  5819  func (s *RegisterDomainInput) SetAutoRenew(v bool) *RegisterDomainInput {
  5820  	s.AutoRenew = &v
  5821  	return s
  5822  }
  5823  
  5824  // SetDomainName sets the DomainName field's value.
  5825  func (s *RegisterDomainInput) SetDomainName(v string) *RegisterDomainInput {
  5826  	s.DomainName = &v
  5827  	return s
  5828  }
  5829  
  5830  // SetDurationInYears sets the DurationInYears field's value.
  5831  func (s *RegisterDomainInput) SetDurationInYears(v int64) *RegisterDomainInput {
  5832  	s.DurationInYears = &v
  5833  	return s
  5834  }
  5835  
  5836  // SetIdnLangCode sets the IdnLangCode field's value.
  5837  func (s *RegisterDomainInput) SetIdnLangCode(v string) *RegisterDomainInput {
  5838  	s.IdnLangCode = &v
  5839  	return s
  5840  }
  5841  
  5842  // SetPrivacyProtectAdminContact sets the PrivacyProtectAdminContact field's value.
  5843  func (s *RegisterDomainInput) SetPrivacyProtectAdminContact(v bool) *RegisterDomainInput {
  5844  	s.PrivacyProtectAdminContact = &v
  5845  	return s
  5846  }
  5847  
  5848  // SetPrivacyProtectRegistrantContact sets the PrivacyProtectRegistrantContact field's value.
  5849  func (s *RegisterDomainInput) SetPrivacyProtectRegistrantContact(v bool) *RegisterDomainInput {
  5850  	s.PrivacyProtectRegistrantContact = &v
  5851  	return s
  5852  }
  5853  
  5854  // SetPrivacyProtectTechContact sets the PrivacyProtectTechContact field's value.
  5855  func (s *RegisterDomainInput) SetPrivacyProtectTechContact(v bool) *RegisterDomainInput {
  5856  	s.PrivacyProtectTechContact = &v
  5857  	return s
  5858  }
  5859  
  5860  // SetRegistrantContact sets the RegistrantContact field's value.
  5861  func (s *RegisterDomainInput) SetRegistrantContact(v *ContactDetail) *RegisterDomainInput {
  5862  	s.RegistrantContact = v
  5863  	return s
  5864  }
  5865  
  5866  // SetTechContact sets the TechContact field's value.
  5867  func (s *RegisterDomainInput) SetTechContact(v *ContactDetail) *RegisterDomainInput {
  5868  	s.TechContact = v
  5869  	return s
  5870  }
  5871  
  5872  // The RegisterDomain response includes the following element.
  5873  type RegisterDomainOutput struct {
  5874  	_ struct{} `type:"structure"`
  5875  
  5876  	// Identifier for tracking the progress of the request. To query the operation
  5877  	// status, use GetOperationDetail (https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_GetOperationDetail.html).
  5878  	//
  5879  	// OperationId is a required field
  5880  	OperationId *string `type:"string" required:"true"`
  5881  }
  5882  
  5883  // String returns the string representation.
  5884  //
  5885  // API parameter values that are decorated as "sensitive" in the API will not
  5886  // be included in the string output. The member name will be present, but the
  5887  // value will be replaced with "sensitive".
  5888  func (s RegisterDomainOutput) String() string {
  5889  	return awsutil.Prettify(s)
  5890  }
  5891  
  5892  // GoString returns the string representation.
  5893  //
  5894  // API parameter values that are decorated as "sensitive" in the API will not
  5895  // be included in the string output. The member name will be present, but the
  5896  // value will be replaced with "sensitive".
  5897  func (s RegisterDomainOutput) GoString() string {
  5898  	return s.String()
  5899  }
  5900  
  5901  // SetOperationId sets the OperationId field's value.
  5902  func (s *RegisterDomainOutput) SetOperationId(v string) *RegisterDomainOutput {
  5903  	s.OperationId = &v
  5904  	return s
  5905  }
  5906  
  5907  // The RejectDomainTransferFromAnotherAwsAccount request includes the following
  5908  // element.
  5909  type RejectDomainTransferFromAnotherAwsAccountInput struct {
  5910  	_ struct{} `type:"structure"`
  5911  
  5912  	// The name of the domain that was specified when another AWS account submitted
  5913  	// a TransferDomainToAnotherAwsAccount (https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_TransferDomainToAnotherAwsAccount.html)
  5914  	// request.
  5915  	//
  5916  	// DomainName is a required field
  5917  	DomainName *string `type:"string" required:"true"`
  5918  }
  5919  
  5920  // String returns the string representation.
  5921  //
  5922  // API parameter values that are decorated as "sensitive" in the API will not
  5923  // be included in the string output. The member name will be present, but the
  5924  // value will be replaced with "sensitive".
  5925  func (s RejectDomainTransferFromAnotherAwsAccountInput) String() string {
  5926  	return awsutil.Prettify(s)
  5927  }
  5928  
  5929  // GoString returns the string representation.
  5930  //
  5931  // API parameter values that are decorated as "sensitive" in the API will not
  5932  // be included in the string output. The member name will be present, but the
  5933  // value will be replaced with "sensitive".
  5934  func (s RejectDomainTransferFromAnotherAwsAccountInput) GoString() string {
  5935  	return s.String()
  5936  }
  5937  
  5938  // Validate inspects the fields of the type to determine if they are valid.
  5939  func (s *RejectDomainTransferFromAnotherAwsAccountInput) Validate() error {
  5940  	invalidParams := request.ErrInvalidParams{Context: "RejectDomainTransferFromAnotherAwsAccountInput"}
  5941  	if s.DomainName == nil {
  5942  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  5943  	}
  5944  
  5945  	if invalidParams.Len() > 0 {
  5946  		return invalidParams
  5947  	}
  5948  	return nil
  5949  }
  5950  
  5951  // SetDomainName sets the DomainName field's value.
  5952  func (s *RejectDomainTransferFromAnotherAwsAccountInput) SetDomainName(v string) *RejectDomainTransferFromAnotherAwsAccountInput {
  5953  	s.DomainName = &v
  5954  	return s
  5955  }
  5956  
  5957  // The RejectDomainTransferFromAnotherAwsAccount response includes the following
  5958  // element.
  5959  type RejectDomainTransferFromAnotherAwsAccountOutput struct {
  5960  	_ struct{} `type:"structure"`
  5961  
  5962  	// The identifier that TransferDomainToAnotherAwsAccount returned to track the
  5963  	// progress of the request. Because the transfer request was rejected, the value
  5964  	// is no longer valid, and you can't use GetOperationDetail to query the operation
  5965  	// status.
  5966  	OperationId *string `type:"string"`
  5967  }
  5968  
  5969  // String returns the string representation.
  5970  //
  5971  // API parameter values that are decorated as "sensitive" in the API will not
  5972  // be included in the string output. The member name will be present, but the
  5973  // value will be replaced with "sensitive".
  5974  func (s RejectDomainTransferFromAnotherAwsAccountOutput) String() string {
  5975  	return awsutil.Prettify(s)
  5976  }
  5977  
  5978  // GoString returns the string representation.
  5979  //
  5980  // API parameter values that are decorated as "sensitive" in the API will not
  5981  // be included in the string output. The member name will be present, but the
  5982  // value will be replaced with "sensitive".
  5983  func (s RejectDomainTransferFromAnotherAwsAccountOutput) GoString() string {
  5984  	return s.String()
  5985  }
  5986  
  5987  // SetOperationId sets the OperationId field's value.
  5988  func (s *RejectDomainTransferFromAnotherAwsAccountOutput) SetOperationId(v string) *RejectDomainTransferFromAnotherAwsAccountOutput {
  5989  	s.OperationId = &v
  5990  	return s
  5991  }
  5992  
  5993  // A RenewDomain request includes the number of years that you want to renew
  5994  // for and the current expiration year.
  5995  type RenewDomainInput struct {
  5996  	_ struct{} `type:"structure"`
  5997  
  5998  	// The year when the registration for the domain is set to expire. This value
  5999  	// must match the current expiration date for the domain.
  6000  	//
  6001  	// CurrentExpiryYear is a required field
  6002  	CurrentExpiryYear *int64 `type:"integer" required:"true"`
  6003  
  6004  	// The name of the domain that you want to renew.
  6005  	//
  6006  	// DomainName is a required field
  6007  	DomainName *string `type:"string" required:"true"`
  6008  
  6009  	// The number of years that you want to renew the domain for. The maximum number
  6010  	// of years depends on the top-level domain. For the range of valid values for
  6011  	// your domain, see Domains that You Can Register with Amazon Route 53 (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/registrar-tld-list.html)
  6012  	// in the Amazon Route 53 Developer Guide.
  6013  	//
  6014  	// Default: 1
  6015  	DurationInYears *int64 `min:"1" type:"integer"`
  6016  }
  6017  
  6018  // String returns the string representation.
  6019  //
  6020  // API parameter values that are decorated as "sensitive" in the API will not
  6021  // be included in the string output. The member name will be present, but the
  6022  // value will be replaced with "sensitive".
  6023  func (s RenewDomainInput) String() string {
  6024  	return awsutil.Prettify(s)
  6025  }
  6026  
  6027  // GoString returns the string representation.
  6028  //
  6029  // API parameter values that are decorated as "sensitive" in the API will not
  6030  // be included in the string output. The member name will be present, but the
  6031  // value will be replaced with "sensitive".
  6032  func (s RenewDomainInput) GoString() string {
  6033  	return s.String()
  6034  }
  6035  
  6036  // Validate inspects the fields of the type to determine if they are valid.
  6037  func (s *RenewDomainInput) Validate() error {
  6038  	invalidParams := request.ErrInvalidParams{Context: "RenewDomainInput"}
  6039  	if s.CurrentExpiryYear == nil {
  6040  		invalidParams.Add(request.NewErrParamRequired("CurrentExpiryYear"))
  6041  	}
  6042  	if s.DomainName == nil {
  6043  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  6044  	}
  6045  	if s.DurationInYears != nil && *s.DurationInYears < 1 {
  6046  		invalidParams.Add(request.NewErrParamMinValue("DurationInYears", 1))
  6047  	}
  6048  
  6049  	if invalidParams.Len() > 0 {
  6050  		return invalidParams
  6051  	}
  6052  	return nil
  6053  }
  6054  
  6055  // SetCurrentExpiryYear sets the CurrentExpiryYear field's value.
  6056  func (s *RenewDomainInput) SetCurrentExpiryYear(v int64) *RenewDomainInput {
  6057  	s.CurrentExpiryYear = &v
  6058  	return s
  6059  }
  6060  
  6061  // SetDomainName sets the DomainName field's value.
  6062  func (s *RenewDomainInput) SetDomainName(v string) *RenewDomainInput {
  6063  	s.DomainName = &v
  6064  	return s
  6065  }
  6066  
  6067  // SetDurationInYears sets the DurationInYears field's value.
  6068  func (s *RenewDomainInput) SetDurationInYears(v int64) *RenewDomainInput {
  6069  	s.DurationInYears = &v
  6070  	return s
  6071  }
  6072  
  6073  type RenewDomainOutput struct {
  6074  	_ struct{} `type:"structure"`
  6075  
  6076  	// Identifier for tracking the progress of the request. To query the operation
  6077  	// status, use GetOperationDetail (https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_GetOperationDetail.html).
  6078  	//
  6079  	// OperationId is a required field
  6080  	OperationId *string `type:"string" required:"true"`
  6081  }
  6082  
  6083  // String returns the string representation.
  6084  //
  6085  // API parameter values that are decorated as "sensitive" in the API will not
  6086  // be included in the string output. The member name will be present, but the
  6087  // value will be replaced with "sensitive".
  6088  func (s RenewDomainOutput) String() string {
  6089  	return awsutil.Prettify(s)
  6090  }
  6091  
  6092  // GoString returns the string representation.
  6093  //
  6094  // API parameter values that are decorated as "sensitive" in the API will not
  6095  // be included in the string output. The member name will be present, but the
  6096  // value will be replaced with "sensitive".
  6097  func (s RenewDomainOutput) GoString() string {
  6098  	return s.String()
  6099  }
  6100  
  6101  // SetOperationId sets the OperationId field's value.
  6102  func (s *RenewDomainOutput) SetOperationId(v string) *RenewDomainOutput {
  6103  	s.OperationId = &v
  6104  	return s
  6105  }
  6106  
  6107  type ResendContactReachabilityEmailInput struct {
  6108  	_ struct{} `type:"structure"`
  6109  
  6110  	// The name of the domain for which you want Route 53 to resend a confirmation
  6111  	// email to the registrant contact.
  6112  	DomainName *string `locationName:"domainName" type:"string"`
  6113  }
  6114  
  6115  // String returns the string representation.
  6116  //
  6117  // API parameter values that are decorated as "sensitive" in the API will not
  6118  // be included in the string output. The member name will be present, but the
  6119  // value will be replaced with "sensitive".
  6120  func (s ResendContactReachabilityEmailInput) String() string {
  6121  	return awsutil.Prettify(s)
  6122  }
  6123  
  6124  // GoString returns the string representation.
  6125  //
  6126  // API parameter values that are decorated as "sensitive" in the API will not
  6127  // be included in the string output. The member name will be present, but the
  6128  // value will be replaced with "sensitive".
  6129  func (s ResendContactReachabilityEmailInput) GoString() string {
  6130  	return s.String()
  6131  }
  6132  
  6133  // SetDomainName sets the DomainName field's value.
  6134  func (s *ResendContactReachabilityEmailInput) SetDomainName(v string) *ResendContactReachabilityEmailInput {
  6135  	s.DomainName = &v
  6136  	return s
  6137  }
  6138  
  6139  type ResendContactReachabilityEmailOutput struct {
  6140  	_ struct{} `type:"structure"`
  6141  
  6142  	// The domain name for which you requested a confirmation email.
  6143  	DomainName *string `locationName:"domainName" type:"string"`
  6144  
  6145  	// The email address for the registrant contact at the time that we sent the
  6146  	// verification email.
  6147  	EmailAddress *string `locationName:"emailAddress" type:"string"`
  6148  
  6149  	// True if the email address for the registrant contact has already been verified,
  6150  	// and false otherwise. If the email address has already been verified, we don't
  6151  	// send another confirmation email.
  6152  	IsAlreadyVerified *bool `locationName:"isAlreadyVerified" type:"boolean"`
  6153  }
  6154  
  6155  // String returns the string representation.
  6156  //
  6157  // API parameter values that are decorated as "sensitive" in the API will not
  6158  // be included in the string output. The member name will be present, but the
  6159  // value will be replaced with "sensitive".
  6160  func (s ResendContactReachabilityEmailOutput) String() string {
  6161  	return awsutil.Prettify(s)
  6162  }
  6163  
  6164  // GoString returns the string representation.
  6165  //
  6166  // API parameter values that are decorated as "sensitive" in the API will not
  6167  // be included in the string output. The member name will be present, but the
  6168  // value will be replaced with "sensitive".
  6169  func (s ResendContactReachabilityEmailOutput) GoString() string {
  6170  	return s.String()
  6171  }
  6172  
  6173  // SetDomainName sets the DomainName field's value.
  6174  func (s *ResendContactReachabilityEmailOutput) SetDomainName(v string) *ResendContactReachabilityEmailOutput {
  6175  	s.DomainName = &v
  6176  	return s
  6177  }
  6178  
  6179  // SetEmailAddress sets the EmailAddress field's value.
  6180  func (s *ResendContactReachabilityEmailOutput) SetEmailAddress(v string) *ResendContactReachabilityEmailOutput {
  6181  	s.EmailAddress = &v
  6182  	return s
  6183  }
  6184  
  6185  // SetIsAlreadyVerified sets the IsAlreadyVerified field's value.
  6186  func (s *ResendContactReachabilityEmailOutput) SetIsAlreadyVerified(v bool) *ResendContactReachabilityEmailOutput {
  6187  	s.IsAlreadyVerified = &v
  6188  	return s
  6189  }
  6190  
  6191  // A request for the authorization code for the specified domain. To transfer
  6192  // a domain to another registrar, you provide this value to the new registrar.
  6193  type RetrieveDomainAuthCodeInput struct {
  6194  	_ struct{} `type:"structure"`
  6195  
  6196  	// The name of the domain that you want to get an authorization code for.
  6197  	//
  6198  	// DomainName is a required field
  6199  	DomainName *string `type:"string" required:"true"`
  6200  }
  6201  
  6202  // String returns the string representation.
  6203  //
  6204  // API parameter values that are decorated as "sensitive" in the API will not
  6205  // be included in the string output. The member name will be present, but the
  6206  // value will be replaced with "sensitive".
  6207  func (s RetrieveDomainAuthCodeInput) String() string {
  6208  	return awsutil.Prettify(s)
  6209  }
  6210  
  6211  // GoString returns the string representation.
  6212  //
  6213  // API parameter values that are decorated as "sensitive" in the API will not
  6214  // be included in the string output. The member name will be present, but the
  6215  // value will be replaced with "sensitive".
  6216  func (s RetrieveDomainAuthCodeInput) GoString() string {
  6217  	return s.String()
  6218  }
  6219  
  6220  // Validate inspects the fields of the type to determine if they are valid.
  6221  func (s *RetrieveDomainAuthCodeInput) Validate() error {
  6222  	invalidParams := request.ErrInvalidParams{Context: "RetrieveDomainAuthCodeInput"}
  6223  	if s.DomainName == nil {
  6224  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  6225  	}
  6226  
  6227  	if invalidParams.Len() > 0 {
  6228  		return invalidParams
  6229  	}
  6230  	return nil
  6231  }
  6232  
  6233  // SetDomainName sets the DomainName field's value.
  6234  func (s *RetrieveDomainAuthCodeInput) SetDomainName(v string) *RetrieveDomainAuthCodeInput {
  6235  	s.DomainName = &v
  6236  	return s
  6237  }
  6238  
  6239  // The RetrieveDomainAuthCode response includes the following element.
  6240  type RetrieveDomainAuthCodeOutput struct {
  6241  	_ struct{} `type:"structure"`
  6242  
  6243  	// The authorization code for the domain.
  6244  	//
  6245  	// AuthCode is a sensitive parameter and its value will be
  6246  	// replaced with "sensitive" in string returned by RetrieveDomainAuthCodeOutput's
  6247  	// String and GoString methods.
  6248  	//
  6249  	// AuthCode is a required field
  6250  	AuthCode *string `type:"string" required:"true" sensitive:"true"`
  6251  }
  6252  
  6253  // String returns the string representation.
  6254  //
  6255  // API parameter values that are decorated as "sensitive" in the API will not
  6256  // be included in the string output. The member name will be present, but the
  6257  // value will be replaced with "sensitive".
  6258  func (s RetrieveDomainAuthCodeOutput) String() string {
  6259  	return awsutil.Prettify(s)
  6260  }
  6261  
  6262  // GoString returns the string representation.
  6263  //
  6264  // API parameter values that are decorated as "sensitive" in the API will not
  6265  // be included in the string output. The member name will be present, but the
  6266  // value will be replaced with "sensitive".
  6267  func (s RetrieveDomainAuthCodeOutput) GoString() string {
  6268  	return s.String()
  6269  }
  6270  
  6271  // SetAuthCode sets the AuthCode field's value.
  6272  func (s *RetrieveDomainAuthCodeOutput) SetAuthCode(v string) *RetrieveDomainAuthCodeOutput {
  6273  	s.AuthCode = &v
  6274  	return s
  6275  }
  6276  
  6277  // The top-level domain does not support this operation.
  6278  type TLDRulesViolation struct {
  6279  	_            struct{}                  `type:"structure"`
  6280  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  6281  
  6282  	// The top-level domain does not support this operation.
  6283  	Message_ *string `locationName:"message" type:"string"`
  6284  }
  6285  
  6286  // String returns the string representation.
  6287  //
  6288  // API parameter values that are decorated as "sensitive" in the API will not
  6289  // be included in the string output. The member name will be present, but the
  6290  // value will be replaced with "sensitive".
  6291  func (s TLDRulesViolation) String() string {
  6292  	return awsutil.Prettify(s)
  6293  }
  6294  
  6295  // GoString returns the string representation.
  6296  //
  6297  // API parameter values that are decorated as "sensitive" in the API will not
  6298  // be included in the string output. The member name will be present, but the
  6299  // value will be replaced with "sensitive".
  6300  func (s TLDRulesViolation) GoString() string {
  6301  	return s.String()
  6302  }
  6303  
  6304  func newErrorTLDRulesViolation(v protocol.ResponseMetadata) error {
  6305  	return &TLDRulesViolation{
  6306  		RespMetadata: v,
  6307  	}
  6308  }
  6309  
  6310  // Code returns the exception type name.
  6311  func (s *TLDRulesViolation) Code() string {
  6312  	return "TLDRulesViolation"
  6313  }
  6314  
  6315  // Message returns the exception's message.
  6316  func (s *TLDRulesViolation) Message() string {
  6317  	if s.Message_ != nil {
  6318  		return *s.Message_
  6319  	}
  6320  	return ""
  6321  }
  6322  
  6323  // OrigErr always returns nil, satisfies awserr.Error interface.
  6324  func (s *TLDRulesViolation) OrigErr() error {
  6325  	return nil
  6326  }
  6327  
  6328  func (s *TLDRulesViolation) Error() string {
  6329  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  6330  }
  6331  
  6332  // Status code returns the HTTP status code for the request's response error.
  6333  func (s *TLDRulesViolation) StatusCode() int {
  6334  	return s.RespMetadata.StatusCode
  6335  }
  6336  
  6337  // RequestID returns the service's response RequestID for request.
  6338  func (s *TLDRulesViolation) RequestID() string {
  6339  	return s.RespMetadata.RequestID
  6340  }
  6341  
  6342  // Each tag includes the following elements.
  6343  type Tag struct {
  6344  	_ struct{} `type:"structure"`
  6345  
  6346  	// The key (name) of a tag.
  6347  	//
  6348  	// Valid values: A-Z, a-z, 0-9, space, ".:/=+\-@"
  6349  	//
  6350  	// Constraints: Each key can be 1-128 characters long.
  6351  	Key *string `type:"string"`
  6352  
  6353  	// The value of a tag.
  6354  	//
  6355  	// Valid values: A-Z, a-z, 0-9, space, ".:/=+\-@"
  6356  	//
  6357  	// Constraints: Each value can be 0-256 characters long.
  6358  	Value *string `type:"string"`
  6359  }
  6360  
  6361  // String returns the string representation.
  6362  //
  6363  // API parameter values that are decorated as "sensitive" in the API will not
  6364  // be included in the string output. The member name will be present, but the
  6365  // value will be replaced with "sensitive".
  6366  func (s Tag) String() string {
  6367  	return awsutil.Prettify(s)
  6368  }
  6369  
  6370  // GoString returns the string representation.
  6371  //
  6372  // API parameter values that are decorated as "sensitive" in the API will not
  6373  // be included in the string output. The member name will be present, but the
  6374  // value will be replaced with "sensitive".
  6375  func (s Tag) GoString() string {
  6376  	return s.String()
  6377  }
  6378  
  6379  // SetKey sets the Key field's value.
  6380  func (s *Tag) SetKey(v string) *Tag {
  6381  	s.Key = &v
  6382  	return s
  6383  }
  6384  
  6385  // SetValue sets the Value field's value.
  6386  func (s *Tag) SetValue(v string) *Tag {
  6387  	s.Value = &v
  6388  	return s
  6389  }
  6390  
  6391  // The TransferDomain request includes the following elements.
  6392  type TransferDomainInput struct {
  6393  	_ struct{} `type:"structure"`
  6394  
  6395  	// Provides detailed contact information.
  6396  	//
  6397  	// AdminContact is a sensitive parameter and its value will be
  6398  	// replaced with "sensitive" in string returned by TransferDomainInput's
  6399  	// String and GoString methods.
  6400  	//
  6401  	// AdminContact is a required field
  6402  	AdminContact *ContactDetail `type:"structure" required:"true" sensitive:"true"`
  6403  
  6404  	// The authorization code for the domain. You get this value from the current
  6405  	// registrar.
  6406  	//
  6407  	// AuthCode is a sensitive parameter and its value will be
  6408  	// replaced with "sensitive" in string returned by TransferDomainInput's
  6409  	// String and GoString methods.
  6410  	AuthCode *string `type:"string" sensitive:"true"`
  6411  
  6412  	// Indicates whether the domain will be automatically renewed (true) or not
  6413  	// (false). Autorenewal only takes effect after the account is charged.
  6414  	//
  6415  	// Default: true
  6416  	AutoRenew *bool `type:"boolean"`
  6417  
  6418  	// The name of the domain that you want to transfer to Route 53. The top-level
  6419  	// domain (TLD), such as .com, must be a TLD that Route 53 supports. For a list
  6420  	// of supported TLDs, see Domains that You Can Register with Amazon Route 53
  6421  	// (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/registrar-tld-list.html)
  6422  	// in the Amazon Route 53 Developer Guide.
  6423  	//
  6424  	// The domain name can contain only the following characters:
  6425  	//
  6426  	//    * Letters a through z. Domain names are not case sensitive.
  6427  	//
  6428  	//    * Numbers 0 through 9.
  6429  	//
  6430  	//    * Hyphen (-). You can't specify a hyphen at the beginning or end of a
  6431  	//    label.
  6432  	//
  6433  	//    * Period (.) to separate the labels in the name, such as the . in example.com.
  6434  	//
  6435  	// DomainName is a required field
  6436  	DomainName *string `type:"string" required:"true"`
  6437  
  6438  	// The number of years that you want to register the domain for. Domains are
  6439  	// registered for a minimum of one year. The maximum period depends on the top-level
  6440  	// domain.
  6441  	//
  6442  	// Default: 1
  6443  	//
  6444  	// DurationInYears is a required field
  6445  	DurationInYears *int64 `min:"1" type:"integer" required:"true"`
  6446  
  6447  	// Reserved for future use.
  6448  	IdnLangCode *string `type:"string"`
  6449  
  6450  	// Contains details for the host and glue IP addresses.
  6451  	Nameservers []*Nameserver `type:"list"`
  6452  
  6453  	// Whether you want to conceal contact information from WHOIS queries. If you
  6454  	// specify true, WHOIS ("who is") queries return contact information either
  6455  	// for Amazon Registrar (for .com, .net, and .org domains) or for our registrar
  6456  	// associate, Gandi (for all other TLDs). If you specify false, WHOIS queries
  6457  	// return the information that you entered for the admin contact.
  6458  	//
  6459  	// Default: true
  6460  	PrivacyProtectAdminContact *bool `type:"boolean"`
  6461  
  6462  	// Whether you want to conceal contact information from WHOIS queries. If you
  6463  	// specify true, WHOIS ("who is") queries return contact information either
  6464  	// for Amazon Registrar (for .com, .net, and .org domains) or for our registrar
  6465  	// associate, Gandi (for all other TLDs). If you specify false, WHOIS queries
  6466  	// return the information that you entered for the registrant contact (domain
  6467  	// owner).
  6468  	//
  6469  	// Default: true
  6470  	PrivacyProtectRegistrantContact *bool `type:"boolean"`
  6471  
  6472  	// Whether you want to conceal contact information from WHOIS queries. If you
  6473  	// specify true, WHOIS ("who is") queries return contact information either
  6474  	// for Amazon Registrar (for .com, .net, and .org domains) or for our registrar
  6475  	// associate, Gandi (for all other TLDs). If you specify false, WHOIS queries
  6476  	// return the information that you entered for the technical contact.
  6477  	//
  6478  	// Default: true
  6479  	PrivacyProtectTechContact *bool `type:"boolean"`
  6480  
  6481  	// Provides detailed contact information.
  6482  	//
  6483  	// RegistrantContact is a sensitive parameter and its value will be
  6484  	// replaced with "sensitive" in string returned by TransferDomainInput's
  6485  	// String and GoString methods.
  6486  	//
  6487  	// RegistrantContact is a required field
  6488  	RegistrantContact *ContactDetail `type:"structure" required:"true" sensitive:"true"`
  6489  
  6490  	// Provides detailed contact information.
  6491  	//
  6492  	// TechContact is a sensitive parameter and its value will be
  6493  	// replaced with "sensitive" in string returned by TransferDomainInput's
  6494  	// String and GoString methods.
  6495  	//
  6496  	// TechContact is a required field
  6497  	TechContact *ContactDetail `type:"structure" required:"true" sensitive:"true"`
  6498  }
  6499  
  6500  // String returns the string representation.
  6501  //
  6502  // API parameter values that are decorated as "sensitive" in the API will not
  6503  // be included in the string output. The member name will be present, but the
  6504  // value will be replaced with "sensitive".
  6505  func (s TransferDomainInput) String() string {
  6506  	return awsutil.Prettify(s)
  6507  }
  6508  
  6509  // GoString returns the string representation.
  6510  //
  6511  // API parameter values that are decorated as "sensitive" in the API will not
  6512  // be included in the string output. The member name will be present, but the
  6513  // value will be replaced with "sensitive".
  6514  func (s TransferDomainInput) GoString() string {
  6515  	return s.String()
  6516  }
  6517  
  6518  // Validate inspects the fields of the type to determine if they are valid.
  6519  func (s *TransferDomainInput) Validate() error {
  6520  	invalidParams := request.ErrInvalidParams{Context: "TransferDomainInput"}
  6521  	if s.AdminContact == nil {
  6522  		invalidParams.Add(request.NewErrParamRequired("AdminContact"))
  6523  	}
  6524  	if s.DomainName == nil {
  6525  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  6526  	}
  6527  	if s.DurationInYears == nil {
  6528  		invalidParams.Add(request.NewErrParamRequired("DurationInYears"))
  6529  	}
  6530  	if s.DurationInYears != nil && *s.DurationInYears < 1 {
  6531  		invalidParams.Add(request.NewErrParamMinValue("DurationInYears", 1))
  6532  	}
  6533  	if s.RegistrantContact == nil {
  6534  		invalidParams.Add(request.NewErrParamRequired("RegistrantContact"))
  6535  	}
  6536  	if s.TechContact == nil {
  6537  		invalidParams.Add(request.NewErrParamRequired("TechContact"))
  6538  	}
  6539  	if s.AdminContact != nil {
  6540  		if err := s.AdminContact.Validate(); err != nil {
  6541  			invalidParams.AddNested("AdminContact", err.(request.ErrInvalidParams))
  6542  		}
  6543  	}
  6544  	if s.Nameservers != nil {
  6545  		for i, v := range s.Nameservers {
  6546  			if v == nil {
  6547  				continue
  6548  			}
  6549  			if err := v.Validate(); err != nil {
  6550  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Nameservers", i), err.(request.ErrInvalidParams))
  6551  			}
  6552  		}
  6553  	}
  6554  	if s.RegistrantContact != nil {
  6555  		if err := s.RegistrantContact.Validate(); err != nil {
  6556  			invalidParams.AddNested("RegistrantContact", err.(request.ErrInvalidParams))
  6557  		}
  6558  	}
  6559  	if s.TechContact != nil {
  6560  		if err := s.TechContact.Validate(); err != nil {
  6561  			invalidParams.AddNested("TechContact", err.(request.ErrInvalidParams))
  6562  		}
  6563  	}
  6564  
  6565  	if invalidParams.Len() > 0 {
  6566  		return invalidParams
  6567  	}
  6568  	return nil
  6569  }
  6570  
  6571  // SetAdminContact sets the AdminContact field's value.
  6572  func (s *TransferDomainInput) SetAdminContact(v *ContactDetail) *TransferDomainInput {
  6573  	s.AdminContact = v
  6574  	return s
  6575  }
  6576  
  6577  // SetAuthCode sets the AuthCode field's value.
  6578  func (s *TransferDomainInput) SetAuthCode(v string) *TransferDomainInput {
  6579  	s.AuthCode = &v
  6580  	return s
  6581  }
  6582  
  6583  // SetAutoRenew sets the AutoRenew field's value.
  6584  func (s *TransferDomainInput) SetAutoRenew(v bool) *TransferDomainInput {
  6585  	s.AutoRenew = &v
  6586  	return s
  6587  }
  6588  
  6589  // SetDomainName sets the DomainName field's value.
  6590  func (s *TransferDomainInput) SetDomainName(v string) *TransferDomainInput {
  6591  	s.DomainName = &v
  6592  	return s
  6593  }
  6594  
  6595  // SetDurationInYears sets the DurationInYears field's value.
  6596  func (s *TransferDomainInput) SetDurationInYears(v int64) *TransferDomainInput {
  6597  	s.DurationInYears = &v
  6598  	return s
  6599  }
  6600  
  6601  // SetIdnLangCode sets the IdnLangCode field's value.
  6602  func (s *TransferDomainInput) SetIdnLangCode(v string) *TransferDomainInput {
  6603  	s.IdnLangCode = &v
  6604  	return s
  6605  }
  6606  
  6607  // SetNameservers sets the Nameservers field's value.
  6608  func (s *TransferDomainInput) SetNameservers(v []*Nameserver) *TransferDomainInput {
  6609  	s.Nameservers = v
  6610  	return s
  6611  }
  6612  
  6613  // SetPrivacyProtectAdminContact sets the PrivacyProtectAdminContact field's value.
  6614  func (s *TransferDomainInput) SetPrivacyProtectAdminContact(v bool) *TransferDomainInput {
  6615  	s.PrivacyProtectAdminContact = &v
  6616  	return s
  6617  }
  6618  
  6619  // SetPrivacyProtectRegistrantContact sets the PrivacyProtectRegistrantContact field's value.
  6620  func (s *TransferDomainInput) SetPrivacyProtectRegistrantContact(v bool) *TransferDomainInput {
  6621  	s.PrivacyProtectRegistrantContact = &v
  6622  	return s
  6623  }
  6624  
  6625  // SetPrivacyProtectTechContact sets the PrivacyProtectTechContact field's value.
  6626  func (s *TransferDomainInput) SetPrivacyProtectTechContact(v bool) *TransferDomainInput {
  6627  	s.PrivacyProtectTechContact = &v
  6628  	return s
  6629  }
  6630  
  6631  // SetRegistrantContact sets the RegistrantContact field's value.
  6632  func (s *TransferDomainInput) SetRegistrantContact(v *ContactDetail) *TransferDomainInput {
  6633  	s.RegistrantContact = v
  6634  	return s
  6635  }
  6636  
  6637  // SetTechContact sets the TechContact field's value.
  6638  func (s *TransferDomainInput) SetTechContact(v *ContactDetail) *TransferDomainInput {
  6639  	s.TechContact = v
  6640  	return s
  6641  }
  6642  
  6643  // The TransferDomain response includes the following element.
  6644  type TransferDomainOutput struct {
  6645  	_ struct{} `type:"structure"`
  6646  
  6647  	// Identifier for tracking the progress of the request. To query the operation
  6648  	// status, use GetOperationDetail (https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_GetOperationDetail.html).
  6649  	//
  6650  	// OperationId is a required field
  6651  	OperationId *string `type:"string" required:"true"`
  6652  }
  6653  
  6654  // String returns the string representation.
  6655  //
  6656  // API parameter values that are decorated as "sensitive" in the API will not
  6657  // be included in the string output. The member name will be present, but the
  6658  // value will be replaced with "sensitive".
  6659  func (s TransferDomainOutput) String() string {
  6660  	return awsutil.Prettify(s)
  6661  }
  6662  
  6663  // GoString returns the string representation.
  6664  //
  6665  // API parameter values that are decorated as "sensitive" in the API will not
  6666  // be included in the string output. The member name will be present, but the
  6667  // value will be replaced with "sensitive".
  6668  func (s TransferDomainOutput) GoString() string {
  6669  	return s.String()
  6670  }
  6671  
  6672  // SetOperationId sets the OperationId field's value.
  6673  func (s *TransferDomainOutput) SetOperationId(v string) *TransferDomainOutput {
  6674  	s.OperationId = &v
  6675  	return s
  6676  }
  6677  
  6678  // The TransferDomainToAnotherAwsAccount request includes the following elements.
  6679  type TransferDomainToAnotherAwsAccountInput struct {
  6680  	_ struct{} `type:"structure"`
  6681  
  6682  	// The account ID of the AWS account that you want to transfer the domain to,
  6683  	// for example, 111122223333.
  6684  	//
  6685  	// AccountId is a required field
  6686  	AccountId *string `type:"string" required:"true"`
  6687  
  6688  	// The name of the domain that you want to transfer from the current AWS account
  6689  	// to another account.
  6690  	//
  6691  	// DomainName is a required field
  6692  	DomainName *string `type:"string" required:"true"`
  6693  }
  6694  
  6695  // String returns the string representation.
  6696  //
  6697  // API parameter values that are decorated as "sensitive" in the API will not
  6698  // be included in the string output. The member name will be present, but the
  6699  // value will be replaced with "sensitive".
  6700  func (s TransferDomainToAnotherAwsAccountInput) String() string {
  6701  	return awsutil.Prettify(s)
  6702  }
  6703  
  6704  // GoString returns the string representation.
  6705  //
  6706  // API parameter values that are decorated as "sensitive" in the API will not
  6707  // be included in the string output. The member name will be present, but the
  6708  // value will be replaced with "sensitive".
  6709  func (s TransferDomainToAnotherAwsAccountInput) GoString() string {
  6710  	return s.String()
  6711  }
  6712  
  6713  // Validate inspects the fields of the type to determine if they are valid.
  6714  func (s *TransferDomainToAnotherAwsAccountInput) Validate() error {
  6715  	invalidParams := request.ErrInvalidParams{Context: "TransferDomainToAnotherAwsAccountInput"}
  6716  	if s.AccountId == nil {
  6717  		invalidParams.Add(request.NewErrParamRequired("AccountId"))
  6718  	}
  6719  	if s.DomainName == nil {
  6720  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  6721  	}
  6722  
  6723  	if invalidParams.Len() > 0 {
  6724  		return invalidParams
  6725  	}
  6726  	return nil
  6727  }
  6728  
  6729  // SetAccountId sets the AccountId field's value.
  6730  func (s *TransferDomainToAnotherAwsAccountInput) SetAccountId(v string) *TransferDomainToAnotherAwsAccountInput {
  6731  	s.AccountId = &v
  6732  	return s
  6733  }
  6734  
  6735  // SetDomainName sets the DomainName field's value.
  6736  func (s *TransferDomainToAnotherAwsAccountInput) SetDomainName(v string) *TransferDomainToAnotherAwsAccountInput {
  6737  	s.DomainName = &v
  6738  	return s
  6739  }
  6740  
  6741  // The TransferDomainToAnotherAwsAccount response includes the following elements.
  6742  type TransferDomainToAnotherAwsAccountOutput struct {
  6743  	_ struct{} `type:"structure"`
  6744  
  6745  	// Identifier for tracking the progress of the request. To query the operation
  6746  	// status, use GetOperationDetail (https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_GetOperationDetail.html).
  6747  	OperationId *string `type:"string"`
  6748  
  6749  	// To finish transferring a domain to another AWS account, the account that
  6750  	// the domain is being transferred to must submit an AcceptDomainTransferFromAnotherAwsAccount
  6751  	// (https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_AcceptDomainTransferFromAnotherAwsAccount.html)
  6752  	// request. The request must include the value of the Password element that
  6753  	// was returned in the TransferDomainToAnotherAwsAccount response.
  6754  	Password *string `type:"string"`
  6755  }
  6756  
  6757  // String returns the string representation.
  6758  //
  6759  // API parameter values that are decorated as "sensitive" in the API will not
  6760  // be included in the string output. The member name will be present, but the
  6761  // value will be replaced with "sensitive".
  6762  func (s TransferDomainToAnotherAwsAccountOutput) String() string {
  6763  	return awsutil.Prettify(s)
  6764  }
  6765  
  6766  // GoString returns the string representation.
  6767  //
  6768  // API parameter values that are decorated as "sensitive" in the API will not
  6769  // be included in the string output. The member name will be present, but the
  6770  // value will be replaced with "sensitive".
  6771  func (s TransferDomainToAnotherAwsAccountOutput) GoString() string {
  6772  	return s.String()
  6773  }
  6774  
  6775  // SetOperationId sets the OperationId field's value.
  6776  func (s *TransferDomainToAnotherAwsAccountOutput) SetOperationId(v string) *TransferDomainToAnotherAwsAccountOutput {
  6777  	s.OperationId = &v
  6778  	return s
  6779  }
  6780  
  6781  // SetPassword sets the Password field's value.
  6782  func (s *TransferDomainToAnotherAwsAccountOutput) SetPassword(v string) *TransferDomainToAnotherAwsAccountOutput {
  6783  	s.Password = &v
  6784  	return s
  6785  }
  6786  
  6787  // Amazon Route 53 does not support this top-level domain (TLD).
  6788  type UnsupportedTLD struct {
  6789  	_            struct{}                  `type:"structure"`
  6790  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  6791  
  6792  	// Amazon Route 53 does not support this top-level domain (TLD).
  6793  	Message_ *string `locationName:"message" type:"string"`
  6794  }
  6795  
  6796  // String returns the string representation.
  6797  //
  6798  // API parameter values that are decorated as "sensitive" in the API will not
  6799  // be included in the string output. The member name will be present, but the
  6800  // value will be replaced with "sensitive".
  6801  func (s UnsupportedTLD) String() string {
  6802  	return awsutil.Prettify(s)
  6803  }
  6804  
  6805  // GoString returns the string representation.
  6806  //
  6807  // API parameter values that are decorated as "sensitive" in the API will not
  6808  // be included in the string output. The member name will be present, but the
  6809  // value will be replaced with "sensitive".
  6810  func (s UnsupportedTLD) GoString() string {
  6811  	return s.String()
  6812  }
  6813  
  6814  func newErrorUnsupportedTLD(v protocol.ResponseMetadata) error {
  6815  	return &UnsupportedTLD{
  6816  		RespMetadata: v,
  6817  	}
  6818  }
  6819  
  6820  // Code returns the exception type name.
  6821  func (s *UnsupportedTLD) Code() string {
  6822  	return "UnsupportedTLD"
  6823  }
  6824  
  6825  // Message returns the exception's message.
  6826  func (s *UnsupportedTLD) Message() string {
  6827  	if s.Message_ != nil {
  6828  		return *s.Message_
  6829  	}
  6830  	return ""
  6831  }
  6832  
  6833  // OrigErr always returns nil, satisfies awserr.Error interface.
  6834  func (s *UnsupportedTLD) OrigErr() error {
  6835  	return nil
  6836  }
  6837  
  6838  func (s *UnsupportedTLD) Error() string {
  6839  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  6840  }
  6841  
  6842  // Status code returns the HTTP status code for the request's response error.
  6843  func (s *UnsupportedTLD) StatusCode() int {
  6844  	return s.RespMetadata.StatusCode
  6845  }
  6846  
  6847  // RequestID returns the service's response RequestID for request.
  6848  func (s *UnsupportedTLD) RequestID() string {
  6849  	return s.RespMetadata.RequestID
  6850  }
  6851  
  6852  // The UpdateDomainContact request includes the following elements.
  6853  type UpdateDomainContactInput struct {
  6854  	_ struct{} `type:"structure"`
  6855  
  6856  	// Provides detailed contact information.
  6857  	//
  6858  	// AdminContact is a sensitive parameter and its value will be
  6859  	// replaced with "sensitive" in string returned by UpdateDomainContactInput's
  6860  	// String and GoString methods.
  6861  	AdminContact *ContactDetail `type:"structure" sensitive:"true"`
  6862  
  6863  	// The name of the domain that you want to update contact information for.
  6864  	//
  6865  	// DomainName is a required field
  6866  	DomainName *string `type:"string" required:"true"`
  6867  
  6868  	// Provides detailed contact information.
  6869  	//
  6870  	// RegistrantContact is a sensitive parameter and its value will be
  6871  	// replaced with "sensitive" in string returned by UpdateDomainContactInput's
  6872  	// String and GoString methods.
  6873  	RegistrantContact *ContactDetail `type:"structure" sensitive:"true"`
  6874  
  6875  	// Provides detailed contact information.
  6876  	//
  6877  	// TechContact is a sensitive parameter and its value will be
  6878  	// replaced with "sensitive" in string returned by UpdateDomainContactInput's
  6879  	// String and GoString methods.
  6880  	TechContact *ContactDetail `type:"structure" sensitive:"true"`
  6881  }
  6882  
  6883  // String returns the string representation.
  6884  //
  6885  // API parameter values that are decorated as "sensitive" in the API will not
  6886  // be included in the string output. The member name will be present, but the
  6887  // value will be replaced with "sensitive".
  6888  func (s UpdateDomainContactInput) String() string {
  6889  	return awsutil.Prettify(s)
  6890  }
  6891  
  6892  // GoString returns the string representation.
  6893  //
  6894  // API parameter values that are decorated as "sensitive" in the API will not
  6895  // be included in the string output. The member name will be present, but the
  6896  // value will be replaced with "sensitive".
  6897  func (s UpdateDomainContactInput) GoString() string {
  6898  	return s.String()
  6899  }
  6900  
  6901  // Validate inspects the fields of the type to determine if they are valid.
  6902  func (s *UpdateDomainContactInput) Validate() error {
  6903  	invalidParams := request.ErrInvalidParams{Context: "UpdateDomainContactInput"}
  6904  	if s.DomainName == nil {
  6905  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  6906  	}
  6907  	if s.AdminContact != nil {
  6908  		if err := s.AdminContact.Validate(); err != nil {
  6909  			invalidParams.AddNested("AdminContact", err.(request.ErrInvalidParams))
  6910  		}
  6911  	}
  6912  	if s.RegistrantContact != nil {
  6913  		if err := s.RegistrantContact.Validate(); err != nil {
  6914  			invalidParams.AddNested("RegistrantContact", err.(request.ErrInvalidParams))
  6915  		}
  6916  	}
  6917  	if s.TechContact != nil {
  6918  		if err := s.TechContact.Validate(); err != nil {
  6919  			invalidParams.AddNested("TechContact", err.(request.ErrInvalidParams))
  6920  		}
  6921  	}
  6922  
  6923  	if invalidParams.Len() > 0 {
  6924  		return invalidParams
  6925  	}
  6926  	return nil
  6927  }
  6928  
  6929  // SetAdminContact sets the AdminContact field's value.
  6930  func (s *UpdateDomainContactInput) SetAdminContact(v *ContactDetail) *UpdateDomainContactInput {
  6931  	s.AdminContact = v
  6932  	return s
  6933  }
  6934  
  6935  // SetDomainName sets the DomainName field's value.
  6936  func (s *UpdateDomainContactInput) SetDomainName(v string) *UpdateDomainContactInput {
  6937  	s.DomainName = &v
  6938  	return s
  6939  }
  6940  
  6941  // SetRegistrantContact sets the RegistrantContact field's value.
  6942  func (s *UpdateDomainContactInput) SetRegistrantContact(v *ContactDetail) *UpdateDomainContactInput {
  6943  	s.RegistrantContact = v
  6944  	return s
  6945  }
  6946  
  6947  // SetTechContact sets the TechContact field's value.
  6948  func (s *UpdateDomainContactInput) SetTechContact(v *ContactDetail) *UpdateDomainContactInput {
  6949  	s.TechContact = v
  6950  	return s
  6951  }
  6952  
  6953  // The UpdateDomainContact response includes the following element.
  6954  type UpdateDomainContactOutput struct {
  6955  	_ struct{} `type:"structure"`
  6956  
  6957  	// Identifier for tracking the progress of the request. To query the operation
  6958  	// status, use GetOperationDetail (https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_GetOperationDetail.html).
  6959  	//
  6960  	// OperationId is a required field
  6961  	OperationId *string `type:"string" required:"true"`
  6962  }
  6963  
  6964  // String returns the string representation.
  6965  //
  6966  // API parameter values that are decorated as "sensitive" in the API will not
  6967  // be included in the string output. The member name will be present, but the
  6968  // value will be replaced with "sensitive".
  6969  func (s UpdateDomainContactOutput) String() string {
  6970  	return awsutil.Prettify(s)
  6971  }
  6972  
  6973  // GoString returns the string representation.
  6974  //
  6975  // API parameter values that are decorated as "sensitive" in the API will not
  6976  // be included in the string output. The member name will be present, but the
  6977  // value will be replaced with "sensitive".
  6978  func (s UpdateDomainContactOutput) GoString() string {
  6979  	return s.String()
  6980  }
  6981  
  6982  // SetOperationId sets the OperationId field's value.
  6983  func (s *UpdateDomainContactOutput) SetOperationId(v string) *UpdateDomainContactOutput {
  6984  	s.OperationId = &v
  6985  	return s
  6986  }
  6987  
  6988  // The UpdateDomainContactPrivacy request includes the following elements.
  6989  type UpdateDomainContactPrivacyInput struct {
  6990  	_ struct{} `type:"structure"`
  6991  
  6992  	// Whether you want to conceal contact information from WHOIS queries. If you
  6993  	// specify true, WHOIS ("who is") queries return contact information either
  6994  	// for Amazon Registrar (for .com, .net, and .org domains) or for our registrar
  6995  	// associate, Gandi (for all other TLDs). If you specify false, WHOIS queries
  6996  	// return the information that you entered for the admin contact.
  6997  	AdminPrivacy *bool `type:"boolean"`
  6998  
  6999  	// The name of the domain that you want to update the privacy setting for.
  7000  	//
  7001  	// DomainName is a required field
  7002  	DomainName *string `type:"string" required:"true"`
  7003  
  7004  	// Whether you want to conceal contact information from WHOIS queries. If you
  7005  	// specify true, WHOIS ("who is") queries return contact information either
  7006  	// for Amazon Registrar (for .com, .net, and .org domains) or for our registrar
  7007  	// associate, Gandi (for all other TLDs). If you specify false, WHOIS queries
  7008  	// return the information that you entered for the registrant contact (domain
  7009  	// owner).
  7010  	RegistrantPrivacy *bool `type:"boolean"`
  7011  
  7012  	// Whether you want to conceal contact information from WHOIS queries. If you
  7013  	// specify true, WHOIS ("who is") queries return contact information either
  7014  	// for Amazon Registrar (for .com, .net, and .org domains) or for our registrar
  7015  	// associate, Gandi (for all other TLDs). If you specify false, WHOIS queries
  7016  	// return the information that you entered for the technical contact.
  7017  	TechPrivacy *bool `type:"boolean"`
  7018  }
  7019  
  7020  // String returns the string representation.
  7021  //
  7022  // API parameter values that are decorated as "sensitive" in the API will not
  7023  // be included in the string output. The member name will be present, but the
  7024  // value will be replaced with "sensitive".
  7025  func (s UpdateDomainContactPrivacyInput) String() string {
  7026  	return awsutil.Prettify(s)
  7027  }
  7028  
  7029  // GoString returns the string representation.
  7030  //
  7031  // API parameter values that are decorated as "sensitive" in the API will not
  7032  // be included in the string output. The member name will be present, but the
  7033  // value will be replaced with "sensitive".
  7034  func (s UpdateDomainContactPrivacyInput) GoString() string {
  7035  	return s.String()
  7036  }
  7037  
  7038  // Validate inspects the fields of the type to determine if they are valid.
  7039  func (s *UpdateDomainContactPrivacyInput) Validate() error {
  7040  	invalidParams := request.ErrInvalidParams{Context: "UpdateDomainContactPrivacyInput"}
  7041  	if s.DomainName == nil {
  7042  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  7043  	}
  7044  
  7045  	if invalidParams.Len() > 0 {
  7046  		return invalidParams
  7047  	}
  7048  	return nil
  7049  }
  7050  
  7051  // SetAdminPrivacy sets the AdminPrivacy field's value.
  7052  func (s *UpdateDomainContactPrivacyInput) SetAdminPrivacy(v bool) *UpdateDomainContactPrivacyInput {
  7053  	s.AdminPrivacy = &v
  7054  	return s
  7055  }
  7056  
  7057  // SetDomainName sets the DomainName field's value.
  7058  func (s *UpdateDomainContactPrivacyInput) SetDomainName(v string) *UpdateDomainContactPrivacyInput {
  7059  	s.DomainName = &v
  7060  	return s
  7061  }
  7062  
  7063  // SetRegistrantPrivacy sets the RegistrantPrivacy field's value.
  7064  func (s *UpdateDomainContactPrivacyInput) SetRegistrantPrivacy(v bool) *UpdateDomainContactPrivacyInput {
  7065  	s.RegistrantPrivacy = &v
  7066  	return s
  7067  }
  7068  
  7069  // SetTechPrivacy sets the TechPrivacy field's value.
  7070  func (s *UpdateDomainContactPrivacyInput) SetTechPrivacy(v bool) *UpdateDomainContactPrivacyInput {
  7071  	s.TechPrivacy = &v
  7072  	return s
  7073  }
  7074  
  7075  // The UpdateDomainContactPrivacy response includes the following element.
  7076  type UpdateDomainContactPrivacyOutput struct {
  7077  	_ struct{} `type:"structure"`
  7078  
  7079  	// Identifier for tracking the progress of the request. To use this ID to query
  7080  	// the operation status, use GetOperationDetail.
  7081  	//
  7082  	// OperationId is a required field
  7083  	OperationId *string `type:"string" required:"true"`
  7084  }
  7085  
  7086  // String returns the string representation.
  7087  //
  7088  // API parameter values that are decorated as "sensitive" in the API will not
  7089  // be included in the string output. The member name will be present, but the
  7090  // value will be replaced with "sensitive".
  7091  func (s UpdateDomainContactPrivacyOutput) String() string {
  7092  	return awsutil.Prettify(s)
  7093  }
  7094  
  7095  // GoString returns the string representation.
  7096  //
  7097  // API parameter values that are decorated as "sensitive" in the API will not
  7098  // be included in the string output. The member name will be present, but the
  7099  // value will be replaced with "sensitive".
  7100  func (s UpdateDomainContactPrivacyOutput) GoString() string {
  7101  	return s.String()
  7102  }
  7103  
  7104  // SetOperationId sets the OperationId field's value.
  7105  func (s *UpdateDomainContactPrivacyOutput) SetOperationId(v string) *UpdateDomainContactPrivacyOutput {
  7106  	s.OperationId = &v
  7107  	return s
  7108  }
  7109  
  7110  // Replaces the current set of name servers for the domain with the specified
  7111  // set of name servers. If you use Amazon Route 53 as your DNS service, specify
  7112  // the four name servers in the delegation set for the hosted zone for the domain.
  7113  //
  7114  // If successful, this operation returns an operation ID that you can use to
  7115  // track the progress and completion of the action. If the request is not completed
  7116  // successfully, the domain registrant will be notified by email.
  7117  type UpdateDomainNameserversInput struct {
  7118  	_ struct{} `type:"structure"`
  7119  
  7120  	// The name of the domain that you want to change name servers for.
  7121  	//
  7122  	// DomainName is a required field
  7123  	DomainName *string `type:"string" required:"true"`
  7124  
  7125  	// The authorization key for .fi domains
  7126  	//
  7127  	// Deprecated: FIAuthKey has been deprecated
  7128  	FIAuthKey *string `deprecated:"true" type:"string"`
  7129  
  7130  	// A list of new name servers for the domain.
  7131  	//
  7132  	// Nameservers is a required field
  7133  	Nameservers []*Nameserver `type:"list" required:"true"`
  7134  }
  7135  
  7136  // String returns the string representation.
  7137  //
  7138  // API parameter values that are decorated as "sensitive" in the API will not
  7139  // be included in the string output. The member name will be present, but the
  7140  // value will be replaced with "sensitive".
  7141  func (s UpdateDomainNameserversInput) String() string {
  7142  	return awsutil.Prettify(s)
  7143  }
  7144  
  7145  // GoString returns the string representation.
  7146  //
  7147  // API parameter values that are decorated as "sensitive" in the API will not
  7148  // be included in the string output. The member name will be present, but the
  7149  // value will be replaced with "sensitive".
  7150  func (s UpdateDomainNameserversInput) GoString() string {
  7151  	return s.String()
  7152  }
  7153  
  7154  // Validate inspects the fields of the type to determine if they are valid.
  7155  func (s *UpdateDomainNameserversInput) Validate() error {
  7156  	invalidParams := request.ErrInvalidParams{Context: "UpdateDomainNameserversInput"}
  7157  	if s.DomainName == nil {
  7158  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  7159  	}
  7160  	if s.Nameservers == nil {
  7161  		invalidParams.Add(request.NewErrParamRequired("Nameservers"))
  7162  	}
  7163  	if s.Nameservers != nil {
  7164  		for i, v := range s.Nameservers {
  7165  			if v == nil {
  7166  				continue
  7167  			}
  7168  			if err := v.Validate(); err != nil {
  7169  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Nameservers", i), err.(request.ErrInvalidParams))
  7170  			}
  7171  		}
  7172  	}
  7173  
  7174  	if invalidParams.Len() > 0 {
  7175  		return invalidParams
  7176  	}
  7177  	return nil
  7178  }
  7179  
  7180  // SetDomainName sets the DomainName field's value.
  7181  func (s *UpdateDomainNameserversInput) SetDomainName(v string) *UpdateDomainNameserversInput {
  7182  	s.DomainName = &v
  7183  	return s
  7184  }
  7185  
  7186  // SetFIAuthKey sets the FIAuthKey field's value.
  7187  func (s *UpdateDomainNameserversInput) SetFIAuthKey(v string) *UpdateDomainNameserversInput {
  7188  	s.FIAuthKey = &v
  7189  	return s
  7190  }
  7191  
  7192  // SetNameservers sets the Nameservers field's value.
  7193  func (s *UpdateDomainNameserversInput) SetNameservers(v []*Nameserver) *UpdateDomainNameserversInput {
  7194  	s.Nameservers = v
  7195  	return s
  7196  }
  7197  
  7198  // The UpdateDomainNameservers response includes the following element.
  7199  type UpdateDomainNameserversOutput struct {
  7200  	_ struct{} `type:"structure"`
  7201  
  7202  	// Identifier for tracking the progress of the request. To query the operation
  7203  	// status, use GetOperationDetail (https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_GetOperationDetail.html).
  7204  	//
  7205  	// OperationId is a required field
  7206  	OperationId *string `type:"string" required:"true"`
  7207  }
  7208  
  7209  // String returns the string representation.
  7210  //
  7211  // API parameter values that are decorated as "sensitive" in the API will not
  7212  // be included in the string output. The member name will be present, but the
  7213  // value will be replaced with "sensitive".
  7214  func (s UpdateDomainNameserversOutput) String() string {
  7215  	return awsutil.Prettify(s)
  7216  }
  7217  
  7218  // GoString returns the string representation.
  7219  //
  7220  // API parameter values that are decorated as "sensitive" in the API will not
  7221  // be included in the string output. The member name will be present, but the
  7222  // value will be replaced with "sensitive".
  7223  func (s UpdateDomainNameserversOutput) GoString() string {
  7224  	return s.String()
  7225  }
  7226  
  7227  // SetOperationId sets the OperationId field's value.
  7228  func (s *UpdateDomainNameserversOutput) SetOperationId(v string) *UpdateDomainNameserversOutput {
  7229  	s.OperationId = &v
  7230  	return s
  7231  }
  7232  
  7233  // The UpdateTagsForDomainRequest includes the following elements.
  7234  type UpdateTagsForDomainInput struct {
  7235  	_ struct{} `type:"structure"`
  7236  
  7237  	// The domain for which you want to add or update tags.
  7238  	//
  7239  	// DomainName is a required field
  7240  	DomainName *string `type:"string" required:"true"`
  7241  
  7242  	// A list of the tag keys and values that you want to add or update. If you
  7243  	// specify a key that already exists, the corresponding value will be replaced.
  7244  	TagsToUpdate []*Tag `type:"list"`
  7245  }
  7246  
  7247  // String returns the string representation.
  7248  //
  7249  // API parameter values that are decorated as "sensitive" in the API will not
  7250  // be included in the string output. The member name will be present, but the
  7251  // value will be replaced with "sensitive".
  7252  func (s UpdateTagsForDomainInput) String() string {
  7253  	return awsutil.Prettify(s)
  7254  }
  7255  
  7256  // GoString returns the string representation.
  7257  //
  7258  // API parameter values that are decorated as "sensitive" in the API will not
  7259  // be included in the string output. The member name will be present, but the
  7260  // value will be replaced with "sensitive".
  7261  func (s UpdateTagsForDomainInput) GoString() string {
  7262  	return s.String()
  7263  }
  7264  
  7265  // Validate inspects the fields of the type to determine if they are valid.
  7266  func (s *UpdateTagsForDomainInput) Validate() error {
  7267  	invalidParams := request.ErrInvalidParams{Context: "UpdateTagsForDomainInput"}
  7268  	if s.DomainName == nil {
  7269  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  7270  	}
  7271  
  7272  	if invalidParams.Len() > 0 {
  7273  		return invalidParams
  7274  	}
  7275  	return nil
  7276  }
  7277  
  7278  // SetDomainName sets the DomainName field's value.
  7279  func (s *UpdateTagsForDomainInput) SetDomainName(v string) *UpdateTagsForDomainInput {
  7280  	s.DomainName = &v
  7281  	return s
  7282  }
  7283  
  7284  // SetTagsToUpdate sets the TagsToUpdate field's value.
  7285  func (s *UpdateTagsForDomainInput) SetTagsToUpdate(v []*Tag) *UpdateTagsForDomainInput {
  7286  	s.TagsToUpdate = v
  7287  	return s
  7288  }
  7289  
  7290  type UpdateTagsForDomainOutput struct {
  7291  	_ struct{} `type:"structure"`
  7292  }
  7293  
  7294  // String returns the string representation.
  7295  //
  7296  // API parameter values that are decorated as "sensitive" in the API will not
  7297  // be included in the string output. The member name will be present, but the
  7298  // value will be replaced with "sensitive".
  7299  func (s UpdateTagsForDomainOutput) String() string {
  7300  	return awsutil.Prettify(s)
  7301  }
  7302  
  7303  // GoString returns the string representation.
  7304  //
  7305  // API parameter values that are decorated as "sensitive" in the API will not
  7306  // be included in the string output. The member name will be present, but the
  7307  // value will be replaced with "sensitive".
  7308  func (s UpdateTagsForDomainOutput) GoString() string {
  7309  	return s.String()
  7310  }
  7311  
  7312  // The ViewBilling request includes the following elements.
  7313  type ViewBillingInput struct {
  7314  	_ struct{} `type:"structure"`
  7315  
  7316  	// The end date and time for the time period for which you want a list of billing
  7317  	// records. Specify the date and time in Unix time format and Coordinated Universal
  7318  	// time (UTC).
  7319  	End *time.Time `type:"timestamp"`
  7320  
  7321  	// For an initial request for a list of billing records, omit this element.
  7322  	// If the number of billing records that are associated with the current AWS
  7323  	// account during the specified period is greater than the value that you specified
  7324  	// for MaxItems, you can use Marker to return additional billing records. Get
  7325  	// the value of NextPageMarker from the previous response, and submit another
  7326  	// request that includes the value of NextPageMarker in the Marker element.
  7327  	//
  7328  	// Constraints: The marker must match the value of NextPageMarker that was returned
  7329  	// in the previous response.
  7330  	Marker *string `type:"string"`
  7331  
  7332  	// The number of billing records to be returned.
  7333  	//
  7334  	// Default: 20
  7335  	MaxItems *int64 `type:"integer"`
  7336  
  7337  	// The beginning date and time for the time period for which you want a list
  7338  	// of billing records. Specify the date and time in Unix time format and Coordinated
  7339  	// Universal time (UTC).
  7340  	Start *time.Time `type:"timestamp"`
  7341  }
  7342  
  7343  // String returns the string representation.
  7344  //
  7345  // API parameter values that are decorated as "sensitive" in the API will not
  7346  // be included in the string output. The member name will be present, but the
  7347  // value will be replaced with "sensitive".
  7348  func (s ViewBillingInput) String() string {
  7349  	return awsutil.Prettify(s)
  7350  }
  7351  
  7352  // GoString returns the string representation.
  7353  //
  7354  // API parameter values that are decorated as "sensitive" in the API will not
  7355  // be included in the string output. The member name will be present, but the
  7356  // value will be replaced with "sensitive".
  7357  func (s ViewBillingInput) GoString() string {
  7358  	return s.String()
  7359  }
  7360  
  7361  // SetEnd sets the End field's value.
  7362  func (s *ViewBillingInput) SetEnd(v time.Time) *ViewBillingInput {
  7363  	s.End = &v
  7364  	return s
  7365  }
  7366  
  7367  // SetMarker sets the Marker field's value.
  7368  func (s *ViewBillingInput) SetMarker(v string) *ViewBillingInput {
  7369  	s.Marker = &v
  7370  	return s
  7371  }
  7372  
  7373  // SetMaxItems sets the MaxItems field's value.
  7374  func (s *ViewBillingInput) SetMaxItems(v int64) *ViewBillingInput {
  7375  	s.MaxItems = &v
  7376  	return s
  7377  }
  7378  
  7379  // SetStart sets the Start field's value.
  7380  func (s *ViewBillingInput) SetStart(v time.Time) *ViewBillingInput {
  7381  	s.Start = &v
  7382  	return s
  7383  }
  7384  
  7385  // The ViewBilling response includes the following elements.
  7386  type ViewBillingOutput struct {
  7387  	_ struct{} `type:"structure"`
  7388  
  7389  	// A summary of billing records.
  7390  	BillingRecords []*BillingRecord `type:"list"`
  7391  
  7392  	// If there are more billing records than you specified for MaxItems in the
  7393  	// request, submit another request and include the value of NextPageMarker in
  7394  	// the value of Marker.
  7395  	NextPageMarker *string `type:"string"`
  7396  }
  7397  
  7398  // String returns the string representation.
  7399  //
  7400  // API parameter values that are decorated as "sensitive" in the API will not
  7401  // be included in the string output. The member name will be present, but the
  7402  // value will be replaced with "sensitive".
  7403  func (s ViewBillingOutput) String() string {
  7404  	return awsutil.Prettify(s)
  7405  }
  7406  
  7407  // GoString returns the string representation.
  7408  //
  7409  // API parameter values that are decorated as "sensitive" in the API will not
  7410  // be included in the string output. The member name will be present, but the
  7411  // value will be replaced with "sensitive".
  7412  func (s ViewBillingOutput) GoString() string {
  7413  	return s.String()
  7414  }
  7415  
  7416  // SetBillingRecords sets the BillingRecords field's value.
  7417  func (s *ViewBillingOutput) SetBillingRecords(v []*BillingRecord) *ViewBillingOutput {
  7418  	s.BillingRecords = v
  7419  	return s
  7420  }
  7421  
  7422  // SetNextPageMarker sets the NextPageMarker field's value.
  7423  func (s *ViewBillingOutput) SetNextPageMarker(v string) *ViewBillingOutput {
  7424  	s.NextPageMarker = &v
  7425  	return s
  7426  }
  7427  
  7428  const (
  7429  	// ContactTypePerson is a ContactType enum value
  7430  	ContactTypePerson = "PERSON"
  7431  
  7432  	// ContactTypeCompany is a ContactType enum value
  7433  	ContactTypeCompany = "COMPANY"
  7434  
  7435  	// ContactTypeAssociation is a ContactType enum value
  7436  	ContactTypeAssociation = "ASSOCIATION"
  7437  
  7438  	// ContactTypePublicBody is a ContactType enum value
  7439  	ContactTypePublicBody = "PUBLIC_BODY"
  7440  
  7441  	// ContactTypeReseller is a ContactType enum value
  7442  	ContactTypeReseller = "RESELLER"
  7443  )
  7444  
  7445  // ContactType_Values returns all elements of the ContactType enum
  7446  func ContactType_Values() []string {
  7447  	return []string{
  7448  		ContactTypePerson,
  7449  		ContactTypeCompany,
  7450  		ContactTypeAssociation,
  7451  		ContactTypePublicBody,
  7452  		ContactTypeReseller,
  7453  	}
  7454  }
  7455  
  7456  const (
  7457  	// CountryCodeAd is a CountryCode enum value
  7458  	CountryCodeAd = "AD"
  7459  
  7460  	// CountryCodeAe is a CountryCode enum value
  7461  	CountryCodeAe = "AE"
  7462  
  7463  	// CountryCodeAf is a CountryCode enum value
  7464  	CountryCodeAf = "AF"
  7465  
  7466  	// CountryCodeAg is a CountryCode enum value
  7467  	CountryCodeAg = "AG"
  7468  
  7469  	// CountryCodeAi is a CountryCode enum value
  7470  	CountryCodeAi = "AI"
  7471  
  7472  	// CountryCodeAl is a CountryCode enum value
  7473  	CountryCodeAl = "AL"
  7474  
  7475  	// CountryCodeAm is a CountryCode enum value
  7476  	CountryCodeAm = "AM"
  7477  
  7478  	// CountryCodeAn is a CountryCode enum value
  7479  	CountryCodeAn = "AN"
  7480  
  7481  	// CountryCodeAo is a CountryCode enum value
  7482  	CountryCodeAo = "AO"
  7483  
  7484  	// CountryCodeAq is a CountryCode enum value
  7485  	CountryCodeAq = "AQ"
  7486  
  7487  	// CountryCodeAr is a CountryCode enum value
  7488  	CountryCodeAr = "AR"
  7489  
  7490  	// CountryCodeAs is a CountryCode enum value
  7491  	CountryCodeAs = "AS"
  7492  
  7493  	// CountryCodeAt is a CountryCode enum value
  7494  	CountryCodeAt = "AT"
  7495  
  7496  	// CountryCodeAu is a CountryCode enum value
  7497  	CountryCodeAu = "AU"
  7498  
  7499  	// CountryCodeAw is a CountryCode enum value
  7500  	CountryCodeAw = "AW"
  7501  
  7502  	// CountryCodeAz is a CountryCode enum value
  7503  	CountryCodeAz = "AZ"
  7504  
  7505  	// CountryCodeBa is a CountryCode enum value
  7506  	CountryCodeBa = "BA"
  7507  
  7508  	// CountryCodeBb is a CountryCode enum value
  7509  	CountryCodeBb = "BB"
  7510  
  7511  	// CountryCodeBd is a CountryCode enum value
  7512  	CountryCodeBd = "BD"
  7513  
  7514  	// CountryCodeBe is a CountryCode enum value
  7515  	CountryCodeBe = "BE"
  7516  
  7517  	// CountryCodeBf is a CountryCode enum value
  7518  	CountryCodeBf = "BF"
  7519  
  7520  	// CountryCodeBg is a CountryCode enum value
  7521  	CountryCodeBg = "BG"
  7522  
  7523  	// CountryCodeBh is a CountryCode enum value
  7524  	CountryCodeBh = "BH"
  7525  
  7526  	// CountryCodeBi is a CountryCode enum value
  7527  	CountryCodeBi = "BI"
  7528  
  7529  	// CountryCodeBj is a CountryCode enum value
  7530  	CountryCodeBj = "BJ"
  7531  
  7532  	// CountryCodeBl is a CountryCode enum value
  7533  	CountryCodeBl = "BL"
  7534  
  7535  	// CountryCodeBm is a CountryCode enum value
  7536  	CountryCodeBm = "BM"
  7537  
  7538  	// CountryCodeBn is a CountryCode enum value
  7539  	CountryCodeBn = "BN"
  7540  
  7541  	// CountryCodeBo is a CountryCode enum value
  7542  	CountryCodeBo = "BO"
  7543  
  7544  	// CountryCodeBr is a CountryCode enum value
  7545  	CountryCodeBr = "BR"
  7546  
  7547  	// CountryCodeBs is a CountryCode enum value
  7548  	CountryCodeBs = "BS"
  7549  
  7550  	// CountryCodeBt is a CountryCode enum value
  7551  	CountryCodeBt = "BT"
  7552  
  7553  	// CountryCodeBw is a CountryCode enum value
  7554  	CountryCodeBw = "BW"
  7555  
  7556  	// CountryCodeBy is a CountryCode enum value
  7557  	CountryCodeBy = "BY"
  7558  
  7559  	// CountryCodeBz is a CountryCode enum value
  7560  	CountryCodeBz = "BZ"
  7561  
  7562  	// CountryCodeCa is a CountryCode enum value
  7563  	CountryCodeCa = "CA"
  7564  
  7565  	// CountryCodeCc is a CountryCode enum value
  7566  	CountryCodeCc = "CC"
  7567  
  7568  	// CountryCodeCd is a CountryCode enum value
  7569  	CountryCodeCd = "CD"
  7570  
  7571  	// CountryCodeCf is a CountryCode enum value
  7572  	CountryCodeCf = "CF"
  7573  
  7574  	// CountryCodeCg is a CountryCode enum value
  7575  	CountryCodeCg = "CG"
  7576  
  7577  	// CountryCodeCh is a CountryCode enum value
  7578  	CountryCodeCh = "CH"
  7579  
  7580  	// CountryCodeCi is a CountryCode enum value
  7581  	CountryCodeCi = "CI"
  7582  
  7583  	// CountryCodeCk is a CountryCode enum value
  7584  	CountryCodeCk = "CK"
  7585  
  7586  	// CountryCodeCl is a CountryCode enum value
  7587  	CountryCodeCl = "CL"
  7588  
  7589  	// CountryCodeCm is a CountryCode enum value
  7590  	CountryCodeCm = "CM"
  7591  
  7592  	// CountryCodeCn is a CountryCode enum value
  7593  	CountryCodeCn = "CN"
  7594  
  7595  	// CountryCodeCo is a CountryCode enum value
  7596  	CountryCodeCo = "CO"
  7597  
  7598  	// CountryCodeCr is a CountryCode enum value
  7599  	CountryCodeCr = "CR"
  7600  
  7601  	// CountryCodeCu is a CountryCode enum value
  7602  	CountryCodeCu = "CU"
  7603  
  7604  	// CountryCodeCv is a CountryCode enum value
  7605  	CountryCodeCv = "CV"
  7606  
  7607  	// CountryCodeCx is a CountryCode enum value
  7608  	CountryCodeCx = "CX"
  7609  
  7610  	// CountryCodeCy is a CountryCode enum value
  7611  	CountryCodeCy = "CY"
  7612  
  7613  	// CountryCodeCz is a CountryCode enum value
  7614  	CountryCodeCz = "CZ"
  7615  
  7616  	// CountryCodeDe is a CountryCode enum value
  7617  	CountryCodeDe = "DE"
  7618  
  7619  	// CountryCodeDj is a CountryCode enum value
  7620  	CountryCodeDj = "DJ"
  7621  
  7622  	// CountryCodeDk is a CountryCode enum value
  7623  	CountryCodeDk = "DK"
  7624  
  7625  	// CountryCodeDm is a CountryCode enum value
  7626  	CountryCodeDm = "DM"
  7627  
  7628  	// CountryCodeDo is a CountryCode enum value
  7629  	CountryCodeDo = "DO"
  7630  
  7631  	// CountryCodeDz is a CountryCode enum value
  7632  	CountryCodeDz = "DZ"
  7633  
  7634  	// CountryCodeEc is a CountryCode enum value
  7635  	CountryCodeEc = "EC"
  7636  
  7637  	// CountryCodeEe is a CountryCode enum value
  7638  	CountryCodeEe = "EE"
  7639  
  7640  	// CountryCodeEg is a CountryCode enum value
  7641  	CountryCodeEg = "EG"
  7642  
  7643  	// CountryCodeEr is a CountryCode enum value
  7644  	CountryCodeEr = "ER"
  7645  
  7646  	// CountryCodeEs is a CountryCode enum value
  7647  	CountryCodeEs = "ES"
  7648  
  7649  	// CountryCodeEt is a CountryCode enum value
  7650  	CountryCodeEt = "ET"
  7651  
  7652  	// CountryCodeFi is a CountryCode enum value
  7653  	CountryCodeFi = "FI"
  7654  
  7655  	// CountryCodeFj is a CountryCode enum value
  7656  	CountryCodeFj = "FJ"
  7657  
  7658  	// CountryCodeFk is a CountryCode enum value
  7659  	CountryCodeFk = "FK"
  7660  
  7661  	// CountryCodeFm is a CountryCode enum value
  7662  	CountryCodeFm = "FM"
  7663  
  7664  	// CountryCodeFo is a CountryCode enum value
  7665  	CountryCodeFo = "FO"
  7666  
  7667  	// CountryCodeFr is a CountryCode enum value
  7668  	CountryCodeFr = "FR"
  7669  
  7670  	// CountryCodeGa is a CountryCode enum value
  7671  	CountryCodeGa = "GA"
  7672  
  7673  	// CountryCodeGb is a CountryCode enum value
  7674  	CountryCodeGb = "GB"
  7675  
  7676  	// CountryCodeGd is a CountryCode enum value
  7677  	CountryCodeGd = "GD"
  7678  
  7679  	// CountryCodeGe is a CountryCode enum value
  7680  	CountryCodeGe = "GE"
  7681  
  7682  	// CountryCodeGh is a CountryCode enum value
  7683  	CountryCodeGh = "GH"
  7684  
  7685  	// CountryCodeGi is a CountryCode enum value
  7686  	CountryCodeGi = "GI"
  7687  
  7688  	// CountryCodeGl is a CountryCode enum value
  7689  	CountryCodeGl = "GL"
  7690  
  7691  	// CountryCodeGm is a CountryCode enum value
  7692  	CountryCodeGm = "GM"
  7693  
  7694  	// CountryCodeGn is a CountryCode enum value
  7695  	CountryCodeGn = "GN"
  7696  
  7697  	// CountryCodeGq is a CountryCode enum value
  7698  	CountryCodeGq = "GQ"
  7699  
  7700  	// CountryCodeGr is a CountryCode enum value
  7701  	CountryCodeGr = "GR"
  7702  
  7703  	// CountryCodeGt is a CountryCode enum value
  7704  	CountryCodeGt = "GT"
  7705  
  7706  	// CountryCodeGu is a CountryCode enum value
  7707  	CountryCodeGu = "GU"
  7708  
  7709  	// CountryCodeGw is a CountryCode enum value
  7710  	CountryCodeGw = "GW"
  7711  
  7712  	// CountryCodeGy is a CountryCode enum value
  7713  	CountryCodeGy = "GY"
  7714  
  7715  	// CountryCodeHk is a CountryCode enum value
  7716  	CountryCodeHk = "HK"
  7717  
  7718  	// CountryCodeHn is a CountryCode enum value
  7719  	CountryCodeHn = "HN"
  7720  
  7721  	// CountryCodeHr is a CountryCode enum value
  7722  	CountryCodeHr = "HR"
  7723  
  7724  	// CountryCodeHt is a CountryCode enum value
  7725  	CountryCodeHt = "HT"
  7726  
  7727  	// CountryCodeHu is a CountryCode enum value
  7728  	CountryCodeHu = "HU"
  7729  
  7730  	// CountryCodeId is a CountryCode enum value
  7731  	CountryCodeId = "ID"
  7732  
  7733  	// CountryCodeIe is a CountryCode enum value
  7734  	CountryCodeIe = "IE"
  7735  
  7736  	// CountryCodeIl is a CountryCode enum value
  7737  	CountryCodeIl = "IL"
  7738  
  7739  	// CountryCodeIm is a CountryCode enum value
  7740  	CountryCodeIm = "IM"
  7741  
  7742  	// CountryCodeIn is a CountryCode enum value
  7743  	CountryCodeIn = "IN"
  7744  
  7745  	// CountryCodeIq is a CountryCode enum value
  7746  	CountryCodeIq = "IQ"
  7747  
  7748  	// CountryCodeIr is a CountryCode enum value
  7749  	CountryCodeIr = "IR"
  7750  
  7751  	// CountryCodeIs is a CountryCode enum value
  7752  	CountryCodeIs = "IS"
  7753  
  7754  	// CountryCodeIt is a CountryCode enum value
  7755  	CountryCodeIt = "IT"
  7756  
  7757  	// CountryCodeJm is a CountryCode enum value
  7758  	CountryCodeJm = "JM"
  7759  
  7760  	// CountryCodeJo is a CountryCode enum value
  7761  	CountryCodeJo = "JO"
  7762  
  7763  	// CountryCodeJp is a CountryCode enum value
  7764  	CountryCodeJp = "JP"
  7765  
  7766  	// CountryCodeKe is a CountryCode enum value
  7767  	CountryCodeKe = "KE"
  7768  
  7769  	// CountryCodeKg is a CountryCode enum value
  7770  	CountryCodeKg = "KG"
  7771  
  7772  	// CountryCodeKh is a CountryCode enum value
  7773  	CountryCodeKh = "KH"
  7774  
  7775  	// CountryCodeKi is a CountryCode enum value
  7776  	CountryCodeKi = "KI"
  7777  
  7778  	// CountryCodeKm is a CountryCode enum value
  7779  	CountryCodeKm = "KM"
  7780  
  7781  	// CountryCodeKn is a CountryCode enum value
  7782  	CountryCodeKn = "KN"
  7783  
  7784  	// CountryCodeKp is a CountryCode enum value
  7785  	CountryCodeKp = "KP"
  7786  
  7787  	// CountryCodeKr is a CountryCode enum value
  7788  	CountryCodeKr = "KR"
  7789  
  7790  	// CountryCodeKw is a CountryCode enum value
  7791  	CountryCodeKw = "KW"
  7792  
  7793  	// CountryCodeKy is a CountryCode enum value
  7794  	CountryCodeKy = "KY"
  7795  
  7796  	// CountryCodeKz is a CountryCode enum value
  7797  	CountryCodeKz = "KZ"
  7798  
  7799  	// CountryCodeLa is a CountryCode enum value
  7800  	CountryCodeLa = "LA"
  7801  
  7802  	// CountryCodeLb is a CountryCode enum value
  7803  	CountryCodeLb = "LB"
  7804  
  7805  	// CountryCodeLc is a CountryCode enum value
  7806  	CountryCodeLc = "LC"
  7807  
  7808  	// CountryCodeLi is a CountryCode enum value
  7809  	CountryCodeLi = "LI"
  7810  
  7811  	// CountryCodeLk is a CountryCode enum value
  7812  	CountryCodeLk = "LK"
  7813  
  7814  	// CountryCodeLr is a CountryCode enum value
  7815  	CountryCodeLr = "LR"
  7816  
  7817  	// CountryCodeLs is a CountryCode enum value
  7818  	CountryCodeLs = "LS"
  7819  
  7820  	// CountryCodeLt is a CountryCode enum value
  7821  	CountryCodeLt = "LT"
  7822  
  7823  	// CountryCodeLu is a CountryCode enum value
  7824  	CountryCodeLu = "LU"
  7825  
  7826  	// CountryCodeLv is a CountryCode enum value
  7827  	CountryCodeLv = "LV"
  7828  
  7829  	// CountryCodeLy is a CountryCode enum value
  7830  	CountryCodeLy = "LY"
  7831  
  7832  	// CountryCodeMa is a CountryCode enum value
  7833  	CountryCodeMa = "MA"
  7834  
  7835  	// CountryCodeMc is a CountryCode enum value
  7836  	CountryCodeMc = "MC"
  7837  
  7838  	// CountryCodeMd is a CountryCode enum value
  7839  	CountryCodeMd = "MD"
  7840  
  7841  	// CountryCodeMe is a CountryCode enum value
  7842  	CountryCodeMe = "ME"
  7843  
  7844  	// CountryCodeMf is a CountryCode enum value
  7845  	CountryCodeMf = "MF"
  7846  
  7847  	// CountryCodeMg is a CountryCode enum value
  7848  	CountryCodeMg = "MG"
  7849  
  7850  	// CountryCodeMh is a CountryCode enum value
  7851  	CountryCodeMh = "MH"
  7852  
  7853  	// CountryCodeMk is a CountryCode enum value
  7854  	CountryCodeMk = "MK"
  7855  
  7856  	// CountryCodeMl is a CountryCode enum value
  7857  	CountryCodeMl = "ML"
  7858  
  7859  	// CountryCodeMm is a CountryCode enum value
  7860  	CountryCodeMm = "MM"
  7861  
  7862  	// CountryCodeMn is a CountryCode enum value
  7863  	CountryCodeMn = "MN"
  7864  
  7865  	// CountryCodeMo is a CountryCode enum value
  7866  	CountryCodeMo = "MO"
  7867  
  7868  	// CountryCodeMp is a CountryCode enum value
  7869  	CountryCodeMp = "MP"
  7870  
  7871  	// CountryCodeMr is a CountryCode enum value
  7872  	CountryCodeMr = "MR"
  7873  
  7874  	// CountryCodeMs is a CountryCode enum value
  7875  	CountryCodeMs = "MS"
  7876  
  7877  	// CountryCodeMt is a CountryCode enum value
  7878  	CountryCodeMt = "MT"
  7879  
  7880  	// CountryCodeMu is a CountryCode enum value
  7881  	CountryCodeMu = "MU"
  7882  
  7883  	// CountryCodeMv is a CountryCode enum value
  7884  	CountryCodeMv = "MV"
  7885  
  7886  	// CountryCodeMw is a CountryCode enum value
  7887  	CountryCodeMw = "MW"
  7888  
  7889  	// CountryCodeMx is a CountryCode enum value
  7890  	CountryCodeMx = "MX"
  7891  
  7892  	// CountryCodeMy is a CountryCode enum value
  7893  	CountryCodeMy = "MY"
  7894  
  7895  	// CountryCodeMz is a CountryCode enum value
  7896  	CountryCodeMz = "MZ"
  7897  
  7898  	// CountryCodeNa is a CountryCode enum value
  7899  	CountryCodeNa = "NA"
  7900  
  7901  	// CountryCodeNc is a CountryCode enum value
  7902  	CountryCodeNc = "NC"
  7903  
  7904  	// CountryCodeNe is a CountryCode enum value
  7905  	CountryCodeNe = "NE"
  7906  
  7907  	// CountryCodeNg is a CountryCode enum value
  7908  	CountryCodeNg = "NG"
  7909  
  7910  	// CountryCodeNi is a CountryCode enum value
  7911  	CountryCodeNi = "NI"
  7912  
  7913  	// CountryCodeNl is a CountryCode enum value
  7914  	CountryCodeNl = "NL"
  7915  
  7916  	// CountryCodeNo is a CountryCode enum value
  7917  	CountryCodeNo = "NO"
  7918  
  7919  	// CountryCodeNp is a CountryCode enum value
  7920  	CountryCodeNp = "NP"
  7921  
  7922  	// CountryCodeNr is a CountryCode enum value
  7923  	CountryCodeNr = "NR"
  7924  
  7925  	// CountryCodeNu is a CountryCode enum value
  7926  	CountryCodeNu = "NU"
  7927  
  7928  	// CountryCodeNz is a CountryCode enum value
  7929  	CountryCodeNz = "NZ"
  7930  
  7931  	// CountryCodeOm is a CountryCode enum value
  7932  	CountryCodeOm = "OM"
  7933  
  7934  	// CountryCodePa is a CountryCode enum value
  7935  	CountryCodePa = "PA"
  7936  
  7937  	// CountryCodePe is a CountryCode enum value
  7938  	CountryCodePe = "PE"
  7939  
  7940  	// CountryCodePf is a CountryCode enum value
  7941  	CountryCodePf = "PF"
  7942  
  7943  	// CountryCodePg is a CountryCode enum value
  7944  	CountryCodePg = "PG"
  7945  
  7946  	// CountryCodePh is a CountryCode enum value
  7947  	CountryCodePh = "PH"
  7948  
  7949  	// CountryCodePk is a CountryCode enum value
  7950  	CountryCodePk = "PK"
  7951  
  7952  	// CountryCodePl is a CountryCode enum value
  7953  	CountryCodePl = "PL"
  7954  
  7955  	// CountryCodePm is a CountryCode enum value
  7956  	CountryCodePm = "PM"
  7957  
  7958  	// CountryCodePn is a CountryCode enum value
  7959  	CountryCodePn = "PN"
  7960  
  7961  	// CountryCodePr is a CountryCode enum value
  7962  	CountryCodePr = "PR"
  7963  
  7964  	// CountryCodePt is a CountryCode enum value
  7965  	CountryCodePt = "PT"
  7966  
  7967  	// CountryCodePw is a CountryCode enum value
  7968  	CountryCodePw = "PW"
  7969  
  7970  	// CountryCodePy is a CountryCode enum value
  7971  	CountryCodePy = "PY"
  7972  
  7973  	// CountryCodeQa is a CountryCode enum value
  7974  	CountryCodeQa = "QA"
  7975  
  7976  	// CountryCodeRo is a CountryCode enum value
  7977  	CountryCodeRo = "RO"
  7978  
  7979  	// CountryCodeRs is a CountryCode enum value
  7980  	CountryCodeRs = "RS"
  7981  
  7982  	// CountryCodeRu is a CountryCode enum value
  7983  	CountryCodeRu = "RU"
  7984  
  7985  	// CountryCodeRw is a CountryCode enum value
  7986  	CountryCodeRw = "RW"
  7987  
  7988  	// CountryCodeSa is a CountryCode enum value
  7989  	CountryCodeSa = "SA"
  7990  
  7991  	// CountryCodeSb is a CountryCode enum value
  7992  	CountryCodeSb = "SB"
  7993  
  7994  	// CountryCodeSc is a CountryCode enum value
  7995  	CountryCodeSc = "SC"
  7996  
  7997  	// CountryCodeSd is a CountryCode enum value
  7998  	CountryCodeSd = "SD"
  7999  
  8000  	// CountryCodeSe is a CountryCode enum value
  8001  	CountryCodeSe = "SE"
  8002  
  8003  	// CountryCodeSg is a CountryCode enum value
  8004  	CountryCodeSg = "SG"
  8005  
  8006  	// CountryCodeSh is a CountryCode enum value
  8007  	CountryCodeSh = "SH"
  8008  
  8009  	// CountryCodeSi is a CountryCode enum value
  8010  	CountryCodeSi = "SI"
  8011  
  8012  	// CountryCodeSk is a CountryCode enum value
  8013  	CountryCodeSk = "SK"
  8014  
  8015  	// CountryCodeSl is a CountryCode enum value
  8016  	CountryCodeSl = "SL"
  8017  
  8018  	// CountryCodeSm is a CountryCode enum value
  8019  	CountryCodeSm = "SM"
  8020  
  8021  	// CountryCodeSn is a CountryCode enum value
  8022  	CountryCodeSn = "SN"
  8023  
  8024  	// CountryCodeSo is a CountryCode enum value
  8025  	CountryCodeSo = "SO"
  8026  
  8027  	// CountryCodeSr is a CountryCode enum value
  8028  	CountryCodeSr = "SR"
  8029  
  8030  	// CountryCodeSt is a CountryCode enum value
  8031  	CountryCodeSt = "ST"
  8032  
  8033  	// CountryCodeSv is a CountryCode enum value
  8034  	CountryCodeSv = "SV"
  8035  
  8036  	// CountryCodeSy is a CountryCode enum value
  8037  	CountryCodeSy = "SY"
  8038  
  8039  	// CountryCodeSz is a CountryCode enum value
  8040  	CountryCodeSz = "SZ"
  8041  
  8042  	// CountryCodeTc is a CountryCode enum value
  8043  	CountryCodeTc = "TC"
  8044  
  8045  	// CountryCodeTd is a CountryCode enum value
  8046  	CountryCodeTd = "TD"
  8047  
  8048  	// CountryCodeTg is a CountryCode enum value
  8049  	CountryCodeTg = "TG"
  8050  
  8051  	// CountryCodeTh is a CountryCode enum value
  8052  	CountryCodeTh = "TH"
  8053  
  8054  	// CountryCodeTj is a CountryCode enum value
  8055  	CountryCodeTj = "TJ"
  8056  
  8057  	// CountryCodeTk is a CountryCode enum value
  8058  	CountryCodeTk = "TK"
  8059  
  8060  	// CountryCodeTl is a CountryCode enum value
  8061  	CountryCodeTl = "TL"
  8062  
  8063  	// CountryCodeTm is a CountryCode enum value
  8064  	CountryCodeTm = "TM"
  8065  
  8066  	// CountryCodeTn is a CountryCode enum value
  8067  	CountryCodeTn = "TN"
  8068  
  8069  	// CountryCodeTo is a CountryCode enum value
  8070  	CountryCodeTo = "TO"
  8071  
  8072  	// CountryCodeTr is a CountryCode enum value
  8073  	CountryCodeTr = "TR"
  8074  
  8075  	// CountryCodeTt is a CountryCode enum value
  8076  	CountryCodeTt = "TT"
  8077  
  8078  	// CountryCodeTv is a CountryCode enum value
  8079  	CountryCodeTv = "TV"
  8080  
  8081  	// CountryCodeTw is a CountryCode enum value
  8082  	CountryCodeTw = "TW"
  8083  
  8084  	// CountryCodeTz is a CountryCode enum value
  8085  	CountryCodeTz = "TZ"
  8086  
  8087  	// CountryCodeUa is a CountryCode enum value
  8088  	CountryCodeUa = "UA"
  8089  
  8090  	// CountryCodeUg is a CountryCode enum value
  8091  	CountryCodeUg = "UG"
  8092  
  8093  	// CountryCodeUs is a CountryCode enum value
  8094  	CountryCodeUs = "US"
  8095  
  8096  	// CountryCodeUy is a CountryCode enum value
  8097  	CountryCodeUy = "UY"
  8098  
  8099  	// CountryCodeUz is a CountryCode enum value
  8100  	CountryCodeUz = "UZ"
  8101  
  8102  	// CountryCodeVa is a CountryCode enum value
  8103  	CountryCodeVa = "VA"
  8104  
  8105  	// CountryCodeVc is a CountryCode enum value
  8106  	CountryCodeVc = "VC"
  8107  
  8108  	// CountryCodeVe is a CountryCode enum value
  8109  	CountryCodeVe = "VE"
  8110  
  8111  	// CountryCodeVg is a CountryCode enum value
  8112  	CountryCodeVg = "VG"
  8113  
  8114  	// CountryCodeVi is a CountryCode enum value
  8115  	CountryCodeVi = "VI"
  8116  
  8117  	// CountryCodeVn is a CountryCode enum value
  8118  	CountryCodeVn = "VN"
  8119  
  8120  	// CountryCodeVu is a CountryCode enum value
  8121  	CountryCodeVu = "VU"
  8122  
  8123  	// CountryCodeWf is a CountryCode enum value
  8124  	CountryCodeWf = "WF"
  8125  
  8126  	// CountryCodeWs is a CountryCode enum value
  8127  	CountryCodeWs = "WS"
  8128  
  8129  	// CountryCodeYe is a CountryCode enum value
  8130  	CountryCodeYe = "YE"
  8131  
  8132  	// CountryCodeYt is a CountryCode enum value
  8133  	CountryCodeYt = "YT"
  8134  
  8135  	// CountryCodeZa is a CountryCode enum value
  8136  	CountryCodeZa = "ZA"
  8137  
  8138  	// CountryCodeZm is a CountryCode enum value
  8139  	CountryCodeZm = "ZM"
  8140  
  8141  	// CountryCodeZw is a CountryCode enum value
  8142  	CountryCodeZw = "ZW"
  8143  )
  8144  
  8145  // CountryCode_Values returns all elements of the CountryCode enum
  8146  func CountryCode_Values() []string {
  8147  	return []string{
  8148  		CountryCodeAd,
  8149  		CountryCodeAe,
  8150  		CountryCodeAf,
  8151  		CountryCodeAg,
  8152  		CountryCodeAi,
  8153  		CountryCodeAl,
  8154  		CountryCodeAm,
  8155  		CountryCodeAn,
  8156  		CountryCodeAo,
  8157  		CountryCodeAq,
  8158  		CountryCodeAr,
  8159  		CountryCodeAs,
  8160  		CountryCodeAt,
  8161  		CountryCodeAu,
  8162  		CountryCodeAw,
  8163  		CountryCodeAz,
  8164  		CountryCodeBa,
  8165  		CountryCodeBb,
  8166  		CountryCodeBd,
  8167  		CountryCodeBe,
  8168  		CountryCodeBf,
  8169  		CountryCodeBg,
  8170  		CountryCodeBh,
  8171  		CountryCodeBi,
  8172  		CountryCodeBj,
  8173  		CountryCodeBl,
  8174  		CountryCodeBm,
  8175  		CountryCodeBn,
  8176  		CountryCodeBo,
  8177  		CountryCodeBr,
  8178  		CountryCodeBs,
  8179  		CountryCodeBt,
  8180  		CountryCodeBw,
  8181  		CountryCodeBy,
  8182  		CountryCodeBz,
  8183  		CountryCodeCa,
  8184  		CountryCodeCc,
  8185  		CountryCodeCd,
  8186  		CountryCodeCf,
  8187  		CountryCodeCg,
  8188  		CountryCodeCh,
  8189  		CountryCodeCi,
  8190  		CountryCodeCk,
  8191  		CountryCodeCl,
  8192  		CountryCodeCm,
  8193  		CountryCodeCn,
  8194  		CountryCodeCo,
  8195  		CountryCodeCr,
  8196  		CountryCodeCu,
  8197  		CountryCodeCv,
  8198  		CountryCodeCx,
  8199  		CountryCodeCy,
  8200  		CountryCodeCz,
  8201  		CountryCodeDe,
  8202  		CountryCodeDj,
  8203  		CountryCodeDk,
  8204  		CountryCodeDm,
  8205  		CountryCodeDo,
  8206  		CountryCodeDz,
  8207  		CountryCodeEc,
  8208  		CountryCodeEe,
  8209  		CountryCodeEg,
  8210  		CountryCodeEr,
  8211  		CountryCodeEs,
  8212  		CountryCodeEt,
  8213  		CountryCodeFi,
  8214  		CountryCodeFj,
  8215  		CountryCodeFk,
  8216  		CountryCodeFm,
  8217  		CountryCodeFo,
  8218  		CountryCodeFr,
  8219  		CountryCodeGa,
  8220  		CountryCodeGb,
  8221  		CountryCodeGd,
  8222  		CountryCodeGe,
  8223  		CountryCodeGh,
  8224  		CountryCodeGi,
  8225  		CountryCodeGl,
  8226  		CountryCodeGm,
  8227  		CountryCodeGn,
  8228  		CountryCodeGq,
  8229  		CountryCodeGr,
  8230  		CountryCodeGt,
  8231  		CountryCodeGu,
  8232  		CountryCodeGw,
  8233  		CountryCodeGy,
  8234  		CountryCodeHk,
  8235  		CountryCodeHn,
  8236  		CountryCodeHr,
  8237  		CountryCodeHt,
  8238  		CountryCodeHu,
  8239  		CountryCodeId,
  8240  		CountryCodeIe,
  8241  		CountryCodeIl,
  8242  		CountryCodeIm,
  8243  		CountryCodeIn,
  8244  		CountryCodeIq,
  8245  		CountryCodeIr,
  8246  		CountryCodeIs,
  8247  		CountryCodeIt,
  8248  		CountryCodeJm,
  8249  		CountryCodeJo,
  8250  		CountryCodeJp,
  8251  		CountryCodeKe,
  8252  		CountryCodeKg,
  8253  		CountryCodeKh,
  8254  		CountryCodeKi,
  8255  		CountryCodeKm,
  8256  		CountryCodeKn,
  8257  		CountryCodeKp,
  8258  		CountryCodeKr,
  8259  		CountryCodeKw,
  8260  		CountryCodeKy,
  8261  		CountryCodeKz,
  8262  		CountryCodeLa,
  8263  		CountryCodeLb,
  8264  		CountryCodeLc,
  8265  		CountryCodeLi,
  8266  		CountryCodeLk,
  8267  		CountryCodeLr,
  8268  		CountryCodeLs,
  8269  		CountryCodeLt,
  8270  		CountryCodeLu,
  8271  		CountryCodeLv,
  8272  		CountryCodeLy,
  8273  		CountryCodeMa,
  8274  		CountryCodeMc,
  8275  		CountryCodeMd,
  8276  		CountryCodeMe,
  8277  		CountryCodeMf,
  8278  		CountryCodeMg,
  8279  		CountryCodeMh,
  8280  		CountryCodeMk,
  8281  		CountryCodeMl,
  8282  		CountryCodeMm,
  8283  		CountryCodeMn,
  8284  		CountryCodeMo,
  8285  		CountryCodeMp,
  8286  		CountryCodeMr,
  8287  		CountryCodeMs,
  8288  		CountryCodeMt,
  8289  		CountryCodeMu,
  8290  		CountryCodeMv,
  8291  		CountryCodeMw,
  8292  		CountryCodeMx,
  8293  		CountryCodeMy,
  8294  		CountryCodeMz,
  8295  		CountryCodeNa,
  8296  		CountryCodeNc,
  8297  		CountryCodeNe,
  8298  		CountryCodeNg,
  8299  		CountryCodeNi,
  8300  		CountryCodeNl,
  8301  		CountryCodeNo,
  8302  		CountryCodeNp,
  8303  		CountryCodeNr,
  8304  		CountryCodeNu,
  8305  		CountryCodeNz,
  8306  		CountryCodeOm,
  8307  		CountryCodePa,
  8308  		CountryCodePe,
  8309  		CountryCodePf,
  8310  		CountryCodePg,
  8311  		CountryCodePh,
  8312  		CountryCodePk,
  8313  		CountryCodePl,
  8314  		CountryCodePm,
  8315  		CountryCodePn,
  8316  		CountryCodePr,
  8317  		CountryCodePt,
  8318  		CountryCodePw,
  8319  		CountryCodePy,
  8320  		CountryCodeQa,
  8321  		CountryCodeRo,
  8322  		CountryCodeRs,
  8323  		CountryCodeRu,
  8324  		CountryCodeRw,
  8325  		CountryCodeSa,
  8326  		CountryCodeSb,
  8327  		CountryCodeSc,
  8328  		CountryCodeSd,
  8329  		CountryCodeSe,
  8330  		CountryCodeSg,
  8331  		CountryCodeSh,
  8332  		CountryCodeSi,
  8333  		CountryCodeSk,
  8334  		CountryCodeSl,
  8335  		CountryCodeSm,
  8336  		CountryCodeSn,
  8337  		CountryCodeSo,
  8338  		CountryCodeSr,
  8339  		CountryCodeSt,
  8340  		CountryCodeSv,
  8341  		CountryCodeSy,
  8342  		CountryCodeSz,
  8343  		CountryCodeTc,
  8344  		CountryCodeTd,
  8345  		CountryCodeTg,
  8346  		CountryCodeTh,
  8347  		CountryCodeTj,
  8348  		CountryCodeTk,
  8349  		CountryCodeTl,
  8350  		CountryCodeTm,
  8351  		CountryCodeTn,
  8352  		CountryCodeTo,
  8353  		CountryCodeTr,
  8354  		CountryCodeTt,
  8355  		CountryCodeTv,
  8356  		CountryCodeTw,
  8357  		CountryCodeTz,
  8358  		CountryCodeUa,
  8359  		CountryCodeUg,
  8360  		CountryCodeUs,
  8361  		CountryCodeUy,
  8362  		CountryCodeUz,
  8363  		CountryCodeVa,
  8364  		CountryCodeVc,
  8365  		CountryCodeVe,
  8366  		CountryCodeVg,
  8367  		CountryCodeVi,
  8368  		CountryCodeVn,
  8369  		CountryCodeVu,
  8370  		CountryCodeWf,
  8371  		CountryCodeWs,
  8372  		CountryCodeYe,
  8373  		CountryCodeYt,
  8374  		CountryCodeZa,
  8375  		CountryCodeZm,
  8376  		CountryCodeZw,
  8377  	}
  8378  }
  8379  
  8380  const (
  8381  	// DomainAvailabilityAvailable is a DomainAvailability enum value
  8382  	DomainAvailabilityAvailable = "AVAILABLE"
  8383  
  8384  	// DomainAvailabilityAvailableReserved is a DomainAvailability enum value
  8385  	DomainAvailabilityAvailableReserved = "AVAILABLE_RESERVED"
  8386  
  8387  	// DomainAvailabilityAvailablePreorder is a DomainAvailability enum value
  8388  	DomainAvailabilityAvailablePreorder = "AVAILABLE_PREORDER"
  8389  
  8390  	// DomainAvailabilityUnavailable is a DomainAvailability enum value
  8391  	DomainAvailabilityUnavailable = "UNAVAILABLE"
  8392  
  8393  	// DomainAvailabilityUnavailablePremium is a DomainAvailability enum value
  8394  	DomainAvailabilityUnavailablePremium = "UNAVAILABLE_PREMIUM"
  8395  
  8396  	// DomainAvailabilityUnavailableRestricted is a DomainAvailability enum value
  8397  	DomainAvailabilityUnavailableRestricted = "UNAVAILABLE_RESTRICTED"
  8398  
  8399  	// DomainAvailabilityReserved is a DomainAvailability enum value
  8400  	DomainAvailabilityReserved = "RESERVED"
  8401  
  8402  	// DomainAvailabilityDontKnow is a DomainAvailability enum value
  8403  	DomainAvailabilityDontKnow = "DONT_KNOW"
  8404  )
  8405  
  8406  // DomainAvailability_Values returns all elements of the DomainAvailability enum
  8407  func DomainAvailability_Values() []string {
  8408  	return []string{
  8409  		DomainAvailabilityAvailable,
  8410  		DomainAvailabilityAvailableReserved,
  8411  		DomainAvailabilityAvailablePreorder,
  8412  		DomainAvailabilityUnavailable,
  8413  		DomainAvailabilityUnavailablePremium,
  8414  		DomainAvailabilityUnavailableRestricted,
  8415  		DomainAvailabilityReserved,
  8416  		DomainAvailabilityDontKnow,
  8417  	}
  8418  }
  8419  
  8420  const (
  8421  	// ExtraParamNameDunsNumber is a ExtraParamName enum value
  8422  	ExtraParamNameDunsNumber = "DUNS_NUMBER"
  8423  
  8424  	// ExtraParamNameBrandNumber is a ExtraParamName enum value
  8425  	ExtraParamNameBrandNumber = "BRAND_NUMBER"
  8426  
  8427  	// ExtraParamNameBirthDepartment is a ExtraParamName enum value
  8428  	ExtraParamNameBirthDepartment = "BIRTH_DEPARTMENT"
  8429  
  8430  	// ExtraParamNameBirthDateInYyyyMmDd is a ExtraParamName enum value
  8431  	ExtraParamNameBirthDateInYyyyMmDd = "BIRTH_DATE_IN_YYYY_MM_DD"
  8432  
  8433  	// ExtraParamNameBirthCountry is a ExtraParamName enum value
  8434  	ExtraParamNameBirthCountry = "BIRTH_COUNTRY"
  8435  
  8436  	// ExtraParamNameBirthCity is a ExtraParamName enum value
  8437  	ExtraParamNameBirthCity = "BIRTH_CITY"
  8438  
  8439  	// ExtraParamNameDocumentNumber is a ExtraParamName enum value
  8440  	ExtraParamNameDocumentNumber = "DOCUMENT_NUMBER"
  8441  
  8442  	// ExtraParamNameAuIdNumber is a ExtraParamName enum value
  8443  	ExtraParamNameAuIdNumber = "AU_ID_NUMBER"
  8444  
  8445  	// ExtraParamNameAuIdType is a ExtraParamName enum value
  8446  	ExtraParamNameAuIdType = "AU_ID_TYPE"
  8447  
  8448  	// ExtraParamNameCaLegalType is a ExtraParamName enum value
  8449  	ExtraParamNameCaLegalType = "CA_LEGAL_TYPE"
  8450  
  8451  	// ExtraParamNameCaBusinessEntityType is a ExtraParamName enum value
  8452  	ExtraParamNameCaBusinessEntityType = "CA_BUSINESS_ENTITY_TYPE"
  8453  
  8454  	// ExtraParamNameCaLegalRepresentative is a ExtraParamName enum value
  8455  	ExtraParamNameCaLegalRepresentative = "CA_LEGAL_REPRESENTATIVE"
  8456  
  8457  	// ExtraParamNameCaLegalRepresentativeCapacity is a ExtraParamName enum value
  8458  	ExtraParamNameCaLegalRepresentativeCapacity = "CA_LEGAL_REPRESENTATIVE_CAPACITY"
  8459  
  8460  	// ExtraParamNameEsIdentification is a ExtraParamName enum value
  8461  	ExtraParamNameEsIdentification = "ES_IDENTIFICATION"
  8462  
  8463  	// ExtraParamNameEsIdentificationType is a ExtraParamName enum value
  8464  	ExtraParamNameEsIdentificationType = "ES_IDENTIFICATION_TYPE"
  8465  
  8466  	// ExtraParamNameEsLegalForm is a ExtraParamName enum value
  8467  	ExtraParamNameEsLegalForm = "ES_LEGAL_FORM"
  8468  
  8469  	// ExtraParamNameFiBusinessNumber is a ExtraParamName enum value
  8470  	ExtraParamNameFiBusinessNumber = "FI_BUSINESS_NUMBER"
  8471  
  8472  	// ExtraParamNameFiIdNumber is a ExtraParamName enum value
  8473  	ExtraParamNameFiIdNumber = "FI_ID_NUMBER"
  8474  
  8475  	// ExtraParamNameFiNationality is a ExtraParamName enum value
  8476  	ExtraParamNameFiNationality = "FI_NATIONALITY"
  8477  
  8478  	// ExtraParamNameFiOrganizationType is a ExtraParamName enum value
  8479  	ExtraParamNameFiOrganizationType = "FI_ORGANIZATION_TYPE"
  8480  
  8481  	// ExtraParamNameItNationality is a ExtraParamName enum value
  8482  	ExtraParamNameItNationality = "IT_NATIONALITY"
  8483  
  8484  	// ExtraParamNameItPin is a ExtraParamName enum value
  8485  	ExtraParamNameItPin = "IT_PIN"
  8486  
  8487  	// ExtraParamNameItRegistrantEntityType is a ExtraParamName enum value
  8488  	ExtraParamNameItRegistrantEntityType = "IT_REGISTRANT_ENTITY_TYPE"
  8489  
  8490  	// ExtraParamNameRuPassportData is a ExtraParamName enum value
  8491  	ExtraParamNameRuPassportData = "RU_PASSPORT_DATA"
  8492  
  8493  	// ExtraParamNameSeIdNumber is a ExtraParamName enum value
  8494  	ExtraParamNameSeIdNumber = "SE_ID_NUMBER"
  8495  
  8496  	// ExtraParamNameSgIdNumber is a ExtraParamName enum value
  8497  	ExtraParamNameSgIdNumber = "SG_ID_NUMBER"
  8498  
  8499  	// ExtraParamNameVatNumber is a ExtraParamName enum value
  8500  	ExtraParamNameVatNumber = "VAT_NUMBER"
  8501  
  8502  	// ExtraParamNameUkContactType is a ExtraParamName enum value
  8503  	ExtraParamNameUkContactType = "UK_CONTACT_TYPE"
  8504  
  8505  	// ExtraParamNameUkCompanyNumber is a ExtraParamName enum value
  8506  	ExtraParamNameUkCompanyNumber = "UK_COMPANY_NUMBER"
  8507  )
  8508  
  8509  // ExtraParamName_Values returns all elements of the ExtraParamName enum
  8510  func ExtraParamName_Values() []string {
  8511  	return []string{
  8512  		ExtraParamNameDunsNumber,
  8513  		ExtraParamNameBrandNumber,
  8514  		ExtraParamNameBirthDepartment,
  8515  		ExtraParamNameBirthDateInYyyyMmDd,
  8516  		ExtraParamNameBirthCountry,
  8517  		ExtraParamNameBirthCity,
  8518  		ExtraParamNameDocumentNumber,
  8519  		ExtraParamNameAuIdNumber,
  8520  		ExtraParamNameAuIdType,
  8521  		ExtraParamNameCaLegalType,
  8522  		ExtraParamNameCaBusinessEntityType,
  8523  		ExtraParamNameCaLegalRepresentative,
  8524  		ExtraParamNameCaLegalRepresentativeCapacity,
  8525  		ExtraParamNameEsIdentification,
  8526  		ExtraParamNameEsIdentificationType,
  8527  		ExtraParamNameEsLegalForm,
  8528  		ExtraParamNameFiBusinessNumber,
  8529  		ExtraParamNameFiIdNumber,
  8530  		ExtraParamNameFiNationality,
  8531  		ExtraParamNameFiOrganizationType,
  8532  		ExtraParamNameItNationality,
  8533  		ExtraParamNameItPin,
  8534  		ExtraParamNameItRegistrantEntityType,
  8535  		ExtraParamNameRuPassportData,
  8536  		ExtraParamNameSeIdNumber,
  8537  		ExtraParamNameSgIdNumber,
  8538  		ExtraParamNameVatNumber,
  8539  		ExtraParamNameUkContactType,
  8540  		ExtraParamNameUkCompanyNumber,
  8541  	}
  8542  }
  8543  
  8544  const (
  8545  	// OperationStatusSubmitted is a OperationStatus enum value
  8546  	OperationStatusSubmitted = "SUBMITTED"
  8547  
  8548  	// OperationStatusInProgress is a OperationStatus enum value
  8549  	OperationStatusInProgress = "IN_PROGRESS"
  8550  
  8551  	// OperationStatusError is a OperationStatus enum value
  8552  	OperationStatusError = "ERROR"
  8553  
  8554  	// OperationStatusSuccessful is a OperationStatus enum value
  8555  	OperationStatusSuccessful = "SUCCESSFUL"
  8556  
  8557  	// OperationStatusFailed is a OperationStatus enum value
  8558  	OperationStatusFailed = "FAILED"
  8559  )
  8560  
  8561  // OperationStatus_Values returns all elements of the OperationStatus enum
  8562  func OperationStatus_Values() []string {
  8563  	return []string{
  8564  		OperationStatusSubmitted,
  8565  		OperationStatusInProgress,
  8566  		OperationStatusError,
  8567  		OperationStatusSuccessful,
  8568  		OperationStatusFailed,
  8569  	}
  8570  }
  8571  
  8572  const (
  8573  	// OperationTypeRegisterDomain is a OperationType enum value
  8574  	OperationTypeRegisterDomain = "REGISTER_DOMAIN"
  8575  
  8576  	// OperationTypeDeleteDomain is a OperationType enum value
  8577  	OperationTypeDeleteDomain = "DELETE_DOMAIN"
  8578  
  8579  	// OperationTypeTransferInDomain is a OperationType enum value
  8580  	OperationTypeTransferInDomain = "TRANSFER_IN_DOMAIN"
  8581  
  8582  	// OperationTypeUpdateDomainContact is a OperationType enum value
  8583  	OperationTypeUpdateDomainContact = "UPDATE_DOMAIN_CONTACT"
  8584  
  8585  	// OperationTypeUpdateNameserver is a OperationType enum value
  8586  	OperationTypeUpdateNameserver = "UPDATE_NAMESERVER"
  8587  
  8588  	// OperationTypeChangePrivacyProtection is a OperationType enum value
  8589  	OperationTypeChangePrivacyProtection = "CHANGE_PRIVACY_PROTECTION"
  8590  
  8591  	// OperationTypeDomainLock is a OperationType enum value
  8592  	OperationTypeDomainLock = "DOMAIN_LOCK"
  8593  
  8594  	// OperationTypeEnableAutorenew is a OperationType enum value
  8595  	OperationTypeEnableAutorenew = "ENABLE_AUTORENEW"
  8596  
  8597  	// OperationTypeDisableAutorenew is a OperationType enum value
  8598  	OperationTypeDisableAutorenew = "DISABLE_AUTORENEW"
  8599  
  8600  	// OperationTypeAddDnssec is a OperationType enum value
  8601  	OperationTypeAddDnssec = "ADD_DNSSEC"
  8602  
  8603  	// OperationTypeRemoveDnssec is a OperationType enum value
  8604  	OperationTypeRemoveDnssec = "REMOVE_DNSSEC"
  8605  
  8606  	// OperationTypeExpireDomain is a OperationType enum value
  8607  	OperationTypeExpireDomain = "EXPIRE_DOMAIN"
  8608  
  8609  	// OperationTypeTransferOutDomain is a OperationType enum value
  8610  	OperationTypeTransferOutDomain = "TRANSFER_OUT_DOMAIN"
  8611  
  8612  	// OperationTypeChangeDomainOwner is a OperationType enum value
  8613  	OperationTypeChangeDomainOwner = "CHANGE_DOMAIN_OWNER"
  8614  
  8615  	// OperationTypeRenewDomain is a OperationType enum value
  8616  	OperationTypeRenewDomain = "RENEW_DOMAIN"
  8617  
  8618  	// OperationTypePushDomain is a OperationType enum value
  8619  	OperationTypePushDomain = "PUSH_DOMAIN"
  8620  
  8621  	// OperationTypeInternalTransferOutDomain is a OperationType enum value
  8622  	OperationTypeInternalTransferOutDomain = "INTERNAL_TRANSFER_OUT_DOMAIN"
  8623  
  8624  	// OperationTypeInternalTransferInDomain is a OperationType enum value
  8625  	OperationTypeInternalTransferInDomain = "INTERNAL_TRANSFER_IN_DOMAIN"
  8626  )
  8627  
  8628  // OperationType_Values returns all elements of the OperationType enum
  8629  func OperationType_Values() []string {
  8630  	return []string{
  8631  		OperationTypeRegisterDomain,
  8632  		OperationTypeDeleteDomain,
  8633  		OperationTypeTransferInDomain,
  8634  		OperationTypeUpdateDomainContact,
  8635  		OperationTypeUpdateNameserver,
  8636  		OperationTypeChangePrivacyProtection,
  8637  		OperationTypeDomainLock,
  8638  		OperationTypeEnableAutorenew,
  8639  		OperationTypeDisableAutorenew,
  8640  		OperationTypeAddDnssec,
  8641  		OperationTypeRemoveDnssec,
  8642  		OperationTypeExpireDomain,
  8643  		OperationTypeTransferOutDomain,
  8644  		OperationTypeChangeDomainOwner,
  8645  		OperationTypeRenewDomain,
  8646  		OperationTypePushDomain,
  8647  		OperationTypeInternalTransferOutDomain,
  8648  		OperationTypeInternalTransferInDomain,
  8649  	}
  8650  }
  8651  
  8652  const (
  8653  	// ReachabilityStatusPending is a ReachabilityStatus enum value
  8654  	ReachabilityStatusPending = "PENDING"
  8655  
  8656  	// ReachabilityStatusDone is a ReachabilityStatus enum value
  8657  	ReachabilityStatusDone = "DONE"
  8658  
  8659  	// ReachabilityStatusExpired is a ReachabilityStatus enum value
  8660  	ReachabilityStatusExpired = "EXPIRED"
  8661  )
  8662  
  8663  // ReachabilityStatus_Values returns all elements of the ReachabilityStatus enum
  8664  func ReachabilityStatus_Values() []string {
  8665  	return []string{
  8666  		ReachabilityStatusPending,
  8667  		ReachabilityStatusDone,
  8668  		ReachabilityStatusExpired,
  8669  	}
  8670  }
  8671  
  8672  // Whether the domain name can be transferred to Route 53.
  8673  //
  8674  // You can transfer only domains that have a value of TRANSFERABLE for Transferable.
  8675  //
  8676  // Valid values:
  8677  //
  8678  // TRANSFERABLE
  8679  //
  8680  // The domain name can be transferred to Route 53.
  8681  //
  8682  // UNTRANSFERRABLE
  8683  //
  8684  // The domain name can't be transferred to Route 53.
  8685  //
  8686  // DONT_KNOW
  8687  //
  8688  // Reserved for future use.
  8689  const (
  8690  	// TransferableTransferable is a Transferable enum value
  8691  	TransferableTransferable = "TRANSFERABLE"
  8692  
  8693  	// TransferableUntransferable is a Transferable enum value
  8694  	TransferableUntransferable = "UNTRANSFERABLE"
  8695  
  8696  	// TransferableDontKnow is a Transferable enum value
  8697  	TransferableDontKnow = "DONT_KNOW"
  8698  )
  8699  
  8700  // Transferable_Values returns all elements of the Transferable enum
  8701  func Transferable_Values() []string {
  8702  	return []string{
  8703  		TransferableTransferable,
  8704  		TransferableUntransferable,
  8705  		TransferableDontKnow,
  8706  	}
  8707  }