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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package elasticsearchservice
     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/restjson"
    14  )
    15  
    16  const opAcceptInboundCrossClusterSearchConnection = "AcceptInboundCrossClusterSearchConnection"
    17  
    18  // AcceptInboundCrossClusterSearchConnectionRequest generates a "aws/request.Request" representing the
    19  // client's request for the AcceptInboundCrossClusterSearchConnection 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 AcceptInboundCrossClusterSearchConnection for more information on using the AcceptInboundCrossClusterSearchConnection
    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 AcceptInboundCrossClusterSearchConnectionRequest method.
    34  //    req, resp := client.AcceptInboundCrossClusterSearchConnectionRequest(params)
    35  //
    36  //    err := req.Send()
    37  //    if err == nil { // resp is now filled
    38  //        fmt.Println(resp)
    39  //    }
    40  func (c *ElasticsearchService) AcceptInboundCrossClusterSearchConnectionRequest(input *AcceptInboundCrossClusterSearchConnectionInput) (req *request.Request, output *AcceptInboundCrossClusterSearchConnectionOutput) {
    41  	op := &request.Operation{
    42  		Name:       opAcceptInboundCrossClusterSearchConnection,
    43  		HTTPMethod: "PUT",
    44  		HTTPPath:   "/2015-01-01/es/ccs/inboundConnection/{ConnectionId}/accept",
    45  	}
    46  
    47  	if input == nil {
    48  		input = &AcceptInboundCrossClusterSearchConnectionInput{}
    49  	}
    50  
    51  	output = &AcceptInboundCrossClusterSearchConnectionOutput{}
    52  	req = c.newRequest(op, input, output)
    53  	return
    54  }
    55  
    56  // AcceptInboundCrossClusterSearchConnection API operation for Amazon Elasticsearch Service.
    57  //
    58  // Allows the destination domain owner to accept an inbound cross-cluster search
    59  // connection request.
    60  //
    61  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    62  // with awserr.Error's Code and Message methods to get detailed information about
    63  // the error.
    64  //
    65  // See the AWS API reference guide for Amazon Elasticsearch Service's
    66  // API operation AcceptInboundCrossClusterSearchConnection for usage and error information.
    67  //
    68  // Returned Error Types:
    69  //   * ResourceNotFoundException
    70  //   An exception for accessing or deleting a resource that does not exist. Gives
    71  //   http status code of 400.
    72  //
    73  //   * LimitExceededException
    74  //   An exception for trying to create more than allowed resources or sub-resources.
    75  //   Gives http status code of 409.
    76  //
    77  //   * DisabledOperationException
    78  //   An error occured because the client wanted to access a not supported operation.
    79  //   Gives http status code of 409.
    80  //
    81  func (c *ElasticsearchService) AcceptInboundCrossClusterSearchConnection(input *AcceptInboundCrossClusterSearchConnectionInput) (*AcceptInboundCrossClusterSearchConnectionOutput, error) {
    82  	req, out := c.AcceptInboundCrossClusterSearchConnectionRequest(input)
    83  	return out, req.Send()
    84  }
    85  
    86  // AcceptInboundCrossClusterSearchConnectionWithContext is the same as AcceptInboundCrossClusterSearchConnection with the addition of
    87  // the ability to pass a context and additional request options.
    88  //
    89  // See AcceptInboundCrossClusterSearchConnection for details on how to use this API operation.
    90  //
    91  // The context must be non-nil and will be used for request cancellation. If
    92  // the context is nil a panic will occur. In the future the SDK may create
    93  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
    94  // for more information on using Contexts.
    95  func (c *ElasticsearchService) AcceptInboundCrossClusterSearchConnectionWithContext(ctx aws.Context, input *AcceptInboundCrossClusterSearchConnectionInput, opts ...request.Option) (*AcceptInboundCrossClusterSearchConnectionOutput, error) {
    96  	req, out := c.AcceptInboundCrossClusterSearchConnectionRequest(input)
    97  	req.SetContext(ctx)
    98  	req.ApplyOptions(opts...)
    99  	return out, req.Send()
   100  }
   101  
   102  const opAddTags = "AddTags"
   103  
   104  // AddTagsRequest generates a "aws/request.Request" representing the
   105  // client's request for the AddTags operation. The "output" return
   106  // value will be populated with the request's response once the request completes
   107  // successfully.
   108  //
   109  // Use "Send" method on the returned Request to send the API call to the service.
   110  // the "output" return value is not valid until after Send returns without error.
   111  //
   112  // See AddTags for more information on using the AddTags
   113  // API call, and error handling.
   114  //
   115  // This method is useful when you want to inject custom logic or configuration
   116  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   117  //
   118  //
   119  //    // Example sending a request using the AddTagsRequest method.
   120  //    req, resp := client.AddTagsRequest(params)
   121  //
   122  //    err := req.Send()
   123  //    if err == nil { // resp is now filled
   124  //        fmt.Println(resp)
   125  //    }
   126  func (c *ElasticsearchService) AddTagsRequest(input *AddTagsInput) (req *request.Request, output *AddTagsOutput) {
   127  	op := &request.Operation{
   128  		Name:       opAddTags,
   129  		HTTPMethod: "POST",
   130  		HTTPPath:   "/2015-01-01/tags",
   131  	}
   132  
   133  	if input == nil {
   134  		input = &AddTagsInput{}
   135  	}
   136  
   137  	output = &AddTagsOutput{}
   138  	req = c.newRequest(op, input, output)
   139  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   140  	return
   141  }
   142  
   143  // AddTags API operation for Amazon Elasticsearch Service.
   144  //
   145  // Attaches tags to an existing Elasticsearch domain. Tags are a set of case-sensitive
   146  // key value pairs. An Elasticsearch domain may have up to 10 tags. See Tagging
   147  // Amazon Elasticsearch Service Domains for more information. (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-managedomains.html#es-managedomains-awsresorcetagging)
   148  //
   149  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   150  // with awserr.Error's Code and Message methods to get detailed information about
   151  // the error.
   152  //
   153  // See the AWS API reference guide for Amazon Elasticsearch Service's
   154  // API operation AddTags for usage and error information.
   155  //
   156  // Returned Error Types:
   157  //   * BaseException
   158  //   An error occurred while processing the request.
   159  //
   160  //   * LimitExceededException
   161  //   An exception for trying to create more than allowed resources or sub-resources.
   162  //   Gives http status code of 409.
   163  //
   164  //   * ValidationException
   165  //   An exception for missing / invalid input fields. Gives http status code of
   166  //   400.
   167  //
   168  //   * InternalException
   169  //   The request processing has failed because of an unknown error, exception
   170  //   or failure (the failure is internal to the service) . Gives http status code
   171  //   of 500.
   172  //
   173  func (c *ElasticsearchService) AddTags(input *AddTagsInput) (*AddTagsOutput, error) {
   174  	req, out := c.AddTagsRequest(input)
   175  	return out, req.Send()
   176  }
   177  
   178  // AddTagsWithContext is the same as AddTags with the addition of
   179  // the ability to pass a context and additional request options.
   180  //
   181  // See AddTags for details on how to use this API operation.
   182  //
   183  // The context must be non-nil and will be used for request cancellation. If
   184  // the context is nil a panic will occur. In the future the SDK may create
   185  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   186  // for more information on using Contexts.
   187  func (c *ElasticsearchService) AddTagsWithContext(ctx aws.Context, input *AddTagsInput, opts ...request.Option) (*AddTagsOutput, error) {
   188  	req, out := c.AddTagsRequest(input)
   189  	req.SetContext(ctx)
   190  	req.ApplyOptions(opts...)
   191  	return out, req.Send()
   192  }
   193  
   194  const opAssociatePackage = "AssociatePackage"
   195  
   196  // AssociatePackageRequest generates a "aws/request.Request" representing the
   197  // client's request for the AssociatePackage operation. The "output" return
   198  // value will be populated with the request's response once the request completes
   199  // successfully.
   200  //
   201  // Use "Send" method on the returned Request to send the API call to the service.
   202  // the "output" return value is not valid until after Send returns without error.
   203  //
   204  // See AssociatePackage for more information on using the AssociatePackage
   205  // API call, and error handling.
   206  //
   207  // This method is useful when you want to inject custom logic or configuration
   208  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   209  //
   210  //
   211  //    // Example sending a request using the AssociatePackageRequest method.
   212  //    req, resp := client.AssociatePackageRequest(params)
   213  //
   214  //    err := req.Send()
   215  //    if err == nil { // resp is now filled
   216  //        fmt.Println(resp)
   217  //    }
   218  func (c *ElasticsearchService) AssociatePackageRequest(input *AssociatePackageInput) (req *request.Request, output *AssociatePackageOutput) {
   219  	op := &request.Operation{
   220  		Name:       opAssociatePackage,
   221  		HTTPMethod: "POST",
   222  		HTTPPath:   "/2015-01-01/packages/associate/{PackageID}/{DomainName}",
   223  	}
   224  
   225  	if input == nil {
   226  		input = &AssociatePackageInput{}
   227  	}
   228  
   229  	output = &AssociatePackageOutput{}
   230  	req = c.newRequest(op, input, output)
   231  	return
   232  }
   233  
   234  // AssociatePackage API operation for Amazon Elasticsearch Service.
   235  //
   236  // Associates a package with an Amazon ES domain.
   237  //
   238  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   239  // with awserr.Error's Code and Message methods to get detailed information about
   240  // the error.
   241  //
   242  // See the AWS API reference guide for Amazon Elasticsearch Service's
   243  // API operation AssociatePackage for usage and error information.
   244  //
   245  // Returned Error Types:
   246  //   * BaseException
   247  //   An error occurred while processing the request.
   248  //
   249  //   * InternalException
   250  //   The request processing has failed because of an unknown error, exception
   251  //   or failure (the failure is internal to the service) . Gives http status code
   252  //   of 500.
   253  //
   254  //   * ResourceNotFoundException
   255  //   An exception for accessing or deleting a resource that does not exist. Gives
   256  //   http status code of 400.
   257  //
   258  //   * AccessDeniedException
   259  //   An error occurred because user does not have permissions to access the resource.
   260  //   Returns HTTP status code 403.
   261  //
   262  //   * ValidationException
   263  //   An exception for missing / invalid input fields. Gives http status code of
   264  //   400.
   265  //
   266  //   * ConflictException
   267  //   An error occurred because the client attempts to remove a resource that is
   268  //   currently in use. Returns HTTP status code 409.
   269  //
   270  func (c *ElasticsearchService) AssociatePackage(input *AssociatePackageInput) (*AssociatePackageOutput, error) {
   271  	req, out := c.AssociatePackageRequest(input)
   272  	return out, req.Send()
   273  }
   274  
   275  // AssociatePackageWithContext is the same as AssociatePackage with the addition of
   276  // the ability to pass a context and additional request options.
   277  //
   278  // See AssociatePackage for details on how to use this API operation.
   279  //
   280  // The context must be non-nil and will be used for request cancellation. If
   281  // the context is nil a panic will occur. In the future the SDK may create
   282  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   283  // for more information on using Contexts.
   284  func (c *ElasticsearchService) AssociatePackageWithContext(ctx aws.Context, input *AssociatePackageInput, opts ...request.Option) (*AssociatePackageOutput, error) {
   285  	req, out := c.AssociatePackageRequest(input)
   286  	req.SetContext(ctx)
   287  	req.ApplyOptions(opts...)
   288  	return out, req.Send()
   289  }
   290  
   291  const opCancelElasticsearchServiceSoftwareUpdate = "CancelElasticsearchServiceSoftwareUpdate"
   292  
   293  // CancelElasticsearchServiceSoftwareUpdateRequest generates a "aws/request.Request" representing the
   294  // client's request for the CancelElasticsearchServiceSoftwareUpdate operation. The "output" return
   295  // value will be populated with the request's response once the request completes
   296  // successfully.
   297  //
   298  // Use "Send" method on the returned Request to send the API call to the service.
   299  // the "output" return value is not valid until after Send returns without error.
   300  //
   301  // See CancelElasticsearchServiceSoftwareUpdate for more information on using the CancelElasticsearchServiceSoftwareUpdate
   302  // API call, and error handling.
   303  //
   304  // This method is useful when you want to inject custom logic or configuration
   305  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   306  //
   307  //
   308  //    // Example sending a request using the CancelElasticsearchServiceSoftwareUpdateRequest method.
   309  //    req, resp := client.CancelElasticsearchServiceSoftwareUpdateRequest(params)
   310  //
   311  //    err := req.Send()
   312  //    if err == nil { // resp is now filled
   313  //        fmt.Println(resp)
   314  //    }
   315  func (c *ElasticsearchService) CancelElasticsearchServiceSoftwareUpdateRequest(input *CancelElasticsearchServiceSoftwareUpdateInput) (req *request.Request, output *CancelElasticsearchServiceSoftwareUpdateOutput) {
   316  	op := &request.Operation{
   317  		Name:       opCancelElasticsearchServiceSoftwareUpdate,
   318  		HTTPMethod: "POST",
   319  		HTTPPath:   "/2015-01-01/es/serviceSoftwareUpdate/cancel",
   320  	}
   321  
   322  	if input == nil {
   323  		input = &CancelElasticsearchServiceSoftwareUpdateInput{}
   324  	}
   325  
   326  	output = &CancelElasticsearchServiceSoftwareUpdateOutput{}
   327  	req = c.newRequest(op, input, output)
   328  	return
   329  }
   330  
   331  // CancelElasticsearchServiceSoftwareUpdate API operation for Amazon Elasticsearch Service.
   332  //
   333  // Cancels a scheduled service software update for an Amazon ES domain. You
   334  // can only perform this operation before the AutomatedUpdateDate and when the
   335  // UpdateStatus is in the PENDING_UPDATE state.
   336  //
   337  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   338  // with awserr.Error's Code and Message methods to get detailed information about
   339  // the error.
   340  //
   341  // See the AWS API reference guide for Amazon Elasticsearch Service's
   342  // API operation CancelElasticsearchServiceSoftwareUpdate for usage and error information.
   343  //
   344  // Returned Error Types:
   345  //   * BaseException
   346  //   An error occurred while processing the request.
   347  //
   348  //   * InternalException
   349  //   The request processing has failed because of an unknown error, exception
   350  //   or failure (the failure is internal to the service) . Gives http status code
   351  //   of 500.
   352  //
   353  //   * ResourceNotFoundException
   354  //   An exception for accessing or deleting a resource that does not exist. Gives
   355  //   http status code of 400.
   356  //
   357  //   * ValidationException
   358  //   An exception for missing / invalid input fields. Gives http status code of
   359  //   400.
   360  //
   361  func (c *ElasticsearchService) CancelElasticsearchServiceSoftwareUpdate(input *CancelElasticsearchServiceSoftwareUpdateInput) (*CancelElasticsearchServiceSoftwareUpdateOutput, error) {
   362  	req, out := c.CancelElasticsearchServiceSoftwareUpdateRequest(input)
   363  	return out, req.Send()
   364  }
   365  
   366  // CancelElasticsearchServiceSoftwareUpdateWithContext is the same as CancelElasticsearchServiceSoftwareUpdate with the addition of
   367  // the ability to pass a context and additional request options.
   368  //
   369  // See CancelElasticsearchServiceSoftwareUpdate for details on how to use this API operation.
   370  //
   371  // The context must be non-nil and will be used for request cancellation. If
   372  // the context is nil a panic will occur. In the future the SDK may create
   373  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   374  // for more information on using Contexts.
   375  func (c *ElasticsearchService) CancelElasticsearchServiceSoftwareUpdateWithContext(ctx aws.Context, input *CancelElasticsearchServiceSoftwareUpdateInput, opts ...request.Option) (*CancelElasticsearchServiceSoftwareUpdateOutput, error) {
   376  	req, out := c.CancelElasticsearchServiceSoftwareUpdateRequest(input)
   377  	req.SetContext(ctx)
   378  	req.ApplyOptions(opts...)
   379  	return out, req.Send()
   380  }
   381  
   382  const opCreateElasticsearchDomain = "CreateElasticsearchDomain"
   383  
   384  // CreateElasticsearchDomainRequest generates a "aws/request.Request" representing the
   385  // client's request for the CreateElasticsearchDomain operation. The "output" return
   386  // value will be populated with the request's response once the request completes
   387  // successfully.
   388  //
   389  // Use "Send" method on the returned Request to send the API call to the service.
   390  // the "output" return value is not valid until after Send returns without error.
   391  //
   392  // See CreateElasticsearchDomain for more information on using the CreateElasticsearchDomain
   393  // API call, and error handling.
   394  //
   395  // This method is useful when you want to inject custom logic or configuration
   396  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   397  //
   398  //
   399  //    // Example sending a request using the CreateElasticsearchDomainRequest method.
   400  //    req, resp := client.CreateElasticsearchDomainRequest(params)
   401  //
   402  //    err := req.Send()
   403  //    if err == nil { // resp is now filled
   404  //        fmt.Println(resp)
   405  //    }
   406  func (c *ElasticsearchService) CreateElasticsearchDomainRequest(input *CreateElasticsearchDomainInput) (req *request.Request, output *CreateElasticsearchDomainOutput) {
   407  	op := &request.Operation{
   408  		Name:       opCreateElasticsearchDomain,
   409  		HTTPMethod: "POST",
   410  		HTTPPath:   "/2015-01-01/es/domain",
   411  	}
   412  
   413  	if input == nil {
   414  		input = &CreateElasticsearchDomainInput{}
   415  	}
   416  
   417  	output = &CreateElasticsearchDomainOutput{}
   418  	req = c.newRequest(op, input, output)
   419  	return
   420  }
   421  
   422  // CreateElasticsearchDomain API operation for Amazon Elasticsearch Service.
   423  //
   424  // Creates a new Elasticsearch domain. For more information, see Creating Elasticsearch
   425  // Domains (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomains)
   426  // in the Amazon Elasticsearch Service Developer Guide.
   427  //
   428  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   429  // with awserr.Error's Code and Message methods to get detailed information about
   430  // the error.
   431  //
   432  // See the AWS API reference guide for Amazon Elasticsearch Service's
   433  // API operation CreateElasticsearchDomain for usage and error information.
   434  //
   435  // Returned Error Types:
   436  //   * BaseException
   437  //   An error occurred while processing the request.
   438  //
   439  //   * DisabledOperationException
   440  //   An error occured because the client wanted to access a not supported operation.
   441  //   Gives http status code of 409.
   442  //
   443  //   * InternalException
   444  //   The request processing has failed because of an unknown error, exception
   445  //   or failure (the failure is internal to the service) . Gives http status code
   446  //   of 500.
   447  //
   448  //   * InvalidTypeException
   449  //   An exception for trying to create or access sub-resource that is either invalid
   450  //   or not supported. Gives http status code of 409.
   451  //
   452  //   * LimitExceededException
   453  //   An exception for trying to create more than allowed resources or sub-resources.
   454  //   Gives http status code of 409.
   455  //
   456  //   * ResourceAlreadyExistsException
   457  //   An exception for creating a resource that already exists. Gives http status
   458  //   code of 400.
   459  //
   460  //   * ValidationException
   461  //   An exception for missing / invalid input fields. Gives http status code of
   462  //   400.
   463  //
   464  func (c *ElasticsearchService) CreateElasticsearchDomain(input *CreateElasticsearchDomainInput) (*CreateElasticsearchDomainOutput, error) {
   465  	req, out := c.CreateElasticsearchDomainRequest(input)
   466  	return out, req.Send()
   467  }
   468  
   469  // CreateElasticsearchDomainWithContext is the same as CreateElasticsearchDomain with the addition of
   470  // the ability to pass a context and additional request options.
   471  //
   472  // See CreateElasticsearchDomain for details on how to use this API operation.
   473  //
   474  // The context must be non-nil and will be used for request cancellation. If
   475  // the context is nil a panic will occur. In the future the SDK may create
   476  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   477  // for more information on using Contexts.
   478  func (c *ElasticsearchService) CreateElasticsearchDomainWithContext(ctx aws.Context, input *CreateElasticsearchDomainInput, opts ...request.Option) (*CreateElasticsearchDomainOutput, error) {
   479  	req, out := c.CreateElasticsearchDomainRequest(input)
   480  	req.SetContext(ctx)
   481  	req.ApplyOptions(opts...)
   482  	return out, req.Send()
   483  }
   484  
   485  const opCreateOutboundCrossClusterSearchConnection = "CreateOutboundCrossClusterSearchConnection"
   486  
   487  // CreateOutboundCrossClusterSearchConnectionRequest generates a "aws/request.Request" representing the
   488  // client's request for the CreateOutboundCrossClusterSearchConnection operation. The "output" return
   489  // value will be populated with the request's response once the request completes
   490  // successfully.
   491  //
   492  // Use "Send" method on the returned Request to send the API call to the service.
   493  // the "output" return value is not valid until after Send returns without error.
   494  //
   495  // See CreateOutboundCrossClusterSearchConnection for more information on using the CreateOutboundCrossClusterSearchConnection
   496  // API call, and error handling.
   497  //
   498  // This method is useful when you want to inject custom logic or configuration
   499  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   500  //
   501  //
   502  //    // Example sending a request using the CreateOutboundCrossClusterSearchConnectionRequest method.
   503  //    req, resp := client.CreateOutboundCrossClusterSearchConnectionRequest(params)
   504  //
   505  //    err := req.Send()
   506  //    if err == nil { // resp is now filled
   507  //        fmt.Println(resp)
   508  //    }
   509  func (c *ElasticsearchService) CreateOutboundCrossClusterSearchConnectionRequest(input *CreateOutboundCrossClusterSearchConnectionInput) (req *request.Request, output *CreateOutboundCrossClusterSearchConnectionOutput) {
   510  	op := &request.Operation{
   511  		Name:       opCreateOutboundCrossClusterSearchConnection,
   512  		HTTPMethod: "POST",
   513  		HTTPPath:   "/2015-01-01/es/ccs/outboundConnection",
   514  	}
   515  
   516  	if input == nil {
   517  		input = &CreateOutboundCrossClusterSearchConnectionInput{}
   518  	}
   519  
   520  	output = &CreateOutboundCrossClusterSearchConnectionOutput{}
   521  	req = c.newRequest(op, input, output)
   522  	return
   523  }
   524  
   525  // CreateOutboundCrossClusterSearchConnection API operation for Amazon Elasticsearch Service.
   526  //
   527  // Creates a new cross-cluster search connection from a source domain to a destination
   528  // domain.
   529  //
   530  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   531  // with awserr.Error's Code and Message methods to get detailed information about
   532  // the error.
   533  //
   534  // See the AWS API reference guide for Amazon Elasticsearch Service's
   535  // API operation CreateOutboundCrossClusterSearchConnection for usage and error information.
   536  //
   537  // Returned Error Types:
   538  //   * LimitExceededException
   539  //   An exception for trying to create more than allowed resources or sub-resources.
   540  //   Gives http status code of 409.
   541  //
   542  //   * InternalException
   543  //   The request processing has failed because of an unknown error, exception
   544  //   or failure (the failure is internal to the service) . Gives http status code
   545  //   of 500.
   546  //
   547  //   * ResourceAlreadyExistsException
   548  //   An exception for creating a resource that already exists. Gives http status
   549  //   code of 400.
   550  //
   551  //   * DisabledOperationException
   552  //   An error occured because the client wanted to access a not supported operation.
   553  //   Gives http status code of 409.
   554  //
   555  func (c *ElasticsearchService) CreateOutboundCrossClusterSearchConnection(input *CreateOutboundCrossClusterSearchConnectionInput) (*CreateOutboundCrossClusterSearchConnectionOutput, error) {
   556  	req, out := c.CreateOutboundCrossClusterSearchConnectionRequest(input)
   557  	return out, req.Send()
   558  }
   559  
   560  // CreateOutboundCrossClusterSearchConnectionWithContext is the same as CreateOutboundCrossClusterSearchConnection with the addition of
   561  // the ability to pass a context and additional request options.
   562  //
   563  // See CreateOutboundCrossClusterSearchConnection for details on how to use this API operation.
   564  //
   565  // The context must be non-nil and will be used for request cancellation. If
   566  // the context is nil a panic will occur. In the future the SDK may create
   567  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   568  // for more information on using Contexts.
   569  func (c *ElasticsearchService) CreateOutboundCrossClusterSearchConnectionWithContext(ctx aws.Context, input *CreateOutboundCrossClusterSearchConnectionInput, opts ...request.Option) (*CreateOutboundCrossClusterSearchConnectionOutput, error) {
   570  	req, out := c.CreateOutboundCrossClusterSearchConnectionRequest(input)
   571  	req.SetContext(ctx)
   572  	req.ApplyOptions(opts...)
   573  	return out, req.Send()
   574  }
   575  
   576  const opCreatePackage = "CreatePackage"
   577  
   578  // CreatePackageRequest generates a "aws/request.Request" representing the
   579  // client's request for the CreatePackage operation. The "output" return
   580  // value will be populated with the request's response once the request completes
   581  // successfully.
   582  //
   583  // Use "Send" method on the returned Request to send the API call to the service.
   584  // the "output" return value is not valid until after Send returns without error.
   585  //
   586  // See CreatePackage for more information on using the CreatePackage
   587  // API call, and error handling.
   588  //
   589  // This method is useful when you want to inject custom logic or configuration
   590  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   591  //
   592  //
   593  //    // Example sending a request using the CreatePackageRequest method.
   594  //    req, resp := client.CreatePackageRequest(params)
   595  //
   596  //    err := req.Send()
   597  //    if err == nil { // resp is now filled
   598  //        fmt.Println(resp)
   599  //    }
   600  func (c *ElasticsearchService) CreatePackageRequest(input *CreatePackageInput) (req *request.Request, output *CreatePackageOutput) {
   601  	op := &request.Operation{
   602  		Name:       opCreatePackage,
   603  		HTTPMethod: "POST",
   604  		HTTPPath:   "/2015-01-01/packages",
   605  	}
   606  
   607  	if input == nil {
   608  		input = &CreatePackageInput{}
   609  	}
   610  
   611  	output = &CreatePackageOutput{}
   612  	req = c.newRequest(op, input, output)
   613  	return
   614  }
   615  
   616  // CreatePackage API operation for Amazon Elasticsearch Service.
   617  //
   618  // Create a package for use with Amazon ES domains.
   619  //
   620  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   621  // with awserr.Error's Code and Message methods to get detailed information about
   622  // the error.
   623  //
   624  // See the AWS API reference guide for Amazon Elasticsearch Service's
   625  // API operation CreatePackage for usage and error information.
   626  //
   627  // Returned Error Types:
   628  //   * BaseException
   629  //   An error occurred while processing the request.
   630  //
   631  //   * InternalException
   632  //   The request processing has failed because of an unknown error, exception
   633  //   or failure (the failure is internal to the service) . Gives http status code
   634  //   of 500.
   635  //
   636  //   * LimitExceededException
   637  //   An exception for trying to create more than allowed resources or sub-resources.
   638  //   Gives http status code of 409.
   639  //
   640  //   * InvalidTypeException
   641  //   An exception for trying to create or access sub-resource that is either invalid
   642  //   or not supported. Gives http status code of 409.
   643  //
   644  //   * ResourceAlreadyExistsException
   645  //   An exception for creating a resource that already exists. Gives http status
   646  //   code of 400.
   647  //
   648  //   * AccessDeniedException
   649  //   An error occurred because user does not have permissions to access the resource.
   650  //   Returns HTTP status code 403.
   651  //
   652  //   * ValidationException
   653  //   An exception for missing / invalid input fields. Gives http status code of
   654  //   400.
   655  //
   656  func (c *ElasticsearchService) CreatePackage(input *CreatePackageInput) (*CreatePackageOutput, error) {
   657  	req, out := c.CreatePackageRequest(input)
   658  	return out, req.Send()
   659  }
   660  
   661  // CreatePackageWithContext is the same as CreatePackage with the addition of
   662  // the ability to pass a context and additional request options.
   663  //
   664  // See CreatePackage for details on how to use this API operation.
   665  //
   666  // The context must be non-nil and will be used for request cancellation. If
   667  // the context is nil a panic will occur. In the future the SDK may create
   668  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   669  // for more information on using Contexts.
   670  func (c *ElasticsearchService) CreatePackageWithContext(ctx aws.Context, input *CreatePackageInput, opts ...request.Option) (*CreatePackageOutput, error) {
   671  	req, out := c.CreatePackageRequest(input)
   672  	req.SetContext(ctx)
   673  	req.ApplyOptions(opts...)
   674  	return out, req.Send()
   675  }
   676  
   677  const opDeleteElasticsearchDomain = "DeleteElasticsearchDomain"
   678  
   679  // DeleteElasticsearchDomainRequest generates a "aws/request.Request" representing the
   680  // client's request for the DeleteElasticsearchDomain operation. The "output" return
   681  // value will be populated with the request's response once the request completes
   682  // successfully.
   683  //
   684  // Use "Send" method on the returned Request to send the API call to the service.
   685  // the "output" return value is not valid until after Send returns without error.
   686  //
   687  // See DeleteElasticsearchDomain for more information on using the DeleteElasticsearchDomain
   688  // API call, and error handling.
   689  //
   690  // This method is useful when you want to inject custom logic or configuration
   691  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   692  //
   693  //
   694  //    // Example sending a request using the DeleteElasticsearchDomainRequest method.
   695  //    req, resp := client.DeleteElasticsearchDomainRequest(params)
   696  //
   697  //    err := req.Send()
   698  //    if err == nil { // resp is now filled
   699  //        fmt.Println(resp)
   700  //    }
   701  func (c *ElasticsearchService) DeleteElasticsearchDomainRequest(input *DeleteElasticsearchDomainInput) (req *request.Request, output *DeleteElasticsearchDomainOutput) {
   702  	op := &request.Operation{
   703  		Name:       opDeleteElasticsearchDomain,
   704  		HTTPMethod: "DELETE",
   705  		HTTPPath:   "/2015-01-01/es/domain/{DomainName}",
   706  	}
   707  
   708  	if input == nil {
   709  		input = &DeleteElasticsearchDomainInput{}
   710  	}
   711  
   712  	output = &DeleteElasticsearchDomainOutput{}
   713  	req = c.newRequest(op, input, output)
   714  	return
   715  }
   716  
   717  // DeleteElasticsearchDomain API operation for Amazon Elasticsearch Service.
   718  //
   719  // Permanently deletes the specified Elasticsearch domain and all of its data.
   720  // Once a domain is deleted, it cannot be recovered.
   721  //
   722  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   723  // with awserr.Error's Code and Message methods to get detailed information about
   724  // the error.
   725  //
   726  // See the AWS API reference guide for Amazon Elasticsearch Service's
   727  // API operation DeleteElasticsearchDomain for usage and error information.
   728  //
   729  // Returned Error Types:
   730  //   * BaseException
   731  //   An error occurred while processing the request.
   732  //
   733  //   * InternalException
   734  //   The request processing has failed because of an unknown error, exception
   735  //   or failure (the failure is internal to the service) . Gives http status code
   736  //   of 500.
   737  //
   738  //   * ResourceNotFoundException
   739  //   An exception for accessing or deleting a resource that does not exist. Gives
   740  //   http status code of 400.
   741  //
   742  //   * ValidationException
   743  //   An exception for missing / invalid input fields. Gives http status code of
   744  //   400.
   745  //
   746  func (c *ElasticsearchService) DeleteElasticsearchDomain(input *DeleteElasticsearchDomainInput) (*DeleteElasticsearchDomainOutput, error) {
   747  	req, out := c.DeleteElasticsearchDomainRequest(input)
   748  	return out, req.Send()
   749  }
   750  
   751  // DeleteElasticsearchDomainWithContext is the same as DeleteElasticsearchDomain with the addition of
   752  // the ability to pass a context and additional request options.
   753  //
   754  // See DeleteElasticsearchDomain for details on how to use this API operation.
   755  //
   756  // The context must be non-nil and will be used for request cancellation. If
   757  // the context is nil a panic will occur. In the future the SDK may create
   758  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   759  // for more information on using Contexts.
   760  func (c *ElasticsearchService) DeleteElasticsearchDomainWithContext(ctx aws.Context, input *DeleteElasticsearchDomainInput, opts ...request.Option) (*DeleteElasticsearchDomainOutput, error) {
   761  	req, out := c.DeleteElasticsearchDomainRequest(input)
   762  	req.SetContext(ctx)
   763  	req.ApplyOptions(opts...)
   764  	return out, req.Send()
   765  }
   766  
   767  const opDeleteElasticsearchServiceRole = "DeleteElasticsearchServiceRole"
   768  
   769  // DeleteElasticsearchServiceRoleRequest generates a "aws/request.Request" representing the
   770  // client's request for the DeleteElasticsearchServiceRole operation. The "output" return
   771  // value will be populated with the request's response once the request completes
   772  // successfully.
   773  //
   774  // Use "Send" method on the returned Request to send the API call to the service.
   775  // the "output" return value is not valid until after Send returns without error.
   776  //
   777  // See DeleteElasticsearchServiceRole for more information on using the DeleteElasticsearchServiceRole
   778  // API call, and error handling.
   779  //
   780  // This method is useful when you want to inject custom logic or configuration
   781  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   782  //
   783  //
   784  //    // Example sending a request using the DeleteElasticsearchServiceRoleRequest method.
   785  //    req, resp := client.DeleteElasticsearchServiceRoleRequest(params)
   786  //
   787  //    err := req.Send()
   788  //    if err == nil { // resp is now filled
   789  //        fmt.Println(resp)
   790  //    }
   791  func (c *ElasticsearchService) DeleteElasticsearchServiceRoleRequest(input *DeleteElasticsearchServiceRoleInput) (req *request.Request, output *DeleteElasticsearchServiceRoleOutput) {
   792  	op := &request.Operation{
   793  		Name:       opDeleteElasticsearchServiceRole,
   794  		HTTPMethod: "DELETE",
   795  		HTTPPath:   "/2015-01-01/es/role",
   796  	}
   797  
   798  	if input == nil {
   799  		input = &DeleteElasticsearchServiceRoleInput{}
   800  	}
   801  
   802  	output = &DeleteElasticsearchServiceRoleOutput{}
   803  	req = c.newRequest(op, input, output)
   804  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   805  	return
   806  }
   807  
   808  // DeleteElasticsearchServiceRole API operation for Amazon Elasticsearch Service.
   809  //
   810  // Deletes the service-linked role that Elasticsearch Service uses to manage
   811  // and maintain VPC domains. Role deletion will fail if any existing VPC domains
   812  // use the role. You must delete any such Elasticsearch domains before deleting
   813  // the role. See Deleting Elasticsearch Service Role (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-vpc.html#es-enabling-slr)
   814  // in VPC Endpoints for Amazon Elasticsearch Service Domains.
   815  //
   816  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   817  // with awserr.Error's Code and Message methods to get detailed information about
   818  // the error.
   819  //
   820  // See the AWS API reference guide for Amazon Elasticsearch Service's
   821  // API operation DeleteElasticsearchServiceRole for usage and error information.
   822  //
   823  // Returned Error Types:
   824  //   * BaseException
   825  //   An error occurred while processing the request.
   826  //
   827  //   * InternalException
   828  //   The request processing has failed because of an unknown error, exception
   829  //   or failure (the failure is internal to the service) . Gives http status code
   830  //   of 500.
   831  //
   832  //   * ValidationException
   833  //   An exception for missing / invalid input fields. Gives http status code of
   834  //   400.
   835  //
   836  func (c *ElasticsearchService) DeleteElasticsearchServiceRole(input *DeleteElasticsearchServiceRoleInput) (*DeleteElasticsearchServiceRoleOutput, error) {
   837  	req, out := c.DeleteElasticsearchServiceRoleRequest(input)
   838  	return out, req.Send()
   839  }
   840  
   841  // DeleteElasticsearchServiceRoleWithContext is the same as DeleteElasticsearchServiceRole with the addition of
   842  // the ability to pass a context and additional request options.
   843  //
   844  // See DeleteElasticsearchServiceRole for details on how to use this API operation.
   845  //
   846  // The context must be non-nil and will be used for request cancellation. If
   847  // the context is nil a panic will occur. In the future the SDK may create
   848  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   849  // for more information on using Contexts.
   850  func (c *ElasticsearchService) DeleteElasticsearchServiceRoleWithContext(ctx aws.Context, input *DeleteElasticsearchServiceRoleInput, opts ...request.Option) (*DeleteElasticsearchServiceRoleOutput, error) {
   851  	req, out := c.DeleteElasticsearchServiceRoleRequest(input)
   852  	req.SetContext(ctx)
   853  	req.ApplyOptions(opts...)
   854  	return out, req.Send()
   855  }
   856  
   857  const opDeleteInboundCrossClusterSearchConnection = "DeleteInboundCrossClusterSearchConnection"
   858  
   859  // DeleteInboundCrossClusterSearchConnectionRequest generates a "aws/request.Request" representing the
   860  // client's request for the DeleteInboundCrossClusterSearchConnection operation. The "output" return
   861  // value will be populated with the request's response once the request completes
   862  // successfully.
   863  //
   864  // Use "Send" method on the returned Request to send the API call to the service.
   865  // the "output" return value is not valid until after Send returns without error.
   866  //
   867  // See DeleteInboundCrossClusterSearchConnection for more information on using the DeleteInboundCrossClusterSearchConnection
   868  // API call, and error handling.
   869  //
   870  // This method is useful when you want to inject custom logic or configuration
   871  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   872  //
   873  //
   874  //    // Example sending a request using the DeleteInboundCrossClusterSearchConnectionRequest method.
   875  //    req, resp := client.DeleteInboundCrossClusterSearchConnectionRequest(params)
   876  //
   877  //    err := req.Send()
   878  //    if err == nil { // resp is now filled
   879  //        fmt.Println(resp)
   880  //    }
   881  func (c *ElasticsearchService) DeleteInboundCrossClusterSearchConnectionRequest(input *DeleteInboundCrossClusterSearchConnectionInput) (req *request.Request, output *DeleteInboundCrossClusterSearchConnectionOutput) {
   882  	op := &request.Operation{
   883  		Name:       opDeleteInboundCrossClusterSearchConnection,
   884  		HTTPMethod: "DELETE",
   885  		HTTPPath:   "/2015-01-01/es/ccs/inboundConnection/{ConnectionId}",
   886  	}
   887  
   888  	if input == nil {
   889  		input = &DeleteInboundCrossClusterSearchConnectionInput{}
   890  	}
   891  
   892  	output = &DeleteInboundCrossClusterSearchConnectionOutput{}
   893  	req = c.newRequest(op, input, output)
   894  	return
   895  }
   896  
   897  // DeleteInboundCrossClusterSearchConnection API operation for Amazon Elasticsearch Service.
   898  //
   899  // Allows the destination domain owner to delete an existing inbound cross-cluster
   900  // search connection.
   901  //
   902  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   903  // with awserr.Error's Code and Message methods to get detailed information about
   904  // the error.
   905  //
   906  // See the AWS API reference guide for Amazon Elasticsearch Service's
   907  // API operation DeleteInboundCrossClusterSearchConnection for usage and error information.
   908  //
   909  // Returned Error Types:
   910  //   * ResourceNotFoundException
   911  //   An exception for accessing or deleting a resource that does not exist. Gives
   912  //   http status code of 400.
   913  //
   914  //   * DisabledOperationException
   915  //   An error occured because the client wanted to access a not supported operation.
   916  //   Gives http status code of 409.
   917  //
   918  func (c *ElasticsearchService) DeleteInboundCrossClusterSearchConnection(input *DeleteInboundCrossClusterSearchConnectionInput) (*DeleteInboundCrossClusterSearchConnectionOutput, error) {
   919  	req, out := c.DeleteInboundCrossClusterSearchConnectionRequest(input)
   920  	return out, req.Send()
   921  }
   922  
   923  // DeleteInboundCrossClusterSearchConnectionWithContext is the same as DeleteInboundCrossClusterSearchConnection with the addition of
   924  // the ability to pass a context and additional request options.
   925  //
   926  // See DeleteInboundCrossClusterSearchConnection for details on how to use this API operation.
   927  //
   928  // The context must be non-nil and will be used for request cancellation. If
   929  // the context is nil a panic will occur. In the future the SDK may create
   930  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   931  // for more information on using Contexts.
   932  func (c *ElasticsearchService) DeleteInboundCrossClusterSearchConnectionWithContext(ctx aws.Context, input *DeleteInboundCrossClusterSearchConnectionInput, opts ...request.Option) (*DeleteInboundCrossClusterSearchConnectionOutput, error) {
   933  	req, out := c.DeleteInboundCrossClusterSearchConnectionRequest(input)
   934  	req.SetContext(ctx)
   935  	req.ApplyOptions(opts...)
   936  	return out, req.Send()
   937  }
   938  
   939  const opDeleteOutboundCrossClusterSearchConnection = "DeleteOutboundCrossClusterSearchConnection"
   940  
   941  // DeleteOutboundCrossClusterSearchConnectionRequest generates a "aws/request.Request" representing the
   942  // client's request for the DeleteOutboundCrossClusterSearchConnection operation. The "output" return
   943  // value will be populated with the request's response once the request completes
   944  // successfully.
   945  //
   946  // Use "Send" method on the returned Request to send the API call to the service.
   947  // the "output" return value is not valid until after Send returns without error.
   948  //
   949  // See DeleteOutboundCrossClusterSearchConnection for more information on using the DeleteOutboundCrossClusterSearchConnection
   950  // API call, and error handling.
   951  //
   952  // This method is useful when you want to inject custom logic or configuration
   953  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   954  //
   955  //
   956  //    // Example sending a request using the DeleteOutboundCrossClusterSearchConnectionRequest method.
   957  //    req, resp := client.DeleteOutboundCrossClusterSearchConnectionRequest(params)
   958  //
   959  //    err := req.Send()
   960  //    if err == nil { // resp is now filled
   961  //        fmt.Println(resp)
   962  //    }
   963  func (c *ElasticsearchService) DeleteOutboundCrossClusterSearchConnectionRequest(input *DeleteOutboundCrossClusterSearchConnectionInput) (req *request.Request, output *DeleteOutboundCrossClusterSearchConnectionOutput) {
   964  	op := &request.Operation{
   965  		Name:       opDeleteOutboundCrossClusterSearchConnection,
   966  		HTTPMethod: "DELETE",
   967  		HTTPPath:   "/2015-01-01/es/ccs/outboundConnection/{ConnectionId}",
   968  	}
   969  
   970  	if input == nil {
   971  		input = &DeleteOutboundCrossClusterSearchConnectionInput{}
   972  	}
   973  
   974  	output = &DeleteOutboundCrossClusterSearchConnectionOutput{}
   975  	req = c.newRequest(op, input, output)
   976  	return
   977  }
   978  
   979  // DeleteOutboundCrossClusterSearchConnection API operation for Amazon Elasticsearch Service.
   980  //
   981  // Allows the source domain owner to delete an existing outbound cross-cluster
   982  // search connection.
   983  //
   984  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   985  // with awserr.Error's Code and Message methods to get detailed information about
   986  // the error.
   987  //
   988  // See the AWS API reference guide for Amazon Elasticsearch Service's
   989  // API operation DeleteOutboundCrossClusterSearchConnection for usage and error information.
   990  //
   991  // Returned Error Types:
   992  //   * ResourceNotFoundException
   993  //   An exception for accessing or deleting a resource that does not exist. Gives
   994  //   http status code of 400.
   995  //
   996  //   * DisabledOperationException
   997  //   An error occured because the client wanted to access a not supported operation.
   998  //   Gives http status code of 409.
   999  //
  1000  func (c *ElasticsearchService) DeleteOutboundCrossClusterSearchConnection(input *DeleteOutboundCrossClusterSearchConnectionInput) (*DeleteOutboundCrossClusterSearchConnectionOutput, error) {
  1001  	req, out := c.DeleteOutboundCrossClusterSearchConnectionRequest(input)
  1002  	return out, req.Send()
  1003  }
  1004  
  1005  // DeleteOutboundCrossClusterSearchConnectionWithContext is the same as DeleteOutboundCrossClusterSearchConnection with the addition of
  1006  // the ability to pass a context and additional request options.
  1007  //
  1008  // See DeleteOutboundCrossClusterSearchConnection for details on how to use this API operation.
  1009  //
  1010  // The context must be non-nil and will be used for request cancellation. If
  1011  // the context is nil a panic will occur. In the future the SDK may create
  1012  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1013  // for more information on using Contexts.
  1014  func (c *ElasticsearchService) DeleteOutboundCrossClusterSearchConnectionWithContext(ctx aws.Context, input *DeleteOutboundCrossClusterSearchConnectionInput, opts ...request.Option) (*DeleteOutboundCrossClusterSearchConnectionOutput, error) {
  1015  	req, out := c.DeleteOutboundCrossClusterSearchConnectionRequest(input)
  1016  	req.SetContext(ctx)
  1017  	req.ApplyOptions(opts...)
  1018  	return out, req.Send()
  1019  }
  1020  
  1021  const opDeletePackage = "DeletePackage"
  1022  
  1023  // DeletePackageRequest generates a "aws/request.Request" representing the
  1024  // client's request for the DeletePackage operation. The "output" return
  1025  // value will be populated with the request's response once the request completes
  1026  // successfully.
  1027  //
  1028  // Use "Send" method on the returned Request to send the API call to the service.
  1029  // the "output" return value is not valid until after Send returns without error.
  1030  //
  1031  // See DeletePackage for more information on using the DeletePackage
  1032  // API call, and error handling.
  1033  //
  1034  // This method is useful when you want to inject custom logic or configuration
  1035  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1036  //
  1037  //
  1038  //    // Example sending a request using the DeletePackageRequest method.
  1039  //    req, resp := client.DeletePackageRequest(params)
  1040  //
  1041  //    err := req.Send()
  1042  //    if err == nil { // resp is now filled
  1043  //        fmt.Println(resp)
  1044  //    }
  1045  func (c *ElasticsearchService) DeletePackageRequest(input *DeletePackageInput) (req *request.Request, output *DeletePackageOutput) {
  1046  	op := &request.Operation{
  1047  		Name:       opDeletePackage,
  1048  		HTTPMethod: "DELETE",
  1049  		HTTPPath:   "/2015-01-01/packages/{PackageID}",
  1050  	}
  1051  
  1052  	if input == nil {
  1053  		input = &DeletePackageInput{}
  1054  	}
  1055  
  1056  	output = &DeletePackageOutput{}
  1057  	req = c.newRequest(op, input, output)
  1058  	return
  1059  }
  1060  
  1061  // DeletePackage API operation for Amazon Elasticsearch Service.
  1062  //
  1063  // Delete the package.
  1064  //
  1065  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1066  // with awserr.Error's Code and Message methods to get detailed information about
  1067  // the error.
  1068  //
  1069  // See the AWS API reference guide for Amazon Elasticsearch Service's
  1070  // API operation DeletePackage for usage and error information.
  1071  //
  1072  // Returned Error Types:
  1073  //   * BaseException
  1074  //   An error occurred while processing the request.
  1075  //
  1076  //   * InternalException
  1077  //   The request processing has failed because of an unknown error, exception
  1078  //   or failure (the failure is internal to the service) . Gives http status code
  1079  //   of 500.
  1080  //
  1081  //   * ResourceNotFoundException
  1082  //   An exception for accessing or deleting a resource that does not exist. Gives
  1083  //   http status code of 400.
  1084  //
  1085  //   * AccessDeniedException
  1086  //   An error occurred because user does not have permissions to access the resource.
  1087  //   Returns HTTP status code 403.
  1088  //
  1089  //   * ValidationException
  1090  //   An exception for missing / invalid input fields. Gives http status code of
  1091  //   400.
  1092  //
  1093  //   * ConflictException
  1094  //   An error occurred because the client attempts to remove a resource that is
  1095  //   currently in use. Returns HTTP status code 409.
  1096  //
  1097  func (c *ElasticsearchService) DeletePackage(input *DeletePackageInput) (*DeletePackageOutput, error) {
  1098  	req, out := c.DeletePackageRequest(input)
  1099  	return out, req.Send()
  1100  }
  1101  
  1102  // DeletePackageWithContext is the same as DeletePackage with the addition of
  1103  // the ability to pass a context and additional request options.
  1104  //
  1105  // See DeletePackage for details on how to use this API operation.
  1106  //
  1107  // The context must be non-nil and will be used for request cancellation. If
  1108  // the context is nil a panic will occur. In the future the SDK may create
  1109  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1110  // for more information on using Contexts.
  1111  func (c *ElasticsearchService) DeletePackageWithContext(ctx aws.Context, input *DeletePackageInput, opts ...request.Option) (*DeletePackageOutput, error) {
  1112  	req, out := c.DeletePackageRequest(input)
  1113  	req.SetContext(ctx)
  1114  	req.ApplyOptions(opts...)
  1115  	return out, req.Send()
  1116  }
  1117  
  1118  const opDescribeDomainAutoTunes = "DescribeDomainAutoTunes"
  1119  
  1120  // DescribeDomainAutoTunesRequest generates a "aws/request.Request" representing the
  1121  // client's request for the DescribeDomainAutoTunes operation. The "output" return
  1122  // value will be populated with the request's response once the request completes
  1123  // successfully.
  1124  //
  1125  // Use "Send" method on the returned Request to send the API call to the service.
  1126  // the "output" return value is not valid until after Send returns without error.
  1127  //
  1128  // See DescribeDomainAutoTunes for more information on using the DescribeDomainAutoTunes
  1129  // API call, and error handling.
  1130  //
  1131  // This method is useful when you want to inject custom logic or configuration
  1132  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1133  //
  1134  //
  1135  //    // Example sending a request using the DescribeDomainAutoTunesRequest method.
  1136  //    req, resp := client.DescribeDomainAutoTunesRequest(params)
  1137  //
  1138  //    err := req.Send()
  1139  //    if err == nil { // resp is now filled
  1140  //        fmt.Println(resp)
  1141  //    }
  1142  func (c *ElasticsearchService) DescribeDomainAutoTunesRequest(input *DescribeDomainAutoTunesInput) (req *request.Request, output *DescribeDomainAutoTunesOutput) {
  1143  	op := &request.Operation{
  1144  		Name:       opDescribeDomainAutoTunes,
  1145  		HTTPMethod: "GET",
  1146  		HTTPPath:   "/2015-01-01/es/domain/{DomainName}/autoTunes",
  1147  		Paginator: &request.Paginator{
  1148  			InputTokens:     []string{"NextToken"},
  1149  			OutputTokens:    []string{"NextToken"},
  1150  			LimitToken:      "MaxResults",
  1151  			TruncationToken: "",
  1152  		},
  1153  	}
  1154  
  1155  	if input == nil {
  1156  		input = &DescribeDomainAutoTunesInput{}
  1157  	}
  1158  
  1159  	output = &DescribeDomainAutoTunesOutput{}
  1160  	req = c.newRequest(op, input, output)
  1161  	return
  1162  }
  1163  
  1164  // DescribeDomainAutoTunes API operation for Amazon Elasticsearch Service.
  1165  //
  1166  // Provides scheduled Auto-Tune action details for the Elasticsearch domain,
  1167  // such as Auto-Tune action type, description, severity, and scheduled date.
  1168  //
  1169  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1170  // with awserr.Error's Code and Message methods to get detailed information about
  1171  // the error.
  1172  //
  1173  // See the AWS API reference guide for Amazon Elasticsearch Service's
  1174  // API operation DescribeDomainAutoTunes for usage and error information.
  1175  //
  1176  // Returned Error Types:
  1177  //   * BaseException
  1178  //   An error occurred while processing the request.
  1179  //
  1180  //   * InternalException
  1181  //   The request processing has failed because of an unknown error, exception
  1182  //   or failure (the failure is internal to the service) . Gives http status code
  1183  //   of 500.
  1184  //
  1185  //   * ResourceNotFoundException
  1186  //   An exception for accessing or deleting a resource that does not exist. Gives
  1187  //   http status code of 400.
  1188  //
  1189  //   * ValidationException
  1190  //   An exception for missing / invalid input fields. Gives http status code of
  1191  //   400.
  1192  //
  1193  func (c *ElasticsearchService) DescribeDomainAutoTunes(input *DescribeDomainAutoTunesInput) (*DescribeDomainAutoTunesOutput, error) {
  1194  	req, out := c.DescribeDomainAutoTunesRequest(input)
  1195  	return out, req.Send()
  1196  }
  1197  
  1198  // DescribeDomainAutoTunesWithContext is the same as DescribeDomainAutoTunes with the addition of
  1199  // the ability to pass a context and additional request options.
  1200  //
  1201  // See DescribeDomainAutoTunes for details on how to use this API operation.
  1202  //
  1203  // The context must be non-nil and will be used for request cancellation. If
  1204  // the context is nil a panic will occur. In the future the SDK may create
  1205  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1206  // for more information on using Contexts.
  1207  func (c *ElasticsearchService) DescribeDomainAutoTunesWithContext(ctx aws.Context, input *DescribeDomainAutoTunesInput, opts ...request.Option) (*DescribeDomainAutoTunesOutput, error) {
  1208  	req, out := c.DescribeDomainAutoTunesRequest(input)
  1209  	req.SetContext(ctx)
  1210  	req.ApplyOptions(opts...)
  1211  	return out, req.Send()
  1212  }
  1213  
  1214  // DescribeDomainAutoTunesPages iterates over the pages of a DescribeDomainAutoTunes operation,
  1215  // calling the "fn" function with the response data for each page. To stop
  1216  // iterating, return false from the fn function.
  1217  //
  1218  // See DescribeDomainAutoTunes method for more information on how to use this operation.
  1219  //
  1220  // Note: This operation can generate multiple requests to a service.
  1221  //
  1222  //    // Example iterating over at most 3 pages of a DescribeDomainAutoTunes operation.
  1223  //    pageNum := 0
  1224  //    err := client.DescribeDomainAutoTunesPages(params,
  1225  //        func(page *elasticsearchservice.DescribeDomainAutoTunesOutput, lastPage bool) bool {
  1226  //            pageNum++
  1227  //            fmt.Println(page)
  1228  //            return pageNum <= 3
  1229  //        })
  1230  //
  1231  func (c *ElasticsearchService) DescribeDomainAutoTunesPages(input *DescribeDomainAutoTunesInput, fn func(*DescribeDomainAutoTunesOutput, bool) bool) error {
  1232  	return c.DescribeDomainAutoTunesPagesWithContext(aws.BackgroundContext(), input, fn)
  1233  }
  1234  
  1235  // DescribeDomainAutoTunesPagesWithContext same as DescribeDomainAutoTunesPages except
  1236  // it takes a Context and allows setting request options on the pages.
  1237  //
  1238  // The context must be non-nil and will be used for request cancellation. If
  1239  // the context is nil a panic will occur. In the future the SDK may create
  1240  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1241  // for more information on using Contexts.
  1242  func (c *ElasticsearchService) DescribeDomainAutoTunesPagesWithContext(ctx aws.Context, input *DescribeDomainAutoTunesInput, fn func(*DescribeDomainAutoTunesOutput, bool) bool, opts ...request.Option) error {
  1243  	p := request.Pagination{
  1244  		NewRequest: func() (*request.Request, error) {
  1245  			var inCpy *DescribeDomainAutoTunesInput
  1246  			if input != nil {
  1247  				tmp := *input
  1248  				inCpy = &tmp
  1249  			}
  1250  			req, _ := c.DescribeDomainAutoTunesRequest(inCpy)
  1251  			req.SetContext(ctx)
  1252  			req.ApplyOptions(opts...)
  1253  			return req, nil
  1254  		},
  1255  	}
  1256  
  1257  	for p.Next() {
  1258  		if !fn(p.Page().(*DescribeDomainAutoTunesOutput), !p.HasNextPage()) {
  1259  			break
  1260  		}
  1261  	}
  1262  
  1263  	return p.Err()
  1264  }
  1265  
  1266  const opDescribeElasticsearchDomain = "DescribeElasticsearchDomain"
  1267  
  1268  // DescribeElasticsearchDomainRequest generates a "aws/request.Request" representing the
  1269  // client's request for the DescribeElasticsearchDomain operation. The "output" return
  1270  // value will be populated with the request's response once the request completes
  1271  // successfully.
  1272  //
  1273  // Use "Send" method on the returned Request to send the API call to the service.
  1274  // the "output" return value is not valid until after Send returns without error.
  1275  //
  1276  // See DescribeElasticsearchDomain for more information on using the DescribeElasticsearchDomain
  1277  // API call, and error handling.
  1278  //
  1279  // This method is useful when you want to inject custom logic or configuration
  1280  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1281  //
  1282  //
  1283  //    // Example sending a request using the DescribeElasticsearchDomainRequest method.
  1284  //    req, resp := client.DescribeElasticsearchDomainRequest(params)
  1285  //
  1286  //    err := req.Send()
  1287  //    if err == nil { // resp is now filled
  1288  //        fmt.Println(resp)
  1289  //    }
  1290  func (c *ElasticsearchService) DescribeElasticsearchDomainRequest(input *DescribeElasticsearchDomainInput) (req *request.Request, output *DescribeElasticsearchDomainOutput) {
  1291  	op := &request.Operation{
  1292  		Name:       opDescribeElasticsearchDomain,
  1293  		HTTPMethod: "GET",
  1294  		HTTPPath:   "/2015-01-01/es/domain/{DomainName}",
  1295  	}
  1296  
  1297  	if input == nil {
  1298  		input = &DescribeElasticsearchDomainInput{}
  1299  	}
  1300  
  1301  	output = &DescribeElasticsearchDomainOutput{}
  1302  	req = c.newRequest(op, input, output)
  1303  	return
  1304  }
  1305  
  1306  // DescribeElasticsearchDomain API operation for Amazon Elasticsearch Service.
  1307  //
  1308  // Returns domain configuration information about the specified Elasticsearch
  1309  // domain, including the domain ID, domain endpoint, and domain ARN.
  1310  //
  1311  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1312  // with awserr.Error's Code and Message methods to get detailed information about
  1313  // the error.
  1314  //
  1315  // See the AWS API reference guide for Amazon Elasticsearch Service's
  1316  // API operation DescribeElasticsearchDomain for usage and error information.
  1317  //
  1318  // Returned Error Types:
  1319  //   * BaseException
  1320  //   An error occurred while processing the request.
  1321  //
  1322  //   * InternalException
  1323  //   The request processing has failed because of an unknown error, exception
  1324  //   or failure (the failure is internal to the service) . Gives http status code
  1325  //   of 500.
  1326  //
  1327  //   * ResourceNotFoundException
  1328  //   An exception for accessing or deleting a resource that does not exist. Gives
  1329  //   http status code of 400.
  1330  //
  1331  //   * ValidationException
  1332  //   An exception for missing / invalid input fields. Gives http status code of
  1333  //   400.
  1334  //
  1335  func (c *ElasticsearchService) DescribeElasticsearchDomain(input *DescribeElasticsearchDomainInput) (*DescribeElasticsearchDomainOutput, error) {
  1336  	req, out := c.DescribeElasticsearchDomainRequest(input)
  1337  	return out, req.Send()
  1338  }
  1339  
  1340  // DescribeElasticsearchDomainWithContext is the same as DescribeElasticsearchDomain with the addition of
  1341  // the ability to pass a context and additional request options.
  1342  //
  1343  // See DescribeElasticsearchDomain for details on how to use this API operation.
  1344  //
  1345  // The context must be non-nil and will be used for request cancellation. If
  1346  // the context is nil a panic will occur. In the future the SDK may create
  1347  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1348  // for more information on using Contexts.
  1349  func (c *ElasticsearchService) DescribeElasticsearchDomainWithContext(ctx aws.Context, input *DescribeElasticsearchDomainInput, opts ...request.Option) (*DescribeElasticsearchDomainOutput, error) {
  1350  	req, out := c.DescribeElasticsearchDomainRequest(input)
  1351  	req.SetContext(ctx)
  1352  	req.ApplyOptions(opts...)
  1353  	return out, req.Send()
  1354  }
  1355  
  1356  const opDescribeElasticsearchDomainConfig = "DescribeElasticsearchDomainConfig"
  1357  
  1358  // DescribeElasticsearchDomainConfigRequest generates a "aws/request.Request" representing the
  1359  // client's request for the DescribeElasticsearchDomainConfig operation. The "output" return
  1360  // value will be populated with the request's response once the request completes
  1361  // successfully.
  1362  //
  1363  // Use "Send" method on the returned Request to send the API call to the service.
  1364  // the "output" return value is not valid until after Send returns without error.
  1365  //
  1366  // See DescribeElasticsearchDomainConfig for more information on using the DescribeElasticsearchDomainConfig
  1367  // API call, and error handling.
  1368  //
  1369  // This method is useful when you want to inject custom logic or configuration
  1370  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1371  //
  1372  //
  1373  //    // Example sending a request using the DescribeElasticsearchDomainConfigRequest method.
  1374  //    req, resp := client.DescribeElasticsearchDomainConfigRequest(params)
  1375  //
  1376  //    err := req.Send()
  1377  //    if err == nil { // resp is now filled
  1378  //        fmt.Println(resp)
  1379  //    }
  1380  func (c *ElasticsearchService) DescribeElasticsearchDomainConfigRequest(input *DescribeElasticsearchDomainConfigInput) (req *request.Request, output *DescribeElasticsearchDomainConfigOutput) {
  1381  	op := &request.Operation{
  1382  		Name:       opDescribeElasticsearchDomainConfig,
  1383  		HTTPMethod: "GET",
  1384  		HTTPPath:   "/2015-01-01/es/domain/{DomainName}/config",
  1385  	}
  1386  
  1387  	if input == nil {
  1388  		input = &DescribeElasticsearchDomainConfigInput{}
  1389  	}
  1390  
  1391  	output = &DescribeElasticsearchDomainConfigOutput{}
  1392  	req = c.newRequest(op, input, output)
  1393  	return
  1394  }
  1395  
  1396  // DescribeElasticsearchDomainConfig API operation for Amazon Elasticsearch Service.
  1397  //
  1398  // Provides cluster configuration information about the specified Elasticsearch
  1399  // domain, such as the state, creation date, update version, and update date
  1400  // for cluster options.
  1401  //
  1402  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1403  // with awserr.Error's Code and Message methods to get detailed information about
  1404  // the error.
  1405  //
  1406  // See the AWS API reference guide for Amazon Elasticsearch Service's
  1407  // API operation DescribeElasticsearchDomainConfig for usage and error information.
  1408  //
  1409  // Returned Error Types:
  1410  //   * BaseException
  1411  //   An error occurred while processing the request.
  1412  //
  1413  //   * InternalException
  1414  //   The request processing has failed because of an unknown error, exception
  1415  //   or failure (the failure is internal to the service) . Gives http status code
  1416  //   of 500.
  1417  //
  1418  //   * ResourceNotFoundException
  1419  //   An exception for accessing or deleting a resource that does not exist. Gives
  1420  //   http status code of 400.
  1421  //
  1422  //   * ValidationException
  1423  //   An exception for missing / invalid input fields. Gives http status code of
  1424  //   400.
  1425  //
  1426  func (c *ElasticsearchService) DescribeElasticsearchDomainConfig(input *DescribeElasticsearchDomainConfigInput) (*DescribeElasticsearchDomainConfigOutput, error) {
  1427  	req, out := c.DescribeElasticsearchDomainConfigRequest(input)
  1428  	return out, req.Send()
  1429  }
  1430  
  1431  // DescribeElasticsearchDomainConfigWithContext is the same as DescribeElasticsearchDomainConfig with the addition of
  1432  // the ability to pass a context and additional request options.
  1433  //
  1434  // See DescribeElasticsearchDomainConfig for details on how to use this API operation.
  1435  //
  1436  // The context must be non-nil and will be used for request cancellation. If
  1437  // the context is nil a panic will occur. In the future the SDK may create
  1438  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1439  // for more information on using Contexts.
  1440  func (c *ElasticsearchService) DescribeElasticsearchDomainConfigWithContext(ctx aws.Context, input *DescribeElasticsearchDomainConfigInput, opts ...request.Option) (*DescribeElasticsearchDomainConfigOutput, error) {
  1441  	req, out := c.DescribeElasticsearchDomainConfigRequest(input)
  1442  	req.SetContext(ctx)
  1443  	req.ApplyOptions(opts...)
  1444  	return out, req.Send()
  1445  }
  1446  
  1447  const opDescribeElasticsearchDomains = "DescribeElasticsearchDomains"
  1448  
  1449  // DescribeElasticsearchDomainsRequest generates a "aws/request.Request" representing the
  1450  // client's request for the DescribeElasticsearchDomains operation. The "output" return
  1451  // value will be populated with the request's response once the request completes
  1452  // successfully.
  1453  //
  1454  // Use "Send" method on the returned Request to send the API call to the service.
  1455  // the "output" return value is not valid until after Send returns without error.
  1456  //
  1457  // See DescribeElasticsearchDomains for more information on using the DescribeElasticsearchDomains
  1458  // API call, and error handling.
  1459  //
  1460  // This method is useful when you want to inject custom logic or configuration
  1461  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1462  //
  1463  //
  1464  //    // Example sending a request using the DescribeElasticsearchDomainsRequest method.
  1465  //    req, resp := client.DescribeElasticsearchDomainsRequest(params)
  1466  //
  1467  //    err := req.Send()
  1468  //    if err == nil { // resp is now filled
  1469  //        fmt.Println(resp)
  1470  //    }
  1471  func (c *ElasticsearchService) DescribeElasticsearchDomainsRequest(input *DescribeElasticsearchDomainsInput) (req *request.Request, output *DescribeElasticsearchDomainsOutput) {
  1472  	op := &request.Operation{
  1473  		Name:       opDescribeElasticsearchDomains,
  1474  		HTTPMethod: "POST",
  1475  		HTTPPath:   "/2015-01-01/es/domain-info",
  1476  	}
  1477  
  1478  	if input == nil {
  1479  		input = &DescribeElasticsearchDomainsInput{}
  1480  	}
  1481  
  1482  	output = &DescribeElasticsearchDomainsOutput{}
  1483  	req = c.newRequest(op, input, output)
  1484  	return
  1485  }
  1486  
  1487  // DescribeElasticsearchDomains API operation for Amazon Elasticsearch Service.
  1488  //
  1489  // Returns domain configuration information about the specified Elasticsearch
  1490  // domains, including the domain ID, domain endpoint, and domain ARN.
  1491  //
  1492  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1493  // with awserr.Error's Code and Message methods to get detailed information about
  1494  // the error.
  1495  //
  1496  // See the AWS API reference guide for Amazon Elasticsearch Service's
  1497  // API operation DescribeElasticsearchDomains for usage and error information.
  1498  //
  1499  // Returned Error Types:
  1500  //   * BaseException
  1501  //   An error occurred while processing the request.
  1502  //
  1503  //   * InternalException
  1504  //   The request processing has failed because of an unknown error, exception
  1505  //   or failure (the failure is internal to the service) . Gives http status code
  1506  //   of 500.
  1507  //
  1508  //   * ValidationException
  1509  //   An exception for missing / invalid input fields. Gives http status code of
  1510  //   400.
  1511  //
  1512  func (c *ElasticsearchService) DescribeElasticsearchDomains(input *DescribeElasticsearchDomainsInput) (*DescribeElasticsearchDomainsOutput, error) {
  1513  	req, out := c.DescribeElasticsearchDomainsRequest(input)
  1514  	return out, req.Send()
  1515  }
  1516  
  1517  // DescribeElasticsearchDomainsWithContext is the same as DescribeElasticsearchDomains with the addition of
  1518  // the ability to pass a context and additional request options.
  1519  //
  1520  // See DescribeElasticsearchDomains for details on how to use this API operation.
  1521  //
  1522  // The context must be non-nil and will be used for request cancellation. If
  1523  // the context is nil a panic will occur. In the future the SDK may create
  1524  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1525  // for more information on using Contexts.
  1526  func (c *ElasticsearchService) DescribeElasticsearchDomainsWithContext(ctx aws.Context, input *DescribeElasticsearchDomainsInput, opts ...request.Option) (*DescribeElasticsearchDomainsOutput, error) {
  1527  	req, out := c.DescribeElasticsearchDomainsRequest(input)
  1528  	req.SetContext(ctx)
  1529  	req.ApplyOptions(opts...)
  1530  	return out, req.Send()
  1531  }
  1532  
  1533  const opDescribeElasticsearchInstanceTypeLimits = "DescribeElasticsearchInstanceTypeLimits"
  1534  
  1535  // DescribeElasticsearchInstanceTypeLimitsRequest generates a "aws/request.Request" representing the
  1536  // client's request for the DescribeElasticsearchInstanceTypeLimits operation. The "output" return
  1537  // value will be populated with the request's response once the request completes
  1538  // successfully.
  1539  //
  1540  // Use "Send" method on the returned Request to send the API call to the service.
  1541  // the "output" return value is not valid until after Send returns without error.
  1542  //
  1543  // See DescribeElasticsearchInstanceTypeLimits for more information on using the DescribeElasticsearchInstanceTypeLimits
  1544  // API call, and error handling.
  1545  //
  1546  // This method is useful when you want to inject custom logic or configuration
  1547  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1548  //
  1549  //
  1550  //    // Example sending a request using the DescribeElasticsearchInstanceTypeLimitsRequest method.
  1551  //    req, resp := client.DescribeElasticsearchInstanceTypeLimitsRequest(params)
  1552  //
  1553  //    err := req.Send()
  1554  //    if err == nil { // resp is now filled
  1555  //        fmt.Println(resp)
  1556  //    }
  1557  func (c *ElasticsearchService) DescribeElasticsearchInstanceTypeLimitsRequest(input *DescribeElasticsearchInstanceTypeLimitsInput) (req *request.Request, output *DescribeElasticsearchInstanceTypeLimitsOutput) {
  1558  	op := &request.Operation{
  1559  		Name:       opDescribeElasticsearchInstanceTypeLimits,
  1560  		HTTPMethod: "GET",
  1561  		HTTPPath:   "/2015-01-01/es/instanceTypeLimits/{ElasticsearchVersion}/{InstanceType}",
  1562  	}
  1563  
  1564  	if input == nil {
  1565  		input = &DescribeElasticsearchInstanceTypeLimitsInput{}
  1566  	}
  1567  
  1568  	output = &DescribeElasticsearchInstanceTypeLimitsOutput{}
  1569  	req = c.newRequest(op, input, output)
  1570  	return
  1571  }
  1572  
  1573  // DescribeElasticsearchInstanceTypeLimits API operation for Amazon Elasticsearch Service.
  1574  //
  1575  // Describe Elasticsearch Limits for a given InstanceType and ElasticsearchVersion.
  1576  // When modifying existing Domain, specify the DomainName to know what Limits
  1577  // are supported for modifying.
  1578  //
  1579  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1580  // with awserr.Error's Code and Message methods to get detailed information about
  1581  // the error.
  1582  //
  1583  // See the AWS API reference guide for Amazon Elasticsearch Service's
  1584  // API operation DescribeElasticsearchInstanceTypeLimits for usage and error information.
  1585  //
  1586  // Returned Error Types:
  1587  //   * BaseException
  1588  //   An error occurred while processing the request.
  1589  //
  1590  //   * InternalException
  1591  //   The request processing has failed because of an unknown error, exception
  1592  //   or failure (the failure is internal to the service) . Gives http status code
  1593  //   of 500.
  1594  //
  1595  //   * InvalidTypeException
  1596  //   An exception for trying to create or access sub-resource that is either invalid
  1597  //   or not supported. Gives http status code of 409.
  1598  //
  1599  //   * LimitExceededException
  1600  //   An exception for trying to create more than allowed resources or sub-resources.
  1601  //   Gives http status code of 409.
  1602  //
  1603  //   * ResourceNotFoundException
  1604  //   An exception for accessing or deleting a resource that does not exist. Gives
  1605  //   http status code of 400.
  1606  //
  1607  //   * ValidationException
  1608  //   An exception for missing / invalid input fields. Gives http status code of
  1609  //   400.
  1610  //
  1611  func (c *ElasticsearchService) DescribeElasticsearchInstanceTypeLimits(input *DescribeElasticsearchInstanceTypeLimitsInput) (*DescribeElasticsearchInstanceTypeLimitsOutput, error) {
  1612  	req, out := c.DescribeElasticsearchInstanceTypeLimitsRequest(input)
  1613  	return out, req.Send()
  1614  }
  1615  
  1616  // DescribeElasticsearchInstanceTypeLimitsWithContext is the same as DescribeElasticsearchInstanceTypeLimits with the addition of
  1617  // the ability to pass a context and additional request options.
  1618  //
  1619  // See DescribeElasticsearchInstanceTypeLimits for details on how to use this API operation.
  1620  //
  1621  // The context must be non-nil and will be used for request cancellation. If
  1622  // the context is nil a panic will occur. In the future the SDK may create
  1623  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1624  // for more information on using Contexts.
  1625  func (c *ElasticsearchService) DescribeElasticsearchInstanceTypeLimitsWithContext(ctx aws.Context, input *DescribeElasticsearchInstanceTypeLimitsInput, opts ...request.Option) (*DescribeElasticsearchInstanceTypeLimitsOutput, error) {
  1626  	req, out := c.DescribeElasticsearchInstanceTypeLimitsRequest(input)
  1627  	req.SetContext(ctx)
  1628  	req.ApplyOptions(opts...)
  1629  	return out, req.Send()
  1630  }
  1631  
  1632  const opDescribeInboundCrossClusterSearchConnections = "DescribeInboundCrossClusterSearchConnections"
  1633  
  1634  // DescribeInboundCrossClusterSearchConnectionsRequest generates a "aws/request.Request" representing the
  1635  // client's request for the DescribeInboundCrossClusterSearchConnections operation. The "output" return
  1636  // value will be populated with the request's response once the request completes
  1637  // successfully.
  1638  //
  1639  // Use "Send" method on the returned Request to send the API call to the service.
  1640  // the "output" return value is not valid until after Send returns without error.
  1641  //
  1642  // See DescribeInboundCrossClusterSearchConnections for more information on using the DescribeInboundCrossClusterSearchConnections
  1643  // API call, and error handling.
  1644  //
  1645  // This method is useful when you want to inject custom logic or configuration
  1646  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1647  //
  1648  //
  1649  //    // Example sending a request using the DescribeInboundCrossClusterSearchConnectionsRequest method.
  1650  //    req, resp := client.DescribeInboundCrossClusterSearchConnectionsRequest(params)
  1651  //
  1652  //    err := req.Send()
  1653  //    if err == nil { // resp is now filled
  1654  //        fmt.Println(resp)
  1655  //    }
  1656  func (c *ElasticsearchService) DescribeInboundCrossClusterSearchConnectionsRequest(input *DescribeInboundCrossClusterSearchConnectionsInput) (req *request.Request, output *DescribeInboundCrossClusterSearchConnectionsOutput) {
  1657  	op := &request.Operation{
  1658  		Name:       opDescribeInboundCrossClusterSearchConnections,
  1659  		HTTPMethod: "POST",
  1660  		HTTPPath:   "/2015-01-01/es/ccs/inboundConnection/search",
  1661  		Paginator: &request.Paginator{
  1662  			InputTokens:     []string{"NextToken"},
  1663  			OutputTokens:    []string{"NextToken"},
  1664  			LimitToken:      "MaxResults",
  1665  			TruncationToken: "",
  1666  		},
  1667  	}
  1668  
  1669  	if input == nil {
  1670  		input = &DescribeInboundCrossClusterSearchConnectionsInput{}
  1671  	}
  1672  
  1673  	output = &DescribeInboundCrossClusterSearchConnectionsOutput{}
  1674  	req = c.newRequest(op, input, output)
  1675  	return
  1676  }
  1677  
  1678  // DescribeInboundCrossClusterSearchConnections API operation for Amazon Elasticsearch Service.
  1679  //
  1680  // Lists all the inbound cross-cluster search connections for a destination
  1681  // domain.
  1682  //
  1683  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1684  // with awserr.Error's Code and Message methods to get detailed information about
  1685  // the error.
  1686  //
  1687  // See the AWS API reference guide for Amazon Elasticsearch Service's
  1688  // API operation DescribeInboundCrossClusterSearchConnections for usage and error information.
  1689  //
  1690  // Returned Error Types:
  1691  //   * InvalidPaginationTokenException
  1692  //   The request processing has failed because of invalid pagination token provided
  1693  //   by customer. Returns an HTTP status code of 400.
  1694  //
  1695  //   * DisabledOperationException
  1696  //   An error occured because the client wanted to access a not supported operation.
  1697  //   Gives http status code of 409.
  1698  //
  1699  func (c *ElasticsearchService) DescribeInboundCrossClusterSearchConnections(input *DescribeInboundCrossClusterSearchConnectionsInput) (*DescribeInboundCrossClusterSearchConnectionsOutput, error) {
  1700  	req, out := c.DescribeInboundCrossClusterSearchConnectionsRequest(input)
  1701  	return out, req.Send()
  1702  }
  1703  
  1704  // DescribeInboundCrossClusterSearchConnectionsWithContext is the same as DescribeInboundCrossClusterSearchConnections with the addition of
  1705  // the ability to pass a context and additional request options.
  1706  //
  1707  // See DescribeInboundCrossClusterSearchConnections for details on how to use this API operation.
  1708  //
  1709  // The context must be non-nil and will be used for request cancellation. If
  1710  // the context is nil a panic will occur. In the future the SDK may create
  1711  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1712  // for more information on using Contexts.
  1713  func (c *ElasticsearchService) DescribeInboundCrossClusterSearchConnectionsWithContext(ctx aws.Context, input *DescribeInboundCrossClusterSearchConnectionsInput, opts ...request.Option) (*DescribeInboundCrossClusterSearchConnectionsOutput, error) {
  1714  	req, out := c.DescribeInboundCrossClusterSearchConnectionsRequest(input)
  1715  	req.SetContext(ctx)
  1716  	req.ApplyOptions(opts...)
  1717  	return out, req.Send()
  1718  }
  1719  
  1720  // DescribeInboundCrossClusterSearchConnectionsPages iterates over the pages of a DescribeInboundCrossClusterSearchConnections operation,
  1721  // calling the "fn" function with the response data for each page. To stop
  1722  // iterating, return false from the fn function.
  1723  //
  1724  // See DescribeInboundCrossClusterSearchConnections method for more information on how to use this operation.
  1725  //
  1726  // Note: This operation can generate multiple requests to a service.
  1727  //
  1728  //    // Example iterating over at most 3 pages of a DescribeInboundCrossClusterSearchConnections operation.
  1729  //    pageNum := 0
  1730  //    err := client.DescribeInboundCrossClusterSearchConnectionsPages(params,
  1731  //        func(page *elasticsearchservice.DescribeInboundCrossClusterSearchConnectionsOutput, lastPage bool) bool {
  1732  //            pageNum++
  1733  //            fmt.Println(page)
  1734  //            return pageNum <= 3
  1735  //        })
  1736  //
  1737  func (c *ElasticsearchService) DescribeInboundCrossClusterSearchConnectionsPages(input *DescribeInboundCrossClusterSearchConnectionsInput, fn func(*DescribeInboundCrossClusterSearchConnectionsOutput, bool) bool) error {
  1738  	return c.DescribeInboundCrossClusterSearchConnectionsPagesWithContext(aws.BackgroundContext(), input, fn)
  1739  }
  1740  
  1741  // DescribeInboundCrossClusterSearchConnectionsPagesWithContext same as DescribeInboundCrossClusterSearchConnectionsPages except
  1742  // it takes a Context and allows setting request options on the pages.
  1743  //
  1744  // The context must be non-nil and will be used for request cancellation. If
  1745  // the context is nil a panic will occur. In the future the SDK may create
  1746  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1747  // for more information on using Contexts.
  1748  func (c *ElasticsearchService) DescribeInboundCrossClusterSearchConnectionsPagesWithContext(ctx aws.Context, input *DescribeInboundCrossClusterSearchConnectionsInput, fn func(*DescribeInboundCrossClusterSearchConnectionsOutput, bool) bool, opts ...request.Option) error {
  1749  	p := request.Pagination{
  1750  		NewRequest: func() (*request.Request, error) {
  1751  			var inCpy *DescribeInboundCrossClusterSearchConnectionsInput
  1752  			if input != nil {
  1753  				tmp := *input
  1754  				inCpy = &tmp
  1755  			}
  1756  			req, _ := c.DescribeInboundCrossClusterSearchConnectionsRequest(inCpy)
  1757  			req.SetContext(ctx)
  1758  			req.ApplyOptions(opts...)
  1759  			return req, nil
  1760  		},
  1761  	}
  1762  
  1763  	for p.Next() {
  1764  		if !fn(p.Page().(*DescribeInboundCrossClusterSearchConnectionsOutput), !p.HasNextPage()) {
  1765  			break
  1766  		}
  1767  	}
  1768  
  1769  	return p.Err()
  1770  }
  1771  
  1772  const opDescribeOutboundCrossClusterSearchConnections = "DescribeOutboundCrossClusterSearchConnections"
  1773  
  1774  // DescribeOutboundCrossClusterSearchConnectionsRequest generates a "aws/request.Request" representing the
  1775  // client's request for the DescribeOutboundCrossClusterSearchConnections operation. The "output" return
  1776  // value will be populated with the request's response once the request completes
  1777  // successfully.
  1778  //
  1779  // Use "Send" method on the returned Request to send the API call to the service.
  1780  // the "output" return value is not valid until after Send returns without error.
  1781  //
  1782  // See DescribeOutboundCrossClusterSearchConnections for more information on using the DescribeOutboundCrossClusterSearchConnections
  1783  // API call, and error handling.
  1784  //
  1785  // This method is useful when you want to inject custom logic or configuration
  1786  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1787  //
  1788  //
  1789  //    // Example sending a request using the DescribeOutboundCrossClusterSearchConnectionsRequest method.
  1790  //    req, resp := client.DescribeOutboundCrossClusterSearchConnectionsRequest(params)
  1791  //
  1792  //    err := req.Send()
  1793  //    if err == nil { // resp is now filled
  1794  //        fmt.Println(resp)
  1795  //    }
  1796  func (c *ElasticsearchService) DescribeOutboundCrossClusterSearchConnectionsRequest(input *DescribeOutboundCrossClusterSearchConnectionsInput) (req *request.Request, output *DescribeOutboundCrossClusterSearchConnectionsOutput) {
  1797  	op := &request.Operation{
  1798  		Name:       opDescribeOutboundCrossClusterSearchConnections,
  1799  		HTTPMethod: "POST",
  1800  		HTTPPath:   "/2015-01-01/es/ccs/outboundConnection/search",
  1801  		Paginator: &request.Paginator{
  1802  			InputTokens:     []string{"NextToken"},
  1803  			OutputTokens:    []string{"NextToken"},
  1804  			LimitToken:      "MaxResults",
  1805  			TruncationToken: "",
  1806  		},
  1807  	}
  1808  
  1809  	if input == nil {
  1810  		input = &DescribeOutboundCrossClusterSearchConnectionsInput{}
  1811  	}
  1812  
  1813  	output = &DescribeOutboundCrossClusterSearchConnectionsOutput{}
  1814  	req = c.newRequest(op, input, output)
  1815  	return
  1816  }
  1817  
  1818  // DescribeOutboundCrossClusterSearchConnections API operation for Amazon Elasticsearch Service.
  1819  //
  1820  // Lists all the outbound cross-cluster search connections for a source domain.
  1821  //
  1822  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1823  // with awserr.Error's Code and Message methods to get detailed information about
  1824  // the error.
  1825  //
  1826  // See the AWS API reference guide for Amazon Elasticsearch Service's
  1827  // API operation DescribeOutboundCrossClusterSearchConnections for usage and error information.
  1828  //
  1829  // Returned Error Types:
  1830  //   * InvalidPaginationTokenException
  1831  //   The request processing has failed because of invalid pagination token provided
  1832  //   by customer. Returns an HTTP status code of 400.
  1833  //
  1834  //   * DisabledOperationException
  1835  //   An error occured because the client wanted to access a not supported operation.
  1836  //   Gives http status code of 409.
  1837  //
  1838  func (c *ElasticsearchService) DescribeOutboundCrossClusterSearchConnections(input *DescribeOutboundCrossClusterSearchConnectionsInput) (*DescribeOutboundCrossClusterSearchConnectionsOutput, error) {
  1839  	req, out := c.DescribeOutboundCrossClusterSearchConnectionsRequest(input)
  1840  	return out, req.Send()
  1841  }
  1842  
  1843  // DescribeOutboundCrossClusterSearchConnectionsWithContext is the same as DescribeOutboundCrossClusterSearchConnections with the addition of
  1844  // the ability to pass a context and additional request options.
  1845  //
  1846  // See DescribeOutboundCrossClusterSearchConnections for details on how to use this API operation.
  1847  //
  1848  // The context must be non-nil and will be used for request cancellation. If
  1849  // the context is nil a panic will occur. In the future the SDK may create
  1850  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1851  // for more information on using Contexts.
  1852  func (c *ElasticsearchService) DescribeOutboundCrossClusterSearchConnectionsWithContext(ctx aws.Context, input *DescribeOutboundCrossClusterSearchConnectionsInput, opts ...request.Option) (*DescribeOutboundCrossClusterSearchConnectionsOutput, error) {
  1853  	req, out := c.DescribeOutboundCrossClusterSearchConnectionsRequest(input)
  1854  	req.SetContext(ctx)
  1855  	req.ApplyOptions(opts...)
  1856  	return out, req.Send()
  1857  }
  1858  
  1859  // DescribeOutboundCrossClusterSearchConnectionsPages iterates over the pages of a DescribeOutboundCrossClusterSearchConnections operation,
  1860  // calling the "fn" function with the response data for each page. To stop
  1861  // iterating, return false from the fn function.
  1862  //
  1863  // See DescribeOutboundCrossClusterSearchConnections method for more information on how to use this operation.
  1864  //
  1865  // Note: This operation can generate multiple requests to a service.
  1866  //
  1867  //    // Example iterating over at most 3 pages of a DescribeOutboundCrossClusterSearchConnections operation.
  1868  //    pageNum := 0
  1869  //    err := client.DescribeOutboundCrossClusterSearchConnectionsPages(params,
  1870  //        func(page *elasticsearchservice.DescribeOutboundCrossClusterSearchConnectionsOutput, lastPage bool) bool {
  1871  //            pageNum++
  1872  //            fmt.Println(page)
  1873  //            return pageNum <= 3
  1874  //        })
  1875  //
  1876  func (c *ElasticsearchService) DescribeOutboundCrossClusterSearchConnectionsPages(input *DescribeOutboundCrossClusterSearchConnectionsInput, fn func(*DescribeOutboundCrossClusterSearchConnectionsOutput, bool) bool) error {
  1877  	return c.DescribeOutboundCrossClusterSearchConnectionsPagesWithContext(aws.BackgroundContext(), input, fn)
  1878  }
  1879  
  1880  // DescribeOutboundCrossClusterSearchConnectionsPagesWithContext same as DescribeOutboundCrossClusterSearchConnectionsPages except
  1881  // it takes a Context and allows setting request options on the pages.
  1882  //
  1883  // The context must be non-nil and will be used for request cancellation. If
  1884  // the context is nil a panic will occur. In the future the SDK may create
  1885  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1886  // for more information on using Contexts.
  1887  func (c *ElasticsearchService) DescribeOutboundCrossClusterSearchConnectionsPagesWithContext(ctx aws.Context, input *DescribeOutboundCrossClusterSearchConnectionsInput, fn func(*DescribeOutboundCrossClusterSearchConnectionsOutput, bool) bool, opts ...request.Option) error {
  1888  	p := request.Pagination{
  1889  		NewRequest: func() (*request.Request, error) {
  1890  			var inCpy *DescribeOutboundCrossClusterSearchConnectionsInput
  1891  			if input != nil {
  1892  				tmp := *input
  1893  				inCpy = &tmp
  1894  			}
  1895  			req, _ := c.DescribeOutboundCrossClusterSearchConnectionsRequest(inCpy)
  1896  			req.SetContext(ctx)
  1897  			req.ApplyOptions(opts...)
  1898  			return req, nil
  1899  		},
  1900  	}
  1901  
  1902  	for p.Next() {
  1903  		if !fn(p.Page().(*DescribeOutboundCrossClusterSearchConnectionsOutput), !p.HasNextPage()) {
  1904  			break
  1905  		}
  1906  	}
  1907  
  1908  	return p.Err()
  1909  }
  1910  
  1911  const opDescribePackages = "DescribePackages"
  1912  
  1913  // DescribePackagesRequest generates a "aws/request.Request" representing the
  1914  // client's request for the DescribePackages operation. The "output" return
  1915  // value will be populated with the request's response once the request completes
  1916  // successfully.
  1917  //
  1918  // Use "Send" method on the returned Request to send the API call to the service.
  1919  // the "output" return value is not valid until after Send returns without error.
  1920  //
  1921  // See DescribePackages for more information on using the DescribePackages
  1922  // API call, and error handling.
  1923  //
  1924  // This method is useful when you want to inject custom logic or configuration
  1925  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1926  //
  1927  //
  1928  //    // Example sending a request using the DescribePackagesRequest method.
  1929  //    req, resp := client.DescribePackagesRequest(params)
  1930  //
  1931  //    err := req.Send()
  1932  //    if err == nil { // resp is now filled
  1933  //        fmt.Println(resp)
  1934  //    }
  1935  func (c *ElasticsearchService) DescribePackagesRequest(input *DescribePackagesInput) (req *request.Request, output *DescribePackagesOutput) {
  1936  	op := &request.Operation{
  1937  		Name:       opDescribePackages,
  1938  		HTTPMethod: "POST",
  1939  		HTTPPath:   "/2015-01-01/packages/describe",
  1940  		Paginator: &request.Paginator{
  1941  			InputTokens:     []string{"NextToken"},
  1942  			OutputTokens:    []string{"NextToken"},
  1943  			LimitToken:      "MaxResults",
  1944  			TruncationToken: "",
  1945  		},
  1946  	}
  1947  
  1948  	if input == nil {
  1949  		input = &DescribePackagesInput{}
  1950  	}
  1951  
  1952  	output = &DescribePackagesOutput{}
  1953  	req = c.newRequest(op, input, output)
  1954  	return
  1955  }
  1956  
  1957  // DescribePackages API operation for Amazon Elasticsearch Service.
  1958  //
  1959  // Describes all packages available to Amazon ES. Includes options for filtering,
  1960  // limiting the number of results, and pagination.
  1961  //
  1962  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1963  // with awserr.Error's Code and Message methods to get detailed information about
  1964  // the error.
  1965  //
  1966  // See the AWS API reference guide for Amazon Elasticsearch Service's
  1967  // API operation DescribePackages for usage and error information.
  1968  //
  1969  // Returned Error Types:
  1970  //   * BaseException
  1971  //   An error occurred while processing the request.
  1972  //
  1973  //   * InternalException
  1974  //   The request processing has failed because of an unknown error, exception
  1975  //   or failure (the failure is internal to the service) . Gives http status code
  1976  //   of 500.
  1977  //
  1978  //   * ResourceNotFoundException
  1979  //   An exception for accessing or deleting a resource that does not exist. Gives
  1980  //   http status code of 400.
  1981  //
  1982  //   * AccessDeniedException
  1983  //   An error occurred because user does not have permissions to access the resource.
  1984  //   Returns HTTP status code 403.
  1985  //
  1986  //   * ValidationException
  1987  //   An exception for missing / invalid input fields. Gives http status code of
  1988  //   400.
  1989  //
  1990  func (c *ElasticsearchService) DescribePackages(input *DescribePackagesInput) (*DescribePackagesOutput, error) {
  1991  	req, out := c.DescribePackagesRequest(input)
  1992  	return out, req.Send()
  1993  }
  1994  
  1995  // DescribePackagesWithContext is the same as DescribePackages with the addition of
  1996  // the ability to pass a context and additional request options.
  1997  //
  1998  // See DescribePackages for details on how to use this API operation.
  1999  //
  2000  // The context must be non-nil and will be used for request cancellation. If
  2001  // the context is nil a panic will occur. In the future the SDK may create
  2002  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2003  // for more information on using Contexts.
  2004  func (c *ElasticsearchService) DescribePackagesWithContext(ctx aws.Context, input *DescribePackagesInput, opts ...request.Option) (*DescribePackagesOutput, error) {
  2005  	req, out := c.DescribePackagesRequest(input)
  2006  	req.SetContext(ctx)
  2007  	req.ApplyOptions(opts...)
  2008  	return out, req.Send()
  2009  }
  2010  
  2011  // DescribePackagesPages iterates over the pages of a DescribePackages operation,
  2012  // calling the "fn" function with the response data for each page. To stop
  2013  // iterating, return false from the fn function.
  2014  //
  2015  // See DescribePackages method for more information on how to use this operation.
  2016  //
  2017  // Note: This operation can generate multiple requests to a service.
  2018  //
  2019  //    // Example iterating over at most 3 pages of a DescribePackages operation.
  2020  //    pageNum := 0
  2021  //    err := client.DescribePackagesPages(params,
  2022  //        func(page *elasticsearchservice.DescribePackagesOutput, lastPage bool) bool {
  2023  //            pageNum++
  2024  //            fmt.Println(page)
  2025  //            return pageNum <= 3
  2026  //        })
  2027  //
  2028  func (c *ElasticsearchService) DescribePackagesPages(input *DescribePackagesInput, fn func(*DescribePackagesOutput, bool) bool) error {
  2029  	return c.DescribePackagesPagesWithContext(aws.BackgroundContext(), input, fn)
  2030  }
  2031  
  2032  // DescribePackagesPagesWithContext same as DescribePackagesPages except
  2033  // it takes a Context and allows setting request options on the pages.
  2034  //
  2035  // The context must be non-nil and will be used for request cancellation. If
  2036  // the context is nil a panic will occur. In the future the SDK may create
  2037  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2038  // for more information on using Contexts.
  2039  func (c *ElasticsearchService) DescribePackagesPagesWithContext(ctx aws.Context, input *DescribePackagesInput, fn func(*DescribePackagesOutput, bool) bool, opts ...request.Option) error {
  2040  	p := request.Pagination{
  2041  		NewRequest: func() (*request.Request, error) {
  2042  			var inCpy *DescribePackagesInput
  2043  			if input != nil {
  2044  				tmp := *input
  2045  				inCpy = &tmp
  2046  			}
  2047  			req, _ := c.DescribePackagesRequest(inCpy)
  2048  			req.SetContext(ctx)
  2049  			req.ApplyOptions(opts...)
  2050  			return req, nil
  2051  		},
  2052  	}
  2053  
  2054  	for p.Next() {
  2055  		if !fn(p.Page().(*DescribePackagesOutput), !p.HasNextPage()) {
  2056  			break
  2057  		}
  2058  	}
  2059  
  2060  	return p.Err()
  2061  }
  2062  
  2063  const opDescribeReservedElasticsearchInstanceOfferings = "DescribeReservedElasticsearchInstanceOfferings"
  2064  
  2065  // DescribeReservedElasticsearchInstanceOfferingsRequest generates a "aws/request.Request" representing the
  2066  // client's request for the DescribeReservedElasticsearchInstanceOfferings operation. The "output" return
  2067  // value will be populated with the request's response once the request completes
  2068  // successfully.
  2069  //
  2070  // Use "Send" method on the returned Request to send the API call to the service.
  2071  // the "output" return value is not valid until after Send returns without error.
  2072  //
  2073  // See DescribeReservedElasticsearchInstanceOfferings for more information on using the DescribeReservedElasticsearchInstanceOfferings
  2074  // API call, and error handling.
  2075  //
  2076  // This method is useful when you want to inject custom logic or configuration
  2077  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2078  //
  2079  //
  2080  //    // Example sending a request using the DescribeReservedElasticsearchInstanceOfferingsRequest method.
  2081  //    req, resp := client.DescribeReservedElasticsearchInstanceOfferingsRequest(params)
  2082  //
  2083  //    err := req.Send()
  2084  //    if err == nil { // resp is now filled
  2085  //        fmt.Println(resp)
  2086  //    }
  2087  func (c *ElasticsearchService) DescribeReservedElasticsearchInstanceOfferingsRequest(input *DescribeReservedElasticsearchInstanceOfferingsInput) (req *request.Request, output *DescribeReservedElasticsearchInstanceOfferingsOutput) {
  2088  	op := &request.Operation{
  2089  		Name:       opDescribeReservedElasticsearchInstanceOfferings,
  2090  		HTTPMethod: "GET",
  2091  		HTTPPath:   "/2015-01-01/es/reservedInstanceOfferings",
  2092  		Paginator: &request.Paginator{
  2093  			InputTokens:     []string{"NextToken"},
  2094  			OutputTokens:    []string{"NextToken"},
  2095  			LimitToken:      "MaxResults",
  2096  			TruncationToken: "",
  2097  		},
  2098  	}
  2099  
  2100  	if input == nil {
  2101  		input = &DescribeReservedElasticsearchInstanceOfferingsInput{}
  2102  	}
  2103  
  2104  	output = &DescribeReservedElasticsearchInstanceOfferingsOutput{}
  2105  	req = c.newRequest(op, input, output)
  2106  	return
  2107  }
  2108  
  2109  // DescribeReservedElasticsearchInstanceOfferings API operation for Amazon Elasticsearch Service.
  2110  //
  2111  // Lists available reserved Elasticsearch instance offerings.
  2112  //
  2113  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2114  // with awserr.Error's Code and Message methods to get detailed information about
  2115  // the error.
  2116  //
  2117  // See the AWS API reference guide for Amazon Elasticsearch Service's
  2118  // API operation DescribeReservedElasticsearchInstanceOfferings for usage and error information.
  2119  //
  2120  // Returned Error Types:
  2121  //   * ResourceNotFoundException
  2122  //   An exception for accessing or deleting a resource that does not exist. Gives
  2123  //   http status code of 400.
  2124  //
  2125  //   * ValidationException
  2126  //   An exception for missing / invalid input fields. Gives http status code of
  2127  //   400.
  2128  //
  2129  //   * DisabledOperationException
  2130  //   An error occured because the client wanted to access a not supported operation.
  2131  //   Gives http status code of 409.
  2132  //
  2133  //   * InternalException
  2134  //   The request processing has failed because of an unknown error, exception
  2135  //   or failure (the failure is internal to the service) . Gives http status code
  2136  //   of 500.
  2137  //
  2138  func (c *ElasticsearchService) DescribeReservedElasticsearchInstanceOfferings(input *DescribeReservedElasticsearchInstanceOfferingsInput) (*DescribeReservedElasticsearchInstanceOfferingsOutput, error) {
  2139  	req, out := c.DescribeReservedElasticsearchInstanceOfferingsRequest(input)
  2140  	return out, req.Send()
  2141  }
  2142  
  2143  // DescribeReservedElasticsearchInstanceOfferingsWithContext is the same as DescribeReservedElasticsearchInstanceOfferings with the addition of
  2144  // the ability to pass a context and additional request options.
  2145  //
  2146  // See DescribeReservedElasticsearchInstanceOfferings for details on how to use this API operation.
  2147  //
  2148  // The context must be non-nil and will be used for request cancellation. If
  2149  // the context is nil a panic will occur. In the future the SDK may create
  2150  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2151  // for more information on using Contexts.
  2152  func (c *ElasticsearchService) DescribeReservedElasticsearchInstanceOfferingsWithContext(ctx aws.Context, input *DescribeReservedElasticsearchInstanceOfferingsInput, opts ...request.Option) (*DescribeReservedElasticsearchInstanceOfferingsOutput, error) {
  2153  	req, out := c.DescribeReservedElasticsearchInstanceOfferingsRequest(input)
  2154  	req.SetContext(ctx)
  2155  	req.ApplyOptions(opts...)
  2156  	return out, req.Send()
  2157  }
  2158  
  2159  // DescribeReservedElasticsearchInstanceOfferingsPages iterates over the pages of a DescribeReservedElasticsearchInstanceOfferings operation,
  2160  // calling the "fn" function with the response data for each page. To stop
  2161  // iterating, return false from the fn function.
  2162  //
  2163  // See DescribeReservedElasticsearchInstanceOfferings method for more information on how to use this operation.
  2164  //
  2165  // Note: This operation can generate multiple requests to a service.
  2166  //
  2167  //    // Example iterating over at most 3 pages of a DescribeReservedElasticsearchInstanceOfferings operation.
  2168  //    pageNum := 0
  2169  //    err := client.DescribeReservedElasticsearchInstanceOfferingsPages(params,
  2170  //        func(page *elasticsearchservice.DescribeReservedElasticsearchInstanceOfferingsOutput, lastPage bool) bool {
  2171  //            pageNum++
  2172  //            fmt.Println(page)
  2173  //            return pageNum <= 3
  2174  //        })
  2175  //
  2176  func (c *ElasticsearchService) DescribeReservedElasticsearchInstanceOfferingsPages(input *DescribeReservedElasticsearchInstanceOfferingsInput, fn func(*DescribeReservedElasticsearchInstanceOfferingsOutput, bool) bool) error {
  2177  	return c.DescribeReservedElasticsearchInstanceOfferingsPagesWithContext(aws.BackgroundContext(), input, fn)
  2178  }
  2179  
  2180  // DescribeReservedElasticsearchInstanceOfferingsPagesWithContext same as DescribeReservedElasticsearchInstanceOfferingsPages except
  2181  // it takes a Context and allows setting request options on the pages.
  2182  //
  2183  // The context must be non-nil and will be used for request cancellation. If
  2184  // the context is nil a panic will occur. In the future the SDK may create
  2185  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2186  // for more information on using Contexts.
  2187  func (c *ElasticsearchService) DescribeReservedElasticsearchInstanceOfferingsPagesWithContext(ctx aws.Context, input *DescribeReservedElasticsearchInstanceOfferingsInput, fn func(*DescribeReservedElasticsearchInstanceOfferingsOutput, bool) bool, opts ...request.Option) error {
  2188  	p := request.Pagination{
  2189  		NewRequest: func() (*request.Request, error) {
  2190  			var inCpy *DescribeReservedElasticsearchInstanceOfferingsInput
  2191  			if input != nil {
  2192  				tmp := *input
  2193  				inCpy = &tmp
  2194  			}
  2195  			req, _ := c.DescribeReservedElasticsearchInstanceOfferingsRequest(inCpy)
  2196  			req.SetContext(ctx)
  2197  			req.ApplyOptions(opts...)
  2198  			return req, nil
  2199  		},
  2200  	}
  2201  
  2202  	for p.Next() {
  2203  		if !fn(p.Page().(*DescribeReservedElasticsearchInstanceOfferingsOutput), !p.HasNextPage()) {
  2204  			break
  2205  		}
  2206  	}
  2207  
  2208  	return p.Err()
  2209  }
  2210  
  2211  const opDescribeReservedElasticsearchInstances = "DescribeReservedElasticsearchInstances"
  2212  
  2213  // DescribeReservedElasticsearchInstancesRequest generates a "aws/request.Request" representing the
  2214  // client's request for the DescribeReservedElasticsearchInstances operation. The "output" return
  2215  // value will be populated with the request's response once the request completes
  2216  // successfully.
  2217  //
  2218  // Use "Send" method on the returned Request to send the API call to the service.
  2219  // the "output" return value is not valid until after Send returns without error.
  2220  //
  2221  // See DescribeReservedElasticsearchInstances for more information on using the DescribeReservedElasticsearchInstances
  2222  // API call, and error handling.
  2223  //
  2224  // This method is useful when you want to inject custom logic or configuration
  2225  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2226  //
  2227  //
  2228  //    // Example sending a request using the DescribeReservedElasticsearchInstancesRequest method.
  2229  //    req, resp := client.DescribeReservedElasticsearchInstancesRequest(params)
  2230  //
  2231  //    err := req.Send()
  2232  //    if err == nil { // resp is now filled
  2233  //        fmt.Println(resp)
  2234  //    }
  2235  func (c *ElasticsearchService) DescribeReservedElasticsearchInstancesRequest(input *DescribeReservedElasticsearchInstancesInput) (req *request.Request, output *DescribeReservedElasticsearchInstancesOutput) {
  2236  	op := &request.Operation{
  2237  		Name:       opDescribeReservedElasticsearchInstances,
  2238  		HTTPMethod: "GET",
  2239  		HTTPPath:   "/2015-01-01/es/reservedInstances",
  2240  		Paginator: &request.Paginator{
  2241  			InputTokens:     []string{"NextToken"},
  2242  			OutputTokens:    []string{"NextToken"},
  2243  			LimitToken:      "MaxResults",
  2244  			TruncationToken: "",
  2245  		},
  2246  	}
  2247  
  2248  	if input == nil {
  2249  		input = &DescribeReservedElasticsearchInstancesInput{}
  2250  	}
  2251  
  2252  	output = &DescribeReservedElasticsearchInstancesOutput{}
  2253  	req = c.newRequest(op, input, output)
  2254  	return
  2255  }
  2256  
  2257  // DescribeReservedElasticsearchInstances API operation for Amazon Elasticsearch Service.
  2258  //
  2259  // Returns information about reserved Elasticsearch instances for this account.
  2260  //
  2261  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2262  // with awserr.Error's Code and Message methods to get detailed information about
  2263  // the error.
  2264  //
  2265  // See the AWS API reference guide for Amazon Elasticsearch Service's
  2266  // API operation DescribeReservedElasticsearchInstances for usage and error information.
  2267  //
  2268  // Returned Error Types:
  2269  //   * ResourceNotFoundException
  2270  //   An exception for accessing or deleting a resource that does not exist. Gives
  2271  //   http status code of 400.
  2272  //
  2273  //   * InternalException
  2274  //   The request processing has failed because of an unknown error, exception
  2275  //   or failure (the failure is internal to the service) . Gives http status code
  2276  //   of 500.
  2277  //
  2278  //   * ValidationException
  2279  //   An exception for missing / invalid input fields. Gives http status code of
  2280  //   400.
  2281  //
  2282  //   * DisabledOperationException
  2283  //   An error occured because the client wanted to access a not supported operation.
  2284  //   Gives http status code of 409.
  2285  //
  2286  func (c *ElasticsearchService) DescribeReservedElasticsearchInstances(input *DescribeReservedElasticsearchInstancesInput) (*DescribeReservedElasticsearchInstancesOutput, error) {
  2287  	req, out := c.DescribeReservedElasticsearchInstancesRequest(input)
  2288  	return out, req.Send()
  2289  }
  2290  
  2291  // DescribeReservedElasticsearchInstancesWithContext is the same as DescribeReservedElasticsearchInstances with the addition of
  2292  // the ability to pass a context and additional request options.
  2293  //
  2294  // See DescribeReservedElasticsearchInstances for details on how to use this API operation.
  2295  //
  2296  // The context must be non-nil and will be used for request cancellation. If
  2297  // the context is nil a panic will occur. In the future the SDK may create
  2298  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2299  // for more information on using Contexts.
  2300  func (c *ElasticsearchService) DescribeReservedElasticsearchInstancesWithContext(ctx aws.Context, input *DescribeReservedElasticsearchInstancesInput, opts ...request.Option) (*DescribeReservedElasticsearchInstancesOutput, error) {
  2301  	req, out := c.DescribeReservedElasticsearchInstancesRequest(input)
  2302  	req.SetContext(ctx)
  2303  	req.ApplyOptions(opts...)
  2304  	return out, req.Send()
  2305  }
  2306  
  2307  // DescribeReservedElasticsearchInstancesPages iterates over the pages of a DescribeReservedElasticsearchInstances operation,
  2308  // calling the "fn" function with the response data for each page. To stop
  2309  // iterating, return false from the fn function.
  2310  //
  2311  // See DescribeReservedElasticsearchInstances method for more information on how to use this operation.
  2312  //
  2313  // Note: This operation can generate multiple requests to a service.
  2314  //
  2315  //    // Example iterating over at most 3 pages of a DescribeReservedElasticsearchInstances operation.
  2316  //    pageNum := 0
  2317  //    err := client.DescribeReservedElasticsearchInstancesPages(params,
  2318  //        func(page *elasticsearchservice.DescribeReservedElasticsearchInstancesOutput, lastPage bool) bool {
  2319  //            pageNum++
  2320  //            fmt.Println(page)
  2321  //            return pageNum <= 3
  2322  //        })
  2323  //
  2324  func (c *ElasticsearchService) DescribeReservedElasticsearchInstancesPages(input *DescribeReservedElasticsearchInstancesInput, fn func(*DescribeReservedElasticsearchInstancesOutput, bool) bool) error {
  2325  	return c.DescribeReservedElasticsearchInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
  2326  }
  2327  
  2328  // DescribeReservedElasticsearchInstancesPagesWithContext same as DescribeReservedElasticsearchInstancesPages except
  2329  // it takes a Context and allows setting request options on the pages.
  2330  //
  2331  // The context must be non-nil and will be used for request cancellation. If
  2332  // the context is nil a panic will occur. In the future the SDK may create
  2333  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2334  // for more information on using Contexts.
  2335  func (c *ElasticsearchService) DescribeReservedElasticsearchInstancesPagesWithContext(ctx aws.Context, input *DescribeReservedElasticsearchInstancesInput, fn func(*DescribeReservedElasticsearchInstancesOutput, bool) bool, opts ...request.Option) error {
  2336  	p := request.Pagination{
  2337  		NewRequest: func() (*request.Request, error) {
  2338  			var inCpy *DescribeReservedElasticsearchInstancesInput
  2339  			if input != nil {
  2340  				tmp := *input
  2341  				inCpy = &tmp
  2342  			}
  2343  			req, _ := c.DescribeReservedElasticsearchInstancesRequest(inCpy)
  2344  			req.SetContext(ctx)
  2345  			req.ApplyOptions(opts...)
  2346  			return req, nil
  2347  		},
  2348  	}
  2349  
  2350  	for p.Next() {
  2351  		if !fn(p.Page().(*DescribeReservedElasticsearchInstancesOutput), !p.HasNextPage()) {
  2352  			break
  2353  		}
  2354  	}
  2355  
  2356  	return p.Err()
  2357  }
  2358  
  2359  const opDissociatePackage = "DissociatePackage"
  2360  
  2361  // DissociatePackageRequest generates a "aws/request.Request" representing the
  2362  // client's request for the DissociatePackage operation. The "output" return
  2363  // value will be populated with the request's response once the request completes
  2364  // successfully.
  2365  //
  2366  // Use "Send" method on the returned Request to send the API call to the service.
  2367  // the "output" return value is not valid until after Send returns without error.
  2368  //
  2369  // See DissociatePackage for more information on using the DissociatePackage
  2370  // API call, and error handling.
  2371  //
  2372  // This method is useful when you want to inject custom logic or configuration
  2373  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2374  //
  2375  //
  2376  //    // Example sending a request using the DissociatePackageRequest method.
  2377  //    req, resp := client.DissociatePackageRequest(params)
  2378  //
  2379  //    err := req.Send()
  2380  //    if err == nil { // resp is now filled
  2381  //        fmt.Println(resp)
  2382  //    }
  2383  func (c *ElasticsearchService) DissociatePackageRequest(input *DissociatePackageInput) (req *request.Request, output *DissociatePackageOutput) {
  2384  	op := &request.Operation{
  2385  		Name:       opDissociatePackage,
  2386  		HTTPMethod: "POST",
  2387  		HTTPPath:   "/2015-01-01/packages/dissociate/{PackageID}/{DomainName}",
  2388  	}
  2389  
  2390  	if input == nil {
  2391  		input = &DissociatePackageInput{}
  2392  	}
  2393  
  2394  	output = &DissociatePackageOutput{}
  2395  	req = c.newRequest(op, input, output)
  2396  	return
  2397  }
  2398  
  2399  // DissociatePackage API operation for Amazon Elasticsearch Service.
  2400  //
  2401  // Dissociates a package from the Amazon ES domain.
  2402  //
  2403  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2404  // with awserr.Error's Code and Message methods to get detailed information about
  2405  // the error.
  2406  //
  2407  // See the AWS API reference guide for Amazon Elasticsearch Service's
  2408  // API operation DissociatePackage for usage and error information.
  2409  //
  2410  // Returned Error Types:
  2411  //   * BaseException
  2412  //   An error occurred while processing the request.
  2413  //
  2414  //   * InternalException
  2415  //   The request processing has failed because of an unknown error, exception
  2416  //   or failure (the failure is internal to the service) . Gives http status code
  2417  //   of 500.
  2418  //
  2419  //   * ResourceNotFoundException
  2420  //   An exception for accessing or deleting a resource that does not exist. Gives
  2421  //   http status code of 400.
  2422  //
  2423  //   * AccessDeniedException
  2424  //   An error occurred because user does not have permissions to access the resource.
  2425  //   Returns HTTP status code 403.
  2426  //
  2427  //   * ValidationException
  2428  //   An exception for missing / invalid input fields. Gives http status code of
  2429  //   400.
  2430  //
  2431  //   * ConflictException
  2432  //   An error occurred because the client attempts to remove a resource that is
  2433  //   currently in use. Returns HTTP status code 409.
  2434  //
  2435  func (c *ElasticsearchService) DissociatePackage(input *DissociatePackageInput) (*DissociatePackageOutput, error) {
  2436  	req, out := c.DissociatePackageRequest(input)
  2437  	return out, req.Send()
  2438  }
  2439  
  2440  // DissociatePackageWithContext is the same as DissociatePackage with the addition of
  2441  // the ability to pass a context and additional request options.
  2442  //
  2443  // See DissociatePackage for details on how to use this API operation.
  2444  //
  2445  // The context must be non-nil and will be used for request cancellation. If
  2446  // the context is nil a panic will occur. In the future the SDK may create
  2447  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2448  // for more information on using Contexts.
  2449  func (c *ElasticsearchService) DissociatePackageWithContext(ctx aws.Context, input *DissociatePackageInput, opts ...request.Option) (*DissociatePackageOutput, error) {
  2450  	req, out := c.DissociatePackageRequest(input)
  2451  	req.SetContext(ctx)
  2452  	req.ApplyOptions(opts...)
  2453  	return out, req.Send()
  2454  }
  2455  
  2456  const opGetCompatibleElasticsearchVersions = "GetCompatibleElasticsearchVersions"
  2457  
  2458  // GetCompatibleElasticsearchVersionsRequest generates a "aws/request.Request" representing the
  2459  // client's request for the GetCompatibleElasticsearchVersions operation. The "output" return
  2460  // value will be populated with the request's response once the request completes
  2461  // successfully.
  2462  //
  2463  // Use "Send" method on the returned Request to send the API call to the service.
  2464  // the "output" return value is not valid until after Send returns without error.
  2465  //
  2466  // See GetCompatibleElasticsearchVersions for more information on using the GetCompatibleElasticsearchVersions
  2467  // API call, and error handling.
  2468  //
  2469  // This method is useful when you want to inject custom logic or configuration
  2470  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2471  //
  2472  //
  2473  //    // Example sending a request using the GetCompatibleElasticsearchVersionsRequest method.
  2474  //    req, resp := client.GetCompatibleElasticsearchVersionsRequest(params)
  2475  //
  2476  //    err := req.Send()
  2477  //    if err == nil { // resp is now filled
  2478  //        fmt.Println(resp)
  2479  //    }
  2480  func (c *ElasticsearchService) GetCompatibleElasticsearchVersionsRequest(input *GetCompatibleElasticsearchVersionsInput) (req *request.Request, output *GetCompatibleElasticsearchVersionsOutput) {
  2481  	op := &request.Operation{
  2482  		Name:       opGetCompatibleElasticsearchVersions,
  2483  		HTTPMethod: "GET",
  2484  		HTTPPath:   "/2015-01-01/es/compatibleVersions",
  2485  	}
  2486  
  2487  	if input == nil {
  2488  		input = &GetCompatibleElasticsearchVersionsInput{}
  2489  	}
  2490  
  2491  	output = &GetCompatibleElasticsearchVersionsOutput{}
  2492  	req = c.newRequest(op, input, output)
  2493  	return
  2494  }
  2495  
  2496  // GetCompatibleElasticsearchVersions API operation for Amazon Elasticsearch Service.
  2497  //
  2498  // Returns a list of upgrade compatible Elastisearch versions. You can optionally
  2499  // pass a DomainName to get all upgrade compatible Elasticsearch versions for
  2500  // that specific domain.
  2501  //
  2502  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2503  // with awserr.Error's Code and Message methods to get detailed information about
  2504  // the error.
  2505  //
  2506  // See the AWS API reference guide for Amazon Elasticsearch Service's
  2507  // API operation GetCompatibleElasticsearchVersions for usage and error information.
  2508  //
  2509  // Returned Error Types:
  2510  //   * BaseException
  2511  //   An error occurred while processing the request.
  2512  //
  2513  //   * ResourceNotFoundException
  2514  //   An exception for accessing or deleting a resource that does not exist. Gives
  2515  //   http status code of 400.
  2516  //
  2517  //   * DisabledOperationException
  2518  //   An error occured because the client wanted to access a not supported operation.
  2519  //   Gives http status code of 409.
  2520  //
  2521  //   * ValidationException
  2522  //   An exception for missing / invalid input fields. Gives http status code of
  2523  //   400.
  2524  //
  2525  //   * InternalException
  2526  //   The request processing has failed because of an unknown error, exception
  2527  //   or failure (the failure is internal to the service) . Gives http status code
  2528  //   of 500.
  2529  //
  2530  func (c *ElasticsearchService) GetCompatibleElasticsearchVersions(input *GetCompatibleElasticsearchVersionsInput) (*GetCompatibleElasticsearchVersionsOutput, error) {
  2531  	req, out := c.GetCompatibleElasticsearchVersionsRequest(input)
  2532  	return out, req.Send()
  2533  }
  2534  
  2535  // GetCompatibleElasticsearchVersionsWithContext is the same as GetCompatibleElasticsearchVersions with the addition of
  2536  // the ability to pass a context and additional request options.
  2537  //
  2538  // See GetCompatibleElasticsearchVersions for details on how to use this API operation.
  2539  //
  2540  // The context must be non-nil and will be used for request cancellation. If
  2541  // the context is nil a panic will occur. In the future the SDK may create
  2542  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2543  // for more information on using Contexts.
  2544  func (c *ElasticsearchService) GetCompatibleElasticsearchVersionsWithContext(ctx aws.Context, input *GetCompatibleElasticsearchVersionsInput, opts ...request.Option) (*GetCompatibleElasticsearchVersionsOutput, error) {
  2545  	req, out := c.GetCompatibleElasticsearchVersionsRequest(input)
  2546  	req.SetContext(ctx)
  2547  	req.ApplyOptions(opts...)
  2548  	return out, req.Send()
  2549  }
  2550  
  2551  const opGetPackageVersionHistory = "GetPackageVersionHistory"
  2552  
  2553  // GetPackageVersionHistoryRequest generates a "aws/request.Request" representing the
  2554  // client's request for the GetPackageVersionHistory operation. The "output" return
  2555  // value will be populated with the request's response once the request completes
  2556  // successfully.
  2557  //
  2558  // Use "Send" method on the returned Request to send the API call to the service.
  2559  // the "output" return value is not valid until after Send returns without error.
  2560  //
  2561  // See GetPackageVersionHistory for more information on using the GetPackageVersionHistory
  2562  // API call, and error handling.
  2563  //
  2564  // This method is useful when you want to inject custom logic or configuration
  2565  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2566  //
  2567  //
  2568  //    // Example sending a request using the GetPackageVersionHistoryRequest method.
  2569  //    req, resp := client.GetPackageVersionHistoryRequest(params)
  2570  //
  2571  //    err := req.Send()
  2572  //    if err == nil { // resp is now filled
  2573  //        fmt.Println(resp)
  2574  //    }
  2575  func (c *ElasticsearchService) GetPackageVersionHistoryRequest(input *GetPackageVersionHistoryInput) (req *request.Request, output *GetPackageVersionHistoryOutput) {
  2576  	op := &request.Operation{
  2577  		Name:       opGetPackageVersionHistory,
  2578  		HTTPMethod: "GET",
  2579  		HTTPPath:   "/2015-01-01/packages/{PackageID}/history",
  2580  		Paginator: &request.Paginator{
  2581  			InputTokens:     []string{"NextToken"},
  2582  			OutputTokens:    []string{"NextToken"},
  2583  			LimitToken:      "MaxResults",
  2584  			TruncationToken: "",
  2585  		},
  2586  	}
  2587  
  2588  	if input == nil {
  2589  		input = &GetPackageVersionHistoryInput{}
  2590  	}
  2591  
  2592  	output = &GetPackageVersionHistoryOutput{}
  2593  	req = c.newRequest(op, input, output)
  2594  	return
  2595  }
  2596  
  2597  // GetPackageVersionHistory API operation for Amazon Elasticsearch Service.
  2598  //
  2599  // Returns a list of versions of the package, along with their creation time
  2600  // and commit message.
  2601  //
  2602  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2603  // with awserr.Error's Code and Message methods to get detailed information about
  2604  // the error.
  2605  //
  2606  // See the AWS API reference guide for Amazon Elasticsearch Service's
  2607  // API operation GetPackageVersionHistory for usage and error information.
  2608  //
  2609  // Returned Error Types:
  2610  //   * BaseException
  2611  //   An error occurred while processing the request.
  2612  //
  2613  //   * InternalException
  2614  //   The request processing has failed because of an unknown error, exception
  2615  //   or failure (the failure is internal to the service) . Gives http status code
  2616  //   of 500.
  2617  //
  2618  //   * ResourceNotFoundException
  2619  //   An exception for accessing or deleting a resource that does not exist. Gives
  2620  //   http status code of 400.
  2621  //
  2622  //   * AccessDeniedException
  2623  //   An error occurred because user does not have permissions to access the resource.
  2624  //   Returns HTTP status code 403.
  2625  //
  2626  //   * ValidationException
  2627  //   An exception for missing / invalid input fields. Gives http status code of
  2628  //   400.
  2629  //
  2630  func (c *ElasticsearchService) GetPackageVersionHistory(input *GetPackageVersionHistoryInput) (*GetPackageVersionHistoryOutput, error) {
  2631  	req, out := c.GetPackageVersionHistoryRequest(input)
  2632  	return out, req.Send()
  2633  }
  2634  
  2635  // GetPackageVersionHistoryWithContext is the same as GetPackageVersionHistory with the addition of
  2636  // the ability to pass a context and additional request options.
  2637  //
  2638  // See GetPackageVersionHistory for details on how to use this API operation.
  2639  //
  2640  // The context must be non-nil and will be used for request cancellation. If
  2641  // the context is nil a panic will occur. In the future the SDK may create
  2642  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2643  // for more information on using Contexts.
  2644  func (c *ElasticsearchService) GetPackageVersionHistoryWithContext(ctx aws.Context, input *GetPackageVersionHistoryInput, opts ...request.Option) (*GetPackageVersionHistoryOutput, error) {
  2645  	req, out := c.GetPackageVersionHistoryRequest(input)
  2646  	req.SetContext(ctx)
  2647  	req.ApplyOptions(opts...)
  2648  	return out, req.Send()
  2649  }
  2650  
  2651  // GetPackageVersionHistoryPages iterates over the pages of a GetPackageVersionHistory operation,
  2652  // calling the "fn" function with the response data for each page. To stop
  2653  // iterating, return false from the fn function.
  2654  //
  2655  // See GetPackageVersionHistory method for more information on how to use this operation.
  2656  //
  2657  // Note: This operation can generate multiple requests to a service.
  2658  //
  2659  //    // Example iterating over at most 3 pages of a GetPackageVersionHistory operation.
  2660  //    pageNum := 0
  2661  //    err := client.GetPackageVersionHistoryPages(params,
  2662  //        func(page *elasticsearchservice.GetPackageVersionHistoryOutput, lastPage bool) bool {
  2663  //            pageNum++
  2664  //            fmt.Println(page)
  2665  //            return pageNum <= 3
  2666  //        })
  2667  //
  2668  func (c *ElasticsearchService) GetPackageVersionHistoryPages(input *GetPackageVersionHistoryInput, fn func(*GetPackageVersionHistoryOutput, bool) bool) error {
  2669  	return c.GetPackageVersionHistoryPagesWithContext(aws.BackgroundContext(), input, fn)
  2670  }
  2671  
  2672  // GetPackageVersionHistoryPagesWithContext same as GetPackageVersionHistoryPages except
  2673  // it takes a Context and allows setting request options on the pages.
  2674  //
  2675  // The context must be non-nil and will be used for request cancellation. If
  2676  // the context is nil a panic will occur. In the future the SDK may create
  2677  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2678  // for more information on using Contexts.
  2679  func (c *ElasticsearchService) GetPackageVersionHistoryPagesWithContext(ctx aws.Context, input *GetPackageVersionHistoryInput, fn func(*GetPackageVersionHistoryOutput, bool) bool, opts ...request.Option) error {
  2680  	p := request.Pagination{
  2681  		NewRequest: func() (*request.Request, error) {
  2682  			var inCpy *GetPackageVersionHistoryInput
  2683  			if input != nil {
  2684  				tmp := *input
  2685  				inCpy = &tmp
  2686  			}
  2687  			req, _ := c.GetPackageVersionHistoryRequest(inCpy)
  2688  			req.SetContext(ctx)
  2689  			req.ApplyOptions(opts...)
  2690  			return req, nil
  2691  		},
  2692  	}
  2693  
  2694  	for p.Next() {
  2695  		if !fn(p.Page().(*GetPackageVersionHistoryOutput), !p.HasNextPage()) {
  2696  			break
  2697  		}
  2698  	}
  2699  
  2700  	return p.Err()
  2701  }
  2702  
  2703  const opGetUpgradeHistory = "GetUpgradeHistory"
  2704  
  2705  // GetUpgradeHistoryRequest generates a "aws/request.Request" representing the
  2706  // client's request for the GetUpgradeHistory operation. The "output" return
  2707  // value will be populated with the request's response once the request completes
  2708  // successfully.
  2709  //
  2710  // Use "Send" method on the returned Request to send the API call to the service.
  2711  // the "output" return value is not valid until after Send returns without error.
  2712  //
  2713  // See GetUpgradeHistory for more information on using the GetUpgradeHistory
  2714  // API call, and error handling.
  2715  //
  2716  // This method is useful when you want to inject custom logic or configuration
  2717  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2718  //
  2719  //
  2720  //    // Example sending a request using the GetUpgradeHistoryRequest method.
  2721  //    req, resp := client.GetUpgradeHistoryRequest(params)
  2722  //
  2723  //    err := req.Send()
  2724  //    if err == nil { // resp is now filled
  2725  //        fmt.Println(resp)
  2726  //    }
  2727  func (c *ElasticsearchService) GetUpgradeHistoryRequest(input *GetUpgradeHistoryInput) (req *request.Request, output *GetUpgradeHistoryOutput) {
  2728  	op := &request.Operation{
  2729  		Name:       opGetUpgradeHistory,
  2730  		HTTPMethod: "GET",
  2731  		HTTPPath:   "/2015-01-01/es/upgradeDomain/{DomainName}/history",
  2732  		Paginator: &request.Paginator{
  2733  			InputTokens:     []string{"NextToken"},
  2734  			OutputTokens:    []string{"NextToken"},
  2735  			LimitToken:      "MaxResults",
  2736  			TruncationToken: "",
  2737  		},
  2738  	}
  2739  
  2740  	if input == nil {
  2741  		input = &GetUpgradeHistoryInput{}
  2742  	}
  2743  
  2744  	output = &GetUpgradeHistoryOutput{}
  2745  	req = c.newRequest(op, input, output)
  2746  	return
  2747  }
  2748  
  2749  // GetUpgradeHistory API operation for Amazon Elasticsearch Service.
  2750  //
  2751  // Retrieves the complete history of the last 10 upgrades that were performed
  2752  // on the domain.
  2753  //
  2754  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2755  // with awserr.Error's Code and Message methods to get detailed information about
  2756  // the error.
  2757  //
  2758  // See the AWS API reference guide for Amazon Elasticsearch Service's
  2759  // API operation GetUpgradeHistory for usage and error information.
  2760  //
  2761  // Returned Error Types:
  2762  //   * BaseException
  2763  //   An error occurred while processing the request.
  2764  //
  2765  //   * ResourceNotFoundException
  2766  //   An exception for accessing or deleting a resource that does not exist. Gives
  2767  //   http status code of 400.
  2768  //
  2769  //   * DisabledOperationException
  2770  //   An error occured because the client wanted to access a not supported operation.
  2771  //   Gives http status code of 409.
  2772  //
  2773  //   * ValidationException
  2774  //   An exception for missing / invalid input fields. Gives http status code of
  2775  //   400.
  2776  //
  2777  //   * InternalException
  2778  //   The request processing has failed because of an unknown error, exception
  2779  //   or failure (the failure is internal to the service) . Gives http status code
  2780  //   of 500.
  2781  //
  2782  func (c *ElasticsearchService) GetUpgradeHistory(input *GetUpgradeHistoryInput) (*GetUpgradeHistoryOutput, error) {
  2783  	req, out := c.GetUpgradeHistoryRequest(input)
  2784  	return out, req.Send()
  2785  }
  2786  
  2787  // GetUpgradeHistoryWithContext is the same as GetUpgradeHistory with the addition of
  2788  // the ability to pass a context and additional request options.
  2789  //
  2790  // See GetUpgradeHistory for details on how to use this API operation.
  2791  //
  2792  // The context must be non-nil and will be used for request cancellation. If
  2793  // the context is nil a panic will occur. In the future the SDK may create
  2794  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2795  // for more information on using Contexts.
  2796  func (c *ElasticsearchService) GetUpgradeHistoryWithContext(ctx aws.Context, input *GetUpgradeHistoryInput, opts ...request.Option) (*GetUpgradeHistoryOutput, error) {
  2797  	req, out := c.GetUpgradeHistoryRequest(input)
  2798  	req.SetContext(ctx)
  2799  	req.ApplyOptions(opts...)
  2800  	return out, req.Send()
  2801  }
  2802  
  2803  // GetUpgradeHistoryPages iterates over the pages of a GetUpgradeHistory operation,
  2804  // calling the "fn" function with the response data for each page. To stop
  2805  // iterating, return false from the fn function.
  2806  //
  2807  // See GetUpgradeHistory method for more information on how to use this operation.
  2808  //
  2809  // Note: This operation can generate multiple requests to a service.
  2810  //
  2811  //    // Example iterating over at most 3 pages of a GetUpgradeHistory operation.
  2812  //    pageNum := 0
  2813  //    err := client.GetUpgradeHistoryPages(params,
  2814  //        func(page *elasticsearchservice.GetUpgradeHistoryOutput, lastPage bool) bool {
  2815  //            pageNum++
  2816  //            fmt.Println(page)
  2817  //            return pageNum <= 3
  2818  //        })
  2819  //
  2820  func (c *ElasticsearchService) GetUpgradeHistoryPages(input *GetUpgradeHistoryInput, fn func(*GetUpgradeHistoryOutput, bool) bool) error {
  2821  	return c.GetUpgradeHistoryPagesWithContext(aws.BackgroundContext(), input, fn)
  2822  }
  2823  
  2824  // GetUpgradeHistoryPagesWithContext same as GetUpgradeHistoryPages except
  2825  // it takes a Context and allows setting request options on the pages.
  2826  //
  2827  // The context must be non-nil and will be used for request cancellation. If
  2828  // the context is nil a panic will occur. In the future the SDK may create
  2829  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2830  // for more information on using Contexts.
  2831  func (c *ElasticsearchService) GetUpgradeHistoryPagesWithContext(ctx aws.Context, input *GetUpgradeHistoryInput, fn func(*GetUpgradeHistoryOutput, bool) bool, opts ...request.Option) error {
  2832  	p := request.Pagination{
  2833  		NewRequest: func() (*request.Request, error) {
  2834  			var inCpy *GetUpgradeHistoryInput
  2835  			if input != nil {
  2836  				tmp := *input
  2837  				inCpy = &tmp
  2838  			}
  2839  			req, _ := c.GetUpgradeHistoryRequest(inCpy)
  2840  			req.SetContext(ctx)
  2841  			req.ApplyOptions(opts...)
  2842  			return req, nil
  2843  		},
  2844  	}
  2845  
  2846  	for p.Next() {
  2847  		if !fn(p.Page().(*GetUpgradeHistoryOutput), !p.HasNextPage()) {
  2848  			break
  2849  		}
  2850  	}
  2851  
  2852  	return p.Err()
  2853  }
  2854  
  2855  const opGetUpgradeStatus = "GetUpgradeStatus"
  2856  
  2857  // GetUpgradeStatusRequest generates a "aws/request.Request" representing the
  2858  // client's request for the GetUpgradeStatus operation. The "output" return
  2859  // value will be populated with the request's response once the request completes
  2860  // successfully.
  2861  //
  2862  // Use "Send" method on the returned Request to send the API call to the service.
  2863  // the "output" return value is not valid until after Send returns without error.
  2864  //
  2865  // See GetUpgradeStatus for more information on using the GetUpgradeStatus
  2866  // API call, and error handling.
  2867  //
  2868  // This method is useful when you want to inject custom logic or configuration
  2869  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2870  //
  2871  //
  2872  //    // Example sending a request using the GetUpgradeStatusRequest method.
  2873  //    req, resp := client.GetUpgradeStatusRequest(params)
  2874  //
  2875  //    err := req.Send()
  2876  //    if err == nil { // resp is now filled
  2877  //        fmt.Println(resp)
  2878  //    }
  2879  func (c *ElasticsearchService) GetUpgradeStatusRequest(input *GetUpgradeStatusInput) (req *request.Request, output *GetUpgradeStatusOutput) {
  2880  	op := &request.Operation{
  2881  		Name:       opGetUpgradeStatus,
  2882  		HTTPMethod: "GET",
  2883  		HTTPPath:   "/2015-01-01/es/upgradeDomain/{DomainName}/status",
  2884  	}
  2885  
  2886  	if input == nil {
  2887  		input = &GetUpgradeStatusInput{}
  2888  	}
  2889  
  2890  	output = &GetUpgradeStatusOutput{}
  2891  	req = c.newRequest(op, input, output)
  2892  	return
  2893  }
  2894  
  2895  // GetUpgradeStatus API operation for Amazon Elasticsearch Service.
  2896  //
  2897  // Retrieves the latest status of the last upgrade or upgrade eligibility check
  2898  // that was performed on the domain.
  2899  //
  2900  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2901  // with awserr.Error's Code and Message methods to get detailed information about
  2902  // the error.
  2903  //
  2904  // See the AWS API reference guide for Amazon Elasticsearch Service's
  2905  // API operation GetUpgradeStatus for usage and error information.
  2906  //
  2907  // Returned Error Types:
  2908  //   * BaseException
  2909  //   An error occurred while processing the request.
  2910  //
  2911  //   * ResourceNotFoundException
  2912  //   An exception for accessing or deleting a resource that does not exist. Gives
  2913  //   http status code of 400.
  2914  //
  2915  //   * DisabledOperationException
  2916  //   An error occured because the client wanted to access a not supported operation.
  2917  //   Gives http status code of 409.
  2918  //
  2919  //   * ValidationException
  2920  //   An exception for missing / invalid input fields. Gives http status code of
  2921  //   400.
  2922  //
  2923  //   * InternalException
  2924  //   The request processing has failed because of an unknown error, exception
  2925  //   or failure (the failure is internal to the service) . Gives http status code
  2926  //   of 500.
  2927  //
  2928  func (c *ElasticsearchService) GetUpgradeStatus(input *GetUpgradeStatusInput) (*GetUpgradeStatusOutput, error) {
  2929  	req, out := c.GetUpgradeStatusRequest(input)
  2930  	return out, req.Send()
  2931  }
  2932  
  2933  // GetUpgradeStatusWithContext is the same as GetUpgradeStatus with the addition of
  2934  // the ability to pass a context and additional request options.
  2935  //
  2936  // See GetUpgradeStatus for details on how to use this API operation.
  2937  //
  2938  // The context must be non-nil and will be used for request cancellation. If
  2939  // the context is nil a panic will occur. In the future the SDK may create
  2940  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2941  // for more information on using Contexts.
  2942  func (c *ElasticsearchService) GetUpgradeStatusWithContext(ctx aws.Context, input *GetUpgradeStatusInput, opts ...request.Option) (*GetUpgradeStatusOutput, error) {
  2943  	req, out := c.GetUpgradeStatusRequest(input)
  2944  	req.SetContext(ctx)
  2945  	req.ApplyOptions(opts...)
  2946  	return out, req.Send()
  2947  }
  2948  
  2949  const opListDomainNames = "ListDomainNames"
  2950  
  2951  // ListDomainNamesRequest generates a "aws/request.Request" representing the
  2952  // client's request for the ListDomainNames operation. The "output" return
  2953  // value will be populated with the request's response once the request completes
  2954  // successfully.
  2955  //
  2956  // Use "Send" method on the returned Request to send the API call to the service.
  2957  // the "output" return value is not valid until after Send returns without error.
  2958  //
  2959  // See ListDomainNames for more information on using the ListDomainNames
  2960  // API call, and error handling.
  2961  //
  2962  // This method is useful when you want to inject custom logic or configuration
  2963  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2964  //
  2965  //
  2966  //    // Example sending a request using the ListDomainNamesRequest method.
  2967  //    req, resp := client.ListDomainNamesRequest(params)
  2968  //
  2969  //    err := req.Send()
  2970  //    if err == nil { // resp is now filled
  2971  //        fmt.Println(resp)
  2972  //    }
  2973  func (c *ElasticsearchService) ListDomainNamesRequest(input *ListDomainNamesInput) (req *request.Request, output *ListDomainNamesOutput) {
  2974  	op := &request.Operation{
  2975  		Name:       opListDomainNames,
  2976  		HTTPMethod: "GET",
  2977  		HTTPPath:   "/2015-01-01/domain",
  2978  	}
  2979  
  2980  	if input == nil {
  2981  		input = &ListDomainNamesInput{}
  2982  	}
  2983  
  2984  	output = &ListDomainNamesOutput{}
  2985  	req = c.newRequest(op, input, output)
  2986  	return
  2987  }
  2988  
  2989  // ListDomainNames API operation for Amazon Elasticsearch Service.
  2990  //
  2991  // Returns the name of all Elasticsearch domains owned by the current user's
  2992  // account.
  2993  //
  2994  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2995  // with awserr.Error's Code and Message methods to get detailed information about
  2996  // the error.
  2997  //
  2998  // See the AWS API reference guide for Amazon Elasticsearch Service's
  2999  // API operation ListDomainNames for usage and error information.
  3000  //
  3001  // Returned Error Types:
  3002  //   * BaseException
  3003  //   An error occurred while processing the request.
  3004  //
  3005  //   * ValidationException
  3006  //   An exception for missing / invalid input fields. Gives http status code of
  3007  //   400.
  3008  //
  3009  func (c *ElasticsearchService) ListDomainNames(input *ListDomainNamesInput) (*ListDomainNamesOutput, error) {
  3010  	req, out := c.ListDomainNamesRequest(input)
  3011  	return out, req.Send()
  3012  }
  3013  
  3014  // ListDomainNamesWithContext is the same as ListDomainNames with the addition of
  3015  // the ability to pass a context and additional request options.
  3016  //
  3017  // See ListDomainNames for details on how to use this API operation.
  3018  //
  3019  // The context must be non-nil and will be used for request cancellation. If
  3020  // the context is nil a panic will occur. In the future the SDK may create
  3021  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3022  // for more information on using Contexts.
  3023  func (c *ElasticsearchService) ListDomainNamesWithContext(ctx aws.Context, input *ListDomainNamesInput, opts ...request.Option) (*ListDomainNamesOutput, error) {
  3024  	req, out := c.ListDomainNamesRequest(input)
  3025  	req.SetContext(ctx)
  3026  	req.ApplyOptions(opts...)
  3027  	return out, req.Send()
  3028  }
  3029  
  3030  const opListDomainsForPackage = "ListDomainsForPackage"
  3031  
  3032  // ListDomainsForPackageRequest generates a "aws/request.Request" representing the
  3033  // client's request for the ListDomainsForPackage operation. The "output" return
  3034  // value will be populated with the request's response once the request completes
  3035  // successfully.
  3036  //
  3037  // Use "Send" method on the returned Request to send the API call to the service.
  3038  // the "output" return value is not valid until after Send returns without error.
  3039  //
  3040  // See ListDomainsForPackage for more information on using the ListDomainsForPackage
  3041  // API call, and error handling.
  3042  //
  3043  // This method is useful when you want to inject custom logic or configuration
  3044  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3045  //
  3046  //
  3047  //    // Example sending a request using the ListDomainsForPackageRequest method.
  3048  //    req, resp := client.ListDomainsForPackageRequest(params)
  3049  //
  3050  //    err := req.Send()
  3051  //    if err == nil { // resp is now filled
  3052  //        fmt.Println(resp)
  3053  //    }
  3054  func (c *ElasticsearchService) ListDomainsForPackageRequest(input *ListDomainsForPackageInput) (req *request.Request, output *ListDomainsForPackageOutput) {
  3055  	op := &request.Operation{
  3056  		Name:       opListDomainsForPackage,
  3057  		HTTPMethod: "GET",
  3058  		HTTPPath:   "/2015-01-01/packages/{PackageID}/domains",
  3059  		Paginator: &request.Paginator{
  3060  			InputTokens:     []string{"NextToken"},
  3061  			OutputTokens:    []string{"NextToken"},
  3062  			LimitToken:      "MaxResults",
  3063  			TruncationToken: "",
  3064  		},
  3065  	}
  3066  
  3067  	if input == nil {
  3068  		input = &ListDomainsForPackageInput{}
  3069  	}
  3070  
  3071  	output = &ListDomainsForPackageOutput{}
  3072  	req = c.newRequest(op, input, output)
  3073  	return
  3074  }
  3075  
  3076  // ListDomainsForPackage API operation for Amazon Elasticsearch Service.
  3077  //
  3078  // Lists all Amazon ES domains associated with the package.
  3079  //
  3080  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3081  // with awserr.Error's Code and Message methods to get detailed information about
  3082  // the error.
  3083  //
  3084  // See the AWS API reference guide for Amazon Elasticsearch Service's
  3085  // API operation ListDomainsForPackage for usage and error information.
  3086  //
  3087  // Returned Error Types:
  3088  //   * BaseException
  3089  //   An error occurred while processing the request.
  3090  //
  3091  //   * InternalException
  3092  //   The request processing has failed because of an unknown error, exception
  3093  //   or failure (the failure is internal to the service) . Gives http status code
  3094  //   of 500.
  3095  //
  3096  //   * ResourceNotFoundException
  3097  //   An exception for accessing or deleting a resource that does not exist. Gives
  3098  //   http status code of 400.
  3099  //
  3100  //   * AccessDeniedException
  3101  //   An error occurred because user does not have permissions to access the resource.
  3102  //   Returns HTTP status code 403.
  3103  //
  3104  //   * ValidationException
  3105  //   An exception for missing / invalid input fields. Gives http status code of
  3106  //   400.
  3107  //
  3108  func (c *ElasticsearchService) ListDomainsForPackage(input *ListDomainsForPackageInput) (*ListDomainsForPackageOutput, error) {
  3109  	req, out := c.ListDomainsForPackageRequest(input)
  3110  	return out, req.Send()
  3111  }
  3112  
  3113  // ListDomainsForPackageWithContext is the same as ListDomainsForPackage with the addition of
  3114  // the ability to pass a context and additional request options.
  3115  //
  3116  // See ListDomainsForPackage for details on how to use this API operation.
  3117  //
  3118  // The context must be non-nil and will be used for request cancellation. If
  3119  // the context is nil a panic will occur. In the future the SDK may create
  3120  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3121  // for more information on using Contexts.
  3122  func (c *ElasticsearchService) ListDomainsForPackageWithContext(ctx aws.Context, input *ListDomainsForPackageInput, opts ...request.Option) (*ListDomainsForPackageOutput, error) {
  3123  	req, out := c.ListDomainsForPackageRequest(input)
  3124  	req.SetContext(ctx)
  3125  	req.ApplyOptions(opts...)
  3126  	return out, req.Send()
  3127  }
  3128  
  3129  // ListDomainsForPackagePages iterates over the pages of a ListDomainsForPackage operation,
  3130  // calling the "fn" function with the response data for each page. To stop
  3131  // iterating, return false from the fn function.
  3132  //
  3133  // See ListDomainsForPackage method for more information on how to use this operation.
  3134  //
  3135  // Note: This operation can generate multiple requests to a service.
  3136  //
  3137  //    // Example iterating over at most 3 pages of a ListDomainsForPackage operation.
  3138  //    pageNum := 0
  3139  //    err := client.ListDomainsForPackagePages(params,
  3140  //        func(page *elasticsearchservice.ListDomainsForPackageOutput, lastPage bool) bool {
  3141  //            pageNum++
  3142  //            fmt.Println(page)
  3143  //            return pageNum <= 3
  3144  //        })
  3145  //
  3146  func (c *ElasticsearchService) ListDomainsForPackagePages(input *ListDomainsForPackageInput, fn func(*ListDomainsForPackageOutput, bool) bool) error {
  3147  	return c.ListDomainsForPackagePagesWithContext(aws.BackgroundContext(), input, fn)
  3148  }
  3149  
  3150  // ListDomainsForPackagePagesWithContext same as ListDomainsForPackagePages except
  3151  // it takes a Context and allows setting request options on the pages.
  3152  //
  3153  // The context must be non-nil and will be used for request cancellation. If
  3154  // the context is nil a panic will occur. In the future the SDK may create
  3155  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3156  // for more information on using Contexts.
  3157  func (c *ElasticsearchService) ListDomainsForPackagePagesWithContext(ctx aws.Context, input *ListDomainsForPackageInput, fn func(*ListDomainsForPackageOutput, bool) bool, opts ...request.Option) error {
  3158  	p := request.Pagination{
  3159  		NewRequest: func() (*request.Request, error) {
  3160  			var inCpy *ListDomainsForPackageInput
  3161  			if input != nil {
  3162  				tmp := *input
  3163  				inCpy = &tmp
  3164  			}
  3165  			req, _ := c.ListDomainsForPackageRequest(inCpy)
  3166  			req.SetContext(ctx)
  3167  			req.ApplyOptions(opts...)
  3168  			return req, nil
  3169  		},
  3170  	}
  3171  
  3172  	for p.Next() {
  3173  		if !fn(p.Page().(*ListDomainsForPackageOutput), !p.HasNextPage()) {
  3174  			break
  3175  		}
  3176  	}
  3177  
  3178  	return p.Err()
  3179  }
  3180  
  3181  const opListElasticsearchInstanceTypes = "ListElasticsearchInstanceTypes"
  3182  
  3183  // ListElasticsearchInstanceTypesRequest generates a "aws/request.Request" representing the
  3184  // client's request for the ListElasticsearchInstanceTypes operation. The "output" return
  3185  // value will be populated with the request's response once the request completes
  3186  // successfully.
  3187  //
  3188  // Use "Send" method on the returned Request to send the API call to the service.
  3189  // the "output" return value is not valid until after Send returns without error.
  3190  //
  3191  // See ListElasticsearchInstanceTypes for more information on using the ListElasticsearchInstanceTypes
  3192  // API call, and error handling.
  3193  //
  3194  // This method is useful when you want to inject custom logic or configuration
  3195  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3196  //
  3197  //
  3198  //    // Example sending a request using the ListElasticsearchInstanceTypesRequest method.
  3199  //    req, resp := client.ListElasticsearchInstanceTypesRequest(params)
  3200  //
  3201  //    err := req.Send()
  3202  //    if err == nil { // resp is now filled
  3203  //        fmt.Println(resp)
  3204  //    }
  3205  func (c *ElasticsearchService) ListElasticsearchInstanceTypesRequest(input *ListElasticsearchInstanceTypesInput) (req *request.Request, output *ListElasticsearchInstanceTypesOutput) {
  3206  	op := &request.Operation{
  3207  		Name:       opListElasticsearchInstanceTypes,
  3208  		HTTPMethod: "GET",
  3209  		HTTPPath:   "/2015-01-01/es/instanceTypes/{ElasticsearchVersion}",
  3210  		Paginator: &request.Paginator{
  3211  			InputTokens:     []string{"NextToken"},
  3212  			OutputTokens:    []string{"NextToken"},
  3213  			LimitToken:      "MaxResults",
  3214  			TruncationToken: "",
  3215  		},
  3216  	}
  3217  
  3218  	if input == nil {
  3219  		input = &ListElasticsearchInstanceTypesInput{}
  3220  	}
  3221  
  3222  	output = &ListElasticsearchInstanceTypesOutput{}
  3223  	req = c.newRequest(op, input, output)
  3224  	return
  3225  }
  3226  
  3227  // ListElasticsearchInstanceTypes API operation for Amazon Elasticsearch Service.
  3228  //
  3229  // List all Elasticsearch instance types that are supported for given ElasticsearchVersion
  3230  //
  3231  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3232  // with awserr.Error's Code and Message methods to get detailed information about
  3233  // the error.
  3234  //
  3235  // See the AWS API reference guide for Amazon Elasticsearch Service's
  3236  // API operation ListElasticsearchInstanceTypes for usage and error information.
  3237  //
  3238  // Returned Error Types:
  3239  //   * BaseException
  3240  //   An error occurred while processing the request.
  3241  //
  3242  //   * InternalException
  3243  //   The request processing has failed because of an unknown error, exception
  3244  //   or failure (the failure is internal to the service) . Gives http status code
  3245  //   of 500.
  3246  //
  3247  //   * ResourceNotFoundException
  3248  //   An exception for accessing or deleting a resource that does not exist. Gives
  3249  //   http status code of 400.
  3250  //
  3251  //   * ValidationException
  3252  //   An exception for missing / invalid input fields. Gives http status code of
  3253  //   400.
  3254  //
  3255  func (c *ElasticsearchService) ListElasticsearchInstanceTypes(input *ListElasticsearchInstanceTypesInput) (*ListElasticsearchInstanceTypesOutput, error) {
  3256  	req, out := c.ListElasticsearchInstanceTypesRequest(input)
  3257  	return out, req.Send()
  3258  }
  3259  
  3260  // ListElasticsearchInstanceTypesWithContext is the same as ListElasticsearchInstanceTypes with the addition of
  3261  // the ability to pass a context and additional request options.
  3262  //
  3263  // See ListElasticsearchInstanceTypes for details on how to use this API operation.
  3264  //
  3265  // The context must be non-nil and will be used for request cancellation. If
  3266  // the context is nil a panic will occur. In the future the SDK may create
  3267  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3268  // for more information on using Contexts.
  3269  func (c *ElasticsearchService) ListElasticsearchInstanceTypesWithContext(ctx aws.Context, input *ListElasticsearchInstanceTypesInput, opts ...request.Option) (*ListElasticsearchInstanceTypesOutput, error) {
  3270  	req, out := c.ListElasticsearchInstanceTypesRequest(input)
  3271  	req.SetContext(ctx)
  3272  	req.ApplyOptions(opts...)
  3273  	return out, req.Send()
  3274  }
  3275  
  3276  // ListElasticsearchInstanceTypesPages iterates over the pages of a ListElasticsearchInstanceTypes operation,
  3277  // calling the "fn" function with the response data for each page. To stop
  3278  // iterating, return false from the fn function.
  3279  //
  3280  // See ListElasticsearchInstanceTypes method for more information on how to use this operation.
  3281  //
  3282  // Note: This operation can generate multiple requests to a service.
  3283  //
  3284  //    // Example iterating over at most 3 pages of a ListElasticsearchInstanceTypes operation.
  3285  //    pageNum := 0
  3286  //    err := client.ListElasticsearchInstanceTypesPages(params,
  3287  //        func(page *elasticsearchservice.ListElasticsearchInstanceTypesOutput, lastPage bool) bool {
  3288  //            pageNum++
  3289  //            fmt.Println(page)
  3290  //            return pageNum <= 3
  3291  //        })
  3292  //
  3293  func (c *ElasticsearchService) ListElasticsearchInstanceTypesPages(input *ListElasticsearchInstanceTypesInput, fn func(*ListElasticsearchInstanceTypesOutput, bool) bool) error {
  3294  	return c.ListElasticsearchInstanceTypesPagesWithContext(aws.BackgroundContext(), input, fn)
  3295  }
  3296  
  3297  // ListElasticsearchInstanceTypesPagesWithContext same as ListElasticsearchInstanceTypesPages except
  3298  // it takes a Context and allows setting request options on the pages.
  3299  //
  3300  // The context must be non-nil and will be used for request cancellation. If
  3301  // the context is nil a panic will occur. In the future the SDK may create
  3302  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3303  // for more information on using Contexts.
  3304  func (c *ElasticsearchService) ListElasticsearchInstanceTypesPagesWithContext(ctx aws.Context, input *ListElasticsearchInstanceTypesInput, fn func(*ListElasticsearchInstanceTypesOutput, bool) bool, opts ...request.Option) error {
  3305  	p := request.Pagination{
  3306  		NewRequest: func() (*request.Request, error) {
  3307  			var inCpy *ListElasticsearchInstanceTypesInput
  3308  			if input != nil {
  3309  				tmp := *input
  3310  				inCpy = &tmp
  3311  			}
  3312  			req, _ := c.ListElasticsearchInstanceTypesRequest(inCpy)
  3313  			req.SetContext(ctx)
  3314  			req.ApplyOptions(opts...)
  3315  			return req, nil
  3316  		},
  3317  	}
  3318  
  3319  	for p.Next() {
  3320  		if !fn(p.Page().(*ListElasticsearchInstanceTypesOutput), !p.HasNextPage()) {
  3321  			break
  3322  		}
  3323  	}
  3324  
  3325  	return p.Err()
  3326  }
  3327  
  3328  const opListElasticsearchVersions = "ListElasticsearchVersions"
  3329  
  3330  // ListElasticsearchVersionsRequest generates a "aws/request.Request" representing the
  3331  // client's request for the ListElasticsearchVersions operation. The "output" return
  3332  // value will be populated with the request's response once the request completes
  3333  // successfully.
  3334  //
  3335  // Use "Send" method on the returned Request to send the API call to the service.
  3336  // the "output" return value is not valid until after Send returns without error.
  3337  //
  3338  // See ListElasticsearchVersions for more information on using the ListElasticsearchVersions
  3339  // API call, and error handling.
  3340  //
  3341  // This method is useful when you want to inject custom logic or configuration
  3342  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3343  //
  3344  //
  3345  //    // Example sending a request using the ListElasticsearchVersionsRequest method.
  3346  //    req, resp := client.ListElasticsearchVersionsRequest(params)
  3347  //
  3348  //    err := req.Send()
  3349  //    if err == nil { // resp is now filled
  3350  //        fmt.Println(resp)
  3351  //    }
  3352  func (c *ElasticsearchService) ListElasticsearchVersionsRequest(input *ListElasticsearchVersionsInput) (req *request.Request, output *ListElasticsearchVersionsOutput) {
  3353  	op := &request.Operation{
  3354  		Name:       opListElasticsearchVersions,
  3355  		HTTPMethod: "GET",
  3356  		HTTPPath:   "/2015-01-01/es/versions",
  3357  		Paginator: &request.Paginator{
  3358  			InputTokens:     []string{"NextToken"},
  3359  			OutputTokens:    []string{"NextToken"},
  3360  			LimitToken:      "MaxResults",
  3361  			TruncationToken: "",
  3362  		},
  3363  	}
  3364  
  3365  	if input == nil {
  3366  		input = &ListElasticsearchVersionsInput{}
  3367  	}
  3368  
  3369  	output = &ListElasticsearchVersionsOutput{}
  3370  	req = c.newRequest(op, input, output)
  3371  	return
  3372  }
  3373  
  3374  // ListElasticsearchVersions API operation for Amazon Elasticsearch Service.
  3375  //
  3376  // List all supported Elasticsearch versions
  3377  //
  3378  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3379  // with awserr.Error's Code and Message methods to get detailed information about
  3380  // the error.
  3381  //
  3382  // See the AWS API reference guide for Amazon Elasticsearch Service's
  3383  // API operation ListElasticsearchVersions for usage and error information.
  3384  //
  3385  // Returned Error Types:
  3386  //   * BaseException
  3387  //   An error occurred while processing the request.
  3388  //
  3389  //   * InternalException
  3390  //   The request processing has failed because of an unknown error, exception
  3391  //   or failure (the failure is internal to the service) . Gives http status code
  3392  //   of 500.
  3393  //
  3394  //   * ResourceNotFoundException
  3395  //   An exception for accessing or deleting a resource that does not exist. Gives
  3396  //   http status code of 400.
  3397  //
  3398  //   * ValidationException
  3399  //   An exception for missing / invalid input fields. Gives http status code of
  3400  //   400.
  3401  //
  3402  func (c *ElasticsearchService) ListElasticsearchVersions(input *ListElasticsearchVersionsInput) (*ListElasticsearchVersionsOutput, error) {
  3403  	req, out := c.ListElasticsearchVersionsRequest(input)
  3404  	return out, req.Send()
  3405  }
  3406  
  3407  // ListElasticsearchVersionsWithContext is the same as ListElasticsearchVersions with the addition of
  3408  // the ability to pass a context and additional request options.
  3409  //
  3410  // See ListElasticsearchVersions for details on how to use this API operation.
  3411  //
  3412  // The context must be non-nil and will be used for request cancellation. If
  3413  // the context is nil a panic will occur. In the future the SDK may create
  3414  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3415  // for more information on using Contexts.
  3416  func (c *ElasticsearchService) ListElasticsearchVersionsWithContext(ctx aws.Context, input *ListElasticsearchVersionsInput, opts ...request.Option) (*ListElasticsearchVersionsOutput, error) {
  3417  	req, out := c.ListElasticsearchVersionsRequest(input)
  3418  	req.SetContext(ctx)
  3419  	req.ApplyOptions(opts...)
  3420  	return out, req.Send()
  3421  }
  3422  
  3423  // ListElasticsearchVersionsPages iterates over the pages of a ListElasticsearchVersions operation,
  3424  // calling the "fn" function with the response data for each page. To stop
  3425  // iterating, return false from the fn function.
  3426  //
  3427  // See ListElasticsearchVersions method for more information on how to use this operation.
  3428  //
  3429  // Note: This operation can generate multiple requests to a service.
  3430  //
  3431  //    // Example iterating over at most 3 pages of a ListElasticsearchVersions operation.
  3432  //    pageNum := 0
  3433  //    err := client.ListElasticsearchVersionsPages(params,
  3434  //        func(page *elasticsearchservice.ListElasticsearchVersionsOutput, lastPage bool) bool {
  3435  //            pageNum++
  3436  //            fmt.Println(page)
  3437  //            return pageNum <= 3
  3438  //        })
  3439  //
  3440  func (c *ElasticsearchService) ListElasticsearchVersionsPages(input *ListElasticsearchVersionsInput, fn func(*ListElasticsearchVersionsOutput, bool) bool) error {
  3441  	return c.ListElasticsearchVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
  3442  }
  3443  
  3444  // ListElasticsearchVersionsPagesWithContext same as ListElasticsearchVersionsPages except
  3445  // it takes a Context and allows setting request options on the pages.
  3446  //
  3447  // The context must be non-nil and will be used for request cancellation. If
  3448  // the context is nil a panic will occur. In the future the SDK may create
  3449  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3450  // for more information on using Contexts.
  3451  func (c *ElasticsearchService) ListElasticsearchVersionsPagesWithContext(ctx aws.Context, input *ListElasticsearchVersionsInput, fn func(*ListElasticsearchVersionsOutput, bool) bool, opts ...request.Option) error {
  3452  	p := request.Pagination{
  3453  		NewRequest: func() (*request.Request, error) {
  3454  			var inCpy *ListElasticsearchVersionsInput
  3455  			if input != nil {
  3456  				tmp := *input
  3457  				inCpy = &tmp
  3458  			}
  3459  			req, _ := c.ListElasticsearchVersionsRequest(inCpy)
  3460  			req.SetContext(ctx)
  3461  			req.ApplyOptions(opts...)
  3462  			return req, nil
  3463  		},
  3464  	}
  3465  
  3466  	for p.Next() {
  3467  		if !fn(p.Page().(*ListElasticsearchVersionsOutput), !p.HasNextPage()) {
  3468  			break
  3469  		}
  3470  	}
  3471  
  3472  	return p.Err()
  3473  }
  3474  
  3475  const opListPackagesForDomain = "ListPackagesForDomain"
  3476  
  3477  // ListPackagesForDomainRequest generates a "aws/request.Request" representing the
  3478  // client's request for the ListPackagesForDomain operation. The "output" return
  3479  // value will be populated with the request's response once the request completes
  3480  // successfully.
  3481  //
  3482  // Use "Send" method on the returned Request to send the API call to the service.
  3483  // the "output" return value is not valid until after Send returns without error.
  3484  //
  3485  // See ListPackagesForDomain for more information on using the ListPackagesForDomain
  3486  // API call, and error handling.
  3487  //
  3488  // This method is useful when you want to inject custom logic or configuration
  3489  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3490  //
  3491  //
  3492  //    // Example sending a request using the ListPackagesForDomainRequest method.
  3493  //    req, resp := client.ListPackagesForDomainRequest(params)
  3494  //
  3495  //    err := req.Send()
  3496  //    if err == nil { // resp is now filled
  3497  //        fmt.Println(resp)
  3498  //    }
  3499  func (c *ElasticsearchService) ListPackagesForDomainRequest(input *ListPackagesForDomainInput) (req *request.Request, output *ListPackagesForDomainOutput) {
  3500  	op := &request.Operation{
  3501  		Name:       opListPackagesForDomain,
  3502  		HTTPMethod: "GET",
  3503  		HTTPPath:   "/2015-01-01/domain/{DomainName}/packages",
  3504  		Paginator: &request.Paginator{
  3505  			InputTokens:     []string{"NextToken"},
  3506  			OutputTokens:    []string{"NextToken"},
  3507  			LimitToken:      "MaxResults",
  3508  			TruncationToken: "",
  3509  		},
  3510  	}
  3511  
  3512  	if input == nil {
  3513  		input = &ListPackagesForDomainInput{}
  3514  	}
  3515  
  3516  	output = &ListPackagesForDomainOutput{}
  3517  	req = c.newRequest(op, input, output)
  3518  	return
  3519  }
  3520  
  3521  // ListPackagesForDomain API operation for Amazon Elasticsearch Service.
  3522  //
  3523  // Lists all packages associated with the Amazon ES domain.
  3524  //
  3525  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3526  // with awserr.Error's Code and Message methods to get detailed information about
  3527  // the error.
  3528  //
  3529  // See the AWS API reference guide for Amazon Elasticsearch Service's
  3530  // API operation ListPackagesForDomain for usage and error information.
  3531  //
  3532  // Returned Error Types:
  3533  //   * BaseException
  3534  //   An error occurred while processing the request.
  3535  //
  3536  //   * InternalException
  3537  //   The request processing has failed because of an unknown error, exception
  3538  //   or failure (the failure is internal to the service) . Gives http status code
  3539  //   of 500.
  3540  //
  3541  //   * ResourceNotFoundException
  3542  //   An exception for accessing or deleting a resource that does not exist. Gives
  3543  //   http status code of 400.
  3544  //
  3545  //   * AccessDeniedException
  3546  //   An error occurred because user does not have permissions to access the resource.
  3547  //   Returns HTTP status code 403.
  3548  //
  3549  //   * ValidationException
  3550  //   An exception for missing / invalid input fields. Gives http status code of
  3551  //   400.
  3552  //
  3553  func (c *ElasticsearchService) ListPackagesForDomain(input *ListPackagesForDomainInput) (*ListPackagesForDomainOutput, error) {
  3554  	req, out := c.ListPackagesForDomainRequest(input)
  3555  	return out, req.Send()
  3556  }
  3557  
  3558  // ListPackagesForDomainWithContext is the same as ListPackagesForDomain with the addition of
  3559  // the ability to pass a context and additional request options.
  3560  //
  3561  // See ListPackagesForDomain for details on how to use this API operation.
  3562  //
  3563  // The context must be non-nil and will be used for request cancellation. If
  3564  // the context is nil a panic will occur. In the future the SDK may create
  3565  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3566  // for more information on using Contexts.
  3567  func (c *ElasticsearchService) ListPackagesForDomainWithContext(ctx aws.Context, input *ListPackagesForDomainInput, opts ...request.Option) (*ListPackagesForDomainOutput, error) {
  3568  	req, out := c.ListPackagesForDomainRequest(input)
  3569  	req.SetContext(ctx)
  3570  	req.ApplyOptions(opts...)
  3571  	return out, req.Send()
  3572  }
  3573  
  3574  // ListPackagesForDomainPages iterates over the pages of a ListPackagesForDomain operation,
  3575  // calling the "fn" function with the response data for each page. To stop
  3576  // iterating, return false from the fn function.
  3577  //
  3578  // See ListPackagesForDomain method for more information on how to use this operation.
  3579  //
  3580  // Note: This operation can generate multiple requests to a service.
  3581  //
  3582  //    // Example iterating over at most 3 pages of a ListPackagesForDomain operation.
  3583  //    pageNum := 0
  3584  //    err := client.ListPackagesForDomainPages(params,
  3585  //        func(page *elasticsearchservice.ListPackagesForDomainOutput, lastPage bool) bool {
  3586  //            pageNum++
  3587  //            fmt.Println(page)
  3588  //            return pageNum <= 3
  3589  //        })
  3590  //
  3591  func (c *ElasticsearchService) ListPackagesForDomainPages(input *ListPackagesForDomainInput, fn func(*ListPackagesForDomainOutput, bool) bool) error {
  3592  	return c.ListPackagesForDomainPagesWithContext(aws.BackgroundContext(), input, fn)
  3593  }
  3594  
  3595  // ListPackagesForDomainPagesWithContext same as ListPackagesForDomainPages except
  3596  // it takes a Context and allows setting request options on the pages.
  3597  //
  3598  // The context must be non-nil and will be used for request cancellation. If
  3599  // the context is nil a panic will occur. In the future the SDK may create
  3600  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3601  // for more information on using Contexts.
  3602  func (c *ElasticsearchService) ListPackagesForDomainPagesWithContext(ctx aws.Context, input *ListPackagesForDomainInput, fn func(*ListPackagesForDomainOutput, bool) bool, opts ...request.Option) error {
  3603  	p := request.Pagination{
  3604  		NewRequest: func() (*request.Request, error) {
  3605  			var inCpy *ListPackagesForDomainInput
  3606  			if input != nil {
  3607  				tmp := *input
  3608  				inCpy = &tmp
  3609  			}
  3610  			req, _ := c.ListPackagesForDomainRequest(inCpy)
  3611  			req.SetContext(ctx)
  3612  			req.ApplyOptions(opts...)
  3613  			return req, nil
  3614  		},
  3615  	}
  3616  
  3617  	for p.Next() {
  3618  		if !fn(p.Page().(*ListPackagesForDomainOutput), !p.HasNextPage()) {
  3619  			break
  3620  		}
  3621  	}
  3622  
  3623  	return p.Err()
  3624  }
  3625  
  3626  const opListTags = "ListTags"
  3627  
  3628  // ListTagsRequest generates a "aws/request.Request" representing the
  3629  // client's request for the ListTags operation. The "output" return
  3630  // value will be populated with the request's response once the request completes
  3631  // successfully.
  3632  //
  3633  // Use "Send" method on the returned Request to send the API call to the service.
  3634  // the "output" return value is not valid until after Send returns without error.
  3635  //
  3636  // See ListTags for more information on using the ListTags
  3637  // API call, and error handling.
  3638  //
  3639  // This method is useful when you want to inject custom logic or configuration
  3640  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3641  //
  3642  //
  3643  //    // Example sending a request using the ListTagsRequest method.
  3644  //    req, resp := client.ListTagsRequest(params)
  3645  //
  3646  //    err := req.Send()
  3647  //    if err == nil { // resp is now filled
  3648  //        fmt.Println(resp)
  3649  //    }
  3650  func (c *ElasticsearchService) ListTagsRequest(input *ListTagsInput) (req *request.Request, output *ListTagsOutput) {
  3651  	op := &request.Operation{
  3652  		Name:       opListTags,
  3653  		HTTPMethod: "GET",
  3654  		HTTPPath:   "/2015-01-01/tags/",
  3655  	}
  3656  
  3657  	if input == nil {
  3658  		input = &ListTagsInput{}
  3659  	}
  3660  
  3661  	output = &ListTagsOutput{}
  3662  	req = c.newRequest(op, input, output)
  3663  	return
  3664  }
  3665  
  3666  // ListTags API operation for Amazon Elasticsearch Service.
  3667  //
  3668  // Returns all tags for the given Elasticsearch domain.
  3669  //
  3670  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3671  // with awserr.Error's Code and Message methods to get detailed information about
  3672  // the error.
  3673  //
  3674  // See the AWS API reference guide for Amazon Elasticsearch Service's
  3675  // API operation ListTags for usage and error information.
  3676  //
  3677  // Returned Error Types:
  3678  //   * BaseException
  3679  //   An error occurred while processing the request.
  3680  //
  3681  //   * ResourceNotFoundException
  3682  //   An exception for accessing or deleting a resource that does not exist. Gives
  3683  //   http status code of 400.
  3684  //
  3685  //   * ValidationException
  3686  //   An exception for missing / invalid input fields. Gives http status code of
  3687  //   400.
  3688  //
  3689  //   * InternalException
  3690  //   The request processing has failed because of an unknown error, exception
  3691  //   or failure (the failure is internal to the service) . Gives http status code
  3692  //   of 500.
  3693  //
  3694  func (c *ElasticsearchService) ListTags(input *ListTagsInput) (*ListTagsOutput, error) {
  3695  	req, out := c.ListTagsRequest(input)
  3696  	return out, req.Send()
  3697  }
  3698  
  3699  // ListTagsWithContext is the same as ListTags with the addition of
  3700  // the ability to pass a context and additional request options.
  3701  //
  3702  // See ListTags for details on how to use this API operation.
  3703  //
  3704  // The context must be non-nil and will be used for request cancellation. If
  3705  // the context is nil a panic will occur. In the future the SDK may create
  3706  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3707  // for more information on using Contexts.
  3708  func (c *ElasticsearchService) ListTagsWithContext(ctx aws.Context, input *ListTagsInput, opts ...request.Option) (*ListTagsOutput, error) {
  3709  	req, out := c.ListTagsRequest(input)
  3710  	req.SetContext(ctx)
  3711  	req.ApplyOptions(opts...)
  3712  	return out, req.Send()
  3713  }
  3714  
  3715  const opPurchaseReservedElasticsearchInstanceOffering = "PurchaseReservedElasticsearchInstanceOffering"
  3716  
  3717  // PurchaseReservedElasticsearchInstanceOfferingRequest generates a "aws/request.Request" representing the
  3718  // client's request for the PurchaseReservedElasticsearchInstanceOffering operation. The "output" return
  3719  // value will be populated with the request's response once the request completes
  3720  // successfully.
  3721  //
  3722  // Use "Send" method on the returned Request to send the API call to the service.
  3723  // the "output" return value is not valid until after Send returns without error.
  3724  //
  3725  // See PurchaseReservedElasticsearchInstanceOffering for more information on using the PurchaseReservedElasticsearchInstanceOffering
  3726  // API call, and error handling.
  3727  //
  3728  // This method is useful when you want to inject custom logic or configuration
  3729  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3730  //
  3731  //
  3732  //    // Example sending a request using the PurchaseReservedElasticsearchInstanceOfferingRequest method.
  3733  //    req, resp := client.PurchaseReservedElasticsearchInstanceOfferingRequest(params)
  3734  //
  3735  //    err := req.Send()
  3736  //    if err == nil { // resp is now filled
  3737  //        fmt.Println(resp)
  3738  //    }
  3739  func (c *ElasticsearchService) PurchaseReservedElasticsearchInstanceOfferingRequest(input *PurchaseReservedElasticsearchInstanceOfferingInput) (req *request.Request, output *PurchaseReservedElasticsearchInstanceOfferingOutput) {
  3740  	op := &request.Operation{
  3741  		Name:       opPurchaseReservedElasticsearchInstanceOffering,
  3742  		HTTPMethod: "POST",
  3743  		HTTPPath:   "/2015-01-01/es/purchaseReservedInstanceOffering",
  3744  	}
  3745  
  3746  	if input == nil {
  3747  		input = &PurchaseReservedElasticsearchInstanceOfferingInput{}
  3748  	}
  3749  
  3750  	output = &PurchaseReservedElasticsearchInstanceOfferingOutput{}
  3751  	req = c.newRequest(op, input, output)
  3752  	return
  3753  }
  3754  
  3755  // PurchaseReservedElasticsearchInstanceOffering API operation for Amazon Elasticsearch Service.
  3756  //
  3757  // Allows you to purchase reserved Elasticsearch instances.
  3758  //
  3759  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3760  // with awserr.Error's Code and Message methods to get detailed information about
  3761  // the error.
  3762  //
  3763  // See the AWS API reference guide for Amazon Elasticsearch Service's
  3764  // API operation PurchaseReservedElasticsearchInstanceOffering for usage and error information.
  3765  //
  3766  // Returned Error Types:
  3767  //   * ResourceNotFoundException
  3768  //   An exception for accessing or deleting a resource that does not exist. Gives
  3769  //   http status code of 400.
  3770  //
  3771  //   * ResourceAlreadyExistsException
  3772  //   An exception for creating a resource that already exists. Gives http status
  3773  //   code of 400.
  3774  //
  3775  //   * LimitExceededException
  3776  //   An exception for trying to create more than allowed resources or sub-resources.
  3777  //   Gives http status code of 409.
  3778  //
  3779  //   * DisabledOperationException
  3780  //   An error occured because the client wanted to access a not supported operation.
  3781  //   Gives http status code of 409.
  3782  //
  3783  //   * ValidationException
  3784  //   An exception for missing / invalid input fields. Gives http status code of
  3785  //   400.
  3786  //
  3787  //   * InternalException
  3788  //   The request processing has failed because of an unknown error, exception
  3789  //   or failure (the failure is internal to the service) . Gives http status code
  3790  //   of 500.
  3791  //
  3792  func (c *ElasticsearchService) PurchaseReservedElasticsearchInstanceOffering(input *PurchaseReservedElasticsearchInstanceOfferingInput) (*PurchaseReservedElasticsearchInstanceOfferingOutput, error) {
  3793  	req, out := c.PurchaseReservedElasticsearchInstanceOfferingRequest(input)
  3794  	return out, req.Send()
  3795  }
  3796  
  3797  // PurchaseReservedElasticsearchInstanceOfferingWithContext is the same as PurchaseReservedElasticsearchInstanceOffering with the addition of
  3798  // the ability to pass a context and additional request options.
  3799  //
  3800  // See PurchaseReservedElasticsearchInstanceOffering for details on how to use this API operation.
  3801  //
  3802  // The context must be non-nil and will be used for request cancellation. If
  3803  // the context is nil a panic will occur. In the future the SDK may create
  3804  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3805  // for more information on using Contexts.
  3806  func (c *ElasticsearchService) PurchaseReservedElasticsearchInstanceOfferingWithContext(ctx aws.Context, input *PurchaseReservedElasticsearchInstanceOfferingInput, opts ...request.Option) (*PurchaseReservedElasticsearchInstanceOfferingOutput, error) {
  3807  	req, out := c.PurchaseReservedElasticsearchInstanceOfferingRequest(input)
  3808  	req.SetContext(ctx)
  3809  	req.ApplyOptions(opts...)
  3810  	return out, req.Send()
  3811  }
  3812  
  3813  const opRejectInboundCrossClusterSearchConnection = "RejectInboundCrossClusterSearchConnection"
  3814  
  3815  // RejectInboundCrossClusterSearchConnectionRequest generates a "aws/request.Request" representing the
  3816  // client's request for the RejectInboundCrossClusterSearchConnection operation. The "output" return
  3817  // value will be populated with the request's response once the request completes
  3818  // successfully.
  3819  //
  3820  // Use "Send" method on the returned Request to send the API call to the service.
  3821  // the "output" return value is not valid until after Send returns without error.
  3822  //
  3823  // See RejectInboundCrossClusterSearchConnection for more information on using the RejectInboundCrossClusterSearchConnection
  3824  // API call, and error handling.
  3825  //
  3826  // This method is useful when you want to inject custom logic or configuration
  3827  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3828  //
  3829  //
  3830  //    // Example sending a request using the RejectInboundCrossClusterSearchConnectionRequest method.
  3831  //    req, resp := client.RejectInboundCrossClusterSearchConnectionRequest(params)
  3832  //
  3833  //    err := req.Send()
  3834  //    if err == nil { // resp is now filled
  3835  //        fmt.Println(resp)
  3836  //    }
  3837  func (c *ElasticsearchService) RejectInboundCrossClusterSearchConnectionRequest(input *RejectInboundCrossClusterSearchConnectionInput) (req *request.Request, output *RejectInboundCrossClusterSearchConnectionOutput) {
  3838  	op := &request.Operation{
  3839  		Name:       opRejectInboundCrossClusterSearchConnection,
  3840  		HTTPMethod: "PUT",
  3841  		HTTPPath:   "/2015-01-01/es/ccs/inboundConnection/{ConnectionId}/reject",
  3842  	}
  3843  
  3844  	if input == nil {
  3845  		input = &RejectInboundCrossClusterSearchConnectionInput{}
  3846  	}
  3847  
  3848  	output = &RejectInboundCrossClusterSearchConnectionOutput{}
  3849  	req = c.newRequest(op, input, output)
  3850  	return
  3851  }
  3852  
  3853  // RejectInboundCrossClusterSearchConnection API operation for Amazon Elasticsearch Service.
  3854  //
  3855  // Allows the destination domain owner to reject an inbound cross-cluster search
  3856  // connection request.
  3857  //
  3858  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3859  // with awserr.Error's Code and Message methods to get detailed information about
  3860  // the error.
  3861  //
  3862  // See the AWS API reference guide for Amazon Elasticsearch Service's
  3863  // API operation RejectInboundCrossClusterSearchConnection for usage and error information.
  3864  //
  3865  // Returned Error Types:
  3866  //   * ResourceNotFoundException
  3867  //   An exception for accessing or deleting a resource that does not exist. Gives
  3868  //   http status code of 400.
  3869  //
  3870  //   * DisabledOperationException
  3871  //   An error occured because the client wanted to access a not supported operation.
  3872  //   Gives http status code of 409.
  3873  //
  3874  func (c *ElasticsearchService) RejectInboundCrossClusterSearchConnection(input *RejectInboundCrossClusterSearchConnectionInput) (*RejectInboundCrossClusterSearchConnectionOutput, error) {
  3875  	req, out := c.RejectInboundCrossClusterSearchConnectionRequest(input)
  3876  	return out, req.Send()
  3877  }
  3878  
  3879  // RejectInboundCrossClusterSearchConnectionWithContext is the same as RejectInboundCrossClusterSearchConnection with the addition of
  3880  // the ability to pass a context and additional request options.
  3881  //
  3882  // See RejectInboundCrossClusterSearchConnection for details on how to use this API operation.
  3883  //
  3884  // The context must be non-nil and will be used for request cancellation. If
  3885  // the context is nil a panic will occur. In the future the SDK may create
  3886  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3887  // for more information on using Contexts.
  3888  func (c *ElasticsearchService) RejectInboundCrossClusterSearchConnectionWithContext(ctx aws.Context, input *RejectInboundCrossClusterSearchConnectionInput, opts ...request.Option) (*RejectInboundCrossClusterSearchConnectionOutput, error) {
  3889  	req, out := c.RejectInboundCrossClusterSearchConnectionRequest(input)
  3890  	req.SetContext(ctx)
  3891  	req.ApplyOptions(opts...)
  3892  	return out, req.Send()
  3893  }
  3894  
  3895  const opRemoveTags = "RemoveTags"
  3896  
  3897  // RemoveTagsRequest generates a "aws/request.Request" representing the
  3898  // client's request for the RemoveTags operation. The "output" return
  3899  // value will be populated with the request's response once the request completes
  3900  // successfully.
  3901  //
  3902  // Use "Send" method on the returned Request to send the API call to the service.
  3903  // the "output" return value is not valid until after Send returns without error.
  3904  //
  3905  // See RemoveTags for more information on using the RemoveTags
  3906  // API call, and error handling.
  3907  //
  3908  // This method is useful when you want to inject custom logic or configuration
  3909  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3910  //
  3911  //
  3912  //    // Example sending a request using the RemoveTagsRequest method.
  3913  //    req, resp := client.RemoveTagsRequest(params)
  3914  //
  3915  //    err := req.Send()
  3916  //    if err == nil { // resp is now filled
  3917  //        fmt.Println(resp)
  3918  //    }
  3919  func (c *ElasticsearchService) RemoveTagsRequest(input *RemoveTagsInput) (req *request.Request, output *RemoveTagsOutput) {
  3920  	op := &request.Operation{
  3921  		Name:       opRemoveTags,
  3922  		HTTPMethod: "POST",
  3923  		HTTPPath:   "/2015-01-01/tags-removal",
  3924  	}
  3925  
  3926  	if input == nil {
  3927  		input = &RemoveTagsInput{}
  3928  	}
  3929  
  3930  	output = &RemoveTagsOutput{}
  3931  	req = c.newRequest(op, input, output)
  3932  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3933  	return
  3934  }
  3935  
  3936  // RemoveTags API operation for Amazon Elasticsearch Service.
  3937  //
  3938  // Removes the specified set of tags from the specified Elasticsearch domain.
  3939  //
  3940  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3941  // with awserr.Error's Code and Message methods to get detailed information about
  3942  // the error.
  3943  //
  3944  // See the AWS API reference guide for Amazon Elasticsearch Service's
  3945  // API operation RemoveTags for usage and error information.
  3946  //
  3947  // Returned Error Types:
  3948  //   * BaseException
  3949  //   An error occurred while processing the request.
  3950  //
  3951  //   * ValidationException
  3952  //   An exception for missing / invalid input fields. Gives http status code of
  3953  //   400.
  3954  //
  3955  //   * InternalException
  3956  //   The request processing has failed because of an unknown error, exception
  3957  //   or failure (the failure is internal to the service) . Gives http status code
  3958  //   of 500.
  3959  //
  3960  func (c *ElasticsearchService) RemoveTags(input *RemoveTagsInput) (*RemoveTagsOutput, error) {
  3961  	req, out := c.RemoveTagsRequest(input)
  3962  	return out, req.Send()
  3963  }
  3964  
  3965  // RemoveTagsWithContext is the same as RemoveTags with the addition of
  3966  // the ability to pass a context and additional request options.
  3967  //
  3968  // See RemoveTags for details on how to use this API operation.
  3969  //
  3970  // The context must be non-nil and will be used for request cancellation. If
  3971  // the context is nil a panic will occur. In the future the SDK may create
  3972  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3973  // for more information on using Contexts.
  3974  func (c *ElasticsearchService) RemoveTagsWithContext(ctx aws.Context, input *RemoveTagsInput, opts ...request.Option) (*RemoveTagsOutput, error) {
  3975  	req, out := c.RemoveTagsRequest(input)
  3976  	req.SetContext(ctx)
  3977  	req.ApplyOptions(opts...)
  3978  	return out, req.Send()
  3979  }
  3980  
  3981  const opStartElasticsearchServiceSoftwareUpdate = "StartElasticsearchServiceSoftwareUpdate"
  3982  
  3983  // StartElasticsearchServiceSoftwareUpdateRequest generates a "aws/request.Request" representing the
  3984  // client's request for the StartElasticsearchServiceSoftwareUpdate operation. The "output" return
  3985  // value will be populated with the request's response once the request completes
  3986  // successfully.
  3987  //
  3988  // Use "Send" method on the returned Request to send the API call to the service.
  3989  // the "output" return value is not valid until after Send returns without error.
  3990  //
  3991  // See StartElasticsearchServiceSoftwareUpdate for more information on using the StartElasticsearchServiceSoftwareUpdate
  3992  // API call, and error handling.
  3993  //
  3994  // This method is useful when you want to inject custom logic or configuration
  3995  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3996  //
  3997  //
  3998  //    // Example sending a request using the StartElasticsearchServiceSoftwareUpdateRequest method.
  3999  //    req, resp := client.StartElasticsearchServiceSoftwareUpdateRequest(params)
  4000  //
  4001  //    err := req.Send()
  4002  //    if err == nil { // resp is now filled
  4003  //        fmt.Println(resp)
  4004  //    }
  4005  func (c *ElasticsearchService) StartElasticsearchServiceSoftwareUpdateRequest(input *StartElasticsearchServiceSoftwareUpdateInput) (req *request.Request, output *StartElasticsearchServiceSoftwareUpdateOutput) {
  4006  	op := &request.Operation{
  4007  		Name:       opStartElasticsearchServiceSoftwareUpdate,
  4008  		HTTPMethod: "POST",
  4009  		HTTPPath:   "/2015-01-01/es/serviceSoftwareUpdate/start",
  4010  	}
  4011  
  4012  	if input == nil {
  4013  		input = &StartElasticsearchServiceSoftwareUpdateInput{}
  4014  	}
  4015  
  4016  	output = &StartElasticsearchServiceSoftwareUpdateOutput{}
  4017  	req = c.newRequest(op, input, output)
  4018  	return
  4019  }
  4020  
  4021  // StartElasticsearchServiceSoftwareUpdate API operation for Amazon Elasticsearch Service.
  4022  //
  4023  // Schedules a service software update for an Amazon ES domain.
  4024  //
  4025  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4026  // with awserr.Error's Code and Message methods to get detailed information about
  4027  // the error.
  4028  //
  4029  // See the AWS API reference guide for Amazon Elasticsearch Service's
  4030  // API operation StartElasticsearchServiceSoftwareUpdate for usage and error information.
  4031  //
  4032  // Returned Error Types:
  4033  //   * BaseException
  4034  //   An error occurred while processing the request.
  4035  //
  4036  //   * InternalException
  4037  //   The request processing has failed because of an unknown error, exception
  4038  //   or failure (the failure is internal to the service) . Gives http status code
  4039  //   of 500.
  4040  //
  4041  //   * ResourceNotFoundException
  4042  //   An exception for accessing or deleting a resource that does not exist. Gives
  4043  //   http status code of 400.
  4044  //
  4045  //   * ValidationException
  4046  //   An exception for missing / invalid input fields. Gives http status code of
  4047  //   400.
  4048  //
  4049  func (c *ElasticsearchService) StartElasticsearchServiceSoftwareUpdate(input *StartElasticsearchServiceSoftwareUpdateInput) (*StartElasticsearchServiceSoftwareUpdateOutput, error) {
  4050  	req, out := c.StartElasticsearchServiceSoftwareUpdateRequest(input)
  4051  	return out, req.Send()
  4052  }
  4053  
  4054  // StartElasticsearchServiceSoftwareUpdateWithContext is the same as StartElasticsearchServiceSoftwareUpdate with the addition of
  4055  // the ability to pass a context and additional request options.
  4056  //
  4057  // See StartElasticsearchServiceSoftwareUpdate for details on how to use this API operation.
  4058  //
  4059  // The context must be non-nil and will be used for request cancellation. If
  4060  // the context is nil a panic will occur. In the future the SDK may create
  4061  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4062  // for more information on using Contexts.
  4063  func (c *ElasticsearchService) StartElasticsearchServiceSoftwareUpdateWithContext(ctx aws.Context, input *StartElasticsearchServiceSoftwareUpdateInput, opts ...request.Option) (*StartElasticsearchServiceSoftwareUpdateOutput, error) {
  4064  	req, out := c.StartElasticsearchServiceSoftwareUpdateRequest(input)
  4065  	req.SetContext(ctx)
  4066  	req.ApplyOptions(opts...)
  4067  	return out, req.Send()
  4068  }
  4069  
  4070  const opUpdateElasticsearchDomainConfig = "UpdateElasticsearchDomainConfig"
  4071  
  4072  // UpdateElasticsearchDomainConfigRequest generates a "aws/request.Request" representing the
  4073  // client's request for the UpdateElasticsearchDomainConfig operation. The "output" return
  4074  // value will be populated with the request's response once the request completes
  4075  // successfully.
  4076  //
  4077  // Use "Send" method on the returned Request to send the API call to the service.
  4078  // the "output" return value is not valid until after Send returns without error.
  4079  //
  4080  // See UpdateElasticsearchDomainConfig for more information on using the UpdateElasticsearchDomainConfig
  4081  // API call, and error handling.
  4082  //
  4083  // This method is useful when you want to inject custom logic or configuration
  4084  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4085  //
  4086  //
  4087  //    // Example sending a request using the UpdateElasticsearchDomainConfigRequest method.
  4088  //    req, resp := client.UpdateElasticsearchDomainConfigRequest(params)
  4089  //
  4090  //    err := req.Send()
  4091  //    if err == nil { // resp is now filled
  4092  //        fmt.Println(resp)
  4093  //    }
  4094  func (c *ElasticsearchService) UpdateElasticsearchDomainConfigRequest(input *UpdateElasticsearchDomainConfigInput) (req *request.Request, output *UpdateElasticsearchDomainConfigOutput) {
  4095  	op := &request.Operation{
  4096  		Name:       opUpdateElasticsearchDomainConfig,
  4097  		HTTPMethod: "POST",
  4098  		HTTPPath:   "/2015-01-01/es/domain/{DomainName}/config",
  4099  	}
  4100  
  4101  	if input == nil {
  4102  		input = &UpdateElasticsearchDomainConfigInput{}
  4103  	}
  4104  
  4105  	output = &UpdateElasticsearchDomainConfigOutput{}
  4106  	req = c.newRequest(op, input, output)
  4107  	return
  4108  }
  4109  
  4110  // UpdateElasticsearchDomainConfig API operation for Amazon Elasticsearch Service.
  4111  //
  4112  // Modifies the cluster configuration of the specified Elasticsearch domain,
  4113  // setting as setting the instance type and the number of instances.
  4114  //
  4115  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4116  // with awserr.Error's Code and Message methods to get detailed information about
  4117  // the error.
  4118  //
  4119  // See the AWS API reference guide for Amazon Elasticsearch Service's
  4120  // API operation UpdateElasticsearchDomainConfig for usage and error information.
  4121  //
  4122  // Returned Error Types:
  4123  //   * BaseException
  4124  //   An error occurred while processing the request.
  4125  //
  4126  //   * InternalException
  4127  //   The request processing has failed because of an unknown error, exception
  4128  //   or failure (the failure is internal to the service) . Gives http status code
  4129  //   of 500.
  4130  //
  4131  //   * InvalidTypeException
  4132  //   An exception for trying to create or access sub-resource that is either invalid
  4133  //   or not supported. Gives http status code of 409.
  4134  //
  4135  //   * LimitExceededException
  4136  //   An exception for trying to create more than allowed resources or sub-resources.
  4137  //   Gives http status code of 409.
  4138  //
  4139  //   * ResourceNotFoundException
  4140  //   An exception for accessing or deleting a resource that does not exist. Gives
  4141  //   http status code of 400.
  4142  //
  4143  //   * ValidationException
  4144  //   An exception for missing / invalid input fields. Gives http status code of
  4145  //   400.
  4146  //
  4147  func (c *ElasticsearchService) UpdateElasticsearchDomainConfig(input *UpdateElasticsearchDomainConfigInput) (*UpdateElasticsearchDomainConfigOutput, error) {
  4148  	req, out := c.UpdateElasticsearchDomainConfigRequest(input)
  4149  	return out, req.Send()
  4150  }
  4151  
  4152  // UpdateElasticsearchDomainConfigWithContext is the same as UpdateElasticsearchDomainConfig with the addition of
  4153  // the ability to pass a context and additional request options.
  4154  //
  4155  // See UpdateElasticsearchDomainConfig for details on how to use this API operation.
  4156  //
  4157  // The context must be non-nil and will be used for request cancellation. If
  4158  // the context is nil a panic will occur. In the future the SDK may create
  4159  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4160  // for more information on using Contexts.
  4161  func (c *ElasticsearchService) UpdateElasticsearchDomainConfigWithContext(ctx aws.Context, input *UpdateElasticsearchDomainConfigInput, opts ...request.Option) (*UpdateElasticsearchDomainConfigOutput, error) {
  4162  	req, out := c.UpdateElasticsearchDomainConfigRequest(input)
  4163  	req.SetContext(ctx)
  4164  	req.ApplyOptions(opts...)
  4165  	return out, req.Send()
  4166  }
  4167  
  4168  const opUpdatePackage = "UpdatePackage"
  4169  
  4170  // UpdatePackageRequest generates a "aws/request.Request" representing the
  4171  // client's request for the UpdatePackage operation. The "output" return
  4172  // value will be populated with the request's response once the request completes
  4173  // successfully.
  4174  //
  4175  // Use "Send" method on the returned Request to send the API call to the service.
  4176  // the "output" return value is not valid until after Send returns without error.
  4177  //
  4178  // See UpdatePackage for more information on using the UpdatePackage
  4179  // API call, and error handling.
  4180  //
  4181  // This method is useful when you want to inject custom logic or configuration
  4182  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4183  //
  4184  //
  4185  //    // Example sending a request using the UpdatePackageRequest method.
  4186  //    req, resp := client.UpdatePackageRequest(params)
  4187  //
  4188  //    err := req.Send()
  4189  //    if err == nil { // resp is now filled
  4190  //        fmt.Println(resp)
  4191  //    }
  4192  func (c *ElasticsearchService) UpdatePackageRequest(input *UpdatePackageInput) (req *request.Request, output *UpdatePackageOutput) {
  4193  	op := &request.Operation{
  4194  		Name:       opUpdatePackage,
  4195  		HTTPMethod: "POST",
  4196  		HTTPPath:   "/2015-01-01/packages/update",
  4197  	}
  4198  
  4199  	if input == nil {
  4200  		input = &UpdatePackageInput{}
  4201  	}
  4202  
  4203  	output = &UpdatePackageOutput{}
  4204  	req = c.newRequest(op, input, output)
  4205  	return
  4206  }
  4207  
  4208  // UpdatePackage API operation for Amazon Elasticsearch Service.
  4209  //
  4210  // Updates a package for use with Amazon ES domains.
  4211  //
  4212  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4213  // with awserr.Error's Code and Message methods to get detailed information about
  4214  // the error.
  4215  //
  4216  // See the AWS API reference guide for Amazon Elasticsearch Service's
  4217  // API operation UpdatePackage for usage and error information.
  4218  //
  4219  // Returned Error Types:
  4220  //   * BaseException
  4221  //   An error occurred while processing the request.
  4222  //
  4223  //   * InternalException
  4224  //   The request processing has failed because of an unknown error, exception
  4225  //   or failure (the failure is internal to the service) . Gives http status code
  4226  //   of 500.
  4227  //
  4228  //   * LimitExceededException
  4229  //   An exception for trying to create more than allowed resources or sub-resources.
  4230  //   Gives http status code of 409.
  4231  //
  4232  //   * ResourceNotFoundException
  4233  //   An exception for accessing or deleting a resource that does not exist. Gives
  4234  //   http status code of 400.
  4235  //
  4236  //   * AccessDeniedException
  4237  //   An error occurred because user does not have permissions to access the resource.
  4238  //   Returns HTTP status code 403.
  4239  //
  4240  //   * ValidationException
  4241  //   An exception for missing / invalid input fields. Gives http status code of
  4242  //   400.
  4243  //
  4244  func (c *ElasticsearchService) UpdatePackage(input *UpdatePackageInput) (*UpdatePackageOutput, error) {
  4245  	req, out := c.UpdatePackageRequest(input)
  4246  	return out, req.Send()
  4247  }
  4248  
  4249  // UpdatePackageWithContext is the same as UpdatePackage with the addition of
  4250  // the ability to pass a context and additional request options.
  4251  //
  4252  // See UpdatePackage for details on how to use this API operation.
  4253  //
  4254  // The context must be non-nil and will be used for request cancellation. If
  4255  // the context is nil a panic will occur. In the future the SDK may create
  4256  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4257  // for more information on using Contexts.
  4258  func (c *ElasticsearchService) UpdatePackageWithContext(ctx aws.Context, input *UpdatePackageInput, opts ...request.Option) (*UpdatePackageOutput, error) {
  4259  	req, out := c.UpdatePackageRequest(input)
  4260  	req.SetContext(ctx)
  4261  	req.ApplyOptions(opts...)
  4262  	return out, req.Send()
  4263  }
  4264  
  4265  const opUpgradeElasticsearchDomain = "UpgradeElasticsearchDomain"
  4266  
  4267  // UpgradeElasticsearchDomainRequest generates a "aws/request.Request" representing the
  4268  // client's request for the UpgradeElasticsearchDomain operation. The "output" return
  4269  // value will be populated with the request's response once the request completes
  4270  // successfully.
  4271  //
  4272  // Use "Send" method on the returned Request to send the API call to the service.
  4273  // the "output" return value is not valid until after Send returns without error.
  4274  //
  4275  // See UpgradeElasticsearchDomain for more information on using the UpgradeElasticsearchDomain
  4276  // API call, and error handling.
  4277  //
  4278  // This method is useful when you want to inject custom logic or configuration
  4279  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4280  //
  4281  //
  4282  //    // Example sending a request using the UpgradeElasticsearchDomainRequest method.
  4283  //    req, resp := client.UpgradeElasticsearchDomainRequest(params)
  4284  //
  4285  //    err := req.Send()
  4286  //    if err == nil { // resp is now filled
  4287  //        fmt.Println(resp)
  4288  //    }
  4289  func (c *ElasticsearchService) UpgradeElasticsearchDomainRequest(input *UpgradeElasticsearchDomainInput) (req *request.Request, output *UpgradeElasticsearchDomainOutput) {
  4290  	op := &request.Operation{
  4291  		Name:       opUpgradeElasticsearchDomain,
  4292  		HTTPMethod: "POST",
  4293  		HTTPPath:   "/2015-01-01/es/upgradeDomain",
  4294  	}
  4295  
  4296  	if input == nil {
  4297  		input = &UpgradeElasticsearchDomainInput{}
  4298  	}
  4299  
  4300  	output = &UpgradeElasticsearchDomainOutput{}
  4301  	req = c.newRequest(op, input, output)
  4302  	return
  4303  }
  4304  
  4305  // UpgradeElasticsearchDomain API operation for Amazon Elasticsearch Service.
  4306  //
  4307  // Allows you to either upgrade your domain or perform an Upgrade eligibility
  4308  // check to a compatible Elasticsearch version.
  4309  //
  4310  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4311  // with awserr.Error's Code and Message methods to get detailed information about
  4312  // the error.
  4313  //
  4314  // See the AWS API reference guide for Amazon Elasticsearch Service's
  4315  // API operation UpgradeElasticsearchDomain for usage and error information.
  4316  //
  4317  // Returned Error Types:
  4318  //   * BaseException
  4319  //   An error occurred while processing the request.
  4320  //
  4321  //   * ResourceNotFoundException
  4322  //   An exception for accessing or deleting a resource that does not exist. Gives
  4323  //   http status code of 400.
  4324  //
  4325  //   * ResourceAlreadyExistsException
  4326  //   An exception for creating a resource that already exists. Gives http status
  4327  //   code of 400.
  4328  //
  4329  //   * DisabledOperationException
  4330  //   An error occured because the client wanted to access a not supported operation.
  4331  //   Gives http status code of 409.
  4332  //
  4333  //   * ValidationException
  4334  //   An exception for missing / invalid input fields. Gives http status code of
  4335  //   400.
  4336  //
  4337  //   * InternalException
  4338  //   The request processing has failed because of an unknown error, exception
  4339  //   or failure (the failure is internal to the service) . Gives http status code
  4340  //   of 500.
  4341  //
  4342  func (c *ElasticsearchService) UpgradeElasticsearchDomain(input *UpgradeElasticsearchDomainInput) (*UpgradeElasticsearchDomainOutput, error) {
  4343  	req, out := c.UpgradeElasticsearchDomainRequest(input)
  4344  	return out, req.Send()
  4345  }
  4346  
  4347  // UpgradeElasticsearchDomainWithContext is the same as UpgradeElasticsearchDomain with the addition of
  4348  // the ability to pass a context and additional request options.
  4349  //
  4350  // See UpgradeElasticsearchDomain for details on how to use this API operation.
  4351  //
  4352  // The context must be non-nil and will be used for request cancellation. If
  4353  // the context is nil a panic will occur. In the future the SDK may create
  4354  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4355  // for more information on using Contexts.
  4356  func (c *ElasticsearchService) UpgradeElasticsearchDomainWithContext(ctx aws.Context, input *UpgradeElasticsearchDomainInput, opts ...request.Option) (*UpgradeElasticsearchDomainOutput, error) {
  4357  	req, out := c.UpgradeElasticsearchDomainRequest(input)
  4358  	req.SetContext(ctx)
  4359  	req.ApplyOptions(opts...)
  4360  	return out, req.Send()
  4361  }
  4362  
  4363  // Container for the parameters to the AcceptInboundCrossClusterSearchConnection
  4364  // operation.
  4365  type AcceptInboundCrossClusterSearchConnectionInput struct {
  4366  	_ struct{} `type:"structure" nopayload:"true"`
  4367  
  4368  	// The id of the inbound connection that you want to accept.
  4369  	//
  4370  	// CrossClusterSearchConnectionId is a required field
  4371  	CrossClusterSearchConnectionId *string `location:"uri" locationName:"ConnectionId" type:"string" required:"true"`
  4372  }
  4373  
  4374  // String returns the string representation.
  4375  //
  4376  // API parameter values that are decorated as "sensitive" in the API will not
  4377  // be included in the string output. The member name will be present, but the
  4378  // value will be replaced with "sensitive".
  4379  func (s AcceptInboundCrossClusterSearchConnectionInput) String() string {
  4380  	return awsutil.Prettify(s)
  4381  }
  4382  
  4383  // GoString returns the string representation.
  4384  //
  4385  // API parameter values that are decorated as "sensitive" in the API will not
  4386  // be included in the string output. The member name will be present, but the
  4387  // value will be replaced with "sensitive".
  4388  func (s AcceptInboundCrossClusterSearchConnectionInput) GoString() string {
  4389  	return s.String()
  4390  }
  4391  
  4392  // Validate inspects the fields of the type to determine if they are valid.
  4393  func (s *AcceptInboundCrossClusterSearchConnectionInput) Validate() error {
  4394  	invalidParams := request.ErrInvalidParams{Context: "AcceptInboundCrossClusterSearchConnectionInput"}
  4395  	if s.CrossClusterSearchConnectionId == nil {
  4396  		invalidParams.Add(request.NewErrParamRequired("CrossClusterSearchConnectionId"))
  4397  	}
  4398  	if s.CrossClusterSearchConnectionId != nil && len(*s.CrossClusterSearchConnectionId) < 1 {
  4399  		invalidParams.Add(request.NewErrParamMinLen("CrossClusterSearchConnectionId", 1))
  4400  	}
  4401  
  4402  	if invalidParams.Len() > 0 {
  4403  		return invalidParams
  4404  	}
  4405  	return nil
  4406  }
  4407  
  4408  // SetCrossClusterSearchConnectionId sets the CrossClusterSearchConnectionId field's value.
  4409  func (s *AcceptInboundCrossClusterSearchConnectionInput) SetCrossClusterSearchConnectionId(v string) *AcceptInboundCrossClusterSearchConnectionInput {
  4410  	s.CrossClusterSearchConnectionId = &v
  4411  	return s
  4412  }
  4413  
  4414  // The result of a AcceptInboundCrossClusterSearchConnection operation. Contains
  4415  // details of accepted inbound connection.
  4416  type AcceptInboundCrossClusterSearchConnectionOutput struct {
  4417  	_ struct{} `type:"structure"`
  4418  
  4419  	// Specifies the InboundCrossClusterSearchConnection of accepted inbound connection.
  4420  	CrossClusterSearchConnection *InboundCrossClusterSearchConnection `type:"structure"`
  4421  }
  4422  
  4423  // String returns the string representation.
  4424  //
  4425  // API parameter values that are decorated as "sensitive" in the API will not
  4426  // be included in the string output. The member name will be present, but the
  4427  // value will be replaced with "sensitive".
  4428  func (s AcceptInboundCrossClusterSearchConnectionOutput) String() string {
  4429  	return awsutil.Prettify(s)
  4430  }
  4431  
  4432  // GoString returns the string representation.
  4433  //
  4434  // API parameter values that are decorated as "sensitive" in the API will not
  4435  // be included in the string output. The member name will be present, but the
  4436  // value will be replaced with "sensitive".
  4437  func (s AcceptInboundCrossClusterSearchConnectionOutput) GoString() string {
  4438  	return s.String()
  4439  }
  4440  
  4441  // SetCrossClusterSearchConnection sets the CrossClusterSearchConnection field's value.
  4442  func (s *AcceptInboundCrossClusterSearchConnectionOutput) SetCrossClusterSearchConnection(v *InboundCrossClusterSearchConnection) *AcceptInboundCrossClusterSearchConnectionOutput {
  4443  	s.CrossClusterSearchConnection = v
  4444  	return s
  4445  }
  4446  
  4447  // An error occurred because user does not have permissions to access the resource.
  4448  // Returns HTTP status code 403.
  4449  type AccessDeniedException struct {
  4450  	_            struct{}                  `type:"structure"`
  4451  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4452  
  4453  	Message_ *string `locationName:"message" type:"string"`
  4454  }
  4455  
  4456  // String returns the string representation.
  4457  //
  4458  // API parameter values that are decorated as "sensitive" in the API will not
  4459  // be included in the string output. The member name will be present, but the
  4460  // value will be replaced with "sensitive".
  4461  func (s AccessDeniedException) String() string {
  4462  	return awsutil.Prettify(s)
  4463  }
  4464  
  4465  // GoString returns the string representation.
  4466  //
  4467  // API parameter values that are decorated as "sensitive" in the API will not
  4468  // be included in the string output. The member name will be present, but the
  4469  // value will be replaced with "sensitive".
  4470  func (s AccessDeniedException) GoString() string {
  4471  	return s.String()
  4472  }
  4473  
  4474  func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
  4475  	return &AccessDeniedException{
  4476  		RespMetadata: v,
  4477  	}
  4478  }
  4479  
  4480  // Code returns the exception type name.
  4481  func (s *AccessDeniedException) Code() string {
  4482  	return "AccessDeniedException"
  4483  }
  4484  
  4485  // Message returns the exception's message.
  4486  func (s *AccessDeniedException) Message() string {
  4487  	if s.Message_ != nil {
  4488  		return *s.Message_
  4489  	}
  4490  	return ""
  4491  }
  4492  
  4493  // OrigErr always returns nil, satisfies awserr.Error interface.
  4494  func (s *AccessDeniedException) OrigErr() error {
  4495  	return nil
  4496  }
  4497  
  4498  func (s *AccessDeniedException) Error() string {
  4499  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  4500  }
  4501  
  4502  // Status code returns the HTTP status code for the request's response error.
  4503  func (s *AccessDeniedException) StatusCode() int {
  4504  	return s.RespMetadata.StatusCode
  4505  }
  4506  
  4507  // RequestID returns the service's response RequestID for request.
  4508  func (s *AccessDeniedException) RequestID() string {
  4509  	return s.RespMetadata.RequestID
  4510  }
  4511  
  4512  // The configured access rules for the domain's document and search endpoints,
  4513  // and the current status of those rules.
  4514  type AccessPoliciesStatus struct {
  4515  	_ struct{} `type:"structure"`
  4516  
  4517  	// The access policy configured for the Elasticsearch domain. Access policies
  4518  	// may be resource-based, IP-based, or IAM-based. See Configuring Access Policies
  4519  	// (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomain-configure-access-policies)for
  4520  	// more information.
  4521  	//
  4522  	// Options is a required field
  4523  	Options *string `type:"string" required:"true"`
  4524  
  4525  	// The status of the access policy for the Elasticsearch domain. See OptionStatus
  4526  	// for the status information that's included.
  4527  	//
  4528  	// Status is a required field
  4529  	Status *OptionStatus `type:"structure" required:"true"`
  4530  }
  4531  
  4532  // String returns the string representation.
  4533  //
  4534  // API parameter values that are decorated as "sensitive" in the API will not
  4535  // be included in the string output. The member name will be present, but the
  4536  // value will be replaced with "sensitive".
  4537  func (s AccessPoliciesStatus) String() string {
  4538  	return awsutil.Prettify(s)
  4539  }
  4540  
  4541  // GoString returns the string representation.
  4542  //
  4543  // API parameter values that are decorated as "sensitive" in the API will not
  4544  // be included in the string output. The member name will be present, but the
  4545  // value will be replaced with "sensitive".
  4546  func (s AccessPoliciesStatus) GoString() string {
  4547  	return s.String()
  4548  }
  4549  
  4550  // SetOptions sets the Options field's value.
  4551  func (s *AccessPoliciesStatus) SetOptions(v string) *AccessPoliciesStatus {
  4552  	s.Options = &v
  4553  	return s
  4554  }
  4555  
  4556  // SetStatus sets the Status field's value.
  4557  func (s *AccessPoliciesStatus) SetStatus(v *OptionStatus) *AccessPoliciesStatus {
  4558  	s.Status = v
  4559  	return s
  4560  }
  4561  
  4562  // Container for the parameters to the AddTags operation. Specify the tags that
  4563  // you want to attach to the Elasticsearch domain.
  4564  type AddTagsInput struct {
  4565  	_ struct{} `type:"structure"`
  4566  
  4567  	// Specify the ARN for which you want to add the tags.
  4568  	//
  4569  	// ARN is a required field
  4570  	ARN *string `type:"string" required:"true"`
  4571  
  4572  	// List of Tag that need to be added for the Elasticsearch domain.
  4573  	//
  4574  	// TagList is a required field
  4575  	TagList []*Tag `type:"list" required:"true"`
  4576  }
  4577  
  4578  // String returns the string representation.
  4579  //
  4580  // API parameter values that are decorated as "sensitive" in the API will not
  4581  // be included in the string output. The member name will be present, but the
  4582  // value will be replaced with "sensitive".
  4583  func (s AddTagsInput) String() string {
  4584  	return awsutil.Prettify(s)
  4585  }
  4586  
  4587  // GoString returns the string representation.
  4588  //
  4589  // API parameter values that are decorated as "sensitive" in the API will not
  4590  // be included in the string output. The member name will be present, but the
  4591  // value will be replaced with "sensitive".
  4592  func (s AddTagsInput) GoString() string {
  4593  	return s.String()
  4594  }
  4595  
  4596  // Validate inspects the fields of the type to determine if they are valid.
  4597  func (s *AddTagsInput) Validate() error {
  4598  	invalidParams := request.ErrInvalidParams{Context: "AddTagsInput"}
  4599  	if s.ARN == nil {
  4600  		invalidParams.Add(request.NewErrParamRequired("ARN"))
  4601  	}
  4602  	if s.TagList == nil {
  4603  		invalidParams.Add(request.NewErrParamRequired("TagList"))
  4604  	}
  4605  	if s.TagList != nil {
  4606  		for i, v := range s.TagList {
  4607  			if v == nil {
  4608  				continue
  4609  			}
  4610  			if err := v.Validate(); err != nil {
  4611  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TagList", i), err.(request.ErrInvalidParams))
  4612  			}
  4613  		}
  4614  	}
  4615  
  4616  	if invalidParams.Len() > 0 {
  4617  		return invalidParams
  4618  	}
  4619  	return nil
  4620  }
  4621  
  4622  // SetARN sets the ARN field's value.
  4623  func (s *AddTagsInput) SetARN(v string) *AddTagsInput {
  4624  	s.ARN = &v
  4625  	return s
  4626  }
  4627  
  4628  // SetTagList sets the TagList field's value.
  4629  func (s *AddTagsInput) SetTagList(v []*Tag) *AddTagsInput {
  4630  	s.TagList = v
  4631  	return s
  4632  }
  4633  
  4634  type AddTagsOutput struct {
  4635  	_ struct{} `type:"structure" nopayload:"true"`
  4636  }
  4637  
  4638  // String returns the string representation.
  4639  //
  4640  // API parameter values that are decorated as "sensitive" in the API will not
  4641  // be included in the string output. The member name will be present, but the
  4642  // value will be replaced with "sensitive".
  4643  func (s AddTagsOutput) String() string {
  4644  	return awsutil.Prettify(s)
  4645  }
  4646  
  4647  // GoString returns the string representation.
  4648  //
  4649  // API parameter values that are decorated as "sensitive" in the API will not
  4650  // be included in the string output. The member name will be present, but the
  4651  // value will be replaced with "sensitive".
  4652  func (s AddTagsOutput) GoString() string {
  4653  	return s.String()
  4654  }
  4655  
  4656  // List of limits that are specific to a given InstanceType and for each of
  4657  // it's InstanceRole .
  4658  type AdditionalLimit struct {
  4659  	_ struct{} `type:"structure"`
  4660  
  4661  	// Name of Additional Limit is specific to a given InstanceType and for each
  4662  	// of it's InstanceRole etc. Attributes and their details:
  4663  	//    * MaximumNumberOfDataNodesSupported
  4664  	//
  4665  	//    * MaximumNumberOfDataNodesWithoutMasterNode
  4666  	LimitName *string `type:"string"`
  4667  
  4668  	// Value for given AdditionalLimit$LimitName .
  4669  	LimitValues []*string `type:"list"`
  4670  }
  4671  
  4672  // String returns the string representation.
  4673  //
  4674  // API parameter values that are decorated as "sensitive" in the API will not
  4675  // be included in the string output. The member name will be present, but the
  4676  // value will be replaced with "sensitive".
  4677  func (s AdditionalLimit) String() string {
  4678  	return awsutil.Prettify(s)
  4679  }
  4680  
  4681  // GoString returns the string representation.
  4682  //
  4683  // API parameter values that are decorated as "sensitive" in the API will not
  4684  // be included in the string output. The member name will be present, but the
  4685  // value will be replaced with "sensitive".
  4686  func (s AdditionalLimit) GoString() string {
  4687  	return s.String()
  4688  }
  4689  
  4690  // SetLimitName sets the LimitName field's value.
  4691  func (s *AdditionalLimit) SetLimitName(v string) *AdditionalLimit {
  4692  	s.LimitName = &v
  4693  	return s
  4694  }
  4695  
  4696  // SetLimitValues sets the LimitValues field's value.
  4697  func (s *AdditionalLimit) SetLimitValues(v []*string) *AdditionalLimit {
  4698  	s.LimitValues = v
  4699  	return s
  4700  }
  4701  
  4702  // Status of the advanced options for the specified Elasticsearch domain. Currently,
  4703  // the following advanced options are available:
  4704  //
  4705  //    * Option to allow references to indices in an HTTP request body. Must
  4706  //    be false when configuring access to individual sub-resources. By default,
  4707  //    the value is true. See Configuration Advanced Options for more information.
  4708  //
  4709  //    * Option to specify the percentage of heap space that is allocated to
  4710  //    field data. By default, this setting is unbounded.
  4711  //
  4712  // For more information, see Configuring Advanced Options (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomain-configure-advanced-options).
  4713  type AdvancedOptionsStatus struct {
  4714  	_ struct{} `type:"structure"`
  4715  
  4716  	// Specifies the status of advanced options for the specified Elasticsearch
  4717  	// domain.
  4718  	//
  4719  	// Options is a required field
  4720  	Options map[string]*string `type:"map" required:"true"`
  4721  
  4722  	// Specifies the status of OptionStatus for advanced options for the specified
  4723  	// Elasticsearch domain.
  4724  	//
  4725  	// Status is a required field
  4726  	Status *OptionStatus `type:"structure" required:"true"`
  4727  }
  4728  
  4729  // String returns the string representation.
  4730  //
  4731  // API parameter values that are decorated as "sensitive" in the API will not
  4732  // be included in the string output. The member name will be present, but the
  4733  // value will be replaced with "sensitive".
  4734  func (s AdvancedOptionsStatus) String() string {
  4735  	return awsutil.Prettify(s)
  4736  }
  4737  
  4738  // GoString returns the string representation.
  4739  //
  4740  // API parameter values that are decorated as "sensitive" in the API will not
  4741  // be included in the string output. The member name will be present, but the
  4742  // value will be replaced with "sensitive".
  4743  func (s AdvancedOptionsStatus) GoString() string {
  4744  	return s.String()
  4745  }
  4746  
  4747  // SetOptions sets the Options field's value.
  4748  func (s *AdvancedOptionsStatus) SetOptions(v map[string]*string) *AdvancedOptionsStatus {
  4749  	s.Options = v
  4750  	return s
  4751  }
  4752  
  4753  // SetStatus sets the Status field's value.
  4754  func (s *AdvancedOptionsStatus) SetStatus(v *OptionStatus) *AdvancedOptionsStatus {
  4755  	s.Status = v
  4756  	return s
  4757  }
  4758  
  4759  // Specifies the advanced security configuration: whether advanced security
  4760  // is enabled, whether the internal database option is enabled.
  4761  type AdvancedSecurityOptions struct {
  4762  	_ struct{} `type:"structure"`
  4763  
  4764  	// True if advanced security is enabled.
  4765  	Enabled *bool `type:"boolean"`
  4766  
  4767  	// True if the internal user database is enabled.
  4768  	InternalUserDatabaseEnabled *bool `type:"boolean"`
  4769  
  4770  	// Describes the SAML application configured for a domain.
  4771  	SAMLOptions *SAMLOptionsOutput `type:"structure"`
  4772  }
  4773  
  4774  // String returns the string representation.
  4775  //
  4776  // API parameter values that are decorated as "sensitive" in the API will not
  4777  // be included in the string output. The member name will be present, but the
  4778  // value will be replaced with "sensitive".
  4779  func (s AdvancedSecurityOptions) String() string {
  4780  	return awsutil.Prettify(s)
  4781  }
  4782  
  4783  // GoString returns the string representation.
  4784  //
  4785  // API parameter values that are decorated as "sensitive" in the API will not
  4786  // be included in the string output. The member name will be present, but the
  4787  // value will be replaced with "sensitive".
  4788  func (s AdvancedSecurityOptions) GoString() string {
  4789  	return s.String()
  4790  }
  4791  
  4792  // SetEnabled sets the Enabled field's value.
  4793  func (s *AdvancedSecurityOptions) SetEnabled(v bool) *AdvancedSecurityOptions {
  4794  	s.Enabled = &v
  4795  	return s
  4796  }
  4797  
  4798  // SetInternalUserDatabaseEnabled sets the InternalUserDatabaseEnabled field's value.
  4799  func (s *AdvancedSecurityOptions) SetInternalUserDatabaseEnabled(v bool) *AdvancedSecurityOptions {
  4800  	s.InternalUserDatabaseEnabled = &v
  4801  	return s
  4802  }
  4803  
  4804  // SetSAMLOptions sets the SAMLOptions field's value.
  4805  func (s *AdvancedSecurityOptions) SetSAMLOptions(v *SAMLOptionsOutput) *AdvancedSecurityOptions {
  4806  	s.SAMLOptions = v
  4807  	return s
  4808  }
  4809  
  4810  // Specifies the advanced security configuration: whether advanced security
  4811  // is enabled, whether the internal database option is enabled, master username
  4812  // and password (if internal database is enabled), and master user ARN (if IAM
  4813  // is enabled).
  4814  type AdvancedSecurityOptionsInput struct {
  4815  	_ struct{} `type:"structure"`
  4816  
  4817  	// True if advanced security is enabled.
  4818  	Enabled *bool `type:"boolean"`
  4819  
  4820  	// True if the internal user database is enabled.
  4821  	InternalUserDatabaseEnabled *bool `type:"boolean"`
  4822  
  4823  	// Credentials for the master user: username and password, ARN, or both.
  4824  	MasterUserOptions *MasterUserOptions `type:"structure"`
  4825  
  4826  	// Specifies the SAML application configuration for the domain.
  4827  	SAMLOptions *SAMLOptionsInput `type:"structure"`
  4828  }
  4829  
  4830  // String returns the string representation.
  4831  //
  4832  // API parameter values that are decorated as "sensitive" in the API will not
  4833  // be included in the string output. The member name will be present, but the
  4834  // value will be replaced with "sensitive".
  4835  func (s AdvancedSecurityOptionsInput) String() string {
  4836  	return awsutil.Prettify(s)
  4837  }
  4838  
  4839  // GoString returns the string representation.
  4840  //
  4841  // API parameter values that are decorated as "sensitive" in the API will not
  4842  // be included in the string output. The member name will be present, but the
  4843  // value will be replaced with "sensitive".
  4844  func (s AdvancedSecurityOptionsInput) GoString() string {
  4845  	return s.String()
  4846  }
  4847  
  4848  // Validate inspects the fields of the type to determine if they are valid.
  4849  func (s *AdvancedSecurityOptionsInput) Validate() error {
  4850  	invalidParams := request.ErrInvalidParams{Context: "AdvancedSecurityOptionsInput"}
  4851  	if s.MasterUserOptions != nil {
  4852  		if err := s.MasterUserOptions.Validate(); err != nil {
  4853  			invalidParams.AddNested("MasterUserOptions", err.(request.ErrInvalidParams))
  4854  		}
  4855  	}
  4856  	if s.SAMLOptions != nil {
  4857  		if err := s.SAMLOptions.Validate(); err != nil {
  4858  			invalidParams.AddNested("SAMLOptions", err.(request.ErrInvalidParams))
  4859  		}
  4860  	}
  4861  
  4862  	if invalidParams.Len() > 0 {
  4863  		return invalidParams
  4864  	}
  4865  	return nil
  4866  }
  4867  
  4868  // SetEnabled sets the Enabled field's value.
  4869  func (s *AdvancedSecurityOptionsInput) SetEnabled(v bool) *AdvancedSecurityOptionsInput {
  4870  	s.Enabled = &v
  4871  	return s
  4872  }
  4873  
  4874  // SetInternalUserDatabaseEnabled sets the InternalUserDatabaseEnabled field's value.
  4875  func (s *AdvancedSecurityOptionsInput) SetInternalUserDatabaseEnabled(v bool) *AdvancedSecurityOptionsInput {
  4876  	s.InternalUserDatabaseEnabled = &v
  4877  	return s
  4878  }
  4879  
  4880  // SetMasterUserOptions sets the MasterUserOptions field's value.
  4881  func (s *AdvancedSecurityOptionsInput) SetMasterUserOptions(v *MasterUserOptions) *AdvancedSecurityOptionsInput {
  4882  	s.MasterUserOptions = v
  4883  	return s
  4884  }
  4885  
  4886  // SetSAMLOptions sets the SAMLOptions field's value.
  4887  func (s *AdvancedSecurityOptionsInput) SetSAMLOptions(v *SAMLOptionsInput) *AdvancedSecurityOptionsInput {
  4888  	s.SAMLOptions = v
  4889  	return s
  4890  }
  4891  
  4892  // Specifies the status of advanced security options for the specified Elasticsearch
  4893  // domain.
  4894  type AdvancedSecurityOptionsStatus struct {
  4895  	_ struct{} `type:"structure"`
  4896  
  4897  	// Specifies advanced security options for the specified Elasticsearch domain.
  4898  	//
  4899  	// Options is a required field
  4900  	Options *AdvancedSecurityOptions `type:"structure" required:"true"`
  4901  
  4902  	// Status of the advanced security options for the specified Elasticsearch domain.
  4903  	//
  4904  	// Status is a required field
  4905  	Status *OptionStatus `type:"structure" required:"true"`
  4906  }
  4907  
  4908  // String returns the string representation.
  4909  //
  4910  // API parameter values that are decorated as "sensitive" in the API will not
  4911  // be included in the string output. The member name will be present, but the
  4912  // value will be replaced with "sensitive".
  4913  func (s AdvancedSecurityOptionsStatus) String() string {
  4914  	return awsutil.Prettify(s)
  4915  }
  4916  
  4917  // GoString returns the string representation.
  4918  //
  4919  // API parameter values that are decorated as "sensitive" in the API will not
  4920  // be included in the string output. The member name will be present, but the
  4921  // value will be replaced with "sensitive".
  4922  func (s AdvancedSecurityOptionsStatus) GoString() string {
  4923  	return s.String()
  4924  }
  4925  
  4926  // SetOptions sets the Options field's value.
  4927  func (s *AdvancedSecurityOptionsStatus) SetOptions(v *AdvancedSecurityOptions) *AdvancedSecurityOptionsStatus {
  4928  	s.Options = v
  4929  	return s
  4930  }
  4931  
  4932  // SetStatus sets the Status field's value.
  4933  func (s *AdvancedSecurityOptionsStatus) SetStatus(v *OptionStatus) *AdvancedSecurityOptionsStatus {
  4934  	s.Status = v
  4935  	return s
  4936  }
  4937  
  4938  // Container for request parameters to AssociatePackage operation.
  4939  type AssociatePackageInput struct {
  4940  	_ struct{} `type:"structure" nopayload:"true"`
  4941  
  4942  	// Name of the domain that you want to associate the package with.
  4943  	//
  4944  	// DomainName is a required field
  4945  	DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"`
  4946  
  4947  	// Internal ID of the package that you want to associate with a domain. Use
  4948  	// DescribePackages to find this value.
  4949  	//
  4950  	// PackageID is a required field
  4951  	PackageID *string `location:"uri" locationName:"PackageID" type:"string" required:"true"`
  4952  }
  4953  
  4954  // String returns the string representation.
  4955  //
  4956  // API parameter values that are decorated as "sensitive" in the API will not
  4957  // be included in the string output. The member name will be present, but the
  4958  // value will be replaced with "sensitive".
  4959  func (s AssociatePackageInput) String() string {
  4960  	return awsutil.Prettify(s)
  4961  }
  4962  
  4963  // GoString returns the string representation.
  4964  //
  4965  // API parameter values that are decorated as "sensitive" in the API will not
  4966  // be included in the string output. The member name will be present, but the
  4967  // value will be replaced with "sensitive".
  4968  func (s AssociatePackageInput) GoString() string {
  4969  	return s.String()
  4970  }
  4971  
  4972  // Validate inspects the fields of the type to determine if they are valid.
  4973  func (s *AssociatePackageInput) Validate() error {
  4974  	invalidParams := request.ErrInvalidParams{Context: "AssociatePackageInput"}
  4975  	if s.DomainName == nil {
  4976  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  4977  	}
  4978  	if s.DomainName != nil && len(*s.DomainName) < 3 {
  4979  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
  4980  	}
  4981  	if s.PackageID == nil {
  4982  		invalidParams.Add(request.NewErrParamRequired("PackageID"))
  4983  	}
  4984  	if s.PackageID != nil && len(*s.PackageID) < 1 {
  4985  		invalidParams.Add(request.NewErrParamMinLen("PackageID", 1))
  4986  	}
  4987  
  4988  	if invalidParams.Len() > 0 {
  4989  		return invalidParams
  4990  	}
  4991  	return nil
  4992  }
  4993  
  4994  // SetDomainName sets the DomainName field's value.
  4995  func (s *AssociatePackageInput) SetDomainName(v string) *AssociatePackageInput {
  4996  	s.DomainName = &v
  4997  	return s
  4998  }
  4999  
  5000  // SetPackageID sets the PackageID field's value.
  5001  func (s *AssociatePackageInput) SetPackageID(v string) *AssociatePackageInput {
  5002  	s.PackageID = &v
  5003  	return s
  5004  }
  5005  
  5006  // Container for response returned by AssociatePackage operation.
  5007  type AssociatePackageOutput struct {
  5008  	_ struct{} `type:"structure"`
  5009  
  5010  	// DomainPackageDetails
  5011  	DomainPackageDetails *DomainPackageDetails `type:"structure"`
  5012  }
  5013  
  5014  // String returns the string representation.
  5015  //
  5016  // API parameter values that are decorated as "sensitive" in the API will not
  5017  // be included in the string output. The member name will be present, but the
  5018  // value will be replaced with "sensitive".
  5019  func (s AssociatePackageOutput) String() string {
  5020  	return awsutil.Prettify(s)
  5021  }
  5022  
  5023  // GoString returns the string representation.
  5024  //
  5025  // API parameter values that are decorated as "sensitive" in the API will not
  5026  // be included in the string output. The member name will be present, but the
  5027  // value will be replaced with "sensitive".
  5028  func (s AssociatePackageOutput) GoString() string {
  5029  	return s.String()
  5030  }
  5031  
  5032  // SetDomainPackageDetails sets the DomainPackageDetails field's value.
  5033  func (s *AssociatePackageOutput) SetDomainPackageDetails(v *DomainPackageDetails) *AssociatePackageOutput {
  5034  	s.DomainPackageDetails = v
  5035  	return s
  5036  }
  5037  
  5038  // Specifies Auto-Tune type and Auto-Tune action details.
  5039  type AutoTune struct {
  5040  	_ struct{} `type:"structure"`
  5041  
  5042  	// Specifies details of the Auto-Tune action. See the Developer Guide (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/auto-tune.html)
  5043  	// for more information.
  5044  	AutoTuneDetails *AutoTuneDetails `type:"structure"`
  5045  
  5046  	// Specifies Auto-Tune type. Valid value is SCHEDULED_ACTION.
  5047  	AutoTuneType *string `type:"string" enum:"AutoTuneType"`
  5048  }
  5049  
  5050  // String returns the string representation.
  5051  //
  5052  // API parameter values that are decorated as "sensitive" in the API will not
  5053  // be included in the string output. The member name will be present, but the
  5054  // value will be replaced with "sensitive".
  5055  func (s AutoTune) String() string {
  5056  	return awsutil.Prettify(s)
  5057  }
  5058  
  5059  // GoString returns the string representation.
  5060  //
  5061  // API parameter values that are decorated as "sensitive" in the API will not
  5062  // be included in the string output. The member name will be present, but the
  5063  // value will be replaced with "sensitive".
  5064  func (s AutoTune) GoString() string {
  5065  	return s.String()
  5066  }
  5067  
  5068  // SetAutoTuneDetails sets the AutoTuneDetails field's value.
  5069  func (s *AutoTune) SetAutoTuneDetails(v *AutoTuneDetails) *AutoTune {
  5070  	s.AutoTuneDetails = v
  5071  	return s
  5072  }
  5073  
  5074  // SetAutoTuneType sets the AutoTuneType field's value.
  5075  func (s *AutoTune) SetAutoTuneType(v string) *AutoTune {
  5076  	s.AutoTuneType = &v
  5077  	return s
  5078  }
  5079  
  5080  // Specifies details of the Auto-Tune action. See the Developer Guide (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/auto-tune.html)
  5081  // for more information.
  5082  type AutoTuneDetails struct {
  5083  	_ struct{} `type:"structure"`
  5084  
  5085  	// Specifies details of the scheduled Auto-Tune action. See the Developer Guide
  5086  	// (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/auto-tune.html)
  5087  	// for more information.
  5088  	ScheduledAutoTuneDetails *ScheduledAutoTuneDetails `type:"structure"`
  5089  }
  5090  
  5091  // String returns the string representation.
  5092  //
  5093  // API parameter values that are decorated as "sensitive" in the API will not
  5094  // be included in the string output. The member name will be present, but the
  5095  // value will be replaced with "sensitive".
  5096  func (s AutoTuneDetails) String() string {
  5097  	return awsutil.Prettify(s)
  5098  }
  5099  
  5100  // GoString returns the string representation.
  5101  //
  5102  // API parameter values that are decorated as "sensitive" in the API will not
  5103  // be included in the string output. The member name will be present, but the
  5104  // value will be replaced with "sensitive".
  5105  func (s AutoTuneDetails) GoString() string {
  5106  	return s.String()
  5107  }
  5108  
  5109  // SetScheduledAutoTuneDetails sets the ScheduledAutoTuneDetails field's value.
  5110  func (s *AutoTuneDetails) SetScheduledAutoTuneDetails(v *ScheduledAutoTuneDetails) *AutoTuneDetails {
  5111  	s.ScheduledAutoTuneDetails = v
  5112  	return s
  5113  }
  5114  
  5115  // Specifies Auto-Tune maitenance schedule. See the Developer Guide (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/auto-tune.html)
  5116  // for more information.
  5117  type AutoTuneMaintenanceSchedule struct {
  5118  	_ struct{} `type:"structure"`
  5119  
  5120  	// Specifies cron expression for a recurring maintenance schedule. See the Developer
  5121  	// Guide (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/auto-tune.html)
  5122  	// for more information.
  5123  	CronExpressionForRecurrence *string `type:"string"`
  5124  
  5125  	// Specifies maintenance schedule duration: duration value and duration unit.
  5126  	// See the Developer Guide (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/auto-tune.html)
  5127  	// for more information.
  5128  	Duration *Duration `type:"structure"`
  5129  
  5130  	// Specifies timestamp at which Auto-Tune maintenance schedule start.
  5131  	StartAt *time.Time `type:"timestamp"`
  5132  }
  5133  
  5134  // String returns the string representation.
  5135  //
  5136  // API parameter values that are decorated as "sensitive" in the API will not
  5137  // be included in the string output. The member name will be present, but the
  5138  // value will be replaced with "sensitive".
  5139  func (s AutoTuneMaintenanceSchedule) String() string {
  5140  	return awsutil.Prettify(s)
  5141  }
  5142  
  5143  // GoString returns the string representation.
  5144  //
  5145  // API parameter values that are decorated as "sensitive" in the API will not
  5146  // be included in the string output. The member name will be present, but the
  5147  // value will be replaced with "sensitive".
  5148  func (s AutoTuneMaintenanceSchedule) GoString() string {
  5149  	return s.String()
  5150  }
  5151  
  5152  // Validate inspects the fields of the type to determine if they are valid.
  5153  func (s *AutoTuneMaintenanceSchedule) Validate() error {
  5154  	invalidParams := request.ErrInvalidParams{Context: "AutoTuneMaintenanceSchedule"}
  5155  	if s.Duration != nil {
  5156  		if err := s.Duration.Validate(); err != nil {
  5157  			invalidParams.AddNested("Duration", err.(request.ErrInvalidParams))
  5158  		}
  5159  	}
  5160  
  5161  	if invalidParams.Len() > 0 {
  5162  		return invalidParams
  5163  	}
  5164  	return nil
  5165  }
  5166  
  5167  // SetCronExpressionForRecurrence sets the CronExpressionForRecurrence field's value.
  5168  func (s *AutoTuneMaintenanceSchedule) SetCronExpressionForRecurrence(v string) *AutoTuneMaintenanceSchedule {
  5169  	s.CronExpressionForRecurrence = &v
  5170  	return s
  5171  }
  5172  
  5173  // SetDuration sets the Duration field's value.
  5174  func (s *AutoTuneMaintenanceSchedule) SetDuration(v *Duration) *AutoTuneMaintenanceSchedule {
  5175  	s.Duration = v
  5176  	return s
  5177  }
  5178  
  5179  // SetStartAt sets the StartAt field's value.
  5180  func (s *AutoTuneMaintenanceSchedule) SetStartAt(v time.Time) *AutoTuneMaintenanceSchedule {
  5181  	s.StartAt = &v
  5182  	return s
  5183  }
  5184  
  5185  // Specifies the Auto-Tune options: the Auto-Tune desired state for the domain,
  5186  // rollback state when disabling Auto-Tune options and list of maintenance schedules.
  5187  type AutoTuneOptions struct {
  5188  	_ struct{} `type:"structure"`
  5189  
  5190  	// Specifies the Auto-Tune desired state. Valid values are ENABLED, DISABLED.
  5191  	DesiredState *string `type:"string" enum:"AutoTuneDesiredState"`
  5192  
  5193  	// Specifies list of maitenance schedules. See the Developer Guide (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/auto-tune.html)
  5194  	// for more information.
  5195  	MaintenanceSchedules []*AutoTuneMaintenanceSchedule `type:"list"`
  5196  
  5197  	// Specifies the rollback state while disabling Auto-Tune for the domain. Valid
  5198  	// values are NO_ROLLBACK, DEFAULT_ROLLBACK.
  5199  	RollbackOnDisable *string `type:"string" enum:"RollbackOnDisable"`
  5200  }
  5201  
  5202  // String returns the string representation.
  5203  //
  5204  // API parameter values that are decorated as "sensitive" in the API will not
  5205  // be included in the string output. The member name will be present, but the
  5206  // value will be replaced with "sensitive".
  5207  func (s AutoTuneOptions) String() string {
  5208  	return awsutil.Prettify(s)
  5209  }
  5210  
  5211  // GoString returns the string representation.
  5212  //
  5213  // API parameter values that are decorated as "sensitive" in the API will not
  5214  // be included in the string output. The member name will be present, but the
  5215  // value will be replaced with "sensitive".
  5216  func (s AutoTuneOptions) GoString() string {
  5217  	return s.String()
  5218  }
  5219  
  5220  // Validate inspects the fields of the type to determine if they are valid.
  5221  func (s *AutoTuneOptions) Validate() error {
  5222  	invalidParams := request.ErrInvalidParams{Context: "AutoTuneOptions"}
  5223  	if s.MaintenanceSchedules != nil {
  5224  		for i, v := range s.MaintenanceSchedules {
  5225  			if v == nil {
  5226  				continue
  5227  			}
  5228  			if err := v.Validate(); err != nil {
  5229  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MaintenanceSchedules", i), err.(request.ErrInvalidParams))
  5230  			}
  5231  		}
  5232  	}
  5233  
  5234  	if invalidParams.Len() > 0 {
  5235  		return invalidParams
  5236  	}
  5237  	return nil
  5238  }
  5239  
  5240  // SetDesiredState sets the DesiredState field's value.
  5241  func (s *AutoTuneOptions) SetDesiredState(v string) *AutoTuneOptions {
  5242  	s.DesiredState = &v
  5243  	return s
  5244  }
  5245  
  5246  // SetMaintenanceSchedules sets the MaintenanceSchedules field's value.
  5247  func (s *AutoTuneOptions) SetMaintenanceSchedules(v []*AutoTuneMaintenanceSchedule) *AutoTuneOptions {
  5248  	s.MaintenanceSchedules = v
  5249  	return s
  5250  }
  5251  
  5252  // SetRollbackOnDisable sets the RollbackOnDisable field's value.
  5253  func (s *AutoTuneOptions) SetRollbackOnDisable(v string) *AutoTuneOptions {
  5254  	s.RollbackOnDisable = &v
  5255  	return s
  5256  }
  5257  
  5258  // Specifies the Auto-Tune options: the Auto-Tune desired state for the domain
  5259  // and list of maintenance schedules.
  5260  type AutoTuneOptionsInput struct {
  5261  	_ struct{} `type:"structure"`
  5262  
  5263  	// Specifies the Auto-Tune desired state. Valid values are ENABLED, DISABLED.
  5264  	DesiredState *string `type:"string" enum:"AutoTuneDesiredState"`
  5265  
  5266  	// Specifies list of maitenance schedules. See the Developer Guide (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/auto-tune.html)
  5267  	// for more information.
  5268  	MaintenanceSchedules []*AutoTuneMaintenanceSchedule `type:"list"`
  5269  }
  5270  
  5271  // String returns the string representation.
  5272  //
  5273  // API parameter values that are decorated as "sensitive" in the API will not
  5274  // be included in the string output. The member name will be present, but the
  5275  // value will be replaced with "sensitive".
  5276  func (s AutoTuneOptionsInput) String() string {
  5277  	return awsutil.Prettify(s)
  5278  }
  5279  
  5280  // GoString returns the string representation.
  5281  //
  5282  // API parameter values that are decorated as "sensitive" in the API will not
  5283  // be included in the string output. The member name will be present, but the
  5284  // value will be replaced with "sensitive".
  5285  func (s AutoTuneOptionsInput) GoString() string {
  5286  	return s.String()
  5287  }
  5288  
  5289  // Validate inspects the fields of the type to determine if they are valid.
  5290  func (s *AutoTuneOptionsInput) Validate() error {
  5291  	invalidParams := request.ErrInvalidParams{Context: "AutoTuneOptionsInput"}
  5292  	if s.MaintenanceSchedules != nil {
  5293  		for i, v := range s.MaintenanceSchedules {
  5294  			if v == nil {
  5295  				continue
  5296  			}
  5297  			if err := v.Validate(); err != nil {
  5298  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MaintenanceSchedules", i), err.(request.ErrInvalidParams))
  5299  			}
  5300  		}
  5301  	}
  5302  
  5303  	if invalidParams.Len() > 0 {
  5304  		return invalidParams
  5305  	}
  5306  	return nil
  5307  }
  5308  
  5309  // SetDesiredState sets the DesiredState field's value.
  5310  func (s *AutoTuneOptionsInput) SetDesiredState(v string) *AutoTuneOptionsInput {
  5311  	s.DesiredState = &v
  5312  	return s
  5313  }
  5314  
  5315  // SetMaintenanceSchedules sets the MaintenanceSchedules field's value.
  5316  func (s *AutoTuneOptionsInput) SetMaintenanceSchedules(v []*AutoTuneMaintenanceSchedule) *AutoTuneOptionsInput {
  5317  	s.MaintenanceSchedules = v
  5318  	return s
  5319  }
  5320  
  5321  // Specifies the Auto-Tune options: the Auto-Tune desired state for the domain
  5322  // and list of maintenance schedules.
  5323  type AutoTuneOptionsOutput struct {
  5324  	_ struct{} `type:"structure"`
  5325  
  5326  	// Specifies the error message while enabling or disabling the Auto-Tune.
  5327  	ErrorMessage *string `type:"string"`
  5328  
  5329  	// Specifies the AutoTuneState for the Elasticsearch domain.
  5330  	State *string `type:"string" enum:"AutoTuneState"`
  5331  }
  5332  
  5333  // String returns the string representation.
  5334  //
  5335  // API parameter values that are decorated as "sensitive" in the API will not
  5336  // be included in the string output. The member name will be present, but the
  5337  // value will be replaced with "sensitive".
  5338  func (s AutoTuneOptionsOutput) String() string {
  5339  	return awsutil.Prettify(s)
  5340  }
  5341  
  5342  // GoString returns the string representation.
  5343  //
  5344  // API parameter values that are decorated as "sensitive" in the API will not
  5345  // be included in the string output. The member name will be present, but the
  5346  // value will be replaced with "sensitive".
  5347  func (s AutoTuneOptionsOutput) GoString() string {
  5348  	return s.String()
  5349  }
  5350  
  5351  // SetErrorMessage sets the ErrorMessage field's value.
  5352  func (s *AutoTuneOptionsOutput) SetErrorMessage(v string) *AutoTuneOptionsOutput {
  5353  	s.ErrorMessage = &v
  5354  	return s
  5355  }
  5356  
  5357  // SetState sets the State field's value.
  5358  func (s *AutoTuneOptionsOutput) SetState(v string) *AutoTuneOptionsOutput {
  5359  	s.State = &v
  5360  	return s
  5361  }
  5362  
  5363  // Specifies the status of Auto-Tune options for the specified Elasticsearch
  5364  // domain.
  5365  type AutoTuneOptionsStatus struct {
  5366  	_ struct{} `type:"structure"`
  5367  
  5368  	// Specifies Auto-Tune options for the specified Elasticsearch domain.
  5369  	Options *AutoTuneOptions `type:"structure"`
  5370  
  5371  	// Specifies Status of the Auto-Tune options for the specified Elasticsearch
  5372  	// domain.
  5373  	Status *AutoTuneStatus `type:"structure"`
  5374  }
  5375  
  5376  // String returns the string representation.
  5377  //
  5378  // API parameter values that are decorated as "sensitive" in the API will not
  5379  // be included in the string output. The member name will be present, but the
  5380  // value will be replaced with "sensitive".
  5381  func (s AutoTuneOptionsStatus) String() string {
  5382  	return awsutil.Prettify(s)
  5383  }
  5384  
  5385  // GoString returns the string representation.
  5386  //
  5387  // API parameter values that are decorated as "sensitive" in the API will not
  5388  // be included in the string output. The member name will be present, but the
  5389  // value will be replaced with "sensitive".
  5390  func (s AutoTuneOptionsStatus) GoString() string {
  5391  	return s.String()
  5392  }
  5393  
  5394  // SetOptions sets the Options field's value.
  5395  func (s *AutoTuneOptionsStatus) SetOptions(v *AutoTuneOptions) *AutoTuneOptionsStatus {
  5396  	s.Options = v
  5397  	return s
  5398  }
  5399  
  5400  // SetStatus sets the Status field's value.
  5401  func (s *AutoTuneOptionsStatus) SetStatus(v *AutoTuneStatus) *AutoTuneOptionsStatus {
  5402  	s.Status = v
  5403  	return s
  5404  }
  5405  
  5406  // Provides the current status of the Auto-Tune options.
  5407  type AutoTuneStatus struct {
  5408  	_ struct{} `type:"structure"`
  5409  
  5410  	// Timestamp which tells Auto-Tune options creation date .
  5411  	//
  5412  	// CreationDate is a required field
  5413  	CreationDate *time.Time `type:"timestamp" required:"true"`
  5414  
  5415  	// Specifies the error message while enabling or disabling the Auto-Tune options.
  5416  	ErrorMessage *string `type:"string"`
  5417  
  5418  	// Indicates whether the Elasticsearch domain is being deleted.
  5419  	PendingDeletion *bool `type:"boolean"`
  5420  
  5421  	// Specifies the AutoTuneState for the Elasticsearch domain.
  5422  	//
  5423  	// State is a required field
  5424  	State *string `type:"string" required:"true" enum:"AutoTuneState"`
  5425  
  5426  	// Timestamp which tells Auto-Tune options last updated time.
  5427  	//
  5428  	// UpdateDate is a required field
  5429  	UpdateDate *time.Time `type:"timestamp" required:"true"`
  5430  
  5431  	// Specifies the Auto-Tune options latest version.
  5432  	UpdateVersion *int64 `type:"integer"`
  5433  }
  5434  
  5435  // String returns the string representation.
  5436  //
  5437  // API parameter values that are decorated as "sensitive" in the API will not
  5438  // be included in the string output. The member name will be present, but the
  5439  // value will be replaced with "sensitive".
  5440  func (s AutoTuneStatus) String() string {
  5441  	return awsutil.Prettify(s)
  5442  }
  5443  
  5444  // GoString returns the string representation.
  5445  //
  5446  // API parameter values that are decorated as "sensitive" in the API will not
  5447  // be included in the string output. The member name will be present, but the
  5448  // value will be replaced with "sensitive".
  5449  func (s AutoTuneStatus) GoString() string {
  5450  	return s.String()
  5451  }
  5452  
  5453  // SetCreationDate sets the CreationDate field's value.
  5454  func (s *AutoTuneStatus) SetCreationDate(v time.Time) *AutoTuneStatus {
  5455  	s.CreationDate = &v
  5456  	return s
  5457  }
  5458  
  5459  // SetErrorMessage sets the ErrorMessage field's value.
  5460  func (s *AutoTuneStatus) SetErrorMessage(v string) *AutoTuneStatus {
  5461  	s.ErrorMessage = &v
  5462  	return s
  5463  }
  5464  
  5465  // SetPendingDeletion sets the PendingDeletion field's value.
  5466  func (s *AutoTuneStatus) SetPendingDeletion(v bool) *AutoTuneStatus {
  5467  	s.PendingDeletion = &v
  5468  	return s
  5469  }
  5470  
  5471  // SetState sets the State field's value.
  5472  func (s *AutoTuneStatus) SetState(v string) *AutoTuneStatus {
  5473  	s.State = &v
  5474  	return s
  5475  }
  5476  
  5477  // SetUpdateDate sets the UpdateDate field's value.
  5478  func (s *AutoTuneStatus) SetUpdateDate(v time.Time) *AutoTuneStatus {
  5479  	s.UpdateDate = &v
  5480  	return s
  5481  }
  5482  
  5483  // SetUpdateVersion sets the UpdateVersion field's value.
  5484  func (s *AutoTuneStatus) SetUpdateVersion(v int64) *AutoTuneStatus {
  5485  	s.UpdateVersion = &v
  5486  	return s
  5487  }
  5488  
  5489  // An error occurred while processing the request.
  5490  type BaseException struct {
  5491  	_            struct{}                  `type:"structure"`
  5492  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5493  
  5494  	// A description of the error.
  5495  	Message_ *string `locationName:"message" type:"string"`
  5496  }
  5497  
  5498  // String returns the string representation.
  5499  //
  5500  // API parameter values that are decorated as "sensitive" in the API will not
  5501  // be included in the string output. The member name will be present, but the
  5502  // value will be replaced with "sensitive".
  5503  func (s BaseException) String() string {
  5504  	return awsutil.Prettify(s)
  5505  }
  5506  
  5507  // GoString returns the string representation.
  5508  //
  5509  // API parameter values that are decorated as "sensitive" in the API will not
  5510  // be included in the string output. The member name will be present, but the
  5511  // value will be replaced with "sensitive".
  5512  func (s BaseException) GoString() string {
  5513  	return s.String()
  5514  }
  5515  
  5516  func newErrorBaseException(v protocol.ResponseMetadata) error {
  5517  	return &BaseException{
  5518  		RespMetadata: v,
  5519  	}
  5520  }
  5521  
  5522  // Code returns the exception type name.
  5523  func (s *BaseException) Code() string {
  5524  	return "BaseException"
  5525  }
  5526  
  5527  // Message returns the exception's message.
  5528  func (s *BaseException) Message() string {
  5529  	if s.Message_ != nil {
  5530  		return *s.Message_
  5531  	}
  5532  	return ""
  5533  }
  5534  
  5535  // OrigErr always returns nil, satisfies awserr.Error interface.
  5536  func (s *BaseException) OrigErr() error {
  5537  	return nil
  5538  }
  5539  
  5540  func (s *BaseException) Error() string {
  5541  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  5542  }
  5543  
  5544  // Status code returns the HTTP status code for the request's response error.
  5545  func (s *BaseException) StatusCode() int {
  5546  	return s.RespMetadata.StatusCode
  5547  }
  5548  
  5549  // RequestID returns the service's response RequestID for request.
  5550  func (s *BaseException) RequestID() string {
  5551  	return s.RespMetadata.RequestID
  5552  }
  5553  
  5554  // Container for the parameters to the CancelElasticsearchServiceSoftwareUpdate
  5555  // operation. Specifies the name of the Elasticsearch domain that you wish to
  5556  // cancel a service software update on.
  5557  type CancelElasticsearchServiceSoftwareUpdateInput struct {
  5558  	_ struct{} `type:"structure"`
  5559  
  5560  	// The name of the domain that you want to stop the latest service software
  5561  	// update on.
  5562  	//
  5563  	// DomainName is a required field
  5564  	DomainName *string `min:"3" type:"string" required:"true"`
  5565  }
  5566  
  5567  // String returns the string representation.
  5568  //
  5569  // API parameter values that are decorated as "sensitive" in the API will not
  5570  // be included in the string output. The member name will be present, but the
  5571  // value will be replaced with "sensitive".
  5572  func (s CancelElasticsearchServiceSoftwareUpdateInput) String() string {
  5573  	return awsutil.Prettify(s)
  5574  }
  5575  
  5576  // GoString returns the string representation.
  5577  //
  5578  // API parameter values that are decorated as "sensitive" in the API will not
  5579  // be included in the string output. The member name will be present, but the
  5580  // value will be replaced with "sensitive".
  5581  func (s CancelElasticsearchServiceSoftwareUpdateInput) GoString() string {
  5582  	return s.String()
  5583  }
  5584  
  5585  // Validate inspects the fields of the type to determine if they are valid.
  5586  func (s *CancelElasticsearchServiceSoftwareUpdateInput) Validate() error {
  5587  	invalidParams := request.ErrInvalidParams{Context: "CancelElasticsearchServiceSoftwareUpdateInput"}
  5588  	if s.DomainName == nil {
  5589  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  5590  	}
  5591  	if s.DomainName != nil && len(*s.DomainName) < 3 {
  5592  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
  5593  	}
  5594  
  5595  	if invalidParams.Len() > 0 {
  5596  		return invalidParams
  5597  	}
  5598  	return nil
  5599  }
  5600  
  5601  // SetDomainName sets the DomainName field's value.
  5602  func (s *CancelElasticsearchServiceSoftwareUpdateInput) SetDomainName(v string) *CancelElasticsearchServiceSoftwareUpdateInput {
  5603  	s.DomainName = &v
  5604  	return s
  5605  }
  5606  
  5607  // The result of a CancelElasticsearchServiceSoftwareUpdate operation. Contains
  5608  // the status of the update.
  5609  type CancelElasticsearchServiceSoftwareUpdateOutput struct {
  5610  	_ struct{} `type:"structure"`
  5611  
  5612  	// The current status of the Elasticsearch service software update.
  5613  	ServiceSoftwareOptions *ServiceSoftwareOptions `type:"structure"`
  5614  }
  5615  
  5616  // String returns the string representation.
  5617  //
  5618  // API parameter values that are decorated as "sensitive" in the API will not
  5619  // be included in the string output. The member name will be present, but the
  5620  // value will be replaced with "sensitive".
  5621  func (s CancelElasticsearchServiceSoftwareUpdateOutput) String() string {
  5622  	return awsutil.Prettify(s)
  5623  }
  5624  
  5625  // GoString returns the string representation.
  5626  //
  5627  // API parameter values that are decorated as "sensitive" in the API will not
  5628  // be included in the string output. The member name will be present, but the
  5629  // value will be replaced with "sensitive".
  5630  func (s CancelElasticsearchServiceSoftwareUpdateOutput) GoString() string {
  5631  	return s.String()
  5632  }
  5633  
  5634  // SetServiceSoftwareOptions sets the ServiceSoftwareOptions field's value.
  5635  func (s *CancelElasticsearchServiceSoftwareUpdateOutput) SetServiceSoftwareOptions(v *ServiceSoftwareOptions) *CancelElasticsearchServiceSoftwareUpdateOutput {
  5636  	s.ServiceSoftwareOptions = v
  5637  	return s
  5638  }
  5639  
  5640  // Options to specify the Cognito user and identity pools for Kibana authentication.
  5641  // For more information, see Amazon Cognito Authentication for Kibana (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-cognito-auth.html).
  5642  type CognitoOptions struct {
  5643  	_ struct{} `type:"structure"`
  5644  
  5645  	// Specifies the option to enable Cognito for Kibana authentication.
  5646  	Enabled *bool `type:"boolean"`
  5647  
  5648  	// Specifies the Cognito identity pool ID for Kibana authentication.
  5649  	IdentityPoolId *string `min:"1" type:"string"`
  5650  
  5651  	// Specifies the role ARN that provides Elasticsearch permissions for accessing
  5652  	// Cognito resources.
  5653  	RoleArn *string `min:"20" type:"string"`
  5654  
  5655  	// Specifies the Cognito user pool ID for Kibana authentication.
  5656  	UserPoolId *string `min:"1" type:"string"`
  5657  }
  5658  
  5659  // String returns the string representation.
  5660  //
  5661  // API parameter values that are decorated as "sensitive" in the API will not
  5662  // be included in the string output. The member name will be present, but the
  5663  // value will be replaced with "sensitive".
  5664  func (s CognitoOptions) String() string {
  5665  	return awsutil.Prettify(s)
  5666  }
  5667  
  5668  // GoString returns the string representation.
  5669  //
  5670  // API parameter values that are decorated as "sensitive" in the API will not
  5671  // be included in the string output. The member name will be present, but the
  5672  // value will be replaced with "sensitive".
  5673  func (s CognitoOptions) GoString() string {
  5674  	return s.String()
  5675  }
  5676  
  5677  // Validate inspects the fields of the type to determine if they are valid.
  5678  func (s *CognitoOptions) Validate() error {
  5679  	invalidParams := request.ErrInvalidParams{Context: "CognitoOptions"}
  5680  	if s.IdentityPoolId != nil && len(*s.IdentityPoolId) < 1 {
  5681  		invalidParams.Add(request.NewErrParamMinLen("IdentityPoolId", 1))
  5682  	}
  5683  	if s.RoleArn != nil && len(*s.RoleArn) < 20 {
  5684  		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20))
  5685  	}
  5686  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
  5687  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
  5688  	}
  5689  
  5690  	if invalidParams.Len() > 0 {
  5691  		return invalidParams
  5692  	}
  5693  	return nil
  5694  }
  5695  
  5696  // SetEnabled sets the Enabled field's value.
  5697  func (s *CognitoOptions) SetEnabled(v bool) *CognitoOptions {
  5698  	s.Enabled = &v
  5699  	return s
  5700  }
  5701  
  5702  // SetIdentityPoolId sets the IdentityPoolId field's value.
  5703  func (s *CognitoOptions) SetIdentityPoolId(v string) *CognitoOptions {
  5704  	s.IdentityPoolId = &v
  5705  	return s
  5706  }
  5707  
  5708  // SetRoleArn sets the RoleArn field's value.
  5709  func (s *CognitoOptions) SetRoleArn(v string) *CognitoOptions {
  5710  	s.RoleArn = &v
  5711  	return s
  5712  }
  5713  
  5714  // SetUserPoolId sets the UserPoolId field's value.
  5715  func (s *CognitoOptions) SetUserPoolId(v string) *CognitoOptions {
  5716  	s.UserPoolId = &v
  5717  	return s
  5718  }
  5719  
  5720  // Status of the Cognito options for the specified Elasticsearch domain.
  5721  type CognitoOptionsStatus struct {
  5722  	_ struct{} `type:"structure"`
  5723  
  5724  	// Specifies the Cognito options for the specified Elasticsearch domain.
  5725  	//
  5726  	// Options is a required field
  5727  	Options *CognitoOptions `type:"structure" required:"true"`
  5728  
  5729  	// Specifies the status of the Cognito options for the specified Elasticsearch
  5730  	// domain.
  5731  	//
  5732  	// Status is a required field
  5733  	Status *OptionStatus `type:"structure" required:"true"`
  5734  }
  5735  
  5736  // String returns the string representation.
  5737  //
  5738  // API parameter values that are decorated as "sensitive" in the API will not
  5739  // be included in the string output. The member name will be present, but the
  5740  // value will be replaced with "sensitive".
  5741  func (s CognitoOptionsStatus) String() string {
  5742  	return awsutil.Prettify(s)
  5743  }
  5744  
  5745  // GoString returns the string representation.
  5746  //
  5747  // API parameter values that are decorated as "sensitive" in the API will not
  5748  // be included in the string output. The member name will be present, but the
  5749  // value will be replaced with "sensitive".
  5750  func (s CognitoOptionsStatus) GoString() string {
  5751  	return s.String()
  5752  }
  5753  
  5754  // SetOptions sets the Options field's value.
  5755  func (s *CognitoOptionsStatus) SetOptions(v *CognitoOptions) *CognitoOptionsStatus {
  5756  	s.Options = v
  5757  	return s
  5758  }
  5759  
  5760  // SetStatus sets the Status field's value.
  5761  func (s *CognitoOptionsStatus) SetStatus(v *OptionStatus) *CognitoOptionsStatus {
  5762  	s.Status = v
  5763  	return s
  5764  }
  5765  
  5766  // Specifies the configuration for cold storage options such as enabled
  5767  type ColdStorageOptions struct {
  5768  	_ struct{} `type:"structure"`
  5769  
  5770  	// Enable cold storage option. Accepted values true or false
  5771  	//
  5772  	// Enabled is a required field
  5773  	Enabled *bool `type:"boolean" required:"true"`
  5774  }
  5775  
  5776  // String returns the string representation.
  5777  //
  5778  // API parameter values that are decorated as "sensitive" in the API will not
  5779  // be included in the string output. The member name will be present, but the
  5780  // value will be replaced with "sensitive".
  5781  func (s ColdStorageOptions) String() string {
  5782  	return awsutil.Prettify(s)
  5783  }
  5784  
  5785  // GoString returns the string representation.
  5786  //
  5787  // API parameter values that are decorated as "sensitive" in the API will not
  5788  // be included in the string output. The member name will be present, but the
  5789  // value will be replaced with "sensitive".
  5790  func (s ColdStorageOptions) GoString() string {
  5791  	return s.String()
  5792  }
  5793  
  5794  // Validate inspects the fields of the type to determine if they are valid.
  5795  func (s *ColdStorageOptions) Validate() error {
  5796  	invalidParams := request.ErrInvalidParams{Context: "ColdStorageOptions"}
  5797  	if s.Enabled == nil {
  5798  		invalidParams.Add(request.NewErrParamRequired("Enabled"))
  5799  	}
  5800  
  5801  	if invalidParams.Len() > 0 {
  5802  		return invalidParams
  5803  	}
  5804  	return nil
  5805  }
  5806  
  5807  // SetEnabled sets the Enabled field's value.
  5808  func (s *ColdStorageOptions) SetEnabled(v bool) *ColdStorageOptions {
  5809  	s.Enabled = &v
  5810  	return s
  5811  }
  5812  
  5813  // A map from an ElasticsearchVersion to a list of compatible ElasticsearchVersion
  5814  // s to which the domain can be upgraded.
  5815  type CompatibleVersionsMap struct {
  5816  	_ struct{} `type:"structure"`
  5817  
  5818  	// The current version of Elasticsearch on which a domain is.
  5819  	SourceVersion *string `type:"string"`
  5820  
  5821  	// List of supported elastic search versions.
  5822  	TargetVersions []*string `type:"list"`
  5823  }
  5824  
  5825  // String returns the string representation.
  5826  //
  5827  // API parameter values that are decorated as "sensitive" in the API will not
  5828  // be included in the string output. The member name will be present, but the
  5829  // value will be replaced with "sensitive".
  5830  func (s CompatibleVersionsMap) String() string {
  5831  	return awsutil.Prettify(s)
  5832  }
  5833  
  5834  // GoString returns the string representation.
  5835  //
  5836  // API parameter values that are decorated as "sensitive" in the API will not
  5837  // be included in the string output. The member name will be present, but the
  5838  // value will be replaced with "sensitive".
  5839  func (s CompatibleVersionsMap) GoString() string {
  5840  	return s.String()
  5841  }
  5842  
  5843  // SetSourceVersion sets the SourceVersion field's value.
  5844  func (s *CompatibleVersionsMap) SetSourceVersion(v string) *CompatibleVersionsMap {
  5845  	s.SourceVersion = &v
  5846  	return s
  5847  }
  5848  
  5849  // SetTargetVersions sets the TargetVersions field's value.
  5850  func (s *CompatibleVersionsMap) SetTargetVersions(v []*string) *CompatibleVersionsMap {
  5851  	s.TargetVersions = v
  5852  	return s
  5853  }
  5854  
  5855  // An error occurred because the client attempts to remove a resource that is
  5856  // currently in use. Returns HTTP status code 409.
  5857  type ConflictException struct {
  5858  	_            struct{}                  `type:"structure"`
  5859  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5860  
  5861  	Message_ *string `locationName:"message" type:"string"`
  5862  }
  5863  
  5864  // String returns the string representation.
  5865  //
  5866  // API parameter values that are decorated as "sensitive" in the API will not
  5867  // be included in the string output. The member name will be present, but the
  5868  // value will be replaced with "sensitive".
  5869  func (s ConflictException) String() string {
  5870  	return awsutil.Prettify(s)
  5871  }
  5872  
  5873  // GoString returns the string representation.
  5874  //
  5875  // API parameter values that are decorated as "sensitive" in the API will not
  5876  // be included in the string output. The member name will be present, but the
  5877  // value will be replaced with "sensitive".
  5878  func (s ConflictException) GoString() string {
  5879  	return s.String()
  5880  }
  5881  
  5882  func newErrorConflictException(v protocol.ResponseMetadata) error {
  5883  	return &ConflictException{
  5884  		RespMetadata: v,
  5885  	}
  5886  }
  5887  
  5888  // Code returns the exception type name.
  5889  func (s *ConflictException) Code() string {
  5890  	return "ConflictException"
  5891  }
  5892  
  5893  // Message returns the exception's message.
  5894  func (s *ConflictException) Message() string {
  5895  	if s.Message_ != nil {
  5896  		return *s.Message_
  5897  	}
  5898  	return ""
  5899  }
  5900  
  5901  // OrigErr always returns nil, satisfies awserr.Error interface.
  5902  func (s *ConflictException) OrigErr() error {
  5903  	return nil
  5904  }
  5905  
  5906  func (s *ConflictException) Error() string {
  5907  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  5908  }
  5909  
  5910  // Status code returns the HTTP status code for the request's response error.
  5911  func (s *ConflictException) StatusCode() int {
  5912  	return s.RespMetadata.StatusCode
  5913  }
  5914  
  5915  // RequestID returns the service's response RequestID for request.
  5916  func (s *ConflictException) RequestID() string {
  5917  	return s.RespMetadata.RequestID
  5918  }
  5919  
  5920  type CreateElasticsearchDomainInput struct {
  5921  	_ struct{} `type:"structure"`
  5922  
  5923  	// IAM access policy as a JSON-formatted string.
  5924  	AccessPolicies *string `type:"string"`
  5925  
  5926  	// Option to allow references to indices in an HTTP request body. Must be false
  5927  	// when configuring access to individual sub-resources. By default, the value
  5928  	// is true. See Configuration Advanced Options (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomain-configure-advanced-options)
  5929  	// for more information.
  5930  	AdvancedOptions map[string]*string `type:"map"`
  5931  
  5932  	// Specifies advanced security options.
  5933  	AdvancedSecurityOptions *AdvancedSecurityOptionsInput `type:"structure"`
  5934  
  5935  	// Specifies Auto-Tune options.
  5936  	AutoTuneOptions *AutoTuneOptionsInput `type:"structure"`
  5937  
  5938  	// Options to specify the Cognito user and identity pools for Kibana authentication.
  5939  	// For more information, see Amazon Cognito Authentication for Kibana (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-cognito-auth.html).
  5940  	CognitoOptions *CognitoOptions `type:"structure"`
  5941  
  5942  	// Options to specify configuration that will be applied to the domain endpoint.
  5943  	DomainEndpointOptions *DomainEndpointOptions `type:"structure"`
  5944  
  5945  	// The name of the Elasticsearch domain that you are creating. Domain names
  5946  	// are unique across the domains owned by an account within an AWS region. Domain
  5947  	// names must start with a lowercase letter and can contain the following characters:
  5948  	// a-z (lowercase), 0-9, and - (hyphen).
  5949  	//
  5950  	// DomainName is a required field
  5951  	DomainName *string `min:"3" type:"string" required:"true"`
  5952  
  5953  	// Options to enable, disable and specify the type and size of EBS storage volumes.
  5954  	EBSOptions *EBSOptions `type:"structure"`
  5955  
  5956  	// Configuration options for an Elasticsearch domain. Specifies the instance
  5957  	// type and number of instances in the domain cluster.
  5958  	ElasticsearchClusterConfig *ElasticsearchClusterConfig `type:"structure"`
  5959  
  5960  	// String of format X.Y to specify version for the Elasticsearch domain eg.
  5961  	// "1.5" or "2.3". For more information, see Creating Elasticsearch Domains
  5962  	// (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomains)
  5963  	// in the Amazon Elasticsearch Service Developer Guide.
  5964  	ElasticsearchVersion *string `type:"string"`
  5965  
  5966  	// Specifies the Encryption At Rest Options.
  5967  	EncryptionAtRestOptions *EncryptionAtRestOptions `type:"structure"`
  5968  
  5969  	// Map of LogType and LogPublishingOption, each containing options to publish
  5970  	// a given type of Elasticsearch log.
  5971  	LogPublishingOptions map[string]*LogPublishingOption `type:"map"`
  5972  
  5973  	// Specifies the NodeToNodeEncryptionOptions.
  5974  	NodeToNodeEncryptionOptions *NodeToNodeEncryptionOptions `type:"structure"`
  5975  
  5976  	// Option to set time, in UTC format, of the daily automated snapshot. Default
  5977  	// value is 0 hours.
  5978  	SnapshotOptions *SnapshotOptions `type:"structure"`
  5979  
  5980  	// A list of Tag added during domain creation.
  5981  	TagList []*Tag `type:"list"`
  5982  
  5983  	// Options to specify the subnets and security groups for VPC endpoint. For
  5984  	// more information, see Creating a VPC (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-vpc.html#es-creating-vpc)
  5985  	// in VPC Endpoints for Amazon Elasticsearch Service Domains
  5986  	VPCOptions *VPCOptions `type:"structure"`
  5987  }
  5988  
  5989  // String returns the string representation.
  5990  //
  5991  // API parameter values that are decorated as "sensitive" in the API will not
  5992  // be included in the string output. The member name will be present, but the
  5993  // value will be replaced with "sensitive".
  5994  func (s CreateElasticsearchDomainInput) String() string {
  5995  	return awsutil.Prettify(s)
  5996  }
  5997  
  5998  // GoString returns the string representation.
  5999  //
  6000  // API parameter values that are decorated as "sensitive" in the API will not
  6001  // be included in the string output. The member name will be present, but the
  6002  // value will be replaced with "sensitive".
  6003  func (s CreateElasticsearchDomainInput) GoString() string {
  6004  	return s.String()
  6005  }
  6006  
  6007  // Validate inspects the fields of the type to determine if they are valid.
  6008  func (s *CreateElasticsearchDomainInput) Validate() error {
  6009  	invalidParams := request.ErrInvalidParams{Context: "CreateElasticsearchDomainInput"}
  6010  	if s.DomainName == nil {
  6011  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  6012  	}
  6013  	if s.DomainName != nil && len(*s.DomainName) < 3 {
  6014  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
  6015  	}
  6016  	if s.AdvancedSecurityOptions != nil {
  6017  		if err := s.AdvancedSecurityOptions.Validate(); err != nil {
  6018  			invalidParams.AddNested("AdvancedSecurityOptions", err.(request.ErrInvalidParams))
  6019  		}
  6020  	}
  6021  	if s.AutoTuneOptions != nil {
  6022  		if err := s.AutoTuneOptions.Validate(); err != nil {
  6023  			invalidParams.AddNested("AutoTuneOptions", err.(request.ErrInvalidParams))
  6024  		}
  6025  	}
  6026  	if s.CognitoOptions != nil {
  6027  		if err := s.CognitoOptions.Validate(); err != nil {
  6028  			invalidParams.AddNested("CognitoOptions", err.(request.ErrInvalidParams))
  6029  		}
  6030  	}
  6031  	if s.DomainEndpointOptions != nil {
  6032  		if err := s.DomainEndpointOptions.Validate(); err != nil {
  6033  			invalidParams.AddNested("DomainEndpointOptions", err.(request.ErrInvalidParams))
  6034  		}
  6035  	}
  6036  	if s.ElasticsearchClusterConfig != nil {
  6037  		if err := s.ElasticsearchClusterConfig.Validate(); err != nil {
  6038  			invalidParams.AddNested("ElasticsearchClusterConfig", err.(request.ErrInvalidParams))
  6039  		}
  6040  	}
  6041  	if s.EncryptionAtRestOptions != nil {
  6042  		if err := s.EncryptionAtRestOptions.Validate(); err != nil {
  6043  			invalidParams.AddNested("EncryptionAtRestOptions", err.(request.ErrInvalidParams))
  6044  		}
  6045  	}
  6046  	if s.TagList != nil {
  6047  		for i, v := range s.TagList {
  6048  			if v == nil {
  6049  				continue
  6050  			}
  6051  			if err := v.Validate(); err != nil {
  6052  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TagList", i), err.(request.ErrInvalidParams))
  6053  			}
  6054  		}
  6055  	}
  6056  
  6057  	if invalidParams.Len() > 0 {
  6058  		return invalidParams
  6059  	}
  6060  	return nil
  6061  }
  6062  
  6063  // SetAccessPolicies sets the AccessPolicies field's value.
  6064  func (s *CreateElasticsearchDomainInput) SetAccessPolicies(v string) *CreateElasticsearchDomainInput {
  6065  	s.AccessPolicies = &v
  6066  	return s
  6067  }
  6068  
  6069  // SetAdvancedOptions sets the AdvancedOptions field's value.
  6070  func (s *CreateElasticsearchDomainInput) SetAdvancedOptions(v map[string]*string) *CreateElasticsearchDomainInput {
  6071  	s.AdvancedOptions = v
  6072  	return s
  6073  }
  6074  
  6075  // SetAdvancedSecurityOptions sets the AdvancedSecurityOptions field's value.
  6076  func (s *CreateElasticsearchDomainInput) SetAdvancedSecurityOptions(v *AdvancedSecurityOptionsInput) *CreateElasticsearchDomainInput {
  6077  	s.AdvancedSecurityOptions = v
  6078  	return s
  6079  }
  6080  
  6081  // SetAutoTuneOptions sets the AutoTuneOptions field's value.
  6082  func (s *CreateElasticsearchDomainInput) SetAutoTuneOptions(v *AutoTuneOptionsInput) *CreateElasticsearchDomainInput {
  6083  	s.AutoTuneOptions = v
  6084  	return s
  6085  }
  6086  
  6087  // SetCognitoOptions sets the CognitoOptions field's value.
  6088  func (s *CreateElasticsearchDomainInput) SetCognitoOptions(v *CognitoOptions) *CreateElasticsearchDomainInput {
  6089  	s.CognitoOptions = v
  6090  	return s
  6091  }
  6092  
  6093  // SetDomainEndpointOptions sets the DomainEndpointOptions field's value.
  6094  func (s *CreateElasticsearchDomainInput) SetDomainEndpointOptions(v *DomainEndpointOptions) *CreateElasticsearchDomainInput {
  6095  	s.DomainEndpointOptions = v
  6096  	return s
  6097  }
  6098  
  6099  // SetDomainName sets the DomainName field's value.
  6100  func (s *CreateElasticsearchDomainInput) SetDomainName(v string) *CreateElasticsearchDomainInput {
  6101  	s.DomainName = &v
  6102  	return s
  6103  }
  6104  
  6105  // SetEBSOptions sets the EBSOptions field's value.
  6106  func (s *CreateElasticsearchDomainInput) SetEBSOptions(v *EBSOptions) *CreateElasticsearchDomainInput {
  6107  	s.EBSOptions = v
  6108  	return s
  6109  }
  6110  
  6111  // SetElasticsearchClusterConfig sets the ElasticsearchClusterConfig field's value.
  6112  func (s *CreateElasticsearchDomainInput) SetElasticsearchClusterConfig(v *ElasticsearchClusterConfig) *CreateElasticsearchDomainInput {
  6113  	s.ElasticsearchClusterConfig = v
  6114  	return s
  6115  }
  6116  
  6117  // SetElasticsearchVersion sets the ElasticsearchVersion field's value.
  6118  func (s *CreateElasticsearchDomainInput) SetElasticsearchVersion(v string) *CreateElasticsearchDomainInput {
  6119  	s.ElasticsearchVersion = &v
  6120  	return s
  6121  }
  6122  
  6123  // SetEncryptionAtRestOptions sets the EncryptionAtRestOptions field's value.
  6124  func (s *CreateElasticsearchDomainInput) SetEncryptionAtRestOptions(v *EncryptionAtRestOptions) *CreateElasticsearchDomainInput {
  6125  	s.EncryptionAtRestOptions = v
  6126  	return s
  6127  }
  6128  
  6129  // SetLogPublishingOptions sets the LogPublishingOptions field's value.
  6130  func (s *CreateElasticsearchDomainInput) SetLogPublishingOptions(v map[string]*LogPublishingOption) *CreateElasticsearchDomainInput {
  6131  	s.LogPublishingOptions = v
  6132  	return s
  6133  }
  6134  
  6135  // SetNodeToNodeEncryptionOptions sets the NodeToNodeEncryptionOptions field's value.
  6136  func (s *CreateElasticsearchDomainInput) SetNodeToNodeEncryptionOptions(v *NodeToNodeEncryptionOptions) *CreateElasticsearchDomainInput {
  6137  	s.NodeToNodeEncryptionOptions = v
  6138  	return s
  6139  }
  6140  
  6141  // SetSnapshotOptions sets the SnapshotOptions field's value.
  6142  func (s *CreateElasticsearchDomainInput) SetSnapshotOptions(v *SnapshotOptions) *CreateElasticsearchDomainInput {
  6143  	s.SnapshotOptions = v
  6144  	return s
  6145  }
  6146  
  6147  // SetTagList sets the TagList field's value.
  6148  func (s *CreateElasticsearchDomainInput) SetTagList(v []*Tag) *CreateElasticsearchDomainInput {
  6149  	s.TagList = v
  6150  	return s
  6151  }
  6152  
  6153  // SetVPCOptions sets the VPCOptions field's value.
  6154  func (s *CreateElasticsearchDomainInput) SetVPCOptions(v *VPCOptions) *CreateElasticsearchDomainInput {
  6155  	s.VPCOptions = v
  6156  	return s
  6157  }
  6158  
  6159  // The result of a CreateElasticsearchDomain operation. Contains the status
  6160  // of the newly created Elasticsearch domain.
  6161  type CreateElasticsearchDomainOutput struct {
  6162  	_ struct{} `type:"structure"`
  6163  
  6164  	// The status of the newly created Elasticsearch domain.
  6165  	DomainStatus *ElasticsearchDomainStatus `type:"structure"`
  6166  }
  6167  
  6168  // String returns the string representation.
  6169  //
  6170  // API parameter values that are decorated as "sensitive" in the API will not
  6171  // be included in the string output. The member name will be present, but the
  6172  // value will be replaced with "sensitive".
  6173  func (s CreateElasticsearchDomainOutput) String() string {
  6174  	return awsutil.Prettify(s)
  6175  }
  6176  
  6177  // GoString returns the string representation.
  6178  //
  6179  // API parameter values that are decorated as "sensitive" in the API will not
  6180  // be included in the string output. The member name will be present, but the
  6181  // value will be replaced with "sensitive".
  6182  func (s CreateElasticsearchDomainOutput) GoString() string {
  6183  	return s.String()
  6184  }
  6185  
  6186  // SetDomainStatus sets the DomainStatus field's value.
  6187  func (s *CreateElasticsearchDomainOutput) SetDomainStatus(v *ElasticsearchDomainStatus) *CreateElasticsearchDomainOutput {
  6188  	s.DomainStatus = v
  6189  	return s
  6190  }
  6191  
  6192  // Container for the parameters to the CreateOutboundCrossClusterSearchConnection
  6193  // operation.
  6194  type CreateOutboundCrossClusterSearchConnectionInput struct {
  6195  	_ struct{} `type:"structure"`
  6196  
  6197  	// Specifies the connection alias that will be used by the customer for this
  6198  	// connection.
  6199  	//
  6200  	// ConnectionAlias is a required field
  6201  	ConnectionAlias *string `type:"string" required:"true"`
  6202  
  6203  	// Specifies the DomainInformation for the destination Elasticsearch domain.
  6204  	//
  6205  	// DestinationDomainInfo is a required field
  6206  	DestinationDomainInfo *DomainInformation `type:"structure" required:"true"`
  6207  
  6208  	// Specifies the DomainInformation for the source Elasticsearch domain.
  6209  	//
  6210  	// SourceDomainInfo is a required field
  6211  	SourceDomainInfo *DomainInformation `type:"structure" required:"true"`
  6212  }
  6213  
  6214  // String returns the string representation.
  6215  //
  6216  // API parameter values that are decorated as "sensitive" in the API will not
  6217  // be included in the string output. The member name will be present, but the
  6218  // value will be replaced with "sensitive".
  6219  func (s CreateOutboundCrossClusterSearchConnectionInput) String() string {
  6220  	return awsutil.Prettify(s)
  6221  }
  6222  
  6223  // GoString returns the string representation.
  6224  //
  6225  // API parameter values that are decorated as "sensitive" in the API will not
  6226  // be included in the string output. The member name will be present, but the
  6227  // value will be replaced with "sensitive".
  6228  func (s CreateOutboundCrossClusterSearchConnectionInput) GoString() string {
  6229  	return s.String()
  6230  }
  6231  
  6232  // Validate inspects the fields of the type to determine if they are valid.
  6233  func (s *CreateOutboundCrossClusterSearchConnectionInput) Validate() error {
  6234  	invalidParams := request.ErrInvalidParams{Context: "CreateOutboundCrossClusterSearchConnectionInput"}
  6235  	if s.ConnectionAlias == nil {
  6236  		invalidParams.Add(request.NewErrParamRequired("ConnectionAlias"))
  6237  	}
  6238  	if s.DestinationDomainInfo == nil {
  6239  		invalidParams.Add(request.NewErrParamRequired("DestinationDomainInfo"))
  6240  	}
  6241  	if s.SourceDomainInfo == nil {
  6242  		invalidParams.Add(request.NewErrParamRequired("SourceDomainInfo"))
  6243  	}
  6244  	if s.DestinationDomainInfo != nil {
  6245  		if err := s.DestinationDomainInfo.Validate(); err != nil {
  6246  			invalidParams.AddNested("DestinationDomainInfo", err.(request.ErrInvalidParams))
  6247  		}
  6248  	}
  6249  	if s.SourceDomainInfo != nil {
  6250  		if err := s.SourceDomainInfo.Validate(); err != nil {
  6251  			invalidParams.AddNested("SourceDomainInfo", err.(request.ErrInvalidParams))
  6252  		}
  6253  	}
  6254  
  6255  	if invalidParams.Len() > 0 {
  6256  		return invalidParams
  6257  	}
  6258  	return nil
  6259  }
  6260  
  6261  // SetConnectionAlias sets the ConnectionAlias field's value.
  6262  func (s *CreateOutboundCrossClusterSearchConnectionInput) SetConnectionAlias(v string) *CreateOutboundCrossClusterSearchConnectionInput {
  6263  	s.ConnectionAlias = &v
  6264  	return s
  6265  }
  6266  
  6267  // SetDestinationDomainInfo sets the DestinationDomainInfo field's value.
  6268  func (s *CreateOutboundCrossClusterSearchConnectionInput) SetDestinationDomainInfo(v *DomainInformation) *CreateOutboundCrossClusterSearchConnectionInput {
  6269  	s.DestinationDomainInfo = v
  6270  	return s
  6271  }
  6272  
  6273  // SetSourceDomainInfo sets the SourceDomainInfo field's value.
  6274  func (s *CreateOutboundCrossClusterSearchConnectionInput) SetSourceDomainInfo(v *DomainInformation) *CreateOutboundCrossClusterSearchConnectionInput {
  6275  	s.SourceDomainInfo = v
  6276  	return s
  6277  }
  6278  
  6279  // The result of a CreateOutboundCrossClusterSearchConnection request. Contains
  6280  // the details of the newly created cross-cluster search connection.
  6281  type CreateOutboundCrossClusterSearchConnectionOutput struct {
  6282  	_ struct{} `type:"structure"`
  6283  
  6284  	// Specifies the connection alias provided during the create connection request.
  6285  	ConnectionAlias *string `type:"string"`
  6286  
  6287  	// Specifies the OutboundCrossClusterSearchConnectionStatus for the newly created
  6288  	// connection.
  6289  	ConnectionStatus *OutboundCrossClusterSearchConnectionStatus `type:"structure"`
  6290  
  6291  	// Unique id for the created outbound connection, which is used for subsequent
  6292  	// operations on connection.
  6293  	CrossClusterSearchConnectionId *string `type:"string"`
  6294  
  6295  	// Specifies the DomainInformation for the destination Elasticsearch domain.
  6296  	DestinationDomainInfo *DomainInformation `type:"structure"`
  6297  
  6298  	// Specifies the DomainInformation for the source Elasticsearch domain.
  6299  	SourceDomainInfo *DomainInformation `type:"structure"`
  6300  }
  6301  
  6302  // String returns the string representation.
  6303  //
  6304  // API parameter values that are decorated as "sensitive" in the API will not
  6305  // be included in the string output. The member name will be present, but the
  6306  // value will be replaced with "sensitive".
  6307  func (s CreateOutboundCrossClusterSearchConnectionOutput) String() string {
  6308  	return awsutil.Prettify(s)
  6309  }
  6310  
  6311  // GoString returns the string representation.
  6312  //
  6313  // API parameter values that are decorated as "sensitive" in the API will not
  6314  // be included in the string output. The member name will be present, but the
  6315  // value will be replaced with "sensitive".
  6316  func (s CreateOutboundCrossClusterSearchConnectionOutput) GoString() string {
  6317  	return s.String()
  6318  }
  6319  
  6320  // SetConnectionAlias sets the ConnectionAlias field's value.
  6321  func (s *CreateOutboundCrossClusterSearchConnectionOutput) SetConnectionAlias(v string) *CreateOutboundCrossClusterSearchConnectionOutput {
  6322  	s.ConnectionAlias = &v
  6323  	return s
  6324  }
  6325  
  6326  // SetConnectionStatus sets the ConnectionStatus field's value.
  6327  func (s *CreateOutboundCrossClusterSearchConnectionOutput) SetConnectionStatus(v *OutboundCrossClusterSearchConnectionStatus) *CreateOutboundCrossClusterSearchConnectionOutput {
  6328  	s.ConnectionStatus = v
  6329  	return s
  6330  }
  6331  
  6332  // SetCrossClusterSearchConnectionId sets the CrossClusterSearchConnectionId field's value.
  6333  func (s *CreateOutboundCrossClusterSearchConnectionOutput) SetCrossClusterSearchConnectionId(v string) *CreateOutboundCrossClusterSearchConnectionOutput {
  6334  	s.CrossClusterSearchConnectionId = &v
  6335  	return s
  6336  }
  6337  
  6338  // SetDestinationDomainInfo sets the DestinationDomainInfo field's value.
  6339  func (s *CreateOutboundCrossClusterSearchConnectionOutput) SetDestinationDomainInfo(v *DomainInformation) *CreateOutboundCrossClusterSearchConnectionOutput {
  6340  	s.DestinationDomainInfo = v
  6341  	return s
  6342  }
  6343  
  6344  // SetSourceDomainInfo sets the SourceDomainInfo field's value.
  6345  func (s *CreateOutboundCrossClusterSearchConnectionOutput) SetSourceDomainInfo(v *DomainInformation) *CreateOutboundCrossClusterSearchConnectionOutput {
  6346  	s.SourceDomainInfo = v
  6347  	return s
  6348  }
  6349  
  6350  // Container for request parameters to CreatePackage operation.
  6351  type CreatePackageInput struct {
  6352  	_ struct{} `type:"structure"`
  6353  
  6354  	// Description of the package.
  6355  	PackageDescription *string `type:"string"`
  6356  
  6357  	// Unique identifier for the package.
  6358  	//
  6359  	// PackageName is a required field
  6360  	PackageName *string `min:"3" type:"string" required:"true"`
  6361  
  6362  	// The customer S3 location PackageSource for importing the package.
  6363  	//
  6364  	// PackageSource is a required field
  6365  	PackageSource *PackageSource `type:"structure" required:"true"`
  6366  
  6367  	// Type of package. Currently supports only TXT-DICTIONARY.
  6368  	//
  6369  	// PackageType is a required field
  6370  	PackageType *string `type:"string" required:"true" enum:"PackageType"`
  6371  }
  6372  
  6373  // String returns the string representation.
  6374  //
  6375  // API parameter values that are decorated as "sensitive" in the API will not
  6376  // be included in the string output. The member name will be present, but the
  6377  // value will be replaced with "sensitive".
  6378  func (s CreatePackageInput) String() string {
  6379  	return awsutil.Prettify(s)
  6380  }
  6381  
  6382  // GoString returns the string representation.
  6383  //
  6384  // API parameter values that are decorated as "sensitive" in the API will not
  6385  // be included in the string output. The member name will be present, but the
  6386  // value will be replaced with "sensitive".
  6387  func (s CreatePackageInput) GoString() string {
  6388  	return s.String()
  6389  }
  6390  
  6391  // Validate inspects the fields of the type to determine if they are valid.
  6392  func (s *CreatePackageInput) Validate() error {
  6393  	invalidParams := request.ErrInvalidParams{Context: "CreatePackageInput"}
  6394  	if s.PackageName == nil {
  6395  		invalidParams.Add(request.NewErrParamRequired("PackageName"))
  6396  	}
  6397  	if s.PackageName != nil && len(*s.PackageName) < 3 {
  6398  		invalidParams.Add(request.NewErrParamMinLen("PackageName", 3))
  6399  	}
  6400  	if s.PackageSource == nil {
  6401  		invalidParams.Add(request.NewErrParamRequired("PackageSource"))
  6402  	}
  6403  	if s.PackageType == nil {
  6404  		invalidParams.Add(request.NewErrParamRequired("PackageType"))
  6405  	}
  6406  	if s.PackageSource != nil {
  6407  		if err := s.PackageSource.Validate(); err != nil {
  6408  			invalidParams.AddNested("PackageSource", err.(request.ErrInvalidParams))
  6409  		}
  6410  	}
  6411  
  6412  	if invalidParams.Len() > 0 {
  6413  		return invalidParams
  6414  	}
  6415  	return nil
  6416  }
  6417  
  6418  // SetPackageDescription sets the PackageDescription field's value.
  6419  func (s *CreatePackageInput) SetPackageDescription(v string) *CreatePackageInput {
  6420  	s.PackageDescription = &v
  6421  	return s
  6422  }
  6423  
  6424  // SetPackageName sets the PackageName field's value.
  6425  func (s *CreatePackageInput) SetPackageName(v string) *CreatePackageInput {
  6426  	s.PackageName = &v
  6427  	return s
  6428  }
  6429  
  6430  // SetPackageSource sets the PackageSource field's value.
  6431  func (s *CreatePackageInput) SetPackageSource(v *PackageSource) *CreatePackageInput {
  6432  	s.PackageSource = v
  6433  	return s
  6434  }
  6435  
  6436  // SetPackageType sets the PackageType field's value.
  6437  func (s *CreatePackageInput) SetPackageType(v string) *CreatePackageInput {
  6438  	s.PackageType = &v
  6439  	return s
  6440  }
  6441  
  6442  // Container for response returned by CreatePackage operation.
  6443  type CreatePackageOutput struct {
  6444  	_ struct{} `type:"structure"`
  6445  
  6446  	// Information about the package PackageDetails.
  6447  	PackageDetails *PackageDetails `type:"structure"`
  6448  }
  6449  
  6450  // String returns the string representation.
  6451  //
  6452  // API parameter values that are decorated as "sensitive" in the API will not
  6453  // be included in the string output. The member name will be present, but the
  6454  // value will be replaced with "sensitive".
  6455  func (s CreatePackageOutput) String() string {
  6456  	return awsutil.Prettify(s)
  6457  }
  6458  
  6459  // GoString returns the string representation.
  6460  //
  6461  // API parameter values that are decorated as "sensitive" in the API will not
  6462  // be included in the string output. The member name will be present, but the
  6463  // value will be replaced with "sensitive".
  6464  func (s CreatePackageOutput) GoString() string {
  6465  	return s.String()
  6466  }
  6467  
  6468  // SetPackageDetails sets the PackageDetails field's value.
  6469  func (s *CreatePackageOutput) SetPackageDetails(v *PackageDetails) *CreatePackageOutput {
  6470  	s.PackageDetails = v
  6471  	return s
  6472  }
  6473  
  6474  // Container for the parameters to the DeleteElasticsearchDomain operation.
  6475  // Specifies the name of the Elasticsearch domain that you want to delete.
  6476  type DeleteElasticsearchDomainInput struct {
  6477  	_ struct{} `type:"structure" nopayload:"true"`
  6478  
  6479  	// The name of the Elasticsearch domain that you want to permanently delete.
  6480  	//
  6481  	// DomainName is a required field
  6482  	DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"`
  6483  }
  6484  
  6485  // String returns the string representation.
  6486  //
  6487  // API parameter values that are decorated as "sensitive" in the API will not
  6488  // be included in the string output. The member name will be present, but the
  6489  // value will be replaced with "sensitive".
  6490  func (s DeleteElasticsearchDomainInput) String() string {
  6491  	return awsutil.Prettify(s)
  6492  }
  6493  
  6494  // GoString returns the string representation.
  6495  //
  6496  // API parameter values that are decorated as "sensitive" in the API will not
  6497  // be included in the string output. The member name will be present, but the
  6498  // value will be replaced with "sensitive".
  6499  func (s DeleteElasticsearchDomainInput) GoString() string {
  6500  	return s.String()
  6501  }
  6502  
  6503  // Validate inspects the fields of the type to determine if they are valid.
  6504  func (s *DeleteElasticsearchDomainInput) Validate() error {
  6505  	invalidParams := request.ErrInvalidParams{Context: "DeleteElasticsearchDomainInput"}
  6506  	if s.DomainName == nil {
  6507  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  6508  	}
  6509  	if s.DomainName != nil && len(*s.DomainName) < 3 {
  6510  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
  6511  	}
  6512  
  6513  	if invalidParams.Len() > 0 {
  6514  		return invalidParams
  6515  	}
  6516  	return nil
  6517  }
  6518  
  6519  // SetDomainName sets the DomainName field's value.
  6520  func (s *DeleteElasticsearchDomainInput) SetDomainName(v string) *DeleteElasticsearchDomainInput {
  6521  	s.DomainName = &v
  6522  	return s
  6523  }
  6524  
  6525  // The result of a DeleteElasticsearchDomain request. Contains the status of
  6526  // the pending deletion, or no status if the domain and all of its resources
  6527  // have been deleted.
  6528  type DeleteElasticsearchDomainOutput struct {
  6529  	_ struct{} `type:"structure"`
  6530  
  6531  	// The status of the Elasticsearch domain being deleted.
  6532  	DomainStatus *ElasticsearchDomainStatus `type:"structure"`
  6533  }
  6534  
  6535  // String returns the string representation.
  6536  //
  6537  // API parameter values that are decorated as "sensitive" in the API will not
  6538  // be included in the string output. The member name will be present, but the
  6539  // value will be replaced with "sensitive".
  6540  func (s DeleteElasticsearchDomainOutput) String() string {
  6541  	return awsutil.Prettify(s)
  6542  }
  6543  
  6544  // GoString returns the string representation.
  6545  //
  6546  // API parameter values that are decorated as "sensitive" in the API will not
  6547  // be included in the string output. The member name will be present, but the
  6548  // value will be replaced with "sensitive".
  6549  func (s DeleteElasticsearchDomainOutput) GoString() string {
  6550  	return s.String()
  6551  }
  6552  
  6553  // SetDomainStatus sets the DomainStatus field's value.
  6554  func (s *DeleteElasticsearchDomainOutput) SetDomainStatus(v *ElasticsearchDomainStatus) *DeleteElasticsearchDomainOutput {
  6555  	s.DomainStatus = v
  6556  	return s
  6557  }
  6558  
  6559  type DeleteElasticsearchServiceRoleInput struct {
  6560  	_ struct{} `type:"structure" nopayload:"true"`
  6561  }
  6562  
  6563  // String returns the string representation.
  6564  //
  6565  // API parameter values that are decorated as "sensitive" in the API will not
  6566  // be included in the string output. The member name will be present, but the
  6567  // value will be replaced with "sensitive".
  6568  func (s DeleteElasticsearchServiceRoleInput) String() string {
  6569  	return awsutil.Prettify(s)
  6570  }
  6571  
  6572  // GoString returns the string representation.
  6573  //
  6574  // API parameter values that are decorated as "sensitive" in the API will not
  6575  // be included in the string output. The member name will be present, but the
  6576  // value will be replaced with "sensitive".
  6577  func (s DeleteElasticsearchServiceRoleInput) GoString() string {
  6578  	return s.String()
  6579  }
  6580  
  6581  type DeleteElasticsearchServiceRoleOutput struct {
  6582  	_ struct{} `type:"structure" nopayload:"true"`
  6583  }
  6584  
  6585  // String returns the string representation.
  6586  //
  6587  // API parameter values that are decorated as "sensitive" in the API will not
  6588  // be included in the string output. The member name will be present, but the
  6589  // value will be replaced with "sensitive".
  6590  func (s DeleteElasticsearchServiceRoleOutput) String() string {
  6591  	return awsutil.Prettify(s)
  6592  }
  6593  
  6594  // GoString returns the string representation.
  6595  //
  6596  // API parameter values that are decorated as "sensitive" in the API will not
  6597  // be included in the string output. The member name will be present, but the
  6598  // value will be replaced with "sensitive".
  6599  func (s DeleteElasticsearchServiceRoleOutput) GoString() string {
  6600  	return s.String()
  6601  }
  6602  
  6603  // Container for the parameters to the DeleteInboundCrossClusterSearchConnection
  6604  // operation.
  6605  type DeleteInboundCrossClusterSearchConnectionInput struct {
  6606  	_ struct{} `type:"structure" nopayload:"true"`
  6607  
  6608  	// The id of the inbound connection that you want to permanently delete.
  6609  	//
  6610  	// CrossClusterSearchConnectionId is a required field
  6611  	CrossClusterSearchConnectionId *string `location:"uri" locationName:"ConnectionId" type:"string" required:"true"`
  6612  }
  6613  
  6614  // String returns the string representation.
  6615  //
  6616  // API parameter values that are decorated as "sensitive" in the API will not
  6617  // be included in the string output. The member name will be present, but the
  6618  // value will be replaced with "sensitive".
  6619  func (s DeleteInboundCrossClusterSearchConnectionInput) String() string {
  6620  	return awsutil.Prettify(s)
  6621  }
  6622  
  6623  // GoString returns the string representation.
  6624  //
  6625  // API parameter values that are decorated as "sensitive" in the API will not
  6626  // be included in the string output. The member name will be present, but the
  6627  // value will be replaced with "sensitive".
  6628  func (s DeleteInboundCrossClusterSearchConnectionInput) GoString() string {
  6629  	return s.String()
  6630  }
  6631  
  6632  // Validate inspects the fields of the type to determine if they are valid.
  6633  func (s *DeleteInboundCrossClusterSearchConnectionInput) Validate() error {
  6634  	invalidParams := request.ErrInvalidParams{Context: "DeleteInboundCrossClusterSearchConnectionInput"}
  6635  	if s.CrossClusterSearchConnectionId == nil {
  6636  		invalidParams.Add(request.NewErrParamRequired("CrossClusterSearchConnectionId"))
  6637  	}
  6638  	if s.CrossClusterSearchConnectionId != nil && len(*s.CrossClusterSearchConnectionId) < 1 {
  6639  		invalidParams.Add(request.NewErrParamMinLen("CrossClusterSearchConnectionId", 1))
  6640  	}
  6641  
  6642  	if invalidParams.Len() > 0 {
  6643  		return invalidParams
  6644  	}
  6645  	return nil
  6646  }
  6647  
  6648  // SetCrossClusterSearchConnectionId sets the CrossClusterSearchConnectionId field's value.
  6649  func (s *DeleteInboundCrossClusterSearchConnectionInput) SetCrossClusterSearchConnectionId(v string) *DeleteInboundCrossClusterSearchConnectionInput {
  6650  	s.CrossClusterSearchConnectionId = &v
  6651  	return s
  6652  }
  6653  
  6654  // The result of a DeleteInboundCrossClusterSearchConnection operation. Contains
  6655  // details of deleted inbound connection.
  6656  type DeleteInboundCrossClusterSearchConnectionOutput struct {
  6657  	_ struct{} `type:"structure"`
  6658  
  6659  	// Specifies the InboundCrossClusterSearchConnection of deleted inbound connection.
  6660  	CrossClusterSearchConnection *InboundCrossClusterSearchConnection `type:"structure"`
  6661  }
  6662  
  6663  // String returns the string representation.
  6664  //
  6665  // API parameter values that are decorated as "sensitive" in the API will not
  6666  // be included in the string output. The member name will be present, but the
  6667  // value will be replaced with "sensitive".
  6668  func (s DeleteInboundCrossClusterSearchConnectionOutput) String() string {
  6669  	return awsutil.Prettify(s)
  6670  }
  6671  
  6672  // GoString returns the string representation.
  6673  //
  6674  // API parameter values that are decorated as "sensitive" in the API will not
  6675  // be included in the string output. The member name will be present, but the
  6676  // value will be replaced with "sensitive".
  6677  func (s DeleteInboundCrossClusterSearchConnectionOutput) GoString() string {
  6678  	return s.String()
  6679  }
  6680  
  6681  // SetCrossClusterSearchConnection sets the CrossClusterSearchConnection field's value.
  6682  func (s *DeleteInboundCrossClusterSearchConnectionOutput) SetCrossClusterSearchConnection(v *InboundCrossClusterSearchConnection) *DeleteInboundCrossClusterSearchConnectionOutput {
  6683  	s.CrossClusterSearchConnection = v
  6684  	return s
  6685  }
  6686  
  6687  // Container for the parameters to the DeleteOutboundCrossClusterSearchConnection
  6688  // operation.
  6689  type DeleteOutboundCrossClusterSearchConnectionInput struct {
  6690  	_ struct{} `type:"structure" nopayload:"true"`
  6691  
  6692  	// The id of the outbound connection that you want to permanently delete.
  6693  	//
  6694  	// CrossClusterSearchConnectionId is a required field
  6695  	CrossClusterSearchConnectionId *string `location:"uri" locationName:"ConnectionId" type:"string" required:"true"`
  6696  }
  6697  
  6698  // String returns the string representation.
  6699  //
  6700  // API parameter values that are decorated as "sensitive" in the API will not
  6701  // be included in the string output. The member name will be present, but the
  6702  // value will be replaced with "sensitive".
  6703  func (s DeleteOutboundCrossClusterSearchConnectionInput) String() string {
  6704  	return awsutil.Prettify(s)
  6705  }
  6706  
  6707  // GoString returns the string representation.
  6708  //
  6709  // API parameter values that are decorated as "sensitive" in the API will not
  6710  // be included in the string output. The member name will be present, but the
  6711  // value will be replaced with "sensitive".
  6712  func (s DeleteOutboundCrossClusterSearchConnectionInput) GoString() string {
  6713  	return s.String()
  6714  }
  6715  
  6716  // Validate inspects the fields of the type to determine if they are valid.
  6717  func (s *DeleteOutboundCrossClusterSearchConnectionInput) Validate() error {
  6718  	invalidParams := request.ErrInvalidParams{Context: "DeleteOutboundCrossClusterSearchConnectionInput"}
  6719  	if s.CrossClusterSearchConnectionId == nil {
  6720  		invalidParams.Add(request.NewErrParamRequired("CrossClusterSearchConnectionId"))
  6721  	}
  6722  	if s.CrossClusterSearchConnectionId != nil && len(*s.CrossClusterSearchConnectionId) < 1 {
  6723  		invalidParams.Add(request.NewErrParamMinLen("CrossClusterSearchConnectionId", 1))
  6724  	}
  6725  
  6726  	if invalidParams.Len() > 0 {
  6727  		return invalidParams
  6728  	}
  6729  	return nil
  6730  }
  6731  
  6732  // SetCrossClusterSearchConnectionId sets the CrossClusterSearchConnectionId field's value.
  6733  func (s *DeleteOutboundCrossClusterSearchConnectionInput) SetCrossClusterSearchConnectionId(v string) *DeleteOutboundCrossClusterSearchConnectionInput {
  6734  	s.CrossClusterSearchConnectionId = &v
  6735  	return s
  6736  }
  6737  
  6738  // The result of a DeleteOutboundCrossClusterSearchConnection operation. Contains
  6739  // details of deleted outbound connection.
  6740  type DeleteOutboundCrossClusterSearchConnectionOutput struct {
  6741  	_ struct{} `type:"structure"`
  6742  
  6743  	// Specifies the OutboundCrossClusterSearchConnection of deleted outbound connection.
  6744  	CrossClusterSearchConnection *OutboundCrossClusterSearchConnection `type:"structure"`
  6745  }
  6746  
  6747  // String returns the string representation.
  6748  //
  6749  // API parameter values that are decorated as "sensitive" in the API will not
  6750  // be included in the string output. The member name will be present, but the
  6751  // value will be replaced with "sensitive".
  6752  func (s DeleteOutboundCrossClusterSearchConnectionOutput) String() string {
  6753  	return awsutil.Prettify(s)
  6754  }
  6755  
  6756  // GoString returns the string representation.
  6757  //
  6758  // API parameter values that are decorated as "sensitive" in the API will not
  6759  // be included in the string output. The member name will be present, but the
  6760  // value will be replaced with "sensitive".
  6761  func (s DeleteOutboundCrossClusterSearchConnectionOutput) GoString() string {
  6762  	return s.String()
  6763  }
  6764  
  6765  // SetCrossClusterSearchConnection sets the CrossClusterSearchConnection field's value.
  6766  func (s *DeleteOutboundCrossClusterSearchConnectionOutput) SetCrossClusterSearchConnection(v *OutboundCrossClusterSearchConnection) *DeleteOutboundCrossClusterSearchConnectionOutput {
  6767  	s.CrossClusterSearchConnection = v
  6768  	return s
  6769  }
  6770  
  6771  // Container for request parameters to DeletePackage operation.
  6772  type DeletePackageInput struct {
  6773  	_ struct{} `type:"structure" nopayload:"true"`
  6774  
  6775  	// Internal ID of the package that you want to delete. Use DescribePackages
  6776  	// to find this value.
  6777  	//
  6778  	// PackageID is a required field
  6779  	PackageID *string `location:"uri" locationName:"PackageID" type:"string" required:"true"`
  6780  }
  6781  
  6782  // String returns the string representation.
  6783  //
  6784  // API parameter values that are decorated as "sensitive" in the API will not
  6785  // be included in the string output. The member name will be present, but the
  6786  // value will be replaced with "sensitive".
  6787  func (s DeletePackageInput) String() string {
  6788  	return awsutil.Prettify(s)
  6789  }
  6790  
  6791  // GoString returns the string representation.
  6792  //
  6793  // API parameter values that are decorated as "sensitive" in the API will not
  6794  // be included in the string output. The member name will be present, but the
  6795  // value will be replaced with "sensitive".
  6796  func (s DeletePackageInput) GoString() string {
  6797  	return s.String()
  6798  }
  6799  
  6800  // Validate inspects the fields of the type to determine if they are valid.
  6801  func (s *DeletePackageInput) Validate() error {
  6802  	invalidParams := request.ErrInvalidParams{Context: "DeletePackageInput"}
  6803  	if s.PackageID == nil {
  6804  		invalidParams.Add(request.NewErrParamRequired("PackageID"))
  6805  	}
  6806  	if s.PackageID != nil && len(*s.PackageID) < 1 {
  6807  		invalidParams.Add(request.NewErrParamMinLen("PackageID", 1))
  6808  	}
  6809  
  6810  	if invalidParams.Len() > 0 {
  6811  		return invalidParams
  6812  	}
  6813  	return nil
  6814  }
  6815  
  6816  // SetPackageID sets the PackageID field's value.
  6817  func (s *DeletePackageInput) SetPackageID(v string) *DeletePackageInput {
  6818  	s.PackageID = &v
  6819  	return s
  6820  }
  6821  
  6822  // Container for response parameters to DeletePackage operation.
  6823  type DeletePackageOutput struct {
  6824  	_ struct{} `type:"structure"`
  6825  
  6826  	// PackageDetails
  6827  	PackageDetails *PackageDetails `type:"structure"`
  6828  }
  6829  
  6830  // String returns the string representation.
  6831  //
  6832  // API parameter values that are decorated as "sensitive" in the API will not
  6833  // be included in the string output. The member name will be present, but the
  6834  // value will be replaced with "sensitive".
  6835  func (s DeletePackageOutput) String() string {
  6836  	return awsutil.Prettify(s)
  6837  }
  6838  
  6839  // GoString returns the string representation.
  6840  //
  6841  // API parameter values that are decorated as "sensitive" in the API will not
  6842  // be included in the string output. The member name will be present, but the
  6843  // value will be replaced with "sensitive".
  6844  func (s DeletePackageOutput) GoString() string {
  6845  	return s.String()
  6846  }
  6847  
  6848  // SetPackageDetails sets the PackageDetails field's value.
  6849  func (s *DeletePackageOutput) SetPackageDetails(v *PackageDetails) *DeletePackageOutput {
  6850  	s.PackageDetails = v
  6851  	return s
  6852  }
  6853  
  6854  // Container for the parameters to the DescribeDomainAutoTunes operation.
  6855  type DescribeDomainAutoTunesInput struct {
  6856  	_ struct{} `type:"structure"`
  6857  
  6858  	// Specifies the domain name for which you want Auto-Tune action details.
  6859  	//
  6860  	// DomainName is a required field
  6861  	DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"`
  6862  
  6863  	// Set this value to limit the number of results returned. If not specified,
  6864  	// defaults to 100.
  6865  	MaxResults *int64 `type:"integer"`
  6866  
  6867  	// NextToken is sent in case the earlier API call results contain the NextToken.
  6868  	// It is used for pagination.
  6869  	NextToken *string `type:"string"`
  6870  }
  6871  
  6872  // String returns the string representation.
  6873  //
  6874  // API parameter values that are decorated as "sensitive" in the API will not
  6875  // be included in the string output. The member name will be present, but the
  6876  // value will be replaced with "sensitive".
  6877  func (s DescribeDomainAutoTunesInput) String() string {
  6878  	return awsutil.Prettify(s)
  6879  }
  6880  
  6881  // GoString returns the string representation.
  6882  //
  6883  // API parameter values that are decorated as "sensitive" in the API will not
  6884  // be included in the string output. The member name will be present, but the
  6885  // value will be replaced with "sensitive".
  6886  func (s DescribeDomainAutoTunesInput) GoString() string {
  6887  	return s.String()
  6888  }
  6889  
  6890  // Validate inspects the fields of the type to determine if they are valid.
  6891  func (s *DescribeDomainAutoTunesInput) Validate() error {
  6892  	invalidParams := request.ErrInvalidParams{Context: "DescribeDomainAutoTunesInput"}
  6893  	if s.DomainName == nil {
  6894  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  6895  	}
  6896  	if s.DomainName != nil && len(*s.DomainName) < 3 {
  6897  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
  6898  	}
  6899  
  6900  	if invalidParams.Len() > 0 {
  6901  		return invalidParams
  6902  	}
  6903  	return nil
  6904  }
  6905  
  6906  // SetDomainName sets the DomainName field's value.
  6907  func (s *DescribeDomainAutoTunesInput) SetDomainName(v string) *DescribeDomainAutoTunesInput {
  6908  	s.DomainName = &v
  6909  	return s
  6910  }
  6911  
  6912  // SetMaxResults sets the MaxResults field's value.
  6913  func (s *DescribeDomainAutoTunesInput) SetMaxResults(v int64) *DescribeDomainAutoTunesInput {
  6914  	s.MaxResults = &v
  6915  	return s
  6916  }
  6917  
  6918  // SetNextToken sets the NextToken field's value.
  6919  func (s *DescribeDomainAutoTunesInput) SetNextToken(v string) *DescribeDomainAutoTunesInput {
  6920  	s.NextToken = &v
  6921  	return s
  6922  }
  6923  
  6924  // The result of DescribeDomainAutoTunes request. See the Developer Guide (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/auto-tune.html)
  6925  // for more information.
  6926  type DescribeDomainAutoTunesOutput struct {
  6927  	_ struct{} `type:"structure"`
  6928  
  6929  	// Specifies the list of setting adjustments that Auto-Tune has made to the
  6930  	// domain. See the Developer Guide (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/auto-tune.html)
  6931  	// for more information.
  6932  	AutoTunes []*AutoTune `type:"list"`
  6933  
  6934  	// Specifies an identifier to allow retrieval of paginated results.
  6935  	NextToken *string `type:"string"`
  6936  }
  6937  
  6938  // String returns the string representation.
  6939  //
  6940  // API parameter values that are decorated as "sensitive" in the API will not
  6941  // be included in the string output. The member name will be present, but the
  6942  // value will be replaced with "sensitive".
  6943  func (s DescribeDomainAutoTunesOutput) String() string {
  6944  	return awsutil.Prettify(s)
  6945  }
  6946  
  6947  // GoString returns the string representation.
  6948  //
  6949  // API parameter values that are decorated as "sensitive" in the API will not
  6950  // be included in the string output. The member name will be present, but the
  6951  // value will be replaced with "sensitive".
  6952  func (s DescribeDomainAutoTunesOutput) GoString() string {
  6953  	return s.String()
  6954  }
  6955  
  6956  // SetAutoTunes sets the AutoTunes field's value.
  6957  func (s *DescribeDomainAutoTunesOutput) SetAutoTunes(v []*AutoTune) *DescribeDomainAutoTunesOutput {
  6958  	s.AutoTunes = v
  6959  	return s
  6960  }
  6961  
  6962  // SetNextToken sets the NextToken field's value.
  6963  func (s *DescribeDomainAutoTunesOutput) SetNextToken(v string) *DescribeDomainAutoTunesOutput {
  6964  	s.NextToken = &v
  6965  	return s
  6966  }
  6967  
  6968  // Container for the parameters to the DescribeElasticsearchDomainConfig operation.
  6969  // Specifies the domain name for which you want configuration information.
  6970  type DescribeElasticsearchDomainConfigInput struct {
  6971  	_ struct{} `type:"structure" nopayload:"true"`
  6972  
  6973  	// The Elasticsearch domain that you want to get information about.
  6974  	//
  6975  	// DomainName is a required field
  6976  	DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"`
  6977  }
  6978  
  6979  // String returns the string representation.
  6980  //
  6981  // API parameter values that are decorated as "sensitive" in the API will not
  6982  // be included in the string output. The member name will be present, but the
  6983  // value will be replaced with "sensitive".
  6984  func (s DescribeElasticsearchDomainConfigInput) String() string {
  6985  	return awsutil.Prettify(s)
  6986  }
  6987  
  6988  // GoString returns the string representation.
  6989  //
  6990  // API parameter values that are decorated as "sensitive" in the API will not
  6991  // be included in the string output. The member name will be present, but the
  6992  // value will be replaced with "sensitive".
  6993  func (s DescribeElasticsearchDomainConfigInput) GoString() string {
  6994  	return s.String()
  6995  }
  6996  
  6997  // Validate inspects the fields of the type to determine if they are valid.
  6998  func (s *DescribeElasticsearchDomainConfigInput) Validate() error {
  6999  	invalidParams := request.ErrInvalidParams{Context: "DescribeElasticsearchDomainConfigInput"}
  7000  	if s.DomainName == nil {
  7001  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  7002  	}
  7003  	if s.DomainName != nil && len(*s.DomainName) < 3 {
  7004  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
  7005  	}
  7006  
  7007  	if invalidParams.Len() > 0 {
  7008  		return invalidParams
  7009  	}
  7010  	return nil
  7011  }
  7012  
  7013  // SetDomainName sets the DomainName field's value.
  7014  func (s *DescribeElasticsearchDomainConfigInput) SetDomainName(v string) *DescribeElasticsearchDomainConfigInput {
  7015  	s.DomainName = &v
  7016  	return s
  7017  }
  7018  
  7019  // The result of a DescribeElasticsearchDomainConfig request. Contains the configuration
  7020  // information of the requested domain.
  7021  type DescribeElasticsearchDomainConfigOutput struct {
  7022  	_ struct{} `type:"structure"`
  7023  
  7024  	// The configuration information of the domain requested in the DescribeElasticsearchDomainConfig
  7025  	// request.
  7026  	//
  7027  	// DomainConfig is a required field
  7028  	DomainConfig *ElasticsearchDomainConfig `type:"structure" required:"true"`
  7029  }
  7030  
  7031  // String returns the string representation.
  7032  //
  7033  // API parameter values that are decorated as "sensitive" in the API will not
  7034  // be included in the string output. The member name will be present, but the
  7035  // value will be replaced with "sensitive".
  7036  func (s DescribeElasticsearchDomainConfigOutput) String() string {
  7037  	return awsutil.Prettify(s)
  7038  }
  7039  
  7040  // GoString returns the string representation.
  7041  //
  7042  // API parameter values that are decorated as "sensitive" in the API will not
  7043  // be included in the string output. The member name will be present, but the
  7044  // value will be replaced with "sensitive".
  7045  func (s DescribeElasticsearchDomainConfigOutput) GoString() string {
  7046  	return s.String()
  7047  }
  7048  
  7049  // SetDomainConfig sets the DomainConfig field's value.
  7050  func (s *DescribeElasticsearchDomainConfigOutput) SetDomainConfig(v *ElasticsearchDomainConfig) *DescribeElasticsearchDomainConfigOutput {
  7051  	s.DomainConfig = v
  7052  	return s
  7053  }
  7054  
  7055  // Container for the parameters to the DescribeElasticsearchDomain operation.
  7056  type DescribeElasticsearchDomainInput struct {
  7057  	_ struct{} `type:"structure" nopayload:"true"`
  7058  
  7059  	// The name of the Elasticsearch domain for which you want information.
  7060  	//
  7061  	// DomainName is a required field
  7062  	DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"`
  7063  }
  7064  
  7065  // String returns the string representation.
  7066  //
  7067  // API parameter values that are decorated as "sensitive" in the API will not
  7068  // be included in the string output. The member name will be present, but the
  7069  // value will be replaced with "sensitive".
  7070  func (s DescribeElasticsearchDomainInput) String() string {
  7071  	return awsutil.Prettify(s)
  7072  }
  7073  
  7074  // GoString returns the string representation.
  7075  //
  7076  // API parameter values that are decorated as "sensitive" in the API will not
  7077  // be included in the string output. The member name will be present, but the
  7078  // value will be replaced with "sensitive".
  7079  func (s DescribeElasticsearchDomainInput) GoString() string {
  7080  	return s.String()
  7081  }
  7082  
  7083  // Validate inspects the fields of the type to determine if they are valid.
  7084  func (s *DescribeElasticsearchDomainInput) Validate() error {
  7085  	invalidParams := request.ErrInvalidParams{Context: "DescribeElasticsearchDomainInput"}
  7086  	if s.DomainName == nil {
  7087  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  7088  	}
  7089  	if s.DomainName != nil && len(*s.DomainName) < 3 {
  7090  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
  7091  	}
  7092  
  7093  	if invalidParams.Len() > 0 {
  7094  		return invalidParams
  7095  	}
  7096  	return nil
  7097  }
  7098  
  7099  // SetDomainName sets the DomainName field's value.
  7100  func (s *DescribeElasticsearchDomainInput) SetDomainName(v string) *DescribeElasticsearchDomainInput {
  7101  	s.DomainName = &v
  7102  	return s
  7103  }
  7104  
  7105  // The result of a DescribeElasticsearchDomain request. Contains the status
  7106  // of the domain specified in the request.
  7107  type DescribeElasticsearchDomainOutput struct {
  7108  	_ struct{} `type:"structure"`
  7109  
  7110  	// The current status of the Elasticsearch domain.
  7111  	//
  7112  	// DomainStatus is a required field
  7113  	DomainStatus *ElasticsearchDomainStatus `type:"structure" required:"true"`
  7114  }
  7115  
  7116  // String returns the string representation.
  7117  //
  7118  // API parameter values that are decorated as "sensitive" in the API will not
  7119  // be included in the string output. The member name will be present, but the
  7120  // value will be replaced with "sensitive".
  7121  func (s DescribeElasticsearchDomainOutput) String() string {
  7122  	return awsutil.Prettify(s)
  7123  }
  7124  
  7125  // GoString returns the string representation.
  7126  //
  7127  // API parameter values that are decorated as "sensitive" in the API will not
  7128  // be included in the string output. The member name will be present, but the
  7129  // value will be replaced with "sensitive".
  7130  func (s DescribeElasticsearchDomainOutput) GoString() string {
  7131  	return s.String()
  7132  }
  7133  
  7134  // SetDomainStatus sets the DomainStatus field's value.
  7135  func (s *DescribeElasticsearchDomainOutput) SetDomainStatus(v *ElasticsearchDomainStatus) *DescribeElasticsearchDomainOutput {
  7136  	s.DomainStatus = v
  7137  	return s
  7138  }
  7139  
  7140  // Container for the parameters to the DescribeElasticsearchDomains operation.
  7141  // By default, the API returns the status of all Elasticsearch domains.
  7142  type DescribeElasticsearchDomainsInput struct {
  7143  	_ struct{} `type:"structure"`
  7144  
  7145  	// The Elasticsearch domains for which you want information.
  7146  	//
  7147  	// DomainNames is a required field
  7148  	DomainNames []*string `type:"list" required:"true"`
  7149  }
  7150  
  7151  // String returns the string representation.
  7152  //
  7153  // API parameter values that are decorated as "sensitive" in the API will not
  7154  // be included in the string output. The member name will be present, but the
  7155  // value will be replaced with "sensitive".
  7156  func (s DescribeElasticsearchDomainsInput) String() string {
  7157  	return awsutil.Prettify(s)
  7158  }
  7159  
  7160  // GoString returns the string representation.
  7161  //
  7162  // API parameter values that are decorated as "sensitive" in the API will not
  7163  // be included in the string output. The member name will be present, but the
  7164  // value will be replaced with "sensitive".
  7165  func (s DescribeElasticsearchDomainsInput) GoString() string {
  7166  	return s.String()
  7167  }
  7168  
  7169  // Validate inspects the fields of the type to determine if they are valid.
  7170  func (s *DescribeElasticsearchDomainsInput) Validate() error {
  7171  	invalidParams := request.ErrInvalidParams{Context: "DescribeElasticsearchDomainsInput"}
  7172  	if s.DomainNames == nil {
  7173  		invalidParams.Add(request.NewErrParamRequired("DomainNames"))
  7174  	}
  7175  
  7176  	if invalidParams.Len() > 0 {
  7177  		return invalidParams
  7178  	}
  7179  	return nil
  7180  }
  7181  
  7182  // SetDomainNames sets the DomainNames field's value.
  7183  func (s *DescribeElasticsearchDomainsInput) SetDomainNames(v []*string) *DescribeElasticsearchDomainsInput {
  7184  	s.DomainNames = v
  7185  	return s
  7186  }
  7187  
  7188  // The result of a DescribeElasticsearchDomains request. Contains the status
  7189  // of the specified domains or all domains owned by the account.
  7190  type DescribeElasticsearchDomainsOutput struct {
  7191  	_ struct{} `type:"structure"`
  7192  
  7193  	// The status of the domains requested in the DescribeElasticsearchDomains request.
  7194  	//
  7195  	// DomainStatusList is a required field
  7196  	DomainStatusList []*ElasticsearchDomainStatus `type:"list" required:"true"`
  7197  }
  7198  
  7199  // String returns the string representation.
  7200  //
  7201  // API parameter values that are decorated as "sensitive" in the API will not
  7202  // be included in the string output. The member name will be present, but the
  7203  // value will be replaced with "sensitive".
  7204  func (s DescribeElasticsearchDomainsOutput) String() string {
  7205  	return awsutil.Prettify(s)
  7206  }
  7207  
  7208  // GoString returns the string representation.
  7209  //
  7210  // API parameter values that are decorated as "sensitive" in the API will not
  7211  // be included in the string output. The member name will be present, but the
  7212  // value will be replaced with "sensitive".
  7213  func (s DescribeElasticsearchDomainsOutput) GoString() string {
  7214  	return s.String()
  7215  }
  7216  
  7217  // SetDomainStatusList sets the DomainStatusList field's value.
  7218  func (s *DescribeElasticsearchDomainsOutput) SetDomainStatusList(v []*ElasticsearchDomainStatus) *DescribeElasticsearchDomainsOutput {
  7219  	s.DomainStatusList = v
  7220  	return s
  7221  }
  7222  
  7223  // Container for the parameters to DescribeElasticsearchInstanceTypeLimits operation.
  7224  type DescribeElasticsearchInstanceTypeLimitsInput struct {
  7225  	_ struct{} `type:"structure" nopayload:"true"`
  7226  
  7227  	// DomainName represents the name of the Domain that we are trying to modify.
  7228  	// This should be present only if we are querying for Elasticsearch Limits for
  7229  	// existing domain.
  7230  	DomainName *string `location:"querystring" locationName:"domainName" min:"3" type:"string"`
  7231  
  7232  	// Version of Elasticsearch for which Limits are needed.
  7233  	//
  7234  	// ElasticsearchVersion is a required field
  7235  	ElasticsearchVersion *string `location:"uri" locationName:"ElasticsearchVersion" type:"string" required:"true"`
  7236  
  7237  	// The instance type for an Elasticsearch cluster for which Elasticsearch Limits
  7238  	// are needed.
  7239  	//
  7240  	// InstanceType is a required field
  7241  	InstanceType *string `location:"uri" locationName:"InstanceType" type:"string" required:"true" enum:"ESPartitionInstanceType"`
  7242  }
  7243  
  7244  // String returns the string representation.
  7245  //
  7246  // API parameter values that are decorated as "sensitive" in the API will not
  7247  // be included in the string output. The member name will be present, but the
  7248  // value will be replaced with "sensitive".
  7249  func (s DescribeElasticsearchInstanceTypeLimitsInput) String() string {
  7250  	return awsutil.Prettify(s)
  7251  }
  7252  
  7253  // GoString returns the string representation.
  7254  //
  7255  // API parameter values that are decorated as "sensitive" in the API will not
  7256  // be included in the string output. The member name will be present, but the
  7257  // value will be replaced with "sensitive".
  7258  func (s DescribeElasticsearchInstanceTypeLimitsInput) GoString() string {
  7259  	return s.String()
  7260  }
  7261  
  7262  // Validate inspects the fields of the type to determine if they are valid.
  7263  func (s *DescribeElasticsearchInstanceTypeLimitsInput) Validate() error {
  7264  	invalidParams := request.ErrInvalidParams{Context: "DescribeElasticsearchInstanceTypeLimitsInput"}
  7265  	if s.DomainName != nil && len(*s.DomainName) < 3 {
  7266  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
  7267  	}
  7268  	if s.ElasticsearchVersion == nil {
  7269  		invalidParams.Add(request.NewErrParamRequired("ElasticsearchVersion"))
  7270  	}
  7271  	if s.ElasticsearchVersion != nil && len(*s.ElasticsearchVersion) < 1 {
  7272  		invalidParams.Add(request.NewErrParamMinLen("ElasticsearchVersion", 1))
  7273  	}
  7274  	if s.InstanceType == nil {
  7275  		invalidParams.Add(request.NewErrParamRequired("InstanceType"))
  7276  	}
  7277  	if s.InstanceType != nil && len(*s.InstanceType) < 1 {
  7278  		invalidParams.Add(request.NewErrParamMinLen("InstanceType", 1))
  7279  	}
  7280  
  7281  	if invalidParams.Len() > 0 {
  7282  		return invalidParams
  7283  	}
  7284  	return nil
  7285  }
  7286  
  7287  // SetDomainName sets the DomainName field's value.
  7288  func (s *DescribeElasticsearchInstanceTypeLimitsInput) SetDomainName(v string) *DescribeElasticsearchInstanceTypeLimitsInput {
  7289  	s.DomainName = &v
  7290  	return s
  7291  }
  7292  
  7293  // SetElasticsearchVersion sets the ElasticsearchVersion field's value.
  7294  func (s *DescribeElasticsearchInstanceTypeLimitsInput) SetElasticsearchVersion(v string) *DescribeElasticsearchInstanceTypeLimitsInput {
  7295  	s.ElasticsearchVersion = &v
  7296  	return s
  7297  }
  7298  
  7299  // SetInstanceType sets the InstanceType field's value.
  7300  func (s *DescribeElasticsearchInstanceTypeLimitsInput) SetInstanceType(v string) *DescribeElasticsearchInstanceTypeLimitsInput {
  7301  	s.InstanceType = &v
  7302  	return s
  7303  }
  7304  
  7305  // Container for the parameters received from DescribeElasticsearchInstanceTypeLimits
  7306  // operation.
  7307  type DescribeElasticsearchInstanceTypeLimitsOutput struct {
  7308  	_ struct{} `type:"structure"`
  7309  
  7310  	// Map of Role of the Instance and Limits that are applicable. Role performed
  7311  	// by given Instance in Elasticsearch can be one of the following:
  7312  	//    * data: If the given InstanceType is used as data node
  7313  	//
  7314  	//    * master: If the given InstanceType is used as master node
  7315  	//
  7316  	//    * ultra_warm: If the given InstanceType is used as warm node
  7317  	LimitsByRole map[string]*Limits `type:"map"`
  7318  }
  7319  
  7320  // String returns the string representation.
  7321  //
  7322  // API parameter values that are decorated as "sensitive" in the API will not
  7323  // be included in the string output. The member name will be present, but the
  7324  // value will be replaced with "sensitive".
  7325  func (s DescribeElasticsearchInstanceTypeLimitsOutput) String() string {
  7326  	return awsutil.Prettify(s)
  7327  }
  7328  
  7329  // GoString returns the string representation.
  7330  //
  7331  // API parameter values that are decorated as "sensitive" in the API will not
  7332  // be included in the string output. The member name will be present, but the
  7333  // value will be replaced with "sensitive".
  7334  func (s DescribeElasticsearchInstanceTypeLimitsOutput) GoString() string {
  7335  	return s.String()
  7336  }
  7337  
  7338  // SetLimitsByRole sets the LimitsByRole field's value.
  7339  func (s *DescribeElasticsearchInstanceTypeLimitsOutput) SetLimitsByRole(v map[string]*Limits) *DescribeElasticsearchInstanceTypeLimitsOutput {
  7340  	s.LimitsByRole = v
  7341  	return s
  7342  }
  7343  
  7344  // Container for the parameters to the DescribeInboundCrossClusterSearchConnections
  7345  // operation.
  7346  type DescribeInboundCrossClusterSearchConnectionsInput struct {
  7347  	_ struct{} `type:"structure"`
  7348  
  7349  	// A list of filters used to match properties for inbound cross-cluster search
  7350  	// connection. Available Filter names for this operation are:
  7351  	//    * cross-cluster-search-connection-id
  7352  	//
  7353  	//    * source-domain-info.domain-name
  7354  	//
  7355  	//    * source-domain-info.owner-id
  7356  	//
  7357  	//    * source-domain-info.region
  7358  	//
  7359  	//    * destination-domain-info.domain-name
  7360  	Filters []*Filter `type:"list"`
  7361  
  7362  	// Set this value to limit the number of results returned. If not specified,
  7363  	// defaults to 100.
  7364  	MaxResults *int64 `type:"integer"`
  7365  
  7366  	// NextToken is sent in case the earlier API call results contain the NextToken.
  7367  	// It is used for pagination.
  7368  	NextToken *string `type:"string"`
  7369  }
  7370  
  7371  // String returns the string representation.
  7372  //
  7373  // API parameter values that are decorated as "sensitive" in the API will not
  7374  // be included in the string output. The member name will be present, but the
  7375  // value will be replaced with "sensitive".
  7376  func (s DescribeInboundCrossClusterSearchConnectionsInput) String() string {
  7377  	return awsutil.Prettify(s)
  7378  }
  7379  
  7380  // GoString returns the string representation.
  7381  //
  7382  // API parameter values that are decorated as "sensitive" in the API will not
  7383  // be included in the string output. The member name will be present, but the
  7384  // value will be replaced with "sensitive".
  7385  func (s DescribeInboundCrossClusterSearchConnectionsInput) GoString() string {
  7386  	return s.String()
  7387  }
  7388  
  7389  // Validate inspects the fields of the type to determine if they are valid.
  7390  func (s *DescribeInboundCrossClusterSearchConnectionsInput) Validate() error {
  7391  	invalidParams := request.ErrInvalidParams{Context: "DescribeInboundCrossClusterSearchConnectionsInput"}
  7392  	if s.Filters != nil {
  7393  		for i, v := range s.Filters {
  7394  			if v == nil {
  7395  				continue
  7396  			}
  7397  			if err := v.Validate(); err != nil {
  7398  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
  7399  			}
  7400  		}
  7401  	}
  7402  
  7403  	if invalidParams.Len() > 0 {
  7404  		return invalidParams
  7405  	}
  7406  	return nil
  7407  }
  7408  
  7409  // SetFilters sets the Filters field's value.
  7410  func (s *DescribeInboundCrossClusterSearchConnectionsInput) SetFilters(v []*Filter) *DescribeInboundCrossClusterSearchConnectionsInput {
  7411  	s.Filters = v
  7412  	return s
  7413  }
  7414  
  7415  // SetMaxResults sets the MaxResults field's value.
  7416  func (s *DescribeInboundCrossClusterSearchConnectionsInput) SetMaxResults(v int64) *DescribeInboundCrossClusterSearchConnectionsInput {
  7417  	s.MaxResults = &v
  7418  	return s
  7419  }
  7420  
  7421  // SetNextToken sets the NextToken field's value.
  7422  func (s *DescribeInboundCrossClusterSearchConnectionsInput) SetNextToken(v string) *DescribeInboundCrossClusterSearchConnectionsInput {
  7423  	s.NextToken = &v
  7424  	return s
  7425  }
  7426  
  7427  // The result of a DescribeInboundCrossClusterSearchConnections request. Contains
  7428  // the list of connections matching the filter criteria.
  7429  type DescribeInboundCrossClusterSearchConnectionsOutput struct {
  7430  	_ struct{} `type:"structure"`
  7431  
  7432  	// Consists of list of InboundCrossClusterSearchConnection matching the specified
  7433  	// filter criteria.
  7434  	CrossClusterSearchConnections []*InboundCrossClusterSearchConnection `type:"list"`
  7435  
  7436  	// If more results are available and NextToken is present, make the next request
  7437  	// to the same API with the received NextToken to paginate the remaining results.
  7438  	NextToken *string `type:"string"`
  7439  }
  7440  
  7441  // String returns the string representation.
  7442  //
  7443  // API parameter values that are decorated as "sensitive" in the API will not
  7444  // be included in the string output. The member name will be present, but the
  7445  // value will be replaced with "sensitive".
  7446  func (s DescribeInboundCrossClusterSearchConnectionsOutput) String() string {
  7447  	return awsutil.Prettify(s)
  7448  }
  7449  
  7450  // GoString returns the string representation.
  7451  //
  7452  // API parameter values that are decorated as "sensitive" in the API will not
  7453  // be included in the string output. The member name will be present, but the
  7454  // value will be replaced with "sensitive".
  7455  func (s DescribeInboundCrossClusterSearchConnectionsOutput) GoString() string {
  7456  	return s.String()
  7457  }
  7458  
  7459  // SetCrossClusterSearchConnections sets the CrossClusterSearchConnections field's value.
  7460  func (s *DescribeInboundCrossClusterSearchConnectionsOutput) SetCrossClusterSearchConnections(v []*InboundCrossClusterSearchConnection) *DescribeInboundCrossClusterSearchConnectionsOutput {
  7461  	s.CrossClusterSearchConnections = v
  7462  	return s
  7463  }
  7464  
  7465  // SetNextToken sets the NextToken field's value.
  7466  func (s *DescribeInboundCrossClusterSearchConnectionsOutput) SetNextToken(v string) *DescribeInboundCrossClusterSearchConnectionsOutput {
  7467  	s.NextToken = &v
  7468  	return s
  7469  }
  7470  
  7471  // Container for the parameters to the DescribeOutboundCrossClusterSearchConnections
  7472  // operation.
  7473  type DescribeOutboundCrossClusterSearchConnectionsInput struct {
  7474  	_ struct{} `type:"structure"`
  7475  
  7476  	// A list of filters used to match properties for outbound cross-cluster search
  7477  	// connection. Available Filter names for this operation are:
  7478  	//    * cross-cluster-search-connection-id
  7479  	//
  7480  	//    * destination-domain-info.domain-name
  7481  	//
  7482  	//    * destination-domain-info.owner-id
  7483  	//
  7484  	//    * destination-domain-info.region
  7485  	//
  7486  	//    * source-domain-info.domain-name
  7487  	Filters []*Filter `type:"list"`
  7488  
  7489  	// Set this value to limit the number of results returned. If not specified,
  7490  	// defaults to 100.
  7491  	MaxResults *int64 `type:"integer"`
  7492  
  7493  	// NextToken is sent in case the earlier API call results contain the NextToken.
  7494  	// It is used for pagination.
  7495  	NextToken *string `type:"string"`
  7496  }
  7497  
  7498  // String returns the string representation.
  7499  //
  7500  // API parameter values that are decorated as "sensitive" in the API will not
  7501  // be included in the string output. The member name will be present, but the
  7502  // value will be replaced with "sensitive".
  7503  func (s DescribeOutboundCrossClusterSearchConnectionsInput) String() string {
  7504  	return awsutil.Prettify(s)
  7505  }
  7506  
  7507  // GoString returns the string representation.
  7508  //
  7509  // API parameter values that are decorated as "sensitive" in the API will not
  7510  // be included in the string output. The member name will be present, but the
  7511  // value will be replaced with "sensitive".
  7512  func (s DescribeOutboundCrossClusterSearchConnectionsInput) GoString() string {
  7513  	return s.String()
  7514  }
  7515  
  7516  // Validate inspects the fields of the type to determine if they are valid.
  7517  func (s *DescribeOutboundCrossClusterSearchConnectionsInput) Validate() error {
  7518  	invalidParams := request.ErrInvalidParams{Context: "DescribeOutboundCrossClusterSearchConnectionsInput"}
  7519  	if s.Filters != nil {
  7520  		for i, v := range s.Filters {
  7521  			if v == nil {
  7522  				continue
  7523  			}
  7524  			if err := v.Validate(); err != nil {
  7525  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
  7526  			}
  7527  		}
  7528  	}
  7529  
  7530  	if invalidParams.Len() > 0 {
  7531  		return invalidParams
  7532  	}
  7533  	return nil
  7534  }
  7535  
  7536  // SetFilters sets the Filters field's value.
  7537  func (s *DescribeOutboundCrossClusterSearchConnectionsInput) SetFilters(v []*Filter) *DescribeOutboundCrossClusterSearchConnectionsInput {
  7538  	s.Filters = v
  7539  	return s
  7540  }
  7541  
  7542  // SetMaxResults sets the MaxResults field's value.
  7543  func (s *DescribeOutboundCrossClusterSearchConnectionsInput) SetMaxResults(v int64) *DescribeOutboundCrossClusterSearchConnectionsInput {
  7544  	s.MaxResults = &v
  7545  	return s
  7546  }
  7547  
  7548  // SetNextToken sets the NextToken field's value.
  7549  func (s *DescribeOutboundCrossClusterSearchConnectionsInput) SetNextToken(v string) *DescribeOutboundCrossClusterSearchConnectionsInput {
  7550  	s.NextToken = &v
  7551  	return s
  7552  }
  7553  
  7554  // The result of a DescribeOutboundCrossClusterSearchConnections request. Contains
  7555  // the list of connections matching the filter criteria.
  7556  type DescribeOutboundCrossClusterSearchConnectionsOutput struct {
  7557  	_ struct{} `type:"structure"`
  7558  
  7559  	// Consists of list of OutboundCrossClusterSearchConnection matching the specified
  7560  	// filter criteria.
  7561  	CrossClusterSearchConnections []*OutboundCrossClusterSearchConnection `type:"list"`
  7562  
  7563  	// If more results are available and NextToken is present, make the next request
  7564  	// to the same API with the received NextToken to paginate the remaining results.
  7565  	NextToken *string `type:"string"`
  7566  }
  7567  
  7568  // String returns the string representation.
  7569  //
  7570  // API parameter values that are decorated as "sensitive" in the API will not
  7571  // be included in the string output. The member name will be present, but the
  7572  // value will be replaced with "sensitive".
  7573  func (s DescribeOutboundCrossClusterSearchConnectionsOutput) String() string {
  7574  	return awsutil.Prettify(s)
  7575  }
  7576  
  7577  // GoString returns the string representation.
  7578  //
  7579  // API parameter values that are decorated as "sensitive" in the API will not
  7580  // be included in the string output. The member name will be present, but the
  7581  // value will be replaced with "sensitive".
  7582  func (s DescribeOutboundCrossClusterSearchConnectionsOutput) GoString() string {
  7583  	return s.String()
  7584  }
  7585  
  7586  // SetCrossClusterSearchConnections sets the CrossClusterSearchConnections field's value.
  7587  func (s *DescribeOutboundCrossClusterSearchConnectionsOutput) SetCrossClusterSearchConnections(v []*OutboundCrossClusterSearchConnection) *DescribeOutboundCrossClusterSearchConnectionsOutput {
  7588  	s.CrossClusterSearchConnections = v
  7589  	return s
  7590  }
  7591  
  7592  // SetNextToken sets the NextToken field's value.
  7593  func (s *DescribeOutboundCrossClusterSearchConnectionsOutput) SetNextToken(v string) *DescribeOutboundCrossClusterSearchConnectionsOutput {
  7594  	s.NextToken = &v
  7595  	return s
  7596  }
  7597  
  7598  // Filter to apply in DescribePackage response.
  7599  type DescribePackagesFilter struct {
  7600  	_ struct{} `type:"structure"`
  7601  
  7602  	// Any field from PackageDetails.
  7603  	Name *string `type:"string" enum:"DescribePackagesFilterName"`
  7604  
  7605  	// A list of values for the specified field.
  7606  	Value []*string `type:"list"`
  7607  }
  7608  
  7609  // String returns the string representation.
  7610  //
  7611  // API parameter values that are decorated as "sensitive" in the API will not
  7612  // be included in the string output. The member name will be present, but the
  7613  // value will be replaced with "sensitive".
  7614  func (s DescribePackagesFilter) String() string {
  7615  	return awsutil.Prettify(s)
  7616  }
  7617  
  7618  // GoString returns the string representation.
  7619  //
  7620  // API parameter values that are decorated as "sensitive" in the API will not
  7621  // be included in the string output. The member name will be present, but the
  7622  // value will be replaced with "sensitive".
  7623  func (s DescribePackagesFilter) GoString() string {
  7624  	return s.String()
  7625  }
  7626  
  7627  // SetName sets the Name field's value.
  7628  func (s *DescribePackagesFilter) SetName(v string) *DescribePackagesFilter {
  7629  	s.Name = &v
  7630  	return s
  7631  }
  7632  
  7633  // SetValue sets the Value field's value.
  7634  func (s *DescribePackagesFilter) SetValue(v []*string) *DescribePackagesFilter {
  7635  	s.Value = v
  7636  	return s
  7637  }
  7638  
  7639  // Container for request parameters to DescribePackage operation.
  7640  type DescribePackagesInput struct {
  7641  	_ struct{} `type:"structure"`
  7642  
  7643  	// Only returns packages that match the DescribePackagesFilterList values.
  7644  	Filters []*DescribePackagesFilter `type:"list"`
  7645  
  7646  	// Limits results to a maximum number of packages.
  7647  	MaxResults *int64 `type:"integer"`
  7648  
  7649  	// Used for pagination. Only necessary if a previous API call includes a non-null
  7650  	// NextToken value. If provided, returns results for the next page.
  7651  	NextToken *string `type:"string"`
  7652  }
  7653  
  7654  // String returns the string representation.
  7655  //
  7656  // API parameter values that are decorated as "sensitive" in the API will not
  7657  // be included in the string output. The member name will be present, but the
  7658  // value will be replaced with "sensitive".
  7659  func (s DescribePackagesInput) String() string {
  7660  	return awsutil.Prettify(s)
  7661  }
  7662  
  7663  // GoString returns the string representation.
  7664  //
  7665  // API parameter values that are decorated as "sensitive" in the API will not
  7666  // be included in the string output. The member name will be present, but the
  7667  // value will be replaced with "sensitive".
  7668  func (s DescribePackagesInput) GoString() string {
  7669  	return s.String()
  7670  }
  7671  
  7672  // SetFilters sets the Filters field's value.
  7673  func (s *DescribePackagesInput) SetFilters(v []*DescribePackagesFilter) *DescribePackagesInput {
  7674  	s.Filters = v
  7675  	return s
  7676  }
  7677  
  7678  // SetMaxResults sets the MaxResults field's value.
  7679  func (s *DescribePackagesInput) SetMaxResults(v int64) *DescribePackagesInput {
  7680  	s.MaxResults = &v
  7681  	return s
  7682  }
  7683  
  7684  // SetNextToken sets the NextToken field's value.
  7685  func (s *DescribePackagesInput) SetNextToken(v string) *DescribePackagesInput {
  7686  	s.NextToken = &v
  7687  	return s
  7688  }
  7689  
  7690  // Container for response returned by DescribePackages operation.
  7691  type DescribePackagesOutput struct {
  7692  	_ struct{} `type:"structure"`
  7693  
  7694  	NextToken *string `type:"string"`
  7695  
  7696  	// List of PackageDetails objects.
  7697  	PackageDetailsList []*PackageDetails `type:"list"`
  7698  }
  7699  
  7700  // String returns the string representation.
  7701  //
  7702  // API parameter values that are decorated as "sensitive" in the API will not
  7703  // be included in the string output. The member name will be present, but the
  7704  // value will be replaced with "sensitive".
  7705  func (s DescribePackagesOutput) String() string {
  7706  	return awsutil.Prettify(s)
  7707  }
  7708  
  7709  // GoString returns the string representation.
  7710  //
  7711  // API parameter values that are decorated as "sensitive" in the API will not
  7712  // be included in the string output. The member name will be present, but the
  7713  // value will be replaced with "sensitive".
  7714  func (s DescribePackagesOutput) GoString() string {
  7715  	return s.String()
  7716  }
  7717  
  7718  // SetNextToken sets the NextToken field's value.
  7719  func (s *DescribePackagesOutput) SetNextToken(v string) *DescribePackagesOutput {
  7720  	s.NextToken = &v
  7721  	return s
  7722  }
  7723  
  7724  // SetPackageDetailsList sets the PackageDetailsList field's value.
  7725  func (s *DescribePackagesOutput) SetPackageDetailsList(v []*PackageDetails) *DescribePackagesOutput {
  7726  	s.PackageDetailsList = v
  7727  	return s
  7728  }
  7729  
  7730  // Container for parameters to DescribeReservedElasticsearchInstanceOfferings
  7731  type DescribeReservedElasticsearchInstanceOfferingsInput struct {
  7732  	_ struct{} `type:"structure" nopayload:"true"`
  7733  
  7734  	// Set this value to limit the number of results returned. If not specified,
  7735  	// defaults to 100.
  7736  	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
  7737  
  7738  	// NextToken should be sent in case if earlier API call produced result containing
  7739  	// NextToken. It is used for pagination.
  7740  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
  7741  
  7742  	// The offering identifier filter value. Use this parameter to show only the
  7743  	// available offering that matches the specified reservation identifier.
  7744  	ReservedElasticsearchInstanceOfferingId *string `location:"querystring" locationName:"offeringId" type:"string"`
  7745  }
  7746  
  7747  // String returns the string representation.
  7748  //
  7749  // API parameter values that are decorated as "sensitive" in the API will not
  7750  // be included in the string output. The member name will be present, but the
  7751  // value will be replaced with "sensitive".
  7752  func (s DescribeReservedElasticsearchInstanceOfferingsInput) String() string {
  7753  	return awsutil.Prettify(s)
  7754  }
  7755  
  7756  // GoString returns the string representation.
  7757  //
  7758  // API parameter values that are decorated as "sensitive" in the API will not
  7759  // be included in the string output. The member name will be present, but the
  7760  // value will be replaced with "sensitive".
  7761  func (s DescribeReservedElasticsearchInstanceOfferingsInput) GoString() string {
  7762  	return s.String()
  7763  }
  7764  
  7765  // SetMaxResults sets the MaxResults field's value.
  7766  func (s *DescribeReservedElasticsearchInstanceOfferingsInput) SetMaxResults(v int64) *DescribeReservedElasticsearchInstanceOfferingsInput {
  7767  	s.MaxResults = &v
  7768  	return s
  7769  }
  7770  
  7771  // SetNextToken sets the NextToken field's value.
  7772  func (s *DescribeReservedElasticsearchInstanceOfferingsInput) SetNextToken(v string) *DescribeReservedElasticsearchInstanceOfferingsInput {
  7773  	s.NextToken = &v
  7774  	return s
  7775  }
  7776  
  7777  // SetReservedElasticsearchInstanceOfferingId sets the ReservedElasticsearchInstanceOfferingId field's value.
  7778  func (s *DescribeReservedElasticsearchInstanceOfferingsInput) SetReservedElasticsearchInstanceOfferingId(v string) *DescribeReservedElasticsearchInstanceOfferingsInput {
  7779  	s.ReservedElasticsearchInstanceOfferingId = &v
  7780  	return s
  7781  }
  7782  
  7783  // Container for results from DescribeReservedElasticsearchInstanceOfferings
  7784  type DescribeReservedElasticsearchInstanceOfferingsOutput struct {
  7785  	_ struct{} `type:"structure"`
  7786  
  7787  	// Provides an identifier to allow retrieval of paginated results.
  7788  	NextToken *string `type:"string"`
  7789  
  7790  	// List of reserved Elasticsearch instance offerings
  7791  	ReservedElasticsearchInstanceOfferings []*ReservedElasticsearchInstanceOffering `type:"list"`
  7792  }
  7793  
  7794  // String returns the string representation.
  7795  //
  7796  // API parameter values that are decorated as "sensitive" in the API will not
  7797  // be included in the string output. The member name will be present, but the
  7798  // value will be replaced with "sensitive".
  7799  func (s DescribeReservedElasticsearchInstanceOfferingsOutput) String() string {
  7800  	return awsutil.Prettify(s)
  7801  }
  7802  
  7803  // GoString returns the string representation.
  7804  //
  7805  // API parameter values that are decorated as "sensitive" in the API will not
  7806  // be included in the string output. The member name will be present, but the
  7807  // value will be replaced with "sensitive".
  7808  func (s DescribeReservedElasticsearchInstanceOfferingsOutput) GoString() string {
  7809  	return s.String()
  7810  }
  7811  
  7812  // SetNextToken sets the NextToken field's value.
  7813  func (s *DescribeReservedElasticsearchInstanceOfferingsOutput) SetNextToken(v string) *DescribeReservedElasticsearchInstanceOfferingsOutput {
  7814  	s.NextToken = &v
  7815  	return s
  7816  }
  7817  
  7818  // SetReservedElasticsearchInstanceOfferings sets the ReservedElasticsearchInstanceOfferings field's value.
  7819  func (s *DescribeReservedElasticsearchInstanceOfferingsOutput) SetReservedElasticsearchInstanceOfferings(v []*ReservedElasticsearchInstanceOffering) *DescribeReservedElasticsearchInstanceOfferingsOutput {
  7820  	s.ReservedElasticsearchInstanceOfferings = v
  7821  	return s
  7822  }
  7823  
  7824  // Container for parameters to DescribeReservedElasticsearchInstances
  7825  type DescribeReservedElasticsearchInstancesInput struct {
  7826  	_ struct{} `type:"structure" nopayload:"true"`
  7827  
  7828  	// Set this value to limit the number of results returned. If not specified,
  7829  	// defaults to 100.
  7830  	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
  7831  
  7832  	// NextToken should be sent in case if earlier API call produced result containing
  7833  	// NextToken. It is used for pagination.
  7834  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
  7835  
  7836  	// The reserved instance identifier filter value. Use this parameter to show
  7837  	// only the reservation that matches the specified reserved Elasticsearch instance
  7838  	// ID.
  7839  	ReservedElasticsearchInstanceId *string `location:"querystring" locationName:"reservationId" type:"string"`
  7840  }
  7841  
  7842  // String returns the string representation.
  7843  //
  7844  // API parameter values that are decorated as "sensitive" in the API will not
  7845  // be included in the string output. The member name will be present, but the
  7846  // value will be replaced with "sensitive".
  7847  func (s DescribeReservedElasticsearchInstancesInput) String() string {
  7848  	return awsutil.Prettify(s)
  7849  }
  7850  
  7851  // GoString returns the string representation.
  7852  //
  7853  // API parameter values that are decorated as "sensitive" in the API will not
  7854  // be included in the string output. The member name will be present, but the
  7855  // value will be replaced with "sensitive".
  7856  func (s DescribeReservedElasticsearchInstancesInput) GoString() string {
  7857  	return s.String()
  7858  }
  7859  
  7860  // SetMaxResults sets the MaxResults field's value.
  7861  func (s *DescribeReservedElasticsearchInstancesInput) SetMaxResults(v int64) *DescribeReservedElasticsearchInstancesInput {
  7862  	s.MaxResults = &v
  7863  	return s
  7864  }
  7865  
  7866  // SetNextToken sets the NextToken field's value.
  7867  func (s *DescribeReservedElasticsearchInstancesInput) SetNextToken(v string) *DescribeReservedElasticsearchInstancesInput {
  7868  	s.NextToken = &v
  7869  	return s
  7870  }
  7871  
  7872  // SetReservedElasticsearchInstanceId sets the ReservedElasticsearchInstanceId field's value.
  7873  func (s *DescribeReservedElasticsearchInstancesInput) SetReservedElasticsearchInstanceId(v string) *DescribeReservedElasticsearchInstancesInput {
  7874  	s.ReservedElasticsearchInstanceId = &v
  7875  	return s
  7876  }
  7877  
  7878  // Container for results from DescribeReservedElasticsearchInstances
  7879  type DescribeReservedElasticsearchInstancesOutput struct {
  7880  	_ struct{} `type:"structure"`
  7881  
  7882  	// Provides an identifier to allow retrieval of paginated results.
  7883  	NextToken *string `type:"string"`
  7884  
  7885  	// List of reserved Elasticsearch instances.
  7886  	ReservedElasticsearchInstances []*ReservedElasticsearchInstance `type:"list"`
  7887  }
  7888  
  7889  // String returns the string representation.
  7890  //
  7891  // API parameter values that are decorated as "sensitive" in the API will not
  7892  // be included in the string output. The member name will be present, but the
  7893  // value will be replaced with "sensitive".
  7894  func (s DescribeReservedElasticsearchInstancesOutput) String() string {
  7895  	return awsutil.Prettify(s)
  7896  }
  7897  
  7898  // GoString returns the string representation.
  7899  //
  7900  // API parameter values that are decorated as "sensitive" in the API will not
  7901  // be included in the string output. The member name will be present, but the
  7902  // value will be replaced with "sensitive".
  7903  func (s DescribeReservedElasticsearchInstancesOutput) GoString() string {
  7904  	return s.String()
  7905  }
  7906  
  7907  // SetNextToken sets the NextToken field's value.
  7908  func (s *DescribeReservedElasticsearchInstancesOutput) SetNextToken(v string) *DescribeReservedElasticsearchInstancesOutput {
  7909  	s.NextToken = &v
  7910  	return s
  7911  }
  7912  
  7913  // SetReservedElasticsearchInstances sets the ReservedElasticsearchInstances field's value.
  7914  func (s *DescribeReservedElasticsearchInstancesOutput) SetReservedElasticsearchInstances(v []*ReservedElasticsearchInstance) *DescribeReservedElasticsearchInstancesOutput {
  7915  	s.ReservedElasticsearchInstances = v
  7916  	return s
  7917  }
  7918  
  7919  // An error occured because the client wanted to access a not supported operation.
  7920  // Gives http status code of 409.
  7921  type DisabledOperationException struct {
  7922  	_            struct{}                  `type:"structure"`
  7923  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7924  
  7925  	Message_ *string `locationName:"message" type:"string"`
  7926  }
  7927  
  7928  // String returns the string representation.
  7929  //
  7930  // API parameter values that are decorated as "sensitive" in the API will not
  7931  // be included in the string output. The member name will be present, but the
  7932  // value will be replaced with "sensitive".
  7933  func (s DisabledOperationException) String() string {
  7934  	return awsutil.Prettify(s)
  7935  }
  7936  
  7937  // GoString returns the string representation.
  7938  //
  7939  // API parameter values that are decorated as "sensitive" in the API will not
  7940  // be included in the string output. The member name will be present, but the
  7941  // value will be replaced with "sensitive".
  7942  func (s DisabledOperationException) GoString() string {
  7943  	return s.String()
  7944  }
  7945  
  7946  func newErrorDisabledOperationException(v protocol.ResponseMetadata) error {
  7947  	return &DisabledOperationException{
  7948  		RespMetadata: v,
  7949  	}
  7950  }
  7951  
  7952  // Code returns the exception type name.
  7953  func (s *DisabledOperationException) Code() string {
  7954  	return "DisabledOperationException"
  7955  }
  7956  
  7957  // Message returns the exception's message.
  7958  func (s *DisabledOperationException) Message() string {
  7959  	if s.Message_ != nil {
  7960  		return *s.Message_
  7961  	}
  7962  	return ""
  7963  }
  7964  
  7965  // OrigErr always returns nil, satisfies awserr.Error interface.
  7966  func (s *DisabledOperationException) OrigErr() error {
  7967  	return nil
  7968  }
  7969  
  7970  func (s *DisabledOperationException) Error() string {
  7971  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  7972  }
  7973  
  7974  // Status code returns the HTTP status code for the request's response error.
  7975  func (s *DisabledOperationException) StatusCode() int {
  7976  	return s.RespMetadata.StatusCode
  7977  }
  7978  
  7979  // RequestID returns the service's response RequestID for request.
  7980  func (s *DisabledOperationException) RequestID() string {
  7981  	return s.RespMetadata.RequestID
  7982  }
  7983  
  7984  // Container for request parameters to DissociatePackage operation.
  7985  type DissociatePackageInput struct {
  7986  	_ struct{} `type:"structure" nopayload:"true"`
  7987  
  7988  	// Name of the domain that you want to associate the package with.
  7989  	//
  7990  	// DomainName is a required field
  7991  	DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"`
  7992  
  7993  	// Internal ID of the package that you want to associate with a domain. Use
  7994  	// DescribePackages to find this value.
  7995  	//
  7996  	// PackageID is a required field
  7997  	PackageID *string `location:"uri" locationName:"PackageID" type:"string" required:"true"`
  7998  }
  7999  
  8000  // String returns the string representation.
  8001  //
  8002  // API parameter values that are decorated as "sensitive" in the API will not
  8003  // be included in the string output. The member name will be present, but the
  8004  // value will be replaced with "sensitive".
  8005  func (s DissociatePackageInput) String() string {
  8006  	return awsutil.Prettify(s)
  8007  }
  8008  
  8009  // GoString returns the string representation.
  8010  //
  8011  // API parameter values that are decorated as "sensitive" in the API will not
  8012  // be included in the string output. The member name will be present, but the
  8013  // value will be replaced with "sensitive".
  8014  func (s DissociatePackageInput) GoString() string {
  8015  	return s.String()
  8016  }
  8017  
  8018  // Validate inspects the fields of the type to determine if they are valid.
  8019  func (s *DissociatePackageInput) Validate() error {
  8020  	invalidParams := request.ErrInvalidParams{Context: "DissociatePackageInput"}
  8021  	if s.DomainName == nil {
  8022  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  8023  	}
  8024  	if s.DomainName != nil && len(*s.DomainName) < 3 {
  8025  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
  8026  	}
  8027  	if s.PackageID == nil {
  8028  		invalidParams.Add(request.NewErrParamRequired("PackageID"))
  8029  	}
  8030  	if s.PackageID != nil && len(*s.PackageID) < 1 {
  8031  		invalidParams.Add(request.NewErrParamMinLen("PackageID", 1))
  8032  	}
  8033  
  8034  	if invalidParams.Len() > 0 {
  8035  		return invalidParams
  8036  	}
  8037  	return nil
  8038  }
  8039  
  8040  // SetDomainName sets the DomainName field's value.
  8041  func (s *DissociatePackageInput) SetDomainName(v string) *DissociatePackageInput {
  8042  	s.DomainName = &v
  8043  	return s
  8044  }
  8045  
  8046  // SetPackageID sets the PackageID field's value.
  8047  func (s *DissociatePackageInput) SetPackageID(v string) *DissociatePackageInput {
  8048  	s.PackageID = &v
  8049  	return s
  8050  }
  8051  
  8052  // Container for response returned by DissociatePackage operation.
  8053  type DissociatePackageOutput struct {
  8054  	_ struct{} `type:"structure"`
  8055  
  8056  	// DomainPackageDetails
  8057  	DomainPackageDetails *DomainPackageDetails `type:"structure"`
  8058  }
  8059  
  8060  // String returns the string representation.
  8061  //
  8062  // API parameter values that are decorated as "sensitive" in the API will not
  8063  // be included in the string output. The member name will be present, but the
  8064  // value will be replaced with "sensitive".
  8065  func (s DissociatePackageOutput) String() string {
  8066  	return awsutil.Prettify(s)
  8067  }
  8068  
  8069  // GoString returns the string representation.
  8070  //
  8071  // API parameter values that are decorated as "sensitive" in the API will not
  8072  // be included in the string output. The member name will be present, but the
  8073  // value will be replaced with "sensitive".
  8074  func (s DissociatePackageOutput) GoString() string {
  8075  	return s.String()
  8076  }
  8077  
  8078  // SetDomainPackageDetails sets the DomainPackageDetails field's value.
  8079  func (s *DissociatePackageOutput) SetDomainPackageDetails(v *DomainPackageDetails) *DissociatePackageOutput {
  8080  	s.DomainPackageDetails = v
  8081  	return s
  8082  }
  8083  
  8084  // Options to configure endpoint for the Elasticsearch domain.
  8085  type DomainEndpointOptions struct {
  8086  	_ struct{} `type:"structure"`
  8087  
  8088  	// Specify the fully qualified domain for your custom endpoint.
  8089  	CustomEndpoint *string `min:"1" type:"string"`
  8090  
  8091  	// Specify ACM certificate ARN for your custom endpoint.
  8092  	CustomEndpointCertificateArn *string `type:"string"`
  8093  
  8094  	// Specify if custom endpoint should be enabled for the Elasticsearch domain.
  8095  	CustomEndpointEnabled *bool `type:"boolean"`
  8096  
  8097  	// Specify if only HTTPS endpoint should be enabled for the Elasticsearch domain.
  8098  	EnforceHTTPS *bool `type:"boolean"`
  8099  
  8100  	// Specify the TLS security policy that needs to be applied to the HTTPS endpoint
  8101  	// of Elasticsearch domain. It can be one of the following values:
  8102  	//    * Policy-Min-TLS-1-0-2019-07: TLS security policy which supports TLSv1.0
  8103  	//    and higher.
  8104  	//
  8105  	//    * Policy-Min-TLS-1-2-2019-07: TLS security policy which supports only
  8106  	//    TLSv1.2
  8107  	TLSSecurityPolicy *string `type:"string" enum:"TLSSecurityPolicy"`
  8108  }
  8109  
  8110  // String returns the string representation.
  8111  //
  8112  // API parameter values that are decorated as "sensitive" in the API will not
  8113  // be included in the string output. The member name will be present, but the
  8114  // value will be replaced with "sensitive".
  8115  func (s DomainEndpointOptions) String() string {
  8116  	return awsutil.Prettify(s)
  8117  }
  8118  
  8119  // GoString returns the string representation.
  8120  //
  8121  // API parameter values that are decorated as "sensitive" in the API will not
  8122  // be included in the string output. The member name will be present, but the
  8123  // value will be replaced with "sensitive".
  8124  func (s DomainEndpointOptions) GoString() string {
  8125  	return s.String()
  8126  }
  8127  
  8128  // Validate inspects the fields of the type to determine if they are valid.
  8129  func (s *DomainEndpointOptions) Validate() error {
  8130  	invalidParams := request.ErrInvalidParams{Context: "DomainEndpointOptions"}
  8131  	if s.CustomEndpoint != nil && len(*s.CustomEndpoint) < 1 {
  8132  		invalidParams.Add(request.NewErrParamMinLen("CustomEndpoint", 1))
  8133  	}
  8134  
  8135  	if invalidParams.Len() > 0 {
  8136  		return invalidParams
  8137  	}
  8138  	return nil
  8139  }
  8140  
  8141  // SetCustomEndpoint sets the CustomEndpoint field's value.
  8142  func (s *DomainEndpointOptions) SetCustomEndpoint(v string) *DomainEndpointOptions {
  8143  	s.CustomEndpoint = &v
  8144  	return s
  8145  }
  8146  
  8147  // SetCustomEndpointCertificateArn sets the CustomEndpointCertificateArn field's value.
  8148  func (s *DomainEndpointOptions) SetCustomEndpointCertificateArn(v string) *DomainEndpointOptions {
  8149  	s.CustomEndpointCertificateArn = &v
  8150  	return s
  8151  }
  8152  
  8153  // SetCustomEndpointEnabled sets the CustomEndpointEnabled field's value.
  8154  func (s *DomainEndpointOptions) SetCustomEndpointEnabled(v bool) *DomainEndpointOptions {
  8155  	s.CustomEndpointEnabled = &v
  8156  	return s
  8157  }
  8158  
  8159  // SetEnforceHTTPS sets the EnforceHTTPS field's value.
  8160  func (s *DomainEndpointOptions) SetEnforceHTTPS(v bool) *DomainEndpointOptions {
  8161  	s.EnforceHTTPS = &v
  8162  	return s
  8163  }
  8164  
  8165  // SetTLSSecurityPolicy sets the TLSSecurityPolicy field's value.
  8166  func (s *DomainEndpointOptions) SetTLSSecurityPolicy(v string) *DomainEndpointOptions {
  8167  	s.TLSSecurityPolicy = &v
  8168  	return s
  8169  }
  8170  
  8171  // The configured endpoint options for the domain and their current status.
  8172  type DomainEndpointOptionsStatus struct {
  8173  	_ struct{} `type:"structure"`
  8174  
  8175  	// Options to configure endpoint for the Elasticsearch domain.
  8176  	//
  8177  	// Options is a required field
  8178  	Options *DomainEndpointOptions `type:"structure" required:"true"`
  8179  
  8180  	// The status of the endpoint options for the Elasticsearch domain. See OptionStatus
  8181  	// for the status information that's included.
  8182  	//
  8183  	// Status is a required field
  8184  	Status *OptionStatus `type:"structure" required:"true"`
  8185  }
  8186  
  8187  // String returns the string representation.
  8188  //
  8189  // API parameter values that are decorated as "sensitive" in the API will not
  8190  // be included in the string output. The member name will be present, but the
  8191  // value will be replaced with "sensitive".
  8192  func (s DomainEndpointOptionsStatus) String() string {
  8193  	return awsutil.Prettify(s)
  8194  }
  8195  
  8196  // GoString returns the string representation.
  8197  //
  8198  // API parameter values that are decorated as "sensitive" in the API will not
  8199  // be included in the string output. The member name will be present, but the
  8200  // value will be replaced with "sensitive".
  8201  func (s DomainEndpointOptionsStatus) GoString() string {
  8202  	return s.String()
  8203  }
  8204  
  8205  // SetOptions sets the Options field's value.
  8206  func (s *DomainEndpointOptionsStatus) SetOptions(v *DomainEndpointOptions) *DomainEndpointOptionsStatus {
  8207  	s.Options = v
  8208  	return s
  8209  }
  8210  
  8211  // SetStatus sets the Status field's value.
  8212  func (s *DomainEndpointOptionsStatus) SetStatus(v *OptionStatus) *DomainEndpointOptionsStatus {
  8213  	s.Status = v
  8214  	return s
  8215  }
  8216  
  8217  type DomainInfo struct {
  8218  	_ struct{} `type:"structure"`
  8219  
  8220  	// Specifies the DomainName.
  8221  	DomainName *string `min:"3" type:"string"`
  8222  
  8223  	// Specifies the EngineType of the domain.
  8224  	EngineType *string `type:"string" enum:"EngineType"`
  8225  }
  8226  
  8227  // String returns the string representation.
  8228  //
  8229  // API parameter values that are decorated as "sensitive" in the API will not
  8230  // be included in the string output. The member name will be present, but the
  8231  // value will be replaced with "sensitive".
  8232  func (s DomainInfo) String() string {
  8233  	return awsutil.Prettify(s)
  8234  }
  8235  
  8236  // GoString returns the string representation.
  8237  //
  8238  // API parameter values that are decorated as "sensitive" in the API will not
  8239  // be included in the string output. The member name will be present, but the
  8240  // value will be replaced with "sensitive".
  8241  func (s DomainInfo) GoString() string {
  8242  	return s.String()
  8243  }
  8244  
  8245  // SetDomainName sets the DomainName field's value.
  8246  func (s *DomainInfo) SetDomainName(v string) *DomainInfo {
  8247  	s.DomainName = &v
  8248  	return s
  8249  }
  8250  
  8251  // SetEngineType sets the EngineType field's value.
  8252  func (s *DomainInfo) SetEngineType(v string) *DomainInfo {
  8253  	s.EngineType = &v
  8254  	return s
  8255  }
  8256  
  8257  type DomainInformation struct {
  8258  	_ struct{} `type:"structure"`
  8259  
  8260  	// The name of an Elasticsearch domain. Domain names are unique across the domains
  8261  	// owned by an account within an AWS region. Domain names start with a letter
  8262  	// or number and can contain the following characters: a-z (lowercase), 0-9,
  8263  	// and - (hyphen).
  8264  	//
  8265  	// DomainName is a required field
  8266  	DomainName *string `min:"3" type:"string" required:"true"`
  8267  
  8268  	OwnerId *string `min:"12" type:"string"`
  8269  
  8270  	Region *string `type:"string"`
  8271  }
  8272  
  8273  // String returns the string representation.
  8274  //
  8275  // API parameter values that are decorated as "sensitive" in the API will not
  8276  // be included in the string output. The member name will be present, but the
  8277  // value will be replaced with "sensitive".
  8278  func (s DomainInformation) String() string {
  8279  	return awsutil.Prettify(s)
  8280  }
  8281  
  8282  // GoString returns the string representation.
  8283  //
  8284  // API parameter values that are decorated as "sensitive" in the API will not
  8285  // be included in the string output. The member name will be present, but the
  8286  // value will be replaced with "sensitive".
  8287  func (s DomainInformation) GoString() string {
  8288  	return s.String()
  8289  }
  8290  
  8291  // Validate inspects the fields of the type to determine if they are valid.
  8292  func (s *DomainInformation) Validate() error {
  8293  	invalidParams := request.ErrInvalidParams{Context: "DomainInformation"}
  8294  	if s.DomainName == nil {
  8295  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  8296  	}
  8297  	if s.DomainName != nil && len(*s.DomainName) < 3 {
  8298  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
  8299  	}
  8300  	if s.OwnerId != nil && len(*s.OwnerId) < 12 {
  8301  		invalidParams.Add(request.NewErrParamMinLen("OwnerId", 12))
  8302  	}
  8303  
  8304  	if invalidParams.Len() > 0 {
  8305  		return invalidParams
  8306  	}
  8307  	return nil
  8308  }
  8309  
  8310  // SetDomainName sets the DomainName field's value.
  8311  func (s *DomainInformation) SetDomainName(v string) *DomainInformation {
  8312  	s.DomainName = &v
  8313  	return s
  8314  }
  8315  
  8316  // SetOwnerId sets the OwnerId field's value.
  8317  func (s *DomainInformation) SetOwnerId(v string) *DomainInformation {
  8318  	s.OwnerId = &v
  8319  	return s
  8320  }
  8321  
  8322  // SetRegion sets the Region field's value.
  8323  func (s *DomainInformation) SetRegion(v string) *DomainInformation {
  8324  	s.Region = &v
  8325  	return s
  8326  }
  8327  
  8328  // Information on a package that is associated with a domain.
  8329  type DomainPackageDetails struct {
  8330  	_ struct{} `type:"structure"`
  8331  
  8332  	// Name of the domain you've associated a package with.
  8333  	DomainName *string `min:"3" type:"string"`
  8334  
  8335  	// State of the association. Values are ASSOCIATING/ASSOCIATION_FAILED/ACTIVE/DISSOCIATING/DISSOCIATION_FAILED.
  8336  	DomainPackageStatus *string `type:"string" enum:"DomainPackageStatus"`
  8337  
  8338  	// Additional information if the package is in an error state. Null otherwise.
  8339  	ErrorDetails *ErrorDetails `type:"structure"`
  8340  
  8341  	// Timestamp of the most-recent update to the association status.
  8342  	LastUpdated *time.Time `type:"timestamp"`
  8343  
  8344  	// Internal ID of the package.
  8345  	PackageID *string `type:"string"`
  8346  
  8347  	// User specified name of the package.
  8348  	PackageName *string `min:"3" type:"string"`
  8349  
  8350  	// Currently supports only TXT-DICTIONARY.
  8351  	PackageType *string `type:"string" enum:"PackageType"`
  8352  
  8353  	PackageVersion *string `type:"string"`
  8354  
  8355  	// The relative path on Amazon ES nodes, which can be used as synonym_path when
  8356  	// the package is synonym file.
  8357  	ReferencePath *string `type:"string"`
  8358  }
  8359  
  8360  // String returns the string representation.
  8361  //
  8362  // API parameter values that are decorated as "sensitive" in the API will not
  8363  // be included in the string output. The member name will be present, but the
  8364  // value will be replaced with "sensitive".
  8365  func (s DomainPackageDetails) String() string {
  8366  	return awsutil.Prettify(s)
  8367  }
  8368  
  8369  // GoString 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 DomainPackageDetails) GoString() string {
  8375  	return s.String()
  8376  }
  8377  
  8378  // SetDomainName sets the DomainName field's value.
  8379  func (s *DomainPackageDetails) SetDomainName(v string) *DomainPackageDetails {
  8380  	s.DomainName = &v
  8381  	return s
  8382  }
  8383  
  8384  // SetDomainPackageStatus sets the DomainPackageStatus field's value.
  8385  func (s *DomainPackageDetails) SetDomainPackageStatus(v string) *DomainPackageDetails {
  8386  	s.DomainPackageStatus = &v
  8387  	return s
  8388  }
  8389  
  8390  // SetErrorDetails sets the ErrorDetails field's value.
  8391  func (s *DomainPackageDetails) SetErrorDetails(v *ErrorDetails) *DomainPackageDetails {
  8392  	s.ErrorDetails = v
  8393  	return s
  8394  }
  8395  
  8396  // SetLastUpdated sets the LastUpdated field's value.
  8397  func (s *DomainPackageDetails) SetLastUpdated(v time.Time) *DomainPackageDetails {
  8398  	s.LastUpdated = &v
  8399  	return s
  8400  }
  8401  
  8402  // SetPackageID sets the PackageID field's value.
  8403  func (s *DomainPackageDetails) SetPackageID(v string) *DomainPackageDetails {
  8404  	s.PackageID = &v
  8405  	return s
  8406  }
  8407  
  8408  // SetPackageName sets the PackageName field's value.
  8409  func (s *DomainPackageDetails) SetPackageName(v string) *DomainPackageDetails {
  8410  	s.PackageName = &v
  8411  	return s
  8412  }
  8413  
  8414  // SetPackageType sets the PackageType field's value.
  8415  func (s *DomainPackageDetails) SetPackageType(v string) *DomainPackageDetails {
  8416  	s.PackageType = &v
  8417  	return s
  8418  }
  8419  
  8420  // SetPackageVersion sets the PackageVersion field's value.
  8421  func (s *DomainPackageDetails) SetPackageVersion(v string) *DomainPackageDetails {
  8422  	s.PackageVersion = &v
  8423  	return s
  8424  }
  8425  
  8426  // SetReferencePath sets the ReferencePath field's value.
  8427  func (s *DomainPackageDetails) SetReferencePath(v string) *DomainPackageDetails {
  8428  	s.ReferencePath = &v
  8429  	return s
  8430  }
  8431  
  8432  // Specifies maintenance schedule duration: duration value and duration unit.
  8433  // See the Developer Guide (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/auto-tune.html)
  8434  // for more information.
  8435  type Duration struct {
  8436  	_ struct{} `type:"structure"`
  8437  
  8438  	// Specifies the unit of a maintenance schedule duration. Valid value is HOURS.
  8439  	// See the Developer Guide (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/auto-tune.html)
  8440  	// for more information.
  8441  	Unit *string `type:"string" enum:"TimeUnit"`
  8442  
  8443  	// Integer to specify the value of a maintenance schedule duration. See the
  8444  	// Developer Guide (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/auto-tune.html)
  8445  	// for more information.
  8446  	Value *int64 `min:"1" type:"long"`
  8447  }
  8448  
  8449  // String returns the string representation.
  8450  //
  8451  // API parameter values that are decorated as "sensitive" in the API will not
  8452  // be included in the string output. The member name will be present, but the
  8453  // value will be replaced with "sensitive".
  8454  func (s Duration) String() string {
  8455  	return awsutil.Prettify(s)
  8456  }
  8457  
  8458  // GoString returns the string representation.
  8459  //
  8460  // API parameter values that are decorated as "sensitive" in the API will not
  8461  // be included in the string output. The member name will be present, but the
  8462  // value will be replaced with "sensitive".
  8463  func (s Duration) GoString() string {
  8464  	return s.String()
  8465  }
  8466  
  8467  // Validate inspects the fields of the type to determine if they are valid.
  8468  func (s *Duration) Validate() error {
  8469  	invalidParams := request.ErrInvalidParams{Context: "Duration"}
  8470  	if s.Value != nil && *s.Value < 1 {
  8471  		invalidParams.Add(request.NewErrParamMinValue("Value", 1))
  8472  	}
  8473  
  8474  	if invalidParams.Len() > 0 {
  8475  		return invalidParams
  8476  	}
  8477  	return nil
  8478  }
  8479  
  8480  // SetUnit sets the Unit field's value.
  8481  func (s *Duration) SetUnit(v string) *Duration {
  8482  	s.Unit = &v
  8483  	return s
  8484  }
  8485  
  8486  // SetValue sets the Value field's value.
  8487  func (s *Duration) SetValue(v int64) *Duration {
  8488  	s.Value = &v
  8489  	return s
  8490  }
  8491  
  8492  // Options to enable, disable, and specify the properties of EBS storage volumes.
  8493  // For more information, see Configuring EBS-based Storage (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomain-configure-ebs).
  8494  type EBSOptions struct {
  8495  	_ struct{} `type:"structure"`
  8496  
  8497  	// Specifies whether EBS-based storage is enabled.
  8498  	EBSEnabled *bool `type:"boolean"`
  8499  
  8500  	// Specifies the IOPD for a Provisioned IOPS EBS volume (SSD).
  8501  	Iops *int64 `type:"integer"`
  8502  
  8503  	// Integer to specify the size of an EBS volume.
  8504  	VolumeSize *int64 `type:"integer"`
  8505  
  8506  	// Specifies the volume type for EBS-based storage.
  8507  	VolumeType *string `type:"string" enum:"VolumeType"`
  8508  }
  8509  
  8510  // String returns the string representation.
  8511  //
  8512  // API parameter values that are decorated as "sensitive" in the API will not
  8513  // be included in the string output. The member name will be present, but the
  8514  // value will be replaced with "sensitive".
  8515  func (s EBSOptions) String() string {
  8516  	return awsutil.Prettify(s)
  8517  }
  8518  
  8519  // GoString returns the string representation.
  8520  //
  8521  // API parameter values that are decorated as "sensitive" in the API will not
  8522  // be included in the string output. The member name will be present, but the
  8523  // value will be replaced with "sensitive".
  8524  func (s EBSOptions) GoString() string {
  8525  	return s.String()
  8526  }
  8527  
  8528  // SetEBSEnabled sets the EBSEnabled field's value.
  8529  func (s *EBSOptions) SetEBSEnabled(v bool) *EBSOptions {
  8530  	s.EBSEnabled = &v
  8531  	return s
  8532  }
  8533  
  8534  // SetIops sets the Iops field's value.
  8535  func (s *EBSOptions) SetIops(v int64) *EBSOptions {
  8536  	s.Iops = &v
  8537  	return s
  8538  }
  8539  
  8540  // SetVolumeSize sets the VolumeSize field's value.
  8541  func (s *EBSOptions) SetVolumeSize(v int64) *EBSOptions {
  8542  	s.VolumeSize = &v
  8543  	return s
  8544  }
  8545  
  8546  // SetVolumeType sets the VolumeType field's value.
  8547  func (s *EBSOptions) SetVolumeType(v string) *EBSOptions {
  8548  	s.VolumeType = &v
  8549  	return s
  8550  }
  8551  
  8552  // Status of the EBS options for the specified Elasticsearch domain.
  8553  type EBSOptionsStatus struct {
  8554  	_ struct{} `type:"structure"`
  8555  
  8556  	// Specifies the EBS options for the specified Elasticsearch domain.
  8557  	//
  8558  	// Options is a required field
  8559  	Options *EBSOptions `type:"structure" required:"true"`
  8560  
  8561  	// Specifies the status of the EBS options for the specified Elasticsearch domain.
  8562  	//
  8563  	// Status is a required field
  8564  	Status *OptionStatus `type:"structure" required:"true"`
  8565  }
  8566  
  8567  // String returns the string representation.
  8568  //
  8569  // API parameter values that are decorated as "sensitive" in the API will not
  8570  // be included in the string output. The member name will be present, but the
  8571  // value will be replaced with "sensitive".
  8572  func (s EBSOptionsStatus) String() string {
  8573  	return awsutil.Prettify(s)
  8574  }
  8575  
  8576  // GoString returns the string representation.
  8577  //
  8578  // API parameter values that are decorated as "sensitive" in the API will not
  8579  // be included in the string output. The member name will be present, but the
  8580  // value will be replaced with "sensitive".
  8581  func (s EBSOptionsStatus) GoString() string {
  8582  	return s.String()
  8583  }
  8584  
  8585  // SetOptions sets the Options field's value.
  8586  func (s *EBSOptionsStatus) SetOptions(v *EBSOptions) *EBSOptionsStatus {
  8587  	s.Options = v
  8588  	return s
  8589  }
  8590  
  8591  // SetStatus sets the Status field's value.
  8592  func (s *EBSOptionsStatus) SetStatus(v *OptionStatus) *EBSOptionsStatus {
  8593  	s.Status = v
  8594  	return s
  8595  }
  8596  
  8597  // Specifies the configuration for the domain cluster, such as the type and
  8598  // number of instances.
  8599  type ElasticsearchClusterConfig struct {
  8600  	_ struct{} `type:"structure"`
  8601  
  8602  	// Specifies the ColdStorageOptions config for Elasticsearch Domain
  8603  	ColdStorageOptions *ColdStorageOptions `type:"structure"`
  8604  
  8605  	// Total number of dedicated master nodes, active and on standby, for the cluster.
  8606  	DedicatedMasterCount *int64 `type:"integer"`
  8607  
  8608  	// A boolean value to indicate whether a dedicated master node is enabled. See
  8609  	// About Dedicated Master Nodes (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-managedomains.html#es-managedomains-dedicatedmasternodes)
  8610  	// for more information.
  8611  	DedicatedMasterEnabled *bool `type:"boolean"`
  8612  
  8613  	// The instance type for a dedicated master node.
  8614  	DedicatedMasterType *string `type:"string" enum:"ESPartitionInstanceType"`
  8615  
  8616  	// The number of instances in the specified domain cluster.
  8617  	InstanceCount *int64 `type:"integer"`
  8618  
  8619  	// The instance type for an Elasticsearch cluster. UltraWarm instance types
  8620  	// are not supported for data instances.
  8621  	InstanceType *string `type:"string" enum:"ESPartitionInstanceType"`
  8622  
  8623  	// The number of warm nodes in the cluster.
  8624  	WarmCount *int64 `type:"integer"`
  8625  
  8626  	// True to enable warm storage.
  8627  	WarmEnabled *bool `type:"boolean"`
  8628  
  8629  	// The instance type for the Elasticsearch cluster's warm nodes.
  8630  	WarmType *string `type:"string" enum:"ESWarmPartitionInstanceType"`
  8631  
  8632  	// Specifies the zone awareness configuration for a domain when zone awareness
  8633  	// is enabled.
  8634  	ZoneAwarenessConfig *ZoneAwarenessConfig `type:"structure"`
  8635  
  8636  	// A boolean value to indicate whether zone awareness is enabled. See About
  8637  	// Zone Awareness (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-managedomains.html#es-managedomains-zoneawareness)
  8638  	// for more information.
  8639  	ZoneAwarenessEnabled *bool `type:"boolean"`
  8640  }
  8641  
  8642  // String returns the string representation.
  8643  //
  8644  // API parameter values that are decorated as "sensitive" in the API will not
  8645  // be included in the string output. The member name will be present, but the
  8646  // value will be replaced with "sensitive".
  8647  func (s ElasticsearchClusterConfig) String() string {
  8648  	return awsutil.Prettify(s)
  8649  }
  8650  
  8651  // GoString returns the string representation.
  8652  //
  8653  // API parameter values that are decorated as "sensitive" in the API will not
  8654  // be included in the string output. The member name will be present, but the
  8655  // value will be replaced with "sensitive".
  8656  func (s ElasticsearchClusterConfig) GoString() string {
  8657  	return s.String()
  8658  }
  8659  
  8660  // Validate inspects the fields of the type to determine if they are valid.
  8661  func (s *ElasticsearchClusterConfig) Validate() error {
  8662  	invalidParams := request.ErrInvalidParams{Context: "ElasticsearchClusterConfig"}
  8663  	if s.ColdStorageOptions != nil {
  8664  		if err := s.ColdStorageOptions.Validate(); err != nil {
  8665  			invalidParams.AddNested("ColdStorageOptions", err.(request.ErrInvalidParams))
  8666  		}
  8667  	}
  8668  
  8669  	if invalidParams.Len() > 0 {
  8670  		return invalidParams
  8671  	}
  8672  	return nil
  8673  }
  8674  
  8675  // SetColdStorageOptions sets the ColdStorageOptions field's value.
  8676  func (s *ElasticsearchClusterConfig) SetColdStorageOptions(v *ColdStorageOptions) *ElasticsearchClusterConfig {
  8677  	s.ColdStorageOptions = v
  8678  	return s
  8679  }
  8680  
  8681  // SetDedicatedMasterCount sets the DedicatedMasterCount field's value.
  8682  func (s *ElasticsearchClusterConfig) SetDedicatedMasterCount(v int64) *ElasticsearchClusterConfig {
  8683  	s.DedicatedMasterCount = &v
  8684  	return s
  8685  }
  8686  
  8687  // SetDedicatedMasterEnabled sets the DedicatedMasterEnabled field's value.
  8688  func (s *ElasticsearchClusterConfig) SetDedicatedMasterEnabled(v bool) *ElasticsearchClusterConfig {
  8689  	s.DedicatedMasterEnabled = &v
  8690  	return s
  8691  }
  8692  
  8693  // SetDedicatedMasterType sets the DedicatedMasterType field's value.
  8694  func (s *ElasticsearchClusterConfig) SetDedicatedMasterType(v string) *ElasticsearchClusterConfig {
  8695  	s.DedicatedMasterType = &v
  8696  	return s
  8697  }
  8698  
  8699  // SetInstanceCount sets the InstanceCount field's value.
  8700  func (s *ElasticsearchClusterConfig) SetInstanceCount(v int64) *ElasticsearchClusterConfig {
  8701  	s.InstanceCount = &v
  8702  	return s
  8703  }
  8704  
  8705  // SetInstanceType sets the InstanceType field's value.
  8706  func (s *ElasticsearchClusterConfig) SetInstanceType(v string) *ElasticsearchClusterConfig {
  8707  	s.InstanceType = &v
  8708  	return s
  8709  }
  8710  
  8711  // SetWarmCount sets the WarmCount field's value.
  8712  func (s *ElasticsearchClusterConfig) SetWarmCount(v int64) *ElasticsearchClusterConfig {
  8713  	s.WarmCount = &v
  8714  	return s
  8715  }
  8716  
  8717  // SetWarmEnabled sets the WarmEnabled field's value.
  8718  func (s *ElasticsearchClusterConfig) SetWarmEnabled(v bool) *ElasticsearchClusterConfig {
  8719  	s.WarmEnabled = &v
  8720  	return s
  8721  }
  8722  
  8723  // SetWarmType sets the WarmType field's value.
  8724  func (s *ElasticsearchClusterConfig) SetWarmType(v string) *ElasticsearchClusterConfig {
  8725  	s.WarmType = &v
  8726  	return s
  8727  }
  8728  
  8729  // SetZoneAwarenessConfig sets the ZoneAwarenessConfig field's value.
  8730  func (s *ElasticsearchClusterConfig) SetZoneAwarenessConfig(v *ZoneAwarenessConfig) *ElasticsearchClusterConfig {
  8731  	s.ZoneAwarenessConfig = v
  8732  	return s
  8733  }
  8734  
  8735  // SetZoneAwarenessEnabled sets the ZoneAwarenessEnabled field's value.
  8736  func (s *ElasticsearchClusterConfig) SetZoneAwarenessEnabled(v bool) *ElasticsearchClusterConfig {
  8737  	s.ZoneAwarenessEnabled = &v
  8738  	return s
  8739  }
  8740  
  8741  // Specifies the configuration status for the specified Elasticsearch domain.
  8742  type ElasticsearchClusterConfigStatus struct {
  8743  	_ struct{} `type:"structure"`
  8744  
  8745  	// Specifies the cluster configuration for the specified Elasticsearch domain.
  8746  	//
  8747  	// Options is a required field
  8748  	Options *ElasticsearchClusterConfig `type:"structure" required:"true"`
  8749  
  8750  	// Specifies the status of the configuration for the specified Elasticsearch
  8751  	// domain.
  8752  	//
  8753  	// Status is a required field
  8754  	Status *OptionStatus `type:"structure" required:"true"`
  8755  }
  8756  
  8757  // String returns the string representation.
  8758  //
  8759  // API parameter values that are decorated as "sensitive" in the API will not
  8760  // be included in the string output. The member name will be present, but the
  8761  // value will be replaced with "sensitive".
  8762  func (s ElasticsearchClusterConfigStatus) String() string {
  8763  	return awsutil.Prettify(s)
  8764  }
  8765  
  8766  // GoString returns the string representation.
  8767  //
  8768  // API parameter values that are decorated as "sensitive" in the API will not
  8769  // be included in the string output. The member name will be present, but the
  8770  // value will be replaced with "sensitive".
  8771  func (s ElasticsearchClusterConfigStatus) GoString() string {
  8772  	return s.String()
  8773  }
  8774  
  8775  // SetOptions sets the Options field's value.
  8776  func (s *ElasticsearchClusterConfigStatus) SetOptions(v *ElasticsearchClusterConfig) *ElasticsearchClusterConfigStatus {
  8777  	s.Options = v
  8778  	return s
  8779  }
  8780  
  8781  // SetStatus sets the Status field's value.
  8782  func (s *ElasticsearchClusterConfigStatus) SetStatus(v *OptionStatus) *ElasticsearchClusterConfigStatus {
  8783  	s.Status = v
  8784  	return s
  8785  }
  8786  
  8787  // The configuration of an Elasticsearch domain.
  8788  type ElasticsearchDomainConfig struct {
  8789  	_ struct{} `type:"structure"`
  8790  
  8791  	// IAM access policy as a JSON-formatted string.
  8792  	AccessPolicies *AccessPoliciesStatus `type:"structure"`
  8793  
  8794  	// Specifies the AdvancedOptions for the domain. See Configuring Advanced Options
  8795  	// (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomain-configure-advanced-options)
  8796  	// for more information.
  8797  	AdvancedOptions *AdvancedOptionsStatus `type:"structure"`
  8798  
  8799  	// Specifies AdvancedSecurityOptions for the domain.
  8800  	AdvancedSecurityOptions *AdvancedSecurityOptionsStatus `type:"structure"`
  8801  
  8802  	// Specifies AutoTuneOptions for the domain.
  8803  	AutoTuneOptions *AutoTuneOptionsStatus `type:"structure"`
  8804  
  8805  	// The CognitoOptions for the specified domain. For more information, see Amazon
  8806  	// Cognito Authentication for Kibana (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-cognito-auth.html).
  8807  	CognitoOptions *CognitoOptionsStatus `type:"structure"`
  8808  
  8809  	// Specifies the DomainEndpointOptions for the Elasticsearch domain.
  8810  	DomainEndpointOptions *DomainEndpointOptionsStatus `type:"structure"`
  8811  
  8812  	// Specifies the EBSOptions for the Elasticsearch domain.
  8813  	EBSOptions *EBSOptionsStatus `type:"structure"`
  8814  
  8815  	// Specifies the ElasticsearchClusterConfig for the Elasticsearch domain.
  8816  	ElasticsearchClusterConfig *ElasticsearchClusterConfigStatus `type:"structure"`
  8817  
  8818  	// String of format X.Y to specify version for the Elasticsearch domain.
  8819  	ElasticsearchVersion *ElasticsearchVersionStatus `type:"structure"`
  8820  
  8821  	// Specifies the EncryptionAtRestOptions for the Elasticsearch domain.
  8822  	EncryptionAtRestOptions *EncryptionAtRestOptionsStatus `type:"structure"`
  8823  
  8824  	// Log publishing options for the given domain.
  8825  	LogPublishingOptions *LogPublishingOptionsStatus `type:"structure"`
  8826  
  8827  	// Specifies the NodeToNodeEncryptionOptions for the Elasticsearch domain.
  8828  	NodeToNodeEncryptionOptions *NodeToNodeEncryptionOptionsStatus `type:"structure"`
  8829  
  8830  	// Specifies the SnapshotOptions for the Elasticsearch domain.
  8831  	SnapshotOptions *SnapshotOptionsStatus `type:"structure"`
  8832  
  8833  	// The VPCOptions for the specified domain. For more information, see VPC Endpoints
  8834  	// for Amazon Elasticsearch Service Domains (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-vpc.html).
  8835  	VPCOptions *VPCDerivedInfoStatus `type:"structure"`
  8836  }
  8837  
  8838  // String returns the string representation.
  8839  //
  8840  // API parameter values that are decorated as "sensitive" in the API will not
  8841  // be included in the string output. The member name will be present, but the
  8842  // value will be replaced with "sensitive".
  8843  func (s ElasticsearchDomainConfig) String() string {
  8844  	return awsutil.Prettify(s)
  8845  }
  8846  
  8847  // GoString returns the string representation.
  8848  //
  8849  // API parameter values that are decorated as "sensitive" in the API will not
  8850  // be included in the string output. The member name will be present, but the
  8851  // value will be replaced with "sensitive".
  8852  func (s ElasticsearchDomainConfig) GoString() string {
  8853  	return s.String()
  8854  }
  8855  
  8856  // SetAccessPolicies sets the AccessPolicies field's value.
  8857  func (s *ElasticsearchDomainConfig) SetAccessPolicies(v *AccessPoliciesStatus) *ElasticsearchDomainConfig {
  8858  	s.AccessPolicies = v
  8859  	return s
  8860  }
  8861  
  8862  // SetAdvancedOptions sets the AdvancedOptions field's value.
  8863  func (s *ElasticsearchDomainConfig) SetAdvancedOptions(v *AdvancedOptionsStatus) *ElasticsearchDomainConfig {
  8864  	s.AdvancedOptions = v
  8865  	return s
  8866  }
  8867  
  8868  // SetAdvancedSecurityOptions sets the AdvancedSecurityOptions field's value.
  8869  func (s *ElasticsearchDomainConfig) SetAdvancedSecurityOptions(v *AdvancedSecurityOptionsStatus) *ElasticsearchDomainConfig {
  8870  	s.AdvancedSecurityOptions = v
  8871  	return s
  8872  }
  8873  
  8874  // SetAutoTuneOptions sets the AutoTuneOptions field's value.
  8875  func (s *ElasticsearchDomainConfig) SetAutoTuneOptions(v *AutoTuneOptionsStatus) *ElasticsearchDomainConfig {
  8876  	s.AutoTuneOptions = v
  8877  	return s
  8878  }
  8879  
  8880  // SetCognitoOptions sets the CognitoOptions field's value.
  8881  func (s *ElasticsearchDomainConfig) SetCognitoOptions(v *CognitoOptionsStatus) *ElasticsearchDomainConfig {
  8882  	s.CognitoOptions = v
  8883  	return s
  8884  }
  8885  
  8886  // SetDomainEndpointOptions sets the DomainEndpointOptions field's value.
  8887  func (s *ElasticsearchDomainConfig) SetDomainEndpointOptions(v *DomainEndpointOptionsStatus) *ElasticsearchDomainConfig {
  8888  	s.DomainEndpointOptions = v
  8889  	return s
  8890  }
  8891  
  8892  // SetEBSOptions sets the EBSOptions field's value.
  8893  func (s *ElasticsearchDomainConfig) SetEBSOptions(v *EBSOptionsStatus) *ElasticsearchDomainConfig {
  8894  	s.EBSOptions = v
  8895  	return s
  8896  }
  8897  
  8898  // SetElasticsearchClusterConfig sets the ElasticsearchClusterConfig field's value.
  8899  func (s *ElasticsearchDomainConfig) SetElasticsearchClusterConfig(v *ElasticsearchClusterConfigStatus) *ElasticsearchDomainConfig {
  8900  	s.ElasticsearchClusterConfig = v
  8901  	return s
  8902  }
  8903  
  8904  // SetElasticsearchVersion sets the ElasticsearchVersion field's value.
  8905  func (s *ElasticsearchDomainConfig) SetElasticsearchVersion(v *ElasticsearchVersionStatus) *ElasticsearchDomainConfig {
  8906  	s.ElasticsearchVersion = v
  8907  	return s
  8908  }
  8909  
  8910  // SetEncryptionAtRestOptions sets the EncryptionAtRestOptions field's value.
  8911  func (s *ElasticsearchDomainConfig) SetEncryptionAtRestOptions(v *EncryptionAtRestOptionsStatus) *ElasticsearchDomainConfig {
  8912  	s.EncryptionAtRestOptions = v
  8913  	return s
  8914  }
  8915  
  8916  // SetLogPublishingOptions sets the LogPublishingOptions field's value.
  8917  func (s *ElasticsearchDomainConfig) SetLogPublishingOptions(v *LogPublishingOptionsStatus) *ElasticsearchDomainConfig {
  8918  	s.LogPublishingOptions = v
  8919  	return s
  8920  }
  8921  
  8922  // SetNodeToNodeEncryptionOptions sets the NodeToNodeEncryptionOptions field's value.
  8923  func (s *ElasticsearchDomainConfig) SetNodeToNodeEncryptionOptions(v *NodeToNodeEncryptionOptionsStatus) *ElasticsearchDomainConfig {
  8924  	s.NodeToNodeEncryptionOptions = v
  8925  	return s
  8926  }
  8927  
  8928  // SetSnapshotOptions sets the SnapshotOptions field's value.
  8929  func (s *ElasticsearchDomainConfig) SetSnapshotOptions(v *SnapshotOptionsStatus) *ElasticsearchDomainConfig {
  8930  	s.SnapshotOptions = v
  8931  	return s
  8932  }
  8933  
  8934  // SetVPCOptions sets the VPCOptions field's value.
  8935  func (s *ElasticsearchDomainConfig) SetVPCOptions(v *VPCDerivedInfoStatus) *ElasticsearchDomainConfig {
  8936  	s.VPCOptions = v
  8937  	return s
  8938  }
  8939  
  8940  // The current status of an Elasticsearch domain.
  8941  type ElasticsearchDomainStatus struct {
  8942  	_ struct{} `type:"structure"`
  8943  
  8944  	// The Amazon resource name (ARN) of an Elasticsearch domain. See Identifiers
  8945  	// for IAM Entities (http://docs.aws.amazon.com/IAM/latest/UserGuide/index.html?Using_Identifiers.html)
  8946  	// in Using AWS Identity and Access Management for more information.
  8947  	//
  8948  	// ARN is a required field
  8949  	ARN *string `type:"string" required:"true"`
  8950  
  8951  	// IAM access policy as a JSON-formatted string.
  8952  	AccessPolicies *string `type:"string"`
  8953  
  8954  	// Specifies the status of the AdvancedOptions
  8955  	AdvancedOptions map[string]*string `type:"map"`
  8956  
  8957  	// The current status of the Elasticsearch domain's advanced security options.
  8958  	AdvancedSecurityOptions *AdvancedSecurityOptions `type:"structure"`
  8959  
  8960  	// The current status of the Elasticsearch domain's Auto-Tune options.
  8961  	AutoTuneOptions *AutoTuneOptionsOutput `type:"structure"`
  8962  
  8963  	// The CognitoOptions for the specified domain. For more information, see Amazon
  8964  	// Cognito Authentication for Kibana (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-cognito-auth.html).
  8965  	CognitoOptions *CognitoOptions `type:"structure"`
  8966  
  8967  	// The domain creation status. True if the creation of an Elasticsearch domain
  8968  	// is complete. False if domain creation is still in progress.
  8969  	Created *bool `type:"boolean"`
  8970  
  8971  	// The domain deletion status. True if a delete request has been received for
  8972  	// the domain but resource cleanup is still in progress. False if the domain
  8973  	// has not been deleted. Once domain deletion is complete, the status of the
  8974  	// domain is no longer returned.
  8975  	Deleted *bool `type:"boolean"`
  8976  
  8977  	// The current status of the Elasticsearch domain's endpoint options.
  8978  	DomainEndpointOptions *DomainEndpointOptions `type:"structure"`
  8979  
  8980  	// The unique identifier for the specified Elasticsearch domain.
  8981  	//
  8982  	// DomainId is a required field
  8983  	DomainId *string `min:"1" type:"string" required:"true"`
  8984  
  8985  	// The name of an Elasticsearch domain. Domain names are unique across the domains
  8986  	// owned by an account within an AWS region. Domain names start with a letter
  8987  	// or number and can contain the following characters: a-z (lowercase), 0-9,
  8988  	// and - (hyphen).
  8989  	//
  8990  	// DomainName is a required field
  8991  	DomainName *string `min:"3" type:"string" required:"true"`
  8992  
  8993  	// The EBSOptions for the specified domain. See Configuring EBS-based Storage
  8994  	// (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomain-configure-ebs)
  8995  	// for more information.
  8996  	EBSOptions *EBSOptions `type:"structure"`
  8997  
  8998  	// The type and number of instances in the domain cluster.
  8999  	//
  9000  	// ElasticsearchClusterConfig is a required field
  9001  	ElasticsearchClusterConfig *ElasticsearchClusterConfig `type:"structure" required:"true"`
  9002  
  9003  	ElasticsearchVersion *string `type:"string"`
  9004  
  9005  	// Specifies the status of the EncryptionAtRestOptions.
  9006  	EncryptionAtRestOptions *EncryptionAtRestOptions `type:"structure"`
  9007  
  9008  	// The Elasticsearch domain endpoint that you use to submit index and search
  9009  	// requests.
  9010  	Endpoint *string `type:"string"`
  9011  
  9012  	// Map containing the Elasticsearch domain endpoints used to submit index and
  9013  	// search requests. Example key, value: 'vpc','vpc-endpoint-h2dsd34efgyghrtguk5gt6j2foh4.us-east-1.es.amazonaws.com'.
  9014  	Endpoints map[string]*string `type:"map"`
  9015  
  9016  	// Log publishing options for the given domain.
  9017  	LogPublishingOptions map[string]*LogPublishingOption `type:"map"`
  9018  
  9019  	// Specifies the status of the NodeToNodeEncryptionOptions.
  9020  	NodeToNodeEncryptionOptions *NodeToNodeEncryptionOptions `type:"structure"`
  9021  
  9022  	// The status of the Elasticsearch domain configuration. True if Amazon Elasticsearch
  9023  	// Service is processing configuration changes. False if the configuration is
  9024  	// active.
  9025  	Processing *bool `type:"boolean"`
  9026  
  9027  	// The current status of the Elasticsearch domain's service software.
  9028  	ServiceSoftwareOptions *ServiceSoftwareOptions `type:"structure"`
  9029  
  9030  	// Specifies the status of the SnapshotOptions
  9031  	SnapshotOptions *SnapshotOptions `type:"structure"`
  9032  
  9033  	// The status of an Elasticsearch domain version upgrade. True if Amazon Elasticsearch
  9034  	// Service is undergoing a version upgrade. False if the configuration is active.
  9035  	UpgradeProcessing *bool `type:"boolean"`
  9036  
  9037  	// The VPCOptions for the specified domain. For more information, see VPC Endpoints
  9038  	// for Amazon Elasticsearch Service Domains (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-vpc.html).
  9039  	VPCOptions *VPCDerivedInfo `type:"structure"`
  9040  }
  9041  
  9042  // String returns the string representation.
  9043  //
  9044  // API parameter values that are decorated as "sensitive" in the API will not
  9045  // be included in the string output. The member name will be present, but the
  9046  // value will be replaced with "sensitive".
  9047  func (s ElasticsearchDomainStatus) String() string {
  9048  	return awsutil.Prettify(s)
  9049  }
  9050  
  9051  // GoString returns the string representation.
  9052  //
  9053  // API parameter values that are decorated as "sensitive" in the API will not
  9054  // be included in the string output. The member name will be present, but the
  9055  // value will be replaced with "sensitive".
  9056  func (s ElasticsearchDomainStatus) GoString() string {
  9057  	return s.String()
  9058  }
  9059  
  9060  // SetARN sets the ARN field's value.
  9061  func (s *ElasticsearchDomainStatus) SetARN(v string) *ElasticsearchDomainStatus {
  9062  	s.ARN = &v
  9063  	return s
  9064  }
  9065  
  9066  // SetAccessPolicies sets the AccessPolicies field's value.
  9067  func (s *ElasticsearchDomainStatus) SetAccessPolicies(v string) *ElasticsearchDomainStatus {
  9068  	s.AccessPolicies = &v
  9069  	return s
  9070  }
  9071  
  9072  // SetAdvancedOptions sets the AdvancedOptions field's value.
  9073  func (s *ElasticsearchDomainStatus) SetAdvancedOptions(v map[string]*string) *ElasticsearchDomainStatus {
  9074  	s.AdvancedOptions = v
  9075  	return s
  9076  }
  9077  
  9078  // SetAdvancedSecurityOptions sets the AdvancedSecurityOptions field's value.
  9079  func (s *ElasticsearchDomainStatus) SetAdvancedSecurityOptions(v *AdvancedSecurityOptions) *ElasticsearchDomainStatus {
  9080  	s.AdvancedSecurityOptions = v
  9081  	return s
  9082  }
  9083  
  9084  // SetAutoTuneOptions sets the AutoTuneOptions field's value.
  9085  func (s *ElasticsearchDomainStatus) SetAutoTuneOptions(v *AutoTuneOptionsOutput) *ElasticsearchDomainStatus {
  9086  	s.AutoTuneOptions = v
  9087  	return s
  9088  }
  9089  
  9090  // SetCognitoOptions sets the CognitoOptions field's value.
  9091  func (s *ElasticsearchDomainStatus) SetCognitoOptions(v *CognitoOptions) *ElasticsearchDomainStatus {
  9092  	s.CognitoOptions = v
  9093  	return s
  9094  }
  9095  
  9096  // SetCreated sets the Created field's value.
  9097  func (s *ElasticsearchDomainStatus) SetCreated(v bool) *ElasticsearchDomainStatus {
  9098  	s.Created = &v
  9099  	return s
  9100  }
  9101  
  9102  // SetDeleted sets the Deleted field's value.
  9103  func (s *ElasticsearchDomainStatus) SetDeleted(v bool) *ElasticsearchDomainStatus {
  9104  	s.Deleted = &v
  9105  	return s
  9106  }
  9107  
  9108  // SetDomainEndpointOptions sets the DomainEndpointOptions field's value.
  9109  func (s *ElasticsearchDomainStatus) SetDomainEndpointOptions(v *DomainEndpointOptions) *ElasticsearchDomainStatus {
  9110  	s.DomainEndpointOptions = v
  9111  	return s
  9112  }
  9113  
  9114  // SetDomainId sets the DomainId field's value.
  9115  func (s *ElasticsearchDomainStatus) SetDomainId(v string) *ElasticsearchDomainStatus {
  9116  	s.DomainId = &v
  9117  	return s
  9118  }
  9119  
  9120  // SetDomainName sets the DomainName field's value.
  9121  func (s *ElasticsearchDomainStatus) SetDomainName(v string) *ElasticsearchDomainStatus {
  9122  	s.DomainName = &v
  9123  	return s
  9124  }
  9125  
  9126  // SetEBSOptions sets the EBSOptions field's value.
  9127  func (s *ElasticsearchDomainStatus) SetEBSOptions(v *EBSOptions) *ElasticsearchDomainStatus {
  9128  	s.EBSOptions = v
  9129  	return s
  9130  }
  9131  
  9132  // SetElasticsearchClusterConfig sets the ElasticsearchClusterConfig field's value.
  9133  func (s *ElasticsearchDomainStatus) SetElasticsearchClusterConfig(v *ElasticsearchClusterConfig) *ElasticsearchDomainStatus {
  9134  	s.ElasticsearchClusterConfig = v
  9135  	return s
  9136  }
  9137  
  9138  // SetElasticsearchVersion sets the ElasticsearchVersion field's value.
  9139  func (s *ElasticsearchDomainStatus) SetElasticsearchVersion(v string) *ElasticsearchDomainStatus {
  9140  	s.ElasticsearchVersion = &v
  9141  	return s
  9142  }
  9143  
  9144  // SetEncryptionAtRestOptions sets the EncryptionAtRestOptions field's value.
  9145  func (s *ElasticsearchDomainStatus) SetEncryptionAtRestOptions(v *EncryptionAtRestOptions) *ElasticsearchDomainStatus {
  9146  	s.EncryptionAtRestOptions = v
  9147  	return s
  9148  }
  9149  
  9150  // SetEndpoint sets the Endpoint field's value.
  9151  func (s *ElasticsearchDomainStatus) SetEndpoint(v string) *ElasticsearchDomainStatus {
  9152  	s.Endpoint = &v
  9153  	return s
  9154  }
  9155  
  9156  // SetEndpoints sets the Endpoints field's value.
  9157  func (s *ElasticsearchDomainStatus) SetEndpoints(v map[string]*string) *ElasticsearchDomainStatus {
  9158  	s.Endpoints = v
  9159  	return s
  9160  }
  9161  
  9162  // SetLogPublishingOptions sets the LogPublishingOptions field's value.
  9163  func (s *ElasticsearchDomainStatus) SetLogPublishingOptions(v map[string]*LogPublishingOption) *ElasticsearchDomainStatus {
  9164  	s.LogPublishingOptions = v
  9165  	return s
  9166  }
  9167  
  9168  // SetNodeToNodeEncryptionOptions sets the NodeToNodeEncryptionOptions field's value.
  9169  func (s *ElasticsearchDomainStatus) SetNodeToNodeEncryptionOptions(v *NodeToNodeEncryptionOptions) *ElasticsearchDomainStatus {
  9170  	s.NodeToNodeEncryptionOptions = v
  9171  	return s
  9172  }
  9173  
  9174  // SetProcessing sets the Processing field's value.
  9175  func (s *ElasticsearchDomainStatus) SetProcessing(v bool) *ElasticsearchDomainStatus {
  9176  	s.Processing = &v
  9177  	return s
  9178  }
  9179  
  9180  // SetServiceSoftwareOptions sets the ServiceSoftwareOptions field's value.
  9181  func (s *ElasticsearchDomainStatus) SetServiceSoftwareOptions(v *ServiceSoftwareOptions) *ElasticsearchDomainStatus {
  9182  	s.ServiceSoftwareOptions = v
  9183  	return s
  9184  }
  9185  
  9186  // SetSnapshotOptions sets the SnapshotOptions field's value.
  9187  func (s *ElasticsearchDomainStatus) SetSnapshotOptions(v *SnapshotOptions) *ElasticsearchDomainStatus {
  9188  	s.SnapshotOptions = v
  9189  	return s
  9190  }
  9191  
  9192  // SetUpgradeProcessing sets the UpgradeProcessing field's value.
  9193  func (s *ElasticsearchDomainStatus) SetUpgradeProcessing(v bool) *ElasticsearchDomainStatus {
  9194  	s.UpgradeProcessing = &v
  9195  	return s
  9196  }
  9197  
  9198  // SetVPCOptions sets the VPCOptions field's value.
  9199  func (s *ElasticsearchDomainStatus) SetVPCOptions(v *VPCDerivedInfo) *ElasticsearchDomainStatus {
  9200  	s.VPCOptions = v
  9201  	return s
  9202  }
  9203  
  9204  // Status of the Elasticsearch version options for the specified Elasticsearch
  9205  // domain.
  9206  type ElasticsearchVersionStatus struct {
  9207  	_ struct{} `type:"structure"`
  9208  
  9209  	// Specifies the Elasticsearch version for the specified Elasticsearch domain.
  9210  	//
  9211  	// Options is a required field
  9212  	Options *string `type:"string" required:"true"`
  9213  
  9214  	// Specifies the status of the Elasticsearch version options for the specified
  9215  	// Elasticsearch domain.
  9216  	//
  9217  	// Status is a required field
  9218  	Status *OptionStatus `type:"structure" required:"true"`
  9219  }
  9220  
  9221  // String returns the string representation.
  9222  //
  9223  // API parameter values that are decorated as "sensitive" in the API will not
  9224  // be included in the string output. The member name will be present, but the
  9225  // value will be replaced with "sensitive".
  9226  func (s ElasticsearchVersionStatus) String() string {
  9227  	return awsutil.Prettify(s)
  9228  }
  9229  
  9230  // GoString returns the string representation.
  9231  //
  9232  // API parameter values that are decorated as "sensitive" in the API will not
  9233  // be included in the string output. The member name will be present, but the
  9234  // value will be replaced with "sensitive".
  9235  func (s ElasticsearchVersionStatus) GoString() string {
  9236  	return s.String()
  9237  }
  9238  
  9239  // SetOptions sets the Options field's value.
  9240  func (s *ElasticsearchVersionStatus) SetOptions(v string) *ElasticsearchVersionStatus {
  9241  	s.Options = &v
  9242  	return s
  9243  }
  9244  
  9245  // SetStatus sets the Status field's value.
  9246  func (s *ElasticsearchVersionStatus) SetStatus(v *OptionStatus) *ElasticsearchVersionStatus {
  9247  	s.Status = v
  9248  	return s
  9249  }
  9250  
  9251  // Specifies the Encryption At Rest Options.
  9252  type EncryptionAtRestOptions struct {
  9253  	_ struct{} `type:"structure"`
  9254  
  9255  	// Specifies the option to enable Encryption At Rest.
  9256  	Enabled *bool `type:"boolean"`
  9257  
  9258  	// Specifies the KMS Key ID for Encryption At Rest options.
  9259  	KmsKeyId *string `min:"1" type:"string"`
  9260  }
  9261  
  9262  // String returns the string representation.
  9263  //
  9264  // API parameter values that are decorated as "sensitive" in the API will not
  9265  // be included in the string output. The member name will be present, but the
  9266  // value will be replaced with "sensitive".
  9267  func (s EncryptionAtRestOptions) String() string {
  9268  	return awsutil.Prettify(s)
  9269  }
  9270  
  9271  // GoString returns the string representation.
  9272  //
  9273  // API parameter values that are decorated as "sensitive" in the API will not
  9274  // be included in the string output. The member name will be present, but the
  9275  // value will be replaced with "sensitive".
  9276  func (s EncryptionAtRestOptions) GoString() string {
  9277  	return s.String()
  9278  }
  9279  
  9280  // Validate inspects the fields of the type to determine if they are valid.
  9281  func (s *EncryptionAtRestOptions) Validate() error {
  9282  	invalidParams := request.ErrInvalidParams{Context: "EncryptionAtRestOptions"}
  9283  	if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 {
  9284  		invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1))
  9285  	}
  9286  
  9287  	if invalidParams.Len() > 0 {
  9288  		return invalidParams
  9289  	}
  9290  	return nil
  9291  }
  9292  
  9293  // SetEnabled sets the Enabled field's value.
  9294  func (s *EncryptionAtRestOptions) SetEnabled(v bool) *EncryptionAtRestOptions {
  9295  	s.Enabled = &v
  9296  	return s
  9297  }
  9298  
  9299  // SetKmsKeyId sets the KmsKeyId field's value.
  9300  func (s *EncryptionAtRestOptions) SetKmsKeyId(v string) *EncryptionAtRestOptions {
  9301  	s.KmsKeyId = &v
  9302  	return s
  9303  }
  9304  
  9305  // Status of the Encryption At Rest options for the specified Elasticsearch
  9306  // domain.
  9307  type EncryptionAtRestOptionsStatus struct {
  9308  	_ struct{} `type:"structure"`
  9309  
  9310  	// Specifies the Encryption At Rest options for the specified Elasticsearch
  9311  	// domain.
  9312  	//
  9313  	// Options is a required field
  9314  	Options *EncryptionAtRestOptions `type:"structure" required:"true"`
  9315  
  9316  	// Specifies the status of the Encryption At Rest options for the specified
  9317  	// Elasticsearch domain.
  9318  	//
  9319  	// Status is a required field
  9320  	Status *OptionStatus `type:"structure" required:"true"`
  9321  }
  9322  
  9323  // String returns the string representation.
  9324  //
  9325  // API parameter values that are decorated as "sensitive" in the API will not
  9326  // be included in the string output. The member name will be present, but the
  9327  // value will be replaced with "sensitive".
  9328  func (s EncryptionAtRestOptionsStatus) String() string {
  9329  	return awsutil.Prettify(s)
  9330  }
  9331  
  9332  // GoString returns the string representation.
  9333  //
  9334  // API parameter values that are decorated as "sensitive" in the API will not
  9335  // be included in the string output. The member name will be present, but the
  9336  // value will be replaced with "sensitive".
  9337  func (s EncryptionAtRestOptionsStatus) GoString() string {
  9338  	return s.String()
  9339  }
  9340  
  9341  // SetOptions sets the Options field's value.
  9342  func (s *EncryptionAtRestOptionsStatus) SetOptions(v *EncryptionAtRestOptions) *EncryptionAtRestOptionsStatus {
  9343  	s.Options = v
  9344  	return s
  9345  }
  9346  
  9347  // SetStatus sets the Status field's value.
  9348  func (s *EncryptionAtRestOptionsStatus) SetStatus(v *OptionStatus) *EncryptionAtRestOptionsStatus {
  9349  	s.Status = v
  9350  	return s
  9351  }
  9352  
  9353  type ErrorDetails struct {
  9354  	_ struct{} `type:"structure"`
  9355  
  9356  	ErrorMessage *string `type:"string"`
  9357  
  9358  	ErrorType *string `type:"string"`
  9359  }
  9360  
  9361  // String returns the string representation.
  9362  //
  9363  // API parameter values that are decorated as "sensitive" in the API will not
  9364  // be included in the string output. The member name will be present, but the
  9365  // value will be replaced with "sensitive".
  9366  func (s ErrorDetails) String() string {
  9367  	return awsutil.Prettify(s)
  9368  }
  9369  
  9370  // GoString returns the string representation.
  9371  //
  9372  // API parameter values that are decorated as "sensitive" in the API will not
  9373  // be included in the string output. The member name will be present, but the
  9374  // value will be replaced with "sensitive".
  9375  func (s ErrorDetails) GoString() string {
  9376  	return s.String()
  9377  }
  9378  
  9379  // SetErrorMessage sets the ErrorMessage field's value.
  9380  func (s *ErrorDetails) SetErrorMessage(v string) *ErrorDetails {
  9381  	s.ErrorMessage = &v
  9382  	return s
  9383  }
  9384  
  9385  // SetErrorType sets the ErrorType field's value.
  9386  func (s *ErrorDetails) SetErrorType(v string) *ErrorDetails {
  9387  	s.ErrorType = &v
  9388  	return s
  9389  }
  9390  
  9391  // A filter used to limit results when describing inbound or outbound cross-cluster
  9392  // search connections. Multiple values can be specified per filter. A cross-cluster
  9393  // search connection must match at least one of the specified values for it
  9394  // to be returned from an operation.
  9395  type Filter struct {
  9396  	_ struct{} `type:"structure"`
  9397  
  9398  	// Specifies the name of the filter.
  9399  	Name *string `min:"1" type:"string"`
  9400  
  9401  	// Contains one or more values for the filter.
  9402  	Values []*string `min:"1" type:"list"`
  9403  }
  9404  
  9405  // String returns the string representation.
  9406  //
  9407  // API parameter values that are decorated as "sensitive" in the API will not
  9408  // be included in the string output. The member name will be present, but the
  9409  // value will be replaced with "sensitive".
  9410  func (s Filter) String() string {
  9411  	return awsutil.Prettify(s)
  9412  }
  9413  
  9414  // GoString returns the string representation.
  9415  //
  9416  // API parameter values that are decorated as "sensitive" in the API will not
  9417  // be included in the string output. The member name will be present, but the
  9418  // value will be replaced with "sensitive".
  9419  func (s Filter) GoString() string {
  9420  	return s.String()
  9421  }
  9422  
  9423  // Validate inspects the fields of the type to determine if they are valid.
  9424  func (s *Filter) Validate() error {
  9425  	invalidParams := request.ErrInvalidParams{Context: "Filter"}
  9426  	if s.Name != nil && len(*s.Name) < 1 {
  9427  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  9428  	}
  9429  	if s.Values != nil && len(s.Values) < 1 {
  9430  		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
  9431  	}
  9432  
  9433  	if invalidParams.Len() > 0 {
  9434  		return invalidParams
  9435  	}
  9436  	return nil
  9437  }
  9438  
  9439  // SetName sets the Name field's value.
  9440  func (s *Filter) SetName(v string) *Filter {
  9441  	s.Name = &v
  9442  	return s
  9443  }
  9444  
  9445  // SetValues sets the Values field's value.
  9446  func (s *Filter) SetValues(v []*string) *Filter {
  9447  	s.Values = v
  9448  	return s
  9449  }
  9450  
  9451  // Container for request parameters to GetCompatibleElasticsearchVersions operation.
  9452  type GetCompatibleElasticsearchVersionsInput struct {
  9453  	_ struct{} `type:"structure" nopayload:"true"`
  9454  
  9455  	// The name of an Elasticsearch domain. Domain names are unique across the domains
  9456  	// owned by an account within an AWS region. Domain names start with a letter
  9457  	// or number and can contain the following characters: a-z (lowercase), 0-9,
  9458  	// and - (hyphen).
  9459  	DomainName *string `location:"querystring" locationName:"domainName" min:"3" type:"string"`
  9460  }
  9461  
  9462  // String returns the string representation.
  9463  //
  9464  // API parameter values that are decorated as "sensitive" in the API will not
  9465  // be included in the string output. The member name will be present, but the
  9466  // value will be replaced with "sensitive".
  9467  func (s GetCompatibleElasticsearchVersionsInput) String() string {
  9468  	return awsutil.Prettify(s)
  9469  }
  9470  
  9471  // GoString returns the string representation.
  9472  //
  9473  // API parameter values that are decorated as "sensitive" in the API will not
  9474  // be included in the string output. The member name will be present, but the
  9475  // value will be replaced with "sensitive".
  9476  func (s GetCompatibleElasticsearchVersionsInput) GoString() string {
  9477  	return s.String()
  9478  }
  9479  
  9480  // Validate inspects the fields of the type to determine if they are valid.
  9481  func (s *GetCompatibleElasticsearchVersionsInput) Validate() error {
  9482  	invalidParams := request.ErrInvalidParams{Context: "GetCompatibleElasticsearchVersionsInput"}
  9483  	if s.DomainName != nil && len(*s.DomainName) < 3 {
  9484  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
  9485  	}
  9486  
  9487  	if invalidParams.Len() > 0 {
  9488  		return invalidParams
  9489  	}
  9490  	return nil
  9491  }
  9492  
  9493  // SetDomainName sets the DomainName field's value.
  9494  func (s *GetCompatibleElasticsearchVersionsInput) SetDomainName(v string) *GetCompatibleElasticsearchVersionsInput {
  9495  	s.DomainName = &v
  9496  	return s
  9497  }
  9498  
  9499  // Container for response returned by GetCompatibleElasticsearchVersions operation.
  9500  type GetCompatibleElasticsearchVersionsOutput struct {
  9501  	_ struct{} `type:"structure"`
  9502  
  9503  	// A map of compatible Elasticsearch versions returned as part of the GetCompatibleElasticsearchVersions
  9504  	// operation.
  9505  	CompatibleElasticsearchVersions []*CompatibleVersionsMap `type:"list"`
  9506  }
  9507  
  9508  // String returns the string representation.
  9509  //
  9510  // API parameter values that are decorated as "sensitive" in the API will not
  9511  // be included in the string output. The member name will be present, but the
  9512  // value will be replaced with "sensitive".
  9513  func (s GetCompatibleElasticsearchVersionsOutput) String() string {
  9514  	return awsutil.Prettify(s)
  9515  }
  9516  
  9517  // GoString returns the string representation.
  9518  //
  9519  // API parameter values that are decorated as "sensitive" in the API will not
  9520  // be included in the string output. The member name will be present, but the
  9521  // value will be replaced with "sensitive".
  9522  func (s GetCompatibleElasticsearchVersionsOutput) GoString() string {
  9523  	return s.String()
  9524  }
  9525  
  9526  // SetCompatibleElasticsearchVersions sets the CompatibleElasticsearchVersions field's value.
  9527  func (s *GetCompatibleElasticsearchVersionsOutput) SetCompatibleElasticsearchVersions(v []*CompatibleVersionsMap) *GetCompatibleElasticsearchVersionsOutput {
  9528  	s.CompatibleElasticsearchVersions = v
  9529  	return s
  9530  }
  9531  
  9532  // Container for request parameters to GetPackageVersionHistory operation.
  9533  type GetPackageVersionHistoryInput struct {
  9534  	_ struct{} `type:"structure" nopayload:"true"`
  9535  
  9536  	// Limits results to a maximum number of versions.
  9537  	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
  9538  
  9539  	// Used for pagination. Only necessary if a previous API call includes a non-null
  9540  	// NextToken value. If provided, returns results for the next page.
  9541  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
  9542  
  9543  	// Returns an audit history of versions of the package.
  9544  	//
  9545  	// PackageID is a required field
  9546  	PackageID *string `location:"uri" locationName:"PackageID" type:"string" required:"true"`
  9547  }
  9548  
  9549  // String returns the string representation.
  9550  //
  9551  // API parameter values that are decorated as "sensitive" in the API will not
  9552  // be included in the string output. The member name will be present, but the
  9553  // value will be replaced with "sensitive".
  9554  func (s GetPackageVersionHistoryInput) String() string {
  9555  	return awsutil.Prettify(s)
  9556  }
  9557  
  9558  // GoString returns the string representation.
  9559  //
  9560  // API parameter values that are decorated as "sensitive" in the API will not
  9561  // be included in the string output. The member name will be present, but the
  9562  // value will be replaced with "sensitive".
  9563  func (s GetPackageVersionHistoryInput) GoString() string {
  9564  	return s.String()
  9565  }
  9566  
  9567  // Validate inspects the fields of the type to determine if they are valid.
  9568  func (s *GetPackageVersionHistoryInput) Validate() error {
  9569  	invalidParams := request.ErrInvalidParams{Context: "GetPackageVersionHistoryInput"}
  9570  	if s.PackageID == nil {
  9571  		invalidParams.Add(request.NewErrParamRequired("PackageID"))
  9572  	}
  9573  	if s.PackageID != nil && len(*s.PackageID) < 1 {
  9574  		invalidParams.Add(request.NewErrParamMinLen("PackageID", 1))
  9575  	}
  9576  
  9577  	if invalidParams.Len() > 0 {
  9578  		return invalidParams
  9579  	}
  9580  	return nil
  9581  }
  9582  
  9583  // SetMaxResults sets the MaxResults field's value.
  9584  func (s *GetPackageVersionHistoryInput) SetMaxResults(v int64) *GetPackageVersionHistoryInput {
  9585  	s.MaxResults = &v
  9586  	return s
  9587  }
  9588  
  9589  // SetNextToken sets the NextToken field's value.
  9590  func (s *GetPackageVersionHistoryInput) SetNextToken(v string) *GetPackageVersionHistoryInput {
  9591  	s.NextToken = &v
  9592  	return s
  9593  }
  9594  
  9595  // SetPackageID sets the PackageID field's value.
  9596  func (s *GetPackageVersionHistoryInput) SetPackageID(v string) *GetPackageVersionHistoryInput {
  9597  	s.PackageID = &v
  9598  	return s
  9599  }
  9600  
  9601  // Container for response returned by GetPackageVersionHistory operation.
  9602  type GetPackageVersionHistoryOutput struct {
  9603  	_ struct{} `type:"structure"`
  9604  
  9605  	NextToken *string `type:"string"`
  9606  
  9607  	PackageID *string `type:"string"`
  9608  
  9609  	// List of PackageVersionHistory objects.
  9610  	PackageVersionHistoryList []*PackageVersionHistory `type:"list"`
  9611  }
  9612  
  9613  // String returns the string representation.
  9614  //
  9615  // API parameter values that are decorated as "sensitive" in the API will not
  9616  // be included in the string output. The member name will be present, but the
  9617  // value will be replaced with "sensitive".
  9618  func (s GetPackageVersionHistoryOutput) String() string {
  9619  	return awsutil.Prettify(s)
  9620  }
  9621  
  9622  // GoString returns the string representation.
  9623  //
  9624  // API parameter values that are decorated as "sensitive" in the API will not
  9625  // be included in the string output. The member name will be present, but the
  9626  // value will be replaced with "sensitive".
  9627  func (s GetPackageVersionHistoryOutput) GoString() string {
  9628  	return s.String()
  9629  }
  9630  
  9631  // SetNextToken sets the NextToken field's value.
  9632  func (s *GetPackageVersionHistoryOutput) SetNextToken(v string) *GetPackageVersionHistoryOutput {
  9633  	s.NextToken = &v
  9634  	return s
  9635  }
  9636  
  9637  // SetPackageID sets the PackageID field's value.
  9638  func (s *GetPackageVersionHistoryOutput) SetPackageID(v string) *GetPackageVersionHistoryOutput {
  9639  	s.PackageID = &v
  9640  	return s
  9641  }
  9642  
  9643  // SetPackageVersionHistoryList sets the PackageVersionHistoryList field's value.
  9644  func (s *GetPackageVersionHistoryOutput) SetPackageVersionHistoryList(v []*PackageVersionHistory) *GetPackageVersionHistoryOutput {
  9645  	s.PackageVersionHistoryList = v
  9646  	return s
  9647  }
  9648  
  9649  // Container for request parameters to GetUpgradeHistory operation.
  9650  type GetUpgradeHistoryInput struct {
  9651  	_ struct{} `type:"structure" nopayload:"true"`
  9652  
  9653  	// The name of an Elasticsearch domain. Domain names are unique across the domains
  9654  	// owned by an account within an AWS region. Domain names start with a letter
  9655  	// or number and can contain the following characters: a-z (lowercase), 0-9,
  9656  	// and - (hyphen).
  9657  	//
  9658  	// DomainName is a required field
  9659  	DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"`
  9660  
  9661  	// Set this value to limit the number of results returned.
  9662  	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
  9663  
  9664  	// Paginated APIs accepts NextToken input to returns next page results and provides
  9665  	// a NextToken output in the response which can be used by the client to retrieve
  9666  	// more results.
  9667  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
  9668  }
  9669  
  9670  // String returns the string representation.
  9671  //
  9672  // API parameter values that are decorated as "sensitive" in the API will not
  9673  // be included in the string output. The member name will be present, but the
  9674  // value will be replaced with "sensitive".
  9675  func (s GetUpgradeHistoryInput) String() string {
  9676  	return awsutil.Prettify(s)
  9677  }
  9678  
  9679  // GoString returns the string representation.
  9680  //
  9681  // API parameter values that are decorated as "sensitive" in the API will not
  9682  // be included in the string output. The member name will be present, but the
  9683  // value will be replaced with "sensitive".
  9684  func (s GetUpgradeHistoryInput) GoString() string {
  9685  	return s.String()
  9686  }
  9687  
  9688  // Validate inspects the fields of the type to determine if they are valid.
  9689  func (s *GetUpgradeHistoryInput) Validate() error {
  9690  	invalidParams := request.ErrInvalidParams{Context: "GetUpgradeHistoryInput"}
  9691  	if s.DomainName == nil {
  9692  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  9693  	}
  9694  	if s.DomainName != nil && len(*s.DomainName) < 3 {
  9695  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
  9696  	}
  9697  
  9698  	if invalidParams.Len() > 0 {
  9699  		return invalidParams
  9700  	}
  9701  	return nil
  9702  }
  9703  
  9704  // SetDomainName sets the DomainName field's value.
  9705  func (s *GetUpgradeHistoryInput) SetDomainName(v string) *GetUpgradeHistoryInput {
  9706  	s.DomainName = &v
  9707  	return s
  9708  }
  9709  
  9710  // SetMaxResults sets the MaxResults field's value.
  9711  func (s *GetUpgradeHistoryInput) SetMaxResults(v int64) *GetUpgradeHistoryInput {
  9712  	s.MaxResults = &v
  9713  	return s
  9714  }
  9715  
  9716  // SetNextToken sets the NextToken field's value.
  9717  func (s *GetUpgradeHistoryInput) SetNextToken(v string) *GetUpgradeHistoryInput {
  9718  	s.NextToken = &v
  9719  	return s
  9720  }
  9721  
  9722  // Container for response returned by GetUpgradeHistory operation.
  9723  type GetUpgradeHistoryOutput struct {
  9724  	_ struct{} `type:"structure"`
  9725  
  9726  	// Pagination token that needs to be supplied to the next call to get the next
  9727  	// page of results
  9728  	NextToken *string `type:"string"`
  9729  
  9730  	// A list of UpgradeHistory objects corresponding to each Upgrade or Upgrade
  9731  	// Eligibility Check performed on a domain returned as part of GetUpgradeHistoryResponse
  9732  	// object.
  9733  	UpgradeHistories []*UpgradeHistory `type:"list"`
  9734  }
  9735  
  9736  // String 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 GetUpgradeHistoryOutput) String() string {
  9742  	return awsutil.Prettify(s)
  9743  }
  9744  
  9745  // GoString returns the string representation.
  9746  //
  9747  // API parameter values that are decorated as "sensitive" in the API will not
  9748  // be included in the string output. The member name will be present, but the
  9749  // value will be replaced with "sensitive".
  9750  func (s GetUpgradeHistoryOutput) GoString() string {
  9751  	return s.String()
  9752  }
  9753  
  9754  // SetNextToken sets the NextToken field's value.
  9755  func (s *GetUpgradeHistoryOutput) SetNextToken(v string) *GetUpgradeHistoryOutput {
  9756  	s.NextToken = &v
  9757  	return s
  9758  }
  9759  
  9760  // SetUpgradeHistories sets the UpgradeHistories field's value.
  9761  func (s *GetUpgradeHistoryOutput) SetUpgradeHistories(v []*UpgradeHistory) *GetUpgradeHistoryOutput {
  9762  	s.UpgradeHistories = v
  9763  	return s
  9764  }
  9765  
  9766  // Container for request parameters to GetUpgradeStatus operation.
  9767  type GetUpgradeStatusInput struct {
  9768  	_ struct{} `type:"structure" nopayload:"true"`
  9769  
  9770  	// The name of an Elasticsearch domain. Domain names are unique across the domains
  9771  	// owned by an account within an AWS region. Domain names start with a letter
  9772  	// or number and can contain the following characters: a-z (lowercase), 0-9,
  9773  	// and - (hyphen).
  9774  	//
  9775  	// DomainName is a required field
  9776  	DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"`
  9777  }
  9778  
  9779  // String returns the string representation.
  9780  //
  9781  // API parameter values that are decorated as "sensitive" in the API will not
  9782  // be included in the string output. The member name will be present, but the
  9783  // value will be replaced with "sensitive".
  9784  func (s GetUpgradeStatusInput) String() string {
  9785  	return awsutil.Prettify(s)
  9786  }
  9787  
  9788  // GoString returns the string representation.
  9789  //
  9790  // API parameter values that are decorated as "sensitive" in the API will not
  9791  // be included in the string output. The member name will be present, but the
  9792  // value will be replaced with "sensitive".
  9793  func (s GetUpgradeStatusInput) GoString() string {
  9794  	return s.String()
  9795  }
  9796  
  9797  // Validate inspects the fields of the type to determine if they are valid.
  9798  func (s *GetUpgradeStatusInput) Validate() error {
  9799  	invalidParams := request.ErrInvalidParams{Context: "GetUpgradeStatusInput"}
  9800  	if s.DomainName == nil {
  9801  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  9802  	}
  9803  	if s.DomainName != nil && len(*s.DomainName) < 3 {
  9804  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
  9805  	}
  9806  
  9807  	if invalidParams.Len() > 0 {
  9808  		return invalidParams
  9809  	}
  9810  	return nil
  9811  }
  9812  
  9813  // SetDomainName sets the DomainName field's value.
  9814  func (s *GetUpgradeStatusInput) SetDomainName(v string) *GetUpgradeStatusInput {
  9815  	s.DomainName = &v
  9816  	return s
  9817  }
  9818  
  9819  // Container for response returned by GetUpgradeStatus operation.
  9820  type GetUpgradeStatusOutput struct {
  9821  	_ struct{} `type:"structure"`
  9822  
  9823  	// One of 4 statuses that a step can go through returned as part of the GetUpgradeStatusResponse
  9824  	// object. The status can take one of the following values:
  9825  	//    * In Progress
  9826  	//
  9827  	//    * Succeeded
  9828  	//
  9829  	//    * Succeeded with Issues
  9830  	//
  9831  	//    * Failed
  9832  	StepStatus *string `type:"string" enum:"UpgradeStatus"`
  9833  
  9834  	// A string that describes the update briefly
  9835  	UpgradeName *string `type:"string"`
  9836  
  9837  	// Represents one of 3 steps that an Upgrade or Upgrade Eligibility Check does
  9838  	// through:
  9839  	//    * PreUpgradeCheck
  9840  	//
  9841  	//    * Snapshot
  9842  	//
  9843  	//    * Upgrade
  9844  	UpgradeStep *string `type:"string" enum:"UpgradeStep"`
  9845  }
  9846  
  9847  // String returns the string representation.
  9848  //
  9849  // API parameter values that are decorated as "sensitive" in the API will not
  9850  // be included in the string output. The member name will be present, but the
  9851  // value will be replaced with "sensitive".
  9852  func (s GetUpgradeStatusOutput) String() string {
  9853  	return awsutil.Prettify(s)
  9854  }
  9855  
  9856  // GoString returns the string representation.
  9857  //
  9858  // API parameter values that are decorated as "sensitive" in the API will not
  9859  // be included in the string output. The member name will be present, but the
  9860  // value will be replaced with "sensitive".
  9861  func (s GetUpgradeStatusOutput) GoString() string {
  9862  	return s.String()
  9863  }
  9864  
  9865  // SetStepStatus sets the StepStatus field's value.
  9866  func (s *GetUpgradeStatusOutput) SetStepStatus(v string) *GetUpgradeStatusOutput {
  9867  	s.StepStatus = &v
  9868  	return s
  9869  }
  9870  
  9871  // SetUpgradeName sets the UpgradeName field's value.
  9872  func (s *GetUpgradeStatusOutput) SetUpgradeName(v string) *GetUpgradeStatusOutput {
  9873  	s.UpgradeName = &v
  9874  	return s
  9875  }
  9876  
  9877  // SetUpgradeStep sets the UpgradeStep field's value.
  9878  func (s *GetUpgradeStatusOutput) SetUpgradeStep(v string) *GetUpgradeStatusOutput {
  9879  	s.UpgradeStep = &v
  9880  	return s
  9881  }
  9882  
  9883  // Specifies details of an inbound connection.
  9884  type InboundCrossClusterSearchConnection struct {
  9885  	_ struct{} `type:"structure"`
  9886  
  9887  	// Specifies the InboundCrossClusterSearchConnectionStatus for the outbound
  9888  	// connection.
  9889  	ConnectionStatus *InboundCrossClusterSearchConnectionStatus `type:"structure"`
  9890  
  9891  	// Specifies the connection id for the inbound cross-cluster search connection.
  9892  	CrossClusterSearchConnectionId *string `type:"string"`
  9893  
  9894  	// Specifies the DomainInformation for the destination Elasticsearch domain.
  9895  	DestinationDomainInfo *DomainInformation `type:"structure"`
  9896  
  9897  	// Specifies the DomainInformation for the source Elasticsearch domain.
  9898  	SourceDomainInfo *DomainInformation `type:"structure"`
  9899  }
  9900  
  9901  // String returns the string representation.
  9902  //
  9903  // API parameter values that are decorated as "sensitive" in the API will not
  9904  // be included in the string output. The member name will be present, but the
  9905  // value will be replaced with "sensitive".
  9906  func (s InboundCrossClusterSearchConnection) String() string {
  9907  	return awsutil.Prettify(s)
  9908  }
  9909  
  9910  // GoString returns the string representation.
  9911  //
  9912  // API parameter values that are decorated as "sensitive" in the API will not
  9913  // be included in the string output. The member name will be present, but the
  9914  // value will be replaced with "sensitive".
  9915  func (s InboundCrossClusterSearchConnection) GoString() string {
  9916  	return s.String()
  9917  }
  9918  
  9919  // SetConnectionStatus sets the ConnectionStatus field's value.
  9920  func (s *InboundCrossClusterSearchConnection) SetConnectionStatus(v *InboundCrossClusterSearchConnectionStatus) *InboundCrossClusterSearchConnection {
  9921  	s.ConnectionStatus = v
  9922  	return s
  9923  }
  9924  
  9925  // SetCrossClusterSearchConnectionId sets the CrossClusterSearchConnectionId field's value.
  9926  func (s *InboundCrossClusterSearchConnection) SetCrossClusterSearchConnectionId(v string) *InboundCrossClusterSearchConnection {
  9927  	s.CrossClusterSearchConnectionId = &v
  9928  	return s
  9929  }
  9930  
  9931  // SetDestinationDomainInfo sets the DestinationDomainInfo field's value.
  9932  func (s *InboundCrossClusterSearchConnection) SetDestinationDomainInfo(v *DomainInformation) *InboundCrossClusterSearchConnection {
  9933  	s.DestinationDomainInfo = v
  9934  	return s
  9935  }
  9936  
  9937  // SetSourceDomainInfo sets the SourceDomainInfo field's value.
  9938  func (s *InboundCrossClusterSearchConnection) SetSourceDomainInfo(v *DomainInformation) *InboundCrossClusterSearchConnection {
  9939  	s.SourceDomainInfo = v
  9940  	return s
  9941  }
  9942  
  9943  // Specifies the coonection status of an inbound cross-cluster search connection.
  9944  type InboundCrossClusterSearchConnectionStatus struct {
  9945  	_ struct{} `type:"structure"`
  9946  
  9947  	// Specifies verbose information for the inbound connection status.
  9948  	Message *string `type:"string"`
  9949  
  9950  	// The state code for inbound connection. This can be one of the following:
  9951  	//
  9952  	//    * PENDING_ACCEPTANCE: Inbound connection is not yet accepted by destination
  9953  	//    domain owner.
  9954  	//
  9955  	//    * APPROVED: Inbound connection is pending acceptance by destination domain
  9956  	//    owner.
  9957  	//
  9958  	//    * REJECTING: Inbound connection rejection is in process.
  9959  	//
  9960  	//    * REJECTED: Inbound connection is rejected.
  9961  	//
  9962  	//    * DELETING: Inbound connection deletion is in progress.
  9963  	//
  9964  	//    * DELETED: Inbound connection is deleted and cannot be used further.
  9965  	StatusCode *string `type:"string" enum:"InboundCrossClusterSearchConnectionStatusCode"`
  9966  }
  9967  
  9968  // String returns the string representation.
  9969  //
  9970  // API parameter values that are decorated as "sensitive" in the API will not
  9971  // be included in the string output. The member name will be present, but the
  9972  // value will be replaced with "sensitive".
  9973  func (s InboundCrossClusterSearchConnectionStatus) String() string {
  9974  	return awsutil.Prettify(s)
  9975  }
  9976  
  9977  // GoString 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 InboundCrossClusterSearchConnectionStatus) GoString() string {
  9983  	return s.String()
  9984  }
  9985  
  9986  // SetMessage sets the Message field's value.
  9987  func (s *InboundCrossClusterSearchConnectionStatus) SetMessage(v string) *InboundCrossClusterSearchConnectionStatus {
  9988  	s.Message = &v
  9989  	return s
  9990  }
  9991  
  9992  // SetStatusCode sets the StatusCode field's value.
  9993  func (s *InboundCrossClusterSearchConnectionStatus) SetStatusCode(v string) *InboundCrossClusterSearchConnectionStatus {
  9994  	s.StatusCode = &v
  9995  	return s
  9996  }
  9997  
  9998  // InstanceCountLimits represents the limits on number of instances that be
  9999  // created in Amazon Elasticsearch for given InstanceType.
 10000  type InstanceCountLimits struct {
 10001  	_ struct{} `type:"structure"`
 10002  
 10003  	// Maximum number of Instances that can be instantiated for given InstanceType.
 10004  	MaximumInstanceCount *int64 `type:"integer"`
 10005  
 10006  	// Minimum number of Instances that can be instantiated for given InstanceType.
 10007  	MinimumInstanceCount *int64 `type:"integer"`
 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 InstanceCountLimits) 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 InstanceCountLimits) GoString() string {
 10025  	return s.String()
 10026  }
 10027  
 10028  // SetMaximumInstanceCount sets the MaximumInstanceCount field's value.
 10029  func (s *InstanceCountLimits) SetMaximumInstanceCount(v int64) *InstanceCountLimits {
 10030  	s.MaximumInstanceCount = &v
 10031  	return s
 10032  }
 10033  
 10034  // SetMinimumInstanceCount sets the MinimumInstanceCount field's value.
 10035  func (s *InstanceCountLimits) SetMinimumInstanceCount(v int64) *InstanceCountLimits {
 10036  	s.MinimumInstanceCount = &v
 10037  	return s
 10038  }
 10039  
 10040  // InstanceLimits represents the list of instance related attributes that are
 10041  // available for given InstanceType.
 10042  type InstanceLimits struct {
 10043  	_ struct{} `type:"structure"`
 10044  
 10045  	// InstanceCountLimits represents the limits on number of instances that be
 10046  	// created in Amazon Elasticsearch for given InstanceType.
 10047  	InstanceCountLimits *InstanceCountLimits `type:"structure"`
 10048  }
 10049  
 10050  // String returns the string representation.
 10051  //
 10052  // API parameter values that are decorated as "sensitive" in the API will not
 10053  // be included in the string output. The member name will be present, but the
 10054  // value will be replaced with "sensitive".
 10055  func (s InstanceLimits) String() string {
 10056  	return awsutil.Prettify(s)
 10057  }
 10058  
 10059  // GoString returns the string representation.
 10060  //
 10061  // API parameter values that are decorated as "sensitive" in the API will not
 10062  // be included in the string output. The member name will be present, but the
 10063  // value will be replaced with "sensitive".
 10064  func (s InstanceLimits) GoString() string {
 10065  	return s.String()
 10066  }
 10067  
 10068  // SetInstanceCountLimits sets the InstanceCountLimits field's value.
 10069  func (s *InstanceLimits) SetInstanceCountLimits(v *InstanceCountLimits) *InstanceLimits {
 10070  	s.InstanceCountLimits = v
 10071  	return s
 10072  }
 10073  
 10074  // The request processing has failed because of an unknown error, exception
 10075  // or failure (the failure is internal to the service) . Gives http status code
 10076  // of 500.
 10077  type InternalException struct {
 10078  	_            struct{}                  `type:"structure"`
 10079  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10080  
 10081  	Message_ *string `locationName:"message" type:"string"`
 10082  }
 10083  
 10084  // String returns the string representation.
 10085  //
 10086  // API parameter values that are decorated as "sensitive" in the API will not
 10087  // be included in the string output. The member name will be present, but the
 10088  // value will be replaced with "sensitive".
 10089  func (s InternalException) String() string {
 10090  	return awsutil.Prettify(s)
 10091  }
 10092  
 10093  // GoString returns the string representation.
 10094  //
 10095  // API parameter values that are decorated as "sensitive" in the API will not
 10096  // be included in the string output. The member name will be present, but the
 10097  // value will be replaced with "sensitive".
 10098  func (s InternalException) GoString() string {
 10099  	return s.String()
 10100  }
 10101  
 10102  func newErrorInternalException(v protocol.ResponseMetadata) error {
 10103  	return &InternalException{
 10104  		RespMetadata: v,
 10105  	}
 10106  }
 10107  
 10108  // Code returns the exception type name.
 10109  func (s *InternalException) Code() string {
 10110  	return "InternalException"
 10111  }
 10112  
 10113  // Message returns the exception's message.
 10114  func (s *InternalException) Message() string {
 10115  	if s.Message_ != nil {
 10116  		return *s.Message_
 10117  	}
 10118  	return ""
 10119  }
 10120  
 10121  // OrigErr always returns nil, satisfies awserr.Error interface.
 10122  func (s *InternalException) OrigErr() error {
 10123  	return nil
 10124  }
 10125  
 10126  func (s *InternalException) Error() string {
 10127  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10128  }
 10129  
 10130  // Status code returns the HTTP status code for the request's response error.
 10131  func (s *InternalException) StatusCode() int {
 10132  	return s.RespMetadata.StatusCode
 10133  }
 10134  
 10135  // RequestID returns the service's response RequestID for request.
 10136  func (s *InternalException) RequestID() string {
 10137  	return s.RespMetadata.RequestID
 10138  }
 10139  
 10140  // The request processing has failed because of invalid pagination token provided
 10141  // by customer. Returns an HTTP status code of 400.
 10142  type InvalidPaginationTokenException struct {
 10143  	_            struct{}                  `type:"structure"`
 10144  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10145  
 10146  	Message_ *string `locationName:"message" type:"string"`
 10147  }
 10148  
 10149  // String returns the string representation.
 10150  //
 10151  // API parameter values that are decorated as "sensitive" in the API will not
 10152  // be included in the string output. The member name will be present, but the
 10153  // value will be replaced with "sensitive".
 10154  func (s InvalidPaginationTokenException) String() string {
 10155  	return awsutil.Prettify(s)
 10156  }
 10157  
 10158  // GoString returns the string representation.
 10159  //
 10160  // API parameter values that are decorated as "sensitive" in the API will not
 10161  // be included in the string output. The member name will be present, but the
 10162  // value will be replaced with "sensitive".
 10163  func (s InvalidPaginationTokenException) GoString() string {
 10164  	return s.String()
 10165  }
 10166  
 10167  func newErrorInvalidPaginationTokenException(v protocol.ResponseMetadata) error {
 10168  	return &InvalidPaginationTokenException{
 10169  		RespMetadata: v,
 10170  	}
 10171  }
 10172  
 10173  // Code returns the exception type name.
 10174  func (s *InvalidPaginationTokenException) Code() string {
 10175  	return "InvalidPaginationTokenException"
 10176  }
 10177  
 10178  // Message returns the exception's message.
 10179  func (s *InvalidPaginationTokenException) Message() string {
 10180  	if s.Message_ != nil {
 10181  		return *s.Message_
 10182  	}
 10183  	return ""
 10184  }
 10185  
 10186  // OrigErr always returns nil, satisfies awserr.Error interface.
 10187  func (s *InvalidPaginationTokenException) OrigErr() error {
 10188  	return nil
 10189  }
 10190  
 10191  func (s *InvalidPaginationTokenException) Error() string {
 10192  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10193  }
 10194  
 10195  // Status code returns the HTTP status code for the request's response error.
 10196  func (s *InvalidPaginationTokenException) StatusCode() int {
 10197  	return s.RespMetadata.StatusCode
 10198  }
 10199  
 10200  // RequestID returns the service's response RequestID for request.
 10201  func (s *InvalidPaginationTokenException) RequestID() string {
 10202  	return s.RespMetadata.RequestID
 10203  }
 10204  
 10205  // An exception for trying to create or access sub-resource that is either invalid
 10206  // or not supported. Gives http status code of 409.
 10207  type InvalidTypeException struct {
 10208  	_            struct{}                  `type:"structure"`
 10209  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10210  
 10211  	Message_ *string `locationName:"message" type:"string"`
 10212  }
 10213  
 10214  // String returns the string representation.
 10215  //
 10216  // API parameter values that are decorated as "sensitive" in the API will not
 10217  // be included in the string output. The member name will be present, but the
 10218  // value will be replaced with "sensitive".
 10219  func (s InvalidTypeException) String() string {
 10220  	return awsutil.Prettify(s)
 10221  }
 10222  
 10223  // GoString returns the string representation.
 10224  //
 10225  // API parameter values that are decorated as "sensitive" in the API will not
 10226  // be included in the string output. The member name will be present, but the
 10227  // value will be replaced with "sensitive".
 10228  func (s InvalidTypeException) GoString() string {
 10229  	return s.String()
 10230  }
 10231  
 10232  func newErrorInvalidTypeException(v protocol.ResponseMetadata) error {
 10233  	return &InvalidTypeException{
 10234  		RespMetadata: v,
 10235  	}
 10236  }
 10237  
 10238  // Code returns the exception type name.
 10239  func (s *InvalidTypeException) Code() string {
 10240  	return "InvalidTypeException"
 10241  }
 10242  
 10243  // Message returns the exception's message.
 10244  func (s *InvalidTypeException) Message() string {
 10245  	if s.Message_ != nil {
 10246  		return *s.Message_
 10247  	}
 10248  	return ""
 10249  }
 10250  
 10251  // OrigErr always returns nil, satisfies awserr.Error interface.
 10252  func (s *InvalidTypeException) OrigErr() error {
 10253  	return nil
 10254  }
 10255  
 10256  func (s *InvalidTypeException) Error() string {
 10257  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10258  }
 10259  
 10260  // Status code returns the HTTP status code for the request's response error.
 10261  func (s *InvalidTypeException) StatusCode() int {
 10262  	return s.RespMetadata.StatusCode
 10263  }
 10264  
 10265  // RequestID returns the service's response RequestID for request.
 10266  func (s *InvalidTypeException) RequestID() string {
 10267  	return s.RespMetadata.RequestID
 10268  }
 10269  
 10270  // An exception for trying to create more than allowed resources or sub-resources.
 10271  // Gives http status code of 409.
 10272  type LimitExceededException struct {
 10273  	_            struct{}                  `type:"structure"`
 10274  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10275  
 10276  	Message_ *string `locationName:"message" type:"string"`
 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 LimitExceededException) 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 LimitExceededException) GoString() string {
 10294  	return s.String()
 10295  }
 10296  
 10297  func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
 10298  	return &LimitExceededException{
 10299  		RespMetadata: v,
 10300  	}
 10301  }
 10302  
 10303  // Code returns the exception type name.
 10304  func (s *LimitExceededException) Code() string {
 10305  	return "LimitExceededException"
 10306  }
 10307  
 10308  // Message returns the exception's message.
 10309  func (s *LimitExceededException) Message() string {
 10310  	if s.Message_ != nil {
 10311  		return *s.Message_
 10312  	}
 10313  	return ""
 10314  }
 10315  
 10316  // OrigErr always returns nil, satisfies awserr.Error interface.
 10317  func (s *LimitExceededException) OrigErr() error {
 10318  	return nil
 10319  }
 10320  
 10321  func (s *LimitExceededException) Error() string {
 10322  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10323  }
 10324  
 10325  // Status code returns the HTTP status code for the request's response error.
 10326  func (s *LimitExceededException) StatusCode() int {
 10327  	return s.RespMetadata.StatusCode
 10328  }
 10329  
 10330  // RequestID returns the service's response RequestID for request.
 10331  func (s *LimitExceededException) RequestID() string {
 10332  	return s.RespMetadata.RequestID
 10333  }
 10334  
 10335  // Limits for given InstanceType and for each of it's role. Limits contains
 10336  // following StorageTypes, InstanceLimits and AdditionalLimits
 10337  type Limits struct {
 10338  	_ struct{} `type:"structure"`
 10339  
 10340  	// List of additional limits that are specific to a given InstanceType and for
 10341  	// each of it's InstanceRole .
 10342  	AdditionalLimits []*AdditionalLimit `type:"list"`
 10343  
 10344  	// InstanceLimits represents the list of instance related attributes that are
 10345  	// available for given InstanceType.
 10346  	InstanceLimits *InstanceLimits `type:"structure"`
 10347  
 10348  	// StorageType represents the list of storage related types and attributes that
 10349  	// are available for given InstanceType.
 10350  	StorageTypes []*StorageType `type:"list"`
 10351  }
 10352  
 10353  // String returns the string representation.
 10354  //
 10355  // API parameter values that are decorated as "sensitive" in the API will not
 10356  // be included in the string output. The member name will be present, but the
 10357  // value will be replaced with "sensitive".
 10358  func (s Limits) String() string {
 10359  	return awsutil.Prettify(s)
 10360  }
 10361  
 10362  // GoString returns the string representation.
 10363  //
 10364  // API parameter values that are decorated as "sensitive" in the API will not
 10365  // be included in the string output. The member name will be present, but the
 10366  // value will be replaced with "sensitive".
 10367  func (s Limits) GoString() string {
 10368  	return s.String()
 10369  }
 10370  
 10371  // SetAdditionalLimits sets the AdditionalLimits field's value.
 10372  func (s *Limits) SetAdditionalLimits(v []*AdditionalLimit) *Limits {
 10373  	s.AdditionalLimits = v
 10374  	return s
 10375  }
 10376  
 10377  // SetInstanceLimits sets the InstanceLimits field's value.
 10378  func (s *Limits) SetInstanceLimits(v *InstanceLimits) *Limits {
 10379  	s.InstanceLimits = v
 10380  	return s
 10381  }
 10382  
 10383  // SetStorageTypes sets the StorageTypes field's value.
 10384  func (s *Limits) SetStorageTypes(v []*StorageType) *Limits {
 10385  	s.StorageTypes = v
 10386  	return s
 10387  }
 10388  
 10389  // Container for the parameters to the ListDomainNames operation.
 10390  type ListDomainNamesInput struct {
 10391  	_ struct{} `type:"structure" nopayload:"true"`
 10392  
 10393  	// Optional parameter to filter the output by domain engine type. Acceptable
 10394  	// values are 'Elasticsearch' and 'OpenSearch'.
 10395  	EngineType *string `location:"querystring" locationName:"engineType" type:"string" enum:"EngineType"`
 10396  }
 10397  
 10398  // String returns the string representation.
 10399  //
 10400  // API parameter values that are decorated as "sensitive" in the API will not
 10401  // be included in the string output. The member name will be present, but the
 10402  // value will be replaced with "sensitive".
 10403  func (s ListDomainNamesInput) String() string {
 10404  	return awsutil.Prettify(s)
 10405  }
 10406  
 10407  // GoString returns the string representation.
 10408  //
 10409  // API parameter values that are decorated as "sensitive" in the API will not
 10410  // be included in the string output. The member name will be present, but the
 10411  // value will be replaced with "sensitive".
 10412  func (s ListDomainNamesInput) GoString() string {
 10413  	return s.String()
 10414  }
 10415  
 10416  // SetEngineType sets the EngineType field's value.
 10417  func (s *ListDomainNamesInput) SetEngineType(v string) *ListDomainNamesInput {
 10418  	s.EngineType = &v
 10419  	return s
 10420  }
 10421  
 10422  // The result of a ListDomainNames operation. Contains the names of all domains
 10423  // owned by this account and their respective engine types.
 10424  type ListDomainNamesOutput struct {
 10425  	_ struct{} `type:"structure"`
 10426  
 10427  	// List of domain names and respective engine types.
 10428  	DomainNames []*DomainInfo `type:"list"`
 10429  }
 10430  
 10431  // String returns the string representation.
 10432  //
 10433  // API parameter values that are decorated as "sensitive" in the API will not
 10434  // be included in the string output. The member name will be present, but the
 10435  // value will be replaced with "sensitive".
 10436  func (s ListDomainNamesOutput) String() string {
 10437  	return awsutil.Prettify(s)
 10438  }
 10439  
 10440  // GoString returns the string representation.
 10441  //
 10442  // API parameter values that are decorated as "sensitive" in the API will not
 10443  // be included in the string output. The member name will be present, but the
 10444  // value will be replaced with "sensitive".
 10445  func (s ListDomainNamesOutput) GoString() string {
 10446  	return s.String()
 10447  }
 10448  
 10449  // SetDomainNames sets the DomainNames field's value.
 10450  func (s *ListDomainNamesOutput) SetDomainNames(v []*DomainInfo) *ListDomainNamesOutput {
 10451  	s.DomainNames = v
 10452  	return s
 10453  }
 10454  
 10455  // Container for request parameters to ListDomainsForPackage operation.
 10456  type ListDomainsForPackageInput struct {
 10457  	_ struct{} `type:"structure" nopayload:"true"`
 10458  
 10459  	// Limits results to a maximum number of domains.
 10460  	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
 10461  
 10462  	// Used for pagination. Only necessary if a previous API call includes a non-null
 10463  	// NextToken value. If provided, returns results for the next page.
 10464  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
 10465  
 10466  	// The package for which to list domains.
 10467  	//
 10468  	// PackageID is a required field
 10469  	PackageID *string `location:"uri" locationName:"PackageID" type:"string" required:"true"`
 10470  }
 10471  
 10472  // String returns the string representation.
 10473  //
 10474  // API parameter values that are decorated as "sensitive" in the API will not
 10475  // be included in the string output. The member name will be present, but the
 10476  // value will be replaced with "sensitive".
 10477  func (s ListDomainsForPackageInput) String() string {
 10478  	return awsutil.Prettify(s)
 10479  }
 10480  
 10481  // GoString returns the string representation.
 10482  //
 10483  // API parameter values that are decorated as "sensitive" in the API will not
 10484  // be included in the string output. The member name will be present, but the
 10485  // value will be replaced with "sensitive".
 10486  func (s ListDomainsForPackageInput) GoString() string {
 10487  	return s.String()
 10488  }
 10489  
 10490  // Validate inspects the fields of the type to determine if they are valid.
 10491  func (s *ListDomainsForPackageInput) Validate() error {
 10492  	invalidParams := request.ErrInvalidParams{Context: "ListDomainsForPackageInput"}
 10493  	if s.PackageID == nil {
 10494  		invalidParams.Add(request.NewErrParamRequired("PackageID"))
 10495  	}
 10496  	if s.PackageID != nil && len(*s.PackageID) < 1 {
 10497  		invalidParams.Add(request.NewErrParamMinLen("PackageID", 1))
 10498  	}
 10499  
 10500  	if invalidParams.Len() > 0 {
 10501  		return invalidParams
 10502  	}
 10503  	return nil
 10504  }
 10505  
 10506  // SetMaxResults sets the MaxResults field's value.
 10507  func (s *ListDomainsForPackageInput) SetMaxResults(v int64) *ListDomainsForPackageInput {
 10508  	s.MaxResults = &v
 10509  	return s
 10510  }
 10511  
 10512  // SetNextToken sets the NextToken field's value.
 10513  func (s *ListDomainsForPackageInput) SetNextToken(v string) *ListDomainsForPackageInput {
 10514  	s.NextToken = &v
 10515  	return s
 10516  }
 10517  
 10518  // SetPackageID sets the PackageID field's value.
 10519  func (s *ListDomainsForPackageInput) SetPackageID(v string) *ListDomainsForPackageInput {
 10520  	s.PackageID = &v
 10521  	return s
 10522  }
 10523  
 10524  // Container for response parameters to ListDomainsForPackage operation.
 10525  type ListDomainsForPackageOutput struct {
 10526  	_ struct{} `type:"structure"`
 10527  
 10528  	// List of DomainPackageDetails objects.
 10529  	DomainPackageDetailsList []*DomainPackageDetails `type:"list"`
 10530  
 10531  	NextToken *string `type:"string"`
 10532  }
 10533  
 10534  // String returns the string representation.
 10535  //
 10536  // API parameter values that are decorated as "sensitive" in the API will not
 10537  // be included in the string output. The member name will be present, but the
 10538  // value will be replaced with "sensitive".
 10539  func (s ListDomainsForPackageOutput) String() string {
 10540  	return awsutil.Prettify(s)
 10541  }
 10542  
 10543  // GoString returns the string representation.
 10544  //
 10545  // API parameter values that are decorated as "sensitive" in the API will not
 10546  // be included in the string output. The member name will be present, but the
 10547  // value will be replaced with "sensitive".
 10548  func (s ListDomainsForPackageOutput) GoString() string {
 10549  	return s.String()
 10550  }
 10551  
 10552  // SetDomainPackageDetailsList sets the DomainPackageDetailsList field's value.
 10553  func (s *ListDomainsForPackageOutput) SetDomainPackageDetailsList(v []*DomainPackageDetails) *ListDomainsForPackageOutput {
 10554  	s.DomainPackageDetailsList = v
 10555  	return s
 10556  }
 10557  
 10558  // SetNextToken sets the NextToken field's value.
 10559  func (s *ListDomainsForPackageOutput) SetNextToken(v string) *ListDomainsForPackageOutput {
 10560  	s.NextToken = &v
 10561  	return s
 10562  }
 10563  
 10564  // Container for the parameters to the ListElasticsearchInstanceTypes operation.
 10565  type ListElasticsearchInstanceTypesInput struct {
 10566  	_ struct{} `type:"structure" nopayload:"true"`
 10567  
 10568  	// DomainName represents the name of the Domain that we are trying to modify.
 10569  	// This should be present only if we are querying for list of available Elasticsearch
 10570  	// instance types when modifying existing domain.
 10571  	DomainName *string `location:"querystring" locationName:"domainName" min:"3" type:"string"`
 10572  
 10573  	// Version of Elasticsearch for which list of supported elasticsearch instance
 10574  	// types are needed.
 10575  	//
 10576  	// ElasticsearchVersion is a required field
 10577  	ElasticsearchVersion *string `location:"uri" locationName:"ElasticsearchVersion" type:"string" required:"true"`
 10578  
 10579  	// Set this value to limit the number of results returned. Value provided must
 10580  	// be greater than 30 else it wont be honored.
 10581  	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
 10582  
 10583  	// NextToken should be sent in case if earlier API call produced result containing
 10584  	// NextToken. It is used for pagination.
 10585  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
 10586  }
 10587  
 10588  // String returns the string representation.
 10589  //
 10590  // API parameter values that are decorated as "sensitive" in the API will not
 10591  // be included in the string output. The member name will be present, but the
 10592  // value will be replaced with "sensitive".
 10593  func (s ListElasticsearchInstanceTypesInput) String() string {
 10594  	return awsutil.Prettify(s)
 10595  }
 10596  
 10597  // GoString returns the string representation.
 10598  //
 10599  // API parameter values that are decorated as "sensitive" in the API will not
 10600  // be included in the string output. The member name will be present, but the
 10601  // value will be replaced with "sensitive".
 10602  func (s ListElasticsearchInstanceTypesInput) GoString() string {
 10603  	return s.String()
 10604  }
 10605  
 10606  // Validate inspects the fields of the type to determine if they are valid.
 10607  func (s *ListElasticsearchInstanceTypesInput) Validate() error {
 10608  	invalidParams := request.ErrInvalidParams{Context: "ListElasticsearchInstanceTypesInput"}
 10609  	if s.DomainName != nil && len(*s.DomainName) < 3 {
 10610  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
 10611  	}
 10612  	if s.ElasticsearchVersion == nil {
 10613  		invalidParams.Add(request.NewErrParamRequired("ElasticsearchVersion"))
 10614  	}
 10615  	if s.ElasticsearchVersion != nil && len(*s.ElasticsearchVersion) < 1 {
 10616  		invalidParams.Add(request.NewErrParamMinLen("ElasticsearchVersion", 1))
 10617  	}
 10618  
 10619  	if invalidParams.Len() > 0 {
 10620  		return invalidParams
 10621  	}
 10622  	return nil
 10623  }
 10624  
 10625  // SetDomainName sets the DomainName field's value.
 10626  func (s *ListElasticsearchInstanceTypesInput) SetDomainName(v string) *ListElasticsearchInstanceTypesInput {
 10627  	s.DomainName = &v
 10628  	return s
 10629  }
 10630  
 10631  // SetElasticsearchVersion sets the ElasticsearchVersion field's value.
 10632  func (s *ListElasticsearchInstanceTypesInput) SetElasticsearchVersion(v string) *ListElasticsearchInstanceTypesInput {
 10633  	s.ElasticsearchVersion = &v
 10634  	return s
 10635  }
 10636  
 10637  // SetMaxResults sets the MaxResults field's value.
 10638  func (s *ListElasticsearchInstanceTypesInput) SetMaxResults(v int64) *ListElasticsearchInstanceTypesInput {
 10639  	s.MaxResults = &v
 10640  	return s
 10641  }
 10642  
 10643  // SetNextToken sets the NextToken field's value.
 10644  func (s *ListElasticsearchInstanceTypesInput) SetNextToken(v string) *ListElasticsearchInstanceTypesInput {
 10645  	s.NextToken = &v
 10646  	return s
 10647  }
 10648  
 10649  // Container for the parameters returned by ListElasticsearchInstanceTypes operation.
 10650  type ListElasticsearchInstanceTypesOutput struct {
 10651  	_ struct{} `type:"structure"`
 10652  
 10653  	// List of instance types supported by Amazon Elasticsearch service for given
 10654  	// ElasticsearchVersion
 10655  	ElasticsearchInstanceTypes []*string `type:"list"`
 10656  
 10657  	// In case if there are more results available NextToken would be present, make
 10658  	// further request to the same API with received NextToken to paginate remaining
 10659  	// results.
 10660  	NextToken *string `type:"string"`
 10661  }
 10662  
 10663  // String returns the string representation.
 10664  //
 10665  // API parameter values that are decorated as "sensitive" in the API will not
 10666  // be included in the string output. The member name will be present, but the
 10667  // value will be replaced with "sensitive".
 10668  func (s ListElasticsearchInstanceTypesOutput) String() string {
 10669  	return awsutil.Prettify(s)
 10670  }
 10671  
 10672  // GoString returns the string representation.
 10673  //
 10674  // API parameter values that are decorated as "sensitive" in the API will not
 10675  // be included in the string output. The member name will be present, but the
 10676  // value will be replaced with "sensitive".
 10677  func (s ListElasticsearchInstanceTypesOutput) GoString() string {
 10678  	return s.String()
 10679  }
 10680  
 10681  // SetElasticsearchInstanceTypes sets the ElasticsearchInstanceTypes field's value.
 10682  func (s *ListElasticsearchInstanceTypesOutput) SetElasticsearchInstanceTypes(v []*string) *ListElasticsearchInstanceTypesOutput {
 10683  	s.ElasticsearchInstanceTypes = v
 10684  	return s
 10685  }
 10686  
 10687  // SetNextToken sets the NextToken field's value.
 10688  func (s *ListElasticsearchInstanceTypesOutput) SetNextToken(v string) *ListElasticsearchInstanceTypesOutput {
 10689  	s.NextToken = &v
 10690  	return s
 10691  }
 10692  
 10693  // Container for the parameters to the ListElasticsearchVersions operation.
 10694  // Use MaxResults to control the maximum number of results to retrieve in a
 10695  // single call.
 10696  //
 10697  // Use NextToken in response to retrieve more results. If the received response
 10698  // does not contain a NextToken, then there are no more results to retrieve.
 10699  type ListElasticsearchVersionsInput struct {
 10700  	_ struct{} `type:"structure" nopayload:"true"`
 10701  
 10702  	// Set this value to limit the number of results returned. Value provided must
 10703  	// be greater than 10 else it wont be honored.
 10704  	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
 10705  
 10706  	// Paginated APIs accepts NextToken input to returns next page results and provides
 10707  	// a NextToken output in the response which can be used by the client to retrieve
 10708  	// more results.
 10709  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
 10710  }
 10711  
 10712  // String returns the string representation.
 10713  //
 10714  // API parameter values that are decorated as "sensitive" in the API will not
 10715  // be included in the string output. The member name will be present, but the
 10716  // value will be replaced with "sensitive".
 10717  func (s ListElasticsearchVersionsInput) String() string {
 10718  	return awsutil.Prettify(s)
 10719  }
 10720  
 10721  // GoString returns the string representation.
 10722  //
 10723  // API parameter values that are decorated as "sensitive" in the API will not
 10724  // be included in the string output. The member name will be present, but the
 10725  // value will be replaced with "sensitive".
 10726  func (s ListElasticsearchVersionsInput) GoString() string {
 10727  	return s.String()
 10728  }
 10729  
 10730  // SetMaxResults sets the MaxResults field's value.
 10731  func (s *ListElasticsearchVersionsInput) SetMaxResults(v int64) *ListElasticsearchVersionsInput {
 10732  	s.MaxResults = &v
 10733  	return s
 10734  }
 10735  
 10736  // SetNextToken sets the NextToken field's value.
 10737  func (s *ListElasticsearchVersionsInput) SetNextToken(v string) *ListElasticsearchVersionsInput {
 10738  	s.NextToken = &v
 10739  	return s
 10740  }
 10741  
 10742  // Container for the parameters for response received from ListElasticsearchVersions
 10743  // operation.
 10744  type ListElasticsearchVersionsOutput struct {
 10745  	_ struct{} `type:"structure"`
 10746  
 10747  	// List of supported elastic search versions.
 10748  	ElasticsearchVersions []*string `type:"list"`
 10749  
 10750  	// Paginated APIs accepts NextToken input to returns next page results and provides
 10751  	// a NextToken output in the response which can be used by the client to retrieve
 10752  	// more results.
 10753  	NextToken *string `type:"string"`
 10754  }
 10755  
 10756  // String returns the string representation.
 10757  //
 10758  // API parameter values that are decorated as "sensitive" in the API will not
 10759  // be included in the string output. The member name will be present, but the
 10760  // value will be replaced with "sensitive".
 10761  func (s ListElasticsearchVersionsOutput) String() string {
 10762  	return awsutil.Prettify(s)
 10763  }
 10764  
 10765  // GoString returns the string representation.
 10766  //
 10767  // API parameter values that are decorated as "sensitive" in the API will not
 10768  // be included in the string output. The member name will be present, but the
 10769  // value will be replaced with "sensitive".
 10770  func (s ListElasticsearchVersionsOutput) GoString() string {
 10771  	return s.String()
 10772  }
 10773  
 10774  // SetElasticsearchVersions sets the ElasticsearchVersions field's value.
 10775  func (s *ListElasticsearchVersionsOutput) SetElasticsearchVersions(v []*string) *ListElasticsearchVersionsOutput {
 10776  	s.ElasticsearchVersions = v
 10777  	return s
 10778  }
 10779  
 10780  // SetNextToken sets the NextToken field's value.
 10781  func (s *ListElasticsearchVersionsOutput) SetNextToken(v string) *ListElasticsearchVersionsOutput {
 10782  	s.NextToken = &v
 10783  	return s
 10784  }
 10785  
 10786  // Container for request parameters to ListPackagesForDomain operation.
 10787  type ListPackagesForDomainInput struct {
 10788  	_ struct{} `type:"structure" nopayload:"true"`
 10789  
 10790  	// The name of the domain for which you want to list associated packages.
 10791  	//
 10792  	// DomainName is a required field
 10793  	DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"`
 10794  
 10795  	// Limits results to a maximum number of packages.
 10796  	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
 10797  
 10798  	// Used for pagination. Only necessary if a previous API call includes a non-null
 10799  	// NextToken value. If provided, returns results for the next page.
 10800  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
 10801  }
 10802  
 10803  // String returns the string representation.
 10804  //
 10805  // API parameter values that are decorated as "sensitive" in the API will not
 10806  // be included in the string output. The member name will be present, but the
 10807  // value will be replaced with "sensitive".
 10808  func (s ListPackagesForDomainInput) String() string {
 10809  	return awsutil.Prettify(s)
 10810  }
 10811  
 10812  // GoString returns the string representation.
 10813  //
 10814  // API parameter values that are decorated as "sensitive" in the API will not
 10815  // be included in the string output. The member name will be present, but the
 10816  // value will be replaced with "sensitive".
 10817  func (s ListPackagesForDomainInput) GoString() string {
 10818  	return s.String()
 10819  }
 10820  
 10821  // Validate inspects the fields of the type to determine if they are valid.
 10822  func (s *ListPackagesForDomainInput) Validate() error {
 10823  	invalidParams := request.ErrInvalidParams{Context: "ListPackagesForDomainInput"}
 10824  	if s.DomainName == nil {
 10825  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
 10826  	}
 10827  	if s.DomainName != nil && len(*s.DomainName) < 3 {
 10828  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
 10829  	}
 10830  
 10831  	if invalidParams.Len() > 0 {
 10832  		return invalidParams
 10833  	}
 10834  	return nil
 10835  }
 10836  
 10837  // SetDomainName sets the DomainName field's value.
 10838  func (s *ListPackagesForDomainInput) SetDomainName(v string) *ListPackagesForDomainInput {
 10839  	s.DomainName = &v
 10840  	return s
 10841  }
 10842  
 10843  // SetMaxResults sets the MaxResults field's value.
 10844  func (s *ListPackagesForDomainInput) SetMaxResults(v int64) *ListPackagesForDomainInput {
 10845  	s.MaxResults = &v
 10846  	return s
 10847  }
 10848  
 10849  // SetNextToken sets the NextToken field's value.
 10850  func (s *ListPackagesForDomainInput) SetNextToken(v string) *ListPackagesForDomainInput {
 10851  	s.NextToken = &v
 10852  	return s
 10853  }
 10854  
 10855  // Container for response parameters to ListPackagesForDomain operation.
 10856  type ListPackagesForDomainOutput struct {
 10857  	_ struct{} `type:"structure"`
 10858  
 10859  	// List of DomainPackageDetails objects.
 10860  	DomainPackageDetailsList []*DomainPackageDetails `type:"list"`
 10861  
 10862  	// Pagination token that needs to be supplied to the next call to get the next
 10863  	// page of results.
 10864  	NextToken *string `type:"string"`
 10865  }
 10866  
 10867  // String returns the string representation.
 10868  //
 10869  // API parameter values that are decorated as "sensitive" in the API will not
 10870  // be included in the string output. The member name will be present, but the
 10871  // value will be replaced with "sensitive".
 10872  func (s ListPackagesForDomainOutput) String() string {
 10873  	return awsutil.Prettify(s)
 10874  }
 10875  
 10876  // GoString returns the string representation.
 10877  //
 10878  // API parameter values that are decorated as "sensitive" in the API will not
 10879  // be included in the string output. The member name will be present, but the
 10880  // value will be replaced with "sensitive".
 10881  func (s ListPackagesForDomainOutput) GoString() string {
 10882  	return s.String()
 10883  }
 10884  
 10885  // SetDomainPackageDetailsList sets the DomainPackageDetailsList field's value.
 10886  func (s *ListPackagesForDomainOutput) SetDomainPackageDetailsList(v []*DomainPackageDetails) *ListPackagesForDomainOutput {
 10887  	s.DomainPackageDetailsList = v
 10888  	return s
 10889  }
 10890  
 10891  // SetNextToken sets the NextToken field's value.
 10892  func (s *ListPackagesForDomainOutput) SetNextToken(v string) *ListPackagesForDomainOutput {
 10893  	s.NextToken = &v
 10894  	return s
 10895  }
 10896  
 10897  // Container for the parameters to the ListTags operation. Specify the ARN for
 10898  // the Elasticsearch domain to which the tags are attached that you want to
 10899  // view are attached.
 10900  type ListTagsInput struct {
 10901  	_ struct{} `type:"structure" nopayload:"true"`
 10902  
 10903  	// Specify the ARN for the Elasticsearch domain to which the tags are attached
 10904  	// that you want to view.
 10905  	//
 10906  	// ARN is a required field
 10907  	ARN *string `location:"querystring" locationName:"arn" type:"string" required:"true"`
 10908  }
 10909  
 10910  // String returns the string representation.
 10911  //
 10912  // API parameter values that are decorated as "sensitive" in the API will not
 10913  // be included in the string output. The member name will be present, but the
 10914  // value will be replaced with "sensitive".
 10915  func (s ListTagsInput) String() string {
 10916  	return awsutil.Prettify(s)
 10917  }
 10918  
 10919  // GoString returns the string representation.
 10920  //
 10921  // API parameter values that are decorated as "sensitive" in the API will not
 10922  // be included in the string output. The member name will be present, but the
 10923  // value will be replaced with "sensitive".
 10924  func (s ListTagsInput) GoString() string {
 10925  	return s.String()
 10926  }
 10927  
 10928  // Validate inspects the fields of the type to determine if they are valid.
 10929  func (s *ListTagsInput) Validate() error {
 10930  	invalidParams := request.ErrInvalidParams{Context: "ListTagsInput"}
 10931  	if s.ARN == nil {
 10932  		invalidParams.Add(request.NewErrParamRequired("ARN"))
 10933  	}
 10934  
 10935  	if invalidParams.Len() > 0 {
 10936  		return invalidParams
 10937  	}
 10938  	return nil
 10939  }
 10940  
 10941  // SetARN sets the ARN field's value.
 10942  func (s *ListTagsInput) SetARN(v string) *ListTagsInput {
 10943  	s.ARN = &v
 10944  	return s
 10945  }
 10946  
 10947  // The result of a ListTags operation. Contains tags for all requested Elasticsearch
 10948  // domains.
 10949  type ListTagsOutput struct {
 10950  	_ struct{} `type:"structure"`
 10951  
 10952  	// List of Tag for the requested Elasticsearch domain.
 10953  	TagList []*Tag `type:"list"`
 10954  }
 10955  
 10956  // String returns the string representation.
 10957  //
 10958  // API parameter values that are decorated as "sensitive" in the API will not
 10959  // be included in the string output. The member name will be present, but the
 10960  // value will be replaced with "sensitive".
 10961  func (s ListTagsOutput) String() string {
 10962  	return awsutil.Prettify(s)
 10963  }
 10964  
 10965  // GoString returns the string representation.
 10966  //
 10967  // API parameter values that are decorated as "sensitive" in the API will not
 10968  // be included in the string output. The member name will be present, but the
 10969  // value will be replaced with "sensitive".
 10970  func (s ListTagsOutput) GoString() string {
 10971  	return s.String()
 10972  }
 10973  
 10974  // SetTagList sets the TagList field's value.
 10975  func (s *ListTagsOutput) SetTagList(v []*Tag) *ListTagsOutput {
 10976  	s.TagList = v
 10977  	return s
 10978  }
 10979  
 10980  // Log Publishing option that is set for given domain. Attributes and their
 10981  // details:
 10982  //    * CloudWatchLogsLogGroupArn: ARN of the Cloudwatch log group to which
 10983  //    log needs to be published.
 10984  //
 10985  //    * Enabled: Whether the log publishing for given log type is enabled or
 10986  //    not
 10987  type LogPublishingOption struct {
 10988  	_ struct{} `type:"structure"`
 10989  
 10990  	// ARN of the Cloudwatch log group to which log needs to be published.
 10991  	CloudWatchLogsLogGroupArn *string `type:"string"`
 10992  
 10993  	// Specifies whether given log publishing option is enabled or not.
 10994  	Enabled *bool `type:"boolean"`
 10995  }
 10996  
 10997  // String returns the string representation.
 10998  //
 10999  // API parameter values that are decorated as "sensitive" in the API will not
 11000  // be included in the string output. The member name will be present, but the
 11001  // value will be replaced with "sensitive".
 11002  func (s LogPublishingOption) String() string {
 11003  	return awsutil.Prettify(s)
 11004  }
 11005  
 11006  // GoString returns the string representation.
 11007  //
 11008  // API parameter values that are decorated as "sensitive" in the API will not
 11009  // be included in the string output. The member name will be present, but the
 11010  // value will be replaced with "sensitive".
 11011  func (s LogPublishingOption) GoString() string {
 11012  	return s.String()
 11013  }
 11014  
 11015  // SetCloudWatchLogsLogGroupArn sets the CloudWatchLogsLogGroupArn field's value.
 11016  func (s *LogPublishingOption) SetCloudWatchLogsLogGroupArn(v string) *LogPublishingOption {
 11017  	s.CloudWatchLogsLogGroupArn = &v
 11018  	return s
 11019  }
 11020  
 11021  // SetEnabled sets the Enabled field's value.
 11022  func (s *LogPublishingOption) SetEnabled(v bool) *LogPublishingOption {
 11023  	s.Enabled = &v
 11024  	return s
 11025  }
 11026  
 11027  // The configured log publishing options for the domain and their current status.
 11028  type LogPublishingOptionsStatus struct {
 11029  	_ struct{} `type:"structure"`
 11030  
 11031  	// The log publishing options configured for the Elasticsearch domain.
 11032  	Options map[string]*LogPublishingOption `type:"map"`
 11033  
 11034  	// The status of the log publishing options for the Elasticsearch domain. See
 11035  	// OptionStatus for the status information that's included.
 11036  	Status *OptionStatus `type:"structure"`
 11037  }
 11038  
 11039  // String returns the string representation.
 11040  //
 11041  // API parameter values that are decorated as "sensitive" in the API will not
 11042  // be included in the string output. The member name will be present, but the
 11043  // value will be replaced with "sensitive".
 11044  func (s LogPublishingOptionsStatus) String() string {
 11045  	return awsutil.Prettify(s)
 11046  }
 11047  
 11048  // GoString returns the string representation.
 11049  //
 11050  // API parameter values that are decorated as "sensitive" in the API will not
 11051  // be included in the string output. The member name will be present, but the
 11052  // value will be replaced with "sensitive".
 11053  func (s LogPublishingOptionsStatus) GoString() string {
 11054  	return s.String()
 11055  }
 11056  
 11057  // SetOptions sets the Options field's value.
 11058  func (s *LogPublishingOptionsStatus) SetOptions(v map[string]*LogPublishingOption) *LogPublishingOptionsStatus {
 11059  	s.Options = v
 11060  	return s
 11061  }
 11062  
 11063  // SetStatus sets the Status field's value.
 11064  func (s *LogPublishingOptionsStatus) SetStatus(v *OptionStatus) *LogPublishingOptionsStatus {
 11065  	s.Status = v
 11066  	return s
 11067  }
 11068  
 11069  // Credentials for the master user: username and password, ARN, or both.
 11070  type MasterUserOptions struct {
 11071  	_ struct{} `type:"structure"`
 11072  
 11073  	// ARN for the master user (if IAM is enabled).
 11074  	MasterUserARN *string `type:"string"`
 11075  
 11076  	// The master user's username, which is stored in the Amazon Elasticsearch Service
 11077  	// domain's internal database.
 11078  	//
 11079  	// MasterUserName is a sensitive parameter and its value will be
 11080  	// replaced with "sensitive" in string returned by MasterUserOptions's
 11081  	// String and GoString methods.
 11082  	MasterUserName *string `min:"1" type:"string" sensitive:"true"`
 11083  
 11084  	// The master user's password, which is stored in the Amazon Elasticsearch Service
 11085  	// domain's internal database.
 11086  	//
 11087  	// MasterUserPassword is a sensitive parameter and its value will be
 11088  	// replaced with "sensitive" in string returned by MasterUserOptions's
 11089  	// String and GoString methods.
 11090  	MasterUserPassword *string `min:"8" type:"string" sensitive:"true"`
 11091  }
 11092  
 11093  // String returns the string representation.
 11094  //
 11095  // API parameter values that are decorated as "sensitive" in the API will not
 11096  // be included in the string output. The member name will be present, but the
 11097  // value will be replaced with "sensitive".
 11098  func (s MasterUserOptions) String() string {
 11099  	return awsutil.Prettify(s)
 11100  }
 11101  
 11102  // GoString returns the string representation.
 11103  //
 11104  // API parameter values that are decorated as "sensitive" in the API will not
 11105  // be included in the string output. The member name will be present, but the
 11106  // value will be replaced with "sensitive".
 11107  func (s MasterUserOptions) GoString() string {
 11108  	return s.String()
 11109  }
 11110  
 11111  // Validate inspects the fields of the type to determine if they are valid.
 11112  func (s *MasterUserOptions) Validate() error {
 11113  	invalidParams := request.ErrInvalidParams{Context: "MasterUserOptions"}
 11114  	if s.MasterUserName != nil && len(*s.MasterUserName) < 1 {
 11115  		invalidParams.Add(request.NewErrParamMinLen("MasterUserName", 1))
 11116  	}
 11117  	if s.MasterUserPassword != nil && len(*s.MasterUserPassword) < 8 {
 11118  		invalidParams.Add(request.NewErrParamMinLen("MasterUserPassword", 8))
 11119  	}
 11120  
 11121  	if invalidParams.Len() > 0 {
 11122  		return invalidParams
 11123  	}
 11124  	return nil
 11125  }
 11126  
 11127  // SetMasterUserARN sets the MasterUserARN field's value.
 11128  func (s *MasterUserOptions) SetMasterUserARN(v string) *MasterUserOptions {
 11129  	s.MasterUserARN = &v
 11130  	return s
 11131  }
 11132  
 11133  // SetMasterUserName sets the MasterUserName field's value.
 11134  func (s *MasterUserOptions) SetMasterUserName(v string) *MasterUserOptions {
 11135  	s.MasterUserName = &v
 11136  	return s
 11137  }
 11138  
 11139  // SetMasterUserPassword sets the MasterUserPassword field's value.
 11140  func (s *MasterUserOptions) SetMasterUserPassword(v string) *MasterUserOptions {
 11141  	s.MasterUserPassword = &v
 11142  	return s
 11143  }
 11144  
 11145  // Specifies the node-to-node encryption options.
 11146  type NodeToNodeEncryptionOptions struct {
 11147  	_ struct{} `type:"structure"`
 11148  
 11149  	// Specify true to enable node-to-node encryption.
 11150  	Enabled *bool `type:"boolean"`
 11151  }
 11152  
 11153  // String returns the string representation.
 11154  //
 11155  // API parameter values that are decorated as "sensitive" in the API will not
 11156  // be included in the string output. The member name will be present, but the
 11157  // value will be replaced with "sensitive".
 11158  func (s NodeToNodeEncryptionOptions) String() string {
 11159  	return awsutil.Prettify(s)
 11160  }
 11161  
 11162  // GoString returns the string representation.
 11163  //
 11164  // API parameter values that are decorated as "sensitive" in the API will not
 11165  // be included in the string output. The member name will be present, but the
 11166  // value will be replaced with "sensitive".
 11167  func (s NodeToNodeEncryptionOptions) GoString() string {
 11168  	return s.String()
 11169  }
 11170  
 11171  // SetEnabled sets the Enabled field's value.
 11172  func (s *NodeToNodeEncryptionOptions) SetEnabled(v bool) *NodeToNodeEncryptionOptions {
 11173  	s.Enabled = &v
 11174  	return s
 11175  }
 11176  
 11177  // Status of the node-to-node encryption options for the specified Elasticsearch
 11178  // domain.
 11179  type NodeToNodeEncryptionOptionsStatus struct {
 11180  	_ struct{} `type:"structure"`
 11181  
 11182  	// Specifies the node-to-node encryption options for the specified Elasticsearch
 11183  	// domain.
 11184  	//
 11185  	// Options is a required field
 11186  	Options *NodeToNodeEncryptionOptions `type:"structure" required:"true"`
 11187  
 11188  	// Specifies the status of the node-to-node encryption options for the specified
 11189  	// Elasticsearch domain.
 11190  	//
 11191  	// Status is a required field
 11192  	Status *OptionStatus `type:"structure" required:"true"`
 11193  }
 11194  
 11195  // String returns the string representation.
 11196  //
 11197  // API parameter values that are decorated as "sensitive" in the API will not
 11198  // be included in the string output. The member name will be present, but the
 11199  // value will be replaced with "sensitive".
 11200  func (s NodeToNodeEncryptionOptionsStatus) String() string {
 11201  	return awsutil.Prettify(s)
 11202  }
 11203  
 11204  // GoString returns the string representation.
 11205  //
 11206  // API parameter values that are decorated as "sensitive" in the API will not
 11207  // be included in the string output. The member name will be present, but the
 11208  // value will be replaced with "sensitive".
 11209  func (s NodeToNodeEncryptionOptionsStatus) GoString() string {
 11210  	return s.String()
 11211  }
 11212  
 11213  // SetOptions sets the Options field's value.
 11214  func (s *NodeToNodeEncryptionOptionsStatus) SetOptions(v *NodeToNodeEncryptionOptions) *NodeToNodeEncryptionOptionsStatus {
 11215  	s.Options = v
 11216  	return s
 11217  }
 11218  
 11219  // SetStatus sets the Status field's value.
 11220  func (s *NodeToNodeEncryptionOptionsStatus) SetStatus(v *OptionStatus) *NodeToNodeEncryptionOptionsStatus {
 11221  	s.Status = v
 11222  	return s
 11223  }
 11224  
 11225  // Provides the current status of the entity.
 11226  type OptionStatus struct {
 11227  	_ struct{} `type:"structure"`
 11228  
 11229  	// Timestamp which tells the creation date for the entity.
 11230  	//
 11231  	// CreationDate is a required field
 11232  	CreationDate *time.Time `type:"timestamp" required:"true"`
 11233  
 11234  	// Indicates whether the Elasticsearch domain is being deleted.
 11235  	PendingDeletion *bool `type:"boolean"`
 11236  
 11237  	// Provides the OptionState for the Elasticsearch domain.
 11238  	//
 11239  	// State is a required field
 11240  	State *string `type:"string" required:"true" enum:"OptionState"`
 11241  
 11242  	// Timestamp which tells the last updated time for the entity.
 11243  	//
 11244  	// UpdateDate is a required field
 11245  	UpdateDate *time.Time `type:"timestamp" required:"true"`
 11246  
 11247  	// Specifies the latest version for the entity.
 11248  	UpdateVersion *int64 `type:"integer"`
 11249  }
 11250  
 11251  // String returns the string representation.
 11252  //
 11253  // API parameter values that are decorated as "sensitive" in the API will not
 11254  // be included in the string output. The member name will be present, but the
 11255  // value will be replaced with "sensitive".
 11256  func (s OptionStatus) String() string {
 11257  	return awsutil.Prettify(s)
 11258  }
 11259  
 11260  // GoString returns the string representation.
 11261  //
 11262  // API parameter values that are decorated as "sensitive" in the API will not
 11263  // be included in the string output. The member name will be present, but the
 11264  // value will be replaced with "sensitive".
 11265  func (s OptionStatus) GoString() string {
 11266  	return s.String()
 11267  }
 11268  
 11269  // SetCreationDate sets the CreationDate field's value.
 11270  func (s *OptionStatus) SetCreationDate(v time.Time) *OptionStatus {
 11271  	s.CreationDate = &v
 11272  	return s
 11273  }
 11274  
 11275  // SetPendingDeletion sets the PendingDeletion field's value.
 11276  func (s *OptionStatus) SetPendingDeletion(v bool) *OptionStatus {
 11277  	s.PendingDeletion = &v
 11278  	return s
 11279  }
 11280  
 11281  // SetState sets the State field's value.
 11282  func (s *OptionStatus) SetState(v string) *OptionStatus {
 11283  	s.State = &v
 11284  	return s
 11285  }
 11286  
 11287  // SetUpdateDate sets the UpdateDate field's value.
 11288  func (s *OptionStatus) SetUpdateDate(v time.Time) *OptionStatus {
 11289  	s.UpdateDate = &v
 11290  	return s
 11291  }
 11292  
 11293  // SetUpdateVersion sets the UpdateVersion field's value.
 11294  func (s *OptionStatus) SetUpdateVersion(v int64) *OptionStatus {
 11295  	s.UpdateVersion = &v
 11296  	return s
 11297  }
 11298  
 11299  // Specifies details of an outbound connection.
 11300  type OutboundCrossClusterSearchConnection struct {
 11301  	_ struct{} `type:"structure"`
 11302  
 11303  	// Specifies the connection alias for the outbound cross-cluster search connection.
 11304  	ConnectionAlias *string `type:"string"`
 11305  
 11306  	// Specifies the OutboundCrossClusterSearchConnectionStatus for the outbound
 11307  	// connection.
 11308  	ConnectionStatus *OutboundCrossClusterSearchConnectionStatus `type:"structure"`
 11309  
 11310  	// Specifies the connection id for the outbound cross-cluster search connection.
 11311  	CrossClusterSearchConnectionId *string `type:"string"`
 11312  
 11313  	// Specifies the DomainInformation for the destination Elasticsearch domain.
 11314  	DestinationDomainInfo *DomainInformation `type:"structure"`
 11315  
 11316  	// Specifies the DomainInformation for the source Elasticsearch domain.
 11317  	SourceDomainInfo *DomainInformation `type:"structure"`
 11318  }
 11319  
 11320  // String returns the string representation.
 11321  //
 11322  // API parameter values that are decorated as "sensitive" in the API will not
 11323  // be included in the string output. The member name will be present, but the
 11324  // value will be replaced with "sensitive".
 11325  func (s OutboundCrossClusterSearchConnection) String() string {
 11326  	return awsutil.Prettify(s)
 11327  }
 11328  
 11329  // GoString returns the string representation.
 11330  //
 11331  // API parameter values that are decorated as "sensitive" in the API will not
 11332  // be included in the string output. The member name will be present, but the
 11333  // value will be replaced with "sensitive".
 11334  func (s OutboundCrossClusterSearchConnection) GoString() string {
 11335  	return s.String()
 11336  }
 11337  
 11338  // SetConnectionAlias sets the ConnectionAlias field's value.
 11339  func (s *OutboundCrossClusterSearchConnection) SetConnectionAlias(v string) *OutboundCrossClusterSearchConnection {
 11340  	s.ConnectionAlias = &v
 11341  	return s
 11342  }
 11343  
 11344  // SetConnectionStatus sets the ConnectionStatus field's value.
 11345  func (s *OutboundCrossClusterSearchConnection) SetConnectionStatus(v *OutboundCrossClusterSearchConnectionStatus) *OutboundCrossClusterSearchConnection {
 11346  	s.ConnectionStatus = v
 11347  	return s
 11348  }
 11349  
 11350  // SetCrossClusterSearchConnectionId sets the CrossClusterSearchConnectionId field's value.
 11351  func (s *OutboundCrossClusterSearchConnection) SetCrossClusterSearchConnectionId(v string) *OutboundCrossClusterSearchConnection {
 11352  	s.CrossClusterSearchConnectionId = &v
 11353  	return s
 11354  }
 11355  
 11356  // SetDestinationDomainInfo sets the DestinationDomainInfo field's value.
 11357  func (s *OutboundCrossClusterSearchConnection) SetDestinationDomainInfo(v *DomainInformation) *OutboundCrossClusterSearchConnection {
 11358  	s.DestinationDomainInfo = v
 11359  	return s
 11360  }
 11361  
 11362  // SetSourceDomainInfo sets the SourceDomainInfo field's value.
 11363  func (s *OutboundCrossClusterSearchConnection) SetSourceDomainInfo(v *DomainInformation) *OutboundCrossClusterSearchConnection {
 11364  	s.SourceDomainInfo = v
 11365  	return s
 11366  }
 11367  
 11368  // Specifies the connection status of an outbound cross-cluster search connection.
 11369  type OutboundCrossClusterSearchConnectionStatus struct {
 11370  	_ struct{} `type:"structure"`
 11371  
 11372  	// Specifies verbose information for the outbound connection status.
 11373  	Message *string `type:"string"`
 11374  
 11375  	// The state code for outbound connection. This can be one of the following:
 11376  	//
 11377  	//    * VALIDATING: The outbound connection request is being validated.
 11378  	//
 11379  	//    * VALIDATION_FAILED: Validation failed for the connection request.
 11380  	//
 11381  	//    * PENDING_ACCEPTANCE: Outbound connection request is validated and is
 11382  	//    not yet accepted by destination domain owner.
 11383  	//
 11384  	//    * PROVISIONING: Outbound connection request is in process.
 11385  	//
 11386  	//    * ACTIVE: Outbound connection is active and ready to use.
 11387  	//
 11388  	//    * REJECTED: Outbound connection request is rejected by destination domain
 11389  	//    owner.
 11390  	//
 11391  	//    * DELETING: Outbound connection deletion is in progress.
 11392  	//
 11393  	//    * DELETED: Outbound connection is deleted and cannot be used further.
 11394  	StatusCode *string `type:"string" enum:"OutboundCrossClusterSearchConnectionStatusCode"`
 11395  }
 11396  
 11397  // String returns the string representation.
 11398  //
 11399  // API parameter values that are decorated as "sensitive" in the API will not
 11400  // be included in the string output. The member name will be present, but the
 11401  // value will be replaced with "sensitive".
 11402  func (s OutboundCrossClusterSearchConnectionStatus) String() string {
 11403  	return awsutil.Prettify(s)
 11404  }
 11405  
 11406  // GoString returns the string representation.
 11407  //
 11408  // API parameter values that are decorated as "sensitive" in the API will not
 11409  // be included in the string output. The member name will be present, but the
 11410  // value will be replaced with "sensitive".
 11411  func (s OutboundCrossClusterSearchConnectionStatus) GoString() string {
 11412  	return s.String()
 11413  }
 11414  
 11415  // SetMessage sets the Message field's value.
 11416  func (s *OutboundCrossClusterSearchConnectionStatus) SetMessage(v string) *OutboundCrossClusterSearchConnectionStatus {
 11417  	s.Message = &v
 11418  	return s
 11419  }
 11420  
 11421  // SetStatusCode sets the StatusCode field's value.
 11422  func (s *OutboundCrossClusterSearchConnectionStatus) SetStatusCode(v string) *OutboundCrossClusterSearchConnectionStatus {
 11423  	s.StatusCode = &v
 11424  	return s
 11425  }
 11426  
 11427  // Basic information about a package.
 11428  type PackageDetails struct {
 11429  	_ struct{} `type:"structure"`
 11430  
 11431  	AvailablePackageVersion *string `type:"string"`
 11432  
 11433  	// Timestamp which tells creation date of the package.
 11434  	CreatedAt *time.Time `type:"timestamp"`
 11435  
 11436  	// Additional information if the package is in an error state. Null otherwise.
 11437  	ErrorDetails *ErrorDetails `type:"structure"`
 11438  
 11439  	LastUpdatedAt *time.Time `type:"timestamp"`
 11440  
 11441  	// User-specified description of the package.
 11442  	PackageDescription *string `type:"string"`
 11443  
 11444  	// Internal ID of the package.
 11445  	PackageID *string `type:"string"`
 11446  
 11447  	// User specified name of the package.
 11448  	PackageName *string `min:"3" type:"string"`
 11449  
 11450  	// Current state of the package. Values are COPYING/COPY_FAILED/AVAILABLE/DELETING/DELETE_FAILED
 11451  	PackageStatus *string `type:"string" enum:"PackageStatus"`
 11452  
 11453  	// Currently supports only TXT-DICTIONARY.
 11454  	PackageType *string `type:"string" enum:"PackageType"`
 11455  }
 11456  
 11457  // String returns the string representation.
 11458  //
 11459  // API parameter values that are decorated as "sensitive" in the API will not
 11460  // be included in the string output. The member name will be present, but the
 11461  // value will be replaced with "sensitive".
 11462  func (s PackageDetails) String() string {
 11463  	return awsutil.Prettify(s)
 11464  }
 11465  
 11466  // GoString returns the string representation.
 11467  //
 11468  // API parameter values that are decorated as "sensitive" in the API will not
 11469  // be included in the string output. The member name will be present, but the
 11470  // value will be replaced with "sensitive".
 11471  func (s PackageDetails) GoString() string {
 11472  	return s.String()
 11473  }
 11474  
 11475  // SetAvailablePackageVersion sets the AvailablePackageVersion field's value.
 11476  func (s *PackageDetails) SetAvailablePackageVersion(v string) *PackageDetails {
 11477  	s.AvailablePackageVersion = &v
 11478  	return s
 11479  }
 11480  
 11481  // SetCreatedAt sets the CreatedAt field's value.
 11482  func (s *PackageDetails) SetCreatedAt(v time.Time) *PackageDetails {
 11483  	s.CreatedAt = &v
 11484  	return s
 11485  }
 11486  
 11487  // SetErrorDetails sets the ErrorDetails field's value.
 11488  func (s *PackageDetails) SetErrorDetails(v *ErrorDetails) *PackageDetails {
 11489  	s.ErrorDetails = v
 11490  	return s
 11491  }
 11492  
 11493  // SetLastUpdatedAt sets the LastUpdatedAt field's value.
 11494  func (s *PackageDetails) SetLastUpdatedAt(v time.Time) *PackageDetails {
 11495  	s.LastUpdatedAt = &v
 11496  	return s
 11497  }
 11498  
 11499  // SetPackageDescription sets the PackageDescription field's value.
 11500  func (s *PackageDetails) SetPackageDescription(v string) *PackageDetails {
 11501  	s.PackageDescription = &v
 11502  	return s
 11503  }
 11504  
 11505  // SetPackageID sets the PackageID field's value.
 11506  func (s *PackageDetails) SetPackageID(v string) *PackageDetails {
 11507  	s.PackageID = &v
 11508  	return s
 11509  }
 11510  
 11511  // SetPackageName sets the PackageName field's value.
 11512  func (s *PackageDetails) SetPackageName(v string) *PackageDetails {
 11513  	s.PackageName = &v
 11514  	return s
 11515  }
 11516  
 11517  // SetPackageStatus sets the PackageStatus field's value.
 11518  func (s *PackageDetails) SetPackageStatus(v string) *PackageDetails {
 11519  	s.PackageStatus = &v
 11520  	return s
 11521  }
 11522  
 11523  // SetPackageType sets the PackageType field's value.
 11524  func (s *PackageDetails) SetPackageType(v string) *PackageDetails {
 11525  	s.PackageType = &v
 11526  	return s
 11527  }
 11528  
 11529  // The S3 location for importing the package specified as S3BucketName and S3Key
 11530  type PackageSource struct {
 11531  	_ struct{} `type:"structure"`
 11532  
 11533  	// Name of the bucket containing the package.
 11534  	S3BucketName *string `min:"3" type:"string"`
 11535  
 11536  	// Key (file name) of the package.
 11537  	S3Key *string `type:"string"`
 11538  }
 11539  
 11540  // String returns the string representation.
 11541  //
 11542  // API parameter values that are decorated as "sensitive" in the API will not
 11543  // be included in the string output. The member name will be present, but the
 11544  // value will be replaced with "sensitive".
 11545  func (s PackageSource) String() string {
 11546  	return awsutil.Prettify(s)
 11547  }
 11548  
 11549  // GoString returns the string representation.
 11550  //
 11551  // API parameter values that are decorated as "sensitive" in the API will not
 11552  // be included in the string output. The member name will be present, but the
 11553  // value will be replaced with "sensitive".
 11554  func (s PackageSource) GoString() string {
 11555  	return s.String()
 11556  }
 11557  
 11558  // Validate inspects the fields of the type to determine if they are valid.
 11559  func (s *PackageSource) Validate() error {
 11560  	invalidParams := request.ErrInvalidParams{Context: "PackageSource"}
 11561  	if s.S3BucketName != nil && len(*s.S3BucketName) < 3 {
 11562  		invalidParams.Add(request.NewErrParamMinLen("S3BucketName", 3))
 11563  	}
 11564  
 11565  	if invalidParams.Len() > 0 {
 11566  		return invalidParams
 11567  	}
 11568  	return nil
 11569  }
 11570  
 11571  // SetS3BucketName sets the S3BucketName field's value.
 11572  func (s *PackageSource) SetS3BucketName(v string) *PackageSource {
 11573  	s.S3BucketName = &v
 11574  	return s
 11575  }
 11576  
 11577  // SetS3Key sets the S3Key field's value.
 11578  func (s *PackageSource) SetS3Key(v string) *PackageSource {
 11579  	s.S3Key = &v
 11580  	return s
 11581  }
 11582  
 11583  // Details of a package version.
 11584  type PackageVersionHistory struct {
 11585  	_ struct{} `type:"structure"`
 11586  
 11587  	// A message associated with the version.
 11588  	CommitMessage *string `type:"string"`
 11589  
 11590  	// Timestamp which tells creation time of the package version.
 11591  	CreatedAt *time.Time `type:"timestamp"`
 11592  
 11593  	// Version of the package.
 11594  	PackageVersion *string `type:"string"`
 11595  }
 11596  
 11597  // String returns the string representation.
 11598  //
 11599  // API parameter values that are decorated as "sensitive" in the API will not
 11600  // be included in the string output. The member name will be present, but the
 11601  // value will be replaced with "sensitive".
 11602  func (s PackageVersionHistory) String() string {
 11603  	return awsutil.Prettify(s)
 11604  }
 11605  
 11606  // GoString returns the string representation.
 11607  //
 11608  // API parameter values that are decorated as "sensitive" in the API will not
 11609  // be included in the string output. The member name will be present, but the
 11610  // value will be replaced with "sensitive".
 11611  func (s PackageVersionHistory) GoString() string {
 11612  	return s.String()
 11613  }
 11614  
 11615  // SetCommitMessage sets the CommitMessage field's value.
 11616  func (s *PackageVersionHistory) SetCommitMessage(v string) *PackageVersionHistory {
 11617  	s.CommitMessage = &v
 11618  	return s
 11619  }
 11620  
 11621  // SetCreatedAt sets the CreatedAt field's value.
 11622  func (s *PackageVersionHistory) SetCreatedAt(v time.Time) *PackageVersionHistory {
 11623  	s.CreatedAt = &v
 11624  	return s
 11625  }
 11626  
 11627  // SetPackageVersion sets the PackageVersion field's value.
 11628  func (s *PackageVersionHistory) SetPackageVersion(v string) *PackageVersionHistory {
 11629  	s.PackageVersion = &v
 11630  	return s
 11631  }
 11632  
 11633  // Container for parameters to PurchaseReservedElasticsearchInstanceOffering
 11634  type PurchaseReservedElasticsearchInstanceOfferingInput struct {
 11635  	_ struct{} `type:"structure"`
 11636  
 11637  	// The number of Elasticsearch instances to reserve.
 11638  	InstanceCount *int64 `min:"1" type:"integer"`
 11639  
 11640  	// A customer-specified identifier to track this reservation.
 11641  	//
 11642  	// ReservationName is a required field
 11643  	ReservationName *string `min:"5" type:"string" required:"true"`
 11644  
 11645  	// The ID of the reserved Elasticsearch instance offering to purchase.
 11646  	//
 11647  	// ReservedElasticsearchInstanceOfferingId is a required field
 11648  	ReservedElasticsearchInstanceOfferingId *string `type:"string" required:"true"`
 11649  }
 11650  
 11651  // String returns the string representation.
 11652  //
 11653  // API parameter values that are decorated as "sensitive" in the API will not
 11654  // be included in the string output. The member name will be present, but the
 11655  // value will be replaced with "sensitive".
 11656  func (s PurchaseReservedElasticsearchInstanceOfferingInput) String() string {
 11657  	return awsutil.Prettify(s)
 11658  }
 11659  
 11660  // GoString returns the string representation.
 11661  //
 11662  // API parameter values that are decorated as "sensitive" in the API will not
 11663  // be included in the string output. The member name will be present, but the
 11664  // value will be replaced with "sensitive".
 11665  func (s PurchaseReservedElasticsearchInstanceOfferingInput) GoString() string {
 11666  	return s.String()
 11667  }
 11668  
 11669  // Validate inspects the fields of the type to determine if they are valid.
 11670  func (s *PurchaseReservedElasticsearchInstanceOfferingInput) Validate() error {
 11671  	invalidParams := request.ErrInvalidParams{Context: "PurchaseReservedElasticsearchInstanceOfferingInput"}
 11672  	if s.InstanceCount != nil && *s.InstanceCount < 1 {
 11673  		invalidParams.Add(request.NewErrParamMinValue("InstanceCount", 1))
 11674  	}
 11675  	if s.ReservationName == nil {
 11676  		invalidParams.Add(request.NewErrParamRequired("ReservationName"))
 11677  	}
 11678  	if s.ReservationName != nil && len(*s.ReservationName) < 5 {
 11679  		invalidParams.Add(request.NewErrParamMinLen("ReservationName", 5))
 11680  	}
 11681  	if s.ReservedElasticsearchInstanceOfferingId == nil {
 11682  		invalidParams.Add(request.NewErrParamRequired("ReservedElasticsearchInstanceOfferingId"))
 11683  	}
 11684  
 11685  	if invalidParams.Len() > 0 {
 11686  		return invalidParams
 11687  	}
 11688  	return nil
 11689  }
 11690  
 11691  // SetInstanceCount sets the InstanceCount field's value.
 11692  func (s *PurchaseReservedElasticsearchInstanceOfferingInput) SetInstanceCount(v int64) *PurchaseReservedElasticsearchInstanceOfferingInput {
 11693  	s.InstanceCount = &v
 11694  	return s
 11695  }
 11696  
 11697  // SetReservationName sets the ReservationName field's value.
 11698  func (s *PurchaseReservedElasticsearchInstanceOfferingInput) SetReservationName(v string) *PurchaseReservedElasticsearchInstanceOfferingInput {
 11699  	s.ReservationName = &v
 11700  	return s
 11701  }
 11702  
 11703  // SetReservedElasticsearchInstanceOfferingId sets the ReservedElasticsearchInstanceOfferingId field's value.
 11704  func (s *PurchaseReservedElasticsearchInstanceOfferingInput) SetReservedElasticsearchInstanceOfferingId(v string) *PurchaseReservedElasticsearchInstanceOfferingInput {
 11705  	s.ReservedElasticsearchInstanceOfferingId = &v
 11706  	return s
 11707  }
 11708  
 11709  // Represents the output of a PurchaseReservedElasticsearchInstanceOffering
 11710  // operation.
 11711  type PurchaseReservedElasticsearchInstanceOfferingOutput struct {
 11712  	_ struct{} `type:"structure"`
 11713  
 11714  	// The customer-specified identifier used to track this reservation.
 11715  	ReservationName *string `min:"5" type:"string"`
 11716  
 11717  	// Details of the reserved Elasticsearch instance which was purchased.
 11718  	ReservedElasticsearchInstanceId *string `type:"string"`
 11719  }
 11720  
 11721  // String returns the string representation.
 11722  //
 11723  // API parameter values that are decorated as "sensitive" in the API will not
 11724  // be included in the string output. The member name will be present, but the
 11725  // value will be replaced with "sensitive".
 11726  func (s PurchaseReservedElasticsearchInstanceOfferingOutput) String() string {
 11727  	return awsutil.Prettify(s)
 11728  }
 11729  
 11730  // GoString returns the string representation.
 11731  //
 11732  // API parameter values that are decorated as "sensitive" in the API will not
 11733  // be included in the string output. The member name will be present, but the
 11734  // value will be replaced with "sensitive".
 11735  func (s PurchaseReservedElasticsearchInstanceOfferingOutput) GoString() string {
 11736  	return s.String()
 11737  }
 11738  
 11739  // SetReservationName sets the ReservationName field's value.
 11740  func (s *PurchaseReservedElasticsearchInstanceOfferingOutput) SetReservationName(v string) *PurchaseReservedElasticsearchInstanceOfferingOutput {
 11741  	s.ReservationName = &v
 11742  	return s
 11743  }
 11744  
 11745  // SetReservedElasticsearchInstanceId sets the ReservedElasticsearchInstanceId field's value.
 11746  func (s *PurchaseReservedElasticsearchInstanceOfferingOutput) SetReservedElasticsearchInstanceId(v string) *PurchaseReservedElasticsearchInstanceOfferingOutput {
 11747  	s.ReservedElasticsearchInstanceId = &v
 11748  	return s
 11749  }
 11750  
 11751  // Contains the specific price and frequency of a recurring charges for a reserved
 11752  // Elasticsearch instance, or for a reserved Elasticsearch instance offering.
 11753  type RecurringCharge struct {
 11754  	_ struct{} `type:"structure"`
 11755  
 11756  	// The monetary amount of the recurring charge.
 11757  	RecurringChargeAmount *float64 `type:"double"`
 11758  
 11759  	// The frequency of the recurring charge.
 11760  	RecurringChargeFrequency *string `type:"string"`
 11761  }
 11762  
 11763  // String returns the string representation.
 11764  //
 11765  // API parameter values that are decorated as "sensitive" in the API will not
 11766  // be included in the string output. The member name will be present, but the
 11767  // value will be replaced with "sensitive".
 11768  func (s RecurringCharge) String() string {
 11769  	return awsutil.Prettify(s)
 11770  }
 11771  
 11772  // GoString returns the string representation.
 11773  //
 11774  // API parameter values that are decorated as "sensitive" in the API will not
 11775  // be included in the string output. The member name will be present, but the
 11776  // value will be replaced with "sensitive".
 11777  func (s RecurringCharge) GoString() string {
 11778  	return s.String()
 11779  }
 11780  
 11781  // SetRecurringChargeAmount sets the RecurringChargeAmount field's value.
 11782  func (s *RecurringCharge) SetRecurringChargeAmount(v float64) *RecurringCharge {
 11783  	s.RecurringChargeAmount = &v
 11784  	return s
 11785  }
 11786  
 11787  // SetRecurringChargeFrequency sets the RecurringChargeFrequency field's value.
 11788  func (s *RecurringCharge) SetRecurringChargeFrequency(v string) *RecurringCharge {
 11789  	s.RecurringChargeFrequency = &v
 11790  	return s
 11791  }
 11792  
 11793  // Container for the parameters to the RejectInboundCrossClusterSearchConnection
 11794  // operation.
 11795  type RejectInboundCrossClusterSearchConnectionInput struct {
 11796  	_ struct{} `type:"structure" nopayload:"true"`
 11797  
 11798  	// The id of the inbound connection that you want to reject.
 11799  	//
 11800  	// CrossClusterSearchConnectionId is a required field
 11801  	CrossClusterSearchConnectionId *string `location:"uri" locationName:"ConnectionId" type:"string" required:"true"`
 11802  }
 11803  
 11804  // String returns the string representation.
 11805  //
 11806  // API parameter values that are decorated as "sensitive" in the API will not
 11807  // be included in the string output. The member name will be present, but the
 11808  // value will be replaced with "sensitive".
 11809  func (s RejectInboundCrossClusterSearchConnectionInput) String() string {
 11810  	return awsutil.Prettify(s)
 11811  }
 11812  
 11813  // GoString returns the string representation.
 11814  //
 11815  // API parameter values that are decorated as "sensitive" in the API will not
 11816  // be included in the string output. The member name will be present, but the
 11817  // value will be replaced with "sensitive".
 11818  func (s RejectInboundCrossClusterSearchConnectionInput) GoString() string {
 11819  	return s.String()
 11820  }
 11821  
 11822  // Validate inspects the fields of the type to determine if they are valid.
 11823  func (s *RejectInboundCrossClusterSearchConnectionInput) Validate() error {
 11824  	invalidParams := request.ErrInvalidParams{Context: "RejectInboundCrossClusterSearchConnectionInput"}
 11825  	if s.CrossClusterSearchConnectionId == nil {
 11826  		invalidParams.Add(request.NewErrParamRequired("CrossClusterSearchConnectionId"))
 11827  	}
 11828  	if s.CrossClusterSearchConnectionId != nil && len(*s.CrossClusterSearchConnectionId) < 1 {
 11829  		invalidParams.Add(request.NewErrParamMinLen("CrossClusterSearchConnectionId", 1))
 11830  	}
 11831  
 11832  	if invalidParams.Len() > 0 {
 11833  		return invalidParams
 11834  	}
 11835  	return nil
 11836  }
 11837  
 11838  // SetCrossClusterSearchConnectionId sets the CrossClusterSearchConnectionId field's value.
 11839  func (s *RejectInboundCrossClusterSearchConnectionInput) SetCrossClusterSearchConnectionId(v string) *RejectInboundCrossClusterSearchConnectionInput {
 11840  	s.CrossClusterSearchConnectionId = &v
 11841  	return s
 11842  }
 11843  
 11844  // The result of a RejectInboundCrossClusterSearchConnection operation. Contains
 11845  // details of rejected inbound connection.
 11846  type RejectInboundCrossClusterSearchConnectionOutput struct {
 11847  	_ struct{} `type:"structure"`
 11848  
 11849  	// Specifies the InboundCrossClusterSearchConnection of rejected inbound connection.
 11850  	CrossClusterSearchConnection *InboundCrossClusterSearchConnection `type:"structure"`
 11851  }
 11852  
 11853  // String returns the string representation.
 11854  //
 11855  // API parameter values that are decorated as "sensitive" in the API will not
 11856  // be included in the string output. The member name will be present, but the
 11857  // value will be replaced with "sensitive".
 11858  func (s RejectInboundCrossClusterSearchConnectionOutput) String() string {
 11859  	return awsutil.Prettify(s)
 11860  }
 11861  
 11862  // GoString returns the string representation.
 11863  //
 11864  // API parameter values that are decorated as "sensitive" in the API will not
 11865  // be included in the string output. The member name will be present, but the
 11866  // value will be replaced with "sensitive".
 11867  func (s RejectInboundCrossClusterSearchConnectionOutput) GoString() string {
 11868  	return s.String()
 11869  }
 11870  
 11871  // SetCrossClusterSearchConnection sets the CrossClusterSearchConnection field's value.
 11872  func (s *RejectInboundCrossClusterSearchConnectionOutput) SetCrossClusterSearchConnection(v *InboundCrossClusterSearchConnection) *RejectInboundCrossClusterSearchConnectionOutput {
 11873  	s.CrossClusterSearchConnection = v
 11874  	return s
 11875  }
 11876  
 11877  // Container for the parameters to the RemoveTags operation. Specify the ARN
 11878  // for the Elasticsearch domain from which you want to remove the specified
 11879  // TagKey.
 11880  type RemoveTagsInput struct {
 11881  	_ struct{} `type:"structure"`
 11882  
 11883  	// Specifies the ARN for the Elasticsearch domain from which you want to delete
 11884  	// the specified tags.
 11885  	//
 11886  	// ARN is a required field
 11887  	ARN *string `type:"string" required:"true"`
 11888  
 11889  	// Specifies the TagKey list which you want to remove from the Elasticsearch
 11890  	// domain.
 11891  	//
 11892  	// TagKeys is a required field
 11893  	TagKeys []*string `type:"list" required:"true"`
 11894  }
 11895  
 11896  // String returns the string representation.
 11897  //
 11898  // API parameter values that are decorated as "sensitive" in the API will not
 11899  // be included in the string output. The member name will be present, but the
 11900  // value will be replaced with "sensitive".
 11901  func (s RemoveTagsInput) String() string {
 11902  	return awsutil.Prettify(s)
 11903  }
 11904  
 11905  // GoString returns the string representation.
 11906  //
 11907  // API parameter values that are decorated as "sensitive" in the API will not
 11908  // be included in the string output. The member name will be present, but the
 11909  // value will be replaced with "sensitive".
 11910  func (s RemoveTagsInput) GoString() string {
 11911  	return s.String()
 11912  }
 11913  
 11914  // Validate inspects the fields of the type to determine if they are valid.
 11915  func (s *RemoveTagsInput) Validate() error {
 11916  	invalidParams := request.ErrInvalidParams{Context: "RemoveTagsInput"}
 11917  	if s.ARN == nil {
 11918  		invalidParams.Add(request.NewErrParamRequired("ARN"))
 11919  	}
 11920  	if s.TagKeys == nil {
 11921  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
 11922  	}
 11923  
 11924  	if invalidParams.Len() > 0 {
 11925  		return invalidParams
 11926  	}
 11927  	return nil
 11928  }
 11929  
 11930  // SetARN sets the ARN field's value.
 11931  func (s *RemoveTagsInput) SetARN(v string) *RemoveTagsInput {
 11932  	s.ARN = &v
 11933  	return s
 11934  }
 11935  
 11936  // SetTagKeys sets the TagKeys field's value.
 11937  func (s *RemoveTagsInput) SetTagKeys(v []*string) *RemoveTagsInput {
 11938  	s.TagKeys = v
 11939  	return s
 11940  }
 11941  
 11942  type RemoveTagsOutput struct {
 11943  	_ struct{} `type:"structure" nopayload:"true"`
 11944  }
 11945  
 11946  // String returns the string representation.
 11947  //
 11948  // API parameter values that are decorated as "sensitive" in the API will not
 11949  // be included in the string output. The member name will be present, but the
 11950  // value will be replaced with "sensitive".
 11951  func (s RemoveTagsOutput) String() string {
 11952  	return awsutil.Prettify(s)
 11953  }
 11954  
 11955  // GoString returns the string representation.
 11956  //
 11957  // API parameter values that are decorated as "sensitive" in the API will not
 11958  // be included in the string output. The member name will be present, but the
 11959  // value will be replaced with "sensitive".
 11960  func (s RemoveTagsOutput) GoString() string {
 11961  	return s.String()
 11962  }
 11963  
 11964  // Details of a reserved Elasticsearch instance.
 11965  type ReservedElasticsearchInstance struct {
 11966  	_ struct{} `type:"structure"`
 11967  
 11968  	// The currency code for the reserved Elasticsearch instance offering.
 11969  	CurrencyCode *string `type:"string"`
 11970  
 11971  	// The duration, in seconds, for which the Elasticsearch instance is reserved.
 11972  	Duration *int64 `type:"integer"`
 11973  
 11974  	// The number of Elasticsearch instances that have been reserved.
 11975  	ElasticsearchInstanceCount *int64 `type:"integer"`
 11976  
 11977  	// The Elasticsearch instance type offered by the reserved instance offering.
 11978  	ElasticsearchInstanceType *string `type:"string" enum:"ESPartitionInstanceType"`
 11979  
 11980  	// The upfront fixed charge you will paid to purchase the specific reserved
 11981  	// Elasticsearch instance offering.
 11982  	FixedPrice *float64 `type:"double"`
 11983  
 11984  	// The payment option as defined in the reserved Elasticsearch instance offering.
 11985  	PaymentOption *string `type:"string" enum:"ReservedElasticsearchInstancePaymentOption"`
 11986  
 11987  	// The charge to your account regardless of whether you are creating any domains
 11988  	// using the instance offering.
 11989  	RecurringCharges []*RecurringCharge `type:"list"`
 11990  
 11991  	// The customer-specified identifier to track this reservation.
 11992  	ReservationName *string `min:"5" type:"string"`
 11993  
 11994  	// The unique identifier for the reservation.
 11995  	ReservedElasticsearchInstanceId *string `type:"string"`
 11996  
 11997  	// The offering identifier.
 11998  	ReservedElasticsearchInstanceOfferingId *string `type:"string"`
 11999  
 12000  	// The time the reservation started.
 12001  	StartTime *time.Time `type:"timestamp"`
 12002  
 12003  	// The state of the reserved Elasticsearch instance.
 12004  	State *string `type:"string"`
 12005  
 12006  	// The rate you are charged for each hour for the domain that is using this
 12007  	// reserved instance.
 12008  	UsagePrice *float64 `type:"double"`
 12009  }
 12010  
 12011  // String returns the string representation.
 12012  //
 12013  // API parameter values that are decorated as "sensitive" in the API will not
 12014  // be included in the string output. The member name will be present, but the
 12015  // value will be replaced with "sensitive".
 12016  func (s ReservedElasticsearchInstance) String() string {
 12017  	return awsutil.Prettify(s)
 12018  }
 12019  
 12020  // GoString returns the string representation.
 12021  //
 12022  // API parameter values that are decorated as "sensitive" in the API will not
 12023  // be included in the string output. The member name will be present, but the
 12024  // value will be replaced with "sensitive".
 12025  func (s ReservedElasticsearchInstance) GoString() string {
 12026  	return s.String()
 12027  }
 12028  
 12029  // SetCurrencyCode sets the CurrencyCode field's value.
 12030  func (s *ReservedElasticsearchInstance) SetCurrencyCode(v string) *ReservedElasticsearchInstance {
 12031  	s.CurrencyCode = &v
 12032  	return s
 12033  }
 12034  
 12035  // SetDuration sets the Duration field's value.
 12036  func (s *ReservedElasticsearchInstance) SetDuration(v int64) *ReservedElasticsearchInstance {
 12037  	s.Duration = &v
 12038  	return s
 12039  }
 12040  
 12041  // SetElasticsearchInstanceCount sets the ElasticsearchInstanceCount field's value.
 12042  func (s *ReservedElasticsearchInstance) SetElasticsearchInstanceCount(v int64) *ReservedElasticsearchInstance {
 12043  	s.ElasticsearchInstanceCount = &v
 12044  	return s
 12045  }
 12046  
 12047  // SetElasticsearchInstanceType sets the ElasticsearchInstanceType field's value.
 12048  func (s *ReservedElasticsearchInstance) SetElasticsearchInstanceType(v string) *ReservedElasticsearchInstance {
 12049  	s.ElasticsearchInstanceType = &v
 12050  	return s
 12051  }
 12052  
 12053  // SetFixedPrice sets the FixedPrice field's value.
 12054  func (s *ReservedElasticsearchInstance) SetFixedPrice(v float64) *ReservedElasticsearchInstance {
 12055  	s.FixedPrice = &v
 12056  	return s
 12057  }
 12058  
 12059  // SetPaymentOption sets the PaymentOption field's value.
 12060  func (s *ReservedElasticsearchInstance) SetPaymentOption(v string) *ReservedElasticsearchInstance {
 12061  	s.PaymentOption = &v
 12062  	return s
 12063  }
 12064  
 12065  // SetRecurringCharges sets the RecurringCharges field's value.
 12066  func (s *ReservedElasticsearchInstance) SetRecurringCharges(v []*RecurringCharge) *ReservedElasticsearchInstance {
 12067  	s.RecurringCharges = v
 12068  	return s
 12069  }
 12070  
 12071  // SetReservationName sets the ReservationName field's value.
 12072  func (s *ReservedElasticsearchInstance) SetReservationName(v string) *ReservedElasticsearchInstance {
 12073  	s.ReservationName = &v
 12074  	return s
 12075  }
 12076  
 12077  // SetReservedElasticsearchInstanceId sets the ReservedElasticsearchInstanceId field's value.
 12078  func (s *ReservedElasticsearchInstance) SetReservedElasticsearchInstanceId(v string) *ReservedElasticsearchInstance {
 12079  	s.ReservedElasticsearchInstanceId = &v
 12080  	return s
 12081  }
 12082  
 12083  // SetReservedElasticsearchInstanceOfferingId sets the ReservedElasticsearchInstanceOfferingId field's value.
 12084  func (s *ReservedElasticsearchInstance) SetReservedElasticsearchInstanceOfferingId(v string) *ReservedElasticsearchInstance {
 12085  	s.ReservedElasticsearchInstanceOfferingId = &v
 12086  	return s
 12087  }
 12088  
 12089  // SetStartTime sets the StartTime field's value.
 12090  func (s *ReservedElasticsearchInstance) SetStartTime(v time.Time) *ReservedElasticsearchInstance {
 12091  	s.StartTime = &v
 12092  	return s
 12093  }
 12094  
 12095  // SetState sets the State field's value.
 12096  func (s *ReservedElasticsearchInstance) SetState(v string) *ReservedElasticsearchInstance {
 12097  	s.State = &v
 12098  	return s
 12099  }
 12100  
 12101  // SetUsagePrice sets the UsagePrice field's value.
 12102  func (s *ReservedElasticsearchInstance) SetUsagePrice(v float64) *ReservedElasticsearchInstance {
 12103  	s.UsagePrice = &v
 12104  	return s
 12105  }
 12106  
 12107  // Details of a reserved Elasticsearch instance offering.
 12108  type ReservedElasticsearchInstanceOffering struct {
 12109  	_ struct{} `type:"structure"`
 12110  
 12111  	// The currency code for the reserved Elasticsearch instance offering.
 12112  	CurrencyCode *string `type:"string"`
 12113  
 12114  	// The duration, in seconds, for which the offering will reserve the Elasticsearch
 12115  	// instance.
 12116  	Duration *int64 `type:"integer"`
 12117  
 12118  	// The Elasticsearch instance type offered by the reserved instance offering.
 12119  	ElasticsearchInstanceType *string `type:"string" enum:"ESPartitionInstanceType"`
 12120  
 12121  	// The upfront fixed charge you will pay to purchase the specific reserved Elasticsearch
 12122  	// instance offering.
 12123  	FixedPrice *float64 `type:"double"`
 12124  
 12125  	// Payment option for the reserved Elasticsearch instance offering
 12126  	PaymentOption *string `type:"string" enum:"ReservedElasticsearchInstancePaymentOption"`
 12127  
 12128  	// The charge to your account regardless of whether you are creating any domains
 12129  	// using the instance offering.
 12130  	RecurringCharges []*RecurringCharge `type:"list"`
 12131  
 12132  	// The Elasticsearch reserved instance offering identifier.
 12133  	ReservedElasticsearchInstanceOfferingId *string `type:"string"`
 12134  
 12135  	// The rate you are charged for each hour the domain that is using the offering
 12136  	// is running.
 12137  	UsagePrice *float64 `type:"double"`
 12138  }
 12139  
 12140  // String returns the string representation.
 12141  //
 12142  // API parameter values that are decorated as "sensitive" in the API will not
 12143  // be included in the string output. The member name will be present, but the
 12144  // value will be replaced with "sensitive".
 12145  func (s ReservedElasticsearchInstanceOffering) String() string {
 12146  	return awsutil.Prettify(s)
 12147  }
 12148  
 12149  // GoString returns the string representation.
 12150  //
 12151  // API parameter values that are decorated as "sensitive" in the API will not
 12152  // be included in the string output. The member name will be present, but the
 12153  // value will be replaced with "sensitive".
 12154  func (s ReservedElasticsearchInstanceOffering) GoString() string {
 12155  	return s.String()
 12156  }
 12157  
 12158  // SetCurrencyCode sets the CurrencyCode field's value.
 12159  func (s *ReservedElasticsearchInstanceOffering) SetCurrencyCode(v string) *ReservedElasticsearchInstanceOffering {
 12160  	s.CurrencyCode = &v
 12161  	return s
 12162  }
 12163  
 12164  // SetDuration sets the Duration field's value.
 12165  func (s *ReservedElasticsearchInstanceOffering) SetDuration(v int64) *ReservedElasticsearchInstanceOffering {
 12166  	s.Duration = &v
 12167  	return s
 12168  }
 12169  
 12170  // SetElasticsearchInstanceType sets the ElasticsearchInstanceType field's value.
 12171  func (s *ReservedElasticsearchInstanceOffering) SetElasticsearchInstanceType(v string) *ReservedElasticsearchInstanceOffering {
 12172  	s.ElasticsearchInstanceType = &v
 12173  	return s
 12174  }
 12175  
 12176  // SetFixedPrice sets the FixedPrice field's value.
 12177  func (s *ReservedElasticsearchInstanceOffering) SetFixedPrice(v float64) *ReservedElasticsearchInstanceOffering {
 12178  	s.FixedPrice = &v
 12179  	return s
 12180  }
 12181  
 12182  // SetPaymentOption sets the PaymentOption field's value.
 12183  func (s *ReservedElasticsearchInstanceOffering) SetPaymentOption(v string) *ReservedElasticsearchInstanceOffering {
 12184  	s.PaymentOption = &v
 12185  	return s
 12186  }
 12187  
 12188  // SetRecurringCharges sets the RecurringCharges field's value.
 12189  func (s *ReservedElasticsearchInstanceOffering) SetRecurringCharges(v []*RecurringCharge) *ReservedElasticsearchInstanceOffering {
 12190  	s.RecurringCharges = v
 12191  	return s
 12192  }
 12193  
 12194  // SetReservedElasticsearchInstanceOfferingId sets the ReservedElasticsearchInstanceOfferingId field's value.
 12195  func (s *ReservedElasticsearchInstanceOffering) SetReservedElasticsearchInstanceOfferingId(v string) *ReservedElasticsearchInstanceOffering {
 12196  	s.ReservedElasticsearchInstanceOfferingId = &v
 12197  	return s
 12198  }
 12199  
 12200  // SetUsagePrice sets the UsagePrice field's value.
 12201  func (s *ReservedElasticsearchInstanceOffering) SetUsagePrice(v float64) *ReservedElasticsearchInstanceOffering {
 12202  	s.UsagePrice = &v
 12203  	return s
 12204  }
 12205  
 12206  // An exception for creating a resource that already exists. Gives http status
 12207  // code of 400.
 12208  type ResourceAlreadyExistsException struct {
 12209  	_            struct{}                  `type:"structure"`
 12210  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 12211  
 12212  	Message_ *string `locationName:"message" type:"string"`
 12213  }
 12214  
 12215  // String returns the string representation.
 12216  //
 12217  // API parameter values that are decorated as "sensitive" in the API will not
 12218  // be included in the string output. The member name will be present, but the
 12219  // value will be replaced with "sensitive".
 12220  func (s ResourceAlreadyExistsException) String() string {
 12221  	return awsutil.Prettify(s)
 12222  }
 12223  
 12224  // GoString returns the string representation.
 12225  //
 12226  // API parameter values that are decorated as "sensitive" in the API will not
 12227  // be included in the string output. The member name will be present, but the
 12228  // value will be replaced with "sensitive".
 12229  func (s ResourceAlreadyExistsException) GoString() string {
 12230  	return s.String()
 12231  }
 12232  
 12233  func newErrorResourceAlreadyExistsException(v protocol.ResponseMetadata) error {
 12234  	return &ResourceAlreadyExistsException{
 12235  		RespMetadata: v,
 12236  	}
 12237  }
 12238  
 12239  // Code returns the exception type name.
 12240  func (s *ResourceAlreadyExistsException) Code() string {
 12241  	return "ResourceAlreadyExistsException"
 12242  }
 12243  
 12244  // Message returns the exception's message.
 12245  func (s *ResourceAlreadyExistsException) Message() string {
 12246  	if s.Message_ != nil {
 12247  		return *s.Message_
 12248  	}
 12249  	return ""
 12250  }
 12251  
 12252  // OrigErr always returns nil, satisfies awserr.Error interface.
 12253  func (s *ResourceAlreadyExistsException) OrigErr() error {
 12254  	return nil
 12255  }
 12256  
 12257  func (s *ResourceAlreadyExistsException) Error() string {
 12258  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 12259  }
 12260  
 12261  // Status code returns the HTTP status code for the request's response error.
 12262  func (s *ResourceAlreadyExistsException) StatusCode() int {
 12263  	return s.RespMetadata.StatusCode
 12264  }
 12265  
 12266  // RequestID returns the service's response RequestID for request.
 12267  func (s *ResourceAlreadyExistsException) RequestID() string {
 12268  	return s.RespMetadata.RequestID
 12269  }
 12270  
 12271  // An exception for accessing or deleting a resource that does not exist. Gives
 12272  // http status code of 400.
 12273  type ResourceNotFoundException struct {
 12274  	_            struct{}                  `type:"structure"`
 12275  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 12276  
 12277  	Message_ *string `locationName:"message" type:"string"`
 12278  }
 12279  
 12280  // String returns the string representation.
 12281  //
 12282  // API parameter values that are decorated as "sensitive" in the API will not
 12283  // be included in the string output. The member name will be present, but the
 12284  // value will be replaced with "sensitive".
 12285  func (s ResourceNotFoundException) String() string {
 12286  	return awsutil.Prettify(s)
 12287  }
 12288  
 12289  // GoString returns the string representation.
 12290  //
 12291  // API parameter values that are decorated as "sensitive" in the API will not
 12292  // be included in the string output. The member name will be present, but the
 12293  // value will be replaced with "sensitive".
 12294  func (s ResourceNotFoundException) GoString() string {
 12295  	return s.String()
 12296  }
 12297  
 12298  func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
 12299  	return &ResourceNotFoundException{
 12300  		RespMetadata: v,
 12301  	}
 12302  }
 12303  
 12304  // Code returns the exception type name.
 12305  func (s *ResourceNotFoundException) Code() string {
 12306  	return "ResourceNotFoundException"
 12307  }
 12308  
 12309  // Message returns the exception's message.
 12310  func (s *ResourceNotFoundException) Message() string {
 12311  	if s.Message_ != nil {
 12312  		return *s.Message_
 12313  	}
 12314  	return ""
 12315  }
 12316  
 12317  // OrigErr always returns nil, satisfies awserr.Error interface.
 12318  func (s *ResourceNotFoundException) OrigErr() error {
 12319  	return nil
 12320  }
 12321  
 12322  func (s *ResourceNotFoundException) Error() string {
 12323  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 12324  }
 12325  
 12326  // Status code returns the HTTP status code for the request's response error.
 12327  func (s *ResourceNotFoundException) StatusCode() int {
 12328  	return s.RespMetadata.StatusCode
 12329  }
 12330  
 12331  // RequestID returns the service's response RequestID for request.
 12332  func (s *ResourceNotFoundException) RequestID() string {
 12333  	return s.RespMetadata.RequestID
 12334  }
 12335  
 12336  // Specifies the SAML Identity Provider's information.
 12337  type SAMLIdp struct {
 12338  	_ struct{} `type:"structure"`
 12339  
 12340  	// The unique Entity ID of the application in SAML Identity Provider.
 12341  	//
 12342  	// EntityId is a required field
 12343  	EntityId *string `min:"8" type:"string" required:"true"`
 12344  
 12345  	// The Metadata of the SAML application in xml format.
 12346  	//
 12347  	// MetadataContent is a required field
 12348  	MetadataContent *string `min:"1" type:"string" 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 SAMLIdp) 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 SAMLIdp) GoString() string {
 12366  	return s.String()
 12367  }
 12368  
 12369  // Validate inspects the fields of the type to determine if they are valid.
 12370  func (s *SAMLIdp) Validate() error {
 12371  	invalidParams := request.ErrInvalidParams{Context: "SAMLIdp"}
 12372  	if s.EntityId == nil {
 12373  		invalidParams.Add(request.NewErrParamRequired("EntityId"))
 12374  	}
 12375  	if s.EntityId != nil && len(*s.EntityId) < 8 {
 12376  		invalidParams.Add(request.NewErrParamMinLen("EntityId", 8))
 12377  	}
 12378  	if s.MetadataContent == nil {
 12379  		invalidParams.Add(request.NewErrParamRequired("MetadataContent"))
 12380  	}
 12381  	if s.MetadataContent != nil && len(*s.MetadataContent) < 1 {
 12382  		invalidParams.Add(request.NewErrParamMinLen("MetadataContent", 1))
 12383  	}
 12384  
 12385  	if invalidParams.Len() > 0 {
 12386  		return invalidParams
 12387  	}
 12388  	return nil
 12389  }
 12390  
 12391  // SetEntityId sets the EntityId field's value.
 12392  func (s *SAMLIdp) SetEntityId(v string) *SAMLIdp {
 12393  	s.EntityId = &v
 12394  	return s
 12395  }
 12396  
 12397  // SetMetadataContent sets the MetadataContent field's value.
 12398  func (s *SAMLIdp) SetMetadataContent(v string) *SAMLIdp {
 12399  	s.MetadataContent = &v
 12400  	return s
 12401  }
 12402  
 12403  // Specifies the SAML application configuration for the domain.
 12404  type SAMLOptionsInput struct {
 12405  	_ struct{} `type:"structure"`
 12406  
 12407  	// True if SAML is enabled.
 12408  	Enabled *bool `type:"boolean"`
 12409  
 12410  	// Specifies the SAML Identity Provider's information.
 12411  	Idp *SAMLIdp `type:"structure"`
 12412  
 12413  	// The backend role to which the SAML master user is mapped to.
 12414  	MasterBackendRole *string `min:"1" type:"string"`
 12415  
 12416  	// The SAML master username, which is stored in the Amazon Elasticsearch Service
 12417  	// domain's internal database.
 12418  	//
 12419  	// MasterUserName is a sensitive parameter and its value will be
 12420  	// replaced with "sensitive" in string returned by SAMLOptionsInput's
 12421  	// String and GoString methods.
 12422  	MasterUserName *string `min:"1" type:"string" sensitive:"true"`
 12423  
 12424  	// The key to use for matching the SAML Roles attribute.
 12425  	RolesKey *string `type:"string"`
 12426  
 12427  	// The duration, in minutes, after which a user session becomes inactive. Acceptable
 12428  	// values are between 1 and 1440, and the default value is 60.
 12429  	SessionTimeoutMinutes *int64 `type:"integer"`
 12430  
 12431  	// The key to use for matching the SAML Subject attribute.
 12432  	SubjectKey *string `type:"string"`
 12433  }
 12434  
 12435  // String returns the string representation.
 12436  //
 12437  // API parameter values that are decorated as "sensitive" in the API will not
 12438  // be included in the string output. The member name will be present, but the
 12439  // value will be replaced with "sensitive".
 12440  func (s SAMLOptionsInput) String() string {
 12441  	return awsutil.Prettify(s)
 12442  }
 12443  
 12444  // GoString returns the string representation.
 12445  //
 12446  // API parameter values that are decorated as "sensitive" in the API will not
 12447  // be included in the string output. The member name will be present, but the
 12448  // value will be replaced with "sensitive".
 12449  func (s SAMLOptionsInput) GoString() string {
 12450  	return s.String()
 12451  }
 12452  
 12453  // Validate inspects the fields of the type to determine if they are valid.
 12454  func (s *SAMLOptionsInput) Validate() error {
 12455  	invalidParams := request.ErrInvalidParams{Context: "SAMLOptionsInput"}
 12456  	if s.MasterBackendRole != nil && len(*s.MasterBackendRole) < 1 {
 12457  		invalidParams.Add(request.NewErrParamMinLen("MasterBackendRole", 1))
 12458  	}
 12459  	if s.MasterUserName != nil && len(*s.MasterUserName) < 1 {
 12460  		invalidParams.Add(request.NewErrParamMinLen("MasterUserName", 1))
 12461  	}
 12462  	if s.Idp != nil {
 12463  		if err := s.Idp.Validate(); err != nil {
 12464  			invalidParams.AddNested("Idp", err.(request.ErrInvalidParams))
 12465  		}
 12466  	}
 12467  
 12468  	if invalidParams.Len() > 0 {
 12469  		return invalidParams
 12470  	}
 12471  	return nil
 12472  }
 12473  
 12474  // SetEnabled sets the Enabled field's value.
 12475  func (s *SAMLOptionsInput) SetEnabled(v bool) *SAMLOptionsInput {
 12476  	s.Enabled = &v
 12477  	return s
 12478  }
 12479  
 12480  // SetIdp sets the Idp field's value.
 12481  func (s *SAMLOptionsInput) SetIdp(v *SAMLIdp) *SAMLOptionsInput {
 12482  	s.Idp = v
 12483  	return s
 12484  }
 12485  
 12486  // SetMasterBackendRole sets the MasterBackendRole field's value.
 12487  func (s *SAMLOptionsInput) SetMasterBackendRole(v string) *SAMLOptionsInput {
 12488  	s.MasterBackendRole = &v
 12489  	return s
 12490  }
 12491  
 12492  // SetMasterUserName sets the MasterUserName field's value.
 12493  func (s *SAMLOptionsInput) SetMasterUserName(v string) *SAMLOptionsInput {
 12494  	s.MasterUserName = &v
 12495  	return s
 12496  }
 12497  
 12498  // SetRolesKey sets the RolesKey field's value.
 12499  func (s *SAMLOptionsInput) SetRolesKey(v string) *SAMLOptionsInput {
 12500  	s.RolesKey = &v
 12501  	return s
 12502  }
 12503  
 12504  // SetSessionTimeoutMinutes sets the SessionTimeoutMinutes field's value.
 12505  func (s *SAMLOptionsInput) SetSessionTimeoutMinutes(v int64) *SAMLOptionsInput {
 12506  	s.SessionTimeoutMinutes = &v
 12507  	return s
 12508  }
 12509  
 12510  // SetSubjectKey sets the SubjectKey field's value.
 12511  func (s *SAMLOptionsInput) SetSubjectKey(v string) *SAMLOptionsInput {
 12512  	s.SubjectKey = &v
 12513  	return s
 12514  }
 12515  
 12516  // Describes the SAML application configured for the domain.
 12517  type SAMLOptionsOutput struct {
 12518  	_ struct{} `type:"structure"`
 12519  
 12520  	// True if SAML is enabled.
 12521  	Enabled *bool `type:"boolean"`
 12522  
 12523  	// Describes the SAML Identity Provider's information.
 12524  	Idp *SAMLIdp `type:"structure"`
 12525  
 12526  	// The key used for matching the SAML Roles attribute.
 12527  	RolesKey *string `type:"string"`
 12528  
 12529  	// The duration, in minutes, after which a user session becomes inactive.
 12530  	SessionTimeoutMinutes *int64 `type:"integer"`
 12531  
 12532  	// The key used for matching the SAML Subject attribute.
 12533  	SubjectKey *string `type:"string"`
 12534  }
 12535  
 12536  // String returns the string representation.
 12537  //
 12538  // API parameter values that are decorated as "sensitive" in the API will not
 12539  // be included in the string output. The member name will be present, but the
 12540  // value will be replaced with "sensitive".
 12541  func (s SAMLOptionsOutput) String() string {
 12542  	return awsutil.Prettify(s)
 12543  }
 12544  
 12545  // GoString returns the string representation.
 12546  //
 12547  // API parameter values that are decorated as "sensitive" in the API will not
 12548  // be included in the string output. The member name will be present, but the
 12549  // value will be replaced with "sensitive".
 12550  func (s SAMLOptionsOutput) GoString() string {
 12551  	return s.String()
 12552  }
 12553  
 12554  // SetEnabled sets the Enabled field's value.
 12555  func (s *SAMLOptionsOutput) SetEnabled(v bool) *SAMLOptionsOutput {
 12556  	s.Enabled = &v
 12557  	return s
 12558  }
 12559  
 12560  // SetIdp sets the Idp field's value.
 12561  func (s *SAMLOptionsOutput) SetIdp(v *SAMLIdp) *SAMLOptionsOutput {
 12562  	s.Idp = v
 12563  	return s
 12564  }
 12565  
 12566  // SetRolesKey sets the RolesKey field's value.
 12567  func (s *SAMLOptionsOutput) SetRolesKey(v string) *SAMLOptionsOutput {
 12568  	s.RolesKey = &v
 12569  	return s
 12570  }
 12571  
 12572  // SetSessionTimeoutMinutes sets the SessionTimeoutMinutes field's value.
 12573  func (s *SAMLOptionsOutput) SetSessionTimeoutMinutes(v int64) *SAMLOptionsOutput {
 12574  	s.SessionTimeoutMinutes = &v
 12575  	return s
 12576  }
 12577  
 12578  // SetSubjectKey sets the SubjectKey field's value.
 12579  func (s *SAMLOptionsOutput) SetSubjectKey(v string) *SAMLOptionsOutput {
 12580  	s.SubjectKey = &v
 12581  	return s
 12582  }
 12583  
 12584  // Specifies details of the scheduled Auto-Tune action. See the Developer Guide
 12585  // (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/auto-tune.html)
 12586  // for more information.
 12587  type ScheduledAutoTuneDetails struct {
 12588  	_ struct{} `type:"structure"`
 12589  
 12590  	// Specifies Auto-Tune action description.
 12591  	Action *string `type:"string"`
 12592  
 12593  	// Specifies Auto-Tune action type. Valid values are JVM_HEAP_SIZE_TUNING and
 12594  	// JVM_YOUNG_GEN_TUNING.
 12595  	ActionType *string `type:"string" enum:"ScheduledAutoTuneActionType"`
 12596  
 12597  	// Specifies timestamp for the Auto-Tune action scheduled for the domain.
 12598  	Date *time.Time `type:"timestamp"`
 12599  
 12600  	// Specifies Auto-Tune action severity. Valid values are LOW, MEDIUM and HIGH.
 12601  	Severity *string `type:"string" enum:"ScheduledAutoTuneSeverityType"`
 12602  }
 12603  
 12604  // String returns the string representation.
 12605  //
 12606  // API parameter values that are decorated as "sensitive" in the API will not
 12607  // be included in the string output. The member name will be present, but the
 12608  // value will be replaced with "sensitive".
 12609  func (s ScheduledAutoTuneDetails) String() string {
 12610  	return awsutil.Prettify(s)
 12611  }
 12612  
 12613  // GoString returns the string representation.
 12614  //
 12615  // API parameter values that are decorated as "sensitive" in the API will not
 12616  // be included in the string output. The member name will be present, but the
 12617  // value will be replaced with "sensitive".
 12618  func (s ScheduledAutoTuneDetails) GoString() string {
 12619  	return s.String()
 12620  }
 12621  
 12622  // SetAction sets the Action field's value.
 12623  func (s *ScheduledAutoTuneDetails) SetAction(v string) *ScheduledAutoTuneDetails {
 12624  	s.Action = &v
 12625  	return s
 12626  }
 12627  
 12628  // SetActionType sets the ActionType field's value.
 12629  func (s *ScheduledAutoTuneDetails) SetActionType(v string) *ScheduledAutoTuneDetails {
 12630  	s.ActionType = &v
 12631  	return s
 12632  }
 12633  
 12634  // SetDate sets the Date field's value.
 12635  func (s *ScheduledAutoTuneDetails) SetDate(v time.Time) *ScheduledAutoTuneDetails {
 12636  	s.Date = &v
 12637  	return s
 12638  }
 12639  
 12640  // SetSeverity sets the Severity field's value.
 12641  func (s *ScheduledAutoTuneDetails) SetSeverity(v string) *ScheduledAutoTuneDetails {
 12642  	s.Severity = &v
 12643  	return s
 12644  }
 12645  
 12646  // The current options of an Elasticsearch domain service software options.
 12647  type ServiceSoftwareOptions struct {
 12648  	_ struct{} `type:"structure"`
 12649  
 12650  	// Timestamp, in Epoch time, until which you can manually request a service
 12651  	// software update. After this date, we automatically update your service software.
 12652  	AutomatedUpdateDate *time.Time `type:"timestamp"`
 12653  
 12654  	// True if you are able to cancel your service software version update. False
 12655  	// if you are not able to cancel your service software version.
 12656  	Cancellable *bool `type:"boolean"`
 12657  
 12658  	// The current service software version that is present on the domain.
 12659  	CurrentVersion *string `type:"string"`
 12660  
 12661  	// The description of the UpdateStatus.
 12662  	Description *string `type:"string"`
 12663  
 12664  	// The new service software version if one is available.
 12665  	NewVersion *string `type:"string"`
 12666  
 12667  	// True if a service software is never automatically updated. False if a service
 12668  	// software is automatically updated after AutomatedUpdateDate.
 12669  	OptionalDeployment *bool `type:"boolean"`
 12670  
 12671  	// True if you are able to update you service software version. False if you
 12672  	// are not able to update your service software version.
 12673  	UpdateAvailable *bool `type:"boolean"`
 12674  
 12675  	// The status of your service software update. This field can take the following
 12676  	// values: ELIGIBLE, PENDING_UPDATE, IN_PROGRESS, COMPLETED, and NOT_ELIGIBLE.
 12677  	UpdateStatus *string `type:"string" enum:"DeploymentStatus"`
 12678  }
 12679  
 12680  // String returns the string representation.
 12681  //
 12682  // API parameter values that are decorated as "sensitive" in the API will not
 12683  // be included in the string output. The member name will be present, but the
 12684  // value will be replaced with "sensitive".
 12685  func (s ServiceSoftwareOptions) String() string {
 12686  	return awsutil.Prettify(s)
 12687  }
 12688  
 12689  // GoString returns the string representation.
 12690  //
 12691  // API parameter values that are decorated as "sensitive" in the API will not
 12692  // be included in the string output. The member name will be present, but the
 12693  // value will be replaced with "sensitive".
 12694  func (s ServiceSoftwareOptions) GoString() string {
 12695  	return s.String()
 12696  }
 12697  
 12698  // SetAutomatedUpdateDate sets the AutomatedUpdateDate field's value.
 12699  func (s *ServiceSoftwareOptions) SetAutomatedUpdateDate(v time.Time) *ServiceSoftwareOptions {
 12700  	s.AutomatedUpdateDate = &v
 12701  	return s
 12702  }
 12703  
 12704  // SetCancellable sets the Cancellable field's value.
 12705  func (s *ServiceSoftwareOptions) SetCancellable(v bool) *ServiceSoftwareOptions {
 12706  	s.Cancellable = &v
 12707  	return s
 12708  }
 12709  
 12710  // SetCurrentVersion sets the CurrentVersion field's value.
 12711  func (s *ServiceSoftwareOptions) SetCurrentVersion(v string) *ServiceSoftwareOptions {
 12712  	s.CurrentVersion = &v
 12713  	return s
 12714  }
 12715  
 12716  // SetDescription sets the Description field's value.
 12717  func (s *ServiceSoftwareOptions) SetDescription(v string) *ServiceSoftwareOptions {
 12718  	s.Description = &v
 12719  	return s
 12720  }
 12721  
 12722  // SetNewVersion sets the NewVersion field's value.
 12723  func (s *ServiceSoftwareOptions) SetNewVersion(v string) *ServiceSoftwareOptions {
 12724  	s.NewVersion = &v
 12725  	return s
 12726  }
 12727  
 12728  // SetOptionalDeployment sets the OptionalDeployment field's value.
 12729  func (s *ServiceSoftwareOptions) SetOptionalDeployment(v bool) *ServiceSoftwareOptions {
 12730  	s.OptionalDeployment = &v
 12731  	return s
 12732  }
 12733  
 12734  // SetUpdateAvailable sets the UpdateAvailable field's value.
 12735  func (s *ServiceSoftwareOptions) SetUpdateAvailable(v bool) *ServiceSoftwareOptions {
 12736  	s.UpdateAvailable = &v
 12737  	return s
 12738  }
 12739  
 12740  // SetUpdateStatus sets the UpdateStatus field's value.
 12741  func (s *ServiceSoftwareOptions) SetUpdateStatus(v string) *ServiceSoftwareOptions {
 12742  	s.UpdateStatus = &v
 12743  	return s
 12744  }
 12745  
 12746  // Specifies the time, in UTC format, when the service takes a daily automated
 12747  // snapshot of the specified Elasticsearch domain. Default value is 0 hours.
 12748  type SnapshotOptions struct {
 12749  	_ struct{} `type:"structure"`
 12750  
 12751  	// Specifies the time, in UTC format, when the service takes a daily automated
 12752  	// snapshot of the specified Elasticsearch domain. Default value is 0 hours.
 12753  	AutomatedSnapshotStartHour *int64 `type:"integer"`
 12754  }
 12755  
 12756  // String returns the string representation.
 12757  //
 12758  // API parameter values that are decorated as "sensitive" in the API will not
 12759  // be included in the string output. The member name will be present, but the
 12760  // value will be replaced with "sensitive".
 12761  func (s SnapshotOptions) String() string {
 12762  	return awsutil.Prettify(s)
 12763  }
 12764  
 12765  // GoString returns the string representation.
 12766  //
 12767  // API parameter values that are decorated as "sensitive" in the API will not
 12768  // be included in the string output. The member name will be present, but the
 12769  // value will be replaced with "sensitive".
 12770  func (s SnapshotOptions) GoString() string {
 12771  	return s.String()
 12772  }
 12773  
 12774  // SetAutomatedSnapshotStartHour sets the AutomatedSnapshotStartHour field's value.
 12775  func (s *SnapshotOptions) SetAutomatedSnapshotStartHour(v int64) *SnapshotOptions {
 12776  	s.AutomatedSnapshotStartHour = &v
 12777  	return s
 12778  }
 12779  
 12780  // Status of a daily automated snapshot.
 12781  type SnapshotOptionsStatus struct {
 12782  	_ struct{} `type:"structure"`
 12783  
 12784  	// Specifies the daily snapshot options specified for the Elasticsearch domain.
 12785  	//
 12786  	// Options is a required field
 12787  	Options *SnapshotOptions `type:"structure" required:"true"`
 12788  
 12789  	// Specifies the status of a daily automated snapshot.
 12790  	//
 12791  	// Status is a required field
 12792  	Status *OptionStatus `type:"structure" required:"true"`
 12793  }
 12794  
 12795  // String returns the string representation.
 12796  //
 12797  // API parameter values that are decorated as "sensitive" in the API will not
 12798  // be included in the string output. The member name will be present, but the
 12799  // value will be replaced with "sensitive".
 12800  func (s SnapshotOptionsStatus) String() string {
 12801  	return awsutil.Prettify(s)
 12802  }
 12803  
 12804  // GoString returns the string representation.
 12805  //
 12806  // API parameter values that are decorated as "sensitive" in the API will not
 12807  // be included in the string output. The member name will be present, but the
 12808  // value will be replaced with "sensitive".
 12809  func (s SnapshotOptionsStatus) GoString() string {
 12810  	return s.String()
 12811  }
 12812  
 12813  // SetOptions sets the Options field's value.
 12814  func (s *SnapshotOptionsStatus) SetOptions(v *SnapshotOptions) *SnapshotOptionsStatus {
 12815  	s.Options = v
 12816  	return s
 12817  }
 12818  
 12819  // SetStatus sets the Status field's value.
 12820  func (s *SnapshotOptionsStatus) SetStatus(v *OptionStatus) *SnapshotOptionsStatus {
 12821  	s.Status = v
 12822  	return s
 12823  }
 12824  
 12825  // Container for the parameters to the StartElasticsearchServiceSoftwareUpdate
 12826  // operation. Specifies the name of the Elasticsearch domain that you wish to
 12827  // schedule a service software update on.
 12828  type StartElasticsearchServiceSoftwareUpdateInput struct {
 12829  	_ struct{} `type:"structure"`
 12830  
 12831  	// The name of the domain that you want to update to the latest service software.
 12832  	//
 12833  	// DomainName is a required field
 12834  	DomainName *string `min:"3" type:"string" required:"true"`
 12835  }
 12836  
 12837  // String returns the string representation.
 12838  //
 12839  // API parameter values that are decorated as "sensitive" in the API will not
 12840  // be included in the string output. The member name will be present, but the
 12841  // value will be replaced with "sensitive".
 12842  func (s StartElasticsearchServiceSoftwareUpdateInput) String() string {
 12843  	return awsutil.Prettify(s)
 12844  }
 12845  
 12846  // GoString returns the string representation.
 12847  //
 12848  // API parameter values that are decorated as "sensitive" in the API will not
 12849  // be included in the string output. The member name will be present, but the
 12850  // value will be replaced with "sensitive".
 12851  func (s StartElasticsearchServiceSoftwareUpdateInput) GoString() string {
 12852  	return s.String()
 12853  }
 12854  
 12855  // Validate inspects the fields of the type to determine if they are valid.
 12856  func (s *StartElasticsearchServiceSoftwareUpdateInput) Validate() error {
 12857  	invalidParams := request.ErrInvalidParams{Context: "StartElasticsearchServiceSoftwareUpdateInput"}
 12858  	if s.DomainName == nil {
 12859  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
 12860  	}
 12861  	if s.DomainName != nil && len(*s.DomainName) < 3 {
 12862  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
 12863  	}
 12864  
 12865  	if invalidParams.Len() > 0 {
 12866  		return invalidParams
 12867  	}
 12868  	return nil
 12869  }
 12870  
 12871  // SetDomainName sets the DomainName field's value.
 12872  func (s *StartElasticsearchServiceSoftwareUpdateInput) SetDomainName(v string) *StartElasticsearchServiceSoftwareUpdateInput {
 12873  	s.DomainName = &v
 12874  	return s
 12875  }
 12876  
 12877  // The result of a StartElasticsearchServiceSoftwareUpdate operation. Contains
 12878  // the status of the update.
 12879  type StartElasticsearchServiceSoftwareUpdateOutput struct {
 12880  	_ struct{} `type:"structure"`
 12881  
 12882  	// The current status of the Elasticsearch service software update.
 12883  	ServiceSoftwareOptions *ServiceSoftwareOptions `type:"structure"`
 12884  }
 12885  
 12886  // String returns the string representation.
 12887  //
 12888  // API parameter values that are decorated as "sensitive" in the API will not
 12889  // be included in the string output. The member name will be present, but the
 12890  // value will be replaced with "sensitive".
 12891  func (s StartElasticsearchServiceSoftwareUpdateOutput) String() string {
 12892  	return awsutil.Prettify(s)
 12893  }
 12894  
 12895  // GoString returns the string representation.
 12896  //
 12897  // API parameter values that are decorated as "sensitive" in the API will not
 12898  // be included in the string output. The member name will be present, but the
 12899  // value will be replaced with "sensitive".
 12900  func (s StartElasticsearchServiceSoftwareUpdateOutput) GoString() string {
 12901  	return s.String()
 12902  }
 12903  
 12904  // SetServiceSoftwareOptions sets the ServiceSoftwareOptions field's value.
 12905  func (s *StartElasticsearchServiceSoftwareUpdateOutput) SetServiceSoftwareOptions(v *ServiceSoftwareOptions) *StartElasticsearchServiceSoftwareUpdateOutput {
 12906  	s.ServiceSoftwareOptions = v
 12907  	return s
 12908  }
 12909  
 12910  // StorageTypes represents the list of storage related types and their attributes
 12911  // that are available for given InstanceType.
 12912  type StorageType struct {
 12913  	_ struct{} `type:"structure"`
 12914  
 12915  	// SubType of the given storage type. List of available sub-storage options:
 12916  	// For "instance" storageType we wont have any storageSubType, in case of "ebs"
 12917  	// storageType we will have following valid storageSubTypes standard gp2 io1
 12918  	// Refer VolumeType for more information regarding above EBS storage options.
 12919  	StorageSubTypeName *string `type:"string"`
 12920  
 12921  	// List of limits that are applicable for given storage type.
 12922  	StorageTypeLimits []*StorageTypeLimit `type:"list"`
 12923  
 12924  	// Type of the storage. List of available storage options: instance Inbuilt
 12925  	// storage available for the given Instance ebs Elastic block storage that would
 12926  	// be attached to the given Instance
 12927  	StorageTypeName *string `type:"string"`
 12928  }
 12929  
 12930  // String returns the string representation.
 12931  //
 12932  // API parameter values that are decorated as "sensitive" in the API will not
 12933  // be included in the string output. The member name will be present, but the
 12934  // value will be replaced with "sensitive".
 12935  func (s StorageType) String() string {
 12936  	return awsutil.Prettify(s)
 12937  }
 12938  
 12939  // GoString returns the string representation.
 12940  //
 12941  // API parameter values that are decorated as "sensitive" in the API will not
 12942  // be included in the string output. The member name will be present, but the
 12943  // value will be replaced with "sensitive".
 12944  func (s StorageType) GoString() string {
 12945  	return s.String()
 12946  }
 12947  
 12948  // SetStorageSubTypeName sets the StorageSubTypeName field's value.
 12949  func (s *StorageType) SetStorageSubTypeName(v string) *StorageType {
 12950  	s.StorageSubTypeName = &v
 12951  	return s
 12952  }
 12953  
 12954  // SetStorageTypeLimits sets the StorageTypeLimits field's value.
 12955  func (s *StorageType) SetStorageTypeLimits(v []*StorageTypeLimit) *StorageType {
 12956  	s.StorageTypeLimits = v
 12957  	return s
 12958  }
 12959  
 12960  // SetStorageTypeName sets the StorageTypeName field's value.
 12961  func (s *StorageType) SetStorageTypeName(v string) *StorageType {
 12962  	s.StorageTypeName = &v
 12963  	return s
 12964  }
 12965  
 12966  // Limits that are applicable for given storage type.
 12967  type StorageTypeLimit struct {
 12968  	_ struct{} `type:"structure"`
 12969  
 12970  	// Name of storage limits that are applicable for given storage type. If StorageType
 12971  	// is ebs, following storage options are applicable MinimumVolumeSize Minimum
 12972  	// amount of volume size that is applicable for given storage type.It can be
 12973  	// empty if it is not applicable. MaximumVolumeSize Maximum amount of volume
 12974  	// size that is applicable for given storage type.It can be empty if it is not
 12975  	// applicable. MaximumIops Maximum amount of Iops that is applicable for given
 12976  	// storage type.It can be empty if it is not applicable. MinimumIops Minimum
 12977  	// amount of Iops that is applicable for given storage type.It can be empty
 12978  	// if it is not applicable.
 12979  	LimitName *string `type:"string"`
 12980  
 12981  	// Values for the StorageTypeLimit$LimitName .
 12982  	LimitValues []*string `type:"list"`
 12983  }
 12984  
 12985  // String returns the string representation.
 12986  //
 12987  // API parameter values that are decorated as "sensitive" in the API will not
 12988  // be included in the string output. The member name will be present, but the
 12989  // value will be replaced with "sensitive".
 12990  func (s StorageTypeLimit) String() string {
 12991  	return awsutil.Prettify(s)
 12992  }
 12993  
 12994  // GoString returns the string representation.
 12995  //
 12996  // API parameter values that are decorated as "sensitive" in the API will not
 12997  // be included in the string output. The member name will be present, but the
 12998  // value will be replaced with "sensitive".
 12999  func (s StorageTypeLimit) GoString() string {
 13000  	return s.String()
 13001  }
 13002  
 13003  // SetLimitName sets the LimitName field's value.
 13004  func (s *StorageTypeLimit) SetLimitName(v string) *StorageTypeLimit {
 13005  	s.LimitName = &v
 13006  	return s
 13007  }
 13008  
 13009  // SetLimitValues sets the LimitValues field's value.
 13010  func (s *StorageTypeLimit) SetLimitValues(v []*string) *StorageTypeLimit {
 13011  	s.LimitValues = v
 13012  	return s
 13013  }
 13014  
 13015  // Specifies a key value pair for a resource tag.
 13016  type Tag struct {
 13017  	_ struct{} `type:"structure"`
 13018  
 13019  	// Specifies the TagKey, the name of the tag. Tag keys must be unique for the
 13020  	// Elasticsearch domain to which they are attached.
 13021  	//
 13022  	// Key is a required field
 13023  	Key *string `min:"1" type:"string" required:"true"`
 13024  
 13025  	// Specifies the TagValue, the value assigned to the corresponding tag key.
 13026  	// Tag values can be null and do not have to be unique in a tag set. For example,
 13027  	// you can have a key value pair in a tag set of project : Trinity and cost-center
 13028  	// : Trinity
 13029  	//
 13030  	// Value is a required field
 13031  	Value *string `type:"string" required:"true"`
 13032  }
 13033  
 13034  // String returns the string representation.
 13035  //
 13036  // API parameter values that are decorated as "sensitive" in the API will not
 13037  // be included in the string output. The member name will be present, but the
 13038  // value will be replaced with "sensitive".
 13039  func (s Tag) String() string {
 13040  	return awsutil.Prettify(s)
 13041  }
 13042  
 13043  // GoString returns the string representation.
 13044  //
 13045  // API parameter values that are decorated as "sensitive" in the API will not
 13046  // be included in the string output. The member name will be present, but the
 13047  // value will be replaced with "sensitive".
 13048  func (s Tag) GoString() string {
 13049  	return s.String()
 13050  }
 13051  
 13052  // Validate inspects the fields of the type to determine if they are valid.
 13053  func (s *Tag) Validate() error {
 13054  	invalidParams := request.ErrInvalidParams{Context: "Tag"}
 13055  	if s.Key == nil {
 13056  		invalidParams.Add(request.NewErrParamRequired("Key"))
 13057  	}
 13058  	if s.Key != nil && len(*s.Key) < 1 {
 13059  		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
 13060  	}
 13061  	if s.Value == nil {
 13062  		invalidParams.Add(request.NewErrParamRequired("Value"))
 13063  	}
 13064  
 13065  	if invalidParams.Len() > 0 {
 13066  		return invalidParams
 13067  	}
 13068  	return nil
 13069  }
 13070  
 13071  // SetKey sets the Key field's value.
 13072  func (s *Tag) SetKey(v string) *Tag {
 13073  	s.Key = &v
 13074  	return s
 13075  }
 13076  
 13077  // SetValue sets the Value field's value.
 13078  func (s *Tag) SetValue(v string) *Tag {
 13079  	s.Value = &v
 13080  	return s
 13081  }
 13082  
 13083  // Container for the parameters to the UpdateElasticsearchDomain operation.
 13084  // Specifies the type and number of instances in the domain cluster.
 13085  type UpdateElasticsearchDomainConfigInput struct {
 13086  	_ struct{} `type:"structure"`
 13087  
 13088  	// IAM access policy as a JSON-formatted string.
 13089  	AccessPolicies *string `type:"string"`
 13090  
 13091  	// Modifies the advanced option to allow references to indices in an HTTP request
 13092  	// body. Must be false when configuring access to individual sub-resources.
 13093  	// By default, the value is true. See Configuration Advanced Options (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomain-configure-advanced-options)
 13094  	// for more information.
 13095  	AdvancedOptions map[string]*string `type:"map"`
 13096  
 13097  	// Specifies advanced security options.
 13098  	AdvancedSecurityOptions *AdvancedSecurityOptionsInput `type:"structure"`
 13099  
 13100  	// Specifies Auto-Tune options.
 13101  	AutoTuneOptions *AutoTuneOptions `type:"structure"`
 13102  
 13103  	// Options to specify the Cognito user and identity pools for Kibana authentication.
 13104  	// For more information, see Amazon Cognito Authentication for Kibana (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-cognito-auth.html).
 13105  	CognitoOptions *CognitoOptions `type:"structure"`
 13106  
 13107  	// Options to specify configuration that will be applied to the domain endpoint.
 13108  	DomainEndpointOptions *DomainEndpointOptions `type:"structure"`
 13109  
 13110  	// The name of the Elasticsearch domain that you are updating.
 13111  	//
 13112  	// DomainName is a required field
 13113  	DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"`
 13114  
 13115  	// Specify the type and size of the EBS volume that you want to use.
 13116  	EBSOptions *EBSOptions `type:"structure"`
 13117  
 13118  	// The type and number of instances to instantiate for the domain cluster.
 13119  	ElasticsearchClusterConfig *ElasticsearchClusterConfig `type:"structure"`
 13120  
 13121  	// Specifies the Encryption At Rest Options.
 13122  	EncryptionAtRestOptions *EncryptionAtRestOptions `type:"structure"`
 13123  
 13124  	// Map of LogType and LogPublishingOption, each containing options to publish
 13125  	// a given type of Elasticsearch log.
 13126  	LogPublishingOptions map[string]*LogPublishingOption `type:"map"`
 13127  
 13128  	// Specifies the NodeToNodeEncryptionOptions.
 13129  	NodeToNodeEncryptionOptions *NodeToNodeEncryptionOptions `type:"structure"`
 13130  
 13131  	// Option to set the time, in UTC format, for the daily automated snapshot.
 13132  	// Default value is 0 hours.
 13133  	SnapshotOptions *SnapshotOptions `type:"structure"`
 13134  
 13135  	// Options to specify the subnets and security groups for VPC endpoint. For
 13136  	// more information, see Creating a VPC (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-vpc.html#es-creating-vpc)
 13137  	// in VPC Endpoints for Amazon Elasticsearch Service Domains
 13138  	VPCOptions *VPCOptions `type:"structure"`
 13139  }
 13140  
 13141  // String returns the string representation.
 13142  //
 13143  // API parameter values that are decorated as "sensitive" in the API will not
 13144  // be included in the string output. The member name will be present, but the
 13145  // value will be replaced with "sensitive".
 13146  func (s UpdateElasticsearchDomainConfigInput) String() string {
 13147  	return awsutil.Prettify(s)
 13148  }
 13149  
 13150  // GoString returns the string representation.
 13151  //
 13152  // API parameter values that are decorated as "sensitive" in the API will not
 13153  // be included in the string output. The member name will be present, but the
 13154  // value will be replaced with "sensitive".
 13155  func (s UpdateElasticsearchDomainConfigInput) GoString() string {
 13156  	return s.String()
 13157  }
 13158  
 13159  // Validate inspects the fields of the type to determine if they are valid.
 13160  func (s *UpdateElasticsearchDomainConfigInput) Validate() error {
 13161  	invalidParams := request.ErrInvalidParams{Context: "UpdateElasticsearchDomainConfigInput"}
 13162  	if s.DomainName == nil {
 13163  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
 13164  	}
 13165  	if s.DomainName != nil && len(*s.DomainName) < 3 {
 13166  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
 13167  	}
 13168  	if s.AdvancedSecurityOptions != nil {
 13169  		if err := s.AdvancedSecurityOptions.Validate(); err != nil {
 13170  			invalidParams.AddNested("AdvancedSecurityOptions", err.(request.ErrInvalidParams))
 13171  		}
 13172  	}
 13173  	if s.AutoTuneOptions != nil {
 13174  		if err := s.AutoTuneOptions.Validate(); err != nil {
 13175  			invalidParams.AddNested("AutoTuneOptions", err.(request.ErrInvalidParams))
 13176  		}
 13177  	}
 13178  	if s.CognitoOptions != nil {
 13179  		if err := s.CognitoOptions.Validate(); err != nil {
 13180  			invalidParams.AddNested("CognitoOptions", err.(request.ErrInvalidParams))
 13181  		}
 13182  	}
 13183  	if s.DomainEndpointOptions != nil {
 13184  		if err := s.DomainEndpointOptions.Validate(); err != nil {
 13185  			invalidParams.AddNested("DomainEndpointOptions", err.(request.ErrInvalidParams))
 13186  		}
 13187  	}
 13188  	if s.ElasticsearchClusterConfig != nil {
 13189  		if err := s.ElasticsearchClusterConfig.Validate(); err != nil {
 13190  			invalidParams.AddNested("ElasticsearchClusterConfig", err.(request.ErrInvalidParams))
 13191  		}
 13192  	}
 13193  	if s.EncryptionAtRestOptions != nil {
 13194  		if err := s.EncryptionAtRestOptions.Validate(); err != nil {
 13195  			invalidParams.AddNested("EncryptionAtRestOptions", err.(request.ErrInvalidParams))
 13196  		}
 13197  	}
 13198  
 13199  	if invalidParams.Len() > 0 {
 13200  		return invalidParams
 13201  	}
 13202  	return nil
 13203  }
 13204  
 13205  // SetAccessPolicies sets the AccessPolicies field's value.
 13206  func (s *UpdateElasticsearchDomainConfigInput) SetAccessPolicies(v string) *UpdateElasticsearchDomainConfigInput {
 13207  	s.AccessPolicies = &v
 13208  	return s
 13209  }
 13210  
 13211  // SetAdvancedOptions sets the AdvancedOptions field's value.
 13212  func (s *UpdateElasticsearchDomainConfigInput) SetAdvancedOptions(v map[string]*string) *UpdateElasticsearchDomainConfigInput {
 13213  	s.AdvancedOptions = v
 13214  	return s
 13215  }
 13216  
 13217  // SetAdvancedSecurityOptions sets the AdvancedSecurityOptions field's value.
 13218  func (s *UpdateElasticsearchDomainConfigInput) SetAdvancedSecurityOptions(v *AdvancedSecurityOptionsInput) *UpdateElasticsearchDomainConfigInput {
 13219  	s.AdvancedSecurityOptions = v
 13220  	return s
 13221  }
 13222  
 13223  // SetAutoTuneOptions sets the AutoTuneOptions field's value.
 13224  func (s *UpdateElasticsearchDomainConfigInput) SetAutoTuneOptions(v *AutoTuneOptions) *UpdateElasticsearchDomainConfigInput {
 13225  	s.AutoTuneOptions = v
 13226  	return s
 13227  }
 13228  
 13229  // SetCognitoOptions sets the CognitoOptions field's value.
 13230  func (s *UpdateElasticsearchDomainConfigInput) SetCognitoOptions(v *CognitoOptions) *UpdateElasticsearchDomainConfigInput {
 13231  	s.CognitoOptions = v
 13232  	return s
 13233  }
 13234  
 13235  // SetDomainEndpointOptions sets the DomainEndpointOptions field's value.
 13236  func (s *UpdateElasticsearchDomainConfigInput) SetDomainEndpointOptions(v *DomainEndpointOptions) *UpdateElasticsearchDomainConfigInput {
 13237  	s.DomainEndpointOptions = v
 13238  	return s
 13239  }
 13240  
 13241  // SetDomainName sets the DomainName field's value.
 13242  func (s *UpdateElasticsearchDomainConfigInput) SetDomainName(v string) *UpdateElasticsearchDomainConfigInput {
 13243  	s.DomainName = &v
 13244  	return s
 13245  }
 13246  
 13247  // SetEBSOptions sets the EBSOptions field's value.
 13248  func (s *UpdateElasticsearchDomainConfigInput) SetEBSOptions(v *EBSOptions) *UpdateElasticsearchDomainConfigInput {
 13249  	s.EBSOptions = v
 13250  	return s
 13251  }
 13252  
 13253  // SetElasticsearchClusterConfig sets the ElasticsearchClusterConfig field's value.
 13254  func (s *UpdateElasticsearchDomainConfigInput) SetElasticsearchClusterConfig(v *ElasticsearchClusterConfig) *UpdateElasticsearchDomainConfigInput {
 13255  	s.ElasticsearchClusterConfig = v
 13256  	return s
 13257  }
 13258  
 13259  // SetEncryptionAtRestOptions sets the EncryptionAtRestOptions field's value.
 13260  func (s *UpdateElasticsearchDomainConfigInput) SetEncryptionAtRestOptions(v *EncryptionAtRestOptions) *UpdateElasticsearchDomainConfigInput {
 13261  	s.EncryptionAtRestOptions = v
 13262  	return s
 13263  }
 13264  
 13265  // SetLogPublishingOptions sets the LogPublishingOptions field's value.
 13266  func (s *UpdateElasticsearchDomainConfigInput) SetLogPublishingOptions(v map[string]*LogPublishingOption) *UpdateElasticsearchDomainConfigInput {
 13267  	s.LogPublishingOptions = v
 13268  	return s
 13269  }
 13270  
 13271  // SetNodeToNodeEncryptionOptions sets the NodeToNodeEncryptionOptions field's value.
 13272  func (s *UpdateElasticsearchDomainConfigInput) SetNodeToNodeEncryptionOptions(v *NodeToNodeEncryptionOptions) *UpdateElasticsearchDomainConfigInput {
 13273  	s.NodeToNodeEncryptionOptions = v
 13274  	return s
 13275  }
 13276  
 13277  // SetSnapshotOptions sets the SnapshotOptions field's value.
 13278  func (s *UpdateElasticsearchDomainConfigInput) SetSnapshotOptions(v *SnapshotOptions) *UpdateElasticsearchDomainConfigInput {
 13279  	s.SnapshotOptions = v
 13280  	return s
 13281  }
 13282  
 13283  // SetVPCOptions sets the VPCOptions field's value.
 13284  func (s *UpdateElasticsearchDomainConfigInput) SetVPCOptions(v *VPCOptions) *UpdateElasticsearchDomainConfigInput {
 13285  	s.VPCOptions = v
 13286  	return s
 13287  }
 13288  
 13289  // The result of an UpdateElasticsearchDomain request. Contains the status of
 13290  // the Elasticsearch domain being updated.
 13291  type UpdateElasticsearchDomainConfigOutput struct {
 13292  	_ struct{} `type:"structure"`
 13293  
 13294  	// The status of the updated Elasticsearch domain.
 13295  	//
 13296  	// DomainConfig is a required field
 13297  	DomainConfig *ElasticsearchDomainConfig `type:"structure" required:"true"`
 13298  }
 13299  
 13300  // String returns the string representation.
 13301  //
 13302  // API parameter values that are decorated as "sensitive" in the API will not
 13303  // be included in the string output. The member name will be present, but the
 13304  // value will be replaced with "sensitive".
 13305  func (s UpdateElasticsearchDomainConfigOutput) String() string {
 13306  	return awsutil.Prettify(s)
 13307  }
 13308  
 13309  // GoString returns the string representation.
 13310  //
 13311  // API parameter values that are decorated as "sensitive" in the API will not
 13312  // be included in the string output. The member name will be present, but the
 13313  // value will be replaced with "sensitive".
 13314  func (s UpdateElasticsearchDomainConfigOutput) GoString() string {
 13315  	return s.String()
 13316  }
 13317  
 13318  // SetDomainConfig sets the DomainConfig field's value.
 13319  func (s *UpdateElasticsearchDomainConfigOutput) SetDomainConfig(v *ElasticsearchDomainConfig) *UpdateElasticsearchDomainConfigOutput {
 13320  	s.DomainConfig = v
 13321  	return s
 13322  }
 13323  
 13324  // Container for request parameters to UpdatePackage operation.
 13325  type UpdatePackageInput struct {
 13326  	_ struct{} `type:"structure"`
 13327  
 13328  	// An info message for the new version which will be shown as part of GetPackageVersionHistoryResponse.
 13329  	CommitMessage *string `type:"string"`
 13330  
 13331  	// New description of the package.
 13332  	PackageDescription *string `type:"string"`
 13333  
 13334  	// Unique identifier for the package.
 13335  	//
 13336  	// PackageID is a required field
 13337  	PackageID *string `type:"string" required:"true"`
 13338  
 13339  	// The S3 location for importing the package specified as S3BucketName and S3Key
 13340  	//
 13341  	// PackageSource is a required field
 13342  	PackageSource *PackageSource `type:"structure" required:"true"`
 13343  }
 13344  
 13345  // String returns the string representation.
 13346  //
 13347  // API parameter values that are decorated as "sensitive" in the API will not
 13348  // be included in the string output. The member name will be present, but the
 13349  // value will be replaced with "sensitive".
 13350  func (s UpdatePackageInput) String() string {
 13351  	return awsutil.Prettify(s)
 13352  }
 13353  
 13354  // GoString returns the string representation.
 13355  //
 13356  // API parameter values that are decorated as "sensitive" in the API will not
 13357  // be included in the string output. The member name will be present, but the
 13358  // value will be replaced with "sensitive".
 13359  func (s UpdatePackageInput) GoString() string {
 13360  	return s.String()
 13361  }
 13362  
 13363  // Validate inspects the fields of the type to determine if they are valid.
 13364  func (s *UpdatePackageInput) Validate() error {
 13365  	invalidParams := request.ErrInvalidParams{Context: "UpdatePackageInput"}
 13366  	if s.PackageID == nil {
 13367  		invalidParams.Add(request.NewErrParamRequired("PackageID"))
 13368  	}
 13369  	if s.PackageSource == nil {
 13370  		invalidParams.Add(request.NewErrParamRequired("PackageSource"))
 13371  	}
 13372  	if s.PackageSource != nil {
 13373  		if err := s.PackageSource.Validate(); err != nil {
 13374  			invalidParams.AddNested("PackageSource", err.(request.ErrInvalidParams))
 13375  		}
 13376  	}
 13377  
 13378  	if invalidParams.Len() > 0 {
 13379  		return invalidParams
 13380  	}
 13381  	return nil
 13382  }
 13383  
 13384  // SetCommitMessage sets the CommitMessage field's value.
 13385  func (s *UpdatePackageInput) SetCommitMessage(v string) *UpdatePackageInput {
 13386  	s.CommitMessage = &v
 13387  	return s
 13388  }
 13389  
 13390  // SetPackageDescription sets the PackageDescription field's value.
 13391  func (s *UpdatePackageInput) SetPackageDescription(v string) *UpdatePackageInput {
 13392  	s.PackageDescription = &v
 13393  	return s
 13394  }
 13395  
 13396  // SetPackageID sets the PackageID field's value.
 13397  func (s *UpdatePackageInput) SetPackageID(v string) *UpdatePackageInput {
 13398  	s.PackageID = &v
 13399  	return s
 13400  }
 13401  
 13402  // SetPackageSource sets the PackageSource field's value.
 13403  func (s *UpdatePackageInput) SetPackageSource(v *PackageSource) *UpdatePackageInput {
 13404  	s.PackageSource = v
 13405  	return s
 13406  }
 13407  
 13408  // Container for response returned by UpdatePackage operation.
 13409  type UpdatePackageOutput struct {
 13410  	_ struct{} `type:"structure"`
 13411  
 13412  	// Information about the package PackageDetails.
 13413  	PackageDetails *PackageDetails `type:"structure"`
 13414  }
 13415  
 13416  // String returns the string representation.
 13417  //
 13418  // API parameter values that are decorated as "sensitive" in the API will not
 13419  // be included in the string output. The member name will be present, but the
 13420  // value will be replaced with "sensitive".
 13421  func (s UpdatePackageOutput) String() string {
 13422  	return awsutil.Prettify(s)
 13423  }
 13424  
 13425  // GoString returns the string representation.
 13426  //
 13427  // API parameter values that are decorated as "sensitive" in the API will not
 13428  // be included in the string output. The member name will be present, but the
 13429  // value will be replaced with "sensitive".
 13430  func (s UpdatePackageOutput) GoString() string {
 13431  	return s.String()
 13432  }
 13433  
 13434  // SetPackageDetails sets the PackageDetails field's value.
 13435  func (s *UpdatePackageOutput) SetPackageDetails(v *PackageDetails) *UpdatePackageOutput {
 13436  	s.PackageDetails = v
 13437  	return s
 13438  }
 13439  
 13440  // Container for request parameters to UpgradeElasticsearchDomain operation.
 13441  type UpgradeElasticsearchDomainInput struct {
 13442  	_ struct{} `type:"structure"`
 13443  
 13444  	// The name of an Elasticsearch domain. Domain names are unique across the domains
 13445  	// owned by an account within an AWS region. Domain names start with a letter
 13446  	// or number and can contain the following characters: a-z (lowercase), 0-9,
 13447  	// and - (hyphen).
 13448  	//
 13449  	// DomainName is a required field
 13450  	DomainName *string `min:"3" type:"string" required:"true"`
 13451  
 13452  	// This flag, when set to True, indicates that an Upgrade Eligibility Check
 13453  	// needs to be performed. This will not actually perform the Upgrade.
 13454  	PerformCheckOnly *bool `type:"boolean"`
 13455  
 13456  	// The version of Elasticsearch that you intend to upgrade the domain to.
 13457  	//
 13458  	// TargetVersion is a required field
 13459  	TargetVersion *string `type:"string" required:"true"`
 13460  }
 13461  
 13462  // String returns the string representation.
 13463  //
 13464  // API parameter values that are decorated as "sensitive" in the API will not
 13465  // be included in the string output. The member name will be present, but the
 13466  // value will be replaced with "sensitive".
 13467  func (s UpgradeElasticsearchDomainInput) String() string {
 13468  	return awsutil.Prettify(s)
 13469  }
 13470  
 13471  // GoString returns the string representation.
 13472  //
 13473  // API parameter values that are decorated as "sensitive" in the API will not
 13474  // be included in the string output. The member name will be present, but the
 13475  // value will be replaced with "sensitive".
 13476  func (s UpgradeElasticsearchDomainInput) GoString() string {
 13477  	return s.String()
 13478  }
 13479  
 13480  // Validate inspects the fields of the type to determine if they are valid.
 13481  func (s *UpgradeElasticsearchDomainInput) Validate() error {
 13482  	invalidParams := request.ErrInvalidParams{Context: "UpgradeElasticsearchDomainInput"}
 13483  	if s.DomainName == nil {
 13484  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
 13485  	}
 13486  	if s.DomainName != nil && len(*s.DomainName) < 3 {
 13487  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
 13488  	}
 13489  	if s.TargetVersion == nil {
 13490  		invalidParams.Add(request.NewErrParamRequired("TargetVersion"))
 13491  	}
 13492  
 13493  	if invalidParams.Len() > 0 {
 13494  		return invalidParams
 13495  	}
 13496  	return nil
 13497  }
 13498  
 13499  // SetDomainName sets the DomainName field's value.
 13500  func (s *UpgradeElasticsearchDomainInput) SetDomainName(v string) *UpgradeElasticsearchDomainInput {
 13501  	s.DomainName = &v
 13502  	return s
 13503  }
 13504  
 13505  // SetPerformCheckOnly sets the PerformCheckOnly field's value.
 13506  func (s *UpgradeElasticsearchDomainInput) SetPerformCheckOnly(v bool) *UpgradeElasticsearchDomainInput {
 13507  	s.PerformCheckOnly = &v
 13508  	return s
 13509  }
 13510  
 13511  // SetTargetVersion sets the TargetVersion field's value.
 13512  func (s *UpgradeElasticsearchDomainInput) SetTargetVersion(v string) *UpgradeElasticsearchDomainInput {
 13513  	s.TargetVersion = &v
 13514  	return s
 13515  }
 13516  
 13517  // Container for response returned by UpgradeElasticsearchDomain operation.
 13518  type UpgradeElasticsearchDomainOutput struct {
 13519  	_ struct{} `type:"structure"`
 13520  
 13521  	// The name of an Elasticsearch domain. Domain names are unique across the domains
 13522  	// owned by an account within an AWS region. Domain names start with a letter
 13523  	// or number and can contain the following characters: a-z (lowercase), 0-9,
 13524  	// and - (hyphen).
 13525  	DomainName *string `min:"3" type:"string"`
 13526  
 13527  	// This flag, when set to True, indicates that an Upgrade Eligibility Check
 13528  	// needs to be performed. This will not actually perform the Upgrade.
 13529  	PerformCheckOnly *bool `type:"boolean"`
 13530  
 13531  	// The version of Elasticsearch that you intend to upgrade the domain to.
 13532  	TargetVersion *string `type:"string"`
 13533  }
 13534  
 13535  // String returns the string representation.
 13536  //
 13537  // API parameter values that are decorated as "sensitive" in the API will not
 13538  // be included in the string output. The member name will be present, but the
 13539  // value will be replaced with "sensitive".
 13540  func (s UpgradeElasticsearchDomainOutput) String() string {
 13541  	return awsutil.Prettify(s)
 13542  }
 13543  
 13544  // GoString returns the string representation.
 13545  //
 13546  // API parameter values that are decorated as "sensitive" in the API will not
 13547  // be included in the string output. The member name will be present, but the
 13548  // value will be replaced with "sensitive".
 13549  func (s UpgradeElasticsearchDomainOutput) GoString() string {
 13550  	return s.String()
 13551  }
 13552  
 13553  // SetDomainName sets the DomainName field's value.
 13554  func (s *UpgradeElasticsearchDomainOutput) SetDomainName(v string) *UpgradeElasticsearchDomainOutput {
 13555  	s.DomainName = &v
 13556  	return s
 13557  }
 13558  
 13559  // SetPerformCheckOnly sets the PerformCheckOnly field's value.
 13560  func (s *UpgradeElasticsearchDomainOutput) SetPerformCheckOnly(v bool) *UpgradeElasticsearchDomainOutput {
 13561  	s.PerformCheckOnly = &v
 13562  	return s
 13563  }
 13564  
 13565  // SetTargetVersion sets the TargetVersion field's value.
 13566  func (s *UpgradeElasticsearchDomainOutput) SetTargetVersion(v string) *UpgradeElasticsearchDomainOutput {
 13567  	s.TargetVersion = &v
 13568  	return s
 13569  }
 13570  
 13571  // History of the last 10 Upgrades and Upgrade Eligibility Checks.
 13572  type UpgradeHistory struct {
 13573  	_ struct{} `type:"structure"`
 13574  
 13575  	// UTC Timestamp at which the Upgrade API call was made in "yyyy-MM-ddTHH:mm:ssZ"
 13576  	// format.
 13577  	StartTimestamp *time.Time `type:"timestamp"`
 13578  
 13579  	// A list of UpgradeStepItem s representing information about each step performed
 13580  	// as pard of a specific Upgrade or Upgrade Eligibility Check.
 13581  	StepsList []*UpgradeStepItem `type:"list"`
 13582  
 13583  	// A string that describes the update briefly
 13584  	UpgradeName *string `type:"string"`
 13585  
 13586  	// The overall status of the update. The status can take one of the following
 13587  	// values:
 13588  	//    * In Progress
 13589  	//
 13590  	//    * Succeeded
 13591  	//
 13592  	//    * Succeeded with Issues
 13593  	//
 13594  	//    * Failed
 13595  	UpgradeStatus *string `type:"string" enum:"UpgradeStatus"`
 13596  }
 13597  
 13598  // String returns the string representation.
 13599  //
 13600  // API parameter values that are decorated as "sensitive" in the API will not
 13601  // be included in the string output. The member name will be present, but the
 13602  // value will be replaced with "sensitive".
 13603  func (s UpgradeHistory) String() string {
 13604  	return awsutil.Prettify(s)
 13605  }
 13606  
 13607  // GoString returns the string representation.
 13608  //
 13609  // API parameter values that are decorated as "sensitive" in the API will not
 13610  // be included in the string output. The member name will be present, but the
 13611  // value will be replaced with "sensitive".
 13612  func (s UpgradeHistory) GoString() string {
 13613  	return s.String()
 13614  }
 13615  
 13616  // SetStartTimestamp sets the StartTimestamp field's value.
 13617  func (s *UpgradeHistory) SetStartTimestamp(v time.Time) *UpgradeHistory {
 13618  	s.StartTimestamp = &v
 13619  	return s
 13620  }
 13621  
 13622  // SetStepsList sets the StepsList field's value.
 13623  func (s *UpgradeHistory) SetStepsList(v []*UpgradeStepItem) *UpgradeHistory {
 13624  	s.StepsList = v
 13625  	return s
 13626  }
 13627  
 13628  // SetUpgradeName sets the UpgradeName field's value.
 13629  func (s *UpgradeHistory) SetUpgradeName(v string) *UpgradeHistory {
 13630  	s.UpgradeName = &v
 13631  	return s
 13632  }
 13633  
 13634  // SetUpgradeStatus sets the UpgradeStatus field's value.
 13635  func (s *UpgradeHistory) SetUpgradeStatus(v string) *UpgradeHistory {
 13636  	s.UpgradeStatus = &v
 13637  	return s
 13638  }
 13639  
 13640  // Represents a single step of the Upgrade or Upgrade Eligibility Check workflow.
 13641  type UpgradeStepItem struct {
 13642  	_ struct{} `type:"structure"`
 13643  
 13644  	// A list of strings containing detailed information about the errors encountered
 13645  	// in a particular step.
 13646  	Issues []*string `type:"list"`
 13647  
 13648  	// The Floating point value representing progress percentage of a particular
 13649  	// step.
 13650  	ProgressPercent *float64 `type:"double"`
 13651  
 13652  	// Represents one of 3 steps that an Upgrade or Upgrade Eligibility Check does
 13653  	// through:
 13654  	//    * PreUpgradeCheck
 13655  	//
 13656  	//    * Snapshot
 13657  	//
 13658  	//    * Upgrade
 13659  	UpgradeStep *string `type:"string" enum:"UpgradeStep"`
 13660  
 13661  	// The status of a particular step during an upgrade. The status can take one
 13662  	// of the following values:
 13663  	//    * In Progress
 13664  	//
 13665  	//    * Succeeded
 13666  	//
 13667  	//    * Succeeded with Issues
 13668  	//
 13669  	//    * Failed
 13670  	UpgradeStepStatus *string `type:"string" enum:"UpgradeStatus"`
 13671  }
 13672  
 13673  // String returns the string representation.
 13674  //
 13675  // API parameter values that are decorated as "sensitive" in the API will not
 13676  // be included in the string output. The member name will be present, but the
 13677  // value will be replaced with "sensitive".
 13678  func (s UpgradeStepItem) String() string {
 13679  	return awsutil.Prettify(s)
 13680  }
 13681  
 13682  // GoString returns the string representation.
 13683  //
 13684  // API parameter values that are decorated as "sensitive" in the API will not
 13685  // be included in the string output. The member name will be present, but the
 13686  // value will be replaced with "sensitive".
 13687  func (s UpgradeStepItem) GoString() string {
 13688  	return s.String()
 13689  }
 13690  
 13691  // SetIssues sets the Issues field's value.
 13692  func (s *UpgradeStepItem) SetIssues(v []*string) *UpgradeStepItem {
 13693  	s.Issues = v
 13694  	return s
 13695  }
 13696  
 13697  // SetProgressPercent sets the ProgressPercent field's value.
 13698  func (s *UpgradeStepItem) SetProgressPercent(v float64) *UpgradeStepItem {
 13699  	s.ProgressPercent = &v
 13700  	return s
 13701  }
 13702  
 13703  // SetUpgradeStep sets the UpgradeStep field's value.
 13704  func (s *UpgradeStepItem) SetUpgradeStep(v string) *UpgradeStepItem {
 13705  	s.UpgradeStep = &v
 13706  	return s
 13707  }
 13708  
 13709  // SetUpgradeStepStatus sets the UpgradeStepStatus field's value.
 13710  func (s *UpgradeStepItem) SetUpgradeStepStatus(v string) *UpgradeStepItem {
 13711  	s.UpgradeStepStatus = &v
 13712  	return s
 13713  }
 13714  
 13715  // Options to specify the subnets and security groups for VPC endpoint. For
 13716  // more information, see VPC Endpoints for Amazon Elasticsearch Service Domains
 13717  // (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-vpc.html).
 13718  type VPCDerivedInfo struct {
 13719  	_ struct{} `type:"structure"`
 13720  
 13721  	// The availability zones for the Elasticsearch domain. Exists only if the domain
 13722  	// was created with VPCOptions.
 13723  	AvailabilityZones []*string `type:"list"`
 13724  
 13725  	// Specifies the security groups for VPC endpoint.
 13726  	SecurityGroupIds []*string `type:"list"`
 13727  
 13728  	// Specifies the subnets for VPC endpoint.
 13729  	SubnetIds []*string `type:"list"`
 13730  
 13731  	// The VPC Id for the Elasticsearch domain. Exists only if the domain was created
 13732  	// with VPCOptions.
 13733  	VPCId *string `type:"string"`
 13734  }
 13735  
 13736  // String returns the string representation.
 13737  //
 13738  // API parameter values that are decorated as "sensitive" in the API will not
 13739  // be included in the string output. The member name will be present, but the
 13740  // value will be replaced with "sensitive".
 13741  func (s VPCDerivedInfo) String() string {
 13742  	return awsutil.Prettify(s)
 13743  }
 13744  
 13745  // GoString returns the string representation.
 13746  //
 13747  // API parameter values that are decorated as "sensitive" in the API will not
 13748  // be included in the string output. The member name will be present, but the
 13749  // value will be replaced with "sensitive".
 13750  func (s VPCDerivedInfo) GoString() string {
 13751  	return s.String()
 13752  }
 13753  
 13754  // SetAvailabilityZones sets the AvailabilityZones field's value.
 13755  func (s *VPCDerivedInfo) SetAvailabilityZones(v []*string) *VPCDerivedInfo {
 13756  	s.AvailabilityZones = v
 13757  	return s
 13758  }
 13759  
 13760  // SetSecurityGroupIds sets the SecurityGroupIds field's value.
 13761  func (s *VPCDerivedInfo) SetSecurityGroupIds(v []*string) *VPCDerivedInfo {
 13762  	s.SecurityGroupIds = v
 13763  	return s
 13764  }
 13765  
 13766  // SetSubnetIds sets the SubnetIds field's value.
 13767  func (s *VPCDerivedInfo) SetSubnetIds(v []*string) *VPCDerivedInfo {
 13768  	s.SubnetIds = v
 13769  	return s
 13770  }
 13771  
 13772  // SetVPCId sets the VPCId field's value.
 13773  func (s *VPCDerivedInfo) SetVPCId(v string) *VPCDerivedInfo {
 13774  	s.VPCId = &v
 13775  	return s
 13776  }
 13777  
 13778  // Status of the VPC options for the specified Elasticsearch domain.
 13779  type VPCDerivedInfoStatus struct {
 13780  	_ struct{} `type:"structure"`
 13781  
 13782  	// Specifies the VPC options for the specified Elasticsearch domain.
 13783  	//
 13784  	// Options is a required field
 13785  	Options *VPCDerivedInfo `type:"structure" required:"true"`
 13786  
 13787  	// Specifies the status of the VPC options for the specified Elasticsearch domain.
 13788  	//
 13789  	// Status is a required field
 13790  	Status *OptionStatus `type:"structure" required:"true"`
 13791  }
 13792  
 13793  // String returns the string representation.
 13794  //
 13795  // API parameter values that are decorated as "sensitive" in the API will not
 13796  // be included in the string output. The member name will be present, but the
 13797  // value will be replaced with "sensitive".
 13798  func (s VPCDerivedInfoStatus) String() string {
 13799  	return awsutil.Prettify(s)
 13800  }
 13801  
 13802  // GoString returns the string representation.
 13803  //
 13804  // API parameter values that are decorated as "sensitive" in the API will not
 13805  // be included in the string output. The member name will be present, but the
 13806  // value will be replaced with "sensitive".
 13807  func (s VPCDerivedInfoStatus) GoString() string {
 13808  	return s.String()
 13809  }
 13810  
 13811  // SetOptions sets the Options field's value.
 13812  func (s *VPCDerivedInfoStatus) SetOptions(v *VPCDerivedInfo) *VPCDerivedInfoStatus {
 13813  	s.Options = v
 13814  	return s
 13815  }
 13816  
 13817  // SetStatus sets the Status field's value.
 13818  func (s *VPCDerivedInfoStatus) SetStatus(v *OptionStatus) *VPCDerivedInfoStatus {
 13819  	s.Status = v
 13820  	return s
 13821  }
 13822  
 13823  // Options to specify the subnets and security groups for VPC endpoint. For
 13824  // more information, see VPC Endpoints for Amazon Elasticsearch Service Domains
 13825  // (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-vpc.html).
 13826  type VPCOptions struct {
 13827  	_ struct{} `type:"structure"`
 13828  
 13829  	// Specifies the security groups for VPC endpoint.
 13830  	SecurityGroupIds []*string `type:"list"`
 13831  
 13832  	// Specifies the subnets for VPC endpoint.
 13833  	SubnetIds []*string `type:"list"`
 13834  }
 13835  
 13836  // String returns the string representation.
 13837  //
 13838  // API parameter values that are decorated as "sensitive" in the API will not
 13839  // be included in the string output. The member name will be present, but the
 13840  // value will be replaced with "sensitive".
 13841  func (s VPCOptions) String() string {
 13842  	return awsutil.Prettify(s)
 13843  }
 13844  
 13845  // GoString returns the string representation.
 13846  //
 13847  // API parameter values that are decorated as "sensitive" in the API will not
 13848  // be included in the string output. The member name will be present, but the
 13849  // value will be replaced with "sensitive".
 13850  func (s VPCOptions) GoString() string {
 13851  	return s.String()
 13852  }
 13853  
 13854  // SetSecurityGroupIds sets the SecurityGroupIds field's value.
 13855  func (s *VPCOptions) SetSecurityGroupIds(v []*string) *VPCOptions {
 13856  	s.SecurityGroupIds = v
 13857  	return s
 13858  }
 13859  
 13860  // SetSubnetIds sets the SubnetIds field's value.
 13861  func (s *VPCOptions) SetSubnetIds(v []*string) *VPCOptions {
 13862  	s.SubnetIds = v
 13863  	return s
 13864  }
 13865  
 13866  // An exception for missing / invalid input fields. Gives http status code of
 13867  // 400.
 13868  type ValidationException struct {
 13869  	_            struct{}                  `type:"structure"`
 13870  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 13871  
 13872  	Message_ *string `locationName:"message" type:"string"`
 13873  }
 13874  
 13875  // String returns the string representation.
 13876  //
 13877  // API parameter values that are decorated as "sensitive" in the API will not
 13878  // be included in the string output. The member name will be present, but the
 13879  // value will be replaced with "sensitive".
 13880  func (s ValidationException) String() string {
 13881  	return awsutil.Prettify(s)
 13882  }
 13883  
 13884  // GoString returns the string representation.
 13885  //
 13886  // API parameter values that are decorated as "sensitive" in the API will not
 13887  // be included in the string output. The member name will be present, but the
 13888  // value will be replaced with "sensitive".
 13889  func (s ValidationException) GoString() string {
 13890  	return s.String()
 13891  }
 13892  
 13893  func newErrorValidationException(v protocol.ResponseMetadata) error {
 13894  	return &ValidationException{
 13895  		RespMetadata: v,
 13896  	}
 13897  }
 13898  
 13899  // Code returns the exception type name.
 13900  func (s *ValidationException) Code() string {
 13901  	return "ValidationException"
 13902  }
 13903  
 13904  // Message returns the exception's message.
 13905  func (s *ValidationException) Message() string {
 13906  	if s.Message_ != nil {
 13907  		return *s.Message_
 13908  	}
 13909  	return ""
 13910  }
 13911  
 13912  // OrigErr always returns nil, satisfies awserr.Error interface.
 13913  func (s *ValidationException) OrigErr() error {
 13914  	return nil
 13915  }
 13916  
 13917  func (s *ValidationException) Error() string {
 13918  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 13919  }
 13920  
 13921  // Status code returns the HTTP status code for the request's response error.
 13922  func (s *ValidationException) StatusCode() int {
 13923  	return s.RespMetadata.StatusCode
 13924  }
 13925  
 13926  // RequestID returns the service's response RequestID for request.
 13927  func (s *ValidationException) RequestID() string {
 13928  	return s.RespMetadata.RequestID
 13929  }
 13930  
 13931  // Specifies the zone awareness configuration for the domain cluster, such as
 13932  // the number of availability zones.
 13933  type ZoneAwarenessConfig struct {
 13934  	_ struct{} `type:"structure"`
 13935  
 13936  	// An integer value to indicate the number of availability zones for a domain
 13937  	// when zone awareness is enabled. This should be equal to number of subnets
 13938  	// if VPC endpoints is enabled
 13939  	AvailabilityZoneCount *int64 `type:"integer"`
 13940  }
 13941  
 13942  // String returns the string representation.
 13943  //
 13944  // API parameter values that are decorated as "sensitive" in the API will not
 13945  // be included in the string output. The member name will be present, but the
 13946  // value will be replaced with "sensitive".
 13947  func (s ZoneAwarenessConfig) String() string {
 13948  	return awsutil.Prettify(s)
 13949  }
 13950  
 13951  // GoString returns the string representation.
 13952  //
 13953  // API parameter values that are decorated as "sensitive" in the API will not
 13954  // be included in the string output. The member name will be present, but the
 13955  // value will be replaced with "sensitive".
 13956  func (s ZoneAwarenessConfig) GoString() string {
 13957  	return s.String()
 13958  }
 13959  
 13960  // SetAvailabilityZoneCount sets the AvailabilityZoneCount field's value.
 13961  func (s *ZoneAwarenessConfig) SetAvailabilityZoneCount(v int64) *ZoneAwarenessConfig {
 13962  	s.AvailabilityZoneCount = &v
 13963  	return s
 13964  }
 13965  
 13966  // Specifies the Auto-Tune desired state. Valid values are ENABLED, DISABLED.
 13967  const (
 13968  	// AutoTuneDesiredStateEnabled is a AutoTuneDesiredState enum value
 13969  	AutoTuneDesiredStateEnabled = "ENABLED"
 13970  
 13971  	// AutoTuneDesiredStateDisabled is a AutoTuneDesiredState enum value
 13972  	AutoTuneDesiredStateDisabled = "DISABLED"
 13973  )
 13974  
 13975  // AutoTuneDesiredState_Values returns all elements of the AutoTuneDesiredState enum
 13976  func AutoTuneDesiredState_Values() []string {
 13977  	return []string{
 13978  		AutoTuneDesiredStateEnabled,
 13979  		AutoTuneDesiredStateDisabled,
 13980  	}
 13981  }
 13982  
 13983  // Specifies the Auto-Tune state for the Elasticsearch domain. For valid states
 13984  // see the Developer Guide (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/auto-tune.html).
 13985  const (
 13986  	// AutoTuneStateEnabled is a AutoTuneState enum value
 13987  	AutoTuneStateEnabled = "ENABLED"
 13988  
 13989  	// AutoTuneStateDisabled is a AutoTuneState enum value
 13990  	AutoTuneStateDisabled = "DISABLED"
 13991  
 13992  	// AutoTuneStateEnableInProgress is a AutoTuneState enum value
 13993  	AutoTuneStateEnableInProgress = "ENABLE_IN_PROGRESS"
 13994  
 13995  	// AutoTuneStateDisableInProgress is a AutoTuneState enum value
 13996  	AutoTuneStateDisableInProgress = "DISABLE_IN_PROGRESS"
 13997  
 13998  	// AutoTuneStateDisabledAndRollbackScheduled is a AutoTuneState enum value
 13999  	AutoTuneStateDisabledAndRollbackScheduled = "DISABLED_AND_ROLLBACK_SCHEDULED"
 14000  
 14001  	// AutoTuneStateDisabledAndRollbackInProgress is a AutoTuneState enum value
 14002  	AutoTuneStateDisabledAndRollbackInProgress = "DISABLED_AND_ROLLBACK_IN_PROGRESS"
 14003  
 14004  	// AutoTuneStateDisabledAndRollbackComplete is a AutoTuneState enum value
 14005  	AutoTuneStateDisabledAndRollbackComplete = "DISABLED_AND_ROLLBACK_COMPLETE"
 14006  
 14007  	// AutoTuneStateDisabledAndRollbackError is a AutoTuneState enum value
 14008  	AutoTuneStateDisabledAndRollbackError = "DISABLED_AND_ROLLBACK_ERROR"
 14009  
 14010  	// AutoTuneStateError is a AutoTuneState enum value
 14011  	AutoTuneStateError = "ERROR"
 14012  )
 14013  
 14014  // AutoTuneState_Values returns all elements of the AutoTuneState enum
 14015  func AutoTuneState_Values() []string {
 14016  	return []string{
 14017  		AutoTuneStateEnabled,
 14018  		AutoTuneStateDisabled,
 14019  		AutoTuneStateEnableInProgress,
 14020  		AutoTuneStateDisableInProgress,
 14021  		AutoTuneStateDisabledAndRollbackScheduled,
 14022  		AutoTuneStateDisabledAndRollbackInProgress,
 14023  		AutoTuneStateDisabledAndRollbackComplete,
 14024  		AutoTuneStateDisabledAndRollbackError,
 14025  		AutoTuneStateError,
 14026  	}
 14027  }
 14028  
 14029  // Specifies Auto-Tune type. Valid value is SCHEDULED_ACTION.
 14030  const (
 14031  	// AutoTuneTypeScheduledAction is a AutoTuneType enum value
 14032  	AutoTuneTypeScheduledAction = "SCHEDULED_ACTION"
 14033  )
 14034  
 14035  // AutoTuneType_Values returns all elements of the AutoTuneType enum
 14036  func AutoTuneType_Values() []string {
 14037  	return []string{
 14038  		AutoTuneTypeScheduledAction,
 14039  	}
 14040  }
 14041  
 14042  const (
 14043  	// DeploymentStatusPendingUpdate is a DeploymentStatus enum value
 14044  	DeploymentStatusPendingUpdate = "PENDING_UPDATE"
 14045  
 14046  	// DeploymentStatusInProgress is a DeploymentStatus enum value
 14047  	DeploymentStatusInProgress = "IN_PROGRESS"
 14048  
 14049  	// DeploymentStatusCompleted is a DeploymentStatus enum value
 14050  	DeploymentStatusCompleted = "COMPLETED"
 14051  
 14052  	// DeploymentStatusNotEligible is a DeploymentStatus enum value
 14053  	DeploymentStatusNotEligible = "NOT_ELIGIBLE"
 14054  
 14055  	// DeploymentStatusEligible is a DeploymentStatus enum value
 14056  	DeploymentStatusEligible = "ELIGIBLE"
 14057  )
 14058  
 14059  // DeploymentStatus_Values returns all elements of the DeploymentStatus enum
 14060  func DeploymentStatus_Values() []string {
 14061  	return []string{
 14062  		DeploymentStatusPendingUpdate,
 14063  		DeploymentStatusInProgress,
 14064  		DeploymentStatusCompleted,
 14065  		DeploymentStatusNotEligible,
 14066  		DeploymentStatusEligible,
 14067  	}
 14068  }
 14069  
 14070  const (
 14071  	// DescribePackagesFilterNamePackageId is a DescribePackagesFilterName enum value
 14072  	DescribePackagesFilterNamePackageId = "PackageID"
 14073  
 14074  	// DescribePackagesFilterNamePackageName is a DescribePackagesFilterName enum value
 14075  	DescribePackagesFilterNamePackageName = "PackageName"
 14076  
 14077  	// DescribePackagesFilterNamePackageStatus is a DescribePackagesFilterName enum value
 14078  	DescribePackagesFilterNamePackageStatus = "PackageStatus"
 14079  )
 14080  
 14081  // DescribePackagesFilterName_Values returns all elements of the DescribePackagesFilterName enum
 14082  func DescribePackagesFilterName_Values() []string {
 14083  	return []string{
 14084  		DescribePackagesFilterNamePackageId,
 14085  		DescribePackagesFilterNamePackageName,
 14086  		DescribePackagesFilterNamePackageStatus,
 14087  	}
 14088  }
 14089  
 14090  const (
 14091  	// DomainPackageStatusAssociating is a DomainPackageStatus enum value
 14092  	DomainPackageStatusAssociating = "ASSOCIATING"
 14093  
 14094  	// DomainPackageStatusAssociationFailed is a DomainPackageStatus enum value
 14095  	DomainPackageStatusAssociationFailed = "ASSOCIATION_FAILED"
 14096  
 14097  	// DomainPackageStatusActive is a DomainPackageStatus enum value
 14098  	DomainPackageStatusActive = "ACTIVE"
 14099  
 14100  	// DomainPackageStatusDissociating is a DomainPackageStatus enum value
 14101  	DomainPackageStatusDissociating = "DISSOCIATING"
 14102  
 14103  	// DomainPackageStatusDissociationFailed is a DomainPackageStatus enum value
 14104  	DomainPackageStatusDissociationFailed = "DISSOCIATION_FAILED"
 14105  )
 14106  
 14107  // DomainPackageStatus_Values returns all elements of the DomainPackageStatus enum
 14108  func DomainPackageStatus_Values() []string {
 14109  	return []string{
 14110  		DomainPackageStatusAssociating,
 14111  		DomainPackageStatusAssociationFailed,
 14112  		DomainPackageStatusActive,
 14113  		DomainPackageStatusDissociating,
 14114  		DomainPackageStatusDissociationFailed,
 14115  	}
 14116  }
 14117  
 14118  const (
 14119  	// ESPartitionInstanceTypeM3MediumElasticsearch is a ESPartitionInstanceType enum value
 14120  	ESPartitionInstanceTypeM3MediumElasticsearch = "m3.medium.elasticsearch"
 14121  
 14122  	// ESPartitionInstanceTypeM3LargeElasticsearch is a ESPartitionInstanceType enum value
 14123  	ESPartitionInstanceTypeM3LargeElasticsearch = "m3.large.elasticsearch"
 14124  
 14125  	// ESPartitionInstanceTypeM3XlargeElasticsearch is a ESPartitionInstanceType enum value
 14126  	ESPartitionInstanceTypeM3XlargeElasticsearch = "m3.xlarge.elasticsearch"
 14127  
 14128  	// ESPartitionInstanceTypeM32xlargeElasticsearch is a ESPartitionInstanceType enum value
 14129  	ESPartitionInstanceTypeM32xlargeElasticsearch = "m3.2xlarge.elasticsearch"
 14130  
 14131  	// ESPartitionInstanceTypeM4LargeElasticsearch is a ESPartitionInstanceType enum value
 14132  	ESPartitionInstanceTypeM4LargeElasticsearch = "m4.large.elasticsearch"
 14133  
 14134  	// ESPartitionInstanceTypeM4XlargeElasticsearch is a ESPartitionInstanceType enum value
 14135  	ESPartitionInstanceTypeM4XlargeElasticsearch = "m4.xlarge.elasticsearch"
 14136  
 14137  	// ESPartitionInstanceTypeM42xlargeElasticsearch is a ESPartitionInstanceType enum value
 14138  	ESPartitionInstanceTypeM42xlargeElasticsearch = "m4.2xlarge.elasticsearch"
 14139  
 14140  	// ESPartitionInstanceTypeM44xlargeElasticsearch is a ESPartitionInstanceType enum value
 14141  	ESPartitionInstanceTypeM44xlargeElasticsearch = "m4.4xlarge.elasticsearch"
 14142  
 14143  	// ESPartitionInstanceTypeM410xlargeElasticsearch is a ESPartitionInstanceType enum value
 14144  	ESPartitionInstanceTypeM410xlargeElasticsearch = "m4.10xlarge.elasticsearch"
 14145  
 14146  	// ESPartitionInstanceTypeM5LargeElasticsearch is a ESPartitionInstanceType enum value
 14147  	ESPartitionInstanceTypeM5LargeElasticsearch = "m5.large.elasticsearch"
 14148  
 14149  	// ESPartitionInstanceTypeM5XlargeElasticsearch is a ESPartitionInstanceType enum value
 14150  	ESPartitionInstanceTypeM5XlargeElasticsearch = "m5.xlarge.elasticsearch"
 14151  
 14152  	// ESPartitionInstanceTypeM52xlargeElasticsearch is a ESPartitionInstanceType enum value
 14153  	ESPartitionInstanceTypeM52xlargeElasticsearch = "m5.2xlarge.elasticsearch"
 14154  
 14155  	// ESPartitionInstanceTypeM54xlargeElasticsearch is a ESPartitionInstanceType enum value
 14156  	ESPartitionInstanceTypeM54xlargeElasticsearch = "m5.4xlarge.elasticsearch"
 14157  
 14158  	// ESPartitionInstanceTypeM512xlargeElasticsearch is a ESPartitionInstanceType enum value
 14159  	ESPartitionInstanceTypeM512xlargeElasticsearch = "m5.12xlarge.elasticsearch"
 14160  
 14161  	// ESPartitionInstanceTypeR5LargeElasticsearch is a ESPartitionInstanceType enum value
 14162  	ESPartitionInstanceTypeR5LargeElasticsearch = "r5.large.elasticsearch"
 14163  
 14164  	// ESPartitionInstanceTypeR5XlargeElasticsearch is a ESPartitionInstanceType enum value
 14165  	ESPartitionInstanceTypeR5XlargeElasticsearch = "r5.xlarge.elasticsearch"
 14166  
 14167  	// ESPartitionInstanceTypeR52xlargeElasticsearch is a ESPartitionInstanceType enum value
 14168  	ESPartitionInstanceTypeR52xlargeElasticsearch = "r5.2xlarge.elasticsearch"
 14169  
 14170  	// ESPartitionInstanceTypeR54xlargeElasticsearch is a ESPartitionInstanceType enum value
 14171  	ESPartitionInstanceTypeR54xlargeElasticsearch = "r5.4xlarge.elasticsearch"
 14172  
 14173  	// ESPartitionInstanceTypeR512xlargeElasticsearch is a ESPartitionInstanceType enum value
 14174  	ESPartitionInstanceTypeR512xlargeElasticsearch = "r5.12xlarge.elasticsearch"
 14175  
 14176  	// ESPartitionInstanceTypeC5LargeElasticsearch is a ESPartitionInstanceType enum value
 14177  	ESPartitionInstanceTypeC5LargeElasticsearch = "c5.large.elasticsearch"
 14178  
 14179  	// ESPartitionInstanceTypeC5XlargeElasticsearch is a ESPartitionInstanceType enum value
 14180  	ESPartitionInstanceTypeC5XlargeElasticsearch = "c5.xlarge.elasticsearch"
 14181  
 14182  	// ESPartitionInstanceTypeC52xlargeElasticsearch is a ESPartitionInstanceType enum value
 14183  	ESPartitionInstanceTypeC52xlargeElasticsearch = "c5.2xlarge.elasticsearch"
 14184  
 14185  	// ESPartitionInstanceTypeC54xlargeElasticsearch is a ESPartitionInstanceType enum value
 14186  	ESPartitionInstanceTypeC54xlargeElasticsearch = "c5.4xlarge.elasticsearch"
 14187  
 14188  	// ESPartitionInstanceTypeC59xlargeElasticsearch is a ESPartitionInstanceType enum value
 14189  	ESPartitionInstanceTypeC59xlargeElasticsearch = "c5.9xlarge.elasticsearch"
 14190  
 14191  	// ESPartitionInstanceTypeC518xlargeElasticsearch is a ESPartitionInstanceType enum value
 14192  	ESPartitionInstanceTypeC518xlargeElasticsearch = "c5.18xlarge.elasticsearch"
 14193  
 14194  	// ESPartitionInstanceTypeUltrawarm1MediumElasticsearch is a ESPartitionInstanceType enum value
 14195  	ESPartitionInstanceTypeUltrawarm1MediumElasticsearch = "ultrawarm1.medium.elasticsearch"
 14196  
 14197  	// ESPartitionInstanceTypeUltrawarm1LargeElasticsearch is a ESPartitionInstanceType enum value
 14198  	ESPartitionInstanceTypeUltrawarm1LargeElasticsearch = "ultrawarm1.large.elasticsearch"
 14199  
 14200  	// ESPartitionInstanceTypeT2MicroElasticsearch is a ESPartitionInstanceType enum value
 14201  	ESPartitionInstanceTypeT2MicroElasticsearch = "t2.micro.elasticsearch"
 14202  
 14203  	// ESPartitionInstanceTypeT2SmallElasticsearch is a ESPartitionInstanceType enum value
 14204  	ESPartitionInstanceTypeT2SmallElasticsearch = "t2.small.elasticsearch"
 14205  
 14206  	// ESPartitionInstanceTypeT2MediumElasticsearch is a ESPartitionInstanceType enum value
 14207  	ESPartitionInstanceTypeT2MediumElasticsearch = "t2.medium.elasticsearch"
 14208  
 14209  	// ESPartitionInstanceTypeR3LargeElasticsearch is a ESPartitionInstanceType enum value
 14210  	ESPartitionInstanceTypeR3LargeElasticsearch = "r3.large.elasticsearch"
 14211  
 14212  	// ESPartitionInstanceTypeR3XlargeElasticsearch is a ESPartitionInstanceType enum value
 14213  	ESPartitionInstanceTypeR3XlargeElasticsearch = "r3.xlarge.elasticsearch"
 14214  
 14215  	// ESPartitionInstanceTypeR32xlargeElasticsearch is a ESPartitionInstanceType enum value
 14216  	ESPartitionInstanceTypeR32xlargeElasticsearch = "r3.2xlarge.elasticsearch"
 14217  
 14218  	// ESPartitionInstanceTypeR34xlargeElasticsearch is a ESPartitionInstanceType enum value
 14219  	ESPartitionInstanceTypeR34xlargeElasticsearch = "r3.4xlarge.elasticsearch"
 14220  
 14221  	// ESPartitionInstanceTypeR38xlargeElasticsearch is a ESPartitionInstanceType enum value
 14222  	ESPartitionInstanceTypeR38xlargeElasticsearch = "r3.8xlarge.elasticsearch"
 14223  
 14224  	// ESPartitionInstanceTypeI2XlargeElasticsearch is a ESPartitionInstanceType enum value
 14225  	ESPartitionInstanceTypeI2XlargeElasticsearch = "i2.xlarge.elasticsearch"
 14226  
 14227  	// ESPartitionInstanceTypeI22xlargeElasticsearch is a ESPartitionInstanceType enum value
 14228  	ESPartitionInstanceTypeI22xlargeElasticsearch = "i2.2xlarge.elasticsearch"
 14229  
 14230  	// ESPartitionInstanceTypeD2XlargeElasticsearch is a ESPartitionInstanceType enum value
 14231  	ESPartitionInstanceTypeD2XlargeElasticsearch = "d2.xlarge.elasticsearch"
 14232  
 14233  	// ESPartitionInstanceTypeD22xlargeElasticsearch is a ESPartitionInstanceType enum value
 14234  	ESPartitionInstanceTypeD22xlargeElasticsearch = "d2.2xlarge.elasticsearch"
 14235  
 14236  	// ESPartitionInstanceTypeD24xlargeElasticsearch is a ESPartitionInstanceType enum value
 14237  	ESPartitionInstanceTypeD24xlargeElasticsearch = "d2.4xlarge.elasticsearch"
 14238  
 14239  	// ESPartitionInstanceTypeD28xlargeElasticsearch is a ESPartitionInstanceType enum value
 14240  	ESPartitionInstanceTypeD28xlargeElasticsearch = "d2.8xlarge.elasticsearch"
 14241  
 14242  	// ESPartitionInstanceTypeC4LargeElasticsearch is a ESPartitionInstanceType enum value
 14243  	ESPartitionInstanceTypeC4LargeElasticsearch = "c4.large.elasticsearch"
 14244  
 14245  	// ESPartitionInstanceTypeC4XlargeElasticsearch is a ESPartitionInstanceType enum value
 14246  	ESPartitionInstanceTypeC4XlargeElasticsearch = "c4.xlarge.elasticsearch"
 14247  
 14248  	// ESPartitionInstanceTypeC42xlargeElasticsearch is a ESPartitionInstanceType enum value
 14249  	ESPartitionInstanceTypeC42xlargeElasticsearch = "c4.2xlarge.elasticsearch"
 14250  
 14251  	// ESPartitionInstanceTypeC44xlargeElasticsearch is a ESPartitionInstanceType enum value
 14252  	ESPartitionInstanceTypeC44xlargeElasticsearch = "c4.4xlarge.elasticsearch"
 14253  
 14254  	// ESPartitionInstanceTypeC48xlargeElasticsearch is a ESPartitionInstanceType enum value
 14255  	ESPartitionInstanceTypeC48xlargeElasticsearch = "c4.8xlarge.elasticsearch"
 14256  
 14257  	// ESPartitionInstanceTypeR4LargeElasticsearch is a ESPartitionInstanceType enum value
 14258  	ESPartitionInstanceTypeR4LargeElasticsearch = "r4.large.elasticsearch"
 14259  
 14260  	// ESPartitionInstanceTypeR4XlargeElasticsearch is a ESPartitionInstanceType enum value
 14261  	ESPartitionInstanceTypeR4XlargeElasticsearch = "r4.xlarge.elasticsearch"
 14262  
 14263  	// ESPartitionInstanceTypeR42xlargeElasticsearch is a ESPartitionInstanceType enum value
 14264  	ESPartitionInstanceTypeR42xlargeElasticsearch = "r4.2xlarge.elasticsearch"
 14265  
 14266  	// ESPartitionInstanceTypeR44xlargeElasticsearch is a ESPartitionInstanceType enum value
 14267  	ESPartitionInstanceTypeR44xlargeElasticsearch = "r4.4xlarge.elasticsearch"
 14268  
 14269  	// ESPartitionInstanceTypeR48xlargeElasticsearch is a ESPartitionInstanceType enum value
 14270  	ESPartitionInstanceTypeR48xlargeElasticsearch = "r4.8xlarge.elasticsearch"
 14271  
 14272  	// ESPartitionInstanceTypeR416xlargeElasticsearch is a ESPartitionInstanceType enum value
 14273  	ESPartitionInstanceTypeR416xlargeElasticsearch = "r4.16xlarge.elasticsearch"
 14274  
 14275  	// ESPartitionInstanceTypeI3LargeElasticsearch is a ESPartitionInstanceType enum value
 14276  	ESPartitionInstanceTypeI3LargeElasticsearch = "i3.large.elasticsearch"
 14277  
 14278  	// ESPartitionInstanceTypeI3XlargeElasticsearch is a ESPartitionInstanceType enum value
 14279  	ESPartitionInstanceTypeI3XlargeElasticsearch = "i3.xlarge.elasticsearch"
 14280  
 14281  	// ESPartitionInstanceTypeI32xlargeElasticsearch is a ESPartitionInstanceType enum value
 14282  	ESPartitionInstanceTypeI32xlargeElasticsearch = "i3.2xlarge.elasticsearch"
 14283  
 14284  	// ESPartitionInstanceTypeI34xlargeElasticsearch is a ESPartitionInstanceType enum value
 14285  	ESPartitionInstanceTypeI34xlargeElasticsearch = "i3.4xlarge.elasticsearch"
 14286  
 14287  	// ESPartitionInstanceTypeI38xlargeElasticsearch is a ESPartitionInstanceType enum value
 14288  	ESPartitionInstanceTypeI38xlargeElasticsearch = "i3.8xlarge.elasticsearch"
 14289  
 14290  	// ESPartitionInstanceTypeI316xlargeElasticsearch is a ESPartitionInstanceType enum value
 14291  	ESPartitionInstanceTypeI316xlargeElasticsearch = "i3.16xlarge.elasticsearch"
 14292  )
 14293  
 14294  // ESPartitionInstanceType_Values returns all elements of the ESPartitionInstanceType enum
 14295  func ESPartitionInstanceType_Values() []string {
 14296  	return []string{
 14297  		ESPartitionInstanceTypeM3MediumElasticsearch,
 14298  		ESPartitionInstanceTypeM3LargeElasticsearch,
 14299  		ESPartitionInstanceTypeM3XlargeElasticsearch,
 14300  		ESPartitionInstanceTypeM32xlargeElasticsearch,
 14301  		ESPartitionInstanceTypeM4LargeElasticsearch,
 14302  		ESPartitionInstanceTypeM4XlargeElasticsearch,
 14303  		ESPartitionInstanceTypeM42xlargeElasticsearch,
 14304  		ESPartitionInstanceTypeM44xlargeElasticsearch,
 14305  		ESPartitionInstanceTypeM410xlargeElasticsearch,
 14306  		ESPartitionInstanceTypeM5LargeElasticsearch,
 14307  		ESPartitionInstanceTypeM5XlargeElasticsearch,
 14308  		ESPartitionInstanceTypeM52xlargeElasticsearch,
 14309  		ESPartitionInstanceTypeM54xlargeElasticsearch,
 14310  		ESPartitionInstanceTypeM512xlargeElasticsearch,
 14311  		ESPartitionInstanceTypeR5LargeElasticsearch,
 14312  		ESPartitionInstanceTypeR5XlargeElasticsearch,
 14313  		ESPartitionInstanceTypeR52xlargeElasticsearch,
 14314  		ESPartitionInstanceTypeR54xlargeElasticsearch,
 14315  		ESPartitionInstanceTypeR512xlargeElasticsearch,
 14316  		ESPartitionInstanceTypeC5LargeElasticsearch,
 14317  		ESPartitionInstanceTypeC5XlargeElasticsearch,
 14318  		ESPartitionInstanceTypeC52xlargeElasticsearch,
 14319  		ESPartitionInstanceTypeC54xlargeElasticsearch,
 14320  		ESPartitionInstanceTypeC59xlargeElasticsearch,
 14321  		ESPartitionInstanceTypeC518xlargeElasticsearch,
 14322  		ESPartitionInstanceTypeUltrawarm1MediumElasticsearch,
 14323  		ESPartitionInstanceTypeUltrawarm1LargeElasticsearch,
 14324  		ESPartitionInstanceTypeT2MicroElasticsearch,
 14325  		ESPartitionInstanceTypeT2SmallElasticsearch,
 14326  		ESPartitionInstanceTypeT2MediumElasticsearch,
 14327  		ESPartitionInstanceTypeR3LargeElasticsearch,
 14328  		ESPartitionInstanceTypeR3XlargeElasticsearch,
 14329  		ESPartitionInstanceTypeR32xlargeElasticsearch,
 14330  		ESPartitionInstanceTypeR34xlargeElasticsearch,
 14331  		ESPartitionInstanceTypeR38xlargeElasticsearch,
 14332  		ESPartitionInstanceTypeI2XlargeElasticsearch,
 14333  		ESPartitionInstanceTypeI22xlargeElasticsearch,
 14334  		ESPartitionInstanceTypeD2XlargeElasticsearch,
 14335  		ESPartitionInstanceTypeD22xlargeElasticsearch,
 14336  		ESPartitionInstanceTypeD24xlargeElasticsearch,
 14337  		ESPartitionInstanceTypeD28xlargeElasticsearch,
 14338  		ESPartitionInstanceTypeC4LargeElasticsearch,
 14339  		ESPartitionInstanceTypeC4XlargeElasticsearch,
 14340  		ESPartitionInstanceTypeC42xlargeElasticsearch,
 14341  		ESPartitionInstanceTypeC44xlargeElasticsearch,
 14342  		ESPartitionInstanceTypeC48xlargeElasticsearch,
 14343  		ESPartitionInstanceTypeR4LargeElasticsearch,
 14344  		ESPartitionInstanceTypeR4XlargeElasticsearch,
 14345  		ESPartitionInstanceTypeR42xlargeElasticsearch,
 14346  		ESPartitionInstanceTypeR44xlargeElasticsearch,
 14347  		ESPartitionInstanceTypeR48xlargeElasticsearch,
 14348  		ESPartitionInstanceTypeR416xlargeElasticsearch,
 14349  		ESPartitionInstanceTypeI3LargeElasticsearch,
 14350  		ESPartitionInstanceTypeI3XlargeElasticsearch,
 14351  		ESPartitionInstanceTypeI32xlargeElasticsearch,
 14352  		ESPartitionInstanceTypeI34xlargeElasticsearch,
 14353  		ESPartitionInstanceTypeI38xlargeElasticsearch,
 14354  		ESPartitionInstanceTypeI316xlargeElasticsearch,
 14355  	}
 14356  }
 14357  
 14358  const (
 14359  	// ESWarmPartitionInstanceTypeUltrawarm1MediumElasticsearch is a ESWarmPartitionInstanceType enum value
 14360  	ESWarmPartitionInstanceTypeUltrawarm1MediumElasticsearch = "ultrawarm1.medium.elasticsearch"
 14361  
 14362  	// ESWarmPartitionInstanceTypeUltrawarm1LargeElasticsearch is a ESWarmPartitionInstanceType enum value
 14363  	ESWarmPartitionInstanceTypeUltrawarm1LargeElasticsearch = "ultrawarm1.large.elasticsearch"
 14364  )
 14365  
 14366  // ESWarmPartitionInstanceType_Values returns all elements of the ESWarmPartitionInstanceType enum
 14367  func ESWarmPartitionInstanceType_Values() []string {
 14368  	return []string{
 14369  		ESWarmPartitionInstanceTypeUltrawarm1MediumElasticsearch,
 14370  		ESWarmPartitionInstanceTypeUltrawarm1LargeElasticsearch,
 14371  	}
 14372  }
 14373  
 14374  const (
 14375  	// EngineTypeOpenSearch is a EngineType enum value
 14376  	EngineTypeOpenSearch = "OpenSearch"
 14377  
 14378  	// EngineTypeElasticsearch is a EngineType enum value
 14379  	EngineTypeElasticsearch = "Elasticsearch"
 14380  )
 14381  
 14382  // EngineType_Values returns all elements of the EngineType enum
 14383  func EngineType_Values() []string {
 14384  	return []string{
 14385  		EngineTypeOpenSearch,
 14386  		EngineTypeElasticsearch,
 14387  	}
 14388  }
 14389  
 14390  const (
 14391  	// InboundCrossClusterSearchConnectionStatusCodePendingAcceptance is a InboundCrossClusterSearchConnectionStatusCode enum value
 14392  	InboundCrossClusterSearchConnectionStatusCodePendingAcceptance = "PENDING_ACCEPTANCE"
 14393  
 14394  	// InboundCrossClusterSearchConnectionStatusCodeApproved is a InboundCrossClusterSearchConnectionStatusCode enum value
 14395  	InboundCrossClusterSearchConnectionStatusCodeApproved = "APPROVED"
 14396  
 14397  	// InboundCrossClusterSearchConnectionStatusCodeRejecting is a InboundCrossClusterSearchConnectionStatusCode enum value
 14398  	InboundCrossClusterSearchConnectionStatusCodeRejecting = "REJECTING"
 14399  
 14400  	// InboundCrossClusterSearchConnectionStatusCodeRejected is a InboundCrossClusterSearchConnectionStatusCode enum value
 14401  	InboundCrossClusterSearchConnectionStatusCodeRejected = "REJECTED"
 14402  
 14403  	// InboundCrossClusterSearchConnectionStatusCodeDeleting is a InboundCrossClusterSearchConnectionStatusCode enum value
 14404  	InboundCrossClusterSearchConnectionStatusCodeDeleting = "DELETING"
 14405  
 14406  	// InboundCrossClusterSearchConnectionStatusCodeDeleted is a InboundCrossClusterSearchConnectionStatusCode enum value
 14407  	InboundCrossClusterSearchConnectionStatusCodeDeleted = "DELETED"
 14408  )
 14409  
 14410  // InboundCrossClusterSearchConnectionStatusCode_Values returns all elements of the InboundCrossClusterSearchConnectionStatusCode enum
 14411  func InboundCrossClusterSearchConnectionStatusCode_Values() []string {
 14412  	return []string{
 14413  		InboundCrossClusterSearchConnectionStatusCodePendingAcceptance,
 14414  		InboundCrossClusterSearchConnectionStatusCodeApproved,
 14415  		InboundCrossClusterSearchConnectionStatusCodeRejecting,
 14416  		InboundCrossClusterSearchConnectionStatusCodeRejected,
 14417  		InboundCrossClusterSearchConnectionStatusCodeDeleting,
 14418  		InboundCrossClusterSearchConnectionStatusCodeDeleted,
 14419  	}
 14420  }
 14421  
 14422  // Type of Log File, it can be one of the following:
 14423  //    * INDEX_SLOW_LOGS: Index slow logs contain insert requests that took more
 14424  //    time than configured index query log threshold to execute.
 14425  //
 14426  //    * SEARCH_SLOW_LOGS: Search slow logs contain search queries that took
 14427  //    more time than configured search query log threshold to execute.
 14428  //
 14429  //    * ES_APPLICATION_LOGS: Elasticsearch application logs contain information
 14430  //    about errors and warnings raised during the operation of the service and
 14431  //    can be useful for troubleshooting.
 14432  //
 14433  //    * AUDIT_LOGS: Audit logs contain records of user requests for access from
 14434  //    the domain.
 14435  const (
 14436  	// LogTypeIndexSlowLogs is a LogType enum value
 14437  	LogTypeIndexSlowLogs = "INDEX_SLOW_LOGS"
 14438  
 14439  	// LogTypeSearchSlowLogs is a LogType enum value
 14440  	LogTypeSearchSlowLogs = "SEARCH_SLOW_LOGS"
 14441  
 14442  	// LogTypeEsApplicationLogs is a LogType enum value
 14443  	LogTypeEsApplicationLogs = "ES_APPLICATION_LOGS"
 14444  
 14445  	// LogTypeAuditLogs is a LogType enum value
 14446  	LogTypeAuditLogs = "AUDIT_LOGS"
 14447  )
 14448  
 14449  // LogType_Values returns all elements of the LogType enum
 14450  func LogType_Values() []string {
 14451  	return []string{
 14452  		LogTypeIndexSlowLogs,
 14453  		LogTypeSearchSlowLogs,
 14454  		LogTypeEsApplicationLogs,
 14455  		LogTypeAuditLogs,
 14456  	}
 14457  }
 14458  
 14459  // The state of a requested change. One of the following:
 14460  //
 14461  //    * Processing: The request change is still in-process.
 14462  //
 14463  //    * Active: The request change is processed and deployed to the Elasticsearch
 14464  //    domain.
 14465  const (
 14466  	// OptionStateRequiresIndexDocuments is a OptionState enum value
 14467  	OptionStateRequiresIndexDocuments = "RequiresIndexDocuments"
 14468  
 14469  	// OptionStateProcessing is a OptionState enum value
 14470  	OptionStateProcessing = "Processing"
 14471  
 14472  	// OptionStateActive is a OptionState enum value
 14473  	OptionStateActive = "Active"
 14474  )
 14475  
 14476  // OptionState_Values returns all elements of the OptionState enum
 14477  func OptionState_Values() []string {
 14478  	return []string{
 14479  		OptionStateRequiresIndexDocuments,
 14480  		OptionStateProcessing,
 14481  		OptionStateActive,
 14482  	}
 14483  }
 14484  
 14485  const (
 14486  	// OutboundCrossClusterSearchConnectionStatusCodePendingAcceptance is a OutboundCrossClusterSearchConnectionStatusCode enum value
 14487  	OutboundCrossClusterSearchConnectionStatusCodePendingAcceptance = "PENDING_ACCEPTANCE"
 14488  
 14489  	// OutboundCrossClusterSearchConnectionStatusCodeValidating is a OutboundCrossClusterSearchConnectionStatusCode enum value
 14490  	OutboundCrossClusterSearchConnectionStatusCodeValidating = "VALIDATING"
 14491  
 14492  	// OutboundCrossClusterSearchConnectionStatusCodeValidationFailed is a OutboundCrossClusterSearchConnectionStatusCode enum value
 14493  	OutboundCrossClusterSearchConnectionStatusCodeValidationFailed = "VALIDATION_FAILED"
 14494  
 14495  	// OutboundCrossClusterSearchConnectionStatusCodeProvisioning is a OutboundCrossClusterSearchConnectionStatusCode enum value
 14496  	OutboundCrossClusterSearchConnectionStatusCodeProvisioning = "PROVISIONING"
 14497  
 14498  	// OutboundCrossClusterSearchConnectionStatusCodeActive is a OutboundCrossClusterSearchConnectionStatusCode enum value
 14499  	OutboundCrossClusterSearchConnectionStatusCodeActive = "ACTIVE"
 14500  
 14501  	// OutboundCrossClusterSearchConnectionStatusCodeRejected is a OutboundCrossClusterSearchConnectionStatusCode enum value
 14502  	OutboundCrossClusterSearchConnectionStatusCodeRejected = "REJECTED"
 14503  
 14504  	// OutboundCrossClusterSearchConnectionStatusCodeDeleting is a OutboundCrossClusterSearchConnectionStatusCode enum value
 14505  	OutboundCrossClusterSearchConnectionStatusCodeDeleting = "DELETING"
 14506  
 14507  	// OutboundCrossClusterSearchConnectionStatusCodeDeleted is a OutboundCrossClusterSearchConnectionStatusCode enum value
 14508  	OutboundCrossClusterSearchConnectionStatusCodeDeleted = "DELETED"
 14509  )
 14510  
 14511  // OutboundCrossClusterSearchConnectionStatusCode_Values returns all elements of the OutboundCrossClusterSearchConnectionStatusCode enum
 14512  func OutboundCrossClusterSearchConnectionStatusCode_Values() []string {
 14513  	return []string{
 14514  		OutboundCrossClusterSearchConnectionStatusCodePendingAcceptance,
 14515  		OutboundCrossClusterSearchConnectionStatusCodeValidating,
 14516  		OutboundCrossClusterSearchConnectionStatusCodeValidationFailed,
 14517  		OutboundCrossClusterSearchConnectionStatusCodeProvisioning,
 14518  		OutboundCrossClusterSearchConnectionStatusCodeActive,
 14519  		OutboundCrossClusterSearchConnectionStatusCodeRejected,
 14520  		OutboundCrossClusterSearchConnectionStatusCodeDeleting,
 14521  		OutboundCrossClusterSearchConnectionStatusCodeDeleted,
 14522  	}
 14523  }
 14524  
 14525  const (
 14526  	// PackageStatusCopying is a PackageStatus enum value
 14527  	PackageStatusCopying = "COPYING"
 14528  
 14529  	// PackageStatusCopyFailed is a PackageStatus enum value
 14530  	PackageStatusCopyFailed = "COPY_FAILED"
 14531  
 14532  	// PackageStatusValidating is a PackageStatus enum value
 14533  	PackageStatusValidating = "VALIDATING"
 14534  
 14535  	// PackageStatusValidationFailed is a PackageStatus enum value
 14536  	PackageStatusValidationFailed = "VALIDATION_FAILED"
 14537  
 14538  	// PackageStatusAvailable is a PackageStatus enum value
 14539  	PackageStatusAvailable = "AVAILABLE"
 14540  
 14541  	// PackageStatusDeleting is a PackageStatus enum value
 14542  	PackageStatusDeleting = "DELETING"
 14543  
 14544  	// PackageStatusDeleted is a PackageStatus enum value
 14545  	PackageStatusDeleted = "DELETED"
 14546  
 14547  	// PackageStatusDeleteFailed is a PackageStatus enum value
 14548  	PackageStatusDeleteFailed = "DELETE_FAILED"
 14549  )
 14550  
 14551  // PackageStatus_Values returns all elements of the PackageStatus enum
 14552  func PackageStatus_Values() []string {
 14553  	return []string{
 14554  		PackageStatusCopying,
 14555  		PackageStatusCopyFailed,
 14556  		PackageStatusValidating,
 14557  		PackageStatusValidationFailed,
 14558  		PackageStatusAvailable,
 14559  		PackageStatusDeleting,
 14560  		PackageStatusDeleted,
 14561  		PackageStatusDeleteFailed,
 14562  	}
 14563  }
 14564  
 14565  const (
 14566  	// PackageTypeTxtDictionary is a PackageType enum value
 14567  	PackageTypeTxtDictionary = "TXT-DICTIONARY"
 14568  )
 14569  
 14570  // PackageType_Values returns all elements of the PackageType enum
 14571  func PackageType_Values() []string {
 14572  	return []string{
 14573  		PackageTypeTxtDictionary,
 14574  	}
 14575  }
 14576  
 14577  const (
 14578  	// ReservedElasticsearchInstancePaymentOptionAllUpfront is a ReservedElasticsearchInstancePaymentOption enum value
 14579  	ReservedElasticsearchInstancePaymentOptionAllUpfront = "ALL_UPFRONT"
 14580  
 14581  	// ReservedElasticsearchInstancePaymentOptionPartialUpfront is a ReservedElasticsearchInstancePaymentOption enum value
 14582  	ReservedElasticsearchInstancePaymentOptionPartialUpfront = "PARTIAL_UPFRONT"
 14583  
 14584  	// ReservedElasticsearchInstancePaymentOptionNoUpfront is a ReservedElasticsearchInstancePaymentOption enum value
 14585  	ReservedElasticsearchInstancePaymentOptionNoUpfront = "NO_UPFRONT"
 14586  )
 14587  
 14588  // ReservedElasticsearchInstancePaymentOption_Values returns all elements of the ReservedElasticsearchInstancePaymentOption enum
 14589  func ReservedElasticsearchInstancePaymentOption_Values() []string {
 14590  	return []string{
 14591  		ReservedElasticsearchInstancePaymentOptionAllUpfront,
 14592  		ReservedElasticsearchInstancePaymentOptionPartialUpfront,
 14593  		ReservedElasticsearchInstancePaymentOptionNoUpfront,
 14594  	}
 14595  }
 14596  
 14597  // Specifies the rollback state while disabling Auto-Tune for the domain. Valid
 14598  // values are NO_ROLLBACK, DEFAULT_ROLLBACK.
 14599  const (
 14600  	// RollbackOnDisableNoRollback is a RollbackOnDisable enum value
 14601  	RollbackOnDisableNoRollback = "NO_ROLLBACK"
 14602  
 14603  	// RollbackOnDisableDefaultRollback is a RollbackOnDisable enum value
 14604  	RollbackOnDisableDefaultRollback = "DEFAULT_ROLLBACK"
 14605  )
 14606  
 14607  // RollbackOnDisable_Values returns all elements of the RollbackOnDisable enum
 14608  func RollbackOnDisable_Values() []string {
 14609  	return []string{
 14610  		RollbackOnDisableNoRollback,
 14611  		RollbackOnDisableDefaultRollback,
 14612  	}
 14613  }
 14614  
 14615  // Specifies Auto-Tune action type. Valid values are JVM_HEAP_SIZE_TUNING and
 14616  // JVM_YOUNG_GEN_TUNING.
 14617  const (
 14618  	// ScheduledAutoTuneActionTypeJvmHeapSizeTuning is a ScheduledAutoTuneActionType enum value
 14619  	ScheduledAutoTuneActionTypeJvmHeapSizeTuning = "JVM_HEAP_SIZE_TUNING"
 14620  
 14621  	// ScheduledAutoTuneActionTypeJvmYoungGenTuning is a ScheduledAutoTuneActionType enum value
 14622  	ScheduledAutoTuneActionTypeJvmYoungGenTuning = "JVM_YOUNG_GEN_TUNING"
 14623  )
 14624  
 14625  // ScheduledAutoTuneActionType_Values returns all elements of the ScheduledAutoTuneActionType enum
 14626  func ScheduledAutoTuneActionType_Values() []string {
 14627  	return []string{
 14628  		ScheduledAutoTuneActionTypeJvmHeapSizeTuning,
 14629  		ScheduledAutoTuneActionTypeJvmYoungGenTuning,
 14630  	}
 14631  }
 14632  
 14633  // Specifies Auto-Tune action severity. Valid values are LOW, MEDIUM and HIGH.
 14634  const (
 14635  	// ScheduledAutoTuneSeverityTypeLow is a ScheduledAutoTuneSeverityType enum value
 14636  	ScheduledAutoTuneSeverityTypeLow = "LOW"
 14637  
 14638  	// ScheduledAutoTuneSeverityTypeMedium is a ScheduledAutoTuneSeverityType enum value
 14639  	ScheduledAutoTuneSeverityTypeMedium = "MEDIUM"
 14640  
 14641  	// ScheduledAutoTuneSeverityTypeHigh is a ScheduledAutoTuneSeverityType enum value
 14642  	ScheduledAutoTuneSeverityTypeHigh = "HIGH"
 14643  )
 14644  
 14645  // ScheduledAutoTuneSeverityType_Values returns all elements of the ScheduledAutoTuneSeverityType enum
 14646  func ScheduledAutoTuneSeverityType_Values() []string {
 14647  	return []string{
 14648  		ScheduledAutoTuneSeverityTypeLow,
 14649  		ScheduledAutoTuneSeverityTypeMedium,
 14650  		ScheduledAutoTuneSeverityTypeHigh,
 14651  	}
 14652  }
 14653  
 14654  const (
 14655  	// TLSSecurityPolicyPolicyMinTls10201907 is a TLSSecurityPolicy enum value
 14656  	TLSSecurityPolicyPolicyMinTls10201907 = "Policy-Min-TLS-1-0-2019-07"
 14657  
 14658  	// TLSSecurityPolicyPolicyMinTls12201907 is a TLSSecurityPolicy enum value
 14659  	TLSSecurityPolicyPolicyMinTls12201907 = "Policy-Min-TLS-1-2-2019-07"
 14660  )
 14661  
 14662  // TLSSecurityPolicy_Values returns all elements of the TLSSecurityPolicy enum
 14663  func TLSSecurityPolicy_Values() []string {
 14664  	return []string{
 14665  		TLSSecurityPolicyPolicyMinTls10201907,
 14666  		TLSSecurityPolicyPolicyMinTls12201907,
 14667  	}
 14668  }
 14669  
 14670  // Specifies the unit of a maintenance schedule duration. Valid value is HOUR.
 14671  // See the Developer Guide (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/auto-tune.html)
 14672  // for more information.
 14673  const (
 14674  	// TimeUnitHours is a TimeUnit enum value
 14675  	TimeUnitHours = "HOURS"
 14676  )
 14677  
 14678  // TimeUnit_Values returns all elements of the TimeUnit enum
 14679  func TimeUnit_Values() []string {
 14680  	return []string{
 14681  		TimeUnitHours,
 14682  	}
 14683  }
 14684  
 14685  const (
 14686  	// UpgradeStatusInProgress is a UpgradeStatus enum value
 14687  	UpgradeStatusInProgress = "IN_PROGRESS"
 14688  
 14689  	// UpgradeStatusSucceeded is a UpgradeStatus enum value
 14690  	UpgradeStatusSucceeded = "SUCCEEDED"
 14691  
 14692  	// UpgradeStatusSucceededWithIssues is a UpgradeStatus enum value
 14693  	UpgradeStatusSucceededWithIssues = "SUCCEEDED_WITH_ISSUES"
 14694  
 14695  	// UpgradeStatusFailed is a UpgradeStatus enum value
 14696  	UpgradeStatusFailed = "FAILED"
 14697  )
 14698  
 14699  // UpgradeStatus_Values returns all elements of the UpgradeStatus enum
 14700  func UpgradeStatus_Values() []string {
 14701  	return []string{
 14702  		UpgradeStatusInProgress,
 14703  		UpgradeStatusSucceeded,
 14704  		UpgradeStatusSucceededWithIssues,
 14705  		UpgradeStatusFailed,
 14706  	}
 14707  }
 14708  
 14709  const (
 14710  	// UpgradeStepPreUpgradeCheck is a UpgradeStep enum value
 14711  	UpgradeStepPreUpgradeCheck = "PRE_UPGRADE_CHECK"
 14712  
 14713  	// UpgradeStepSnapshot is a UpgradeStep enum value
 14714  	UpgradeStepSnapshot = "SNAPSHOT"
 14715  
 14716  	// UpgradeStepUpgrade is a UpgradeStep enum value
 14717  	UpgradeStepUpgrade = "UPGRADE"
 14718  )
 14719  
 14720  // UpgradeStep_Values returns all elements of the UpgradeStep enum
 14721  func UpgradeStep_Values() []string {
 14722  	return []string{
 14723  		UpgradeStepPreUpgradeCheck,
 14724  		UpgradeStepSnapshot,
 14725  		UpgradeStepUpgrade,
 14726  	}
 14727  }
 14728  
 14729  // The type of EBS volume, standard, gp2, or io1. See Configuring EBS-based
 14730  // Storage (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomain-configure-ebs)for
 14731  // more information.
 14732  const (
 14733  	// VolumeTypeStandard is a VolumeType enum value
 14734  	VolumeTypeStandard = "standard"
 14735  
 14736  	// VolumeTypeGp2 is a VolumeType enum value
 14737  	VolumeTypeGp2 = "gp2"
 14738  
 14739  	// VolumeTypeIo1 is a VolumeType enum value
 14740  	VolumeTypeIo1 = "io1"
 14741  )
 14742  
 14743  // VolumeType_Values returns all elements of the VolumeType enum
 14744  func VolumeType_Values() []string {
 14745  	return []string{
 14746  		VolumeTypeStandard,
 14747  		VolumeTypeGp2,
 14748  		VolumeTypeIo1,
 14749  	}
 14750  }