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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package route53
     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/restxml"
    14  )
    15  
    16  const opActivateKeySigningKey = "ActivateKeySigningKey"
    17  
    18  // ActivateKeySigningKeyRequest generates a "aws/request.Request" representing the
    19  // client's request for the ActivateKeySigningKey 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 ActivateKeySigningKey for more information on using the ActivateKeySigningKey
    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 ActivateKeySigningKeyRequest method.
    34  //    req, resp := client.ActivateKeySigningKeyRequest(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/route53-2013-04-01/ActivateKeySigningKey
    42  func (c *Route53) ActivateKeySigningKeyRequest(input *ActivateKeySigningKeyInput) (req *request.Request, output *ActivateKeySigningKeyOutput) {
    43  	op := &request.Operation{
    44  		Name:       opActivateKeySigningKey,
    45  		HTTPMethod: "POST",
    46  		HTTPPath:   "/2013-04-01/keysigningkey/{HostedZoneId}/{Name}/activate",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &ActivateKeySigningKeyInput{}
    51  	}
    52  
    53  	output = &ActivateKeySigningKeyOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	return
    56  }
    57  
    58  // ActivateKeySigningKey API operation for Amazon Route 53.
    59  //
    60  // Activates a key-signing key (KSK) so that it can be used for signing by DNSSEC.
    61  // This operation changes the KSK status to ACTIVE.
    62  //
    63  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    64  // with awserr.Error's Code and Message methods to get detailed information about
    65  // the error.
    66  //
    67  // See the AWS API reference guide for Amazon Route 53's
    68  // API operation ActivateKeySigningKey for usage and error information.
    69  //
    70  // Returned Error Codes:
    71  //   * ErrCodeConcurrentModification "ConcurrentModification"
    72  //   Another user submitted a request to create, update, or delete the object
    73  //   at the same time that you did. Retry the request.
    74  //
    75  //   * ErrCodeNoSuchKeySigningKey "NoSuchKeySigningKey"
    76  //   The specified key-signing key (KSK) doesn't exist.
    77  //
    78  //   * ErrCodeInvalidKeySigningKeyStatus "InvalidKeySigningKeyStatus"
    79  //   The key-signing key (KSK) status isn't valid or another KSK has the status
    80  //   INTERNAL_FAILURE.
    81  //
    82  //   * ErrCodeInvalidSigningStatus "InvalidSigningStatus"
    83  //   Your hosted zone status isn't valid for this operation. In the hosted zone,
    84  //   change the status to enable DNSSEC or disable DNSSEC.
    85  //
    86  //   * ErrCodeInvalidKMSArn "InvalidKMSArn"
    87  //   The KeyManagementServiceArn that you specified isn't valid to use with DNSSEC
    88  //   signing.
    89  //
    90  //   * ErrCodeInvalidInput "InvalidInput"
    91  //   The input is not valid.
    92  //
    93  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ActivateKeySigningKey
    94  func (c *Route53) ActivateKeySigningKey(input *ActivateKeySigningKeyInput) (*ActivateKeySigningKeyOutput, error) {
    95  	req, out := c.ActivateKeySigningKeyRequest(input)
    96  	return out, req.Send()
    97  }
    98  
    99  // ActivateKeySigningKeyWithContext is the same as ActivateKeySigningKey with the addition of
   100  // the ability to pass a context and additional request options.
   101  //
   102  // See ActivateKeySigningKey for details on how to use this API operation.
   103  //
   104  // The context must be non-nil and will be used for request cancellation. If
   105  // the context is nil a panic will occur. In the future the SDK may create
   106  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   107  // for more information on using Contexts.
   108  func (c *Route53) ActivateKeySigningKeyWithContext(ctx aws.Context, input *ActivateKeySigningKeyInput, opts ...request.Option) (*ActivateKeySigningKeyOutput, error) {
   109  	req, out := c.ActivateKeySigningKeyRequest(input)
   110  	req.SetContext(ctx)
   111  	req.ApplyOptions(opts...)
   112  	return out, req.Send()
   113  }
   114  
   115  const opAssociateVPCWithHostedZone = "AssociateVPCWithHostedZone"
   116  
   117  // AssociateVPCWithHostedZoneRequest generates a "aws/request.Request" representing the
   118  // client's request for the AssociateVPCWithHostedZone operation. The "output" return
   119  // value will be populated with the request's response once the request completes
   120  // successfully.
   121  //
   122  // Use "Send" method on the returned Request to send the API call to the service.
   123  // the "output" return value is not valid until after Send returns without error.
   124  //
   125  // See AssociateVPCWithHostedZone for more information on using the AssociateVPCWithHostedZone
   126  // API call, and error handling.
   127  //
   128  // This method is useful when you want to inject custom logic or configuration
   129  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   130  //
   131  //
   132  //    // Example sending a request using the AssociateVPCWithHostedZoneRequest method.
   133  //    req, resp := client.AssociateVPCWithHostedZoneRequest(params)
   134  //
   135  //    err := req.Send()
   136  //    if err == nil { // resp is now filled
   137  //        fmt.Println(resp)
   138  //    }
   139  //
   140  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/AssociateVPCWithHostedZone
   141  func (c *Route53) AssociateVPCWithHostedZoneRequest(input *AssociateVPCWithHostedZoneInput) (req *request.Request, output *AssociateVPCWithHostedZoneOutput) {
   142  	op := &request.Operation{
   143  		Name:       opAssociateVPCWithHostedZone,
   144  		HTTPMethod: "POST",
   145  		HTTPPath:   "/2013-04-01/hostedzone/{Id}/associatevpc",
   146  	}
   147  
   148  	if input == nil {
   149  		input = &AssociateVPCWithHostedZoneInput{}
   150  	}
   151  
   152  	output = &AssociateVPCWithHostedZoneOutput{}
   153  	req = c.newRequest(op, input, output)
   154  	return
   155  }
   156  
   157  // AssociateVPCWithHostedZone API operation for Amazon Route 53.
   158  //
   159  // Associates an Amazon VPC with a private hosted zone.
   160  //
   161  // To perform the association, the VPC and the private hosted zone must already
   162  // exist. You can't convert a public hosted zone into a private hosted zone.
   163  //
   164  // If you want to associate a VPC that was created by using one Amazon Web Services
   165  // account with a private hosted zone that was created by using a different
   166  // account, the Amazon Web Services account that created the private hosted
   167  // zone must first submit a CreateVPCAssociationAuthorization request. Then
   168  // the account that created the VPC must submit an AssociateVPCWithHostedZone
   169  // request.
   170  //
   171  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   172  // with awserr.Error's Code and Message methods to get detailed information about
   173  // the error.
   174  //
   175  // See the AWS API reference guide for Amazon Route 53's
   176  // API operation AssociateVPCWithHostedZone for usage and error information.
   177  //
   178  // Returned Error Codes:
   179  //   * ErrCodeNoSuchHostedZone "NoSuchHostedZone"
   180  //   No hosted zone exists with the ID that you specified.
   181  //
   182  //   * ErrCodeNotAuthorizedException "NotAuthorizedException"
   183  //   Associating the specified VPC with the specified hosted zone has not been
   184  //   authorized.
   185  //
   186  //   * ErrCodeInvalidVPCId "InvalidVPCId"
   187  //   The VPC ID that you specified either isn't a valid ID or the current account
   188  //   is not authorized to access this VPC.
   189  //
   190  //   * ErrCodeInvalidInput "InvalidInput"
   191  //   The input is not valid.
   192  //
   193  //   * ErrCodePublicZoneVPCAssociation "PublicZoneVPCAssociation"
   194  //   You're trying to associate a VPC with a public hosted zone. Amazon Route
   195  //   53 doesn't support associating a VPC with a public hosted zone.
   196  //
   197  //   * ErrCodeConflictingDomainExists "ConflictingDomainExists"
   198  //   The cause of this error depends on the operation that you're performing:
   199  //
   200  //      * Create a public hosted zone: Two hosted zones that have the same name
   201  //      or that have a parent/child relationship (example.com and test.example.com)
   202  //      can't have any common name servers. You tried to create a hosted zone
   203  //      that has the same name as an existing hosted zone or that's the parent
   204  //      or child of an existing hosted zone, and you specified a delegation set
   205  //      that shares one or more name servers with the existing hosted zone. For
   206  //      more information, see CreateReusableDelegationSet (https://docs.aws.amazon.com/Route53/latest/APIReference/API_CreateReusableDelegationSet.html).
   207  //
   208  //      * Create a private hosted zone: A hosted zone with the specified name
   209  //      already exists and is already associated with the Amazon VPC that you
   210  //      specified.
   211  //
   212  //      * Associate VPCs with a private hosted zone: The VPC that you specified
   213  //      is already associated with another hosted zone that has the same name.
   214  //
   215  //   * ErrCodeLimitsExceeded "LimitsExceeded"
   216  //   This operation can't be completed either because the current account has
   217  //   reached the limit on reusable delegation sets that it can create or because
   218  //   you've reached the limit on the number of Amazon VPCs that you can associate
   219  //   with a private hosted zone. To get the current limit on the number of reusable
   220  //   delegation sets, see GetAccountLimit (https://docs.aws.amazon.com/Route53/latest/APIReference/API_GetAccountLimit.html).
   221  //   To get the current limit on the number of Amazon VPCs that you can associate
   222  //   with a private hosted zone, see GetHostedZoneLimit (https://docs.aws.amazon.com/Route53/latest/APIReference/API_GetHostedZoneLimit.html).
   223  //   To request a higher limit, create a case (http://aws.amazon.com/route53-request)
   224  //   with the Amazon Web Services Support Center.
   225  //
   226  //   * ErrCodePriorRequestNotComplete "PriorRequestNotComplete"
   227  //   If Amazon Route 53 can't process a request before the next request arrives,
   228  //   it will reject subsequent requests for the same hosted zone and return an
   229  //   HTTP 400 error (Bad request). If Route 53 returns this error repeatedly for
   230  //   the same request, we recommend that you wait, in intervals of increasing
   231  //   duration, before you try the request again.
   232  //
   233  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/AssociateVPCWithHostedZone
   234  func (c *Route53) AssociateVPCWithHostedZone(input *AssociateVPCWithHostedZoneInput) (*AssociateVPCWithHostedZoneOutput, error) {
   235  	req, out := c.AssociateVPCWithHostedZoneRequest(input)
   236  	return out, req.Send()
   237  }
   238  
   239  // AssociateVPCWithHostedZoneWithContext is the same as AssociateVPCWithHostedZone with the addition of
   240  // the ability to pass a context and additional request options.
   241  //
   242  // See AssociateVPCWithHostedZone for details on how to use this API operation.
   243  //
   244  // The context must be non-nil and will be used for request cancellation. If
   245  // the context is nil a panic will occur. In the future the SDK may create
   246  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   247  // for more information on using Contexts.
   248  func (c *Route53) AssociateVPCWithHostedZoneWithContext(ctx aws.Context, input *AssociateVPCWithHostedZoneInput, opts ...request.Option) (*AssociateVPCWithHostedZoneOutput, error) {
   249  	req, out := c.AssociateVPCWithHostedZoneRequest(input)
   250  	req.SetContext(ctx)
   251  	req.ApplyOptions(opts...)
   252  	return out, req.Send()
   253  }
   254  
   255  const opChangeResourceRecordSets = "ChangeResourceRecordSets"
   256  
   257  // ChangeResourceRecordSetsRequest generates a "aws/request.Request" representing the
   258  // client's request for the ChangeResourceRecordSets operation. The "output" return
   259  // value will be populated with the request's response once the request completes
   260  // successfully.
   261  //
   262  // Use "Send" method on the returned Request to send the API call to the service.
   263  // the "output" return value is not valid until after Send returns without error.
   264  //
   265  // See ChangeResourceRecordSets for more information on using the ChangeResourceRecordSets
   266  // API call, and error handling.
   267  //
   268  // This method is useful when you want to inject custom logic or configuration
   269  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   270  //
   271  //
   272  //    // Example sending a request using the ChangeResourceRecordSetsRequest method.
   273  //    req, resp := client.ChangeResourceRecordSetsRequest(params)
   274  //
   275  //    err := req.Send()
   276  //    if err == nil { // resp is now filled
   277  //        fmt.Println(resp)
   278  //    }
   279  //
   280  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ChangeResourceRecordSets
   281  func (c *Route53) ChangeResourceRecordSetsRequest(input *ChangeResourceRecordSetsInput) (req *request.Request, output *ChangeResourceRecordSetsOutput) {
   282  	op := &request.Operation{
   283  		Name:       opChangeResourceRecordSets,
   284  		HTTPMethod: "POST",
   285  		HTTPPath:   "/2013-04-01/hostedzone/{Id}/rrset/",
   286  	}
   287  
   288  	if input == nil {
   289  		input = &ChangeResourceRecordSetsInput{}
   290  	}
   291  
   292  	output = &ChangeResourceRecordSetsOutput{}
   293  	req = c.newRequest(op, input, output)
   294  	return
   295  }
   296  
   297  // ChangeResourceRecordSets API operation for Amazon Route 53.
   298  //
   299  // Creates, changes, or deletes a resource record set, which contains authoritative
   300  // DNS information for a specified domain name or subdomain name. For example,
   301  // you can use ChangeResourceRecordSets to create a resource record set that
   302  // routes traffic for test.example.com to a web server that has an IP address
   303  // of 192.0.2.44.
   304  //
   305  // Deleting Resource Record Sets
   306  //
   307  // To delete a resource record set, you must specify all the same values that
   308  // you specified when you created it.
   309  //
   310  // Change Batches and Transactional Changes
   311  //
   312  // The request body must include a document with a ChangeResourceRecordSetsRequest
   313  // element. The request body contains a list of change items, known as a change
   314  // batch. Change batches are considered transactional changes. Route 53 validates
   315  // the changes in the request and then either makes all or none of the changes
   316  // in the change batch request. This ensures that DNS routing isn't adversely
   317  // affected by partial changes to the resource record sets in a hosted zone.
   318  //
   319  // For example, suppose a change batch request contains two changes: it deletes
   320  // the CNAME resource record set for www.example.com and creates an alias resource
   321  // record set for www.example.com. If validation for both records succeeds,
   322  // Route 53 deletes the first resource record set and creates the second resource
   323  // record set in a single operation. If validation for either the DELETE or
   324  // the CREATE action fails, then the request is canceled, and the original CNAME
   325  // record continues to exist.
   326  //
   327  // If you try to delete the same resource record set more than once in a single
   328  // change batch, Route 53 returns an InvalidChangeBatch error.
   329  //
   330  // Traffic Flow
   331  //
   332  // To create resource record sets for complex routing configurations, use either
   333  // the traffic flow visual editor in the Route 53 console or the API actions
   334  // for traffic policies and traffic policy instances. Save the configuration
   335  // as a traffic policy, then associate the traffic policy with one or more domain
   336  // names (such as example.com) or subdomain names (such as www.example.com),
   337  // in the same hosted zone or in multiple hosted zones. You can roll back the
   338  // updates if the new configuration isn't performing as expected. For more information,
   339  // see Using Traffic Flow to Route DNS Traffic (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/traffic-flow.html)
   340  // in the Amazon Route 53 Developer Guide.
   341  //
   342  // Create, Delete, and Upsert
   343  //
   344  // Use ChangeResourceRecordsSetsRequest to perform the following actions:
   345  //
   346  //    * CREATE: Creates a resource record set that has the specified values.
   347  //
   348  //    * DELETE: Deletes an existing resource record set that has the specified
   349  //    values.
   350  //
   351  //    * UPSERT: If a resource record set does not already exist, Amazon Web
   352  //    Services creates it. If a resource set does exist, Route 53 updates it
   353  //    with the values in the request.
   354  //
   355  // Syntaxes for Creating, Updating, and Deleting Resource Record Sets
   356  //
   357  // The syntax for a request depends on the type of resource record set that
   358  // you want to create, delete, or update, such as weighted, alias, or failover.
   359  // The XML elements in your request must appear in the order listed in the syntax.
   360  //
   361  // For an example for each type of resource record set, see "Examples."
   362  //
   363  // Don't refer to the syntax in the "Parameter Syntax" section, which includes
   364  // all of the elements for every kind of resource record set that you can create,
   365  // delete, or update by using ChangeResourceRecordSets.
   366  //
   367  // Change Propagation to Route 53 DNS Servers
   368  //
   369  // When you submit a ChangeResourceRecordSets request, Route 53 propagates your
   370  // changes to all of the Route 53 authoritative DNS servers. While your changes
   371  // are propagating, GetChange returns a status of PENDING. When propagation
   372  // is complete, GetChange returns a status of INSYNC. Changes generally propagate
   373  // to all Route 53 name servers within 60 seconds. For more information, see
   374  // GetChange (https://docs.aws.amazon.com/Route53/latest/APIReference/API_GetChange.html).
   375  //
   376  // Limits on ChangeResourceRecordSets Requests
   377  //
   378  // For information about the limits on a ChangeResourceRecordSets request, see
   379  // Limits (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DNSLimitations.html)
   380  // in the Amazon Route 53 Developer Guide.
   381  //
   382  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   383  // with awserr.Error's Code and Message methods to get detailed information about
   384  // the error.
   385  //
   386  // See the AWS API reference guide for Amazon Route 53's
   387  // API operation ChangeResourceRecordSets for usage and error information.
   388  //
   389  // Returned Error Codes:
   390  //   * ErrCodeNoSuchHostedZone "NoSuchHostedZone"
   391  //   No hosted zone exists with the ID that you specified.
   392  //
   393  //   * ErrCodeNoSuchHealthCheck "NoSuchHealthCheck"
   394  //   No health check exists with the specified ID.
   395  //
   396  //   * ErrCodeInvalidChangeBatch "InvalidChangeBatch"
   397  //   This exception contains a list of messages that might contain one or more
   398  //   error messages. Each error message indicates one error in the change batch.
   399  //
   400  //   * ErrCodeInvalidInput "InvalidInput"
   401  //   The input is not valid.
   402  //
   403  //   * ErrCodePriorRequestNotComplete "PriorRequestNotComplete"
   404  //   If Amazon Route 53 can't process a request before the next request arrives,
   405  //   it will reject subsequent requests for the same hosted zone and return an
   406  //   HTTP 400 error (Bad request). If Route 53 returns this error repeatedly for
   407  //   the same request, we recommend that you wait, in intervals of increasing
   408  //   duration, before you try the request again.
   409  //
   410  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ChangeResourceRecordSets
   411  func (c *Route53) ChangeResourceRecordSets(input *ChangeResourceRecordSetsInput) (*ChangeResourceRecordSetsOutput, error) {
   412  	req, out := c.ChangeResourceRecordSetsRequest(input)
   413  	return out, req.Send()
   414  }
   415  
   416  // ChangeResourceRecordSetsWithContext is the same as ChangeResourceRecordSets with the addition of
   417  // the ability to pass a context and additional request options.
   418  //
   419  // See ChangeResourceRecordSets for details on how to use this API operation.
   420  //
   421  // The context must be non-nil and will be used for request cancellation. If
   422  // the context is nil a panic will occur. In the future the SDK may create
   423  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   424  // for more information on using Contexts.
   425  func (c *Route53) ChangeResourceRecordSetsWithContext(ctx aws.Context, input *ChangeResourceRecordSetsInput, opts ...request.Option) (*ChangeResourceRecordSetsOutput, error) {
   426  	req, out := c.ChangeResourceRecordSetsRequest(input)
   427  	req.SetContext(ctx)
   428  	req.ApplyOptions(opts...)
   429  	return out, req.Send()
   430  }
   431  
   432  const opChangeTagsForResource = "ChangeTagsForResource"
   433  
   434  // ChangeTagsForResourceRequest generates a "aws/request.Request" representing the
   435  // client's request for the ChangeTagsForResource operation. The "output" return
   436  // value will be populated with the request's response once the request completes
   437  // successfully.
   438  //
   439  // Use "Send" method on the returned Request to send the API call to the service.
   440  // the "output" return value is not valid until after Send returns without error.
   441  //
   442  // See ChangeTagsForResource for more information on using the ChangeTagsForResource
   443  // API call, and error handling.
   444  //
   445  // This method is useful when you want to inject custom logic or configuration
   446  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   447  //
   448  //
   449  //    // Example sending a request using the ChangeTagsForResourceRequest method.
   450  //    req, resp := client.ChangeTagsForResourceRequest(params)
   451  //
   452  //    err := req.Send()
   453  //    if err == nil { // resp is now filled
   454  //        fmt.Println(resp)
   455  //    }
   456  //
   457  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ChangeTagsForResource
   458  func (c *Route53) ChangeTagsForResourceRequest(input *ChangeTagsForResourceInput) (req *request.Request, output *ChangeTagsForResourceOutput) {
   459  	op := &request.Operation{
   460  		Name:       opChangeTagsForResource,
   461  		HTTPMethod: "POST",
   462  		HTTPPath:   "/2013-04-01/tags/{ResourceType}/{ResourceId}",
   463  	}
   464  
   465  	if input == nil {
   466  		input = &ChangeTagsForResourceInput{}
   467  	}
   468  
   469  	output = &ChangeTagsForResourceOutput{}
   470  	req = c.newRequest(op, input, output)
   471  	req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   472  	return
   473  }
   474  
   475  // ChangeTagsForResource API operation for Amazon Route 53.
   476  //
   477  // Adds, edits, or deletes tags for a health check or a hosted zone.
   478  //
   479  // For information about using tags for cost allocation, see Using Cost Allocation
   480  // Tags (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html)
   481  // in the Billing and Cost Management User Guide.
   482  //
   483  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   484  // with awserr.Error's Code and Message methods to get detailed information about
   485  // the error.
   486  //
   487  // See the AWS API reference guide for Amazon Route 53's
   488  // API operation ChangeTagsForResource for usage and error information.
   489  //
   490  // Returned Error Codes:
   491  //   * ErrCodeInvalidInput "InvalidInput"
   492  //   The input is not valid.
   493  //
   494  //   * ErrCodeNoSuchHealthCheck "NoSuchHealthCheck"
   495  //   No health check exists with the specified ID.
   496  //
   497  //   * ErrCodeNoSuchHostedZone "NoSuchHostedZone"
   498  //   No hosted zone exists with the ID that you specified.
   499  //
   500  //   * ErrCodePriorRequestNotComplete "PriorRequestNotComplete"
   501  //   If Amazon Route 53 can't process a request before the next request arrives,
   502  //   it will reject subsequent requests for the same hosted zone and return an
   503  //   HTTP 400 error (Bad request). If Route 53 returns this error repeatedly for
   504  //   the same request, we recommend that you wait, in intervals of increasing
   505  //   duration, before you try the request again.
   506  //
   507  //   * ErrCodeThrottlingException "ThrottlingException"
   508  //   The limit on the number of requests per second was exceeded.
   509  //
   510  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ChangeTagsForResource
   511  func (c *Route53) ChangeTagsForResource(input *ChangeTagsForResourceInput) (*ChangeTagsForResourceOutput, error) {
   512  	req, out := c.ChangeTagsForResourceRequest(input)
   513  	return out, req.Send()
   514  }
   515  
   516  // ChangeTagsForResourceWithContext is the same as ChangeTagsForResource with the addition of
   517  // the ability to pass a context and additional request options.
   518  //
   519  // See ChangeTagsForResource for details on how to use this API operation.
   520  //
   521  // The context must be non-nil and will be used for request cancellation. If
   522  // the context is nil a panic will occur. In the future the SDK may create
   523  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   524  // for more information on using Contexts.
   525  func (c *Route53) ChangeTagsForResourceWithContext(ctx aws.Context, input *ChangeTagsForResourceInput, opts ...request.Option) (*ChangeTagsForResourceOutput, error) {
   526  	req, out := c.ChangeTagsForResourceRequest(input)
   527  	req.SetContext(ctx)
   528  	req.ApplyOptions(opts...)
   529  	return out, req.Send()
   530  }
   531  
   532  const opCreateHealthCheck = "CreateHealthCheck"
   533  
   534  // CreateHealthCheckRequest generates a "aws/request.Request" representing the
   535  // client's request for the CreateHealthCheck operation. The "output" return
   536  // value will be populated with the request's response once the request completes
   537  // successfully.
   538  //
   539  // Use "Send" method on the returned Request to send the API call to the service.
   540  // the "output" return value is not valid until after Send returns without error.
   541  //
   542  // See CreateHealthCheck for more information on using the CreateHealthCheck
   543  // API call, and error handling.
   544  //
   545  // This method is useful when you want to inject custom logic or configuration
   546  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   547  //
   548  //
   549  //    // Example sending a request using the CreateHealthCheckRequest method.
   550  //    req, resp := client.CreateHealthCheckRequest(params)
   551  //
   552  //    err := req.Send()
   553  //    if err == nil { // resp is now filled
   554  //        fmt.Println(resp)
   555  //    }
   556  //
   557  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateHealthCheck
   558  func (c *Route53) CreateHealthCheckRequest(input *CreateHealthCheckInput) (req *request.Request, output *CreateHealthCheckOutput) {
   559  	op := &request.Operation{
   560  		Name:       opCreateHealthCheck,
   561  		HTTPMethod: "POST",
   562  		HTTPPath:   "/2013-04-01/healthcheck",
   563  	}
   564  
   565  	if input == nil {
   566  		input = &CreateHealthCheckInput{}
   567  	}
   568  
   569  	output = &CreateHealthCheckOutput{}
   570  	req = c.newRequest(op, input, output)
   571  	return
   572  }
   573  
   574  // CreateHealthCheck API operation for Amazon Route 53.
   575  //
   576  // Creates a new health check.
   577  //
   578  // For information about adding health checks to resource record sets, see HealthCheckId
   579  // (https://docs.aws.amazon.com/Route53/latest/APIReference/API_ResourceRecordSet.html#Route53-Type-ResourceRecordSet-HealthCheckId)
   580  // in ChangeResourceRecordSets (https://docs.aws.amazon.com/Route53/latest/APIReference/API_ChangeResourceRecordSets.html).
   581  //
   582  // ELB Load Balancers
   583  //
   584  // If you're registering EC2 instances with an Elastic Load Balancing (ELB)
   585  // load balancer, do not create Amazon Route 53 health checks for the EC2 instances.
   586  // When you register an EC2 instance with a load balancer, you configure settings
   587  // for an ELB health check, which performs a similar function to a Route 53
   588  // health check.
   589  //
   590  // Private Hosted Zones
   591  //
   592  // You can associate health checks with failover resource record sets in a private
   593  // hosted zone. Note the following:
   594  //
   595  //    * Route 53 health checkers are outside the VPC. To check the health of
   596  //    an endpoint within a VPC by IP address, you must assign a public IP address
   597  //    to the instance in the VPC.
   598  //
   599  //    * You can configure a health checker to check the health of an external
   600  //    resource that the instance relies on, such as a database server.
   601  //
   602  //    * You can create a CloudWatch metric, associate an alarm with the metric,
   603  //    and then create a health check that is based on the state of the alarm.
   604  //    For example, you might create a CloudWatch metric that checks the status
   605  //    of the Amazon EC2 StatusCheckFailed metric, add an alarm to the metric,
   606  //    and then create a health check that is based on the state of the alarm.
   607  //    For information about creating CloudWatch metrics and alarms by using
   608  //    the CloudWatch console, see the Amazon CloudWatch User Guide (https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/WhatIsCloudWatch.html).
   609  //
   610  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   611  // with awserr.Error's Code and Message methods to get detailed information about
   612  // the error.
   613  //
   614  // See the AWS API reference guide for Amazon Route 53's
   615  // API operation CreateHealthCheck for usage and error information.
   616  //
   617  // Returned Error Codes:
   618  //   * ErrCodeTooManyHealthChecks "TooManyHealthChecks"
   619  //   This health check can't be created because the current account has reached
   620  //   the limit on the number of active health checks.
   621  //
   622  //   For information about default limits, see Limits (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DNSLimitations.html)
   623  //   in the Amazon Route 53 Developer Guide.
   624  //
   625  //   For information about how to get the current limit for an account, see GetAccountLimit
   626  //   (https://docs.aws.amazon.com/Route53/latest/APIReference/API_GetAccountLimit.html).
   627  //   To request a higher limit, create a case (http://aws.amazon.com/route53-request)
   628  //   with the Amazon Web Services Support Center.
   629  //
   630  //   You have reached the maximum number of active health checks for an Amazon
   631  //   Web Services account. To request a higher limit, create a case (http://aws.amazon.com/route53-request)
   632  //   with the Amazon Web Services Support Center.
   633  //
   634  //   * ErrCodeHealthCheckAlreadyExists "HealthCheckAlreadyExists"
   635  //   The health check you're attempting to create already exists. Amazon Route
   636  //   53 returns this error when you submit a request that has the following values:
   637  //
   638  //      * The same value for CallerReference as an existing health check, and
   639  //      one or more values that differ from the existing health check that has
   640  //      the same caller reference.
   641  //
   642  //      * The same value for CallerReference as a health check that you created
   643  //      and later deleted, regardless of the other settings in the request.
   644  //
   645  //   * ErrCodeInvalidInput "InvalidInput"
   646  //   The input is not valid.
   647  //
   648  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateHealthCheck
   649  func (c *Route53) CreateHealthCheck(input *CreateHealthCheckInput) (*CreateHealthCheckOutput, error) {
   650  	req, out := c.CreateHealthCheckRequest(input)
   651  	return out, req.Send()
   652  }
   653  
   654  // CreateHealthCheckWithContext is the same as CreateHealthCheck with the addition of
   655  // the ability to pass a context and additional request options.
   656  //
   657  // See CreateHealthCheck for details on how to use this API operation.
   658  //
   659  // The context must be non-nil and will be used for request cancellation. If
   660  // the context is nil a panic will occur. In the future the SDK may create
   661  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   662  // for more information on using Contexts.
   663  func (c *Route53) CreateHealthCheckWithContext(ctx aws.Context, input *CreateHealthCheckInput, opts ...request.Option) (*CreateHealthCheckOutput, error) {
   664  	req, out := c.CreateHealthCheckRequest(input)
   665  	req.SetContext(ctx)
   666  	req.ApplyOptions(opts...)
   667  	return out, req.Send()
   668  }
   669  
   670  const opCreateHostedZone = "CreateHostedZone"
   671  
   672  // CreateHostedZoneRequest generates a "aws/request.Request" representing the
   673  // client's request for the CreateHostedZone operation. The "output" return
   674  // value will be populated with the request's response once the request completes
   675  // successfully.
   676  //
   677  // Use "Send" method on the returned Request to send the API call to the service.
   678  // the "output" return value is not valid until after Send returns without error.
   679  //
   680  // See CreateHostedZone for more information on using the CreateHostedZone
   681  // API call, and error handling.
   682  //
   683  // This method is useful when you want to inject custom logic or configuration
   684  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   685  //
   686  //
   687  //    // Example sending a request using the CreateHostedZoneRequest method.
   688  //    req, resp := client.CreateHostedZoneRequest(params)
   689  //
   690  //    err := req.Send()
   691  //    if err == nil { // resp is now filled
   692  //        fmt.Println(resp)
   693  //    }
   694  //
   695  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateHostedZone
   696  func (c *Route53) CreateHostedZoneRequest(input *CreateHostedZoneInput) (req *request.Request, output *CreateHostedZoneOutput) {
   697  	op := &request.Operation{
   698  		Name:       opCreateHostedZone,
   699  		HTTPMethod: "POST",
   700  		HTTPPath:   "/2013-04-01/hostedzone",
   701  	}
   702  
   703  	if input == nil {
   704  		input = &CreateHostedZoneInput{}
   705  	}
   706  
   707  	output = &CreateHostedZoneOutput{}
   708  	req = c.newRequest(op, input, output)
   709  	return
   710  }
   711  
   712  // CreateHostedZone API operation for Amazon Route 53.
   713  //
   714  // Creates a new public or private hosted zone. You create records in a public
   715  // hosted zone to define how you want to route traffic on the internet for a
   716  // domain, such as example.com, and its subdomains (apex.example.com, acme.example.com).
   717  // You create records in a private hosted zone to define how you want to route
   718  // traffic for a domain and its subdomains within one or more Amazon Virtual
   719  // Private Clouds (Amazon VPCs).
   720  //
   721  // You can't convert a public hosted zone to a private hosted zone or vice versa.
   722  // Instead, you must create a new hosted zone with the same name and create
   723  // new resource record sets.
   724  //
   725  // For more information about charges for hosted zones, see Amazon Route 53
   726  // Pricing (http://aws.amazon.com/route53/pricing/).
   727  //
   728  // Note the following:
   729  //
   730  //    * You can't create a hosted zone for a top-level domain (TLD) such as
   731  //    .com.
   732  //
   733  //    * For public hosted zones, Route 53 automatically creates a default SOA
   734  //    record and four NS records for the zone. For more information about SOA
   735  //    and NS records, see NS and SOA Records that Route 53 Creates for a Hosted
   736  //    Zone (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/SOA-NSrecords.html)
   737  //    in the Amazon Route 53 Developer Guide. If you want to use the same name
   738  //    servers for multiple public hosted zones, you can optionally associate
   739  //    a reusable delegation set with the hosted zone. See the DelegationSetId
   740  //    element.
   741  //
   742  //    * If your domain is registered with a registrar other than Route 53, you
   743  //    must update the name servers with your registrar to make Route 53 the
   744  //    DNS service for the domain. For more information, see Migrating DNS Service
   745  //    for an Existing Domain to Amazon Route 53 (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/MigratingDNS.html)
   746  //    in the Amazon Route 53 Developer Guide.
   747  //
   748  // When you submit a CreateHostedZone request, the initial status of the hosted
   749  // zone is PENDING. For public hosted zones, this means that the NS and SOA
   750  // records are not yet available on all Route 53 DNS servers. When the NS and
   751  // SOA records are available, the status of the zone changes to INSYNC.
   752  //
   753  // The CreateHostedZone request requires the caller to have an ec2:DescribeVpcs
   754  // permission.
   755  //
   756  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   757  // with awserr.Error's Code and Message methods to get detailed information about
   758  // the error.
   759  //
   760  // See the AWS API reference guide for Amazon Route 53's
   761  // API operation CreateHostedZone for usage and error information.
   762  //
   763  // Returned Error Codes:
   764  //   * ErrCodeInvalidDomainName "InvalidDomainName"
   765  //   The specified domain name is not valid.
   766  //
   767  //   * ErrCodeHostedZoneAlreadyExists "HostedZoneAlreadyExists"
   768  //   The hosted zone you're trying to create already exists. Amazon Route 53 returns
   769  //   this error when a hosted zone has already been created with the specified
   770  //   CallerReference.
   771  //
   772  //   * ErrCodeTooManyHostedZones "TooManyHostedZones"
   773  //   This operation can't be completed either because the current account has
   774  //   reached the limit on the number of hosted zones or because you've reached
   775  //   the limit on the number of hosted zones that can be associated with a reusable
   776  //   delegation set.
   777  //
   778  //   For information about default limits, see Limits (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DNSLimitations.html)
   779  //   in the Amazon Route 53 Developer Guide.
   780  //
   781  //   To get the current limit on hosted zones that can be created by an account,
   782  //   see GetAccountLimit (https://docs.aws.amazon.com/Route53/latest/APIReference/API_GetAccountLimit.html).
   783  //
   784  //   To get the current limit on hosted zones that can be associated with a reusable
   785  //   delegation set, see GetReusableDelegationSetLimit (https://docs.aws.amazon.com/Route53/latest/APIReference/API_GetReusableDelegationSetLimit.html).
   786  //
   787  //   To request a higher limit, create a case (http://aws.amazon.com/route53-request)
   788  //   with the Amazon Web Services Support Center.
   789  //
   790  //   * ErrCodeInvalidVPCId "InvalidVPCId"
   791  //   The VPC ID that you specified either isn't a valid ID or the current account
   792  //   is not authorized to access this VPC.
   793  //
   794  //   * ErrCodeInvalidInput "InvalidInput"
   795  //   The input is not valid.
   796  //
   797  //   * ErrCodeDelegationSetNotAvailable "DelegationSetNotAvailable"
   798  //   You can create a hosted zone that has the same name as an existing hosted
   799  //   zone (example.com is common), but there is a limit to the number of hosted
   800  //   zones that have the same name. If you get this error, Amazon Route 53 has
   801  //   reached that limit. If you own the domain name and Route 53 generates this
   802  //   error, contact Customer Support.
   803  //
   804  //   * ErrCodeConflictingDomainExists "ConflictingDomainExists"
   805  //   The cause of this error depends on the operation that you're performing:
   806  //
   807  //      * Create a public hosted zone: Two hosted zones that have the same name
   808  //      or that have a parent/child relationship (example.com and test.example.com)
   809  //      can't have any common name servers. You tried to create a hosted zone
   810  //      that has the same name as an existing hosted zone or that's the parent
   811  //      or child of an existing hosted zone, and you specified a delegation set
   812  //      that shares one or more name servers with the existing hosted zone. For
   813  //      more information, see CreateReusableDelegationSet (https://docs.aws.amazon.com/Route53/latest/APIReference/API_CreateReusableDelegationSet.html).
   814  //
   815  //      * Create a private hosted zone: A hosted zone with the specified name
   816  //      already exists and is already associated with the Amazon VPC that you
   817  //      specified.
   818  //
   819  //      * Associate VPCs with a private hosted zone: The VPC that you specified
   820  //      is already associated with another hosted zone that has the same name.
   821  //
   822  //   * ErrCodeNoSuchDelegationSet "NoSuchDelegationSet"
   823  //   A reusable delegation set with the specified ID does not exist.
   824  //
   825  //   * ErrCodeDelegationSetNotReusable "DelegationSetNotReusable"
   826  //   A reusable delegation set with the specified ID does not exist.
   827  //
   828  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateHostedZone
   829  func (c *Route53) CreateHostedZone(input *CreateHostedZoneInput) (*CreateHostedZoneOutput, error) {
   830  	req, out := c.CreateHostedZoneRequest(input)
   831  	return out, req.Send()
   832  }
   833  
   834  // CreateHostedZoneWithContext is the same as CreateHostedZone with the addition of
   835  // the ability to pass a context and additional request options.
   836  //
   837  // See CreateHostedZone for details on how to use this API operation.
   838  //
   839  // The context must be non-nil and will be used for request cancellation. If
   840  // the context is nil a panic will occur. In the future the SDK may create
   841  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   842  // for more information on using Contexts.
   843  func (c *Route53) CreateHostedZoneWithContext(ctx aws.Context, input *CreateHostedZoneInput, opts ...request.Option) (*CreateHostedZoneOutput, error) {
   844  	req, out := c.CreateHostedZoneRequest(input)
   845  	req.SetContext(ctx)
   846  	req.ApplyOptions(opts...)
   847  	return out, req.Send()
   848  }
   849  
   850  const opCreateKeySigningKey = "CreateKeySigningKey"
   851  
   852  // CreateKeySigningKeyRequest generates a "aws/request.Request" representing the
   853  // client's request for the CreateKeySigningKey operation. The "output" return
   854  // value will be populated with the request's response once the request completes
   855  // successfully.
   856  //
   857  // Use "Send" method on the returned Request to send the API call to the service.
   858  // the "output" return value is not valid until after Send returns without error.
   859  //
   860  // See CreateKeySigningKey for more information on using the CreateKeySigningKey
   861  // API call, and error handling.
   862  //
   863  // This method is useful when you want to inject custom logic or configuration
   864  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   865  //
   866  //
   867  //    // Example sending a request using the CreateKeySigningKeyRequest method.
   868  //    req, resp := client.CreateKeySigningKeyRequest(params)
   869  //
   870  //    err := req.Send()
   871  //    if err == nil { // resp is now filled
   872  //        fmt.Println(resp)
   873  //    }
   874  //
   875  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateKeySigningKey
   876  func (c *Route53) CreateKeySigningKeyRequest(input *CreateKeySigningKeyInput) (req *request.Request, output *CreateKeySigningKeyOutput) {
   877  	op := &request.Operation{
   878  		Name:       opCreateKeySigningKey,
   879  		HTTPMethod: "POST",
   880  		HTTPPath:   "/2013-04-01/keysigningkey",
   881  	}
   882  
   883  	if input == nil {
   884  		input = &CreateKeySigningKeyInput{}
   885  	}
   886  
   887  	output = &CreateKeySigningKeyOutput{}
   888  	req = c.newRequest(op, input, output)
   889  	return
   890  }
   891  
   892  // CreateKeySigningKey API operation for Amazon Route 53.
   893  //
   894  // Creates a new key-signing key (KSK) associated with a hosted zone. You can
   895  // only have two KSKs per hosted zone.
   896  //
   897  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   898  // with awserr.Error's Code and Message methods to get detailed information about
   899  // the error.
   900  //
   901  // See the AWS API reference guide for Amazon Route 53's
   902  // API operation CreateKeySigningKey for usage and error information.
   903  //
   904  // Returned Error Codes:
   905  //   * ErrCodeNoSuchHostedZone "NoSuchHostedZone"
   906  //   No hosted zone exists with the ID that you specified.
   907  //
   908  //   * ErrCodeInvalidArgument "InvalidArgument"
   909  //   Parameter name is not valid.
   910  //
   911  //   * ErrCodeInvalidInput "InvalidInput"
   912  //   The input is not valid.
   913  //
   914  //   * ErrCodeInvalidKMSArn "InvalidKMSArn"
   915  //   The KeyManagementServiceArn that you specified isn't valid to use with DNSSEC
   916  //   signing.
   917  //
   918  //   * ErrCodeInvalidKeySigningKeyStatus "InvalidKeySigningKeyStatus"
   919  //   The key-signing key (KSK) status isn't valid or another KSK has the status
   920  //   INTERNAL_FAILURE.
   921  //
   922  //   * ErrCodeInvalidSigningStatus "InvalidSigningStatus"
   923  //   Your hosted zone status isn't valid for this operation. In the hosted zone,
   924  //   change the status to enable DNSSEC or disable DNSSEC.
   925  //
   926  //   * ErrCodeInvalidKeySigningKeyName "InvalidKeySigningKeyName"
   927  //   The key-signing key (KSK) name that you specified isn't a valid name.
   928  //
   929  //   * ErrCodeKeySigningKeyAlreadyExists "KeySigningKeyAlreadyExists"
   930  //   You've already created a key-signing key (KSK) with this name or with the
   931  //   same customer managed customer master key (CMK) ARN.
   932  //
   933  //   * ErrCodeTooManyKeySigningKeys "TooManyKeySigningKeys"
   934  //   You've reached the limit for the number of key-signing keys (KSKs). Remove
   935  //   at least one KSK, and then try again.
   936  //
   937  //   * ErrCodeConcurrentModification "ConcurrentModification"
   938  //   Another user submitted a request to create, update, or delete the object
   939  //   at the same time that you did. Retry the request.
   940  //
   941  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateKeySigningKey
   942  func (c *Route53) CreateKeySigningKey(input *CreateKeySigningKeyInput) (*CreateKeySigningKeyOutput, error) {
   943  	req, out := c.CreateKeySigningKeyRequest(input)
   944  	return out, req.Send()
   945  }
   946  
   947  // CreateKeySigningKeyWithContext is the same as CreateKeySigningKey with the addition of
   948  // the ability to pass a context and additional request options.
   949  //
   950  // See CreateKeySigningKey for details on how to use this API operation.
   951  //
   952  // The context must be non-nil and will be used for request cancellation. If
   953  // the context is nil a panic will occur. In the future the SDK may create
   954  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   955  // for more information on using Contexts.
   956  func (c *Route53) CreateKeySigningKeyWithContext(ctx aws.Context, input *CreateKeySigningKeyInput, opts ...request.Option) (*CreateKeySigningKeyOutput, error) {
   957  	req, out := c.CreateKeySigningKeyRequest(input)
   958  	req.SetContext(ctx)
   959  	req.ApplyOptions(opts...)
   960  	return out, req.Send()
   961  }
   962  
   963  const opCreateQueryLoggingConfig = "CreateQueryLoggingConfig"
   964  
   965  // CreateQueryLoggingConfigRequest generates a "aws/request.Request" representing the
   966  // client's request for the CreateQueryLoggingConfig operation. The "output" return
   967  // value will be populated with the request's response once the request completes
   968  // successfully.
   969  //
   970  // Use "Send" method on the returned Request to send the API call to the service.
   971  // the "output" return value is not valid until after Send returns without error.
   972  //
   973  // See CreateQueryLoggingConfig for more information on using the CreateQueryLoggingConfig
   974  // API call, and error handling.
   975  //
   976  // This method is useful when you want to inject custom logic or configuration
   977  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   978  //
   979  //
   980  //    // Example sending a request using the CreateQueryLoggingConfigRequest method.
   981  //    req, resp := client.CreateQueryLoggingConfigRequest(params)
   982  //
   983  //    err := req.Send()
   984  //    if err == nil { // resp is now filled
   985  //        fmt.Println(resp)
   986  //    }
   987  //
   988  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateQueryLoggingConfig
   989  func (c *Route53) CreateQueryLoggingConfigRequest(input *CreateQueryLoggingConfigInput) (req *request.Request, output *CreateQueryLoggingConfigOutput) {
   990  	op := &request.Operation{
   991  		Name:       opCreateQueryLoggingConfig,
   992  		HTTPMethod: "POST",
   993  		HTTPPath:   "/2013-04-01/queryloggingconfig",
   994  	}
   995  
   996  	if input == nil {
   997  		input = &CreateQueryLoggingConfigInput{}
   998  	}
   999  
  1000  	output = &CreateQueryLoggingConfigOutput{}
  1001  	req = c.newRequest(op, input, output)
  1002  	return
  1003  }
  1004  
  1005  // CreateQueryLoggingConfig API operation for Amazon Route 53.
  1006  //
  1007  // Creates a configuration for DNS query logging. After you create a query logging
  1008  // configuration, Amazon Route 53 begins to publish log data to an Amazon CloudWatch
  1009  // Logs log group.
  1010  //
  1011  // DNS query logs contain information about the queries that Route 53 receives
  1012  // for a specified public hosted zone, such as the following:
  1013  //
  1014  //    * Route 53 edge location that responded to the DNS query
  1015  //
  1016  //    * Domain or subdomain that was requested
  1017  //
  1018  //    * DNS record type, such as A or AAAA
  1019  //
  1020  //    * DNS response code, such as NoError or ServFail
  1021  //
  1022  // Log Group and Resource Policy
  1023  //
  1024  // Before you create a query logging configuration, perform the following operations.
  1025  //
  1026  // If you create a query logging configuration using the Route 53 console, Route
  1027  // 53 performs these operations automatically.
  1028  //
  1029  // Create a CloudWatch Logs log group, and make note of the ARN, which you specify
  1030  // when you create a query logging configuration. Note the following:
  1031  //
  1032  //    * You must create the log group in the us-east-1 region.
  1033  //
  1034  //    * You must use the same Amazon Web Services account to create the log
  1035  //    group and the hosted zone that you want to configure query logging for.
  1036  //
  1037  //    * When you create log groups for query logging, we recommend that you
  1038  //    use a consistent prefix, for example: /aws/route53/hosted zone name In
  1039  //    the next step, you'll create a resource policy, which controls access
  1040  //    to one or more log groups and the associated Amazon Web Services resources,
  1041  //    such as Route 53 hosted zones. There's a limit on the number of resource
  1042  //    policies that you can create, so we recommend that you use a consistent
  1043  //    prefix so you can use the same resource policy for all the log groups
  1044  //    that you create for query logging.
  1045  //
  1046  // Create a CloudWatch Logs resource policy, and give it the permissions that
  1047  // Route 53 needs to create log streams and to send query logs to log streams.
  1048  // For the value of Resource, specify the ARN for the log group that you created
  1049  // in the previous step. To use the same resource policy for all the CloudWatch
  1050  // Logs log groups that you created for query logging configurations, replace
  1051  // the hosted zone name with *, for example:
  1052  //
  1053  // arn:aws:logs:us-east-1:123412341234:log-group:/aws/route53/*
  1054  //
  1055  // You can't use the CloudWatch console to create or edit a resource policy.
  1056  // You must use the CloudWatch API, one of the Amazon Web Services SDKs, or
  1057  // the CLI.
  1058  //
  1059  // Log Streams and Edge Locations
  1060  //
  1061  // When Route 53 finishes creating the configuration for DNS query logging,
  1062  // it does the following:
  1063  //
  1064  //    * Creates a log stream for an edge location the first time that the edge
  1065  //    location responds to DNS queries for the specified hosted zone. That log
  1066  //    stream is used to log all queries that Route 53 responds to for that edge
  1067  //    location.
  1068  //
  1069  //    * Begins to send query logs to the applicable log stream.
  1070  //
  1071  // The name of each log stream is in the following format:
  1072  //
  1073  // hosted zone ID/edge location code
  1074  //
  1075  // The edge location code is a three-letter code and an arbitrarily assigned
  1076  // number, for example, DFW3. The three-letter code typically corresponds with
  1077  // the International Air Transport Association airport code for an airport near
  1078  // the edge location. (These abbreviations might change in the future.) For
  1079  // a list of edge locations, see "The Route 53 Global Network" on the Route
  1080  // 53 Product Details (http://aws.amazon.com/route53/details/) page.
  1081  //
  1082  // Queries That Are Logged
  1083  //
  1084  // Query logs contain only the queries that DNS resolvers forward to Route 53.
  1085  // If a DNS resolver has already cached the response to a query (such as the
  1086  // IP address for a load balancer for example.com), the resolver will continue
  1087  // to return the cached response. It doesn't forward another query to Route
  1088  // 53 until the TTL for the corresponding resource record set expires. Depending
  1089  // on how many DNS queries are submitted for a resource record set, and depending
  1090  // on the TTL for that resource record set, query logs might contain information
  1091  // about only one query out of every several thousand queries that are submitted
  1092  // to DNS. For more information about how DNS works, see Routing Internet Traffic
  1093  // to Your Website or Web Application (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/welcome-dns-service.html)
  1094  // in the Amazon Route 53 Developer Guide.
  1095  //
  1096  // Log File Format
  1097  //
  1098  // For a list of the values in each query log and the format of each value,
  1099  // see Logging DNS Queries (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/query-logs.html)
  1100  // in the Amazon Route 53 Developer Guide.
  1101  //
  1102  // Pricing
  1103  //
  1104  // For information about charges for query logs, see Amazon CloudWatch Pricing
  1105  // (http://aws.amazon.com/cloudwatch/pricing/).
  1106  //
  1107  // How to Stop Logging
  1108  //
  1109  // If you want Route 53 to stop sending query logs to CloudWatch Logs, delete
  1110  // the query logging configuration. For more information, see DeleteQueryLoggingConfig
  1111  // (https://docs.aws.amazon.com/Route53/latest/APIReference/API_DeleteQueryLoggingConfig.html).
  1112  //
  1113  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1114  // with awserr.Error's Code and Message methods to get detailed information about
  1115  // the error.
  1116  //
  1117  // See the AWS API reference guide for Amazon Route 53's
  1118  // API operation CreateQueryLoggingConfig for usage and error information.
  1119  //
  1120  // Returned Error Codes:
  1121  //   * ErrCodeConcurrentModification "ConcurrentModification"
  1122  //   Another user submitted a request to create, update, or delete the object
  1123  //   at the same time that you did. Retry the request.
  1124  //
  1125  //   * ErrCodeNoSuchHostedZone "NoSuchHostedZone"
  1126  //   No hosted zone exists with the ID that you specified.
  1127  //
  1128  //   * ErrCodeNoSuchCloudWatchLogsLogGroup "NoSuchCloudWatchLogsLogGroup"
  1129  //   There is no CloudWatch Logs log group with the specified ARN.
  1130  //
  1131  //   * ErrCodeInvalidInput "InvalidInput"
  1132  //   The input is not valid.
  1133  //
  1134  //   * ErrCodeQueryLoggingConfigAlreadyExists "QueryLoggingConfigAlreadyExists"
  1135  //   You can create only one query logging configuration for a hosted zone, and
  1136  //   a query logging configuration already exists for this hosted zone.
  1137  //
  1138  //   * ErrCodeInsufficientCloudWatchLogsResourcePolicy "InsufficientCloudWatchLogsResourcePolicy"
  1139  //   Amazon Route 53 doesn't have the permissions required to create log streams
  1140  //   and send query logs to log streams. Possible causes include the following:
  1141  //
  1142  //      * There is no resource policy that specifies the log group ARN in the
  1143  //      value for Resource.
  1144  //
  1145  //      * The resource policy that includes the log group ARN in the value for
  1146  //      Resource doesn't have the necessary permissions.
  1147  //
  1148  //      * The resource policy hasn't finished propagating yet.
  1149  //
  1150  //      * The Key management service (KMS) key you specified doesn’t exist or
  1151  //      it can’t be used with the log group associated with query log. Update
  1152  //      or provide a resource policy to grant permissions for the KMS key.
  1153  //
  1154  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateQueryLoggingConfig
  1155  func (c *Route53) CreateQueryLoggingConfig(input *CreateQueryLoggingConfigInput) (*CreateQueryLoggingConfigOutput, error) {
  1156  	req, out := c.CreateQueryLoggingConfigRequest(input)
  1157  	return out, req.Send()
  1158  }
  1159  
  1160  // CreateQueryLoggingConfigWithContext is the same as CreateQueryLoggingConfig with the addition of
  1161  // the ability to pass a context and additional request options.
  1162  //
  1163  // See CreateQueryLoggingConfig for details on how to use this API operation.
  1164  //
  1165  // The context must be non-nil and will be used for request cancellation. If
  1166  // the context is nil a panic will occur. In the future the SDK may create
  1167  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1168  // for more information on using Contexts.
  1169  func (c *Route53) CreateQueryLoggingConfigWithContext(ctx aws.Context, input *CreateQueryLoggingConfigInput, opts ...request.Option) (*CreateQueryLoggingConfigOutput, error) {
  1170  	req, out := c.CreateQueryLoggingConfigRequest(input)
  1171  	req.SetContext(ctx)
  1172  	req.ApplyOptions(opts...)
  1173  	return out, req.Send()
  1174  }
  1175  
  1176  const opCreateReusableDelegationSet = "CreateReusableDelegationSet"
  1177  
  1178  // CreateReusableDelegationSetRequest generates a "aws/request.Request" representing the
  1179  // client's request for the CreateReusableDelegationSet operation. The "output" return
  1180  // value will be populated with the request's response once the request completes
  1181  // successfully.
  1182  //
  1183  // Use "Send" method on the returned Request to send the API call to the service.
  1184  // the "output" return value is not valid until after Send returns without error.
  1185  //
  1186  // See CreateReusableDelegationSet for more information on using the CreateReusableDelegationSet
  1187  // API call, and error handling.
  1188  //
  1189  // This method is useful when you want to inject custom logic or configuration
  1190  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1191  //
  1192  //
  1193  //    // Example sending a request using the CreateReusableDelegationSetRequest method.
  1194  //    req, resp := client.CreateReusableDelegationSetRequest(params)
  1195  //
  1196  //    err := req.Send()
  1197  //    if err == nil { // resp is now filled
  1198  //        fmt.Println(resp)
  1199  //    }
  1200  //
  1201  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateReusableDelegationSet
  1202  func (c *Route53) CreateReusableDelegationSetRequest(input *CreateReusableDelegationSetInput) (req *request.Request, output *CreateReusableDelegationSetOutput) {
  1203  	op := &request.Operation{
  1204  		Name:       opCreateReusableDelegationSet,
  1205  		HTTPMethod: "POST",
  1206  		HTTPPath:   "/2013-04-01/delegationset",
  1207  	}
  1208  
  1209  	if input == nil {
  1210  		input = &CreateReusableDelegationSetInput{}
  1211  	}
  1212  
  1213  	output = &CreateReusableDelegationSetOutput{}
  1214  	req = c.newRequest(op, input, output)
  1215  	return
  1216  }
  1217  
  1218  // CreateReusableDelegationSet API operation for Amazon Route 53.
  1219  //
  1220  // Creates a delegation set (a group of four name servers) that can be reused
  1221  // by multiple hosted zones that were created by the same Amazon Web Services
  1222  // account.
  1223  //
  1224  // You can also create a reusable delegation set that uses the four name servers
  1225  // that are associated with an existing hosted zone. Specify the hosted zone
  1226  // ID in the CreateReusableDelegationSet request.
  1227  //
  1228  // You can't associate a reusable delegation set with a private hosted zone.
  1229  //
  1230  // For information about using a reusable delegation set to configure white
  1231  // label name servers, see Configuring White Label Name Servers (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/white-label-name-servers.html).
  1232  //
  1233  // The process for migrating existing hosted zones to use a reusable delegation
  1234  // set is comparable to the process for configuring white label name servers.
  1235  // You need to perform the following steps:
  1236  //
  1237  // Create a reusable delegation set.
  1238  //
  1239  // Recreate hosted zones, and reduce the TTL to 60 seconds or less.
  1240  //
  1241  // Recreate resource record sets in the new hosted zones.
  1242  //
  1243  // Change the registrar's name servers to use the name servers for the new hosted
  1244  // zones.
  1245  //
  1246  // Monitor traffic for the website or application.
  1247  //
  1248  // Change TTLs back to their original values.
  1249  //
  1250  // If you want to migrate existing hosted zones to use a reusable delegation
  1251  // set, the existing hosted zones can't use any of the name servers that are
  1252  // assigned to the reusable delegation set. If one or more hosted zones do use
  1253  // one or more name servers that are assigned to the reusable delegation set,
  1254  // you can do one of the following:
  1255  //
  1256  //    * For small numbers of hosted zones—up to a few hundred—it's relatively
  1257  //    easy to create reusable delegation sets until you get one that has four
  1258  //    name servers that don't overlap with any of the name servers in your hosted
  1259  //    zones.
  1260  //
  1261  //    * For larger numbers of hosted zones, the easiest solution is to use more
  1262  //    than one reusable delegation set.
  1263  //
  1264  //    * For larger numbers of hosted zones, you can also migrate hosted zones
  1265  //    that have overlapping name servers to hosted zones that don't have overlapping
  1266  //    name servers, then migrate the hosted zones again to use the reusable
  1267  //    delegation set.
  1268  //
  1269  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1270  // with awserr.Error's Code and Message methods to get detailed information about
  1271  // the error.
  1272  //
  1273  // See the AWS API reference guide for Amazon Route 53's
  1274  // API operation CreateReusableDelegationSet for usage and error information.
  1275  //
  1276  // Returned Error Codes:
  1277  //   * ErrCodeDelegationSetAlreadyCreated "DelegationSetAlreadyCreated"
  1278  //   A delegation set with the same owner and caller reference combination has
  1279  //   already been created.
  1280  //
  1281  //   * ErrCodeLimitsExceeded "LimitsExceeded"
  1282  //   This operation can't be completed either because the current account has
  1283  //   reached the limit on reusable delegation sets that it can create or because
  1284  //   you've reached the limit on the number of Amazon VPCs that you can associate
  1285  //   with a private hosted zone. To get the current limit on the number of reusable
  1286  //   delegation sets, see GetAccountLimit (https://docs.aws.amazon.com/Route53/latest/APIReference/API_GetAccountLimit.html).
  1287  //   To get the current limit on the number of Amazon VPCs that you can associate
  1288  //   with a private hosted zone, see GetHostedZoneLimit (https://docs.aws.amazon.com/Route53/latest/APIReference/API_GetHostedZoneLimit.html).
  1289  //   To request a higher limit, create a case (http://aws.amazon.com/route53-request)
  1290  //   with the Amazon Web Services Support Center.
  1291  //
  1292  //   * ErrCodeHostedZoneNotFound "HostedZoneNotFound"
  1293  //   The specified HostedZone can't be found.
  1294  //
  1295  //   * ErrCodeInvalidArgument "InvalidArgument"
  1296  //   Parameter name is not valid.
  1297  //
  1298  //   * ErrCodeInvalidInput "InvalidInput"
  1299  //   The input is not valid.
  1300  //
  1301  //   * ErrCodeDelegationSetNotAvailable "DelegationSetNotAvailable"
  1302  //   You can create a hosted zone that has the same name as an existing hosted
  1303  //   zone (example.com is common), but there is a limit to the number of hosted
  1304  //   zones that have the same name. If you get this error, Amazon Route 53 has
  1305  //   reached that limit. If you own the domain name and Route 53 generates this
  1306  //   error, contact Customer Support.
  1307  //
  1308  //   * ErrCodeDelegationSetAlreadyReusable "DelegationSetAlreadyReusable"
  1309  //   The specified delegation set has already been marked as reusable.
  1310  //
  1311  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateReusableDelegationSet
  1312  func (c *Route53) CreateReusableDelegationSet(input *CreateReusableDelegationSetInput) (*CreateReusableDelegationSetOutput, error) {
  1313  	req, out := c.CreateReusableDelegationSetRequest(input)
  1314  	return out, req.Send()
  1315  }
  1316  
  1317  // CreateReusableDelegationSetWithContext is the same as CreateReusableDelegationSet with the addition of
  1318  // the ability to pass a context and additional request options.
  1319  //
  1320  // See CreateReusableDelegationSet for details on how to use this API operation.
  1321  //
  1322  // The context must be non-nil and will be used for request cancellation. If
  1323  // the context is nil a panic will occur. In the future the SDK may create
  1324  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1325  // for more information on using Contexts.
  1326  func (c *Route53) CreateReusableDelegationSetWithContext(ctx aws.Context, input *CreateReusableDelegationSetInput, opts ...request.Option) (*CreateReusableDelegationSetOutput, error) {
  1327  	req, out := c.CreateReusableDelegationSetRequest(input)
  1328  	req.SetContext(ctx)
  1329  	req.ApplyOptions(opts...)
  1330  	return out, req.Send()
  1331  }
  1332  
  1333  const opCreateTrafficPolicy = "CreateTrafficPolicy"
  1334  
  1335  // CreateTrafficPolicyRequest generates a "aws/request.Request" representing the
  1336  // client's request for the CreateTrafficPolicy operation. The "output" return
  1337  // value will be populated with the request's response once the request completes
  1338  // successfully.
  1339  //
  1340  // Use "Send" method on the returned Request to send the API call to the service.
  1341  // the "output" return value is not valid until after Send returns without error.
  1342  //
  1343  // See CreateTrafficPolicy for more information on using the CreateTrafficPolicy
  1344  // API call, and error handling.
  1345  //
  1346  // This method is useful when you want to inject custom logic or configuration
  1347  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1348  //
  1349  //
  1350  //    // Example sending a request using the CreateTrafficPolicyRequest method.
  1351  //    req, resp := client.CreateTrafficPolicyRequest(params)
  1352  //
  1353  //    err := req.Send()
  1354  //    if err == nil { // resp is now filled
  1355  //        fmt.Println(resp)
  1356  //    }
  1357  //
  1358  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateTrafficPolicy
  1359  func (c *Route53) CreateTrafficPolicyRequest(input *CreateTrafficPolicyInput) (req *request.Request, output *CreateTrafficPolicyOutput) {
  1360  	op := &request.Operation{
  1361  		Name:       opCreateTrafficPolicy,
  1362  		HTTPMethod: "POST",
  1363  		HTTPPath:   "/2013-04-01/trafficpolicy",
  1364  	}
  1365  
  1366  	if input == nil {
  1367  		input = &CreateTrafficPolicyInput{}
  1368  	}
  1369  
  1370  	output = &CreateTrafficPolicyOutput{}
  1371  	req = c.newRequest(op, input, output)
  1372  	return
  1373  }
  1374  
  1375  // CreateTrafficPolicy API operation for Amazon Route 53.
  1376  //
  1377  // Creates a traffic policy, which you use to create multiple DNS resource record
  1378  // sets for one domain name (such as example.com) or one subdomain name (such
  1379  // as www.example.com).
  1380  //
  1381  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1382  // with awserr.Error's Code and Message methods to get detailed information about
  1383  // the error.
  1384  //
  1385  // See the AWS API reference guide for Amazon Route 53's
  1386  // API operation CreateTrafficPolicy for usage and error information.
  1387  //
  1388  // Returned Error Codes:
  1389  //   * ErrCodeInvalidInput "InvalidInput"
  1390  //   The input is not valid.
  1391  //
  1392  //   * ErrCodeTooManyTrafficPolicies "TooManyTrafficPolicies"
  1393  //   This traffic policy can't be created because the current account has reached
  1394  //   the limit on the number of traffic policies.
  1395  //
  1396  //   For information about default limits, see Limits (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DNSLimitations.html)
  1397  //   in the Amazon Route 53 Developer Guide.
  1398  //
  1399  //   To get the current limit for an account, see GetAccountLimit (https://docs.aws.amazon.com/Route53/latest/APIReference/API_GetAccountLimit.html).
  1400  //
  1401  //   To request a higher limit, create a case (http://aws.amazon.com/route53-request)
  1402  //   with the Amazon Web Services Support Center.
  1403  //
  1404  //   * ErrCodeTrafficPolicyAlreadyExists "TrafficPolicyAlreadyExists"
  1405  //   A traffic policy that has the same value for Name already exists.
  1406  //
  1407  //   * ErrCodeInvalidTrafficPolicyDocument "InvalidTrafficPolicyDocument"
  1408  //   The format of the traffic policy document that you specified in the Document
  1409  //   element is not valid.
  1410  //
  1411  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateTrafficPolicy
  1412  func (c *Route53) CreateTrafficPolicy(input *CreateTrafficPolicyInput) (*CreateTrafficPolicyOutput, error) {
  1413  	req, out := c.CreateTrafficPolicyRequest(input)
  1414  	return out, req.Send()
  1415  }
  1416  
  1417  // CreateTrafficPolicyWithContext is the same as CreateTrafficPolicy with the addition of
  1418  // the ability to pass a context and additional request options.
  1419  //
  1420  // See CreateTrafficPolicy for details on how to use this API operation.
  1421  //
  1422  // The context must be non-nil and will be used for request cancellation. If
  1423  // the context is nil a panic will occur. In the future the SDK may create
  1424  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1425  // for more information on using Contexts.
  1426  func (c *Route53) CreateTrafficPolicyWithContext(ctx aws.Context, input *CreateTrafficPolicyInput, opts ...request.Option) (*CreateTrafficPolicyOutput, error) {
  1427  	req, out := c.CreateTrafficPolicyRequest(input)
  1428  	req.SetContext(ctx)
  1429  	req.ApplyOptions(opts...)
  1430  	return out, req.Send()
  1431  }
  1432  
  1433  const opCreateTrafficPolicyInstance = "CreateTrafficPolicyInstance"
  1434  
  1435  // CreateTrafficPolicyInstanceRequest generates a "aws/request.Request" representing the
  1436  // client's request for the CreateTrafficPolicyInstance operation. The "output" return
  1437  // value will be populated with the request's response once the request completes
  1438  // successfully.
  1439  //
  1440  // Use "Send" method on the returned Request to send the API call to the service.
  1441  // the "output" return value is not valid until after Send returns without error.
  1442  //
  1443  // See CreateTrafficPolicyInstance for more information on using the CreateTrafficPolicyInstance
  1444  // API call, and error handling.
  1445  //
  1446  // This method is useful when you want to inject custom logic or configuration
  1447  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1448  //
  1449  //
  1450  //    // Example sending a request using the CreateTrafficPolicyInstanceRequest method.
  1451  //    req, resp := client.CreateTrafficPolicyInstanceRequest(params)
  1452  //
  1453  //    err := req.Send()
  1454  //    if err == nil { // resp is now filled
  1455  //        fmt.Println(resp)
  1456  //    }
  1457  //
  1458  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateTrafficPolicyInstance
  1459  func (c *Route53) CreateTrafficPolicyInstanceRequest(input *CreateTrafficPolicyInstanceInput) (req *request.Request, output *CreateTrafficPolicyInstanceOutput) {
  1460  	op := &request.Operation{
  1461  		Name:       opCreateTrafficPolicyInstance,
  1462  		HTTPMethod: "POST",
  1463  		HTTPPath:   "/2013-04-01/trafficpolicyinstance",
  1464  	}
  1465  
  1466  	if input == nil {
  1467  		input = &CreateTrafficPolicyInstanceInput{}
  1468  	}
  1469  
  1470  	output = &CreateTrafficPolicyInstanceOutput{}
  1471  	req = c.newRequest(op, input, output)
  1472  	return
  1473  }
  1474  
  1475  // CreateTrafficPolicyInstance API operation for Amazon Route 53.
  1476  //
  1477  // Creates resource record sets in a specified hosted zone based on the settings
  1478  // in a specified traffic policy version. In addition, CreateTrafficPolicyInstance
  1479  // associates the resource record sets with a specified domain name (such as
  1480  // example.com) or subdomain name (such as www.example.com). Amazon Route 53
  1481  // responds to DNS queries for the domain or subdomain name by using the resource
  1482  // record sets that CreateTrafficPolicyInstance created.
  1483  //
  1484  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1485  // with awserr.Error's Code and Message methods to get detailed information about
  1486  // the error.
  1487  //
  1488  // See the AWS API reference guide for Amazon Route 53's
  1489  // API operation CreateTrafficPolicyInstance for usage and error information.
  1490  //
  1491  // Returned Error Codes:
  1492  //   * ErrCodeNoSuchHostedZone "NoSuchHostedZone"
  1493  //   No hosted zone exists with the ID that you specified.
  1494  //
  1495  //   * ErrCodeInvalidInput "InvalidInput"
  1496  //   The input is not valid.
  1497  //
  1498  //   * ErrCodeTooManyTrafficPolicyInstances "TooManyTrafficPolicyInstances"
  1499  //   This traffic policy instance can't be created because the current account
  1500  //   has reached the limit on the number of traffic policy instances.
  1501  //
  1502  //   For information about default limits, see Limits (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DNSLimitations.html)
  1503  //   in the Amazon Route 53 Developer Guide.
  1504  //
  1505  //   For information about how to get the current limit for an account, see GetAccountLimit
  1506  //   (https://docs.aws.amazon.com/Route53/latest/APIReference/API_GetAccountLimit.html).
  1507  //
  1508  //   To request a higher limit, create a case (http://aws.amazon.com/route53-request)
  1509  //   with the Amazon Web Services Support Center.
  1510  //
  1511  //   * ErrCodeNoSuchTrafficPolicy "NoSuchTrafficPolicy"
  1512  //   No traffic policy exists with the specified ID.
  1513  //
  1514  //   * ErrCodeTrafficPolicyInstanceAlreadyExists "TrafficPolicyInstanceAlreadyExists"
  1515  //   There is already a traffic policy instance with the specified ID.
  1516  //
  1517  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateTrafficPolicyInstance
  1518  func (c *Route53) CreateTrafficPolicyInstance(input *CreateTrafficPolicyInstanceInput) (*CreateTrafficPolicyInstanceOutput, error) {
  1519  	req, out := c.CreateTrafficPolicyInstanceRequest(input)
  1520  	return out, req.Send()
  1521  }
  1522  
  1523  // CreateTrafficPolicyInstanceWithContext is the same as CreateTrafficPolicyInstance with the addition of
  1524  // the ability to pass a context and additional request options.
  1525  //
  1526  // See CreateTrafficPolicyInstance for details on how to use this API operation.
  1527  //
  1528  // The context must be non-nil and will be used for request cancellation. If
  1529  // the context is nil a panic will occur. In the future the SDK may create
  1530  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1531  // for more information on using Contexts.
  1532  func (c *Route53) CreateTrafficPolicyInstanceWithContext(ctx aws.Context, input *CreateTrafficPolicyInstanceInput, opts ...request.Option) (*CreateTrafficPolicyInstanceOutput, error) {
  1533  	req, out := c.CreateTrafficPolicyInstanceRequest(input)
  1534  	req.SetContext(ctx)
  1535  	req.ApplyOptions(opts...)
  1536  	return out, req.Send()
  1537  }
  1538  
  1539  const opCreateTrafficPolicyVersion = "CreateTrafficPolicyVersion"
  1540  
  1541  // CreateTrafficPolicyVersionRequest generates a "aws/request.Request" representing the
  1542  // client's request for the CreateTrafficPolicyVersion operation. The "output" return
  1543  // value will be populated with the request's response once the request completes
  1544  // successfully.
  1545  //
  1546  // Use "Send" method on the returned Request to send the API call to the service.
  1547  // the "output" return value is not valid until after Send returns without error.
  1548  //
  1549  // See CreateTrafficPolicyVersion for more information on using the CreateTrafficPolicyVersion
  1550  // API call, and error handling.
  1551  //
  1552  // This method is useful when you want to inject custom logic or configuration
  1553  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1554  //
  1555  //
  1556  //    // Example sending a request using the CreateTrafficPolicyVersionRequest method.
  1557  //    req, resp := client.CreateTrafficPolicyVersionRequest(params)
  1558  //
  1559  //    err := req.Send()
  1560  //    if err == nil { // resp is now filled
  1561  //        fmt.Println(resp)
  1562  //    }
  1563  //
  1564  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateTrafficPolicyVersion
  1565  func (c *Route53) CreateTrafficPolicyVersionRequest(input *CreateTrafficPolicyVersionInput) (req *request.Request, output *CreateTrafficPolicyVersionOutput) {
  1566  	op := &request.Operation{
  1567  		Name:       opCreateTrafficPolicyVersion,
  1568  		HTTPMethod: "POST",
  1569  		HTTPPath:   "/2013-04-01/trafficpolicy/{Id}",
  1570  	}
  1571  
  1572  	if input == nil {
  1573  		input = &CreateTrafficPolicyVersionInput{}
  1574  	}
  1575  
  1576  	output = &CreateTrafficPolicyVersionOutput{}
  1577  	req = c.newRequest(op, input, output)
  1578  	return
  1579  }
  1580  
  1581  // CreateTrafficPolicyVersion API operation for Amazon Route 53.
  1582  //
  1583  // Creates a new version of an existing traffic policy. When you create a new
  1584  // version of a traffic policy, you specify the ID of the traffic policy that
  1585  // you want to update and a JSON-formatted document that describes the new version.
  1586  // You use traffic policies to create multiple DNS resource record sets for
  1587  // one domain name (such as example.com) or one subdomain name (such as www.example.com).
  1588  // You can create a maximum of 1000 versions of a traffic policy. If you reach
  1589  // the limit and need to create another version, you'll need to start a new
  1590  // traffic policy.
  1591  //
  1592  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1593  // with awserr.Error's Code and Message methods to get detailed information about
  1594  // the error.
  1595  //
  1596  // See the AWS API reference guide for Amazon Route 53's
  1597  // API operation CreateTrafficPolicyVersion for usage and error information.
  1598  //
  1599  // Returned Error Codes:
  1600  //   * ErrCodeNoSuchTrafficPolicy "NoSuchTrafficPolicy"
  1601  //   No traffic policy exists with the specified ID.
  1602  //
  1603  //   * ErrCodeInvalidInput "InvalidInput"
  1604  //   The input is not valid.
  1605  //
  1606  //   * ErrCodeTooManyTrafficPolicyVersionsForCurrentPolicy "TooManyTrafficPolicyVersionsForCurrentPolicy"
  1607  //   This traffic policy version can't be created because you've reached the limit
  1608  //   of 1000 on the number of versions that you can create for the current traffic
  1609  //   policy.
  1610  //
  1611  //   To create more traffic policy versions, you can use GetTrafficPolicy (https://docs.aws.amazon.com/Route53/latest/APIReference/API_GetTrafficPolicy.html)
  1612  //   to get the traffic policy document for a specified traffic policy version,
  1613  //   and then use CreateTrafficPolicy (https://docs.aws.amazon.com/Route53/latest/APIReference/API_CreateTrafficPolicy.html)
  1614  //   to create a new traffic policy using the traffic policy document.
  1615  //
  1616  //   * ErrCodeConcurrentModification "ConcurrentModification"
  1617  //   Another user submitted a request to create, update, or delete the object
  1618  //   at the same time that you did. Retry the request.
  1619  //
  1620  //   * ErrCodeInvalidTrafficPolicyDocument "InvalidTrafficPolicyDocument"
  1621  //   The format of the traffic policy document that you specified in the Document
  1622  //   element is not valid.
  1623  //
  1624  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateTrafficPolicyVersion
  1625  func (c *Route53) CreateTrafficPolicyVersion(input *CreateTrafficPolicyVersionInput) (*CreateTrafficPolicyVersionOutput, error) {
  1626  	req, out := c.CreateTrafficPolicyVersionRequest(input)
  1627  	return out, req.Send()
  1628  }
  1629  
  1630  // CreateTrafficPolicyVersionWithContext is the same as CreateTrafficPolicyVersion with the addition of
  1631  // the ability to pass a context and additional request options.
  1632  //
  1633  // See CreateTrafficPolicyVersion for details on how to use this API operation.
  1634  //
  1635  // The context must be non-nil and will be used for request cancellation. If
  1636  // the context is nil a panic will occur. In the future the SDK may create
  1637  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1638  // for more information on using Contexts.
  1639  func (c *Route53) CreateTrafficPolicyVersionWithContext(ctx aws.Context, input *CreateTrafficPolicyVersionInput, opts ...request.Option) (*CreateTrafficPolicyVersionOutput, error) {
  1640  	req, out := c.CreateTrafficPolicyVersionRequest(input)
  1641  	req.SetContext(ctx)
  1642  	req.ApplyOptions(opts...)
  1643  	return out, req.Send()
  1644  }
  1645  
  1646  const opCreateVPCAssociationAuthorization = "CreateVPCAssociationAuthorization"
  1647  
  1648  // CreateVPCAssociationAuthorizationRequest generates a "aws/request.Request" representing the
  1649  // client's request for the CreateVPCAssociationAuthorization operation. The "output" return
  1650  // value will be populated with the request's response once the request completes
  1651  // successfully.
  1652  //
  1653  // Use "Send" method on the returned Request to send the API call to the service.
  1654  // the "output" return value is not valid until after Send returns without error.
  1655  //
  1656  // See CreateVPCAssociationAuthorization for more information on using the CreateVPCAssociationAuthorization
  1657  // API call, and error handling.
  1658  //
  1659  // This method is useful when you want to inject custom logic or configuration
  1660  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1661  //
  1662  //
  1663  //    // Example sending a request using the CreateVPCAssociationAuthorizationRequest method.
  1664  //    req, resp := client.CreateVPCAssociationAuthorizationRequest(params)
  1665  //
  1666  //    err := req.Send()
  1667  //    if err == nil { // resp is now filled
  1668  //        fmt.Println(resp)
  1669  //    }
  1670  //
  1671  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateVPCAssociationAuthorization
  1672  func (c *Route53) CreateVPCAssociationAuthorizationRequest(input *CreateVPCAssociationAuthorizationInput) (req *request.Request, output *CreateVPCAssociationAuthorizationOutput) {
  1673  	op := &request.Operation{
  1674  		Name:       opCreateVPCAssociationAuthorization,
  1675  		HTTPMethod: "POST",
  1676  		HTTPPath:   "/2013-04-01/hostedzone/{Id}/authorizevpcassociation",
  1677  	}
  1678  
  1679  	if input == nil {
  1680  		input = &CreateVPCAssociationAuthorizationInput{}
  1681  	}
  1682  
  1683  	output = &CreateVPCAssociationAuthorizationOutput{}
  1684  	req = c.newRequest(op, input, output)
  1685  	return
  1686  }
  1687  
  1688  // CreateVPCAssociationAuthorization API operation for Amazon Route 53.
  1689  //
  1690  // Authorizes the Amazon Web Services account that created a specified VPC to
  1691  // submit an AssociateVPCWithHostedZone request to associate the VPC with a
  1692  // specified hosted zone that was created by a different account. To submit
  1693  // a CreateVPCAssociationAuthorization request, you must use the account that
  1694  // created the hosted zone. After you authorize the association, use the account
  1695  // that created the VPC to submit an AssociateVPCWithHostedZone request.
  1696  //
  1697  // If you want to associate multiple VPCs that you created by using one account
  1698  // with a hosted zone that you created by using a different account, you must
  1699  // submit one authorization request for each VPC.
  1700  //
  1701  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1702  // with awserr.Error's Code and Message methods to get detailed information about
  1703  // the error.
  1704  //
  1705  // See the AWS API reference guide for Amazon Route 53's
  1706  // API operation CreateVPCAssociationAuthorization for usage and error information.
  1707  //
  1708  // Returned Error Codes:
  1709  //   * ErrCodeConcurrentModification "ConcurrentModification"
  1710  //   Another user submitted a request to create, update, or delete the object
  1711  //   at the same time that you did. Retry the request.
  1712  //
  1713  //   * ErrCodeTooManyVPCAssociationAuthorizations "TooManyVPCAssociationAuthorizations"
  1714  //   You've created the maximum number of authorizations that can be created for
  1715  //   the specified hosted zone. To authorize another VPC to be associated with
  1716  //   the hosted zone, submit a DeleteVPCAssociationAuthorization request to remove
  1717  //   an existing authorization. To get a list of existing authorizations, submit
  1718  //   a ListVPCAssociationAuthorizations request.
  1719  //
  1720  //   * ErrCodeNoSuchHostedZone "NoSuchHostedZone"
  1721  //   No hosted zone exists with the ID that you specified.
  1722  //
  1723  //   * ErrCodeInvalidVPCId "InvalidVPCId"
  1724  //   The VPC ID that you specified either isn't a valid ID or the current account
  1725  //   is not authorized to access this VPC.
  1726  //
  1727  //   * ErrCodeInvalidInput "InvalidInput"
  1728  //   The input is not valid.
  1729  //
  1730  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateVPCAssociationAuthorization
  1731  func (c *Route53) CreateVPCAssociationAuthorization(input *CreateVPCAssociationAuthorizationInput) (*CreateVPCAssociationAuthorizationOutput, error) {
  1732  	req, out := c.CreateVPCAssociationAuthorizationRequest(input)
  1733  	return out, req.Send()
  1734  }
  1735  
  1736  // CreateVPCAssociationAuthorizationWithContext is the same as CreateVPCAssociationAuthorization with the addition of
  1737  // the ability to pass a context and additional request options.
  1738  //
  1739  // See CreateVPCAssociationAuthorization for details on how to use this API operation.
  1740  //
  1741  // The context must be non-nil and will be used for request cancellation. If
  1742  // the context is nil a panic will occur. In the future the SDK may create
  1743  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1744  // for more information on using Contexts.
  1745  func (c *Route53) CreateVPCAssociationAuthorizationWithContext(ctx aws.Context, input *CreateVPCAssociationAuthorizationInput, opts ...request.Option) (*CreateVPCAssociationAuthorizationOutput, error) {
  1746  	req, out := c.CreateVPCAssociationAuthorizationRequest(input)
  1747  	req.SetContext(ctx)
  1748  	req.ApplyOptions(opts...)
  1749  	return out, req.Send()
  1750  }
  1751  
  1752  const opDeactivateKeySigningKey = "DeactivateKeySigningKey"
  1753  
  1754  // DeactivateKeySigningKeyRequest generates a "aws/request.Request" representing the
  1755  // client's request for the DeactivateKeySigningKey operation. The "output" return
  1756  // value will be populated with the request's response once the request completes
  1757  // successfully.
  1758  //
  1759  // Use "Send" method on the returned Request to send the API call to the service.
  1760  // the "output" return value is not valid until after Send returns without error.
  1761  //
  1762  // See DeactivateKeySigningKey for more information on using the DeactivateKeySigningKey
  1763  // API call, and error handling.
  1764  //
  1765  // This method is useful when you want to inject custom logic or configuration
  1766  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1767  //
  1768  //
  1769  //    // Example sending a request using the DeactivateKeySigningKeyRequest method.
  1770  //    req, resp := client.DeactivateKeySigningKeyRequest(params)
  1771  //
  1772  //    err := req.Send()
  1773  //    if err == nil { // resp is now filled
  1774  //        fmt.Println(resp)
  1775  //    }
  1776  //
  1777  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DeactivateKeySigningKey
  1778  func (c *Route53) DeactivateKeySigningKeyRequest(input *DeactivateKeySigningKeyInput) (req *request.Request, output *DeactivateKeySigningKeyOutput) {
  1779  	op := &request.Operation{
  1780  		Name:       opDeactivateKeySigningKey,
  1781  		HTTPMethod: "POST",
  1782  		HTTPPath:   "/2013-04-01/keysigningkey/{HostedZoneId}/{Name}/deactivate",
  1783  	}
  1784  
  1785  	if input == nil {
  1786  		input = &DeactivateKeySigningKeyInput{}
  1787  	}
  1788  
  1789  	output = &DeactivateKeySigningKeyOutput{}
  1790  	req = c.newRequest(op, input, output)
  1791  	return
  1792  }
  1793  
  1794  // DeactivateKeySigningKey API operation for Amazon Route 53.
  1795  //
  1796  // Deactivates a key-signing key (KSK) so that it will not be used for signing
  1797  // by DNSSEC. This operation changes the KSK status to INACTIVE.
  1798  //
  1799  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1800  // with awserr.Error's Code and Message methods to get detailed information about
  1801  // the error.
  1802  //
  1803  // See the AWS API reference guide for Amazon Route 53's
  1804  // API operation DeactivateKeySigningKey for usage and error information.
  1805  //
  1806  // Returned Error Codes:
  1807  //   * ErrCodeConcurrentModification "ConcurrentModification"
  1808  //   Another user submitted a request to create, update, or delete the object
  1809  //   at the same time that you did. Retry the request.
  1810  //
  1811  //   * ErrCodeNoSuchKeySigningKey "NoSuchKeySigningKey"
  1812  //   The specified key-signing key (KSK) doesn't exist.
  1813  //
  1814  //   * ErrCodeInvalidKeySigningKeyStatus "InvalidKeySigningKeyStatus"
  1815  //   The key-signing key (KSK) status isn't valid or another KSK has the status
  1816  //   INTERNAL_FAILURE.
  1817  //
  1818  //   * ErrCodeInvalidSigningStatus "InvalidSigningStatus"
  1819  //   Your hosted zone status isn't valid for this operation. In the hosted zone,
  1820  //   change the status to enable DNSSEC or disable DNSSEC.
  1821  //
  1822  //   * ErrCodeKeySigningKeyInUse "KeySigningKeyInUse"
  1823  //   The key-signing key (KSK) that you specified can't be deactivated because
  1824  //   it's the only KSK for a currently-enabled DNSSEC. Disable DNSSEC signing,
  1825  //   or add or enable another KSK.
  1826  //
  1827  //   * ErrCodeKeySigningKeyInParentDSRecord "KeySigningKeyInParentDSRecord"
  1828  //   The key-signing key (KSK) is specified in a parent DS record.
  1829  //
  1830  //   * ErrCodeInvalidInput "InvalidInput"
  1831  //   The input is not valid.
  1832  //
  1833  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DeactivateKeySigningKey
  1834  func (c *Route53) DeactivateKeySigningKey(input *DeactivateKeySigningKeyInput) (*DeactivateKeySigningKeyOutput, error) {
  1835  	req, out := c.DeactivateKeySigningKeyRequest(input)
  1836  	return out, req.Send()
  1837  }
  1838  
  1839  // DeactivateKeySigningKeyWithContext is the same as DeactivateKeySigningKey with the addition of
  1840  // the ability to pass a context and additional request options.
  1841  //
  1842  // See DeactivateKeySigningKey for details on how to use this API operation.
  1843  //
  1844  // The context must be non-nil and will be used for request cancellation. If
  1845  // the context is nil a panic will occur. In the future the SDK may create
  1846  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1847  // for more information on using Contexts.
  1848  func (c *Route53) DeactivateKeySigningKeyWithContext(ctx aws.Context, input *DeactivateKeySigningKeyInput, opts ...request.Option) (*DeactivateKeySigningKeyOutput, error) {
  1849  	req, out := c.DeactivateKeySigningKeyRequest(input)
  1850  	req.SetContext(ctx)
  1851  	req.ApplyOptions(opts...)
  1852  	return out, req.Send()
  1853  }
  1854  
  1855  const opDeleteHealthCheck = "DeleteHealthCheck"
  1856  
  1857  // DeleteHealthCheckRequest generates a "aws/request.Request" representing the
  1858  // client's request for the DeleteHealthCheck operation. The "output" return
  1859  // value will be populated with the request's response once the request completes
  1860  // successfully.
  1861  //
  1862  // Use "Send" method on the returned Request to send the API call to the service.
  1863  // the "output" return value is not valid until after Send returns without error.
  1864  //
  1865  // See DeleteHealthCheck for more information on using the DeleteHealthCheck
  1866  // API call, and error handling.
  1867  //
  1868  // This method is useful when you want to inject custom logic or configuration
  1869  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1870  //
  1871  //
  1872  //    // Example sending a request using the DeleteHealthCheckRequest method.
  1873  //    req, resp := client.DeleteHealthCheckRequest(params)
  1874  //
  1875  //    err := req.Send()
  1876  //    if err == nil { // resp is now filled
  1877  //        fmt.Println(resp)
  1878  //    }
  1879  //
  1880  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DeleteHealthCheck
  1881  func (c *Route53) DeleteHealthCheckRequest(input *DeleteHealthCheckInput) (req *request.Request, output *DeleteHealthCheckOutput) {
  1882  	op := &request.Operation{
  1883  		Name:       opDeleteHealthCheck,
  1884  		HTTPMethod: "DELETE",
  1885  		HTTPPath:   "/2013-04-01/healthcheck/{HealthCheckId}",
  1886  	}
  1887  
  1888  	if input == nil {
  1889  		input = &DeleteHealthCheckInput{}
  1890  	}
  1891  
  1892  	output = &DeleteHealthCheckOutput{}
  1893  	req = c.newRequest(op, input, output)
  1894  	req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1895  	return
  1896  }
  1897  
  1898  // DeleteHealthCheck API operation for Amazon Route 53.
  1899  //
  1900  // Deletes a health check.
  1901  //
  1902  // Amazon Route 53 does not prevent you from deleting a health check even if
  1903  // the health check is associated with one or more resource record sets. If
  1904  // you delete a health check and you don't update the associated resource record
  1905  // sets, the future status of the health check can't be predicted and may change.
  1906  // This will affect the routing of DNS queries for your DNS failover configuration.
  1907  // For more information, see Replacing and Deleting Health Checks (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/health-checks-creating-deleting.html#health-checks-deleting.html)
  1908  // in the Amazon Route 53 Developer Guide.
  1909  //
  1910  // If you're using Cloud Map and you configured Cloud Map to create a Route
  1911  // 53 health check when you register an instance, you can't use the Route 53
  1912  // DeleteHealthCheck command to delete the health check. The health check is
  1913  // deleted automatically when you deregister the instance; there can be a delay
  1914  // of several hours before the health check is deleted from Route 53.
  1915  //
  1916  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1917  // with awserr.Error's Code and Message methods to get detailed information about
  1918  // the error.
  1919  //
  1920  // See the AWS API reference guide for Amazon Route 53's
  1921  // API operation DeleteHealthCheck for usage and error information.
  1922  //
  1923  // Returned Error Codes:
  1924  //   * ErrCodeNoSuchHealthCheck "NoSuchHealthCheck"
  1925  //   No health check exists with the specified ID.
  1926  //
  1927  //   * ErrCodeHealthCheckInUse "HealthCheckInUse"
  1928  //   This error code is not in use.
  1929  //
  1930  //   * ErrCodeInvalidInput "InvalidInput"
  1931  //   The input is not valid.
  1932  //
  1933  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DeleteHealthCheck
  1934  func (c *Route53) DeleteHealthCheck(input *DeleteHealthCheckInput) (*DeleteHealthCheckOutput, error) {
  1935  	req, out := c.DeleteHealthCheckRequest(input)
  1936  	return out, req.Send()
  1937  }
  1938  
  1939  // DeleteHealthCheckWithContext is the same as DeleteHealthCheck with the addition of
  1940  // the ability to pass a context and additional request options.
  1941  //
  1942  // See DeleteHealthCheck for details on how to use this API operation.
  1943  //
  1944  // The context must be non-nil and will be used for request cancellation. If
  1945  // the context is nil a panic will occur. In the future the SDK may create
  1946  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1947  // for more information on using Contexts.
  1948  func (c *Route53) DeleteHealthCheckWithContext(ctx aws.Context, input *DeleteHealthCheckInput, opts ...request.Option) (*DeleteHealthCheckOutput, error) {
  1949  	req, out := c.DeleteHealthCheckRequest(input)
  1950  	req.SetContext(ctx)
  1951  	req.ApplyOptions(opts...)
  1952  	return out, req.Send()
  1953  }
  1954  
  1955  const opDeleteHostedZone = "DeleteHostedZone"
  1956  
  1957  // DeleteHostedZoneRequest generates a "aws/request.Request" representing the
  1958  // client's request for the DeleteHostedZone operation. The "output" return
  1959  // value will be populated with the request's response once the request completes
  1960  // successfully.
  1961  //
  1962  // Use "Send" method on the returned Request to send the API call to the service.
  1963  // the "output" return value is not valid until after Send returns without error.
  1964  //
  1965  // See DeleteHostedZone for more information on using the DeleteHostedZone
  1966  // API call, and error handling.
  1967  //
  1968  // This method is useful when you want to inject custom logic or configuration
  1969  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1970  //
  1971  //
  1972  //    // Example sending a request using the DeleteHostedZoneRequest method.
  1973  //    req, resp := client.DeleteHostedZoneRequest(params)
  1974  //
  1975  //    err := req.Send()
  1976  //    if err == nil { // resp is now filled
  1977  //        fmt.Println(resp)
  1978  //    }
  1979  //
  1980  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DeleteHostedZone
  1981  func (c *Route53) DeleteHostedZoneRequest(input *DeleteHostedZoneInput) (req *request.Request, output *DeleteHostedZoneOutput) {
  1982  	op := &request.Operation{
  1983  		Name:       opDeleteHostedZone,
  1984  		HTTPMethod: "DELETE",
  1985  		HTTPPath:   "/2013-04-01/hostedzone/{Id}",
  1986  	}
  1987  
  1988  	if input == nil {
  1989  		input = &DeleteHostedZoneInput{}
  1990  	}
  1991  
  1992  	output = &DeleteHostedZoneOutput{}
  1993  	req = c.newRequest(op, input, output)
  1994  	return
  1995  }
  1996  
  1997  // DeleteHostedZone API operation for Amazon Route 53.
  1998  //
  1999  // Deletes a hosted zone.
  2000  //
  2001  // If the hosted zone was created by another service, such as Cloud Map, see
  2002  // Deleting Public Hosted Zones That Were Created by Another Service (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DeleteHostedZone.html#delete-public-hosted-zone-created-by-another-service)
  2003  // in the Amazon Route 53 Developer Guide for information about how to delete
  2004  // it. (The process is the same for public and private hosted zones that were
  2005  // created by another service.)
  2006  //
  2007  // If you want to keep your domain registration but you want to stop routing
  2008  // internet traffic to your website or web application, we recommend that you
  2009  // delete resource record sets in the hosted zone instead of deleting the hosted
  2010  // zone.
  2011  //
  2012  // If you delete a hosted zone, you can't undelete it. You must create a new
  2013  // hosted zone and update the name servers for your domain registration, which
  2014  // can require up to 48 hours to take effect. (If you delegated responsibility
  2015  // for a subdomain to a hosted zone and you delete the child hosted zone, you
  2016  // must update the name servers in the parent hosted zone.) In addition, if
  2017  // you delete a hosted zone, someone could hijack the domain and route traffic
  2018  // to their own resources using your domain name.
  2019  //
  2020  // If you want to avoid the monthly charge for the hosted zone, you can transfer
  2021  // DNS service for the domain to a free DNS service. When you transfer DNS service,
  2022  // you have to update the name servers for the domain registration. If the domain
  2023  // is registered with Route 53, see UpdateDomainNameservers (https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_UpdateDomainNameservers.html)
  2024  // for information about how to replace Route 53 name servers with name servers
  2025  // for the new DNS service. If the domain is registered with another registrar,
  2026  // use the method provided by the registrar to update name servers for the domain
  2027  // registration. For more information, perform an internet search on "free DNS
  2028  // service."
  2029  //
  2030  // You can delete a hosted zone only if it contains only the default SOA record
  2031  // and NS resource record sets. If the hosted zone contains other resource record
  2032  // sets, you must delete them before you can delete the hosted zone. If you
  2033  // try to delete a hosted zone that contains other resource record sets, the
  2034  // request fails, and Route 53 returns a HostedZoneNotEmpty error. For information
  2035  // about deleting records from your hosted zone, see ChangeResourceRecordSets
  2036  // (https://docs.aws.amazon.com/Route53/latest/APIReference/API_ChangeResourceRecordSets.html).
  2037  //
  2038  // To verify that the hosted zone has been deleted, do one of the following:
  2039  //
  2040  //    * Use the GetHostedZone action to request information about the hosted
  2041  //    zone.
  2042  //
  2043  //    * Use the ListHostedZones action to get a list of the hosted zones associated
  2044  //    with the current Amazon Web Services account.
  2045  //
  2046  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2047  // with awserr.Error's Code and Message methods to get detailed information about
  2048  // the error.
  2049  //
  2050  // See the AWS API reference guide for Amazon Route 53's
  2051  // API operation DeleteHostedZone for usage and error information.
  2052  //
  2053  // Returned Error Codes:
  2054  //   * ErrCodeNoSuchHostedZone "NoSuchHostedZone"
  2055  //   No hosted zone exists with the ID that you specified.
  2056  //
  2057  //   * ErrCodeHostedZoneNotEmpty "HostedZoneNotEmpty"
  2058  //   The hosted zone contains resource records that are not SOA or NS records.
  2059  //
  2060  //   * ErrCodePriorRequestNotComplete "PriorRequestNotComplete"
  2061  //   If Amazon Route 53 can't process a request before the next request arrives,
  2062  //   it will reject subsequent requests for the same hosted zone and return an
  2063  //   HTTP 400 error (Bad request). If Route 53 returns this error repeatedly for
  2064  //   the same request, we recommend that you wait, in intervals of increasing
  2065  //   duration, before you try the request again.
  2066  //
  2067  //   * ErrCodeInvalidInput "InvalidInput"
  2068  //   The input is not valid.
  2069  //
  2070  //   * ErrCodeInvalidDomainName "InvalidDomainName"
  2071  //   The specified domain name is not valid.
  2072  //
  2073  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DeleteHostedZone
  2074  func (c *Route53) DeleteHostedZone(input *DeleteHostedZoneInput) (*DeleteHostedZoneOutput, error) {
  2075  	req, out := c.DeleteHostedZoneRequest(input)
  2076  	return out, req.Send()
  2077  }
  2078  
  2079  // DeleteHostedZoneWithContext is the same as DeleteHostedZone with the addition of
  2080  // the ability to pass a context and additional request options.
  2081  //
  2082  // See DeleteHostedZone for details on how to use this API operation.
  2083  //
  2084  // The context must be non-nil and will be used for request cancellation. If
  2085  // the context is nil a panic will occur. In the future the SDK may create
  2086  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2087  // for more information on using Contexts.
  2088  func (c *Route53) DeleteHostedZoneWithContext(ctx aws.Context, input *DeleteHostedZoneInput, opts ...request.Option) (*DeleteHostedZoneOutput, error) {
  2089  	req, out := c.DeleteHostedZoneRequest(input)
  2090  	req.SetContext(ctx)
  2091  	req.ApplyOptions(opts...)
  2092  	return out, req.Send()
  2093  }
  2094  
  2095  const opDeleteKeySigningKey = "DeleteKeySigningKey"
  2096  
  2097  // DeleteKeySigningKeyRequest generates a "aws/request.Request" representing the
  2098  // client's request for the DeleteKeySigningKey operation. The "output" return
  2099  // value will be populated with the request's response once the request completes
  2100  // successfully.
  2101  //
  2102  // Use "Send" method on the returned Request to send the API call to the service.
  2103  // the "output" return value is not valid until after Send returns without error.
  2104  //
  2105  // See DeleteKeySigningKey for more information on using the DeleteKeySigningKey
  2106  // API call, and error handling.
  2107  //
  2108  // This method is useful when you want to inject custom logic or configuration
  2109  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2110  //
  2111  //
  2112  //    // Example sending a request using the DeleteKeySigningKeyRequest method.
  2113  //    req, resp := client.DeleteKeySigningKeyRequest(params)
  2114  //
  2115  //    err := req.Send()
  2116  //    if err == nil { // resp is now filled
  2117  //        fmt.Println(resp)
  2118  //    }
  2119  //
  2120  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DeleteKeySigningKey
  2121  func (c *Route53) DeleteKeySigningKeyRequest(input *DeleteKeySigningKeyInput) (req *request.Request, output *DeleteKeySigningKeyOutput) {
  2122  	op := &request.Operation{
  2123  		Name:       opDeleteKeySigningKey,
  2124  		HTTPMethod: "DELETE",
  2125  		HTTPPath:   "/2013-04-01/keysigningkey/{HostedZoneId}/{Name}",
  2126  	}
  2127  
  2128  	if input == nil {
  2129  		input = &DeleteKeySigningKeyInput{}
  2130  	}
  2131  
  2132  	output = &DeleteKeySigningKeyOutput{}
  2133  	req = c.newRequest(op, input, output)
  2134  	return
  2135  }
  2136  
  2137  // DeleteKeySigningKey API operation for Amazon Route 53.
  2138  //
  2139  // Deletes a key-signing key (KSK). Before you can delete a KSK, you must deactivate
  2140  // it. The KSK must be deactivated before you can delete it regardless of whether
  2141  // the hosted zone is enabled for DNSSEC signing.
  2142  //
  2143  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2144  // with awserr.Error's Code and Message methods to get detailed information about
  2145  // the error.
  2146  //
  2147  // See the AWS API reference guide for Amazon Route 53's
  2148  // API operation DeleteKeySigningKey for usage and error information.
  2149  //
  2150  // Returned Error Codes:
  2151  //   * ErrCodeConcurrentModification "ConcurrentModification"
  2152  //   Another user submitted a request to create, update, or delete the object
  2153  //   at the same time that you did. Retry the request.
  2154  //
  2155  //   * ErrCodeNoSuchKeySigningKey "NoSuchKeySigningKey"
  2156  //   The specified key-signing key (KSK) doesn't exist.
  2157  //
  2158  //   * ErrCodeInvalidKeySigningKeyStatus "InvalidKeySigningKeyStatus"
  2159  //   The key-signing key (KSK) status isn't valid or another KSK has the status
  2160  //   INTERNAL_FAILURE.
  2161  //
  2162  //   * ErrCodeInvalidSigningStatus "InvalidSigningStatus"
  2163  //   Your hosted zone status isn't valid for this operation. In the hosted zone,
  2164  //   change the status to enable DNSSEC or disable DNSSEC.
  2165  //
  2166  //   * ErrCodeInvalidKMSArn "InvalidKMSArn"
  2167  //   The KeyManagementServiceArn that you specified isn't valid to use with DNSSEC
  2168  //   signing.
  2169  //
  2170  //   * ErrCodeInvalidInput "InvalidInput"
  2171  //   The input is not valid.
  2172  //
  2173  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DeleteKeySigningKey
  2174  func (c *Route53) DeleteKeySigningKey(input *DeleteKeySigningKeyInput) (*DeleteKeySigningKeyOutput, error) {
  2175  	req, out := c.DeleteKeySigningKeyRequest(input)
  2176  	return out, req.Send()
  2177  }
  2178  
  2179  // DeleteKeySigningKeyWithContext is the same as DeleteKeySigningKey with the addition of
  2180  // the ability to pass a context and additional request options.
  2181  //
  2182  // See DeleteKeySigningKey for details on how to use this API operation.
  2183  //
  2184  // The context must be non-nil and will be used for request cancellation. If
  2185  // the context is nil a panic will occur. In the future the SDK may create
  2186  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2187  // for more information on using Contexts.
  2188  func (c *Route53) DeleteKeySigningKeyWithContext(ctx aws.Context, input *DeleteKeySigningKeyInput, opts ...request.Option) (*DeleteKeySigningKeyOutput, error) {
  2189  	req, out := c.DeleteKeySigningKeyRequest(input)
  2190  	req.SetContext(ctx)
  2191  	req.ApplyOptions(opts...)
  2192  	return out, req.Send()
  2193  }
  2194  
  2195  const opDeleteQueryLoggingConfig = "DeleteQueryLoggingConfig"
  2196  
  2197  // DeleteQueryLoggingConfigRequest generates a "aws/request.Request" representing the
  2198  // client's request for the DeleteQueryLoggingConfig operation. The "output" return
  2199  // value will be populated with the request's response once the request completes
  2200  // successfully.
  2201  //
  2202  // Use "Send" method on the returned Request to send the API call to the service.
  2203  // the "output" return value is not valid until after Send returns without error.
  2204  //
  2205  // See DeleteQueryLoggingConfig for more information on using the DeleteQueryLoggingConfig
  2206  // API call, and error handling.
  2207  //
  2208  // This method is useful when you want to inject custom logic or configuration
  2209  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2210  //
  2211  //
  2212  //    // Example sending a request using the DeleteQueryLoggingConfigRequest method.
  2213  //    req, resp := client.DeleteQueryLoggingConfigRequest(params)
  2214  //
  2215  //    err := req.Send()
  2216  //    if err == nil { // resp is now filled
  2217  //        fmt.Println(resp)
  2218  //    }
  2219  //
  2220  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DeleteQueryLoggingConfig
  2221  func (c *Route53) DeleteQueryLoggingConfigRequest(input *DeleteQueryLoggingConfigInput) (req *request.Request, output *DeleteQueryLoggingConfigOutput) {
  2222  	op := &request.Operation{
  2223  		Name:       opDeleteQueryLoggingConfig,
  2224  		HTTPMethod: "DELETE",
  2225  		HTTPPath:   "/2013-04-01/queryloggingconfig/{Id}",
  2226  	}
  2227  
  2228  	if input == nil {
  2229  		input = &DeleteQueryLoggingConfigInput{}
  2230  	}
  2231  
  2232  	output = &DeleteQueryLoggingConfigOutput{}
  2233  	req = c.newRequest(op, input, output)
  2234  	req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2235  	return
  2236  }
  2237  
  2238  // DeleteQueryLoggingConfig API operation for Amazon Route 53.
  2239  //
  2240  // Deletes a configuration for DNS query logging. If you delete a configuration,
  2241  // Amazon Route 53 stops sending query logs to CloudWatch Logs. Route 53 doesn't
  2242  // delete any logs that are already in CloudWatch Logs.
  2243  //
  2244  // For more information about DNS query logs, see CreateQueryLoggingConfig (https://docs.aws.amazon.com/Route53/latest/APIReference/API_CreateQueryLoggingConfig.html).
  2245  //
  2246  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2247  // with awserr.Error's Code and Message methods to get detailed information about
  2248  // the error.
  2249  //
  2250  // See the AWS API reference guide for Amazon Route 53's
  2251  // API operation DeleteQueryLoggingConfig for usage and error information.
  2252  //
  2253  // Returned Error Codes:
  2254  //   * ErrCodeConcurrentModification "ConcurrentModification"
  2255  //   Another user submitted a request to create, update, or delete the object
  2256  //   at the same time that you did. Retry the request.
  2257  //
  2258  //   * ErrCodeNoSuchQueryLoggingConfig "NoSuchQueryLoggingConfig"
  2259  //   There is no DNS query logging configuration with the specified ID.
  2260  //
  2261  //   * ErrCodeInvalidInput "InvalidInput"
  2262  //   The input is not valid.
  2263  //
  2264  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DeleteQueryLoggingConfig
  2265  func (c *Route53) DeleteQueryLoggingConfig(input *DeleteQueryLoggingConfigInput) (*DeleteQueryLoggingConfigOutput, error) {
  2266  	req, out := c.DeleteQueryLoggingConfigRequest(input)
  2267  	return out, req.Send()
  2268  }
  2269  
  2270  // DeleteQueryLoggingConfigWithContext is the same as DeleteQueryLoggingConfig with the addition of
  2271  // the ability to pass a context and additional request options.
  2272  //
  2273  // See DeleteQueryLoggingConfig for details on how to use this API operation.
  2274  //
  2275  // The context must be non-nil and will be used for request cancellation. If
  2276  // the context is nil a panic will occur. In the future the SDK may create
  2277  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2278  // for more information on using Contexts.
  2279  func (c *Route53) DeleteQueryLoggingConfigWithContext(ctx aws.Context, input *DeleteQueryLoggingConfigInput, opts ...request.Option) (*DeleteQueryLoggingConfigOutput, error) {
  2280  	req, out := c.DeleteQueryLoggingConfigRequest(input)
  2281  	req.SetContext(ctx)
  2282  	req.ApplyOptions(opts...)
  2283  	return out, req.Send()
  2284  }
  2285  
  2286  const opDeleteReusableDelegationSet = "DeleteReusableDelegationSet"
  2287  
  2288  // DeleteReusableDelegationSetRequest generates a "aws/request.Request" representing the
  2289  // client's request for the DeleteReusableDelegationSet operation. The "output" return
  2290  // value will be populated with the request's response once the request completes
  2291  // successfully.
  2292  //
  2293  // Use "Send" method on the returned Request to send the API call to the service.
  2294  // the "output" return value is not valid until after Send returns without error.
  2295  //
  2296  // See DeleteReusableDelegationSet for more information on using the DeleteReusableDelegationSet
  2297  // API call, and error handling.
  2298  //
  2299  // This method is useful when you want to inject custom logic or configuration
  2300  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2301  //
  2302  //
  2303  //    // Example sending a request using the DeleteReusableDelegationSetRequest method.
  2304  //    req, resp := client.DeleteReusableDelegationSetRequest(params)
  2305  //
  2306  //    err := req.Send()
  2307  //    if err == nil { // resp is now filled
  2308  //        fmt.Println(resp)
  2309  //    }
  2310  //
  2311  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DeleteReusableDelegationSet
  2312  func (c *Route53) DeleteReusableDelegationSetRequest(input *DeleteReusableDelegationSetInput) (req *request.Request, output *DeleteReusableDelegationSetOutput) {
  2313  	op := &request.Operation{
  2314  		Name:       opDeleteReusableDelegationSet,
  2315  		HTTPMethod: "DELETE",
  2316  		HTTPPath:   "/2013-04-01/delegationset/{Id}",
  2317  	}
  2318  
  2319  	if input == nil {
  2320  		input = &DeleteReusableDelegationSetInput{}
  2321  	}
  2322  
  2323  	output = &DeleteReusableDelegationSetOutput{}
  2324  	req = c.newRequest(op, input, output)
  2325  	req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2326  	return
  2327  }
  2328  
  2329  // DeleteReusableDelegationSet API operation for Amazon Route 53.
  2330  //
  2331  // Deletes a reusable delegation set.
  2332  //
  2333  // You can delete a reusable delegation set only if it isn't associated with
  2334  // any hosted zones.
  2335  //
  2336  // To verify that the reusable delegation set is not associated with any hosted
  2337  // zones, submit a GetReusableDelegationSet (https://docs.aws.amazon.com/Route53/latest/APIReference/API_GetReusableDelegationSet.html)
  2338  // request and specify the ID of the reusable delegation set that you want to
  2339  // delete.
  2340  //
  2341  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2342  // with awserr.Error's Code and Message methods to get detailed information about
  2343  // the error.
  2344  //
  2345  // See the AWS API reference guide for Amazon Route 53's
  2346  // API operation DeleteReusableDelegationSet for usage and error information.
  2347  //
  2348  // Returned Error Codes:
  2349  //   * ErrCodeNoSuchDelegationSet "NoSuchDelegationSet"
  2350  //   A reusable delegation set with the specified ID does not exist.
  2351  //
  2352  //   * ErrCodeDelegationSetInUse "DelegationSetInUse"
  2353  //   The specified delegation contains associated hosted zones which must be deleted
  2354  //   before the reusable delegation set can be deleted.
  2355  //
  2356  //   * ErrCodeDelegationSetNotReusable "DelegationSetNotReusable"
  2357  //   A reusable delegation set with the specified ID does not exist.
  2358  //
  2359  //   * ErrCodeInvalidInput "InvalidInput"
  2360  //   The input is not valid.
  2361  //
  2362  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DeleteReusableDelegationSet
  2363  func (c *Route53) DeleteReusableDelegationSet(input *DeleteReusableDelegationSetInput) (*DeleteReusableDelegationSetOutput, error) {
  2364  	req, out := c.DeleteReusableDelegationSetRequest(input)
  2365  	return out, req.Send()
  2366  }
  2367  
  2368  // DeleteReusableDelegationSetWithContext is the same as DeleteReusableDelegationSet with the addition of
  2369  // the ability to pass a context and additional request options.
  2370  //
  2371  // See DeleteReusableDelegationSet for details on how to use this API operation.
  2372  //
  2373  // The context must be non-nil and will be used for request cancellation. If
  2374  // the context is nil a panic will occur. In the future the SDK may create
  2375  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2376  // for more information on using Contexts.
  2377  func (c *Route53) DeleteReusableDelegationSetWithContext(ctx aws.Context, input *DeleteReusableDelegationSetInput, opts ...request.Option) (*DeleteReusableDelegationSetOutput, error) {
  2378  	req, out := c.DeleteReusableDelegationSetRequest(input)
  2379  	req.SetContext(ctx)
  2380  	req.ApplyOptions(opts...)
  2381  	return out, req.Send()
  2382  }
  2383  
  2384  const opDeleteTrafficPolicy = "DeleteTrafficPolicy"
  2385  
  2386  // DeleteTrafficPolicyRequest generates a "aws/request.Request" representing the
  2387  // client's request for the DeleteTrafficPolicy operation. The "output" return
  2388  // value will be populated with the request's response once the request completes
  2389  // successfully.
  2390  //
  2391  // Use "Send" method on the returned Request to send the API call to the service.
  2392  // the "output" return value is not valid until after Send returns without error.
  2393  //
  2394  // See DeleteTrafficPolicy for more information on using the DeleteTrafficPolicy
  2395  // API call, and error handling.
  2396  //
  2397  // This method is useful when you want to inject custom logic or configuration
  2398  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2399  //
  2400  //
  2401  //    // Example sending a request using the DeleteTrafficPolicyRequest method.
  2402  //    req, resp := client.DeleteTrafficPolicyRequest(params)
  2403  //
  2404  //    err := req.Send()
  2405  //    if err == nil { // resp is now filled
  2406  //        fmt.Println(resp)
  2407  //    }
  2408  //
  2409  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DeleteTrafficPolicy
  2410  func (c *Route53) DeleteTrafficPolicyRequest(input *DeleteTrafficPolicyInput) (req *request.Request, output *DeleteTrafficPolicyOutput) {
  2411  	op := &request.Operation{
  2412  		Name:       opDeleteTrafficPolicy,
  2413  		HTTPMethod: "DELETE",
  2414  		HTTPPath:   "/2013-04-01/trafficpolicy/{Id}/{Version}",
  2415  	}
  2416  
  2417  	if input == nil {
  2418  		input = &DeleteTrafficPolicyInput{}
  2419  	}
  2420  
  2421  	output = &DeleteTrafficPolicyOutput{}
  2422  	req = c.newRequest(op, input, output)
  2423  	req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2424  	return
  2425  }
  2426  
  2427  // DeleteTrafficPolicy API operation for Amazon Route 53.
  2428  //
  2429  // Deletes a traffic policy.
  2430  //
  2431  // When you delete a traffic policy, Route 53 sets a flag on the policy to indicate
  2432  // that it has been deleted. However, Route 53 never fully deletes the traffic
  2433  // policy. Note the following:
  2434  //
  2435  //    * Deleted traffic policies aren't listed if you run ListTrafficPolicies
  2436  //    (https://docs.aws.amazon.com/Route53/latest/APIReference/API_ListTrafficPolicies.html).
  2437  //
  2438  //    * There's no way to get a list of deleted policies.
  2439  //
  2440  //    * If you retain the ID of the policy, you can get information about the
  2441  //    policy, including the traffic policy document, by running GetTrafficPolicy
  2442  //    (https://docs.aws.amazon.com/Route53/latest/APIReference/API_GetTrafficPolicy.html).
  2443  //
  2444  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2445  // with awserr.Error's Code and Message methods to get detailed information about
  2446  // the error.
  2447  //
  2448  // See the AWS API reference guide for Amazon Route 53's
  2449  // API operation DeleteTrafficPolicy for usage and error information.
  2450  //
  2451  // Returned Error Codes:
  2452  //   * ErrCodeNoSuchTrafficPolicy "NoSuchTrafficPolicy"
  2453  //   No traffic policy exists with the specified ID.
  2454  //
  2455  //   * ErrCodeInvalidInput "InvalidInput"
  2456  //   The input is not valid.
  2457  //
  2458  //   * ErrCodeTrafficPolicyInUse "TrafficPolicyInUse"
  2459  //   One or more traffic policy instances were created by using the specified
  2460  //   traffic policy.
  2461  //
  2462  //   * ErrCodeConcurrentModification "ConcurrentModification"
  2463  //   Another user submitted a request to create, update, or delete the object
  2464  //   at the same time that you did. Retry the request.
  2465  //
  2466  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DeleteTrafficPolicy
  2467  func (c *Route53) DeleteTrafficPolicy(input *DeleteTrafficPolicyInput) (*DeleteTrafficPolicyOutput, error) {
  2468  	req, out := c.DeleteTrafficPolicyRequest(input)
  2469  	return out, req.Send()
  2470  }
  2471  
  2472  // DeleteTrafficPolicyWithContext is the same as DeleteTrafficPolicy with the addition of
  2473  // the ability to pass a context and additional request options.
  2474  //
  2475  // See DeleteTrafficPolicy for details on how to use this API operation.
  2476  //
  2477  // The context must be non-nil and will be used for request cancellation. If
  2478  // the context is nil a panic will occur. In the future the SDK may create
  2479  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2480  // for more information on using Contexts.
  2481  func (c *Route53) DeleteTrafficPolicyWithContext(ctx aws.Context, input *DeleteTrafficPolicyInput, opts ...request.Option) (*DeleteTrafficPolicyOutput, error) {
  2482  	req, out := c.DeleteTrafficPolicyRequest(input)
  2483  	req.SetContext(ctx)
  2484  	req.ApplyOptions(opts...)
  2485  	return out, req.Send()
  2486  }
  2487  
  2488  const opDeleteTrafficPolicyInstance = "DeleteTrafficPolicyInstance"
  2489  
  2490  // DeleteTrafficPolicyInstanceRequest generates a "aws/request.Request" representing the
  2491  // client's request for the DeleteTrafficPolicyInstance operation. The "output" return
  2492  // value will be populated with the request's response once the request completes
  2493  // successfully.
  2494  //
  2495  // Use "Send" method on the returned Request to send the API call to the service.
  2496  // the "output" return value is not valid until after Send returns without error.
  2497  //
  2498  // See DeleteTrafficPolicyInstance for more information on using the DeleteTrafficPolicyInstance
  2499  // API call, and error handling.
  2500  //
  2501  // This method is useful when you want to inject custom logic or configuration
  2502  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2503  //
  2504  //
  2505  //    // Example sending a request using the DeleteTrafficPolicyInstanceRequest method.
  2506  //    req, resp := client.DeleteTrafficPolicyInstanceRequest(params)
  2507  //
  2508  //    err := req.Send()
  2509  //    if err == nil { // resp is now filled
  2510  //        fmt.Println(resp)
  2511  //    }
  2512  //
  2513  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DeleteTrafficPolicyInstance
  2514  func (c *Route53) DeleteTrafficPolicyInstanceRequest(input *DeleteTrafficPolicyInstanceInput) (req *request.Request, output *DeleteTrafficPolicyInstanceOutput) {
  2515  	op := &request.Operation{
  2516  		Name:       opDeleteTrafficPolicyInstance,
  2517  		HTTPMethod: "DELETE",
  2518  		HTTPPath:   "/2013-04-01/trafficpolicyinstance/{Id}",
  2519  	}
  2520  
  2521  	if input == nil {
  2522  		input = &DeleteTrafficPolicyInstanceInput{}
  2523  	}
  2524  
  2525  	output = &DeleteTrafficPolicyInstanceOutput{}
  2526  	req = c.newRequest(op, input, output)
  2527  	req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2528  	return
  2529  }
  2530  
  2531  // DeleteTrafficPolicyInstance API operation for Amazon Route 53.
  2532  //
  2533  // Deletes a traffic policy instance and all of the resource record sets that
  2534  // Amazon Route 53 created when you created the instance.
  2535  //
  2536  // In the Route 53 console, traffic policy instances are known as policy records.
  2537  //
  2538  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2539  // with awserr.Error's Code and Message methods to get detailed information about
  2540  // the error.
  2541  //
  2542  // See the AWS API reference guide for Amazon Route 53's
  2543  // API operation DeleteTrafficPolicyInstance for usage and error information.
  2544  //
  2545  // Returned Error Codes:
  2546  //   * ErrCodeNoSuchTrafficPolicyInstance "NoSuchTrafficPolicyInstance"
  2547  //   No traffic policy instance exists with the specified ID.
  2548  //
  2549  //   * ErrCodeInvalidInput "InvalidInput"
  2550  //   The input is not valid.
  2551  //
  2552  //   * ErrCodePriorRequestNotComplete "PriorRequestNotComplete"
  2553  //   If Amazon Route 53 can't process a request before the next request arrives,
  2554  //   it will reject subsequent requests for the same hosted zone and return an
  2555  //   HTTP 400 error (Bad request). If Route 53 returns this error repeatedly for
  2556  //   the same request, we recommend that you wait, in intervals of increasing
  2557  //   duration, before you try the request again.
  2558  //
  2559  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DeleteTrafficPolicyInstance
  2560  func (c *Route53) DeleteTrafficPolicyInstance(input *DeleteTrafficPolicyInstanceInput) (*DeleteTrafficPolicyInstanceOutput, error) {
  2561  	req, out := c.DeleteTrafficPolicyInstanceRequest(input)
  2562  	return out, req.Send()
  2563  }
  2564  
  2565  // DeleteTrafficPolicyInstanceWithContext is the same as DeleteTrafficPolicyInstance with the addition of
  2566  // the ability to pass a context and additional request options.
  2567  //
  2568  // See DeleteTrafficPolicyInstance for details on how to use this API operation.
  2569  //
  2570  // The context must be non-nil and will be used for request cancellation. If
  2571  // the context is nil a panic will occur. In the future the SDK may create
  2572  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2573  // for more information on using Contexts.
  2574  func (c *Route53) DeleteTrafficPolicyInstanceWithContext(ctx aws.Context, input *DeleteTrafficPolicyInstanceInput, opts ...request.Option) (*DeleteTrafficPolicyInstanceOutput, error) {
  2575  	req, out := c.DeleteTrafficPolicyInstanceRequest(input)
  2576  	req.SetContext(ctx)
  2577  	req.ApplyOptions(opts...)
  2578  	return out, req.Send()
  2579  }
  2580  
  2581  const opDeleteVPCAssociationAuthorization = "DeleteVPCAssociationAuthorization"
  2582  
  2583  // DeleteVPCAssociationAuthorizationRequest generates a "aws/request.Request" representing the
  2584  // client's request for the DeleteVPCAssociationAuthorization operation. The "output" return
  2585  // value will be populated with the request's response once the request completes
  2586  // successfully.
  2587  //
  2588  // Use "Send" method on the returned Request to send the API call to the service.
  2589  // the "output" return value is not valid until after Send returns without error.
  2590  //
  2591  // See DeleteVPCAssociationAuthorization for more information on using the DeleteVPCAssociationAuthorization
  2592  // API call, and error handling.
  2593  //
  2594  // This method is useful when you want to inject custom logic or configuration
  2595  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2596  //
  2597  //
  2598  //    // Example sending a request using the DeleteVPCAssociationAuthorizationRequest method.
  2599  //    req, resp := client.DeleteVPCAssociationAuthorizationRequest(params)
  2600  //
  2601  //    err := req.Send()
  2602  //    if err == nil { // resp is now filled
  2603  //        fmt.Println(resp)
  2604  //    }
  2605  //
  2606  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DeleteVPCAssociationAuthorization
  2607  func (c *Route53) DeleteVPCAssociationAuthorizationRequest(input *DeleteVPCAssociationAuthorizationInput) (req *request.Request, output *DeleteVPCAssociationAuthorizationOutput) {
  2608  	op := &request.Operation{
  2609  		Name:       opDeleteVPCAssociationAuthorization,
  2610  		HTTPMethod: "POST",
  2611  		HTTPPath:   "/2013-04-01/hostedzone/{Id}/deauthorizevpcassociation",
  2612  	}
  2613  
  2614  	if input == nil {
  2615  		input = &DeleteVPCAssociationAuthorizationInput{}
  2616  	}
  2617  
  2618  	output = &DeleteVPCAssociationAuthorizationOutput{}
  2619  	req = c.newRequest(op, input, output)
  2620  	req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2621  	return
  2622  }
  2623  
  2624  // DeleteVPCAssociationAuthorization API operation for Amazon Route 53.
  2625  //
  2626  // Removes authorization to submit an AssociateVPCWithHostedZone request to
  2627  // associate a specified VPC with a hosted zone that was created by a different
  2628  // account. You must use the account that created the hosted zone to submit
  2629  // a DeleteVPCAssociationAuthorization request.
  2630  //
  2631  // Sending this request only prevents the Amazon Web Services account that created
  2632  // the VPC from associating the VPC with the Amazon Route 53 hosted zone in
  2633  // the future. If the VPC is already associated with the hosted zone, DeleteVPCAssociationAuthorization
  2634  // won't disassociate the VPC from the hosted zone. If you want to delete an
  2635  // existing association, use DisassociateVPCFromHostedZone.
  2636  //
  2637  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2638  // with awserr.Error's Code and Message methods to get detailed information about
  2639  // the error.
  2640  //
  2641  // See the AWS API reference guide for Amazon Route 53's
  2642  // API operation DeleteVPCAssociationAuthorization for usage and error information.
  2643  //
  2644  // Returned Error Codes:
  2645  //   * ErrCodeConcurrentModification "ConcurrentModification"
  2646  //   Another user submitted a request to create, update, or delete the object
  2647  //   at the same time that you did. Retry the request.
  2648  //
  2649  //   * ErrCodeVPCAssociationAuthorizationNotFound "VPCAssociationAuthorizationNotFound"
  2650  //   The VPC that you specified is not authorized to be associated with the hosted
  2651  //   zone.
  2652  //
  2653  //   * ErrCodeNoSuchHostedZone "NoSuchHostedZone"
  2654  //   No hosted zone exists with the ID that you specified.
  2655  //
  2656  //   * ErrCodeInvalidVPCId "InvalidVPCId"
  2657  //   The VPC ID that you specified either isn't a valid ID or the current account
  2658  //   is not authorized to access this VPC.
  2659  //
  2660  //   * ErrCodeInvalidInput "InvalidInput"
  2661  //   The input is not valid.
  2662  //
  2663  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DeleteVPCAssociationAuthorization
  2664  func (c *Route53) DeleteVPCAssociationAuthorization(input *DeleteVPCAssociationAuthorizationInput) (*DeleteVPCAssociationAuthorizationOutput, error) {
  2665  	req, out := c.DeleteVPCAssociationAuthorizationRequest(input)
  2666  	return out, req.Send()
  2667  }
  2668  
  2669  // DeleteVPCAssociationAuthorizationWithContext is the same as DeleteVPCAssociationAuthorization with the addition of
  2670  // the ability to pass a context and additional request options.
  2671  //
  2672  // See DeleteVPCAssociationAuthorization for details on how to use this API operation.
  2673  //
  2674  // The context must be non-nil and will be used for request cancellation. If
  2675  // the context is nil a panic will occur. In the future the SDK may create
  2676  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2677  // for more information on using Contexts.
  2678  func (c *Route53) DeleteVPCAssociationAuthorizationWithContext(ctx aws.Context, input *DeleteVPCAssociationAuthorizationInput, opts ...request.Option) (*DeleteVPCAssociationAuthorizationOutput, error) {
  2679  	req, out := c.DeleteVPCAssociationAuthorizationRequest(input)
  2680  	req.SetContext(ctx)
  2681  	req.ApplyOptions(opts...)
  2682  	return out, req.Send()
  2683  }
  2684  
  2685  const opDisableHostedZoneDNSSEC = "DisableHostedZoneDNSSEC"
  2686  
  2687  // DisableHostedZoneDNSSECRequest generates a "aws/request.Request" representing the
  2688  // client's request for the DisableHostedZoneDNSSEC operation. The "output" return
  2689  // value will be populated with the request's response once the request completes
  2690  // successfully.
  2691  //
  2692  // Use "Send" method on the returned Request to send the API call to the service.
  2693  // the "output" return value is not valid until after Send returns without error.
  2694  //
  2695  // See DisableHostedZoneDNSSEC for more information on using the DisableHostedZoneDNSSEC
  2696  // API call, and error handling.
  2697  //
  2698  // This method is useful when you want to inject custom logic or configuration
  2699  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2700  //
  2701  //
  2702  //    // Example sending a request using the DisableHostedZoneDNSSECRequest method.
  2703  //    req, resp := client.DisableHostedZoneDNSSECRequest(params)
  2704  //
  2705  //    err := req.Send()
  2706  //    if err == nil { // resp is now filled
  2707  //        fmt.Println(resp)
  2708  //    }
  2709  //
  2710  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DisableHostedZoneDNSSEC
  2711  func (c *Route53) DisableHostedZoneDNSSECRequest(input *DisableHostedZoneDNSSECInput) (req *request.Request, output *DisableHostedZoneDNSSECOutput) {
  2712  	op := &request.Operation{
  2713  		Name:       opDisableHostedZoneDNSSEC,
  2714  		HTTPMethod: "POST",
  2715  		HTTPPath:   "/2013-04-01/hostedzone/{Id}/disable-dnssec",
  2716  	}
  2717  
  2718  	if input == nil {
  2719  		input = &DisableHostedZoneDNSSECInput{}
  2720  	}
  2721  
  2722  	output = &DisableHostedZoneDNSSECOutput{}
  2723  	req = c.newRequest(op, input, output)
  2724  	return
  2725  }
  2726  
  2727  // DisableHostedZoneDNSSEC API operation for Amazon Route 53.
  2728  //
  2729  // Disables DNSSEC signing in a specific hosted zone. This action does not deactivate
  2730  // any key-signing keys (KSKs) that are active in the hosted zone.
  2731  //
  2732  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2733  // with awserr.Error's Code and Message methods to get detailed information about
  2734  // the error.
  2735  //
  2736  // See the AWS API reference guide for Amazon Route 53's
  2737  // API operation DisableHostedZoneDNSSEC for usage and error information.
  2738  //
  2739  // Returned Error Codes:
  2740  //   * ErrCodeNoSuchHostedZone "NoSuchHostedZone"
  2741  //   No hosted zone exists with the ID that you specified.
  2742  //
  2743  //   * ErrCodeInvalidArgument "InvalidArgument"
  2744  //   Parameter name is not valid.
  2745  //
  2746  //   * ErrCodeConcurrentModification "ConcurrentModification"
  2747  //   Another user submitted a request to create, update, or delete the object
  2748  //   at the same time that you did. Retry the request.
  2749  //
  2750  //   * ErrCodeKeySigningKeyInParentDSRecord "KeySigningKeyInParentDSRecord"
  2751  //   The key-signing key (KSK) is specified in a parent DS record.
  2752  //
  2753  //   * ErrCodeDNSSECNotFound "DNSSECNotFound"
  2754  //   The hosted zone doesn't have any DNSSEC resources.
  2755  //
  2756  //   * ErrCodeInvalidKeySigningKeyStatus "InvalidKeySigningKeyStatus"
  2757  //   The key-signing key (KSK) status isn't valid or another KSK has the status
  2758  //   INTERNAL_FAILURE.
  2759  //
  2760  //   * ErrCodeInvalidKMSArn "InvalidKMSArn"
  2761  //   The KeyManagementServiceArn that you specified isn't valid to use with DNSSEC
  2762  //   signing.
  2763  //
  2764  //   * ErrCodeInvalidInput "InvalidInput"
  2765  //   The input is not valid.
  2766  //
  2767  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DisableHostedZoneDNSSEC
  2768  func (c *Route53) DisableHostedZoneDNSSEC(input *DisableHostedZoneDNSSECInput) (*DisableHostedZoneDNSSECOutput, error) {
  2769  	req, out := c.DisableHostedZoneDNSSECRequest(input)
  2770  	return out, req.Send()
  2771  }
  2772  
  2773  // DisableHostedZoneDNSSECWithContext is the same as DisableHostedZoneDNSSEC with the addition of
  2774  // the ability to pass a context and additional request options.
  2775  //
  2776  // See DisableHostedZoneDNSSEC for details on how to use this API operation.
  2777  //
  2778  // The context must be non-nil and will be used for request cancellation. If
  2779  // the context is nil a panic will occur. In the future the SDK may create
  2780  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2781  // for more information on using Contexts.
  2782  func (c *Route53) DisableHostedZoneDNSSECWithContext(ctx aws.Context, input *DisableHostedZoneDNSSECInput, opts ...request.Option) (*DisableHostedZoneDNSSECOutput, error) {
  2783  	req, out := c.DisableHostedZoneDNSSECRequest(input)
  2784  	req.SetContext(ctx)
  2785  	req.ApplyOptions(opts...)
  2786  	return out, req.Send()
  2787  }
  2788  
  2789  const opDisassociateVPCFromHostedZone = "DisassociateVPCFromHostedZone"
  2790  
  2791  // DisassociateVPCFromHostedZoneRequest generates a "aws/request.Request" representing the
  2792  // client's request for the DisassociateVPCFromHostedZone operation. The "output" return
  2793  // value will be populated with the request's response once the request completes
  2794  // successfully.
  2795  //
  2796  // Use "Send" method on the returned Request to send the API call to the service.
  2797  // the "output" return value is not valid until after Send returns without error.
  2798  //
  2799  // See DisassociateVPCFromHostedZone for more information on using the DisassociateVPCFromHostedZone
  2800  // API call, and error handling.
  2801  //
  2802  // This method is useful when you want to inject custom logic or configuration
  2803  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2804  //
  2805  //
  2806  //    // Example sending a request using the DisassociateVPCFromHostedZoneRequest method.
  2807  //    req, resp := client.DisassociateVPCFromHostedZoneRequest(params)
  2808  //
  2809  //    err := req.Send()
  2810  //    if err == nil { // resp is now filled
  2811  //        fmt.Println(resp)
  2812  //    }
  2813  //
  2814  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DisassociateVPCFromHostedZone
  2815  func (c *Route53) DisassociateVPCFromHostedZoneRequest(input *DisassociateVPCFromHostedZoneInput) (req *request.Request, output *DisassociateVPCFromHostedZoneOutput) {
  2816  	op := &request.Operation{
  2817  		Name:       opDisassociateVPCFromHostedZone,
  2818  		HTTPMethod: "POST",
  2819  		HTTPPath:   "/2013-04-01/hostedzone/{Id}/disassociatevpc",
  2820  	}
  2821  
  2822  	if input == nil {
  2823  		input = &DisassociateVPCFromHostedZoneInput{}
  2824  	}
  2825  
  2826  	output = &DisassociateVPCFromHostedZoneOutput{}
  2827  	req = c.newRequest(op, input, output)
  2828  	return
  2829  }
  2830  
  2831  // DisassociateVPCFromHostedZone API operation for Amazon Route 53.
  2832  //
  2833  // Disassociates an Amazon Virtual Private Cloud (Amazon VPC) from an Amazon
  2834  // Route 53 private hosted zone. Note the following:
  2835  //
  2836  //    * You can't disassociate the last Amazon VPC from a private hosted zone.
  2837  //
  2838  //    * You can't convert a private hosted zone into a public hosted zone.
  2839  //
  2840  //    * You can submit a DisassociateVPCFromHostedZone request using either
  2841  //    the account that created the hosted zone or the account that created the
  2842  //    Amazon VPC.
  2843  //
  2844  //    * Some services, such as Cloud Map and Amazon Elastic File System (Amazon
  2845  //    EFS) automatically create hosted zones and associate VPCs with the hosted
  2846  //    zones. A service can create a hosted zone using your account or using
  2847  //    its own account. You can disassociate a VPC from a hosted zone only if
  2848  //    the service created the hosted zone using your account. When you run DisassociateVPCFromHostedZone
  2849  //    (https://docs.aws.amazon.com/Route53/latest/APIReference/API_ListHostedZonesByVPC.html),
  2850  //    if the hosted zone has a value for OwningAccount, you can use DisassociateVPCFromHostedZone.
  2851  //    If the hosted zone has a value for OwningService, you can't use DisassociateVPCFromHostedZone.
  2852  //
  2853  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2854  // with awserr.Error's Code and Message methods to get detailed information about
  2855  // the error.
  2856  //
  2857  // See the AWS API reference guide for Amazon Route 53's
  2858  // API operation DisassociateVPCFromHostedZone for usage and error information.
  2859  //
  2860  // Returned Error Codes:
  2861  //   * ErrCodeNoSuchHostedZone "NoSuchHostedZone"
  2862  //   No hosted zone exists with the ID that you specified.
  2863  //
  2864  //   * ErrCodeInvalidVPCId "InvalidVPCId"
  2865  //   The VPC ID that you specified either isn't a valid ID or the current account
  2866  //   is not authorized to access this VPC.
  2867  //
  2868  //   * ErrCodeVPCAssociationNotFound "VPCAssociationNotFound"
  2869  //   The specified VPC and hosted zone are not currently associated.
  2870  //
  2871  //   * ErrCodeLastVPCAssociation "LastVPCAssociation"
  2872  //   The VPC that you're trying to disassociate from the private hosted zone is
  2873  //   the last VPC that is associated with the hosted zone. Amazon Route 53 doesn't
  2874  //   support disassociating the last VPC from a hosted zone.
  2875  //
  2876  //   * ErrCodeInvalidInput "InvalidInput"
  2877  //   The input is not valid.
  2878  //
  2879  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DisassociateVPCFromHostedZone
  2880  func (c *Route53) DisassociateVPCFromHostedZone(input *DisassociateVPCFromHostedZoneInput) (*DisassociateVPCFromHostedZoneOutput, error) {
  2881  	req, out := c.DisassociateVPCFromHostedZoneRequest(input)
  2882  	return out, req.Send()
  2883  }
  2884  
  2885  // DisassociateVPCFromHostedZoneWithContext is the same as DisassociateVPCFromHostedZone with the addition of
  2886  // the ability to pass a context and additional request options.
  2887  //
  2888  // See DisassociateVPCFromHostedZone for details on how to use this API operation.
  2889  //
  2890  // The context must be non-nil and will be used for request cancellation. If
  2891  // the context is nil a panic will occur. In the future the SDK may create
  2892  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2893  // for more information on using Contexts.
  2894  func (c *Route53) DisassociateVPCFromHostedZoneWithContext(ctx aws.Context, input *DisassociateVPCFromHostedZoneInput, opts ...request.Option) (*DisassociateVPCFromHostedZoneOutput, error) {
  2895  	req, out := c.DisassociateVPCFromHostedZoneRequest(input)
  2896  	req.SetContext(ctx)
  2897  	req.ApplyOptions(opts...)
  2898  	return out, req.Send()
  2899  }
  2900  
  2901  const opEnableHostedZoneDNSSEC = "EnableHostedZoneDNSSEC"
  2902  
  2903  // EnableHostedZoneDNSSECRequest generates a "aws/request.Request" representing the
  2904  // client's request for the EnableHostedZoneDNSSEC operation. The "output" return
  2905  // value will be populated with the request's response once the request completes
  2906  // successfully.
  2907  //
  2908  // Use "Send" method on the returned Request to send the API call to the service.
  2909  // the "output" return value is not valid until after Send returns without error.
  2910  //
  2911  // See EnableHostedZoneDNSSEC for more information on using the EnableHostedZoneDNSSEC
  2912  // API call, and error handling.
  2913  //
  2914  // This method is useful when you want to inject custom logic or configuration
  2915  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2916  //
  2917  //
  2918  //    // Example sending a request using the EnableHostedZoneDNSSECRequest method.
  2919  //    req, resp := client.EnableHostedZoneDNSSECRequest(params)
  2920  //
  2921  //    err := req.Send()
  2922  //    if err == nil { // resp is now filled
  2923  //        fmt.Println(resp)
  2924  //    }
  2925  //
  2926  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/EnableHostedZoneDNSSEC
  2927  func (c *Route53) EnableHostedZoneDNSSECRequest(input *EnableHostedZoneDNSSECInput) (req *request.Request, output *EnableHostedZoneDNSSECOutput) {
  2928  	op := &request.Operation{
  2929  		Name:       opEnableHostedZoneDNSSEC,
  2930  		HTTPMethod: "POST",
  2931  		HTTPPath:   "/2013-04-01/hostedzone/{Id}/enable-dnssec",
  2932  	}
  2933  
  2934  	if input == nil {
  2935  		input = &EnableHostedZoneDNSSECInput{}
  2936  	}
  2937  
  2938  	output = &EnableHostedZoneDNSSECOutput{}
  2939  	req = c.newRequest(op, input, output)
  2940  	return
  2941  }
  2942  
  2943  // EnableHostedZoneDNSSEC API operation for Amazon Route 53.
  2944  //
  2945  // Enables DNSSEC signing in a specific hosted zone.
  2946  //
  2947  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2948  // with awserr.Error's Code and Message methods to get detailed information about
  2949  // the error.
  2950  //
  2951  // See the AWS API reference guide for Amazon Route 53's
  2952  // API operation EnableHostedZoneDNSSEC for usage and error information.
  2953  //
  2954  // Returned Error Codes:
  2955  //   * ErrCodeNoSuchHostedZone "NoSuchHostedZone"
  2956  //   No hosted zone exists with the ID that you specified.
  2957  //
  2958  //   * ErrCodeInvalidArgument "InvalidArgument"
  2959  //   Parameter name is not valid.
  2960  //
  2961  //   * ErrCodeConcurrentModification "ConcurrentModification"
  2962  //   Another user submitted a request to create, update, or delete the object
  2963  //   at the same time that you did. Retry the request.
  2964  //
  2965  //   * ErrCodeKeySigningKeyWithActiveStatusNotFound "KeySigningKeyWithActiveStatusNotFound"
  2966  //   A key-signing key (KSK) with ACTIVE status wasn't found.
  2967  //
  2968  //   * ErrCodeInvalidKMSArn "InvalidKMSArn"
  2969  //   The KeyManagementServiceArn that you specified isn't valid to use with DNSSEC
  2970  //   signing.
  2971  //
  2972  //   * ErrCodeHostedZonePartiallyDelegated "HostedZonePartiallyDelegated"
  2973  //   The hosted zone nameservers don't match the parent nameservers. The hosted
  2974  //   zone and parent must have the same nameservers.
  2975  //
  2976  //   * ErrCodeDNSSECNotFound "DNSSECNotFound"
  2977  //   The hosted zone doesn't have any DNSSEC resources.
  2978  //
  2979  //   * ErrCodeInvalidKeySigningKeyStatus "InvalidKeySigningKeyStatus"
  2980  //   The key-signing key (KSK) status isn't valid or another KSK has the status
  2981  //   INTERNAL_FAILURE.
  2982  //
  2983  //   * ErrCodeInvalidInput "InvalidInput"
  2984  //   The input is not valid.
  2985  //
  2986  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/EnableHostedZoneDNSSEC
  2987  func (c *Route53) EnableHostedZoneDNSSEC(input *EnableHostedZoneDNSSECInput) (*EnableHostedZoneDNSSECOutput, error) {
  2988  	req, out := c.EnableHostedZoneDNSSECRequest(input)
  2989  	return out, req.Send()
  2990  }
  2991  
  2992  // EnableHostedZoneDNSSECWithContext is the same as EnableHostedZoneDNSSEC with the addition of
  2993  // the ability to pass a context and additional request options.
  2994  //
  2995  // See EnableHostedZoneDNSSEC for details on how to use this API operation.
  2996  //
  2997  // The context must be non-nil and will be used for request cancellation. If
  2998  // the context is nil a panic will occur. In the future the SDK may create
  2999  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3000  // for more information on using Contexts.
  3001  func (c *Route53) EnableHostedZoneDNSSECWithContext(ctx aws.Context, input *EnableHostedZoneDNSSECInput, opts ...request.Option) (*EnableHostedZoneDNSSECOutput, error) {
  3002  	req, out := c.EnableHostedZoneDNSSECRequest(input)
  3003  	req.SetContext(ctx)
  3004  	req.ApplyOptions(opts...)
  3005  	return out, req.Send()
  3006  }
  3007  
  3008  const opGetAccountLimit = "GetAccountLimit"
  3009  
  3010  // GetAccountLimitRequest generates a "aws/request.Request" representing the
  3011  // client's request for the GetAccountLimit operation. The "output" return
  3012  // value will be populated with the request's response once the request completes
  3013  // successfully.
  3014  //
  3015  // Use "Send" method on the returned Request to send the API call to the service.
  3016  // the "output" return value is not valid until after Send returns without error.
  3017  //
  3018  // See GetAccountLimit for more information on using the GetAccountLimit
  3019  // API call, and error handling.
  3020  //
  3021  // This method is useful when you want to inject custom logic or configuration
  3022  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3023  //
  3024  //
  3025  //    // Example sending a request using the GetAccountLimitRequest method.
  3026  //    req, resp := client.GetAccountLimitRequest(params)
  3027  //
  3028  //    err := req.Send()
  3029  //    if err == nil { // resp is now filled
  3030  //        fmt.Println(resp)
  3031  //    }
  3032  //
  3033  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetAccountLimit
  3034  func (c *Route53) GetAccountLimitRequest(input *GetAccountLimitInput) (req *request.Request, output *GetAccountLimitOutput) {
  3035  	op := &request.Operation{
  3036  		Name:       opGetAccountLimit,
  3037  		HTTPMethod: "GET",
  3038  		HTTPPath:   "/2013-04-01/accountlimit/{Type}",
  3039  	}
  3040  
  3041  	if input == nil {
  3042  		input = &GetAccountLimitInput{}
  3043  	}
  3044  
  3045  	output = &GetAccountLimitOutput{}
  3046  	req = c.newRequest(op, input, output)
  3047  	return
  3048  }
  3049  
  3050  // GetAccountLimit API operation for Amazon Route 53.
  3051  //
  3052  // Gets the specified limit for the current account, for example, the maximum
  3053  // number of health checks that you can create using the account.
  3054  //
  3055  // For the default limit, see Limits (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DNSLimitations.html)
  3056  // in the Amazon Route 53 Developer Guide. To request a higher limit, open a
  3057  // case (https://console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase&limitType=service-code-route53).
  3058  //
  3059  // You can also view account limits in Amazon Web Services Trusted Advisor.
  3060  // Sign in to the Amazon Web Services Management Console and open the Trusted
  3061  // Advisor console at https://console.aws.amazon.com/trustedadvisor/ (https://console.aws.amazon.com/trustedadvisor).
  3062  // Then choose Service limits in the navigation pane.
  3063  //
  3064  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3065  // with awserr.Error's Code and Message methods to get detailed information about
  3066  // the error.
  3067  //
  3068  // See the AWS API reference guide for Amazon Route 53's
  3069  // API operation GetAccountLimit for usage and error information.
  3070  //
  3071  // Returned Error Codes:
  3072  //   * ErrCodeInvalidInput "InvalidInput"
  3073  //   The input is not valid.
  3074  //
  3075  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetAccountLimit
  3076  func (c *Route53) GetAccountLimit(input *GetAccountLimitInput) (*GetAccountLimitOutput, error) {
  3077  	req, out := c.GetAccountLimitRequest(input)
  3078  	return out, req.Send()
  3079  }
  3080  
  3081  // GetAccountLimitWithContext is the same as GetAccountLimit with the addition of
  3082  // the ability to pass a context and additional request options.
  3083  //
  3084  // See GetAccountLimit for details on how to use this API operation.
  3085  //
  3086  // The context must be non-nil and will be used for request cancellation. If
  3087  // the context is nil a panic will occur. In the future the SDK may create
  3088  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3089  // for more information on using Contexts.
  3090  func (c *Route53) GetAccountLimitWithContext(ctx aws.Context, input *GetAccountLimitInput, opts ...request.Option) (*GetAccountLimitOutput, error) {
  3091  	req, out := c.GetAccountLimitRequest(input)
  3092  	req.SetContext(ctx)
  3093  	req.ApplyOptions(opts...)
  3094  	return out, req.Send()
  3095  }
  3096  
  3097  const opGetChange = "GetChange"
  3098  
  3099  // GetChangeRequest generates a "aws/request.Request" representing the
  3100  // client's request for the GetChange operation. The "output" return
  3101  // value will be populated with the request's response once the request completes
  3102  // successfully.
  3103  //
  3104  // Use "Send" method on the returned Request to send the API call to the service.
  3105  // the "output" return value is not valid until after Send returns without error.
  3106  //
  3107  // See GetChange for more information on using the GetChange
  3108  // API call, and error handling.
  3109  //
  3110  // This method is useful when you want to inject custom logic or configuration
  3111  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3112  //
  3113  //
  3114  //    // Example sending a request using the GetChangeRequest method.
  3115  //    req, resp := client.GetChangeRequest(params)
  3116  //
  3117  //    err := req.Send()
  3118  //    if err == nil { // resp is now filled
  3119  //        fmt.Println(resp)
  3120  //    }
  3121  //
  3122  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetChange
  3123  func (c *Route53) GetChangeRequest(input *GetChangeInput) (req *request.Request, output *GetChangeOutput) {
  3124  	op := &request.Operation{
  3125  		Name:       opGetChange,
  3126  		HTTPMethod: "GET",
  3127  		HTTPPath:   "/2013-04-01/change/{Id}",
  3128  	}
  3129  
  3130  	if input == nil {
  3131  		input = &GetChangeInput{}
  3132  	}
  3133  
  3134  	output = &GetChangeOutput{}
  3135  	req = c.newRequest(op, input, output)
  3136  	return
  3137  }
  3138  
  3139  // GetChange API operation for Amazon Route 53.
  3140  //
  3141  // Returns the current status of a change batch request. The status is one of
  3142  // the following values:
  3143  //
  3144  //    * PENDING indicates that the changes in this request have not propagated
  3145  //    to all Amazon Route 53 DNS servers. This is the initial status of all
  3146  //    change batch requests.
  3147  //
  3148  //    * INSYNC indicates that the changes have propagated to all Route 53 DNS
  3149  //    servers.
  3150  //
  3151  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3152  // with awserr.Error's Code and Message methods to get detailed information about
  3153  // the error.
  3154  //
  3155  // See the AWS API reference guide for Amazon Route 53's
  3156  // API operation GetChange for usage and error information.
  3157  //
  3158  // Returned Error Codes:
  3159  //   * ErrCodeNoSuchChange "NoSuchChange"
  3160  //   A change with the specified change ID does not exist.
  3161  //
  3162  //   * ErrCodeInvalidInput "InvalidInput"
  3163  //   The input is not valid.
  3164  //
  3165  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetChange
  3166  func (c *Route53) GetChange(input *GetChangeInput) (*GetChangeOutput, error) {
  3167  	req, out := c.GetChangeRequest(input)
  3168  	return out, req.Send()
  3169  }
  3170  
  3171  // GetChangeWithContext is the same as GetChange with the addition of
  3172  // the ability to pass a context and additional request options.
  3173  //
  3174  // See GetChange for details on how to use this API operation.
  3175  //
  3176  // The context must be non-nil and will be used for request cancellation. If
  3177  // the context is nil a panic will occur. In the future the SDK may create
  3178  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3179  // for more information on using Contexts.
  3180  func (c *Route53) GetChangeWithContext(ctx aws.Context, input *GetChangeInput, opts ...request.Option) (*GetChangeOutput, error) {
  3181  	req, out := c.GetChangeRequest(input)
  3182  	req.SetContext(ctx)
  3183  	req.ApplyOptions(opts...)
  3184  	return out, req.Send()
  3185  }
  3186  
  3187  const opGetCheckerIpRanges = "GetCheckerIpRanges"
  3188  
  3189  // GetCheckerIpRangesRequest generates a "aws/request.Request" representing the
  3190  // client's request for the GetCheckerIpRanges operation. The "output" return
  3191  // value will be populated with the request's response once the request completes
  3192  // successfully.
  3193  //
  3194  // Use "Send" method on the returned Request to send the API call to the service.
  3195  // the "output" return value is not valid until after Send returns without error.
  3196  //
  3197  // See GetCheckerIpRanges for more information on using the GetCheckerIpRanges
  3198  // API call, and error handling.
  3199  //
  3200  // This method is useful when you want to inject custom logic or configuration
  3201  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3202  //
  3203  //
  3204  //    // Example sending a request using the GetCheckerIpRangesRequest method.
  3205  //    req, resp := client.GetCheckerIpRangesRequest(params)
  3206  //
  3207  //    err := req.Send()
  3208  //    if err == nil { // resp is now filled
  3209  //        fmt.Println(resp)
  3210  //    }
  3211  //
  3212  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetCheckerIpRanges
  3213  func (c *Route53) GetCheckerIpRangesRequest(input *GetCheckerIpRangesInput) (req *request.Request, output *GetCheckerIpRangesOutput) {
  3214  	op := &request.Operation{
  3215  		Name:       opGetCheckerIpRanges,
  3216  		HTTPMethod: "GET",
  3217  		HTTPPath:   "/2013-04-01/checkeripranges",
  3218  	}
  3219  
  3220  	if input == nil {
  3221  		input = &GetCheckerIpRangesInput{}
  3222  	}
  3223  
  3224  	output = &GetCheckerIpRangesOutput{}
  3225  	req = c.newRequest(op, input, output)
  3226  	return
  3227  }
  3228  
  3229  // GetCheckerIpRanges API operation for Amazon Route 53.
  3230  //
  3231  // Route 53 does not perform authorization for this API because it retrieves
  3232  // information that is already available to the public.
  3233  //
  3234  // GetCheckerIpRanges still works, but we recommend that you download ip-ranges.json,
  3235  // which includes IP address ranges for all Amazon Web Services services. For
  3236  // more information, see IP Address Ranges of Amazon Route 53 Servers (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/route-53-ip-addresses.html)
  3237  // in the Amazon Route 53 Developer Guide.
  3238  //
  3239  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3240  // with awserr.Error's Code and Message methods to get detailed information about
  3241  // the error.
  3242  //
  3243  // See the AWS API reference guide for Amazon Route 53's
  3244  // API operation GetCheckerIpRanges for usage and error information.
  3245  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetCheckerIpRanges
  3246  func (c *Route53) GetCheckerIpRanges(input *GetCheckerIpRangesInput) (*GetCheckerIpRangesOutput, error) {
  3247  	req, out := c.GetCheckerIpRangesRequest(input)
  3248  	return out, req.Send()
  3249  }
  3250  
  3251  // GetCheckerIpRangesWithContext is the same as GetCheckerIpRanges with the addition of
  3252  // the ability to pass a context and additional request options.
  3253  //
  3254  // See GetCheckerIpRanges for details on how to use this API operation.
  3255  //
  3256  // The context must be non-nil and will be used for request cancellation. If
  3257  // the context is nil a panic will occur. In the future the SDK may create
  3258  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3259  // for more information on using Contexts.
  3260  func (c *Route53) GetCheckerIpRangesWithContext(ctx aws.Context, input *GetCheckerIpRangesInput, opts ...request.Option) (*GetCheckerIpRangesOutput, error) {
  3261  	req, out := c.GetCheckerIpRangesRequest(input)
  3262  	req.SetContext(ctx)
  3263  	req.ApplyOptions(opts...)
  3264  	return out, req.Send()
  3265  }
  3266  
  3267  const opGetDNSSEC = "GetDNSSEC"
  3268  
  3269  // GetDNSSECRequest generates a "aws/request.Request" representing the
  3270  // client's request for the GetDNSSEC operation. The "output" return
  3271  // value will be populated with the request's response once the request completes
  3272  // successfully.
  3273  //
  3274  // Use "Send" method on the returned Request to send the API call to the service.
  3275  // the "output" return value is not valid until after Send returns without error.
  3276  //
  3277  // See GetDNSSEC for more information on using the GetDNSSEC
  3278  // API call, and error handling.
  3279  //
  3280  // This method is useful when you want to inject custom logic or configuration
  3281  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3282  //
  3283  //
  3284  //    // Example sending a request using the GetDNSSECRequest method.
  3285  //    req, resp := client.GetDNSSECRequest(params)
  3286  //
  3287  //    err := req.Send()
  3288  //    if err == nil { // resp is now filled
  3289  //        fmt.Println(resp)
  3290  //    }
  3291  //
  3292  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetDNSSEC
  3293  func (c *Route53) GetDNSSECRequest(input *GetDNSSECInput) (req *request.Request, output *GetDNSSECOutput) {
  3294  	op := &request.Operation{
  3295  		Name:       opGetDNSSEC,
  3296  		HTTPMethod: "GET",
  3297  		HTTPPath:   "/2013-04-01/hostedzone/{Id}/dnssec",
  3298  	}
  3299  
  3300  	if input == nil {
  3301  		input = &GetDNSSECInput{}
  3302  	}
  3303  
  3304  	output = &GetDNSSECOutput{}
  3305  	req = c.newRequest(op, input, output)
  3306  	return
  3307  }
  3308  
  3309  // GetDNSSEC API operation for Amazon Route 53.
  3310  //
  3311  // Returns information about DNSSEC for a specific hosted zone, including the
  3312  // key-signing keys (KSKs) in the hosted zone.
  3313  //
  3314  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3315  // with awserr.Error's Code and Message methods to get detailed information about
  3316  // the error.
  3317  //
  3318  // See the AWS API reference guide for Amazon Route 53's
  3319  // API operation GetDNSSEC for usage and error information.
  3320  //
  3321  // Returned Error Codes:
  3322  //   * ErrCodeNoSuchHostedZone "NoSuchHostedZone"
  3323  //   No hosted zone exists with the ID that you specified.
  3324  //
  3325  //   * ErrCodeInvalidArgument "InvalidArgument"
  3326  //   Parameter name is not valid.
  3327  //
  3328  //   * ErrCodeInvalidInput "InvalidInput"
  3329  //   The input is not valid.
  3330  //
  3331  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetDNSSEC
  3332  func (c *Route53) GetDNSSEC(input *GetDNSSECInput) (*GetDNSSECOutput, error) {
  3333  	req, out := c.GetDNSSECRequest(input)
  3334  	return out, req.Send()
  3335  }
  3336  
  3337  // GetDNSSECWithContext is the same as GetDNSSEC with the addition of
  3338  // the ability to pass a context and additional request options.
  3339  //
  3340  // See GetDNSSEC for details on how to use this API operation.
  3341  //
  3342  // The context must be non-nil and will be used for request cancellation. If
  3343  // the context is nil a panic will occur. In the future the SDK may create
  3344  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3345  // for more information on using Contexts.
  3346  func (c *Route53) GetDNSSECWithContext(ctx aws.Context, input *GetDNSSECInput, opts ...request.Option) (*GetDNSSECOutput, error) {
  3347  	req, out := c.GetDNSSECRequest(input)
  3348  	req.SetContext(ctx)
  3349  	req.ApplyOptions(opts...)
  3350  	return out, req.Send()
  3351  }
  3352  
  3353  const opGetGeoLocation = "GetGeoLocation"
  3354  
  3355  // GetGeoLocationRequest generates a "aws/request.Request" representing the
  3356  // client's request for the GetGeoLocation operation. The "output" return
  3357  // value will be populated with the request's response once the request completes
  3358  // successfully.
  3359  //
  3360  // Use "Send" method on the returned Request to send the API call to the service.
  3361  // the "output" return value is not valid until after Send returns without error.
  3362  //
  3363  // See GetGeoLocation for more information on using the GetGeoLocation
  3364  // API call, and error handling.
  3365  //
  3366  // This method is useful when you want to inject custom logic or configuration
  3367  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3368  //
  3369  //
  3370  //    // Example sending a request using the GetGeoLocationRequest method.
  3371  //    req, resp := client.GetGeoLocationRequest(params)
  3372  //
  3373  //    err := req.Send()
  3374  //    if err == nil { // resp is now filled
  3375  //        fmt.Println(resp)
  3376  //    }
  3377  //
  3378  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetGeoLocation
  3379  func (c *Route53) GetGeoLocationRequest(input *GetGeoLocationInput) (req *request.Request, output *GetGeoLocationOutput) {
  3380  	op := &request.Operation{
  3381  		Name:       opGetGeoLocation,
  3382  		HTTPMethod: "GET",
  3383  		HTTPPath:   "/2013-04-01/geolocation",
  3384  	}
  3385  
  3386  	if input == nil {
  3387  		input = &GetGeoLocationInput{}
  3388  	}
  3389  
  3390  	output = &GetGeoLocationOutput{}
  3391  	req = c.newRequest(op, input, output)
  3392  	return
  3393  }
  3394  
  3395  // GetGeoLocation API operation for Amazon Route 53.
  3396  //
  3397  // Gets information about whether a specified geographic location is supported
  3398  // for Amazon Route 53 geolocation resource record sets.
  3399  //
  3400  // Route 53 does not perform authorization for this API because it retrieves
  3401  // information that is already available to the public.
  3402  //
  3403  // Use the following syntax to determine whether a continent is supported for
  3404  // geolocation:
  3405  //
  3406  // GET /2013-04-01/geolocation?continentcode=two-letter abbreviation for a continent
  3407  //
  3408  // Use the following syntax to determine whether a country is supported for
  3409  // geolocation:
  3410  //
  3411  // GET /2013-04-01/geolocation?countrycode=two-character country code
  3412  //
  3413  // Use the following syntax to determine whether a subdivision of a country
  3414  // is supported for geolocation:
  3415  //
  3416  // GET /2013-04-01/geolocation?countrycode=two-character country code&subdivisioncode=subdivision
  3417  // code
  3418  //
  3419  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3420  // with awserr.Error's Code and Message methods to get detailed information about
  3421  // the error.
  3422  //
  3423  // See the AWS API reference guide for Amazon Route 53's
  3424  // API operation GetGeoLocation for usage and error information.
  3425  //
  3426  // Returned Error Codes:
  3427  //   * ErrCodeNoSuchGeoLocation "NoSuchGeoLocation"
  3428  //   Amazon Route 53 doesn't support the specified geographic location. For a
  3429  //   list of supported geolocation codes, see the GeoLocation (https://docs.aws.amazon.com/Route53/latest/APIReference/API_GeoLocation.html)
  3430  //   data type.
  3431  //
  3432  //   * ErrCodeInvalidInput "InvalidInput"
  3433  //   The input is not valid.
  3434  //
  3435  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetGeoLocation
  3436  func (c *Route53) GetGeoLocation(input *GetGeoLocationInput) (*GetGeoLocationOutput, error) {
  3437  	req, out := c.GetGeoLocationRequest(input)
  3438  	return out, req.Send()
  3439  }
  3440  
  3441  // GetGeoLocationWithContext is the same as GetGeoLocation with the addition of
  3442  // the ability to pass a context and additional request options.
  3443  //
  3444  // See GetGeoLocation for details on how to use this API operation.
  3445  //
  3446  // The context must be non-nil and will be used for request cancellation. If
  3447  // the context is nil a panic will occur. In the future the SDK may create
  3448  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3449  // for more information on using Contexts.
  3450  func (c *Route53) GetGeoLocationWithContext(ctx aws.Context, input *GetGeoLocationInput, opts ...request.Option) (*GetGeoLocationOutput, error) {
  3451  	req, out := c.GetGeoLocationRequest(input)
  3452  	req.SetContext(ctx)
  3453  	req.ApplyOptions(opts...)
  3454  	return out, req.Send()
  3455  }
  3456  
  3457  const opGetHealthCheck = "GetHealthCheck"
  3458  
  3459  // GetHealthCheckRequest generates a "aws/request.Request" representing the
  3460  // client's request for the GetHealthCheck operation. The "output" return
  3461  // value will be populated with the request's response once the request completes
  3462  // successfully.
  3463  //
  3464  // Use "Send" method on the returned Request to send the API call to the service.
  3465  // the "output" return value is not valid until after Send returns without error.
  3466  //
  3467  // See GetHealthCheck for more information on using the GetHealthCheck
  3468  // API call, and error handling.
  3469  //
  3470  // This method is useful when you want to inject custom logic or configuration
  3471  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3472  //
  3473  //
  3474  //    // Example sending a request using the GetHealthCheckRequest method.
  3475  //    req, resp := client.GetHealthCheckRequest(params)
  3476  //
  3477  //    err := req.Send()
  3478  //    if err == nil { // resp is now filled
  3479  //        fmt.Println(resp)
  3480  //    }
  3481  //
  3482  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetHealthCheck
  3483  func (c *Route53) GetHealthCheckRequest(input *GetHealthCheckInput) (req *request.Request, output *GetHealthCheckOutput) {
  3484  	op := &request.Operation{
  3485  		Name:       opGetHealthCheck,
  3486  		HTTPMethod: "GET",
  3487  		HTTPPath:   "/2013-04-01/healthcheck/{HealthCheckId}",
  3488  	}
  3489  
  3490  	if input == nil {
  3491  		input = &GetHealthCheckInput{}
  3492  	}
  3493  
  3494  	output = &GetHealthCheckOutput{}
  3495  	req = c.newRequest(op, input, output)
  3496  	return
  3497  }
  3498  
  3499  // GetHealthCheck API operation for Amazon Route 53.
  3500  //
  3501  // Gets information about a specified health check.
  3502  //
  3503  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3504  // with awserr.Error's Code and Message methods to get detailed information about
  3505  // the error.
  3506  //
  3507  // See the AWS API reference guide for Amazon Route 53's
  3508  // API operation GetHealthCheck for usage and error information.
  3509  //
  3510  // Returned Error Codes:
  3511  //   * ErrCodeNoSuchHealthCheck "NoSuchHealthCheck"
  3512  //   No health check exists with the specified ID.
  3513  //
  3514  //   * ErrCodeInvalidInput "InvalidInput"
  3515  //   The input is not valid.
  3516  //
  3517  //   * ErrCodeIncompatibleVersion "IncompatibleVersion"
  3518  //   The resource you're trying to access is unsupported on this Amazon Route
  3519  //   53 endpoint.
  3520  //
  3521  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetHealthCheck
  3522  func (c *Route53) GetHealthCheck(input *GetHealthCheckInput) (*GetHealthCheckOutput, error) {
  3523  	req, out := c.GetHealthCheckRequest(input)
  3524  	return out, req.Send()
  3525  }
  3526  
  3527  // GetHealthCheckWithContext is the same as GetHealthCheck with the addition of
  3528  // the ability to pass a context and additional request options.
  3529  //
  3530  // See GetHealthCheck for details on how to use this API operation.
  3531  //
  3532  // The context must be non-nil and will be used for request cancellation. If
  3533  // the context is nil a panic will occur. In the future the SDK may create
  3534  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3535  // for more information on using Contexts.
  3536  func (c *Route53) GetHealthCheckWithContext(ctx aws.Context, input *GetHealthCheckInput, opts ...request.Option) (*GetHealthCheckOutput, error) {
  3537  	req, out := c.GetHealthCheckRequest(input)
  3538  	req.SetContext(ctx)
  3539  	req.ApplyOptions(opts...)
  3540  	return out, req.Send()
  3541  }
  3542  
  3543  const opGetHealthCheckCount = "GetHealthCheckCount"
  3544  
  3545  // GetHealthCheckCountRequest generates a "aws/request.Request" representing the
  3546  // client's request for the GetHealthCheckCount operation. The "output" return
  3547  // value will be populated with the request's response once the request completes
  3548  // successfully.
  3549  //
  3550  // Use "Send" method on the returned Request to send the API call to the service.
  3551  // the "output" return value is not valid until after Send returns without error.
  3552  //
  3553  // See GetHealthCheckCount for more information on using the GetHealthCheckCount
  3554  // API call, and error handling.
  3555  //
  3556  // This method is useful when you want to inject custom logic or configuration
  3557  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3558  //
  3559  //
  3560  //    // Example sending a request using the GetHealthCheckCountRequest method.
  3561  //    req, resp := client.GetHealthCheckCountRequest(params)
  3562  //
  3563  //    err := req.Send()
  3564  //    if err == nil { // resp is now filled
  3565  //        fmt.Println(resp)
  3566  //    }
  3567  //
  3568  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetHealthCheckCount
  3569  func (c *Route53) GetHealthCheckCountRequest(input *GetHealthCheckCountInput) (req *request.Request, output *GetHealthCheckCountOutput) {
  3570  	op := &request.Operation{
  3571  		Name:       opGetHealthCheckCount,
  3572  		HTTPMethod: "GET",
  3573  		HTTPPath:   "/2013-04-01/healthcheckcount",
  3574  	}
  3575  
  3576  	if input == nil {
  3577  		input = &GetHealthCheckCountInput{}
  3578  	}
  3579  
  3580  	output = &GetHealthCheckCountOutput{}
  3581  	req = c.newRequest(op, input, output)
  3582  	return
  3583  }
  3584  
  3585  // GetHealthCheckCount API operation for Amazon Route 53.
  3586  //
  3587  // Retrieves the number of health checks that are associated with the current
  3588  // Amazon Web Services account.
  3589  //
  3590  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3591  // with awserr.Error's Code and Message methods to get detailed information about
  3592  // the error.
  3593  //
  3594  // See the AWS API reference guide for Amazon Route 53's
  3595  // API operation GetHealthCheckCount for usage and error information.
  3596  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetHealthCheckCount
  3597  func (c *Route53) GetHealthCheckCount(input *GetHealthCheckCountInput) (*GetHealthCheckCountOutput, error) {
  3598  	req, out := c.GetHealthCheckCountRequest(input)
  3599  	return out, req.Send()
  3600  }
  3601  
  3602  // GetHealthCheckCountWithContext is the same as GetHealthCheckCount with the addition of
  3603  // the ability to pass a context and additional request options.
  3604  //
  3605  // See GetHealthCheckCount for details on how to use this API operation.
  3606  //
  3607  // The context must be non-nil and will be used for request cancellation. If
  3608  // the context is nil a panic will occur. In the future the SDK may create
  3609  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3610  // for more information on using Contexts.
  3611  func (c *Route53) GetHealthCheckCountWithContext(ctx aws.Context, input *GetHealthCheckCountInput, opts ...request.Option) (*GetHealthCheckCountOutput, error) {
  3612  	req, out := c.GetHealthCheckCountRequest(input)
  3613  	req.SetContext(ctx)
  3614  	req.ApplyOptions(opts...)
  3615  	return out, req.Send()
  3616  }
  3617  
  3618  const opGetHealthCheckLastFailureReason = "GetHealthCheckLastFailureReason"
  3619  
  3620  // GetHealthCheckLastFailureReasonRequest generates a "aws/request.Request" representing the
  3621  // client's request for the GetHealthCheckLastFailureReason operation. The "output" return
  3622  // value will be populated with the request's response once the request completes
  3623  // successfully.
  3624  //
  3625  // Use "Send" method on the returned Request to send the API call to the service.
  3626  // the "output" return value is not valid until after Send returns without error.
  3627  //
  3628  // See GetHealthCheckLastFailureReason for more information on using the GetHealthCheckLastFailureReason
  3629  // API call, and error handling.
  3630  //
  3631  // This method is useful when you want to inject custom logic or configuration
  3632  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3633  //
  3634  //
  3635  //    // Example sending a request using the GetHealthCheckLastFailureReasonRequest method.
  3636  //    req, resp := client.GetHealthCheckLastFailureReasonRequest(params)
  3637  //
  3638  //    err := req.Send()
  3639  //    if err == nil { // resp is now filled
  3640  //        fmt.Println(resp)
  3641  //    }
  3642  //
  3643  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetHealthCheckLastFailureReason
  3644  func (c *Route53) GetHealthCheckLastFailureReasonRequest(input *GetHealthCheckLastFailureReasonInput) (req *request.Request, output *GetHealthCheckLastFailureReasonOutput) {
  3645  	op := &request.Operation{
  3646  		Name:       opGetHealthCheckLastFailureReason,
  3647  		HTTPMethod: "GET",
  3648  		HTTPPath:   "/2013-04-01/healthcheck/{HealthCheckId}/lastfailurereason",
  3649  	}
  3650  
  3651  	if input == nil {
  3652  		input = &GetHealthCheckLastFailureReasonInput{}
  3653  	}
  3654  
  3655  	output = &GetHealthCheckLastFailureReasonOutput{}
  3656  	req = c.newRequest(op, input, output)
  3657  	return
  3658  }
  3659  
  3660  // GetHealthCheckLastFailureReason API operation for Amazon Route 53.
  3661  //
  3662  // Gets the reason that a specified health check failed most recently.
  3663  //
  3664  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3665  // with awserr.Error's Code and Message methods to get detailed information about
  3666  // the error.
  3667  //
  3668  // See the AWS API reference guide for Amazon Route 53's
  3669  // API operation GetHealthCheckLastFailureReason for usage and error information.
  3670  //
  3671  // Returned Error Codes:
  3672  //   * ErrCodeNoSuchHealthCheck "NoSuchHealthCheck"
  3673  //   No health check exists with the specified ID.
  3674  //
  3675  //   * ErrCodeInvalidInput "InvalidInput"
  3676  //   The input is not valid.
  3677  //
  3678  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetHealthCheckLastFailureReason
  3679  func (c *Route53) GetHealthCheckLastFailureReason(input *GetHealthCheckLastFailureReasonInput) (*GetHealthCheckLastFailureReasonOutput, error) {
  3680  	req, out := c.GetHealthCheckLastFailureReasonRequest(input)
  3681  	return out, req.Send()
  3682  }
  3683  
  3684  // GetHealthCheckLastFailureReasonWithContext is the same as GetHealthCheckLastFailureReason with the addition of
  3685  // the ability to pass a context and additional request options.
  3686  //
  3687  // See GetHealthCheckLastFailureReason for details on how to use this API operation.
  3688  //
  3689  // The context must be non-nil and will be used for request cancellation. If
  3690  // the context is nil a panic will occur. In the future the SDK may create
  3691  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3692  // for more information on using Contexts.
  3693  func (c *Route53) GetHealthCheckLastFailureReasonWithContext(ctx aws.Context, input *GetHealthCheckLastFailureReasonInput, opts ...request.Option) (*GetHealthCheckLastFailureReasonOutput, error) {
  3694  	req, out := c.GetHealthCheckLastFailureReasonRequest(input)
  3695  	req.SetContext(ctx)
  3696  	req.ApplyOptions(opts...)
  3697  	return out, req.Send()
  3698  }
  3699  
  3700  const opGetHealthCheckStatus = "GetHealthCheckStatus"
  3701  
  3702  // GetHealthCheckStatusRequest generates a "aws/request.Request" representing the
  3703  // client's request for the GetHealthCheckStatus operation. The "output" return
  3704  // value will be populated with the request's response once the request completes
  3705  // successfully.
  3706  //
  3707  // Use "Send" method on the returned Request to send the API call to the service.
  3708  // the "output" return value is not valid until after Send returns without error.
  3709  //
  3710  // See GetHealthCheckStatus for more information on using the GetHealthCheckStatus
  3711  // API call, and error handling.
  3712  //
  3713  // This method is useful when you want to inject custom logic or configuration
  3714  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3715  //
  3716  //
  3717  //    // Example sending a request using the GetHealthCheckStatusRequest method.
  3718  //    req, resp := client.GetHealthCheckStatusRequest(params)
  3719  //
  3720  //    err := req.Send()
  3721  //    if err == nil { // resp is now filled
  3722  //        fmt.Println(resp)
  3723  //    }
  3724  //
  3725  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetHealthCheckStatus
  3726  func (c *Route53) GetHealthCheckStatusRequest(input *GetHealthCheckStatusInput) (req *request.Request, output *GetHealthCheckStatusOutput) {
  3727  	op := &request.Operation{
  3728  		Name:       opGetHealthCheckStatus,
  3729  		HTTPMethod: "GET",
  3730  		HTTPPath:   "/2013-04-01/healthcheck/{HealthCheckId}/status",
  3731  	}
  3732  
  3733  	if input == nil {
  3734  		input = &GetHealthCheckStatusInput{}
  3735  	}
  3736  
  3737  	output = &GetHealthCheckStatusOutput{}
  3738  	req = c.newRequest(op, input, output)
  3739  	return
  3740  }
  3741  
  3742  // GetHealthCheckStatus API operation for Amazon Route 53.
  3743  //
  3744  // Gets status of a specified health check.
  3745  //
  3746  // This API is intended for use during development to diagnose behavior. It
  3747  // doesn’t support production use-cases with high query rates that require
  3748  // immediate and actionable responses.
  3749  //
  3750  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3751  // with awserr.Error's Code and Message methods to get detailed information about
  3752  // the error.
  3753  //
  3754  // See the AWS API reference guide for Amazon Route 53's
  3755  // API operation GetHealthCheckStatus for usage and error information.
  3756  //
  3757  // Returned Error Codes:
  3758  //   * ErrCodeNoSuchHealthCheck "NoSuchHealthCheck"
  3759  //   No health check exists with the specified ID.
  3760  //
  3761  //   * ErrCodeInvalidInput "InvalidInput"
  3762  //   The input is not valid.
  3763  //
  3764  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetHealthCheckStatus
  3765  func (c *Route53) GetHealthCheckStatus(input *GetHealthCheckStatusInput) (*GetHealthCheckStatusOutput, error) {
  3766  	req, out := c.GetHealthCheckStatusRequest(input)
  3767  	return out, req.Send()
  3768  }
  3769  
  3770  // GetHealthCheckStatusWithContext is the same as GetHealthCheckStatus with the addition of
  3771  // the ability to pass a context and additional request options.
  3772  //
  3773  // See GetHealthCheckStatus for details on how to use this API operation.
  3774  //
  3775  // The context must be non-nil and will be used for request cancellation. If
  3776  // the context is nil a panic will occur. In the future the SDK may create
  3777  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3778  // for more information on using Contexts.
  3779  func (c *Route53) GetHealthCheckStatusWithContext(ctx aws.Context, input *GetHealthCheckStatusInput, opts ...request.Option) (*GetHealthCheckStatusOutput, error) {
  3780  	req, out := c.GetHealthCheckStatusRequest(input)
  3781  	req.SetContext(ctx)
  3782  	req.ApplyOptions(opts...)
  3783  	return out, req.Send()
  3784  }
  3785  
  3786  const opGetHostedZone = "GetHostedZone"
  3787  
  3788  // GetHostedZoneRequest generates a "aws/request.Request" representing the
  3789  // client's request for the GetHostedZone operation. The "output" return
  3790  // value will be populated with the request's response once the request completes
  3791  // successfully.
  3792  //
  3793  // Use "Send" method on the returned Request to send the API call to the service.
  3794  // the "output" return value is not valid until after Send returns without error.
  3795  //
  3796  // See GetHostedZone for more information on using the GetHostedZone
  3797  // API call, and error handling.
  3798  //
  3799  // This method is useful when you want to inject custom logic or configuration
  3800  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3801  //
  3802  //
  3803  //    // Example sending a request using the GetHostedZoneRequest method.
  3804  //    req, resp := client.GetHostedZoneRequest(params)
  3805  //
  3806  //    err := req.Send()
  3807  //    if err == nil { // resp is now filled
  3808  //        fmt.Println(resp)
  3809  //    }
  3810  //
  3811  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetHostedZone
  3812  func (c *Route53) GetHostedZoneRequest(input *GetHostedZoneInput) (req *request.Request, output *GetHostedZoneOutput) {
  3813  	op := &request.Operation{
  3814  		Name:       opGetHostedZone,
  3815  		HTTPMethod: "GET",
  3816  		HTTPPath:   "/2013-04-01/hostedzone/{Id}",
  3817  	}
  3818  
  3819  	if input == nil {
  3820  		input = &GetHostedZoneInput{}
  3821  	}
  3822  
  3823  	output = &GetHostedZoneOutput{}
  3824  	req = c.newRequest(op, input, output)
  3825  	return
  3826  }
  3827  
  3828  // GetHostedZone API operation for Amazon Route 53.
  3829  //
  3830  // Gets information about a specified hosted zone including the four name servers
  3831  // assigned to the hosted zone.
  3832  //
  3833  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3834  // with awserr.Error's Code and Message methods to get detailed information about
  3835  // the error.
  3836  //
  3837  // See the AWS API reference guide for Amazon Route 53's
  3838  // API operation GetHostedZone for usage and error information.
  3839  //
  3840  // Returned Error Codes:
  3841  //   * ErrCodeNoSuchHostedZone "NoSuchHostedZone"
  3842  //   No hosted zone exists with the ID that you specified.
  3843  //
  3844  //   * ErrCodeInvalidInput "InvalidInput"
  3845  //   The input is not valid.
  3846  //
  3847  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetHostedZone
  3848  func (c *Route53) GetHostedZone(input *GetHostedZoneInput) (*GetHostedZoneOutput, error) {
  3849  	req, out := c.GetHostedZoneRequest(input)
  3850  	return out, req.Send()
  3851  }
  3852  
  3853  // GetHostedZoneWithContext is the same as GetHostedZone with the addition of
  3854  // the ability to pass a context and additional request options.
  3855  //
  3856  // See GetHostedZone for details on how to use this API operation.
  3857  //
  3858  // The context must be non-nil and will be used for request cancellation. If
  3859  // the context is nil a panic will occur. In the future the SDK may create
  3860  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3861  // for more information on using Contexts.
  3862  func (c *Route53) GetHostedZoneWithContext(ctx aws.Context, input *GetHostedZoneInput, opts ...request.Option) (*GetHostedZoneOutput, error) {
  3863  	req, out := c.GetHostedZoneRequest(input)
  3864  	req.SetContext(ctx)
  3865  	req.ApplyOptions(opts...)
  3866  	return out, req.Send()
  3867  }
  3868  
  3869  const opGetHostedZoneCount = "GetHostedZoneCount"
  3870  
  3871  // GetHostedZoneCountRequest generates a "aws/request.Request" representing the
  3872  // client's request for the GetHostedZoneCount operation. The "output" return
  3873  // value will be populated with the request's response once the request completes
  3874  // successfully.
  3875  //
  3876  // Use "Send" method on the returned Request to send the API call to the service.
  3877  // the "output" return value is not valid until after Send returns without error.
  3878  //
  3879  // See GetHostedZoneCount for more information on using the GetHostedZoneCount
  3880  // API call, and error handling.
  3881  //
  3882  // This method is useful when you want to inject custom logic or configuration
  3883  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3884  //
  3885  //
  3886  //    // Example sending a request using the GetHostedZoneCountRequest method.
  3887  //    req, resp := client.GetHostedZoneCountRequest(params)
  3888  //
  3889  //    err := req.Send()
  3890  //    if err == nil { // resp is now filled
  3891  //        fmt.Println(resp)
  3892  //    }
  3893  //
  3894  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetHostedZoneCount
  3895  func (c *Route53) GetHostedZoneCountRequest(input *GetHostedZoneCountInput) (req *request.Request, output *GetHostedZoneCountOutput) {
  3896  	op := &request.Operation{
  3897  		Name:       opGetHostedZoneCount,
  3898  		HTTPMethod: "GET",
  3899  		HTTPPath:   "/2013-04-01/hostedzonecount",
  3900  	}
  3901  
  3902  	if input == nil {
  3903  		input = &GetHostedZoneCountInput{}
  3904  	}
  3905  
  3906  	output = &GetHostedZoneCountOutput{}
  3907  	req = c.newRequest(op, input, output)
  3908  	return
  3909  }
  3910  
  3911  // GetHostedZoneCount API operation for Amazon Route 53.
  3912  //
  3913  // Retrieves the number of hosted zones that are associated with the current
  3914  // Amazon Web Services account.
  3915  //
  3916  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3917  // with awserr.Error's Code and Message methods to get detailed information about
  3918  // the error.
  3919  //
  3920  // See the AWS API reference guide for Amazon Route 53's
  3921  // API operation GetHostedZoneCount for usage and error information.
  3922  //
  3923  // Returned Error Codes:
  3924  //   * ErrCodeInvalidInput "InvalidInput"
  3925  //   The input is not valid.
  3926  //
  3927  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetHostedZoneCount
  3928  func (c *Route53) GetHostedZoneCount(input *GetHostedZoneCountInput) (*GetHostedZoneCountOutput, error) {
  3929  	req, out := c.GetHostedZoneCountRequest(input)
  3930  	return out, req.Send()
  3931  }
  3932  
  3933  // GetHostedZoneCountWithContext is the same as GetHostedZoneCount with the addition of
  3934  // the ability to pass a context and additional request options.
  3935  //
  3936  // See GetHostedZoneCount for details on how to use this API operation.
  3937  //
  3938  // The context must be non-nil and will be used for request cancellation. If
  3939  // the context is nil a panic will occur. In the future the SDK may create
  3940  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3941  // for more information on using Contexts.
  3942  func (c *Route53) GetHostedZoneCountWithContext(ctx aws.Context, input *GetHostedZoneCountInput, opts ...request.Option) (*GetHostedZoneCountOutput, error) {
  3943  	req, out := c.GetHostedZoneCountRequest(input)
  3944  	req.SetContext(ctx)
  3945  	req.ApplyOptions(opts...)
  3946  	return out, req.Send()
  3947  }
  3948  
  3949  const opGetHostedZoneLimit = "GetHostedZoneLimit"
  3950  
  3951  // GetHostedZoneLimitRequest generates a "aws/request.Request" representing the
  3952  // client's request for the GetHostedZoneLimit operation. The "output" return
  3953  // value will be populated with the request's response once the request completes
  3954  // successfully.
  3955  //
  3956  // Use "Send" method on the returned Request to send the API call to the service.
  3957  // the "output" return value is not valid until after Send returns without error.
  3958  //
  3959  // See GetHostedZoneLimit for more information on using the GetHostedZoneLimit
  3960  // API call, and error handling.
  3961  //
  3962  // This method is useful when you want to inject custom logic or configuration
  3963  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3964  //
  3965  //
  3966  //    // Example sending a request using the GetHostedZoneLimitRequest method.
  3967  //    req, resp := client.GetHostedZoneLimitRequest(params)
  3968  //
  3969  //    err := req.Send()
  3970  //    if err == nil { // resp is now filled
  3971  //        fmt.Println(resp)
  3972  //    }
  3973  //
  3974  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetHostedZoneLimit
  3975  func (c *Route53) GetHostedZoneLimitRequest(input *GetHostedZoneLimitInput) (req *request.Request, output *GetHostedZoneLimitOutput) {
  3976  	op := &request.Operation{
  3977  		Name:       opGetHostedZoneLimit,
  3978  		HTTPMethod: "GET",
  3979  		HTTPPath:   "/2013-04-01/hostedzonelimit/{Id}/{Type}",
  3980  	}
  3981  
  3982  	if input == nil {
  3983  		input = &GetHostedZoneLimitInput{}
  3984  	}
  3985  
  3986  	output = &GetHostedZoneLimitOutput{}
  3987  	req = c.newRequest(op, input, output)
  3988  	return
  3989  }
  3990  
  3991  // GetHostedZoneLimit API operation for Amazon Route 53.
  3992  //
  3993  // Gets the specified limit for a specified hosted zone, for example, the maximum
  3994  // number of records that you can create in the hosted zone.
  3995  //
  3996  // For the default limit, see Limits (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DNSLimitations.html)
  3997  // in the Amazon Route 53 Developer Guide. To request a higher limit, open a
  3998  // case (https://console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase&limitType=service-code-route53).
  3999  //
  4000  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4001  // with awserr.Error's Code and Message methods to get detailed information about
  4002  // the error.
  4003  //
  4004  // See the AWS API reference guide for Amazon Route 53's
  4005  // API operation GetHostedZoneLimit for usage and error information.
  4006  //
  4007  // Returned Error Codes:
  4008  //   * ErrCodeNoSuchHostedZone "NoSuchHostedZone"
  4009  //   No hosted zone exists with the ID that you specified.
  4010  //
  4011  //   * ErrCodeInvalidInput "InvalidInput"
  4012  //   The input is not valid.
  4013  //
  4014  //   * ErrCodeHostedZoneNotPrivate "HostedZoneNotPrivate"
  4015  //   The specified hosted zone is a public hosted zone, not a private hosted zone.
  4016  //
  4017  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetHostedZoneLimit
  4018  func (c *Route53) GetHostedZoneLimit(input *GetHostedZoneLimitInput) (*GetHostedZoneLimitOutput, error) {
  4019  	req, out := c.GetHostedZoneLimitRequest(input)
  4020  	return out, req.Send()
  4021  }
  4022  
  4023  // GetHostedZoneLimitWithContext is the same as GetHostedZoneLimit with the addition of
  4024  // the ability to pass a context and additional request options.
  4025  //
  4026  // See GetHostedZoneLimit for details on how to use this API operation.
  4027  //
  4028  // The context must be non-nil and will be used for request cancellation. If
  4029  // the context is nil a panic will occur. In the future the SDK may create
  4030  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4031  // for more information on using Contexts.
  4032  func (c *Route53) GetHostedZoneLimitWithContext(ctx aws.Context, input *GetHostedZoneLimitInput, opts ...request.Option) (*GetHostedZoneLimitOutput, error) {
  4033  	req, out := c.GetHostedZoneLimitRequest(input)
  4034  	req.SetContext(ctx)
  4035  	req.ApplyOptions(opts...)
  4036  	return out, req.Send()
  4037  }
  4038  
  4039  const opGetQueryLoggingConfig = "GetQueryLoggingConfig"
  4040  
  4041  // GetQueryLoggingConfigRequest generates a "aws/request.Request" representing the
  4042  // client's request for the GetQueryLoggingConfig operation. The "output" return
  4043  // value will be populated with the request's response once the request completes
  4044  // successfully.
  4045  //
  4046  // Use "Send" method on the returned Request to send the API call to the service.
  4047  // the "output" return value is not valid until after Send returns without error.
  4048  //
  4049  // See GetQueryLoggingConfig for more information on using the GetQueryLoggingConfig
  4050  // API call, and error handling.
  4051  //
  4052  // This method is useful when you want to inject custom logic or configuration
  4053  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4054  //
  4055  //
  4056  //    // Example sending a request using the GetQueryLoggingConfigRequest method.
  4057  //    req, resp := client.GetQueryLoggingConfigRequest(params)
  4058  //
  4059  //    err := req.Send()
  4060  //    if err == nil { // resp is now filled
  4061  //        fmt.Println(resp)
  4062  //    }
  4063  //
  4064  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetQueryLoggingConfig
  4065  func (c *Route53) GetQueryLoggingConfigRequest(input *GetQueryLoggingConfigInput) (req *request.Request, output *GetQueryLoggingConfigOutput) {
  4066  	op := &request.Operation{
  4067  		Name:       opGetQueryLoggingConfig,
  4068  		HTTPMethod: "GET",
  4069  		HTTPPath:   "/2013-04-01/queryloggingconfig/{Id}",
  4070  	}
  4071  
  4072  	if input == nil {
  4073  		input = &GetQueryLoggingConfigInput{}
  4074  	}
  4075  
  4076  	output = &GetQueryLoggingConfigOutput{}
  4077  	req = c.newRequest(op, input, output)
  4078  	return
  4079  }
  4080  
  4081  // GetQueryLoggingConfig API operation for Amazon Route 53.
  4082  //
  4083  // Gets information about a specified configuration for DNS query logging.
  4084  //
  4085  // For more information about DNS query logs, see CreateQueryLoggingConfig (https://docs.aws.amazon.com/Route53/latest/APIReference/API_CreateQueryLoggingConfig.html)
  4086  // and Logging DNS Queries (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/query-logs.html).
  4087  //
  4088  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4089  // with awserr.Error's Code and Message methods to get detailed information about
  4090  // the error.
  4091  //
  4092  // See the AWS API reference guide for Amazon Route 53's
  4093  // API operation GetQueryLoggingConfig for usage and error information.
  4094  //
  4095  // Returned Error Codes:
  4096  //   * ErrCodeNoSuchQueryLoggingConfig "NoSuchQueryLoggingConfig"
  4097  //   There is no DNS query logging configuration with the specified ID.
  4098  //
  4099  //   * ErrCodeInvalidInput "InvalidInput"
  4100  //   The input is not valid.
  4101  //
  4102  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetQueryLoggingConfig
  4103  func (c *Route53) GetQueryLoggingConfig(input *GetQueryLoggingConfigInput) (*GetQueryLoggingConfigOutput, error) {
  4104  	req, out := c.GetQueryLoggingConfigRequest(input)
  4105  	return out, req.Send()
  4106  }
  4107  
  4108  // GetQueryLoggingConfigWithContext is the same as GetQueryLoggingConfig with the addition of
  4109  // the ability to pass a context and additional request options.
  4110  //
  4111  // See GetQueryLoggingConfig for details on how to use this API operation.
  4112  //
  4113  // The context must be non-nil and will be used for request cancellation. If
  4114  // the context is nil a panic will occur. In the future the SDK may create
  4115  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4116  // for more information on using Contexts.
  4117  func (c *Route53) GetQueryLoggingConfigWithContext(ctx aws.Context, input *GetQueryLoggingConfigInput, opts ...request.Option) (*GetQueryLoggingConfigOutput, error) {
  4118  	req, out := c.GetQueryLoggingConfigRequest(input)
  4119  	req.SetContext(ctx)
  4120  	req.ApplyOptions(opts...)
  4121  	return out, req.Send()
  4122  }
  4123  
  4124  const opGetReusableDelegationSet = "GetReusableDelegationSet"
  4125  
  4126  // GetReusableDelegationSetRequest generates a "aws/request.Request" representing the
  4127  // client's request for the GetReusableDelegationSet operation. The "output" return
  4128  // value will be populated with the request's response once the request completes
  4129  // successfully.
  4130  //
  4131  // Use "Send" method on the returned Request to send the API call to the service.
  4132  // the "output" return value is not valid until after Send returns without error.
  4133  //
  4134  // See GetReusableDelegationSet for more information on using the GetReusableDelegationSet
  4135  // API call, and error handling.
  4136  //
  4137  // This method is useful when you want to inject custom logic or configuration
  4138  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4139  //
  4140  //
  4141  //    // Example sending a request using the GetReusableDelegationSetRequest method.
  4142  //    req, resp := client.GetReusableDelegationSetRequest(params)
  4143  //
  4144  //    err := req.Send()
  4145  //    if err == nil { // resp is now filled
  4146  //        fmt.Println(resp)
  4147  //    }
  4148  //
  4149  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetReusableDelegationSet
  4150  func (c *Route53) GetReusableDelegationSetRequest(input *GetReusableDelegationSetInput) (req *request.Request, output *GetReusableDelegationSetOutput) {
  4151  	op := &request.Operation{
  4152  		Name:       opGetReusableDelegationSet,
  4153  		HTTPMethod: "GET",
  4154  		HTTPPath:   "/2013-04-01/delegationset/{Id}",
  4155  	}
  4156  
  4157  	if input == nil {
  4158  		input = &GetReusableDelegationSetInput{}
  4159  	}
  4160  
  4161  	output = &GetReusableDelegationSetOutput{}
  4162  	req = c.newRequest(op, input, output)
  4163  	return
  4164  }
  4165  
  4166  // GetReusableDelegationSet API operation for Amazon Route 53.
  4167  //
  4168  // Retrieves information about a specified reusable delegation set, including
  4169  // the four name servers that are assigned to the delegation set.
  4170  //
  4171  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4172  // with awserr.Error's Code and Message methods to get detailed information about
  4173  // the error.
  4174  //
  4175  // See the AWS API reference guide for Amazon Route 53's
  4176  // API operation GetReusableDelegationSet for usage and error information.
  4177  //
  4178  // Returned Error Codes:
  4179  //   * ErrCodeNoSuchDelegationSet "NoSuchDelegationSet"
  4180  //   A reusable delegation set with the specified ID does not exist.
  4181  //
  4182  //   * ErrCodeDelegationSetNotReusable "DelegationSetNotReusable"
  4183  //   A reusable delegation set with the specified ID does not exist.
  4184  //
  4185  //   * ErrCodeInvalidInput "InvalidInput"
  4186  //   The input is not valid.
  4187  //
  4188  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetReusableDelegationSet
  4189  func (c *Route53) GetReusableDelegationSet(input *GetReusableDelegationSetInput) (*GetReusableDelegationSetOutput, error) {
  4190  	req, out := c.GetReusableDelegationSetRequest(input)
  4191  	return out, req.Send()
  4192  }
  4193  
  4194  // GetReusableDelegationSetWithContext is the same as GetReusableDelegationSet with the addition of
  4195  // the ability to pass a context and additional request options.
  4196  //
  4197  // See GetReusableDelegationSet for details on how to use this API operation.
  4198  //
  4199  // The context must be non-nil and will be used for request cancellation. If
  4200  // the context is nil a panic will occur. In the future the SDK may create
  4201  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4202  // for more information on using Contexts.
  4203  func (c *Route53) GetReusableDelegationSetWithContext(ctx aws.Context, input *GetReusableDelegationSetInput, opts ...request.Option) (*GetReusableDelegationSetOutput, error) {
  4204  	req, out := c.GetReusableDelegationSetRequest(input)
  4205  	req.SetContext(ctx)
  4206  	req.ApplyOptions(opts...)
  4207  	return out, req.Send()
  4208  }
  4209  
  4210  const opGetReusableDelegationSetLimit = "GetReusableDelegationSetLimit"
  4211  
  4212  // GetReusableDelegationSetLimitRequest generates a "aws/request.Request" representing the
  4213  // client's request for the GetReusableDelegationSetLimit operation. The "output" return
  4214  // value will be populated with the request's response once the request completes
  4215  // successfully.
  4216  //
  4217  // Use "Send" method on the returned Request to send the API call to the service.
  4218  // the "output" return value is not valid until after Send returns without error.
  4219  //
  4220  // See GetReusableDelegationSetLimit for more information on using the GetReusableDelegationSetLimit
  4221  // API call, and error handling.
  4222  //
  4223  // This method is useful when you want to inject custom logic or configuration
  4224  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4225  //
  4226  //
  4227  //    // Example sending a request using the GetReusableDelegationSetLimitRequest method.
  4228  //    req, resp := client.GetReusableDelegationSetLimitRequest(params)
  4229  //
  4230  //    err := req.Send()
  4231  //    if err == nil { // resp is now filled
  4232  //        fmt.Println(resp)
  4233  //    }
  4234  //
  4235  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetReusableDelegationSetLimit
  4236  func (c *Route53) GetReusableDelegationSetLimitRequest(input *GetReusableDelegationSetLimitInput) (req *request.Request, output *GetReusableDelegationSetLimitOutput) {
  4237  	op := &request.Operation{
  4238  		Name:       opGetReusableDelegationSetLimit,
  4239  		HTTPMethod: "GET",
  4240  		HTTPPath:   "/2013-04-01/reusabledelegationsetlimit/{Id}/{Type}",
  4241  	}
  4242  
  4243  	if input == nil {
  4244  		input = &GetReusableDelegationSetLimitInput{}
  4245  	}
  4246  
  4247  	output = &GetReusableDelegationSetLimitOutput{}
  4248  	req = c.newRequest(op, input, output)
  4249  	return
  4250  }
  4251  
  4252  // GetReusableDelegationSetLimit API operation for Amazon Route 53.
  4253  //
  4254  // Gets the maximum number of hosted zones that you can associate with the specified
  4255  // reusable delegation set.
  4256  //
  4257  // For the default limit, see Limits (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DNSLimitations.html)
  4258  // in the Amazon Route 53 Developer Guide. To request a higher limit, open a
  4259  // case (https://console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase&limitType=service-code-route53).
  4260  //
  4261  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4262  // with awserr.Error's Code and Message methods to get detailed information about
  4263  // the error.
  4264  //
  4265  // See the AWS API reference guide for Amazon Route 53's
  4266  // API operation GetReusableDelegationSetLimit for usage and error information.
  4267  //
  4268  // Returned Error Codes:
  4269  //   * ErrCodeInvalidInput "InvalidInput"
  4270  //   The input is not valid.
  4271  //
  4272  //   * ErrCodeNoSuchDelegationSet "NoSuchDelegationSet"
  4273  //   A reusable delegation set with the specified ID does not exist.
  4274  //
  4275  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetReusableDelegationSetLimit
  4276  func (c *Route53) GetReusableDelegationSetLimit(input *GetReusableDelegationSetLimitInput) (*GetReusableDelegationSetLimitOutput, error) {
  4277  	req, out := c.GetReusableDelegationSetLimitRequest(input)
  4278  	return out, req.Send()
  4279  }
  4280  
  4281  // GetReusableDelegationSetLimitWithContext is the same as GetReusableDelegationSetLimit with the addition of
  4282  // the ability to pass a context and additional request options.
  4283  //
  4284  // See GetReusableDelegationSetLimit for details on how to use this API operation.
  4285  //
  4286  // The context must be non-nil and will be used for request cancellation. If
  4287  // the context is nil a panic will occur. In the future the SDK may create
  4288  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4289  // for more information on using Contexts.
  4290  func (c *Route53) GetReusableDelegationSetLimitWithContext(ctx aws.Context, input *GetReusableDelegationSetLimitInput, opts ...request.Option) (*GetReusableDelegationSetLimitOutput, error) {
  4291  	req, out := c.GetReusableDelegationSetLimitRequest(input)
  4292  	req.SetContext(ctx)
  4293  	req.ApplyOptions(opts...)
  4294  	return out, req.Send()
  4295  }
  4296  
  4297  const opGetTrafficPolicy = "GetTrafficPolicy"
  4298  
  4299  // GetTrafficPolicyRequest generates a "aws/request.Request" representing the
  4300  // client's request for the GetTrafficPolicy operation. The "output" return
  4301  // value will be populated with the request's response once the request completes
  4302  // successfully.
  4303  //
  4304  // Use "Send" method on the returned Request to send the API call to the service.
  4305  // the "output" return value is not valid until after Send returns without error.
  4306  //
  4307  // See GetTrafficPolicy for more information on using the GetTrafficPolicy
  4308  // API call, and error handling.
  4309  //
  4310  // This method is useful when you want to inject custom logic or configuration
  4311  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4312  //
  4313  //
  4314  //    // Example sending a request using the GetTrafficPolicyRequest method.
  4315  //    req, resp := client.GetTrafficPolicyRequest(params)
  4316  //
  4317  //    err := req.Send()
  4318  //    if err == nil { // resp is now filled
  4319  //        fmt.Println(resp)
  4320  //    }
  4321  //
  4322  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetTrafficPolicy
  4323  func (c *Route53) GetTrafficPolicyRequest(input *GetTrafficPolicyInput) (req *request.Request, output *GetTrafficPolicyOutput) {
  4324  	op := &request.Operation{
  4325  		Name:       opGetTrafficPolicy,
  4326  		HTTPMethod: "GET",
  4327  		HTTPPath:   "/2013-04-01/trafficpolicy/{Id}/{Version}",
  4328  	}
  4329  
  4330  	if input == nil {
  4331  		input = &GetTrafficPolicyInput{}
  4332  	}
  4333  
  4334  	output = &GetTrafficPolicyOutput{}
  4335  	req = c.newRequest(op, input, output)
  4336  	return
  4337  }
  4338  
  4339  // GetTrafficPolicy API operation for Amazon Route 53.
  4340  //
  4341  // Gets information about a specific traffic policy version.
  4342  //
  4343  // For information about how of deleting a traffic policy affects the response
  4344  // from GetTrafficPolicy, see DeleteTrafficPolicy (https://docs.aws.amazon.com/Route53/latest/APIReference/API_DeleteTrafficPolicy.html).
  4345  //
  4346  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4347  // with awserr.Error's Code and Message methods to get detailed information about
  4348  // the error.
  4349  //
  4350  // See the AWS API reference guide for Amazon Route 53's
  4351  // API operation GetTrafficPolicy for usage and error information.
  4352  //
  4353  // Returned Error Codes:
  4354  //   * ErrCodeNoSuchTrafficPolicy "NoSuchTrafficPolicy"
  4355  //   No traffic policy exists with the specified ID.
  4356  //
  4357  //   * ErrCodeInvalidInput "InvalidInput"
  4358  //   The input is not valid.
  4359  //
  4360  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetTrafficPolicy
  4361  func (c *Route53) GetTrafficPolicy(input *GetTrafficPolicyInput) (*GetTrafficPolicyOutput, error) {
  4362  	req, out := c.GetTrafficPolicyRequest(input)
  4363  	return out, req.Send()
  4364  }
  4365  
  4366  // GetTrafficPolicyWithContext is the same as GetTrafficPolicy with the addition of
  4367  // the ability to pass a context and additional request options.
  4368  //
  4369  // See GetTrafficPolicy for details on how to use this API operation.
  4370  //
  4371  // The context must be non-nil and will be used for request cancellation. If
  4372  // the context is nil a panic will occur. In the future the SDK may create
  4373  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4374  // for more information on using Contexts.
  4375  func (c *Route53) GetTrafficPolicyWithContext(ctx aws.Context, input *GetTrafficPolicyInput, opts ...request.Option) (*GetTrafficPolicyOutput, error) {
  4376  	req, out := c.GetTrafficPolicyRequest(input)
  4377  	req.SetContext(ctx)
  4378  	req.ApplyOptions(opts...)
  4379  	return out, req.Send()
  4380  }
  4381  
  4382  const opGetTrafficPolicyInstance = "GetTrafficPolicyInstance"
  4383  
  4384  // GetTrafficPolicyInstanceRequest generates a "aws/request.Request" representing the
  4385  // client's request for the GetTrafficPolicyInstance operation. The "output" return
  4386  // value will be populated with the request's response once the request completes
  4387  // successfully.
  4388  //
  4389  // Use "Send" method on the returned Request to send the API call to the service.
  4390  // the "output" return value is not valid until after Send returns without error.
  4391  //
  4392  // See GetTrafficPolicyInstance for more information on using the GetTrafficPolicyInstance
  4393  // API call, and error handling.
  4394  //
  4395  // This method is useful when you want to inject custom logic or configuration
  4396  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4397  //
  4398  //
  4399  //    // Example sending a request using the GetTrafficPolicyInstanceRequest method.
  4400  //    req, resp := client.GetTrafficPolicyInstanceRequest(params)
  4401  //
  4402  //    err := req.Send()
  4403  //    if err == nil { // resp is now filled
  4404  //        fmt.Println(resp)
  4405  //    }
  4406  //
  4407  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetTrafficPolicyInstance
  4408  func (c *Route53) GetTrafficPolicyInstanceRequest(input *GetTrafficPolicyInstanceInput) (req *request.Request, output *GetTrafficPolicyInstanceOutput) {
  4409  	op := &request.Operation{
  4410  		Name:       opGetTrafficPolicyInstance,
  4411  		HTTPMethod: "GET",
  4412  		HTTPPath:   "/2013-04-01/trafficpolicyinstance/{Id}",
  4413  	}
  4414  
  4415  	if input == nil {
  4416  		input = &GetTrafficPolicyInstanceInput{}
  4417  	}
  4418  
  4419  	output = &GetTrafficPolicyInstanceOutput{}
  4420  	req = c.newRequest(op, input, output)
  4421  	return
  4422  }
  4423  
  4424  // GetTrafficPolicyInstance API operation for Amazon Route 53.
  4425  //
  4426  // Gets information about a specified traffic policy instance.
  4427  //
  4428  // After you submit a CreateTrafficPolicyInstance or an UpdateTrafficPolicyInstance
  4429  // request, there's a brief delay while Amazon Route 53 creates the resource
  4430  // record sets that are specified in the traffic policy definition. For more
  4431  // information, see the State response element.
  4432  //
  4433  // In the Route 53 console, traffic policy instances are known as policy records.
  4434  //
  4435  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4436  // with awserr.Error's Code and Message methods to get detailed information about
  4437  // the error.
  4438  //
  4439  // See the AWS API reference guide for Amazon Route 53's
  4440  // API operation GetTrafficPolicyInstance for usage and error information.
  4441  //
  4442  // Returned Error Codes:
  4443  //   * ErrCodeNoSuchTrafficPolicyInstance "NoSuchTrafficPolicyInstance"
  4444  //   No traffic policy instance exists with the specified ID.
  4445  //
  4446  //   * ErrCodeInvalidInput "InvalidInput"
  4447  //   The input is not valid.
  4448  //
  4449  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetTrafficPolicyInstance
  4450  func (c *Route53) GetTrafficPolicyInstance(input *GetTrafficPolicyInstanceInput) (*GetTrafficPolicyInstanceOutput, error) {
  4451  	req, out := c.GetTrafficPolicyInstanceRequest(input)
  4452  	return out, req.Send()
  4453  }
  4454  
  4455  // GetTrafficPolicyInstanceWithContext is the same as GetTrafficPolicyInstance with the addition of
  4456  // the ability to pass a context and additional request options.
  4457  //
  4458  // See GetTrafficPolicyInstance for details on how to use this API operation.
  4459  //
  4460  // The context must be non-nil and will be used for request cancellation. If
  4461  // the context is nil a panic will occur. In the future the SDK may create
  4462  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4463  // for more information on using Contexts.
  4464  func (c *Route53) GetTrafficPolicyInstanceWithContext(ctx aws.Context, input *GetTrafficPolicyInstanceInput, opts ...request.Option) (*GetTrafficPolicyInstanceOutput, error) {
  4465  	req, out := c.GetTrafficPolicyInstanceRequest(input)
  4466  	req.SetContext(ctx)
  4467  	req.ApplyOptions(opts...)
  4468  	return out, req.Send()
  4469  }
  4470  
  4471  const opGetTrafficPolicyInstanceCount = "GetTrafficPolicyInstanceCount"
  4472  
  4473  // GetTrafficPolicyInstanceCountRequest generates a "aws/request.Request" representing the
  4474  // client's request for the GetTrafficPolicyInstanceCount operation. The "output" return
  4475  // value will be populated with the request's response once the request completes
  4476  // successfully.
  4477  //
  4478  // Use "Send" method on the returned Request to send the API call to the service.
  4479  // the "output" return value is not valid until after Send returns without error.
  4480  //
  4481  // See GetTrafficPolicyInstanceCount for more information on using the GetTrafficPolicyInstanceCount
  4482  // API call, and error handling.
  4483  //
  4484  // This method is useful when you want to inject custom logic or configuration
  4485  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4486  //
  4487  //
  4488  //    // Example sending a request using the GetTrafficPolicyInstanceCountRequest method.
  4489  //    req, resp := client.GetTrafficPolicyInstanceCountRequest(params)
  4490  //
  4491  //    err := req.Send()
  4492  //    if err == nil { // resp is now filled
  4493  //        fmt.Println(resp)
  4494  //    }
  4495  //
  4496  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetTrafficPolicyInstanceCount
  4497  func (c *Route53) GetTrafficPolicyInstanceCountRequest(input *GetTrafficPolicyInstanceCountInput) (req *request.Request, output *GetTrafficPolicyInstanceCountOutput) {
  4498  	op := &request.Operation{
  4499  		Name:       opGetTrafficPolicyInstanceCount,
  4500  		HTTPMethod: "GET",
  4501  		HTTPPath:   "/2013-04-01/trafficpolicyinstancecount",
  4502  	}
  4503  
  4504  	if input == nil {
  4505  		input = &GetTrafficPolicyInstanceCountInput{}
  4506  	}
  4507  
  4508  	output = &GetTrafficPolicyInstanceCountOutput{}
  4509  	req = c.newRequest(op, input, output)
  4510  	return
  4511  }
  4512  
  4513  // GetTrafficPolicyInstanceCount API operation for Amazon Route 53.
  4514  //
  4515  // Gets the number of traffic policy instances that are associated with the
  4516  // current Amazon Web Services account.
  4517  //
  4518  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4519  // with awserr.Error's Code and Message methods to get detailed information about
  4520  // the error.
  4521  //
  4522  // See the AWS API reference guide for Amazon Route 53's
  4523  // API operation GetTrafficPolicyInstanceCount for usage and error information.
  4524  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetTrafficPolicyInstanceCount
  4525  func (c *Route53) GetTrafficPolicyInstanceCount(input *GetTrafficPolicyInstanceCountInput) (*GetTrafficPolicyInstanceCountOutput, error) {
  4526  	req, out := c.GetTrafficPolicyInstanceCountRequest(input)
  4527  	return out, req.Send()
  4528  }
  4529  
  4530  // GetTrafficPolicyInstanceCountWithContext is the same as GetTrafficPolicyInstanceCount with the addition of
  4531  // the ability to pass a context and additional request options.
  4532  //
  4533  // See GetTrafficPolicyInstanceCount for details on how to use this API operation.
  4534  //
  4535  // The context must be non-nil and will be used for request cancellation. If
  4536  // the context is nil a panic will occur. In the future the SDK may create
  4537  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4538  // for more information on using Contexts.
  4539  func (c *Route53) GetTrafficPolicyInstanceCountWithContext(ctx aws.Context, input *GetTrafficPolicyInstanceCountInput, opts ...request.Option) (*GetTrafficPolicyInstanceCountOutput, error) {
  4540  	req, out := c.GetTrafficPolicyInstanceCountRequest(input)
  4541  	req.SetContext(ctx)
  4542  	req.ApplyOptions(opts...)
  4543  	return out, req.Send()
  4544  }
  4545  
  4546  const opListGeoLocations = "ListGeoLocations"
  4547  
  4548  // ListGeoLocationsRequest generates a "aws/request.Request" representing the
  4549  // client's request for the ListGeoLocations operation. The "output" return
  4550  // value will be populated with the request's response once the request completes
  4551  // successfully.
  4552  //
  4553  // Use "Send" method on the returned Request to send the API call to the service.
  4554  // the "output" return value is not valid until after Send returns without error.
  4555  //
  4556  // See ListGeoLocations for more information on using the ListGeoLocations
  4557  // API call, and error handling.
  4558  //
  4559  // This method is useful when you want to inject custom logic or configuration
  4560  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4561  //
  4562  //
  4563  //    // Example sending a request using the ListGeoLocationsRequest method.
  4564  //    req, resp := client.ListGeoLocationsRequest(params)
  4565  //
  4566  //    err := req.Send()
  4567  //    if err == nil { // resp is now filled
  4568  //        fmt.Println(resp)
  4569  //    }
  4570  //
  4571  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListGeoLocations
  4572  func (c *Route53) ListGeoLocationsRequest(input *ListGeoLocationsInput) (req *request.Request, output *ListGeoLocationsOutput) {
  4573  	op := &request.Operation{
  4574  		Name:       opListGeoLocations,
  4575  		HTTPMethod: "GET",
  4576  		HTTPPath:   "/2013-04-01/geolocations",
  4577  	}
  4578  
  4579  	if input == nil {
  4580  		input = &ListGeoLocationsInput{}
  4581  	}
  4582  
  4583  	output = &ListGeoLocationsOutput{}
  4584  	req = c.newRequest(op, input, output)
  4585  	return
  4586  }
  4587  
  4588  // ListGeoLocations API operation for Amazon Route 53.
  4589  //
  4590  // Retrieves a list of supported geographic locations.
  4591  //
  4592  // Countries are listed first, and continents are listed last. If Amazon Route
  4593  // 53 supports subdivisions for a country (for example, states or provinces),
  4594  // the subdivisions for that country are listed in alphabetical order immediately
  4595  // after the corresponding country.
  4596  //
  4597  // Route 53 does not perform authorization for this API because it retrieves
  4598  // information that is already available to the public.
  4599  //
  4600  // For a list of supported geolocation codes, see the GeoLocation (https://docs.aws.amazon.com/Route53/latest/APIReference/API_GeoLocation.html)
  4601  // data type.
  4602  //
  4603  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4604  // with awserr.Error's Code and Message methods to get detailed information about
  4605  // the error.
  4606  //
  4607  // See the AWS API reference guide for Amazon Route 53's
  4608  // API operation ListGeoLocations for usage and error information.
  4609  //
  4610  // Returned Error Codes:
  4611  //   * ErrCodeInvalidInput "InvalidInput"
  4612  //   The input is not valid.
  4613  //
  4614  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListGeoLocations
  4615  func (c *Route53) ListGeoLocations(input *ListGeoLocationsInput) (*ListGeoLocationsOutput, error) {
  4616  	req, out := c.ListGeoLocationsRequest(input)
  4617  	return out, req.Send()
  4618  }
  4619  
  4620  // ListGeoLocationsWithContext is the same as ListGeoLocations with the addition of
  4621  // the ability to pass a context and additional request options.
  4622  //
  4623  // See ListGeoLocations for details on how to use this API operation.
  4624  //
  4625  // The context must be non-nil and will be used for request cancellation. If
  4626  // the context is nil a panic will occur. In the future the SDK may create
  4627  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4628  // for more information on using Contexts.
  4629  func (c *Route53) ListGeoLocationsWithContext(ctx aws.Context, input *ListGeoLocationsInput, opts ...request.Option) (*ListGeoLocationsOutput, error) {
  4630  	req, out := c.ListGeoLocationsRequest(input)
  4631  	req.SetContext(ctx)
  4632  	req.ApplyOptions(opts...)
  4633  	return out, req.Send()
  4634  }
  4635  
  4636  const opListHealthChecks = "ListHealthChecks"
  4637  
  4638  // ListHealthChecksRequest generates a "aws/request.Request" representing the
  4639  // client's request for the ListHealthChecks operation. The "output" return
  4640  // value will be populated with the request's response once the request completes
  4641  // successfully.
  4642  //
  4643  // Use "Send" method on the returned Request to send the API call to the service.
  4644  // the "output" return value is not valid until after Send returns without error.
  4645  //
  4646  // See ListHealthChecks for more information on using the ListHealthChecks
  4647  // API call, and error handling.
  4648  //
  4649  // This method is useful when you want to inject custom logic or configuration
  4650  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4651  //
  4652  //
  4653  //    // Example sending a request using the ListHealthChecksRequest method.
  4654  //    req, resp := client.ListHealthChecksRequest(params)
  4655  //
  4656  //    err := req.Send()
  4657  //    if err == nil { // resp is now filled
  4658  //        fmt.Println(resp)
  4659  //    }
  4660  //
  4661  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListHealthChecks
  4662  func (c *Route53) ListHealthChecksRequest(input *ListHealthChecksInput) (req *request.Request, output *ListHealthChecksOutput) {
  4663  	op := &request.Operation{
  4664  		Name:       opListHealthChecks,
  4665  		HTTPMethod: "GET",
  4666  		HTTPPath:   "/2013-04-01/healthcheck",
  4667  		Paginator: &request.Paginator{
  4668  			InputTokens:     []string{"Marker"},
  4669  			OutputTokens:    []string{"NextMarker"},
  4670  			LimitToken:      "MaxItems",
  4671  			TruncationToken: "IsTruncated",
  4672  		},
  4673  	}
  4674  
  4675  	if input == nil {
  4676  		input = &ListHealthChecksInput{}
  4677  	}
  4678  
  4679  	output = &ListHealthChecksOutput{}
  4680  	req = c.newRequest(op, input, output)
  4681  	return
  4682  }
  4683  
  4684  // ListHealthChecks API operation for Amazon Route 53.
  4685  //
  4686  // Retrieve a list of the health checks that are associated with the current
  4687  // Amazon Web Services account.
  4688  //
  4689  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4690  // with awserr.Error's Code and Message methods to get detailed information about
  4691  // the error.
  4692  //
  4693  // See the AWS API reference guide for Amazon Route 53's
  4694  // API operation ListHealthChecks for usage and error information.
  4695  //
  4696  // Returned Error Codes:
  4697  //   * ErrCodeInvalidInput "InvalidInput"
  4698  //   The input is not valid.
  4699  //
  4700  //   * ErrCodeIncompatibleVersion "IncompatibleVersion"
  4701  //   The resource you're trying to access is unsupported on this Amazon Route
  4702  //   53 endpoint.
  4703  //
  4704  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListHealthChecks
  4705  func (c *Route53) ListHealthChecks(input *ListHealthChecksInput) (*ListHealthChecksOutput, error) {
  4706  	req, out := c.ListHealthChecksRequest(input)
  4707  	return out, req.Send()
  4708  }
  4709  
  4710  // ListHealthChecksWithContext is the same as ListHealthChecks with the addition of
  4711  // the ability to pass a context and additional request options.
  4712  //
  4713  // See ListHealthChecks for details on how to use this API operation.
  4714  //
  4715  // The context must be non-nil and will be used for request cancellation. If
  4716  // the context is nil a panic will occur. In the future the SDK may create
  4717  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4718  // for more information on using Contexts.
  4719  func (c *Route53) ListHealthChecksWithContext(ctx aws.Context, input *ListHealthChecksInput, opts ...request.Option) (*ListHealthChecksOutput, error) {
  4720  	req, out := c.ListHealthChecksRequest(input)
  4721  	req.SetContext(ctx)
  4722  	req.ApplyOptions(opts...)
  4723  	return out, req.Send()
  4724  }
  4725  
  4726  // ListHealthChecksPages iterates over the pages of a ListHealthChecks operation,
  4727  // calling the "fn" function with the response data for each page. To stop
  4728  // iterating, return false from the fn function.
  4729  //
  4730  // See ListHealthChecks method for more information on how to use this operation.
  4731  //
  4732  // Note: This operation can generate multiple requests to a service.
  4733  //
  4734  //    // Example iterating over at most 3 pages of a ListHealthChecks operation.
  4735  //    pageNum := 0
  4736  //    err := client.ListHealthChecksPages(params,
  4737  //        func(page *route53.ListHealthChecksOutput, lastPage bool) bool {
  4738  //            pageNum++
  4739  //            fmt.Println(page)
  4740  //            return pageNum <= 3
  4741  //        })
  4742  //
  4743  func (c *Route53) ListHealthChecksPages(input *ListHealthChecksInput, fn func(*ListHealthChecksOutput, bool) bool) error {
  4744  	return c.ListHealthChecksPagesWithContext(aws.BackgroundContext(), input, fn)
  4745  }
  4746  
  4747  // ListHealthChecksPagesWithContext same as ListHealthChecksPages except
  4748  // it takes a Context and allows setting request options on the pages.
  4749  //
  4750  // The context must be non-nil and will be used for request cancellation. If
  4751  // the context is nil a panic will occur. In the future the SDK may create
  4752  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4753  // for more information on using Contexts.
  4754  func (c *Route53) ListHealthChecksPagesWithContext(ctx aws.Context, input *ListHealthChecksInput, fn func(*ListHealthChecksOutput, bool) bool, opts ...request.Option) error {
  4755  	p := request.Pagination{
  4756  		NewRequest: func() (*request.Request, error) {
  4757  			var inCpy *ListHealthChecksInput
  4758  			if input != nil {
  4759  				tmp := *input
  4760  				inCpy = &tmp
  4761  			}
  4762  			req, _ := c.ListHealthChecksRequest(inCpy)
  4763  			req.SetContext(ctx)
  4764  			req.ApplyOptions(opts...)
  4765  			return req, nil
  4766  		},
  4767  	}
  4768  
  4769  	for p.Next() {
  4770  		if !fn(p.Page().(*ListHealthChecksOutput), !p.HasNextPage()) {
  4771  			break
  4772  		}
  4773  	}
  4774  
  4775  	return p.Err()
  4776  }
  4777  
  4778  const opListHostedZones = "ListHostedZones"
  4779  
  4780  // ListHostedZonesRequest generates a "aws/request.Request" representing the
  4781  // client's request for the ListHostedZones operation. The "output" return
  4782  // value will be populated with the request's response once the request completes
  4783  // successfully.
  4784  //
  4785  // Use "Send" method on the returned Request to send the API call to the service.
  4786  // the "output" return value is not valid until after Send returns without error.
  4787  //
  4788  // See ListHostedZones for more information on using the ListHostedZones
  4789  // API call, and error handling.
  4790  //
  4791  // This method is useful when you want to inject custom logic or configuration
  4792  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4793  //
  4794  //
  4795  //    // Example sending a request using the ListHostedZonesRequest method.
  4796  //    req, resp := client.ListHostedZonesRequest(params)
  4797  //
  4798  //    err := req.Send()
  4799  //    if err == nil { // resp is now filled
  4800  //        fmt.Println(resp)
  4801  //    }
  4802  //
  4803  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListHostedZones
  4804  func (c *Route53) ListHostedZonesRequest(input *ListHostedZonesInput) (req *request.Request, output *ListHostedZonesOutput) {
  4805  	op := &request.Operation{
  4806  		Name:       opListHostedZones,
  4807  		HTTPMethod: "GET",
  4808  		HTTPPath:   "/2013-04-01/hostedzone",
  4809  		Paginator: &request.Paginator{
  4810  			InputTokens:     []string{"Marker"},
  4811  			OutputTokens:    []string{"NextMarker"},
  4812  			LimitToken:      "MaxItems",
  4813  			TruncationToken: "IsTruncated",
  4814  		},
  4815  	}
  4816  
  4817  	if input == nil {
  4818  		input = &ListHostedZonesInput{}
  4819  	}
  4820  
  4821  	output = &ListHostedZonesOutput{}
  4822  	req = c.newRequest(op, input, output)
  4823  	return
  4824  }
  4825  
  4826  // ListHostedZones API operation for Amazon Route 53.
  4827  //
  4828  // Retrieves a list of the public and private hosted zones that are associated
  4829  // with the current Amazon Web Services account. The response includes a HostedZones
  4830  // child element for each hosted zone.
  4831  //
  4832  // Amazon Route 53 returns a maximum of 100 items in each response. If you have
  4833  // a lot of hosted zones, you can use the maxitems parameter to list them in
  4834  // groups of up to 100.
  4835  //
  4836  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4837  // with awserr.Error's Code and Message methods to get detailed information about
  4838  // the error.
  4839  //
  4840  // See the AWS API reference guide for Amazon Route 53's
  4841  // API operation ListHostedZones for usage and error information.
  4842  //
  4843  // Returned Error Codes:
  4844  //   * ErrCodeInvalidInput "InvalidInput"
  4845  //   The input is not valid.
  4846  //
  4847  //   * ErrCodeNoSuchDelegationSet "NoSuchDelegationSet"
  4848  //   A reusable delegation set with the specified ID does not exist.
  4849  //
  4850  //   * ErrCodeDelegationSetNotReusable "DelegationSetNotReusable"
  4851  //   A reusable delegation set with the specified ID does not exist.
  4852  //
  4853  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListHostedZones
  4854  func (c *Route53) ListHostedZones(input *ListHostedZonesInput) (*ListHostedZonesOutput, error) {
  4855  	req, out := c.ListHostedZonesRequest(input)
  4856  	return out, req.Send()
  4857  }
  4858  
  4859  // ListHostedZonesWithContext is the same as ListHostedZones with the addition of
  4860  // the ability to pass a context and additional request options.
  4861  //
  4862  // See ListHostedZones for details on how to use this API operation.
  4863  //
  4864  // The context must be non-nil and will be used for request cancellation. If
  4865  // the context is nil a panic will occur. In the future the SDK may create
  4866  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4867  // for more information on using Contexts.
  4868  func (c *Route53) ListHostedZonesWithContext(ctx aws.Context, input *ListHostedZonesInput, opts ...request.Option) (*ListHostedZonesOutput, error) {
  4869  	req, out := c.ListHostedZonesRequest(input)
  4870  	req.SetContext(ctx)
  4871  	req.ApplyOptions(opts...)
  4872  	return out, req.Send()
  4873  }
  4874  
  4875  // ListHostedZonesPages iterates over the pages of a ListHostedZones operation,
  4876  // calling the "fn" function with the response data for each page. To stop
  4877  // iterating, return false from the fn function.
  4878  //
  4879  // See ListHostedZones method for more information on how to use this operation.
  4880  //
  4881  // Note: This operation can generate multiple requests to a service.
  4882  //
  4883  //    // Example iterating over at most 3 pages of a ListHostedZones operation.
  4884  //    pageNum := 0
  4885  //    err := client.ListHostedZonesPages(params,
  4886  //        func(page *route53.ListHostedZonesOutput, lastPage bool) bool {
  4887  //            pageNum++
  4888  //            fmt.Println(page)
  4889  //            return pageNum <= 3
  4890  //        })
  4891  //
  4892  func (c *Route53) ListHostedZonesPages(input *ListHostedZonesInput, fn func(*ListHostedZonesOutput, bool) bool) error {
  4893  	return c.ListHostedZonesPagesWithContext(aws.BackgroundContext(), input, fn)
  4894  }
  4895  
  4896  // ListHostedZonesPagesWithContext same as ListHostedZonesPages except
  4897  // it takes a Context and allows setting request options on the pages.
  4898  //
  4899  // The context must be non-nil and will be used for request cancellation. If
  4900  // the context is nil a panic will occur. In the future the SDK may create
  4901  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4902  // for more information on using Contexts.
  4903  func (c *Route53) ListHostedZonesPagesWithContext(ctx aws.Context, input *ListHostedZonesInput, fn func(*ListHostedZonesOutput, bool) bool, opts ...request.Option) error {
  4904  	p := request.Pagination{
  4905  		NewRequest: func() (*request.Request, error) {
  4906  			var inCpy *ListHostedZonesInput
  4907  			if input != nil {
  4908  				tmp := *input
  4909  				inCpy = &tmp
  4910  			}
  4911  			req, _ := c.ListHostedZonesRequest(inCpy)
  4912  			req.SetContext(ctx)
  4913  			req.ApplyOptions(opts...)
  4914  			return req, nil
  4915  		},
  4916  	}
  4917  
  4918  	for p.Next() {
  4919  		if !fn(p.Page().(*ListHostedZonesOutput), !p.HasNextPage()) {
  4920  			break
  4921  		}
  4922  	}
  4923  
  4924  	return p.Err()
  4925  }
  4926  
  4927  const opListHostedZonesByName = "ListHostedZonesByName"
  4928  
  4929  // ListHostedZonesByNameRequest generates a "aws/request.Request" representing the
  4930  // client's request for the ListHostedZonesByName operation. The "output" return
  4931  // value will be populated with the request's response once the request completes
  4932  // successfully.
  4933  //
  4934  // Use "Send" method on the returned Request to send the API call to the service.
  4935  // the "output" return value is not valid until after Send returns without error.
  4936  //
  4937  // See ListHostedZonesByName for more information on using the ListHostedZonesByName
  4938  // API call, and error handling.
  4939  //
  4940  // This method is useful when you want to inject custom logic or configuration
  4941  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4942  //
  4943  //
  4944  //    // Example sending a request using the ListHostedZonesByNameRequest method.
  4945  //    req, resp := client.ListHostedZonesByNameRequest(params)
  4946  //
  4947  //    err := req.Send()
  4948  //    if err == nil { // resp is now filled
  4949  //        fmt.Println(resp)
  4950  //    }
  4951  //
  4952  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListHostedZonesByName
  4953  func (c *Route53) ListHostedZonesByNameRequest(input *ListHostedZonesByNameInput) (req *request.Request, output *ListHostedZonesByNameOutput) {
  4954  	op := &request.Operation{
  4955  		Name:       opListHostedZonesByName,
  4956  		HTTPMethod: "GET",
  4957  		HTTPPath:   "/2013-04-01/hostedzonesbyname",
  4958  	}
  4959  
  4960  	if input == nil {
  4961  		input = &ListHostedZonesByNameInput{}
  4962  	}
  4963  
  4964  	output = &ListHostedZonesByNameOutput{}
  4965  	req = c.newRequest(op, input, output)
  4966  	return
  4967  }
  4968  
  4969  // ListHostedZonesByName API operation for Amazon Route 53.
  4970  //
  4971  // Retrieves a list of your hosted zones in lexicographic order. The response
  4972  // includes a HostedZones child element for each hosted zone created by the
  4973  // current Amazon Web Services account.
  4974  //
  4975  // ListHostedZonesByName sorts hosted zones by name with the labels reversed.
  4976  // For example:
  4977  //
  4978  // com.example.www.
  4979  //
  4980  // Note the trailing dot, which can change the sort order in some circumstances.
  4981  //
  4982  // If the domain name includes escape characters or Punycode, ListHostedZonesByName
  4983  // alphabetizes the domain name using the escaped or Punycoded value, which
  4984  // is the format that Amazon Route 53 saves in its database. For example, to
  4985  // create a hosted zone for exämple.com, you specify ex\344mple.com for the
  4986  // domain name. ListHostedZonesByName alphabetizes it as:
  4987  //
  4988  // com.ex\344mple.
  4989  //
  4990  // The labels are reversed and alphabetized using the escaped value. For more
  4991  // information about valid domain name formats, including internationalized
  4992  // domain names, see DNS Domain Name Format (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html)
  4993  // in the Amazon Route 53 Developer Guide.
  4994  //
  4995  // Route 53 returns up to 100 items in each response. If you have a lot of hosted
  4996  // zones, use the MaxItems parameter to list them in groups of up to 100. The
  4997  // response includes values that help navigate from one group of MaxItems hosted
  4998  // zones to the next:
  4999  //
  5000  //    * The DNSName and HostedZoneId elements in the response contain the values,
  5001  //    if any, specified for the dnsname and hostedzoneid parameters in the request
  5002  //    that produced the current response.
  5003  //
  5004  //    * The MaxItems element in the response contains the value, if any, that
  5005  //    you specified for the maxitems parameter in the request that produced
  5006  //    the current response.
  5007  //
  5008  //    * If the value of IsTruncated in the response is true, there are more
  5009  //    hosted zones associated with the current Amazon Web Services account.
  5010  //    If IsTruncated is false, this response includes the last hosted zone that
  5011  //    is associated with the current account. The NextDNSName element and NextHostedZoneId
  5012  //    elements are omitted from the response.
  5013  //
  5014  //    * The NextDNSName and NextHostedZoneId elements in the response contain
  5015  //    the domain name and the hosted zone ID of the next hosted zone that is
  5016  //    associated with the current Amazon Web Services account. If you want to
  5017  //    list more hosted zones, make another call to ListHostedZonesByName, and
  5018  //    specify the value of NextDNSName and NextHostedZoneId in the dnsname and
  5019  //    hostedzoneid parameters, respectively.
  5020  //
  5021  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5022  // with awserr.Error's Code and Message methods to get detailed information about
  5023  // the error.
  5024  //
  5025  // See the AWS API reference guide for Amazon Route 53's
  5026  // API operation ListHostedZonesByName for usage and error information.
  5027  //
  5028  // Returned Error Codes:
  5029  //   * ErrCodeInvalidInput "InvalidInput"
  5030  //   The input is not valid.
  5031  //
  5032  //   * ErrCodeInvalidDomainName "InvalidDomainName"
  5033  //   The specified domain name is not valid.
  5034  //
  5035  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListHostedZonesByName
  5036  func (c *Route53) ListHostedZonesByName(input *ListHostedZonesByNameInput) (*ListHostedZonesByNameOutput, error) {
  5037  	req, out := c.ListHostedZonesByNameRequest(input)
  5038  	return out, req.Send()
  5039  }
  5040  
  5041  // ListHostedZonesByNameWithContext is the same as ListHostedZonesByName with the addition of
  5042  // the ability to pass a context and additional request options.
  5043  //
  5044  // See ListHostedZonesByName for details on how to use this API operation.
  5045  //
  5046  // The context must be non-nil and will be used for request cancellation. If
  5047  // the context is nil a panic will occur. In the future the SDK may create
  5048  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5049  // for more information on using Contexts.
  5050  func (c *Route53) ListHostedZonesByNameWithContext(ctx aws.Context, input *ListHostedZonesByNameInput, opts ...request.Option) (*ListHostedZonesByNameOutput, error) {
  5051  	req, out := c.ListHostedZonesByNameRequest(input)
  5052  	req.SetContext(ctx)
  5053  	req.ApplyOptions(opts...)
  5054  	return out, req.Send()
  5055  }
  5056  
  5057  const opListHostedZonesByVPC = "ListHostedZonesByVPC"
  5058  
  5059  // ListHostedZonesByVPCRequest generates a "aws/request.Request" representing the
  5060  // client's request for the ListHostedZonesByVPC operation. The "output" return
  5061  // value will be populated with the request's response once the request completes
  5062  // successfully.
  5063  //
  5064  // Use "Send" method on the returned Request to send the API call to the service.
  5065  // the "output" return value is not valid until after Send returns without error.
  5066  //
  5067  // See ListHostedZonesByVPC for more information on using the ListHostedZonesByVPC
  5068  // API call, and error handling.
  5069  //
  5070  // This method is useful when you want to inject custom logic or configuration
  5071  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5072  //
  5073  //
  5074  //    // Example sending a request using the ListHostedZonesByVPCRequest method.
  5075  //    req, resp := client.ListHostedZonesByVPCRequest(params)
  5076  //
  5077  //    err := req.Send()
  5078  //    if err == nil { // resp is now filled
  5079  //        fmt.Println(resp)
  5080  //    }
  5081  //
  5082  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListHostedZonesByVPC
  5083  func (c *Route53) ListHostedZonesByVPCRequest(input *ListHostedZonesByVPCInput) (req *request.Request, output *ListHostedZonesByVPCOutput) {
  5084  	op := &request.Operation{
  5085  		Name:       opListHostedZonesByVPC,
  5086  		HTTPMethod: "GET",
  5087  		HTTPPath:   "/2013-04-01/hostedzonesbyvpc",
  5088  	}
  5089  
  5090  	if input == nil {
  5091  		input = &ListHostedZonesByVPCInput{}
  5092  	}
  5093  
  5094  	output = &ListHostedZonesByVPCOutput{}
  5095  	req = c.newRequest(op, input, output)
  5096  	return
  5097  }
  5098  
  5099  // ListHostedZonesByVPC API operation for Amazon Route 53.
  5100  //
  5101  // Lists all the private hosted zones that a specified VPC is associated with,
  5102  // regardless of which Amazon Web Services account or Amazon Web Services service
  5103  // owns the hosted zones. The HostedZoneOwner structure in the response contains
  5104  // one of the following values:
  5105  //
  5106  //    * An OwningAccount element, which contains the account number of either
  5107  //    the current Amazon Web Services account or another Amazon Web Services
  5108  //    account. Some services, such as Cloud Map, create hosted zones using the
  5109  //    current account.
  5110  //
  5111  //    * An OwningService element, which identifies the Amazon Web Services service
  5112  //    that created and owns the hosted zone. For example, if a hosted zone was
  5113  //    created by Amazon Elastic File System (Amazon EFS), the value of Owner
  5114  //    is efs.amazonaws.com.
  5115  //
  5116  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5117  // with awserr.Error's Code and Message methods to get detailed information about
  5118  // the error.
  5119  //
  5120  // See the AWS API reference guide for Amazon Route 53's
  5121  // API operation ListHostedZonesByVPC for usage and error information.
  5122  //
  5123  // Returned Error Codes:
  5124  //   * ErrCodeInvalidInput "InvalidInput"
  5125  //   The input is not valid.
  5126  //
  5127  //   * ErrCodeInvalidPaginationToken "InvalidPaginationToken"
  5128  //   The value that you specified to get the second or subsequent page of results
  5129  //   is invalid.
  5130  //
  5131  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListHostedZonesByVPC
  5132  func (c *Route53) ListHostedZonesByVPC(input *ListHostedZonesByVPCInput) (*ListHostedZonesByVPCOutput, error) {
  5133  	req, out := c.ListHostedZonesByVPCRequest(input)
  5134  	return out, req.Send()
  5135  }
  5136  
  5137  // ListHostedZonesByVPCWithContext is the same as ListHostedZonesByVPC with the addition of
  5138  // the ability to pass a context and additional request options.
  5139  //
  5140  // See ListHostedZonesByVPC for details on how to use this API operation.
  5141  //
  5142  // The context must be non-nil and will be used for request cancellation. If
  5143  // the context is nil a panic will occur. In the future the SDK may create
  5144  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5145  // for more information on using Contexts.
  5146  func (c *Route53) ListHostedZonesByVPCWithContext(ctx aws.Context, input *ListHostedZonesByVPCInput, opts ...request.Option) (*ListHostedZonesByVPCOutput, error) {
  5147  	req, out := c.ListHostedZonesByVPCRequest(input)
  5148  	req.SetContext(ctx)
  5149  	req.ApplyOptions(opts...)
  5150  	return out, req.Send()
  5151  }
  5152  
  5153  const opListQueryLoggingConfigs = "ListQueryLoggingConfigs"
  5154  
  5155  // ListQueryLoggingConfigsRequest generates a "aws/request.Request" representing the
  5156  // client's request for the ListQueryLoggingConfigs operation. The "output" return
  5157  // value will be populated with the request's response once the request completes
  5158  // successfully.
  5159  //
  5160  // Use "Send" method on the returned Request to send the API call to the service.
  5161  // the "output" return value is not valid until after Send returns without error.
  5162  //
  5163  // See ListQueryLoggingConfigs for more information on using the ListQueryLoggingConfigs
  5164  // API call, and error handling.
  5165  //
  5166  // This method is useful when you want to inject custom logic or configuration
  5167  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5168  //
  5169  //
  5170  //    // Example sending a request using the ListQueryLoggingConfigsRequest method.
  5171  //    req, resp := client.ListQueryLoggingConfigsRequest(params)
  5172  //
  5173  //    err := req.Send()
  5174  //    if err == nil { // resp is now filled
  5175  //        fmt.Println(resp)
  5176  //    }
  5177  //
  5178  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListQueryLoggingConfigs
  5179  func (c *Route53) ListQueryLoggingConfigsRequest(input *ListQueryLoggingConfigsInput) (req *request.Request, output *ListQueryLoggingConfigsOutput) {
  5180  	op := &request.Operation{
  5181  		Name:       opListQueryLoggingConfigs,
  5182  		HTTPMethod: "GET",
  5183  		HTTPPath:   "/2013-04-01/queryloggingconfig",
  5184  		Paginator: &request.Paginator{
  5185  			InputTokens:     []string{"NextToken"},
  5186  			OutputTokens:    []string{"NextToken"},
  5187  			LimitToken:      "MaxResults",
  5188  			TruncationToken: "",
  5189  		},
  5190  	}
  5191  
  5192  	if input == nil {
  5193  		input = &ListQueryLoggingConfigsInput{}
  5194  	}
  5195  
  5196  	output = &ListQueryLoggingConfigsOutput{}
  5197  	req = c.newRequest(op, input, output)
  5198  	return
  5199  }
  5200  
  5201  // ListQueryLoggingConfigs API operation for Amazon Route 53.
  5202  //
  5203  // Lists the configurations for DNS query logging that are associated with the
  5204  // current Amazon Web Services account or the configuration that is associated
  5205  // with a specified hosted zone.
  5206  //
  5207  // For more information about DNS query logs, see CreateQueryLoggingConfig (https://docs.aws.amazon.com/Route53/latest/APIReference/API_CreateQueryLoggingConfig.html).
  5208  // Additional information, including the format of DNS query logs, appears in
  5209  // Logging DNS Queries (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/query-logs.html)
  5210  // in the Amazon Route 53 Developer Guide.
  5211  //
  5212  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5213  // with awserr.Error's Code and Message methods to get detailed information about
  5214  // the error.
  5215  //
  5216  // See the AWS API reference guide for Amazon Route 53's
  5217  // API operation ListQueryLoggingConfigs for usage and error information.
  5218  //
  5219  // Returned Error Codes:
  5220  //   * ErrCodeInvalidInput "InvalidInput"
  5221  //   The input is not valid.
  5222  //
  5223  //   * ErrCodeInvalidPaginationToken "InvalidPaginationToken"
  5224  //   The value that you specified to get the second or subsequent page of results
  5225  //   is invalid.
  5226  //
  5227  //   * ErrCodeNoSuchHostedZone "NoSuchHostedZone"
  5228  //   No hosted zone exists with the ID that you specified.
  5229  //
  5230  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListQueryLoggingConfigs
  5231  func (c *Route53) ListQueryLoggingConfigs(input *ListQueryLoggingConfigsInput) (*ListQueryLoggingConfigsOutput, error) {
  5232  	req, out := c.ListQueryLoggingConfigsRequest(input)
  5233  	return out, req.Send()
  5234  }
  5235  
  5236  // ListQueryLoggingConfigsWithContext is the same as ListQueryLoggingConfigs with the addition of
  5237  // the ability to pass a context and additional request options.
  5238  //
  5239  // See ListQueryLoggingConfigs for details on how to use this API operation.
  5240  //
  5241  // The context must be non-nil and will be used for request cancellation. If
  5242  // the context is nil a panic will occur. In the future the SDK may create
  5243  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5244  // for more information on using Contexts.
  5245  func (c *Route53) ListQueryLoggingConfigsWithContext(ctx aws.Context, input *ListQueryLoggingConfigsInput, opts ...request.Option) (*ListQueryLoggingConfigsOutput, error) {
  5246  	req, out := c.ListQueryLoggingConfigsRequest(input)
  5247  	req.SetContext(ctx)
  5248  	req.ApplyOptions(opts...)
  5249  	return out, req.Send()
  5250  }
  5251  
  5252  // ListQueryLoggingConfigsPages iterates over the pages of a ListQueryLoggingConfigs operation,
  5253  // calling the "fn" function with the response data for each page. To stop
  5254  // iterating, return false from the fn function.
  5255  //
  5256  // See ListQueryLoggingConfigs method for more information on how to use this operation.
  5257  //
  5258  // Note: This operation can generate multiple requests to a service.
  5259  //
  5260  //    // Example iterating over at most 3 pages of a ListQueryLoggingConfigs operation.
  5261  //    pageNum := 0
  5262  //    err := client.ListQueryLoggingConfigsPages(params,
  5263  //        func(page *route53.ListQueryLoggingConfigsOutput, lastPage bool) bool {
  5264  //            pageNum++
  5265  //            fmt.Println(page)
  5266  //            return pageNum <= 3
  5267  //        })
  5268  //
  5269  func (c *Route53) ListQueryLoggingConfigsPages(input *ListQueryLoggingConfigsInput, fn func(*ListQueryLoggingConfigsOutput, bool) bool) error {
  5270  	return c.ListQueryLoggingConfigsPagesWithContext(aws.BackgroundContext(), input, fn)
  5271  }
  5272  
  5273  // ListQueryLoggingConfigsPagesWithContext same as ListQueryLoggingConfigsPages except
  5274  // it takes a Context and allows setting request options on the pages.
  5275  //
  5276  // The context must be non-nil and will be used for request cancellation. If
  5277  // the context is nil a panic will occur. In the future the SDK may create
  5278  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5279  // for more information on using Contexts.
  5280  func (c *Route53) ListQueryLoggingConfigsPagesWithContext(ctx aws.Context, input *ListQueryLoggingConfigsInput, fn func(*ListQueryLoggingConfigsOutput, bool) bool, opts ...request.Option) error {
  5281  	p := request.Pagination{
  5282  		NewRequest: func() (*request.Request, error) {
  5283  			var inCpy *ListQueryLoggingConfigsInput
  5284  			if input != nil {
  5285  				tmp := *input
  5286  				inCpy = &tmp
  5287  			}
  5288  			req, _ := c.ListQueryLoggingConfigsRequest(inCpy)
  5289  			req.SetContext(ctx)
  5290  			req.ApplyOptions(opts...)
  5291  			return req, nil
  5292  		},
  5293  	}
  5294  
  5295  	for p.Next() {
  5296  		if !fn(p.Page().(*ListQueryLoggingConfigsOutput), !p.HasNextPage()) {
  5297  			break
  5298  		}
  5299  	}
  5300  
  5301  	return p.Err()
  5302  }
  5303  
  5304  const opListResourceRecordSets = "ListResourceRecordSets"
  5305  
  5306  // ListResourceRecordSetsRequest generates a "aws/request.Request" representing the
  5307  // client's request for the ListResourceRecordSets operation. The "output" return
  5308  // value will be populated with the request's response once the request completes
  5309  // successfully.
  5310  //
  5311  // Use "Send" method on the returned Request to send the API call to the service.
  5312  // the "output" return value is not valid until after Send returns without error.
  5313  //
  5314  // See ListResourceRecordSets for more information on using the ListResourceRecordSets
  5315  // API call, and error handling.
  5316  //
  5317  // This method is useful when you want to inject custom logic or configuration
  5318  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5319  //
  5320  //
  5321  //    // Example sending a request using the ListResourceRecordSetsRequest method.
  5322  //    req, resp := client.ListResourceRecordSetsRequest(params)
  5323  //
  5324  //    err := req.Send()
  5325  //    if err == nil { // resp is now filled
  5326  //        fmt.Println(resp)
  5327  //    }
  5328  //
  5329  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListResourceRecordSets
  5330  func (c *Route53) ListResourceRecordSetsRequest(input *ListResourceRecordSetsInput) (req *request.Request, output *ListResourceRecordSetsOutput) {
  5331  	op := &request.Operation{
  5332  		Name:       opListResourceRecordSets,
  5333  		HTTPMethod: "GET",
  5334  		HTTPPath:   "/2013-04-01/hostedzone/{Id}/rrset",
  5335  		Paginator: &request.Paginator{
  5336  			InputTokens:     []string{"StartRecordName", "StartRecordType", "StartRecordIdentifier"},
  5337  			OutputTokens:    []string{"NextRecordName", "NextRecordType", "NextRecordIdentifier"},
  5338  			LimitToken:      "MaxItems",
  5339  			TruncationToken: "IsTruncated",
  5340  		},
  5341  	}
  5342  
  5343  	if input == nil {
  5344  		input = &ListResourceRecordSetsInput{}
  5345  	}
  5346  
  5347  	output = &ListResourceRecordSetsOutput{}
  5348  	req = c.newRequest(op, input, output)
  5349  	return
  5350  }
  5351  
  5352  // ListResourceRecordSets API operation for Amazon Route 53.
  5353  //
  5354  // Lists the resource record sets in a specified hosted zone.
  5355  //
  5356  // ListResourceRecordSets returns up to 300 resource record sets at a time in
  5357  // ASCII order, beginning at a position specified by the name and type elements.
  5358  //
  5359  // Sort order
  5360  //
  5361  // ListResourceRecordSets sorts results first by DNS name with the labels reversed,
  5362  // for example:
  5363  //
  5364  // com.example.www.
  5365  //
  5366  // Note the trailing dot, which can change the sort order when the record name
  5367  // contains characters that appear before . (decimal 46) in the ASCII table.
  5368  // These characters include the following: ! " # $ % & ' ( ) * + , -
  5369  //
  5370  // When multiple records have the same DNS name, ListResourceRecordSets sorts
  5371  // results by the record type.
  5372  //
  5373  // Specifying where to start listing records
  5374  //
  5375  // You can use the name and type elements to specify the resource record set
  5376  // that the list begins with:
  5377  //
  5378  // If you do not specify Name or Type
  5379  //
  5380  // The results begin with the first resource record set that the hosted zone
  5381  // contains.
  5382  //
  5383  // If you specify Name but not Type
  5384  //
  5385  // The results begin with the first resource record set in the list whose name
  5386  // is greater than or equal to Name.
  5387  //
  5388  // If you specify Type but not Name
  5389  //
  5390  // Amazon Route 53 returns the InvalidInput error.
  5391  //
  5392  // If you specify both Name and Type
  5393  //
  5394  // The results begin with the first resource record set in the list whose name
  5395  // is greater than or equal to Name, and whose type is greater than or equal
  5396  // to Type.
  5397  //
  5398  // Resource record sets that are PENDING
  5399  //
  5400  // This action returns the most current version of the records. This includes
  5401  // records that are PENDING, and that are not yet available on all Route 53
  5402  // DNS servers.
  5403  //
  5404  // Changing resource record sets
  5405  //
  5406  // To ensure that you get an accurate listing of the resource record sets for
  5407  // a hosted zone at a point in time, do not submit a ChangeResourceRecordSets
  5408  // request while you're paging through the results of a ListResourceRecordSets
  5409  // request. If you do, some pages may display results without the latest changes
  5410  // while other pages display results with the latest changes.
  5411  //
  5412  // Displaying the next page of results
  5413  //
  5414  // If a ListResourceRecordSets command returns more than one page of results,
  5415  // the value of IsTruncated is true. To display the next page of results, get
  5416  // the values of NextRecordName, NextRecordType, and NextRecordIdentifier (if
  5417  // any) from the response. Then submit another ListResourceRecordSets request,
  5418  // and specify those values for StartRecordName, StartRecordType, and StartRecordIdentifier.
  5419  //
  5420  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5421  // with awserr.Error's Code and Message methods to get detailed information about
  5422  // the error.
  5423  //
  5424  // See the AWS API reference guide for Amazon Route 53's
  5425  // API operation ListResourceRecordSets for usage and error information.
  5426  //
  5427  // Returned Error Codes:
  5428  //   * ErrCodeNoSuchHostedZone "NoSuchHostedZone"
  5429  //   No hosted zone exists with the ID that you specified.
  5430  //
  5431  //   * ErrCodeInvalidInput "InvalidInput"
  5432  //   The input is not valid.
  5433  //
  5434  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListResourceRecordSets
  5435  func (c *Route53) ListResourceRecordSets(input *ListResourceRecordSetsInput) (*ListResourceRecordSetsOutput, error) {
  5436  	req, out := c.ListResourceRecordSetsRequest(input)
  5437  	return out, req.Send()
  5438  }
  5439  
  5440  // ListResourceRecordSetsWithContext is the same as ListResourceRecordSets with the addition of
  5441  // the ability to pass a context and additional request options.
  5442  //
  5443  // See ListResourceRecordSets for details on how to use this API operation.
  5444  //
  5445  // The context must be non-nil and will be used for request cancellation. If
  5446  // the context is nil a panic will occur. In the future the SDK may create
  5447  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5448  // for more information on using Contexts.
  5449  func (c *Route53) ListResourceRecordSetsWithContext(ctx aws.Context, input *ListResourceRecordSetsInput, opts ...request.Option) (*ListResourceRecordSetsOutput, error) {
  5450  	req, out := c.ListResourceRecordSetsRequest(input)
  5451  	req.SetContext(ctx)
  5452  	req.ApplyOptions(opts...)
  5453  	return out, req.Send()
  5454  }
  5455  
  5456  // ListResourceRecordSetsPages iterates over the pages of a ListResourceRecordSets operation,
  5457  // calling the "fn" function with the response data for each page. To stop
  5458  // iterating, return false from the fn function.
  5459  //
  5460  // See ListResourceRecordSets method for more information on how to use this operation.
  5461  //
  5462  // Note: This operation can generate multiple requests to a service.
  5463  //
  5464  //    // Example iterating over at most 3 pages of a ListResourceRecordSets operation.
  5465  //    pageNum := 0
  5466  //    err := client.ListResourceRecordSetsPages(params,
  5467  //        func(page *route53.ListResourceRecordSetsOutput, lastPage bool) bool {
  5468  //            pageNum++
  5469  //            fmt.Println(page)
  5470  //            return pageNum <= 3
  5471  //        })
  5472  //
  5473  func (c *Route53) ListResourceRecordSetsPages(input *ListResourceRecordSetsInput, fn func(*ListResourceRecordSetsOutput, bool) bool) error {
  5474  	return c.ListResourceRecordSetsPagesWithContext(aws.BackgroundContext(), input, fn)
  5475  }
  5476  
  5477  // ListResourceRecordSetsPagesWithContext same as ListResourceRecordSetsPages except
  5478  // it takes a Context and allows setting request options on the pages.
  5479  //
  5480  // The context must be non-nil and will be used for request cancellation. If
  5481  // the context is nil a panic will occur. In the future the SDK may create
  5482  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5483  // for more information on using Contexts.
  5484  func (c *Route53) ListResourceRecordSetsPagesWithContext(ctx aws.Context, input *ListResourceRecordSetsInput, fn func(*ListResourceRecordSetsOutput, bool) bool, opts ...request.Option) error {
  5485  	p := request.Pagination{
  5486  		NewRequest: func() (*request.Request, error) {
  5487  			var inCpy *ListResourceRecordSetsInput
  5488  			if input != nil {
  5489  				tmp := *input
  5490  				inCpy = &tmp
  5491  			}
  5492  			req, _ := c.ListResourceRecordSetsRequest(inCpy)
  5493  			req.SetContext(ctx)
  5494  			req.ApplyOptions(opts...)
  5495  			return req, nil
  5496  		},
  5497  	}
  5498  
  5499  	for p.Next() {
  5500  		if !fn(p.Page().(*ListResourceRecordSetsOutput), !p.HasNextPage()) {
  5501  			break
  5502  		}
  5503  	}
  5504  
  5505  	return p.Err()
  5506  }
  5507  
  5508  const opListReusableDelegationSets = "ListReusableDelegationSets"
  5509  
  5510  // ListReusableDelegationSetsRequest generates a "aws/request.Request" representing the
  5511  // client's request for the ListReusableDelegationSets operation. The "output" return
  5512  // value will be populated with the request's response once the request completes
  5513  // successfully.
  5514  //
  5515  // Use "Send" method on the returned Request to send the API call to the service.
  5516  // the "output" return value is not valid until after Send returns without error.
  5517  //
  5518  // See ListReusableDelegationSets for more information on using the ListReusableDelegationSets
  5519  // API call, and error handling.
  5520  //
  5521  // This method is useful when you want to inject custom logic or configuration
  5522  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5523  //
  5524  //
  5525  //    // Example sending a request using the ListReusableDelegationSetsRequest method.
  5526  //    req, resp := client.ListReusableDelegationSetsRequest(params)
  5527  //
  5528  //    err := req.Send()
  5529  //    if err == nil { // resp is now filled
  5530  //        fmt.Println(resp)
  5531  //    }
  5532  //
  5533  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListReusableDelegationSets
  5534  func (c *Route53) ListReusableDelegationSetsRequest(input *ListReusableDelegationSetsInput) (req *request.Request, output *ListReusableDelegationSetsOutput) {
  5535  	op := &request.Operation{
  5536  		Name:       opListReusableDelegationSets,
  5537  		HTTPMethod: "GET",
  5538  		HTTPPath:   "/2013-04-01/delegationset",
  5539  	}
  5540  
  5541  	if input == nil {
  5542  		input = &ListReusableDelegationSetsInput{}
  5543  	}
  5544  
  5545  	output = &ListReusableDelegationSetsOutput{}
  5546  	req = c.newRequest(op, input, output)
  5547  	return
  5548  }
  5549  
  5550  // ListReusableDelegationSets API operation for Amazon Route 53.
  5551  //
  5552  // Retrieves a list of the reusable delegation sets that are associated with
  5553  // the current Amazon Web Services account.
  5554  //
  5555  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5556  // with awserr.Error's Code and Message methods to get detailed information about
  5557  // the error.
  5558  //
  5559  // See the AWS API reference guide for Amazon Route 53's
  5560  // API operation ListReusableDelegationSets for usage and error information.
  5561  //
  5562  // Returned Error Codes:
  5563  //   * ErrCodeInvalidInput "InvalidInput"
  5564  //   The input is not valid.
  5565  //
  5566  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListReusableDelegationSets
  5567  func (c *Route53) ListReusableDelegationSets(input *ListReusableDelegationSetsInput) (*ListReusableDelegationSetsOutput, error) {
  5568  	req, out := c.ListReusableDelegationSetsRequest(input)
  5569  	return out, req.Send()
  5570  }
  5571  
  5572  // ListReusableDelegationSetsWithContext is the same as ListReusableDelegationSets with the addition of
  5573  // the ability to pass a context and additional request options.
  5574  //
  5575  // See ListReusableDelegationSets for details on how to use this API operation.
  5576  //
  5577  // The context must be non-nil and will be used for request cancellation. If
  5578  // the context is nil a panic will occur. In the future the SDK may create
  5579  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5580  // for more information on using Contexts.
  5581  func (c *Route53) ListReusableDelegationSetsWithContext(ctx aws.Context, input *ListReusableDelegationSetsInput, opts ...request.Option) (*ListReusableDelegationSetsOutput, error) {
  5582  	req, out := c.ListReusableDelegationSetsRequest(input)
  5583  	req.SetContext(ctx)
  5584  	req.ApplyOptions(opts...)
  5585  	return out, req.Send()
  5586  }
  5587  
  5588  const opListTagsForResource = "ListTagsForResource"
  5589  
  5590  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  5591  // client's request for the ListTagsForResource operation. The "output" return
  5592  // value will be populated with the request's response once the request completes
  5593  // successfully.
  5594  //
  5595  // Use "Send" method on the returned Request to send the API call to the service.
  5596  // the "output" return value is not valid until after Send returns without error.
  5597  //
  5598  // See ListTagsForResource for more information on using the ListTagsForResource
  5599  // API call, and error handling.
  5600  //
  5601  // This method is useful when you want to inject custom logic or configuration
  5602  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5603  //
  5604  //
  5605  //    // Example sending a request using the ListTagsForResourceRequest method.
  5606  //    req, resp := client.ListTagsForResourceRequest(params)
  5607  //
  5608  //    err := req.Send()
  5609  //    if err == nil { // resp is now filled
  5610  //        fmt.Println(resp)
  5611  //    }
  5612  //
  5613  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListTagsForResource
  5614  func (c *Route53) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
  5615  	op := &request.Operation{
  5616  		Name:       opListTagsForResource,
  5617  		HTTPMethod: "GET",
  5618  		HTTPPath:   "/2013-04-01/tags/{ResourceType}/{ResourceId}",
  5619  	}
  5620  
  5621  	if input == nil {
  5622  		input = &ListTagsForResourceInput{}
  5623  	}
  5624  
  5625  	output = &ListTagsForResourceOutput{}
  5626  	req = c.newRequest(op, input, output)
  5627  	return
  5628  }
  5629  
  5630  // ListTagsForResource API operation for Amazon Route 53.
  5631  //
  5632  // Lists tags for one health check or hosted zone.
  5633  //
  5634  // For information about using tags for cost allocation, see Using Cost Allocation
  5635  // Tags (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html)
  5636  // in the Billing and Cost Management User Guide.
  5637  //
  5638  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5639  // with awserr.Error's Code and Message methods to get detailed information about
  5640  // the error.
  5641  //
  5642  // See the AWS API reference guide for Amazon Route 53's
  5643  // API operation ListTagsForResource for usage and error information.
  5644  //
  5645  // Returned Error Codes:
  5646  //   * ErrCodeInvalidInput "InvalidInput"
  5647  //   The input is not valid.
  5648  //
  5649  //   * ErrCodeNoSuchHealthCheck "NoSuchHealthCheck"
  5650  //   No health check exists with the specified ID.
  5651  //
  5652  //   * ErrCodeNoSuchHostedZone "NoSuchHostedZone"
  5653  //   No hosted zone exists with the ID that you specified.
  5654  //
  5655  //   * ErrCodePriorRequestNotComplete "PriorRequestNotComplete"
  5656  //   If Amazon Route 53 can't process a request before the next request arrives,
  5657  //   it will reject subsequent requests for the same hosted zone and return an
  5658  //   HTTP 400 error (Bad request). If Route 53 returns this error repeatedly for
  5659  //   the same request, we recommend that you wait, in intervals of increasing
  5660  //   duration, before you try the request again.
  5661  //
  5662  //   * ErrCodeThrottlingException "ThrottlingException"
  5663  //   The limit on the number of requests per second was exceeded.
  5664  //
  5665  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListTagsForResource
  5666  func (c *Route53) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
  5667  	req, out := c.ListTagsForResourceRequest(input)
  5668  	return out, req.Send()
  5669  }
  5670  
  5671  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
  5672  // the ability to pass a context and additional request options.
  5673  //
  5674  // See ListTagsForResource for details on how to use this API operation.
  5675  //
  5676  // The context must be non-nil and will be used for request cancellation. If
  5677  // the context is nil a panic will occur. In the future the SDK may create
  5678  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5679  // for more information on using Contexts.
  5680  func (c *Route53) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
  5681  	req, out := c.ListTagsForResourceRequest(input)
  5682  	req.SetContext(ctx)
  5683  	req.ApplyOptions(opts...)
  5684  	return out, req.Send()
  5685  }
  5686  
  5687  const opListTagsForResources = "ListTagsForResources"
  5688  
  5689  // ListTagsForResourcesRequest generates a "aws/request.Request" representing the
  5690  // client's request for the ListTagsForResources operation. The "output" return
  5691  // value will be populated with the request's response once the request completes
  5692  // successfully.
  5693  //
  5694  // Use "Send" method on the returned Request to send the API call to the service.
  5695  // the "output" return value is not valid until after Send returns without error.
  5696  //
  5697  // See ListTagsForResources for more information on using the ListTagsForResources
  5698  // API call, and error handling.
  5699  //
  5700  // This method is useful when you want to inject custom logic or configuration
  5701  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5702  //
  5703  //
  5704  //    // Example sending a request using the ListTagsForResourcesRequest method.
  5705  //    req, resp := client.ListTagsForResourcesRequest(params)
  5706  //
  5707  //    err := req.Send()
  5708  //    if err == nil { // resp is now filled
  5709  //        fmt.Println(resp)
  5710  //    }
  5711  //
  5712  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListTagsForResources
  5713  func (c *Route53) ListTagsForResourcesRequest(input *ListTagsForResourcesInput) (req *request.Request, output *ListTagsForResourcesOutput) {
  5714  	op := &request.Operation{
  5715  		Name:       opListTagsForResources,
  5716  		HTTPMethod: "POST",
  5717  		HTTPPath:   "/2013-04-01/tags/{ResourceType}",
  5718  	}
  5719  
  5720  	if input == nil {
  5721  		input = &ListTagsForResourcesInput{}
  5722  	}
  5723  
  5724  	output = &ListTagsForResourcesOutput{}
  5725  	req = c.newRequest(op, input, output)
  5726  	return
  5727  }
  5728  
  5729  // ListTagsForResources API operation for Amazon Route 53.
  5730  //
  5731  // Lists tags for up to 10 health checks or hosted zones.
  5732  //
  5733  // For information about using tags for cost allocation, see Using Cost Allocation
  5734  // Tags (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html)
  5735  // in the Billing and Cost Management User Guide.
  5736  //
  5737  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5738  // with awserr.Error's Code and Message methods to get detailed information about
  5739  // the error.
  5740  //
  5741  // See the AWS API reference guide for Amazon Route 53's
  5742  // API operation ListTagsForResources for usage and error information.
  5743  //
  5744  // Returned Error Codes:
  5745  //   * ErrCodeInvalidInput "InvalidInput"
  5746  //   The input is not valid.
  5747  //
  5748  //   * ErrCodeNoSuchHealthCheck "NoSuchHealthCheck"
  5749  //   No health check exists with the specified ID.
  5750  //
  5751  //   * ErrCodeNoSuchHostedZone "NoSuchHostedZone"
  5752  //   No hosted zone exists with the ID that you specified.
  5753  //
  5754  //   * ErrCodePriorRequestNotComplete "PriorRequestNotComplete"
  5755  //   If Amazon Route 53 can't process a request before the next request arrives,
  5756  //   it will reject subsequent requests for the same hosted zone and return an
  5757  //   HTTP 400 error (Bad request). If Route 53 returns this error repeatedly for
  5758  //   the same request, we recommend that you wait, in intervals of increasing
  5759  //   duration, before you try the request again.
  5760  //
  5761  //   * ErrCodeThrottlingException "ThrottlingException"
  5762  //   The limit on the number of requests per second was exceeded.
  5763  //
  5764  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListTagsForResources
  5765  func (c *Route53) ListTagsForResources(input *ListTagsForResourcesInput) (*ListTagsForResourcesOutput, error) {
  5766  	req, out := c.ListTagsForResourcesRequest(input)
  5767  	return out, req.Send()
  5768  }
  5769  
  5770  // ListTagsForResourcesWithContext is the same as ListTagsForResources with the addition of
  5771  // the ability to pass a context and additional request options.
  5772  //
  5773  // See ListTagsForResources for details on how to use this API operation.
  5774  //
  5775  // The context must be non-nil and will be used for request cancellation. If
  5776  // the context is nil a panic will occur. In the future the SDK may create
  5777  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5778  // for more information on using Contexts.
  5779  func (c *Route53) ListTagsForResourcesWithContext(ctx aws.Context, input *ListTagsForResourcesInput, opts ...request.Option) (*ListTagsForResourcesOutput, error) {
  5780  	req, out := c.ListTagsForResourcesRequest(input)
  5781  	req.SetContext(ctx)
  5782  	req.ApplyOptions(opts...)
  5783  	return out, req.Send()
  5784  }
  5785  
  5786  const opListTrafficPolicies = "ListTrafficPolicies"
  5787  
  5788  // ListTrafficPoliciesRequest generates a "aws/request.Request" representing the
  5789  // client's request for the ListTrafficPolicies operation. The "output" return
  5790  // value will be populated with the request's response once the request completes
  5791  // successfully.
  5792  //
  5793  // Use "Send" method on the returned Request to send the API call to the service.
  5794  // the "output" return value is not valid until after Send returns without error.
  5795  //
  5796  // See ListTrafficPolicies for more information on using the ListTrafficPolicies
  5797  // API call, and error handling.
  5798  //
  5799  // This method is useful when you want to inject custom logic or configuration
  5800  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5801  //
  5802  //
  5803  //    // Example sending a request using the ListTrafficPoliciesRequest method.
  5804  //    req, resp := client.ListTrafficPoliciesRequest(params)
  5805  //
  5806  //    err := req.Send()
  5807  //    if err == nil { // resp is now filled
  5808  //        fmt.Println(resp)
  5809  //    }
  5810  //
  5811  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListTrafficPolicies
  5812  func (c *Route53) ListTrafficPoliciesRequest(input *ListTrafficPoliciesInput) (req *request.Request, output *ListTrafficPoliciesOutput) {
  5813  	op := &request.Operation{
  5814  		Name:       opListTrafficPolicies,
  5815  		HTTPMethod: "GET",
  5816  		HTTPPath:   "/2013-04-01/trafficpolicies",
  5817  	}
  5818  
  5819  	if input == nil {
  5820  		input = &ListTrafficPoliciesInput{}
  5821  	}
  5822  
  5823  	output = &ListTrafficPoliciesOutput{}
  5824  	req = c.newRequest(op, input, output)
  5825  	return
  5826  }
  5827  
  5828  // ListTrafficPolicies API operation for Amazon Route 53.
  5829  //
  5830  // Gets information about the latest version for every traffic policy that is
  5831  // associated with the current Amazon Web Services account. Policies are listed
  5832  // in the order that they were created in.
  5833  //
  5834  // For information about how of deleting a traffic policy affects the response
  5835  // from ListTrafficPolicies, see DeleteTrafficPolicy (https://docs.aws.amazon.com/Route53/latest/APIReference/API_DeleteTrafficPolicy.html).
  5836  //
  5837  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5838  // with awserr.Error's Code and Message methods to get detailed information about
  5839  // the error.
  5840  //
  5841  // See the AWS API reference guide for Amazon Route 53's
  5842  // API operation ListTrafficPolicies for usage and error information.
  5843  //
  5844  // Returned Error Codes:
  5845  //   * ErrCodeInvalidInput "InvalidInput"
  5846  //   The input is not valid.
  5847  //
  5848  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListTrafficPolicies
  5849  func (c *Route53) ListTrafficPolicies(input *ListTrafficPoliciesInput) (*ListTrafficPoliciesOutput, error) {
  5850  	req, out := c.ListTrafficPoliciesRequest(input)
  5851  	return out, req.Send()
  5852  }
  5853  
  5854  // ListTrafficPoliciesWithContext is the same as ListTrafficPolicies with the addition of
  5855  // the ability to pass a context and additional request options.
  5856  //
  5857  // See ListTrafficPolicies for details on how to use this API operation.
  5858  //
  5859  // The context must be non-nil and will be used for request cancellation. If
  5860  // the context is nil a panic will occur. In the future the SDK may create
  5861  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5862  // for more information on using Contexts.
  5863  func (c *Route53) ListTrafficPoliciesWithContext(ctx aws.Context, input *ListTrafficPoliciesInput, opts ...request.Option) (*ListTrafficPoliciesOutput, error) {
  5864  	req, out := c.ListTrafficPoliciesRequest(input)
  5865  	req.SetContext(ctx)
  5866  	req.ApplyOptions(opts...)
  5867  	return out, req.Send()
  5868  }
  5869  
  5870  const opListTrafficPolicyInstances = "ListTrafficPolicyInstances"
  5871  
  5872  // ListTrafficPolicyInstancesRequest generates a "aws/request.Request" representing the
  5873  // client's request for the ListTrafficPolicyInstances operation. The "output" return
  5874  // value will be populated with the request's response once the request completes
  5875  // successfully.
  5876  //
  5877  // Use "Send" method on the returned Request to send the API call to the service.
  5878  // the "output" return value is not valid until after Send returns without error.
  5879  //
  5880  // See ListTrafficPolicyInstances for more information on using the ListTrafficPolicyInstances
  5881  // API call, and error handling.
  5882  //
  5883  // This method is useful when you want to inject custom logic or configuration
  5884  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5885  //
  5886  //
  5887  //    // Example sending a request using the ListTrafficPolicyInstancesRequest method.
  5888  //    req, resp := client.ListTrafficPolicyInstancesRequest(params)
  5889  //
  5890  //    err := req.Send()
  5891  //    if err == nil { // resp is now filled
  5892  //        fmt.Println(resp)
  5893  //    }
  5894  //
  5895  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListTrafficPolicyInstances
  5896  func (c *Route53) ListTrafficPolicyInstancesRequest(input *ListTrafficPolicyInstancesInput) (req *request.Request, output *ListTrafficPolicyInstancesOutput) {
  5897  	op := &request.Operation{
  5898  		Name:       opListTrafficPolicyInstances,
  5899  		HTTPMethod: "GET",
  5900  		HTTPPath:   "/2013-04-01/trafficpolicyinstances",
  5901  	}
  5902  
  5903  	if input == nil {
  5904  		input = &ListTrafficPolicyInstancesInput{}
  5905  	}
  5906  
  5907  	output = &ListTrafficPolicyInstancesOutput{}
  5908  	req = c.newRequest(op, input, output)
  5909  	return
  5910  }
  5911  
  5912  // ListTrafficPolicyInstances API operation for Amazon Route 53.
  5913  //
  5914  // Gets information about the traffic policy instances that you created by using
  5915  // the current Amazon Web Services account.
  5916  //
  5917  // After you submit an UpdateTrafficPolicyInstance request, there's a brief
  5918  // delay while Amazon Route 53 creates the resource record sets that are specified
  5919  // in the traffic policy definition. For more information, see the State response
  5920  // element.
  5921  //
  5922  // Route 53 returns a maximum of 100 items in each response. If you have a lot
  5923  // of traffic policy instances, you can use the MaxItems parameter to list them
  5924  // in groups of up to 100.
  5925  //
  5926  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5927  // with awserr.Error's Code and Message methods to get detailed information about
  5928  // the error.
  5929  //
  5930  // See the AWS API reference guide for Amazon Route 53's
  5931  // API operation ListTrafficPolicyInstances for usage and error information.
  5932  //
  5933  // Returned Error Codes:
  5934  //   * ErrCodeInvalidInput "InvalidInput"
  5935  //   The input is not valid.
  5936  //
  5937  //   * ErrCodeNoSuchTrafficPolicyInstance "NoSuchTrafficPolicyInstance"
  5938  //   No traffic policy instance exists with the specified ID.
  5939  //
  5940  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListTrafficPolicyInstances
  5941  func (c *Route53) ListTrafficPolicyInstances(input *ListTrafficPolicyInstancesInput) (*ListTrafficPolicyInstancesOutput, error) {
  5942  	req, out := c.ListTrafficPolicyInstancesRequest(input)
  5943  	return out, req.Send()
  5944  }
  5945  
  5946  // ListTrafficPolicyInstancesWithContext is the same as ListTrafficPolicyInstances with the addition of
  5947  // the ability to pass a context and additional request options.
  5948  //
  5949  // See ListTrafficPolicyInstances for details on how to use this API operation.
  5950  //
  5951  // The context must be non-nil and will be used for request cancellation. If
  5952  // the context is nil a panic will occur. In the future the SDK may create
  5953  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5954  // for more information on using Contexts.
  5955  func (c *Route53) ListTrafficPolicyInstancesWithContext(ctx aws.Context, input *ListTrafficPolicyInstancesInput, opts ...request.Option) (*ListTrafficPolicyInstancesOutput, error) {
  5956  	req, out := c.ListTrafficPolicyInstancesRequest(input)
  5957  	req.SetContext(ctx)
  5958  	req.ApplyOptions(opts...)
  5959  	return out, req.Send()
  5960  }
  5961  
  5962  const opListTrafficPolicyInstancesByHostedZone = "ListTrafficPolicyInstancesByHostedZone"
  5963  
  5964  // ListTrafficPolicyInstancesByHostedZoneRequest generates a "aws/request.Request" representing the
  5965  // client's request for the ListTrafficPolicyInstancesByHostedZone operation. The "output" return
  5966  // value will be populated with the request's response once the request completes
  5967  // successfully.
  5968  //
  5969  // Use "Send" method on the returned Request to send the API call to the service.
  5970  // the "output" return value is not valid until after Send returns without error.
  5971  //
  5972  // See ListTrafficPolicyInstancesByHostedZone for more information on using the ListTrafficPolicyInstancesByHostedZone
  5973  // API call, and error handling.
  5974  //
  5975  // This method is useful when you want to inject custom logic or configuration
  5976  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5977  //
  5978  //
  5979  //    // Example sending a request using the ListTrafficPolicyInstancesByHostedZoneRequest method.
  5980  //    req, resp := client.ListTrafficPolicyInstancesByHostedZoneRequest(params)
  5981  //
  5982  //    err := req.Send()
  5983  //    if err == nil { // resp is now filled
  5984  //        fmt.Println(resp)
  5985  //    }
  5986  //
  5987  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListTrafficPolicyInstancesByHostedZone
  5988  func (c *Route53) ListTrafficPolicyInstancesByHostedZoneRequest(input *ListTrafficPolicyInstancesByHostedZoneInput) (req *request.Request, output *ListTrafficPolicyInstancesByHostedZoneOutput) {
  5989  	op := &request.Operation{
  5990  		Name:       opListTrafficPolicyInstancesByHostedZone,
  5991  		HTTPMethod: "GET",
  5992  		HTTPPath:   "/2013-04-01/trafficpolicyinstances/hostedzone",
  5993  	}
  5994  
  5995  	if input == nil {
  5996  		input = &ListTrafficPolicyInstancesByHostedZoneInput{}
  5997  	}
  5998  
  5999  	output = &ListTrafficPolicyInstancesByHostedZoneOutput{}
  6000  	req = c.newRequest(op, input, output)
  6001  	return
  6002  }
  6003  
  6004  // ListTrafficPolicyInstancesByHostedZone API operation for Amazon Route 53.
  6005  //
  6006  // Gets information about the traffic policy instances that you created in a
  6007  // specified hosted zone.
  6008  //
  6009  // After you submit a CreateTrafficPolicyInstance or an UpdateTrafficPolicyInstance
  6010  // request, there's a brief delay while Amazon Route 53 creates the resource
  6011  // record sets that are specified in the traffic policy definition. For more
  6012  // information, see the State response element.
  6013  //
  6014  // Route 53 returns a maximum of 100 items in each response. If you have a lot
  6015  // of traffic policy instances, you can use the MaxItems parameter to list them
  6016  // in groups of up to 100.
  6017  //
  6018  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6019  // with awserr.Error's Code and Message methods to get detailed information about
  6020  // the error.
  6021  //
  6022  // See the AWS API reference guide for Amazon Route 53's
  6023  // API operation ListTrafficPolicyInstancesByHostedZone for usage and error information.
  6024  //
  6025  // Returned Error Codes:
  6026  //   * ErrCodeInvalidInput "InvalidInput"
  6027  //   The input is not valid.
  6028  //
  6029  //   * ErrCodeNoSuchTrafficPolicyInstance "NoSuchTrafficPolicyInstance"
  6030  //   No traffic policy instance exists with the specified ID.
  6031  //
  6032  //   * ErrCodeNoSuchHostedZone "NoSuchHostedZone"
  6033  //   No hosted zone exists with the ID that you specified.
  6034  //
  6035  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListTrafficPolicyInstancesByHostedZone
  6036  func (c *Route53) ListTrafficPolicyInstancesByHostedZone(input *ListTrafficPolicyInstancesByHostedZoneInput) (*ListTrafficPolicyInstancesByHostedZoneOutput, error) {
  6037  	req, out := c.ListTrafficPolicyInstancesByHostedZoneRequest(input)
  6038  	return out, req.Send()
  6039  }
  6040  
  6041  // ListTrafficPolicyInstancesByHostedZoneWithContext is the same as ListTrafficPolicyInstancesByHostedZone with the addition of
  6042  // the ability to pass a context and additional request options.
  6043  //
  6044  // See ListTrafficPolicyInstancesByHostedZone for details on how to use this API operation.
  6045  //
  6046  // The context must be non-nil and will be used for request cancellation. If
  6047  // the context is nil a panic will occur. In the future the SDK may create
  6048  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6049  // for more information on using Contexts.
  6050  func (c *Route53) ListTrafficPolicyInstancesByHostedZoneWithContext(ctx aws.Context, input *ListTrafficPolicyInstancesByHostedZoneInput, opts ...request.Option) (*ListTrafficPolicyInstancesByHostedZoneOutput, error) {
  6051  	req, out := c.ListTrafficPolicyInstancesByHostedZoneRequest(input)
  6052  	req.SetContext(ctx)
  6053  	req.ApplyOptions(opts...)
  6054  	return out, req.Send()
  6055  }
  6056  
  6057  const opListTrafficPolicyInstancesByPolicy = "ListTrafficPolicyInstancesByPolicy"
  6058  
  6059  // ListTrafficPolicyInstancesByPolicyRequest generates a "aws/request.Request" representing the
  6060  // client's request for the ListTrafficPolicyInstancesByPolicy operation. The "output" return
  6061  // value will be populated with the request's response once the request completes
  6062  // successfully.
  6063  //
  6064  // Use "Send" method on the returned Request to send the API call to the service.
  6065  // the "output" return value is not valid until after Send returns without error.
  6066  //
  6067  // See ListTrafficPolicyInstancesByPolicy for more information on using the ListTrafficPolicyInstancesByPolicy
  6068  // API call, and error handling.
  6069  //
  6070  // This method is useful when you want to inject custom logic or configuration
  6071  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6072  //
  6073  //
  6074  //    // Example sending a request using the ListTrafficPolicyInstancesByPolicyRequest method.
  6075  //    req, resp := client.ListTrafficPolicyInstancesByPolicyRequest(params)
  6076  //
  6077  //    err := req.Send()
  6078  //    if err == nil { // resp is now filled
  6079  //        fmt.Println(resp)
  6080  //    }
  6081  //
  6082  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListTrafficPolicyInstancesByPolicy
  6083  func (c *Route53) ListTrafficPolicyInstancesByPolicyRequest(input *ListTrafficPolicyInstancesByPolicyInput) (req *request.Request, output *ListTrafficPolicyInstancesByPolicyOutput) {
  6084  	op := &request.Operation{
  6085  		Name:       opListTrafficPolicyInstancesByPolicy,
  6086  		HTTPMethod: "GET",
  6087  		HTTPPath:   "/2013-04-01/trafficpolicyinstances/trafficpolicy",
  6088  	}
  6089  
  6090  	if input == nil {
  6091  		input = &ListTrafficPolicyInstancesByPolicyInput{}
  6092  	}
  6093  
  6094  	output = &ListTrafficPolicyInstancesByPolicyOutput{}
  6095  	req = c.newRequest(op, input, output)
  6096  	return
  6097  }
  6098  
  6099  // ListTrafficPolicyInstancesByPolicy API operation for Amazon Route 53.
  6100  //
  6101  // Gets information about the traffic policy instances that you created by using
  6102  // a specify traffic policy version.
  6103  //
  6104  // After you submit a CreateTrafficPolicyInstance or an UpdateTrafficPolicyInstance
  6105  // request, there's a brief delay while Amazon Route 53 creates the resource
  6106  // record sets that are specified in the traffic policy definition. For more
  6107  // information, see the State response element.
  6108  //
  6109  // Route 53 returns a maximum of 100 items in each response. If you have a lot
  6110  // of traffic policy instances, you can use the MaxItems parameter to list them
  6111  // in groups of up to 100.
  6112  //
  6113  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6114  // with awserr.Error's Code and Message methods to get detailed information about
  6115  // the error.
  6116  //
  6117  // See the AWS API reference guide for Amazon Route 53's
  6118  // API operation ListTrafficPolicyInstancesByPolicy for usage and error information.
  6119  //
  6120  // Returned Error Codes:
  6121  //   * ErrCodeInvalidInput "InvalidInput"
  6122  //   The input is not valid.
  6123  //
  6124  //   * ErrCodeNoSuchTrafficPolicyInstance "NoSuchTrafficPolicyInstance"
  6125  //   No traffic policy instance exists with the specified ID.
  6126  //
  6127  //   * ErrCodeNoSuchTrafficPolicy "NoSuchTrafficPolicy"
  6128  //   No traffic policy exists with the specified ID.
  6129  //
  6130  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListTrafficPolicyInstancesByPolicy
  6131  func (c *Route53) ListTrafficPolicyInstancesByPolicy(input *ListTrafficPolicyInstancesByPolicyInput) (*ListTrafficPolicyInstancesByPolicyOutput, error) {
  6132  	req, out := c.ListTrafficPolicyInstancesByPolicyRequest(input)
  6133  	return out, req.Send()
  6134  }
  6135  
  6136  // ListTrafficPolicyInstancesByPolicyWithContext is the same as ListTrafficPolicyInstancesByPolicy with the addition of
  6137  // the ability to pass a context and additional request options.
  6138  //
  6139  // See ListTrafficPolicyInstancesByPolicy for details on how to use this API operation.
  6140  //
  6141  // The context must be non-nil and will be used for request cancellation. If
  6142  // the context is nil a panic will occur. In the future the SDK may create
  6143  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6144  // for more information on using Contexts.
  6145  func (c *Route53) ListTrafficPolicyInstancesByPolicyWithContext(ctx aws.Context, input *ListTrafficPolicyInstancesByPolicyInput, opts ...request.Option) (*ListTrafficPolicyInstancesByPolicyOutput, error) {
  6146  	req, out := c.ListTrafficPolicyInstancesByPolicyRequest(input)
  6147  	req.SetContext(ctx)
  6148  	req.ApplyOptions(opts...)
  6149  	return out, req.Send()
  6150  }
  6151  
  6152  const opListTrafficPolicyVersions = "ListTrafficPolicyVersions"
  6153  
  6154  // ListTrafficPolicyVersionsRequest generates a "aws/request.Request" representing the
  6155  // client's request for the ListTrafficPolicyVersions operation. The "output" return
  6156  // value will be populated with the request's response once the request completes
  6157  // successfully.
  6158  //
  6159  // Use "Send" method on the returned Request to send the API call to the service.
  6160  // the "output" return value is not valid until after Send returns without error.
  6161  //
  6162  // See ListTrafficPolicyVersions for more information on using the ListTrafficPolicyVersions
  6163  // API call, and error handling.
  6164  //
  6165  // This method is useful when you want to inject custom logic or configuration
  6166  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6167  //
  6168  //
  6169  //    // Example sending a request using the ListTrafficPolicyVersionsRequest method.
  6170  //    req, resp := client.ListTrafficPolicyVersionsRequest(params)
  6171  //
  6172  //    err := req.Send()
  6173  //    if err == nil { // resp is now filled
  6174  //        fmt.Println(resp)
  6175  //    }
  6176  //
  6177  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListTrafficPolicyVersions
  6178  func (c *Route53) ListTrafficPolicyVersionsRequest(input *ListTrafficPolicyVersionsInput) (req *request.Request, output *ListTrafficPolicyVersionsOutput) {
  6179  	op := &request.Operation{
  6180  		Name:       opListTrafficPolicyVersions,
  6181  		HTTPMethod: "GET",
  6182  		HTTPPath:   "/2013-04-01/trafficpolicies/{Id}/versions",
  6183  	}
  6184  
  6185  	if input == nil {
  6186  		input = &ListTrafficPolicyVersionsInput{}
  6187  	}
  6188  
  6189  	output = &ListTrafficPolicyVersionsOutput{}
  6190  	req = c.newRequest(op, input, output)
  6191  	return
  6192  }
  6193  
  6194  // ListTrafficPolicyVersions API operation for Amazon Route 53.
  6195  //
  6196  // Gets information about all of the versions for a specified traffic policy.
  6197  //
  6198  // Traffic policy versions are listed in numerical order by VersionNumber.
  6199  //
  6200  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6201  // with awserr.Error's Code and Message methods to get detailed information about
  6202  // the error.
  6203  //
  6204  // See the AWS API reference guide for Amazon Route 53's
  6205  // API operation ListTrafficPolicyVersions for usage and error information.
  6206  //
  6207  // Returned Error Codes:
  6208  //   * ErrCodeInvalidInput "InvalidInput"
  6209  //   The input is not valid.
  6210  //
  6211  //   * ErrCodeNoSuchTrafficPolicy "NoSuchTrafficPolicy"
  6212  //   No traffic policy exists with the specified ID.
  6213  //
  6214  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListTrafficPolicyVersions
  6215  func (c *Route53) ListTrafficPolicyVersions(input *ListTrafficPolicyVersionsInput) (*ListTrafficPolicyVersionsOutput, error) {
  6216  	req, out := c.ListTrafficPolicyVersionsRequest(input)
  6217  	return out, req.Send()
  6218  }
  6219  
  6220  // ListTrafficPolicyVersionsWithContext is the same as ListTrafficPolicyVersions with the addition of
  6221  // the ability to pass a context and additional request options.
  6222  //
  6223  // See ListTrafficPolicyVersions for details on how to use this API operation.
  6224  //
  6225  // The context must be non-nil and will be used for request cancellation. If
  6226  // the context is nil a panic will occur. In the future the SDK may create
  6227  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6228  // for more information on using Contexts.
  6229  func (c *Route53) ListTrafficPolicyVersionsWithContext(ctx aws.Context, input *ListTrafficPolicyVersionsInput, opts ...request.Option) (*ListTrafficPolicyVersionsOutput, error) {
  6230  	req, out := c.ListTrafficPolicyVersionsRequest(input)
  6231  	req.SetContext(ctx)
  6232  	req.ApplyOptions(opts...)
  6233  	return out, req.Send()
  6234  }
  6235  
  6236  const opListVPCAssociationAuthorizations = "ListVPCAssociationAuthorizations"
  6237  
  6238  // ListVPCAssociationAuthorizationsRequest generates a "aws/request.Request" representing the
  6239  // client's request for the ListVPCAssociationAuthorizations operation. The "output" return
  6240  // value will be populated with the request's response once the request completes
  6241  // successfully.
  6242  //
  6243  // Use "Send" method on the returned Request to send the API call to the service.
  6244  // the "output" return value is not valid until after Send returns without error.
  6245  //
  6246  // See ListVPCAssociationAuthorizations for more information on using the ListVPCAssociationAuthorizations
  6247  // API call, and error handling.
  6248  //
  6249  // This method is useful when you want to inject custom logic or configuration
  6250  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6251  //
  6252  //
  6253  //    // Example sending a request using the ListVPCAssociationAuthorizationsRequest method.
  6254  //    req, resp := client.ListVPCAssociationAuthorizationsRequest(params)
  6255  //
  6256  //    err := req.Send()
  6257  //    if err == nil { // resp is now filled
  6258  //        fmt.Println(resp)
  6259  //    }
  6260  //
  6261  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListVPCAssociationAuthorizations
  6262  func (c *Route53) ListVPCAssociationAuthorizationsRequest(input *ListVPCAssociationAuthorizationsInput) (req *request.Request, output *ListVPCAssociationAuthorizationsOutput) {
  6263  	op := &request.Operation{
  6264  		Name:       opListVPCAssociationAuthorizations,
  6265  		HTTPMethod: "GET",
  6266  		HTTPPath:   "/2013-04-01/hostedzone/{Id}/authorizevpcassociation",
  6267  	}
  6268  
  6269  	if input == nil {
  6270  		input = &ListVPCAssociationAuthorizationsInput{}
  6271  	}
  6272  
  6273  	output = &ListVPCAssociationAuthorizationsOutput{}
  6274  	req = c.newRequest(op, input, output)
  6275  	return
  6276  }
  6277  
  6278  // ListVPCAssociationAuthorizations API operation for Amazon Route 53.
  6279  //
  6280  // Gets a list of the VPCs that were created by other accounts and that can
  6281  // be associated with a specified hosted zone because you've submitted one or
  6282  // more CreateVPCAssociationAuthorization requests.
  6283  //
  6284  // The response includes a VPCs element with a VPC child element for each VPC
  6285  // that can be associated with the hosted zone.
  6286  //
  6287  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6288  // with awserr.Error's Code and Message methods to get detailed information about
  6289  // the error.
  6290  //
  6291  // See the AWS API reference guide for Amazon Route 53's
  6292  // API operation ListVPCAssociationAuthorizations for usage and error information.
  6293  //
  6294  // Returned Error Codes:
  6295  //   * ErrCodeNoSuchHostedZone "NoSuchHostedZone"
  6296  //   No hosted zone exists with the ID that you specified.
  6297  //
  6298  //   * ErrCodeInvalidInput "InvalidInput"
  6299  //   The input is not valid.
  6300  //
  6301  //   * ErrCodeInvalidPaginationToken "InvalidPaginationToken"
  6302  //   The value that you specified to get the second or subsequent page of results
  6303  //   is invalid.
  6304  //
  6305  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListVPCAssociationAuthorizations
  6306  func (c *Route53) ListVPCAssociationAuthorizations(input *ListVPCAssociationAuthorizationsInput) (*ListVPCAssociationAuthorizationsOutput, error) {
  6307  	req, out := c.ListVPCAssociationAuthorizationsRequest(input)
  6308  	return out, req.Send()
  6309  }
  6310  
  6311  // ListVPCAssociationAuthorizationsWithContext is the same as ListVPCAssociationAuthorizations with the addition of
  6312  // the ability to pass a context and additional request options.
  6313  //
  6314  // See ListVPCAssociationAuthorizations for details on how to use this API operation.
  6315  //
  6316  // The context must be non-nil and will be used for request cancellation. If
  6317  // the context is nil a panic will occur. In the future the SDK may create
  6318  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6319  // for more information on using Contexts.
  6320  func (c *Route53) ListVPCAssociationAuthorizationsWithContext(ctx aws.Context, input *ListVPCAssociationAuthorizationsInput, opts ...request.Option) (*ListVPCAssociationAuthorizationsOutput, error) {
  6321  	req, out := c.ListVPCAssociationAuthorizationsRequest(input)
  6322  	req.SetContext(ctx)
  6323  	req.ApplyOptions(opts...)
  6324  	return out, req.Send()
  6325  }
  6326  
  6327  const opTestDNSAnswer = "TestDNSAnswer"
  6328  
  6329  // TestDNSAnswerRequest generates a "aws/request.Request" representing the
  6330  // client's request for the TestDNSAnswer operation. The "output" return
  6331  // value will be populated with the request's response once the request completes
  6332  // successfully.
  6333  //
  6334  // Use "Send" method on the returned Request to send the API call to the service.
  6335  // the "output" return value is not valid until after Send returns without error.
  6336  //
  6337  // See TestDNSAnswer for more information on using the TestDNSAnswer
  6338  // API call, and error handling.
  6339  //
  6340  // This method is useful when you want to inject custom logic or configuration
  6341  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6342  //
  6343  //
  6344  //    // Example sending a request using the TestDNSAnswerRequest method.
  6345  //    req, resp := client.TestDNSAnswerRequest(params)
  6346  //
  6347  //    err := req.Send()
  6348  //    if err == nil { // resp is now filled
  6349  //        fmt.Println(resp)
  6350  //    }
  6351  //
  6352  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/TestDNSAnswer
  6353  func (c *Route53) TestDNSAnswerRequest(input *TestDNSAnswerInput) (req *request.Request, output *TestDNSAnswerOutput) {
  6354  	op := &request.Operation{
  6355  		Name:       opTestDNSAnswer,
  6356  		HTTPMethod: "GET",
  6357  		HTTPPath:   "/2013-04-01/testdnsanswer",
  6358  	}
  6359  
  6360  	if input == nil {
  6361  		input = &TestDNSAnswerInput{}
  6362  	}
  6363  
  6364  	output = &TestDNSAnswerOutput{}
  6365  	req = c.newRequest(op, input, output)
  6366  	return
  6367  }
  6368  
  6369  // TestDNSAnswer API operation for Amazon Route 53.
  6370  //
  6371  // Gets the value that Amazon Route 53 returns in response to a DNS request
  6372  // for a specified record name and type. You can optionally specify the IP address
  6373  // of a DNS resolver, an EDNS0 client subnet IP address, and a subnet mask.
  6374  //
  6375  // This call only supports querying public hosted zones.
  6376  //
  6377  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6378  // with awserr.Error's Code and Message methods to get detailed information about
  6379  // the error.
  6380  //
  6381  // See the AWS API reference guide for Amazon Route 53's
  6382  // API operation TestDNSAnswer for usage and error information.
  6383  //
  6384  // Returned Error Codes:
  6385  //   * ErrCodeNoSuchHostedZone "NoSuchHostedZone"
  6386  //   No hosted zone exists with the ID that you specified.
  6387  //
  6388  //   * ErrCodeInvalidInput "InvalidInput"
  6389  //   The input is not valid.
  6390  //
  6391  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/TestDNSAnswer
  6392  func (c *Route53) TestDNSAnswer(input *TestDNSAnswerInput) (*TestDNSAnswerOutput, error) {
  6393  	req, out := c.TestDNSAnswerRequest(input)
  6394  	return out, req.Send()
  6395  }
  6396  
  6397  // TestDNSAnswerWithContext is the same as TestDNSAnswer with the addition of
  6398  // the ability to pass a context and additional request options.
  6399  //
  6400  // See TestDNSAnswer for details on how to use this API operation.
  6401  //
  6402  // The context must be non-nil and will be used for request cancellation. If
  6403  // the context is nil a panic will occur. In the future the SDK may create
  6404  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6405  // for more information on using Contexts.
  6406  func (c *Route53) TestDNSAnswerWithContext(ctx aws.Context, input *TestDNSAnswerInput, opts ...request.Option) (*TestDNSAnswerOutput, error) {
  6407  	req, out := c.TestDNSAnswerRequest(input)
  6408  	req.SetContext(ctx)
  6409  	req.ApplyOptions(opts...)
  6410  	return out, req.Send()
  6411  }
  6412  
  6413  const opUpdateHealthCheck = "UpdateHealthCheck"
  6414  
  6415  // UpdateHealthCheckRequest generates a "aws/request.Request" representing the
  6416  // client's request for the UpdateHealthCheck operation. The "output" return
  6417  // value will be populated with the request's response once the request completes
  6418  // successfully.
  6419  //
  6420  // Use "Send" method on the returned Request to send the API call to the service.
  6421  // the "output" return value is not valid until after Send returns without error.
  6422  //
  6423  // See UpdateHealthCheck for more information on using the UpdateHealthCheck
  6424  // API call, and error handling.
  6425  //
  6426  // This method is useful when you want to inject custom logic or configuration
  6427  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6428  //
  6429  //
  6430  //    // Example sending a request using the UpdateHealthCheckRequest method.
  6431  //    req, resp := client.UpdateHealthCheckRequest(params)
  6432  //
  6433  //    err := req.Send()
  6434  //    if err == nil { // resp is now filled
  6435  //        fmt.Println(resp)
  6436  //    }
  6437  //
  6438  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/UpdateHealthCheck
  6439  func (c *Route53) UpdateHealthCheckRequest(input *UpdateHealthCheckInput) (req *request.Request, output *UpdateHealthCheckOutput) {
  6440  	op := &request.Operation{
  6441  		Name:       opUpdateHealthCheck,
  6442  		HTTPMethod: "POST",
  6443  		HTTPPath:   "/2013-04-01/healthcheck/{HealthCheckId}",
  6444  	}
  6445  
  6446  	if input == nil {
  6447  		input = &UpdateHealthCheckInput{}
  6448  	}
  6449  
  6450  	output = &UpdateHealthCheckOutput{}
  6451  	req = c.newRequest(op, input, output)
  6452  	return
  6453  }
  6454  
  6455  // UpdateHealthCheck API operation for Amazon Route 53.
  6456  //
  6457  // Updates an existing health check. Note that some values can't be updated.
  6458  //
  6459  // For more information about updating health checks, see Creating, Updating,
  6460  // and Deleting Health Checks (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/health-checks-creating-deleting.html)
  6461  // in the Amazon Route 53 Developer Guide.
  6462  //
  6463  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6464  // with awserr.Error's Code and Message methods to get detailed information about
  6465  // the error.
  6466  //
  6467  // See the AWS API reference guide for Amazon Route 53's
  6468  // API operation UpdateHealthCheck for usage and error information.
  6469  //
  6470  // Returned Error Codes:
  6471  //   * ErrCodeNoSuchHealthCheck "NoSuchHealthCheck"
  6472  //   No health check exists with the specified ID.
  6473  //
  6474  //   * ErrCodeInvalidInput "InvalidInput"
  6475  //   The input is not valid.
  6476  //
  6477  //   * ErrCodeHealthCheckVersionMismatch "HealthCheckVersionMismatch"
  6478  //   The value of HealthCheckVersion in the request doesn't match the value of
  6479  //   HealthCheckVersion in the health check.
  6480  //
  6481  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/UpdateHealthCheck
  6482  func (c *Route53) UpdateHealthCheck(input *UpdateHealthCheckInput) (*UpdateHealthCheckOutput, error) {
  6483  	req, out := c.UpdateHealthCheckRequest(input)
  6484  	return out, req.Send()
  6485  }
  6486  
  6487  // UpdateHealthCheckWithContext is the same as UpdateHealthCheck with the addition of
  6488  // the ability to pass a context and additional request options.
  6489  //
  6490  // See UpdateHealthCheck for details on how to use this API operation.
  6491  //
  6492  // The context must be non-nil and will be used for request cancellation. If
  6493  // the context is nil a panic will occur. In the future the SDK may create
  6494  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6495  // for more information on using Contexts.
  6496  func (c *Route53) UpdateHealthCheckWithContext(ctx aws.Context, input *UpdateHealthCheckInput, opts ...request.Option) (*UpdateHealthCheckOutput, error) {
  6497  	req, out := c.UpdateHealthCheckRequest(input)
  6498  	req.SetContext(ctx)
  6499  	req.ApplyOptions(opts...)
  6500  	return out, req.Send()
  6501  }
  6502  
  6503  const opUpdateHostedZoneComment = "UpdateHostedZoneComment"
  6504  
  6505  // UpdateHostedZoneCommentRequest generates a "aws/request.Request" representing the
  6506  // client's request for the UpdateHostedZoneComment operation. The "output" return
  6507  // value will be populated with the request's response once the request completes
  6508  // successfully.
  6509  //
  6510  // Use "Send" method on the returned Request to send the API call to the service.
  6511  // the "output" return value is not valid until after Send returns without error.
  6512  //
  6513  // See UpdateHostedZoneComment for more information on using the UpdateHostedZoneComment
  6514  // API call, and error handling.
  6515  //
  6516  // This method is useful when you want to inject custom logic or configuration
  6517  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6518  //
  6519  //
  6520  //    // Example sending a request using the UpdateHostedZoneCommentRequest method.
  6521  //    req, resp := client.UpdateHostedZoneCommentRequest(params)
  6522  //
  6523  //    err := req.Send()
  6524  //    if err == nil { // resp is now filled
  6525  //        fmt.Println(resp)
  6526  //    }
  6527  //
  6528  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/UpdateHostedZoneComment
  6529  func (c *Route53) UpdateHostedZoneCommentRequest(input *UpdateHostedZoneCommentInput) (req *request.Request, output *UpdateHostedZoneCommentOutput) {
  6530  	op := &request.Operation{
  6531  		Name:       opUpdateHostedZoneComment,
  6532  		HTTPMethod: "POST",
  6533  		HTTPPath:   "/2013-04-01/hostedzone/{Id}",
  6534  	}
  6535  
  6536  	if input == nil {
  6537  		input = &UpdateHostedZoneCommentInput{}
  6538  	}
  6539  
  6540  	output = &UpdateHostedZoneCommentOutput{}
  6541  	req = c.newRequest(op, input, output)
  6542  	return
  6543  }
  6544  
  6545  // UpdateHostedZoneComment API operation for Amazon Route 53.
  6546  //
  6547  // Updates the comment for a specified hosted zone.
  6548  //
  6549  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6550  // with awserr.Error's Code and Message methods to get detailed information about
  6551  // the error.
  6552  //
  6553  // See the AWS API reference guide for Amazon Route 53's
  6554  // API operation UpdateHostedZoneComment for usage and error information.
  6555  //
  6556  // Returned Error Codes:
  6557  //   * ErrCodeNoSuchHostedZone "NoSuchHostedZone"
  6558  //   No hosted zone exists with the ID that you specified.
  6559  //
  6560  //   * ErrCodeInvalidInput "InvalidInput"
  6561  //   The input is not valid.
  6562  //
  6563  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/UpdateHostedZoneComment
  6564  func (c *Route53) UpdateHostedZoneComment(input *UpdateHostedZoneCommentInput) (*UpdateHostedZoneCommentOutput, error) {
  6565  	req, out := c.UpdateHostedZoneCommentRequest(input)
  6566  	return out, req.Send()
  6567  }
  6568  
  6569  // UpdateHostedZoneCommentWithContext is the same as UpdateHostedZoneComment with the addition of
  6570  // the ability to pass a context and additional request options.
  6571  //
  6572  // See UpdateHostedZoneComment for details on how to use this API operation.
  6573  //
  6574  // The context must be non-nil and will be used for request cancellation. If
  6575  // the context is nil a panic will occur. In the future the SDK may create
  6576  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6577  // for more information on using Contexts.
  6578  func (c *Route53) UpdateHostedZoneCommentWithContext(ctx aws.Context, input *UpdateHostedZoneCommentInput, opts ...request.Option) (*UpdateHostedZoneCommentOutput, error) {
  6579  	req, out := c.UpdateHostedZoneCommentRequest(input)
  6580  	req.SetContext(ctx)
  6581  	req.ApplyOptions(opts...)
  6582  	return out, req.Send()
  6583  }
  6584  
  6585  const opUpdateTrafficPolicyComment = "UpdateTrafficPolicyComment"
  6586  
  6587  // UpdateTrafficPolicyCommentRequest generates a "aws/request.Request" representing the
  6588  // client's request for the UpdateTrafficPolicyComment operation. The "output" return
  6589  // value will be populated with the request's response once the request completes
  6590  // successfully.
  6591  //
  6592  // Use "Send" method on the returned Request to send the API call to the service.
  6593  // the "output" return value is not valid until after Send returns without error.
  6594  //
  6595  // See UpdateTrafficPolicyComment for more information on using the UpdateTrafficPolicyComment
  6596  // API call, and error handling.
  6597  //
  6598  // This method is useful when you want to inject custom logic or configuration
  6599  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6600  //
  6601  //
  6602  //    // Example sending a request using the UpdateTrafficPolicyCommentRequest method.
  6603  //    req, resp := client.UpdateTrafficPolicyCommentRequest(params)
  6604  //
  6605  //    err := req.Send()
  6606  //    if err == nil { // resp is now filled
  6607  //        fmt.Println(resp)
  6608  //    }
  6609  //
  6610  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/UpdateTrafficPolicyComment
  6611  func (c *Route53) UpdateTrafficPolicyCommentRequest(input *UpdateTrafficPolicyCommentInput) (req *request.Request, output *UpdateTrafficPolicyCommentOutput) {
  6612  	op := &request.Operation{
  6613  		Name:       opUpdateTrafficPolicyComment,
  6614  		HTTPMethod: "POST",
  6615  		HTTPPath:   "/2013-04-01/trafficpolicy/{Id}/{Version}",
  6616  	}
  6617  
  6618  	if input == nil {
  6619  		input = &UpdateTrafficPolicyCommentInput{}
  6620  	}
  6621  
  6622  	output = &UpdateTrafficPolicyCommentOutput{}
  6623  	req = c.newRequest(op, input, output)
  6624  	return
  6625  }
  6626  
  6627  // UpdateTrafficPolicyComment API operation for Amazon Route 53.
  6628  //
  6629  // Updates the comment for a specified traffic policy version.
  6630  //
  6631  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6632  // with awserr.Error's Code and Message methods to get detailed information about
  6633  // the error.
  6634  //
  6635  // See the AWS API reference guide for Amazon Route 53's
  6636  // API operation UpdateTrafficPolicyComment for usage and error information.
  6637  //
  6638  // Returned Error Codes:
  6639  //   * ErrCodeInvalidInput "InvalidInput"
  6640  //   The input is not valid.
  6641  //
  6642  //   * ErrCodeNoSuchTrafficPolicy "NoSuchTrafficPolicy"
  6643  //   No traffic policy exists with the specified ID.
  6644  //
  6645  //   * ErrCodeConcurrentModification "ConcurrentModification"
  6646  //   Another user submitted a request to create, update, or delete the object
  6647  //   at the same time that you did. Retry the request.
  6648  //
  6649  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/UpdateTrafficPolicyComment
  6650  func (c *Route53) UpdateTrafficPolicyComment(input *UpdateTrafficPolicyCommentInput) (*UpdateTrafficPolicyCommentOutput, error) {
  6651  	req, out := c.UpdateTrafficPolicyCommentRequest(input)
  6652  	return out, req.Send()
  6653  }
  6654  
  6655  // UpdateTrafficPolicyCommentWithContext is the same as UpdateTrafficPolicyComment with the addition of
  6656  // the ability to pass a context and additional request options.
  6657  //
  6658  // See UpdateTrafficPolicyComment for details on how to use this API operation.
  6659  //
  6660  // The context must be non-nil and will be used for request cancellation. If
  6661  // the context is nil a panic will occur. In the future the SDK may create
  6662  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6663  // for more information on using Contexts.
  6664  func (c *Route53) UpdateTrafficPolicyCommentWithContext(ctx aws.Context, input *UpdateTrafficPolicyCommentInput, opts ...request.Option) (*UpdateTrafficPolicyCommentOutput, error) {
  6665  	req, out := c.UpdateTrafficPolicyCommentRequest(input)
  6666  	req.SetContext(ctx)
  6667  	req.ApplyOptions(opts...)
  6668  	return out, req.Send()
  6669  }
  6670  
  6671  const opUpdateTrafficPolicyInstance = "UpdateTrafficPolicyInstance"
  6672  
  6673  // UpdateTrafficPolicyInstanceRequest generates a "aws/request.Request" representing the
  6674  // client's request for the UpdateTrafficPolicyInstance operation. The "output" return
  6675  // value will be populated with the request's response once the request completes
  6676  // successfully.
  6677  //
  6678  // Use "Send" method on the returned Request to send the API call to the service.
  6679  // the "output" return value is not valid until after Send returns without error.
  6680  //
  6681  // See UpdateTrafficPolicyInstance for more information on using the UpdateTrafficPolicyInstance
  6682  // API call, and error handling.
  6683  //
  6684  // This method is useful when you want to inject custom logic or configuration
  6685  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6686  //
  6687  //
  6688  //    // Example sending a request using the UpdateTrafficPolicyInstanceRequest method.
  6689  //    req, resp := client.UpdateTrafficPolicyInstanceRequest(params)
  6690  //
  6691  //    err := req.Send()
  6692  //    if err == nil { // resp is now filled
  6693  //        fmt.Println(resp)
  6694  //    }
  6695  //
  6696  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/UpdateTrafficPolicyInstance
  6697  func (c *Route53) UpdateTrafficPolicyInstanceRequest(input *UpdateTrafficPolicyInstanceInput) (req *request.Request, output *UpdateTrafficPolicyInstanceOutput) {
  6698  	op := &request.Operation{
  6699  		Name:       opUpdateTrafficPolicyInstance,
  6700  		HTTPMethod: "POST",
  6701  		HTTPPath:   "/2013-04-01/trafficpolicyinstance/{Id}",
  6702  	}
  6703  
  6704  	if input == nil {
  6705  		input = &UpdateTrafficPolicyInstanceInput{}
  6706  	}
  6707  
  6708  	output = &UpdateTrafficPolicyInstanceOutput{}
  6709  	req = c.newRequest(op, input, output)
  6710  	return
  6711  }
  6712  
  6713  // UpdateTrafficPolicyInstance API operation for Amazon Route 53.
  6714  //
  6715  // Updates the resource record sets in a specified hosted zone that were created
  6716  // based on the settings in a specified traffic policy version.
  6717  //
  6718  // When you update a traffic policy instance, Amazon Route 53 continues to respond
  6719  // to DNS queries for the root resource record set name (such as example.com)
  6720  // while it replaces one group of resource record sets with another. Route 53
  6721  // performs the following operations:
  6722  //
  6723  // Route 53 creates a new group of resource record sets based on the specified
  6724  // traffic policy. This is true regardless of how significant the differences
  6725  // are between the existing resource record sets and the new resource record
  6726  // sets.
  6727  //
  6728  // When all of the new resource record sets have been created, Route 53 starts
  6729  // to respond to DNS queries for the root resource record set name (such as
  6730  // example.com) by using the new resource record sets.
  6731  //
  6732  // Route 53 deletes the old group of resource record sets that are associated
  6733  // with the root resource record set name.
  6734  //
  6735  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6736  // with awserr.Error's Code and Message methods to get detailed information about
  6737  // the error.
  6738  //
  6739  // See the AWS API reference guide for Amazon Route 53's
  6740  // API operation UpdateTrafficPolicyInstance for usage and error information.
  6741  //
  6742  // Returned Error Codes:
  6743  //   * ErrCodeInvalidInput "InvalidInput"
  6744  //   The input is not valid.
  6745  //
  6746  //   * ErrCodeNoSuchTrafficPolicy "NoSuchTrafficPolicy"
  6747  //   No traffic policy exists with the specified ID.
  6748  //
  6749  //   * ErrCodeNoSuchTrafficPolicyInstance "NoSuchTrafficPolicyInstance"
  6750  //   No traffic policy instance exists with the specified ID.
  6751  //
  6752  //   * ErrCodePriorRequestNotComplete "PriorRequestNotComplete"
  6753  //   If Amazon Route 53 can't process a request before the next request arrives,
  6754  //   it will reject subsequent requests for the same hosted zone and return an
  6755  //   HTTP 400 error (Bad request). If Route 53 returns this error repeatedly for
  6756  //   the same request, we recommend that you wait, in intervals of increasing
  6757  //   duration, before you try the request again.
  6758  //
  6759  //   * ErrCodeConflictingTypes "ConflictingTypes"
  6760  //   You tried to update a traffic policy instance by using a traffic policy version
  6761  //   that has a different DNS type than the current type for the instance. You
  6762  //   specified the type in the JSON document in the CreateTrafficPolicy or CreateTrafficPolicyVersionrequest.
  6763  //
  6764  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/UpdateTrafficPolicyInstance
  6765  func (c *Route53) UpdateTrafficPolicyInstance(input *UpdateTrafficPolicyInstanceInput) (*UpdateTrafficPolicyInstanceOutput, error) {
  6766  	req, out := c.UpdateTrafficPolicyInstanceRequest(input)
  6767  	return out, req.Send()
  6768  }
  6769  
  6770  // UpdateTrafficPolicyInstanceWithContext is the same as UpdateTrafficPolicyInstance with the addition of
  6771  // the ability to pass a context and additional request options.
  6772  //
  6773  // See UpdateTrafficPolicyInstance for details on how to use this API operation.
  6774  //
  6775  // The context must be non-nil and will be used for request cancellation. If
  6776  // the context is nil a panic will occur. In the future the SDK may create
  6777  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6778  // for more information on using Contexts.
  6779  func (c *Route53) UpdateTrafficPolicyInstanceWithContext(ctx aws.Context, input *UpdateTrafficPolicyInstanceInput, opts ...request.Option) (*UpdateTrafficPolicyInstanceOutput, error) {
  6780  	req, out := c.UpdateTrafficPolicyInstanceRequest(input)
  6781  	req.SetContext(ctx)
  6782  	req.ApplyOptions(opts...)
  6783  	return out, req.Send()
  6784  }
  6785  
  6786  // A complex type that contains the type of limit that you specified in the
  6787  // request and the current value for that limit.
  6788  type AccountLimit struct {
  6789  	_ struct{} `type:"structure"`
  6790  
  6791  	// The limit that you requested. Valid values include the following:
  6792  	//
  6793  	//    * MAX_HEALTH_CHECKS_BY_OWNER: The maximum number of health checks that
  6794  	//    you can create using the current account.
  6795  	//
  6796  	//    * MAX_HOSTED_ZONES_BY_OWNER: The maximum number of hosted zones that you
  6797  	//    can create using the current account.
  6798  	//
  6799  	//    * MAX_REUSABLE_DELEGATION_SETS_BY_OWNER: The maximum number of reusable
  6800  	//    delegation sets that you can create using the current account.
  6801  	//
  6802  	//    * MAX_TRAFFIC_POLICIES_BY_OWNER: The maximum number of traffic policies
  6803  	//    that you can create using the current account.
  6804  	//
  6805  	//    * MAX_TRAFFIC_POLICY_INSTANCES_BY_OWNER: The maximum number of traffic
  6806  	//    policy instances that you can create using the current account. (Traffic
  6807  	//    policy instances are referred to as traffic flow policy records in the
  6808  	//    Amazon Route 53 console.)
  6809  	//
  6810  	// Type is a required field
  6811  	Type *string `type:"string" required:"true" enum:"AccountLimitType"`
  6812  
  6813  	// The current value for the limit that is specified by Type (https://docs.aws.amazon.com/Route53/latest/APIReference/API_AccountLimit.html#Route53-Type-AccountLimit-Type).
  6814  	//
  6815  	// Value is a required field
  6816  	Value *int64 `min:"1" type:"long" required:"true"`
  6817  }
  6818  
  6819  // String returns the string representation.
  6820  //
  6821  // API parameter values that are decorated as "sensitive" in the API will not
  6822  // be included in the string output. The member name will be present, but the
  6823  // value will be replaced with "sensitive".
  6824  func (s AccountLimit) String() string {
  6825  	return awsutil.Prettify(s)
  6826  }
  6827  
  6828  // GoString returns the string representation.
  6829  //
  6830  // API parameter values that are decorated as "sensitive" in the API will not
  6831  // be included in the string output. The member name will be present, but the
  6832  // value will be replaced with "sensitive".
  6833  func (s AccountLimit) GoString() string {
  6834  	return s.String()
  6835  }
  6836  
  6837  // SetType sets the Type field's value.
  6838  func (s *AccountLimit) SetType(v string) *AccountLimit {
  6839  	s.Type = &v
  6840  	return s
  6841  }
  6842  
  6843  // SetValue sets the Value field's value.
  6844  func (s *AccountLimit) SetValue(v int64) *AccountLimit {
  6845  	s.Value = &v
  6846  	return s
  6847  }
  6848  
  6849  type ActivateKeySigningKeyInput struct {
  6850  	_ struct{} `locationName:"ActivateKeySigningKeyRequest" type:"structure"`
  6851  
  6852  	// A unique string used to identify a hosted zone.
  6853  	//
  6854  	// HostedZoneId is a required field
  6855  	HostedZoneId *string `location:"uri" locationName:"HostedZoneId" type:"string" required:"true"`
  6856  
  6857  	// A string used to identify a key-signing key (KSK). Name can include numbers,
  6858  	// letters, and underscores (_). Name must be unique for each key-signing key
  6859  	// in the same hosted zone.
  6860  	//
  6861  	// Name is a required field
  6862  	Name *string `location:"uri" locationName:"Name" min:"3" type:"string" required:"true"`
  6863  }
  6864  
  6865  // String returns the string representation.
  6866  //
  6867  // API parameter values that are decorated as "sensitive" in the API will not
  6868  // be included in the string output. The member name will be present, but the
  6869  // value will be replaced with "sensitive".
  6870  func (s ActivateKeySigningKeyInput) String() string {
  6871  	return awsutil.Prettify(s)
  6872  }
  6873  
  6874  // GoString returns the string representation.
  6875  //
  6876  // API parameter values that are decorated as "sensitive" in the API will not
  6877  // be included in the string output. The member name will be present, but the
  6878  // value will be replaced with "sensitive".
  6879  func (s ActivateKeySigningKeyInput) GoString() string {
  6880  	return s.String()
  6881  }
  6882  
  6883  // Validate inspects the fields of the type to determine if they are valid.
  6884  func (s *ActivateKeySigningKeyInput) Validate() error {
  6885  	invalidParams := request.ErrInvalidParams{Context: "ActivateKeySigningKeyInput"}
  6886  	if s.HostedZoneId == nil {
  6887  		invalidParams.Add(request.NewErrParamRequired("HostedZoneId"))
  6888  	}
  6889  	if s.HostedZoneId != nil && len(*s.HostedZoneId) < 1 {
  6890  		invalidParams.Add(request.NewErrParamMinLen("HostedZoneId", 1))
  6891  	}
  6892  	if s.Name == nil {
  6893  		invalidParams.Add(request.NewErrParamRequired("Name"))
  6894  	}
  6895  	if s.Name != nil && len(*s.Name) < 3 {
  6896  		invalidParams.Add(request.NewErrParamMinLen("Name", 3))
  6897  	}
  6898  
  6899  	if invalidParams.Len() > 0 {
  6900  		return invalidParams
  6901  	}
  6902  	return nil
  6903  }
  6904  
  6905  // SetHostedZoneId sets the HostedZoneId field's value.
  6906  func (s *ActivateKeySigningKeyInput) SetHostedZoneId(v string) *ActivateKeySigningKeyInput {
  6907  	s.HostedZoneId = &v
  6908  	return s
  6909  }
  6910  
  6911  // SetName sets the Name field's value.
  6912  func (s *ActivateKeySigningKeyInput) SetName(v string) *ActivateKeySigningKeyInput {
  6913  	s.Name = &v
  6914  	return s
  6915  }
  6916  
  6917  type ActivateKeySigningKeyOutput struct {
  6918  	_ struct{} `type:"structure"`
  6919  
  6920  	// A complex type that describes change information about changes made to your
  6921  	// hosted zone.
  6922  	//
  6923  	// ChangeInfo is a required field
  6924  	ChangeInfo *ChangeInfo `type:"structure" required:"true"`
  6925  }
  6926  
  6927  // String returns the string representation.
  6928  //
  6929  // API parameter values that are decorated as "sensitive" in the API will not
  6930  // be included in the string output. The member name will be present, but the
  6931  // value will be replaced with "sensitive".
  6932  func (s ActivateKeySigningKeyOutput) String() string {
  6933  	return awsutil.Prettify(s)
  6934  }
  6935  
  6936  // GoString returns the string representation.
  6937  //
  6938  // API parameter values that are decorated as "sensitive" in the API will not
  6939  // be included in the string output. The member name will be present, but the
  6940  // value will be replaced with "sensitive".
  6941  func (s ActivateKeySigningKeyOutput) GoString() string {
  6942  	return s.String()
  6943  }
  6944  
  6945  // SetChangeInfo sets the ChangeInfo field's value.
  6946  func (s *ActivateKeySigningKeyOutput) SetChangeInfo(v *ChangeInfo) *ActivateKeySigningKeyOutput {
  6947  	s.ChangeInfo = v
  6948  	return s
  6949  }
  6950  
  6951  // A complex type that identifies the CloudWatch alarm that you want Amazon
  6952  // Route 53 health checkers to use to determine whether the specified health
  6953  // check is healthy.
  6954  type AlarmIdentifier struct {
  6955  	_ struct{} `type:"structure"`
  6956  
  6957  	// The name of the CloudWatch alarm that you want Amazon Route 53 health checkers
  6958  	// to use to determine whether this health check is healthy.
  6959  	//
  6960  	// Route 53 supports CloudWatch alarms with the following features:
  6961  	//
  6962  	//    * Standard-resolution metrics. High-resolution metrics aren't supported.
  6963  	//    For more information, see High-Resolution Metrics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/publishingMetrics.html#high-resolution-metrics)
  6964  	//    in the Amazon CloudWatch User Guide.
  6965  	//
  6966  	//    * Statistics: Average, Minimum, Maximum, Sum, and SampleCount. Extended
  6967  	//    statistics aren't supported.
  6968  	//
  6969  	// Name is a required field
  6970  	Name *string `min:"1" type:"string" required:"true"`
  6971  
  6972  	// For the CloudWatch alarm that you want Route 53 health checkers to use to
  6973  	// determine whether this health check is healthy, the region that the alarm
  6974  	// was created in.
  6975  	//
  6976  	// For the current list of CloudWatch regions, see Amazon CloudWatch endpoints
  6977  	// and quotas (https://docs.aws.amazon.com/general/latest/gr/cw_region.html)
  6978  	// in the Amazon Web Services General Reference.
  6979  	//
  6980  	// Region is a required field
  6981  	Region *string `min:"1" type:"string" required:"true" enum:"CloudWatchRegion"`
  6982  }
  6983  
  6984  // String returns the string representation.
  6985  //
  6986  // API parameter values that are decorated as "sensitive" in the API will not
  6987  // be included in the string output. The member name will be present, but the
  6988  // value will be replaced with "sensitive".
  6989  func (s AlarmIdentifier) String() string {
  6990  	return awsutil.Prettify(s)
  6991  }
  6992  
  6993  // GoString returns the string representation.
  6994  //
  6995  // API parameter values that are decorated as "sensitive" in the API will not
  6996  // be included in the string output. The member name will be present, but the
  6997  // value will be replaced with "sensitive".
  6998  func (s AlarmIdentifier) GoString() string {
  6999  	return s.String()
  7000  }
  7001  
  7002  // Validate inspects the fields of the type to determine if they are valid.
  7003  func (s *AlarmIdentifier) Validate() error {
  7004  	invalidParams := request.ErrInvalidParams{Context: "AlarmIdentifier"}
  7005  	if s.Name == nil {
  7006  		invalidParams.Add(request.NewErrParamRequired("Name"))
  7007  	}
  7008  	if s.Name != nil && len(*s.Name) < 1 {
  7009  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  7010  	}
  7011  	if s.Region == nil {
  7012  		invalidParams.Add(request.NewErrParamRequired("Region"))
  7013  	}
  7014  	if s.Region != nil && len(*s.Region) < 1 {
  7015  		invalidParams.Add(request.NewErrParamMinLen("Region", 1))
  7016  	}
  7017  
  7018  	if invalidParams.Len() > 0 {
  7019  		return invalidParams
  7020  	}
  7021  	return nil
  7022  }
  7023  
  7024  // SetName sets the Name field's value.
  7025  func (s *AlarmIdentifier) SetName(v string) *AlarmIdentifier {
  7026  	s.Name = &v
  7027  	return s
  7028  }
  7029  
  7030  // SetRegion sets the Region field's value.
  7031  func (s *AlarmIdentifier) SetRegion(v string) *AlarmIdentifier {
  7032  	s.Region = &v
  7033  	return s
  7034  }
  7035  
  7036  // Alias resource record sets only: Information about the Amazon Web Services
  7037  // resource, such as a CloudFront distribution or an Amazon S3 bucket, that
  7038  // you want to route traffic to.
  7039  //
  7040  // When creating resource record sets for a private hosted zone, note the following:
  7041  //
  7042  //    * Creating geolocation alias resource record sets or latency alias resource
  7043  //    record sets in a private hosted zone is unsupported.
  7044  //
  7045  //    * For information about creating failover resource record sets in a private
  7046  //    hosted zone, see Configuring Failover in a Private Hosted Zone (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html).
  7047  type AliasTarget struct {
  7048  	_ struct{} `type:"structure"`
  7049  
  7050  	// Alias resource record sets only: The value that you specify depends on where
  7051  	// you want to route queries:
  7052  	//
  7053  	// Amazon API Gateway custom regional APIs and edge-optimized APIs
  7054  	//
  7055  	// Specify the applicable domain name for your API. You can get the applicable
  7056  	// value using the CLI command get-domain-names (https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-domain-names.html):
  7057  	//
  7058  	//    * For regional APIs, specify the value of regionalDomainName.
  7059  	//
  7060  	//    * For edge-optimized APIs, specify the value of distributionDomainName.
  7061  	//    This is the name of the associated CloudFront distribution, such as da1b2c3d4e5.cloudfront.net.
  7062  	//
  7063  	// The name of the record that you're creating must match a custom domain name
  7064  	// for your API, such as api.example.com.
  7065  	//
  7066  	// Amazon Virtual Private Cloud interface VPC endpoint
  7067  	//
  7068  	// Enter the API endpoint for the interface endpoint, such as vpce-123456789abcdef01-example-us-east-1a.elasticloadbalancing.us-east-1.vpce.amazonaws.com.
  7069  	// For edge-optimized APIs, this is the domain name for the corresponding CloudFront
  7070  	// distribution. You can get the value of DnsName using the CLI command describe-vpc-endpoints
  7071  	// (https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html).
  7072  	//
  7073  	// CloudFront distribution
  7074  	//
  7075  	// Specify the domain name that CloudFront assigned when you created your distribution.
  7076  	//
  7077  	// Your CloudFront distribution must include an alternate domain name that matches
  7078  	// the name of the resource record set. For example, if the name of the resource
  7079  	// record set is acme.example.com, your CloudFront distribution must include
  7080  	// acme.example.com as one of the alternate domain names. For more information,
  7081  	// see Using Alternate Domain Names (CNAMEs) (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html)
  7082  	// in the Amazon CloudFront Developer Guide.
  7083  	//
  7084  	// You can't create a resource record set in a private hosted zone to route
  7085  	// traffic to a CloudFront distribution.
  7086  	//
  7087  	// For failover alias records, you can't specify a CloudFront distribution for
  7088  	// both the primary and secondary records. A distribution must include an alternate
  7089  	// domain name that matches the name of the record. However, the primary and
  7090  	// secondary records have the same name, and you can't include the same alternate
  7091  	// domain name in more than one distribution.
  7092  	//
  7093  	// Elastic Beanstalk environment
  7094  	//
  7095  	// If the domain name for your Elastic Beanstalk environment includes the region
  7096  	// that you deployed the environment in, you can create an alias record that
  7097  	// routes traffic to the environment. For example, the domain name my-environment.us-west-2.elasticbeanstalk.com
  7098  	// is a regionalized domain name.
  7099  	//
  7100  	// For environments that were created before early 2016, the domain name doesn't
  7101  	// include the region. To route traffic to these environments, you must create
  7102  	// a CNAME record instead of an alias record. Note that you can't create a CNAME
  7103  	// record for the root domain name. For example, if your domain name is example.com,
  7104  	// you can create a record that routes traffic for acme.example.com to your
  7105  	// Elastic Beanstalk environment, but you can't create a record that routes
  7106  	// traffic for example.com to your Elastic Beanstalk environment.
  7107  	//
  7108  	// For Elastic Beanstalk environments that have regionalized subdomains, specify
  7109  	// the CNAME attribute for the environment. You can use the following methods
  7110  	// to get the value of the CNAME attribute:
  7111  	//
  7112  	//    * Amazon Web Services Management Console: For information about how to
  7113  	//    get the value by using the console, see Using Custom Domains with Elastic
  7114  	//    Beanstalk (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customdomains.html)
  7115  	//    in the Elastic Beanstalk Developer Guide.
  7116  	//
  7117  	//    * Elastic Beanstalk API: Use the DescribeEnvironments action to get the
  7118  	//    value of the CNAME attribute. For more information, see DescribeEnvironments
  7119  	//    (https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_DescribeEnvironments.html)
  7120  	//    in the Elastic Beanstalk API Reference.
  7121  	//
  7122  	//    * CLI: Use the describe-environments command to get the value of the CNAME
  7123  	//    attribute. For more information, see describe-environments (https://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/describe-environments.html)
  7124  	//    in the CLI Command Reference.
  7125  	//
  7126  	// ELB load balancer
  7127  	//
  7128  	// Specify the DNS name that is associated with the load balancer. Get the DNS
  7129  	// name by using the Amazon Web Services Management Console, the ELB API, or
  7130  	// the CLI.
  7131  	//
  7132  	//    * Amazon Web Services Management Console: Go to the EC2 page, choose Load
  7133  	//    Balancers in the navigation pane, choose the load balancer, choose the
  7134  	//    Description tab, and get the value of the DNS name field. If you're routing
  7135  	//    traffic to a Classic Load Balancer, get the value that begins with dualstack.
  7136  	//    If you're routing traffic to another type of load balancer, get the value
  7137  	//    that applies to the record type, A or AAAA.
  7138  	//
  7139  	//    * Elastic Load Balancing API: Use DescribeLoadBalancers to get the value
  7140  	//    of DNSName. For more information, see the applicable guide: Classic Load
  7141  	//    Balancers: DescribeLoadBalancers (https://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html)
  7142  	//    Application and Network Load Balancers: DescribeLoadBalancers (https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html)
  7143  	//
  7144  	//    * CLI: Use describe-load-balancers to get the value of DNSName. For more
  7145  	//    information, see the applicable guide: Classic Load Balancers: describe-load-balancers
  7146  	//    (http://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html)
  7147  	//    Application and Network Load Balancers: describe-load-balancers (http://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-load-balancers.html)
  7148  	//
  7149  	// Global Accelerator accelerator
  7150  	//
  7151  	// Specify the DNS name for your accelerator:
  7152  	//
  7153  	//    * Global Accelerator API: To get the DNS name, use DescribeAccelerator
  7154  	//    (https://docs.aws.amazon.com/global-accelerator/latest/api/API_DescribeAccelerator.html).
  7155  	//
  7156  	//    * CLI: To get the DNS name, use describe-accelerator (https://docs.aws.amazon.com/cli/latest/reference/globalaccelerator/describe-accelerator.html).
  7157  	//
  7158  	// Amazon S3 bucket that is configured as a static website
  7159  	//
  7160  	// Specify the domain name of the Amazon S3 website endpoint that you created
  7161  	// the bucket in, for example, s3-website.us-east-2.amazonaws.com. For more
  7162  	// information about valid values, see the table Amazon S3 Website Endpoints
  7163  	// (https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints)
  7164  	// in the Amazon Web Services General Reference. For more information about
  7165  	// using S3 buckets for websites, see Getting Started with Amazon Route 53 (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/getting-started.html)
  7166  	// in the Amazon Route 53 Developer Guide.
  7167  	//
  7168  	// Another Route 53 resource record set
  7169  	//
  7170  	// Specify the value of the Name element for a resource record set in the current
  7171  	// hosted zone.
  7172  	//
  7173  	// If you're creating an alias record that has the same name as the hosted zone
  7174  	// (known as the zone apex), you can't specify the domain name for a record
  7175  	// for which the value of Type is CNAME. This is because the alias record must
  7176  	// have the same type as the record that you're routing traffic to, and creating
  7177  	// a CNAME record for the zone apex isn't supported even for an alias record.
  7178  	//
  7179  	// DNSName is a required field
  7180  	DNSName *string `type:"string" required:"true"`
  7181  
  7182  	// Applies only to alias, failover alias, geolocation alias, latency alias,
  7183  	// and weighted alias resource record sets: When EvaluateTargetHealth is true,
  7184  	// an alias resource record set inherits the health of the referenced Amazon
  7185  	// Web Services resource, such as an ELB load balancer or another resource record
  7186  	// set in the hosted zone.
  7187  	//
  7188  	// Note the following:
  7189  	//
  7190  	// CloudFront distributions
  7191  	//
  7192  	// You can't set EvaluateTargetHealth to true when the alias target is a CloudFront
  7193  	// distribution.
  7194  	//
  7195  	// Elastic Beanstalk environments that have regionalized subdomains
  7196  	//
  7197  	// If you specify an Elastic Beanstalk environment in DNSName and the environment
  7198  	// contains an ELB load balancer, Elastic Load Balancing routes queries only
  7199  	// to the healthy Amazon EC2 instances that are registered with the load balancer.
  7200  	// (An environment automatically contains an ELB load balancer if it includes
  7201  	// more than one Amazon EC2 instance.) If you set EvaluateTargetHealth to true
  7202  	// and either no Amazon EC2 instances are healthy or the load balancer itself
  7203  	// is unhealthy, Route 53 routes queries to other available resources that are
  7204  	// healthy, if any.
  7205  	//
  7206  	// If the environment contains a single Amazon EC2 instance, there are no special
  7207  	// requirements.
  7208  	//
  7209  	// ELB load balancers
  7210  	//
  7211  	// Health checking behavior depends on the type of load balancer:
  7212  	//
  7213  	//    * Classic Load Balancers: If you specify an ELB Classic Load Balancer
  7214  	//    in DNSName, Elastic Load Balancing routes queries only to the healthy
  7215  	//    Amazon EC2 instances that are registered with the load balancer. If you
  7216  	//    set EvaluateTargetHealth to true and either no EC2 instances are healthy
  7217  	//    or the load balancer itself is unhealthy, Route 53 routes queries to other
  7218  	//    resources.
  7219  	//
  7220  	//    * Application and Network Load Balancers: If you specify an ELB Application
  7221  	//    or Network Load Balancer and you set EvaluateTargetHealth to true, Route
  7222  	//    53 routes queries to the load balancer based on the health of the target
  7223  	//    groups that are associated with the load balancer: For an Application
  7224  	//    or Network Load Balancer to be considered healthy, every target group
  7225  	//    that contains targets must contain at least one healthy target. If any
  7226  	//    target group contains only unhealthy targets, the load balancer is considered
  7227  	//    unhealthy, and Route 53 routes queries to other resources. A target group
  7228  	//    that has no registered targets is considered unhealthy.
  7229  	//
  7230  	// When you create a load balancer, you configure settings for Elastic Load
  7231  	// Balancing health checks; they're not Route 53 health checks, but they perform
  7232  	// a similar function. Do not create Route 53 health checks for the EC2 instances
  7233  	// that you register with an ELB load balancer.
  7234  	//
  7235  	// S3 buckets
  7236  	//
  7237  	// There are no special requirements for setting EvaluateTargetHealth to true
  7238  	// when the alias target is an S3 bucket.
  7239  	//
  7240  	// Other records in the same hosted zone
  7241  	//
  7242  	// If the Amazon Web Services resource that you specify in DNSName is a record
  7243  	// or a group of records (for example, a group of weighted records) but is not
  7244  	// another alias record, we recommend that you associate a health check with
  7245  	// all of the records in the alias target. For more information, see What Happens
  7246  	// When You Omit Health Checks? (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-complex-configs.html#dns-failover-complex-configs-hc-omitting)
  7247  	// in the Amazon Route 53 Developer Guide.
  7248  	//
  7249  	// For more information and examples, see Amazon Route 53 Health Checks and
  7250  	// DNS Failover (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html)
  7251  	// in the Amazon Route 53 Developer Guide.
  7252  	//
  7253  	// EvaluateTargetHealth is a required field
  7254  	EvaluateTargetHealth *bool `type:"boolean" required:"true"`
  7255  
  7256  	// Alias resource records sets only: The value used depends on where you want
  7257  	// to route traffic:
  7258  	//
  7259  	// Amazon API Gateway custom regional APIs and edge-optimized APIs
  7260  	//
  7261  	// Specify the hosted zone ID for your API. You can get the applicable value
  7262  	// using the CLI command get-domain-names (https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-domain-names.html):
  7263  	//
  7264  	//    * For regional APIs, specify the value of regionalHostedZoneId.
  7265  	//
  7266  	//    * For edge-optimized APIs, specify the value of distributionHostedZoneId.
  7267  	//
  7268  	// Amazon Virtual Private Cloud interface VPC endpoint
  7269  	//
  7270  	// Specify the hosted zone ID for your interface endpoint. You can get the value
  7271  	// of HostedZoneId using the CLI command describe-vpc-endpoints (https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html).
  7272  	//
  7273  	// CloudFront distribution
  7274  	//
  7275  	// Specify Z2FDTNDATAQYW2.
  7276  	//
  7277  	// Alias resource record sets for CloudFront can't be created in a private zone.
  7278  	//
  7279  	// Elastic Beanstalk environment
  7280  	//
  7281  	// Specify the hosted zone ID for the region that you created the environment
  7282  	// in. The environment must have a regionalized subdomain. For a list of regions
  7283  	// and the corresponding hosted zone IDs, see Elastic Beanstalk endpoints and
  7284  	// quotas (https://docs.aws.amazon.com/general/latest/gr/elasticbeanstalk.html)
  7285  	// in the the Amazon Web Services General Reference.
  7286  	//
  7287  	// ELB load balancer
  7288  	//
  7289  	// Specify the value of the hosted zone ID for the load balancer. Use the following
  7290  	// methods to get the hosted zone ID:
  7291  	//
  7292  	//    * Elastic Load Balancing endpoints and quotas (https://docs.aws.amazon.com/general/latest/gr/elb.html)
  7293  	//    topic in the Amazon Web Services General Reference: Use the value that
  7294  	//    corresponds with the region that you created your load balancer in. Note
  7295  	//    that there are separate columns for Application and Classic Load Balancers
  7296  	//    and for Network Load Balancers.
  7297  	//
  7298  	//    * Amazon Web Services Management Console: Go to the Amazon EC2 page, choose
  7299  	//    Load Balancers in the navigation pane, select the load balancer, and get
  7300  	//    the value of the Hosted zone field on the Description tab.
  7301  	//
  7302  	//    * Elastic Load Balancing API: Use DescribeLoadBalancers to get the applicable
  7303  	//    value. For more information, see the applicable guide: Classic Load Balancers:
  7304  	//    Use DescribeLoadBalancers (https://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html)
  7305  	//    to get the value of CanonicalHostedZoneNameId. Application and Network
  7306  	//    Load Balancers: Use DescribeLoadBalancers (https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html)
  7307  	//    to get the value of CanonicalHostedZoneId.
  7308  	//
  7309  	//    * CLI: Use describe-load-balancers to get the applicable value. For more
  7310  	//    information, see the applicable guide: Classic Load Balancers: Use describe-load-balancers
  7311  	//    (http://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html)
  7312  	//    to get the value of CanonicalHostedZoneNameId. Application and Network
  7313  	//    Load Balancers: Use describe-load-balancers (http://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-load-balancers.html)
  7314  	//    to get the value of CanonicalHostedZoneId.
  7315  	//
  7316  	// Global Accelerator accelerator
  7317  	//
  7318  	// Specify Z2BJ6XQ5FK7U4H.
  7319  	//
  7320  	// An Amazon S3 bucket configured as a static website
  7321  	//
  7322  	// Specify the hosted zone ID for the region that you created the bucket in.
  7323  	// For more information about valid values, see the table Amazon S3 Website
  7324  	// Endpoints (https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints)
  7325  	// in the Amazon Web Services General Reference.
  7326  	//
  7327  	// Another Route 53 resource record set in your hosted zone
  7328  	//
  7329  	// Specify the hosted zone ID of your hosted zone. (An alias resource record
  7330  	// set can't reference a resource record set in a different hosted zone.)
  7331  	//
  7332  	// HostedZoneId is a required field
  7333  	HostedZoneId *string `type:"string" required:"true"`
  7334  }
  7335  
  7336  // String returns the string representation.
  7337  //
  7338  // API parameter values that are decorated as "sensitive" in the API will not
  7339  // be included in the string output. The member name will be present, but the
  7340  // value will be replaced with "sensitive".
  7341  func (s AliasTarget) String() string {
  7342  	return awsutil.Prettify(s)
  7343  }
  7344  
  7345  // GoString returns the string representation.
  7346  //
  7347  // API parameter values that are decorated as "sensitive" in the API will not
  7348  // be included in the string output. The member name will be present, but the
  7349  // value will be replaced with "sensitive".
  7350  func (s AliasTarget) GoString() string {
  7351  	return s.String()
  7352  }
  7353  
  7354  // Validate inspects the fields of the type to determine if they are valid.
  7355  func (s *AliasTarget) Validate() error {
  7356  	invalidParams := request.ErrInvalidParams{Context: "AliasTarget"}
  7357  	if s.DNSName == nil {
  7358  		invalidParams.Add(request.NewErrParamRequired("DNSName"))
  7359  	}
  7360  	if s.EvaluateTargetHealth == nil {
  7361  		invalidParams.Add(request.NewErrParamRequired("EvaluateTargetHealth"))
  7362  	}
  7363  	if s.HostedZoneId == nil {
  7364  		invalidParams.Add(request.NewErrParamRequired("HostedZoneId"))
  7365  	}
  7366  
  7367  	if invalidParams.Len() > 0 {
  7368  		return invalidParams
  7369  	}
  7370  	return nil
  7371  }
  7372  
  7373  // SetDNSName sets the DNSName field's value.
  7374  func (s *AliasTarget) SetDNSName(v string) *AliasTarget {
  7375  	s.DNSName = &v
  7376  	return s
  7377  }
  7378  
  7379  // SetEvaluateTargetHealth sets the EvaluateTargetHealth field's value.
  7380  func (s *AliasTarget) SetEvaluateTargetHealth(v bool) *AliasTarget {
  7381  	s.EvaluateTargetHealth = &v
  7382  	return s
  7383  }
  7384  
  7385  // SetHostedZoneId sets the HostedZoneId field's value.
  7386  func (s *AliasTarget) SetHostedZoneId(v string) *AliasTarget {
  7387  	s.HostedZoneId = &v
  7388  	return s
  7389  }
  7390  
  7391  // A complex type that contains information about the request to associate a
  7392  // VPC with a private hosted zone.
  7393  type AssociateVPCWithHostedZoneInput struct {
  7394  	_ struct{} `locationName:"AssociateVPCWithHostedZoneRequest" type:"structure" xmlURI:"https://route53.amazonaws.com/doc/2013-04-01/"`
  7395  
  7396  	// Optional: A comment about the association request.
  7397  	Comment *string `type:"string"`
  7398  
  7399  	// The ID of the private hosted zone that you want to associate an Amazon VPC
  7400  	// with.
  7401  	//
  7402  	// Note that you can't associate a VPC with a hosted zone that doesn't have
  7403  	// an existing VPC association.
  7404  	//
  7405  	// HostedZoneId is a required field
  7406  	HostedZoneId *string `location:"uri" locationName:"Id" type:"string" required:"true"`
  7407  
  7408  	// A complex type that contains information about the VPC that you want to associate
  7409  	// with a private hosted zone.
  7410  	//
  7411  	// VPC is a required field
  7412  	VPC *VPC `type:"structure" required:"true"`
  7413  }
  7414  
  7415  // String returns the string representation.
  7416  //
  7417  // API parameter values that are decorated as "sensitive" in the API will not
  7418  // be included in the string output. The member name will be present, but the
  7419  // value will be replaced with "sensitive".
  7420  func (s AssociateVPCWithHostedZoneInput) String() string {
  7421  	return awsutil.Prettify(s)
  7422  }
  7423  
  7424  // GoString returns the string representation.
  7425  //
  7426  // API parameter values that are decorated as "sensitive" in the API will not
  7427  // be included in the string output. The member name will be present, but the
  7428  // value will be replaced with "sensitive".
  7429  func (s AssociateVPCWithHostedZoneInput) GoString() string {
  7430  	return s.String()
  7431  }
  7432  
  7433  // Validate inspects the fields of the type to determine if they are valid.
  7434  func (s *AssociateVPCWithHostedZoneInput) Validate() error {
  7435  	invalidParams := request.ErrInvalidParams{Context: "AssociateVPCWithHostedZoneInput"}
  7436  	if s.HostedZoneId == nil {
  7437  		invalidParams.Add(request.NewErrParamRequired("HostedZoneId"))
  7438  	}
  7439  	if s.HostedZoneId != nil && len(*s.HostedZoneId) < 1 {
  7440  		invalidParams.Add(request.NewErrParamMinLen("HostedZoneId", 1))
  7441  	}
  7442  	if s.VPC == nil {
  7443  		invalidParams.Add(request.NewErrParamRequired("VPC"))
  7444  	}
  7445  	if s.VPC != nil {
  7446  		if err := s.VPC.Validate(); err != nil {
  7447  			invalidParams.AddNested("VPC", err.(request.ErrInvalidParams))
  7448  		}
  7449  	}
  7450  
  7451  	if invalidParams.Len() > 0 {
  7452  		return invalidParams
  7453  	}
  7454  	return nil
  7455  }
  7456  
  7457  // SetComment sets the Comment field's value.
  7458  func (s *AssociateVPCWithHostedZoneInput) SetComment(v string) *AssociateVPCWithHostedZoneInput {
  7459  	s.Comment = &v
  7460  	return s
  7461  }
  7462  
  7463  // SetHostedZoneId sets the HostedZoneId field's value.
  7464  func (s *AssociateVPCWithHostedZoneInput) SetHostedZoneId(v string) *AssociateVPCWithHostedZoneInput {
  7465  	s.HostedZoneId = &v
  7466  	return s
  7467  }
  7468  
  7469  // SetVPC sets the VPC field's value.
  7470  func (s *AssociateVPCWithHostedZoneInput) SetVPC(v *VPC) *AssociateVPCWithHostedZoneInput {
  7471  	s.VPC = v
  7472  	return s
  7473  }
  7474  
  7475  // A complex type that contains the response information for the AssociateVPCWithHostedZone
  7476  // request.
  7477  type AssociateVPCWithHostedZoneOutput struct {
  7478  	_ struct{} `type:"structure"`
  7479  
  7480  	// A complex type that describes the changes made to your hosted zone.
  7481  	//
  7482  	// ChangeInfo is a required field
  7483  	ChangeInfo *ChangeInfo `type:"structure" required:"true"`
  7484  }
  7485  
  7486  // String returns the string representation.
  7487  //
  7488  // API parameter values that are decorated as "sensitive" in the API will not
  7489  // be included in the string output. The member name will be present, but the
  7490  // value will be replaced with "sensitive".
  7491  func (s AssociateVPCWithHostedZoneOutput) String() string {
  7492  	return awsutil.Prettify(s)
  7493  }
  7494  
  7495  // GoString returns the string representation.
  7496  //
  7497  // API parameter values that are decorated as "sensitive" in the API will not
  7498  // be included in the string output. The member name will be present, but the
  7499  // value will be replaced with "sensitive".
  7500  func (s AssociateVPCWithHostedZoneOutput) GoString() string {
  7501  	return s.String()
  7502  }
  7503  
  7504  // SetChangeInfo sets the ChangeInfo field's value.
  7505  func (s *AssociateVPCWithHostedZoneOutput) SetChangeInfo(v *ChangeInfo) *AssociateVPCWithHostedZoneOutput {
  7506  	s.ChangeInfo = v
  7507  	return s
  7508  }
  7509  
  7510  // The information for each resource record set that you want to change.
  7511  type Change struct {
  7512  	_ struct{} `type:"structure"`
  7513  
  7514  	// The action to perform:
  7515  	//
  7516  	//    * CREATE: Creates a resource record set that has the specified values.
  7517  	//
  7518  	//    * DELETE: Deletes a existing resource record set. To delete the resource
  7519  	//    record set that is associated with a traffic policy instance, use DeleteTrafficPolicyInstance
  7520  	//    (https://docs.aws.amazon.com/Route53/latest/APIReference/API_DeleteTrafficPolicyInstance.html).
  7521  	//    Amazon Route 53 will delete the resource record set automatically. If
  7522  	//    you delete the resource record set by using ChangeResourceRecordSets,
  7523  	//    Route 53 doesn't automatically delete the traffic policy instance, and
  7524  	//    you'll continue to be charged for it even though it's no longer in use.
  7525  	//
  7526  	//    * UPSERT: If a resource record set doesn't already exist, Route 53 creates
  7527  	//    it. If a resource record set does exist, Route 53 updates it with the
  7528  	//    values in the request.
  7529  	//
  7530  	// Action is a required field
  7531  	Action *string `type:"string" required:"true" enum:"ChangeAction"`
  7532  
  7533  	// Information about the resource record set to create, delete, or update.
  7534  	//
  7535  	// ResourceRecordSet is a required field
  7536  	ResourceRecordSet *ResourceRecordSet `type:"structure" required:"true"`
  7537  }
  7538  
  7539  // String returns the string representation.
  7540  //
  7541  // API parameter values that are decorated as "sensitive" in the API will not
  7542  // be included in the string output. The member name will be present, but the
  7543  // value will be replaced with "sensitive".
  7544  func (s Change) String() string {
  7545  	return awsutil.Prettify(s)
  7546  }
  7547  
  7548  // GoString returns the string representation.
  7549  //
  7550  // API parameter values that are decorated as "sensitive" in the API will not
  7551  // be included in the string output. The member name will be present, but the
  7552  // value will be replaced with "sensitive".
  7553  func (s Change) GoString() string {
  7554  	return s.String()
  7555  }
  7556  
  7557  // Validate inspects the fields of the type to determine if they are valid.
  7558  func (s *Change) Validate() error {
  7559  	invalidParams := request.ErrInvalidParams{Context: "Change"}
  7560  	if s.Action == nil {
  7561  		invalidParams.Add(request.NewErrParamRequired("Action"))
  7562  	}
  7563  	if s.ResourceRecordSet == nil {
  7564  		invalidParams.Add(request.NewErrParamRequired("ResourceRecordSet"))
  7565  	}
  7566  	if s.ResourceRecordSet != nil {
  7567  		if err := s.ResourceRecordSet.Validate(); err != nil {
  7568  			invalidParams.AddNested("ResourceRecordSet", err.(request.ErrInvalidParams))
  7569  		}
  7570  	}
  7571  
  7572  	if invalidParams.Len() > 0 {
  7573  		return invalidParams
  7574  	}
  7575  	return nil
  7576  }
  7577  
  7578  // SetAction sets the Action field's value.
  7579  func (s *Change) SetAction(v string) *Change {
  7580  	s.Action = &v
  7581  	return s
  7582  }
  7583  
  7584  // SetResourceRecordSet sets the ResourceRecordSet field's value.
  7585  func (s *Change) SetResourceRecordSet(v *ResourceRecordSet) *Change {
  7586  	s.ResourceRecordSet = v
  7587  	return s
  7588  }
  7589  
  7590  // The information for a change request.
  7591  type ChangeBatch struct {
  7592  	_ struct{} `type:"structure"`
  7593  
  7594  	// Information about the changes to make to the record sets.
  7595  	//
  7596  	// Changes is a required field
  7597  	Changes []*Change `locationNameList:"Change" min:"1" type:"list" required:"true"`
  7598  
  7599  	// Optional: Any comments you want to include about a change batch request.
  7600  	Comment *string `type:"string"`
  7601  }
  7602  
  7603  // String returns the string representation.
  7604  //
  7605  // API parameter values that are decorated as "sensitive" in the API will not
  7606  // be included in the string output. The member name will be present, but the
  7607  // value will be replaced with "sensitive".
  7608  func (s ChangeBatch) String() string {
  7609  	return awsutil.Prettify(s)
  7610  }
  7611  
  7612  // GoString returns the string representation.
  7613  //
  7614  // API parameter values that are decorated as "sensitive" in the API will not
  7615  // be included in the string output. The member name will be present, but the
  7616  // value will be replaced with "sensitive".
  7617  func (s ChangeBatch) GoString() string {
  7618  	return s.String()
  7619  }
  7620  
  7621  // Validate inspects the fields of the type to determine if they are valid.
  7622  func (s *ChangeBatch) Validate() error {
  7623  	invalidParams := request.ErrInvalidParams{Context: "ChangeBatch"}
  7624  	if s.Changes == nil {
  7625  		invalidParams.Add(request.NewErrParamRequired("Changes"))
  7626  	}
  7627  	if s.Changes != nil && len(s.Changes) < 1 {
  7628  		invalidParams.Add(request.NewErrParamMinLen("Changes", 1))
  7629  	}
  7630  	if s.Changes != nil {
  7631  		for i, v := range s.Changes {
  7632  			if v == nil {
  7633  				continue
  7634  			}
  7635  			if err := v.Validate(); err != nil {
  7636  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Changes", i), err.(request.ErrInvalidParams))
  7637  			}
  7638  		}
  7639  	}
  7640  
  7641  	if invalidParams.Len() > 0 {
  7642  		return invalidParams
  7643  	}
  7644  	return nil
  7645  }
  7646  
  7647  // SetChanges sets the Changes field's value.
  7648  func (s *ChangeBatch) SetChanges(v []*Change) *ChangeBatch {
  7649  	s.Changes = v
  7650  	return s
  7651  }
  7652  
  7653  // SetComment sets the Comment field's value.
  7654  func (s *ChangeBatch) SetComment(v string) *ChangeBatch {
  7655  	s.Comment = &v
  7656  	return s
  7657  }
  7658  
  7659  // A complex type that describes change information about changes made to your
  7660  // hosted zone.
  7661  type ChangeInfo struct {
  7662  	_ struct{} `type:"structure"`
  7663  
  7664  	// A comment you can provide.
  7665  	Comment *string `type:"string"`
  7666  
  7667  	// This element contains an ID that you use when performing a GetChange (https://docs.aws.amazon.com/Route53/latest/APIReference/API_GetChange.html)
  7668  	// action to get detailed information about the change.
  7669  	//
  7670  	// Id is a required field
  7671  	Id *string `type:"string" required:"true"`
  7672  
  7673  	// The current state of the request. PENDING indicates that this request has
  7674  	// not yet been applied to all Amazon Route 53 DNS servers.
  7675  	//
  7676  	// Status is a required field
  7677  	Status *string `type:"string" required:"true" enum:"ChangeStatus"`
  7678  
  7679  	// The date and time that the change request was submitted in ISO 8601 format
  7680  	// (https://en.wikipedia.org/wiki/ISO_8601) and Coordinated Universal Time (UTC).
  7681  	// For example, the value 2017-03-27T17:48:16.751Z represents March 27, 2017
  7682  	// at 17:48:16.751 UTC.
  7683  	//
  7684  	// SubmittedAt is a required field
  7685  	SubmittedAt *time.Time `type:"timestamp" required:"true"`
  7686  }
  7687  
  7688  // String returns the string representation.
  7689  //
  7690  // API parameter values that are decorated as "sensitive" in the API will not
  7691  // be included in the string output. The member name will be present, but the
  7692  // value will be replaced with "sensitive".
  7693  func (s ChangeInfo) String() string {
  7694  	return awsutil.Prettify(s)
  7695  }
  7696  
  7697  // GoString returns the string representation.
  7698  //
  7699  // API parameter values that are decorated as "sensitive" in the API will not
  7700  // be included in the string output. The member name will be present, but the
  7701  // value will be replaced with "sensitive".
  7702  func (s ChangeInfo) GoString() string {
  7703  	return s.String()
  7704  }
  7705  
  7706  // SetComment sets the Comment field's value.
  7707  func (s *ChangeInfo) SetComment(v string) *ChangeInfo {
  7708  	s.Comment = &v
  7709  	return s
  7710  }
  7711  
  7712  // SetId sets the Id field's value.
  7713  func (s *ChangeInfo) SetId(v string) *ChangeInfo {
  7714  	s.Id = &v
  7715  	return s
  7716  }
  7717  
  7718  // SetStatus sets the Status field's value.
  7719  func (s *ChangeInfo) SetStatus(v string) *ChangeInfo {
  7720  	s.Status = &v
  7721  	return s
  7722  }
  7723  
  7724  // SetSubmittedAt sets the SubmittedAt field's value.
  7725  func (s *ChangeInfo) SetSubmittedAt(v time.Time) *ChangeInfo {
  7726  	s.SubmittedAt = &v
  7727  	return s
  7728  }
  7729  
  7730  // A complex type that contains change information for the resource record set.
  7731  type ChangeResourceRecordSetsInput struct {
  7732  	_ struct{} `locationName:"ChangeResourceRecordSetsRequest" type:"structure" xmlURI:"https://route53.amazonaws.com/doc/2013-04-01/"`
  7733  
  7734  	// A complex type that contains an optional comment and the Changes element.
  7735  	//
  7736  	// ChangeBatch is a required field
  7737  	ChangeBatch *ChangeBatch `type:"structure" required:"true"`
  7738  
  7739  	// The ID of the hosted zone that contains the resource record sets that you
  7740  	// want to change.
  7741  	//
  7742  	// HostedZoneId is a required field
  7743  	HostedZoneId *string `location:"uri" locationName:"Id" type:"string" required:"true"`
  7744  }
  7745  
  7746  // String returns the string representation.
  7747  //
  7748  // API parameter values that are decorated as "sensitive" in the API will not
  7749  // be included in the string output. The member name will be present, but the
  7750  // value will be replaced with "sensitive".
  7751  func (s ChangeResourceRecordSetsInput) String() string {
  7752  	return awsutil.Prettify(s)
  7753  }
  7754  
  7755  // GoString returns the string representation.
  7756  //
  7757  // API parameter values that are decorated as "sensitive" in the API will not
  7758  // be included in the string output. The member name will be present, but the
  7759  // value will be replaced with "sensitive".
  7760  func (s ChangeResourceRecordSetsInput) GoString() string {
  7761  	return s.String()
  7762  }
  7763  
  7764  // Validate inspects the fields of the type to determine if they are valid.
  7765  func (s *ChangeResourceRecordSetsInput) Validate() error {
  7766  	invalidParams := request.ErrInvalidParams{Context: "ChangeResourceRecordSetsInput"}
  7767  	if s.ChangeBatch == nil {
  7768  		invalidParams.Add(request.NewErrParamRequired("ChangeBatch"))
  7769  	}
  7770  	if s.HostedZoneId == nil {
  7771  		invalidParams.Add(request.NewErrParamRequired("HostedZoneId"))
  7772  	}
  7773  	if s.HostedZoneId != nil && len(*s.HostedZoneId) < 1 {
  7774  		invalidParams.Add(request.NewErrParamMinLen("HostedZoneId", 1))
  7775  	}
  7776  	if s.ChangeBatch != nil {
  7777  		if err := s.ChangeBatch.Validate(); err != nil {
  7778  			invalidParams.AddNested("ChangeBatch", err.(request.ErrInvalidParams))
  7779  		}
  7780  	}
  7781  
  7782  	if invalidParams.Len() > 0 {
  7783  		return invalidParams
  7784  	}
  7785  	return nil
  7786  }
  7787  
  7788  // SetChangeBatch sets the ChangeBatch field's value.
  7789  func (s *ChangeResourceRecordSetsInput) SetChangeBatch(v *ChangeBatch) *ChangeResourceRecordSetsInput {
  7790  	s.ChangeBatch = v
  7791  	return s
  7792  }
  7793  
  7794  // SetHostedZoneId sets the HostedZoneId field's value.
  7795  func (s *ChangeResourceRecordSetsInput) SetHostedZoneId(v string) *ChangeResourceRecordSetsInput {
  7796  	s.HostedZoneId = &v
  7797  	return s
  7798  }
  7799  
  7800  // A complex type containing the response for the request.
  7801  type ChangeResourceRecordSetsOutput struct {
  7802  	_ struct{} `type:"structure"`
  7803  
  7804  	// A complex type that contains information about changes made to your hosted
  7805  	// zone.
  7806  	//
  7807  	// This element contains an ID that you use when performing a GetChange (https://docs.aws.amazon.com/Route53/latest/APIReference/API_GetChange.html)
  7808  	// action to get detailed information about the change.
  7809  	//
  7810  	// ChangeInfo is a required field
  7811  	ChangeInfo *ChangeInfo `type:"structure" required:"true"`
  7812  }
  7813  
  7814  // String returns the string representation.
  7815  //
  7816  // API parameter values that are decorated as "sensitive" in the API will not
  7817  // be included in the string output. The member name will be present, but the
  7818  // value will be replaced with "sensitive".
  7819  func (s ChangeResourceRecordSetsOutput) String() string {
  7820  	return awsutil.Prettify(s)
  7821  }
  7822  
  7823  // GoString returns the string representation.
  7824  //
  7825  // API parameter values that are decorated as "sensitive" in the API will not
  7826  // be included in the string output. The member name will be present, but the
  7827  // value will be replaced with "sensitive".
  7828  func (s ChangeResourceRecordSetsOutput) GoString() string {
  7829  	return s.String()
  7830  }
  7831  
  7832  // SetChangeInfo sets the ChangeInfo field's value.
  7833  func (s *ChangeResourceRecordSetsOutput) SetChangeInfo(v *ChangeInfo) *ChangeResourceRecordSetsOutput {
  7834  	s.ChangeInfo = v
  7835  	return s
  7836  }
  7837  
  7838  // A complex type that contains information about the tags that you want to
  7839  // add, edit, or delete.
  7840  type ChangeTagsForResourceInput struct {
  7841  	_ struct{} `locationName:"ChangeTagsForResourceRequest" type:"structure" xmlURI:"https://route53.amazonaws.com/doc/2013-04-01/"`
  7842  
  7843  	// A complex type that contains a list of the tags that you want to add to the
  7844  	// specified health check or hosted zone and/or the tags that you want to edit
  7845  	// Value for.
  7846  	//
  7847  	// You can add a maximum of 10 tags to a health check or a hosted zone.
  7848  	AddTags []*Tag `locationNameList:"Tag" min:"1" type:"list"`
  7849  
  7850  	// A complex type that contains a list of the tags that you want to delete from
  7851  	// the specified health check or hosted zone. You can specify up to 10 keys.
  7852  	RemoveTagKeys []*string `locationNameList:"Key" min:"1" type:"list"`
  7853  
  7854  	// The ID of the resource for which you want to add, change, or delete tags.
  7855  	//
  7856  	// ResourceId is a required field
  7857  	ResourceId *string `location:"uri" locationName:"ResourceId" type:"string" required:"true"`
  7858  
  7859  	// The type of the resource.
  7860  	//
  7861  	//    * The resource type for health checks is healthcheck.
  7862  	//
  7863  	//    * The resource type for hosted zones is hostedzone.
  7864  	//
  7865  	// ResourceType is a required field
  7866  	ResourceType *string `location:"uri" locationName:"ResourceType" type:"string" required:"true" enum:"TagResourceType"`
  7867  }
  7868  
  7869  // String returns the string representation.
  7870  //
  7871  // API parameter values that are decorated as "sensitive" in the API will not
  7872  // be included in the string output. The member name will be present, but the
  7873  // value will be replaced with "sensitive".
  7874  func (s ChangeTagsForResourceInput) String() string {
  7875  	return awsutil.Prettify(s)
  7876  }
  7877  
  7878  // GoString returns the string representation.
  7879  //
  7880  // API parameter values that are decorated as "sensitive" in the API will not
  7881  // be included in the string output. The member name will be present, but the
  7882  // value will be replaced with "sensitive".
  7883  func (s ChangeTagsForResourceInput) GoString() string {
  7884  	return s.String()
  7885  }
  7886  
  7887  // Validate inspects the fields of the type to determine if they are valid.
  7888  func (s *ChangeTagsForResourceInput) Validate() error {
  7889  	invalidParams := request.ErrInvalidParams{Context: "ChangeTagsForResourceInput"}
  7890  	if s.AddTags != nil && len(s.AddTags) < 1 {
  7891  		invalidParams.Add(request.NewErrParamMinLen("AddTags", 1))
  7892  	}
  7893  	if s.RemoveTagKeys != nil && len(s.RemoveTagKeys) < 1 {
  7894  		invalidParams.Add(request.NewErrParamMinLen("RemoveTagKeys", 1))
  7895  	}
  7896  	if s.ResourceId == nil {
  7897  		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
  7898  	}
  7899  	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
  7900  		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
  7901  	}
  7902  	if s.ResourceType == nil {
  7903  		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
  7904  	}
  7905  	if s.ResourceType != nil && len(*s.ResourceType) < 1 {
  7906  		invalidParams.Add(request.NewErrParamMinLen("ResourceType", 1))
  7907  	}
  7908  
  7909  	if invalidParams.Len() > 0 {
  7910  		return invalidParams
  7911  	}
  7912  	return nil
  7913  }
  7914  
  7915  // SetAddTags sets the AddTags field's value.
  7916  func (s *ChangeTagsForResourceInput) SetAddTags(v []*Tag) *ChangeTagsForResourceInput {
  7917  	s.AddTags = v
  7918  	return s
  7919  }
  7920  
  7921  // SetRemoveTagKeys sets the RemoveTagKeys field's value.
  7922  func (s *ChangeTagsForResourceInput) SetRemoveTagKeys(v []*string) *ChangeTagsForResourceInput {
  7923  	s.RemoveTagKeys = v
  7924  	return s
  7925  }
  7926  
  7927  // SetResourceId sets the ResourceId field's value.
  7928  func (s *ChangeTagsForResourceInput) SetResourceId(v string) *ChangeTagsForResourceInput {
  7929  	s.ResourceId = &v
  7930  	return s
  7931  }
  7932  
  7933  // SetResourceType sets the ResourceType field's value.
  7934  func (s *ChangeTagsForResourceInput) SetResourceType(v string) *ChangeTagsForResourceInput {
  7935  	s.ResourceType = &v
  7936  	return s
  7937  }
  7938  
  7939  // Empty response for the request.
  7940  type ChangeTagsForResourceOutput struct {
  7941  	_ struct{} `type:"structure"`
  7942  }
  7943  
  7944  // String returns the string representation.
  7945  //
  7946  // API parameter values that are decorated as "sensitive" in the API will not
  7947  // be included in the string output. The member name will be present, but the
  7948  // value will be replaced with "sensitive".
  7949  func (s ChangeTagsForResourceOutput) String() string {
  7950  	return awsutil.Prettify(s)
  7951  }
  7952  
  7953  // GoString returns the string representation.
  7954  //
  7955  // API parameter values that are decorated as "sensitive" in the API will not
  7956  // be included in the string output. The member name will be present, but the
  7957  // value will be replaced with "sensitive".
  7958  func (s ChangeTagsForResourceOutput) GoString() string {
  7959  	return s.String()
  7960  }
  7961  
  7962  // A complex type that contains information about the CloudWatch alarm that
  7963  // Amazon Route 53 is monitoring for this health check.
  7964  type CloudWatchAlarmConfiguration struct {
  7965  	_ struct{} `type:"structure"`
  7966  
  7967  	// For the metric that the CloudWatch alarm is associated with, the arithmetic
  7968  	// operation that is used for the comparison.
  7969  	//
  7970  	// ComparisonOperator is a required field
  7971  	ComparisonOperator *string `type:"string" required:"true" enum:"ComparisonOperator"`
  7972  
  7973  	// For the metric that the CloudWatch alarm is associated with, a complex type
  7974  	// that contains information about the dimensions for the metric. For information,
  7975  	// see Amazon CloudWatch Namespaces, Dimensions, and Metrics Reference (https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CW_Support_For_AWS.html)
  7976  	// in the Amazon CloudWatch User Guide.
  7977  	Dimensions []*Dimension `locationNameList:"Dimension" type:"list"`
  7978  
  7979  	// For the metric that the CloudWatch alarm is associated with, the number of
  7980  	// periods that the metric is compared to the threshold.
  7981  	//
  7982  	// EvaluationPeriods is a required field
  7983  	EvaluationPeriods *int64 `min:"1" type:"integer" required:"true"`
  7984  
  7985  	// The name of the CloudWatch metric that the alarm is associated with.
  7986  	//
  7987  	// MetricName is a required field
  7988  	MetricName *string `min:"1" type:"string" required:"true"`
  7989  
  7990  	// The namespace of the metric that the alarm is associated with. For more information,
  7991  	// see Amazon CloudWatch Namespaces, Dimensions, and Metrics Reference (https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CW_Support_For_AWS.html)
  7992  	// in the Amazon CloudWatch User Guide.
  7993  	//
  7994  	// Namespace is a required field
  7995  	Namespace *string `min:"1" type:"string" required:"true"`
  7996  
  7997  	// For the metric that the CloudWatch alarm is associated with, the duration
  7998  	// of one evaluation period in seconds.
  7999  	//
  8000  	// Period is a required field
  8001  	Period *int64 `min:"60" type:"integer" required:"true"`
  8002  
  8003  	// For the metric that the CloudWatch alarm is associated with, the statistic
  8004  	// that is applied to the metric.
  8005  	//
  8006  	// Statistic is a required field
  8007  	Statistic *string `type:"string" required:"true" enum:"Statistic"`
  8008  
  8009  	// For the metric that the CloudWatch alarm is associated with, the value the
  8010  	// metric is compared with.
  8011  	//
  8012  	// Threshold is a required field
  8013  	Threshold *float64 `type:"double" required:"true"`
  8014  }
  8015  
  8016  // String returns the string representation.
  8017  //
  8018  // API parameter values that are decorated as "sensitive" in the API will not
  8019  // be included in the string output. The member name will be present, but the
  8020  // value will be replaced with "sensitive".
  8021  func (s CloudWatchAlarmConfiguration) String() string {
  8022  	return awsutil.Prettify(s)
  8023  }
  8024  
  8025  // GoString returns the string representation.
  8026  //
  8027  // API parameter values that are decorated as "sensitive" in the API will not
  8028  // be included in the string output. The member name will be present, but the
  8029  // value will be replaced with "sensitive".
  8030  func (s CloudWatchAlarmConfiguration) GoString() string {
  8031  	return s.String()
  8032  }
  8033  
  8034  // SetComparisonOperator sets the ComparisonOperator field's value.
  8035  func (s *CloudWatchAlarmConfiguration) SetComparisonOperator(v string) *CloudWatchAlarmConfiguration {
  8036  	s.ComparisonOperator = &v
  8037  	return s
  8038  }
  8039  
  8040  // SetDimensions sets the Dimensions field's value.
  8041  func (s *CloudWatchAlarmConfiguration) SetDimensions(v []*Dimension) *CloudWatchAlarmConfiguration {
  8042  	s.Dimensions = v
  8043  	return s
  8044  }
  8045  
  8046  // SetEvaluationPeriods sets the EvaluationPeriods field's value.
  8047  func (s *CloudWatchAlarmConfiguration) SetEvaluationPeriods(v int64) *CloudWatchAlarmConfiguration {
  8048  	s.EvaluationPeriods = &v
  8049  	return s
  8050  }
  8051  
  8052  // SetMetricName sets the MetricName field's value.
  8053  func (s *CloudWatchAlarmConfiguration) SetMetricName(v string) *CloudWatchAlarmConfiguration {
  8054  	s.MetricName = &v
  8055  	return s
  8056  }
  8057  
  8058  // SetNamespace sets the Namespace field's value.
  8059  func (s *CloudWatchAlarmConfiguration) SetNamespace(v string) *CloudWatchAlarmConfiguration {
  8060  	s.Namespace = &v
  8061  	return s
  8062  }
  8063  
  8064  // SetPeriod sets the Period field's value.
  8065  func (s *CloudWatchAlarmConfiguration) SetPeriod(v int64) *CloudWatchAlarmConfiguration {
  8066  	s.Period = &v
  8067  	return s
  8068  }
  8069  
  8070  // SetStatistic sets the Statistic field's value.
  8071  func (s *CloudWatchAlarmConfiguration) SetStatistic(v string) *CloudWatchAlarmConfiguration {
  8072  	s.Statistic = &v
  8073  	return s
  8074  }
  8075  
  8076  // SetThreshold sets the Threshold field's value.
  8077  func (s *CloudWatchAlarmConfiguration) SetThreshold(v float64) *CloudWatchAlarmConfiguration {
  8078  	s.Threshold = &v
  8079  	return s
  8080  }
  8081  
  8082  // A complex type that contains the health check request information.
  8083  type CreateHealthCheckInput struct {
  8084  	_ struct{} `locationName:"CreateHealthCheckRequest" type:"structure" xmlURI:"https://route53.amazonaws.com/doc/2013-04-01/"`
  8085  
  8086  	// A unique string that identifies the request and that allows you to retry
  8087  	// a failed CreateHealthCheck request without the risk of creating two identical
  8088  	// health checks:
  8089  	//
  8090  	//    * If you send a CreateHealthCheck request with the same CallerReference
  8091  	//    and settings as a previous request, and if the health check doesn't exist,
  8092  	//    Amazon Route 53 creates the health check. If the health check does exist,
  8093  	//    Route 53 returns the settings for the existing health check.
  8094  	//
  8095  	//    * If you send a CreateHealthCheck request with the same CallerReference
  8096  	//    as a deleted health check, regardless of the settings, Route 53 returns
  8097  	//    a HealthCheckAlreadyExists error.
  8098  	//
  8099  	//    * If you send a CreateHealthCheck request with the same CallerReference
  8100  	//    as an existing health check but with different settings, Route 53 returns
  8101  	//    a HealthCheckAlreadyExists error.
  8102  	//
  8103  	//    * If you send a CreateHealthCheck request with a unique CallerReference
  8104  	//    but settings identical to an existing health check, Route 53 creates the
  8105  	//    health check.
  8106  	//
  8107  	// CallerReference is a required field
  8108  	CallerReference *string `min:"1" type:"string" required:"true"`
  8109  
  8110  	// A complex type that contains settings for a new health check.
  8111  	//
  8112  	// HealthCheckConfig is a required field
  8113  	HealthCheckConfig *HealthCheckConfig `type:"structure" required:"true"`
  8114  }
  8115  
  8116  // String returns the string representation.
  8117  //
  8118  // API parameter values that are decorated as "sensitive" in the API will not
  8119  // be included in the string output. The member name will be present, but the
  8120  // value will be replaced with "sensitive".
  8121  func (s CreateHealthCheckInput) String() string {
  8122  	return awsutil.Prettify(s)
  8123  }
  8124  
  8125  // GoString returns the string representation.
  8126  //
  8127  // API parameter values that are decorated as "sensitive" in the API will not
  8128  // be included in the string output. The member name will be present, but the
  8129  // value will be replaced with "sensitive".
  8130  func (s CreateHealthCheckInput) GoString() string {
  8131  	return s.String()
  8132  }
  8133  
  8134  // Validate inspects the fields of the type to determine if they are valid.
  8135  func (s *CreateHealthCheckInput) Validate() error {
  8136  	invalidParams := request.ErrInvalidParams{Context: "CreateHealthCheckInput"}
  8137  	if s.CallerReference == nil {
  8138  		invalidParams.Add(request.NewErrParamRequired("CallerReference"))
  8139  	}
  8140  	if s.CallerReference != nil && len(*s.CallerReference) < 1 {
  8141  		invalidParams.Add(request.NewErrParamMinLen("CallerReference", 1))
  8142  	}
  8143  	if s.HealthCheckConfig == nil {
  8144  		invalidParams.Add(request.NewErrParamRequired("HealthCheckConfig"))
  8145  	}
  8146  	if s.HealthCheckConfig != nil {
  8147  		if err := s.HealthCheckConfig.Validate(); err != nil {
  8148  			invalidParams.AddNested("HealthCheckConfig", err.(request.ErrInvalidParams))
  8149  		}
  8150  	}
  8151  
  8152  	if invalidParams.Len() > 0 {
  8153  		return invalidParams
  8154  	}
  8155  	return nil
  8156  }
  8157  
  8158  // SetCallerReference sets the CallerReference field's value.
  8159  func (s *CreateHealthCheckInput) SetCallerReference(v string) *CreateHealthCheckInput {
  8160  	s.CallerReference = &v
  8161  	return s
  8162  }
  8163  
  8164  // SetHealthCheckConfig sets the HealthCheckConfig field's value.
  8165  func (s *CreateHealthCheckInput) SetHealthCheckConfig(v *HealthCheckConfig) *CreateHealthCheckInput {
  8166  	s.HealthCheckConfig = v
  8167  	return s
  8168  }
  8169  
  8170  // A complex type containing the response information for the new health check.
  8171  type CreateHealthCheckOutput struct {
  8172  	_ struct{} `type:"structure"`
  8173  
  8174  	// A complex type that contains identifying information about the health check.
  8175  	//
  8176  	// HealthCheck is a required field
  8177  	HealthCheck *HealthCheck `type:"structure" required:"true"`
  8178  
  8179  	// The unique URL representing the new health check.
  8180  	//
  8181  	// Location is a required field
  8182  	Location *string `location:"header" locationName:"Location" type:"string" required:"true"`
  8183  }
  8184  
  8185  // String returns the string representation.
  8186  //
  8187  // API parameter values that are decorated as "sensitive" in the API will not
  8188  // be included in the string output. The member name will be present, but the
  8189  // value will be replaced with "sensitive".
  8190  func (s CreateHealthCheckOutput) String() string {
  8191  	return awsutil.Prettify(s)
  8192  }
  8193  
  8194  // GoString returns the string representation.
  8195  //
  8196  // API parameter values that are decorated as "sensitive" in the API will not
  8197  // be included in the string output. The member name will be present, but the
  8198  // value will be replaced with "sensitive".
  8199  func (s CreateHealthCheckOutput) GoString() string {
  8200  	return s.String()
  8201  }
  8202  
  8203  // SetHealthCheck sets the HealthCheck field's value.
  8204  func (s *CreateHealthCheckOutput) SetHealthCheck(v *HealthCheck) *CreateHealthCheckOutput {
  8205  	s.HealthCheck = v
  8206  	return s
  8207  }
  8208  
  8209  // SetLocation sets the Location field's value.
  8210  func (s *CreateHealthCheckOutput) SetLocation(v string) *CreateHealthCheckOutput {
  8211  	s.Location = &v
  8212  	return s
  8213  }
  8214  
  8215  // A complex type that contains information about the request to create a public
  8216  // or private hosted zone.
  8217  type CreateHostedZoneInput struct {
  8218  	_ struct{} `locationName:"CreateHostedZoneRequest" type:"structure" xmlURI:"https://route53.amazonaws.com/doc/2013-04-01/"`
  8219  
  8220  	// A unique string that identifies the request and that allows failed CreateHostedZone
  8221  	// requests to be retried without the risk of executing the operation twice.
  8222  	// You must use a unique CallerReference string every time you submit a CreateHostedZone
  8223  	// request. CallerReference can be any unique string, for example, a date/time
  8224  	// stamp.
  8225  	//
  8226  	// CallerReference is a required field
  8227  	CallerReference *string `min:"1" type:"string" required:"true"`
  8228  
  8229  	// If you want to associate a reusable delegation set with this hosted zone,
  8230  	// the ID that Amazon Route 53 assigned to the reusable delegation set when
  8231  	// you created it. For more information about reusable delegation sets, see
  8232  	// CreateReusableDelegationSet (https://docs.aws.amazon.com/Route53/latest/APIReference/API_CreateReusableDelegationSet.html).
  8233  	DelegationSetId *string `type:"string"`
  8234  
  8235  	// (Optional) A complex type that contains the following optional values:
  8236  	//
  8237  	//    * For public and private hosted zones, an optional comment
  8238  	//
  8239  	//    * For private hosted zones, an optional PrivateZone element
  8240  	//
  8241  	// If you don't specify a comment or the PrivateZone element, omit HostedZoneConfig
  8242  	// and the other elements.
  8243  	HostedZoneConfig *HostedZoneConfig `type:"structure"`
  8244  
  8245  	// The name of the domain. Specify a fully qualified domain name, for example,
  8246  	// www.example.com. The trailing dot is optional; Amazon Route 53 assumes that
  8247  	// the domain name is fully qualified. This means that Route 53 treats www.example.com
  8248  	// (without a trailing dot) and www.example.com. (with a trailing dot) as identical.
  8249  	//
  8250  	// If you're creating a public hosted zone, this is the name you have registered
  8251  	// with your DNS registrar. If your domain name is registered with a registrar
  8252  	// other than Route 53, change the name servers for your domain to the set of
  8253  	// NameServers that CreateHostedZone returns in DelegationSet.
  8254  	//
  8255  	// Name is a required field
  8256  	Name *string `type:"string" required:"true"`
  8257  
  8258  	// (Private hosted zones only) A complex type that contains information about
  8259  	// the Amazon VPC that you're associating with this hosted zone.
  8260  	//
  8261  	// You can specify only one Amazon VPC when you create a private hosted zone.
  8262  	// To associate additional Amazon VPCs with the hosted zone, use AssociateVPCWithHostedZone
  8263  	// (https://docs.aws.amazon.com/Route53/latest/APIReference/API_AssociateVPCWithHostedZone.html)
  8264  	// after you create a hosted zone.
  8265  	VPC *VPC `type:"structure"`
  8266  }
  8267  
  8268  // String returns the string representation.
  8269  //
  8270  // API parameter values that are decorated as "sensitive" in the API will not
  8271  // be included in the string output. The member name will be present, but the
  8272  // value will be replaced with "sensitive".
  8273  func (s CreateHostedZoneInput) String() string {
  8274  	return awsutil.Prettify(s)
  8275  }
  8276  
  8277  // GoString returns the string representation.
  8278  //
  8279  // API parameter values that are decorated as "sensitive" in the API will not
  8280  // be included in the string output. The member name will be present, but the
  8281  // value will be replaced with "sensitive".
  8282  func (s CreateHostedZoneInput) GoString() string {
  8283  	return s.String()
  8284  }
  8285  
  8286  // Validate inspects the fields of the type to determine if they are valid.
  8287  func (s *CreateHostedZoneInput) Validate() error {
  8288  	invalidParams := request.ErrInvalidParams{Context: "CreateHostedZoneInput"}
  8289  	if s.CallerReference == nil {
  8290  		invalidParams.Add(request.NewErrParamRequired("CallerReference"))
  8291  	}
  8292  	if s.CallerReference != nil && len(*s.CallerReference) < 1 {
  8293  		invalidParams.Add(request.NewErrParamMinLen("CallerReference", 1))
  8294  	}
  8295  	if s.Name == nil {
  8296  		invalidParams.Add(request.NewErrParamRequired("Name"))
  8297  	}
  8298  	if s.VPC != nil {
  8299  		if err := s.VPC.Validate(); err != nil {
  8300  			invalidParams.AddNested("VPC", err.(request.ErrInvalidParams))
  8301  		}
  8302  	}
  8303  
  8304  	if invalidParams.Len() > 0 {
  8305  		return invalidParams
  8306  	}
  8307  	return nil
  8308  }
  8309  
  8310  // SetCallerReference sets the CallerReference field's value.
  8311  func (s *CreateHostedZoneInput) SetCallerReference(v string) *CreateHostedZoneInput {
  8312  	s.CallerReference = &v
  8313  	return s
  8314  }
  8315  
  8316  // SetDelegationSetId sets the DelegationSetId field's value.
  8317  func (s *CreateHostedZoneInput) SetDelegationSetId(v string) *CreateHostedZoneInput {
  8318  	s.DelegationSetId = &v
  8319  	return s
  8320  }
  8321  
  8322  // SetHostedZoneConfig sets the HostedZoneConfig field's value.
  8323  func (s *CreateHostedZoneInput) SetHostedZoneConfig(v *HostedZoneConfig) *CreateHostedZoneInput {
  8324  	s.HostedZoneConfig = v
  8325  	return s
  8326  }
  8327  
  8328  // SetName sets the Name field's value.
  8329  func (s *CreateHostedZoneInput) SetName(v string) *CreateHostedZoneInput {
  8330  	s.Name = &v
  8331  	return s
  8332  }
  8333  
  8334  // SetVPC sets the VPC field's value.
  8335  func (s *CreateHostedZoneInput) SetVPC(v *VPC) *CreateHostedZoneInput {
  8336  	s.VPC = v
  8337  	return s
  8338  }
  8339  
  8340  // A complex type containing the response information for the hosted zone.
  8341  type CreateHostedZoneOutput struct {
  8342  	_ struct{} `type:"structure"`
  8343  
  8344  	// A complex type that contains information about the CreateHostedZone request.
  8345  	//
  8346  	// ChangeInfo is a required field
  8347  	ChangeInfo *ChangeInfo `type:"structure" required:"true"`
  8348  
  8349  	// A complex type that describes the name servers for this hosted zone.
  8350  	//
  8351  	// DelegationSet is a required field
  8352  	DelegationSet *DelegationSet `type:"structure" required:"true"`
  8353  
  8354  	// A complex type that contains general information about the hosted zone.
  8355  	//
  8356  	// HostedZone is a required field
  8357  	HostedZone *HostedZone `type:"structure" required:"true"`
  8358  
  8359  	// The unique URL representing the new hosted zone.
  8360  	//
  8361  	// Location is a required field
  8362  	Location *string `location:"header" locationName:"Location" type:"string" required:"true"`
  8363  
  8364  	// A complex type that contains information about an Amazon VPC that you associated
  8365  	// with this hosted zone.
  8366  	VPC *VPC `type:"structure"`
  8367  }
  8368  
  8369  // String returns the string representation.
  8370  //
  8371  // API parameter values that are decorated as "sensitive" in the API will not
  8372  // be included in the string output. The member name will be present, but the
  8373  // value will be replaced with "sensitive".
  8374  func (s CreateHostedZoneOutput) String() string {
  8375  	return awsutil.Prettify(s)
  8376  }
  8377  
  8378  // GoString returns the string representation.
  8379  //
  8380  // API parameter values that are decorated as "sensitive" in the API will not
  8381  // be included in the string output. The member name will be present, but the
  8382  // value will be replaced with "sensitive".
  8383  func (s CreateHostedZoneOutput) GoString() string {
  8384  	return s.String()
  8385  }
  8386  
  8387  // SetChangeInfo sets the ChangeInfo field's value.
  8388  func (s *CreateHostedZoneOutput) SetChangeInfo(v *ChangeInfo) *CreateHostedZoneOutput {
  8389  	s.ChangeInfo = v
  8390  	return s
  8391  }
  8392  
  8393  // SetDelegationSet sets the DelegationSet field's value.
  8394  func (s *CreateHostedZoneOutput) SetDelegationSet(v *DelegationSet) *CreateHostedZoneOutput {
  8395  	s.DelegationSet = v
  8396  	return s
  8397  }
  8398  
  8399  // SetHostedZone sets the HostedZone field's value.
  8400  func (s *CreateHostedZoneOutput) SetHostedZone(v *HostedZone) *CreateHostedZoneOutput {
  8401  	s.HostedZone = v
  8402  	return s
  8403  }
  8404  
  8405  // SetLocation sets the Location field's value.
  8406  func (s *CreateHostedZoneOutput) SetLocation(v string) *CreateHostedZoneOutput {
  8407  	s.Location = &v
  8408  	return s
  8409  }
  8410  
  8411  // SetVPC sets the VPC field's value.
  8412  func (s *CreateHostedZoneOutput) SetVPC(v *VPC) *CreateHostedZoneOutput {
  8413  	s.VPC = v
  8414  	return s
  8415  }
  8416  
  8417  type CreateKeySigningKeyInput struct {
  8418  	_ struct{} `locationName:"CreateKeySigningKeyRequest" type:"structure" xmlURI:"https://route53.amazonaws.com/doc/2013-04-01/"`
  8419  
  8420  	// A unique string that identifies the request.
  8421  	//
  8422  	// CallerReference is a required field
  8423  	CallerReference *string `min:"1" type:"string" required:"true"`
  8424  
  8425  	// The unique string (ID) used to identify a hosted zone.
  8426  	//
  8427  	// HostedZoneId is a required field
  8428  	HostedZoneId *string `type:"string" required:"true"`
  8429  
  8430  	// The Amazon resource name (ARN) for a customer managed customer master key
  8431  	// (CMK) in Key Management Service (KMS). The KeyManagementServiceArn must be
  8432  	// unique for each key-signing key (KSK) in a single hosted zone. To see an
  8433  	// example of KeyManagementServiceArn that grants the correct permissions for
  8434  	// DNSSEC, scroll down to Example.
  8435  	//
  8436  	// You must configure the customer managed CMK as follows:
  8437  	//
  8438  	// Status
  8439  	//
  8440  	// Enabled
  8441  	//
  8442  	// Key spec
  8443  	//
  8444  	// ECC_NIST_P256
  8445  	//
  8446  	// Key usage
  8447  	//
  8448  	// Sign and verify
  8449  	//
  8450  	// Key policy
  8451  	//
  8452  	// The key policy must give permission for the following actions:
  8453  	//
  8454  	//    * DescribeKey
  8455  	//
  8456  	//    * GetPublicKey
  8457  	//
  8458  	//    * Sign
  8459  	//
  8460  	// The key policy must also include the Amazon Route 53 service in the principal
  8461  	// for your account. Specify the following:
  8462  	//
  8463  	//    * "Service": "dnssec-route53.amazonaws.com"
  8464  	//
  8465  	// For more information about working with a customer managed CMK in KMS, see
  8466  	// Key Management Service concepts (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html).
  8467  	//
  8468  	// KeyManagementServiceArn is a required field
  8469  	KeyManagementServiceArn *string `type:"string" required:"true"`
  8470  
  8471  	// A string used to identify a key-signing key (KSK). Name can include numbers,
  8472  	// letters, and underscores (_). Name must be unique for each key-signing key
  8473  	// in the same hosted zone.
  8474  	//
  8475  	// Name is a required field
  8476  	Name *string `min:"3" type:"string" required:"true"`
  8477  
  8478  	// A string specifying the initial status of the key-signing key (KSK). You
  8479  	// can set the value to ACTIVE or INACTIVE.
  8480  	//
  8481  	// Status is a required field
  8482  	Status *string `min:"5" type:"string" required:"true"`
  8483  }
  8484  
  8485  // String returns the string representation.
  8486  //
  8487  // API parameter values that are decorated as "sensitive" in the API will not
  8488  // be included in the string output. The member name will be present, but the
  8489  // value will be replaced with "sensitive".
  8490  func (s CreateKeySigningKeyInput) String() string {
  8491  	return awsutil.Prettify(s)
  8492  }
  8493  
  8494  // GoString returns the string representation.
  8495  //
  8496  // API parameter values that are decorated as "sensitive" in the API will not
  8497  // be included in the string output. The member name will be present, but the
  8498  // value will be replaced with "sensitive".
  8499  func (s CreateKeySigningKeyInput) GoString() string {
  8500  	return s.String()
  8501  }
  8502  
  8503  // Validate inspects the fields of the type to determine if they are valid.
  8504  func (s *CreateKeySigningKeyInput) Validate() error {
  8505  	invalidParams := request.ErrInvalidParams{Context: "CreateKeySigningKeyInput"}
  8506  	if s.CallerReference == nil {
  8507  		invalidParams.Add(request.NewErrParamRequired("CallerReference"))
  8508  	}
  8509  	if s.CallerReference != nil && len(*s.CallerReference) < 1 {
  8510  		invalidParams.Add(request.NewErrParamMinLen("CallerReference", 1))
  8511  	}
  8512  	if s.HostedZoneId == nil {
  8513  		invalidParams.Add(request.NewErrParamRequired("HostedZoneId"))
  8514  	}
  8515  	if s.KeyManagementServiceArn == nil {
  8516  		invalidParams.Add(request.NewErrParamRequired("KeyManagementServiceArn"))
  8517  	}
  8518  	if s.Name == nil {
  8519  		invalidParams.Add(request.NewErrParamRequired("Name"))
  8520  	}
  8521  	if s.Name != nil && len(*s.Name) < 3 {
  8522  		invalidParams.Add(request.NewErrParamMinLen("Name", 3))
  8523  	}
  8524  	if s.Status == nil {
  8525  		invalidParams.Add(request.NewErrParamRequired("Status"))
  8526  	}
  8527  	if s.Status != nil && len(*s.Status) < 5 {
  8528  		invalidParams.Add(request.NewErrParamMinLen("Status", 5))
  8529  	}
  8530  
  8531  	if invalidParams.Len() > 0 {
  8532  		return invalidParams
  8533  	}
  8534  	return nil
  8535  }
  8536  
  8537  // SetCallerReference sets the CallerReference field's value.
  8538  func (s *CreateKeySigningKeyInput) SetCallerReference(v string) *CreateKeySigningKeyInput {
  8539  	s.CallerReference = &v
  8540  	return s
  8541  }
  8542  
  8543  // SetHostedZoneId sets the HostedZoneId field's value.
  8544  func (s *CreateKeySigningKeyInput) SetHostedZoneId(v string) *CreateKeySigningKeyInput {
  8545  	s.HostedZoneId = &v
  8546  	return s
  8547  }
  8548  
  8549  // SetKeyManagementServiceArn sets the KeyManagementServiceArn field's value.
  8550  func (s *CreateKeySigningKeyInput) SetKeyManagementServiceArn(v string) *CreateKeySigningKeyInput {
  8551  	s.KeyManagementServiceArn = &v
  8552  	return s
  8553  }
  8554  
  8555  // SetName sets the Name field's value.
  8556  func (s *CreateKeySigningKeyInput) SetName(v string) *CreateKeySigningKeyInput {
  8557  	s.Name = &v
  8558  	return s
  8559  }
  8560  
  8561  // SetStatus sets the Status field's value.
  8562  func (s *CreateKeySigningKeyInput) SetStatus(v string) *CreateKeySigningKeyInput {
  8563  	s.Status = &v
  8564  	return s
  8565  }
  8566  
  8567  type CreateKeySigningKeyOutput struct {
  8568  	_ struct{} `type:"structure"`
  8569  
  8570  	// A complex type that describes change information about changes made to your
  8571  	// hosted zone.
  8572  	//
  8573  	// ChangeInfo is a required field
  8574  	ChangeInfo *ChangeInfo `type:"structure" required:"true"`
  8575  
  8576  	// The key-signing key (KSK) that the request creates.
  8577  	//
  8578  	// KeySigningKey is a required field
  8579  	KeySigningKey *KeySigningKey `type:"structure" required:"true"`
  8580  
  8581  	// The unique URL representing the new key-signing key (KSK).
  8582  	//
  8583  	// Location is a required field
  8584  	Location *string `location:"header" locationName:"Location" type:"string" required:"true"`
  8585  }
  8586  
  8587  // String returns the string representation.
  8588  //
  8589  // API parameter values that are decorated as "sensitive" in the API will not
  8590  // be included in the string output. The member name will be present, but the
  8591  // value will be replaced with "sensitive".
  8592  func (s CreateKeySigningKeyOutput) String() string {
  8593  	return awsutil.Prettify(s)
  8594  }
  8595  
  8596  // GoString returns the string representation.
  8597  //
  8598  // API parameter values that are decorated as "sensitive" in the API will not
  8599  // be included in the string output. The member name will be present, but the
  8600  // value will be replaced with "sensitive".
  8601  func (s CreateKeySigningKeyOutput) GoString() string {
  8602  	return s.String()
  8603  }
  8604  
  8605  // SetChangeInfo sets the ChangeInfo field's value.
  8606  func (s *CreateKeySigningKeyOutput) SetChangeInfo(v *ChangeInfo) *CreateKeySigningKeyOutput {
  8607  	s.ChangeInfo = v
  8608  	return s
  8609  }
  8610  
  8611  // SetKeySigningKey sets the KeySigningKey field's value.
  8612  func (s *CreateKeySigningKeyOutput) SetKeySigningKey(v *KeySigningKey) *CreateKeySigningKeyOutput {
  8613  	s.KeySigningKey = v
  8614  	return s
  8615  }
  8616  
  8617  // SetLocation sets the Location field's value.
  8618  func (s *CreateKeySigningKeyOutput) SetLocation(v string) *CreateKeySigningKeyOutput {
  8619  	s.Location = &v
  8620  	return s
  8621  }
  8622  
  8623  type CreateQueryLoggingConfigInput struct {
  8624  	_ struct{} `locationName:"CreateQueryLoggingConfigRequest" type:"structure" xmlURI:"https://route53.amazonaws.com/doc/2013-04-01/"`
  8625  
  8626  	// The Amazon Resource Name (ARN) for the log group that you want to Amazon
  8627  	// Route 53 to send query logs to. This is the format of the ARN:
  8628  	//
  8629  	// arn:aws:logs:region:account-id:log-group:log_group_name
  8630  	//
  8631  	// To get the ARN for a log group, you can use the CloudWatch console, the DescribeLogGroups
  8632  	// (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_DescribeLogGroups.html)
  8633  	// API action, the describe-log-groups (https://docs.aws.amazon.com/cli/latest/reference/logs/describe-log-groups.html)
  8634  	// command, or the applicable command in one of the Amazon Web Services SDKs.
  8635  	//
  8636  	// CloudWatchLogsLogGroupArn is a required field
  8637  	CloudWatchLogsLogGroupArn *string `type:"string" required:"true"`
  8638  
  8639  	// The ID of the hosted zone that you want to log queries for. You can log queries
  8640  	// only for public hosted zones.
  8641  	//
  8642  	// HostedZoneId is a required field
  8643  	HostedZoneId *string `type:"string" required:"true"`
  8644  }
  8645  
  8646  // String returns the string representation.
  8647  //
  8648  // API parameter values that are decorated as "sensitive" in the API will not
  8649  // be included in the string output. The member name will be present, but the
  8650  // value will be replaced with "sensitive".
  8651  func (s CreateQueryLoggingConfigInput) String() string {
  8652  	return awsutil.Prettify(s)
  8653  }
  8654  
  8655  // GoString returns the string representation.
  8656  //
  8657  // API parameter values that are decorated as "sensitive" in the API will not
  8658  // be included in the string output. The member name will be present, but the
  8659  // value will be replaced with "sensitive".
  8660  func (s CreateQueryLoggingConfigInput) GoString() string {
  8661  	return s.String()
  8662  }
  8663  
  8664  // Validate inspects the fields of the type to determine if they are valid.
  8665  func (s *CreateQueryLoggingConfigInput) Validate() error {
  8666  	invalidParams := request.ErrInvalidParams{Context: "CreateQueryLoggingConfigInput"}
  8667  	if s.CloudWatchLogsLogGroupArn == nil {
  8668  		invalidParams.Add(request.NewErrParamRequired("CloudWatchLogsLogGroupArn"))
  8669  	}
  8670  	if s.HostedZoneId == nil {
  8671  		invalidParams.Add(request.NewErrParamRequired("HostedZoneId"))
  8672  	}
  8673  
  8674  	if invalidParams.Len() > 0 {
  8675  		return invalidParams
  8676  	}
  8677  	return nil
  8678  }
  8679  
  8680  // SetCloudWatchLogsLogGroupArn sets the CloudWatchLogsLogGroupArn field's value.
  8681  func (s *CreateQueryLoggingConfigInput) SetCloudWatchLogsLogGroupArn(v string) *CreateQueryLoggingConfigInput {
  8682  	s.CloudWatchLogsLogGroupArn = &v
  8683  	return s
  8684  }
  8685  
  8686  // SetHostedZoneId sets the HostedZoneId field's value.
  8687  func (s *CreateQueryLoggingConfigInput) SetHostedZoneId(v string) *CreateQueryLoggingConfigInput {
  8688  	s.HostedZoneId = &v
  8689  	return s
  8690  }
  8691  
  8692  type CreateQueryLoggingConfigOutput struct {
  8693  	_ struct{} `type:"structure"`
  8694  
  8695  	// The unique URL representing the new query logging configuration.
  8696  	//
  8697  	// Location is a required field
  8698  	Location *string `location:"header" locationName:"Location" type:"string" required:"true"`
  8699  
  8700  	// A complex type that contains the ID for a query logging configuration, the
  8701  	// ID of the hosted zone that you want to log queries for, and the ARN for the
  8702  	// log group that you want Amazon Route 53 to send query logs to.
  8703  	//
  8704  	// QueryLoggingConfig is a required field
  8705  	QueryLoggingConfig *QueryLoggingConfig `type:"structure" required:"true"`
  8706  }
  8707  
  8708  // String returns the string representation.
  8709  //
  8710  // API parameter values that are decorated as "sensitive" in the API will not
  8711  // be included in the string output. The member name will be present, but the
  8712  // value will be replaced with "sensitive".
  8713  func (s CreateQueryLoggingConfigOutput) String() string {
  8714  	return awsutil.Prettify(s)
  8715  }
  8716  
  8717  // GoString returns the string representation.
  8718  //
  8719  // API parameter values that are decorated as "sensitive" in the API will not
  8720  // be included in the string output. The member name will be present, but the
  8721  // value will be replaced with "sensitive".
  8722  func (s CreateQueryLoggingConfigOutput) GoString() string {
  8723  	return s.String()
  8724  }
  8725  
  8726  // SetLocation sets the Location field's value.
  8727  func (s *CreateQueryLoggingConfigOutput) SetLocation(v string) *CreateQueryLoggingConfigOutput {
  8728  	s.Location = &v
  8729  	return s
  8730  }
  8731  
  8732  // SetQueryLoggingConfig sets the QueryLoggingConfig field's value.
  8733  func (s *CreateQueryLoggingConfigOutput) SetQueryLoggingConfig(v *QueryLoggingConfig) *CreateQueryLoggingConfigOutput {
  8734  	s.QueryLoggingConfig = v
  8735  	return s
  8736  }
  8737  
  8738  type CreateReusableDelegationSetInput struct {
  8739  	_ struct{} `locationName:"CreateReusableDelegationSetRequest" type:"structure" xmlURI:"https://route53.amazonaws.com/doc/2013-04-01/"`
  8740  
  8741  	// A unique string that identifies the request, and that allows you to retry
  8742  	// failed CreateReusableDelegationSet requests without the risk of executing
  8743  	// the operation twice. You must use a unique CallerReference string every time
  8744  	// you submit a CreateReusableDelegationSet request. CallerReference can be
  8745  	// any unique string, for example a date/time stamp.
  8746  	//
  8747  	// CallerReference is a required field
  8748  	CallerReference *string `min:"1" type:"string" required:"true"`
  8749  
  8750  	// If you want to mark the delegation set for an existing hosted zone as reusable,
  8751  	// the ID for that hosted zone.
  8752  	HostedZoneId *string `type:"string"`
  8753  }
  8754  
  8755  // String returns the string representation.
  8756  //
  8757  // API parameter values that are decorated as "sensitive" in the API will not
  8758  // be included in the string output. The member name will be present, but the
  8759  // value will be replaced with "sensitive".
  8760  func (s CreateReusableDelegationSetInput) String() string {
  8761  	return awsutil.Prettify(s)
  8762  }
  8763  
  8764  // GoString returns the string representation.
  8765  //
  8766  // API parameter values that are decorated as "sensitive" in the API will not
  8767  // be included in the string output. The member name will be present, but the
  8768  // value will be replaced with "sensitive".
  8769  func (s CreateReusableDelegationSetInput) GoString() string {
  8770  	return s.String()
  8771  }
  8772  
  8773  // Validate inspects the fields of the type to determine if they are valid.
  8774  func (s *CreateReusableDelegationSetInput) Validate() error {
  8775  	invalidParams := request.ErrInvalidParams{Context: "CreateReusableDelegationSetInput"}
  8776  	if s.CallerReference == nil {
  8777  		invalidParams.Add(request.NewErrParamRequired("CallerReference"))
  8778  	}
  8779  	if s.CallerReference != nil && len(*s.CallerReference) < 1 {
  8780  		invalidParams.Add(request.NewErrParamMinLen("CallerReference", 1))
  8781  	}
  8782  
  8783  	if invalidParams.Len() > 0 {
  8784  		return invalidParams
  8785  	}
  8786  	return nil
  8787  }
  8788  
  8789  // SetCallerReference sets the CallerReference field's value.
  8790  func (s *CreateReusableDelegationSetInput) SetCallerReference(v string) *CreateReusableDelegationSetInput {
  8791  	s.CallerReference = &v
  8792  	return s
  8793  }
  8794  
  8795  // SetHostedZoneId sets the HostedZoneId field's value.
  8796  func (s *CreateReusableDelegationSetInput) SetHostedZoneId(v string) *CreateReusableDelegationSetInput {
  8797  	s.HostedZoneId = &v
  8798  	return s
  8799  }
  8800  
  8801  type CreateReusableDelegationSetOutput struct {
  8802  	_ struct{} `type:"structure"`
  8803  
  8804  	// A complex type that contains name server information.
  8805  	//
  8806  	// DelegationSet is a required field
  8807  	DelegationSet *DelegationSet `type:"structure" required:"true"`
  8808  
  8809  	// The unique URL representing the new reusable delegation set.
  8810  	//
  8811  	// Location is a required field
  8812  	Location *string `location:"header" locationName:"Location" type:"string" required:"true"`
  8813  }
  8814  
  8815  // String returns the string representation.
  8816  //
  8817  // API parameter values that are decorated as "sensitive" in the API will not
  8818  // be included in the string output. The member name will be present, but the
  8819  // value will be replaced with "sensitive".
  8820  func (s CreateReusableDelegationSetOutput) String() string {
  8821  	return awsutil.Prettify(s)
  8822  }
  8823  
  8824  // GoString returns the string representation.
  8825  //
  8826  // API parameter values that are decorated as "sensitive" in the API will not
  8827  // be included in the string output. The member name will be present, but the
  8828  // value will be replaced with "sensitive".
  8829  func (s CreateReusableDelegationSetOutput) GoString() string {
  8830  	return s.String()
  8831  }
  8832  
  8833  // SetDelegationSet sets the DelegationSet field's value.
  8834  func (s *CreateReusableDelegationSetOutput) SetDelegationSet(v *DelegationSet) *CreateReusableDelegationSetOutput {
  8835  	s.DelegationSet = v
  8836  	return s
  8837  }
  8838  
  8839  // SetLocation sets the Location field's value.
  8840  func (s *CreateReusableDelegationSetOutput) SetLocation(v string) *CreateReusableDelegationSetOutput {
  8841  	s.Location = &v
  8842  	return s
  8843  }
  8844  
  8845  // A complex type that contains information about the traffic policy that you
  8846  // want to create.
  8847  type CreateTrafficPolicyInput struct {
  8848  	_ struct{} `locationName:"CreateTrafficPolicyRequest" type:"structure" xmlURI:"https://route53.amazonaws.com/doc/2013-04-01/"`
  8849  
  8850  	// (Optional) Any comments that you want to include about the traffic policy.
  8851  	Comment *string `type:"string"`
  8852  
  8853  	// The definition of this traffic policy in JSON format. For more information,
  8854  	// see Traffic Policy Document Format (https://docs.aws.amazon.com/Route53/latest/APIReference/api-policies-traffic-policy-document-format.html).
  8855  	//
  8856  	// Document is a required field
  8857  	Document *string `type:"string" required:"true"`
  8858  
  8859  	// The name of the traffic policy.
  8860  	//
  8861  	// Name is a required field
  8862  	Name *string `type:"string" required:"true"`
  8863  }
  8864  
  8865  // String returns the string representation.
  8866  //
  8867  // API parameter values that are decorated as "sensitive" in the API will not
  8868  // be included in the string output. The member name will be present, but the
  8869  // value will be replaced with "sensitive".
  8870  func (s CreateTrafficPolicyInput) String() string {
  8871  	return awsutil.Prettify(s)
  8872  }
  8873  
  8874  // GoString returns the string representation.
  8875  //
  8876  // API parameter values that are decorated as "sensitive" in the API will not
  8877  // be included in the string output. The member name will be present, but the
  8878  // value will be replaced with "sensitive".
  8879  func (s CreateTrafficPolicyInput) GoString() string {
  8880  	return s.String()
  8881  }
  8882  
  8883  // Validate inspects the fields of the type to determine if they are valid.
  8884  func (s *CreateTrafficPolicyInput) Validate() error {
  8885  	invalidParams := request.ErrInvalidParams{Context: "CreateTrafficPolicyInput"}
  8886  	if s.Document == nil {
  8887  		invalidParams.Add(request.NewErrParamRequired("Document"))
  8888  	}
  8889  	if s.Name == nil {
  8890  		invalidParams.Add(request.NewErrParamRequired("Name"))
  8891  	}
  8892  
  8893  	if invalidParams.Len() > 0 {
  8894  		return invalidParams
  8895  	}
  8896  	return nil
  8897  }
  8898  
  8899  // SetComment sets the Comment field's value.
  8900  func (s *CreateTrafficPolicyInput) SetComment(v string) *CreateTrafficPolicyInput {
  8901  	s.Comment = &v
  8902  	return s
  8903  }
  8904  
  8905  // SetDocument sets the Document field's value.
  8906  func (s *CreateTrafficPolicyInput) SetDocument(v string) *CreateTrafficPolicyInput {
  8907  	s.Document = &v
  8908  	return s
  8909  }
  8910  
  8911  // SetName sets the Name field's value.
  8912  func (s *CreateTrafficPolicyInput) SetName(v string) *CreateTrafficPolicyInput {
  8913  	s.Name = &v
  8914  	return s
  8915  }
  8916  
  8917  // A complex type that contains information about the resource record sets that
  8918  // you want to create based on a specified traffic policy.
  8919  type CreateTrafficPolicyInstanceInput struct {
  8920  	_ struct{} `locationName:"CreateTrafficPolicyInstanceRequest" type:"structure" xmlURI:"https://route53.amazonaws.com/doc/2013-04-01/"`
  8921  
  8922  	// The ID of the hosted zone that you want Amazon Route 53 to create resource
  8923  	// record sets in by using the configuration in a traffic policy.
  8924  	//
  8925  	// HostedZoneId is a required field
  8926  	HostedZoneId *string `type:"string" required:"true"`
  8927  
  8928  	// The domain name (such as example.com) or subdomain name (such as www.example.com)
  8929  	// for which Amazon Route 53 responds to DNS queries by using the resource record
  8930  	// sets that Route 53 creates for this traffic policy instance.
  8931  	//
  8932  	// Name is a required field
  8933  	Name *string `type:"string" required:"true"`
  8934  
  8935  	// (Optional) The TTL that you want Amazon Route 53 to assign to all of the
  8936  	// resource record sets that it creates in the specified hosted zone.
  8937  	//
  8938  	// TTL is a required field
  8939  	TTL *int64 `type:"long" required:"true"`
  8940  
  8941  	// The ID of the traffic policy that you want to use to create resource record
  8942  	// sets in the specified hosted zone.
  8943  	//
  8944  	// TrafficPolicyId is a required field
  8945  	TrafficPolicyId *string `min:"1" type:"string" required:"true"`
  8946  
  8947  	// The version of the traffic policy that you want to use to create resource
  8948  	// record sets in the specified hosted zone.
  8949  	//
  8950  	// TrafficPolicyVersion is a required field
  8951  	TrafficPolicyVersion *int64 `min:"1" type:"integer" required:"true"`
  8952  }
  8953  
  8954  // String returns the string representation.
  8955  //
  8956  // API parameter values that are decorated as "sensitive" in the API will not
  8957  // be included in the string output. The member name will be present, but the
  8958  // value will be replaced with "sensitive".
  8959  func (s CreateTrafficPolicyInstanceInput) String() string {
  8960  	return awsutil.Prettify(s)
  8961  }
  8962  
  8963  // GoString returns the string representation.
  8964  //
  8965  // API parameter values that are decorated as "sensitive" in the API will not
  8966  // be included in the string output. The member name will be present, but the
  8967  // value will be replaced with "sensitive".
  8968  func (s CreateTrafficPolicyInstanceInput) GoString() string {
  8969  	return s.String()
  8970  }
  8971  
  8972  // Validate inspects the fields of the type to determine if they are valid.
  8973  func (s *CreateTrafficPolicyInstanceInput) Validate() error {
  8974  	invalidParams := request.ErrInvalidParams{Context: "CreateTrafficPolicyInstanceInput"}
  8975  	if s.HostedZoneId == nil {
  8976  		invalidParams.Add(request.NewErrParamRequired("HostedZoneId"))
  8977  	}
  8978  	if s.Name == nil {
  8979  		invalidParams.Add(request.NewErrParamRequired("Name"))
  8980  	}
  8981  	if s.TTL == nil {
  8982  		invalidParams.Add(request.NewErrParamRequired("TTL"))
  8983  	}
  8984  	if s.TrafficPolicyId == nil {
  8985  		invalidParams.Add(request.NewErrParamRequired("TrafficPolicyId"))
  8986  	}
  8987  	if s.TrafficPolicyId != nil && len(*s.TrafficPolicyId) < 1 {
  8988  		invalidParams.Add(request.NewErrParamMinLen("TrafficPolicyId", 1))
  8989  	}
  8990  	if s.TrafficPolicyVersion == nil {
  8991  		invalidParams.Add(request.NewErrParamRequired("TrafficPolicyVersion"))
  8992  	}
  8993  	if s.TrafficPolicyVersion != nil && *s.TrafficPolicyVersion < 1 {
  8994  		invalidParams.Add(request.NewErrParamMinValue("TrafficPolicyVersion", 1))
  8995  	}
  8996  
  8997  	if invalidParams.Len() > 0 {
  8998  		return invalidParams
  8999  	}
  9000  	return nil
  9001  }
  9002  
  9003  // SetHostedZoneId sets the HostedZoneId field's value.
  9004  func (s *CreateTrafficPolicyInstanceInput) SetHostedZoneId(v string) *CreateTrafficPolicyInstanceInput {
  9005  	s.HostedZoneId = &v
  9006  	return s
  9007  }
  9008  
  9009  // SetName sets the Name field's value.
  9010  func (s *CreateTrafficPolicyInstanceInput) SetName(v string) *CreateTrafficPolicyInstanceInput {
  9011  	s.Name = &v
  9012  	return s
  9013  }
  9014  
  9015  // SetTTL sets the TTL field's value.
  9016  func (s *CreateTrafficPolicyInstanceInput) SetTTL(v int64) *CreateTrafficPolicyInstanceInput {
  9017  	s.TTL = &v
  9018  	return s
  9019  }
  9020  
  9021  // SetTrafficPolicyId sets the TrafficPolicyId field's value.
  9022  func (s *CreateTrafficPolicyInstanceInput) SetTrafficPolicyId(v string) *CreateTrafficPolicyInstanceInput {
  9023  	s.TrafficPolicyId = &v
  9024  	return s
  9025  }
  9026  
  9027  // SetTrafficPolicyVersion sets the TrafficPolicyVersion field's value.
  9028  func (s *CreateTrafficPolicyInstanceInput) SetTrafficPolicyVersion(v int64) *CreateTrafficPolicyInstanceInput {
  9029  	s.TrafficPolicyVersion = &v
  9030  	return s
  9031  }
  9032  
  9033  // A complex type that contains the response information for the CreateTrafficPolicyInstance
  9034  // request.
  9035  type CreateTrafficPolicyInstanceOutput struct {
  9036  	_ struct{} `type:"structure"`
  9037  
  9038  	// A unique URL that represents a new traffic policy instance.
  9039  	//
  9040  	// Location is a required field
  9041  	Location *string `location:"header" locationName:"Location" type:"string" required:"true"`
  9042  
  9043  	// A complex type that contains settings for the new traffic policy instance.
  9044  	//
  9045  	// TrafficPolicyInstance is a required field
  9046  	TrafficPolicyInstance *TrafficPolicyInstance `type:"structure" required:"true"`
  9047  }
  9048  
  9049  // String returns the string representation.
  9050  //
  9051  // API parameter values that are decorated as "sensitive" in the API will not
  9052  // be included in the string output. The member name will be present, but the
  9053  // value will be replaced with "sensitive".
  9054  func (s CreateTrafficPolicyInstanceOutput) String() string {
  9055  	return awsutil.Prettify(s)
  9056  }
  9057  
  9058  // GoString returns the string representation.
  9059  //
  9060  // API parameter values that are decorated as "sensitive" in the API will not
  9061  // be included in the string output. The member name will be present, but the
  9062  // value will be replaced with "sensitive".
  9063  func (s CreateTrafficPolicyInstanceOutput) GoString() string {
  9064  	return s.String()
  9065  }
  9066  
  9067  // SetLocation sets the Location field's value.
  9068  func (s *CreateTrafficPolicyInstanceOutput) SetLocation(v string) *CreateTrafficPolicyInstanceOutput {
  9069  	s.Location = &v
  9070  	return s
  9071  }
  9072  
  9073  // SetTrafficPolicyInstance sets the TrafficPolicyInstance field's value.
  9074  func (s *CreateTrafficPolicyInstanceOutput) SetTrafficPolicyInstance(v *TrafficPolicyInstance) *CreateTrafficPolicyInstanceOutput {
  9075  	s.TrafficPolicyInstance = v
  9076  	return s
  9077  }
  9078  
  9079  // A complex type that contains the response information for the CreateTrafficPolicy
  9080  // request.
  9081  type CreateTrafficPolicyOutput struct {
  9082  	_ struct{} `type:"structure"`
  9083  
  9084  	// A unique URL that represents a new traffic policy.
  9085  	//
  9086  	// Location is a required field
  9087  	Location *string `location:"header" locationName:"Location" type:"string" required:"true"`
  9088  
  9089  	// A complex type that contains settings for the new traffic policy.
  9090  	//
  9091  	// TrafficPolicy is a required field
  9092  	TrafficPolicy *TrafficPolicy `type:"structure" required:"true"`
  9093  }
  9094  
  9095  // String returns the string representation.
  9096  //
  9097  // API parameter values that are decorated as "sensitive" in the API will not
  9098  // be included in the string output. The member name will be present, but the
  9099  // value will be replaced with "sensitive".
  9100  func (s CreateTrafficPolicyOutput) String() string {
  9101  	return awsutil.Prettify(s)
  9102  }
  9103  
  9104  // GoString returns the string representation.
  9105  //
  9106  // API parameter values that are decorated as "sensitive" in the API will not
  9107  // be included in the string output. The member name will be present, but the
  9108  // value will be replaced with "sensitive".
  9109  func (s CreateTrafficPolicyOutput) GoString() string {
  9110  	return s.String()
  9111  }
  9112  
  9113  // SetLocation sets the Location field's value.
  9114  func (s *CreateTrafficPolicyOutput) SetLocation(v string) *CreateTrafficPolicyOutput {
  9115  	s.Location = &v
  9116  	return s
  9117  }
  9118  
  9119  // SetTrafficPolicy sets the TrafficPolicy field's value.
  9120  func (s *CreateTrafficPolicyOutput) SetTrafficPolicy(v *TrafficPolicy) *CreateTrafficPolicyOutput {
  9121  	s.TrafficPolicy = v
  9122  	return s
  9123  }
  9124  
  9125  // A complex type that contains information about the traffic policy that you
  9126  // want to create a new version for.
  9127  type CreateTrafficPolicyVersionInput struct {
  9128  	_ struct{} `locationName:"CreateTrafficPolicyVersionRequest" type:"structure" xmlURI:"https://route53.amazonaws.com/doc/2013-04-01/"`
  9129  
  9130  	// The comment that you specified in the CreateTrafficPolicyVersion request,
  9131  	// if any.
  9132  	Comment *string `type:"string"`
  9133  
  9134  	// The definition of this version of the traffic policy, in JSON format. You
  9135  	// specified the JSON in the CreateTrafficPolicyVersion request. For more information
  9136  	// about the JSON format, see CreateTrafficPolicy (https://docs.aws.amazon.com/Route53/latest/APIReference/API_CreateTrafficPolicy.html).
  9137  	//
  9138  	// Document is a required field
  9139  	Document *string `type:"string" required:"true"`
  9140  
  9141  	// The ID of the traffic policy for which you want to create a new version.
  9142  	//
  9143  	// Id is a required field
  9144  	Id *string `location:"uri" locationName:"Id" min:"1" type:"string" required:"true"`
  9145  }
  9146  
  9147  // String returns the string representation.
  9148  //
  9149  // API parameter values that are decorated as "sensitive" in the API will not
  9150  // be included in the string output. The member name will be present, but the
  9151  // value will be replaced with "sensitive".
  9152  func (s CreateTrafficPolicyVersionInput) String() string {
  9153  	return awsutil.Prettify(s)
  9154  }
  9155  
  9156  // GoString returns the string representation.
  9157  //
  9158  // API parameter values that are decorated as "sensitive" in the API will not
  9159  // be included in the string output. The member name will be present, but the
  9160  // value will be replaced with "sensitive".
  9161  func (s CreateTrafficPolicyVersionInput) GoString() string {
  9162  	return s.String()
  9163  }
  9164  
  9165  // Validate inspects the fields of the type to determine if they are valid.
  9166  func (s *CreateTrafficPolicyVersionInput) Validate() error {
  9167  	invalidParams := request.ErrInvalidParams{Context: "CreateTrafficPolicyVersionInput"}
  9168  	if s.Document == nil {
  9169  		invalidParams.Add(request.NewErrParamRequired("Document"))
  9170  	}
  9171  	if s.Id == nil {
  9172  		invalidParams.Add(request.NewErrParamRequired("Id"))
  9173  	}
  9174  	if s.Id != nil && len(*s.Id) < 1 {
  9175  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
  9176  	}
  9177  
  9178  	if invalidParams.Len() > 0 {
  9179  		return invalidParams
  9180  	}
  9181  	return nil
  9182  }
  9183  
  9184  // SetComment sets the Comment field's value.
  9185  func (s *CreateTrafficPolicyVersionInput) SetComment(v string) *CreateTrafficPolicyVersionInput {
  9186  	s.Comment = &v
  9187  	return s
  9188  }
  9189  
  9190  // SetDocument sets the Document field's value.
  9191  func (s *CreateTrafficPolicyVersionInput) SetDocument(v string) *CreateTrafficPolicyVersionInput {
  9192  	s.Document = &v
  9193  	return s
  9194  }
  9195  
  9196  // SetId sets the Id field's value.
  9197  func (s *CreateTrafficPolicyVersionInput) SetId(v string) *CreateTrafficPolicyVersionInput {
  9198  	s.Id = &v
  9199  	return s
  9200  }
  9201  
  9202  // A complex type that contains the response information for the CreateTrafficPolicyVersion
  9203  // request.
  9204  type CreateTrafficPolicyVersionOutput struct {
  9205  	_ struct{} `type:"structure"`
  9206  
  9207  	// A unique URL that represents a new traffic policy version.
  9208  	//
  9209  	// Location is a required field
  9210  	Location *string `location:"header" locationName:"Location" type:"string" required:"true"`
  9211  
  9212  	// A complex type that contains settings for the new version of the traffic
  9213  	// policy.
  9214  	//
  9215  	// TrafficPolicy is a required field
  9216  	TrafficPolicy *TrafficPolicy `type:"structure" required:"true"`
  9217  }
  9218  
  9219  // String returns the string representation.
  9220  //
  9221  // API parameter values that are decorated as "sensitive" in the API will not
  9222  // be included in the string output. The member name will be present, but the
  9223  // value will be replaced with "sensitive".
  9224  func (s CreateTrafficPolicyVersionOutput) String() string {
  9225  	return awsutil.Prettify(s)
  9226  }
  9227  
  9228  // GoString returns the string representation.
  9229  //
  9230  // API parameter values that are decorated as "sensitive" in the API will not
  9231  // be included in the string output. The member name will be present, but the
  9232  // value will be replaced with "sensitive".
  9233  func (s CreateTrafficPolicyVersionOutput) GoString() string {
  9234  	return s.String()
  9235  }
  9236  
  9237  // SetLocation sets the Location field's value.
  9238  func (s *CreateTrafficPolicyVersionOutput) SetLocation(v string) *CreateTrafficPolicyVersionOutput {
  9239  	s.Location = &v
  9240  	return s
  9241  }
  9242  
  9243  // SetTrafficPolicy sets the TrafficPolicy field's value.
  9244  func (s *CreateTrafficPolicyVersionOutput) SetTrafficPolicy(v *TrafficPolicy) *CreateTrafficPolicyVersionOutput {
  9245  	s.TrafficPolicy = v
  9246  	return s
  9247  }
  9248  
  9249  // A complex type that contains information about the request to authorize associating
  9250  // a VPC with your private hosted zone. Authorization is only required when
  9251  // a private hosted zone and a VPC were created by using different accounts.
  9252  type CreateVPCAssociationAuthorizationInput struct {
  9253  	_ struct{} `locationName:"CreateVPCAssociationAuthorizationRequest" type:"structure" xmlURI:"https://route53.amazonaws.com/doc/2013-04-01/"`
  9254  
  9255  	// The ID of the private hosted zone that you want to authorize associating
  9256  	// a VPC with.
  9257  	//
  9258  	// HostedZoneId is a required field
  9259  	HostedZoneId *string `location:"uri" locationName:"Id" type:"string" required:"true"`
  9260  
  9261  	// A complex type that contains the VPC ID and region for the VPC that you want
  9262  	// to authorize associating with your hosted zone.
  9263  	//
  9264  	// VPC is a required field
  9265  	VPC *VPC `type:"structure" required:"true"`
  9266  }
  9267  
  9268  // String returns the string representation.
  9269  //
  9270  // API parameter values that are decorated as "sensitive" in the API will not
  9271  // be included in the string output. The member name will be present, but the
  9272  // value will be replaced with "sensitive".
  9273  func (s CreateVPCAssociationAuthorizationInput) String() string {
  9274  	return awsutil.Prettify(s)
  9275  }
  9276  
  9277  // GoString returns the string representation.
  9278  //
  9279  // API parameter values that are decorated as "sensitive" in the API will not
  9280  // be included in the string output. The member name will be present, but the
  9281  // value will be replaced with "sensitive".
  9282  func (s CreateVPCAssociationAuthorizationInput) GoString() string {
  9283  	return s.String()
  9284  }
  9285  
  9286  // Validate inspects the fields of the type to determine if they are valid.
  9287  func (s *CreateVPCAssociationAuthorizationInput) Validate() error {
  9288  	invalidParams := request.ErrInvalidParams{Context: "CreateVPCAssociationAuthorizationInput"}
  9289  	if s.HostedZoneId == nil {
  9290  		invalidParams.Add(request.NewErrParamRequired("HostedZoneId"))
  9291  	}
  9292  	if s.HostedZoneId != nil && len(*s.HostedZoneId) < 1 {
  9293  		invalidParams.Add(request.NewErrParamMinLen("HostedZoneId", 1))
  9294  	}
  9295  	if s.VPC == nil {
  9296  		invalidParams.Add(request.NewErrParamRequired("VPC"))
  9297  	}
  9298  	if s.VPC != nil {
  9299  		if err := s.VPC.Validate(); err != nil {
  9300  			invalidParams.AddNested("VPC", err.(request.ErrInvalidParams))
  9301  		}
  9302  	}
  9303  
  9304  	if invalidParams.Len() > 0 {
  9305  		return invalidParams
  9306  	}
  9307  	return nil
  9308  }
  9309  
  9310  // SetHostedZoneId sets the HostedZoneId field's value.
  9311  func (s *CreateVPCAssociationAuthorizationInput) SetHostedZoneId(v string) *CreateVPCAssociationAuthorizationInput {
  9312  	s.HostedZoneId = &v
  9313  	return s
  9314  }
  9315  
  9316  // SetVPC sets the VPC field's value.
  9317  func (s *CreateVPCAssociationAuthorizationInput) SetVPC(v *VPC) *CreateVPCAssociationAuthorizationInput {
  9318  	s.VPC = v
  9319  	return s
  9320  }
  9321  
  9322  // A complex type that contains the response information from a CreateVPCAssociationAuthorization
  9323  // request.
  9324  type CreateVPCAssociationAuthorizationOutput struct {
  9325  	_ struct{} `type:"structure"`
  9326  
  9327  	// The ID of the hosted zone that you authorized associating a VPC with.
  9328  	//
  9329  	// HostedZoneId is a required field
  9330  	HostedZoneId *string `type:"string" required:"true"`
  9331  
  9332  	// The VPC that you authorized associating with a hosted zone.
  9333  	//
  9334  	// VPC is a required field
  9335  	VPC *VPC `type:"structure" required:"true"`
  9336  }
  9337  
  9338  // String returns the string representation.
  9339  //
  9340  // API parameter values that are decorated as "sensitive" in the API will not
  9341  // be included in the string output. The member name will be present, but the
  9342  // value will be replaced with "sensitive".
  9343  func (s CreateVPCAssociationAuthorizationOutput) String() string {
  9344  	return awsutil.Prettify(s)
  9345  }
  9346  
  9347  // GoString returns the string representation.
  9348  //
  9349  // API parameter values that are decorated as "sensitive" in the API will not
  9350  // be included in the string output. The member name will be present, but the
  9351  // value will be replaced with "sensitive".
  9352  func (s CreateVPCAssociationAuthorizationOutput) GoString() string {
  9353  	return s.String()
  9354  }
  9355  
  9356  // SetHostedZoneId sets the HostedZoneId field's value.
  9357  func (s *CreateVPCAssociationAuthorizationOutput) SetHostedZoneId(v string) *CreateVPCAssociationAuthorizationOutput {
  9358  	s.HostedZoneId = &v
  9359  	return s
  9360  }
  9361  
  9362  // SetVPC sets the VPC field's value.
  9363  func (s *CreateVPCAssociationAuthorizationOutput) SetVPC(v *VPC) *CreateVPCAssociationAuthorizationOutput {
  9364  	s.VPC = v
  9365  	return s
  9366  }
  9367  
  9368  // A string repesenting the status of DNSSEC signing.
  9369  type DNSSECStatus struct {
  9370  	_ struct{} `type:"structure"`
  9371  
  9372  	// A string that represents the current hosted zone signing status.
  9373  	//
  9374  	// Status can have one of the following values:
  9375  	//
  9376  	// SIGNING
  9377  	//
  9378  	// DNSSEC signing is enabled for the hosted zone.
  9379  	//
  9380  	// NOT_SIGNING
  9381  	//
  9382  	// DNSSEC signing is not enabled for the hosted zone.
  9383  	//
  9384  	// DELETING
  9385  	//
  9386  	// DNSSEC signing is in the process of being removed for the hosted zone.
  9387  	//
  9388  	// ACTION_NEEDED
  9389  	//
  9390  	// There is a problem with signing in the hosted zone that requires you to take
  9391  	// action to resolve. For example, the customer managed customer master key
  9392  	// (CMK) might have been deleted, or the permissions for the customer managed
  9393  	// CMK might have been changed.
  9394  	//
  9395  	// INTERNAL_FAILURE
  9396  	//
  9397  	// There was an error during a request. Before you can continue to work with
  9398  	// DNSSEC signing, including with key-signing keys (KSKs), you must correct
  9399  	// the problem by enabling or disabling DNSSEC signing for the hosted zone.
  9400  	ServeSignature *string `min:"1" type:"string"`
  9401  
  9402  	// The status message provided for the following DNSSEC signing status: INTERNAL_FAILURE.
  9403  	// The status message includes information about what the problem might be and
  9404  	// steps that you can take to correct the issue.
  9405  	StatusMessage *string `type:"string"`
  9406  }
  9407  
  9408  // String returns the string representation.
  9409  //
  9410  // API parameter values that are decorated as "sensitive" in the API will not
  9411  // be included in the string output. The member name will be present, but the
  9412  // value will be replaced with "sensitive".
  9413  func (s DNSSECStatus) String() string {
  9414  	return awsutil.Prettify(s)
  9415  }
  9416  
  9417  // GoString returns the string representation.
  9418  //
  9419  // API parameter values that are decorated as "sensitive" in the API will not
  9420  // be included in the string output. The member name will be present, but the
  9421  // value will be replaced with "sensitive".
  9422  func (s DNSSECStatus) GoString() string {
  9423  	return s.String()
  9424  }
  9425  
  9426  // SetServeSignature sets the ServeSignature field's value.
  9427  func (s *DNSSECStatus) SetServeSignature(v string) *DNSSECStatus {
  9428  	s.ServeSignature = &v
  9429  	return s
  9430  }
  9431  
  9432  // SetStatusMessage sets the StatusMessage field's value.
  9433  func (s *DNSSECStatus) SetStatusMessage(v string) *DNSSECStatus {
  9434  	s.StatusMessage = &v
  9435  	return s
  9436  }
  9437  
  9438  type DeactivateKeySigningKeyInput struct {
  9439  	_ struct{} `locationName:"DeactivateKeySigningKeyRequest" type:"structure"`
  9440  
  9441  	// A unique string used to identify a hosted zone.
  9442  	//
  9443  	// HostedZoneId is a required field
  9444  	HostedZoneId *string `location:"uri" locationName:"HostedZoneId" type:"string" required:"true"`
  9445  
  9446  	// A string used to identify a key-signing key (KSK).
  9447  	//
  9448  	// Name is a required field
  9449  	Name *string `location:"uri" locationName:"Name" min:"3" type:"string" required:"true"`
  9450  }
  9451  
  9452  // String returns the string representation.
  9453  //
  9454  // API parameter values that are decorated as "sensitive" in the API will not
  9455  // be included in the string output. The member name will be present, but the
  9456  // value will be replaced with "sensitive".
  9457  func (s DeactivateKeySigningKeyInput) String() string {
  9458  	return awsutil.Prettify(s)
  9459  }
  9460  
  9461  // GoString returns the string representation.
  9462  //
  9463  // API parameter values that are decorated as "sensitive" in the API will not
  9464  // be included in the string output. The member name will be present, but the
  9465  // value will be replaced with "sensitive".
  9466  func (s DeactivateKeySigningKeyInput) GoString() string {
  9467  	return s.String()
  9468  }
  9469  
  9470  // Validate inspects the fields of the type to determine if they are valid.
  9471  func (s *DeactivateKeySigningKeyInput) Validate() error {
  9472  	invalidParams := request.ErrInvalidParams{Context: "DeactivateKeySigningKeyInput"}
  9473  	if s.HostedZoneId == nil {
  9474  		invalidParams.Add(request.NewErrParamRequired("HostedZoneId"))
  9475  	}
  9476  	if s.HostedZoneId != nil && len(*s.HostedZoneId) < 1 {
  9477  		invalidParams.Add(request.NewErrParamMinLen("HostedZoneId", 1))
  9478  	}
  9479  	if s.Name == nil {
  9480  		invalidParams.Add(request.NewErrParamRequired("Name"))
  9481  	}
  9482  	if s.Name != nil && len(*s.Name) < 3 {
  9483  		invalidParams.Add(request.NewErrParamMinLen("Name", 3))
  9484  	}
  9485  
  9486  	if invalidParams.Len() > 0 {
  9487  		return invalidParams
  9488  	}
  9489  	return nil
  9490  }
  9491  
  9492  // SetHostedZoneId sets the HostedZoneId field's value.
  9493  func (s *DeactivateKeySigningKeyInput) SetHostedZoneId(v string) *DeactivateKeySigningKeyInput {
  9494  	s.HostedZoneId = &v
  9495  	return s
  9496  }
  9497  
  9498  // SetName sets the Name field's value.
  9499  func (s *DeactivateKeySigningKeyInput) SetName(v string) *DeactivateKeySigningKeyInput {
  9500  	s.Name = &v
  9501  	return s
  9502  }
  9503  
  9504  type DeactivateKeySigningKeyOutput struct {
  9505  	_ struct{} `type:"structure"`
  9506  
  9507  	// A complex type that describes change information about changes made to your
  9508  	// hosted zone.
  9509  	//
  9510  	// ChangeInfo is a required field
  9511  	ChangeInfo *ChangeInfo `type:"structure" required:"true"`
  9512  }
  9513  
  9514  // String returns the string representation.
  9515  //
  9516  // API parameter values that are decorated as "sensitive" in the API will not
  9517  // be included in the string output. The member name will be present, but the
  9518  // value will be replaced with "sensitive".
  9519  func (s DeactivateKeySigningKeyOutput) String() string {
  9520  	return awsutil.Prettify(s)
  9521  }
  9522  
  9523  // GoString returns the string representation.
  9524  //
  9525  // API parameter values that are decorated as "sensitive" in the API will not
  9526  // be included in the string output. The member name will be present, but the
  9527  // value will be replaced with "sensitive".
  9528  func (s DeactivateKeySigningKeyOutput) GoString() string {
  9529  	return s.String()
  9530  }
  9531  
  9532  // SetChangeInfo sets the ChangeInfo field's value.
  9533  func (s *DeactivateKeySigningKeyOutput) SetChangeInfo(v *ChangeInfo) *DeactivateKeySigningKeyOutput {
  9534  	s.ChangeInfo = v
  9535  	return s
  9536  }
  9537  
  9538  // A complex type that lists the name servers in a delegation set, as well as
  9539  // the CallerReference and the ID for the delegation set.
  9540  type DelegationSet struct {
  9541  	_ struct{} `type:"structure"`
  9542  
  9543  	// The value that you specified for CallerReference when you created the reusable
  9544  	// delegation set.
  9545  	CallerReference *string `min:"1" type:"string"`
  9546  
  9547  	// The ID that Amazon Route 53 assigns to a reusable delegation set.
  9548  	Id *string `type:"string"`
  9549  
  9550  	// A complex type that contains a list of the authoritative name servers for
  9551  	// a hosted zone or for a reusable delegation set.
  9552  	//
  9553  	// NameServers is a required field
  9554  	NameServers []*string `locationNameList:"NameServer" min:"1" type:"list" required:"true"`
  9555  }
  9556  
  9557  // String returns the string representation.
  9558  //
  9559  // API parameter values that are decorated as "sensitive" in the API will not
  9560  // be included in the string output. The member name will be present, but the
  9561  // value will be replaced with "sensitive".
  9562  func (s DelegationSet) String() string {
  9563  	return awsutil.Prettify(s)
  9564  }
  9565  
  9566  // GoString returns the string representation.
  9567  //
  9568  // API parameter values that are decorated as "sensitive" in the API will not
  9569  // be included in the string output. The member name will be present, but the
  9570  // value will be replaced with "sensitive".
  9571  func (s DelegationSet) GoString() string {
  9572  	return s.String()
  9573  }
  9574  
  9575  // SetCallerReference sets the CallerReference field's value.
  9576  func (s *DelegationSet) SetCallerReference(v string) *DelegationSet {
  9577  	s.CallerReference = &v
  9578  	return s
  9579  }
  9580  
  9581  // SetId sets the Id field's value.
  9582  func (s *DelegationSet) SetId(v string) *DelegationSet {
  9583  	s.Id = &v
  9584  	return s
  9585  }
  9586  
  9587  // SetNameServers sets the NameServers field's value.
  9588  func (s *DelegationSet) SetNameServers(v []*string) *DelegationSet {
  9589  	s.NameServers = v
  9590  	return s
  9591  }
  9592  
  9593  // This action deletes a health check.
  9594  type DeleteHealthCheckInput struct {
  9595  	_ struct{} `locationName:"DeleteHealthCheckRequest" type:"structure"`
  9596  
  9597  	// The ID of the health check that you want to delete.
  9598  	//
  9599  	// HealthCheckId is a required field
  9600  	HealthCheckId *string `location:"uri" locationName:"HealthCheckId" type:"string" required:"true"`
  9601  }
  9602  
  9603  // String returns the string representation.
  9604  //
  9605  // API parameter values that are decorated as "sensitive" in the API will not
  9606  // be included in the string output. The member name will be present, but the
  9607  // value will be replaced with "sensitive".
  9608  func (s DeleteHealthCheckInput) String() string {
  9609  	return awsutil.Prettify(s)
  9610  }
  9611  
  9612  // GoString returns the string representation.
  9613  //
  9614  // API parameter values that are decorated as "sensitive" in the API will not
  9615  // be included in the string output. The member name will be present, but the
  9616  // value will be replaced with "sensitive".
  9617  func (s DeleteHealthCheckInput) GoString() string {
  9618  	return s.String()
  9619  }
  9620  
  9621  // Validate inspects the fields of the type to determine if they are valid.
  9622  func (s *DeleteHealthCheckInput) Validate() error {
  9623  	invalidParams := request.ErrInvalidParams{Context: "DeleteHealthCheckInput"}
  9624  	if s.HealthCheckId == nil {
  9625  		invalidParams.Add(request.NewErrParamRequired("HealthCheckId"))
  9626  	}
  9627  	if s.HealthCheckId != nil && len(*s.HealthCheckId) < 1 {
  9628  		invalidParams.Add(request.NewErrParamMinLen("HealthCheckId", 1))
  9629  	}
  9630  
  9631  	if invalidParams.Len() > 0 {
  9632  		return invalidParams
  9633  	}
  9634  	return nil
  9635  }
  9636  
  9637  // SetHealthCheckId sets the HealthCheckId field's value.
  9638  func (s *DeleteHealthCheckInput) SetHealthCheckId(v string) *DeleteHealthCheckInput {
  9639  	s.HealthCheckId = &v
  9640  	return s
  9641  }
  9642  
  9643  // An empty element.
  9644  type DeleteHealthCheckOutput struct {
  9645  	_ struct{} `type:"structure"`
  9646  }
  9647  
  9648  // String returns the string representation.
  9649  //
  9650  // API parameter values that are decorated as "sensitive" in the API will not
  9651  // be included in the string output. The member name will be present, but the
  9652  // value will be replaced with "sensitive".
  9653  func (s DeleteHealthCheckOutput) String() string {
  9654  	return awsutil.Prettify(s)
  9655  }
  9656  
  9657  // GoString returns the string representation.
  9658  //
  9659  // API parameter values that are decorated as "sensitive" in the API will not
  9660  // be included in the string output. The member name will be present, but the
  9661  // value will be replaced with "sensitive".
  9662  func (s DeleteHealthCheckOutput) GoString() string {
  9663  	return s.String()
  9664  }
  9665  
  9666  // A request to delete a hosted zone.
  9667  type DeleteHostedZoneInput struct {
  9668  	_ struct{} `locationName:"DeleteHostedZoneRequest" type:"structure"`
  9669  
  9670  	// The ID of the hosted zone you want to delete.
  9671  	//
  9672  	// Id is a required field
  9673  	Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
  9674  }
  9675  
  9676  // String returns the string representation.
  9677  //
  9678  // API parameter values that are decorated as "sensitive" in the API will not
  9679  // be included in the string output. The member name will be present, but the
  9680  // value will be replaced with "sensitive".
  9681  func (s DeleteHostedZoneInput) String() string {
  9682  	return awsutil.Prettify(s)
  9683  }
  9684  
  9685  // GoString returns the string representation.
  9686  //
  9687  // API parameter values that are decorated as "sensitive" in the API will not
  9688  // be included in the string output. The member name will be present, but the
  9689  // value will be replaced with "sensitive".
  9690  func (s DeleteHostedZoneInput) GoString() string {
  9691  	return s.String()
  9692  }
  9693  
  9694  // Validate inspects the fields of the type to determine if they are valid.
  9695  func (s *DeleteHostedZoneInput) Validate() error {
  9696  	invalidParams := request.ErrInvalidParams{Context: "DeleteHostedZoneInput"}
  9697  	if s.Id == nil {
  9698  		invalidParams.Add(request.NewErrParamRequired("Id"))
  9699  	}
  9700  	if s.Id != nil && len(*s.Id) < 1 {
  9701  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
  9702  	}
  9703  
  9704  	if invalidParams.Len() > 0 {
  9705  		return invalidParams
  9706  	}
  9707  	return nil
  9708  }
  9709  
  9710  // SetId sets the Id field's value.
  9711  func (s *DeleteHostedZoneInput) SetId(v string) *DeleteHostedZoneInput {
  9712  	s.Id = &v
  9713  	return s
  9714  }
  9715  
  9716  // A complex type that contains the response to a DeleteHostedZone request.
  9717  type DeleteHostedZoneOutput struct {
  9718  	_ struct{} `type:"structure"`
  9719  
  9720  	// A complex type that contains the ID, the status, and the date and time of
  9721  	// a request to delete a hosted zone.
  9722  	//
  9723  	// ChangeInfo is a required field
  9724  	ChangeInfo *ChangeInfo `type:"structure" required:"true"`
  9725  }
  9726  
  9727  // String returns the string representation.
  9728  //
  9729  // API parameter values that are decorated as "sensitive" in the API will not
  9730  // be included in the string output. The member name will be present, but the
  9731  // value will be replaced with "sensitive".
  9732  func (s DeleteHostedZoneOutput) String() string {
  9733  	return awsutil.Prettify(s)
  9734  }
  9735  
  9736  // GoString returns the string representation.
  9737  //
  9738  // API parameter values that are decorated as "sensitive" in the API will not
  9739  // be included in the string output. The member name will be present, but the
  9740  // value will be replaced with "sensitive".
  9741  func (s DeleteHostedZoneOutput) GoString() string {
  9742  	return s.String()
  9743  }
  9744  
  9745  // SetChangeInfo sets the ChangeInfo field's value.
  9746  func (s *DeleteHostedZoneOutput) SetChangeInfo(v *ChangeInfo) *DeleteHostedZoneOutput {
  9747  	s.ChangeInfo = v
  9748  	return s
  9749  }
  9750  
  9751  type DeleteKeySigningKeyInput struct {
  9752  	_ struct{} `locationName:"DeleteKeySigningKeyRequest" type:"structure"`
  9753  
  9754  	// A unique string used to identify a hosted zone.
  9755  	//
  9756  	// HostedZoneId is a required field
  9757  	HostedZoneId *string `location:"uri" locationName:"HostedZoneId" type:"string" required:"true"`
  9758  
  9759  	// A string used to identify a key-signing key (KSK).
  9760  	//
  9761  	// Name is a required field
  9762  	Name *string `location:"uri" locationName:"Name" min:"3" type:"string" required:"true"`
  9763  }
  9764  
  9765  // String returns the string representation.
  9766  //
  9767  // API parameter values that are decorated as "sensitive" in the API will not
  9768  // be included in the string output. The member name will be present, but the
  9769  // value will be replaced with "sensitive".
  9770  func (s DeleteKeySigningKeyInput) String() string {
  9771  	return awsutil.Prettify(s)
  9772  }
  9773  
  9774  // GoString returns the string representation.
  9775  //
  9776  // API parameter values that are decorated as "sensitive" in the API will not
  9777  // be included in the string output. The member name will be present, but the
  9778  // value will be replaced with "sensitive".
  9779  func (s DeleteKeySigningKeyInput) GoString() string {
  9780  	return s.String()
  9781  }
  9782  
  9783  // Validate inspects the fields of the type to determine if they are valid.
  9784  func (s *DeleteKeySigningKeyInput) Validate() error {
  9785  	invalidParams := request.ErrInvalidParams{Context: "DeleteKeySigningKeyInput"}
  9786  	if s.HostedZoneId == nil {
  9787  		invalidParams.Add(request.NewErrParamRequired("HostedZoneId"))
  9788  	}
  9789  	if s.HostedZoneId != nil && len(*s.HostedZoneId) < 1 {
  9790  		invalidParams.Add(request.NewErrParamMinLen("HostedZoneId", 1))
  9791  	}
  9792  	if s.Name == nil {
  9793  		invalidParams.Add(request.NewErrParamRequired("Name"))
  9794  	}
  9795  	if s.Name != nil && len(*s.Name) < 3 {
  9796  		invalidParams.Add(request.NewErrParamMinLen("Name", 3))
  9797  	}
  9798  
  9799  	if invalidParams.Len() > 0 {
  9800  		return invalidParams
  9801  	}
  9802  	return nil
  9803  }
  9804  
  9805  // SetHostedZoneId sets the HostedZoneId field's value.
  9806  func (s *DeleteKeySigningKeyInput) SetHostedZoneId(v string) *DeleteKeySigningKeyInput {
  9807  	s.HostedZoneId = &v
  9808  	return s
  9809  }
  9810  
  9811  // SetName sets the Name field's value.
  9812  func (s *DeleteKeySigningKeyInput) SetName(v string) *DeleteKeySigningKeyInput {
  9813  	s.Name = &v
  9814  	return s
  9815  }
  9816  
  9817  type DeleteKeySigningKeyOutput struct {
  9818  	_ struct{} `type:"structure"`
  9819  
  9820  	// A complex type that describes change information about changes made to your
  9821  	// hosted zone.
  9822  	//
  9823  	// ChangeInfo is a required field
  9824  	ChangeInfo *ChangeInfo `type:"structure" required:"true"`
  9825  }
  9826  
  9827  // String returns the string representation.
  9828  //
  9829  // API parameter values that are decorated as "sensitive" in the API will not
  9830  // be included in the string output. The member name will be present, but the
  9831  // value will be replaced with "sensitive".
  9832  func (s DeleteKeySigningKeyOutput) String() string {
  9833  	return awsutil.Prettify(s)
  9834  }
  9835  
  9836  // GoString returns the string representation.
  9837  //
  9838  // API parameter values that are decorated as "sensitive" in the API will not
  9839  // be included in the string output. The member name will be present, but the
  9840  // value will be replaced with "sensitive".
  9841  func (s DeleteKeySigningKeyOutput) GoString() string {
  9842  	return s.String()
  9843  }
  9844  
  9845  // SetChangeInfo sets the ChangeInfo field's value.
  9846  func (s *DeleteKeySigningKeyOutput) SetChangeInfo(v *ChangeInfo) *DeleteKeySigningKeyOutput {
  9847  	s.ChangeInfo = v
  9848  	return s
  9849  }
  9850  
  9851  type DeleteQueryLoggingConfigInput struct {
  9852  	_ struct{} `locationName:"DeleteQueryLoggingConfigRequest" type:"structure"`
  9853  
  9854  	// The ID of the configuration that you want to delete.
  9855  	//
  9856  	// Id is a required field
  9857  	Id *string `location:"uri" locationName:"Id" min:"1" type:"string" required:"true"`
  9858  }
  9859  
  9860  // String returns the string representation.
  9861  //
  9862  // API parameter values that are decorated as "sensitive" in the API will not
  9863  // be included in the string output. The member name will be present, but the
  9864  // value will be replaced with "sensitive".
  9865  func (s DeleteQueryLoggingConfigInput) String() string {
  9866  	return awsutil.Prettify(s)
  9867  }
  9868  
  9869  // GoString returns the string representation.
  9870  //
  9871  // API parameter values that are decorated as "sensitive" in the API will not
  9872  // be included in the string output. The member name will be present, but the
  9873  // value will be replaced with "sensitive".
  9874  func (s DeleteQueryLoggingConfigInput) GoString() string {
  9875  	return s.String()
  9876  }
  9877  
  9878  // Validate inspects the fields of the type to determine if they are valid.
  9879  func (s *DeleteQueryLoggingConfigInput) Validate() error {
  9880  	invalidParams := request.ErrInvalidParams{Context: "DeleteQueryLoggingConfigInput"}
  9881  	if s.Id == nil {
  9882  		invalidParams.Add(request.NewErrParamRequired("Id"))
  9883  	}
  9884  	if s.Id != nil && len(*s.Id) < 1 {
  9885  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
  9886  	}
  9887  
  9888  	if invalidParams.Len() > 0 {
  9889  		return invalidParams
  9890  	}
  9891  	return nil
  9892  }
  9893  
  9894  // SetId sets the Id field's value.
  9895  func (s *DeleteQueryLoggingConfigInput) SetId(v string) *DeleteQueryLoggingConfigInput {
  9896  	s.Id = &v
  9897  	return s
  9898  }
  9899  
  9900  type DeleteQueryLoggingConfigOutput struct {
  9901  	_ struct{} `type:"structure"`
  9902  }
  9903  
  9904  // String returns the string representation.
  9905  //
  9906  // API parameter values that are decorated as "sensitive" in the API will not
  9907  // be included in the string output. The member name will be present, but the
  9908  // value will be replaced with "sensitive".
  9909  func (s DeleteQueryLoggingConfigOutput) String() string {
  9910  	return awsutil.Prettify(s)
  9911  }
  9912  
  9913  // GoString returns the string representation.
  9914  //
  9915  // API parameter values that are decorated as "sensitive" in the API will not
  9916  // be included in the string output. The member name will be present, but the
  9917  // value will be replaced with "sensitive".
  9918  func (s DeleteQueryLoggingConfigOutput) GoString() string {
  9919  	return s.String()
  9920  }
  9921  
  9922  // A request to delete a reusable delegation set.
  9923  type DeleteReusableDelegationSetInput struct {
  9924  	_ struct{} `locationName:"DeleteReusableDelegationSetRequest" type:"structure"`
  9925  
  9926  	// The ID of the reusable delegation set that you want to delete.
  9927  	//
  9928  	// Id is a required field
  9929  	Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
  9930  }
  9931  
  9932  // String returns the string representation.
  9933  //
  9934  // API parameter values that are decorated as "sensitive" in the API will not
  9935  // be included in the string output. The member name will be present, but the
  9936  // value will be replaced with "sensitive".
  9937  func (s DeleteReusableDelegationSetInput) String() string {
  9938  	return awsutil.Prettify(s)
  9939  }
  9940  
  9941  // GoString returns the string representation.
  9942  //
  9943  // API parameter values that are decorated as "sensitive" in the API will not
  9944  // be included in the string output. The member name will be present, but the
  9945  // value will be replaced with "sensitive".
  9946  func (s DeleteReusableDelegationSetInput) GoString() string {
  9947  	return s.String()
  9948  }
  9949  
  9950  // Validate inspects the fields of the type to determine if they are valid.
  9951  func (s *DeleteReusableDelegationSetInput) Validate() error {
  9952  	invalidParams := request.ErrInvalidParams{Context: "DeleteReusableDelegationSetInput"}
  9953  	if s.Id == nil {
  9954  		invalidParams.Add(request.NewErrParamRequired("Id"))
  9955  	}
  9956  	if s.Id != nil && len(*s.Id) < 1 {
  9957  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
  9958  	}
  9959  
  9960  	if invalidParams.Len() > 0 {
  9961  		return invalidParams
  9962  	}
  9963  	return nil
  9964  }
  9965  
  9966  // SetId sets the Id field's value.
  9967  func (s *DeleteReusableDelegationSetInput) SetId(v string) *DeleteReusableDelegationSetInput {
  9968  	s.Id = &v
  9969  	return s
  9970  }
  9971  
  9972  // An empty element.
  9973  type DeleteReusableDelegationSetOutput struct {
  9974  	_ struct{} `type:"structure"`
  9975  }
  9976  
  9977  // String returns the string representation.
  9978  //
  9979  // API parameter values that are decorated as "sensitive" in the API will not
  9980  // be included in the string output. The member name will be present, but the
  9981  // value will be replaced with "sensitive".
  9982  func (s DeleteReusableDelegationSetOutput) String() string {
  9983  	return awsutil.Prettify(s)
  9984  }
  9985  
  9986  // GoString returns the string representation.
  9987  //
  9988  // API parameter values that are decorated as "sensitive" in the API will not
  9989  // be included in the string output. The member name will be present, but the
  9990  // value will be replaced with "sensitive".
  9991  func (s DeleteReusableDelegationSetOutput) GoString() string {
  9992  	return s.String()
  9993  }
  9994  
  9995  // A request to delete a specified traffic policy version.
  9996  type DeleteTrafficPolicyInput struct {
  9997  	_ struct{} `locationName:"DeleteTrafficPolicyRequest" type:"structure"`
  9998  
  9999  	// The ID of the traffic policy that you want to delete.
 10000  	//
 10001  	// Id is a required field
 10002  	Id *string `location:"uri" locationName:"Id" min:"1" type:"string" required:"true"`
 10003  
 10004  	// The version number of the traffic policy that you want to delete.
 10005  	//
 10006  	// Version is a required field
 10007  	Version *int64 `location:"uri" locationName:"Version" min:"1" type:"integer" required:"true"`
 10008  }
 10009  
 10010  // String returns the string representation.
 10011  //
 10012  // API parameter values that are decorated as "sensitive" in the API will not
 10013  // be included in the string output. The member name will be present, but the
 10014  // value will be replaced with "sensitive".
 10015  func (s DeleteTrafficPolicyInput) String() string {
 10016  	return awsutil.Prettify(s)
 10017  }
 10018  
 10019  // GoString returns the string representation.
 10020  //
 10021  // API parameter values that are decorated as "sensitive" in the API will not
 10022  // be included in the string output. The member name will be present, but the
 10023  // value will be replaced with "sensitive".
 10024  func (s DeleteTrafficPolicyInput) GoString() string {
 10025  	return s.String()
 10026  }
 10027  
 10028  // Validate inspects the fields of the type to determine if they are valid.
 10029  func (s *DeleteTrafficPolicyInput) Validate() error {
 10030  	invalidParams := request.ErrInvalidParams{Context: "DeleteTrafficPolicyInput"}
 10031  	if s.Id == nil {
 10032  		invalidParams.Add(request.NewErrParamRequired("Id"))
 10033  	}
 10034  	if s.Id != nil && len(*s.Id) < 1 {
 10035  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
 10036  	}
 10037  	if s.Version == nil {
 10038  		invalidParams.Add(request.NewErrParamRequired("Version"))
 10039  	}
 10040  	if s.Version != nil && *s.Version < 1 {
 10041  		invalidParams.Add(request.NewErrParamMinValue("Version", 1))
 10042  	}
 10043  
 10044  	if invalidParams.Len() > 0 {
 10045  		return invalidParams
 10046  	}
 10047  	return nil
 10048  }
 10049  
 10050  // SetId sets the Id field's value.
 10051  func (s *DeleteTrafficPolicyInput) SetId(v string) *DeleteTrafficPolicyInput {
 10052  	s.Id = &v
 10053  	return s
 10054  }
 10055  
 10056  // SetVersion sets the Version field's value.
 10057  func (s *DeleteTrafficPolicyInput) SetVersion(v int64) *DeleteTrafficPolicyInput {
 10058  	s.Version = &v
 10059  	return s
 10060  }
 10061  
 10062  // A request to delete a specified traffic policy instance.
 10063  type DeleteTrafficPolicyInstanceInput struct {
 10064  	_ struct{} `locationName:"DeleteTrafficPolicyInstanceRequest" type:"structure"`
 10065  
 10066  	// The ID of the traffic policy instance that you want to delete.
 10067  	//
 10068  	// When you delete a traffic policy instance, Amazon Route 53 also deletes all
 10069  	// of the resource record sets that were created when you created the traffic
 10070  	// policy instance.
 10071  	//
 10072  	// Id is a required field
 10073  	Id *string `location:"uri" locationName:"Id" min:"1" type:"string" required:"true"`
 10074  }
 10075  
 10076  // String returns the string representation.
 10077  //
 10078  // API parameter values that are decorated as "sensitive" in the API will not
 10079  // be included in the string output. The member name will be present, but the
 10080  // value will be replaced with "sensitive".
 10081  func (s DeleteTrafficPolicyInstanceInput) String() string {
 10082  	return awsutil.Prettify(s)
 10083  }
 10084  
 10085  // GoString returns the string representation.
 10086  //
 10087  // API parameter values that are decorated as "sensitive" in the API will not
 10088  // be included in the string output. The member name will be present, but the
 10089  // value will be replaced with "sensitive".
 10090  func (s DeleteTrafficPolicyInstanceInput) GoString() string {
 10091  	return s.String()
 10092  }
 10093  
 10094  // Validate inspects the fields of the type to determine if they are valid.
 10095  func (s *DeleteTrafficPolicyInstanceInput) Validate() error {
 10096  	invalidParams := request.ErrInvalidParams{Context: "DeleteTrafficPolicyInstanceInput"}
 10097  	if s.Id == nil {
 10098  		invalidParams.Add(request.NewErrParamRequired("Id"))
 10099  	}
 10100  	if s.Id != nil && len(*s.Id) < 1 {
 10101  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
 10102  	}
 10103  
 10104  	if invalidParams.Len() > 0 {
 10105  		return invalidParams
 10106  	}
 10107  	return nil
 10108  }
 10109  
 10110  // SetId sets the Id field's value.
 10111  func (s *DeleteTrafficPolicyInstanceInput) SetId(v string) *DeleteTrafficPolicyInstanceInput {
 10112  	s.Id = &v
 10113  	return s
 10114  }
 10115  
 10116  // An empty element.
 10117  type DeleteTrafficPolicyInstanceOutput struct {
 10118  	_ struct{} `type:"structure"`
 10119  }
 10120  
 10121  // String returns the string representation.
 10122  //
 10123  // API parameter values that are decorated as "sensitive" in the API will not
 10124  // be included in the string output. The member name will be present, but the
 10125  // value will be replaced with "sensitive".
 10126  func (s DeleteTrafficPolicyInstanceOutput) String() string {
 10127  	return awsutil.Prettify(s)
 10128  }
 10129  
 10130  // GoString returns the string representation.
 10131  //
 10132  // API parameter values that are decorated as "sensitive" in the API will not
 10133  // be included in the string output. The member name will be present, but the
 10134  // value will be replaced with "sensitive".
 10135  func (s DeleteTrafficPolicyInstanceOutput) GoString() string {
 10136  	return s.String()
 10137  }
 10138  
 10139  // An empty element.
 10140  type DeleteTrafficPolicyOutput struct {
 10141  	_ struct{} `type:"structure"`
 10142  }
 10143  
 10144  // String returns the string representation.
 10145  //
 10146  // API parameter values that are decorated as "sensitive" in the API will not
 10147  // be included in the string output. The member name will be present, but the
 10148  // value will be replaced with "sensitive".
 10149  func (s DeleteTrafficPolicyOutput) String() string {
 10150  	return awsutil.Prettify(s)
 10151  }
 10152  
 10153  // GoString returns the string representation.
 10154  //
 10155  // API parameter values that are decorated as "sensitive" in the API will not
 10156  // be included in the string output. The member name will be present, but the
 10157  // value will be replaced with "sensitive".
 10158  func (s DeleteTrafficPolicyOutput) GoString() string {
 10159  	return s.String()
 10160  }
 10161  
 10162  // A complex type that contains information about the request to remove authorization
 10163  // to associate a VPC that was created by one Amazon Web Services account with
 10164  // a hosted zone that was created with a different Amazon Web Services account.
 10165  type DeleteVPCAssociationAuthorizationInput struct {
 10166  	_ struct{} `locationName:"DeleteVPCAssociationAuthorizationRequest" type:"structure" xmlURI:"https://route53.amazonaws.com/doc/2013-04-01/"`
 10167  
 10168  	// When removing authorization to associate a VPC that was created by one Amazon
 10169  	// Web Services account with a hosted zone that was created with a different
 10170  	// Amazon Web Services account, the ID of the hosted zone.
 10171  	//
 10172  	// HostedZoneId is a required field
 10173  	HostedZoneId *string `location:"uri" locationName:"Id" type:"string" required:"true"`
 10174  
 10175  	// When removing authorization to associate a VPC that was created by one Amazon
 10176  	// Web Services account with a hosted zone that was created with a different
 10177  	// Amazon Web Services account, a complex type that includes the ID and region
 10178  	// of the VPC.
 10179  	//
 10180  	// VPC is a required field
 10181  	VPC *VPC `type:"structure" required:"true"`
 10182  }
 10183  
 10184  // String returns the string representation.
 10185  //
 10186  // API parameter values that are decorated as "sensitive" in the API will not
 10187  // be included in the string output. The member name will be present, but the
 10188  // value will be replaced with "sensitive".
 10189  func (s DeleteVPCAssociationAuthorizationInput) String() string {
 10190  	return awsutil.Prettify(s)
 10191  }
 10192  
 10193  // GoString returns the string representation.
 10194  //
 10195  // API parameter values that are decorated as "sensitive" in the API will not
 10196  // be included in the string output. The member name will be present, but the
 10197  // value will be replaced with "sensitive".
 10198  func (s DeleteVPCAssociationAuthorizationInput) GoString() string {
 10199  	return s.String()
 10200  }
 10201  
 10202  // Validate inspects the fields of the type to determine if they are valid.
 10203  func (s *DeleteVPCAssociationAuthorizationInput) Validate() error {
 10204  	invalidParams := request.ErrInvalidParams{Context: "DeleteVPCAssociationAuthorizationInput"}
 10205  	if s.HostedZoneId == nil {
 10206  		invalidParams.Add(request.NewErrParamRequired("HostedZoneId"))
 10207  	}
 10208  	if s.HostedZoneId != nil && len(*s.HostedZoneId) < 1 {
 10209  		invalidParams.Add(request.NewErrParamMinLen("HostedZoneId", 1))
 10210  	}
 10211  	if s.VPC == nil {
 10212  		invalidParams.Add(request.NewErrParamRequired("VPC"))
 10213  	}
 10214  	if s.VPC != nil {
 10215  		if err := s.VPC.Validate(); err != nil {
 10216  			invalidParams.AddNested("VPC", err.(request.ErrInvalidParams))
 10217  		}
 10218  	}
 10219  
 10220  	if invalidParams.Len() > 0 {
 10221  		return invalidParams
 10222  	}
 10223  	return nil
 10224  }
 10225  
 10226  // SetHostedZoneId sets the HostedZoneId field's value.
 10227  func (s *DeleteVPCAssociationAuthorizationInput) SetHostedZoneId(v string) *DeleteVPCAssociationAuthorizationInput {
 10228  	s.HostedZoneId = &v
 10229  	return s
 10230  }
 10231  
 10232  // SetVPC sets the VPC field's value.
 10233  func (s *DeleteVPCAssociationAuthorizationInput) SetVPC(v *VPC) *DeleteVPCAssociationAuthorizationInput {
 10234  	s.VPC = v
 10235  	return s
 10236  }
 10237  
 10238  // Empty response for the request.
 10239  type DeleteVPCAssociationAuthorizationOutput struct {
 10240  	_ struct{} `type:"structure"`
 10241  }
 10242  
 10243  // String returns the string representation.
 10244  //
 10245  // API parameter values that are decorated as "sensitive" in the API will not
 10246  // be included in the string output. The member name will be present, but the
 10247  // value will be replaced with "sensitive".
 10248  func (s DeleteVPCAssociationAuthorizationOutput) String() string {
 10249  	return awsutil.Prettify(s)
 10250  }
 10251  
 10252  // GoString returns the string representation.
 10253  //
 10254  // API parameter values that are decorated as "sensitive" in the API will not
 10255  // be included in the string output. The member name will be present, but the
 10256  // value will be replaced with "sensitive".
 10257  func (s DeleteVPCAssociationAuthorizationOutput) GoString() string {
 10258  	return s.String()
 10259  }
 10260  
 10261  // For the metric that the CloudWatch alarm is associated with, a complex type
 10262  // that contains information about one dimension.
 10263  type Dimension struct {
 10264  	_ struct{} `type:"structure"`
 10265  
 10266  	// For the metric that the CloudWatch alarm is associated with, the name of
 10267  	// one dimension.
 10268  	//
 10269  	// Name is a required field
 10270  	Name *string `min:"1" type:"string" required:"true"`
 10271  
 10272  	// For the metric that the CloudWatch alarm is associated with, the value of
 10273  	// one dimension.
 10274  	//
 10275  	// Value is a required field
 10276  	Value *string `min:"1" type:"string" required:"true"`
 10277  }
 10278  
 10279  // String returns the string representation.
 10280  //
 10281  // API parameter values that are decorated as "sensitive" in the API will not
 10282  // be included in the string output. The member name will be present, but the
 10283  // value will be replaced with "sensitive".
 10284  func (s Dimension) String() string {
 10285  	return awsutil.Prettify(s)
 10286  }
 10287  
 10288  // GoString returns the string representation.
 10289  //
 10290  // API parameter values that are decorated as "sensitive" in the API will not
 10291  // be included in the string output. The member name will be present, but the
 10292  // value will be replaced with "sensitive".
 10293  func (s Dimension) GoString() string {
 10294  	return s.String()
 10295  }
 10296  
 10297  // SetName sets the Name field's value.
 10298  func (s *Dimension) SetName(v string) *Dimension {
 10299  	s.Name = &v
 10300  	return s
 10301  }
 10302  
 10303  // SetValue sets the Value field's value.
 10304  func (s *Dimension) SetValue(v string) *Dimension {
 10305  	s.Value = &v
 10306  	return s
 10307  }
 10308  
 10309  type DisableHostedZoneDNSSECInput struct {
 10310  	_ struct{} `locationName:"DisableHostedZoneDNSSECRequest" type:"structure"`
 10311  
 10312  	// A unique string used to identify a hosted zone.
 10313  	//
 10314  	// HostedZoneId is a required field
 10315  	HostedZoneId *string `location:"uri" locationName:"Id" type:"string" required:"true"`
 10316  }
 10317  
 10318  // String returns the string representation.
 10319  //
 10320  // API parameter values that are decorated as "sensitive" in the API will not
 10321  // be included in the string output. The member name will be present, but the
 10322  // value will be replaced with "sensitive".
 10323  func (s DisableHostedZoneDNSSECInput) String() string {
 10324  	return awsutil.Prettify(s)
 10325  }
 10326  
 10327  // GoString returns the string representation.
 10328  //
 10329  // API parameter values that are decorated as "sensitive" in the API will not
 10330  // be included in the string output. The member name will be present, but the
 10331  // value will be replaced with "sensitive".
 10332  func (s DisableHostedZoneDNSSECInput) GoString() string {
 10333  	return s.String()
 10334  }
 10335  
 10336  // Validate inspects the fields of the type to determine if they are valid.
 10337  func (s *DisableHostedZoneDNSSECInput) Validate() error {
 10338  	invalidParams := request.ErrInvalidParams{Context: "DisableHostedZoneDNSSECInput"}
 10339  	if s.HostedZoneId == nil {
 10340  		invalidParams.Add(request.NewErrParamRequired("HostedZoneId"))
 10341  	}
 10342  	if s.HostedZoneId != nil && len(*s.HostedZoneId) < 1 {
 10343  		invalidParams.Add(request.NewErrParamMinLen("HostedZoneId", 1))
 10344  	}
 10345  
 10346  	if invalidParams.Len() > 0 {
 10347  		return invalidParams
 10348  	}
 10349  	return nil
 10350  }
 10351  
 10352  // SetHostedZoneId sets the HostedZoneId field's value.
 10353  func (s *DisableHostedZoneDNSSECInput) SetHostedZoneId(v string) *DisableHostedZoneDNSSECInput {
 10354  	s.HostedZoneId = &v
 10355  	return s
 10356  }
 10357  
 10358  type DisableHostedZoneDNSSECOutput struct {
 10359  	_ struct{} `type:"structure"`
 10360  
 10361  	// A complex type that describes change information about changes made to your
 10362  	// hosted zone.
 10363  	//
 10364  	// ChangeInfo is a required field
 10365  	ChangeInfo *ChangeInfo `type:"structure" required:"true"`
 10366  }
 10367  
 10368  // String returns the string representation.
 10369  //
 10370  // API parameter values that are decorated as "sensitive" in the API will not
 10371  // be included in the string output. The member name will be present, but the
 10372  // value will be replaced with "sensitive".
 10373  func (s DisableHostedZoneDNSSECOutput) String() string {
 10374  	return awsutil.Prettify(s)
 10375  }
 10376  
 10377  // GoString returns the string representation.
 10378  //
 10379  // API parameter values that are decorated as "sensitive" in the API will not
 10380  // be included in the string output. The member name will be present, but the
 10381  // value will be replaced with "sensitive".
 10382  func (s DisableHostedZoneDNSSECOutput) GoString() string {
 10383  	return s.String()
 10384  }
 10385  
 10386  // SetChangeInfo sets the ChangeInfo field's value.
 10387  func (s *DisableHostedZoneDNSSECOutput) SetChangeInfo(v *ChangeInfo) *DisableHostedZoneDNSSECOutput {
 10388  	s.ChangeInfo = v
 10389  	return s
 10390  }
 10391  
 10392  // A complex type that contains information about the VPC that you want to disassociate
 10393  // from a specified private hosted zone.
 10394  type DisassociateVPCFromHostedZoneInput struct {
 10395  	_ struct{} `locationName:"DisassociateVPCFromHostedZoneRequest" type:"structure" xmlURI:"https://route53.amazonaws.com/doc/2013-04-01/"`
 10396  
 10397  	// Optional: A comment about the disassociation request.
 10398  	Comment *string `type:"string"`
 10399  
 10400  	// The ID of the private hosted zone that you want to disassociate a VPC from.
 10401  	//
 10402  	// HostedZoneId is a required field
 10403  	HostedZoneId *string `location:"uri" locationName:"Id" type:"string" required:"true"`
 10404  
 10405  	// A complex type that contains information about the VPC that you're disassociating
 10406  	// from the specified hosted zone.
 10407  	//
 10408  	// VPC is a required field
 10409  	VPC *VPC `type:"structure" required:"true"`
 10410  }
 10411  
 10412  // String returns the string representation.
 10413  //
 10414  // API parameter values that are decorated as "sensitive" in the API will not
 10415  // be included in the string output. The member name will be present, but the
 10416  // value will be replaced with "sensitive".
 10417  func (s DisassociateVPCFromHostedZoneInput) String() string {
 10418  	return awsutil.Prettify(s)
 10419  }
 10420  
 10421  // GoString returns the string representation.
 10422  //
 10423  // API parameter values that are decorated as "sensitive" in the API will not
 10424  // be included in the string output. The member name will be present, but the
 10425  // value will be replaced with "sensitive".
 10426  func (s DisassociateVPCFromHostedZoneInput) GoString() string {
 10427  	return s.String()
 10428  }
 10429  
 10430  // Validate inspects the fields of the type to determine if they are valid.
 10431  func (s *DisassociateVPCFromHostedZoneInput) Validate() error {
 10432  	invalidParams := request.ErrInvalidParams{Context: "DisassociateVPCFromHostedZoneInput"}
 10433  	if s.HostedZoneId == nil {
 10434  		invalidParams.Add(request.NewErrParamRequired("HostedZoneId"))
 10435  	}
 10436  	if s.HostedZoneId != nil && len(*s.HostedZoneId) < 1 {
 10437  		invalidParams.Add(request.NewErrParamMinLen("HostedZoneId", 1))
 10438  	}
 10439  	if s.VPC == nil {
 10440  		invalidParams.Add(request.NewErrParamRequired("VPC"))
 10441  	}
 10442  	if s.VPC != nil {
 10443  		if err := s.VPC.Validate(); err != nil {
 10444  			invalidParams.AddNested("VPC", err.(request.ErrInvalidParams))
 10445  		}
 10446  	}
 10447  
 10448  	if invalidParams.Len() > 0 {
 10449  		return invalidParams
 10450  	}
 10451  	return nil
 10452  }
 10453  
 10454  // SetComment sets the Comment field's value.
 10455  func (s *DisassociateVPCFromHostedZoneInput) SetComment(v string) *DisassociateVPCFromHostedZoneInput {
 10456  	s.Comment = &v
 10457  	return s
 10458  }
 10459  
 10460  // SetHostedZoneId sets the HostedZoneId field's value.
 10461  func (s *DisassociateVPCFromHostedZoneInput) SetHostedZoneId(v string) *DisassociateVPCFromHostedZoneInput {
 10462  	s.HostedZoneId = &v
 10463  	return s
 10464  }
 10465  
 10466  // SetVPC sets the VPC field's value.
 10467  func (s *DisassociateVPCFromHostedZoneInput) SetVPC(v *VPC) *DisassociateVPCFromHostedZoneInput {
 10468  	s.VPC = v
 10469  	return s
 10470  }
 10471  
 10472  // A complex type that contains the response information for the disassociate
 10473  // request.
 10474  type DisassociateVPCFromHostedZoneOutput struct {
 10475  	_ struct{} `type:"structure"`
 10476  
 10477  	// A complex type that describes the changes made to the specified private hosted
 10478  	// zone.
 10479  	//
 10480  	// ChangeInfo is a required field
 10481  	ChangeInfo *ChangeInfo `type:"structure" required:"true"`
 10482  }
 10483  
 10484  // String returns the string representation.
 10485  //
 10486  // API parameter values that are decorated as "sensitive" in the API will not
 10487  // be included in the string output. The member name will be present, but the
 10488  // value will be replaced with "sensitive".
 10489  func (s DisassociateVPCFromHostedZoneOutput) String() string {
 10490  	return awsutil.Prettify(s)
 10491  }
 10492  
 10493  // GoString returns the string representation.
 10494  //
 10495  // API parameter values that are decorated as "sensitive" in the API will not
 10496  // be included in the string output. The member name will be present, but the
 10497  // value will be replaced with "sensitive".
 10498  func (s DisassociateVPCFromHostedZoneOutput) GoString() string {
 10499  	return s.String()
 10500  }
 10501  
 10502  // SetChangeInfo sets the ChangeInfo field's value.
 10503  func (s *DisassociateVPCFromHostedZoneOutput) SetChangeInfo(v *ChangeInfo) *DisassociateVPCFromHostedZoneOutput {
 10504  	s.ChangeInfo = v
 10505  	return s
 10506  }
 10507  
 10508  type EnableHostedZoneDNSSECInput struct {
 10509  	_ struct{} `locationName:"EnableHostedZoneDNSSECRequest" type:"structure"`
 10510  
 10511  	// A unique string used to identify a hosted zone.
 10512  	//
 10513  	// HostedZoneId is a required field
 10514  	HostedZoneId *string `location:"uri" locationName:"Id" type:"string" required:"true"`
 10515  }
 10516  
 10517  // String returns the string representation.
 10518  //
 10519  // API parameter values that are decorated as "sensitive" in the API will not
 10520  // be included in the string output. The member name will be present, but the
 10521  // value will be replaced with "sensitive".
 10522  func (s EnableHostedZoneDNSSECInput) String() string {
 10523  	return awsutil.Prettify(s)
 10524  }
 10525  
 10526  // GoString returns the string representation.
 10527  //
 10528  // API parameter values that are decorated as "sensitive" in the API will not
 10529  // be included in the string output. The member name will be present, but the
 10530  // value will be replaced with "sensitive".
 10531  func (s EnableHostedZoneDNSSECInput) GoString() string {
 10532  	return s.String()
 10533  }
 10534  
 10535  // Validate inspects the fields of the type to determine if they are valid.
 10536  func (s *EnableHostedZoneDNSSECInput) Validate() error {
 10537  	invalidParams := request.ErrInvalidParams{Context: "EnableHostedZoneDNSSECInput"}
 10538  	if s.HostedZoneId == nil {
 10539  		invalidParams.Add(request.NewErrParamRequired("HostedZoneId"))
 10540  	}
 10541  	if s.HostedZoneId != nil && len(*s.HostedZoneId) < 1 {
 10542  		invalidParams.Add(request.NewErrParamMinLen("HostedZoneId", 1))
 10543  	}
 10544  
 10545  	if invalidParams.Len() > 0 {
 10546  		return invalidParams
 10547  	}
 10548  	return nil
 10549  }
 10550  
 10551  // SetHostedZoneId sets the HostedZoneId field's value.
 10552  func (s *EnableHostedZoneDNSSECInput) SetHostedZoneId(v string) *EnableHostedZoneDNSSECInput {
 10553  	s.HostedZoneId = &v
 10554  	return s
 10555  }
 10556  
 10557  type EnableHostedZoneDNSSECOutput struct {
 10558  	_ struct{} `type:"structure"`
 10559  
 10560  	// A complex type that describes change information about changes made to your
 10561  	// hosted zone.
 10562  	//
 10563  	// ChangeInfo is a required field
 10564  	ChangeInfo *ChangeInfo `type:"structure" required:"true"`
 10565  }
 10566  
 10567  // String returns the string representation.
 10568  //
 10569  // API parameter values that are decorated as "sensitive" in the API will not
 10570  // be included in the string output. The member name will be present, but the
 10571  // value will be replaced with "sensitive".
 10572  func (s EnableHostedZoneDNSSECOutput) String() string {
 10573  	return awsutil.Prettify(s)
 10574  }
 10575  
 10576  // GoString returns the string representation.
 10577  //
 10578  // API parameter values that are decorated as "sensitive" in the API will not
 10579  // be included in the string output. The member name will be present, but the
 10580  // value will be replaced with "sensitive".
 10581  func (s EnableHostedZoneDNSSECOutput) GoString() string {
 10582  	return s.String()
 10583  }
 10584  
 10585  // SetChangeInfo sets the ChangeInfo field's value.
 10586  func (s *EnableHostedZoneDNSSECOutput) SetChangeInfo(v *ChangeInfo) *EnableHostedZoneDNSSECOutput {
 10587  	s.ChangeInfo = v
 10588  	return s
 10589  }
 10590  
 10591  // A complex type that contains information about a geographic location.
 10592  type GeoLocation struct {
 10593  	_ struct{} `type:"structure"`
 10594  
 10595  	// The two-letter code for the continent.
 10596  	//
 10597  	// Amazon Route 53 supports the following continent codes:
 10598  	//
 10599  	//    * AF: Africa
 10600  	//
 10601  	//    * AN: Antarctica
 10602  	//
 10603  	//    * AS: Asia
 10604  	//
 10605  	//    * EU: Europe
 10606  	//
 10607  	//    * OC: Oceania
 10608  	//
 10609  	//    * NA: North America
 10610  	//
 10611  	//    * SA: South America
 10612  	//
 10613  	// Constraint: Specifying ContinentCode with either CountryCode or SubdivisionCode
 10614  	// returns an InvalidInput error.
 10615  	ContinentCode *string `min:"2" type:"string"`
 10616  
 10617  	// For geolocation resource record sets, the two-letter code for a country.
 10618  	//
 10619  	// Amazon Route 53 uses the two-letter country codes that are specified in ISO
 10620  	// standard 3166-1 alpha-2 (https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
 10621  	CountryCode *string `min:"1" type:"string"`
 10622  
 10623  	// For geolocation resource record sets, the two-letter code for a state of
 10624  	// the United States. Route 53 doesn't support any other values for SubdivisionCode.
 10625  	// For a list of state abbreviations, see Appendix B: Two–Letter State and
 10626  	// Possession Abbreviations (https://pe.usps.com/text/pub28/28apb.htm) on the
 10627  	// United States Postal Service website.
 10628  	//
 10629  	// If you specify subdivisioncode, you must also specify US for CountryCode.
 10630  	SubdivisionCode *string `min:"1" type:"string"`
 10631  }
 10632  
 10633  // String returns the string representation.
 10634  //
 10635  // API parameter values that are decorated as "sensitive" in the API will not
 10636  // be included in the string output. The member name will be present, but the
 10637  // value will be replaced with "sensitive".
 10638  func (s GeoLocation) String() string {
 10639  	return awsutil.Prettify(s)
 10640  }
 10641  
 10642  // GoString returns the string representation.
 10643  //
 10644  // API parameter values that are decorated as "sensitive" in the API will not
 10645  // be included in the string output. The member name will be present, but the
 10646  // value will be replaced with "sensitive".
 10647  func (s GeoLocation) GoString() string {
 10648  	return s.String()
 10649  }
 10650  
 10651  // Validate inspects the fields of the type to determine if they are valid.
 10652  func (s *GeoLocation) Validate() error {
 10653  	invalidParams := request.ErrInvalidParams{Context: "GeoLocation"}
 10654  	if s.ContinentCode != nil && len(*s.ContinentCode) < 2 {
 10655  		invalidParams.Add(request.NewErrParamMinLen("ContinentCode", 2))
 10656  	}
 10657  	if s.CountryCode != nil && len(*s.CountryCode) < 1 {
 10658  		invalidParams.Add(request.NewErrParamMinLen("CountryCode", 1))
 10659  	}
 10660  	if s.SubdivisionCode != nil && len(*s.SubdivisionCode) < 1 {
 10661  		invalidParams.Add(request.NewErrParamMinLen("SubdivisionCode", 1))
 10662  	}
 10663  
 10664  	if invalidParams.Len() > 0 {
 10665  		return invalidParams
 10666  	}
 10667  	return nil
 10668  }
 10669  
 10670  // SetContinentCode sets the ContinentCode field's value.
 10671  func (s *GeoLocation) SetContinentCode(v string) *GeoLocation {
 10672  	s.ContinentCode = &v
 10673  	return s
 10674  }
 10675  
 10676  // SetCountryCode sets the CountryCode field's value.
 10677  func (s *GeoLocation) SetCountryCode(v string) *GeoLocation {
 10678  	s.CountryCode = &v
 10679  	return s
 10680  }
 10681  
 10682  // SetSubdivisionCode sets the SubdivisionCode field's value.
 10683  func (s *GeoLocation) SetSubdivisionCode(v string) *GeoLocation {
 10684  	s.SubdivisionCode = &v
 10685  	return s
 10686  }
 10687  
 10688  // A complex type that contains the codes and full continent, country, and subdivision
 10689  // names for the specified geolocation code.
 10690  type GeoLocationDetails struct {
 10691  	_ struct{} `type:"structure"`
 10692  
 10693  	// The two-letter code for the continent.
 10694  	ContinentCode *string `min:"2" type:"string"`
 10695  
 10696  	// The full name of the continent.
 10697  	ContinentName *string `min:"1" type:"string"`
 10698  
 10699  	// The two-letter code for the country.
 10700  	CountryCode *string `min:"1" type:"string"`
 10701  
 10702  	// The name of the country.
 10703  	CountryName *string `min:"1" type:"string"`
 10704  
 10705  	// The code for the subdivision, such as a particular state within the United
 10706  	// States. For a list of US state abbreviations, see Appendix B: Two–Letter
 10707  	// State and Possession Abbreviations (https://pe.usps.com/text/pub28/28apb.htm)
 10708  	// on the United States Postal Service website. For a list of all supported
 10709  	// subdivision codes, use the ListGeoLocations (https://docs.aws.amazon.com/Route53/latest/APIReference/API_ListGeoLocations.html)
 10710  	// API.
 10711  	SubdivisionCode *string `min:"1" type:"string"`
 10712  
 10713  	// The full name of the subdivision. Route 53 currently supports only states
 10714  	// in the United States.
 10715  	SubdivisionName *string `min:"1" type:"string"`
 10716  }
 10717  
 10718  // String returns the string representation.
 10719  //
 10720  // API parameter values that are decorated as "sensitive" in the API will not
 10721  // be included in the string output. The member name will be present, but the
 10722  // value will be replaced with "sensitive".
 10723  func (s GeoLocationDetails) String() string {
 10724  	return awsutil.Prettify(s)
 10725  }
 10726  
 10727  // GoString returns the string representation.
 10728  //
 10729  // API parameter values that are decorated as "sensitive" in the API will not
 10730  // be included in the string output. The member name will be present, but the
 10731  // value will be replaced with "sensitive".
 10732  func (s GeoLocationDetails) GoString() string {
 10733  	return s.String()
 10734  }
 10735  
 10736  // SetContinentCode sets the ContinentCode field's value.
 10737  func (s *GeoLocationDetails) SetContinentCode(v string) *GeoLocationDetails {
 10738  	s.ContinentCode = &v
 10739  	return s
 10740  }
 10741  
 10742  // SetContinentName sets the ContinentName field's value.
 10743  func (s *GeoLocationDetails) SetContinentName(v string) *GeoLocationDetails {
 10744  	s.ContinentName = &v
 10745  	return s
 10746  }
 10747  
 10748  // SetCountryCode sets the CountryCode field's value.
 10749  func (s *GeoLocationDetails) SetCountryCode(v string) *GeoLocationDetails {
 10750  	s.CountryCode = &v
 10751  	return s
 10752  }
 10753  
 10754  // SetCountryName sets the CountryName field's value.
 10755  func (s *GeoLocationDetails) SetCountryName(v string) *GeoLocationDetails {
 10756  	s.CountryName = &v
 10757  	return s
 10758  }
 10759  
 10760  // SetSubdivisionCode sets the SubdivisionCode field's value.
 10761  func (s *GeoLocationDetails) SetSubdivisionCode(v string) *GeoLocationDetails {
 10762  	s.SubdivisionCode = &v
 10763  	return s
 10764  }
 10765  
 10766  // SetSubdivisionName sets the SubdivisionName field's value.
 10767  func (s *GeoLocationDetails) SetSubdivisionName(v string) *GeoLocationDetails {
 10768  	s.SubdivisionName = &v
 10769  	return s
 10770  }
 10771  
 10772  // A complex type that contains information about the request to create a hosted
 10773  // zone.
 10774  type GetAccountLimitInput struct {
 10775  	_ struct{} `locationName:"GetAccountLimitRequest" type:"structure"`
 10776  
 10777  	// The limit that you want to get. Valid values include the following:
 10778  	//
 10779  	//    * MAX_HEALTH_CHECKS_BY_OWNER: The maximum number of health checks that
 10780  	//    you can create using the current account.
 10781  	//
 10782  	//    * MAX_HOSTED_ZONES_BY_OWNER: The maximum number of hosted zones that you
 10783  	//    can create using the current account.
 10784  	//
 10785  	//    * MAX_REUSABLE_DELEGATION_SETS_BY_OWNER: The maximum number of reusable
 10786  	//    delegation sets that you can create using the current account.
 10787  	//
 10788  	//    * MAX_TRAFFIC_POLICIES_BY_OWNER: The maximum number of traffic policies
 10789  	//    that you can create using the current account.
 10790  	//
 10791  	//    * MAX_TRAFFIC_POLICY_INSTANCES_BY_OWNER: The maximum number of traffic
 10792  	//    policy instances that you can create using the current account. (Traffic
 10793  	//    policy instances are referred to as traffic flow policy records in the
 10794  	//    Amazon Route 53 console.)
 10795  	//
 10796  	// Type is a required field
 10797  	Type *string `location:"uri" locationName:"Type" type:"string" required:"true" enum:"AccountLimitType"`
 10798  }
 10799  
 10800  // String returns the string representation.
 10801  //
 10802  // API parameter values that are decorated as "sensitive" in the API will not
 10803  // be included in the string output. The member name will be present, but the
 10804  // value will be replaced with "sensitive".
 10805  func (s GetAccountLimitInput) String() string {
 10806  	return awsutil.Prettify(s)
 10807  }
 10808  
 10809  // GoString returns the string representation.
 10810  //
 10811  // API parameter values that are decorated as "sensitive" in the API will not
 10812  // be included in the string output. The member name will be present, but the
 10813  // value will be replaced with "sensitive".
 10814  func (s GetAccountLimitInput) GoString() string {
 10815  	return s.String()
 10816  }
 10817  
 10818  // Validate inspects the fields of the type to determine if they are valid.
 10819  func (s *GetAccountLimitInput) Validate() error {
 10820  	invalidParams := request.ErrInvalidParams{Context: "GetAccountLimitInput"}
 10821  	if s.Type == nil {
 10822  		invalidParams.Add(request.NewErrParamRequired("Type"))
 10823  	}
 10824  	if s.Type != nil && len(*s.Type) < 1 {
 10825  		invalidParams.Add(request.NewErrParamMinLen("Type", 1))
 10826  	}
 10827  
 10828  	if invalidParams.Len() > 0 {
 10829  		return invalidParams
 10830  	}
 10831  	return nil
 10832  }
 10833  
 10834  // SetType sets the Type field's value.
 10835  func (s *GetAccountLimitInput) SetType(v string) *GetAccountLimitInput {
 10836  	s.Type = &v
 10837  	return s
 10838  }
 10839  
 10840  // A complex type that contains the requested limit.
 10841  type GetAccountLimitOutput struct {
 10842  	_ struct{} `type:"structure"`
 10843  
 10844  	// The current number of entities that you have created of the specified type.
 10845  	// For example, if you specified MAX_HEALTH_CHECKS_BY_OWNER for the value of
 10846  	// Type in the request, the value of Count is the current number of health checks
 10847  	// that you have created using the current account.
 10848  	//
 10849  	// Count is a required field
 10850  	Count *int64 `type:"long" required:"true"`
 10851  
 10852  	// The current setting for the specified limit. For example, if you specified
 10853  	// MAX_HEALTH_CHECKS_BY_OWNER for the value of Type in the request, the value
 10854  	// of Limit is the maximum number of health checks that you can create using
 10855  	// the current account.
 10856  	//
 10857  	// Limit is a required field
 10858  	Limit *AccountLimit `type:"structure" required:"true"`
 10859  }
 10860  
 10861  // String returns the string representation.
 10862  //
 10863  // API parameter values that are decorated as "sensitive" in the API will not
 10864  // be included in the string output. The member name will be present, but the
 10865  // value will be replaced with "sensitive".
 10866  func (s GetAccountLimitOutput) String() string {
 10867  	return awsutil.Prettify(s)
 10868  }
 10869  
 10870  // GoString returns the string representation.
 10871  //
 10872  // API parameter values that are decorated as "sensitive" in the API will not
 10873  // be included in the string output. The member name will be present, but the
 10874  // value will be replaced with "sensitive".
 10875  func (s GetAccountLimitOutput) GoString() string {
 10876  	return s.String()
 10877  }
 10878  
 10879  // SetCount sets the Count field's value.
 10880  func (s *GetAccountLimitOutput) SetCount(v int64) *GetAccountLimitOutput {
 10881  	s.Count = &v
 10882  	return s
 10883  }
 10884  
 10885  // SetLimit sets the Limit field's value.
 10886  func (s *GetAccountLimitOutput) SetLimit(v *AccountLimit) *GetAccountLimitOutput {
 10887  	s.Limit = v
 10888  	return s
 10889  }
 10890  
 10891  // The input for a GetChange request.
 10892  type GetChangeInput struct {
 10893  	_ struct{} `locationName:"GetChangeRequest" type:"structure"`
 10894  
 10895  	// The ID of the change batch request. The value that you specify here is the
 10896  	// value that ChangeResourceRecordSets returned in the Id element when you submitted
 10897  	// the request.
 10898  	//
 10899  	// Id is a required field
 10900  	Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
 10901  }
 10902  
 10903  // String returns the string representation.
 10904  //
 10905  // API parameter values that are decorated as "sensitive" in the API will not
 10906  // be included in the string output. The member name will be present, but the
 10907  // value will be replaced with "sensitive".
 10908  func (s GetChangeInput) String() string {
 10909  	return awsutil.Prettify(s)
 10910  }
 10911  
 10912  // GoString returns the string representation.
 10913  //
 10914  // API parameter values that are decorated as "sensitive" in the API will not
 10915  // be included in the string output. The member name will be present, but the
 10916  // value will be replaced with "sensitive".
 10917  func (s GetChangeInput) GoString() string {
 10918  	return s.String()
 10919  }
 10920  
 10921  // Validate inspects the fields of the type to determine if they are valid.
 10922  func (s *GetChangeInput) Validate() error {
 10923  	invalidParams := request.ErrInvalidParams{Context: "GetChangeInput"}
 10924  	if s.Id == nil {
 10925  		invalidParams.Add(request.NewErrParamRequired("Id"))
 10926  	}
 10927  	if s.Id != nil && len(*s.Id) < 1 {
 10928  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
 10929  	}
 10930  
 10931  	if invalidParams.Len() > 0 {
 10932  		return invalidParams
 10933  	}
 10934  	return nil
 10935  }
 10936  
 10937  // SetId sets the Id field's value.
 10938  func (s *GetChangeInput) SetId(v string) *GetChangeInput {
 10939  	s.Id = &v
 10940  	return s
 10941  }
 10942  
 10943  // A complex type that contains the ChangeInfo element.
 10944  type GetChangeOutput struct {
 10945  	_ struct{} `type:"structure"`
 10946  
 10947  	// A complex type that contains information about the specified change batch.
 10948  	//
 10949  	// ChangeInfo is a required field
 10950  	ChangeInfo *ChangeInfo `type:"structure" required:"true"`
 10951  }
 10952  
 10953  // String returns the string representation.
 10954  //
 10955  // API parameter values that are decorated as "sensitive" in the API will not
 10956  // be included in the string output. The member name will be present, but the
 10957  // value will be replaced with "sensitive".
 10958  func (s GetChangeOutput) String() string {
 10959  	return awsutil.Prettify(s)
 10960  }
 10961  
 10962  // GoString returns the string representation.
 10963  //
 10964  // API parameter values that are decorated as "sensitive" in the API will not
 10965  // be included in the string output. The member name will be present, but the
 10966  // value will be replaced with "sensitive".
 10967  func (s GetChangeOutput) GoString() string {
 10968  	return s.String()
 10969  }
 10970  
 10971  // SetChangeInfo sets the ChangeInfo field's value.
 10972  func (s *GetChangeOutput) SetChangeInfo(v *ChangeInfo) *GetChangeOutput {
 10973  	s.ChangeInfo = v
 10974  	return s
 10975  }
 10976  
 10977  // Empty request.
 10978  type GetCheckerIpRangesInput struct {
 10979  	_ struct{} `locationName:"GetCheckerIpRangesRequest" type:"structure"`
 10980  }
 10981  
 10982  // String returns the string representation.
 10983  //
 10984  // API parameter values that are decorated as "sensitive" in the API will not
 10985  // be included in the string output. The member name will be present, but the
 10986  // value will be replaced with "sensitive".
 10987  func (s GetCheckerIpRangesInput) String() string {
 10988  	return awsutil.Prettify(s)
 10989  }
 10990  
 10991  // GoString returns the string representation.
 10992  //
 10993  // API parameter values that are decorated as "sensitive" in the API will not
 10994  // be included in the string output. The member name will be present, but the
 10995  // value will be replaced with "sensitive".
 10996  func (s GetCheckerIpRangesInput) GoString() string {
 10997  	return s.String()
 10998  }
 10999  
 11000  // A complex type that contains the CheckerIpRanges element.
 11001  type GetCheckerIpRangesOutput struct {
 11002  	_ struct{} `type:"structure"`
 11003  
 11004  	// A complex type that contains sorted list of IP ranges in CIDR format for
 11005  	// Amazon Route 53 health checkers.
 11006  	//
 11007  	// CheckerIpRanges is a required field
 11008  	CheckerIpRanges []*string `type:"list" required:"true"`
 11009  }
 11010  
 11011  // String returns the string representation.
 11012  //
 11013  // API parameter values that are decorated as "sensitive" in the API will not
 11014  // be included in the string output. The member name will be present, but the
 11015  // value will be replaced with "sensitive".
 11016  func (s GetCheckerIpRangesOutput) String() string {
 11017  	return awsutil.Prettify(s)
 11018  }
 11019  
 11020  // GoString returns the string representation.
 11021  //
 11022  // API parameter values that are decorated as "sensitive" in the API will not
 11023  // be included in the string output. The member name will be present, but the
 11024  // value will be replaced with "sensitive".
 11025  func (s GetCheckerIpRangesOutput) GoString() string {
 11026  	return s.String()
 11027  }
 11028  
 11029  // SetCheckerIpRanges sets the CheckerIpRanges field's value.
 11030  func (s *GetCheckerIpRangesOutput) SetCheckerIpRanges(v []*string) *GetCheckerIpRangesOutput {
 11031  	s.CheckerIpRanges = v
 11032  	return s
 11033  }
 11034  
 11035  type GetDNSSECInput struct {
 11036  	_ struct{} `locationName:"GetDNSSECRequest" type:"structure"`
 11037  
 11038  	// A unique string used to identify a hosted zone.
 11039  	//
 11040  	// HostedZoneId is a required field
 11041  	HostedZoneId *string `location:"uri" locationName:"Id" type:"string" required:"true"`
 11042  }
 11043  
 11044  // String returns the string representation.
 11045  //
 11046  // API parameter values that are decorated as "sensitive" in the API will not
 11047  // be included in the string output. The member name will be present, but the
 11048  // value will be replaced with "sensitive".
 11049  func (s GetDNSSECInput) String() string {
 11050  	return awsutil.Prettify(s)
 11051  }
 11052  
 11053  // GoString returns the string representation.
 11054  //
 11055  // API parameter values that are decorated as "sensitive" in the API will not
 11056  // be included in the string output. The member name will be present, but the
 11057  // value will be replaced with "sensitive".
 11058  func (s GetDNSSECInput) GoString() string {
 11059  	return s.String()
 11060  }
 11061  
 11062  // Validate inspects the fields of the type to determine if they are valid.
 11063  func (s *GetDNSSECInput) Validate() error {
 11064  	invalidParams := request.ErrInvalidParams{Context: "GetDNSSECInput"}
 11065  	if s.HostedZoneId == nil {
 11066  		invalidParams.Add(request.NewErrParamRequired("HostedZoneId"))
 11067  	}
 11068  	if s.HostedZoneId != nil && len(*s.HostedZoneId) < 1 {
 11069  		invalidParams.Add(request.NewErrParamMinLen("HostedZoneId", 1))
 11070  	}
 11071  
 11072  	if invalidParams.Len() > 0 {
 11073  		return invalidParams
 11074  	}
 11075  	return nil
 11076  }
 11077  
 11078  // SetHostedZoneId sets the HostedZoneId field's value.
 11079  func (s *GetDNSSECInput) SetHostedZoneId(v string) *GetDNSSECInput {
 11080  	s.HostedZoneId = &v
 11081  	return s
 11082  }
 11083  
 11084  type GetDNSSECOutput struct {
 11085  	_ struct{} `type:"structure"`
 11086  
 11087  	// The key-signing keys (KSKs) in your account.
 11088  	//
 11089  	// KeySigningKeys is a required field
 11090  	KeySigningKeys []*KeySigningKey `type:"list" required:"true"`
 11091  
 11092  	// A string repesenting the status of DNSSEC.
 11093  	//
 11094  	// Status is a required field
 11095  	Status *DNSSECStatus `type:"structure" required:"true"`
 11096  }
 11097  
 11098  // String returns the string representation.
 11099  //
 11100  // API parameter values that are decorated as "sensitive" in the API will not
 11101  // be included in the string output. The member name will be present, but the
 11102  // value will be replaced with "sensitive".
 11103  func (s GetDNSSECOutput) String() string {
 11104  	return awsutil.Prettify(s)
 11105  }
 11106  
 11107  // GoString returns the string representation.
 11108  //
 11109  // API parameter values that are decorated as "sensitive" in the API will not
 11110  // be included in the string output. The member name will be present, but the
 11111  // value will be replaced with "sensitive".
 11112  func (s GetDNSSECOutput) GoString() string {
 11113  	return s.String()
 11114  }
 11115  
 11116  // SetKeySigningKeys sets the KeySigningKeys field's value.
 11117  func (s *GetDNSSECOutput) SetKeySigningKeys(v []*KeySigningKey) *GetDNSSECOutput {
 11118  	s.KeySigningKeys = v
 11119  	return s
 11120  }
 11121  
 11122  // SetStatus sets the Status field's value.
 11123  func (s *GetDNSSECOutput) SetStatus(v *DNSSECStatus) *GetDNSSECOutput {
 11124  	s.Status = v
 11125  	return s
 11126  }
 11127  
 11128  // A request for information about whether a specified geographic location is
 11129  // supported for Amazon Route 53 geolocation resource record sets.
 11130  type GetGeoLocationInput struct {
 11131  	_ struct{} `locationName:"GetGeoLocationRequest" type:"structure"`
 11132  
 11133  	// For geolocation resource record sets, a two-letter abbreviation that identifies
 11134  	// a continent. Amazon Route 53 supports the following continent codes:
 11135  	//
 11136  	//    * AF: Africa
 11137  	//
 11138  	//    * AN: Antarctica
 11139  	//
 11140  	//    * AS: Asia
 11141  	//
 11142  	//    * EU: Europe
 11143  	//
 11144  	//    * OC: Oceania
 11145  	//
 11146  	//    * NA: North America
 11147  	//
 11148  	//    * SA: South America
 11149  	ContinentCode *string `location:"querystring" locationName:"continentcode" min:"2" type:"string"`
 11150  
 11151  	// Amazon Route 53 uses the two-letter country codes that are specified in ISO
 11152  	// standard 3166-1 alpha-2 (https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
 11153  	CountryCode *string `location:"querystring" locationName:"countrycode" min:"1" type:"string"`
 11154  
 11155  	// The code for the subdivision, such as a particular state within the United
 11156  	// States. For a list of US state abbreviations, see Appendix B: Two–Letter
 11157  	// State and Possession Abbreviations (https://pe.usps.com/text/pub28/28apb.htm)
 11158  	// on the United States Postal Service website. For a list of all supported
 11159  	// subdivision codes, use the ListGeoLocations (https://docs.aws.amazon.com/Route53/latest/APIReference/API_ListGeoLocations.html)
 11160  	// API.
 11161  	SubdivisionCode *string `location:"querystring" locationName:"subdivisioncode" min:"1" type:"string"`
 11162  }
 11163  
 11164  // String returns the string representation.
 11165  //
 11166  // API parameter values that are decorated as "sensitive" in the API will not
 11167  // be included in the string output. The member name will be present, but the
 11168  // value will be replaced with "sensitive".
 11169  func (s GetGeoLocationInput) String() string {
 11170  	return awsutil.Prettify(s)
 11171  }
 11172  
 11173  // GoString returns the string representation.
 11174  //
 11175  // API parameter values that are decorated as "sensitive" in the API will not
 11176  // be included in the string output. The member name will be present, but the
 11177  // value will be replaced with "sensitive".
 11178  func (s GetGeoLocationInput) GoString() string {
 11179  	return s.String()
 11180  }
 11181  
 11182  // Validate inspects the fields of the type to determine if they are valid.
 11183  func (s *GetGeoLocationInput) Validate() error {
 11184  	invalidParams := request.ErrInvalidParams{Context: "GetGeoLocationInput"}
 11185  	if s.ContinentCode != nil && len(*s.ContinentCode) < 2 {
 11186  		invalidParams.Add(request.NewErrParamMinLen("ContinentCode", 2))
 11187  	}
 11188  	if s.CountryCode != nil && len(*s.CountryCode) < 1 {
 11189  		invalidParams.Add(request.NewErrParamMinLen("CountryCode", 1))
 11190  	}
 11191  	if s.SubdivisionCode != nil && len(*s.SubdivisionCode) < 1 {
 11192  		invalidParams.Add(request.NewErrParamMinLen("SubdivisionCode", 1))
 11193  	}
 11194  
 11195  	if invalidParams.Len() > 0 {
 11196  		return invalidParams
 11197  	}
 11198  	return nil
 11199  }
 11200  
 11201  // SetContinentCode sets the ContinentCode field's value.
 11202  func (s *GetGeoLocationInput) SetContinentCode(v string) *GetGeoLocationInput {
 11203  	s.ContinentCode = &v
 11204  	return s
 11205  }
 11206  
 11207  // SetCountryCode sets the CountryCode field's value.
 11208  func (s *GetGeoLocationInput) SetCountryCode(v string) *GetGeoLocationInput {
 11209  	s.CountryCode = &v
 11210  	return s
 11211  }
 11212  
 11213  // SetSubdivisionCode sets the SubdivisionCode field's value.
 11214  func (s *GetGeoLocationInput) SetSubdivisionCode(v string) *GetGeoLocationInput {
 11215  	s.SubdivisionCode = &v
 11216  	return s
 11217  }
 11218  
 11219  // A complex type that contains the response information for the specified geolocation
 11220  // code.
 11221  type GetGeoLocationOutput struct {
 11222  	_ struct{} `type:"structure"`
 11223  
 11224  	// A complex type that contains the codes and full continent, country, and subdivision
 11225  	// names for the specified geolocation code.
 11226  	//
 11227  	// GeoLocationDetails is a required field
 11228  	GeoLocationDetails *GeoLocationDetails `type:"structure" required:"true"`
 11229  }
 11230  
 11231  // String returns the string representation.
 11232  //
 11233  // API parameter values that are decorated as "sensitive" in the API will not
 11234  // be included in the string output. The member name will be present, but the
 11235  // value will be replaced with "sensitive".
 11236  func (s GetGeoLocationOutput) String() string {
 11237  	return awsutil.Prettify(s)
 11238  }
 11239  
 11240  // GoString returns the string representation.
 11241  //
 11242  // API parameter values that are decorated as "sensitive" in the API will not
 11243  // be included in the string output. The member name will be present, but the
 11244  // value will be replaced with "sensitive".
 11245  func (s GetGeoLocationOutput) GoString() string {
 11246  	return s.String()
 11247  }
 11248  
 11249  // SetGeoLocationDetails sets the GeoLocationDetails field's value.
 11250  func (s *GetGeoLocationOutput) SetGeoLocationDetails(v *GeoLocationDetails) *GetGeoLocationOutput {
 11251  	s.GeoLocationDetails = v
 11252  	return s
 11253  }
 11254  
 11255  // A request for the number of health checks that are associated with the current
 11256  // Amazon Web Services account.
 11257  type GetHealthCheckCountInput struct {
 11258  	_ struct{} `locationName:"GetHealthCheckCountRequest" type:"structure"`
 11259  }
 11260  
 11261  // String returns the string representation.
 11262  //
 11263  // API parameter values that are decorated as "sensitive" in the API will not
 11264  // be included in the string output. The member name will be present, but the
 11265  // value will be replaced with "sensitive".
 11266  func (s GetHealthCheckCountInput) String() string {
 11267  	return awsutil.Prettify(s)
 11268  }
 11269  
 11270  // GoString returns the string representation.
 11271  //
 11272  // API parameter values that are decorated as "sensitive" in the API will not
 11273  // be included in the string output. The member name will be present, but the
 11274  // value will be replaced with "sensitive".
 11275  func (s GetHealthCheckCountInput) GoString() string {
 11276  	return s.String()
 11277  }
 11278  
 11279  // A complex type that contains the response to a GetHealthCheckCount request.
 11280  type GetHealthCheckCountOutput struct {
 11281  	_ struct{} `type:"structure"`
 11282  
 11283  	// The number of health checks associated with the current Amazon Web Services
 11284  	// account.
 11285  	//
 11286  	// HealthCheckCount is a required field
 11287  	HealthCheckCount *int64 `type:"long" required:"true"`
 11288  }
 11289  
 11290  // String returns the string representation.
 11291  //
 11292  // API parameter values that are decorated as "sensitive" in the API will not
 11293  // be included in the string output. The member name will be present, but the
 11294  // value will be replaced with "sensitive".
 11295  func (s GetHealthCheckCountOutput) String() string {
 11296  	return awsutil.Prettify(s)
 11297  }
 11298  
 11299  // GoString returns the string representation.
 11300  //
 11301  // API parameter values that are decorated as "sensitive" in the API will not
 11302  // be included in the string output. The member name will be present, but the
 11303  // value will be replaced with "sensitive".
 11304  func (s GetHealthCheckCountOutput) GoString() string {
 11305  	return s.String()
 11306  }
 11307  
 11308  // SetHealthCheckCount sets the HealthCheckCount field's value.
 11309  func (s *GetHealthCheckCountOutput) SetHealthCheckCount(v int64) *GetHealthCheckCountOutput {
 11310  	s.HealthCheckCount = &v
 11311  	return s
 11312  }
 11313  
 11314  // A request to get information about a specified health check.
 11315  type GetHealthCheckInput struct {
 11316  	_ struct{} `locationName:"GetHealthCheckRequest" type:"structure"`
 11317  
 11318  	// The identifier that Amazon Route 53 assigned to the health check when you
 11319  	// created it. When you add or update a resource record set, you use this value
 11320  	// to specify which health check to use. The value can be up to 64 characters
 11321  	// long.
 11322  	//
 11323  	// HealthCheckId is a required field
 11324  	HealthCheckId *string `location:"uri" locationName:"HealthCheckId" type:"string" required:"true"`
 11325  }
 11326  
 11327  // String returns the string representation.
 11328  //
 11329  // API parameter values that are decorated as "sensitive" in the API will not
 11330  // be included in the string output. The member name will be present, but the
 11331  // value will be replaced with "sensitive".
 11332  func (s GetHealthCheckInput) String() string {
 11333  	return awsutil.Prettify(s)
 11334  }
 11335  
 11336  // GoString returns the string representation.
 11337  //
 11338  // API parameter values that are decorated as "sensitive" in the API will not
 11339  // be included in the string output. The member name will be present, but the
 11340  // value will be replaced with "sensitive".
 11341  func (s GetHealthCheckInput) GoString() string {
 11342  	return s.String()
 11343  }
 11344  
 11345  // Validate inspects the fields of the type to determine if they are valid.
 11346  func (s *GetHealthCheckInput) Validate() error {
 11347  	invalidParams := request.ErrInvalidParams{Context: "GetHealthCheckInput"}
 11348  	if s.HealthCheckId == nil {
 11349  		invalidParams.Add(request.NewErrParamRequired("HealthCheckId"))
 11350  	}
 11351  	if s.HealthCheckId != nil && len(*s.HealthCheckId) < 1 {
 11352  		invalidParams.Add(request.NewErrParamMinLen("HealthCheckId", 1))
 11353  	}
 11354  
 11355  	if invalidParams.Len() > 0 {
 11356  		return invalidParams
 11357  	}
 11358  	return nil
 11359  }
 11360  
 11361  // SetHealthCheckId sets the HealthCheckId field's value.
 11362  func (s *GetHealthCheckInput) SetHealthCheckId(v string) *GetHealthCheckInput {
 11363  	s.HealthCheckId = &v
 11364  	return s
 11365  }
 11366  
 11367  // A request for the reason that a health check failed most recently.
 11368  type GetHealthCheckLastFailureReasonInput struct {
 11369  	_ struct{} `locationName:"GetHealthCheckLastFailureReasonRequest" type:"structure"`
 11370  
 11371  	// The ID for the health check for which you want the last failure reason. When
 11372  	// you created the health check, CreateHealthCheck returned the ID in the response,
 11373  	// in the HealthCheckId element.
 11374  	//
 11375  	// If you want to get the last failure reason for a calculated health check,
 11376  	// you must use the Amazon Route 53 console or the CloudWatch console. You can't
 11377  	// use GetHealthCheckLastFailureReason for a calculated health check.
 11378  	//
 11379  	// HealthCheckId is a required field
 11380  	HealthCheckId *string `location:"uri" locationName:"HealthCheckId" type:"string" required:"true"`
 11381  }
 11382  
 11383  // String returns the string representation.
 11384  //
 11385  // API parameter values that are decorated as "sensitive" in the API will not
 11386  // be included in the string output. The member name will be present, but the
 11387  // value will be replaced with "sensitive".
 11388  func (s GetHealthCheckLastFailureReasonInput) String() string {
 11389  	return awsutil.Prettify(s)
 11390  }
 11391  
 11392  // GoString returns the string representation.
 11393  //
 11394  // API parameter values that are decorated as "sensitive" in the API will not
 11395  // be included in the string output. The member name will be present, but the
 11396  // value will be replaced with "sensitive".
 11397  func (s GetHealthCheckLastFailureReasonInput) GoString() string {
 11398  	return s.String()
 11399  }
 11400  
 11401  // Validate inspects the fields of the type to determine if they are valid.
 11402  func (s *GetHealthCheckLastFailureReasonInput) Validate() error {
 11403  	invalidParams := request.ErrInvalidParams{Context: "GetHealthCheckLastFailureReasonInput"}
 11404  	if s.HealthCheckId == nil {
 11405  		invalidParams.Add(request.NewErrParamRequired("HealthCheckId"))
 11406  	}
 11407  	if s.HealthCheckId != nil && len(*s.HealthCheckId) < 1 {
 11408  		invalidParams.Add(request.NewErrParamMinLen("HealthCheckId", 1))
 11409  	}
 11410  
 11411  	if invalidParams.Len() > 0 {
 11412  		return invalidParams
 11413  	}
 11414  	return nil
 11415  }
 11416  
 11417  // SetHealthCheckId sets the HealthCheckId field's value.
 11418  func (s *GetHealthCheckLastFailureReasonInput) SetHealthCheckId(v string) *GetHealthCheckLastFailureReasonInput {
 11419  	s.HealthCheckId = &v
 11420  	return s
 11421  }
 11422  
 11423  // A complex type that contains the response to a GetHealthCheckLastFailureReason
 11424  // request.
 11425  type GetHealthCheckLastFailureReasonOutput struct {
 11426  	_ struct{} `type:"structure"`
 11427  
 11428  	// A list that contains one Observation element for each Amazon Route 53 health
 11429  	// checker that is reporting a last failure reason.
 11430  	//
 11431  	// HealthCheckObservations is a required field
 11432  	HealthCheckObservations []*HealthCheckObservation `locationNameList:"HealthCheckObservation" type:"list" required:"true"`
 11433  }
 11434  
 11435  // String returns the string representation.
 11436  //
 11437  // API parameter values that are decorated as "sensitive" in the API will not
 11438  // be included in the string output. The member name will be present, but the
 11439  // value will be replaced with "sensitive".
 11440  func (s GetHealthCheckLastFailureReasonOutput) String() string {
 11441  	return awsutil.Prettify(s)
 11442  }
 11443  
 11444  // GoString returns the string representation.
 11445  //
 11446  // API parameter values that are decorated as "sensitive" in the API will not
 11447  // be included in the string output. The member name will be present, but the
 11448  // value will be replaced with "sensitive".
 11449  func (s GetHealthCheckLastFailureReasonOutput) GoString() string {
 11450  	return s.String()
 11451  }
 11452  
 11453  // SetHealthCheckObservations sets the HealthCheckObservations field's value.
 11454  func (s *GetHealthCheckLastFailureReasonOutput) SetHealthCheckObservations(v []*HealthCheckObservation) *GetHealthCheckLastFailureReasonOutput {
 11455  	s.HealthCheckObservations = v
 11456  	return s
 11457  }
 11458  
 11459  // A complex type that contains the response to a GetHealthCheck request.
 11460  type GetHealthCheckOutput struct {
 11461  	_ struct{} `type:"structure"`
 11462  
 11463  	// A complex type that contains information about one health check that is associated
 11464  	// with the current Amazon Web Services account.
 11465  	//
 11466  	// HealthCheck is a required field
 11467  	HealthCheck *HealthCheck `type:"structure" required:"true"`
 11468  }
 11469  
 11470  // String returns the string representation.
 11471  //
 11472  // API parameter values that are decorated as "sensitive" in the API will not
 11473  // be included in the string output. The member name will be present, but the
 11474  // value will be replaced with "sensitive".
 11475  func (s GetHealthCheckOutput) String() string {
 11476  	return awsutil.Prettify(s)
 11477  }
 11478  
 11479  // GoString returns the string representation.
 11480  //
 11481  // API parameter values that are decorated as "sensitive" in the API will not
 11482  // be included in the string output. The member name will be present, but the
 11483  // value will be replaced with "sensitive".
 11484  func (s GetHealthCheckOutput) GoString() string {
 11485  	return s.String()
 11486  }
 11487  
 11488  // SetHealthCheck sets the HealthCheck field's value.
 11489  func (s *GetHealthCheckOutput) SetHealthCheck(v *HealthCheck) *GetHealthCheckOutput {
 11490  	s.HealthCheck = v
 11491  	return s
 11492  }
 11493  
 11494  // A request to get the status for a health check.
 11495  type GetHealthCheckStatusInput struct {
 11496  	_ struct{} `locationName:"GetHealthCheckStatusRequest" type:"structure"`
 11497  
 11498  	// The ID for the health check that you want the current status for. When you
 11499  	// created the health check, CreateHealthCheck returned the ID in the response,
 11500  	// in the HealthCheckId element.
 11501  	//
 11502  	// If you want to check the status of a calculated health check, you must use
 11503  	// the Amazon Route 53 console or the CloudWatch console. You can't use GetHealthCheckStatus
 11504  	// to get the status of a calculated health check.
 11505  	//
 11506  	// HealthCheckId is a required field
 11507  	HealthCheckId *string `location:"uri" locationName:"HealthCheckId" type:"string" required:"true"`
 11508  }
 11509  
 11510  // String returns the string representation.
 11511  //
 11512  // API parameter values that are decorated as "sensitive" in the API will not
 11513  // be included in the string output. The member name will be present, but the
 11514  // value will be replaced with "sensitive".
 11515  func (s GetHealthCheckStatusInput) String() string {
 11516  	return awsutil.Prettify(s)
 11517  }
 11518  
 11519  // GoString returns the string representation.
 11520  //
 11521  // API parameter values that are decorated as "sensitive" in the API will not
 11522  // be included in the string output. The member name will be present, but the
 11523  // value will be replaced with "sensitive".
 11524  func (s GetHealthCheckStatusInput) GoString() string {
 11525  	return s.String()
 11526  }
 11527  
 11528  // Validate inspects the fields of the type to determine if they are valid.
 11529  func (s *GetHealthCheckStatusInput) Validate() error {
 11530  	invalidParams := request.ErrInvalidParams{Context: "GetHealthCheckStatusInput"}
 11531  	if s.HealthCheckId == nil {
 11532  		invalidParams.Add(request.NewErrParamRequired("HealthCheckId"))
 11533  	}
 11534  	if s.HealthCheckId != nil && len(*s.HealthCheckId) < 1 {
 11535  		invalidParams.Add(request.NewErrParamMinLen("HealthCheckId", 1))
 11536  	}
 11537  
 11538  	if invalidParams.Len() > 0 {
 11539  		return invalidParams
 11540  	}
 11541  	return nil
 11542  }
 11543  
 11544  // SetHealthCheckId sets the HealthCheckId field's value.
 11545  func (s *GetHealthCheckStatusInput) SetHealthCheckId(v string) *GetHealthCheckStatusInput {
 11546  	s.HealthCheckId = &v
 11547  	return s
 11548  }
 11549  
 11550  // A complex type that contains the response to a GetHealthCheck request.
 11551  type GetHealthCheckStatusOutput struct {
 11552  	_ struct{} `type:"structure"`
 11553  
 11554  	// A list that contains one HealthCheckObservation element for each Amazon Route
 11555  	// 53 health checker that is reporting a status about the health check endpoint.
 11556  	//
 11557  	// HealthCheckObservations is a required field
 11558  	HealthCheckObservations []*HealthCheckObservation `locationNameList:"HealthCheckObservation" type:"list" required:"true"`
 11559  }
 11560  
 11561  // String returns the string representation.
 11562  //
 11563  // API parameter values that are decorated as "sensitive" in the API will not
 11564  // be included in the string output. The member name will be present, but the
 11565  // value will be replaced with "sensitive".
 11566  func (s GetHealthCheckStatusOutput) String() string {
 11567  	return awsutil.Prettify(s)
 11568  }
 11569  
 11570  // GoString returns the string representation.
 11571  //
 11572  // API parameter values that are decorated as "sensitive" in the API will not
 11573  // be included in the string output. The member name will be present, but the
 11574  // value will be replaced with "sensitive".
 11575  func (s GetHealthCheckStatusOutput) GoString() string {
 11576  	return s.String()
 11577  }
 11578  
 11579  // SetHealthCheckObservations sets the HealthCheckObservations field's value.
 11580  func (s *GetHealthCheckStatusOutput) SetHealthCheckObservations(v []*HealthCheckObservation) *GetHealthCheckStatusOutput {
 11581  	s.HealthCheckObservations = v
 11582  	return s
 11583  }
 11584  
 11585  // A request to retrieve a count of all the hosted zones that are associated
 11586  // with the current Amazon Web Services account.
 11587  type GetHostedZoneCountInput struct {
 11588  	_ struct{} `locationName:"GetHostedZoneCountRequest" type:"structure"`
 11589  }
 11590  
 11591  // String returns the string representation.
 11592  //
 11593  // API parameter values that are decorated as "sensitive" in the API will not
 11594  // be included in the string output. The member name will be present, but the
 11595  // value will be replaced with "sensitive".
 11596  func (s GetHostedZoneCountInput) String() string {
 11597  	return awsutil.Prettify(s)
 11598  }
 11599  
 11600  // GoString returns the string representation.
 11601  //
 11602  // API parameter values that are decorated as "sensitive" in the API will not
 11603  // be included in the string output. The member name will be present, but the
 11604  // value will be replaced with "sensitive".
 11605  func (s GetHostedZoneCountInput) GoString() string {
 11606  	return s.String()
 11607  }
 11608  
 11609  // A complex type that contains the response to a GetHostedZoneCount request.
 11610  type GetHostedZoneCountOutput struct {
 11611  	_ struct{} `type:"structure"`
 11612  
 11613  	// The total number of public and private hosted zones that are associated with
 11614  	// the current Amazon Web Services account.
 11615  	//
 11616  	// HostedZoneCount is a required field
 11617  	HostedZoneCount *int64 `type:"long" required:"true"`
 11618  }
 11619  
 11620  // String returns the string representation.
 11621  //
 11622  // API parameter values that are decorated as "sensitive" in the API will not
 11623  // be included in the string output. The member name will be present, but the
 11624  // value will be replaced with "sensitive".
 11625  func (s GetHostedZoneCountOutput) String() string {
 11626  	return awsutil.Prettify(s)
 11627  }
 11628  
 11629  // GoString returns the string representation.
 11630  //
 11631  // API parameter values that are decorated as "sensitive" in the API will not
 11632  // be included in the string output. The member name will be present, but the
 11633  // value will be replaced with "sensitive".
 11634  func (s GetHostedZoneCountOutput) GoString() string {
 11635  	return s.String()
 11636  }
 11637  
 11638  // SetHostedZoneCount sets the HostedZoneCount field's value.
 11639  func (s *GetHostedZoneCountOutput) SetHostedZoneCount(v int64) *GetHostedZoneCountOutput {
 11640  	s.HostedZoneCount = &v
 11641  	return s
 11642  }
 11643  
 11644  // A request to get information about a specified hosted zone.
 11645  type GetHostedZoneInput struct {
 11646  	_ struct{} `locationName:"GetHostedZoneRequest" type:"structure"`
 11647  
 11648  	// The ID of the hosted zone that you want to get information about.
 11649  	//
 11650  	// Id is a required field
 11651  	Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
 11652  }
 11653  
 11654  // String returns the string representation.
 11655  //
 11656  // API parameter values that are decorated as "sensitive" in the API will not
 11657  // be included in the string output. The member name will be present, but the
 11658  // value will be replaced with "sensitive".
 11659  func (s GetHostedZoneInput) String() string {
 11660  	return awsutil.Prettify(s)
 11661  }
 11662  
 11663  // GoString returns the string representation.
 11664  //
 11665  // API parameter values that are decorated as "sensitive" in the API will not
 11666  // be included in the string output. The member name will be present, but the
 11667  // value will be replaced with "sensitive".
 11668  func (s GetHostedZoneInput) GoString() string {
 11669  	return s.String()
 11670  }
 11671  
 11672  // Validate inspects the fields of the type to determine if they are valid.
 11673  func (s *GetHostedZoneInput) Validate() error {
 11674  	invalidParams := request.ErrInvalidParams{Context: "GetHostedZoneInput"}
 11675  	if s.Id == nil {
 11676  		invalidParams.Add(request.NewErrParamRequired("Id"))
 11677  	}
 11678  	if s.Id != nil && len(*s.Id) < 1 {
 11679  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
 11680  	}
 11681  
 11682  	if invalidParams.Len() > 0 {
 11683  		return invalidParams
 11684  	}
 11685  	return nil
 11686  }
 11687  
 11688  // SetId sets the Id field's value.
 11689  func (s *GetHostedZoneInput) SetId(v string) *GetHostedZoneInput {
 11690  	s.Id = &v
 11691  	return s
 11692  }
 11693  
 11694  // A complex type that contains information about the request to create a hosted
 11695  // zone.
 11696  type GetHostedZoneLimitInput struct {
 11697  	_ struct{} `locationName:"GetHostedZoneLimitRequest" type:"structure"`
 11698  
 11699  	// The ID of the hosted zone that you want to get a limit for.
 11700  	//
 11701  	// HostedZoneId is a required field
 11702  	HostedZoneId *string `location:"uri" locationName:"Id" type:"string" required:"true"`
 11703  
 11704  	// The limit that you want to get. Valid values include the following:
 11705  	//
 11706  	//    * MAX_RRSETS_BY_ZONE: The maximum number of records that you can create
 11707  	//    in the specified hosted zone.
 11708  	//
 11709  	//    * MAX_VPCS_ASSOCIATED_BY_ZONE: The maximum number of Amazon VPCs that
 11710  	//    you can associate with the specified private hosted zone.
 11711  	//
 11712  	// Type is a required field
 11713  	Type *string `location:"uri" locationName:"Type" type:"string" required:"true" enum:"HostedZoneLimitType"`
 11714  }
 11715  
 11716  // String returns the string representation.
 11717  //
 11718  // API parameter values that are decorated as "sensitive" in the API will not
 11719  // be included in the string output. The member name will be present, but the
 11720  // value will be replaced with "sensitive".
 11721  func (s GetHostedZoneLimitInput) String() string {
 11722  	return awsutil.Prettify(s)
 11723  }
 11724  
 11725  // GoString returns the string representation.
 11726  //
 11727  // API parameter values that are decorated as "sensitive" in the API will not
 11728  // be included in the string output. The member name will be present, but the
 11729  // value will be replaced with "sensitive".
 11730  func (s GetHostedZoneLimitInput) GoString() string {
 11731  	return s.String()
 11732  }
 11733  
 11734  // Validate inspects the fields of the type to determine if they are valid.
 11735  func (s *GetHostedZoneLimitInput) Validate() error {
 11736  	invalidParams := request.ErrInvalidParams{Context: "GetHostedZoneLimitInput"}
 11737  	if s.HostedZoneId == nil {
 11738  		invalidParams.Add(request.NewErrParamRequired("HostedZoneId"))
 11739  	}
 11740  	if s.HostedZoneId != nil && len(*s.HostedZoneId) < 1 {
 11741  		invalidParams.Add(request.NewErrParamMinLen("HostedZoneId", 1))
 11742  	}
 11743  	if s.Type == nil {
 11744  		invalidParams.Add(request.NewErrParamRequired("Type"))
 11745  	}
 11746  	if s.Type != nil && len(*s.Type) < 1 {
 11747  		invalidParams.Add(request.NewErrParamMinLen("Type", 1))
 11748  	}
 11749  
 11750  	if invalidParams.Len() > 0 {
 11751  		return invalidParams
 11752  	}
 11753  	return nil
 11754  }
 11755  
 11756  // SetHostedZoneId sets the HostedZoneId field's value.
 11757  func (s *GetHostedZoneLimitInput) SetHostedZoneId(v string) *GetHostedZoneLimitInput {
 11758  	s.HostedZoneId = &v
 11759  	return s
 11760  }
 11761  
 11762  // SetType sets the Type field's value.
 11763  func (s *GetHostedZoneLimitInput) SetType(v string) *GetHostedZoneLimitInput {
 11764  	s.Type = &v
 11765  	return s
 11766  }
 11767  
 11768  // A complex type that contains the requested limit.
 11769  type GetHostedZoneLimitOutput struct {
 11770  	_ struct{} `type:"structure"`
 11771  
 11772  	// The current number of entities that you have created of the specified type.
 11773  	// For example, if you specified MAX_RRSETS_BY_ZONE for the value of Type in
 11774  	// the request, the value of Count is the current number of records that you
 11775  	// have created in the specified hosted zone.
 11776  	//
 11777  	// Count is a required field
 11778  	Count *int64 `type:"long" required:"true"`
 11779  
 11780  	// The current setting for the specified limit. For example, if you specified
 11781  	// MAX_RRSETS_BY_ZONE for the value of Type in the request, the value of Limit
 11782  	// is the maximum number of records that you can create in the specified hosted
 11783  	// zone.
 11784  	//
 11785  	// Limit is a required field
 11786  	Limit *HostedZoneLimit `type:"structure" required:"true"`
 11787  }
 11788  
 11789  // String returns the string representation.
 11790  //
 11791  // API parameter values that are decorated as "sensitive" in the API will not
 11792  // be included in the string output. The member name will be present, but the
 11793  // value will be replaced with "sensitive".
 11794  func (s GetHostedZoneLimitOutput) String() string {
 11795  	return awsutil.Prettify(s)
 11796  }
 11797  
 11798  // GoString returns the string representation.
 11799  //
 11800  // API parameter values that are decorated as "sensitive" in the API will not
 11801  // be included in the string output. The member name will be present, but the
 11802  // value will be replaced with "sensitive".
 11803  func (s GetHostedZoneLimitOutput) GoString() string {
 11804  	return s.String()
 11805  }
 11806  
 11807  // SetCount sets the Count field's value.
 11808  func (s *GetHostedZoneLimitOutput) SetCount(v int64) *GetHostedZoneLimitOutput {
 11809  	s.Count = &v
 11810  	return s
 11811  }
 11812  
 11813  // SetLimit sets the Limit field's value.
 11814  func (s *GetHostedZoneLimitOutput) SetLimit(v *HostedZoneLimit) *GetHostedZoneLimitOutput {
 11815  	s.Limit = v
 11816  	return s
 11817  }
 11818  
 11819  // A complex type that contain the response to a GetHostedZone request.
 11820  type GetHostedZoneOutput struct {
 11821  	_ struct{} `type:"structure"`
 11822  
 11823  	// A complex type that lists the Amazon Route 53 name servers for the specified
 11824  	// hosted zone.
 11825  	DelegationSet *DelegationSet `type:"structure"`
 11826  
 11827  	// A complex type that contains general information about the specified hosted
 11828  	// zone.
 11829  	//
 11830  	// HostedZone is a required field
 11831  	HostedZone *HostedZone `type:"structure" required:"true"`
 11832  
 11833  	// A complex type that contains information about the VPCs that are associated
 11834  	// with the specified hosted zone.
 11835  	VPCs []*VPC `locationNameList:"VPC" min:"1" type:"list"`
 11836  }
 11837  
 11838  // String returns the string representation.
 11839  //
 11840  // API parameter values that are decorated as "sensitive" in the API will not
 11841  // be included in the string output. The member name will be present, but the
 11842  // value will be replaced with "sensitive".
 11843  func (s GetHostedZoneOutput) String() string {
 11844  	return awsutil.Prettify(s)
 11845  }
 11846  
 11847  // GoString returns the string representation.
 11848  //
 11849  // API parameter values that are decorated as "sensitive" in the API will not
 11850  // be included in the string output. The member name will be present, but the
 11851  // value will be replaced with "sensitive".
 11852  func (s GetHostedZoneOutput) GoString() string {
 11853  	return s.String()
 11854  }
 11855  
 11856  // SetDelegationSet sets the DelegationSet field's value.
 11857  func (s *GetHostedZoneOutput) SetDelegationSet(v *DelegationSet) *GetHostedZoneOutput {
 11858  	s.DelegationSet = v
 11859  	return s
 11860  }
 11861  
 11862  // SetHostedZone sets the HostedZone field's value.
 11863  func (s *GetHostedZoneOutput) SetHostedZone(v *HostedZone) *GetHostedZoneOutput {
 11864  	s.HostedZone = v
 11865  	return s
 11866  }
 11867  
 11868  // SetVPCs sets the VPCs field's value.
 11869  func (s *GetHostedZoneOutput) SetVPCs(v []*VPC) *GetHostedZoneOutput {
 11870  	s.VPCs = v
 11871  	return s
 11872  }
 11873  
 11874  type GetQueryLoggingConfigInput struct {
 11875  	_ struct{} `locationName:"GetQueryLoggingConfigRequest" type:"structure"`
 11876  
 11877  	// The ID of the configuration for DNS query logging that you want to get information
 11878  	// about.
 11879  	//
 11880  	// Id is a required field
 11881  	Id *string `location:"uri" locationName:"Id" min:"1" type:"string" required:"true"`
 11882  }
 11883  
 11884  // String returns the string representation.
 11885  //
 11886  // API parameter values that are decorated as "sensitive" in the API will not
 11887  // be included in the string output. The member name will be present, but the
 11888  // value will be replaced with "sensitive".
 11889  func (s GetQueryLoggingConfigInput) String() string {
 11890  	return awsutil.Prettify(s)
 11891  }
 11892  
 11893  // GoString returns the string representation.
 11894  //
 11895  // API parameter values that are decorated as "sensitive" in the API will not
 11896  // be included in the string output. The member name will be present, but the
 11897  // value will be replaced with "sensitive".
 11898  func (s GetQueryLoggingConfigInput) GoString() string {
 11899  	return s.String()
 11900  }
 11901  
 11902  // Validate inspects the fields of the type to determine if they are valid.
 11903  func (s *GetQueryLoggingConfigInput) Validate() error {
 11904  	invalidParams := request.ErrInvalidParams{Context: "GetQueryLoggingConfigInput"}
 11905  	if s.Id == nil {
 11906  		invalidParams.Add(request.NewErrParamRequired("Id"))
 11907  	}
 11908  	if s.Id != nil && len(*s.Id) < 1 {
 11909  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
 11910  	}
 11911  
 11912  	if invalidParams.Len() > 0 {
 11913  		return invalidParams
 11914  	}
 11915  	return nil
 11916  }
 11917  
 11918  // SetId sets the Id field's value.
 11919  func (s *GetQueryLoggingConfigInput) SetId(v string) *GetQueryLoggingConfigInput {
 11920  	s.Id = &v
 11921  	return s
 11922  }
 11923  
 11924  type GetQueryLoggingConfigOutput struct {
 11925  	_ struct{} `type:"structure"`
 11926  
 11927  	// A complex type that contains information about the query logging configuration
 11928  	// that you specified in a GetQueryLoggingConfig (https://docs.aws.amazon.com/Route53/latest/APIReference/API_GetQueryLoggingConfig.html)
 11929  	// request.
 11930  	//
 11931  	// QueryLoggingConfig is a required field
 11932  	QueryLoggingConfig *QueryLoggingConfig `type:"structure" required:"true"`
 11933  }
 11934  
 11935  // String returns the string representation.
 11936  //
 11937  // API parameter values that are decorated as "sensitive" in the API will not
 11938  // be included in the string output. The member name will be present, but the
 11939  // value will be replaced with "sensitive".
 11940  func (s GetQueryLoggingConfigOutput) String() string {
 11941  	return awsutil.Prettify(s)
 11942  }
 11943  
 11944  // GoString returns the string representation.
 11945  //
 11946  // API parameter values that are decorated as "sensitive" in the API will not
 11947  // be included in the string output. The member name will be present, but the
 11948  // value will be replaced with "sensitive".
 11949  func (s GetQueryLoggingConfigOutput) GoString() string {
 11950  	return s.String()
 11951  }
 11952  
 11953  // SetQueryLoggingConfig sets the QueryLoggingConfig field's value.
 11954  func (s *GetQueryLoggingConfigOutput) SetQueryLoggingConfig(v *QueryLoggingConfig) *GetQueryLoggingConfigOutput {
 11955  	s.QueryLoggingConfig = v
 11956  	return s
 11957  }
 11958  
 11959  // A request to get information about a specified reusable delegation set.
 11960  type GetReusableDelegationSetInput struct {
 11961  	_ struct{} `locationName:"GetReusableDelegationSetRequest" type:"structure"`
 11962  
 11963  	// The ID of the reusable delegation set that you want to get a list of name
 11964  	// servers for.
 11965  	//
 11966  	// Id is a required field
 11967  	Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
 11968  }
 11969  
 11970  // String returns the string representation.
 11971  //
 11972  // API parameter values that are decorated as "sensitive" in the API will not
 11973  // be included in the string output. The member name will be present, but the
 11974  // value will be replaced with "sensitive".
 11975  func (s GetReusableDelegationSetInput) String() string {
 11976  	return awsutil.Prettify(s)
 11977  }
 11978  
 11979  // GoString returns the string representation.
 11980  //
 11981  // API parameter values that are decorated as "sensitive" in the API will not
 11982  // be included in the string output. The member name will be present, but the
 11983  // value will be replaced with "sensitive".
 11984  func (s GetReusableDelegationSetInput) GoString() string {
 11985  	return s.String()
 11986  }
 11987  
 11988  // Validate inspects the fields of the type to determine if they are valid.
 11989  func (s *GetReusableDelegationSetInput) Validate() error {
 11990  	invalidParams := request.ErrInvalidParams{Context: "GetReusableDelegationSetInput"}
 11991  	if s.Id == nil {
 11992  		invalidParams.Add(request.NewErrParamRequired("Id"))
 11993  	}
 11994  	if s.Id != nil && len(*s.Id) < 1 {
 11995  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
 11996  	}
 11997  
 11998  	if invalidParams.Len() > 0 {
 11999  		return invalidParams
 12000  	}
 12001  	return nil
 12002  }
 12003  
 12004  // SetId sets the Id field's value.
 12005  func (s *GetReusableDelegationSetInput) SetId(v string) *GetReusableDelegationSetInput {
 12006  	s.Id = &v
 12007  	return s
 12008  }
 12009  
 12010  // A complex type that contains information about the request to create a hosted
 12011  // zone.
 12012  type GetReusableDelegationSetLimitInput struct {
 12013  	_ struct{} `locationName:"GetReusableDelegationSetLimitRequest" type:"structure"`
 12014  
 12015  	// The ID of the delegation set that you want to get the limit for.
 12016  	//
 12017  	// DelegationSetId is a required field
 12018  	DelegationSetId *string `location:"uri" locationName:"Id" type:"string" required:"true"`
 12019  
 12020  	// Specify MAX_ZONES_BY_REUSABLE_DELEGATION_SET to get the maximum number of
 12021  	// hosted zones that you can associate with the specified reusable delegation
 12022  	// set.
 12023  	//
 12024  	// Type is a required field
 12025  	Type *string `location:"uri" locationName:"Type" type:"string" required:"true" enum:"ReusableDelegationSetLimitType"`
 12026  }
 12027  
 12028  // String returns the string representation.
 12029  //
 12030  // API parameter values that are decorated as "sensitive" in the API will not
 12031  // be included in the string output. The member name will be present, but the
 12032  // value will be replaced with "sensitive".
 12033  func (s GetReusableDelegationSetLimitInput) String() string {
 12034  	return awsutil.Prettify(s)
 12035  }
 12036  
 12037  // GoString returns the string representation.
 12038  //
 12039  // API parameter values that are decorated as "sensitive" in the API will not
 12040  // be included in the string output. The member name will be present, but the
 12041  // value will be replaced with "sensitive".
 12042  func (s GetReusableDelegationSetLimitInput) GoString() string {
 12043  	return s.String()
 12044  }
 12045  
 12046  // Validate inspects the fields of the type to determine if they are valid.
 12047  func (s *GetReusableDelegationSetLimitInput) Validate() error {
 12048  	invalidParams := request.ErrInvalidParams{Context: "GetReusableDelegationSetLimitInput"}
 12049  	if s.DelegationSetId == nil {
 12050  		invalidParams.Add(request.NewErrParamRequired("DelegationSetId"))
 12051  	}
 12052  	if s.DelegationSetId != nil && len(*s.DelegationSetId) < 1 {
 12053  		invalidParams.Add(request.NewErrParamMinLen("DelegationSetId", 1))
 12054  	}
 12055  	if s.Type == nil {
 12056  		invalidParams.Add(request.NewErrParamRequired("Type"))
 12057  	}
 12058  	if s.Type != nil && len(*s.Type) < 1 {
 12059  		invalidParams.Add(request.NewErrParamMinLen("Type", 1))
 12060  	}
 12061  
 12062  	if invalidParams.Len() > 0 {
 12063  		return invalidParams
 12064  	}
 12065  	return nil
 12066  }
 12067  
 12068  // SetDelegationSetId sets the DelegationSetId field's value.
 12069  func (s *GetReusableDelegationSetLimitInput) SetDelegationSetId(v string) *GetReusableDelegationSetLimitInput {
 12070  	s.DelegationSetId = &v
 12071  	return s
 12072  }
 12073  
 12074  // SetType sets the Type field's value.
 12075  func (s *GetReusableDelegationSetLimitInput) SetType(v string) *GetReusableDelegationSetLimitInput {
 12076  	s.Type = &v
 12077  	return s
 12078  }
 12079  
 12080  // A complex type that contains the requested limit.
 12081  type GetReusableDelegationSetLimitOutput struct {
 12082  	_ struct{} `type:"structure"`
 12083  
 12084  	// The current number of hosted zones that you can associate with the specified
 12085  	// reusable delegation set.
 12086  	//
 12087  	// Count is a required field
 12088  	Count *int64 `type:"long" required:"true"`
 12089  
 12090  	// The current setting for the limit on hosted zones that you can associate
 12091  	// with the specified reusable delegation set.
 12092  	//
 12093  	// Limit is a required field
 12094  	Limit *ReusableDelegationSetLimit `type:"structure" required:"true"`
 12095  }
 12096  
 12097  // String returns the string representation.
 12098  //
 12099  // API parameter values that are decorated as "sensitive" in the API will not
 12100  // be included in the string output. The member name will be present, but the
 12101  // value will be replaced with "sensitive".
 12102  func (s GetReusableDelegationSetLimitOutput) String() string {
 12103  	return awsutil.Prettify(s)
 12104  }
 12105  
 12106  // GoString returns the string representation.
 12107  //
 12108  // API parameter values that are decorated as "sensitive" in the API will not
 12109  // be included in the string output. The member name will be present, but the
 12110  // value will be replaced with "sensitive".
 12111  func (s GetReusableDelegationSetLimitOutput) GoString() string {
 12112  	return s.String()
 12113  }
 12114  
 12115  // SetCount sets the Count field's value.
 12116  func (s *GetReusableDelegationSetLimitOutput) SetCount(v int64) *GetReusableDelegationSetLimitOutput {
 12117  	s.Count = &v
 12118  	return s
 12119  }
 12120  
 12121  // SetLimit sets the Limit field's value.
 12122  func (s *GetReusableDelegationSetLimitOutput) SetLimit(v *ReusableDelegationSetLimit) *GetReusableDelegationSetLimitOutput {
 12123  	s.Limit = v
 12124  	return s
 12125  }
 12126  
 12127  // A complex type that contains the response to the GetReusableDelegationSet
 12128  // request.
 12129  type GetReusableDelegationSetOutput struct {
 12130  	_ struct{} `type:"structure"`
 12131  
 12132  	// A complex type that contains information about the reusable delegation set.
 12133  	//
 12134  	// DelegationSet is a required field
 12135  	DelegationSet *DelegationSet `type:"structure" required:"true"`
 12136  }
 12137  
 12138  // String returns the string representation.
 12139  //
 12140  // API parameter values that are decorated as "sensitive" in the API will not
 12141  // be included in the string output. The member name will be present, but the
 12142  // value will be replaced with "sensitive".
 12143  func (s GetReusableDelegationSetOutput) String() string {
 12144  	return awsutil.Prettify(s)
 12145  }
 12146  
 12147  // GoString returns the string representation.
 12148  //
 12149  // API parameter values that are decorated as "sensitive" in the API will not
 12150  // be included in the string output. The member name will be present, but the
 12151  // value will be replaced with "sensitive".
 12152  func (s GetReusableDelegationSetOutput) GoString() string {
 12153  	return s.String()
 12154  }
 12155  
 12156  // SetDelegationSet sets the DelegationSet field's value.
 12157  func (s *GetReusableDelegationSetOutput) SetDelegationSet(v *DelegationSet) *GetReusableDelegationSetOutput {
 12158  	s.DelegationSet = v
 12159  	return s
 12160  }
 12161  
 12162  // Gets information about a specific traffic policy version.
 12163  type GetTrafficPolicyInput struct {
 12164  	_ struct{} `locationName:"GetTrafficPolicyRequest" type:"structure"`
 12165  
 12166  	// The ID of the traffic policy that you want to get information about.
 12167  	//
 12168  	// Id is a required field
 12169  	Id *string `location:"uri" locationName:"Id" min:"1" type:"string" required:"true"`
 12170  
 12171  	// The version number of the traffic policy that you want to get information
 12172  	// about.
 12173  	//
 12174  	// Version is a required field
 12175  	Version *int64 `location:"uri" locationName:"Version" min:"1" type:"integer" required:"true"`
 12176  }
 12177  
 12178  // String returns the string representation.
 12179  //
 12180  // API parameter values that are decorated as "sensitive" in the API will not
 12181  // be included in the string output. The member name will be present, but the
 12182  // value will be replaced with "sensitive".
 12183  func (s GetTrafficPolicyInput) String() string {
 12184  	return awsutil.Prettify(s)
 12185  }
 12186  
 12187  // GoString returns the string representation.
 12188  //
 12189  // API parameter values that are decorated as "sensitive" in the API will not
 12190  // be included in the string output. The member name will be present, but the
 12191  // value will be replaced with "sensitive".
 12192  func (s GetTrafficPolicyInput) GoString() string {
 12193  	return s.String()
 12194  }
 12195  
 12196  // Validate inspects the fields of the type to determine if they are valid.
 12197  func (s *GetTrafficPolicyInput) Validate() error {
 12198  	invalidParams := request.ErrInvalidParams{Context: "GetTrafficPolicyInput"}
 12199  	if s.Id == nil {
 12200  		invalidParams.Add(request.NewErrParamRequired("Id"))
 12201  	}
 12202  	if s.Id != nil && len(*s.Id) < 1 {
 12203  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
 12204  	}
 12205  	if s.Version == nil {
 12206  		invalidParams.Add(request.NewErrParamRequired("Version"))
 12207  	}
 12208  	if s.Version != nil && *s.Version < 1 {
 12209  		invalidParams.Add(request.NewErrParamMinValue("Version", 1))
 12210  	}
 12211  
 12212  	if invalidParams.Len() > 0 {
 12213  		return invalidParams
 12214  	}
 12215  	return nil
 12216  }
 12217  
 12218  // SetId sets the Id field's value.
 12219  func (s *GetTrafficPolicyInput) SetId(v string) *GetTrafficPolicyInput {
 12220  	s.Id = &v
 12221  	return s
 12222  }
 12223  
 12224  // SetVersion sets the Version field's value.
 12225  func (s *GetTrafficPolicyInput) SetVersion(v int64) *GetTrafficPolicyInput {
 12226  	s.Version = &v
 12227  	return s
 12228  }
 12229  
 12230  // Request to get the number of traffic policy instances that are associated
 12231  // with the current Amazon Web Services account.
 12232  type GetTrafficPolicyInstanceCountInput struct {
 12233  	_ struct{} `locationName:"GetTrafficPolicyInstanceCountRequest" type:"structure"`
 12234  }
 12235  
 12236  // String returns the string representation.
 12237  //
 12238  // API parameter values that are decorated as "sensitive" in the API will not
 12239  // be included in the string output. The member name will be present, but the
 12240  // value will be replaced with "sensitive".
 12241  func (s GetTrafficPolicyInstanceCountInput) String() string {
 12242  	return awsutil.Prettify(s)
 12243  }
 12244  
 12245  // GoString returns the string representation.
 12246  //
 12247  // API parameter values that are decorated as "sensitive" in the API will not
 12248  // be included in the string output. The member name will be present, but the
 12249  // value will be replaced with "sensitive".
 12250  func (s GetTrafficPolicyInstanceCountInput) GoString() string {
 12251  	return s.String()
 12252  }
 12253  
 12254  // A complex type that contains information about the resource record sets that
 12255  // Amazon Route 53 created based on a specified traffic policy.
 12256  type GetTrafficPolicyInstanceCountOutput struct {
 12257  	_ struct{} `type:"structure"`
 12258  
 12259  	// The number of traffic policy instances that are associated with the current
 12260  	// Amazon Web Services account.
 12261  	//
 12262  	// TrafficPolicyInstanceCount is a required field
 12263  	TrafficPolicyInstanceCount *int64 `type:"integer" required:"true"`
 12264  }
 12265  
 12266  // String returns the string representation.
 12267  //
 12268  // API parameter values that are decorated as "sensitive" in the API will not
 12269  // be included in the string output. The member name will be present, but the
 12270  // value will be replaced with "sensitive".
 12271  func (s GetTrafficPolicyInstanceCountOutput) String() string {
 12272  	return awsutil.Prettify(s)
 12273  }
 12274  
 12275  // GoString returns the string representation.
 12276  //
 12277  // API parameter values that are decorated as "sensitive" in the API will not
 12278  // be included in the string output. The member name will be present, but the
 12279  // value will be replaced with "sensitive".
 12280  func (s GetTrafficPolicyInstanceCountOutput) GoString() string {
 12281  	return s.String()
 12282  }
 12283  
 12284  // SetTrafficPolicyInstanceCount sets the TrafficPolicyInstanceCount field's value.
 12285  func (s *GetTrafficPolicyInstanceCountOutput) SetTrafficPolicyInstanceCount(v int64) *GetTrafficPolicyInstanceCountOutput {
 12286  	s.TrafficPolicyInstanceCount = &v
 12287  	return s
 12288  }
 12289  
 12290  // Gets information about a specified traffic policy instance.
 12291  type GetTrafficPolicyInstanceInput struct {
 12292  	_ struct{} `locationName:"GetTrafficPolicyInstanceRequest" type:"structure"`
 12293  
 12294  	// The ID of the traffic policy instance that you want to get information about.
 12295  	//
 12296  	// Id is a required field
 12297  	Id *string `location:"uri" locationName:"Id" min:"1" type:"string" required:"true"`
 12298  }
 12299  
 12300  // String returns the string representation.
 12301  //
 12302  // API parameter values that are decorated as "sensitive" in the API will not
 12303  // be included in the string output. The member name will be present, but the
 12304  // value will be replaced with "sensitive".
 12305  func (s GetTrafficPolicyInstanceInput) String() string {
 12306  	return awsutil.Prettify(s)
 12307  }
 12308  
 12309  // GoString returns the string representation.
 12310  //
 12311  // API parameter values that are decorated as "sensitive" in the API will not
 12312  // be included in the string output. The member name will be present, but the
 12313  // value will be replaced with "sensitive".
 12314  func (s GetTrafficPolicyInstanceInput) GoString() string {
 12315  	return s.String()
 12316  }
 12317  
 12318  // Validate inspects the fields of the type to determine if they are valid.
 12319  func (s *GetTrafficPolicyInstanceInput) Validate() error {
 12320  	invalidParams := request.ErrInvalidParams{Context: "GetTrafficPolicyInstanceInput"}
 12321  	if s.Id == nil {
 12322  		invalidParams.Add(request.NewErrParamRequired("Id"))
 12323  	}
 12324  	if s.Id != nil && len(*s.Id) < 1 {
 12325  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
 12326  	}
 12327  
 12328  	if invalidParams.Len() > 0 {
 12329  		return invalidParams
 12330  	}
 12331  	return nil
 12332  }
 12333  
 12334  // SetId sets the Id field's value.
 12335  func (s *GetTrafficPolicyInstanceInput) SetId(v string) *GetTrafficPolicyInstanceInput {
 12336  	s.Id = &v
 12337  	return s
 12338  }
 12339  
 12340  // A complex type that contains information about the resource record sets that
 12341  // Amazon Route 53 created based on a specified traffic policy.
 12342  type GetTrafficPolicyInstanceOutput struct {
 12343  	_ struct{} `type:"structure"`
 12344  
 12345  	// A complex type that contains settings for the traffic policy instance.
 12346  	//
 12347  	// TrafficPolicyInstance is a required field
 12348  	TrafficPolicyInstance *TrafficPolicyInstance `type:"structure" required:"true"`
 12349  }
 12350  
 12351  // String returns the string representation.
 12352  //
 12353  // API parameter values that are decorated as "sensitive" in the API will not
 12354  // be included in the string output. The member name will be present, but the
 12355  // value will be replaced with "sensitive".
 12356  func (s GetTrafficPolicyInstanceOutput) String() string {
 12357  	return awsutil.Prettify(s)
 12358  }
 12359  
 12360  // GoString returns the string representation.
 12361  //
 12362  // API parameter values that are decorated as "sensitive" in the API will not
 12363  // be included in the string output. The member name will be present, but the
 12364  // value will be replaced with "sensitive".
 12365  func (s GetTrafficPolicyInstanceOutput) GoString() string {
 12366  	return s.String()
 12367  }
 12368  
 12369  // SetTrafficPolicyInstance sets the TrafficPolicyInstance field's value.
 12370  func (s *GetTrafficPolicyInstanceOutput) SetTrafficPolicyInstance(v *TrafficPolicyInstance) *GetTrafficPolicyInstanceOutput {
 12371  	s.TrafficPolicyInstance = v
 12372  	return s
 12373  }
 12374  
 12375  // A complex type that contains the response information for the request.
 12376  type GetTrafficPolicyOutput struct {
 12377  	_ struct{} `type:"structure"`
 12378  
 12379  	// A complex type that contains settings for the specified traffic policy.
 12380  	//
 12381  	// TrafficPolicy is a required field
 12382  	TrafficPolicy *TrafficPolicy `type:"structure" required:"true"`
 12383  }
 12384  
 12385  // String returns the string representation.
 12386  //
 12387  // API parameter values that are decorated as "sensitive" in the API will not
 12388  // be included in the string output. The member name will be present, but the
 12389  // value will be replaced with "sensitive".
 12390  func (s GetTrafficPolicyOutput) String() string {
 12391  	return awsutil.Prettify(s)
 12392  }
 12393  
 12394  // GoString returns the string representation.
 12395  //
 12396  // API parameter values that are decorated as "sensitive" in the API will not
 12397  // be included in the string output. The member name will be present, but the
 12398  // value will be replaced with "sensitive".
 12399  func (s GetTrafficPolicyOutput) GoString() string {
 12400  	return s.String()
 12401  }
 12402  
 12403  // SetTrafficPolicy sets the TrafficPolicy field's value.
 12404  func (s *GetTrafficPolicyOutput) SetTrafficPolicy(v *TrafficPolicy) *GetTrafficPolicyOutput {
 12405  	s.TrafficPolicy = v
 12406  	return s
 12407  }
 12408  
 12409  // A complex type that contains information about one health check that is associated
 12410  // with the current Amazon Web Services account.
 12411  type HealthCheck struct {
 12412  	_ struct{} `type:"structure"`
 12413  
 12414  	// A unique string that you specified when you created the health check.
 12415  	//
 12416  	// CallerReference is a required field
 12417  	CallerReference *string `min:"1" type:"string" required:"true"`
 12418  
 12419  	// A complex type that contains information about the CloudWatch alarm that
 12420  	// Amazon Route 53 is monitoring for this health check.
 12421  	CloudWatchAlarmConfiguration *CloudWatchAlarmConfiguration `type:"structure"`
 12422  
 12423  	// A complex type that contains detailed information about one health check.
 12424  	//
 12425  	// HealthCheckConfig is a required field
 12426  	HealthCheckConfig *HealthCheckConfig `type:"structure" required:"true"`
 12427  
 12428  	// The version of the health check. You can optionally pass this value in a
 12429  	// call to UpdateHealthCheck to prevent overwriting another change to the health
 12430  	// check.
 12431  	//
 12432  	// HealthCheckVersion is a required field
 12433  	HealthCheckVersion *int64 `min:"1" type:"long" required:"true"`
 12434  
 12435  	// The identifier that Amazon Route 53 assigned to the health check when you
 12436  	// created it. When you add or update a resource record set, you use this value
 12437  	// to specify which health check to use. The value can be up to 64 characters
 12438  	// long.
 12439  	//
 12440  	// Id is a required field
 12441  	Id *string `type:"string" required:"true"`
 12442  
 12443  	// If the health check was created by another service, the service that created
 12444  	// the health check. When a health check is created by another service, you
 12445  	// can't edit or delete it using Amazon Route 53.
 12446  	LinkedService *LinkedService `type:"structure"`
 12447  }
 12448  
 12449  // String returns the string representation.
 12450  //
 12451  // API parameter values that are decorated as "sensitive" in the API will not
 12452  // be included in the string output. The member name will be present, but the
 12453  // value will be replaced with "sensitive".
 12454  func (s HealthCheck) String() string {
 12455  	return awsutil.Prettify(s)
 12456  }
 12457  
 12458  // GoString returns the string representation.
 12459  //
 12460  // API parameter values that are decorated as "sensitive" in the API will not
 12461  // be included in the string output. The member name will be present, but the
 12462  // value will be replaced with "sensitive".
 12463  func (s HealthCheck) GoString() string {
 12464  	return s.String()
 12465  }
 12466  
 12467  // SetCallerReference sets the CallerReference field's value.
 12468  func (s *HealthCheck) SetCallerReference(v string) *HealthCheck {
 12469  	s.CallerReference = &v
 12470  	return s
 12471  }
 12472  
 12473  // SetCloudWatchAlarmConfiguration sets the CloudWatchAlarmConfiguration field's value.
 12474  func (s *HealthCheck) SetCloudWatchAlarmConfiguration(v *CloudWatchAlarmConfiguration) *HealthCheck {
 12475  	s.CloudWatchAlarmConfiguration = v
 12476  	return s
 12477  }
 12478  
 12479  // SetHealthCheckConfig sets the HealthCheckConfig field's value.
 12480  func (s *HealthCheck) SetHealthCheckConfig(v *HealthCheckConfig) *HealthCheck {
 12481  	s.HealthCheckConfig = v
 12482  	return s
 12483  }
 12484  
 12485  // SetHealthCheckVersion sets the HealthCheckVersion field's value.
 12486  func (s *HealthCheck) SetHealthCheckVersion(v int64) *HealthCheck {
 12487  	s.HealthCheckVersion = &v
 12488  	return s
 12489  }
 12490  
 12491  // SetId sets the Id field's value.
 12492  func (s *HealthCheck) SetId(v string) *HealthCheck {
 12493  	s.Id = &v
 12494  	return s
 12495  }
 12496  
 12497  // SetLinkedService sets the LinkedService field's value.
 12498  func (s *HealthCheck) SetLinkedService(v *LinkedService) *HealthCheck {
 12499  	s.LinkedService = v
 12500  	return s
 12501  }
 12502  
 12503  // A complex type that contains information about the health check.
 12504  type HealthCheckConfig struct {
 12505  	_ struct{} `type:"structure"`
 12506  
 12507  	// A complex type that identifies the CloudWatch alarm that you want Amazon
 12508  	// Route 53 health checkers to use to determine whether the specified health
 12509  	// check is healthy.
 12510  	AlarmIdentifier *AlarmIdentifier `type:"structure"`
 12511  
 12512  	// (CALCULATED Health Checks Only) A complex type that contains one ChildHealthCheck
 12513  	// element for each health check that you want to associate with a CALCULATED
 12514  	// health check.
 12515  	ChildHealthChecks []*string `locationNameList:"ChildHealthCheck" type:"list"`
 12516  
 12517  	// Stops Route 53 from performing health checks. When you disable a health check,
 12518  	// here's what happens:
 12519  	//
 12520  	//    * Health checks that check the health of endpoints: Route 53 stops submitting
 12521  	//    requests to your application, server, or other resource.
 12522  	//
 12523  	//    * Calculated health checks: Route 53 stops aggregating the status of the
 12524  	//    referenced health checks.
 12525  	//
 12526  	//    * Health checks that monitor CloudWatch alarms: Route 53 stops monitoring
 12527  	//    the corresponding CloudWatch metrics.
 12528  	//
 12529  	// After you disable a health check, Route 53 considers the status of the health
 12530  	// check to always be healthy. If you configured DNS failover, Route 53 continues
 12531  	// to route traffic to the corresponding resources. If you want to stop routing
 12532  	// traffic to a resource, change the value of Inverted (https://docs.aws.amazon.com/Route53/latest/APIReference/API_UpdateHealthCheck.html#Route53-UpdateHealthCheck-request-Inverted).
 12533  	//
 12534  	// Charges for a health check still apply when the health check is disabled.
 12535  	// For more information, see Amazon Route 53 Pricing (http://aws.amazon.com/route53/pricing/).
 12536  	Disabled *bool `type:"boolean"`
 12537  
 12538  	// Specify whether you want Amazon Route 53 to send the value of FullyQualifiedDomainName
 12539  	// to the endpoint in the client_hello message during TLS negotiation. This
 12540  	// allows the endpoint to respond to HTTPS health check requests with the applicable
 12541  	// SSL/TLS certificate.
 12542  	//
 12543  	// Some endpoints require that HTTPS requests include the host name in the client_hello
 12544  	// message. If you don't enable SNI, the status of the health check will be
 12545  	// SSL alert handshake_failure. A health check can also have that status for
 12546  	// other reasons. If SNI is enabled and you're still getting the error, check
 12547  	// the SSL/TLS configuration on your endpoint and confirm that your certificate
 12548  	// is valid.
 12549  	//
 12550  	// The SSL/TLS certificate on your endpoint includes a domain name in the Common
 12551  	// Name field and possibly several more in the Subject Alternative Names field.
 12552  	// One of the domain names in the certificate should match the value that you
 12553  	// specify for FullyQualifiedDomainName. If the endpoint responds to the client_hello
 12554  	// message with a certificate that does not include the domain name that you
 12555  	// specified in FullyQualifiedDomainName, a health checker will retry the handshake.
 12556  	// In the second attempt, the health checker will omit FullyQualifiedDomainName
 12557  	// from the client_hello message.
 12558  	EnableSNI *bool `type:"boolean"`
 12559  
 12560  	// The number of consecutive health checks that an endpoint must pass or fail
 12561  	// for Amazon Route 53 to change the current status of the endpoint from unhealthy
 12562  	// to healthy or vice versa. For more information, see How Amazon Route 53 Determines
 12563  	// Whether an Endpoint Is Healthy (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html)
 12564  	// in the Amazon Route 53 Developer Guide.
 12565  	//
 12566  	// If you don't specify a value for FailureThreshold, the default value is three
 12567  	// health checks.
 12568  	FailureThreshold *int64 `min:"1" type:"integer"`
 12569  
 12570  	// Amazon Route 53 behavior depends on whether you specify a value for IPAddress.
 12571  	//
 12572  	// If you specify a value for IPAddress:
 12573  	//
 12574  	// Amazon Route 53 sends health check requests to the specified IPv4 or IPv6
 12575  	// address and passes the value of FullyQualifiedDomainName in the Host header
 12576  	// for all health checks except TCP health checks. This is typically the fully
 12577  	// qualified DNS name of the endpoint on which you want Route 53 to perform
 12578  	// health checks.
 12579  	//
 12580  	// When Route 53 checks the health of an endpoint, here is how it constructs
 12581  	// the Host header:
 12582  	//
 12583  	//    * If you specify a value of 80 for Port and HTTP or HTTP_STR_MATCH for
 12584  	//    Type, Route 53 passes the value of FullyQualifiedDomainName to the endpoint
 12585  	//    in the Host header.
 12586  	//
 12587  	//    * If you specify a value of 443 for Port and HTTPS or HTTPS_STR_MATCH
 12588  	//    for Type, Route 53 passes the value of FullyQualifiedDomainName to the
 12589  	//    endpoint in the Host header.
 12590  	//
 12591  	//    * If you specify another value for Port and any value except TCP for Type,
 12592  	//    Route 53 passes FullyQualifiedDomainName:Port to the endpoint in the Host
 12593  	//    header.
 12594  	//
 12595  	// If you don't specify a value for FullyQualifiedDomainName, Route 53 substitutes
 12596  	// the value of IPAddress in the Host header in each of the preceding cases.
 12597  	//
 12598  	// If you don't specify a value for IPAddress:
 12599  	//
 12600  	// Route 53 sends a DNS request to the domain that you specify for FullyQualifiedDomainName
 12601  	// at the interval that you specify for RequestInterval. Using an IPv4 address
 12602  	// that DNS returns, Route 53 then checks the health of the endpoint.
 12603  	//
 12604  	// If you don't specify a value for IPAddress, Route 53 uses only IPv4 to send
 12605  	// health checks to the endpoint. If there's no resource record set with a type
 12606  	// of A for the name that you specify for FullyQualifiedDomainName, the health
 12607  	// check fails with a "DNS resolution failed" error.
 12608  	//
 12609  	// If you want to check the health of weighted, latency, or failover resource
 12610  	// record sets and you choose to specify the endpoint only by FullyQualifiedDomainName,
 12611  	// we recommend that you create a separate health check for each endpoint. For
 12612  	// example, create a health check for each HTTP server that is serving content
 12613  	// for www.example.com. For the value of FullyQualifiedDomainName, specify the
 12614  	// domain name of the server (such as us-east-2-www.example.com), not the name
 12615  	// of the resource record sets (www.example.com).
 12616  	//
 12617  	// In this configuration, if you create a health check for which the value of
 12618  	// FullyQualifiedDomainName matches the name of the resource record sets and
 12619  	// you then associate the health check with those resource record sets, health
 12620  	// check results will be unpredictable.
 12621  	//
 12622  	// In addition, if the value that you specify for Type is HTTP, HTTPS, HTTP_STR_MATCH,
 12623  	// or HTTPS_STR_MATCH, Route 53 passes the value of FullyQualifiedDomainName
 12624  	// in the Host header, as it does when you specify a value for IPAddress. If
 12625  	// the value of Type is TCP, Route 53 doesn't pass a Host header.
 12626  	FullyQualifiedDomainName *string `type:"string"`
 12627  
 12628  	// The number of child health checks that are associated with a CALCULATED health
 12629  	// check that Amazon Route 53 must consider healthy for the CALCULATED health
 12630  	// check to be considered healthy. To specify the child health checks that you
 12631  	// want to associate with a CALCULATED health check, use the ChildHealthChecks
 12632  	// (https://docs.aws.amazon.com/Route53/latest/APIReference/API_UpdateHealthCheck.html#Route53-UpdateHealthCheck-request-ChildHealthChecks)
 12633  	// element.
 12634  	//
 12635  	// Note the following:
 12636  	//
 12637  	//    * If you specify a number greater than the number of child health checks,
 12638  	//    Route 53 always considers this health check to be unhealthy.
 12639  	//
 12640  	//    * If you specify 0, Route 53 always considers this health check to be
 12641  	//    healthy.
 12642  	HealthThreshold *int64 `type:"integer"`
 12643  
 12644  	// The IPv4 or IPv6 IP address of the endpoint that you want Amazon Route 53
 12645  	// to perform health checks on. If you don't specify a value for IPAddress,
 12646  	// Route 53 sends a DNS request to resolve the domain name that you specify
 12647  	// in FullyQualifiedDomainName at the interval that you specify in RequestInterval.
 12648  	// Using an IP address returned by DNS, Route 53 then checks the health of the
 12649  	// endpoint.
 12650  	//
 12651  	// Use one of the following formats for the value of IPAddress:
 12652  	//
 12653  	//    * IPv4 address: four values between 0 and 255, separated by periods (.),
 12654  	//    for example, 192.0.2.44.
 12655  	//
 12656  	//    * IPv6 address: eight groups of four hexadecimal values, separated by
 12657  	//    colons (:), for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345. You
 12658  	//    can also shorten IPv6 addresses as described in RFC 5952, for example,
 12659  	//    2001:db8:85a3::abcd:1:2345.
 12660  	//
 12661  	// If the endpoint is an EC2 instance, we recommend that you create an Elastic
 12662  	// IP address, associate it with your EC2 instance, and specify the Elastic
 12663  	// IP address for IPAddress. This ensures that the IP address of your instance
 12664  	// will never change.
 12665  	//
 12666  	// For more information, see FullyQualifiedDomainName (https://docs.aws.amazon.com/Route53/latest/APIReference/API_UpdateHealthCheck.html#Route53-UpdateHealthCheck-request-FullyQualifiedDomainName).
 12667  	//
 12668  	// Constraints: Route 53 can't check the health of endpoints for which the IP
 12669  	// address is in local, private, non-routable, or multicast ranges. For more
 12670  	// information about IP addresses for which you can't create health checks,
 12671  	// see the following documents:
 12672  	//
 12673  	//    * RFC 5735, Special Use IPv4 Addresses (https://tools.ietf.org/html/rfc5735)
 12674  	//
 12675  	//    * RFC 6598, IANA-Reserved IPv4 Prefix for Shared Address Space (https://tools.ietf.org/html/rfc6598)
 12676  	//
 12677  	//    * RFC 5156, Special-Use IPv6 Addresses (https://tools.ietf.org/html/rfc5156)
 12678  	//
 12679  	// When the value of Type is CALCULATED or CLOUDWATCH_METRIC, omit IPAddress.
 12680  	IPAddress *string `type:"string"`
 12681  
 12682  	// When CloudWatch has insufficient data about the metric to determine the alarm
 12683  	// state, the status that you want Amazon Route 53 to assign to the health check:
 12684  	//
 12685  	//    * Healthy: Route 53 considers the health check to be healthy.
 12686  	//
 12687  	//    * Unhealthy: Route 53 considers the health check to be unhealthy.
 12688  	//
 12689  	//    * LastKnownStatus: Route 53 uses the status of the health check from the
 12690  	//    last time that CloudWatch had sufficient data to determine the alarm state.
 12691  	//    For new health checks that have no last known status, the default status
 12692  	//    for the health check is healthy.
 12693  	InsufficientDataHealthStatus *string `type:"string" enum:"InsufficientDataHealthStatus"`
 12694  
 12695  	// Specify whether you want Amazon Route 53 to invert the status of a health
 12696  	// check, for example, to consider a health check unhealthy when it otherwise
 12697  	// would be considered healthy.
 12698  	Inverted *bool `type:"boolean"`
 12699  
 12700  	// Specify whether you want Amazon Route 53 to measure the latency between health
 12701  	// checkers in multiple Amazon Web Services regions and your endpoint, and to
 12702  	// display CloudWatch latency graphs on the Health Checks page in the Route
 12703  	// 53 console.
 12704  	//
 12705  	// You can't change the value of MeasureLatency after you create a health check.
 12706  	MeasureLatency *bool `type:"boolean"`
 12707  
 12708  	// The port on the endpoint that you want Amazon Route 53 to perform health
 12709  	// checks on.
 12710  	//
 12711  	// Don't specify a value for Port when you specify a value for Type of CLOUDWATCH_METRIC
 12712  	// or CALCULATED.
 12713  	Port *int64 `min:"1" type:"integer"`
 12714  
 12715  	// A complex type that contains one Region element for each region from which
 12716  	// you want Amazon Route 53 health checkers to check the specified endpoint.
 12717  	//
 12718  	// If you don't specify any regions, Route 53 health checkers automatically
 12719  	// performs checks from all of the regions that are listed under Valid Values.
 12720  	//
 12721  	// If you update a health check to remove a region that has been performing
 12722  	// health checks, Route 53 will briefly continue to perform checks from that
 12723  	// region to ensure that some health checkers are always checking the endpoint
 12724  	// (for example, if you replace three regions with four different regions).
 12725  	Regions []*string `locationNameList:"Region" min:"3" type:"list"`
 12726  
 12727  	// The number of seconds between the time that Amazon Route 53 gets a response
 12728  	// from your endpoint and the time that it sends the next health check request.
 12729  	// Each Route 53 health checker makes requests at this interval.
 12730  	//
 12731  	// You can't change the value of RequestInterval after you create a health check.
 12732  	//
 12733  	// If you don't specify a value for RequestInterval, the default value is 30
 12734  	// seconds.
 12735  	RequestInterval *int64 `min:"10" type:"integer"`
 12736  
 12737  	// The path, if any, that you want Amazon Route 53 to request when performing
 12738  	// health checks. The path can be any value for which your endpoint will return
 12739  	// an HTTP status code of 2xx or 3xx when the endpoint is healthy, for example,
 12740  	// the file /docs/route53-health-check.html. You can also include query string
 12741  	// parameters, for example, /welcome.html?language=jp&login=y.
 12742  	ResourcePath *string `type:"string"`
 12743  
 12744  	// The Amazon Resource Name (ARN) for the Route 53 Application Recovery Controller
 12745  	// routing control.
 12746  	//
 12747  	// For more information about Route 53 Application Recovery Controller, see
 12748  	// Route 53 Application Recovery Controller Developer Guide. (https://docs.aws.amazon.com/r53recovery/latest/dg/what-is-route-53-recovery.html).
 12749  	RoutingControlArn *string `min:"1" type:"string"`
 12750  
 12751  	// If the value of Type is HTTP_STR_MATCH or HTTPS_STR_MATCH, the string that
 12752  	// you want Amazon Route 53 to search for in the response body from the specified
 12753  	// resource. If the string appears in the response body, Route 53 considers
 12754  	// the resource healthy.
 12755  	//
 12756  	// Route 53 considers case when searching for SearchString in the response body.
 12757  	SearchString *string `type:"string"`
 12758  
 12759  	// The type of health check that you want to create, which indicates how Amazon
 12760  	// Route 53 determines whether an endpoint is healthy.
 12761  	//
 12762  	// You can't change the value of Type after you create a health check.
 12763  	//
 12764  	// You can create the following types of health checks:
 12765  	//
 12766  	//    * HTTP: Route 53 tries to establish a TCP connection. If successful, Route
 12767  	//    53 submits an HTTP request and waits for an HTTP status code of 200 or
 12768  	//    greater and less than 400.
 12769  	//
 12770  	//    * HTTPS: Route 53 tries to establish a TCP connection. If successful,
 12771  	//    Route 53 submits an HTTPS request and waits for an HTTP status code of
 12772  	//    200 or greater and less than 400. If you specify HTTPS for the value of
 12773  	//    Type, the endpoint must support TLS v1.0 or later.
 12774  	//
 12775  	//    * HTTP_STR_MATCH: Route 53 tries to establish a TCP connection. If successful,
 12776  	//    Route 53 submits an HTTP request and searches the first 5,120 bytes of
 12777  	//    the response body for the string that you specify in SearchString.
 12778  	//
 12779  	//    * HTTPS_STR_MATCH: Route 53 tries to establish a TCP connection. If successful,
 12780  	//    Route 53 submits an HTTPS request and searches the first 5,120 bytes of
 12781  	//    the response body for the string that you specify in SearchString.
 12782  	//
 12783  	//    * TCP: Route 53 tries to establish a TCP connection.
 12784  	//
 12785  	//    * CLOUDWATCH_METRIC: The health check is associated with a CloudWatch
 12786  	//    alarm. If the state of the alarm is OK, the health check is considered
 12787  	//    healthy. If the state is ALARM, the health check is considered unhealthy.
 12788  	//    If CloudWatch doesn't have sufficient data to determine whether the state
 12789  	//    is OK or ALARM, the health check status depends on the setting for InsufficientDataHealthStatus:
 12790  	//    Healthy, Unhealthy, or LastKnownStatus.
 12791  	//
 12792  	//    * CALCULATED: For health checks that monitor the status of other health
 12793  	//    checks, Route 53 adds up the number of health checks that Route 53 health
 12794  	//    checkers consider to be healthy and compares that number with the value
 12795  	//    of HealthThreshold.
 12796  	//
 12797  	//    * RECOVERY_CONTROL: The health check is assocated with a Route53 Application
 12798  	//    Recovery Controller routing control. If the routing control state is ON,
 12799  	//    the health check is considered healthy. If the state is OFF, the health
 12800  	//    check is considered unhealthy.
 12801  	//
 12802  	// For more information, see How Route 53 Determines Whether an Endpoint Is
 12803  	// Healthy (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html)
 12804  	// in the Amazon Route 53 Developer Guide.
 12805  	//
 12806  	// Type is a required field
 12807  	Type *string `type:"string" required:"true" enum:"HealthCheckType"`
 12808  }
 12809  
 12810  // String returns the string representation.
 12811  //
 12812  // API parameter values that are decorated as "sensitive" in the API will not
 12813  // be included in the string output. The member name will be present, but the
 12814  // value will be replaced with "sensitive".
 12815  func (s HealthCheckConfig) String() string {
 12816  	return awsutil.Prettify(s)
 12817  }
 12818  
 12819  // GoString returns the string representation.
 12820  //
 12821  // API parameter values that are decorated as "sensitive" in the API will not
 12822  // be included in the string output. The member name will be present, but the
 12823  // value will be replaced with "sensitive".
 12824  func (s HealthCheckConfig) GoString() string {
 12825  	return s.String()
 12826  }
 12827  
 12828  // Validate inspects the fields of the type to determine if they are valid.
 12829  func (s *HealthCheckConfig) Validate() error {
 12830  	invalidParams := request.ErrInvalidParams{Context: "HealthCheckConfig"}
 12831  	if s.FailureThreshold != nil && *s.FailureThreshold < 1 {
 12832  		invalidParams.Add(request.NewErrParamMinValue("FailureThreshold", 1))
 12833  	}
 12834  	if s.Port != nil && *s.Port < 1 {
 12835  		invalidParams.Add(request.NewErrParamMinValue("Port", 1))
 12836  	}
 12837  	if s.Regions != nil && len(s.Regions) < 3 {
 12838  		invalidParams.Add(request.NewErrParamMinLen("Regions", 3))
 12839  	}
 12840  	if s.RequestInterval != nil && *s.RequestInterval < 10 {
 12841  		invalidParams.Add(request.NewErrParamMinValue("RequestInterval", 10))
 12842  	}
 12843  	if s.RoutingControlArn != nil && len(*s.RoutingControlArn) < 1 {
 12844  		invalidParams.Add(request.NewErrParamMinLen("RoutingControlArn", 1))
 12845  	}
 12846  	if s.Type == nil {
 12847  		invalidParams.Add(request.NewErrParamRequired("Type"))
 12848  	}
 12849  	if s.AlarmIdentifier != nil {
 12850  		if err := s.AlarmIdentifier.Validate(); err != nil {
 12851  			invalidParams.AddNested("AlarmIdentifier", err.(request.ErrInvalidParams))
 12852  		}
 12853  	}
 12854  
 12855  	if invalidParams.Len() > 0 {
 12856  		return invalidParams
 12857  	}
 12858  	return nil
 12859  }
 12860  
 12861  // SetAlarmIdentifier sets the AlarmIdentifier field's value.
 12862  func (s *HealthCheckConfig) SetAlarmIdentifier(v *AlarmIdentifier) *HealthCheckConfig {
 12863  	s.AlarmIdentifier = v
 12864  	return s
 12865  }
 12866  
 12867  // SetChildHealthChecks sets the ChildHealthChecks field's value.
 12868  func (s *HealthCheckConfig) SetChildHealthChecks(v []*string) *HealthCheckConfig {
 12869  	s.ChildHealthChecks = v
 12870  	return s
 12871  }
 12872  
 12873  // SetDisabled sets the Disabled field's value.
 12874  func (s *HealthCheckConfig) SetDisabled(v bool) *HealthCheckConfig {
 12875  	s.Disabled = &v
 12876  	return s
 12877  }
 12878  
 12879  // SetEnableSNI sets the EnableSNI field's value.
 12880  func (s *HealthCheckConfig) SetEnableSNI(v bool) *HealthCheckConfig {
 12881  	s.EnableSNI = &v
 12882  	return s
 12883  }
 12884  
 12885  // SetFailureThreshold sets the FailureThreshold field's value.
 12886  func (s *HealthCheckConfig) SetFailureThreshold(v int64) *HealthCheckConfig {
 12887  	s.FailureThreshold = &v
 12888  	return s
 12889  }
 12890  
 12891  // SetFullyQualifiedDomainName sets the FullyQualifiedDomainName field's value.
 12892  func (s *HealthCheckConfig) SetFullyQualifiedDomainName(v string) *HealthCheckConfig {
 12893  	s.FullyQualifiedDomainName = &v
 12894  	return s
 12895  }
 12896  
 12897  // SetHealthThreshold sets the HealthThreshold field's value.
 12898  func (s *HealthCheckConfig) SetHealthThreshold(v int64) *HealthCheckConfig {
 12899  	s.HealthThreshold = &v
 12900  	return s
 12901  }
 12902  
 12903  // SetIPAddress sets the IPAddress field's value.
 12904  func (s *HealthCheckConfig) SetIPAddress(v string) *HealthCheckConfig {
 12905  	s.IPAddress = &v
 12906  	return s
 12907  }
 12908  
 12909  // SetInsufficientDataHealthStatus sets the InsufficientDataHealthStatus field's value.
 12910  func (s *HealthCheckConfig) SetInsufficientDataHealthStatus(v string) *HealthCheckConfig {
 12911  	s.InsufficientDataHealthStatus = &v
 12912  	return s
 12913  }
 12914  
 12915  // SetInverted sets the Inverted field's value.
 12916  func (s *HealthCheckConfig) SetInverted(v bool) *HealthCheckConfig {
 12917  	s.Inverted = &v
 12918  	return s
 12919  }
 12920  
 12921  // SetMeasureLatency sets the MeasureLatency field's value.
 12922  func (s *HealthCheckConfig) SetMeasureLatency(v bool) *HealthCheckConfig {
 12923  	s.MeasureLatency = &v
 12924  	return s
 12925  }
 12926  
 12927  // SetPort sets the Port field's value.
 12928  func (s *HealthCheckConfig) SetPort(v int64) *HealthCheckConfig {
 12929  	s.Port = &v
 12930  	return s
 12931  }
 12932  
 12933  // SetRegions sets the Regions field's value.
 12934  func (s *HealthCheckConfig) SetRegions(v []*string) *HealthCheckConfig {
 12935  	s.Regions = v
 12936  	return s
 12937  }
 12938  
 12939  // SetRequestInterval sets the RequestInterval field's value.
 12940  func (s *HealthCheckConfig) SetRequestInterval(v int64) *HealthCheckConfig {
 12941  	s.RequestInterval = &v
 12942  	return s
 12943  }
 12944  
 12945  // SetResourcePath sets the ResourcePath field's value.
 12946  func (s *HealthCheckConfig) SetResourcePath(v string) *HealthCheckConfig {
 12947  	s.ResourcePath = &v
 12948  	return s
 12949  }
 12950  
 12951  // SetRoutingControlArn sets the RoutingControlArn field's value.
 12952  func (s *HealthCheckConfig) SetRoutingControlArn(v string) *HealthCheckConfig {
 12953  	s.RoutingControlArn = &v
 12954  	return s
 12955  }
 12956  
 12957  // SetSearchString sets the SearchString field's value.
 12958  func (s *HealthCheckConfig) SetSearchString(v string) *HealthCheckConfig {
 12959  	s.SearchString = &v
 12960  	return s
 12961  }
 12962  
 12963  // SetType sets the Type field's value.
 12964  func (s *HealthCheckConfig) SetType(v string) *HealthCheckConfig {
 12965  	s.Type = &v
 12966  	return s
 12967  }
 12968  
 12969  // A complex type that contains the last failure reason as reported by one Amazon
 12970  // Route 53 health checker.
 12971  type HealthCheckObservation struct {
 12972  	_ struct{} `type:"structure"`
 12973  
 12974  	// The IP address of the Amazon Route 53 health checker that provided the failure
 12975  	// reason in StatusReport.
 12976  	IPAddress *string `type:"string"`
 12977  
 12978  	// The region of the Amazon Route 53 health checker that provided the status
 12979  	// in StatusReport.
 12980  	Region *string `min:"1" type:"string" enum:"HealthCheckRegion"`
 12981  
 12982  	// A complex type that contains the last failure reason as reported by one Amazon
 12983  	// Route 53 health checker and the time of the failed health check.
 12984  	StatusReport *StatusReport `type:"structure"`
 12985  }
 12986  
 12987  // String returns the string representation.
 12988  //
 12989  // API parameter values that are decorated as "sensitive" in the API will not
 12990  // be included in the string output. The member name will be present, but the
 12991  // value will be replaced with "sensitive".
 12992  func (s HealthCheckObservation) String() string {
 12993  	return awsutil.Prettify(s)
 12994  }
 12995  
 12996  // GoString returns the string representation.
 12997  //
 12998  // API parameter values that are decorated as "sensitive" in the API will not
 12999  // be included in the string output. The member name will be present, but the
 13000  // value will be replaced with "sensitive".
 13001  func (s HealthCheckObservation) GoString() string {
 13002  	return s.String()
 13003  }
 13004  
 13005  // SetIPAddress sets the IPAddress field's value.
 13006  func (s *HealthCheckObservation) SetIPAddress(v string) *HealthCheckObservation {
 13007  	s.IPAddress = &v
 13008  	return s
 13009  }
 13010  
 13011  // SetRegion sets the Region field's value.
 13012  func (s *HealthCheckObservation) SetRegion(v string) *HealthCheckObservation {
 13013  	s.Region = &v
 13014  	return s
 13015  }
 13016  
 13017  // SetStatusReport sets the StatusReport field's value.
 13018  func (s *HealthCheckObservation) SetStatusReport(v *StatusReport) *HealthCheckObservation {
 13019  	s.StatusReport = v
 13020  	return s
 13021  }
 13022  
 13023  // A complex type that contains general information about the hosted zone.
 13024  type HostedZone struct {
 13025  	_ struct{} `type:"structure"`
 13026  
 13027  	// The value that you specified for CallerReference when you created the hosted
 13028  	// zone.
 13029  	//
 13030  	// CallerReference is a required field
 13031  	CallerReference *string `min:"1" type:"string" required:"true"`
 13032  
 13033  	// A complex type that includes the Comment and PrivateZone elements. If you
 13034  	// omitted the HostedZoneConfig and Comment elements from the request, the Config
 13035  	// and Comment elements don't appear in the response.
 13036  	Config *HostedZoneConfig `type:"structure"`
 13037  
 13038  	// The ID that Amazon Route 53 assigned to the hosted zone when you created
 13039  	// it.
 13040  	//
 13041  	// Id is a required field
 13042  	Id *string `type:"string" required:"true"`
 13043  
 13044  	// If the hosted zone was created by another service, the service that created
 13045  	// the hosted zone. When a hosted zone is created by another service, you can't
 13046  	// edit or delete it using Route 53.
 13047  	LinkedService *LinkedService `type:"structure"`
 13048  
 13049  	// The name of the domain. For public hosted zones, this is the name that you
 13050  	// have registered with your DNS registrar.
 13051  	//
 13052  	// For information about how to specify characters other than a-z, 0-9, and
 13053  	// - (hyphen) and how to specify internationalized domain names, see CreateHostedZone
 13054  	// (https://docs.aws.amazon.com/Route53/latest/APIReference/API_CreateHostedZone.html).
 13055  	//
 13056  	// Name is a required field
 13057  	Name *string `type:"string" required:"true"`
 13058  
 13059  	// The number of resource record sets in the hosted zone.
 13060  	ResourceRecordSetCount *int64 `type:"long"`
 13061  }
 13062  
 13063  // String returns the string representation.
 13064  //
 13065  // API parameter values that are decorated as "sensitive" in the API will not
 13066  // be included in the string output. The member name will be present, but the
 13067  // value will be replaced with "sensitive".
 13068  func (s HostedZone) String() string {
 13069  	return awsutil.Prettify(s)
 13070  }
 13071  
 13072  // GoString returns the string representation.
 13073  //
 13074  // API parameter values that are decorated as "sensitive" in the API will not
 13075  // be included in the string output. The member name will be present, but the
 13076  // value will be replaced with "sensitive".
 13077  func (s HostedZone) GoString() string {
 13078  	return s.String()
 13079  }
 13080  
 13081  // SetCallerReference sets the CallerReference field's value.
 13082  func (s *HostedZone) SetCallerReference(v string) *HostedZone {
 13083  	s.CallerReference = &v
 13084  	return s
 13085  }
 13086  
 13087  // SetConfig sets the Config field's value.
 13088  func (s *HostedZone) SetConfig(v *HostedZoneConfig) *HostedZone {
 13089  	s.Config = v
 13090  	return s
 13091  }
 13092  
 13093  // SetId sets the Id field's value.
 13094  func (s *HostedZone) SetId(v string) *HostedZone {
 13095  	s.Id = &v
 13096  	return s
 13097  }
 13098  
 13099  // SetLinkedService sets the LinkedService field's value.
 13100  func (s *HostedZone) SetLinkedService(v *LinkedService) *HostedZone {
 13101  	s.LinkedService = v
 13102  	return s
 13103  }
 13104  
 13105  // SetName sets the Name field's value.
 13106  func (s *HostedZone) SetName(v string) *HostedZone {
 13107  	s.Name = &v
 13108  	return s
 13109  }
 13110  
 13111  // SetResourceRecordSetCount sets the ResourceRecordSetCount field's value.
 13112  func (s *HostedZone) SetResourceRecordSetCount(v int64) *HostedZone {
 13113  	s.ResourceRecordSetCount = &v
 13114  	return s
 13115  }
 13116  
 13117  // A complex type that contains an optional comment about your hosted zone.
 13118  // If you don't want to specify a comment, omit both the HostedZoneConfig and
 13119  // Comment elements.
 13120  type HostedZoneConfig struct {
 13121  	_ struct{} `type:"structure"`
 13122  
 13123  	// Any comments that you want to include about the hosted zone.
 13124  	Comment *string `type:"string"`
 13125  
 13126  	// A value that indicates whether this is a private hosted zone.
 13127  	PrivateZone *bool `type:"boolean"`
 13128  }
 13129  
 13130  // String returns the string representation.
 13131  //
 13132  // API parameter values that are decorated as "sensitive" in the API will not
 13133  // be included in the string output. The member name will be present, but the
 13134  // value will be replaced with "sensitive".
 13135  func (s HostedZoneConfig) String() string {
 13136  	return awsutil.Prettify(s)
 13137  }
 13138  
 13139  // GoString returns the string representation.
 13140  //
 13141  // API parameter values that are decorated as "sensitive" in the API will not
 13142  // be included in the string output. The member name will be present, but the
 13143  // value will be replaced with "sensitive".
 13144  func (s HostedZoneConfig) GoString() string {
 13145  	return s.String()
 13146  }
 13147  
 13148  // SetComment sets the Comment field's value.
 13149  func (s *HostedZoneConfig) SetComment(v string) *HostedZoneConfig {
 13150  	s.Comment = &v
 13151  	return s
 13152  }
 13153  
 13154  // SetPrivateZone sets the PrivateZone field's value.
 13155  func (s *HostedZoneConfig) SetPrivateZone(v bool) *HostedZoneConfig {
 13156  	s.PrivateZone = &v
 13157  	return s
 13158  }
 13159  
 13160  // A complex type that contains the type of limit that you specified in the
 13161  // request and the current value for that limit.
 13162  type HostedZoneLimit struct {
 13163  	_ struct{} `type:"structure"`
 13164  
 13165  	// The limit that you requested. Valid values include the following:
 13166  	//
 13167  	//    * MAX_RRSETS_BY_ZONE: The maximum number of records that you can create
 13168  	//    in the specified hosted zone.
 13169  	//
 13170  	//    * MAX_VPCS_ASSOCIATED_BY_ZONE: The maximum number of Amazon VPCs that
 13171  	//    you can associate with the specified private hosted zone.
 13172  	//
 13173  	// Type is a required field
 13174  	Type *string `type:"string" required:"true" enum:"HostedZoneLimitType"`
 13175  
 13176  	// The current value for the limit that is specified by Type.
 13177  	//
 13178  	// Value is a required field
 13179  	Value *int64 `min:"1" type:"long" required:"true"`
 13180  }
 13181  
 13182  // String returns the string representation.
 13183  //
 13184  // API parameter values that are decorated as "sensitive" in the API will not
 13185  // be included in the string output. The member name will be present, but the
 13186  // value will be replaced with "sensitive".
 13187  func (s HostedZoneLimit) String() string {
 13188  	return awsutil.Prettify(s)
 13189  }
 13190  
 13191  // GoString returns the string representation.
 13192  //
 13193  // API parameter values that are decorated as "sensitive" in the API will not
 13194  // be included in the string output. The member name will be present, but the
 13195  // value will be replaced with "sensitive".
 13196  func (s HostedZoneLimit) GoString() string {
 13197  	return s.String()
 13198  }
 13199  
 13200  // SetType sets the Type field's value.
 13201  func (s *HostedZoneLimit) SetType(v string) *HostedZoneLimit {
 13202  	s.Type = &v
 13203  	return s
 13204  }
 13205  
 13206  // SetValue sets the Value field's value.
 13207  func (s *HostedZoneLimit) SetValue(v int64) *HostedZoneLimit {
 13208  	s.Value = &v
 13209  	return s
 13210  }
 13211  
 13212  // A complex type that identifies a hosted zone that a specified Amazon VPC
 13213  // is associated with and the owner of the hosted zone. If there is a value
 13214  // for OwningAccount, there is no value for OwningService, and vice versa.
 13215  type HostedZoneOwner struct {
 13216  	_ struct{} `type:"structure"`
 13217  
 13218  	// If the hosted zone was created by an Amazon Web Services account, or was
 13219  	// created by an Amazon Web Services service that creates hosted zones using
 13220  	// the current account, OwningAccount contains the account ID of that account.
 13221  	// For example, when you use Cloud Map to create a hosted zone, Cloud Map creates
 13222  	// the hosted zone using the current Amazon Web Services account.
 13223  	OwningAccount *string `type:"string"`
 13224  
 13225  	// If an Amazon Web Services service uses its own account to create a hosted
 13226  	// zone and associate the specified VPC with that hosted zone, OwningService
 13227  	// contains an abbreviation that identifies the service. For example, if Amazon
 13228  	// Elastic File System (Amazon EFS) created a hosted zone and associated a VPC
 13229  	// with the hosted zone, the value of OwningService is efs.amazonaws.com.
 13230  	OwningService *string `type:"string"`
 13231  }
 13232  
 13233  // String returns the string representation.
 13234  //
 13235  // API parameter values that are decorated as "sensitive" in the API will not
 13236  // be included in the string output. The member name will be present, but the
 13237  // value will be replaced with "sensitive".
 13238  func (s HostedZoneOwner) String() string {
 13239  	return awsutil.Prettify(s)
 13240  }
 13241  
 13242  // GoString returns the string representation.
 13243  //
 13244  // API parameter values that are decorated as "sensitive" in the API will not
 13245  // be included in the string output. The member name will be present, but the
 13246  // value will be replaced with "sensitive".
 13247  func (s HostedZoneOwner) GoString() string {
 13248  	return s.String()
 13249  }
 13250  
 13251  // SetOwningAccount sets the OwningAccount field's value.
 13252  func (s *HostedZoneOwner) SetOwningAccount(v string) *HostedZoneOwner {
 13253  	s.OwningAccount = &v
 13254  	return s
 13255  }
 13256  
 13257  // SetOwningService sets the OwningService field's value.
 13258  func (s *HostedZoneOwner) SetOwningService(v string) *HostedZoneOwner {
 13259  	s.OwningService = &v
 13260  	return s
 13261  }
 13262  
 13263  // In the response to a ListHostedZonesByVPC request, the HostedZoneSummaries
 13264  // element contains one HostedZoneSummary element for each hosted zone that
 13265  // the specified Amazon VPC is associated with. Each HostedZoneSummary element
 13266  // contains the hosted zone name and ID, and information about who owns the
 13267  // hosted zone.
 13268  type HostedZoneSummary struct {
 13269  	_ struct{} `type:"structure"`
 13270  
 13271  	// The Route 53 hosted zone ID of a private hosted zone that the specified VPC
 13272  	// is associated with.
 13273  	//
 13274  	// HostedZoneId is a required field
 13275  	HostedZoneId *string `type:"string" required:"true"`
 13276  
 13277  	// The name of the private hosted zone, such as example.com.
 13278  	//
 13279  	// Name is a required field
 13280  	Name *string `type:"string" required:"true"`
 13281  
 13282  	// The owner of a private hosted zone that the specified VPC is associated with.
 13283  	// The owner can be either an Amazon Web Services account or an Amazon Web Services
 13284  	// service.
 13285  	//
 13286  	// Owner is a required field
 13287  	Owner *HostedZoneOwner `type:"structure" required:"true"`
 13288  }
 13289  
 13290  // String returns the string representation.
 13291  //
 13292  // API parameter values that are decorated as "sensitive" in the API will not
 13293  // be included in the string output. The member name will be present, but the
 13294  // value will be replaced with "sensitive".
 13295  func (s HostedZoneSummary) String() string {
 13296  	return awsutil.Prettify(s)
 13297  }
 13298  
 13299  // GoString returns the string representation.
 13300  //
 13301  // API parameter values that are decorated as "sensitive" in the API will not
 13302  // be included in the string output. The member name will be present, but the
 13303  // value will be replaced with "sensitive".
 13304  func (s HostedZoneSummary) GoString() string {
 13305  	return s.String()
 13306  }
 13307  
 13308  // SetHostedZoneId sets the HostedZoneId field's value.
 13309  func (s *HostedZoneSummary) SetHostedZoneId(v string) *HostedZoneSummary {
 13310  	s.HostedZoneId = &v
 13311  	return s
 13312  }
 13313  
 13314  // SetName sets the Name field's value.
 13315  func (s *HostedZoneSummary) SetName(v string) *HostedZoneSummary {
 13316  	s.Name = &v
 13317  	return s
 13318  }
 13319  
 13320  // SetOwner sets the Owner field's value.
 13321  func (s *HostedZoneSummary) SetOwner(v *HostedZoneOwner) *HostedZoneSummary {
 13322  	s.Owner = v
 13323  	return s
 13324  }
 13325  
 13326  // A key-signing key (KSK) is a complex type that represents a public/private
 13327  // key pair. The private key is used to generate a digital signature for the
 13328  // zone signing key (ZSK). The public key is stored in the DNS and is used to
 13329  // authenticate the ZSK. A KSK is always associated with a hosted zone; it cannot
 13330  // exist by itself.
 13331  type KeySigningKey struct {
 13332  	_ struct{} `type:"structure"`
 13333  
 13334  	// The date when the key-signing key (KSK) was created.
 13335  	CreatedDate *time.Time `type:"timestamp"`
 13336  
 13337  	// A string that represents a DNSKEY record.
 13338  	DNSKEYRecord *string `type:"string"`
 13339  
 13340  	// A string that represents a delegation signer (DS) record.
 13341  	DSRecord *string `type:"string"`
 13342  
 13343  	// A string used to represent the delegation signer digest algorithm. This value
 13344  	// must follow the guidelines provided by RFC-8624 Section 3.3 (https://tools.ietf.org/html/rfc8624#section-3.3).
 13345  	DigestAlgorithmMnemonic *string `type:"string"`
 13346  
 13347  	// An integer used to represent the delegation signer digest algorithm. This
 13348  	// value must follow the guidelines provided by RFC-8624 Section 3.3 (https://tools.ietf.org/html/rfc8624#section-3.3).
 13349  	DigestAlgorithmType *int64 `type:"integer"`
 13350  
 13351  	// A cryptographic digest of a DNSKEY resource record (RR). DNSKEY records are
 13352  	// used to publish the public key that resolvers can use to verify DNSSEC signatures
 13353  	// that are used to secure certain kinds of information provided by the DNS
 13354  	// system.
 13355  	DigestValue *string `type:"string"`
 13356  
 13357  	// An integer that specifies how the key is used. For key-signing key (KSK),
 13358  	// this value is always 257.
 13359  	Flag *int64 `type:"integer"`
 13360  
 13361  	// An integer used to identify the DNSSEC record for the domain name. The process
 13362  	// used to calculate the value is described in RFC-4034 Appendix B (https://tools.ietf.org/rfc/rfc4034.txt).
 13363  	KeyTag *int64 `type:"integer"`
 13364  
 13365  	// The Amazon resource name (ARN) used to identify the customer managed customer
 13366  	// master key (CMK) in Key Management Service (KMS). The KmsArn must be unique
 13367  	// for each key-signing key (KSK) in a single hosted zone.
 13368  	//
 13369  	// You must configure the CMK as follows:
 13370  	//
 13371  	// Status
 13372  	//
 13373  	// Enabled
 13374  	//
 13375  	// Key spec
 13376  	//
 13377  	// ECC_NIST_P256
 13378  	//
 13379  	// Key usage
 13380  	//
 13381  	// Sign and verify
 13382  	//
 13383  	// Key policy
 13384  	//
 13385  	// The key policy must give permission for the following actions:
 13386  	//
 13387  	//    * DescribeKey
 13388  	//
 13389  	//    * GetPublicKey
 13390  	//
 13391  	//    * Sign
 13392  	//
 13393  	// The key policy must also include the Amazon Route 53 service in the principal
 13394  	// for your account. Specify the following:
 13395  	//
 13396  	//    * "Service": "dnssec-route53.amazonaws.com"
 13397  	//
 13398  	// For more information about working with the customer managed CMK in KMS,
 13399  	// see Key Management Service concepts (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html).
 13400  	KmsArn *string `type:"string"`
 13401  
 13402  	// The last time that the key-signing key (KSK) was changed.
 13403  	LastModifiedDate *time.Time `type:"timestamp"`
 13404  
 13405  	// A string used to identify a key-signing key (KSK). Name can include numbers,
 13406  	// letters, and underscores (_). Name must be unique for each key-signing key
 13407  	// in the same hosted zone.
 13408  	Name *string `min:"3" type:"string"`
 13409  
 13410  	// The public key, represented as a Base64 encoding, as required by RFC-4034
 13411  	// Page 5 (https://tools.ietf.org/rfc/rfc4034.txt).
 13412  	PublicKey *string `type:"string"`
 13413  
 13414  	// A string used to represent the signing algorithm. This value must follow
 13415  	// the guidelines provided by RFC-8624 Section 3.1 (https://tools.ietf.org/html/rfc8624#section-3.1).
 13416  	SigningAlgorithmMnemonic *string `type:"string"`
 13417  
 13418  	// An integer used to represent the signing algorithm. This value must follow
 13419  	// the guidelines provided by RFC-8624 Section 3.1 (https://tools.ietf.org/html/rfc8624#section-3.1).
 13420  	SigningAlgorithmType *int64 `type:"integer"`
 13421  
 13422  	// A string that represents the current key-signing key (KSK) status.
 13423  	//
 13424  	// Status can have one of the following values:
 13425  	//
 13426  	// ACTIVE
 13427  	//
 13428  	// The KSK is being used for signing.
 13429  	//
 13430  	// INACTIVE
 13431  	//
 13432  	// The KSK is not being used for signing.
 13433  	//
 13434  	// DELETING
 13435  	//
 13436  	// The KSK is in the process of being deleted.
 13437  	//
 13438  	// ACTION_NEEDED
 13439  	//
 13440  	// There is a problem with the KSK that requires you to take action to resolve.
 13441  	// For example, the customer managed customer master key (CMK) might have been
 13442  	// deleted, or the permissions for the customer managed CMK might have been
 13443  	// changed.
 13444  	//
 13445  	// INTERNAL_FAILURE
 13446  	//
 13447  	// There was an error during a request. Before you can continue to work with
 13448  	// DNSSEC signing, including actions that involve this KSK, you must correct
 13449  	// the problem. For example, you may need to activate or deactivate the KSK.
 13450  	Status *string `min:"5" type:"string"`
 13451  
 13452  	// The status message provided for the following key-signing key (KSK) statuses:
 13453  	// ACTION_NEEDED or INTERNAL_FAILURE. The status message includes information
 13454  	// about what the problem might be and steps that you can take to correct the
 13455  	// issue.
 13456  	StatusMessage *string `type:"string"`
 13457  }
 13458  
 13459  // String returns the string representation.
 13460  //
 13461  // API parameter values that are decorated as "sensitive" in the API will not
 13462  // be included in the string output. The member name will be present, but the
 13463  // value will be replaced with "sensitive".
 13464  func (s KeySigningKey) String() string {
 13465  	return awsutil.Prettify(s)
 13466  }
 13467  
 13468  // GoString returns the string representation.
 13469  //
 13470  // API parameter values that are decorated as "sensitive" in the API will not
 13471  // be included in the string output. The member name will be present, but the
 13472  // value will be replaced with "sensitive".
 13473  func (s KeySigningKey) GoString() string {
 13474  	return s.String()
 13475  }
 13476  
 13477  // SetCreatedDate sets the CreatedDate field's value.
 13478  func (s *KeySigningKey) SetCreatedDate(v time.Time) *KeySigningKey {
 13479  	s.CreatedDate = &v
 13480  	return s
 13481  }
 13482  
 13483  // SetDNSKEYRecord sets the DNSKEYRecord field's value.
 13484  func (s *KeySigningKey) SetDNSKEYRecord(v string) *KeySigningKey {
 13485  	s.DNSKEYRecord = &v
 13486  	return s
 13487  }
 13488  
 13489  // SetDSRecord sets the DSRecord field's value.
 13490  func (s *KeySigningKey) SetDSRecord(v string) *KeySigningKey {
 13491  	s.DSRecord = &v
 13492  	return s
 13493  }
 13494  
 13495  // SetDigestAlgorithmMnemonic sets the DigestAlgorithmMnemonic field's value.
 13496  func (s *KeySigningKey) SetDigestAlgorithmMnemonic(v string) *KeySigningKey {
 13497  	s.DigestAlgorithmMnemonic = &v
 13498  	return s
 13499  }
 13500  
 13501  // SetDigestAlgorithmType sets the DigestAlgorithmType field's value.
 13502  func (s *KeySigningKey) SetDigestAlgorithmType(v int64) *KeySigningKey {
 13503  	s.DigestAlgorithmType = &v
 13504  	return s
 13505  }
 13506  
 13507  // SetDigestValue sets the DigestValue field's value.
 13508  func (s *KeySigningKey) SetDigestValue(v string) *KeySigningKey {
 13509  	s.DigestValue = &v
 13510  	return s
 13511  }
 13512  
 13513  // SetFlag sets the Flag field's value.
 13514  func (s *KeySigningKey) SetFlag(v int64) *KeySigningKey {
 13515  	s.Flag = &v
 13516  	return s
 13517  }
 13518  
 13519  // SetKeyTag sets the KeyTag field's value.
 13520  func (s *KeySigningKey) SetKeyTag(v int64) *KeySigningKey {
 13521  	s.KeyTag = &v
 13522  	return s
 13523  }
 13524  
 13525  // SetKmsArn sets the KmsArn field's value.
 13526  func (s *KeySigningKey) SetKmsArn(v string) *KeySigningKey {
 13527  	s.KmsArn = &v
 13528  	return s
 13529  }
 13530  
 13531  // SetLastModifiedDate sets the LastModifiedDate field's value.
 13532  func (s *KeySigningKey) SetLastModifiedDate(v time.Time) *KeySigningKey {
 13533  	s.LastModifiedDate = &v
 13534  	return s
 13535  }
 13536  
 13537  // SetName sets the Name field's value.
 13538  func (s *KeySigningKey) SetName(v string) *KeySigningKey {
 13539  	s.Name = &v
 13540  	return s
 13541  }
 13542  
 13543  // SetPublicKey sets the PublicKey field's value.
 13544  func (s *KeySigningKey) SetPublicKey(v string) *KeySigningKey {
 13545  	s.PublicKey = &v
 13546  	return s
 13547  }
 13548  
 13549  // SetSigningAlgorithmMnemonic sets the SigningAlgorithmMnemonic field's value.
 13550  func (s *KeySigningKey) SetSigningAlgorithmMnemonic(v string) *KeySigningKey {
 13551  	s.SigningAlgorithmMnemonic = &v
 13552  	return s
 13553  }
 13554  
 13555  // SetSigningAlgorithmType sets the SigningAlgorithmType field's value.
 13556  func (s *KeySigningKey) SetSigningAlgorithmType(v int64) *KeySigningKey {
 13557  	s.SigningAlgorithmType = &v
 13558  	return s
 13559  }
 13560  
 13561  // SetStatus sets the Status field's value.
 13562  func (s *KeySigningKey) SetStatus(v string) *KeySigningKey {
 13563  	s.Status = &v
 13564  	return s
 13565  }
 13566  
 13567  // SetStatusMessage sets the StatusMessage field's value.
 13568  func (s *KeySigningKey) SetStatusMessage(v string) *KeySigningKey {
 13569  	s.StatusMessage = &v
 13570  	return s
 13571  }
 13572  
 13573  // If a health check or hosted zone was created by another service, LinkedService
 13574  // is a complex type that describes the service that created the resource. When
 13575  // a resource is created by another service, you can't edit or delete it using
 13576  // Amazon Route 53.
 13577  type LinkedService struct {
 13578  	_ struct{} `type:"structure"`
 13579  
 13580  	// If the health check or hosted zone was created by another service, an optional
 13581  	// description that can be provided by the other service. When a resource is
 13582  	// created by another service, you can't edit or delete it using Amazon Route
 13583  	// 53.
 13584  	Description *string `type:"string"`
 13585  
 13586  	// If the health check or hosted zone was created by another service, the service
 13587  	// that created the resource. When a resource is created by another service,
 13588  	// you can't edit or delete it using Amazon Route 53.
 13589  	ServicePrincipal *string `type:"string"`
 13590  }
 13591  
 13592  // String returns the string representation.
 13593  //
 13594  // API parameter values that are decorated as "sensitive" in the API will not
 13595  // be included in the string output. The member name will be present, but the
 13596  // value will be replaced with "sensitive".
 13597  func (s LinkedService) String() string {
 13598  	return awsutil.Prettify(s)
 13599  }
 13600  
 13601  // GoString returns the string representation.
 13602  //
 13603  // API parameter values that are decorated as "sensitive" in the API will not
 13604  // be included in the string output. The member name will be present, but the
 13605  // value will be replaced with "sensitive".
 13606  func (s LinkedService) GoString() string {
 13607  	return s.String()
 13608  }
 13609  
 13610  // SetDescription sets the Description field's value.
 13611  func (s *LinkedService) SetDescription(v string) *LinkedService {
 13612  	s.Description = &v
 13613  	return s
 13614  }
 13615  
 13616  // SetServicePrincipal sets the ServicePrincipal field's value.
 13617  func (s *LinkedService) SetServicePrincipal(v string) *LinkedService {
 13618  	s.ServicePrincipal = &v
 13619  	return s
 13620  }
 13621  
 13622  // A request to get a list of geographic locations that Amazon Route 53 supports
 13623  // for geolocation resource record sets.
 13624  type ListGeoLocationsInput struct {
 13625  	_ struct{} `locationName:"ListGeoLocationsRequest" type:"structure"`
 13626  
 13627  	// (Optional) The maximum number of geolocations to be included in the response
 13628  	// body for this request. If more than maxitems geolocations remain to be listed,
 13629  	// then the value of the IsTruncated element in the response is true.
 13630  	MaxItems *string `location:"querystring" locationName:"maxitems" type:"string"`
 13631  
 13632  	// The code for the continent with which you want to start listing locations
 13633  	// that Amazon Route 53 supports for geolocation. If Route 53 has already returned
 13634  	// a page or more of results, if IsTruncated is true, and if NextContinentCode
 13635  	// from the previous response has a value, enter that value in startcontinentcode
 13636  	// to return the next page of results.
 13637  	//
 13638  	// Include startcontinentcode only if you want to list continents. Don't include
 13639  	// startcontinentcode when you're listing countries or countries with their
 13640  	// subdivisions.
 13641  	StartContinentCode *string `location:"querystring" locationName:"startcontinentcode" min:"2" type:"string"`
 13642  
 13643  	// The code for the country with which you want to start listing locations that
 13644  	// Amazon Route 53 supports for geolocation. If Route 53 has already returned
 13645  	// a page or more of results, if IsTruncated is true, and if NextCountryCode
 13646  	// from the previous response has a value, enter that value in startcountrycode
 13647  	// to return the next page of results.
 13648  	StartCountryCode *string `location:"querystring" locationName:"startcountrycode" min:"1" type:"string"`
 13649  
 13650  	// The code for the state of the United States with which you want to start
 13651  	// listing locations that Amazon Route 53 supports for geolocation. If Route
 13652  	// 53 has already returned a page or more of results, if IsTruncated is true,
 13653  	// and if NextSubdivisionCode from the previous response has a value, enter
 13654  	// that value in startsubdivisioncode to return the next page of results.
 13655  	//
 13656  	// To list subdivisions (U.S. states), you must include both startcountrycode
 13657  	// and startsubdivisioncode.
 13658  	StartSubdivisionCode *string `location:"querystring" locationName:"startsubdivisioncode" min:"1" type:"string"`
 13659  }
 13660  
 13661  // String returns the string representation.
 13662  //
 13663  // API parameter values that are decorated as "sensitive" in the API will not
 13664  // be included in the string output. The member name will be present, but the
 13665  // value will be replaced with "sensitive".
 13666  func (s ListGeoLocationsInput) String() string {
 13667  	return awsutil.Prettify(s)
 13668  }
 13669  
 13670  // GoString returns the string representation.
 13671  //
 13672  // API parameter values that are decorated as "sensitive" in the API will not
 13673  // be included in the string output. The member name will be present, but the
 13674  // value will be replaced with "sensitive".
 13675  func (s ListGeoLocationsInput) GoString() string {
 13676  	return s.String()
 13677  }
 13678  
 13679  // Validate inspects the fields of the type to determine if they are valid.
 13680  func (s *ListGeoLocationsInput) Validate() error {
 13681  	invalidParams := request.ErrInvalidParams{Context: "ListGeoLocationsInput"}
 13682  	if s.StartContinentCode != nil && len(*s.StartContinentCode) < 2 {
 13683  		invalidParams.Add(request.NewErrParamMinLen("StartContinentCode", 2))
 13684  	}
 13685  	if s.StartCountryCode != nil && len(*s.StartCountryCode) < 1 {
 13686  		invalidParams.Add(request.NewErrParamMinLen("StartCountryCode", 1))
 13687  	}
 13688  	if s.StartSubdivisionCode != nil && len(*s.StartSubdivisionCode) < 1 {
 13689  		invalidParams.Add(request.NewErrParamMinLen("StartSubdivisionCode", 1))
 13690  	}
 13691  
 13692  	if invalidParams.Len() > 0 {
 13693  		return invalidParams
 13694  	}
 13695  	return nil
 13696  }
 13697  
 13698  // SetMaxItems sets the MaxItems field's value.
 13699  func (s *ListGeoLocationsInput) SetMaxItems(v string) *ListGeoLocationsInput {
 13700  	s.MaxItems = &v
 13701  	return s
 13702  }
 13703  
 13704  // SetStartContinentCode sets the StartContinentCode field's value.
 13705  func (s *ListGeoLocationsInput) SetStartContinentCode(v string) *ListGeoLocationsInput {
 13706  	s.StartContinentCode = &v
 13707  	return s
 13708  }
 13709  
 13710  // SetStartCountryCode sets the StartCountryCode field's value.
 13711  func (s *ListGeoLocationsInput) SetStartCountryCode(v string) *ListGeoLocationsInput {
 13712  	s.StartCountryCode = &v
 13713  	return s
 13714  }
 13715  
 13716  // SetStartSubdivisionCode sets the StartSubdivisionCode field's value.
 13717  func (s *ListGeoLocationsInput) SetStartSubdivisionCode(v string) *ListGeoLocationsInput {
 13718  	s.StartSubdivisionCode = &v
 13719  	return s
 13720  }
 13721  
 13722  // A complex type containing the response information for the request.
 13723  type ListGeoLocationsOutput struct {
 13724  	_ struct{} `type:"structure"`
 13725  
 13726  	// A complex type that contains one GeoLocationDetails element for each location
 13727  	// that Amazon Route 53 supports for geolocation.
 13728  	//
 13729  	// GeoLocationDetailsList is a required field
 13730  	GeoLocationDetailsList []*GeoLocationDetails `locationNameList:"GeoLocationDetails" type:"list" required:"true"`
 13731  
 13732  	// A value that indicates whether more locations remain to be listed after the
 13733  	// last location in this response. If so, the value of IsTruncated is true.
 13734  	// To get more values, submit another request and include the values of NextContinentCode,
 13735  	// NextCountryCode, and NextSubdivisionCode in the startcontinentcode, startcountrycode,
 13736  	// and startsubdivisioncode, as applicable.
 13737  	//
 13738  	// IsTruncated is a required field
 13739  	IsTruncated *bool `type:"boolean" required:"true"`
 13740  
 13741  	// The value that you specified for MaxItems in the request.
 13742  	//
 13743  	// MaxItems is a required field
 13744  	MaxItems *string `type:"string" required:"true"`
 13745  
 13746  	// If IsTruncated is true, you can make a follow-up request to display more
 13747  	// locations. Enter the value of NextContinentCode in the startcontinentcode
 13748  	// parameter in another ListGeoLocations request.
 13749  	NextContinentCode *string `min:"2" type:"string"`
 13750  
 13751  	// If IsTruncated is true, you can make a follow-up request to display more
 13752  	// locations. Enter the value of NextCountryCode in the startcountrycode parameter
 13753  	// in another ListGeoLocations request.
 13754  	NextCountryCode *string `min:"1" type:"string"`
 13755  
 13756  	// If IsTruncated is true, you can make a follow-up request to display more
 13757  	// locations. Enter the value of NextSubdivisionCode in the startsubdivisioncode
 13758  	// parameter in another ListGeoLocations request.
 13759  	NextSubdivisionCode *string `min:"1" type:"string"`
 13760  }
 13761  
 13762  // String returns the string representation.
 13763  //
 13764  // API parameter values that are decorated as "sensitive" in the API will not
 13765  // be included in the string output. The member name will be present, but the
 13766  // value will be replaced with "sensitive".
 13767  func (s ListGeoLocationsOutput) String() string {
 13768  	return awsutil.Prettify(s)
 13769  }
 13770  
 13771  // GoString returns the string representation.
 13772  //
 13773  // API parameter values that are decorated as "sensitive" in the API will not
 13774  // be included in the string output. The member name will be present, but the
 13775  // value will be replaced with "sensitive".
 13776  func (s ListGeoLocationsOutput) GoString() string {
 13777  	return s.String()
 13778  }
 13779  
 13780  // SetGeoLocationDetailsList sets the GeoLocationDetailsList field's value.
 13781  func (s *ListGeoLocationsOutput) SetGeoLocationDetailsList(v []*GeoLocationDetails) *ListGeoLocationsOutput {
 13782  	s.GeoLocationDetailsList = v
 13783  	return s
 13784  }
 13785  
 13786  // SetIsTruncated sets the IsTruncated field's value.
 13787  func (s *ListGeoLocationsOutput) SetIsTruncated(v bool) *ListGeoLocationsOutput {
 13788  	s.IsTruncated = &v
 13789  	return s
 13790  }
 13791  
 13792  // SetMaxItems sets the MaxItems field's value.
 13793  func (s *ListGeoLocationsOutput) SetMaxItems(v string) *ListGeoLocationsOutput {
 13794  	s.MaxItems = &v
 13795  	return s
 13796  }
 13797  
 13798  // SetNextContinentCode sets the NextContinentCode field's value.
 13799  func (s *ListGeoLocationsOutput) SetNextContinentCode(v string) *ListGeoLocationsOutput {
 13800  	s.NextContinentCode = &v
 13801  	return s
 13802  }
 13803  
 13804  // SetNextCountryCode sets the NextCountryCode field's value.
 13805  func (s *ListGeoLocationsOutput) SetNextCountryCode(v string) *ListGeoLocationsOutput {
 13806  	s.NextCountryCode = &v
 13807  	return s
 13808  }
 13809  
 13810  // SetNextSubdivisionCode sets the NextSubdivisionCode field's value.
 13811  func (s *ListGeoLocationsOutput) SetNextSubdivisionCode(v string) *ListGeoLocationsOutput {
 13812  	s.NextSubdivisionCode = &v
 13813  	return s
 13814  }
 13815  
 13816  // A request to retrieve a list of the health checks that are associated with
 13817  // the current Amazon Web Services account.
 13818  type ListHealthChecksInput struct {
 13819  	_ struct{} `locationName:"ListHealthChecksRequest" type:"structure"`
 13820  
 13821  	// If the value of IsTruncated in the previous response was true, you have more
 13822  	// health checks. To get another group, submit another ListHealthChecks request.
 13823  	//
 13824  	// For the value of marker, specify the value of NextMarker from the previous
 13825  	// response, which is the ID of the first health check that Amazon Route 53
 13826  	// will return if you submit another request.
 13827  	//
 13828  	// If the value of IsTruncated in the previous response was false, there are
 13829  	// no more health checks to get.
 13830  	Marker *string `location:"querystring" locationName:"marker" type:"string"`
 13831  
 13832  	// The maximum number of health checks that you want ListHealthChecks to return
 13833  	// in response to the current request. Amazon Route 53 returns a maximum of
 13834  	// 100 items. If you set MaxItems to a value greater than 100, Route 53 returns
 13835  	// only the first 100 health checks.
 13836  	MaxItems *string `location:"querystring" locationName:"maxitems" type:"string"`
 13837  }
 13838  
 13839  // String returns the string representation.
 13840  //
 13841  // API parameter values that are decorated as "sensitive" in the API will not
 13842  // be included in the string output. The member name will be present, but the
 13843  // value will be replaced with "sensitive".
 13844  func (s ListHealthChecksInput) String() string {
 13845  	return awsutil.Prettify(s)
 13846  }
 13847  
 13848  // GoString returns the string representation.
 13849  //
 13850  // API parameter values that are decorated as "sensitive" in the API will not
 13851  // be included in the string output. The member name will be present, but the
 13852  // value will be replaced with "sensitive".
 13853  func (s ListHealthChecksInput) GoString() string {
 13854  	return s.String()
 13855  }
 13856  
 13857  // SetMarker sets the Marker field's value.
 13858  func (s *ListHealthChecksInput) SetMarker(v string) *ListHealthChecksInput {
 13859  	s.Marker = &v
 13860  	return s
 13861  }
 13862  
 13863  // SetMaxItems sets the MaxItems field's value.
 13864  func (s *ListHealthChecksInput) SetMaxItems(v string) *ListHealthChecksInput {
 13865  	s.MaxItems = &v
 13866  	return s
 13867  }
 13868  
 13869  // A complex type that contains the response to a ListHealthChecks request.
 13870  type ListHealthChecksOutput struct {
 13871  	_ struct{} `type:"structure"`
 13872  
 13873  	// A complex type that contains one HealthCheck element for each health check
 13874  	// that is associated with the current Amazon Web Services account.
 13875  	//
 13876  	// HealthChecks is a required field
 13877  	HealthChecks []*HealthCheck `locationNameList:"HealthCheck" type:"list" required:"true"`
 13878  
 13879  	// A flag that indicates whether there are more health checks to be listed.
 13880  	// If the response was truncated, you can get the next group of health checks
 13881  	// by submitting another ListHealthChecks request and specifying the value of
 13882  	// NextMarker in the marker parameter.
 13883  	//
 13884  	// IsTruncated is a required field
 13885  	IsTruncated *bool `type:"boolean" required:"true"`
 13886  
 13887  	// For the second and subsequent calls to ListHealthChecks, Marker is the value
 13888  	// that you specified for the marker parameter in the previous request.
 13889  	//
 13890  	// Marker is a required field
 13891  	Marker *string `type:"string" required:"true"`
 13892  
 13893  	// The value that you specified for the maxitems parameter in the call to ListHealthChecks
 13894  	// that produced the current response.
 13895  	//
 13896  	// MaxItems is a required field
 13897  	MaxItems *string `type:"string" required:"true"`
 13898  
 13899  	// If IsTruncated is true, the value of NextMarker identifies the first health
 13900  	// check that Amazon Route 53 returns if you submit another ListHealthChecks
 13901  	// request and specify the value of NextMarker in the marker parameter.
 13902  	NextMarker *string `type:"string"`
 13903  }
 13904  
 13905  // String returns the string representation.
 13906  //
 13907  // API parameter values that are decorated as "sensitive" in the API will not
 13908  // be included in the string output. The member name will be present, but the
 13909  // value will be replaced with "sensitive".
 13910  func (s ListHealthChecksOutput) String() string {
 13911  	return awsutil.Prettify(s)
 13912  }
 13913  
 13914  // GoString returns the string representation.
 13915  //
 13916  // API parameter values that are decorated as "sensitive" in the API will not
 13917  // be included in the string output. The member name will be present, but the
 13918  // value will be replaced with "sensitive".
 13919  func (s ListHealthChecksOutput) GoString() string {
 13920  	return s.String()
 13921  }
 13922  
 13923  // SetHealthChecks sets the HealthChecks field's value.
 13924  func (s *ListHealthChecksOutput) SetHealthChecks(v []*HealthCheck) *ListHealthChecksOutput {
 13925  	s.HealthChecks = v
 13926  	return s
 13927  }
 13928  
 13929  // SetIsTruncated sets the IsTruncated field's value.
 13930  func (s *ListHealthChecksOutput) SetIsTruncated(v bool) *ListHealthChecksOutput {
 13931  	s.IsTruncated = &v
 13932  	return s
 13933  }
 13934  
 13935  // SetMarker sets the Marker field's value.
 13936  func (s *ListHealthChecksOutput) SetMarker(v string) *ListHealthChecksOutput {
 13937  	s.Marker = &v
 13938  	return s
 13939  }
 13940  
 13941  // SetMaxItems sets the MaxItems field's value.
 13942  func (s *ListHealthChecksOutput) SetMaxItems(v string) *ListHealthChecksOutput {
 13943  	s.MaxItems = &v
 13944  	return s
 13945  }
 13946  
 13947  // SetNextMarker sets the NextMarker field's value.
 13948  func (s *ListHealthChecksOutput) SetNextMarker(v string) *ListHealthChecksOutput {
 13949  	s.NextMarker = &v
 13950  	return s
 13951  }
 13952  
 13953  // Retrieves a list of the public and private hosted zones that are associated
 13954  // with the current Amazon Web Services account in ASCII order by domain name.
 13955  type ListHostedZonesByNameInput struct {
 13956  	_ struct{} `locationName:"ListHostedZonesByNameRequest" type:"structure"`
 13957  
 13958  	// (Optional) For your first request to ListHostedZonesByName, include the dnsname
 13959  	// parameter only if you want to specify the name of the first hosted zone in
 13960  	// the response. If you don't include the dnsname parameter, Amazon Route 53
 13961  	// returns all of the hosted zones that were created by the current Amazon Web
 13962  	// Services account, in ASCII order. For subsequent requests, include both dnsname
 13963  	// and hostedzoneid parameters. For dnsname, specify the value of NextDNSName
 13964  	// from the previous response.
 13965  	DNSName *string `location:"querystring" locationName:"dnsname" type:"string"`
 13966  
 13967  	// (Optional) For your first request to ListHostedZonesByName, do not include
 13968  	// the hostedzoneid parameter.
 13969  	//
 13970  	// If you have more hosted zones than the value of maxitems, ListHostedZonesByName
 13971  	// returns only the first maxitems hosted zones. To get the next group of maxitems
 13972  	// hosted zones, submit another request to ListHostedZonesByName and include
 13973  	// both dnsname and hostedzoneid parameters. For the value of hostedzoneid,
 13974  	// specify the value of the NextHostedZoneId element from the previous response.
 13975  	HostedZoneId *string `location:"querystring" locationName:"hostedzoneid" type:"string"`
 13976  
 13977  	// The maximum number of hosted zones to be included in the response body for
 13978  	// this request. If you have more than maxitems hosted zones, then the value
 13979  	// of the IsTruncated element in the response is true, and the values of NextDNSName
 13980  	// and NextHostedZoneId specify the first hosted zone in the next group of maxitems
 13981  	// hosted zones.
 13982  	MaxItems *string `location:"querystring" locationName:"maxitems" type:"string"`
 13983  }
 13984  
 13985  // String returns the string representation.
 13986  //
 13987  // API parameter values that are decorated as "sensitive" in the API will not
 13988  // be included in the string output. The member name will be present, but the
 13989  // value will be replaced with "sensitive".
 13990  func (s ListHostedZonesByNameInput) String() string {
 13991  	return awsutil.Prettify(s)
 13992  }
 13993  
 13994  // GoString returns the string representation.
 13995  //
 13996  // API parameter values that are decorated as "sensitive" in the API will not
 13997  // be included in the string output. The member name will be present, but the
 13998  // value will be replaced with "sensitive".
 13999  func (s ListHostedZonesByNameInput) GoString() string {
 14000  	return s.String()
 14001  }
 14002  
 14003  // SetDNSName sets the DNSName field's value.
 14004  func (s *ListHostedZonesByNameInput) SetDNSName(v string) *ListHostedZonesByNameInput {
 14005  	s.DNSName = &v
 14006  	return s
 14007  }
 14008  
 14009  // SetHostedZoneId sets the HostedZoneId field's value.
 14010  func (s *ListHostedZonesByNameInput) SetHostedZoneId(v string) *ListHostedZonesByNameInput {
 14011  	s.HostedZoneId = &v
 14012  	return s
 14013  }
 14014  
 14015  // SetMaxItems sets the MaxItems field's value.
 14016  func (s *ListHostedZonesByNameInput) SetMaxItems(v string) *ListHostedZonesByNameInput {
 14017  	s.MaxItems = &v
 14018  	return s
 14019  }
 14020  
 14021  // A complex type that contains the response information for the request.
 14022  type ListHostedZonesByNameOutput struct {
 14023  	_ struct{} `type:"structure"`
 14024  
 14025  	// For the second and subsequent calls to ListHostedZonesByName, DNSName is
 14026  	// the value that you specified for the dnsname parameter in the request that
 14027  	// produced the current response.
 14028  	DNSName *string `type:"string"`
 14029  
 14030  	// The ID that Amazon Route 53 assigned to the hosted zone when you created
 14031  	// it.
 14032  	HostedZoneId *string `type:"string"`
 14033  
 14034  	// A complex type that contains general information about the hosted zone.
 14035  	//
 14036  	// HostedZones is a required field
 14037  	HostedZones []*HostedZone `locationNameList:"HostedZone" type:"list" required:"true"`
 14038  
 14039  	// A flag that indicates whether there are more hosted zones to be listed. If
 14040  	// the response was truncated, you can get the next group of maxitems hosted
 14041  	// zones by calling ListHostedZonesByName again and specifying the values of
 14042  	// NextDNSName and NextHostedZoneId elements in the dnsname and hostedzoneid
 14043  	// parameters.
 14044  	//
 14045  	// IsTruncated is a required field
 14046  	IsTruncated *bool `type:"boolean" required:"true"`
 14047  
 14048  	// The value that you specified for the maxitems parameter in the call to ListHostedZonesByName
 14049  	// that produced the current response.
 14050  	//
 14051  	// MaxItems is a required field
 14052  	MaxItems *string `type:"string" required:"true"`
 14053  
 14054  	// If IsTruncated is true, the value of NextDNSName is the name of the first
 14055  	// hosted zone in the next group of maxitems hosted zones. Call ListHostedZonesByName
 14056  	// again and specify the value of NextDNSName and NextHostedZoneId in the dnsname
 14057  	// and hostedzoneid parameters, respectively.
 14058  	//
 14059  	// This element is present only if IsTruncated is true.
 14060  	NextDNSName *string `type:"string"`
 14061  
 14062  	// If IsTruncated is true, the value of NextHostedZoneId identifies the first
 14063  	// hosted zone in the next group of maxitems hosted zones. Call ListHostedZonesByName
 14064  	// again and specify the value of NextDNSName and NextHostedZoneId in the dnsname
 14065  	// and hostedzoneid parameters, respectively.
 14066  	//
 14067  	// This element is present only if IsTruncated is true.
 14068  	NextHostedZoneId *string `type:"string"`
 14069  }
 14070  
 14071  // String returns the string representation.
 14072  //
 14073  // API parameter values that are decorated as "sensitive" in the API will not
 14074  // be included in the string output. The member name will be present, but the
 14075  // value will be replaced with "sensitive".
 14076  func (s ListHostedZonesByNameOutput) String() string {
 14077  	return awsutil.Prettify(s)
 14078  }
 14079  
 14080  // GoString returns the string representation.
 14081  //
 14082  // API parameter values that are decorated as "sensitive" in the API will not
 14083  // be included in the string output. The member name will be present, but the
 14084  // value will be replaced with "sensitive".
 14085  func (s ListHostedZonesByNameOutput) GoString() string {
 14086  	return s.String()
 14087  }
 14088  
 14089  // SetDNSName sets the DNSName field's value.
 14090  func (s *ListHostedZonesByNameOutput) SetDNSName(v string) *ListHostedZonesByNameOutput {
 14091  	s.DNSName = &v
 14092  	return s
 14093  }
 14094  
 14095  // SetHostedZoneId sets the HostedZoneId field's value.
 14096  func (s *ListHostedZonesByNameOutput) SetHostedZoneId(v string) *ListHostedZonesByNameOutput {
 14097  	s.HostedZoneId = &v
 14098  	return s
 14099  }
 14100  
 14101  // SetHostedZones sets the HostedZones field's value.
 14102  func (s *ListHostedZonesByNameOutput) SetHostedZones(v []*HostedZone) *ListHostedZonesByNameOutput {
 14103  	s.HostedZones = v
 14104  	return s
 14105  }
 14106  
 14107  // SetIsTruncated sets the IsTruncated field's value.
 14108  func (s *ListHostedZonesByNameOutput) SetIsTruncated(v bool) *ListHostedZonesByNameOutput {
 14109  	s.IsTruncated = &v
 14110  	return s
 14111  }
 14112  
 14113  // SetMaxItems sets the MaxItems field's value.
 14114  func (s *ListHostedZonesByNameOutput) SetMaxItems(v string) *ListHostedZonesByNameOutput {
 14115  	s.MaxItems = &v
 14116  	return s
 14117  }
 14118  
 14119  // SetNextDNSName sets the NextDNSName field's value.
 14120  func (s *ListHostedZonesByNameOutput) SetNextDNSName(v string) *ListHostedZonesByNameOutput {
 14121  	s.NextDNSName = &v
 14122  	return s
 14123  }
 14124  
 14125  // SetNextHostedZoneId sets the NextHostedZoneId field's value.
 14126  func (s *ListHostedZonesByNameOutput) SetNextHostedZoneId(v string) *ListHostedZonesByNameOutput {
 14127  	s.NextHostedZoneId = &v
 14128  	return s
 14129  }
 14130  
 14131  // Lists all the private hosted zones that a specified VPC is associated with,
 14132  // regardless of which Amazon Web Services account created the hosted zones.
 14133  type ListHostedZonesByVPCInput struct {
 14134  	_ struct{} `locationName:"ListHostedZonesByVPCRequest" type:"structure"`
 14135  
 14136  	// (Optional) The maximum number of hosted zones that you want Amazon Route
 14137  	// 53 to return. If the specified VPC is associated with more than MaxItems
 14138  	// hosted zones, the response includes a NextToken element. NextToken contains
 14139  	// an encrypted token that identifies the first hosted zone that Route 53 will
 14140  	// return if you submit another request.
 14141  	MaxItems *string `location:"querystring" locationName:"maxitems" type:"string"`
 14142  
 14143  	// If the previous response included a NextToken element, the specified VPC
 14144  	// is associated with more hosted zones. To get more hosted zones, submit another
 14145  	// ListHostedZonesByVPC request.
 14146  	//
 14147  	// For the value of NextToken, specify the value of NextToken from the previous
 14148  	// response.
 14149  	//
 14150  	// If the previous response didn't include a NextToken element, there are no
 14151  	// more hosted zones to get.
 14152  	NextToken *string `location:"querystring" locationName:"nexttoken" type:"string"`
 14153  
 14154  	// The ID of the Amazon VPC that you want to list hosted zones for.
 14155  	//
 14156  	// VPCId is a required field
 14157  	VPCId *string `location:"querystring" locationName:"vpcid" type:"string" required:"true"`
 14158  
 14159  	// For the Amazon VPC that you specified for VPCId, the Amazon Web Services
 14160  	// Region that you created the VPC in.
 14161  	//
 14162  	// VPCRegion is a required field
 14163  	VPCRegion *string `location:"querystring" locationName:"vpcregion" min:"1" type:"string" required:"true" enum:"VPCRegion"`
 14164  }
 14165  
 14166  // String returns the string representation.
 14167  //
 14168  // API parameter values that are decorated as "sensitive" in the API will not
 14169  // be included in the string output. The member name will be present, but the
 14170  // value will be replaced with "sensitive".
 14171  func (s ListHostedZonesByVPCInput) String() string {
 14172  	return awsutil.Prettify(s)
 14173  }
 14174  
 14175  // GoString returns the string representation.
 14176  //
 14177  // API parameter values that are decorated as "sensitive" in the API will not
 14178  // be included in the string output. The member name will be present, but the
 14179  // value will be replaced with "sensitive".
 14180  func (s ListHostedZonesByVPCInput) GoString() string {
 14181  	return s.String()
 14182  }
 14183  
 14184  // Validate inspects the fields of the type to determine if they are valid.
 14185  func (s *ListHostedZonesByVPCInput) Validate() error {
 14186  	invalidParams := request.ErrInvalidParams{Context: "ListHostedZonesByVPCInput"}
 14187  	if s.VPCId == nil {
 14188  		invalidParams.Add(request.NewErrParamRequired("VPCId"))
 14189  	}
 14190  	if s.VPCRegion == nil {
 14191  		invalidParams.Add(request.NewErrParamRequired("VPCRegion"))
 14192  	}
 14193  	if s.VPCRegion != nil && len(*s.VPCRegion) < 1 {
 14194  		invalidParams.Add(request.NewErrParamMinLen("VPCRegion", 1))
 14195  	}
 14196  
 14197  	if invalidParams.Len() > 0 {
 14198  		return invalidParams
 14199  	}
 14200  	return nil
 14201  }
 14202  
 14203  // SetMaxItems sets the MaxItems field's value.
 14204  func (s *ListHostedZonesByVPCInput) SetMaxItems(v string) *ListHostedZonesByVPCInput {
 14205  	s.MaxItems = &v
 14206  	return s
 14207  }
 14208  
 14209  // SetNextToken sets the NextToken field's value.
 14210  func (s *ListHostedZonesByVPCInput) SetNextToken(v string) *ListHostedZonesByVPCInput {
 14211  	s.NextToken = &v
 14212  	return s
 14213  }
 14214  
 14215  // SetVPCId sets the VPCId field's value.
 14216  func (s *ListHostedZonesByVPCInput) SetVPCId(v string) *ListHostedZonesByVPCInput {
 14217  	s.VPCId = &v
 14218  	return s
 14219  }
 14220  
 14221  // SetVPCRegion sets the VPCRegion field's value.
 14222  func (s *ListHostedZonesByVPCInput) SetVPCRegion(v string) *ListHostedZonesByVPCInput {
 14223  	s.VPCRegion = &v
 14224  	return s
 14225  }
 14226  
 14227  type ListHostedZonesByVPCOutput struct {
 14228  	_ struct{} `type:"structure"`
 14229  
 14230  	// A list that contains one HostedZoneSummary element for each hosted zone that
 14231  	// the specified Amazon VPC is associated with. Each HostedZoneSummary element
 14232  	// contains the hosted zone name and ID, and information about who owns the
 14233  	// hosted zone.
 14234  	//
 14235  	// HostedZoneSummaries is a required field
 14236  	HostedZoneSummaries []*HostedZoneSummary `locationNameList:"HostedZoneSummary" type:"list" required:"true"`
 14237  
 14238  	// The value that you specified for MaxItems in the most recent ListHostedZonesByVPC
 14239  	// request.
 14240  	//
 14241  	// MaxItems is a required field
 14242  	MaxItems *string `type:"string" required:"true"`
 14243  
 14244  	// The value that you will use for NextToken in the next ListHostedZonesByVPC
 14245  	// request.
 14246  	NextToken *string `type:"string"`
 14247  }
 14248  
 14249  // String returns the string representation.
 14250  //
 14251  // API parameter values that are decorated as "sensitive" in the API will not
 14252  // be included in the string output. The member name will be present, but the
 14253  // value will be replaced with "sensitive".
 14254  func (s ListHostedZonesByVPCOutput) String() string {
 14255  	return awsutil.Prettify(s)
 14256  }
 14257  
 14258  // GoString returns the string representation.
 14259  //
 14260  // API parameter values that are decorated as "sensitive" in the API will not
 14261  // be included in the string output. The member name will be present, but the
 14262  // value will be replaced with "sensitive".
 14263  func (s ListHostedZonesByVPCOutput) GoString() string {
 14264  	return s.String()
 14265  }
 14266  
 14267  // SetHostedZoneSummaries sets the HostedZoneSummaries field's value.
 14268  func (s *ListHostedZonesByVPCOutput) SetHostedZoneSummaries(v []*HostedZoneSummary) *ListHostedZonesByVPCOutput {
 14269  	s.HostedZoneSummaries = v
 14270  	return s
 14271  }
 14272  
 14273  // SetMaxItems sets the MaxItems field's value.
 14274  func (s *ListHostedZonesByVPCOutput) SetMaxItems(v string) *ListHostedZonesByVPCOutput {
 14275  	s.MaxItems = &v
 14276  	return s
 14277  }
 14278  
 14279  // SetNextToken sets the NextToken field's value.
 14280  func (s *ListHostedZonesByVPCOutput) SetNextToken(v string) *ListHostedZonesByVPCOutput {
 14281  	s.NextToken = &v
 14282  	return s
 14283  }
 14284  
 14285  // A request to retrieve a list of the public and private hosted zones that
 14286  // are associated with the current Amazon Web Services account.
 14287  type ListHostedZonesInput struct {
 14288  	_ struct{} `locationName:"ListHostedZonesRequest" type:"structure"`
 14289  
 14290  	// If you're using reusable delegation sets and you want to list all of the
 14291  	// hosted zones that are associated with a reusable delegation set, specify
 14292  	// the ID of that reusable delegation set.
 14293  	DelegationSetId *string `location:"querystring" locationName:"delegationsetid" type:"string"`
 14294  
 14295  	// If the value of IsTruncated in the previous response was true, you have more
 14296  	// hosted zones. To get more hosted zones, submit another ListHostedZones request.
 14297  	//
 14298  	// For the value of marker, specify the value of NextMarker from the previous
 14299  	// response, which is the ID of the first hosted zone that Amazon Route 53 will
 14300  	// return if you submit another request.
 14301  	//
 14302  	// If the value of IsTruncated in the previous response was false, there are
 14303  	// no more hosted zones to get.
 14304  	Marker *string `location:"querystring" locationName:"marker" type:"string"`
 14305  
 14306  	// (Optional) The maximum number of hosted zones that you want Amazon Route
 14307  	// 53 to return. If you have more than maxitems hosted zones, the value of IsTruncated
 14308  	// in the response is true, and the value of NextMarker is the hosted zone ID
 14309  	// of the first hosted zone that Route 53 will return if you submit another
 14310  	// request.
 14311  	MaxItems *string `location:"querystring" locationName:"maxitems" type:"string"`
 14312  }
 14313  
 14314  // String returns the string representation.
 14315  //
 14316  // API parameter values that are decorated as "sensitive" in the API will not
 14317  // be included in the string output. The member name will be present, but the
 14318  // value will be replaced with "sensitive".
 14319  func (s ListHostedZonesInput) String() string {
 14320  	return awsutil.Prettify(s)
 14321  }
 14322  
 14323  // GoString returns the string representation.
 14324  //
 14325  // API parameter values that are decorated as "sensitive" in the API will not
 14326  // be included in the string output. The member name will be present, but the
 14327  // value will be replaced with "sensitive".
 14328  func (s ListHostedZonesInput) GoString() string {
 14329  	return s.String()
 14330  }
 14331  
 14332  // SetDelegationSetId sets the DelegationSetId field's value.
 14333  func (s *ListHostedZonesInput) SetDelegationSetId(v string) *ListHostedZonesInput {
 14334  	s.DelegationSetId = &v
 14335  	return s
 14336  }
 14337  
 14338  // SetMarker sets the Marker field's value.
 14339  func (s *ListHostedZonesInput) SetMarker(v string) *ListHostedZonesInput {
 14340  	s.Marker = &v
 14341  	return s
 14342  }
 14343  
 14344  // SetMaxItems sets the MaxItems field's value.
 14345  func (s *ListHostedZonesInput) SetMaxItems(v string) *ListHostedZonesInput {
 14346  	s.MaxItems = &v
 14347  	return s
 14348  }
 14349  
 14350  type ListHostedZonesOutput struct {
 14351  	_ struct{} `type:"structure"`
 14352  
 14353  	// A complex type that contains general information about the hosted zone.
 14354  	//
 14355  	// HostedZones is a required field
 14356  	HostedZones []*HostedZone `locationNameList:"HostedZone" type:"list" required:"true"`
 14357  
 14358  	// A flag indicating whether there are more hosted zones to be listed. If the
 14359  	// response was truncated, you can get more hosted zones by submitting another
 14360  	// ListHostedZones request and specifying the value of NextMarker in the marker
 14361  	// parameter.
 14362  	//
 14363  	// IsTruncated is a required field
 14364  	IsTruncated *bool `type:"boolean" required:"true"`
 14365  
 14366  	// For the second and subsequent calls to ListHostedZones, Marker is the value
 14367  	// that you specified for the marker parameter in the request that produced
 14368  	// the current response.
 14369  	//
 14370  	// Marker is a required field
 14371  	Marker *string `type:"string" required:"true"`
 14372  
 14373  	// The value that you specified for the maxitems parameter in the call to ListHostedZones
 14374  	// that produced the current response.
 14375  	//
 14376  	// MaxItems is a required field
 14377  	MaxItems *string `type:"string" required:"true"`
 14378  
 14379  	// If IsTruncated is true, the value of NextMarker identifies the first hosted
 14380  	// zone in the next group of hosted zones. Submit another ListHostedZones request,
 14381  	// and specify the value of NextMarker from the response in the marker parameter.
 14382  	//
 14383  	// This element is present only if IsTruncated is true.
 14384  	NextMarker *string `type:"string"`
 14385  }
 14386  
 14387  // String returns the string representation.
 14388  //
 14389  // API parameter values that are decorated as "sensitive" in the API will not
 14390  // be included in the string output. The member name will be present, but the
 14391  // value will be replaced with "sensitive".
 14392  func (s ListHostedZonesOutput) String() string {
 14393  	return awsutil.Prettify(s)
 14394  }
 14395  
 14396  // GoString returns the string representation.
 14397  //
 14398  // API parameter values that are decorated as "sensitive" in the API will not
 14399  // be included in the string output. The member name will be present, but the
 14400  // value will be replaced with "sensitive".
 14401  func (s ListHostedZonesOutput) GoString() string {
 14402  	return s.String()
 14403  }
 14404  
 14405  // SetHostedZones sets the HostedZones field's value.
 14406  func (s *ListHostedZonesOutput) SetHostedZones(v []*HostedZone) *ListHostedZonesOutput {
 14407  	s.HostedZones = v
 14408  	return s
 14409  }
 14410  
 14411  // SetIsTruncated sets the IsTruncated field's value.
 14412  func (s *ListHostedZonesOutput) SetIsTruncated(v bool) *ListHostedZonesOutput {
 14413  	s.IsTruncated = &v
 14414  	return s
 14415  }
 14416  
 14417  // SetMarker sets the Marker field's value.
 14418  func (s *ListHostedZonesOutput) SetMarker(v string) *ListHostedZonesOutput {
 14419  	s.Marker = &v
 14420  	return s
 14421  }
 14422  
 14423  // SetMaxItems sets the MaxItems field's value.
 14424  func (s *ListHostedZonesOutput) SetMaxItems(v string) *ListHostedZonesOutput {
 14425  	s.MaxItems = &v
 14426  	return s
 14427  }
 14428  
 14429  // SetNextMarker sets the NextMarker field's value.
 14430  func (s *ListHostedZonesOutput) SetNextMarker(v string) *ListHostedZonesOutput {
 14431  	s.NextMarker = &v
 14432  	return s
 14433  }
 14434  
 14435  type ListQueryLoggingConfigsInput struct {
 14436  	_ struct{} `locationName:"ListQueryLoggingConfigsRequest" type:"structure"`
 14437  
 14438  	// (Optional) If you want to list the query logging configuration that is associated
 14439  	// with a hosted zone, specify the ID in HostedZoneId.
 14440  	//
 14441  	// If you don't specify a hosted zone ID, ListQueryLoggingConfigs returns all
 14442  	// of the configurations that are associated with the current Amazon Web Services
 14443  	// account.
 14444  	HostedZoneId *string `location:"querystring" locationName:"hostedzoneid" type:"string"`
 14445  
 14446  	// (Optional) The maximum number of query logging configurations that you want
 14447  	// Amazon Route 53 to return in response to the current request. If the current
 14448  	// Amazon Web Services account has more than MaxResults configurations, use
 14449  	// the value of NextToken (https://docs.aws.amazon.com/Route53/latest/APIReference/API_ListQueryLoggingConfigs.html#API_ListQueryLoggingConfigs_RequestSyntax)
 14450  	// in the response to get the next page of results.
 14451  	//
 14452  	// If you don't specify a value for MaxResults, Route 53 returns up to 100 configurations.
 14453  	MaxResults *string `location:"querystring" locationName:"maxresults" type:"string"`
 14454  
 14455  	// (Optional) If the current Amazon Web Services account has more than MaxResults
 14456  	// query logging configurations, use NextToken to get the second and subsequent
 14457  	// pages of results.
 14458  	//
 14459  	// For the first ListQueryLoggingConfigs request, omit this value.
 14460  	//
 14461  	// For the second and subsequent requests, get the value of NextToken from the
 14462  	// previous response and specify that value for NextToken in the request.
 14463  	NextToken *string `location:"querystring" locationName:"nexttoken" type:"string"`
 14464  }
 14465  
 14466  // String returns the string representation.
 14467  //
 14468  // API parameter values that are decorated as "sensitive" in the API will not
 14469  // be included in the string output. The member name will be present, but the
 14470  // value will be replaced with "sensitive".
 14471  func (s ListQueryLoggingConfigsInput) String() string {
 14472  	return awsutil.Prettify(s)
 14473  }
 14474  
 14475  // GoString returns the string representation.
 14476  //
 14477  // API parameter values that are decorated as "sensitive" in the API will not
 14478  // be included in the string output. The member name will be present, but the
 14479  // value will be replaced with "sensitive".
 14480  func (s ListQueryLoggingConfigsInput) GoString() string {
 14481  	return s.String()
 14482  }
 14483  
 14484  // SetHostedZoneId sets the HostedZoneId field's value.
 14485  func (s *ListQueryLoggingConfigsInput) SetHostedZoneId(v string) *ListQueryLoggingConfigsInput {
 14486  	s.HostedZoneId = &v
 14487  	return s
 14488  }
 14489  
 14490  // SetMaxResults sets the MaxResults field's value.
 14491  func (s *ListQueryLoggingConfigsInput) SetMaxResults(v string) *ListQueryLoggingConfigsInput {
 14492  	s.MaxResults = &v
 14493  	return s
 14494  }
 14495  
 14496  // SetNextToken sets the NextToken field's value.
 14497  func (s *ListQueryLoggingConfigsInput) SetNextToken(v string) *ListQueryLoggingConfigsInput {
 14498  	s.NextToken = &v
 14499  	return s
 14500  }
 14501  
 14502  type ListQueryLoggingConfigsOutput struct {
 14503  	_ struct{} `type:"structure"`
 14504  
 14505  	// If a response includes the last of the query logging configurations that
 14506  	// are associated with the current Amazon Web Services account, NextToken doesn't
 14507  	// appear in the response.
 14508  	//
 14509  	// If a response doesn't include the last of the configurations, you can get
 14510  	// more configurations by submitting another ListQueryLoggingConfigs (https://docs.aws.amazon.com/Route53/latest/APIReference/API_ListQueryLoggingConfigs.html)
 14511  	// request. Get the value of NextToken that Amazon Route 53 returned in the
 14512  	// previous response and include it in NextToken in the next request.
 14513  	NextToken *string `type:"string"`
 14514  
 14515  	// An array that contains one QueryLoggingConfig (https://docs.aws.amazon.com/Route53/latest/APIReference/API_QueryLoggingConfig.html)
 14516  	// element for each configuration for DNS query logging that is associated with
 14517  	// the current Amazon Web Services account.
 14518  	//
 14519  	// QueryLoggingConfigs is a required field
 14520  	QueryLoggingConfigs []*QueryLoggingConfig `locationNameList:"QueryLoggingConfig" type:"list" required:"true"`
 14521  }
 14522  
 14523  // String returns the string representation.
 14524  //
 14525  // API parameter values that are decorated as "sensitive" in the API will not
 14526  // be included in the string output. The member name will be present, but the
 14527  // value will be replaced with "sensitive".
 14528  func (s ListQueryLoggingConfigsOutput) String() string {
 14529  	return awsutil.Prettify(s)
 14530  }
 14531  
 14532  // GoString returns the string representation.
 14533  //
 14534  // API parameter values that are decorated as "sensitive" in the API will not
 14535  // be included in the string output. The member name will be present, but the
 14536  // value will be replaced with "sensitive".
 14537  func (s ListQueryLoggingConfigsOutput) GoString() string {
 14538  	return s.String()
 14539  }
 14540  
 14541  // SetNextToken sets the NextToken field's value.
 14542  func (s *ListQueryLoggingConfigsOutput) SetNextToken(v string) *ListQueryLoggingConfigsOutput {
 14543  	s.NextToken = &v
 14544  	return s
 14545  }
 14546  
 14547  // SetQueryLoggingConfigs sets the QueryLoggingConfigs field's value.
 14548  func (s *ListQueryLoggingConfigsOutput) SetQueryLoggingConfigs(v []*QueryLoggingConfig) *ListQueryLoggingConfigsOutput {
 14549  	s.QueryLoggingConfigs = v
 14550  	return s
 14551  }
 14552  
 14553  // A request for the resource record sets that are associated with a specified
 14554  // hosted zone.
 14555  type ListResourceRecordSetsInput struct {
 14556  	_ struct{} `locationName:"ListResourceRecordSetsRequest" type:"structure"`
 14557  
 14558  	// The ID of the hosted zone that contains the resource record sets that you
 14559  	// want to list.
 14560  	//
 14561  	// HostedZoneId is a required field
 14562  	HostedZoneId *string `location:"uri" locationName:"Id" type:"string" required:"true"`
 14563  
 14564  	// (Optional) The maximum number of resource records sets to include in the
 14565  	// response body for this request. If the response includes more than maxitems
 14566  	// resource record sets, the value of the IsTruncated element in the response
 14567  	// is true, and the values of the NextRecordName and NextRecordType elements
 14568  	// in the response identify the first resource record set in the next group
 14569  	// of maxitems resource record sets.
 14570  	MaxItems *string `location:"querystring" locationName:"maxitems" type:"string"`
 14571  
 14572  	// Resource record sets that have a routing policy other than simple: If results
 14573  	// were truncated for a given DNS name and type, specify the value of NextRecordIdentifier
 14574  	// from the previous response to get the next resource record set that has the
 14575  	// current DNS name and type.
 14576  	StartRecordIdentifier *string `location:"querystring" locationName:"identifier" min:"1" type:"string"`
 14577  
 14578  	// The first name in the lexicographic ordering of resource record sets that
 14579  	// you want to list. If the specified record name doesn't exist, the results
 14580  	// begin with the first resource record set that has a name greater than the
 14581  	// value of name.
 14582  	StartRecordName *string `location:"querystring" locationName:"name" type:"string"`
 14583  
 14584  	// The type of resource record set to begin the record listing from.
 14585  	//
 14586  	// Valid values for basic resource record sets: A | AAAA | CAA | CNAME | MX
 14587  	// | NAPTR | NS | PTR | SOA | SPF | SRV | TXT
 14588  	//
 14589  	// Values for weighted, latency, geolocation, and failover resource record sets:
 14590  	// A | AAAA | CAA | CNAME | MX | NAPTR | PTR | SPF | SRV | TXT
 14591  	//
 14592  	// Values for alias resource record sets:
 14593  	//
 14594  	//    * API Gateway custom regional API or edge-optimized API: A
 14595  	//
 14596  	//    * CloudFront distribution: A or AAAA
 14597  	//
 14598  	//    * Elastic Beanstalk environment that has a regionalized subdomain: A
 14599  	//
 14600  	//    * Elastic Load Balancing load balancer: A | AAAA
 14601  	//
 14602  	//    * S3 bucket: A
 14603  	//
 14604  	//    * VPC interface VPC endpoint: A
 14605  	//
 14606  	//    * Another resource record set in this hosted zone: The type of the resource
 14607  	//    record set that the alias references.
 14608  	//
 14609  	// Constraint: Specifying type without specifying name returns an InvalidInput
 14610  	// error.
 14611  	StartRecordType *string `location:"querystring" locationName:"type" type:"string" enum:"RRType"`
 14612  }
 14613  
 14614  // String returns the string representation.
 14615  //
 14616  // API parameter values that are decorated as "sensitive" in the API will not
 14617  // be included in the string output. The member name will be present, but the
 14618  // value will be replaced with "sensitive".
 14619  func (s ListResourceRecordSetsInput) String() string {
 14620  	return awsutil.Prettify(s)
 14621  }
 14622  
 14623  // GoString returns the string representation.
 14624  //
 14625  // API parameter values that are decorated as "sensitive" in the API will not
 14626  // be included in the string output. The member name will be present, but the
 14627  // value will be replaced with "sensitive".
 14628  func (s ListResourceRecordSetsInput) GoString() string {
 14629  	return s.String()
 14630  }
 14631  
 14632  // Validate inspects the fields of the type to determine if they are valid.
 14633  func (s *ListResourceRecordSetsInput) Validate() error {
 14634  	invalidParams := request.ErrInvalidParams{Context: "ListResourceRecordSetsInput"}
 14635  	if s.HostedZoneId == nil {
 14636  		invalidParams.Add(request.NewErrParamRequired("HostedZoneId"))
 14637  	}
 14638  	if s.HostedZoneId != nil && len(*s.HostedZoneId) < 1 {
 14639  		invalidParams.Add(request.NewErrParamMinLen("HostedZoneId", 1))
 14640  	}
 14641  	if s.StartRecordIdentifier != nil && len(*s.StartRecordIdentifier) < 1 {
 14642  		invalidParams.Add(request.NewErrParamMinLen("StartRecordIdentifier", 1))
 14643  	}
 14644  
 14645  	if invalidParams.Len() > 0 {
 14646  		return invalidParams
 14647  	}
 14648  	return nil
 14649  }
 14650  
 14651  // SetHostedZoneId sets the HostedZoneId field's value.
 14652  func (s *ListResourceRecordSetsInput) SetHostedZoneId(v string) *ListResourceRecordSetsInput {
 14653  	s.HostedZoneId = &v
 14654  	return s
 14655  }
 14656  
 14657  // SetMaxItems sets the MaxItems field's value.
 14658  func (s *ListResourceRecordSetsInput) SetMaxItems(v string) *ListResourceRecordSetsInput {
 14659  	s.MaxItems = &v
 14660  	return s
 14661  }
 14662  
 14663  // SetStartRecordIdentifier sets the StartRecordIdentifier field's value.
 14664  func (s *ListResourceRecordSetsInput) SetStartRecordIdentifier(v string) *ListResourceRecordSetsInput {
 14665  	s.StartRecordIdentifier = &v
 14666  	return s
 14667  }
 14668  
 14669  // SetStartRecordName sets the StartRecordName field's value.
 14670  func (s *ListResourceRecordSetsInput) SetStartRecordName(v string) *ListResourceRecordSetsInput {
 14671  	s.StartRecordName = &v
 14672  	return s
 14673  }
 14674  
 14675  // SetStartRecordType sets the StartRecordType field's value.
 14676  func (s *ListResourceRecordSetsInput) SetStartRecordType(v string) *ListResourceRecordSetsInput {
 14677  	s.StartRecordType = &v
 14678  	return s
 14679  }
 14680  
 14681  // A complex type that contains list information for the resource record set.
 14682  type ListResourceRecordSetsOutput struct {
 14683  	_ struct{} `type:"structure"`
 14684  
 14685  	// A flag that indicates whether more resource record sets remain to be listed.
 14686  	// If your results were truncated, you can make a follow-up pagination request
 14687  	// by using the NextRecordName element.
 14688  	//
 14689  	// IsTruncated is a required field
 14690  	IsTruncated *bool `type:"boolean" required:"true"`
 14691  
 14692  	// The maximum number of records you requested.
 14693  	//
 14694  	// MaxItems is a required field
 14695  	MaxItems *string `type:"string" required:"true"`
 14696  
 14697  	// Resource record sets that have a routing policy other than simple: If results
 14698  	// were truncated for a given DNS name and type, the value of SetIdentifier
 14699  	// for the next resource record set that has the current DNS name and type.
 14700  	//
 14701  	// For information about routing policies, see Choosing a Routing Policy (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html)
 14702  	// in the Amazon Route 53 Developer Guide.
 14703  	NextRecordIdentifier *string `min:"1" type:"string"`
 14704  
 14705  	// If the results were truncated, the name of the next record in the list.
 14706  	//
 14707  	// This element is present only if IsTruncated is true.
 14708  	NextRecordName *string `type:"string"`
 14709  
 14710  	// If the results were truncated, the type of the next record in the list.
 14711  	//
 14712  	// This element is present only if IsTruncated is true.
 14713  	NextRecordType *string `type:"string" enum:"RRType"`
 14714  
 14715  	// Information about multiple resource record sets.
 14716  	//
 14717  	// ResourceRecordSets is a required field
 14718  	ResourceRecordSets []*ResourceRecordSet `locationNameList:"ResourceRecordSet" type:"list" required:"true"`
 14719  }
 14720  
 14721  // String returns the string representation.
 14722  //
 14723  // API parameter values that are decorated as "sensitive" in the API will not
 14724  // be included in the string output. The member name will be present, but the
 14725  // value will be replaced with "sensitive".
 14726  func (s ListResourceRecordSetsOutput) String() string {
 14727  	return awsutil.Prettify(s)
 14728  }
 14729  
 14730  // GoString returns the string representation.
 14731  //
 14732  // API parameter values that are decorated as "sensitive" in the API will not
 14733  // be included in the string output. The member name will be present, but the
 14734  // value will be replaced with "sensitive".
 14735  func (s ListResourceRecordSetsOutput) GoString() string {
 14736  	return s.String()
 14737  }
 14738  
 14739  // SetIsTruncated sets the IsTruncated field's value.
 14740  func (s *ListResourceRecordSetsOutput) SetIsTruncated(v bool) *ListResourceRecordSetsOutput {
 14741  	s.IsTruncated = &v
 14742  	return s
 14743  }
 14744  
 14745  // SetMaxItems sets the MaxItems field's value.
 14746  func (s *ListResourceRecordSetsOutput) SetMaxItems(v string) *ListResourceRecordSetsOutput {
 14747  	s.MaxItems = &v
 14748  	return s
 14749  }
 14750  
 14751  // SetNextRecordIdentifier sets the NextRecordIdentifier field's value.
 14752  func (s *ListResourceRecordSetsOutput) SetNextRecordIdentifier(v string) *ListResourceRecordSetsOutput {
 14753  	s.NextRecordIdentifier = &v
 14754  	return s
 14755  }
 14756  
 14757  // SetNextRecordName sets the NextRecordName field's value.
 14758  func (s *ListResourceRecordSetsOutput) SetNextRecordName(v string) *ListResourceRecordSetsOutput {
 14759  	s.NextRecordName = &v
 14760  	return s
 14761  }
 14762  
 14763  // SetNextRecordType sets the NextRecordType field's value.
 14764  func (s *ListResourceRecordSetsOutput) SetNextRecordType(v string) *ListResourceRecordSetsOutput {
 14765  	s.NextRecordType = &v
 14766  	return s
 14767  }
 14768  
 14769  // SetResourceRecordSets sets the ResourceRecordSets field's value.
 14770  func (s *ListResourceRecordSetsOutput) SetResourceRecordSets(v []*ResourceRecordSet) *ListResourceRecordSetsOutput {
 14771  	s.ResourceRecordSets = v
 14772  	return s
 14773  }
 14774  
 14775  // A request to get a list of the reusable delegation sets that are associated
 14776  // with the current Amazon Web Services account.
 14777  type ListReusableDelegationSetsInput struct {
 14778  	_ struct{} `locationName:"ListReusableDelegationSetsRequest" type:"structure"`
 14779  
 14780  	// If the value of IsTruncated in the previous response was true, you have more
 14781  	// reusable delegation sets. To get another group, submit another ListReusableDelegationSets
 14782  	// request.
 14783  	//
 14784  	// For the value of marker, specify the value of NextMarker from the previous
 14785  	// response, which is the ID of the first reusable delegation set that Amazon
 14786  	// Route 53 will return if you submit another request.
 14787  	//
 14788  	// If the value of IsTruncated in the previous response was false, there are
 14789  	// no more reusable delegation sets to get.
 14790  	Marker *string `location:"querystring" locationName:"marker" type:"string"`
 14791  
 14792  	// The number of reusable delegation sets that you want Amazon Route 53 to return
 14793  	// in the response to this request. If you specify a value greater than 100,
 14794  	// Route 53 returns only the first 100 reusable delegation sets.
 14795  	MaxItems *string `location:"querystring" locationName:"maxitems" type:"string"`
 14796  }
 14797  
 14798  // String returns the string representation.
 14799  //
 14800  // API parameter values that are decorated as "sensitive" in the API will not
 14801  // be included in the string output. The member name will be present, but the
 14802  // value will be replaced with "sensitive".
 14803  func (s ListReusableDelegationSetsInput) String() string {
 14804  	return awsutil.Prettify(s)
 14805  }
 14806  
 14807  // GoString returns the string representation.
 14808  //
 14809  // API parameter values that are decorated as "sensitive" in the API will not
 14810  // be included in the string output. The member name will be present, but the
 14811  // value will be replaced with "sensitive".
 14812  func (s ListReusableDelegationSetsInput) GoString() string {
 14813  	return s.String()
 14814  }
 14815  
 14816  // SetMarker sets the Marker field's value.
 14817  func (s *ListReusableDelegationSetsInput) SetMarker(v string) *ListReusableDelegationSetsInput {
 14818  	s.Marker = &v
 14819  	return s
 14820  }
 14821  
 14822  // SetMaxItems sets the MaxItems field's value.
 14823  func (s *ListReusableDelegationSetsInput) SetMaxItems(v string) *ListReusableDelegationSetsInput {
 14824  	s.MaxItems = &v
 14825  	return s
 14826  }
 14827  
 14828  // A complex type that contains information about the reusable delegation sets
 14829  // that are associated with the current Amazon Web Services account.
 14830  type ListReusableDelegationSetsOutput struct {
 14831  	_ struct{} `type:"structure"`
 14832  
 14833  	// A complex type that contains one DelegationSet element for each reusable
 14834  	// delegation set that was created by the current Amazon Web Services account.
 14835  	//
 14836  	// DelegationSets is a required field
 14837  	DelegationSets []*DelegationSet `locationNameList:"DelegationSet" type:"list" required:"true"`
 14838  
 14839  	// A flag that indicates whether there are more reusable delegation sets to
 14840  	// be listed.
 14841  	//
 14842  	// IsTruncated is a required field
 14843  	IsTruncated *bool `type:"boolean" required:"true"`
 14844  
 14845  	// For the second and subsequent calls to ListReusableDelegationSets, Marker
 14846  	// is the value that you specified for the marker parameter in the request that
 14847  	// produced the current response.
 14848  	//
 14849  	// Marker is a required field
 14850  	Marker *string `type:"string" required:"true"`
 14851  
 14852  	// The value that you specified for the maxitems parameter in the call to ListReusableDelegationSets
 14853  	// that produced the current response.
 14854  	//
 14855  	// MaxItems is a required field
 14856  	MaxItems *string `type:"string" required:"true"`
 14857  
 14858  	// If IsTruncated is true, the value of NextMarker identifies the next reusable
 14859  	// delegation set that Amazon Route 53 will return if you submit another ListReusableDelegationSets
 14860  	// request and specify the value of NextMarker in the marker parameter.
 14861  	NextMarker *string `type:"string"`
 14862  }
 14863  
 14864  // String returns the string representation.
 14865  //
 14866  // API parameter values that are decorated as "sensitive" in the API will not
 14867  // be included in the string output. The member name will be present, but the
 14868  // value will be replaced with "sensitive".
 14869  func (s ListReusableDelegationSetsOutput) String() string {
 14870  	return awsutil.Prettify(s)
 14871  }
 14872  
 14873  // GoString returns the string representation.
 14874  //
 14875  // API parameter values that are decorated as "sensitive" in the API will not
 14876  // be included in the string output. The member name will be present, but the
 14877  // value will be replaced with "sensitive".
 14878  func (s ListReusableDelegationSetsOutput) GoString() string {
 14879  	return s.String()
 14880  }
 14881  
 14882  // SetDelegationSets sets the DelegationSets field's value.
 14883  func (s *ListReusableDelegationSetsOutput) SetDelegationSets(v []*DelegationSet) *ListReusableDelegationSetsOutput {
 14884  	s.DelegationSets = v
 14885  	return s
 14886  }
 14887  
 14888  // SetIsTruncated sets the IsTruncated field's value.
 14889  func (s *ListReusableDelegationSetsOutput) SetIsTruncated(v bool) *ListReusableDelegationSetsOutput {
 14890  	s.IsTruncated = &v
 14891  	return s
 14892  }
 14893  
 14894  // SetMarker sets the Marker field's value.
 14895  func (s *ListReusableDelegationSetsOutput) SetMarker(v string) *ListReusableDelegationSetsOutput {
 14896  	s.Marker = &v
 14897  	return s
 14898  }
 14899  
 14900  // SetMaxItems sets the MaxItems field's value.
 14901  func (s *ListReusableDelegationSetsOutput) SetMaxItems(v string) *ListReusableDelegationSetsOutput {
 14902  	s.MaxItems = &v
 14903  	return s
 14904  }
 14905  
 14906  // SetNextMarker sets the NextMarker field's value.
 14907  func (s *ListReusableDelegationSetsOutput) SetNextMarker(v string) *ListReusableDelegationSetsOutput {
 14908  	s.NextMarker = &v
 14909  	return s
 14910  }
 14911  
 14912  // A complex type containing information about a request for a list of the tags
 14913  // that are associated with an individual resource.
 14914  type ListTagsForResourceInput struct {
 14915  	_ struct{} `locationName:"ListTagsForResourceRequest" type:"structure"`
 14916  
 14917  	// The ID of the resource for which you want to retrieve tags.
 14918  	//
 14919  	// ResourceId is a required field
 14920  	ResourceId *string `location:"uri" locationName:"ResourceId" type:"string" required:"true"`
 14921  
 14922  	// The type of the resource.
 14923  	//
 14924  	//    * The resource type for health checks is healthcheck.
 14925  	//
 14926  	//    * The resource type for hosted zones is hostedzone.
 14927  	//
 14928  	// ResourceType is a required field
 14929  	ResourceType *string `location:"uri" locationName:"ResourceType" type:"string" required:"true" enum:"TagResourceType"`
 14930  }
 14931  
 14932  // String returns the string representation.
 14933  //
 14934  // API parameter values that are decorated as "sensitive" in the API will not
 14935  // be included in the string output. The member name will be present, but the
 14936  // value will be replaced with "sensitive".
 14937  func (s ListTagsForResourceInput) String() string {
 14938  	return awsutil.Prettify(s)
 14939  }
 14940  
 14941  // GoString returns the string representation.
 14942  //
 14943  // API parameter values that are decorated as "sensitive" in the API will not
 14944  // be included in the string output. The member name will be present, but the
 14945  // value will be replaced with "sensitive".
 14946  func (s ListTagsForResourceInput) GoString() string {
 14947  	return s.String()
 14948  }
 14949  
 14950  // Validate inspects the fields of the type to determine if they are valid.
 14951  func (s *ListTagsForResourceInput) Validate() error {
 14952  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
 14953  	if s.ResourceId == nil {
 14954  		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
 14955  	}
 14956  	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
 14957  		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
 14958  	}
 14959  	if s.ResourceType == nil {
 14960  		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
 14961  	}
 14962  	if s.ResourceType != nil && len(*s.ResourceType) < 1 {
 14963  		invalidParams.Add(request.NewErrParamMinLen("ResourceType", 1))
 14964  	}
 14965  
 14966  	if invalidParams.Len() > 0 {
 14967  		return invalidParams
 14968  	}
 14969  	return nil
 14970  }
 14971  
 14972  // SetResourceId sets the ResourceId field's value.
 14973  func (s *ListTagsForResourceInput) SetResourceId(v string) *ListTagsForResourceInput {
 14974  	s.ResourceId = &v
 14975  	return s
 14976  }
 14977  
 14978  // SetResourceType sets the ResourceType field's value.
 14979  func (s *ListTagsForResourceInput) SetResourceType(v string) *ListTagsForResourceInput {
 14980  	s.ResourceType = &v
 14981  	return s
 14982  }
 14983  
 14984  // A complex type that contains information about the health checks or hosted
 14985  // zones for which you want to list tags.
 14986  type ListTagsForResourceOutput struct {
 14987  	_ struct{} `type:"structure"`
 14988  
 14989  	// A ResourceTagSet containing tags associated with the specified resource.
 14990  	//
 14991  	// ResourceTagSet is a required field
 14992  	ResourceTagSet *ResourceTagSet `type:"structure" required:"true"`
 14993  }
 14994  
 14995  // String returns the string representation.
 14996  //
 14997  // API parameter values that are decorated as "sensitive" in the API will not
 14998  // be included in the string output. The member name will be present, but the
 14999  // value will be replaced with "sensitive".
 15000  func (s ListTagsForResourceOutput) String() string {
 15001  	return awsutil.Prettify(s)
 15002  }
 15003  
 15004  // GoString returns the string representation.
 15005  //
 15006  // API parameter values that are decorated as "sensitive" in the API will not
 15007  // be included in the string output. The member name will be present, but the
 15008  // value will be replaced with "sensitive".
 15009  func (s ListTagsForResourceOutput) GoString() string {
 15010  	return s.String()
 15011  }
 15012  
 15013  // SetResourceTagSet sets the ResourceTagSet field's value.
 15014  func (s *ListTagsForResourceOutput) SetResourceTagSet(v *ResourceTagSet) *ListTagsForResourceOutput {
 15015  	s.ResourceTagSet = v
 15016  	return s
 15017  }
 15018  
 15019  // A complex type that contains information about the health checks or hosted
 15020  // zones for which you want to list tags.
 15021  type ListTagsForResourcesInput struct {
 15022  	_ struct{} `locationName:"ListTagsForResourcesRequest" type:"structure" xmlURI:"https://route53.amazonaws.com/doc/2013-04-01/"`
 15023  
 15024  	// A complex type that contains the ResourceId element for each resource for
 15025  	// which you want to get a list of tags.
 15026  	//
 15027  	// ResourceIds is a required field
 15028  	ResourceIds []*string `locationNameList:"ResourceId" min:"1" type:"list" required:"true"`
 15029  
 15030  	// The type of the resources.
 15031  	//
 15032  	//    * The resource type for health checks is healthcheck.
 15033  	//
 15034  	//    * The resource type for hosted zones is hostedzone.
 15035  	//
 15036  	// ResourceType is a required field
 15037  	ResourceType *string `location:"uri" locationName:"ResourceType" type:"string" required:"true" enum:"TagResourceType"`
 15038  }
 15039  
 15040  // String returns the string representation.
 15041  //
 15042  // API parameter values that are decorated as "sensitive" in the API will not
 15043  // be included in the string output. The member name will be present, but the
 15044  // value will be replaced with "sensitive".
 15045  func (s ListTagsForResourcesInput) String() string {
 15046  	return awsutil.Prettify(s)
 15047  }
 15048  
 15049  // GoString returns the string representation.
 15050  //
 15051  // API parameter values that are decorated as "sensitive" in the API will not
 15052  // be included in the string output. The member name will be present, but the
 15053  // value will be replaced with "sensitive".
 15054  func (s ListTagsForResourcesInput) GoString() string {
 15055  	return s.String()
 15056  }
 15057  
 15058  // Validate inspects the fields of the type to determine if they are valid.
 15059  func (s *ListTagsForResourcesInput) Validate() error {
 15060  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourcesInput"}
 15061  	if s.ResourceIds == nil {
 15062  		invalidParams.Add(request.NewErrParamRequired("ResourceIds"))
 15063  	}
 15064  	if s.ResourceIds != nil && len(s.ResourceIds) < 1 {
 15065  		invalidParams.Add(request.NewErrParamMinLen("ResourceIds", 1))
 15066  	}
 15067  	if s.ResourceType == nil {
 15068  		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
 15069  	}
 15070  	if s.ResourceType != nil && len(*s.ResourceType) < 1 {
 15071  		invalidParams.Add(request.NewErrParamMinLen("ResourceType", 1))
 15072  	}
 15073  
 15074  	if invalidParams.Len() > 0 {
 15075  		return invalidParams
 15076  	}
 15077  	return nil
 15078  }
 15079  
 15080  // SetResourceIds sets the ResourceIds field's value.
 15081  func (s *ListTagsForResourcesInput) SetResourceIds(v []*string) *ListTagsForResourcesInput {
 15082  	s.ResourceIds = v
 15083  	return s
 15084  }
 15085  
 15086  // SetResourceType sets the ResourceType field's value.
 15087  func (s *ListTagsForResourcesInput) SetResourceType(v string) *ListTagsForResourcesInput {
 15088  	s.ResourceType = &v
 15089  	return s
 15090  }
 15091  
 15092  // A complex type containing tags for the specified resources.
 15093  type ListTagsForResourcesOutput struct {
 15094  	_ struct{} `type:"structure"`
 15095  
 15096  	// A list of ResourceTagSets containing tags associated with the specified resources.
 15097  	//
 15098  	// ResourceTagSets is a required field
 15099  	ResourceTagSets []*ResourceTagSet `locationNameList:"ResourceTagSet" type:"list" required:"true"`
 15100  }
 15101  
 15102  // String returns the string representation.
 15103  //
 15104  // API parameter values that are decorated as "sensitive" in the API will not
 15105  // be included in the string output. The member name will be present, but the
 15106  // value will be replaced with "sensitive".
 15107  func (s ListTagsForResourcesOutput) String() string {
 15108  	return awsutil.Prettify(s)
 15109  }
 15110  
 15111  // GoString returns the string representation.
 15112  //
 15113  // API parameter values that are decorated as "sensitive" in the API will not
 15114  // be included in the string output. The member name will be present, but the
 15115  // value will be replaced with "sensitive".
 15116  func (s ListTagsForResourcesOutput) GoString() string {
 15117  	return s.String()
 15118  }
 15119  
 15120  // SetResourceTagSets sets the ResourceTagSets field's value.
 15121  func (s *ListTagsForResourcesOutput) SetResourceTagSets(v []*ResourceTagSet) *ListTagsForResourcesOutput {
 15122  	s.ResourceTagSets = v
 15123  	return s
 15124  }
 15125  
 15126  // A complex type that contains the information about the request to list the
 15127  // traffic policies that are associated with the current Amazon Web Services
 15128  // account.
 15129  type ListTrafficPoliciesInput struct {
 15130  	_ struct{} `locationName:"ListTrafficPoliciesRequest" type:"structure"`
 15131  
 15132  	// (Optional) The maximum number of traffic policies that you want Amazon Route
 15133  	// 53 to return in response to this request. If you have more than MaxItems
 15134  	// traffic policies, the value of IsTruncated in the response is true, and the
 15135  	// value of TrafficPolicyIdMarker is the ID of the first traffic policy that
 15136  	// Route 53 will return if you submit another request.
 15137  	MaxItems *string `location:"querystring" locationName:"maxitems" type:"string"`
 15138  
 15139  	// (Conditional) For your first request to ListTrafficPolicies, don't include
 15140  	// the TrafficPolicyIdMarker parameter.
 15141  	//
 15142  	// If you have more traffic policies than the value of MaxItems, ListTrafficPolicies
 15143  	// returns only the first MaxItems traffic policies. To get the next group of
 15144  	// policies, submit another request to ListTrafficPolicies. For the value of
 15145  	// TrafficPolicyIdMarker, specify the value of TrafficPolicyIdMarker that was
 15146  	// returned in the previous response.
 15147  	TrafficPolicyIdMarker *string `location:"querystring" locationName:"trafficpolicyid" min:"1" type:"string"`
 15148  }
 15149  
 15150  // String returns the string representation.
 15151  //
 15152  // API parameter values that are decorated as "sensitive" in the API will not
 15153  // be included in the string output. The member name will be present, but the
 15154  // value will be replaced with "sensitive".
 15155  func (s ListTrafficPoliciesInput) String() string {
 15156  	return awsutil.Prettify(s)
 15157  }
 15158  
 15159  // GoString returns the string representation.
 15160  //
 15161  // API parameter values that are decorated as "sensitive" in the API will not
 15162  // be included in the string output. The member name will be present, but the
 15163  // value will be replaced with "sensitive".
 15164  func (s ListTrafficPoliciesInput) GoString() string {
 15165  	return s.String()
 15166  }
 15167  
 15168  // Validate inspects the fields of the type to determine if they are valid.
 15169  func (s *ListTrafficPoliciesInput) Validate() error {
 15170  	invalidParams := request.ErrInvalidParams{Context: "ListTrafficPoliciesInput"}
 15171  	if s.TrafficPolicyIdMarker != nil && len(*s.TrafficPolicyIdMarker) < 1 {
 15172  		invalidParams.Add(request.NewErrParamMinLen("TrafficPolicyIdMarker", 1))
 15173  	}
 15174  
 15175  	if invalidParams.Len() > 0 {
 15176  		return invalidParams
 15177  	}
 15178  	return nil
 15179  }
 15180  
 15181  // SetMaxItems sets the MaxItems field's value.
 15182  func (s *ListTrafficPoliciesInput) SetMaxItems(v string) *ListTrafficPoliciesInput {
 15183  	s.MaxItems = &v
 15184  	return s
 15185  }
 15186  
 15187  // SetTrafficPolicyIdMarker sets the TrafficPolicyIdMarker field's value.
 15188  func (s *ListTrafficPoliciesInput) SetTrafficPolicyIdMarker(v string) *ListTrafficPoliciesInput {
 15189  	s.TrafficPolicyIdMarker = &v
 15190  	return s
 15191  }
 15192  
 15193  // A complex type that contains the response information for the request.
 15194  type ListTrafficPoliciesOutput struct {
 15195  	_ struct{} `type:"structure"`
 15196  
 15197  	// A flag that indicates whether there are more traffic policies to be listed.
 15198  	// If the response was truncated, you can get the next group of traffic policies
 15199  	// by submitting another ListTrafficPolicies request and specifying the value
 15200  	// of TrafficPolicyIdMarker in the TrafficPolicyIdMarker request parameter.
 15201  	//
 15202  	// IsTruncated is a required field
 15203  	IsTruncated *bool `type:"boolean" required:"true"`
 15204  
 15205  	// The value that you specified for the MaxItems parameter in the ListTrafficPolicies
 15206  	// request that produced the current response.
 15207  	//
 15208  	// MaxItems is a required field
 15209  	MaxItems *string `type:"string" required:"true"`
 15210  
 15211  	// If the value of IsTruncated is true, TrafficPolicyIdMarker is the ID of the
 15212  	// first traffic policy in the next group of MaxItems traffic policies.
 15213  	//
 15214  	// TrafficPolicyIdMarker is a required field
 15215  	TrafficPolicyIdMarker *string `min:"1" type:"string" required:"true"`
 15216  
 15217  	// A list that contains one TrafficPolicySummary element for each traffic policy
 15218  	// that was created by the current Amazon Web Services account.
 15219  	//
 15220  	// TrafficPolicySummaries is a required field
 15221  	TrafficPolicySummaries []*TrafficPolicySummary `locationNameList:"TrafficPolicySummary" type:"list" required:"true"`
 15222  }
 15223  
 15224  // String returns the string representation.
 15225  //
 15226  // API parameter values that are decorated as "sensitive" in the API will not
 15227  // be included in the string output. The member name will be present, but the
 15228  // value will be replaced with "sensitive".
 15229  func (s ListTrafficPoliciesOutput) String() string {
 15230  	return awsutil.Prettify(s)
 15231  }
 15232  
 15233  // GoString returns the string representation.
 15234  //
 15235  // API parameter values that are decorated as "sensitive" in the API will not
 15236  // be included in the string output. The member name will be present, but the
 15237  // value will be replaced with "sensitive".
 15238  func (s ListTrafficPoliciesOutput) GoString() string {
 15239  	return s.String()
 15240  }
 15241  
 15242  // SetIsTruncated sets the IsTruncated field's value.
 15243  func (s *ListTrafficPoliciesOutput) SetIsTruncated(v bool) *ListTrafficPoliciesOutput {
 15244  	s.IsTruncated = &v
 15245  	return s
 15246  }
 15247  
 15248  // SetMaxItems sets the MaxItems field's value.
 15249  func (s *ListTrafficPoliciesOutput) SetMaxItems(v string) *ListTrafficPoliciesOutput {
 15250  	s.MaxItems = &v
 15251  	return s
 15252  }
 15253  
 15254  // SetTrafficPolicyIdMarker sets the TrafficPolicyIdMarker field's value.
 15255  func (s *ListTrafficPoliciesOutput) SetTrafficPolicyIdMarker(v string) *ListTrafficPoliciesOutput {
 15256  	s.TrafficPolicyIdMarker = &v
 15257  	return s
 15258  }
 15259  
 15260  // SetTrafficPolicySummaries sets the TrafficPolicySummaries field's value.
 15261  func (s *ListTrafficPoliciesOutput) SetTrafficPolicySummaries(v []*TrafficPolicySummary) *ListTrafficPoliciesOutput {
 15262  	s.TrafficPolicySummaries = v
 15263  	return s
 15264  }
 15265  
 15266  // A request for the traffic policy instances that you created in a specified
 15267  // hosted zone.
 15268  type ListTrafficPolicyInstancesByHostedZoneInput struct {
 15269  	_ struct{} `locationName:"ListTrafficPolicyInstancesByHostedZoneRequest" type:"structure"`
 15270  
 15271  	// The ID of the hosted zone that you want to list traffic policy instances
 15272  	// for.
 15273  	//
 15274  	// HostedZoneId is a required field
 15275  	HostedZoneId *string `location:"querystring" locationName:"id" type:"string" required:"true"`
 15276  
 15277  	// The maximum number of traffic policy instances to be included in the response
 15278  	// body for this request. If you have more than MaxItems traffic policy instances,
 15279  	// the value of the IsTruncated element in the response is true, and the values
 15280  	// of HostedZoneIdMarker, TrafficPolicyInstanceNameMarker, and TrafficPolicyInstanceTypeMarker
 15281  	// represent the first traffic policy instance that Amazon Route 53 will return
 15282  	// if you submit another request.
 15283  	MaxItems *string `location:"querystring" locationName:"maxitems" type:"string"`
 15284  
 15285  	// If the value of IsTruncated in the previous response is true, you have more
 15286  	// traffic policy instances. To get more traffic policy instances, submit another
 15287  	// ListTrafficPolicyInstances request. For the value of trafficpolicyinstancename,
 15288  	// specify the value of TrafficPolicyInstanceNameMarker from the previous response,
 15289  	// which is the name of the first traffic policy instance in the next group
 15290  	// of traffic policy instances.
 15291  	//
 15292  	// If the value of IsTruncated in the previous response was false, there are
 15293  	// no more traffic policy instances to get.
 15294  	TrafficPolicyInstanceNameMarker *string `location:"querystring" locationName:"trafficpolicyinstancename" type:"string"`
 15295  
 15296  	// If the value of IsTruncated in the previous response is true, you have more
 15297  	// traffic policy instances. To get more traffic policy instances, submit another
 15298  	// ListTrafficPolicyInstances request. For the value of trafficpolicyinstancetype,
 15299  	// specify the value of TrafficPolicyInstanceTypeMarker from the previous response,
 15300  	// which is the type of the first traffic policy instance in the next group
 15301  	// of traffic policy instances.
 15302  	//
 15303  	// If the value of IsTruncated in the previous response was false, there are
 15304  	// no more traffic policy instances to get.
 15305  	TrafficPolicyInstanceTypeMarker *string `location:"querystring" locationName:"trafficpolicyinstancetype" type:"string" enum:"RRType"`
 15306  }
 15307  
 15308  // String returns the string representation.
 15309  //
 15310  // API parameter values that are decorated as "sensitive" in the API will not
 15311  // be included in the string output. The member name will be present, but the
 15312  // value will be replaced with "sensitive".
 15313  func (s ListTrafficPolicyInstancesByHostedZoneInput) String() string {
 15314  	return awsutil.Prettify(s)
 15315  }
 15316  
 15317  // GoString returns the string representation.
 15318  //
 15319  // API parameter values that are decorated as "sensitive" in the API will not
 15320  // be included in the string output. The member name will be present, but the
 15321  // value will be replaced with "sensitive".
 15322  func (s ListTrafficPolicyInstancesByHostedZoneInput) GoString() string {
 15323  	return s.String()
 15324  }
 15325  
 15326  // Validate inspects the fields of the type to determine if they are valid.
 15327  func (s *ListTrafficPolicyInstancesByHostedZoneInput) Validate() error {
 15328  	invalidParams := request.ErrInvalidParams{Context: "ListTrafficPolicyInstancesByHostedZoneInput"}
 15329  	if s.HostedZoneId == nil {
 15330  		invalidParams.Add(request.NewErrParamRequired("HostedZoneId"))
 15331  	}
 15332  
 15333  	if invalidParams.Len() > 0 {
 15334  		return invalidParams
 15335  	}
 15336  	return nil
 15337  }
 15338  
 15339  // SetHostedZoneId sets the HostedZoneId field's value.
 15340  func (s *ListTrafficPolicyInstancesByHostedZoneInput) SetHostedZoneId(v string) *ListTrafficPolicyInstancesByHostedZoneInput {
 15341  	s.HostedZoneId = &v
 15342  	return s
 15343  }
 15344  
 15345  // SetMaxItems sets the MaxItems field's value.
 15346  func (s *ListTrafficPolicyInstancesByHostedZoneInput) SetMaxItems(v string) *ListTrafficPolicyInstancesByHostedZoneInput {
 15347  	s.MaxItems = &v
 15348  	return s
 15349  }
 15350  
 15351  // SetTrafficPolicyInstanceNameMarker sets the TrafficPolicyInstanceNameMarker field's value.
 15352  func (s *ListTrafficPolicyInstancesByHostedZoneInput) SetTrafficPolicyInstanceNameMarker(v string) *ListTrafficPolicyInstancesByHostedZoneInput {
 15353  	s.TrafficPolicyInstanceNameMarker = &v
 15354  	return s
 15355  }
 15356  
 15357  // SetTrafficPolicyInstanceTypeMarker sets the TrafficPolicyInstanceTypeMarker field's value.
 15358  func (s *ListTrafficPolicyInstancesByHostedZoneInput) SetTrafficPolicyInstanceTypeMarker(v string) *ListTrafficPolicyInstancesByHostedZoneInput {
 15359  	s.TrafficPolicyInstanceTypeMarker = &v
 15360  	return s
 15361  }
 15362  
 15363  // A complex type that contains the response information for the request.
 15364  type ListTrafficPolicyInstancesByHostedZoneOutput struct {
 15365  	_ struct{} `type:"structure"`
 15366  
 15367  	// A flag that indicates whether there are more traffic policy instances to
 15368  	// be listed. If the response was truncated, you can get the next group of traffic
 15369  	// policy instances by submitting another ListTrafficPolicyInstancesByHostedZone
 15370  	// request and specifying the values of HostedZoneIdMarker, TrafficPolicyInstanceNameMarker,
 15371  	// and TrafficPolicyInstanceTypeMarker in the corresponding request parameters.
 15372  	//
 15373  	// IsTruncated is a required field
 15374  	IsTruncated *bool `type:"boolean" required:"true"`
 15375  
 15376  	// The value that you specified for the MaxItems parameter in the ListTrafficPolicyInstancesByHostedZone
 15377  	// request that produced the current response.
 15378  	//
 15379  	// MaxItems is a required field
 15380  	MaxItems *string `type:"string" required:"true"`
 15381  
 15382  	// If IsTruncated is true, TrafficPolicyInstanceNameMarker is the name of the
 15383  	// first traffic policy instance in the next group of traffic policy instances.
 15384  	TrafficPolicyInstanceNameMarker *string `type:"string"`
 15385  
 15386  	// If IsTruncated is true, TrafficPolicyInstanceTypeMarker is the DNS type of
 15387  	// the resource record sets that are associated with the first traffic policy
 15388  	// instance in the next group of traffic policy instances.
 15389  	TrafficPolicyInstanceTypeMarker *string `type:"string" enum:"RRType"`
 15390  
 15391  	// A list that contains one TrafficPolicyInstance element for each traffic policy
 15392  	// instance that matches the elements in the request.
 15393  	//
 15394  	// TrafficPolicyInstances is a required field
 15395  	TrafficPolicyInstances []*TrafficPolicyInstance `locationNameList:"TrafficPolicyInstance" type:"list" required:"true"`
 15396  }
 15397  
 15398  // String returns the string representation.
 15399  //
 15400  // API parameter values that are decorated as "sensitive" in the API will not
 15401  // be included in the string output. The member name will be present, but the
 15402  // value will be replaced with "sensitive".
 15403  func (s ListTrafficPolicyInstancesByHostedZoneOutput) String() string {
 15404  	return awsutil.Prettify(s)
 15405  }
 15406  
 15407  // GoString returns the string representation.
 15408  //
 15409  // API parameter values that are decorated as "sensitive" in the API will not
 15410  // be included in the string output. The member name will be present, but the
 15411  // value will be replaced with "sensitive".
 15412  func (s ListTrafficPolicyInstancesByHostedZoneOutput) GoString() string {
 15413  	return s.String()
 15414  }
 15415  
 15416  // SetIsTruncated sets the IsTruncated field's value.
 15417  func (s *ListTrafficPolicyInstancesByHostedZoneOutput) SetIsTruncated(v bool) *ListTrafficPolicyInstancesByHostedZoneOutput {
 15418  	s.IsTruncated = &v
 15419  	return s
 15420  }
 15421  
 15422  // SetMaxItems sets the MaxItems field's value.
 15423  func (s *ListTrafficPolicyInstancesByHostedZoneOutput) SetMaxItems(v string) *ListTrafficPolicyInstancesByHostedZoneOutput {
 15424  	s.MaxItems = &v
 15425  	return s
 15426  }
 15427  
 15428  // SetTrafficPolicyInstanceNameMarker sets the TrafficPolicyInstanceNameMarker field's value.
 15429  func (s *ListTrafficPolicyInstancesByHostedZoneOutput) SetTrafficPolicyInstanceNameMarker(v string) *ListTrafficPolicyInstancesByHostedZoneOutput {
 15430  	s.TrafficPolicyInstanceNameMarker = &v
 15431  	return s
 15432  }
 15433  
 15434  // SetTrafficPolicyInstanceTypeMarker sets the TrafficPolicyInstanceTypeMarker field's value.
 15435  func (s *ListTrafficPolicyInstancesByHostedZoneOutput) SetTrafficPolicyInstanceTypeMarker(v string) *ListTrafficPolicyInstancesByHostedZoneOutput {
 15436  	s.TrafficPolicyInstanceTypeMarker = &v
 15437  	return s
 15438  }
 15439  
 15440  // SetTrafficPolicyInstances sets the TrafficPolicyInstances field's value.
 15441  func (s *ListTrafficPolicyInstancesByHostedZoneOutput) SetTrafficPolicyInstances(v []*TrafficPolicyInstance) *ListTrafficPolicyInstancesByHostedZoneOutput {
 15442  	s.TrafficPolicyInstances = v
 15443  	return s
 15444  }
 15445  
 15446  // A complex type that contains the information about the request to list your
 15447  // traffic policy instances.
 15448  type ListTrafficPolicyInstancesByPolicyInput struct {
 15449  	_ struct{} `locationName:"ListTrafficPolicyInstancesByPolicyRequest" type:"structure"`
 15450  
 15451  	// If the value of IsTruncated in the previous response was true, you have more
 15452  	// traffic policy instances. To get more traffic policy instances, submit another
 15453  	// ListTrafficPolicyInstancesByPolicy request.
 15454  	//
 15455  	// For the value of hostedzoneid, specify the value of HostedZoneIdMarker from
 15456  	// the previous response, which is the hosted zone ID of the first traffic policy
 15457  	// instance that Amazon Route 53 will return if you submit another request.
 15458  	//
 15459  	// If the value of IsTruncated in the previous response was false, there are
 15460  	// no more traffic policy instances to get.
 15461  	HostedZoneIdMarker *string `location:"querystring" locationName:"hostedzoneid" type:"string"`
 15462  
 15463  	// The maximum number of traffic policy instances to be included in the response
 15464  	// body for this request. If you have more than MaxItems traffic policy instances,
 15465  	// the value of the IsTruncated element in the response is true, and the values
 15466  	// of HostedZoneIdMarker, TrafficPolicyInstanceNameMarker, and TrafficPolicyInstanceTypeMarker
 15467  	// represent the first traffic policy instance that Amazon Route 53 will return
 15468  	// if you submit another request.
 15469  	MaxItems *string `location:"querystring" locationName:"maxitems" type:"string"`
 15470  
 15471  	// The ID of the traffic policy for which you want to list traffic policy instances.
 15472  	//
 15473  	// TrafficPolicyId is a required field
 15474  	TrafficPolicyId *string `location:"querystring" locationName:"id" min:"1" type:"string" required:"true"`
 15475  
 15476  	// If the value of IsTruncated in the previous response was true, you have more
 15477  	// traffic policy instances. To get more traffic policy instances, submit another
 15478  	// ListTrafficPolicyInstancesByPolicy request.
 15479  	//
 15480  	// For the value of trafficpolicyinstancename, specify the value of TrafficPolicyInstanceNameMarker
 15481  	// from the previous response, which is the name of the first traffic policy
 15482  	// instance that Amazon Route 53 will return if you submit another request.
 15483  	//
 15484  	// If the value of IsTruncated in the previous response was false, there are
 15485  	// no more traffic policy instances to get.
 15486  	TrafficPolicyInstanceNameMarker *string `location:"querystring" locationName:"trafficpolicyinstancename" type:"string"`
 15487  
 15488  	// If the value of IsTruncated in the previous response was true, you have more
 15489  	// traffic policy instances. To get more traffic policy instances, submit another
 15490  	// ListTrafficPolicyInstancesByPolicy request.
 15491  	//
 15492  	// For the value of trafficpolicyinstancetype, specify the value of TrafficPolicyInstanceTypeMarker
 15493  	// from the previous response, which is the name of the first traffic policy
 15494  	// instance that Amazon Route 53 will return if you submit another request.
 15495  	//
 15496  	// If the value of IsTruncated in the previous response was false, there are
 15497  	// no more traffic policy instances to get.
 15498  	TrafficPolicyInstanceTypeMarker *string `location:"querystring" locationName:"trafficpolicyinstancetype" type:"string" enum:"RRType"`
 15499  
 15500  	// The version of the traffic policy for which you want to list traffic policy
 15501  	// instances. The version must be associated with the traffic policy that is
 15502  	// specified by TrafficPolicyId.
 15503  	//
 15504  	// TrafficPolicyVersion is a required field
 15505  	TrafficPolicyVersion *int64 `location:"querystring" locationName:"version" min:"1" type:"integer" required:"true"`
 15506  }
 15507  
 15508  // String returns the string representation.
 15509  //
 15510  // API parameter values that are decorated as "sensitive" in the API will not
 15511  // be included in the string output. The member name will be present, but the
 15512  // value will be replaced with "sensitive".
 15513  func (s ListTrafficPolicyInstancesByPolicyInput) String() string {
 15514  	return awsutil.Prettify(s)
 15515  }
 15516  
 15517  // GoString returns the string representation.
 15518  //
 15519  // API parameter values that are decorated as "sensitive" in the API will not
 15520  // be included in the string output. The member name will be present, but the
 15521  // value will be replaced with "sensitive".
 15522  func (s ListTrafficPolicyInstancesByPolicyInput) GoString() string {
 15523  	return s.String()
 15524  }
 15525  
 15526  // Validate inspects the fields of the type to determine if they are valid.
 15527  func (s *ListTrafficPolicyInstancesByPolicyInput) Validate() error {
 15528  	invalidParams := request.ErrInvalidParams{Context: "ListTrafficPolicyInstancesByPolicyInput"}
 15529  	if s.TrafficPolicyId == nil {
 15530  		invalidParams.Add(request.NewErrParamRequired("TrafficPolicyId"))
 15531  	}
 15532  	if s.TrafficPolicyId != nil && len(*s.TrafficPolicyId) < 1 {
 15533  		invalidParams.Add(request.NewErrParamMinLen("TrafficPolicyId", 1))
 15534  	}
 15535  	if s.TrafficPolicyVersion == nil {
 15536  		invalidParams.Add(request.NewErrParamRequired("TrafficPolicyVersion"))
 15537  	}
 15538  	if s.TrafficPolicyVersion != nil && *s.TrafficPolicyVersion < 1 {
 15539  		invalidParams.Add(request.NewErrParamMinValue("TrafficPolicyVersion", 1))
 15540  	}
 15541  
 15542  	if invalidParams.Len() > 0 {
 15543  		return invalidParams
 15544  	}
 15545  	return nil
 15546  }
 15547  
 15548  // SetHostedZoneIdMarker sets the HostedZoneIdMarker field's value.
 15549  func (s *ListTrafficPolicyInstancesByPolicyInput) SetHostedZoneIdMarker(v string) *ListTrafficPolicyInstancesByPolicyInput {
 15550  	s.HostedZoneIdMarker = &v
 15551  	return s
 15552  }
 15553  
 15554  // SetMaxItems sets the MaxItems field's value.
 15555  func (s *ListTrafficPolicyInstancesByPolicyInput) SetMaxItems(v string) *ListTrafficPolicyInstancesByPolicyInput {
 15556  	s.MaxItems = &v
 15557  	return s
 15558  }
 15559  
 15560  // SetTrafficPolicyId sets the TrafficPolicyId field's value.
 15561  func (s *ListTrafficPolicyInstancesByPolicyInput) SetTrafficPolicyId(v string) *ListTrafficPolicyInstancesByPolicyInput {
 15562  	s.TrafficPolicyId = &v
 15563  	return s
 15564  }
 15565  
 15566  // SetTrafficPolicyInstanceNameMarker sets the TrafficPolicyInstanceNameMarker field's value.
 15567  func (s *ListTrafficPolicyInstancesByPolicyInput) SetTrafficPolicyInstanceNameMarker(v string) *ListTrafficPolicyInstancesByPolicyInput {
 15568  	s.TrafficPolicyInstanceNameMarker = &v
 15569  	return s
 15570  }
 15571  
 15572  // SetTrafficPolicyInstanceTypeMarker sets the TrafficPolicyInstanceTypeMarker field's value.
 15573  func (s *ListTrafficPolicyInstancesByPolicyInput) SetTrafficPolicyInstanceTypeMarker(v string) *ListTrafficPolicyInstancesByPolicyInput {
 15574  	s.TrafficPolicyInstanceTypeMarker = &v
 15575  	return s
 15576  }
 15577  
 15578  // SetTrafficPolicyVersion sets the TrafficPolicyVersion field's value.
 15579  func (s *ListTrafficPolicyInstancesByPolicyInput) SetTrafficPolicyVersion(v int64) *ListTrafficPolicyInstancesByPolicyInput {
 15580  	s.TrafficPolicyVersion = &v
 15581  	return s
 15582  }
 15583  
 15584  // A complex type that contains the response information for the request.
 15585  type ListTrafficPolicyInstancesByPolicyOutput struct {
 15586  	_ struct{} `type:"structure"`
 15587  
 15588  	// If IsTruncated is true, HostedZoneIdMarker is the ID of the hosted zone of
 15589  	// the first traffic policy instance in the next group of traffic policy instances.
 15590  	HostedZoneIdMarker *string `type:"string"`
 15591  
 15592  	// A flag that indicates whether there are more traffic policy instances to
 15593  	// be listed. If the response was truncated, you can get the next group of traffic
 15594  	// policy instances by calling ListTrafficPolicyInstancesByPolicy again and
 15595  	// specifying the values of the HostedZoneIdMarker, TrafficPolicyInstanceNameMarker,
 15596  	// and TrafficPolicyInstanceTypeMarker elements in the corresponding request
 15597  	// parameters.
 15598  	//
 15599  	// IsTruncated is a required field
 15600  	IsTruncated *bool `type:"boolean" required:"true"`
 15601  
 15602  	// The value that you specified for the MaxItems parameter in the call to ListTrafficPolicyInstancesByPolicy
 15603  	// that produced the current response.
 15604  	//
 15605  	// MaxItems is a required field
 15606  	MaxItems *string `type:"string" required:"true"`
 15607  
 15608  	// If IsTruncated is true, TrafficPolicyInstanceNameMarker is the name of the
 15609  	// first traffic policy instance in the next group of MaxItems traffic policy
 15610  	// instances.
 15611  	TrafficPolicyInstanceNameMarker *string `type:"string"`
 15612  
 15613  	// If IsTruncated is true, TrafficPolicyInstanceTypeMarker is the DNS type of
 15614  	// the resource record sets that are associated with the first traffic policy
 15615  	// instance in the next group of MaxItems traffic policy instances.
 15616  	TrafficPolicyInstanceTypeMarker *string `type:"string" enum:"RRType"`
 15617  
 15618  	// A list that contains one TrafficPolicyInstance element for each traffic policy
 15619  	// instance that matches the elements in the request.
 15620  	//
 15621  	// TrafficPolicyInstances is a required field
 15622  	TrafficPolicyInstances []*TrafficPolicyInstance `locationNameList:"TrafficPolicyInstance" type:"list" required:"true"`
 15623  }
 15624  
 15625  // String returns the string representation.
 15626  //
 15627  // API parameter values that are decorated as "sensitive" in the API will not
 15628  // be included in the string output. The member name will be present, but the
 15629  // value will be replaced with "sensitive".
 15630  func (s ListTrafficPolicyInstancesByPolicyOutput) String() string {
 15631  	return awsutil.Prettify(s)
 15632  }
 15633  
 15634  // GoString returns the string representation.
 15635  //
 15636  // API parameter values that are decorated as "sensitive" in the API will not
 15637  // be included in the string output. The member name will be present, but the
 15638  // value will be replaced with "sensitive".
 15639  func (s ListTrafficPolicyInstancesByPolicyOutput) GoString() string {
 15640  	return s.String()
 15641  }
 15642  
 15643  // SetHostedZoneIdMarker sets the HostedZoneIdMarker field's value.
 15644  func (s *ListTrafficPolicyInstancesByPolicyOutput) SetHostedZoneIdMarker(v string) *ListTrafficPolicyInstancesByPolicyOutput {
 15645  	s.HostedZoneIdMarker = &v
 15646  	return s
 15647  }
 15648  
 15649  // SetIsTruncated sets the IsTruncated field's value.
 15650  func (s *ListTrafficPolicyInstancesByPolicyOutput) SetIsTruncated(v bool) *ListTrafficPolicyInstancesByPolicyOutput {
 15651  	s.IsTruncated = &v
 15652  	return s
 15653  }
 15654  
 15655  // SetMaxItems sets the MaxItems field's value.
 15656  func (s *ListTrafficPolicyInstancesByPolicyOutput) SetMaxItems(v string) *ListTrafficPolicyInstancesByPolicyOutput {
 15657  	s.MaxItems = &v
 15658  	return s
 15659  }
 15660  
 15661  // SetTrafficPolicyInstanceNameMarker sets the TrafficPolicyInstanceNameMarker field's value.
 15662  func (s *ListTrafficPolicyInstancesByPolicyOutput) SetTrafficPolicyInstanceNameMarker(v string) *ListTrafficPolicyInstancesByPolicyOutput {
 15663  	s.TrafficPolicyInstanceNameMarker = &v
 15664  	return s
 15665  }
 15666  
 15667  // SetTrafficPolicyInstanceTypeMarker sets the TrafficPolicyInstanceTypeMarker field's value.
 15668  func (s *ListTrafficPolicyInstancesByPolicyOutput) SetTrafficPolicyInstanceTypeMarker(v string) *ListTrafficPolicyInstancesByPolicyOutput {
 15669  	s.TrafficPolicyInstanceTypeMarker = &v
 15670  	return s
 15671  }
 15672  
 15673  // SetTrafficPolicyInstances sets the TrafficPolicyInstances field's value.
 15674  func (s *ListTrafficPolicyInstancesByPolicyOutput) SetTrafficPolicyInstances(v []*TrafficPolicyInstance) *ListTrafficPolicyInstancesByPolicyOutput {
 15675  	s.TrafficPolicyInstances = v
 15676  	return s
 15677  }
 15678  
 15679  // A request to get information about the traffic policy instances that you
 15680  // created by using the current Amazon Web Services account.
 15681  type ListTrafficPolicyInstancesInput struct {
 15682  	_ struct{} `locationName:"ListTrafficPolicyInstancesRequest" type:"structure"`
 15683  
 15684  	// If the value of IsTruncated in the previous response was true, you have more
 15685  	// traffic policy instances. To get more traffic policy instances, submit another
 15686  	// ListTrafficPolicyInstances request. For the value of HostedZoneId, specify
 15687  	// the value of HostedZoneIdMarker from the previous response, which is the
 15688  	// hosted zone ID of the first traffic policy instance in the next group of
 15689  	// traffic policy instances.
 15690  	//
 15691  	// If the value of IsTruncated in the previous response was false, there are
 15692  	// no more traffic policy instances to get.
 15693  	HostedZoneIdMarker *string `location:"querystring" locationName:"hostedzoneid" type:"string"`
 15694  
 15695  	// The maximum number of traffic policy instances that you want Amazon Route
 15696  	// 53 to return in response to a ListTrafficPolicyInstances request. If you
 15697  	// have more than MaxItems traffic policy instances, the value of the IsTruncated
 15698  	// element in the response is true, and the values of HostedZoneIdMarker, TrafficPolicyInstanceNameMarker,
 15699  	// and TrafficPolicyInstanceTypeMarker represent the first traffic policy instance
 15700  	// in the next group of MaxItems traffic policy instances.
 15701  	MaxItems *string `location:"querystring" locationName:"maxitems" type:"string"`
 15702  
 15703  	// If the value of IsTruncated in the previous response was true, you have more
 15704  	// traffic policy instances. To get more traffic policy instances, submit another
 15705  	// ListTrafficPolicyInstances request. For the value of trafficpolicyinstancename,
 15706  	// specify the value of TrafficPolicyInstanceNameMarker from the previous response,
 15707  	// which is the name of the first traffic policy instance in the next group
 15708  	// of traffic policy instances.
 15709  	//
 15710  	// If the value of IsTruncated in the previous response was false, there are
 15711  	// no more traffic policy instances to get.
 15712  	TrafficPolicyInstanceNameMarker *string `location:"querystring" locationName:"trafficpolicyinstancename" type:"string"`
 15713  
 15714  	// If the value of IsTruncated in the previous response was true, you have more
 15715  	// traffic policy instances. To get more traffic policy instances, submit another
 15716  	// ListTrafficPolicyInstances request. For the value of trafficpolicyinstancetype,
 15717  	// specify the value of TrafficPolicyInstanceTypeMarker from the previous response,
 15718  	// which is the type of the first traffic policy instance in the next group
 15719  	// of traffic policy instances.
 15720  	//
 15721  	// If the value of IsTruncated in the previous response was false, there are
 15722  	// no more traffic policy instances to get.
 15723  	TrafficPolicyInstanceTypeMarker *string `location:"querystring" locationName:"trafficpolicyinstancetype" type:"string" enum:"RRType"`
 15724  }
 15725  
 15726  // String returns the string representation.
 15727  //
 15728  // API parameter values that are decorated as "sensitive" in the API will not
 15729  // be included in the string output. The member name will be present, but the
 15730  // value will be replaced with "sensitive".
 15731  func (s ListTrafficPolicyInstancesInput) String() string {
 15732  	return awsutil.Prettify(s)
 15733  }
 15734  
 15735  // GoString returns the string representation.
 15736  //
 15737  // API parameter values that are decorated as "sensitive" in the API will not
 15738  // be included in the string output. The member name will be present, but the
 15739  // value will be replaced with "sensitive".
 15740  func (s ListTrafficPolicyInstancesInput) GoString() string {
 15741  	return s.String()
 15742  }
 15743  
 15744  // SetHostedZoneIdMarker sets the HostedZoneIdMarker field's value.
 15745  func (s *ListTrafficPolicyInstancesInput) SetHostedZoneIdMarker(v string) *ListTrafficPolicyInstancesInput {
 15746  	s.HostedZoneIdMarker = &v
 15747  	return s
 15748  }
 15749  
 15750  // SetMaxItems sets the MaxItems field's value.
 15751  func (s *ListTrafficPolicyInstancesInput) SetMaxItems(v string) *ListTrafficPolicyInstancesInput {
 15752  	s.MaxItems = &v
 15753  	return s
 15754  }
 15755  
 15756  // SetTrafficPolicyInstanceNameMarker sets the TrafficPolicyInstanceNameMarker field's value.
 15757  func (s *ListTrafficPolicyInstancesInput) SetTrafficPolicyInstanceNameMarker(v string) *ListTrafficPolicyInstancesInput {
 15758  	s.TrafficPolicyInstanceNameMarker = &v
 15759  	return s
 15760  }
 15761  
 15762  // SetTrafficPolicyInstanceTypeMarker sets the TrafficPolicyInstanceTypeMarker field's value.
 15763  func (s *ListTrafficPolicyInstancesInput) SetTrafficPolicyInstanceTypeMarker(v string) *ListTrafficPolicyInstancesInput {
 15764  	s.TrafficPolicyInstanceTypeMarker = &v
 15765  	return s
 15766  }
 15767  
 15768  // A complex type that contains the response information for the request.
 15769  type ListTrafficPolicyInstancesOutput struct {
 15770  	_ struct{} `type:"structure"`
 15771  
 15772  	// If IsTruncated is true, HostedZoneIdMarker is the ID of the hosted zone of
 15773  	// the first traffic policy instance that Route 53 will return if you submit
 15774  	// another ListTrafficPolicyInstances request.
 15775  	HostedZoneIdMarker *string `type:"string"`
 15776  
 15777  	// A flag that indicates whether there are more traffic policy instances to
 15778  	// be listed. If the response was truncated, you can get more traffic policy
 15779  	// instances by calling ListTrafficPolicyInstances again and specifying the
 15780  	// values of the HostedZoneIdMarker, TrafficPolicyInstanceNameMarker, and TrafficPolicyInstanceTypeMarker
 15781  	// in the corresponding request parameters.
 15782  	//
 15783  	// IsTruncated is a required field
 15784  	IsTruncated *bool `type:"boolean" required:"true"`
 15785  
 15786  	// The value that you specified for the MaxItems parameter in the call to ListTrafficPolicyInstances
 15787  	// that produced the current response.
 15788  	//
 15789  	// MaxItems is a required field
 15790  	MaxItems *string `type:"string" required:"true"`
 15791  
 15792  	// If IsTruncated is true, TrafficPolicyInstanceNameMarker is the name of the
 15793  	// first traffic policy instance that Route 53 will return if you submit another
 15794  	// ListTrafficPolicyInstances request.
 15795  	TrafficPolicyInstanceNameMarker *string `type:"string"`
 15796  
 15797  	// If IsTruncated is true, TrafficPolicyInstanceTypeMarker is the DNS type of
 15798  	// the resource record sets that are associated with the first traffic policy
 15799  	// instance that Amazon Route 53 will return if you submit another ListTrafficPolicyInstances
 15800  	// request.
 15801  	TrafficPolicyInstanceTypeMarker *string `type:"string" enum:"RRType"`
 15802  
 15803  	// A list that contains one TrafficPolicyInstance element for each traffic policy
 15804  	// instance that matches the elements in the request.
 15805  	//
 15806  	// TrafficPolicyInstances is a required field
 15807  	TrafficPolicyInstances []*TrafficPolicyInstance `locationNameList:"TrafficPolicyInstance" type:"list" required:"true"`
 15808  }
 15809  
 15810  // String returns the string representation.
 15811  //
 15812  // API parameter values that are decorated as "sensitive" in the API will not
 15813  // be included in the string output. The member name will be present, but the
 15814  // value will be replaced with "sensitive".
 15815  func (s ListTrafficPolicyInstancesOutput) String() string {
 15816  	return awsutil.Prettify(s)
 15817  }
 15818  
 15819  // GoString returns the string representation.
 15820  //
 15821  // API parameter values that are decorated as "sensitive" in the API will not
 15822  // be included in the string output. The member name will be present, but the
 15823  // value will be replaced with "sensitive".
 15824  func (s ListTrafficPolicyInstancesOutput) GoString() string {
 15825  	return s.String()
 15826  }
 15827  
 15828  // SetHostedZoneIdMarker sets the HostedZoneIdMarker field's value.
 15829  func (s *ListTrafficPolicyInstancesOutput) SetHostedZoneIdMarker(v string) *ListTrafficPolicyInstancesOutput {
 15830  	s.HostedZoneIdMarker = &v
 15831  	return s
 15832  }
 15833  
 15834  // SetIsTruncated sets the IsTruncated field's value.
 15835  func (s *ListTrafficPolicyInstancesOutput) SetIsTruncated(v bool) *ListTrafficPolicyInstancesOutput {
 15836  	s.IsTruncated = &v
 15837  	return s
 15838  }
 15839  
 15840  // SetMaxItems sets the MaxItems field's value.
 15841  func (s *ListTrafficPolicyInstancesOutput) SetMaxItems(v string) *ListTrafficPolicyInstancesOutput {
 15842  	s.MaxItems = &v
 15843  	return s
 15844  }
 15845  
 15846  // SetTrafficPolicyInstanceNameMarker sets the TrafficPolicyInstanceNameMarker field's value.
 15847  func (s *ListTrafficPolicyInstancesOutput) SetTrafficPolicyInstanceNameMarker(v string) *ListTrafficPolicyInstancesOutput {
 15848  	s.TrafficPolicyInstanceNameMarker = &v
 15849  	return s
 15850  }
 15851  
 15852  // SetTrafficPolicyInstanceTypeMarker sets the TrafficPolicyInstanceTypeMarker field's value.
 15853  func (s *ListTrafficPolicyInstancesOutput) SetTrafficPolicyInstanceTypeMarker(v string) *ListTrafficPolicyInstancesOutput {
 15854  	s.TrafficPolicyInstanceTypeMarker = &v
 15855  	return s
 15856  }
 15857  
 15858  // SetTrafficPolicyInstances sets the TrafficPolicyInstances field's value.
 15859  func (s *ListTrafficPolicyInstancesOutput) SetTrafficPolicyInstances(v []*TrafficPolicyInstance) *ListTrafficPolicyInstancesOutput {
 15860  	s.TrafficPolicyInstances = v
 15861  	return s
 15862  }
 15863  
 15864  // A complex type that contains the information about the request to list your
 15865  // traffic policies.
 15866  type ListTrafficPolicyVersionsInput struct {
 15867  	_ struct{} `locationName:"ListTrafficPolicyVersionsRequest" type:"structure"`
 15868  
 15869  	// Specify the value of Id of the traffic policy for which you want to list
 15870  	// all versions.
 15871  	//
 15872  	// Id is a required field
 15873  	Id *string `location:"uri" locationName:"Id" min:"1" type:"string" required:"true"`
 15874  
 15875  	// The maximum number of traffic policy versions that you want Amazon Route
 15876  	// 53 to include in the response body for this request. If the specified traffic
 15877  	// policy has more than MaxItems versions, the value of IsTruncated in the response
 15878  	// is true, and the value of the TrafficPolicyVersionMarker element is the ID
 15879  	// of the first version that Route 53 will return if you submit another request.
 15880  	MaxItems *string `location:"querystring" locationName:"maxitems" type:"string"`
 15881  
 15882  	// For your first request to ListTrafficPolicyVersions, don't include the TrafficPolicyVersionMarker
 15883  	// parameter.
 15884  	//
 15885  	// If you have more traffic policy versions than the value of MaxItems, ListTrafficPolicyVersions
 15886  	// returns only the first group of MaxItems versions. To get more traffic policy
 15887  	// versions, submit another ListTrafficPolicyVersions request. For the value
 15888  	// of TrafficPolicyVersionMarker, specify the value of TrafficPolicyVersionMarker
 15889  	// in the previous response.
 15890  	TrafficPolicyVersionMarker *string `location:"querystring" locationName:"trafficpolicyversion" type:"string"`
 15891  }
 15892  
 15893  // String returns the string representation.
 15894  //
 15895  // API parameter values that are decorated as "sensitive" in the API will not
 15896  // be included in the string output. The member name will be present, but the
 15897  // value will be replaced with "sensitive".
 15898  func (s ListTrafficPolicyVersionsInput) String() string {
 15899  	return awsutil.Prettify(s)
 15900  }
 15901  
 15902  // GoString returns the string representation.
 15903  //
 15904  // API parameter values that are decorated as "sensitive" in the API will not
 15905  // be included in the string output. The member name will be present, but the
 15906  // value will be replaced with "sensitive".
 15907  func (s ListTrafficPolicyVersionsInput) GoString() string {
 15908  	return s.String()
 15909  }
 15910  
 15911  // Validate inspects the fields of the type to determine if they are valid.
 15912  func (s *ListTrafficPolicyVersionsInput) Validate() error {
 15913  	invalidParams := request.ErrInvalidParams{Context: "ListTrafficPolicyVersionsInput"}
 15914  	if s.Id == nil {
 15915  		invalidParams.Add(request.NewErrParamRequired("Id"))
 15916  	}
 15917  	if s.Id != nil && len(*s.Id) < 1 {
 15918  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
 15919  	}
 15920  
 15921  	if invalidParams.Len() > 0 {
 15922  		return invalidParams
 15923  	}
 15924  	return nil
 15925  }
 15926  
 15927  // SetId sets the Id field's value.
 15928  func (s *ListTrafficPolicyVersionsInput) SetId(v string) *ListTrafficPolicyVersionsInput {
 15929  	s.Id = &v
 15930  	return s
 15931  }
 15932  
 15933  // SetMaxItems sets the MaxItems field's value.
 15934  func (s *ListTrafficPolicyVersionsInput) SetMaxItems(v string) *ListTrafficPolicyVersionsInput {
 15935  	s.MaxItems = &v
 15936  	return s
 15937  }
 15938  
 15939  // SetTrafficPolicyVersionMarker sets the TrafficPolicyVersionMarker field's value.
 15940  func (s *ListTrafficPolicyVersionsInput) SetTrafficPolicyVersionMarker(v string) *ListTrafficPolicyVersionsInput {
 15941  	s.TrafficPolicyVersionMarker = &v
 15942  	return s
 15943  }
 15944  
 15945  // A complex type that contains the response information for the request.
 15946  type ListTrafficPolicyVersionsOutput struct {
 15947  	_ struct{} `type:"structure"`
 15948  
 15949  	// A flag that indicates whether there are more traffic policies to be listed.
 15950  	// If the response was truncated, you can get the next group of traffic policies
 15951  	// by submitting another ListTrafficPolicyVersions request and specifying the
 15952  	// value of NextMarker in the marker parameter.
 15953  	//
 15954  	// IsTruncated is a required field
 15955  	IsTruncated *bool `type:"boolean" required:"true"`
 15956  
 15957  	// The value that you specified for the maxitems parameter in the ListTrafficPolicyVersions
 15958  	// request that produced the current response.
 15959  	//
 15960  	// MaxItems is a required field
 15961  	MaxItems *string `type:"string" required:"true"`
 15962  
 15963  	// A list that contains one TrafficPolicy element for each traffic policy version
 15964  	// that is associated with the specified traffic policy.
 15965  	//
 15966  	// TrafficPolicies is a required field
 15967  	TrafficPolicies []*TrafficPolicy `locationNameList:"TrafficPolicy" type:"list" required:"true"`
 15968  
 15969  	// If IsTruncated is true, the value of TrafficPolicyVersionMarker identifies
 15970  	// the first traffic policy that Amazon Route 53 will return if you submit another
 15971  	// request. Call ListTrafficPolicyVersions again and specify the value of TrafficPolicyVersionMarker
 15972  	// in the TrafficPolicyVersionMarker request parameter.
 15973  	//
 15974  	// This element is present only if IsTruncated is true.
 15975  	//
 15976  	// TrafficPolicyVersionMarker is a required field
 15977  	TrafficPolicyVersionMarker *string `type:"string" required:"true"`
 15978  }
 15979  
 15980  // String returns the string representation.
 15981  //
 15982  // API parameter values that are decorated as "sensitive" in the API will not
 15983  // be included in the string output. The member name will be present, but the
 15984  // value will be replaced with "sensitive".
 15985  func (s ListTrafficPolicyVersionsOutput) String() string {
 15986  	return awsutil.Prettify(s)
 15987  }
 15988  
 15989  // GoString returns the string representation.
 15990  //
 15991  // API parameter values that are decorated as "sensitive" in the API will not
 15992  // be included in the string output. The member name will be present, but the
 15993  // value will be replaced with "sensitive".
 15994  func (s ListTrafficPolicyVersionsOutput) GoString() string {
 15995  	return s.String()
 15996  }
 15997  
 15998  // SetIsTruncated sets the IsTruncated field's value.
 15999  func (s *ListTrafficPolicyVersionsOutput) SetIsTruncated(v bool) *ListTrafficPolicyVersionsOutput {
 16000  	s.IsTruncated = &v
 16001  	return s
 16002  }
 16003  
 16004  // SetMaxItems sets the MaxItems field's value.
 16005  func (s *ListTrafficPolicyVersionsOutput) SetMaxItems(v string) *ListTrafficPolicyVersionsOutput {
 16006  	s.MaxItems = &v
 16007  	return s
 16008  }
 16009  
 16010  // SetTrafficPolicies sets the TrafficPolicies field's value.
 16011  func (s *ListTrafficPolicyVersionsOutput) SetTrafficPolicies(v []*TrafficPolicy) *ListTrafficPolicyVersionsOutput {
 16012  	s.TrafficPolicies = v
 16013  	return s
 16014  }
 16015  
 16016  // SetTrafficPolicyVersionMarker sets the TrafficPolicyVersionMarker field's value.
 16017  func (s *ListTrafficPolicyVersionsOutput) SetTrafficPolicyVersionMarker(v string) *ListTrafficPolicyVersionsOutput {
 16018  	s.TrafficPolicyVersionMarker = &v
 16019  	return s
 16020  }
 16021  
 16022  // A complex type that contains information about that can be associated with
 16023  // your hosted zone.
 16024  type ListVPCAssociationAuthorizationsInput struct {
 16025  	_ struct{} `locationName:"ListVPCAssociationAuthorizationsRequest" type:"structure"`
 16026  
 16027  	// The ID of the hosted zone for which you want a list of VPCs that can be associated
 16028  	// with the hosted zone.
 16029  	//
 16030  	// HostedZoneId is a required field
 16031  	HostedZoneId *string `location:"uri" locationName:"Id" type:"string" required:"true"`
 16032  
 16033  	// Optional: An integer that specifies the maximum number of VPCs that you want
 16034  	// Amazon Route 53 to return. If you don't specify a value for MaxResults, Route
 16035  	// 53 returns up to 50 VPCs per page.
 16036  	MaxResults *string `location:"querystring" locationName:"maxresults" type:"string"`
 16037  
 16038  	// Optional: If a response includes a NextToken element, there are more VPCs
 16039  	// that can be associated with the specified hosted zone. To get the next page
 16040  	// of results, submit another request, and include the value of NextToken from
 16041  	// the response in the nexttoken parameter in another ListVPCAssociationAuthorizations
 16042  	// request.
 16043  	NextToken *string `location:"querystring" locationName:"nexttoken" type:"string"`
 16044  }
 16045  
 16046  // String returns the string representation.
 16047  //
 16048  // API parameter values that are decorated as "sensitive" in the API will not
 16049  // be included in the string output. The member name will be present, but the
 16050  // value will be replaced with "sensitive".
 16051  func (s ListVPCAssociationAuthorizationsInput) String() string {
 16052  	return awsutil.Prettify(s)
 16053  }
 16054  
 16055  // GoString returns the string representation.
 16056  //
 16057  // API parameter values that are decorated as "sensitive" in the API will not
 16058  // be included in the string output. The member name will be present, but the
 16059  // value will be replaced with "sensitive".
 16060  func (s ListVPCAssociationAuthorizationsInput) GoString() string {
 16061  	return s.String()
 16062  }
 16063  
 16064  // Validate inspects the fields of the type to determine if they are valid.
 16065  func (s *ListVPCAssociationAuthorizationsInput) Validate() error {
 16066  	invalidParams := request.ErrInvalidParams{Context: "ListVPCAssociationAuthorizationsInput"}
 16067  	if s.HostedZoneId == nil {
 16068  		invalidParams.Add(request.NewErrParamRequired("HostedZoneId"))
 16069  	}
 16070  	if s.HostedZoneId != nil && len(*s.HostedZoneId) < 1 {
 16071  		invalidParams.Add(request.NewErrParamMinLen("HostedZoneId", 1))
 16072  	}
 16073  
 16074  	if invalidParams.Len() > 0 {
 16075  		return invalidParams
 16076  	}
 16077  	return nil
 16078  }
 16079  
 16080  // SetHostedZoneId sets the HostedZoneId field's value.
 16081  func (s *ListVPCAssociationAuthorizationsInput) SetHostedZoneId(v string) *ListVPCAssociationAuthorizationsInput {
 16082  	s.HostedZoneId = &v
 16083  	return s
 16084  }
 16085  
 16086  // SetMaxResults sets the MaxResults field's value.
 16087  func (s *ListVPCAssociationAuthorizationsInput) SetMaxResults(v string) *ListVPCAssociationAuthorizationsInput {
 16088  	s.MaxResults = &v
 16089  	return s
 16090  }
 16091  
 16092  // SetNextToken sets the NextToken field's value.
 16093  func (s *ListVPCAssociationAuthorizationsInput) SetNextToken(v string) *ListVPCAssociationAuthorizationsInput {
 16094  	s.NextToken = &v
 16095  	return s
 16096  }
 16097  
 16098  // A complex type that contains the response information for the request.
 16099  type ListVPCAssociationAuthorizationsOutput struct {
 16100  	_ struct{} `type:"structure"`
 16101  
 16102  	// The ID of the hosted zone that you can associate the listed VPCs with.
 16103  	//
 16104  	// HostedZoneId is a required field
 16105  	HostedZoneId *string `type:"string" required:"true"`
 16106  
 16107  	// When the response includes a NextToken element, there are more VPCs that
 16108  	// can be associated with the specified hosted zone. To get the next page of
 16109  	// VPCs, submit another ListVPCAssociationAuthorizations request, and include
 16110  	// the value of the NextToken element from the response in the nexttoken request
 16111  	// parameter.
 16112  	NextToken *string `type:"string"`
 16113  
 16114  	// The list of VPCs that are authorized to be associated with the specified
 16115  	// hosted zone.
 16116  	//
 16117  	// VPCs is a required field
 16118  	VPCs []*VPC `locationNameList:"VPC" min:"1" type:"list" required:"true"`
 16119  }
 16120  
 16121  // String returns the string representation.
 16122  //
 16123  // API parameter values that are decorated as "sensitive" in the API will not
 16124  // be included in the string output. The member name will be present, but the
 16125  // value will be replaced with "sensitive".
 16126  func (s ListVPCAssociationAuthorizationsOutput) String() string {
 16127  	return awsutil.Prettify(s)
 16128  }
 16129  
 16130  // GoString returns the string representation.
 16131  //
 16132  // API parameter values that are decorated as "sensitive" in the API will not
 16133  // be included in the string output. The member name will be present, but the
 16134  // value will be replaced with "sensitive".
 16135  func (s ListVPCAssociationAuthorizationsOutput) GoString() string {
 16136  	return s.String()
 16137  }
 16138  
 16139  // SetHostedZoneId sets the HostedZoneId field's value.
 16140  func (s *ListVPCAssociationAuthorizationsOutput) SetHostedZoneId(v string) *ListVPCAssociationAuthorizationsOutput {
 16141  	s.HostedZoneId = &v
 16142  	return s
 16143  }
 16144  
 16145  // SetNextToken sets the NextToken field's value.
 16146  func (s *ListVPCAssociationAuthorizationsOutput) SetNextToken(v string) *ListVPCAssociationAuthorizationsOutput {
 16147  	s.NextToken = &v
 16148  	return s
 16149  }
 16150  
 16151  // SetVPCs sets the VPCs field's value.
 16152  func (s *ListVPCAssociationAuthorizationsOutput) SetVPCs(v []*VPC) *ListVPCAssociationAuthorizationsOutput {
 16153  	s.VPCs = v
 16154  	return s
 16155  }
 16156  
 16157  // A complex type that contains information about a configuration for DNS query
 16158  // logging.
 16159  type QueryLoggingConfig struct {
 16160  	_ struct{} `type:"structure"`
 16161  
 16162  	// The Amazon Resource Name (ARN) of the CloudWatch Logs log group that Amazon
 16163  	// Route 53 is publishing logs to.
 16164  	//
 16165  	// CloudWatchLogsLogGroupArn is a required field
 16166  	CloudWatchLogsLogGroupArn *string `type:"string" required:"true"`
 16167  
 16168  	// The ID of the hosted zone that CloudWatch Logs is logging queries for.
 16169  	//
 16170  	// HostedZoneId is a required field
 16171  	HostedZoneId *string `type:"string" required:"true"`
 16172  
 16173  	// The ID for a configuration for DNS query logging.
 16174  	//
 16175  	// Id is a required field
 16176  	Id *string `min:"1" type:"string" required:"true"`
 16177  }
 16178  
 16179  // String returns the string representation.
 16180  //
 16181  // API parameter values that are decorated as "sensitive" in the API will not
 16182  // be included in the string output. The member name will be present, but the
 16183  // value will be replaced with "sensitive".
 16184  func (s QueryLoggingConfig) String() string {
 16185  	return awsutil.Prettify(s)
 16186  }
 16187  
 16188  // GoString returns the string representation.
 16189  //
 16190  // API parameter values that are decorated as "sensitive" in the API will not
 16191  // be included in the string output. The member name will be present, but the
 16192  // value will be replaced with "sensitive".
 16193  func (s QueryLoggingConfig) GoString() string {
 16194  	return s.String()
 16195  }
 16196  
 16197  // SetCloudWatchLogsLogGroupArn sets the CloudWatchLogsLogGroupArn field's value.
 16198  func (s *QueryLoggingConfig) SetCloudWatchLogsLogGroupArn(v string) *QueryLoggingConfig {
 16199  	s.CloudWatchLogsLogGroupArn = &v
 16200  	return s
 16201  }
 16202  
 16203  // SetHostedZoneId sets the HostedZoneId field's value.
 16204  func (s *QueryLoggingConfig) SetHostedZoneId(v string) *QueryLoggingConfig {
 16205  	s.HostedZoneId = &v
 16206  	return s
 16207  }
 16208  
 16209  // SetId sets the Id field's value.
 16210  func (s *QueryLoggingConfig) SetId(v string) *QueryLoggingConfig {
 16211  	s.Id = &v
 16212  	return s
 16213  }
 16214  
 16215  // Information specific to the resource record.
 16216  //
 16217  // If you're creating an alias resource record set, omit ResourceRecord.
 16218  type ResourceRecord struct {
 16219  	_ struct{} `type:"structure"`
 16220  
 16221  	// The current or new DNS record value, not to exceed 4,000 characters. In the
 16222  	// case of a DELETE action, if the current value does not match the actual value,
 16223  	// an error is returned. For descriptions about how to format Value for different
 16224  	// record types, see Supported DNS Resource Record Types (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html)
 16225  	// in the Amazon Route 53 Developer Guide.
 16226  	//
 16227  	// You can specify more than one value for all record types except CNAME and
 16228  	// SOA.
 16229  	//
 16230  	// If you're creating an alias resource record set, omit Value.
 16231  	//
 16232  	// Value is a required field
 16233  	Value *string `type:"string" required:"true"`
 16234  }
 16235  
 16236  // String returns the string representation.
 16237  //
 16238  // API parameter values that are decorated as "sensitive" in the API will not
 16239  // be included in the string output. The member name will be present, but the
 16240  // value will be replaced with "sensitive".
 16241  func (s ResourceRecord) String() string {
 16242  	return awsutil.Prettify(s)
 16243  }
 16244  
 16245  // GoString returns the string representation.
 16246  //
 16247  // API parameter values that are decorated as "sensitive" in the API will not
 16248  // be included in the string output. The member name will be present, but the
 16249  // value will be replaced with "sensitive".
 16250  func (s ResourceRecord) GoString() string {
 16251  	return s.String()
 16252  }
 16253  
 16254  // Validate inspects the fields of the type to determine if they are valid.
 16255  func (s *ResourceRecord) Validate() error {
 16256  	invalidParams := request.ErrInvalidParams{Context: "ResourceRecord"}
 16257  	if s.Value == nil {
 16258  		invalidParams.Add(request.NewErrParamRequired("Value"))
 16259  	}
 16260  
 16261  	if invalidParams.Len() > 0 {
 16262  		return invalidParams
 16263  	}
 16264  	return nil
 16265  }
 16266  
 16267  // SetValue sets the Value field's value.
 16268  func (s *ResourceRecord) SetValue(v string) *ResourceRecord {
 16269  	s.Value = &v
 16270  	return s
 16271  }
 16272  
 16273  // Information about the resource record set to create or delete.
 16274  type ResourceRecordSet struct {
 16275  	_ struct{} `type:"structure"`
 16276  
 16277  	// Alias resource record sets only: Information about the Amazon Web Services
 16278  	// resource, such as a CloudFront distribution or an Amazon S3 bucket, that
 16279  	// you want to route traffic to.
 16280  	//
 16281  	// If you're creating resource records sets for a private hosted zone, note
 16282  	// the following:
 16283  	//
 16284  	//    * You can't create an alias resource record set in a private hosted zone
 16285  	//    to route traffic to a CloudFront distribution.
 16286  	//
 16287  	//    * Creating geolocation alias resource record sets or latency alias resource
 16288  	//    record sets in a private hosted zone is unsupported.
 16289  	//
 16290  	//    * For information about creating failover resource record sets in a private
 16291  	//    hosted zone, see Configuring Failover in a Private Hosted Zone (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html)
 16292  	//    in the Amazon Route 53 Developer Guide.
 16293  	AliasTarget *AliasTarget `type:"structure"`
 16294  
 16295  	// Failover resource record sets only: To configure failover, you add the Failover
 16296  	// element to two resource record sets. For one resource record set, you specify
 16297  	// PRIMARY as the value for Failover; for the other resource record set, you
 16298  	// specify SECONDARY. In addition, you include the HealthCheckId element and
 16299  	// specify the health check that you want Amazon Route 53 to perform for each
 16300  	// resource record set.
 16301  	//
 16302  	// Except where noted, the following failover behaviors assume that you have
 16303  	// included the HealthCheckId element in both resource record sets:
 16304  	//
 16305  	//    * When the primary resource record set is healthy, Route 53 responds to
 16306  	//    DNS queries with the applicable value from the primary resource record
 16307  	//    set regardless of the health of the secondary resource record set.
 16308  	//
 16309  	//    * When the primary resource record set is unhealthy and the secondary
 16310  	//    resource record set is healthy, Route 53 responds to DNS queries with
 16311  	//    the applicable value from the secondary resource record set.
 16312  	//
 16313  	//    * When the secondary resource record set is unhealthy, Route 53 responds
 16314  	//    to DNS queries with the applicable value from the primary resource record
 16315  	//    set regardless of the health of the primary resource record set.
 16316  	//
 16317  	//    * If you omit the HealthCheckId element for the secondary resource record
 16318  	//    set, and if the primary resource record set is unhealthy, Route 53 always
 16319  	//    responds to DNS queries with the applicable value from the secondary resource
 16320  	//    record set. This is true regardless of the health of the associated endpoint.
 16321  	//
 16322  	// You can't create non-failover resource record sets that have the same values
 16323  	// for the Name and Type elements as failover resource record sets.
 16324  	//
 16325  	// For failover alias resource record sets, you must also include the EvaluateTargetHealth
 16326  	// element and set the value to true.
 16327  	//
 16328  	// For more information about configuring failover for Route 53, see the following
 16329  	// topics in the Amazon Route 53 Developer Guide:
 16330  	//
 16331  	//    * Route 53 Health Checks and DNS Failover (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html)
 16332  	//
 16333  	//    * Configuring Failover in a Private Hosted Zone (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html)
 16334  	Failover *string `type:"string" enum:"ResourceRecordSetFailover"`
 16335  
 16336  	// Geolocation resource record sets only: A complex type that lets you control
 16337  	// how Amazon Route 53 responds to DNS queries based on the geographic origin
 16338  	// of the query. For example, if you want all queries from Africa to be routed
 16339  	// to a web server with an IP address of 192.0.2.111, create a resource record
 16340  	// set with a Type of A and a ContinentCode of AF.
 16341  	//
 16342  	// Although creating geolocation and geolocation alias resource record sets
 16343  	// in a private hosted zone is allowed, it's not supported.
 16344  	//
 16345  	// If you create separate resource record sets for overlapping geographic regions
 16346  	// (for example, one resource record set for a continent and one for a country
 16347  	// on the same continent), priority goes to the smallest geographic region.
 16348  	// This allows you to route most queries for a continent to one resource and
 16349  	// to route queries for a country on that continent to a different resource.
 16350  	//
 16351  	// You can't create two geolocation resource record sets that specify the same
 16352  	// geographic location.
 16353  	//
 16354  	// The value * in the CountryCode element matches all geographic locations that
 16355  	// aren't specified in other geolocation resource record sets that have the
 16356  	// same values for the Name and Type elements.
 16357  	//
 16358  	// Geolocation works by mapping IP addresses to locations. However, some IP
 16359  	// addresses aren't mapped to geographic locations, so even if you create geolocation
 16360  	// resource record sets that cover all seven continents, Route 53 will receive
 16361  	// some DNS queries from locations that it can't identify. We recommend that
 16362  	// you create a resource record set for which the value of CountryCode is *.
 16363  	// Two groups of queries are routed to the resource that you specify in this
 16364  	// record: queries that come from locations for which you haven't created geolocation
 16365  	// resource record sets and queries from IP addresses that aren't mapped to
 16366  	// a location. If you don't create a * resource record set, Route 53 returns
 16367  	// a "no answer" response for queries from those locations.
 16368  	//
 16369  	// You can't create non-geolocation resource record sets that have the same
 16370  	// values for the Name and Type elements as geolocation resource record sets.
 16371  	GeoLocation *GeoLocation `type:"structure"`
 16372  
 16373  	// If you want Amazon Route 53 to return this resource record set in response
 16374  	// to a DNS query only when the status of a health check is healthy, include
 16375  	// the HealthCheckId element and specify the ID of the applicable health check.
 16376  	//
 16377  	// Route 53 determines whether a resource record set is healthy based on one
 16378  	// of the following:
 16379  	//
 16380  	//    * By periodically sending a request to the endpoint that is specified
 16381  	//    in the health check
 16382  	//
 16383  	//    * By aggregating the status of a specified group of health checks (calculated
 16384  	//    health checks)
 16385  	//
 16386  	//    * By determining the current state of a CloudWatch alarm (CloudWatch metric
 16387  	//    health checks)
 16388  	//
 16389  	// Route 53 doesn't check the health of the endpoint that is specified in the
 16390  	// resource record set, for example, the endpoint specified by the IP address
 16391  	// in the Value element. When you add a HealthCheckId element to a resource
 16392  	// record set, Route 53 checks the health of the endpoint that you specified
 16393  	// in the health check.
 16394  	//
 16395  	// For more information, see the following topics in the Amazon Route 53 Developer
 16396  	// Guide:
 16397  	//
 16398  	//    * How Amazon Route 53 Determines Whether an Endpoint Is Healthy (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html)
 16399  	//
 16400  	//    * Route 53 Health Checks and DNS Failover (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html)
 16401  	//
 16402  	//    * Configuring Failover in a Private Hosted Zone (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html)
 16403  	//
 16404  	// When to Specify HealthCheckId
 16405  	//
 16406  	// Specifying a value for HealthCheckId is useful only when Route 53 is choosing
 16407  	// between two or more resource record sets to respond to a DNS query, and you
 16408  	// want Route 53 to base the choice in part on the status of a health check.
 16409  	// Configuring health checks makes sense only in the following configurations:
 16410  	//
 16411  	//    * Non-alias resource record sets: You're checking the health of a group
 16412  	//    of non-alias resource record sets that have the same routing policy, name,
 16413  	//    and type (such as multiple weighted records named www.example.com with
 16414  	//    a type of A) and you specify health check IDs for all the resource record
 16415  	//    sets. If the health check status for a resource record set is healthy,
 16416  	//    Route 53 includes the record among the records that it responds to DNS
 16417  	//    queries with. If the health check status for a resource record set is
 16418  	//    unhealthy, Route 53 stops responding to DNS queries using the value for
 16419  	//    that resource record set. If the health check status for all resource
 16420  	//    record sets in the group is unhealthy, Route 53 considers all resource
 16421  	//    record sets in the group healthy and responds to DNS queries accordingly.
 16422  	//
 16423  	//    * Alias resource record sets: You specify the following settings: You
 16424  	//    set EvaluateTargetHealth to true for an alias resource record set in a
 16425  	//    group of resource record sets that have the same routing policy, name,
 16426  	//    and type (such as multiple weighted records named www.example.com with
 16427  	//    a type of A). You configure the alias resource record set to route traffic
 16428  	//    to a non-alias resource record set in the same hosted zone. You specify
 16429  	//    a health check ID for the non-alias resource record set. If the health
 16430  	//    check status is healthy, Route 53 considers the alias resource record
 16431  	//    set to be healthy and includes the alias record among the records that
 16432  	//    it responds to DNS queries with. If the health check status is unhealthy,
 16433  	//    Route 53 stops responding to DNS queries using the alias resource record
 16434  	//    set. The alias resource record set can also route traffic to a group of
 16435  	//    non-alias resource record sets that have the same routing policy, name,
 16436  	//    and type. In that configuration, associate health checks with all of the
 16437  	//    resource record sets in the group of non-alias resource record sets.
 16438  	//
 16439  	// Geolocation Routing
 16440  	//
 16441  	// For geolocation resource record sets, if an endpoint is unhealthy, Route
 16442  	// 53 looks for a resource record set for the larger, associated geographic
 16443  	// region. For example, suppose you have resource record sets for a state in
 16444  	// the United States, for the entire United States, for North America, and a
 16445  	// resource record set that has * for CountryCode is *, which applies to all
 16446  	// locations. If the endpoint for the state resource record set is unhealthy,
 16447  	// Route 53 checks for healthy resource record sets in the following order until
 16448  	// it finds a resource record set for which the endpoint is healthy:
 16449  	//
 16450  	//    * The United States
 16451  	//
 16452  	//    * North America
 16453  	//
 16454  	//    * The default resource record set
 16455  	//
 16456  	// Specifying the Health Check Endpoint by Domain Name
 16457  	//
 16458  	// If your health checks specify the endpoint only by domain name, we recommend
 16459  	// that you create a separate health check for each endpoint. For example, create
 16460  	// a health check for each HTTP server that is serving content for www.example.com.
 16461  	// For the value of FullyQualifiedDomainName, specify the domain name of the
 16462  	// server (such as us-east-2-www.example.com), not the name of the resource
 16463  	// record sets (www.example.com).
 16464  	//
 16465  	// Health check results will be unpredictable if you do the following:
 16466  	//
 16467  	//    * Create a health check that has the same value for FullyQualifiedDomainName
 16468  	//    as the name of a resource record set.
 16469  	//
 16470  	//    * Associate that health check with the resource record set.
 16471  	HealthCheckId *string `type:"string"`
 16472  
 16473  	// Multivalue answer resource record sets only: To route traffic approximately
 16474  	// randomly to multiple resources, such as web servers, create one multivalue
 16475  	// answer record for each resource and specify true for MultiValueAnswer. Note
 16476  	// the following:
 16477  	//
 16478  	//    * If you associate a health check with a multivalue answer resource record
 16479  	//    set, Amazon Route 53 responds to DNS queries with the corresponding IP
 16480  	//    address only when the health check is healthy.
 16481  	//
 16482  	//    * If you don't associate a health check with a multivalue answer record,
 16483  	//    Route 53 always considers the record to be healthy.
 16484  	//
 16485  	//    * Route 53 responds to DNS queries with up to eight healthy records; if
 16486  	//    you have eight or fewer healthy records, Route 53 responds to all DNS
 16487  	//    queries with all the healthy records.
 16488  	//
 16489  	//    * If you have more than eight healthy records, Route 53 responds to different
 16490  	//    DNS resolvers with different combinations of healthy records.
 16491  	//
 16492  	//    * When all records are unhealthy, Route 53 responds to DNS queries with
 16493  	//    up to eight unhealthy records.
 16494  	//
 16495  	//    * If a resource becomes unavailable after a resolver caches a response,
 16496  	//    client software typically tries another of the IP addresses in the response.
 16497  	//
 16498  	// You can't create multivalue answer alias records.
 16499  	MultiValueAnswer *bool `type:"boolean"`
 16500  
 16501  	// For ChangeResourceRecordSets requests, the name of the record that you want
 16502  	// to create, update, or delete. For ListResourceRecordSets responses, the name
 16503  	// of a record in the specified hosted zone.
 16504  	//
 16505  	// ChangeResourceRecordSets Only
 16506  	//
 16507  	// Enter a fully qualified domain name, for example, www.example.com. You can
 16508  	// optionally include a trailing dot. If you omit the trailing dot, Amazon Route
 16509  	// 53 assumes that the domain name that you specify is fully qualified. This
 16510  	// means that Route 53 treats www.example.com (without a trailing dot) and www.example.com.
 16511  	// (with a trailing dot) as identical.
 16512  	//
 16513  	// For information about how to specify characters other than a-z, 0-9, and
 16514  	// - (hyphen) and how to specify internationalized domain names, see DNS Domain
 16515  	// Name Format (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html)
 16516  	// in the Amazon Route 53 Developer Guide.
 16517  	//
 16518  	// You can use the asterisk (*) wildcard to replace the leftmost label in a
 16519  	// domain name, for example, *.example.com. Note the following:
 16520  	//
 16521  	//    * The * must replace the entire label. For example, you can't specify
 16522  	//    *prod.example.com or prod*.example.com.
 16523  	//
 16524  	//    * The * can't replace any of the middle labels, for example, marketing.*.example.com.
 16525  	//
 16526  	//    * If you include * in any position other than the leftmost label in a
 16527  	//    domain name, DNS treats it as an * character (ASCII 42), not as a wildcard.
 16528  	//    You can't use the * wildcard for resource records sets that have a type
 16529  	//    of NS.
 16530  	//
 16531  	// You can use the * wildcard as the leftmost label in a domain name, for example,
 16532  	// *.example.com. You can't use an * for one of the middle labels, for example,
 16533  	// marketing.*.example.com. In addition, the * must replace the entire label;
 16534  	// for example, you can't specify prod*.example.com.
 16535  	//
 16536  	// Name is a required field
 16537  	Name *string `type:"string" required:"true"`
 16538  
 16539  	// Latency-based resource record sets only: The Amazon EC2 Region where you
 16540  	// created the resource that this resource record set refers to. The resource
 16541  	// typically is an Amazon Web Services resource, such as an EC2 instance or
 16542  	// an ELB load balancer, and is referred to by an IP address or a DNS domain
 16543  	// name, depending on the record type.
 16544  	//
 16545  	// Although creating latency and latency alias resource record sets in a private
 16546  	// hosted zone is allowed, it's not supported.
 16547  	//
 16548  	// When Amazon Route 53 receives a DNS query for a domain name and type for
 16549  	// which you have created latency resource record sets, Route 53 selects the
 16550  	// latency resource record set that has the lowest latency between the end user
 16551  	// and the associated Amazon EC2 Region. Route 53 then returns the value that
 16552  	// is associated with the selected resource record set.
 16553  	//
 16554  	// Note the following:
 16555  	//
 16556  	//    * You can only specify one ResourceRecord per latency resource record
 16557  	//    set.
 16558  	//
 16559  	//    * You can only create one latency resource record set for each Amazon
 16560  	//    EC2 Region.
 16561  	//
 16562  	//    * You aren't required to create latency resource record sets for all Amazon
 16563  	//    EC2 Regions. Route 53 will choose the region with the best latency from
 16564  	//    among the regions that you create latency resource record sets for.
 16565  	//
 16566  	//    * You can't create non-latency resource record sets that have the same
 16567  	//    values for the Name and Type elements as latency resource record sets.
 16568  	Region *string `min:"1" type:"string" enum:"ResourceRecordSetRegion"`
 16569  
 16570  	// Information about the resource records to act upon.
 16571  	//
 16572  	// If you're creating an alias resource record set, omit ResourceRecords.
 16573  	ResourceRecords []*ResourceRecord `locationNameList:"ResourceRecord" min:"1" type:"list"`
 16574  
 16575  	// Resource record sets that have a routing policy other than simple: An identifier
 16576  	// that differentiates among multiple resource record sets that have the same
 16577  	// combination of name and type, such as multiple weighted resource record sets
 16578  	// named acme.example.com that have a type of A. In a group of resource record
 16579  	// sets that have the same name and type, the value of SetIdentifier must be
 16580  	// unique for each resource record set.
 16581  	//
 16582  	// For information about routing policies, see Choosing a Routing Policy (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html)
 16583  	// in the Amazon Route 53 Developer Guide.
 16584  	SetIdentifier *string `min:"1" type:"string"`
 16585  
 16586  	// The resource record cache time to live (TTL), in seconds. Note the following:
 16587  	//
 16588  	//    * If you're creating or updating an alias resource record set, omit TTL.
 16589  	//    Amazon Route 53 uses the value of TTL for the alias target.
 16590  	//
 16591  	//    * If you're associating this resource record set with a health check (if
 16592  	//    you're adding a HealthCheckId element), we recommend that you specify
 16593  	//    a TTL of 60 seconds or less so clients respond quickly to changes in health
 16594  	//    status.
 16595  	//
 16596  	//    * All of the resource record sets in a group of weighted resource record
 16597  	//    sets must have the same value for TTL.
 16598  	//
 16599  	//    * If a group of weighted resource record sets includes one or more weighted
 16600  	//    alias resource record sets for which the alias target is an ELB load balancer,
 16601  	//    we recommend that you specify a TTL of 60 seconds for all of the non-alias
 16602  	//    weighted resource record sets that have the same name and type. Values
 16603  	//    other than 60 seconds (the TTL for load balancers) will change the effect
 16604  	//    of the values that you specify for Weight.
 16605  	TTL *int64 `type:"long"`
 16606  
 16607  	// When you create a traffic policy instance, Amazon Route 53 automatically
 16608  	// creates a resource record set. TrafficPolicyInstanceId is the ID of the traffic
 16609  	// policy instance that Route 53 created this resource record set for.
 16610  	//
 16611  	// To delete the resource record set that is associated with a traffic policy
 16612  	// instance, use DeleteTrafficPolicyInstance. Route 53 will delete the resource
 16613  	// record set automatically. If you delete the resource record set by using
 16614  	// ChangeResourceRecordSets, Route 53 doesn't automatically delete the traffic
 16615  	// policy instance, and you'll continue to be charged for it even though it's
 16616  	// no longer in use.
 16617  	TrafficPolicyInstanceId *string `min:"1" type:"string"`
 16618  
 16619  	// The DNS record type. For information about different record types and how
 16620  	// data is encoded for them, see Supported DNS Resource Record Types (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html)
 16621  	// in the Amazon Route 53 Developer Guide.
 16622  	//
 16623  	// Valid values for basic resource record sets: A | AAAA | CAA | CNAME | DS
 16624  	// |MX | NAPTR | NS | PTR | SOA | SPF | SRV | TXT
 16625  	//
 16626  	// Values for weighted, latency, geolocation, and failover resource record sets:
 16627  	// A | AAAA | CAA | CNAME | MX | NAPTR | PTR | SPF | SRV | TXT. When creating
 16628  	// a group of weighted, latency, geolocation, or failover resource record sets,
 16629  	// specify the same value for all of the resource record sets in the group.
 16630  	//
 16631  	// Valid values for multivalue answer resource record sets: A | AAAA | MX |
 16632  	// NAPTR | PTR | SPF | SRV | TXT
 16633  	//
 16634  	// SPF records were formerly used to verify the identity of the sender of email
 16635  	// messages. However, we no longer recommend that you create resource record
 16636  	// sets for which the value of Type is SPF. RFC 7208, Sender Policy Framework
 16637  	// (SPF) for Authorizing Use of Domains in Email, Version 1, has been updated
 16638  	// to say, "...[I]ts existence and mechanism defined in [RFC4408] have led to
 16639  	// some interoperability issues. Accordingly, its use is no longer appropriate
 16640  	// for SPF version 1; implementations are not to use it." In RFC 7208, see section
 16641  	// 14.1, The SPF DNS Record Type (http://tools.ietf.org/html/rfc7208#section-14.1).
 16642  	//
 16643  	// Values for alias resource record sets:
 16644  	//
 16645  	//    * Amazon API Gateway custom regional APIs and edge-optimized APIs: A
 16646  	//
 16647  	//    * CloudFront distributions: A If IPv6 is enabled for the distribution,
 16648  	//    create two resource record sets to route traffic to your distribution,
 16649  	//    one with a value of A and one with a value of AAAA.
 16650  	//
 16651  	//    * Amazon API Gateway environment that has a regionalized subdomain: A
 16652  	//
 16653  	//    * ELB load balancers: A | AAAA
 16654  	//
 16655  	//    * Amazon S3 buckets: A
 16656  	//
 16657  	//    * Amazon Virtual Private Cloud interface VPC endpoints A
 16658  	//
 16659  	//    * Another resource record set in this hosted zone: Specify the type of
 16660  	//    the resource record set that you're creating the alias for. All values
 16661  	//    are supported except NS and SOA. If you're creating an alias record that
 16662  	//    has the same name as the hosted zone (known as the zone apex), you can't
 16663  	//    route traffic to a record for which the value of Type is CNAME. This is
 16664  	//    because the alias record must have the same type as the record you're
 16665  	//    routing traffic to, and creating a CNAME record for the zone apex isn't
 16666  	//    supported even for an alias record.
 16667  	//
 16668  	// Type is a required field
 16669  	Type *string `type:"string" required:"true" enum:"RRType"`
 16670  
 16671  	// Weighted resource record sets only: Among resource record sets that have
 16672  	// the same combination of DNS name and type, a value that determines the proportion
 16673  	// of DNS queries that Amazon Route 53 responds to using the current resource
 16674  	// record set. Route 53 calculates the sum of the weights for the resource record
 16675  	// sets that have the same combination of DNS name and type. Route 53 then responds
 16676  	// to queries based on the ratio of a resource's weight to the total. Note the
 16677  	// following:
 16678  	//
 16679  	//    * You must specify a value for the Weight element for every weighted resource
 16680  	//    record set.
 16681  	//
 16682  	//    * You can only specify one ResourceRecord per weighted resource record
 16683  	//    set.
 16684  	//
 16685  	//    * You can't create latency, failover, or geolocation resource record sets
 16686  	//    that have the same values for the Name and Type elements as weighted resource
 16687  	//    record sets.
 16688  	//
 16689  	//    * You can create a maximum of 100 weighted resource record sets that have
 16690  	//    the same values for the Name and Type elements.
 16691  	//
 16692  	//    * For weighted (but not weighted alias) resource record sets, if you set
 16693  	//    Weight to 0 for a resource record set, Route 53 never responds to queries
 16694  	//    with the applicable value for that resource record set. However, if you
 16695  	//    set Weight to 0 for all resource record sets that have the same combination
 16696  	//    of DNS name and type, traffic is routed to all resources with equal probability.
 16697  	//    The effect of setting Weight to 0 is different when you associate health
 16698  	//    checks with weighted resource record sets. For more information, see Options
 16699  	//    for Configuring Route 53 Active-Active and Active-Passive Failover (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-configuring-options.html)
 16700  	//    in the Amazon Route 53 Developer Guide.
 16701  	Weight *int64 `type:"long"`
 16702  }
 16703  
 16704  // String returns the string representation.
 16705  //
 16706  // API parameter values that are decorated as "sensitive" in the API will not
 16707  // be included in the string output. The member name will be present, but the
 16708  // value will be replaced with "sensitive".
 16709  func (s ResourceRecordSet) String() string {
 16710  	return awsutil.Prettify(s)
 16711  }
 16712  
 16713  // GoString returns the string representation.
 16714  //
 16715  // API parameter values that are decorated as "sensitive" in the API will not
 16716  // be included in the string output. The member name will be present, but the
 16717  // value will be replaced with "sensitive".
 16718  func (s ResourceRecordSet) GoString() string {
 16719  	return s.String()
 16720  }
 16721  
 16722  // Validate inspects the fields of the type to determine if they are valid.
 16723  func (s *ResourceRecordSet) Validate() error {
 16724  	invalidParams := request.ErrInvalidParams{Context: "ResourceRecordSet"}
 16725  	if s.Name == nil {
 16726  		invalidParams.Add(request.NewErrParamRequired("Name"))
 16727  	}
 16728  	if s.Region != nil && len(*s.Region) < 1 {
 16729  		invalidParams.Add(request.NewErrParamMinLen("Region", 1))
 16730  	}
 16731  	if s.ResourceRecords != nil && len(s.ResourceRecords) < 1 {
 16732  		invalidParams.Add(request.NewErrParamMinLen("ResourceRecords", 1))
 16733  	}
 16734  	if s.SetIdentifier != nil && len(*s.SetIdentifier) < 1 {
 16735  		invalidParams.Add(request.NewErrParamMinLen("SetIdentifier", 1))
 16736  	}
 16737  	if s.TrafficPolicyInstanceId != nil && len(*s.TrafficPolicyInstanceId) < 1 {
 16738  		invalidParams.Add(request.NewErrParamMinLen("TrafficPolicyInstanceId", 1))
 16739  	}
 16740  	if s.Type == nil {
 16741  		invalidParams.Add(request.NewErrParamRequired("Type"))
 16742  	}
 16743  	if s.AliasTarget != nil {
 16744  		if err := s.AliasTarget.Validate(); err != nil {
 16745  			invalidParams.AddNested("AliasTarget", err.(request.ErrInvalidParams))
 16746  		}
 16747  	}
 16748  	if s.GeoLocation != nil {
 16749  		if err := s.GeoLocation.Validate(); err != nil {
 16750  			invalidParams.AddNested("GeoLocation", err.(request.ErrInvalidParams))
 16751  		}
 16752  	}
 16753  	if s.ResourceRecords != nil {
 16754  		for i, v := range s.ResourceRecords {
 16755  			if v == nil {
 16756  				continue
 16757  			}
 16758  			if err := v.Validate(); err != nil {
 16759  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceRecords", i), err.(request.ErrInvalidParams))
 16760  			}
 16761  		}
 16762  	}
 16763  
 16764  	if invalidParams.Len() > 0 {
 16765  		return invalidParams
 16766  	}
 16767  	return nil
 16768  }
 16769  
 16770  // SetAliasTarget sets the AliasTarget field's value.
 16771  func (s *ResourceRecordSet) SetAliasTarget(v *AliasTarget) *ResourceRecordSet {
 16772  	s.AliasTarget = v
 16773  	return s
 16774  }
 16775  
 16776  // SetFailover sets the Failover field's value.
 16777  func (s *ResourceRecordSet) SetFailover(v string) *ResourceRecordSet {
 16778  	s.Failover = &v
 16779  	return s
 16780  }
 16781  
 16782  // SetGeoLocation sets the GeoLocation field's value.
 16783  func (s *ResourceRecordSet) SetGeoLocation(v *GeoLocation) *ResourceRecordSet {
 16784  	s.GeoLocation = v
 16785  	return s
 16786  }
 16787  
 16788  // SetHealthCheckId sets the HealthCheckId field's value.
 16789  func (s *ResourceRecordSet) SetHealthCheckId(v string) *ResourceRecordSet {
 16790  	s.HealthCheckId = &v
 16791  	return s
 16792  }
 16793  
 16794  // SetMultiValueAnswer sets the MultiValueAnswer field's value.
 16795  func (s *ResourceRecordSet) SetMultiValueAnswer(v bool) *ResourceRecordSet {
 16796  	s.MultiValueAnswer = &v
 16797  	return s
 16798  }
 16799  
 16800  // SetName sets the Name field's value.
 16801  func (s *ResourceRecordSet) SetName(v string) *ResourceRecordSet {
 16802  	s.Name = &v
 16803  	return s
 16804  }
 16805  
 16806  // SetRegion sets the Region field's value.
 16807  func (s *ResourceRecordSet) SetRegion(v string) *ResourceRecordSet {
 16808  	s.Region = &v
 16809  	return s
 16810  }
 16811  
 16812  // SetResourceRecords sets the ResourceRecords field's value.
 16813  func (s *ResourceRecordSet) SetResourceRecords(v []*ResourceRecord) *ResourceRecordSet {
 16814  	s.ResourceRecords = v
 16815  	return s
 16816  }
 16817  
 16818  // SetSetIdentifier sets the SetIdentifier field's value.
 16819  func (s *ResourceRecordSet) SetSetIdentifier(v string) *ResourceRecordSet {
 16820  	s.SetIdentifier = &v
 16821  	return s
 16822  }
 16823  
 16824  // SetTTL sets the TTL field's value.
 16825  func (s *ResourceRecordSet) SetTTL(v int64) *ResourceRecordSet {
 16826  	s.TTL = &v
 16827  	return s
 16828  }
 16829  
 16830  // SetTrafficPolicyInstanceId sets the TrafficPolicyInstanceId field's value.
 16831  func (s *ResourceRecordSet) SetTrafficPolicyInstanceId(v string) *ResourceRecordSet {
 16832  	s.TrafficPolicyInstanceId = &v
 16833  	return s
 16834  }
 16835  
 16836  // SetType sets the Type field's value.
 16837  func (s *ResourceRecordSet) SetType(v string) *ResourceRecordSet {
 16838  	s.Type = &v
 16839  	return s
 16840  }
 16841  
 16842  // SetWeight sets the Weight field's value.
 16843  func (s *ResourceRecordSet) SetWeight(v int64) *ResourceRecordSet {
 16844  	s.Weight = &v
 16845  	return s
 16846  }
 16847  
 16848  // A complex type containing a resource and its associated tags.
 16849  type ResourceTagSet struct {
 16850  	_ struct{} `type:"structure"`
 16851  
 16852  	// The ID for the specified resource.
 16853  	ResourceId *string `type:"string"`
 16854  
 16855  	// The type of the resource.
 16856  	//
 16857  	//    * The resource type for health checks is healthcheck.
 16858  	//
 16859  	//    * The resource type for hosted zones is hostedzone.
 16860  	ResourceType *string `type:"string" enum:"TagResourceType"`
 16861  
 16862  	// The tags associated with the specified resource.
 16863  	Tags []*Tag `locationNameList:"Tag" min:"1" type:"list"`
 16864  }
 16865  
 16866  // String returns the string representation.
 16867  //
 16868  // API parameter values that are decorated as "sensitive" in the API will not
 16869  // be included in the string output. The member name will be present, but the
 16870  // value will be replaced with "sensitive".
 16871  func (s ResourceTagSet) String() string {
 16872  	return awsutil.Prettify(s)
 16873  }
 16874  
 16875  // GoString returns the string representation.
 16876  //
 16877  // API parameter values that are decorated as "sensitive" in the API will not
 16878  // be included in the string output. The member name will be present, but the
 16879  // value will be replaced with "sensitive".
 16880  func (s ResourceTagSet) GoString() string {
 16881  	return s.String()
 16882  }
 16883  
 16884  // SetResourceId sets the ResourceId field's value.
 16885  func (s *ResourceTagSet) SetResourceId(v string) *ResourceTagSet {
 16886  	s.ResourceId = &v
 16887  	return s
 16888  }
 16889  
 16890  // SetResourceType sets the ResourceType field's value.
 16891  func (s *ResourceTagSet) SetResourceType(v string) *ResourceTagSet {
 16892  	s.ResourceType = &v
 16893  	return s
 16894  }
 16895  
 16896  // SetTags sets the Tags field's value.
 16897  func (s *ResourceTagSet) SetTags(v []*Tag) *ResourceTagSet {
 16898  	s.Tags = v
 16899  	return s
 16900  }
 16901  
 16902  // A complex type that contains the type of limit that you specified in the
 16903  // request and the current value for that limit.
 16904  type ReusableDelegationSetLimit struct {
 16905  	_ struct{} `type:"structure"`
 16906  
 16907  	// The limit that you requested: MAX_ZONES_BY_REUSABLE_DELEGATION_SET, the maximum
 16908  	// number of hosted zones that you can associate with the specified reusable
 16909  	// delegation set.
 16910  	//
 16911  	// Type is a required field
 16912  	Type *string `type:"string" required:"true" enum:"ReusableDelegationSetLimitType"`
 16913  
 16914  	// The current value for the MAX_ZONES_BY_REUSABLE_DELEGATION_SET limit.
 16915  	//
 16916  	// Value is a required field
 16917  	Value *int64 `min:"1" type:"long" required:"true"`
 16918  }
 16919  
 16920  // String returns the string representation.
 16921  //
 16922  // API parameter values that are decorated as "sensitive" in the API will not
 16923  // be included in the string output. The member name will be present, but the
 16924  // value will be replaced with "sensitive".
 16925  func (s ReusableDelegationSetLimit) String() string {
 16926  	return awsutil.Prettify(s)
 16927  }
 16928  
 16929  // GoString returns the string representation.
 16930  //
 16931  // API parameter values that are decorated as "sensitive" in the API will not
 16932  // be included in the string output. The member name will be present, but the
 16933  // value will be replaced with "sensitive".
 16934  func (s ReusableDelegationSetLimit) GoString() string {
 16935  	return s.String()
 16936  }
 16937  
 16938  // SetType sets the Type field's value.
 16939  func (s *ReusableDelegationSetLimit) SetType(v string) *ReusableDelegationSetLimit {
 16940  	s.Type = &v
 16941  	return s
 16942  }
 16943  
 16944  // SetValue sets the Value field's value.
 16945  func (s *ReusableDelegationSetLimit) SetValue(v int64) *ReusableDelegationSetLimit {
 16946  	s.Value = &v
 16947  	return s
 16948  }
 16949  
 16950  // A complex type that contains the status that one Amazon Route 53 health checker
 16951  // reports and the time of the health check.
 16952  type StatusReport struct {
 16953  	_ struct{} `type:"structure"`
 16954  
 16955  	// The date and time that the health checker performed the health check in ISO
 16956  	// 8601 format (https://en.wikipedia.org/wiki/ISO_8601) and Coordinated Universal
 16957  	// Time (UTC). For example, the value 2017-03-27T17:48:16.751Z represents March
 16958  	// 27, 2017 at 17:48:16.751 UTC.
 16959  	CheckedTime *time.Time `type:"timestamp"`
 16960  
 16961  	// A description of the status of the health check endpoint as reported by one
 16962  	// of the Amazon Route 53 health checkers.
 16963  	Status *string `type:"string"`
 16964  }
 16965  
 16966  // String returns the string representation.
 16967  //
 16968  // API parameter values that are decorated as "sensitive" in the API will not
 16969  // be included in the string output. The member name will be present, but the
 16970  // value will be replaced with "sensitive".
 16971  func (s StatusReport) String() string {
 16972  	return awsutil.Prettify(s)
 16973  }
 16974  
 16975  // GoString returns the string representation.
 16976  //
 16977  // API parameter values that are decorated as "sensitive" in the API will not
 16978  // be included in the string output. The member name will be present, but the
 16979  // value will be replaced with "sensitive".
 16980  func (s StatusReport) GoString() string {
 16981  	return s.String()
 16982  }
 16983  
 16984  // SetCheckedTime sets the CheckedTime field's value.
 16985  func (s *StatusReport) SetCheckedTime(v time.Time) *StatusReport {
 16986  	s.CheckedTime = &v
 16987  	return s
 16988  }
 16989  
 16990  // SetStatus sets the Status field's value.
 16991  func (s *StatusReport) SetStatus(v string) *StatusReport {
 16992  	s.Status = &v
 16993  	return s
 16994  }
 16995  
 16996  // A complex type that contains information about a tag that you want to add
 16997  // or edit for the specified health check or hosted zone.
 16998  type Tag struct {
 16999  	_ struct{} `type:"structure"`
 17000  
 17001  	// The value of Key depends on the operation that you want to perform:
 17002  	//
 17003  	//    * Add a tag to a health check or hosted zone: Key is the name that you
 17004  	//    want to give the new tag.
 17005  	//
 17006  	//    * Edit a tag: Key is the name of the tag that you want to change the Value
 17007  	//    for.
 17008  	//
 17009  	//    * Delete a key: Key is the name of the tag you want to remove.
 17010  	//
 17011  	//    * Give a name to a health check: Edit the default Name tag. In the Amazon
 17012  	//    Route 53 console, the list of your health checks includes a Name column
 17013  	//    that lets you see the name that you've given to each health check.
 17014  	Key *string `type:"string"`
 17015  
 17016  	// The value of Value depends on the operation that you want to perform:
 17017  	//
 17018  	//    * Add a tag to a health check or hosted zone: Value is the value that
 17019  	//    you want to give the new tag.
 17020  	//
 17021  	//    * Edit a tag: Value is the new value that you want to assign the tag.
 17022  	Value *string `type:"string"`
 17023  }
 17024  
 17025  // String returns the string representation.
 17026  //
 17027  // API parameter values that are decorated as "sensitive" in the API will not
 17028  // be included in the string output. The member name will be present, but the
 17029  // value will be replaced with "sensitive".
 17030  func (s Tag) String() string {
 17031  	return awsutil.Prettify(s)
 17032  }
 17033  
 17034  // GoString returns the string representation.
 17035  //
 17036  // API parameter values that are decorated as "sensitive" in the API will not
 17037  // be included in the string output. The member name will be present, but the
 17038  // value will be replaced with "sensitive".
 17039  func (s Tag) GoString() string {
 17040  	return s.String()
 17041  }
 17042  
 17043  // SetKey sets the Key field's value.
 17044  func (s *Tag) SetKey(v string) *Tag {
 17045  	s.Key = &v
 17046  	return s
 17047  }
 17048  
 17049  // SetValue sets the Value field's value.
 17050  func (s *Tag) SetValue(v string) *Tag {
 17051  	s.Value = &v
 17052  	return s
 17053  }
 17054  
 17055  // Gets the value that Amazon Route 53 returns in response to a DNS request
 17056  // for a specified record name and type. You can optionally specify the IP address
 17057  // of a DNS resolver, an EDNS0 client subnet IP address, and a subnet mask.
 17058  type TestDNSAnswerInput struct {
 17059  	_ struct{} `locationName:"TestDNSAnswerRequest" type:"structure"`
 17060  
 17061  	// If the resolver that you specified for resolverip supports EDNS0, specify
 17062  	// the IPv4 or IPv6 address of a client in the applicable location, for example,
 17063  	// 192.0.2.44 or 2001:db8:85a3::8a2e:370:7334.
 17064  	EDNS0ClientSubnetIP *string `location:"querystring" locationName:"edns0clientsubnetip" type:"string"`
 17065  
 17066  	// If you specify an IP address for edns0clientsubnetip, you can optionally
 17067  	// specify the number of bits of the IP address that you want the checking tool
 17068  	// to include in the DNS query. For example, if you specify 192.0.2.44 for edns0clientsubnetip
 17069  	// and 24 for edns0clientsubnetmask, the checking tool will simulate a request
 17070  	// from 192.0.2.0/24. The default value is 24 bits for IPv4 addresses and 64
 17071  	// bits for IPv6 addresses.
 17072  	//
 17073  	// The range of valid values depends on whether edns0clientsubnetip is an IPv4
 17074  	// or an IPv6 address:
 17075  	//
 17076  	//    * IPv4: Specify a value between 0 and 32
 17077  	//
 17078  	//    * IPv6: Specify a value between 0 and 128
 17079  	EDNS0ClientSubnetMask *string `location:"querystring" locationName:"edns0clientsubnetmask" type:"string"`
 17080  
 17081  	// The ID of the hosted zone that you want Amazon Route 53 to simulate a query
 17082  	// for.
 17083  	//
 17084  	// HostedZoneId is a required field
 17085  	HostedZoneId *string `location:"querystring" locationName:"hostedzoneid" type:"string" required:"true"`
 17086  
 17087  	// The name of the resource record set that you want Amazon Route 53 to simulate
 17088  	// a query for.
 17089  	//
 17090  	// RecordName is a required field
 17091  	RecordName *string `location:"querystring" locationName:"recordname" type:"string" required:"true"`
 17092  
 17093  	// The type of the resource record set.
 17094  	//
 17095  	// RecordType is a required field
 17096  	RecordType *string `location:"querystring" locationName:"recordtype" type:"string" required:"true" enum:"RRType"`
 17097  
 17098  	// If you want to simulate a request from a specific DNS resolver, specify the
 17099  	// IP address for that resolver. If you omit this value, TestDnsAnswer uses
 17100  	// the IP address of a DNS resolver in the Amazon Web Services US East (N. Virginia)
 17101  	// Region (us-east-1).
 17102  	ResolverIP *string `location:"querystring" locationName:"resolverip" type:"string"`
 17103  }
 17104  
 17105  // String returns the string representation.
 17106  //
 17107  // API parameter values that are decorated as "sensitive" in the API will not
 17108  // be included in the string output. The member name will be present, but the
 17109  // value will be replaced with "sensitive".
 17110  func (s TestDNSAnswerInput) String() string {
 17111  	return awsutil.Prettify(s)
 17112  }
 17113  
 17114  // GoString returns the string representation.
 17115  //
 17116  // API parameter values that are decorated as "sensitive" in the API will not
 17117  // be included in the string output. The member name will be present, but the
 17118  // value will be replaced with "sensitive".
 17119  func (s TestDNSAnswerInput) GoString() string {
 17120  	return s.String()
 17121  }
 17122  
 17123  // Validate inspects the fields of the type to determine if they are valid.
 17124  func (s *TestDNSAnswerInput) Validate() error {
 17125  	invalidParams := request.ErrInvalidParams{Context: "TestDNSAnswerInput"}
 17126  	if s.HostedZoneId == nil {
 17127  		invalidParams.Add(request.NewErrParamRequired("HostedZoneId"))
 17128  	}
 17129  	if s.RecordName == nil {
 17130  		invalidParams.Add(request.NewErrParamRequired("RecordName"))
 17131  	}
 17132  	if s.RecordType == nil {
 17133  		invalidParams.Add(request.NewErrParamRequired("RecordType"))
 17134  	}
 17135  
 17136  	if invalidParams.Len() > 0 {
 17137  		return invalidParams
 17138  	}
 17139  	return nil
 17140  }
 17141  
 17142  // SetEDNS0ClientSubnetIP sets the EDNS0ClientSubnetIP field's value.
 17143  func (s *TestDNSAnswerInput) SetEDNS0ClientSubnetIP(v string) *TestDNSAnswerInput {
 17144  	s.EDNS0ClientSubnetIP = &v
 17145  	return s
 17146  }
 17147  
 17148  // SetEDNS0ClientSubnetMask sets the EDNS0ClientSubnetMask field's value.
 17149  func (s *TestDNSAnswerInput) SetEDNS0ClientSubnetMask(v string) *TestDNSAnswerInput {
 17150  	s.EDNS0ClientSubnetMask = &v
 17151  	return s
 17152  }
 17153  
 17154  // SetHostedZoneId sets the HostedZoneId field's value.
 17155  func (s *TestDNSAnswerInput) SetHostedZoneId(v string) *TestDNSAnswerInput {
 17156  	s.HostedZoneId = &v
 17157  	return s
 17158  }
 17159  
 17160  // SetRecordName sets the RecordName field's value.
 17161  func (s *TestDNSAnswerInput) SetRecordName(v string) *TestDNSAnswerInput {
 17162  	s.RecordName = &v
 17163  	return s
 17164  }
 17165  
 17166  // SetRecordType sets the RecordType field's value.
 17167  func (s *TestDNSAnswerInput) SetRecordType(v string) *TestDNSAnswerInput {
 17168  	s.RecordType = &v
 17169  	return s
 17170  }
 17171  
 17172  // SetResolverIP sets the ResolverIP field's value.
 17173  func (s *TestDNSAnswerInput) SetResolverIP(v string) *TestDNSAnswerInput {
 17174  	s.ResolverIP = &v
 17175  	return s
 17176  }
 17177  
 17178  // A complex type that contains the response to a TestDNSAnswer request.
 17179  type TestDNSAnswerOutput struct {
 17180  	_ struct{} `type:"structure"`
 17181  
 17182  	// The Amazon Route 53 name server used to respond to the request.
 17183  	//
 17184  	// Nameserver is a required field
 17185  	Nameserver *string `type:"string" required:"true"`
 17186  
 17187  	// The protocol that Amazon Route 53 used to respond to the request, either
 17188  	// UDP or TCP.
 17189  	//
 17190  	// Protocol is a required field
 17191  	Protocol *string `type:"string" required:"true"`
 17192  
 17193  	// A list that contains values that Amazon Route 53 returned for this resource
 17194  	// record set.
 17195  	//
 17196  	// RecordData is a required field
 17197  	RecordData []*string `locationNameList:"RecordDataEntry" type:"list" required:"true"`
 17198  
 17199  	// The name of the resource record set that you submitted a request for.
 17200  	//
 17201  	// RecordName is a required field
 17202  	RecordName *string `type:"string" required:"true"`
 17203  
 17204  	// The type of the resource record set that you submitted a request for.
 17205  	//
 17206  	// RecordType is a required field
 17207  	RecordType *string `type:"string" required:"true" enum:"RRType"`
 17208  
 17209  	// A code that indicates whether the request is valid or not. The most common
 17210  	// response code is NOERROR, meaning that the request is valid. If the response
 17211  	// is not valid, Amazon Route 53 returns a response code that describes the
 17212  	// error. For a list of possible response codes, see DNS RCODES (http://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-6)
 17213  	// on the IANA website.
 17214  	//
 17215  	// ResponseCode is a required field
 17216  	ResponseCode *string `type:"string" required:"true"`
 17217  }
 17218  
 17219  // String returns the string representation.
 17220  //
 17221  // API parameter values that are decorated as "sensitive" in the API will not
 17222  // be included in the string output. The member name will be present, but the
 17223  // value will be replaced with "sensitive".
 17224  func (s TestDNSAnswerOutput) String() string {
 17225  	return awsutil.Prettify(s)
 17226  }
 17227  
 17228  // GoString returns the string representation.
 17229  //
 17230  // API parameter values that are decorated as "sensitive" in the API will not
 17231  // be included in the string output. The member name will be present, but the
 17232  // value will be replaced with "sensitive".
 17233  func (s TestDNSAnswerOutput) GoString() string {
 17234  	return s.String()
 17235  }
 17236  
 17237  // SetNameserver sets the Nameserver field's value.
 17238  func (s *TestDNSAnswerOutput) SetNameserver(v string) *TestDNSAnswerOutput {
 17239  	s.Nameserver = &v
 17240  	return s
 17241  }
 17242  
 17243  // SetProtocol sets the Protocol field's value.
 17244  func (s *TestDNSAnswerOutput) SetProtocol(v string) *TestDNSAnswerOutput {
 17245  	s.Protocol = &v
 17246  	return s
 17247  }
 17248  
 17249  // SetRecordData sets the RecordData field's value.
 17250  func (s *TestDNSAnswerOutput) SetRecordData(v []*string) *TestDNSAnswerOutput {
 17251  	s.RecordData = v
 17252  	return s
 17253  }
 17254  
 17255  // SetRecordName sets the RecordName field's value.
 17256  func (s *TestDNSAnswerOutput) SetRecordName(v string) *TestDNSAnswerOutput {
 17257  	s.RecordName = &v
 17258  	return s
 17259  }
 17260  
 17261  // SetRecordType sets the RecordType field's value.
 17262  func (s *TestDNSAnswerOutput) SetRecordType(v string) *TestDNSAnswerOutput {
 17263  	s.RecordType = &v
 17264  	return s
 17265  }
 17266  
 17267  // SetResponseCode sets the ResponseCode field's value.
 17268  func (s *TestDNSAnswerOutput) SetResponseCode(v string) *TestDNSAnswerOutput {
 17269  	s.ResponseCode = &v
 17270  	return s
 17271  }
 17272  
 17273  // A complex type that contains settings for a traffic policy.
 17274  type TrafficPolicy struct {
 17275  	_ struct{} `type:"structure"`
 17276  
 17277  	// The comment that you specify in the CreateTrafficPolicy request, if any.
 17278  	Comment *string `type:"string"`
 17279  
 17280  	// The definition of a traffic policy in JSON format. You specify the JSON document
 17281  	// to use for a new traffic policy in the CreateTrafficPolicy request. For more
 17282  	// information about the JSON format, see Traffic Policy Document Format (https://docs.aws.amazon.com/Route53/latest/APIReference/api-policies-traffic-policy-document-format.html).
 17283  	//
 17284  	// Document is a required field
 17285  	Document *string `type:"string" required:"true"`
 17286  
 17287  	// The ID that Amazon Route 53 assigned to a traffic policy when you created
 17288  	// it.
 17289  	//
 17290  	// Id is a required field
 17291  	Id *string `min:"1" type:"string" required:"true"`
 17292  
 17293  	// The name that you specified when you created the traffic policy.
 17294  	//
 17295  	// Name is a required field
 17296  	Name *string `type:"string" required:"true"`
 17297  
 17298  	// The DNS type of the resource record sets that Amazon Route 53 creates when
 17299  	// you use a traffic policy to create a traffic policy instance.
 17300  	//
 17301  	// Type is a required field
 17302  	Type *string `type:"string" required:"true" enum:"RRType"`
 17303  
 17304  	// The version number that Amazon Route 53 assigns to a traffic policy. For
 17305  	// a new traffic policy, the value of Version is always 1.
 17306  	//
 17307  	// Version is a required field
 17308  	Version *int64 `min:"1" type:"integer" required:"true"`
 17309  }
 17310  
 17311  // String returns the string representation.
 17312  //
 17313  // API parameter values that are decorated as "sensitive" in the API will not
 17314  // be included in the string output. The member name will be present, but the
 17315  // value will be replaced with "sensitive".
 17316  func (s TrafficPolicy) String() string {
 17317  	return awsutil.Prettify(s)
 17318  }
 17319  
 17320  // GoString returns the string representation.
 17321  //
 17322  // API parameter values that are decorated as "sensitive" in the API will not
 17323  // be included in the string output. The member name will be present, but the
 17324  // value will be replaced with "sensitive".
 17325  func (s TrafficPolicy) GoString() string {
 17326  	return s.String()
 17327  }
 17328  
 17329  // SetComment sets the Comment field's value.
 17330  func (s *TrafficPolicy) SetComment(v string) *TrafficPolicy {
 17331  	s.Comment = &v
 17332  	return s
 17333  }
 17334  
 17335  // SetDocument sets the Document field's value.
 17336  func (s *TrafficPolicy) SetDocument(v string) *TrafficPolicy {
 17337  	s.Document = &v
 17338  	return s
 17339  }
 17340  
 17341  // SetId sets the Id field's value.
 17342  func (s *TrafficPolicy) SetId(v string) *TrafficPolicy {
 17343  	s.Id = &v
 17344  	return s
 17345  }
 17346  
 17347  // SetName sets the Name field's value.
 17348  func (s *TrafficPolicy) SetName(v string) *TrafficPolicy {
 17349  	s.Name = &v
 17350  	return s
 17351  }
 17352  
 17353  // SetType sets the Type field's value.
 17354  func (s *TrafficPolicy) SetType(v string) *TrafficPolicy {
 17355  	s.Type = &v
 17356  	return s
 17357  }
 17358  
 17359  // SetVersion sets the Version field's value.
 17360  func (s *TrafficPolicy) SetVersion(v int64) *TrafficPolicy {
 17361  	s.Version = &v
 17362  	return s
 17363  }
 17364  
 17365  // A complex type that contains settings for the new traffic policy instance.
 17366  type TrafficPolicyInstance struct {
 17367  	_ struct{} `type:"structure"`
 17368  
 17369  	// The ID of the hosted zone that Amazon Route 53 created resource record sets
 17370  	// in.
 17371  	//
 17372  	// HostedZoneId is a required field
 17373  	HostedZoneId *string `type:"string" required:"true"`
 17374  
 17375  	// The ID that Amazon Route 53 assigned to the new traffic policy instance.
 17376  	//
 17377  	// Id is a required field
 17378  	Id *string `min:"1" type:"string" required:"true"`
 17379  
 17380  	// If State is Failed, an explanation of the reason for the failure. If State
 17381  	// is another value, Message is empty.
 17382  	//
 17383  	// Message is a required field
 17384  	Message *string `type:"string" required:"true"`
 17385  
 17386  	// The DNS name, such as www.example.com, for which Amazon Route 53 responds
 17387  	// to queries by using the resource record sets that are associated with this
 17388  	// traffic policy instance.
 17389  	//
 17390  	// Name is a required field
 17391  	Name *string `type:"string" required:"true"`
 17392  
 17393  	// The value of State is one of the following values:
 17394  	//
 17395  	// Applied
 17396  	//
 17397  	// Amazon Route 53 has finished creating resource record sets, and changes have
 17398  	// propagated to all Route 53 edge locations.
 17399  	//
 17400  	// Creating
 17401  	//
 17402  	// Route 53 is creating the resource record sets. Use GetTrafficPolicyInstance
 17403  	// to confirm that the CreateTrafficPolicyInstance request completed successfully.
 17404  	//
 17405  	// Failed
 17406  	//
 17407  	// Route 53 wasn't able to create or update the resource record sets. When the
 17408  	// value of State is Failed, see Message for an explanation of what caused the
 17409  	// request to fail.
 17410  	//
 17411  	// State is a required field
 17412  	State *string `type:"string" required:"true"`
 17413  
 17414  	// The TTL that Amazon Route 53 assigned to all of the resource record sets
 17415  	// that it created in the specified hosted zone.
 17416  	//
 17417  	// TTL is a required field
 17418  	TTL *int64 `type:"long" required:"true"`
 17419  
 17420  	// The ID of the traffic policy that Amazon Route 53 used to create resource
 17421  	// record sets in the specified hosted zone.
 17422  	//
 17423  	// TrafficPolicyId is a required field
 17424  	TrafficPolicyId *string `min:"1" type:"string" required:"true"`
 17425  
 17426  	// The DNS type that Amazon Route 53 assigned to all of the resource record
 17427  	// sets that it created for this traffic policy instance.
 17428  	//
 17429  	// TrafficPolicyType is a required field
 17430  	TrafficPolicyType *string `type:"string" required:"true" enum:"RRType"`
 17431  
 17432  	// The version of the traffic policy that Amazon Route 53 used to create resource
 17433  	// record sets in the specified hosted zone.
 17434  	//
 17435  	// TrafficPolicyVersion is a required field
 17436  	TrafficPolicyVersion *int64 `min:"1" type:"integer" required:"true"`
 17437  }
 17438  
 17439  // String returns the string representation.
 17440  //
 17441  // API parameter values that are decorated as "sensitive" in the API will not
 17442  // be included in the string output. The member name will be present, but the
 17443  // value will be replaced with "sensitive".
 17444  func (s TrafficPolicyInstance) String() string {
 17445  	return awsutil.Prettify(s)
 17446  }
 17447  
 17448  // GoString returns the string representation.
 17449  //
 17450  // API parameter values that are decorated as "sensitive" in the API will not
 17451  // be included in the string output. The member name will be present, but the
 17452  // value will be replaced with "sensitive".
 17453  func (s TrafficPolicyInstance) GoString() string {
 17454  	return s.String()
 17455  }
 17456  
 17457  // SetHostedZoneId sets the HostedZoneId field's value.
 17458  func (s *TrafficPolicyInstance) SetHostedZoneId(v string) *TrafficPolicyInstance {
 17459  	s.HostedZoneId = &v
 17460  	return s
 17461  }
 17462  
 17463  // SetId sets the Id field's value.
 17464  func (s *TrafficPolicyInstance) SetId(v string) *TrafficPolicyInstance {
 17465  	s.Id = &v
 17466  	return s
 17467  }
 17468  
 17469  // SetMessage sets the Message field's value.
 17470  func (s *TrafficPolicyInstance) SetMessage(v string) *TrafficPolicyInstance {
 17471  	s.Message = &v
 17472  	return s
 17473  }
 17474  
 17475  // SetName sets the Name field's value.
 17476  func (s *TrafficPolicyInstance) SetName(v string) *TrafficPolicyInstance {
 17477  	s.Name = &v
 17478  	return s
 17479  }
 17480  
 17481  // SetState sets the State field's value.
 17482  func (s *TrafficPolicyInstance) SetState(v string) *TrafficPolicyInstance {
 17483  	s.State = &v
 17484  	return s
 17485  }
 17486  
 17487  // SetTTL sets the TTL field's value.
 17488  func (s *TrafficPolicyInstance) SetTTL(v int64) *TrafficPolicyInstance {
 17489  	s.TTL = &v
 17490  	return s
 17491  }
 17492  
 17493  // SetTrafficPolicyId sets the TrafficPolicyId field's value.
 17494  func (s *TrafficPolicyInstance) SetTrafficPolicyId(v string) *TrafficPolicyInstance {
 17495  	s.TrafficPolicyId = &v
 17496  	return s
 17497  }
 17498  
 17499  // SetTrafficPolicyType sets the TrafficPolicyType field's value.
 17500  func (s *TrafficPolicyInstance) SetTrafficPolicyType(v string) *TrafficPolicyInstance {
 17501  	s.TrafficPolicyType = &v
 17502  	return s
 17503  }
 17504  
 17505  // SetTrafficPolicyVersion sets the TrafficPolicyVersion field's value.
 17506  func (s *TrafficPolicyInstance) SetTrafficPolicyVersion(v int64) *TrafficPolicyInstance {
 17507  	s.TrafficPolicyVersion = &v
 17508  	return s
 17509  }
 17510  
 17511  // A complex type that contains information about the latest version of one
 17512  // traffic policy that is associated with the current Amazon Web Services account.
 17513  type TrafficPolicySummary struct {
 17514  	_ struct{} `type:"structure"`
 17515  
 17516  	// The ID that Amazon Route 53 assigned to the traffic policy when you created
 17517  	// it.
 17518  	//
 17519  	// Id is a required field
 17520  	Id *string `min:"1" type:"string" required:"true"`
 17521  
 17522  	// The version number of the latest version of the traffic policy.
 17523  	//
 17524  	// LatestVersion is a required field
 17525  	LatestVersion *int64 `min:"1" type:"integer" required:"true"`
 17526  
 17527  	// The name that you specified for the traffic policy when you created it.
 17528  	//
 17529  	// Name is a required field
 17530  	Name *string `type:"string" required:"true"`
 17531  
 17532  	// The number of traffic policies that are associated with the current Amazon
 17533  	// Web Services account.
 17534  	//
 17535  	// TrafficPolicyCount is a required field
 17536  	TrafficPolicyCount *int64 `min:"1" type:"integer" required:"true"`
 17537  
 17538  	// The DNS type of the resource record sets that Amazon Route 53 creates when
 17539  	// you use a traffic policy to create a traffic policy instance.
 17540  	//
 17541  	// Type is a required field
 17542  	Type *string `type:"string" required:"true" enum:"RRType"`
 17543  }
 17544  
 17545  // String returns the string representation.
 17546  //
 17547  // API parameter values that are decorated as "sensitive" in the API will not
 17548  // be included in the string output. The member name will be present, but the
 17549  // value will be replaced with "sensitive".
 17550  func (s TrafficPolicySummary) String() string {
 17551  	return awsutil.Prettify(s)
 17552  }
 17553  
 17554  // GoString returns the string representation.
 17555  //
 17556  // API parameter values that are decorated as "sensitive" in the API will not
 17557  // be included in the string output. The member name will be present, but the
 17558  // value will be replaced with "sensitive".
 17559  func (s TrafficPolicySummary) GoString() string {
 17560  	return s.String()
 17561  }
 17562  
 17563  // SetId sets the Id field's value.
 17564  func (s *TrafficPolicySummary) SetId(v string) *TrafficPolicySummary {
 17565  	s.Id = &v
 17566  	return s
 17567  }
 17568  
 17569  // SetLatestVersion sets the LatestVersion field's value.
 17570  func (s *TrafficPolicySummary) SetLatestVersion(v int64) *TrafficPolicySummary {
 17571  	s.LatestVersion = &v
 17572  	return s
 17573  }
 17574  
 17575  // SetName sets the Name field's value.
 17576  func (s *TrafficPolicySummary) SetName(v string) *TrafficPolicySummary {
 17577  	s.Name = &v
 17578  	return s
 17579  }
 17580  
 17581  // SetTrafficPolicyCount sets the TrafficPolicyCount field's value.
 17582  func (s *TrafficPolicySummary) SetTrafficPolicyCount(v int64) *TrafficPolicySummary {
 17583  	s.TrafficPolicyCount = &v
 17584  	return s
 17585  }
 17586  
 17587  // SetType sets the Type field's value.
 17588  func (s *TrafficPolicySummary) SetType(v string) *TrafficPolicySummary {
 17589  	s.Type = &v
 17590  	return s
 17591  }
 17592  
 17593  // A complex type that contains information about a request to update a health
 17594  // check.
 17595  type UpdateHealthCheckInput struct {
 17596  	_ struct{} `locationName:"UpdateHealthCheckRequest" type:"structure" xmlURI:"https://route53.amazonaws.com/doc/2013-04-01/"`
 17597  
 17598  	// A complex type that identifies the CloudWatch alarm that you want Amazon
 17599  	// Route 53 health checkers to use to determine whether the specified health
 17600  	// check is healthy.
 17601  	AlarmIdentifier *AlarmIdentifier `type:"structure"`
 17602  
 17603  	// A complex type that contains one ChildHealthCheck element for each health
 17604  	// check that you want to associate with a CALCULATED health check.
 17605  	ChildHealthChecks []*string `locationNameList:"ChildHealthCheck" type:"list"`
 17606  
 17607  	// Stops Route 53 from performing health checks. When you disable a health check,
 17608  	// here's what happens:
 17609  	//
 17610  	//    * Health checks that check the health of endpoints: Route 53 stops submitting
 17611  	//    requests to your application, server, or other resource.
 17612  	//
 17613  	//    * Calculated health checks: Route 53 stops aggregating the status of the
 17614  	//    referenced health checks.
 17615  	//
 17616  	//    * Health checks that monitor CloudWatch alarms: Route 53 stops monitoring
 17617  	//    the corresponding CloudWatch metrics.
 17618  	//
 17619  	// After you disable a health check, Route 53 considers the status of the health
 17620  	// check to always be healthy. If you configured DNS failover, Route 53 continues
 17621  	// to route traffic to the corresponding resources. If you want to stop routing
 17622  	// traffic to a resource, change the value of Inverted (https://docs.aws.amazon.com/Route53/latest/APIReference/API_UpdateHealthCheck.html#Route53-UpdateHealthCheck-request-Inverted).
 17623  	//
 17624  	// Charges for a health check still apply when the health check is disabled.
 17625  	// For more information, see Amazon Route 53 Pricing (http://aws.amazon.com/route53/pricing/).
 17626  	Disabled *bool `type:"boolean"`
 17627  
 17628  	// Specify whether you want Amazon Route 53 to send the value of FullyQualifiedDomainName
 17629  	// to the endpoint in the client_hello message during TLS negotiation. This
 17630  	// allows the endpoint to respond to HTTPS health check requests with the applicable
 17631  	// SSL/TLS certificate.
 17632  	//
 17633  	// Some endpoints require that HTTPS requests include the host name in the client_hello
 17634  	// message. If you don't enable SNI, the status of the health check will be
 17635  	// SSL alert handshake_failure. A health check can also have that status for
 17636  	// other reasons. If SNI is enabled and you're still getting the error, check
 17637  	// the SSL/TLS configuration on your endpoint and confirm that your certificate
 17638  	// is valid.
 17639  	//
 17640  	// The SSL/TLS certificate on your endpoint includes a domain name in the Common
 17641  	// Name field and possibly several more in the Subject Alternative Names field.
 17642  	// One of the domain names in the certificate should match the value that you
 17643  	// specify for FullyQualifiedDomainName. If the endpoint responds to the client_hello
 17644  	// message with a certificate that does not include the domain name that you
 17645  	// specified in FullyQualifiedDomainName, a health checker will retry the handshake.
 17646  	// In the second attempt, the health checker will omit FullyQualifiedDomainName
 17647  	// from the client_hello message.
 17648  	EnableSNI *bool `type:"boolean"`
 17649  
 17650  	// The number of consecutive health checks that an endpoint must pass or fail
 17651  	// for Amazon Route 53 to change the current status of the endpoint from unhealthy
 17652  	// to healthy or vice versa. For more information, see How Amazon Route 53 Determines
 17653  	// Whether an Endpoint Is Healthy (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html)
 17654  	// in the Amazon Route 53 Developer Guide.
 17655  	//
 17656  	// If you don't specify a value for FailureThreshold, the default value is three
 17657  	// health checks.
 17658  	FailureThreshold *int64 `min:"1" type:"integer"`
 17659  
 17660  	// Amazon Route 53 behavior depends on whether you specify a value for IPAddress.
 17661  	//
 17662  	// If a health check already has a value for IPAddress, you can change the value.
 17663  	// However, you can't update an existing health check to add or remove the value
 17664  	// of IPAddress.
 17665  	//
 17666  	// If you specify a value for IPAddress:
 17667  	//
 17668  	// Route 53 sends health check requests to the specified IPv4 or IPv6 address
 17669  	// and passes the value of FullyQualifiedDomainName in the Host header for all
 17670  	// health checks except TCP health checks. This is typically the fully qualified
 17671  	// DNS name of the endpoint on which you want Route 53 to perform health checks.
 17672  	//
 17673  	// When Route 53 checks the health of an endpoint, here is how it constructs
 17674  	// the Host header:
 17675  	//
 17676  	//    * If you specify a value of 80 for Port and HTTP or HTTP_STR_MATCH for
 17677  	//    Type, Route 53 passes the value of FullyQualifiedDomainName to the endpoint
 17678  	//    in the Host header.
 17679  	//
 17680  	//    * If you specify a value of 443 for Port and HTTPS or HTTPS_STR_MATCH
 17681  	//    for Type, Route 53 passes the value of FullyQualifiedDomainName to the
 17682  	//    endpoint in the Host header.
 17683  	//
 17684  	//    * If you specify another value for Port and any value except TCP for Type,
 17685  	//    Route 53 passes FullyQualifiedDomainName:Port to the endpoint in the Host
 17686  	//    header.
 17687  	//
 17688  	// If you don't specify a value for FullyQualifiedDomainName, Route 53 substitutes
 17689  	// the value of IPAddress in the Host header in each of the above cases.
 17690  	//
 17691  	// If you don't specify a value for IPAddress:
 17692  	//
 17693  	// If you don't specify a value for IPAddress, Route 53 sends a DNS request
 17694  	// to the domain that you specify in FullyQualifiedDomainName at the interval
 17695  	// you specify in RequestInterval. Using an IPv4 address that is returned by
 17696  	// DNS, Route 53 then checks the health of the endpoint.
 17697  	//
 17698  	// If you don't specify a value for IPAddress, Route 53 uses only IPv4 to send
 17699  	// health checks to the endpoint. If there's no resource record set with a type
 17700  	// of A for the name that you specify for FullyQualifiedDomainName, the health
 17701  	// check fails with a "DNS resolution failed" error.
 17702  	//
 17703  	// If you want to check the health of weighted, latency, or failover resource
 17704  	// record sets and you choose to specify the endpoint only by FullyQualifiedDomainName,
 17705  	// we recommend that you create a separate health check for each endpoint. For
 17706  	// example, create a health check for each HTTP server that is serving content
 17707  	// for www.example.com. For the value of FullyQualifiedDomainName, specify the
 17708  	// domain name of the server (such as us-east-2-www.example.com), not the name
 17709  	// of the resource record sets (www.example.com).
 17710  	//
 17711  	// In this configuration, if the value of FullyQualifiedDomainName matches the
 17712  	// name of the resource record sets and you then associate the health check
 17713  	// with those resource record sets, health check results will be unpredictable.
 17714  	//
 17715  	// In addition, if the value of Type is HTTP, HTTPS, HTTP_STR_MATCH, or HTTPS_STR_MATCH,
 17716  	// Route 53 passes the value of FullyQualifiedDomainName in the Host header,
 17717  	// as it does when you specify a value for IPAddress. If the value of Type is
 17718  	// TCP, Route 53 doesn't pass a Host header.
 17719  	FullyQualifiedDomainName *string `type:"string"`
 17720  
 17721  	// The ID for the health check for which you want detailed information. When
 17722  	// you created the health check, CreateHealthCheck returned the ID in the response,
 17723  	// in the HealthCheckId element.
 17724  	//
 17725  	// HealthCheckId is a required field
 17726  	HealthCheckId *string `location:"uri" locationName:"HealthCheckId" type:"string" required:"true"`
 17727  
 17728  	// A sequential counter that Amazon Route 53 sets to 1 when you create a health
 17729  	// check and increments by 1 each time you update settings for the health check.
 17730  	//
 17731  	// We recommend that you use GetHealthCheck or ListHealthChecks to get the current
 17732  	// value of HealthCheckVersion for the health check that you want to update,
 17733  	// and that you include that value in your UpdateHealthCheck request. This prevents
 17734  	// Route 53 from overwriting an intervening update:
 17735  	//
 17736  	//    * If the value in the UpdateHealthCheck request matches the value of HealthCheckVersion
 17737  	//    in the health check, Route 53 updates the health check with the new settings.
 17738  	//
 17739  	//    * If the value of HealthCheckVersion in the health check is greater, the
 17740  	//    health check was changed after you got the version number. Route 53 does
 17741  	//    not update the health check, and it returns a HealthCheckVersionMismatch
 17742  	//    error.
 17743  	HealthCheckVersion *int64 `min:"1" type:"long"`
 17744  
 17745  	// The number of child health checks that are associated with a CALCULATED health
 17746  	// that Amazon Route 53 must consider healthy for the CALCULATED health check
 17747  	// to be considered healthy. To specify the child health checks that you want
 17748  	// to associate with a CALCULATED health check, use the ChildHealthChecks and
 17749  	// ChildHealthCheck elements.
 17750  	//
 17751  	// Note the following:
 17752  	//
 17753  	//    * If you specify a number greater than the number of child health checks,
 17754  	//    Route 53 always considers this health check to be unhealthy.
 17755  	//
 17756  	//    * If you specify 0, Route 53 always considers this health check to be
 17757  	//    healthy.
 17758  	HealthThreshold *int64 `type:"integer"`
 17759  
 17760  	// The IPv4 or IPv6 IP address for the endpoint that you want Amazon Route 53
 17761  	// to perform health checks on. If you don't specify a value for IPAddress,
 17762  	// Route 53 sends a DNS request to resolve the domain name that you specify
 17763  	// in FullyQualifiedDomainName at the interval that you specify in RequestInterval.
 17764  	// Using an IP address that is returned by DNS, Route 53 then checks the health
 17765  	// of the endpoint.
 17766  	//
 17767  	// Use one of the following formats for the value of IPAddress:
 17768  	//
 17769  	//    * IPv4 address: four values between 0 and 255, separated by periods (.),
 17770  	//    for example, 192.0.2.44.
 17771  	//
 17772  	//    * IPv6 address: eight groups of four hexadecimal values, separated by
 17773  	//    colons (:), for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345. You
 17774  	//    can also shorten IPv6 addresses as described in RFC 5952, for example,
 17775  	//    2001:db8:85a3::abcd:1:2345.
 17776  	//
 17777  	// If the endpoint is an EC2 instance, we recommend that you create an Elastic
 17778  	// IP address, associate it with your EC2 instance, and specify the Elastic
 17779  	// IP address for IPAddress. This ensures that the IP address of your instance
 17780  	// never changes. For more information, see the applicable documentation:
 17781  	//
 17782  	//    * Linux: Elastic IP Addresses (EIP) (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
 17783  	//    in the Amazon EC2 User Guide for Linux Instances
 17784  	//
 17785  	//    * Windows: Elastic IP Addresses (EIP) (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-ip-addresses-eip.html)
 17786  	//    in the Amazon EC2 User Guide for Windows Instances
 17787  	//
 17788  	// If a health check already has a value for IPAddress, you can change the value.
 17789  	// However, you can't update an existing health check to add or remove the value
 17790  	// of IPAddress.
 17791  	//
 17792  	// For more information, see FullyQualifiedDomainName (https://docs.aws.amazon.com/Route53/latest/APIReference/API_UpdateHealthCheck.html#Route53-UpdateHealthCheck-request-FullyQualifiedDomainName).
 17793  	//
 17794  	// Constraints: Route 53 can't check the health of endpoints for which the IP
 17795  	// address is in local, private, non-routable, or multicast ranges. For more
 17796  	// information about IP addresses for which you can't create health checks,
 17797  	// see the following documents:
 17798  	//
 17799  	//    * RFC 5735, Special Use IPv4 Addresses (https://tools.ietf.org/html/rfc5735)
 17800  	//
 17801  	//    * RFC 6598, IANA-Reserved IPv4 Prefix for Shared Address Space (https://tools.ietf.org/html/rfc6598)
 17802  	//
 17803  	//    * RFC 5156, Special-Use IPv6 Addresses (https://tools.ietf.org/html/rfc5156)
 17804  	IPAddress *string `type:"string"`
 17805  
 17806  	// When CloudWatch has insufficient data about the metric to determine the alarm
 17807  	// state, the status that you want Amazon Route 53 to assign to the health check:
 17808  	//
 17809  	//    * Healthy: Route 53 considers the health check to be healthy.
 17810  	//
 17811  	//    * Unhealthy: Route 53 considers the health check to be unhealthy.
 17812  	//
 17813  	//    * LastKnownStatus: Route 53 uses the status of the health check from the
 17814  	//    last time CloudWatch had sufficient data to determine the alarm state.
 17815  	//    For new health checks that have no last known status, the default status
 17816  	//    for the health check is healthy.
 17817  	InsufficientDataHealthStatus *string `type:"string" enum:"InsufficientDataHealthStatus"`
 17818  
 17819  	// Specify whether you want Amazon Route 53 to invert the status of a health
 17820  	// check, for example, to consider a health check unhealthy when it otherwise
 17821  	// would be considered healthy.
 17822  	Inverted *bool `type:"boolean"`
 17823  
 17824  	// The port on the endpoint that you want Amazon Route 53 to perform health
 17825  	// checks on.
 17826  	//
 17827  	// Don't specify a value for Port when you specify a value for Type of CLOUDWATCH_METRIC
 17828  	// or CALCULATED.
 17829  	Port *int64 `min:"1" type:"integer"`
 17830  
 17831  	// A complex type that contains one Region element for each region that you
 17832  	// want Amazon Route 53 health checkers to check the specified endpoint from.
 17833  	Regions []*string `locationNameList:"Region" min:"3" type:"list"`
 17834  
 17835  	// A complex type that contains one ResettableElementName element for each element
 17836  	// that you want to reset to the default value. Valid values for ResettableElementName
 17837  	// include the following:
 17838  	//
 17839  	//    * ChildHealthChecks: Amazon Route 53 resets ChildHealthChecks (https://docs.aws.amazon.com/Route53/latest/APIReference/API_HealthCheckConfig.html#Route53-Type-HealthCheckConfig-ChildHealthChecks)
 17840  	//    to null.
 17841  	//
 17842  	//    * FullyQualifiedDomainName: Route 53 resets FullyQualifiedDomainName (https://docs.aws.amazon.com/Route53/latest/APIReference/API_UpdateHealthCheck.html#Route53-UpdateHealthCheck-request-FullyQualifiedDomainName).
 17843  	//    to null.
 17844  	//
 17845  	//    * Regions: Route 53 resets the Regions (https://docs.aws.amazon.com/Route53/latest/APIReference/API_HealthCheckConfig.html#Route53-Type-HealthCheckConfig-Regions)
 17846  	//    list to the default set of regions.
 17847  	//
 17848  	//    * ResourcePath: Route 53 resets ResourcePath (https://docs.aws.amazon.com/Route53/latest/APIReference/API_HealthCheckConfig.html#Route53-Type-HealthCheckConfig-ResourcePath)
 17849  	//    to null.
 17850  	ResetElements []*string `locationNameList:"ResettableElementName" type:"list"`
 17851  
 17852  	// The path that you want Amazon Route 53 to request when performing health
 17853  	// checks. The path can be any value for which your endpoint will return an
 17854  	// HTTP status code of 2xx or 3xx when the endpoint is healthy, for example
 17855  	// the file /docs/route53-health-check.html. You can also include query string
 17856  	// parameters, for example, /welcome.html?language=jp&login=y.
 17857  	//
 17858  	// Specify this value only if you want to change it.
 17859  	ResourcePath *string `type:"string"`
 17860  
 17861  	// If the value of Type is HTTP_STR_MATCH or HTTPS_STR_MATCH, the string that
 17862  	// you want Amazon Route 53 to search for in the response body from the specified
 17863  	// resource. If the string appears in the response body, Route 53 considers
 17864  	// the resource healthy. (You can't change the value of Type when you update
 17865  	// a health check.)
 17866  	SearchString *string `type:"string"`
 17867  }
 17868  
 17869  // String returns the string representation.
 17870  //
 17871  // API parameter values that are decorated as "sensitive" in the API will not
 17872  // be included in the string output. The member name will be present, but the
 17873  // value will be replaced with "sensitive".
 17874  func (s UpdateHealthCheckInput) String() string {
 17875  	return awsutil.Prettify(s)
 17876  }
 17877  
 17878  // GoString returns the string representation.
 17879  //
 17880  // API parameter values that are decorated as "sensitive" in the API will not
 17881  // be included in the string output. The member name will be present, but the
 17882  // value will be replaced with "sensitive".
 17883  func (s UpdateHealthCheckInput) GoString() string {
 17884  	return s.String()
 17885  }
 17886  
 17887  // Validate inspects the fields of the type to determine if they are valid.
 17888  func (s *UpdateHealthCheckInput) Validate() error {
 17889  	invalidParams := request.ErrInvalidParams{Context: "UpdateHealthCheckInput"}
 17890  	if s.FailureThreshold != nil && *s.FailureThreshold < 1 {
 17891  		invalidParams.Add(request.NewErrParamMinValue("FailureThreshold", 1))
 17892  	}
 17893  	if s.HealthCheckId == nil {
 17894  		invalidParams.Add(request.NewErrParamRequired("HealthCheckId"))
 17895  	}
 17896  	if s.HealthCheckId != nil && len(*s.HealthCheckId) < 1 {
 17897  		invalidParams.Add(request.NewErrParamMinLen("HealthCheckId", 1))
 17898  	}
 17899  	if s.HealthCheckVersion != nil && *s.HealthCheckVersion < 1 {
 17900  		invalidParams.Add(request.NewErrParamMinValue("HealthCheckVersion", 1))
 17901  	}
 17902  	if s.Port != nil && *s.Port < 1 {
 17903  		invalidParams.Add(request.NewErrParamMinValue("Port", 1))
 17904  	}
 17905  	if s.Regions != nil && len(s.Regions) < 3 {
 17906  		invalidParams.Add(request.NewErrParamMinLen("Regions", 3))
 17907  	}
 17908  	if s.AlarmIdentifier != nil {
 17909  		if err := s.AlarmIdentifier.Validate(); err != nil {
 17910  			invalidParams.AddNested("AlarmIdentifier", err.(request.ErrInvalidParams))
 17911  		}
 17912  	}
 17913  
 17914  	if invalidParams.Len() > 0 {
 17915  		return invalidParams
 17916  	}
 17917  	return nil
 17918  }
 17919  
 17920  // SetAlarmIdentifier sets the AlarmIdentifier field's value.
 17921  func (s *UpdateHealthCheckInput) SetAlarmIdentifier(v *AlarmIdentifier) *UpdateHealthCheckInput {
 17922  	s.AlarmIdentifier = v
 17923  	return s
 17924  }
 17925  
 17926  // SetChildHealthChecks sets the ChildHealthChecks field's value.
 17927  func (s *UpdateHealthCheckInput) SetChildHealthChecks(v []*string) *UpdateHealthCheckInput {
 17928  	s.ChildHealthChecks = v
 17929  	return s
 17930  }
 17931  
 17932  // SetDisabled sets the Disabled field's value.
 17933  func (s *UpdateHealthCheckInput) SetDisabled(v bool) *UpdateHealthCheckInput {
 17934  	s.Disabled = &v
 17935  	return s
 17936  }
 17937  
 17938  // SetEnableSNI sets the EnableSNI field's value.
 17939  func (s *UpdateHealthCheckInput) SetEnableSNI(v bool) *UpdateHealthCheckInput {
 17940  	s.EnableSNI = &v
 17941  	return s
 17942  }
 17943  
 17944  // SetFailureThreshold sets the FailureThreshold field's value.
 17945  func (s *UpdateHealthCheckInput) SetFailureThreshold(v int64) *UpdateHealthCheckInput {
 17946  	s.FailureThreshold = &v
 17947  	return s
 17948  }
 17949  
 17950  // SetFullyQualifiedDomainName sets the FullyQualifiedDomainName field's value.
 17951  func (s *UpdateHealthCheckInput) SetFullyQualifiedDomainName(v string) *UpdateHealthCheckInput {
 17952  	s.FullyQualifiedDomainName = &v
 17953  	return s
 17954  }
 17955  
 17956  // SetHealthCheckId sets the HealthCheckId field's value.
 17957  func (s *UpdateHealthCheckInput) SetHealthCheckId(v string) *UpdateHealthCheckInput {
 17958  	s.HealthCheckId = &v
 17959  	return s
 17960  }
 17961  
 17962  // SetHealthCheckVersion sets the HealthCheckVersion field's value.
 17963  func (s *UpdateHealthCheckInput) SetHealthCheckVersion(v int64) *UpdateHealthCheckInput {
 17964  	s.HealthCheckVersion = &v
 17965  	return s
 17966  }
 17967  
 17968  // SetHealthThreshold sets the HealthThreshold field's value.
 17969  func (s *UpdateHealthCheckInput) SetHealthThreshold(v int64) *UpdateHealthCheckInput {
 17970  	s.HealthThreshold = &v
 17971  	return s
 17972  }
 17973  
 17974  // SetIPAddress sets the IPAddress field's value.
 17975  func (s *UpdateHealthCheckInput) SetIPAddress(v string) *UpdateHealthCheckInput {
 17976  	s.IPAddress = &v
 17977  	return s
 17978  }
 17979  
 17980  // SetInsufficientDataHealthStatus sets the InsufficientDataHealthStatus field's value.
 17981  func (s *UpdateHealthCheckInput) SetInsufficientDataHealthStatus(v string) *UpdateHealthCheckInput {
 17982  	s.InsufficientDataHealthStatus = &v
 17983  	return s
 17984  }
 17985  
 17986  // SetInverted sets the Inverted field's value.
 17987  func (s *UpdateHealthCheckInput) SetInverted(v bool) *UpdateHealthCheckInput {
 17988  	s.Inverted = &v
 17989  	return s
 17990  }
 17991  
 17992  // SetPort sets the Port field's value.
 17993  func (s *UpdateHealthCheckInput) SetPort(v int64) *UpdateHealthCheckInput {
 17994  	s.Port = &v
 17995  	return s
 17996  }
 17997  
 17998  // SetRegions sets the Regions field's value.
 17999  func (s *UpdateHealthCheckInput) SetRegions(v []*string) *UpdateHealthCheckInput {
 18000  	s.Regions = v
 18001  	return s
 18002  }
 18003  
 18004  // SetResetElements sets the ResetElements field's value.
 18005  func (s *UpdateHealthCheckInput) SetResetElements(v []*string) *UpdateHealthCheckInput {
 18006  	s.ResetElements = v
 18007  	return s
 18008  }
 18009  
 18010  // SetResourcePath sets the ResourcePath field's value.
 18011  func (s *UpdateHealthCheckInput) SetResourcePath(v string) *UpdateHealthCheckInput {
 18012  	s.ResourcePath = &v
 18013  	return s
 18014  }
 18015  
 18016  // SetSearchString sets the SearchString field's value.
 18017  func (s *UpdateHealthCheckInput) SetSearchString(v string) *UpdateHealthCheckInput {
 18018  	s.SearchString = &v
 18019  	return s
 18020  }
 18021  
 18022  // A complex type that contains the response to the UpdateHealthCheck request.
 18023  type UpdateHealthCheckOutput struct {
 18024  	_ struct{} `type:"structure"`
 18025  
 18026  	// A complex type that contains the response to an UpdateHealthCheck request.
 18027  	//
 18028  	// HealthCheck is a required field
 18029  	HealthCheck *HealthCheck `type:"structure" required:"true"`
 18030  }
 18031  
 18032  // String returns the string representation.
 18033  //
 18034  // API parameter values that are decorated as "sensitive" in the API will not
 18035  // be included in the string output. The member name will be present, but the
 18036  // value will be replaced with "sensitive".
 18037  func (s UpdateHealthCheckOutput) String() string {
 18038  	return awsutil.Prettify(s)
 18039  }
 18040  
 18041  // GoString returns the string representation.
 18042  //
 18043  // API parameter values that are decorated as "sensitive" in the API will not
 18044  // be included in the string output. The member name will be present, but the
 18045  // value will be replaced with "sensitive".
 18046  func (s UpdateHealthCheckOutput) GoString() string {
 18047  	return s.String()
 18048  }
 18049  
 18050  // SetHealthCheck sets the HealthCheck field's value.
 18051  func (s *UpdateHealthCheckOutput) SetHealthCheck(v *HealthCheck) *UpdateHealthCheckOutput {
 18052  	s.HealthCheck = v
 18053  	return s
 18054  }
 18055  
 18056  // A request to update the comment for a hosted zone.
 18057  type UpdateHostedZoneCommentInput struct {
 18058  	_ struct{} `locationName:"UpdateHostedZoneCommentRequest" type:"structure" xmlURI:"https://route53.amazonaws.com/doc/2013-04-01/"`
 18059  
 18060  	// The new comment for the hosted zone. If you don't specify a value for Comment,
 18061  	// Amazon Route 53 deletes the existing value of the Comment element, if any.
 18062  	Comment *string `type:"string"`
 18063  
 18064  	// The ID for the hosted zone that you want to update the comment for.
 18065  	//
 18066  	// Id is a required field
 18067  	Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
 18068  }
 18069  
 18070  // String returns the string representation.
 18071  //
 18072  // API parameter values that are decorated as "sensitive" in the API will not
 18073  // be included in the string output. The member name will be present, but the
 18074  // value will be replaced with "sensitive".
 18075  func (s UpdateHostedZoneCommentInput) String() string {
 18076  	return awsutil.Prettify(s)
 18077  }
 18078  
 18079  // GoString returns the string representation.
 18080  //
 18081  // API parameter values that are decorated as "sensitive" in the API will not
 18082  // be included in the string output. The member name will be present, but the
 18083  // value will be replaced with "sensitive".
 18084  func (s UpdateHostedZoneCommentInput) GoString() string {
 18085  	return s.String()
 18086  }
 18087  
 18088  // Validate inspects the fields of the type to determine if they are valid.
 18089  func (s *UpdateHostedZoneCommentInput) Validate() error {
 18090  	invalidParams := request.ErrInvalidParams{Context: "UpdateHostedZoneCommentInput"}
 18091  	if s.Id == nil {
 18092  		invalidParams.Add(request.NewErrParamRequired("Id"))
 18093  	}
 18094  	if s.Id != nil && len(*s.Id) < 1 {
 18095  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
 18096  	}
 18097  
 18098  	if invalidParams.Len() > 0 {
 18099  		return invalidParams
 18100  	}
 18101  	return nil
 18102  }
 18103  
 18104  // SetComment sets the Comment field's value.
 18105  func (s *UpdateHostedZoneCommentInput) SetComment(v string) *UpdateHostedZoneCommentInput {
 18106  	s.Comment = &v
 18107  	return s
 18108  }
 18109  
 18110  // SetId sets the Id field's value.
 18111  func (s *UpdateHostedZoneCommentInput) SetId(v string) *UpdateHostedZoneCommentInput {
 18112  	s.Id = &v
 18113  	return s
 18114  }
 18115  
 18116  // A complex type that contains the response to the UpdateHostedZoneComment
 18117  // request.
 18118  type UpdateHostedZoneCommentOutput struct {
 18119  	_ struct{} `type:"structure"`
 18120  
 18121  	// A complex type that contains the response to the UpdateHostedZoneComment
 18122  	// request.
 18123  	//
 18124  	// HostedZone is a required field
 18125  	HostedZone *HostedZone `type:"structure" required:"true"`
 18126  }
 18127  
 18128  // String returns the string representation.
 18129  //
 18130  // API parameter values that are decorated as "sensitive" in the API will not
 18131  // be included in the string output. The member name will be present, but the
 18132  // value will be replaced with "sensitive".
 18133  func (s UpdateHostedZoneCommentOutput) String() string {
 18134  	return awsutil.Prettify(s)
 18135  }
 18136  
 18137  // GoString returns the string representation.
 18138  //
 18139  // API parameter values that are decorated as "sensitive" in the API will not
 18140  // be included in the string output. The member name will be present, but the
 18141  // value will be replaced with "sensitive".
 18142  func (s UpdateHostedZoneCommentOutput) GoString() string {
 18143  	return s.String()
 18144  }
 18145  
 18146  // SetHostedZone sets the HostedZone field's value.
 18147  func (s *UpdateHostedZoneCommentOutput) SetHostedZone(v *HostedZone) *UpdateHostedZoneCommentOutput {
 18148  	s.HostedZone = v
 18149  	return s
 18150  }
 18151  
 18152  // A complex type that contains information about the traffic policy that you
 18153  // want to update the comment for.
 18154  type UpdateTrafficPolicyCommentInput struct {
 18155  	_ struct{} `locationName:"UpdateTrafficPolicyCommentRequest" type:"structure" xmlURI:"https://route53.amazonaws.com/doc/2013-04-01/"`
 18156  
 18157  	// The new comment for the specified traffic policy and version.
 18158  	//
 18159  	// Comment is a required field
 18160  	Comment *string `type:"string" required:"true"`
 18161  
 18162  	// The value of Id for the traffic policy that you want to update the comment
 18163  	// for.
 18164  	//
 18165  	// Id is a required field
 18166  	Id *string `location:"uri" locationName:"Id" min:"1" type:"string" required:"true"`
 18167  
 18168  	// The value of Version for the traffic policy that you want to update the comment
 18169  	// for.
 18170  	//
 18171  	// Version is a required field
 18172  	Version *int64 `location:"uri" locationName:"Version" min:"1" type:"integer" required:"true"`
 18173  }
 18174  
 18175  // String returns the string representation.
 18176  //
 18177  // API parameter values that are decorated as "sensitive" in the API will not
 18178  // be included in the string output. The member name will be present, but the
 18179  // value will be replaced with "sensitive".
 18180  func (s UpdateTrafficPolicyCommentInput) String() string {
 18181  	return awsutil.Prettify(s)
 18182  }
 18183  
 18184  // GoString returns the string representation.
 18185  //
 18186  // API parameter values that are decorated as "sensitive" in the API will not
 18187  // be included in the string output. The member name will be present, but the
 18188  // value will be replaced with "sensitive".
 18189  func (s UpdateTrafficPolicyCommentInput) GoString() string {
 18190  	return s.String()
 18191  }
 18192  
 18193  // Validate inspects the fields of the type to determine if they are valid.
 18194  func (s *UpdateTrafficPolicyCommentInput) Validate() error {
 18195  	invalidParams := request.ErrInvalidParams{Context: "UpdateTrafficPolicyCommentInput"}
 18196  	if s.Comment == nil {
 18197  		invalidParams.Add(request.NewErrParamRequired("Comment"))
 18198  	}
 18199  	if s.Id == nil {
 18200  		invalidParams.Add(request.NewErrParamRequired("Id"))
 18201  	}
 18202  	if s.Id != nil && len(*s.Id) < 1 {
 18203  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
 18204  	}
 18205  	if s.Version == nil {
 18206  		invalidParams.Add(request.NewErrParamRequired("Version"))
 18207  	}
 18208  	if s.Version != nil && *s.Version < 1 {
 18209  		invalidParams.Add(request.NewErrParamMinValue("Version", 1))
 18210  	}
 18211  
 18212  	if invalidParams.Len() > 0 {
 18213  		return invalidParams
 18214  	}
 18215  	return nil
 18216  }
 18217  
 18218  // SetComment sets the Comment field's value.
 18219  func (s *UpdateTrafficPolicyCommentInput) SetComment(v string) *UpdateTrafficPolicyCommentInput {
 18220  	s.Comment = &v
 18221  	return s
 18222  }
 18223  
 18224  // SetId sets the Id field's value.
 18225  func (s *UpdateTrafficPolicyCommentInput) SetId(v string) *UpdateTrafficPolicyCommentInput {
 18226  	s.Id = &v
 18227  	return s
 18228  }
 18229  
 18230  // SetVersion sets the Version field's value.
 18231  func (s *UpdateTrafficPolicyCommentInput) SetVersion(v int64) *UpdateTrafficPolicyCommentInput {
 18232  	s.Version = &v
 18233  	return s
 18234  }
 18235  
 18236  // A complex type that contains the response information for the traffic policy.
 18237  type UpdateTrafficPolicyCommentOutput struct {
 18238  	_ struct{} `type:"structure"`
 18239  
 18240  	// A complex type that contains settings for the specified traffic policy.
 18241  	//
 18242  	// TrafficPolicy is a required field
 18243  	TrafficPolicy *TrafficPolicy `type:"structure" required:"true"`
 18244  }
 18245  
 18246  // String returns the string representation.
 18247  //
 18248  // API parameter values that are decorated as "sensitive" in the API will not
 18249  // be included in the string output. The member name will be present, but the
 18250  // value will be replaced with "sensitive".
 18251  func (s UpdateTrafficPolicyCommentOutput) String() string {
 18252  	return awsutil.Prettify(s)
 18253  }
 18254  
 18255  // GoString returns the string representation.
 18256  //
 18257  // API parameter values that are decorated as "sensitive" in the API will not
 18258  // be included in the string output. The member name will be present, but the
 18259  // value will be replaced with "sensitive".
 18260  func (s UpdateTrafficPolicyCommentOutput) GoString() string {
 18261  	return s.String()
 18262  }
 18263  
 18264  // SetTrafficPolicy sets the TrafficPolicy field's value.
 18265  func (s *UpdateTrafficPolicyCommentOutput) SetTrafficPolicy(v *TrafficPolicy) *UpdateTrafficPolicyCommentOutput {
 18266  	s.TrafficPolicy = v
 18267  	return s
 18268  }
 18269  
 18270  // A complex type that contains information about the resource record sets that
 18271  // you want to update based on a specified traffic policy instance.
 18272  type UpdateTrafficPolicyInstanceInput struct {
 18273  	_ struct{} `locationName:"UpdateTrafficPolicyInstanceRequest" type:"structure" xmlURI:"https://route53.amazonaws.com/doc/2013-04-01/"`
 18274  
 18275  	// The ID of the traffic policy instance that you want to update.
 18276  	//
 18277  	// Id is a required field
 18278  	Id *string `location:"uri" locationName:"Id" min:"1" type:"string" required:"true"`
 18279  
 18280  	// The TTL that you want Amazon Route 53 to assign to all of the updated resource
 18281  	// record sets.
 18282  	//
 18283  	// TTL is a required field
 18284  	TTL *int64 `type:"long" required:"true"`
 18285  
 18286  	// The ID of the traffic policy that you want Amazon Route 53 to use to update
 18287  	// resource record sets for the specified traffic policy instance.
 18288  	//
 18289  	// TrafficPolicyId is a required field
 18290  	TrafficPolicyId *string `min:"1" type:"string" required:"true"`
 18291  
 18292  	// The version of the traffic policy that you want Amazon Route 53 to use to
 18293  	// update resource record sets for the specified traffic policy instance.
 18294  	//
 18295  	// TrafficPolicyVersion is a required field
 18296  	TrafficPolicyVersion *int64 `min:"1" type:"integer" required:"true"`
 18297  }
 18298  
 18299  // String returns the string representation.
 18300  //
 18301  // API parameter values that are decorated as "sensitive" in the API will not
 18302  // be included in the string output. The member name will be present, but the
 18303  // value will be replaced with "sensitive".
 18304  func (s UpdateTrafficPolicyInstanceInput) String() string {
 18305  	return awsutil.Prettify(s)
 18306  }
 18307  
 18308  // GoString returns the string representation.
 18309  //
 18310  // API parameter values that are decorated as "sensitive" in the API will not
 18311  // be included in the string output. The member name will be present, but the
 18312  // value will be replaced with "sensitive".
 18313  func (s UpdateTrafficPolicyInstanceInput) GoString() string {
 18314  	return s.String()
 18315  }
 18316  
 18317  // Validate inspects the fields of the type to determine if they are valid.
 18318  func (s *UpdateTrafficPolicyInstanceInput) Validate() error {
 18319  	invalidParams := request.ErrInvalidParams{Context: "UpdateTrafficPolicyInstanceInput"}
 18320  	if s.Id == nil {
 18321  		invalidParams.Add(request.NewErrParamRequired("Id"))
 18322  	}
 18323  	if s.Id != nil && len(*s.Id) < 1 {
 18324  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
 18325  	}
 18326  	if s.TTL == nil {
 18327  		invalidParams.Add(request.NewErrParamRequired("TTL"))
 18328  	}
 18329  	if s.TrafficPolicyId == nil {
 18330  		invalidParams.Add(request.NewErrParamRequired("TrafficPolicyId"))
 18331  	}
 18332  	if s.TrafficPolicyId != nil && len(*s.TrafficPolicyId) < 1 {
 18333  		invalidParams.Add(request.NewErrParamMinLen("TrafficPolicyId", 1))
 18334  	}
 18335  	if s.TrafficPolicyVersion == nil {
 18336  		invalidParams.Add(request.NewErrParamRequired("TrafficPolicyVersion"))
 18337  	}
 18338  	if s.TrafficPolicyVersion != nil && *s.TrafficPolicyVersion < 1 {
 18339  		invalidParams.Add(request.NewErrParamMinValue("TrafficPolicyVersion", 1))
 18340  	}
 18341  
 18342  	if invalidParams.Len() > 0 {
 18343  		return invalidParams
 18344  	}
 18345  	return nil
 18346  }
 18347  
 18348  // SetId sets the Id field's value.
 18349  func (s *UpdateTrafficPolicyInstanceInput) SetId(v string) *UpdateTrafficPolicyInstanceInput {
 18350  	s.Id = &v
 18351  	return s
 18352  }
 18353  
 18354  // SetTTL sets the TTL field's value.
 18355  func (s *UpdateTrafficPolicyInstanceInput) SetTTL(v int64) *UpdateTrafficPolicyInstanceInput {
 18356  	s.TTL = &v
 18357  	return s
 18358  }
 18359  
 18360  // SetTrafficPolicyId sets the TrafficPolicyId field's value.
 18361  func (s *UpdateTrafficPolicyInstanceInput) SetTrafficPolicyId(v string) *UpdateTrafficPolicyInstanceInput {
 18362  	s.TrafficPolicyId = &v
 18363  	return s
 18364  }
 18365  
 18366  // SetTrafficPolicyVersion sets the TrafficPolicyVersion field's value.
 18367  func (s *UpdateTrafficPolicyInstanceInput) SetTrafficPolicyVersion(v int64) *UpdateTrafficPolicyInstanceInput {
 18368  	s.TrafficPolicyVersion = &v
 18369  	return s
 18370  }
 18371  
 18372  // A complex type that contains information about the resource record sets that
 18373  // Amazon Route 53 created based on a specified traffic policy.
 18374  type UpdateTrafficPolicyInstanceOutput struct {
 18375  	_ struct{} `type:"structure"`
 18376  
 18377  	// A complex type that contains settings for the updated traffic policy instance.
 18378  	//
 18379  	// TrafficPolicyInstance is a required field
 18380  	TrafficPolicyInstance *TrafficPolicyInstance `type:"structure" required:"true"`
 18381  }
 18382  
 18383  // String returns the string representation.
 18384  //
 18385  // API parameter values that are decorated as "sensitive" in the API will not
 18386  // be included in the string output. The member name will be present, but the
 18387  // value will be replaced with "sensitive".
 18388  func (s UpdateTrafficPolicyInstanceOutput) String() string {
 18389  	return awsutil.Prettify(s)
 18390  }
 18391  
 18392  // GoString returns the string representation.
 18393  //
 18394  // API parameter values that are decorated as "sensitive" in the API will not
 18395  // be included in the string output. The member name will be present, but the
 18396  // value will be replaced with "sensitive".
 18397  func (s UpdateTrafficPolicyInstanceOutput) GoString() string {
 18398  	return s.String()
 18399  }
 18400  
 18401  // SetTrafficPolicyInstance sets the TrafficPolicyInstance field's value.
 18402  func (s *UpdateTrafficPolicyInstanceOutput) SetTrafficPolicyInstance(v *TrafficPolicyInstance) *UpdateTrafficPolicyInstanceOutput {
 18403  	s.TrafficPolicyInstance = v
 18404  	return s
 18405  }
 18406  
 18407  // (Private hosted zones only) A complex type that contains information about
 18408  // an Amazon VPC.
 18409  type VPC struct {
 18410  	_ struct{} `type:"structure"`
 18411  
 18412  	// (Private hosted zones only) The ID of an Amazon VPC.
 18413  	VPCId *string `type:"string"`
 18414  
 18415  	// (Private hosted zones only) The region that an Amazon VPC was created in.
 18416  	VPCRegion *string `min:"1" type:"string" enum:"VPCRegion"`
 18417  }
 18418  
 18419  // String returns the string representation.
 18420  //
 18421  // API parameter values that are decorated as "sensitive" in the API will not
 18422  // be included in the string output. The member name will be present, but the
 18423  // value will be replaced with "sensitive".
 18424  func (s VPC) String() string {
 18425  	return awsutil.Prettify(s)
 18426  }
 18427  
 18428  // GoString returns the string representation.
 18429  //
 18430  // API parameter values that are decorated as "sensitive" in the API will not
 18431  // be included in the string output. The member name will be present, but the
 18432  // value will be replaced with "sensitive".
 18433  func (s VPC) GoString() string {
 18434  	return s.String()
 18435  }
 18436  
 18437  // Validate inspects the fields of the type to determine if they are valid.
 18438  func (s *VPC) Validate() error {
 18439  	invalidParams := request.ErrInvalidParams{Context: "VPC"}
 18440  	if s.VPCRegion != nil && len(*s.VPCRegion) < 1 {
 18441  		invalidParams.Add(request.NewErrParamMinLen("VPCRegion", 1))
 18442  	}
 18443  
 18444  	if invalidParams.Len() > 0 {
 18445  		return invalidParams
 18446  	}
 18447  	return nil
 18448  }
 18449  
 18450  // SetVPCId sets the VPCId field's value.
 18451  func (s *VPC) SetVPCId(v string) *VPC {
 18452  	s.VPCId = &v
 18453  	return s
 18454  }
 18455  
 18456  // SetVPCRegion sets the VPCRegion field's value.
 18457  func (s *VPC) SetVPCRegion(v string) *VPC {
 18458  	s.VPCRegion = &v
 18459  	return s
 18460  }
 18461  
 18462  const (
 18463  	// AccountLimitTypeMaxHealthChecksByOwner is a AccountLimitType enum value
 18464  	AccountLimitTypeMaxHealthChecksByOwner = "MAX_HEALTH_CHECKS_BY_OWNER"
 18465  
 18466  	// AccountLimitTypeMaxHostedZonesByOwner is a AccountLimitType enum value
 18467  	AccountLimitTypeMaxHostedZonesByOwner = "MAX_HOSTED_ZONES_BY_OWNER"
 18468  
 18469  	// AccountLimitTypeMaxTrafficPolicyInstancesByOwner is a AccountLimitType enum value
 18470  	AccountLimitTypeMaxTrafficPolicyInstancesByOwner = "MAX_TRAFFIC_POLICY_INSTANCES_BY_OWNER"
 18471  
 18472  	// AccountLimitTypeMaxReusableDelegationSetsByOwner is a AccountLimitType enum value
 18473  	AccountLimitTypeMaxReusableDelegationSetsByOwner = "MAX_REUSABLE_DELEGATION_SETS_BY_OWNER"
 18474  
 18475  	// AccountLimitTypeMaxTrafficPoliciesByOwner is a AccountLimitType enum value
 18476  	AccountLimitTypeMaxTrafficPoliciesByOwner = "MAX_TRAFFIC_POLICIES_BY_OWNER"
 18477  )
 18478  
 18479  // AccountLimitType_Values returns all elements of the AccountLimitType enum
 18480  func AccountLimitType_Values() []string {
 18481  	return []string{
 18482  		AccountLimitTypeMaxHealthChecksByOwner,
 18483  		AccountLimitTypeMaxHostedZonesByOwner,
 18484  		AccountLimitTypeMaxTrafficPolicyInstancesByOwner,
 18485  		AccountLimitTypeMaxReusableDelegationSetsByOwner,
 18486  		AccountLimitTypeMaxTrafficPoliciesByOwner,
 18487  	}
 18488  }
 18489  
 18490  const (
 18491  	// ChangeActionCreate is a ChangeAction enum value
 18492  	ChangeActionCreate = "CREATE"
 18493  
 18494  	// ChangeActionDelete is a ChangeAction enum value
 18495  	ChangeActionDelete = "DELETE"
 18496  
 18497  	// ChangeActionUpsert is a ChangeAction enum value
 18498  	ChangeActionUpsert = "UPSERT"
 18499  )
 18500  
 18501  // ChangeAction_Values returns all elements of the ChangeAction enum
 18502  func ChangeAction_Values() []string {
 18503  	return []string{
 18504  		ChangeActionCreate,
 18505  		ChangeActionDelete,
 18506  		ChangeActionUpsert,
 18507  	}
 18508  }
 18509  
 18510  const (
 18511  	// ChangeStatusPending is a ChangeStatus enum value
 18512  	ChangeStatusPending = "PENDING"
 18513  
 18514  	// ChangeStatusInsync is a ChangeStatus enum value
 18515  	ChangeStatusInsync = "INSYNC"
 18516  )
 18517  
 18518  // ChangeStatus_Values returns all elements of the ChangeStatus enum
 18519  func ChangeStatus_Values() []string {
 18520  	return []string{
 18521  		ChangeStatusPending,
 18522  		ChangeStatusInsync,
 18523  	}
 18524  }
 18525  
 18526  const (
 18527  	// CloudWatchRegionUsEast1 is a CloudWatchRegion enum value
 18528  	CloudWatchRegionUsEast1 = "us-east-1"
 18529  
 18530  	// CloudWatchRegionUsEast2 is a CloudWatchRegion enum value
 18531  	CloudWatchRegionUsEast2 = "us-east-2"
 18532  
 18533  	// CloudWatchRegionUsWest1 is a CloudWatchRegion enum value
 18534  	CloudWatchRegionUsWest1 = "us-west-1"
 18535  
 18536  	// CloudWatchRegionUsWest2 is a CloudWatchRegion enum value
 18537  	CloudWatchRegionUsWest2 = "us-west-2"
 18538  
 18539  	// CloudWatchRegionCaCentral1 is a CloudWatchRegion enum value
 18540  	CloudWatchRegionCaCentral1 = "ca-central-1"
 18541  
 18542  	// CloudWatchRegionEuCentral1 is a CloudWatchRegion enum value
 18543  	CloudWatchRegionEuCentral1 = "eu-central-1"
 18544  
 18545  	// CloudWatchRegionEuWest1 is a CloudWatchRegion enum value
 18546  	CloudWatchRegionEuWest1 = "eu-west-1"
 18547  
 18548  	// CloudWatchRegionEuWest2 is a CloudWatchRegion enum value
 18549  	CloudWatchRegionEuWest2 = "eu-west-2"
 18550  
 18551  	// CloudWatchRegionEuWest3 is a CloudWatchRegion enum value
 18552  	CloudWatchRegionEuWest3 = "eu-west-3"
 18553  
 18554  	// CloudWatchRegionApEast1 is a CloudWatchRegion enum value
 18555  	CloudWatchRegionApEast1 = "ap-east-1"
 18556  
 18557  	// CloudWatchRegionMeSouth1 is a CloudWatchRegion enum value
 18558  	CloudWatchRegionMeSouth1 = "me-south-1"
 18559  
 18560  	// CloudWatchRegionApSouth1 is a CloudWatchRegion enum value
 18561  	CloudWatchRegionApSouth1 = "ap-south-1"
 18562  
 18563  	// CloudWatchRegionApSoutheast1 is a CloudWatchRegion enum value
 18564  	CloudWatchRegionApSoutheast1 = "ap-southeast-1"
 18565  
 18566  	// CloudWatchRegionApSoutheast2 is a CloudWatchRegion enum value
 18567  	CloudWatchRegionApSoutheast2 = "ap-southeast-2"
 18568  
 18569  	// CloudWatchRegionApNortheast1 is a CloudWatchRegion enum value
 18570  	CloudWatchRegionApNortheast1 = "ap-northeast-1"
 18571  
 18572  	// CloudWatchRegionApNortheast2 is a CloudWatchRegion enum value
 18573  	CloudWatchRegionApNortheast2 = "ap-northeast-2"
 18574  
 18575  	// CloudWatchRegionApNortheast3 is a CloudWatchRegion enum value
 18576  	CloudWatchRegionApNortheast3 = "ap-northeast-3"
 18577  
 18578  	// CloudWatchRegionEuNorth1 is a CloudWatchRegion enum value
 18579  	CloudWatchRegionEuNorth1 = "eu-north-1"
 18580  
 18581  	// CloudWatchRegionSaEast1 is a CloudWatchRegion enum value
 18582  	CloudWatchRegionSaEast1 = "sa-east-1"
 18583  
 18584  	// CloudWatchRegionCnNorthwest1 is a CloudWatchRegion enum value
 18585  	CloudWatchRegionCnNorthwest1 = "cn-northwest-1"
 18586  
 18587  	// CloudWatchRegionCnNorth1 is a CloudWatchRegion enum value
 18588  	CloudWatchRegionCnNorth1 = "cn-north-1"
 18589  
 18590  	// CloudWatchRegionAfSouth1 is a CloudWatchRegion enum value
 18591  	CloudWatchRegionAfSouth1 = "af-south-1"
 18592  
 18593  	// CloudWatchRegionEuSouth1 is a CloudWatchRegion enum value
 18594  	CloudWatchRegionEuSouth1 = "eu-south-1"
 18595  
 18596  	// CloudWatchRegionUsGovWest1 is a CloudWatchRegion enum value
 18597  	CloudWatchRegionUsGovWest1 = "us-gov-west-1"
 18598  
 18599  	// CloudWatchRegionUsGovEast1 is a CloudWatchRegion enum value
 18600  	CloudWatchRegionUsGovEast1 = "us-gov-east-1"
 18601  
 18602  	// CloudWatchRegionUsIsoEast1 is a CloudWatchRegion enum value
 18603  	CloudWatchRegionUsIsoEast1 = "us-iso-east-1"
 18604  
 18605  	// CloudWatchRegionUsIsobEast1 is a CloudWatchRegion enum value
 18606  	CloudWatchRegionUsIsobEast1 = "us-isob-east-1"
 18607  )
 18608  
 18609  // CloudWatchRegion_Values returns all elements of the CloudWatchRegion enum
 18610  func CloudWatchRegion_Values() []string {
 18611  	return []string{
 18612  		CloudWatchRegionUsEast1,
 18613  		CloudWatchRegionUsEast2,
 18614  		CloudWatchRegionUsWest1,
 18615  		CloudWatchRegionUsWest2,
 18616  		CloudWatchRegionCaCentral1,
 18617  		CloudWatchRegionEuCentral1,
 18618  		CloudWatchRegionEuWest1,
 18619  		CloudWatchRegionEuWest2,
 18620  		CloudWatchRegionEuWest3,
 18621  		CloudWatchRegionApEast1,
 18622  		CloudWatchRegionMeSouth1,
 18623  		CloudWatchRegionApSouth1,
 18624  		CloudWatchRegionApSoutheast1,
 18625  		CloudWatchRegionApSoutheast2,
 18626  		CloudWatchRegionApNortheast1,
 18627  		CloudWatchRegionApNortheast2,
 18628  		CloudWatchRegionApNortheast3,
 18629  		CloudWatchRegionEuNorth1,
 18630  		CloudWatchRegionSaEast1,
 18631  		CloudWatchRegionCnNorthwest1,
 18632  		CloudWatchRegionCnNorth1,
 18633  		CloudWatchRegionAfSouth1,
 18634  		CloudWatchRegionEuSouth1,
 18635  		CloudWatchRegionUsGovWest1,
 18636  		CloudWatchRegionUsGovEast1,
 18637  		CloudWatchRegionUsIsoEast1,
 18638  		CloudWatchRegionUsIsobEast1,
 18639  	}
 18640  }
 18641  
 18642  const (
 18643  	// ComparisonOperatorGreaterThanOrEqualToThreshold is a ComparisonOperator enum value
 18644  	ComparisonOperatorGreaterThanOrEqualToThreshold = "GreaterThanOrEqualToThreshold"
 18645  
 18646  	// ComparisonOperatorGreaterThanThreshold is a ComparisonOperator enum value
 18647  	ComparisonOperatorGreaterThanThreshold = "GreaterThanThreshold"
 18648  
 18649  	// ComparisonOperatorLessThanThreshold is a ComparisonOperator enum value
 18650  	ComparisonOperatorLessThanThreshold = "LessThanThreshold"
 18651  
 18652  	// ComparisonOperatorLessThanOrEqualToThreshold is a ComparisonOperator enum value
 18653  	ComparisonOperatorLessThanOrEqualToThreshold = "LessThanOrEqualToThreshold"
 18654  )
 18655  
 18656  // ComparisonOperator_Values returns all elements of the ComparisonOperator enum
 18657  func ComparisonOperator_Values() []string {
 18658  	return []string{
 18659  		ComparisonOperatorGreaterThanOrEqualToThreshold,
 18660  		ComparisonOperatorGreaterThanThreshold,
 18661  		ComparisonOperatorLessThanThreshold,
 18662  		ComparisonOperatorLessThanOrEqualToThreshold,
 18663  	}
 18664  }
 18665  
 18666  const (
 18667  	// HealthCheckRegionUsEast1 is a HealthCheckRegion enum value
 18668  	HealthCheckRegionUsEast1 = "us-east-1"
 18669  
 18670  	// HealthCheckRegionUsWest1 is a HealthCheckRegion enum value
 18671  	HealthCheckRegionUsWest1 = "us-west-1"
 18672  
 18673  	// HealthCheckRegionUsWest2 is a HealthCheckRegion enum value
 18674  	HealthCheckRegionUsWest2 = "us-west-2"
 18675  
 18676  	// HealthCheckRegionEuWest1 is a HealthCheckRegion enum value
 18677  	HealthCheckRegionEuWest1 = "eu-west-1"
 18678  
 18679  	// HealthCheckRegionApSoutheast1 is a HealthCheckRegion enum value
 18680  	HealthCheckRegionApSoutheast1 = "ap-southeast-1"
 18681  
 18682  	// HealthCheckRegionApSoutheast2 is a HealthCheckRegion enum value
 18683  	HealthCheckRegionApSoutheast2 = "ap-southeast-2"
 18684  
 18685  	// HealthCheckRegionApNortheast1 is a HealthCheckRegion enum value
 18686  	HealthCheckRegionApNortheast1 = "ap-northeast-1"
 18687  
 18688  	// HealthCheckRegionSaEast1 is a HealthCheckRegion enum value
 18689  	HealthCheckRegionSaEast1 = "sa-east-1"
 18690  )
 18691  
 18692  // HealthCheckRegion_Values returns all elements of the HealthCheckRegion enum
 18693  func HealthCheckRegion_Values() []string {
 18694  	return []string{
 18695  		HealthCheckRegionUsEast1,
 18696  		HealthCheckRegionUsWest1,
 18697  		HealthCheckRegionUsWest2,
 18698  		HealthCheckRegionEuWest1,
 18699  		HealthCheckRegionApSoutheast1,
 18700  		HealthCheckRegionApSoutheast2,
 18701  		HealthCheckRegionApNortheast1,
 18702  		HealthCheckRegionSaEast1,
 18703  	}
 18704  }
 18705  
 18706  const (
 18707  	// HealthCheckTypeHttp is a HealthCheckType enum value
 18708  	HealthCheckTypeHttp = "HTTP"
 18709  
 18710  	// HealthCheckTypeHttps is a HealthCheckType enum value
 18711  	HealthCheckTypeHttps = "HTTPS"
 18712  
 18713  	// HealthCheckTypeHttpStrMatch is a HealthCheckType enum value
 18714  	HealthCheckTypeHttpStrMatch = "HTTP_STR_MATCH"
 18715  
 18716  	// HealthCheckTypeHttpsStrMatch is a HealthCheckType enum value
 18717  	HealthCheckTypeHttpsStrMatch = "HTTPS_STR_MATCH"
 18718  
 18719  	// HealthCheckTypeTcp is a HealthCheckType enum value
 18720  	HealthCheckTypeTcp = "TCP"
 18721  
 18722  	// HealthCheckTypeCalculated is a HealthCheckType enum value
 18723  	HealthCheckTypeCalculated = "CALCULATED"
 18724  
 18725  	// HealthCheckTypeCloudwatchMetric is a HealthCheckType enum value
 18726  	HealthCheckTypeCloudwatchMetric = "CLOUDWATCH_METRIC"
 18727  
 18728  	// HealthCheckTypeRecoveryControl is a HealthCheckType enum value
 18729  	HealthCheckTypeRecoveryControl = "RECOVERY_CONTROL"
 18730  )
 18731  
 18732  // HealthCheckType_Values returns all elements of the HealthCheckType enum
 18733  func HealthCheckType_Values() []string {
 18734  	return []string{
 18735  		HealthCheckTypeHttp,
 18736  		HealthCheckTypeHttps,
 18737  		HealthCheckTypeHttpStrMatch,
 18738  		HealthCheckTypeHttpsStrMatch,
 18739  		HealthCheckTypeTcp,
 18740  		HealthCheckTypeCalculated,
 18741  		HealthCheckTypeCloudwatchMetric,
 18742  		HealthCheckTypeRecoveryControl,
 18743  	}
 18744  }
 18745  
 18746  const (
 18747  	// HostedZoneLimitTypeMaxRrsetsByZone is a HostedZoneLimitType enum value
 18748  	HostedZoneLimitTypeMaxRrsetsByZone = "MAX_RRSETS_BY_ZONE"
 18749  
 18750  	// HostedZoneLimitTypeMaxVpcsAssociatedByZone is a HostedZoneLimitType enum value
 18751  	HostedZoneLimitTypeMaxVpcsAssociatedByZone = "MAX_VPCS_ASSOCIATED_BY_ZONE"
 18752  )
 18753  
 18754  // HostedZoneLimitType_Values returns all elements of the HostedZoneLimitType enum
 18755  func HostedZoneLimitType_Values() []string {
 18756  	return []string{
 18757  		HostedZoneLimitTypeMaxRrsetsByZone,
 18758  		HostedZoneLimitTypeMaxVpcsAssociatedByZone,
 18759  	}
 18760  }
 18761  
 18762  const (
 18763  	// InsufficientDataHealthStatusHealthy is a InsufficientDataHealthStatus enum value
 18764  	InsufficientDataHealthStatusHealthy = "Healthy"
 18765  
 18766  	// InsufficientDataHealthStatusUnhealthy is a InsufficientDataHealthStatus enum value
 18767  	InsufficientDataHealthStatusUnhealthy = "Unhealthy"
 18768  
 18769  	// InsufficientDataHealthStatusLastKnownStatus is a InsufficientDataHealthStatus enum value
 18770  	InsufficientDataHealthStatusLastKnownStatus = "LastKnownStatus"
 18771  )
 18772  
 18773  // InsufficientDataHealthStatus_Values returns all elements of the InsufficientDataHealthStatus enum
 18774  func InsufficientDataHealthStatus_Values() []string {
 18775  	return []string{
 18776  		InsufficientDataHealthStatusHealthy,
 18777  		InsufficientDataHealthStatusUnhealthy,
 18778  		InsufficientDataHealthStatusLastKnownStatus,
 18779  	}
 18780  }
 18781  
 18782  const (
 18783  	// RRTypeSoa is a RRType enum value
 18784  	RRTypeSoa = "SOA"
 18785  
 18786  	// RRTypeA is a RRType enum value
 18787  	RRTypeA = "A"
 18788  
 18789  	// RRTypeTxt is a RRType enum value
 18790  	RRTypeTxt = "TXT"
 18791  
 18792  	// RRTypeNs is a RRType enum value
 18793  	RRTypeNs = "NS"
 18794  
 18795  	// RRTypeCname is a RRType enum value
 18796  	RRTypeCname = "CNAME"
 18797  
 18798  	// RRTypeMx is a RRType enum value
 18799  	RRTypeMx = "MX"
 18800  
 18801  	// RRTypeNaptr is a RRType enum value
 18802  	RRTypeNaptr = "NAPTR"
 18803  
 18804  	// RRTypePtr is a RRType enum value
 18805  	RRTypePtr = "PTR"
 18806  
 18807  	// RRTypeSrv is a RRType enum value
 18808  	RRTypeSrv = "SRV"
 18809  
 18810  	// RRTypeSpf is a RRType enum value
 18811  	RRTypeSpf = "SPF"
 18812  
 18813  	// RRTypeAaaa is a RRType enum value
 18814  	RRTypeAaaa = "AAAA"
 18815  
 18816  	// RRTypeCaa is a RRType enum value
 18817  	RRTypeCaa = "CAA"
 18818  
 18819  	// RRTypeDs is a RRType enum value
 18820  	RRTypeDs = "DS"
 18821  )
 18822  
 18823  // RRType_Values returns all elements of the RRType enum
 18824  func RRType_Values() []string {
 18825  	return []string{
 18826  		RRTypeSoa,
 18827  		RRTypeA,
 18828  		RRTypeTxt,
 18829  		RRTypeNs,
 18830  		RRTypeCname,
 18831  		RRTypeMx,
 18832  		RRTypeNaptr,
 18833  		RRTypePtr,
 18834  		RRTypeSrv,
 18835  		RRTypeSpf,
 18836  		RRTypeAaaa,
 18837  		RRTypeCaa,
 18838  		RRTypeDs,
 18839  	}
 18840  }
 18841  
 18842  const (
 18843  	// ResettableElementNameFullyQualifiedDomainName is a ResettableElementName enum value
 18844  	ResettableElementNameFullyQualifiedDomainName = "FullyQualifiedDomainName"
 18845  
 18846  	// ResettableElementNameRegions is a ResettableElementName enum value
 18847  	ResettableElementNameRegions = "Regions"
 18848  
 18849  	// ResettableElementNameResourcePath is a ResettableElementName enum value
 18850  	ResettableElementNameResourcePath = "ResourcePath"
 18851  
 18852  	// ResettableElementNameChildHealthChecks is a ResettableElementName enum value
 18853  	ResettableElementNameChildHealthChecks = "ChildHealthChecks"
 18854  )
 18855  
 18856  // ResettableElementName_Values returns all elements of the ResettableElementName enum
 18857  func ResettableElementName_Values() []string {
 18858  	return []string{
 18859  		ResettableElementNameFullyQualifiedDomainName,
 18860  		ResettableElementNameRegions,
 18861  		ResettableElementNameResourcePath,
 18862  		ResettableElementNameChildHealthChecks,
 18863  	}
 18864  }
 18865  
 18866  const (
 18867  	// ResourceRecordSetFailoverPrimary is a ResourceRecordSetFailover enum value
 18868  	ResourceRecordSetFailoverPrimary = "PRIMARY"
 18869  
 18870  	// ResourceRecordSetFailoverSecondary is a ResourceRecordSetFailover enum value
 18871  	ResourceRecordSetFailoverSecondary = "SECONDARY"
 18872  )
 18873  
 18874  // ResourceRecordSetFailover_Values returns all elements of the ResourceRecordSetFailover enum
 18875  func ResourceRecordSetFailover_Values() []string {
 18876  	return []string{
 18877  		ResourceRecordSetFailoverPrimary,
 18878  		ResourceRecordSetFailoverSecondary,
 18879  	}
 18880  }
 18881  
 18882  const (
 18883  	// ResourceRecordSetRegionUsEast1 is a ResourceRecordSetRegion enum value
 18884  	ResourceRecordSetRegionUsEast1 = "us-east-1"
 18885  
 18886  	// ResourceRecordSetRegionUsEast2 is a ResourceRecordSetRegion enum value
 18887  	ResourceRecordSetRegionUsEast2 = "us-east-2"
 18888  
 18889  	// ResourceRecordSetRegionUsWest1 is a ResourceRecordSetRegion enum value
 18890  	ResourceRecordSetRegionUsWest1 = "us-west-1"
 18891  
 18892  	// ResourceRecordSetRegionUsWest2 is a ResourceRecordSetRegion enum value
 18893  	ResourceRecordSetRegionUsWest2 = "us-west-2"
 18894  
 18895  	// ResourceRecordSetRegionCaCentral1 is a ResourceRecordSetRegion enum value
 18896  	ResourceRecordSetRegionCaCentral1 = "ca-central-1"
 18897  
 18898  	// ResourceRecordSetRegionEuWest1 is a ResourceRecordSetRegion enum value
 18899  	ResourceRecordSetRegionEuWest1 = "eu-west-1"
 18900  
 18901  	// ResourceRecordSetRegionEuWest2 is a ResourceRecordSetRegion enum value
 18902  	ResourceRecordSetRegionEuWest2 = "eu-west-2"
 18903  
 18904  	// ResourceRecordSetRegionEuWest3 is a ResourceRecordSetRegion enum value
 18905  	ResourceRecordSetRegionEuWest3 = "eu-west-3"
 18906  
 18907  	// ResourceRecordSetRegionEuCentral1 is a ResourceRecordSetRegion enum value
 18908  	ResourceRecordSetRegionEuCentral1 = "eu-central-1"
 18909  
 18910  	// ResourceRecordSetRegionApSoutheast1 is a ResourceRecordSetRegion enum value
 18911  	ResourceRecordSetRegionApSoutheast1 = "ap-southeast-1"
 18912  
 18913  	// ResourceRecordSetRegionApSoutheast2 is a ResourceRecordSetRegion enum value
 18914  	ResourceRecordSetRegionApSoutheast2 = "ap-southeast-2"
 18915  
 18916  	// ResourceRecordSetRegionApNortheast1 is a ResourceRecordSetRegion enum value
 18917  	ResourceRecordSetRegionApNortheast1 = "ap-northeast-1"
 18918  
 18919  	// ResourceRecordSetRegionApNortheast2 is a ResourceRecordSetRegion enum value
 18920  	ResourceRecordSetRegionApNortheast2 = "ap-northeast-2"
 18921  
 18922  	// ResourceRecordSetRegionApNortheast3 is a ResourceRecordSetRegion enum value
 18923  	ResourceRecordSetRegionApNortheast3 = "ap-northeast-3"
 18924  
 18925  	// ResourceRecordSetRegionEuNorth1 is a ResourceRecordSetRegion enum value
 18926  	ResourceRecordSetRegionEuNorth1 = "eu-north-1"
 18927  
 18928  	// ResourceRecordSetRegionSaEast1 is a ResourceRecordSetRegion enum value
 18929  	ResourceRecordSetRegionSaEast1 = "sa-east-1"
 18930  
 18931  	// ResourceRecordSetRegionCnNorth1 is a ResourceRecordSetRegion enum value
 18932  	ResourceRecordSetRegionCnNorth1 = "cn-north-1"
 18933  
 18934  	// ResourceRecordSetRegionCnNorthwest1 is a ResourceRecordSetRegion enum value
 18935  	ResourceRecordSetRegionCnNorthwest1 = "cn-northwest-1"
 18936  
 18937  	// ResourceRecordSetRegionApEast1 is a ResourceRecordSetRegion enum value
 18938  	ResourceRecordSetRegionApEast1 = "ap-east-1"
 18939  
 18940  	// ResourceRecordSetRegionMeSouth1 is a ResourceRecordSetRegion enum value
 18941  	ResourceRecordSetRegionMeSouth1 = "me-south-1"
 18942  
 18943  	// ResourceRecordSetRegionApSouth1 is a ResourceRecordSetRegion enum value
 18944  	ResourceRecordSetRegionApSouth1 = "ap-south-1"
 18945  
 18946  	// ResourceRecordSetRegionAfSouth1 is a ResourceRecordSetRegion enum value
 18947  	ResourceRecordSetRegionAfSouth1 = "af-south-1"
 18948  
 18949  	// ResourceRecordSetRegionEuSouth1 is a ResourceRecordSetRegion enum value
 18950  	ResourceRecordSetRegionEuSouth1 = "eu-south-1"
 18951  )
 18952  
 18953  // ResourceRecordSetRegion_Values returns all elements of the ResourceRecordSetRegion enum
 18954  func ResourceRecordSetRegion_Values() []string {
 18955  	return []string{
 18956  		ResourceRecordSetRegionUsEast1,
 18957  		ResourceRecordSetRegionUsEast2,
 18958  		ResourceRecordSetRegionUsWest1,
 18959  		ResourceRecordSetRegionUsWest2,
 18960  		ResourceRecordSetRegionCaCentral1,
 18961  		ResourceRecordSetRegionEuWest1,
 18962  		ResourceRecordSetRegionEuWest2,
 18963  		ResourceRecordSetRegionEuWest3,
 18964  		ResourceRecordSetRegionEuCentral1,
 18965  		ResourceRecordSetRegionApSoutheast1,
 18966  		ResourceRecordSetRegionApSoutheast2,
 18967  		ResourceRecordSetRegionApNortheast1,
 18968  		ResourceRecordSetRegionApNortheast2,
 18969  		ResourceRecordSetRegionApNortheast3,
 18970  		ResourceRecordSetRegionEuNorth1,
 18971  		ResourceRecordSetRegionSaEast1,
 18972  		ResourceRecordSetRegionCnNorth1,
 18973  		ResourceRecordSetRegionCnNorthwest1,
 18974  		ResourceRecordSetRegionApEast1,
 18975  		ResourceRecordSetRegionMeSouth1,
 18976  		ResourceRecordSetRegionApSouth1,
 18977  		ResourceRecordSetRegionAfSouth1,
 18978  		ResourceRecordSetRegionEuSouth1,
 18979  	}
 18980  }
 18981  
 18982  const (
 18983  	// ReusableDelegationSetLimitTypeMaxZonesByReusableDelegationSet is a ReusableDelegationSetLimitType enum value
 18984  	ReusableDelegationSetLimitTypeMaxZonesByReusableDelegationSet = "MAX_ZONES_BY_REUSABLE_DELEGATION_SET"
 18985  )
 18986  
 18987  // ReusableDelegationSetLimitType_Values returns all elements of the ReusableDelegationSetLimitType enum
 18988  func ReusableDelegationSetLimitType_Values() []string {
 18989  	return []string{
 18990  		ReusableDelegationSetLimitTypeMaxZonesByReusableDelegationSet,
 18991  	}
 18992  }
 18993  
 18994  const (
 18995  	// StatisticAverage is a Statistic enum value
 18996  	StatisticAverage = "Average"
 18997  
 18998  	// StatisticSum is a Statistic enum value
 18999  	StatisticSum = "Sum"
 19000  
 19001  	// StatisticSampleCount is a Statistic enum value
 19002  	StatisticSampleCount = "SampleCount"
 19003  
 19004  	// StatisticMaximum is a Statistic enum value
 19005  	StatisticMaximum = "Maximum"
 19006  
 19007  	// StatisticMinimum is a Statistic enum value
 19008  	StatisticMinimum = "Minimum"
 19009  )
 19010  
 19011  // Statistic_Values returns all elements of the Statistic enum
 19012  func Statistic_Values() []string {
 19013  	return []string{
 19014  		StatisticAverage,
 19015  		StatisticSum,
 19016  		StatisticSampleCount,
 19017  		StatisticMaximum,
 19018  		StatisticMinimum,
 19019  	}
 19020  }
 19021  
 19022  const (
 19023  	// TagResourceTypeHealthcheck is a TagResourceType enum value
 19024  	TagResourceTypeHealthcheck = "healthcheck"
 19025  
 19026  	// TagResourceTypeHostedzone is a TagResourceType enum value
 19027  	TagResourceTypeHostedzone = "hostedzone"
 19028  )
 19029  
 19030  // TagResourceType_Values returns all elements of the TagResourceType enum
 19031  func TagResourceType_Values() []string {
 19032  	return []string{
 19033  		TagResourceTypeHealthcheck,
 19034  		TagResourceTypeHostedzone,
 19035  	}
 19036  }
 19037  
 19038  const (
 19039  	// VPCRegionUsEast1 is a VPCRegion enum value
 19040  	VPCRegionUsEast1 = "us-east-1"
 19041  
 19042  	// VPCRegionUsEast2 is a VPCRegion enum value
 19043  	VPCRegionUsEast2 = "us-east-2"
 19044  
 19045  	// VPCRegionUsWest1 is a VPCRegion enum value
 19046  	VPCRegionUsWest1 = "us-west-1"
 19047  
 19048  	// VPCRegionUsWest2 is a VPCRegion enum value
 19049  	VPCRegionUsWest2 = "us-west-2"
 19050  
 19051  	// VPCRegionEuWest1 is a VPCRegion enum value
 19052  	VPCRegionEuWest1 = "eu-west-1"
 19053  
 19054  	// VPCRegionEuWest2 is a VPCRegion enum value
 19055  	VPCRegionEuWest2 = "eu-west-2"
 19056  
 19057  	// VPCRegionEuWest3 is a VPCRegion enum value
 19058  	VPCRegionEuWest3 = "eu-west-3"
 19059  
 19060  	// VPCRegionEuCentral1 is a VPCRegion enum value
 19061  	VPCRegionEuCentral1 = "eu-central-1"
 19062  
 19063  	// VPCRegionApEast1 is a VPCRegion enum value
 19064  	VPCRegionApEast1 = "ap-east-1"
 19065  
 19066  	// VPCRegionMeSouth1 is a VPCRegion enum value
 19067  	VPCRegionMeSouth1 = "me-south-1"
 19068  
 19069  	// VPCRegionUsGovWest1 is a VPCRegion enum value
 19070  	VPCRegionUsGovWest1 = "us-gov-west-1"
 19071  
 19072  	// VPCRegionUsGovEast1 is a VPCRegion enum value
 19073  	VPCRegionUsGovEast1 = "us-gov-east-1"
 19074  
 19075  	// VPCRegionUsIsoEast1 is a VPCRegion enum value
 19076  	VPCRegionUsIsoEast1 = "us-iso-east-1"
 19077  
 19078  	// VPCRegionUsIsobEast1 is a VPCRegion enum value
 19079  	VPCRegionUsIsobEast1 = "us-isob-east-1"
 19080  
 19081  	// VPCRegionApSoutheast1 is a VPCRegion enum value
 19082  	VPCRegionApSoutheast1 = "ap-southeast-1"
 19083  
 19084  	// VPCRegionApSoutheast2 is a VPCRegion enum value
 19085  	VPCRegionApSoutheast2 = "ap-southeast-2"
 19086  
 19087  	// VPCRegionApSouth1 is a VPCRegion enum value
 19088  	VPCRegionApSouth1 = "ap-south-1"
 19089  
 19090  	// VPCRegionApNortheast1 is a VPCRegion enum value
 19091  	VPCRegionApNortheast1 = "ap-northeast-1"
 19092  
 19093  	// VPCRegionApNortheast2 is a VPCRegion enum value
 19094  	VPCRegionApNortheast2 = "ap-northeast-2"
 19095  
 19096  	// VPCRegionApNortheast3 is a VPCRegion enum value
 19097  	VPCRegionApNortheast3 = "ap-northeast-3"
 19098  
 19099  	// VPCRegionEuNorth1 is a VPCRegion enum value
 19100  	VPCRegionEuNorth1 = "eu-north-1"
 19101  
 19102  	// VPCRegionSaEast1 is a VPCRegion enum value
 19103  	VPCRegionSaEast1 = "sa-east-1"
 19104  
 19105  	// VPCRegionCaCentral1 is a VPCRegion enum value
 19106  	VPCRegionCaCentral1 = "ca-central-1"
 19107  
 19108  	// VPCRegionCnNorth1 is a VPCRegion enum value
 19109  	VPCRegionCnNorth1 = "cn-north-1"
 19110  
 19111  	// VPCRegionAfSouth1 is a VPCRegion enum value
 19112  	VPCRegionAfSouth1 = "af-south-1"
 19113  
 19114  	// VPCRegionEuSouth1 is a VPCRegion enum value
 19115  	VPCRegionEuSouth1 = "eu-south-1"
 19116  )
 19117  
 19118  // VPCRegion_Values returns all elements of the VPCRegion enum
 19119  func VPCRegion_Values() []string {
 19120  	return []string{
 19121  		VPCRegionUsEast1,
 19122  		VPCRegionUsEast2,
 19123  		VPCRegionUsWest1,
 19124  		VPCRegionUsWest2,
 19125  		VPCRegionEuWest1,
 19126  		VPCRegionEuWest2,
 19127  		VPCRegionEuWest3,
 19128  		VPCRegionEuCentral1,
 19129  		VPCRegionApEast1,
 19130  		VPCRegionMeSouth1,
 19131  		VPCRegionUsGovWest1,
 19132  		VPCRegionUsGovEast1,
 19133  		VPCRegionUsIsoEast1,
 19134  		VPCRegionUsIsobEast1,
 19135  		VPCRegionApSoutheast1,
 19136  		VPCRegionApSoutheast2,
 19137  		VPCRegionApSouth1,
 19138  		VPCRegionApNortheast1,
 19139  		VPCRegionApNortheast2,
 19140  		VPCRegionApNortheast3,
 19141  		VPCRegionEuNorth1,
 19142  		VPCRegionSaEast1,
 19143  		VPCRegionCaCentral1,
 19144  		VPCRegionCnNorth1,
 19145  		VPCRegionAfSouth1,
 19146  		VPCRegionEuSouth1,
 19147  	}
 19148  }