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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package opensearchservice
     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 opAcceptInboundConnection = "AcceptInboundConnection"
    17  
    18  // AcceptInboundConnectionRequest generates a "aws/request.Request" representing the
    19  // client's request for the AcceptInboundConnection 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 AcceptInboundConnection for more information on using the AcceptInboundConnection
    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 AcceptInboundConnectionRequest method.
    34  //    req, resp := client.AcceptInboundConnectionRequest(params)
    35  //
    36  //    err := req.Send()
    37  //    if err == nil { // resp is now filled
    38  //        fmt.Println(resp)
    39  //    }
    40  //
    41  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/AcceptInboundConnection
    42  func (c *OpenSearchService) AcceptInboundConnectionRequest(input *AcceptInboundConnectionInput) (req *request.Request, output *AcceptInboundConnectionOutput) {
    43  	op := &request.Operation{
    44  		Name:       opAcceptInboundConnection,
    45  		HTTPMethod: "PUT",
    46  		HTTPPath:   "/2021-01-01/opensearch/cc/inboundConnection/{ConnectionId}/accept",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &AcceptInboundConnectionInput{}
    51  	}
    52  
    53  	output = &AcceptInboundConnectionOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	return
    56  }
    57  
    58  // AcceptInboundConnection API operation for Amazon OpenSearch Service.
    59  //
    60  // Allows the remote domain owner to accept an inbound cross-cluster connection
    61  // request.
    62  //
    63  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    64  // with awserr.Error's Code and Message methods to get detailed information about
    65  // the error.
    66  //
    67  // See the AWS API reference guide for Amazon OpenSearch Service's
    68  // API operation AcceptInboundConnection for usage and error information.
    69  //
    70  // Returned Error Types:
    71  //   * ResourceNotFoundException
    72  //   An exception for accessing or deleting a resource that does not exist. Gives
    73  //   http status code of 400.
    74  //
    75  //   * LimitExceededException
    76  //   An exception for trying to create more than allowed resources or sub-resources.
    77  //   Gives http status code of 409.
    78  //
    79  //   * DisabledOperationException
    80  //   An error occured because the client wanted to access a not supported operation.
    81  //   Gives http status code of 409.
    82  //
    83  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/AcceptInboundConnection
    84  func (c *OpenSearchService) AcceptInboundConnection(input *AcceptInboundConnectionInput) (*AcceptInboundConnectionOutput, error) {
    85  	req, out := c.AcceptInboundConnectionRequest(input)
    86  	return out, req.Send()
    87  }
    88  
    89  // AcceptInboundConnectionWithContext is the same as AcceptInboundConnection with the addition of
    90  // the ability to pass a context and additional request options.
    91  //
    92  // See AcceptInboundConnection for details on how to use this API operation.
    93  //
    94  // The context must be non-nil and will be used for request cancellation. If
    95  // the context is nil a panic will occur. In the future the SDK may create
    96  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
    97  // for more information on using Contexts.
    98  func (c *OpenSearchService) AcceptInboundConnectionWithContext(ctx aws.Context, input *AcceptInboundConnectionInput, opts ...request.Option) (*AcceptInboundConnectionOutput, error) {
    99  	req, out := c.AcceptInboundConnectionRequest(input)
   100  	req.SetContext(ctx)
   101  	req.ApplyOptions(opts...)
   102  	return out, req.Send()
   103  }
   104  
   105  const opAddTags = "AddTags"
   106  
   107  // AddTagsRequest generates a "aws/request.Request" representing the
   108  // client's request for the AddTags operation. The "output" return
   109  // value will be populated with the request's response once the request completes
   110  // successfully.
   111  //
   112  // Use "Send" method on the returned Request to send the API call to the service.
   113  // the "output" return value is not valid until after Send returns without error.
   114  //
   115  // See AddTags for more information on using the AddTags
   116  // API call, and error handling.
   117  //
   118  // This method is useful when you want to inject custom logic or configuration
   119  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   120  //
   121  //
   122  //    // Example sending a request using the AddTagsRequest method.
   123  //    req, resp := client.AddTagsRequest(params)
   124  //
   125  //    err := req.Send()
   126  //    if err == nil { // resp is now filled
   127  //        fmt.Println(resp)
   128  //    }
   129  //
   130  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/AddTags
   131  func (c *OpenSearchService) AddTagsRequest(input *AddTagsInput) (req *request.Request, output *AddTagsOutput) {
   132  	op := &request.Operation{
   133  		Name:       opAddTags,
   134  		HTTPMethod: "POST",
   135  		HTTPPath:   "/2021-01-01/tags",
   136  	}
   137  
   138  	if input == nil {
   139  		input = &AddTagsInput{}
   140  	}
   141  
   142  	output = &AddTagsOutput{}
   143  	req = c.newRequest(op, input, output)
   144  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   145  	return
   146  }
   147  
   148  // AddTags API operation for Amazon OpenSearch Service.
   149  //
   150  // Attaches tags to an existing domain. Tags are a set of case-sensitive key
   151  // value pairs. An domain can have up to 10 tags. See Tagging Amazon OpenSearch
   152  // Service domains (http://docs.aws.amazon.com/opensearch-service/latest/developerguide/managedomains.html#managedomains-awsresorcetagging)
   153  // for more information.
   154  //
   155  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   156  // with awserr.Error's Code and Message methods to get detailed information about
   157  // the error.
   158  //
   159  // See the AWS API reference guide for Amazon OpenSearch Service's
   160  // API operation AddTags for usage and error information.
   161  //
   162  // Returned Error Types:
   163  //   * BaseException
   164  //   An error occurred while processing the request.
   165  //
   166  //   * LimitExceededException
   167  //   An exception for trying to create more than allowed resources or sub-resources.
   168  //   Gives http status code of 409.
   169  //
   170  //   * ValidationException
   171  //   An exception for missing / invalid input fields. Gives http status code of
   172  //   400.
   173  //
   174  //   * InternalException
   175  //   The request processing has failed because of an unknown error, exception
   176  //   or failure (the failure is internal to the service) . Gives http status code
   177  //   of 500.
   178  //
   179  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/AddTags
   180  func (c *OpenSearchService) AddTags(input *AddTagsInput) (*AddTagsOutput, error) {
   181  	req, out := c.AddTagsRequest(input)
   182  	return out, req.Send()
   183  }
   184  
   185  // AddTagsWithContext is the same as AddTags with the addition of
   186  // the ability to pass a context and additional request options.
   187  //
   188  // See AddTags for details on how to use this API operation.
   189  //
   190  // The context must be non-nil and will be used for request cancellation. If
   191  // the context is nil a panic will occur. In the future the SDK may create
   192  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   193  // for more information on using Contexts.
   194  func (c *OpenSearchService) AddTagsWithContext(ctx aws.Context, input *AddTagsInput, opts ...request.Option) (*AddTagsOutput, error) {
   195  	req, out := c.AddTagsRequest(input)
   196  	req.SetContext(ctx)
   197  	req.ApplyOptions(opts...)
   198  	return out, req.Send()
   199  }
   200  
   201  const opAssociatePackage = "AssociatePackage"
   202  
   203  // AssociatePackageRequest generates a "aws/request.Request" representing the
   204  // client's request for the AssociatePackage operation. The "output" return
   205  // value will be populated with the request's response once the request completes
   206  // successfully.
   207  //
   208  // Use "Send" method on the returned Request to send the API call to the service.
   209  // the "output" return value is not valid until after Send returns without error.
   210  //
   211  // See AssociatePackage for more information on using the AssociatePackage
   212  // API call, and error handling.
   213  //
   214  // This method is useful when you want to inject custom logic or configuration
   215  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   216  //
   217  //
   218  //    // Example sending a request using the AssociatePackageRequest method.
   219  //    req, resp := client.AssociatePackageRequest(params)
   220  //
   221  //    err := req.Send()
   222  //    if err == nil { // resp is now filled
   223  //        fmt.Println(resp)
   224  //    }
   225  //
   226  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/AssociatePackage
   227  func (c *OpenSearchService) AssociatePackageRequest(input *AssociatePackageInput) (req *request.Request, output *AssociatePackageOutput) {
   228  	op := &request.Operation{
   229  		Name:       opAssociatePackage,
   230  		HTTPMethod: "POST",
   231  		HTTPPath:   "/2021-01-01/packages/associate/{PackageID}/{DomainName}",
   232  	}
   233  
   234  	if input == nil {
   235  		input = &AssociatePackageInput{}
   236  	}
   237  
   238  	output = &AssociatePackageOutput{}
   239  	req = c.newRequest(op, input, output)
   240  	return
   241  }
   242  
   243  // AssociatePackage API operation for Amazon OpenSearch Service.
   244  //
   245  // Associates a package with an Amazon OpenSearch Service domain.
   246  //
   247  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   248  // with awserr.Error's Code and Message methods to get detailed information about
   249  // the error.
   250  //
   251  // See the AWS API reference guide for Amazon OpenSearch Service's
   252  // API operation AssociatePackage for usage and error information.
   253  //
   254  // Returned Error Types:
   255  //   * BaseException
   256  //   An error occurred while processing the request.
   257  //
   258  //   * InternalException
   259  //   The request processing has failed because of an unknown error, exception
   260  //   or failure (the failure is internal to the service) . Gives http status code
   261  //   of 500.
   262  //
   263  //   * ResourceNotFoundException
   264  //   An exception for accessing or deleting a resource that does not exist. Gives
   265  //   http status code of 400.
   266  //
   267  //   * AccessDeniedException
   268  //   An error occurred because user does not have permissions to access the resource.
   269  //   Returns HTTP status code 403.
   270  //
   271  //   * ValidationException
   272  //   An exception for missing / invalid input fields. Gives http status code of
   273  //   400.
   274  //
   275  //   * ConflictException
   276  //   An error occurred because the client attempts to remove a resource that is
   277  //   currently in use. Returns HTTP status code 409.
   278  //
   279  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/AssociatePackage
   280  func (c *OpenSearchService) AssociatePackage(input *AssociatePackageInput) (*AssociatePackageOutput, error) {
   281  	req, out := c.AssociatePackageRequest(input)
   282  	return out, req.Send()
   283  }
   284  
   285  // AssociatePackageWithContext is the same as AssociatePackage with the addition of
   286  // the ability to pass a context and additional request options.
   287  //
   288  // See AssociatePackage for details on how to use this API operation.
   289  //
   290  // The context must be non-nil and will be used for request cancellation. If
   291  // the context is nil a panic will occur. In the future the SDK may create
   292  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   293  // for more information on using Contexts.
   294  func (c *OpenSearchService) AssociatePackageWithContext(ctx aws.Context, input *AssociatePackageInput, opts ...request.Option) (*AssociatePackageOutput, error) {
   295  	req, out := c.AssociatePackageRequest(input)
   296  	req.SetContext(ctx)
   297  	req.ApplyOptions(opts...)
   298  	return out, req.Send()
   299  }
   300  
   301  const opCancelServiceSoftwareUpdate = "CancelServiceSoftwareUpdate"
   302  
   303  // CancelServiceSoftwareUpdateRequest generates a "aws/request.Request" representing the
   304  // client's request for the CancelServiceSoftwareUpdate operation. The "output" return
   305  // value will be populated with the request's response once the request completes
   306  // successfully.
   307  //
   308  // Use "Send" method on the returned Request to send the API call to the service.
   309  // the "output" return value is not valid until after Send returns without error.
   310  //
   311  // See CancelServiceSoftwareUpdate for more information on using the CancelServiceSoftwareUpdate
   312  // API call, and error handling.
   313  //
   314  // This method is useful when you want to inject custom logic or configuration
   315  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   316  //
   317  //
   318  //    // Example sending a request using the CancelServiceSoftwareUpdateRequest method.
   319  //    req, resp := client.CancelServiceSoftwareUpdateRequest(params)
   320  //
   321  //    err := req.Send()
   322  //    if err == nil { // resp is now filled
   323  //        fmt.Println(resp)
   324  //    }
   325  //
   326  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/CancelServiceSoftwareUpdate
   327  func (c *OpenSearchService) CancelServiceSoftwareUpdateRequest(input *CancelServiceSoftwareUpdateInput) (req *request.Request, output *CancelServiceSoftwareUpdateOutput) {
   328  	op := &request.Operation{
   329  		Name:       opCancelServiceSoftwareUpdate,
   330  		HTTPMethod: "POST",
   331  		HTTPPath:   "/2021-01-01/opensearch/serviceSoftwareUpdate/cancel",
   332  	}
   333  
   334  	if input == nil {
   335  		input = &CancelServiceSoftwareUpdateInput{}
   336  	}
   337  
   338  	output = &CancelServiceSoftwareUpdateOutput{}
   339  	req = c.newRequest(op, input, output)
   340  	return
   341  }
   342  
   343  // CancelServiceSoftwareUpdate API operation for Amazon OpenSearch Service.
   344  //
   345  // Cancels a scheduled service software update for an Amazon OpenSearch Service
   346  // domain. You can only perform this operation before the AutomatedUpdateDate
   347  // and when the UpdateStatus is in the PENDING_UPDATE state.
   348  //
   349  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   350  // with awserr.Error's Code and Message methods to get detailed information about
   351  // the error.
   352  //
   353  // See the AWS API reference guide for Amazon OpenSearch Service's
   354  // API operation CancelServiceSoftwareUpdate for usage and error information.
   355  //
   356  // Returned Error Types:
   357  //   * BaseException
   358  //   An error occurred while processing the request.
   359  //
   360  //   * InternalException
   361  //   The request processing has failed because of an unknown error, exception
   362  //   or failure (the failure is internal to the service) . Gives http status code
   363  //   of 500.
   364  //
   365  //   * ResourceNotFoundException
   366  //   An exception for accessing or deleting a resource that does not exist. Gives
   367  //   http status code of 400.
   368  //
   369  //   * ValidationException
   370  //   An exception for missing / invalid input fields. Gives http status code of
   371  //   400.
   372  //
   373  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/CancelServiceSoftwareUpdate
   374  func (c *OpenSearchService) CancelServiceSoftwareUpdate(input *CancelServiceSoftwareUpdateInput) (*CancelServiceSoftwareUpdateOutput, error) {
   375  	req, out := c.CancelServiceSoftwareUpdateRequest(input)
   376  	return out, req.Send()
   377  }
   378  
   379  // CancelServiceSoftwareUpdateWithContext is the same as CancelServiceSoftwareUpdate with the addition of
   380  // the ability to pass a context and additional request options.
   381  //
   382  // See CancelServiceSoftwareUpdate for details on how to use this API operation.
   383  //
   384  // The context must be non-nil and will be used for request cancellation. If
   385  // the context is nil a panic will occur. In the future the SDK may create
   386  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   387  // for more information on using Contexts.
   388  func (c *OpenSearchService) CancelServiceSoftwareUpdateWithContext(ctx aws.Context, input *CancelServiceSoftwareUpdateInput, opts ...request.Option) (*CancelServiceSoftwareUpdateOutput, error) {
   389  	req, out := c.CancelServiceSoftwareUpdateRequest(input)
   390  	req.SetContext(ctx)
   391  	req.ApplyOptions(opts...)
   392  	return out, req.Send()
   393  }
   394  
   395  const opCreateDomain = "CreateDomain"
   396  
   397  // CreateDomainRequest generates a "aws/request.Request" representing the
   398  // client's request for the CreateDomain operation. The "output" return
   399  // value will be populated with the request's response once the request completes
   400  // successfully.
   401  //
   402  // Use "Send" method on the returned Request to send the API call to the service.
   403  // the "output" return value is not valid until after Send returns without error.
   404  //
   405  // See CreateDomain for more information on using the CreateDomain
   406  // API call, and error handling.
   407  //
   408  // This method is useful when you want to inject custom logic or configuration
   409  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   410  //
   411  //
   412  //    // Example sending a request using the CreateDomainRequest method.
   413  //    req, resp := client.CreateDomainRequest(params)
   414  //
   415  //    err := req.Send()
   416  //    if err == nil { // resp is now filled
   417  //        fmt.Println(resp)
   418  //    }
   419  //
   420  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/CreateDomain
   421  func (c *OpenSearchService) CreateDomainRequest(input *CreateDomainInput) (req *request.Request, output *CreateDomainOutput) {
   422  	op := &request.Operation{
   423  		Name:       opCreateDomain,
   424  		HTTPMethod: "POST",
   425  		HTTPPath:   "/2021-01-01/opensearch/domain",
   426  	}
   427  
   428  	if input == nil {
   429  		input = &CreateDomainInput{}
   430  	}
   431  
   432  	output = &CreateDomainOutput{}
   433  	req = c.newRequest(op, input, output)
   434  	return
   435  }
   436  
   437  // CreateDomain API operation for Amazon OpenSearch Service.
   438  //
   439  // Creates a new Amazon OpenSearch Service domain. For more information, see
   440  // Creating and managing Amazon OpenSearch Service domains (http://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html)
   441  // in the Amazon OpenSearch Service Developer Guide.
   442  //
   443  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   444  // with awserr.Error's Code and Message methods to get detailed information about
   445  // the error.
   446  //
   447  // See the AWS API reference guide for Amazon OpenSearch Service's
   448  // API operation CreateDomain for usage and error information.
   449  //
   450  // Returned Error Types:
   451  //   * BaseException
   452  //   An error occurred while processing the request.
   453  //
   454  //   * DisabledOperationException
   455  //   An error occured because the client wanted to access a not supported operation.
   456  //   Gives http status code of 409.
   457  //
   458  //   * InternalException
   459  //   The request processing has failed because of an unknown error, exception
   460  //   or failure (the failure is internal to the service) . Gives http status code
   461  //   of 500.
   462  //
   463  //   * InvalidTypeException
   464  //   An exception for trying to create or access sub-resource that is either invalid
   465  //   or not supported. Gives http status code of 409.
   466  //
   467  //   * LimitExceededException
   468  //   An exception for trying to create more than allowed resources or sub-resources.
   469  //   Gives http status code of 409.
   470  //
   471  //   * ResourceAlreadyExistsException
   472  //   An exception for creating a resource that already exists. Gives http status
   473  //   code of 400.
   474  //
   475  //   * ValidationException
   476  //   An exception for missing / invalid input fields. Gives http status code of
   477  //   400.
   478  //
   479  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/CreateDomain
   480  func (c *OpenSearchService) CreateDomain(input *CreateDomainInput) (*CreateDomainOutput, error) {
   481  	req, out := c.CreateDomainRequest(input)
   482  	return out, req.Send()
   483  }
   484  
   485  // CreateDomainWithContext is the same as CreateDomain with the addition of
   486  // the ability to pass a context and additional request options.
   487  //
   488  // See CreateDomain for details on how to use this API operation.
   489  //
   490  // The context must be non-nil and will be used for request cancellation. If
   491  // the context is nil a panic will occur. In the future the SDK may create
   492  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   493  // for more information on using Contexts.
   494  func (c *OpenSearchService) CreateDomainWithContext(ctx aws.Context, input *CreateDomainInput, opts ...request.Option) (*CreateDomainOutput, error) {
   495  	req, out := c.CreateDomainRequest(input)
   496  	req.SetContext(ctx)
   497  	req.ApplyOptions(opts...)
   498  	return out, req.Send()
   499  }
   500  
   501  const opCreateOutboundConnection = "CreateOutboundConnection"
   502  
   503  // CreateOutboundConnectionRequest generates a "aws/request.Request" representing the
   504  // client's request for the CreateOutboundConnection operation. The "output" return
   505  // value will be populated with the request's response once the request completes
   506  // successfully.
   507  //
   508  // Use "Send" method on the returned Request to send the API call to the service.
   509  // the "output" return value is not valid until after Send returns without error.
   510  //
   511  // See CreateOutboundConnection for more information on using the CreateOutboundConnection
   512  // API call, and error handling.
   513  //
   514  // This method is useful when you want to inject custom logic or configuration
   515  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   516  //
   517  //
   518  //    // Example sending a request using the CreateOutboundConnectionRequest method.
   519  //    req, resp := client.CreateOutboundConnectionRequest(params)
   520  //
   521  //    err := req.Send()
   522  //    if err == nil { // resp is now filled
   523  //        fmt.Println(resp)
   524  //    }
   525  //
   526  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/CreateOutboundConnection
   527  func (c *OpenSearchService) CreateOutboundConnectionRequest(input *CreateOutboundConnectionInput) (req *request.Request, output *CreateOutboundConnectionOutput) {
   528  	op := &request.Operation{
   529  		Name:       opCreateOutboundConnection,
   530  		HTTPMethod: "POST",
   531  		HTTPPath:   "/2021-01-01/opensearch/cc/outboundConnection",
   532  	}
   533  
   534  	if input == nil {
   535  		input = &CreateOutboundConnectionInput{}
   536  	}
   537  
   538  	output = &CreateOutboundConnectionOutput{}
   539  	req = c.newRequest(op, input, output)
   540  	return
   541  }
   542  
   543  // CreateOutboundConnection API operation for Amazon OpenSearch Service.
   544  //
   545  // Creates a new cross-cluster connection from a local OpenSearch domain to
   546  // a remote OpenSearch domain.
   547  //
   548  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   549  // with awserr.Error's Code and Message methods to get detailed information about
   550  // the error.
   551  //
   552  // See the AWS API reference guide for Amazon OpenSearch Service's
   553  // API operation CreateOutboundConnection for usage and error information.
   554  //
   555  // Returned Error Types:
   556  //   * LimitExceededException
   557  //   An exception for trying to create more than allowed resources or sub-resources.
   558  //   Gives http status code of 409.
   559  //
   560  //   * InternalException
   561  //   The request processing has failed because of an unknown error, exception
   562  //   or failure (the failure is internal to the service) . Gives http status code
   563  //   of 500.
   564  //
   565  //   * ResourceAlreadyExistsException
   566  //   An exception for creating a resource that already exists. Gives http status
   567  //   code of 400.
   568  //
   569  //   * DisabledOperationException
   570  //   An error occured because the client wanted to access a not supported operation.
   571  //   Gives http status code of 409.
   572  //
   573  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/CreateOutboundConnection
   574  func (c *OpenSearchService) CreateOutboundConnection(input *CreateOutboundConnectionInput) (*CreateOutboundConnectionOutput, error) {
   575  	req, out := c.CreateOutboundConnectionRequest(input)
   576  	return out, req.Send()
   577  }
   578  
   579  // CreateOutboundConnectionWithContext is the same as CreateOutboundConnection with the addition of
   580  // the ability to pass a context and additional request options.
   581  //
   582  // See CreateOutboundConnection for details on how to use this API operation.
   583  //
   584  // The context must be non-nil and will be used for request cancellation. If
   585  // the context is nil a panic will occur. In the future the SDK may create
   586  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   587  // for more information on using Contexts.
   588  func (c *OpenSearchService) CreateOutboundConnectionWithContext(ctx aws.Context, input *CreateOutboundConnectionInput, opts ...request.Option) (*CreateOutboundConnectionOutput, error) {
   589  	req, out := c.CreateOutboundConnectionRequest(input)
   590  	req.SetContext(ctx)
   591  	req.ApplyOptions(opts...)
   592  	return out, req.Send()
   593  }
   594  
   595  const opCreatePackage = "CreatePackage"
   596  
   597  // CreatePackageRequest generates a "aws/request.Request" representing the
   598  // client's request for the CreatePackage operation. The "output" return
   599  // value will be populated with the request's response once the request completes
   600  // successfully.
   601  //
   602  // Use "Send" method on the returned Request to send the API call to the service.
   603  // the "output" return value is not valid until after Send returns without error.
   604  //
   605  // See CreatePackage for more information on using the CreatePackage
   606  // API call, and error handling.
   607  //
   608  // This method is useful when you want to inject custom logic or configuration
   609  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   610  //
   611  //
   612  //    // Example sending a request using the CreatePackageRequest method.
   613  //    req, resp := client.CreatePackageRequest(params)
   614  //
   615  //    err := req.Send()
   616  //    if err == nil { // resp is now filled
   617  //        fmt.Println(resp)
   618  //    }
   619  //
   620  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/CreatePackage
   621  func (c *OpenSearchService) CreatePackageRequest(input *CreatePackageInput) (req *request.Request, output *CreatePackageOutput) {
   622  	op := &request.Operation{
   623  		Name:       opCreatePackage,
   624  		HTTPMethod: "POST",
   625  		HTTPPath:   "/2021-01-01/packages",
   626  	}
   627  
   628  	if input == nil {
   629  		input = &CreatePackageInput{}
   630  	}
   631  
   632  	output = &CreatePackageOutput{}
   633  	req = c.newRequest(op, input, output)
   634  	return
   635  }
   636  
   637  // CreatePackage API operation for Amazon OpenSearch Service.
   638  //
   639  // Create a package for use with Amazon OpenSearch Service domains.
   640  //
   641  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   642  // with awserr.Error's Code and Message methods to get detailed information about
   643  // the error.
   644  //
   645  // See the AWS API reference guide for Amazon OpenSearch Service's
   646  // API operation CreatePackage for usage and error information.
   647  //
   648  // Returned Error Types:
   649  //   * BaseException
   650  //   An error occurred while processing the request.
   651  //
   652  //   * InternalException
   653  //   The request processing has failed because of an unknown error, exception
   654  //   or failure (the failure is internal to the service) . Gives http status code
   655  //   of 500.
   656  //
   657  //   * LimitExceededException
   658  //   An exception for trying to create more than allowed resources or sub-resources.
   659  //   Gives http status code of 409.
   660  //
   661  //   * InvalidTypeException
   662  //   An exception for trying to create or access sub-resource that is either invalid
   663  //   or not supported. Gives http status code of 409.
   664  //
   665  //   * ResourceAlreadyExistsException
   666  //   An exception for creating a resource that already exists. Gives http status
   667  //   code of 400.
   668  //
   669  //   * AccessDeniedException
   670  //   An error occurred because user does not have permissions to access the resource.
   671  //   Returns HTTP status code 403.
   672  //
   673  //   * ValidationException
   674  //   An exception for missing / invalid input fields. Gives http status code of
   675  //   400.
   676  //
   677  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/CreatePackage
   678  func (c *OpenSearchService) CreatePackage(input *CreatePackageInput) (*CreatePackageOutput, error) {
   679  	req, out := c.CreatePackageRequest(input)
   680  	return out, req.Send()
   681  }
   682  
   683  // CreatePackageWithContext is the same as CreatePackage with the addition of
   684  // the ability to pass a context and additional request options.
   685  //
   686  // See CreatePackage for details on how to use this API operation.
   687  //
   688  // The context must be non-nil and will be used for request cancellation. If
   689  // the context is nil a panic will occur. In the future the SDK may create
   690  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   691  // for more information on using Contexts.
   692  func (c *OpenSearchService) CreatePackageWithContext(ctx aws.Context, input *CreatePackageInput, opts ...request.Option) (*CreatePackageOutput, error) {
   693  	req, out := c.CreatePackageRequest(input)
   694  	req.SetContext(ctx)
   695  	req.ApplyOptions(opts...)
   696  	return out, req.Send()
   697  }
   698  
   699  const opDeleteDomain = "DeleteDomain"
   700  
   701  // DeleteDomainRequest generates a "aws/request.Request" representing the
   702  // client's request for the DeleteDomain operation. The "output" return
   703  // value will be populated with the request's response once the request completes
   704  // successfully.
   705  //
   706  // Use "Send" method on the returned Request to send the API call to the service.
   707  // the "output" return value is not valid until after Send returns without error.
   708  //
   709  // See DeleteDomain for more information on using the DeleteDomain
   710  // API call, and error handling.
   711  //
   712  // This method is useful when you want to inject custom logic or configuration
   713  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   714  //
   715  //
   716  //    // Example sending a request using the DeleteDomainRequest method.
   717  //    req, resp := client.DeleteDomainRequest(params)
   718  //
   719  //    err := req.Send()
   720  //    if err == nil { // resp is now filled
   721  //        fmt.Println(resp)
   722  //    }
   723  //
   724  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/DeleteDomain
   725  func (c *OpenSearchService) DeleteDomainRequest(input *DeleteDomainInput) (req *request.Request, output *DeleteDomainOutput) {
   726  	op := &request.Operation{
   727  		Name:       opDeleteDomain,
   728  		HTTPMethod: "DELETE",
   729  		HTTPPath:   "/2021-01-01/opensearch/domain/{DomainName}",
   730  	}
   731  
   732  	if input == nil {
   733  		input = &DeleteDomainInput{}
   734  	}
   735  
   736  	output = &DeleteDomainOutput{}
   737  	req = c.newRequest(op, input, output)
   738  	return
   739  }
   740  
   741  // DeleteDomain API operation for Amazon OpenSearch Service.
   742  //
   743  // Permanently deletes the specified domain and all of its data. Once a domain
   744  // is deleted, it cannot be recovered.
   745  //
   746  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   747  // with awserr.Error's Code and Message methods to get detailed information about
   748  // the error.
   749  //
   750  // See the AWS API reference guide for Amazon OpenSearch Service's
   751  // API operation DeleteDomain for usage and error information.
   752  //
   753  // Returned Error Types:
   754  //   * BaseException
   755  //   An error occurred while processing the request.
   756  //
   757  //   * InternalException
   758  //   The request processing has failed because of an unknown error, exception
   759  //   or failure (the failure is internal to the service) . Gives http status code
   760  //   of 500.
   761  //
   762  //   * ResourceNotFoundException
   763  //   An exception for accessing or deleting a resource that does not exist. Gives
   764  //   http status code of 400.
   765  //
   766  //   * ValidationException
   767  //   An exception for missing / invalid input fields. Gives http status code of
   768  //   400.
   769  //
   770  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/DeleteDomain
   771  func (c *OpenSearchService) DeleteDomain(input *DeleteDomainInput) (*DeleteDomainOutput, error) {
   772  	req, out := c.DeleteDomainRequest(input)
   773  	return out, req.Send()
   774  }
   775  
   776  // DeleteDomainWithContext is the same as DeleteDomain with the addition of
   777  // the ability to pass a context and additional request options.
   778  //
   779  // See DeleteDomain for details on how to use this API operation.
   780  //
   781  // The context must be non-nil and will be used for request cancellation. If
   782  // the context is nil a panic will occur. In the future the SDK may create
   783  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   784  // for more information on using Contexts.
   785  func (c *OpenSearchService) DeleteDomainWithContext(ctx aws.Context, input *DeleteDomainInput, opts ...request.Option) (*DeleteDomainOutput, error) {
   786  	req, out := c.DeleteDomainRequest(input)
   787  	req.SetContext(ctx)
   788  	req.ApplyOptions(opts...)
   789  	return out, req.Send()
   790  }
   791  
   792  const opDeleteInboundConnection = "DeleteInboundConnection"
   793  
   794  // DeleteInboundConnectionRequest generates a "aws/request.Request" representing the
   795  // client's request for the DeleteInboundConnection operation. The "output" return
   796  // value will be populated with the request's response once the request completes
   797  // successfully.
   798  //
   799  // Use "Send" method on the returned Request to send the API call to the service.
   800  // the "output" return value is not valid until after Send returns without error.
   801  //
   802  // See DeleteInboundConnection for more information on using the DeleteInboundConnection
   803  // API call, and error handling.
   804  //
   805  // This method is useful when you want to inject custom logic or configuration
   806  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   807  //
   808  //
   809  //    // Example sending a request using the DeleteInboundConnectionRequest method.
   810  //    req, resp := client.DeleteInboundConnectionRequest(params)
   811  //
   812  //    err := req.Send()
   813  //    if err == nil { // resp is now filled
   814  //        fmt.Println(resp)
   815  //    }
   816  //
   817  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/DeleteInboundConnection
   818  func (c *OpenSearchService) DeleteInboundConnectionRequest(input *DeleteInboundConnectionInput) (req *request.Request, output *DeleteInboundConnectionOutput) {
   819  	op := &request.Operation{
   820  		Name:       opDeleteInboundConnection,
   821  		HTTPMethod: "DELETE",
   822  		HTTPPath:   "/2021-01-01/opensearch/cc/inboundConnection/{ConnectionId}",
   823  	}
   824  
   825  	if input == nil {
   826  		input = &DeleteInboundConnectionInput{}
   827  	}
   828  
   829  	output = &DeleteInboundConnectionOutput{}
   830  	req = c.newRequest(op, input, output)
   831  	return
   832  }
   833  
   834  // DeleteInboundConnection API operation for Amazon OpenSearch Service.
   835  //
   836  // Allows the remote domain owner to delete an existing inbound cross-cluster
   837  // connection.
   838  //
   839  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   840  // with awserr.Error's Code and Message methods to get detailed information about
   841  // the error.
   842  //
   843  // See the AWS API reference guide for Amazon OpenSearch Service's
   844  // API operation DeleteInboundConnection for usage and error information.
   845  //
   846  // Returned Error Types:
   847  //   * ResourceNotFoundException
   848  //   An exception for accessing or deleting a resource that does not exist. Gives
   849  //   http status code of 400.
   850  //
   851  //   * DisabledOperationException
   852  //   An error occured because the client wanted to access a not supported operation.
   853  //   Gives http status code of 409.
   854  //
   855  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/DeleteInboundConnection
   856  func (c *OpenSearchService) DeleteInboundConnection(input *DeleteInboundConnectionInput) (*DeleteInboundConnectionOutput, error) {
   857  	req, out := c.DeleteInboundConnectionRequest(input)
   858  	return out, req.Send()
   859  }
   860  
   861  // DeleteInboundConnectionWithContext is the same as DeleteInboundConnection with the addition of
   862  // the ability to pass a context and additional request options.
   863  //
   864  // See DeleteInboundConnection for details on how to use this API operation.
   865  //
   866  // The context must be non-nil and will be used for request cancellation. If
   867  // the context is nil a panic will occur. In the future the SDK may create
   868  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   869  // for more information on using Contexts.
   870  func (c *OpenSearchService) DeleteInboundConnectionWithContext(ctx aws.Context, input *DeleteInboundConnectionInput, opts ...request.Option) (*DeleteInboundConnectionOutput, error) {
   871  	req, out := c.DeleteInboundConnectionRequest(input)
   872  	req.SetContext(ctx)
   873  	req.ApplyOptions(opts...)
   874  	return out, req.Send()
   875  }
   876  
   877  const opDeleteOutboundConnection = "DeleteOutboundConnection"
   878  
   879  // DeleteOutboundConnectionRequest generates a "aws/request.Request" representing the
   880  // client's request for the DeleteOutboundConnection operation. The "output" return
   881  // value will be populated with the request's response once the request completes
   882  // successfully.
   883  //
   884  // Use "Send" method on the returned Request to send the API call to the service.
   885  // the "output" return value is not valid until after Send returns without error.
   886  //
   887  // See DeleteOutboundConnection for more information on using the DeleteOutboundConnection
   888  // API call, and error handling.
   889  //
   890  // This method is useful when you want to inject custom logic or configuration
   891  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   892  //
   893  //
   894  //    // Example sending a request using the DeleteOutboundConnectionRequest method.
   895  //    req, resp := client.DeleteOutboundConnectionRequest(params)
   896  //
   897  //    err := req.Send()
   898  //    if err == nil { // resp is now filled
   899  //        fmt.Println(resp)
   900  //    }
   901  //
   902  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/DeleteOutboundConnection
   903  func (c *OpenSearchService) DeleteOutboundConnectionRequest(input *DeleteOutboundConnectionInput) (req *request.Request, output *DeleteOutboundConnectionOutput) {
   904  	op := &request.Operation{
   905  		Name:       opDeleteOutboundConnection,
   906  		HTTPMethod: "DELETE",
   907  		HTTPPath:   "/2021-01-01/opensearch/cc/outboundConnection/{ConnectionId}",
   908  	}
   909  
   910  	if input == nil {
   911  		input = &DeleteOutboundConnectionInput{}
   912  	}
   913  
   914  	output = &DeleteOutboundConnectionOutput{}
   915  	req = c.newRequest(op, input, output)
   916  	return
   917  }
   918  
   919  // DeleteOutboundConnection API operation for Amazon OpenSearch Service.
   920  //
   921  // Allows the local domain owner to delete an existing outbound cross-cluster
   922  // connection.
   923  //
   924  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   925  // with awserr.Error's Code and Message methods to get detailed information about
   926  // the error.
   927  //
   928  // See the AWS API reference guide for Amazon OpenSearch Service's
   929  // API operation DeleteOutboundConnection for usage and error information.
   930  //
   931  // Returned Error Types:
   932  //   * ResourceNotFoundException
   933  //   An exception for accessing or deleting a resource that does not exist. Gives
   934  //   http status code of 400.
   935  //
   936  //   * DisabledOperationException
   937  //   An error occured because the client wanted to access a not supported operation.
   938  //   Gives http status code of 409.
   939  //
   940  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/DeleteOutboundConnection
   941  func (c *OpenSearchService) DeleteOutboundConnection(input *DeleteOutboundConnectionInput) (*DeleteOutboundConnectionOutput, error) {
   942  	req, out := c.DeleteOutboundConnectionRequest(input)
   943  	return out, req.Send()
   944  }
   945  
   946  // DeleteOutboundConnectionWithContext is the same as DeleteOutboundConnection with the addition of
   947  // the ability to pass a context and additional request options.
   948  //
   949  // See DeleteOutboundConnection for details on how to use this API operation.
   950  //
   951  // The context must be non-nil and will be used for request cancellation. If
   952  // the context is nil a panic will occur. In the future the SDK may create
   953  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   954  // for more information on using Contexts.
   955  func (c *OpenSearchService) DeleteOutboundConnectionWithContext(ctx aws.Context, input *DeleteOutboundConnectionInput, opts ...request.Option) (*DeleteOutboundConnectionOutput, error) {
   956  	req, out := c.DeleteOutboundConnectionRequest(input)
   957  	req.SetContext(ctx)
   958  	req.ApplyOptions(opts...)
   959  	return out, req.Send()
   960  }
   961  
   962  const opDeletePackage = "DeletePackage"
   963  
   964  // DeletePackageRequest generates a "aws/request.Request" representing the
   965  // client's request for the DeletePackage operation. The "output" return
   966  // value will be populated with the request's response once the request completes
   967  // successfully.
   968  //
   969  // Use "Send" method on the returned Request to send the API call to the service.
   970  // the "output" return value is not valid until after Send returns without error.
   971  //
   972  // See DeletePackage for more information on using the DeletePackage
   973  // API call, and error handling.
   974  //
   975  // This method is useful when you want to inject custom logic or configuration
   976  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   977  //
   978  //
   979  //    // Example sending a request using the DeletePackageRequest method.
   980  //    req, resp := client.DeletePackageRequest(params)
   981  //
   982  //    err := req.Send()
   983  //    if err == nil { // resp is now filled
   984  //        fmt.Println(resp)
   985  //    }
   986  //
   987  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/DeletePackage
   988  func (c *OpenSearchService) DeletePackageRequest(input *DeletePackageInput) (req *request.Request, output *DeletePackageOutput) {
   989  	op := &request.Operation{
   990  		Name:       opDeletePackage,
   991  		HTTPMethod: "DELETE",
   992  		HTTPPath:   "/2021-01-01/packages/{PackageID}",
   993  	}
   994  
   995  	if input == nil {
   996  		input = &DeletePackageInput{}
   997  	}
   998  
   999  	output = &DeletePackageOutput{}
  1000  	req = c.newRequest(op, input, output)
  1001  	return
  1002  }
  1003  
  1004  // DeletePackage API operation for Amazon OpenSearch Service.
  1005  //
  1006  // Deletes the package.
  1007  //
  1008  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1009  // with awserr.Error's Code and Message methods to get detailed information about
  1010  // the error.
  1011  //
  1012  // See the AWS API reference guide for Amazon OpenSearch Service's
  1013  // API operation DeletePackage for usage and error information.
  1014  //
  1015  // Returned Error Types:
  1016  //   * BaseException
  1017  //   An error occurred while processing the request.
  1018  //
  1019  //   * InternalException
  1020  //   The request processing has failed because of an unknown error, exception
  1021  //   or failure (the failure is internal to the service) . Gives http status code
  1022  //   of 500.
  1023  //
  1024  //   * ResourceNotFoundException
  1025  //   An exception for accessing or deleting a resource that does not exist. Gives
  1026  //   http status code of 400.
  1027  //
  1028  //   * AccessDeniedException
  1029  //   An error occurred because user does not have permissions to access the resource.
  1030  //   Returns HTTP status code 403.
  1031  //
  1032  //   * ValidationException
  1033  //   An exception for missing / invalid input fields. Gives http status code of
  1034  //   400.
  1035  //
  1036  //   * ConflictException
  1037  //   An error occurred because the client attempts to remove a resource that is
  1038  //   currently in use. Returns HTTP status code 409.
  1039  //
  1040  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/DeletePackage
  1041  func (c *OpenSearchService) DeletePackage(input *DeletePackageInput) (*DeletePackageOutput, error) {
  1042  	req, out := c.DeletePackageRequest(input)
  1043  	return out, req.Send()
  1044  }
  1045  
  1046  // DeletePackageWithContext is the same as DeletePackage with the addition of
  1047  // the ability to pass a context and additional request options.
  1048  //
  1049  // See DeletePackage for details on how to use this API operation.
  1050  //
  1051  // The context must be non-nil and will be used for request cancellation. If
  1052  // the context is nil a panic will occur. In the future the SDK may create
  1053  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1054  // for more information on using Contexts.
  1055  func (c *OpenSearchService) DeletePackageWithContext(ctx aws.Context, input *DeletePackageInput, opts ...request.Option) (*DeletePackageOutput, error) {
  1056  	req, out := c.DeletePackageRequest(input)
  1057  	req.SetContext(ctx)
  1058  	req.ApplyOptions(opts...)
  1059  	return out, req.Send()
  1060  }
  1061  
  1062  const opDescribeDomain = "DescribeDomain"
  1063  
  1064  // DescribeDomainRequest generates a "aws/request.Request" representing the
  1065  // client's request for the DescribeDomain operation. The "output" return
  1066  // value will be populated with the request's response once the request completes
  1067  // successfully.
  1068  //
  1069  // Use "Send" method on the returned Request to send the API call to the service.
  1070  // the "output" return value is not valid until after Send returns without error.
  1071  //
  1072  // See DescribeDomain for more information on using the DescribeDomain
  1073  // API call, and error handling.
  1074  //
  1075  // This method is useful when you want to inject custom logic or configuration
  1076  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1077  //
  1078  //
  1079  //    // Example sending a request using the DescribeDomainRequest method.
  1080  //    req, resp := client.DescribeDomainRequest(params)
  1081  //
  1082  //    err := req.Send()
  1083  //    if err == nil { // resp is now filled
  1084  //        fmt.Println(resp)
  1085  //    }
  1086  //
  1087  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/DescribeDomain
  1088  func (c *OpenSearchService) DescribeDomainRequest(input *DescribeDomainInput) (req *request.Request, output *DescribeDomainOutput) {
  1089  	op := &request.Operation{
  1090  		Name:       opDescribeDomain,
  1091  		HTTPMethod: "GET",
  1092  		HTTPPath:   "/2021-01-01/opensearch/domain/{DomainName}",
  1093  	}
  1094  
  1095  	if input == nil {
  1096  		input = &DescribeDomainInput{}
  1097  	}
  1098  
  1099  	output = &DescribeDomainOutput{}
  1100  	req = c.newRequest(op, input, output)
  1101  	return
  1102  }
  1103  
  1104  // DescribeDomain API operation for Amazon OpenSearch Service.
  1105  //
  1106  // Returns domain configuration information about the specified domain, including
  1107  // the domain ID, domain endpoint, and domain ARN.
  1108  //
  1109  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1110  // with awserr.Error's Code and Message methods to get detailed information about
  1111  // the error.
  1112  //
  1113  // See the AWS API reference guide for Amazon OpenSearch Service's
  1114  // API operation DescribeDomain for usage and error information.
  1115  //
  1116  // Returned Error Types:
  1117  //   * BaseException
  1118  //   An error occurred while processing the request.
  1119  //
  1120  //   * InternalException
  1121  //   The request processing has failed because of an unknown error, exception
  1122  //   or failure (the failure is internal to the service) . Gives http status code
  1123  //   of 500.
  1124  //
  1125  //   * ResourceNotFoundException
  1126  //   An exception for accessing or deleting a resource that does not exist. Gives
  1127  //   http status code of 400.
  1128  //
  1129  //   * ValidationException
  1130  //   An exception for missing / invalid input fields. Gives http status code of
  1131  //   400.
  1132  //
  1133  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/DescribeDomain
  1134  func (c *OpenSearchService) DescribeDomain(input *DescribeDomainInput) (*DescribeDomainOutput, error) {
  1135  	req, out := c.DescribeDomainRequest(input)
  1136  	return out, req.Send()
  1137  }
  1138  
  1139  // DescribeDomainWithContext is the same as DescribeDomain with the addition of
  1140  // the ability to pass a context and additional request options.
  1141  //
  1142  // See DescribeDomain for details on how to use this API operation.
  1143  //
  1144  // The context must be non-nil and will be used for request cancellation. If
  1145  // the context is nil a panic will occur. In the future the SDK may create
  1146  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1147  // for more information on using Contexts.
  1148  func (c *OpenSearchService) DescribeDomainWithContext(ctx aws.Context, input *DescribeDomainInput, opts ...request.Option) (*DescribeDomainOutput, error) {
  1149  	req, out := c.DescribeDomainRequest(input)
  1150  	req.SetContext(ctx)
  1151  	req.ApplyOptions(opts...)
  1152  	return out, req.Send()
  1153  }
  1154  
  1155  const opDescribeDomainAutoTunes = "DescribeDomainAutoTunes"
  1156  
  1157  // DescribeDomainAutoTunesRequest generates a "aws/request.Request" representing the
  1158  // client's request for the DescribeDomainAutoTunes operation. The "output" return
  1159  // value will be populated with the request's response once the request completes
  1160  // successfully.
  1161  //
  1162  // Use "Send" method on the returned Request to send the API call to the service.
  1163  // the "output" return value is not valid until after Send returns without error.
  1164  //
  1165  // See DescribeDomainAutoTunes for more information on using the DescribeDomainAutoTunes
  1166  // API call, and error handling.
  1167  //
  1168  // This method is useful when you want to inject custom logic or configuration
  1169  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1170  //
  1171  //
  1172  //    // Example sending a request using the DescribeDomainAutoTunesRequest method.
  1173  //    req, resp := client.DescribeDomainAutoTunesRequest(params)
  1174  //
  1175  //    err := req.Send()
  1176  //    if err == nil { // resp is now filled
  1177  //        fmt.Println(resp)
  1178  //    }
  1179  //
  1180  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/DescribeDomainAutoTunes
  1181  func (c *OpenSearchService) DescribeDomainAutoTunesRequest(input *DescribeDomainAutoTunesInput) (req *request.Request, output *DescribeDomainAutoTunesOutput) {
  1182  	op := &request.Operation{
  1183  		Name:       opDescribeDomainAutoTunes,
  1184  		HTTPMethod: "GET",
  1185  		HTTPPath:   "/2021-01-01/opensearch/domain/{DomainName}/autoTunes",
  1186  		Paginator: &request.Paginator{
  1187  			InputTokens:     []string{"NextToken"},
  1188  			OutputTokens:    []string{"NextToken"},
  1189  			LimitToken:      "MaxResults",
  1190  			TruncationToken: "",
  1191  		},
  1192  	}
  1193  
  1194  	if input == nil {
  1195  		input = &DescribeDomainAutoTunesInput{}
  1196  	}
  1197  
  1198  	output = &DescribeDomainAutoTunesOutput{}
  1199  	req = c.newRequest(op, input, output)
  1200  	return
  1201  }
  1202  
  1203  // DescribeDomainAutoTunes API operation for Amazon OpenSearch Service.
  1204  //
  1205  // Provides scheduled Auto-Tune action details for the domain, such as Auto-Tune
  1206  // action type, description, severity, and scheduled date.
  1207  //
  1208  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1209  // with awserr.Error's Code and Message methods to get detailed information about
  1210  // the error.
  1211  //
  1212  // See the AWS API reference guide for Amazon OpenSearch Service's
  1213  // API operation DescribeDomainAutoTunes for usage and error information.
  1214  //
  1215  // Returned Error Types:
  1216  //   * BaseException
  1217  //   An error occurred while processing the request.
  1218  //
  1219  //   * InternalException
  1220  //   The request processing has failed because of an unknown error, exception
  1221  //   or failure (the failure is internal to the service) . Gives http status code
  1222  //   of 500.
  1223  //
  1224  //   * ResourceNotFoundException
  1225  //   An exception for accessing or deleting a resource that does not exist. Gives
  1226  //   http status code of 400.
  1227  //
  1228  //   * ValidationException
  1229  //   An exception for missing / invalid input fields. Gives http status code of
  1230  //   400.
  1231  //
  1232  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/DescribeDomainAutoTunes
  1233  func (c *OpenSearchService) DescribeDomainAutoTunes(input *DescribeDomainAutoTunesInput) (*DescribeDomainAutoTunesOutput, error) {
  1234  	req, out := c.DescribeDomainAutoTunesRequest(input)
  1235  	return out, req.Send()
  1236  }
  1237  
  1238  // DescribeDomainAutoTunesWithContext is the same as DescribeDomainAutoTunes with the addition of
  1239  // the ability to pass a context and additional request options.
  1240  //
  1241  // See DescribeDomainAutoTunes for details on how to use this API operation.
  1242  //
  1243  // The context must be non-nil and will be used for request cancellation. If
  1244  // the context is nil a panic will occur. In the future the SDK may create
  1245  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1246  // for more information on using Contexts.
  1247  func (c *OpenSearchService) DescribeDomainAutoTunesWithContext(ctx aws.Context, input *DescribeDomainAutoTunesInput, opts ...request.Option) (*DescribeDomainAutoTunesOutput, error) {
  1248  	req, out := c.DescribeDomainAutoTunesRequest(input)
  1249  	req.SetContext(ctx)
  1250  	req.ApplyOptions(opts...)
  1251  	return out, req.Send()
  1252  }
  1253  
  1254  // DescribeDomainAutoTunesPages iterates over the pages of a DescribeDomainAutoTunes operation,
  1255  // calling the "fn" function with the response data for each page. To stop
  1256  // iterating, return false from the fn function.
  1257  //
  1258  // See DescribeDomainAutoTunes method for more information on how to use this operation.
  1259  //
  1260  // Note: This operation can generate multiple requests to a service.
  1261  //
  1262  //    // Example iterating over at most 3 pages of a DescribeDomainAutoTunes operation.
  1263  //    pageNum := 0
  1264  //    err := client.DescribeDomainAutoTunesPages(params,
  1265  //        func(page *opensearchservice.DescribeDomainAutoTunesOutput, lastPage bool) bool {
  1266  //            pageNum++
  1267  //            fmt.Println(page)
  1268  //            return pageNum <= 3
  1269  //        })
  1270  //
  1271  func (c *OpenSearchService) DescribeDomainAutoTunesPages(input *DescribeDomainAutoTunesInput, fn func(*DescribeDomainAutoTunesOutput, bool) bool) error {
  1272  	return c.DescribeDomainAutoTunesPagesWithContext(aws.BackgroundContext(), input, fn)
  1273  }
  1274  
  1275  // DescribeDomainAutoTunesPagesWithContext same as DescribeDomainAutoTunesPages except
  1276  // it takes a Context and allows setting request options on the pages.
  1277  //
  1278  // The context must be non-nil and will be used for request cancellation. If
  1279  // the context is nil a panic will occur. In the future the SDK may create
  1280  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1281  // for more information on using Contexts.
  1282  func (c *OpenSearchService) DescribeDomainAutoTunesPagesWithContext(ctx aws.Context, input *DescribeDomainAutoTunesInput, fn func(*DescribeDomainAutoTunesOutput, bool) bool, opts ...request.Option) error {
  1283  	p := request.Pagination{
  1284  		NewRequest: func() (*request.Request, error) {
  1285  			var inCpy *DescribeDomainAutoTunesInput
  1286  			if input != nil {
  1287  				tmp := *input
  1288  				inCpy = &tmp
  1289  			}
  1290  			req, _ := c.DescribeDomainAutoTunesRequest(inCpy)
  1291  			req.SetContext(ctx)
  1292  			req.ApplyOptions(opts...)
  1293  			return req, nil
  1294  		},
  1295  	}
  1296  
  1297  	for p.Next() {
  1298  		if !fn(p.Page().(*DescribeDomainAutoTunesOutput), !p.HasNextPage()) {
  1299  			break
  1300  		}
  1301  	}
  1302  
  1303  	return p.Err()
  1304  }
  1305  
  1306  const opDescribeDomainConfig = "DescribeDomainConfig"
  1307  
  1308  // DescribeDomainConfigRequest generates a "aws/request.Request" representing the
  1309  // client's request for the DescribeDomainConfig operation. The "output" return
  1310  // value will be populated with the request's response once the request completes
  1311  // successfully.
  1312  //
  1313  // Use "Send" method on the returned Request to send the API call to the service.
  1314  // the "output" return value is not valid until after Send returns without error.
  1315  //
  1316  // See DescribeDomainConfig for more information on using the DescribeDomainConfig
  1317  // API call, and error handling.
  1318  //
  1319  // This method is useful when you want to inject custom logic or configuration
  1320  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1321  //
  1322  //
  1323  //    // Example sending a request using the DescribeDomainConfigRequest method.
  1324  //    req, resp := client.DescribeDomainConfigRequest(params)
  1325  //
  1326  //    err := req.Send()
  1327  //    if err == nil { // resp is now filled
  1328  //        fmt.Println(resp)
  1329  //    }
  1330  //
  1331  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/DescribeDomainConfig
  1332  func (c *OpenSearchService) DescribeDomainConfigRequest(input *DescribeDomainConfigInput) (req *request.Request, output *DescribeDomainConfigOutput) {
  1333  	op := &request.Operation{
  1334  		Name:       opDescribeDomainConfig,
  1335  		HTTPMethod: "GET",
  1336  		HTTPPath:   "/2021-01-01/opensearch/domain/{DomainName}/config",
  1337  	}
  1338  
  1339  	if input == nil {
  1340  		input = &DescribeDomainConfigInput{}
  1341  	}
  1342  
  1343  	output = &DescribeDomainConfigOutput{}
  1344  	req = c.newRequest(op, input, output)
  1345  	return
  1346  }
  1347  
  1348  // DescribeDomainConfig API operation for Amazon OpenSearch Service.
  1349  //
  1350  // Provides cluster configuration information about the specified domain, such
  1351  // as the state, creation date, update version, and update date for cluster
  1352  // options.
  1353  //
  1354  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1355  // with awserr.Error's Code and Message methods to get detailed information about
  1356  // the error.
  1357  //
  1358  // See the AWS API reference guide for Amazon OpenSearch Service's
  1359  // API operation DescribeDomainConfig for usage and error information.
  1360  //
  1361  // Returned Error Types:
  1362  //   * BaseException
  1363  //   An error occurred while processing the request.
  1364  //
  1365  //   * InternalException
  1366  //   The request processing has failed because of an unknown error, exception
  1367  //   or failure (the failure is internal to the service) . Gives http status code
  1368  //   of 500.
  1369  //
  1370  //   * ResourceNotFoundException
  1371  //   An exception for accessing or deleting a resource that does not exist. Gives
  1372  //   http status code of 400.
  1373  //
  1374  //   * ValidationException
  1375  //   An exception for missing / invalid input fields. Gives http status code of
  1376  //   400.
  1377  //
  1378  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/DescribeDomainConfig
  1379  func (c *OpenSearchService) DescribeDomainConfig(input *DescribeDomainConfigInput) (*DescribeDomainConfigOutput, error) {
  1380  	req, out := c.DescribeDomainConfigRequest(input)
  1381  	return out, req.Send()
  1382  }
  1383  
  1384  // DescribeDomainConfigWithContext is the same as DescribeDomainConfig with the addition of
  1385  // the ability to pass a context and additional request options.
  1386  //
  1387  // See DescribeDomainConfig for details on how to use this API operation.
  1388  //
  1389  // The context must be non-nil and will be used for request cancellation. If
  1390  // the context is nil a panic will occur. In the future the SDK may create
  1391  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1392  // for more information on using Contexts.
  1393  func (c *OpenSearchService) DescribeDomainConfigWithContext(ctx aws.Context, input *DescribeDomainConfigInput, opts ...request.Option) (*DescribeDomainConfigOutput, error) {
  1394  	req, out := c.DescribeDomainConfigRequest(input)
  1395  	req.SetContext(ctx)
  1396  	req.ApplyOptions(opts...)
  1397  	return out, req.Send()
  1398  }
  1399  
  1400  const opDescribeDomains = "DescribeDomains"
  1401  
  1402  // DescribeDomainsRequest generates a "aws/request.Request" representing the
  1403  // client's request for the DescribeDomains operation. The "output" return
  1404  // value will be populated with the request's response once the request completes
  1405  // successfully.
  1406  //
  1407  // Use "Send" method on the returned Request to send the API call to the service.
  1408  // the "output" return value is not valid until after Send returns without error.
  1409  //
  1410  // See DescribeDomains for more information on using the DescribeDomains
  1411  // API call, and error handling.
  1412  //
  1413  // This method is useful when you want to inject custom logic or configuration
  1414  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1415  //
  1416  //
  1417  //    // Example sending a request using the DescribeDomainsRequest method.
  1418  //    req, resp := client.DescribeDomainsRequest(params)
  1419  //
  1420  //    err := req.Send()
  1421  //    if err == nil { // resp is now filled
  1422  //        fmt.Println(resp)
  1423  //    }
  1424  //
  1425  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/DescribeDomains
  1426  func (c *OpenSearchService) DescribeDomainsRequest(input *DescribeDomainsInput) (req *request.Request, output *DescribeDomainsOutput) {
  1427  	op := &request.Operation{
  1428  		Name:       opDescribeDomains,
  1429  		HTTPMethod: "POST",
  1430  		HTTPPath:   "/2021-01-01/opensearch/domain-info",
  1431  	}
  1432  
  1433  	if input == nil {
  1434  		input = &DescribeDomainsInput{}
  1435  	}
  1436  
  1437  	output = &DescribeDomainsOutput{}
  1438  	req = c.newRequest(op, input, output)
  1439  	return
  1440  }
  1441  
  1442  // DescribeDomains API operation for Amazon OpenSearch Service.
  1443  //
  1444  // Returns domain configuration information about the specified domains, including
  1445  // the domain ID, domain endpoint, and domain ARN.
  1446  //
  1447  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1448  // with awserr.Error's Code and Message methods to get detailed information about
  1449  // the error.
  1450  //
  1451  // See the AWS API reference guide for Amazon OpenSearch Service's
  1452  // API operation DescribeDomains for usage and error information.
  1453  //
  1454  // Returned Error Types:
  1455  //   * BaseException
  1456  //   An error occurred while processing the request.
  1457  //
  1458  //   * InternalException
  1459  //   The request processing has failed because of an unknown error, exception
  1460  //   or failure (the failure is internal to the service) . Gives http status code
  1461  //   of 500.
  1462  //
  1463  //   * ValidationException
  1464  //   An exception for missing / invalid input fields. Gives http status code of
  1465  //   400.
  1466  //
  1467  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/DescribeDomains
  1468  func (c *OpenSearchService) DescribeDomains(input *DescribeDomainsInput) (*DescribeDomainsOutput, error) {
  1469  	req, out := c.DescribeDomainsRequest(input)
  1470  	return out, req.Send()
  1471  }
  1472  
  1473  // DescribeDomainsWithContext is the same as DescribeDomains with the addition of
  1474  // the ability to pass a context and additional request options.
  1475  //
  1476  // See DescribeDomains for details on how to use this API operation.
  1477  //
  1478  // The context must be non-nil and will be used for request cancellation. If
  1479  // the context is nil a panic will occur. In the future the SDK may create
  1480  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1481  // for more information on using Contexts.
  1482  func (c *OpenSearchService) DescribeDomainsWithContext(ctx aws.Context, input *DescribeDomainsInput, opts ...request.Option) (*DescribeDomainsOutput, error) {
  1483  	req, out := c.DescribeDomainsRequest(input)
  1484  	req.SetContext(ctx)
  1485  	req.ApplyOptions(opts...)
  1486  	return out, req.Send()
  1487  }
  1488  
  1489  const opDescribeInboundConnections = "DescribeInboundConnections"
  1490  
  1491  // DescribeInboundConnectionsRequest generates a "aws/request.Request" representing the
  1492  // client's request for the DescribeInboundConnections operation. The "output" return
  1493  // value will be populated with the request's response once the request completes
  1494  // successfully.
  1495  //
  1496  // Use "Send" method on the returned Request to send the API call to the service.
  1497  // the "output" return value is not valid until after Send returns without error.
  1498  //
  1499  // See DescribeInboundConnections for more information on using the DescribeInboundConnections
  1500  // API call, and error handling.
  1501  //
  1502  // This method is useful when you want to inject custom logic or configuration
  1503  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1504  //
  1505  //
  1506  //    // Example sending a request using the DescribeInboundConnectionsRequest method.
  1507  //    req, resp := client.DescribeInboundConnectionsRequest(params)
  1508  //
  1509  //    err := req.Send()
  1510  //    if err == nil { // resp is now filled
  1511  //        fmt.Println(resp)
  1512  //    }
  1513  //
  1514  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/DescribeInboundConnections
  1515  func (c *OpenSearchService) DescribeInboundConnectionsRequest(input *DescribeInboundConnectionsInput) (req *request.Request, output *DescribeInboundConnectionsOutput) {
  1516  	op := &request.Operation{
  1517  		Name:       opDescribeInboundConnections,
  1518  		HTTPMethod: "POST",
  1519  		HTTPPath:   "/2021-01-01/opensearch/cc/inboundConnection/search",
  1520  		Paginator: &request.Paginator{
  1521  			InputTokens:     []string{"NextToken"},
  1522  			OutputTokens:    []string{"NextToken"},
  1523  			LimitToken:      "MaxResults",
  1524  			TruncationToken: "",
  1525  		},
  1526  	}
  1527  
  1528  	if input == nil {
  1529  		input = &DescribeInboundConnectionsInput{}
  1530  	}
  1531  
  1532  	output = &DescribeInboundConnectionsOutput{}
  1533  	req = c.newRequest(op, input, output)
  1534  	return
  1535  }
  1536  
  1537  // DescribeInboundConnections API operation for Amazon OpenSearch Service.
  1538  //
  1539  // Lists all the inbound cross-cluster connections for a remote domain.
  1540  //
  1541  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1542  // with awserr.Error's Code and Message methods to get detailed information about
  1543  // the error.
  1544  //
  1545  // See the AWS API reference guide for Amazon OpenSearch Service's
  1546  // API operation DescribeInboundConnections for usage and error information.
  1547  //
  1548  // Returned Error Types:
  1549  //   * InvalidPaginationTokenException
  1550  //   The request processing has failed because of invalid pagination token provided
  1551  //   by customer. Returns an HTTP status code of 400.
  1552  //
  1553  //   * DisabledOperationException
  1554  //   An error occured because the client wanted to access a not supported operation.
  1555  //   Gives http status code of 409.
  1556  //
  1557  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/DescribeInboundConnections
  1558  func (c *OpenSearchService) DescribeInboundConnections(input *DescribeInboundConnectionsInput) (*DescribeInboundConnectionsOutput, error) {
  1559  	req, out := c.DescribeInboundConnectionsRequest(input)
  1560  	return out, req.Send()
  1561  }
  1562  
  1563  // DescribeInboundConnectionsWithContext is the same as DescribeInboundConnections with the addition of
  1564  // the ability to pass a context and additional request options.
  1565  //
  1566  // See DescribeInboundConnections for details on how to use this API operation.
  1567  //
  1568  // The context must be non-nil and will be used for request cancellation. If
  1569  // the context is nil a panic will occur. In the future the SDK may create
  1570  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1571  // for more information on using Contexts.
  1572  func (c *OpenSearchService) DescribeInboundConnectionsWithContext(ctx aws.Context, input *DescribeInboundConnectionsInput, opts ...request.Option) (*DescribeInboundConnectionsOutput, error) {
  1573  	req, out := c.DescribeInboundConnectionsRequest(input)
  1574  	req.SetContext(ctx)
  1575  	req.ApplyOptions(opts...)
  1576  	return out, req.Send()
  1577  }
  1578  
  1579  // DescribeInboundConnectionsPages iterates over the pages of a DescribeInboundConnections operation,
  1580  // calling the "fn" function with the response data for each page. To stop
  1581  // iterating, return false from the fn function.
  1582  //
  1583  // See DescribeInboundConnections method for more information on how to use this operation.
  1584  //
  1585  // Note: This operation can generate multiple requests to a service.
  1586  //
  1587  //    // Example iterating over at most 3 pages of a DescribeInboundConnections operation.
  1588  //    pageNum := 0
  1589  //    err := client.DescribeInboundConnectionsPages(params,
  1590  //        func(page *opensearchservice.DescribeInboundConnectionsOutput, lastPage bool) bool {
  1591  //            pageNum++
  1592  //            fmt.Println(page)
  1593  //            return pageNum <= 3
  1594  //        })
  1595  //
  1596  func (c *OpenSearchService) DescribeInboundConnectionsPages(input *DescribeInboundConnectionsInput, fn func(*DescribeInboundConnectionsOutput, bool) bool) error {
  1597  	return c.DescribeInboundConnectionsPagesWithContext(aws.BackgroundContext(), input, fn)
  1598  }
  1599  
  1600  // DescribeInboundConnectionsPagesWithContext same as DescribeInboundConnectionsPages except
  1601  // it takes a Context and allows setting request options on the pages.
  1602  //
  1603  // The context must be non-nil and will be used for request cancellation. If
  1604  // the context is nil a panic will occur. In the future the SDK may create
  1605  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1606  // for more information on using Contexts.
  1607  func (c *OpenSearchService) DescribeInboundConnectionsPagesWithContext(ctx aws.Context, input *DescribeInboundConnectionsInput, fn func(*DescribeInboundConnectionsOutput, bool) bool, opts ...request.Option) error {
  1608  	p := request.Pagination{
  1609  		NewRequest: func() (*request.Request, error) {
  1610  			var inCpy *DescribeInboundConnectionsInput
  1611  			if input != nil {
  1612  				tmp := *input
  1613  				inCpy = &tmp
  1614  			}
  1615  			req, _ := c.DescribeInboundConnectionsRequest(inCpy)
  1616  			req.SetContext(ctx)
  1617  			req.ApplyOptions(opts...)
  1618  			return req, nil
  1619  		},
  1620  	}
  1621  
  1622  	for p.Next() {
  1623  		if !fn(p.Page().(*DescribeInboundConnectionsOutput), !p.HasNextPage()) {
  1624  			break
  1625  		}
  1626  	}
  1627  
  1628  	return p.Err()
  1629  }
  1630  
  1631  const opDescribeInstanceTypeLimits = "DescribeInstanceTypeLimits"
  1632  
  1633  // DescribeInstanceTypeLimitsRequest generates a "aws/request.Request" representing the
  1634  // client's request for the DescribeInstanceTypeLimits operation. The "output" return
  1635  // value will be populated with the request's response once the request completes
  1636  // successfully.
  1637  //
  1638  // Use "Send" method on the returned Request to send the API call to the service.
  1639  // the "output" return value is not valid until after Send returns without error.
  1640  //
  1641  // See DescribeInstanceTypeLimits for more information on using the DescribeInstanceTypeLimits
  1642  // API call, and error handling.
  1643  //
  1644  // This method is useful when you want to inject custom logic or configuration
  1645  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1646  //
  1647  //
  1648  //    // Example sending a request using the DescribeInstanceTypeLimitsRequest method.
  1649  //    req, resp := client.DescribeInstanceTypeLimitsRequest(params)
  1650  //
  1651  //    err := req.Send()
  1652  //    if err == nil { // resp is now filled
  1653  //        fmt.Println(resp)
  1654  //    }
  1655  //
  1656  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/DescribeInstanceTypeLimits
  1657  func (c *OpenSearchService) DescribeInstanceTypeLimitsRequest(input *DescribeInstanceTypeLimitsInput) (req *request.Request, output *DescribeInstanceTypeLimitsOutput) {
  1658  	op := &request.Operation{
  1659  		Name:       opDescribeInstanceTypeLimits,
  1660  		HTTPMethod: "GET",
  1661  		HTTPPath:   "/2021-01-01/opensearch/instanceTypeLimits/{EngineVersion}/{InstanceType}",
  1662  	}
  1663  
  1664  	if input == nil {
  1665  		input = &DescribeInstanceTypeLimitsInput{}
  1666  	}
  1667  
  1668  	output = &DescribeInstanceTypeLimitsOutput{}
  1669  	req = c.newRequest(op, input, output)
  1670  	return
  1671  }
  1672  
  1673  // DescribeInstanceTypeLimits API operation for Amazon OpenSearch Service.
  1674  //
  1675  // Describe the limits for a given instance type and OpenSearch or Elasticsearch
  1676  // version. When modifying an existing domain, specify the DomainName to see
  1677  // which limits you can modify.
  1678  //
  1679  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1680  // with awserr.Error's Code and Message methods to get detailed information about
  1681  // the error.
  1682  //
  1683  // See the AWS API reference guide for Amazon OpenSearch Service's
  1684  // API operation DescribeInstanceTypeLimits for usage and error information.
  1685  //
  1686  // Returned Error Types:
  1687  //   * BaseException
  1688  //   An error occurred while processing the request.
  1689  //
  1690  //   * InternalException
  1691  //   The request processing has failed because of an unknown error, exception
  1692  //   or failure (the failure is internal to the service) . Gives http status code
  1693  //   of 500.
  1694  //
  1695  //   * InvalidTypeException
  1696  //   An exception for trying to create or access sub-resource that is either invalid
  1697  //   or not supported. Gives http status code of 409.
  1698  //
  1699  //   * LimitExceededException
  1700  //   An exception for trying to create more than allowed resources or sub-resources.
  1701  //   Gives http status code of 409.
  1702  //
  1703  //   * ResourceNotFoundException
  1704  //   An exception for accessing or deleting a resource that does not exist. Gives
  1705  //   http status code of 400.
  1706  //
  1707  //   * ValidationException
  1708  //   An exception for missing / invalid input fields. Gives http status code of
  1709  //   400.
  1710  //
  1711  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/DescribeInstanceTypeLimits
  1712  func (c *OpenSearchService) DescribeInstanceTypeLimits(input *DescribeInstanceTypeLimitsInput) (*DescribeInstanceTypeLimitsOutput, error) {
  1713  	req, out := c.DescribeInstanceTypeLimitsRequest(input)
  1714  	return out, req.Send()
  1715  }
  1716  
  1717  // DescribeInstanceTypeLimitsWithContext is the same as DescribeInstanceTypeLimits with the addition of
  1718  // the ability to pass a context and additional request options.
  1719  //
  1720  // See DescribeInstanceTypeLimits for details on how to use this API operation.
  1721  //
  1722  // The context must be non-nil and will be used for request cancellation. If
  1723  // the context is nil a panic will occur. In the future the SDK may create
  1724  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1725  // for more information on using Contexts.
  1726  func (c *OpenSearchService) DescribeInstanceTypeLimitsWithContext(ctx aws.Context, input *DescribeInstanceTypeLimitsInput, opts ...request.Option) (*DescribeInstanceTypeLimitsOutput, error) {
  1727  	req, out := c.DescribeInstanceTypeLimitsRequest(input)
  1728  	req.SetContext(ctx)
  1729  	req.ApplyOptions(opts...)
  1730  	return out, req.Send()
  1731  }
  1732  
  1733  const opDescribeOutboundConnections = "DescribeOutboundConnections"
  1734  
  1735  // DescribeOutboundConnectionsRequest generates a "aws/request.Request" representing the
  1736  // client's request for the DescribeOutboundConnections operation. The "output" return
  1737  // value will be populated with the request's response once the request completes
  1738  // successfully.
  1739  //
  1740  // Use "Send" method on the returned Request to send the API call to the service.
  1741  // the "output" return value is not valid until after Send returns without error.
  1742  //
  1743  // See DescribeOutboundConnections for more information on using the DescribeOutboundConnections
  1744  // API call, and error handling.
  1745  //
  1746  // This method is useful when you want to inject custom logic or configuration
  1747  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1748  //
  1749  //
  1750  //    // Example sending a request using the DescribeOutboundConnectionsRequest method.
  1751  //    req, resp := client.DescribeOutboundConnectionsRequest(params)
  1752  //
  1753  //    err := req.Send()
  1754  //    if err == nil { // resp is now filled
  1755  //        fmt.Println(resp)
  1756  //    }
  1757  //
  1758  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/DescribeOutboundConnections
  1759  func (c *OpenSearchService) DescribeOutboundConnectionsRequest(input *DescribeOutboundConnectionsInput) (req *request.Request, output *DescribeOutboundConnectionsOutput) {
  1760  	op := &request.Operation{
  1761  		Name:       opDescribeOutboundConnections,
  1762  		HTTPMethod: "POST",
  1763  		HTTPPath:   "/2021-01-01/opensearch/cc/outboundConnection/search",
  1764  		Paginator: &request.Paginator{
  1765  			InputTokens:     []string{"NextToken"},
  1766  			OutputTokens:    []string{"NextToken"},
  1767  			LimitToken:      "MaxResults",
  1768  			TruncationToken: "",
  1769  		},
  1770  	}
  1771  
  1772  	if input == nil {
  1773  		input = &DescribeOutboundConnectionsInput{}
  1774  	}
  1775  
  1776  	output = &DescribeOutboundConnectionsOutput{}
  1777  	req = c.newRequest(op, input, output)
  1778  	return
  1779  }
  1780  
  1781  // DescribeOutboundConnections API operation for Amazon OpenSearch Service.
  1782  //
  1783  // Lists all the outbound cross-cluster connections for a local domain.
  1784  //
  1785  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1786  // with awserr.Error's Code and Message methods to get detailed information about
  1787  // the error.
  1788  //
  1789  // See the AWS API reference guide for Amazon OpenSearch Service's
  1790  // API operation DescribeOutboundConnections for usage and error information.
  1791  //
  1792  // Returned Error Types:
  1793  //   * InvalidPaginationTokenException
  1794  //   The request processing has failed because of invalid pagination token provided
  1795  //   by customer. Returns an HTTP status code of 400.
  1796  //
  1797  //   * DisabledOperationException
  1798  //   An error occured because the client wanted to access a not supported operation.
  1799  //   Gives http status code of 409.
  1800  //
  1801  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/DescribeOutboundConnections
  1802  func (c *OpenSearchService) DescribeOutboundConnections(input *DescribeOutboundConnectionsInput) (*DescribeOutboundConnectionsOutput, error) {
  1803  	req, out := c.DescribeOutboundConnectionsRequest(input)
  1804  	return out, req.Send()
  1805  }
  1806  
  1807  // DescribeOutboundConnectionsWithContext is the same as DescribeOutboundConnections with the addition of
  1808  // the ability to pass a context and additional request options.
  1809  //
  1810  // See DescribeOutboundConnections for details on how to use this API operation.
  1811  //
  1812  // The context must be non-nil and will be used for request cancellation. If
  1813  // the context is nil a panic will occur. In the future the SDK may create
  1814  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1815  // for more information on using Contexts.
  1816  func (c *OpenSearchService) DescribeOutboundConnectionsWithContext(ctx aws.Context, input *DescribeOutboundConnectionsInput, opts ...request.Option) (*DescribeOutboundConnectionsOutput, error) {
  1817  	req, out := c.DescribeOutboundConnectionsRequest(input)
  1818  	req.SetContext(ctx)
  1819  	req.ApplyOptions(opts...)
  1820  	return out, req.Send()
  1821  }
  1822  
  1823  // DescribeOutboundConnectionsPages iterates over the pages of a DescribeOutboundConnections operation,
  1824  // calling the "fn" function with the response data for each page. To stop
  1825  // iterating, return false from the fn function.
  1826  //
  1827  // See DescribeOutboundConnections method for more information on how to use this operation.
  1828  //
  1829  // Note: This operation can generate multiple requests to a service.
  1830  //
  1831  //    // Example iterating over at most 3 pages of a DescribeOutboundConnections operation.
  1832  //    pageNum := 0
  1833  //    err := client.DescribeOutboundConnectionsPages(params,
  1834  //        func(page *opensearchservice.DescribeOutboundConnectionsOutput, lastPage bool) bool {
  1835  //            pageNum++
  1836  //            fmt.Println(page)
  1837  //            return pageNum <= 3
  1838  //        })
  1839  //
  1840  func (c *OpenSearchService) DescribeOutboundConnectionsPages(input *DescribeOutboundConnectionsInput, fn func(*DescribeOutboundConnectionsOutput, bool) bool) error {
  1841  	return c.DescribeOutboundConnectionsPagesWithContext(aws.BackgroundContext(), input, fn)
  1842  }
  1843  
  1844  // DescribeOutboundConnectionsPagesWithContext same as DescribeOutboundConnectionsPages except
  1845  // it takes a Context and allows setting request options on the pages.
  1846  //
  1847  // The context must be non-nil and will be used for request cancellation. If
  1848  // the context is nil a panic will occur. In the future the SDK may create
  1849  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1850  // for more information on using Contexts.
  1851  func (c *OpenSearchService) DescribeOutboundConnectionsPagesWithContext(ctx aws.Context, input *DescribeOutboundConnectionsInput, fn func(*DescribeOutboundConnectionsOutput, bool) bool, opts ...request.Option) error {
  1852  	p := request.Pagination{
  1853  		NewRequest: func() (*request.Request, error) {
  1854  			var inCpy *DescribeOutboundConnectionsInput
  1855  			if input != nil {
  1856  				tmp := *input
  1857  				inCpy = &tmp
  1858  			}
  1859  			req, _ := c.DescribeOutboundConnectionsRequest(inCpy)
  1860  			req.SetContext(ctx)
  1861  			req.ApplyOptions(opts...)
  1862  			return req, nil
  1863  		},
  1864  	}
  1865  
  1866  	for p.Next() {
  1867  		if !fn(p.Page().(*DescribeOutboundConnectionsOutput), !p.HasNextPage()) {
  1868  			break
  1869  		}
  1870  	}
  1871  
  1872  	return p.Err()
  1873  }
  1874  
  1875  const opDescribePackages = "DescribePackages"
  1876  
  1877  // DescribePackagesRequest generates a "aws/request.Request" representing the
  1878  // client's request for the DescribePackages operation. The "output" return
  1879  // value will be populated with the request's response once the request completes
  1880  // successfully.
  1881  //
  1882  // Use "Send" method on the returned Request to send the API call to the service.
  1883  // the "output" return value is not valid until after Send returns without error.
  1884  //
  1885  // See DescribePackages for more information on using the DescribePackages
  1886  // API call, and error handling.
  1887  //
  1888  // This method is useful when you want to inject custom logic or configuration
  1889  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1890  //
  1891  //
  1892  //    // Example sending a request using the DescribePackagesRequest method.
  1893  //    req, resp := client.DescribePackagesRequest(params)
  1894  //
  1895  //    err := req.Send()
  1896  //    if err == nil { // resp is now filled
  1897  //        fmt.Println(resp)
  1898  //    }
  1899  //
  1900  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/DescribePackages
  1901  func (c *OpenSearchService) DescribePackagesRequest(input *DescribePackagesInput) (req *request.Request, output *DescribePackagesOutput) {
  1902  	op := &request.Operation{
  1903  		Name:       opDescribePackages,
  1904  		HTTPMethod: "POST",
  1905  		HTTPPath:   "/2021-01-01/packages/describe",
  1906  		Paginator: &request.Paginator{
  1907  			InputTokens:     []string{"NextToken"},
  1908  			OutputTokens:    []string{"NextToken"},
  1909  			LimitToken:      "MaxResults",
  1910  			TruncationToken: "",
  1911  		},
  1912  	}
  1913  
  1914  	if input == nil {
  1915  		input = &DescribePackagesInput{}
  1916  	}
  1917  
  1918  	output = &DescribePackagesOutput{}
  1919  	req = c.newRequest(op, input, output)
  1920  	return
  1921  }
  1922  
  1923  // DescribePackages API operation for Amazon OpenSearch Service.
  1924  //
  1925  // Describes all packages available to Amazon OpenSearch Service domains. Includes
  1926  // options for filtering, limiting the number of results, and pagination.
  1927  //
  1928  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1929  // with awserr.Error's Code and Message methods to get detailed information about
  1930  // the error.
  1931  //
  1932  // See the AWS API reference guide for Amazon OpenSearch Service's
  1933  // API operation DescribePackages for usage and error information.
  1934  //
  1935  // Returned Error Types:
  1936  //   * BaseException
  1937  //   An error occurred while processing the request.
  1938  //
  1939  //   * InternalException
  1940  //   The request processing has failed because of an unknown error, exception
  1941  //   or failure (the failure is internal to the service) . Gives http status code
  1942  //   of 500.
  1943  //
  1944  //   * ResourceNotFoundException
  1945  //   An exception for accessing or deleting a resource that does not exist. Gives
  1946  //   http status code of 400.
  1947  //
  1948  //   * AccessDeniedException
  1949  //   An error occurred because user does not have permissions to access the resource.
  1950  //   Returns HTTP status code 403.
  1951  //
  1952  //   * ValidationException
  1953  //   An exception for missing / invalid input fields. Gives http status code of
  1954  //   400.
  1955  //
  1956  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/DescribePackages
  1957  func (c *OpenSearchService) DescribePackages(input *DescribePackagesInput) (*DescribePackagesOutput, error) {
  1958  	req, out := c.DescribePackagesRequest(input)
  1959  	return out, req.Send()
  1960  }
  1961  
  1962  // DescribePackagesWithContext is the same as DescribePackages with the addition of
  1963  // the ability to pass a context and additional request options.
  1964  //
  1965  // See DescribePackages for details on how to use this API operation.
  1966  //
  1967  // The context must be non-nil and will be used for request cancellation. If
  1968  // the context is nil a panic will occur. In the future the SDK may create
  1969  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1970  // for more information on using Contexts.
  1971  func (c *OpenSearchService) DescribePackagesWithContext(ctx aws.Context, input *DescribePackagesInput, opts ...request.Option) (*DescribePackagesOutput, error) {
  1972  	req, out := c.DescribePackagesRequest(input)
  1973  	req.SetContext(ctx)
  1974  	req.ApplyOptions(opts...)
  1975  	return out, req.Send()
  1976  }
  1977  
  1978  // DescribePackagesPages iterates over the pages of a DescribePackages operation,
  1979  // calling the "fn" function with the response data for each page. To stop
  1980  // iterating, return false from the fn function.
  1981  //
  1982  // See DescribePackages method for more information on how to use this operation.
  1983  //
  1984  // Note: This operation can generate multiple requests to a service.
  1985  //
  1986  //    // Example iterating over at most 3 pages of a DescribePackages operation.
  1987  //    pageNum := 0
  1988  //    err := client.DescribePackagesPages(params,
  1989  //        func(page *opensearchservice.DescribePackagesOutput, lastPage bool) bool {
  1990  //            pageNum++
  1991  //            fmt.Println(page)
  1992  //            return pageNum <= 3
  1993  //        })
  1994  //
  1995  func (c *OpenSearchService) DescribePackagesPages(input *DescribePackagesInput, fn func(*DescribePackagesOutput, bool) bool) error {
  1996  	return c.DescribePackagesPagesWithContext(aws.BackgroundContext(), input, fn)
  1997  }
  1998  
  1999  // DescribePackagesPagesWithContext same as DescribePackagesPages except
  2000  // it takes a Context and allows setting request options on the pages.
  2001  //
  2002  // The context must be non-nil and will be used for request cancellation. If
  2003  // the context is nil a panic will occur. In the future the SDK may create
  2004  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2005  // for more information on using Contexts.
  2006  func (c *OpenSearchService) DescribePackagesPagesWithContext(ctx aws.Context, input *DescribePackagesInput, fn func(*DescribePackagesOutput, bool) bool, opts ...request.Option) error {
  2007  	p := request.Pagination{
  2008  		NewRequest: func() (*request.Request, error) {
  2009  			var inCpy *DescribePackagesInput
  2010  			if input != nil {
  2011  				tmp := *input
  2012  				inCpy = &tmp
  2013  			}
  2014  			req, _ := c.DescribePackagesRequest(inCpy)
  2015  			req.SetContext(ctx)
  2016  			req.ApplyOptions(opts...)
  2017  			return req, nil
  2018  		},
  2019  	}
  2020  
  2021  	for p.Next() {
  2022  		if !fn(p.Page().(*DescribePackagesOutput), !p.HasNextPage()) {
  2023  			break
  2024  		}
  2025  	}
  2026  
  2027  	return p.Err()
  2028  }
  2029  
  2030  const opDescribeReservedInstanceOfferings = "DescribeReservedInstanceOfferings"
  2031  
  2032  // DescribeReservedInstanceOfferingsRequest generates a "aws/request.Request" representing the
  2033  // client's request for the DescribeReservedInstanceOfferings operation. The "output" return
  2034  // value will be populated with the request's response once the request completes
  2035  // successfully.
  2036  //
  2037  // Use "Send" method on the returned Request to send the API call to the service.
  2038  // the "output" return value is not valid until after Send returns without error.
  2039  //
  2040  // See DescribeReservedInstanceOfferings for more information on using the DescribeReservedInstanceOfferings
  2041  // API call, and error handling.
  2042  //
  2043  // This method is useful when you want to inject custom logic or configuration
  2044  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2045  //
  2046  //
  2047  //    // Example sending a request using the DescribeReservedInstanceOfferingsRequest method.
  2048  //    req, resp := client.DescribeReservedInstanceOfferingsRequest(params)
  2049  //
  2050  //    err := req.Send()
  2051  //    if err == nil { // resp is now filled
  2052  //        fmt.Println(resp)
  2053  //    }
  2054  //
  2055  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/DescribeReservedInstanceOfferings
  2056  func (c *OpenSearchService) DescribeReservedInstanceOfferingsRequest(input *DescribeReservedInstanceOfferingsInput) (req *request.Request, output *DescribeReservedInstanceOfferingsOutput) {
  2057  	op := &request.Operation{
  2058  		Name:       opDescribeReservedInstanceOfferings,
  2059  		HTTPMethod: "GET",
  2060  		HTTPPath:   "/2021-01-01/opensearch/reservedInstanceOfferings",
  2061  		Paginator: &request.Paginator{
  2062  			InputTokens:     []string{"NextToken"},
  2063  			OutputTokens:    []string{"NextToken"},
  2064  			LimitToken:      "MaxResults",
  2065  			TruncationToken: "",
  2066  		},
  2067  	}
  2068  
  2069  	if input == nil {
  2070  		input = &DescribeReservedInstanceOfferingsInput{}
  2071  	}
  2072  
  2073  	output = &DescribeReservedInstanceOfferingsOutput{}
  2074  	req = c.newRequest(op, input, output)
  2075  	return
  2076  }
  2077  
  2078  // DescribeReservedInstanceOfferings API operation for Amazon OpenSearch Service.
  2079  //
  2080  // Lists available reserved OpenSearch instance offerings.
  2081  //
  2082  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2083  // with awserr.Error's Code and Message methods to get detailed information about
  2084  // the error.
  2085  //
  2086  // See the AWS API reference guide for Amazon OpenSearch Service's
  2087  // API operation DescribeReservedInstanceOfferings for usage and error information.
  2088  //
  2089  // Returned Error Types:
  2090  //   * ResourceNotFoundException
  2091  //   An exception for accessing or deleting a resource that does not exist. Gives
  2092  //   http status code of 400.
  2093  //
  2094  //   * ValidationException
  2095  //   An exception for missing / invalid input fields. Gives http status code of
  2096  //   400.
  2097  //
  2098  //   * DisabledOperationException
  2099  //   An error occured because the client wanted to access a not supported operation.
  2100  //   Gives http status code of 409.
  2101  //
  2102  //   * InternalException
  2103  //   The request processing has failed because of an unknown error, exception
  2104  //   or failure (the failure is internal to the service) . Gives http status code
  2105  //   of 500.
  2106  //
  2107  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/DescribeReservedInstanceOfferings
  2108  func (c *OpenSearchService) DescribeReservedInstanceOfferings(input *DescribeReservedInstanceOfferingsInput) (*DescribeReservedInstanceOfferingsOutput, error) {
  2109  	req, out := c.DescribeReservedInstanceOfferingsRequest(input)
  2110  	return out, req.Send()
  2111  }
  2112  
  2113  // DescribeReservedInstanceOfferingsWithContext is the same as DescribeReservedInstanceOfferings with the addition of
  2114  // the ability to pass a context and additional request options.
  2115  //
  2116  // See DescribeReservedInstanceOfferings for details on how to use this API operation.
  2117  //
  2118  // The context must be non-nil and will be used for request cancellation. If
  2119  // the context is nil a panic will occur. In the future the SDK may create
  2120  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2121  // for more information on using Contexts.
  2122  func (c *OpenSearchService) DescribeReservedInstanceOfferingsWithContext(ctx aws.Context, input *DescribeReservedInstanceOfferingsInput, opts ...request.Option) (*DescribeReservedInstanceOfferingsOutput, error) {
  2123  	req, out := c.DescribeReservedInstanceOfferingsRequest(input)
  2124  	req.SetContext(ctx)
  2125  	req.ApplyOptions(opts...)
  2126  	return out, req.Send()
  2127  }
  2128  
  2129  // DescribeReservedInstanceOfferingsPages iterates over the pages of a DescribeReservedInstanceOfferings operation,
  2130  // calling the "fn" function with the response data for each page. To stop
  2131  // iterating, return false from the fn function.
  2132  //
  2133  // See DescribeReservedInstanceOfferings method for more information on how to use this operation.
  2134  //
  2135  // Note: This operation can generate multiple requests to a service.
  2136  //
  2137  //    // Example iterating over at most 3 pages of a DescribeReservedInstanceOfferings operation.
  2138  //    pageNum := 0
  2139  //    err := client.DescribeReservedInstanceOfferingsPages(params,
  2140  //        func(page *opensearchservice.DescribeReservedInstanceOfferingsOutput, lastPage bool) bool {
  2141  //            pageNum++
  2142  //            fmt.Println(page)
  2143  //            return pageNum <= 3
  2144  //        })
  2145  //
  2146  func (c *OpenSearchService) DescribeReservedInstanceOfferingsPages(input *DescribeReservedInstanceOfferingsInput, fn func(*DescribeReservedInstanceOfferingsOutput, bool) bool) error {
  2147  	return c.DescribeReservedInstanceOfferingsPagesWithContext(aws.BackgroundContext(), input, fn)
  2148  }
  2149  
  2150  // DescribeReservedInstanceOfferingsPagesWithContext same as DescribeReservedInstanceOfferingsPages except
  2151  // it takes a Context and allows setting request options on the pages.
  2152  //
  2153  // The context must be non-nil and will be used for request cancellation. If
  2154  // the context is nil a panic will occur. In the future the SDK may create
  2155  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2156  // for more information on using Contexts.
  2157  func (c *OpenSearchService) DescribeReservedInstanceOfferingsPagesWithContext(ctx aws.Context, input *DescribeReservedInstanceOfferingsInput, fn func(*DescribeReservedInstanceOfferingsOutput, bool) bool, opts ...request.Option) error {
  2158  	p := request.Pagination{
  2159  		NewRequest: func() (*request.Request, error) {
  2160  			var inCpy *DescribeReservedInstanceOfferingsInput
  2161  			if input != nil {
  2162  				tmp := *input
  2163  				inCpy = &tmp
  2164  			}
  2165  			req, _ := c.DescribeReservedInstanceOfferingsRequest(inCpy)
  2166  			req.SetContext(ctx)
  2167  			req.ApplyOptions(opts...)
  2168  			return req, nil
  2169  		},
  2170  	}
  2171  
  2172  	for p.Next() {
  2173  		if !fn(p.Page().(*DescribeReservedInstanceOfferingsOutput), !p.HasNextPage()) {
  2174  			break
  2175  		}
  2176  	}
  2177  
  2178  	return p.Err()
  2179  }
  2180  
  2181  const opDescribeReservedInstances = "DescribeReservedInstances"
  2182  
  2183  // DescribeReservedInstancesRequest generates a "aws/request.Request" representing the
  2184  // client's request for the DescribeReservedInstances operation. The "output" return
  2185  // value will be populated with the request's response once the request completes
  2186  // successfully.
  2187  //
  2188  // Use "Send" method on the returned Request to send the API call to the service.
  2189  // the "output" return value is not valid until after Send returns without error.
  2190  //
  2191  // See DescribeReservedInstances for more information on using the DescribeReservedInstances
  2192  // API call, and error handling.
  2193  //
  2194  // This method is useful when you want to inject custom logic or configuration
  2195  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2196  //
  2197  //
  2198  //    // Example sending a request using the DescribeReservedInstancesRequest method.
  2199  //    req, resp := client.DescribeReservedInstancesRequest(params)
  2200  //
  2201  //    err := req.Send()
  2202  //    if err == nil { // resp is now filled
  2203  //        fmt.Println(resp)
  2204  //    }
  2205  //
  2206  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/DescribeReservedInstances
  2207  func (c *OpenSearchService) DescribeReservedInstancesRequest(input *DescribeReservedInstancesInput) (req *request.Request, output *DescribeReservedInstancesOutput) {
  2208  	op := &request.Operation{
  2209  		Name:       opDescribeReservedInstances,
  2210  		HTTPMethod: "GET",
  2211  		HTTPPath:   "/2021-01-01/opensearch/reservedInstances",
  2212  		Paginator: &request.Paginator{
  2213  			InputTokens:     []string{"NextToken"},
  2214  			OutputTokens:    []string{"NextToken"},
  2215  			LimitToken:      "MaxResults",
  2216  			TruncationToken: "",
  2217  		},
  2218  	}
  2219  
  2220  	if input == nil {
  2221  		input = &DescribeReservedInstancesInput{}
  2222  	}
  2223  
  2224  	output = &DescribeReservedInstancesOutput{}
  2225  	req = c.newRequest(op, input, output)
  2226  	return
  2227  }
  2228  
  2229  // DescribeReservedInstances API operation for Amazon OpenSearch Service.
  2230  //
  2231  // Returns information about reserved OpenSearch instances for this account.
  2232  //
  2233  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2234  // with awserr.Error's Code and Message methods to get detailed information about
  2235  // the error.
  2236  //
  2237  // See the AWS API reference guide for Amazon OpenSearch Service's
  2238  // API operation DescribeReservedInstances for usage and error information.
  2239  //
  2240  // Returned Error Types:
  2241  //   * ResourceNotFoundException
  2242  //   An exception for accessing or deleting a resource that does not exist. Gives
  2243  //   http status code of 400.
  2244  //
  2245  //   * InternalException
  2246  //   The request processing has failed because of an unknown error, exception
  2247  //   or failure (the failure is internal to the service) . Gives http status code
  2248  //   of 500.
  2249  //
  2250  //   * ValidationException
  2251  //   An exception for missing / invalid input fields. Gives http status code of
  2252  //   400.
  2253  //
  2254  //   * DisabledOperationException
  2255  //   An error occured because the client wanted to access a not supported operation.
  2256  //   Gives http status code of 409.
  2257  //
  2258  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/DescribeReservedInstances
  2259  func (c *OpenSearchService) DescribeReservedInstances(input *DescribeReservedInstancesInput) (*DescribeReservedInstancesOutput, error) {
  2260  	req, out := c.DescribeReservedInstancesRequest(input)
  2261  	return out, req.Send()
  2262  }
  2263  
  2264  // DescribeReservedInstancesWithContext is the same as DescribeReservedInstances with the addition of
  2265  // the ability to pass a context and additional request options.
  2266  //
  2267  // See DescribeReservedInstances for details on how to use this API operation.
  2268  //
  2269  // The context must be non-nil and will be used for request cancellation. If
  2270  // the context is nil a panic will occur. In the future the SDK may create
  2271  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2272  // for more information on using Contexts.
  2273  func (c *OpenSearchService) DescribeReservedInstancesWithContext(ctx aws.Context, input *DescribeReservedInstancesInput, opts ...request.Option) (*DescribeReservedInstancesOutput, error) {
  2274  	req, out := c.DescribeReservedInstancesRequest(input)
  2275  	req.SetContext(ctx)
  2276  	req.ApplyOptions(opts...)
  2277  	return out, req.Send()
  2278  }
  2279  
  2280  // DescribeReservedInstancesPages iterates over the pages of a DescribeReservedInstances operation,
  2281  // calling the "fn" function with the response data for each page. To stop
  2282  // iterating, return false from the fn function.
  2283  //
  2284  // See DescribeReservedInstances method for more information on how to use this operation.
  2285  //
  2286  // Note: This operation can generate multiple requests to a service.
  2287  //
  2288  //    // Example iterating over at most 3 pages of a DescribeReservedInstances operation.
  2289  //    pageNum := 0
  2290  //    err := client.DescribeReservedInstancesPages(params,
  2291  //        func(page *opensearchservice.DescribeReservedInstancesOutput, lastPage bool) bool {
  2292  //            pageNum++
  2293  //            fmt.Println(page)
  2294  //            return pageNum <= 3
  2295  //        })
  2296  //
  2297  func (c *OpenSearchService) DescribeReservedInstancesPages(input *DescribeReservedInstancesInput, fn func(*DescribeReservedInstancesOutput, bool) bool) error {
  2298  	return c.DescribeReservedInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
  2299  }
  2300  
  2301  // DescribeReservedInstancesPagesWithContext same as DescribeReservedInstancesPages except
  2302  // it takes a Context and allows setting request options on the pages.
  2303  //
  2304  // The context must be non-nil and will be used for request cancellation. If
  2305  // the context is nil a panic will occur. In the future the SDK may create
  2306  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2307  // for more information on using Contexts.
  2308  func (c *OpenSearchService) DescribeReservedInstancesPagesWithContext(ctx aws.Context, input *DescribeReservedInstancesInput, fn func(*DescribeReservedInstancesOutput, bool) bool, opts ...request.Option) error {
  2309  	p := request.Pagination{
  2310  		NewRequest: func() (*request.Request, error) {
  2311  			var inCpy *DescribeReservedInstancesInput
  2312  			if input != nil {
  2313  				tmp := *input
  2314  				inCpy = &tmp
  2315  			}
  2316  			req, _ := c.DescribeReservedInstancesRequest(inCpy)
  2317  			req.SetContext(ctx)
  2318  			req.ApplyOptions(opts...)
  2319  			return req, nil
  2320  		},
  2321  	}
  2322  
  2323  	for p.Next() {
  2324  		if !fn(p.Page().(*DescribeReservedInstancesOutput), !p.HasNextPage()) {
  2325  			break
  2326  		}
  2327  	}
  2328  
  2329  	return p.Err()
  2330  }
  2331  
  2332  const opDissociatePackage = "DissociatePackage"
  2333  
  2334  // DissociatePackageRequest generates a "aws/request.Request" representing the
  2335  // client's request for the DissociatePackage operation. The "output" return
  2336  // value will be populated with the request's response once the request completes
  2337  // successfully.
  2338  //
  2339  // Use "Send" method on the returned Request to send the API call to the service.
  2340  // the "output" return value is not valid until after Send returns without error.
  2341  //
  2342  // See DissociatePackage for more information on using the DissociatePackage
  2343  // API call, and error handling.
  2344  //
  2345  // This method is useful when you want to inject custom logic or configuration
  2346  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2347  //
  2348  //
  2349  //    // Example sending a request using the DissociatePackageRequest method.
  2350  //    req, resp := client.DissociatePackageRequest(params)
  2351  //
  2352  //    err := req.Send()
  2353  //    if err == nil { // resp is now filled
  2354  //        fmt.Println(resp)
  2355  //    }
  2356  //
  2357  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/DissociatePackage
  2358  func (c *OpenSearchService) DissociatePackageRequest(input *DissociatePackageInput) (req *request.Request, output *DissociatePackageOutput) {
  2359  	op := &request.Operation{
  2360  		Name:       opDissociatePackage,
  2361  		HTTPMethod: "POST",
  2362  		HTTPPath:   "/2021-01-01/packages/dissociate/{PackageID}/{DomainName}",
  2363  	}
  2364  
  2365  	if input == nil {
  2366  		input = &DissociatePackageInput{}
  2367  	}
  2368  
  2369  	output = &DissociatePackageOutput{}
  2370  	req = c.newRequest(op, input, output)
  2371  	return
  2372  }
  2373  
  2374  // DissociatePackage API operation for Amazon OpenSearch Service.
  2375  //
  2376  // Dissociates a package from the Amazon OpenSearch Service domain.
  2377  //
  2378  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2379  // with awserr.Error's Code and Message methods to get detailed information about
  2380  // the error.
  2381  //
  2382  // See the AWS API reference guide for Amazon OpenSearch Service's
  2383  // API operation DissociatePackage for usage and error information.
  2384  //
  2385  // Returned Error Types:
  2386  //   * BaseException
  2387  //   An error occurred while processing the request.
  2388  //
  2389  //   * InternalException
  2390  //   The request processing has failed because of an unknown error, exception
  2391  //   or failure (the failure is internal to the service) . Gives http status code
  2392  //   of 500.
  2393  //
  2394  //   * ResourceNotFoundException
  2395  //   An exception for accessing or deleting a resource that does not exist. Gives
  2396  //   http status code of 400.
  2397  //
  2398  //   * AccessDeniedException
  2399  //   An error occurred because user does not have permissions to access the resource.
  2400  //   Returns HTTP status code 403.
  2401  //
  2402  //   * ValidationException
  2403  //   An exception for missing / invalid input fields. Gives http status code of
  2404  //   400.
  2405  //
  2406  //   * ConflictException
  2407  //   An error occurred because the client attempts to remove a resource that is
  2408  //   currently in use. Returns HTTP status code 409.
  2409  //
  2410  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/DissociatePackage
  2411  func (c *OpenSearchService) DissociatePackage(input *DissociatePackageInput) (*DissociatePackageOutput, error) {
  2412  	req, out := c.DissociatePackageRequest(input)
  2413  	return out, req.Send()
  2414  }
  2415  
  2416  // DissociatePackageWithContext is the same as DissociatePackage with the addition of
  2417  // the ability to pass a context and additional request options.
  2418  //
  2419  // See DissociatePackage for details on how to use this API operation.
  2420  //
  2421  // The context must be non-nil and will be used for request cancellation. If
  2422  // the context is nil a panic will occur. In the future the SDK may create
  2423  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2424  // for more information on using Contexts.
  2425  func (c *OpenSearchService) DissociatePackageWithContext(ctx aws.Context, input *DissociatePackageInput, opts ...request.Option) (*DissociatePackageOutput, error) {
  2426  	req, out := c.DissociatePackageRequest(input)
  2427  	req.SetContext(ctx)
  2428  	req.ApplyOptions(opts...)
  2429  	return out, req.Send()
  2430  }
  2431  
  2432  const opGetCompatibleVersions = "GetCompatibleVersions"
  2433  
  2434  // GetCompatibleVersionsRequest generates a "aws/request.Request" representing the
  2435  // client's request for the GetCompatibleVersions operation. The "output" return
  2436  // value will be populated with the request's response once the request completes
  2437  // successfully.
  2438  //
  2439  // Use "Send" method on the returned Request to send the API call to the service.
  2440  // the "output" return value is not valid until after Send returns without error.
  2441  //
  2442  // See GetCompatibleVersions for more information on using the GetCompatibleVersions
  2443  // API call, and error handling.
  2444  //
  2445  // This method is useful when you want to inject custom logic or configuration
  2446  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2447  //
  2448  //
  2449  //    // Example sending a request using the GetCompatibleVersionsRequest method.
  2450  //    req, resp := client.GetCompatibleVersionsRequest(params)
  2451  //
  2452  //    err := req.Send()
  2453  //    if err == nil { // resp is now filled
  2454  //        fmt.Println(resp)
  2455  //    }
  2456  //
  2457  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/GetCompatibleVersions
  2458  func (c *OpenSearchService) GetCompatibleVersionsRequest(input *GetCompatibleVersionsInput) (req *request.Request, output *GetCompatibleVersionsOutput) {
  2459  	op := &request.Operation{
  2460  		Name:       opGetCompatibleVersions,
  2461  		HTTPMethod: "GET",
  2462  		HTTPPath:   "/2021-01-01/opensearch/compatibleVersions",
  2463  	}
  2464  
  2465  	if input == nil {
  2466  		input = &GetCompatibleVersionsInput{}
  2467  	}
  2468  
  2469  	output = &GetCompatibleVersionsOutput{}
  2470  	req = c.newRequest(op, input, output)
  2471  	return
  2472  }
  2473  
  2474  // GetCompatibleVersions API operation for Amazon OpenSearch Service.
  2475  //
  2476  // Returns a list of upgrade-compatible versions of OpenSearch/Elasticsearch.
  2477  // You can optionally pass a DomainName to get all upgrade-compatible versions
  2478  // of OpenSearch/Elasticsearch for that specific domain.
  2479  //
  2480  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2481  // with awserr.Error's Code and Message methods to get detailed information about
  2482  // the error.
  2483  //
  2484  // See the AWS API reference guide for Amazon OpenSearch Service's
  2485  // API operation GetCompatibleVersions for usage and error information.
  2486  //
  2487  // Returned Error Types:
  2488  //   * BaseException
  2489  //   An error occurred while processing the request.
  2490  //
  2491  //   * ResourceNotFoundException
  2492  //   An exception for accessing or deleting a resource that does not exist. Gives
  2493  //   http status code of 400.
  2494  //
  2495  //   * DisabledOperationException
  2496  //   An error occured because the client wanted to access a not supported operation.
  2497  //   Gives http status code of 409.
  2498  //
  2499  //   * ValidationException
  2500  //   An exception for missing / invalid input fields. Gives http status code of
  2501  //   400.
  2502  //
  2503  //   * InternalException
  2504  //   The request processing has failed because of an unknown error, exception
  2505  //   or failure (the failure is internal to the service) . Gives http status code
  2506  //   of 500.
  2507  //
  2508  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/GetCompatibleVersions
  2509  func (c *OpenSearchService) GetCompatibleVersions(input *GetCompatibleVersionsInput) (*GetCompatibleVersionsOutput, error) {
  2510  	req, out := c.GetCompatibleVersionsRequest(input)
  2511  	return out, req.Send()
  2512  }
  2513  
  2514  // GetCompatibleVersionsWithContext is the same as GetCompatibleVersions with the addition of
  2515  // the ability to pass a context and additional request options.
  2516  //
  2517  // See GetCompatibleVersions for details on how to use this API operation.
  2518  //
  2519  // The context must be non-nil and will be used for request cancellation. If
  2520  // the context is nil a panic will occur. In the future the SDK may create
  2521  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2522  // for more information on using Contexts.
  2523  func (c *OpenSearchService) GetCompatibleVersionsWithContext(ctx aws.Context, input *GetCompatibleVersionsInput, opts ...request.Option) (*GetCompatibleVersionsOutput, error) {
  2524  	req, out := c.GetCompatibleVersionsRequest(input)
  2525  	req.SetContext(ctx)
  2526  	req.ApplyOptions(opts...)
  2527  	return out, req.Send()
  2528  }
  2529  
  2530  const opGetPackageVersionHistory = "GetPackageVersionHistory"
  2531  
  2532  // GetPackageVersionHistoryRequest generates a "aws/request.Request" representing the
  2533  // client's request for the GetPackageVersionHistory operation. The "output" return
  2534  // value will be populated with the request's response once the request completes
  2535  // successfully.
  2536  //
  2537  // Use "Send" method on the returned Request to send the API call to the service.
  2538  // the "output" return value is not valid until after Send returns without error.
  2539  //
  2540  // See GetPackageVersionHistory for more information on using the GetPackageVersionHistory
  2541  // API call, and error handling.
  2542  //
  2543  // This method is useful when you want to inject custom logic or configuration
  2544  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2545  //
  2546  //
  2547  //    // Example sending a request using the GetPackageVersionHistoryRequest method.
  2548  //    req, resp := client.GetPackageVersionHistoryRequest(params)
  2549  //
  2550  //    err := req.Send()
  2551  //    if err == nil { // resp is now filled
  2552  //        fmt.Println(resp)
  2553  //    }
  2554  //
  2555  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/GetPackageVersionHistory
  2556  func (c *OpenSearchService) GetPackageVersionHistoryRequest(input *GetPackageVersionHistoryInput) (req *request.Request, output *GetPackageVersionHistoryOutput) {
  2557  	op := &request.Operation{
  2558  		Name:       opGetPackageVersionHistory,
  2559  		HTTPMethod: "GET",
  2560  		HTTPPath:   "/2021-01-01/packages/{PackageID}/history",
  2561  		Paginator: &request.Paginator{
  2562  			InputTokens:     []string{"NextToken"},
  2563  			OutputTokens:    []string{"NextToken"},
  2564  			LimitToken:      "MaxResults",
  2565  			TruncationToken: "",
  2566  		},
  2567  	}
  2568  
  2569  	if input == nil {
  2570  		input = &GetPackageVersionHistoryInput{}
  2571  	}
  2572  
  2573  	output = &GetPackageVersionHistoryOutput{}
  2574  	req = c.newRequest(op, input, output)
  2575  	return
  2576  }
  2577  
  2578  // GetPackageVersionHistory API operation for Amazon OpenSearch Service.
  2579  //
  2580  // Returns a list of package versions, along with their creation time and commit
  2581  // message.
  2582  //
  2583  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2584  // with awserr.Error's Code and Message methods to get detailed information about
  2585  // the error.
  2586  //
  2587  // See the AWS API reference guide for Amazon OpenSearch Service's
  2588  // API operation GetPackageVersionHistory for usage and error information.
  2589  //
  2590  // Returned Error Types:
  2591  //   * BaseException
  2592  //   An error occurred while processing the request.
  2593  //
  2594  //   * InternalException
  2595  //   The request processing has failed because of an unknown error, exception
  2596  //   or failure (the failure is internal to the service) . Gives http status code
  2597  //   of 500.
  2598  //
  2599  //   * ResourceNotFoundException
  2600  //   An exception for accessing or deleting a resource that does not exist. Gives
  2601  //   http status code of 400.
  2602  //
  2603  //   * AccessDeniedException
  2604  //   An error occurred because user does not have permissions to access the resource.
  2605  //   Returns HTTP status code 403.
  2606  //
  2607  //   * ValidationException
  2608  //   An exception for missing / invalid input fields. Gives http status code of
  2609  //   400.
  2610  //
  2611  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/GetPackageVersionHistory
  2612  func (c *OpenSearchService) GetPackageVersionHistory(input *GetPackageVersionHistoryInput) (*GetPackageVersionHistoryOutput, error) {
  2613  	req, out := c.GetPackageVersionHistoryRequest(input)
  2614  	return out, req.Send()
  2615  }
  2616  
  2617  // GetPackageVersionHistoryWithContext is the same as GetPackageVersionHistory with the addition of
  2618  // the ability to pass a context and additional request options.
  2619  //
  2620  // See GetPackageVersionHistory for details on how to use this API operation.
  2621  //
  2622  // The context must be non-nil and will be used for request cancellation. If
  2623  // the context is nil a panic will occur. In the future the SDK may create
  2624  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2625  // for more information on using Contexts.
  2626  func (c *OpenSearchService) GetPackageVersionHistoryWithContext(ctx aws.Context, input *GetPackageVersionHistoryInput, opts ...request.Option) (*GetPackageVersionHistoryOutput, error) {
  2627  	req, out := c.GetPackageVersionHistoryRequest(input)
  2628  	req.SetContext(ctx)
  2629  	req.ApplyOptions(opts...)
  2630  	return out, req.Send()
  2631  }
  2632  
  2633  // GetPackageVersionHistoryPages iterates over the pages of a GetPackageVersionHistory operation,
  2634  // calling the "fn" function with the response data for each page. To stop
  2635  // iterating, return false from the fn function.
  2636  //
  2637  // See GetPackageVersionHistory method for more information on how to use this operation.
  2638  //
  2639  // Note: This operation can generate multiple requests to a service.
  2640  //
  2641  //    // Example iterating over at most 3 pages of a GetPackageVersionHistory operation.
  2642  //    pageNum := 0
  2643  //    err := client.GetPackageVersionHistoryPages(params,
  2644  //        func(page *opensearchservice.GetPackageVersionHistoryOutput, lastPage bool) bool {
  2645  //            pageNum++
  2646  //            fmt.Println(page)
  2647  //            return pageNum <= 3
  2648  //        })
  2649  //
  2650  func (c *OpenSearchService) GetPackageVersionHistoryPages(input *GetPackageVersionHistoryInput, fn func(*GetPackageVersionHistoryOutput, bool) bool) error {
  2651  	return c.GetPackageVersionHistoryPagesWithContext(aws.BackgroundContext(), input, fn)
  2652  }
  2653  
  2654  // GetPackageVersionHistoryPagesWithContext same as GetPackageVersionHistoryPages except
  2655  // it takes a Context and allows setting request options on the pages.
  2656  //
  2657  // The context must be non-nil and will be used for request cancellation. If
  2658  // the context is nil a panic will occur. In the future the SDK may create
  2659  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2660  // for more information on using Contexts.
  2661  func (c *OpenSearchService) GetPackageVersionHistoryPagesWithContext(ctx aws.Context, input *GetPackageVersionHistoryInput, fn func(*GetPackageVersionHistoryOutput, bool) bool, opts ...request.Option) error {
  2662  	p := request.Pagination{
  2663  		NewRequest: func() (*request.Request, error) {
  2664  			var inCpy *GetPackageVersionHistoryInput
  2665  			if input != nil {
  2666  				tmp := *input
  2667  				inCpy = &tmp
  2668  			}
  2669  			req, _ := c.GetPackageVersionHistoryRequest(inCpy)
  2670  			req.SetContext(ctx)
  2671  			req.ApplyOptions(opts...)
  2672  			return req, nil
  2673  		},
  2674  	}
  2675  
  2676  	for p.Next() {
  2677  		if !fn(p.Page().(*GetPackageVersionHistoryOutput), !p.HasNextPage()) {
  2678  			break
  2679  		}
  2680  	}
  2681  
  2682  	return p.Err()
  2683  }
  2684  
  2685  const opGetUpgradeHistory = "GetUpgradeHistory"
  2686  
  2687  // GetUpgradeHistoryRequest generates a "aws/request.Request" representing the
  2688  // client's request for the GetUpgradeHistory operation. The "output" return
  2689  // value will be populated with the request's response once the request completes
  2690  // successfully.
  2691  //
  2692  // Use "Send" method on the returned Request to send the API call to the service.
  2693  // the "output" return value is not valid until after Send returns without error.
  2694  //
  2695  // See GetUpgradeHistory for more information on using the GetUpgradeHistory
  2696  // API call, and error handling.
  2697  //
  2698  // This method is useful when you want to inject custom logic or configuration
  2699  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2700  //
  2701  //
  2702  //    // Example sending a request using the GetUpgradeHistoryRequest method.
  2703  //    req, resp := client.GetUpgradeHistoryRequest(params)
  2704  //
  2705  //    err := req.Send()
  2706  //    if err == nil { // resp is now filled
  2707  //        fmt.Println(resp)
  2708  //    }
  2709  //
  2710  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/GetUpgradeHistory
  2711  func (c *OpenSearchService) GetUpgradeHistoryRequest(input *GetUpgradeHistoryInput) (req *request.Request, output *GetUpgradeHistoryOutput) {
  2712  	op := &request.Operation{
  2713  		Name:       opGetUpgradeHistory,
  2714  		HTTPMethod: "GET",
  2715  		HTTPPath:   "/2021-01-01/opensearch/upgradeDomain/{DomainName}/history",
  2716  		Paginator: &request.Paginator{
  2717  			InputTokens:     []string{"NextToken"},
  2718  			OutputTokens:    []string{"NextToken"},
  2719  			LimitToken:      "MaxResults",
  2720  			TruncationToken: "",
  2721  		},
  2722  	}
  2723  
  2724  	if input == nil {
  2725  		input = &GetUpgradeHistoryInput{}
  2726  	}
  2727  
  2728  	output = &GetUpgradeHistoryOutput{}
  2729  	req = c.newRequest(op, input, output)
  2730  	return
  2731  }
  2732  
  2733  // GetUpgradeHistory API operation for Amazon OpenSearch Service.
  2734  //
  2735  // Retrieves the complete history of the last 10 upgrades performed on the domain.
  2736  //
  2737  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2738  // with awserr.Error's Code and Message methods to get detailed information about
  2739  // the error.
  2740  //
  2741  // See the AWS API reference guide for Amazon OpenSearch Service's
  2742  // API operation GetUpgradeHistory for usage and error information.
  2743  //
  2744  // Returned Error Types:
  2745  //   * BaseException
  2746  //   An error occurred while processing the request.
  2747  //
  2748  //   * ResourceNotFoundException
  2749  //   An exception for accessing or deleting a resource that does not exist. Gives
  2750  //   http status code of 400.
  2751  //
  2752  //   * DisabledOperationException
  2753  //   An error occured because the client wanted to access a not supported operation.
  2754  //   Gives http status code of 409.
  2755  //
  2756  //   * ValidationException
  2757  //   An exception for missing / invalid input fields. Gives http status code of
  2758  //   400.
  2759  //
  2760  //   * InternalException
  2761  //   The request processing has failed because of an unknown error, exception
  2762  //   or failure (the failure is internal to the service) . Gives http status code
  2763  //   of 500.
  2764  //
  2765  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/GetUpgradeHistory
  2766  func (c *OpenSearchService) GetUpgradeHistory(input *GetUpgradeHistoryInput) (*GetUpgradeHistoryOutput, error) {
  2767  	req, out := c.GetUpgradeHistoryRequest(input)
  2768  	return out, req.Send()
  2769  }
  2770  
  2771  // GetUpgradeHistoryWithContext is the same as GetUpgradeHistory with the addition of
  2772  // the ability to pass a context and additional request options.
  2773  //
  2774  // See GetUpgradeHistory for details on how to use this API operation.
  2775  //
  2776  // The context must be non-nil and will be used for request cancellation. If
  2777  // the context is nil a panic will occur. In the future the SDK may create
  2778  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2779  // for more information on using Contexts.
  2780  func (c *OpenSearchService) GetUpgradeHistoryWithContext(ctx aws.Context, input *GetUpgradeHistoryInput, opts ...request.Option) (*GetUpgradeHistoryOutput, error) {
  2781  	req, out := c.GetUpgradeHistoryRequest(input)
  2782  	req.SetContext(ctx)
  2783  	req.ApplyOptions(opts...)
  2784  	return out, req.Send()
  2785  }
  2786  
  2787  // GetUpgradeHistoryPages iterates over the pages of a GetUpgradeHistory operation,
  2788  // calling the "fn" function with the response data for each page. To stop
  2789  // iterating, return false from the fn function.
  2790  //
  2791  // See GetUpgradeHistory method for more information on how to use this operation.
  2792  //
  2793  // Note: This operation can generate multiple requests to a service.
  2794  //
  2795  //    // Example iterating over at most 3 pages of a GetUpgradeHistory operation.
  2796  //    pageNum := 0
  2797  //    err := client.GetUpgradeHistoryPages(params,
  2798  //        func(page *opensearchservice.GetUpgradeHistoryOutput, lastPage bool) bool {
  2799  //            pageNum++
  2800  //            fmt.Println(page)
  2801  //            return pageNum <= 3
  2802  //        })
  2803  //
  2804  func (c *OpenSearchService) GetUpgradeHistoryPages(input *GetUpgradeHistoryInput, fn func(*GetUpgradeHistoryOutput, bool) bool) error {
  2805  	return c.GetUpgradeHistoryPagesWithContext(aws.BackgroundContext(), input, fn)
  2806  }
  2807  
  2808  // GetUpgradeHistoryPagesWithContext same as GetUpgradeHistoryPages except
  2809  // it takes a Context and allows setting request options on the pages.
  2810  //
  2811  // The context must be non-nil and will be used for request cancellation. If
  2812  // the context is nil a panic will occur. In the future the SDK may create
  2813  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2814  // for more information on using Contexts.
  2815  func (c *OpenSearchService) GetUpgradeHistoryPagesWithContext(ctx aws.Context, input *GetUpgradeHistoryInput, fn func(*GetUpgradeHistoryOutput, bool) bool, opts ...request.Option) error {
  2816  	p := request.Pagination{
  2817  		NewRequest: func() (*request.Request, error) {
  2818  			var inCpy *GetUpgradeHistoryInput
  2819  			if input != nil {
  2820  				tmp := *input
  2821  				inCpy = &tmp
  2822  			}
  2823  			req, _ := c.GetUpgradeHistoryRequest(inCpy)
  2824  			req.SetContext(ctx)
  2825  			req.ApplyOptions(opts...)
  2826  			return req, nil
  2827  		},
  2828  	}
  2829  
  2830  	for p.Next() {
  2831  		if !fn(p.Page().(*GetUpgradeHistoryOutput), !p.HasNextPage()) {
  2832  			break
  2833  		}
  2834  	}
  2835  
  2836  	return p.Err()
  2837  }
  2838  
  2839  const opGetUpgradeStatus = "GetUpgradeStatus"
  2840  
  2841  // GetUpgradeStatusRequest generates a "aws/request.Request" representing the
  2842  // client's request for the GetUpgradeStatus operation. The "output" return
  2843  // value will be populated with the request's response once the request completes
  2844  // successfully.
  2845  //
  2846  // Use "Send" method on the returned Request to send the API call to the service.
  2847  // the "output" return value is not valid until after Send returns without error.
  2848  //
  2849  // See GetUpgradeStatus for more information on using the GetUpgradeStatus
  2850  // API call, and error handling.
  2851  //
  2852  // This method is useful when you want to inject custom logic or configuration
  2853  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2854  //
  2855  //
  2856  //    // Example sending a request using the GetUpgradeStatusRequest method.
  2857  //    req, resp := client.GetUpgradeStatusRequest(params)
  2858  //
  2859  //    err := req.Send()
  2860  //    if err == nil { // resp is now filled
  2861  //        fmt.Println(resp)
  2862  //    }
  2863  //
  2864  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/GetUpgradeStatus
  2865  func (c *OpenSearchService) GetUpgradeStatusRequest(input *GetUpgradeStatusInput) (req *request.Request, output *GetUpgradeStatusOutput) {
  2866  	op := &request.Operation{
  2867  		Name:       opGetUpgradeStatus,
  2868  		HTTPMethod: "GET",
  2869  		HTTPPath:   "/2021-01-01/opensearch/upgradeDomain/{DomainName}/status",
  2870  	}
  2871  
  2872  	if input == nil {
  2873  		input = &GetUpgradeStatusInput{}
  2874  	}
  2875  
  2876  	output = &GetUpgradeStatusOutput{}
  2877  	req = c.newRequest(op, input, output)
  2878  	return
  2879  }
  2880  
  2881  // GetUpgradeStatus API operation for Amazon OpenSearch Service.
  2882  //
  2883  // Retrieves the latest status of the last upgrade or upgrade eligibility check
  2884  // performed on the domain.
  2885  //
  2886  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2887  // with awserr.Error's Code and Message methods to get detailed information about
  2888  // the error.
  2889  //
  2890  // See the AWS API reference guide for Amazon OpenSearch Service's
  2891  // API operation GetUpgradeStatus for usage and error information.
  2892  //
  2893  // Returned Error Types:
  2894  //   * BaseException
  2895  //   An error occurred while processing the request.
  2896  //
  2897  //   * ResourceNotFoundException
  2898  //   An exception for accessing or deleting a resource that does not exist. Gives
  2899  //   http status code of 400.
  2900  //
  2901  //   * DisabledOperationException
  2902  //   An error occured because the client wanted to access a not supported operation.
  2903  //   Gives http status code of 409.
  2904  //
  2905  //   * ValidationException
  2906  //   An exception for missing / invalid input fields. Gives http status code of
  2907  //   400.
  2908  //
  2909  //   * InternalException
  2910  //   The request processing has failed because of an unknown error, exception
  2911  //   or failure (the failure is internal to the service) . Gives http status code
  2912  //   of 500.
  2913  //
  2914  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/GetUpgradeStatus
  2915  func (c *OpenSearchService) GetUpgradeStatus(input *GetUpgradeStatusInput) (*GetUpgradeStatusOutput, error) {
  2916  	req, out := c.GetUpgradeStatusRequest(input)
  2917  	return out, req.Send()
  2918  }
  2919  
  2920  // GetUpgradeStatusWithContext is the same as GetUpgradeStatus with the addition of
  2921  // the ability to pass a context and additional request options.
  2922  //
  2923  // See GetUpgradeStatus for details on how to use this API operation.
  2924  //
  2925  // The context must be non-nil and will be used for request cancellation. If
  2926  // the context is nil a panic will occur. In the future the SDK may create
  2927  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2928  // for more information on using Contexts.
  2929  func (c *OpenSearchService) GetUpgradeStatusWithContext(ctx aws.Context, input *GetUpgradeStatusInput, opts ...request.Option) (*GetUpgradeStatusOutput, error) {
  2930  	req, out := c.GetUpgradeStatusRequest(input)
  2931  	req.SetContext(ctx)
  2932  	req.ApplyOptions(opts...)
  2933  	return out, req.Send()
  2934  }
  2935  
  2936  const opListDomainNames = "ListDomainNames"
  2937  
  2938  // ListDomainNamesRequest generates a "aws/request.Request" representing the
  2939  // client's request for the ListDomainNames operation. The "output" return
  2940  // value will be populated with the request's response once the request completes
  2941  // successfully.
  2942  //
  2943  // Use "Send" method on the returned Request to send the API call to the service.
  2944  // the "output" return value is not valid until after Send returns without error.
  2945  //
  2946  // See ListDomainNames for more information on using the ListDomainNames
  2947  // API call, and error handling.
  2948  //
  2949  // This method is useful when you want to inject custom logic or configuration
  2950  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2951  //
  2952  //
  2953  //    // Example sending a request using the ListDomainNamesRequest method.
  2954  //    req, resp := client.ListDomainNamesRequest(params)
  2955  //
  2956  //    err := req.Send()
  2957  //    if err == nil { // resp is now filled
  2958  //        fmt.Println(resp)
  2959  //    }
  2960  //
  2961  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/ListDomainNames
  2962  func (c *OpenSearchService) ListDomainNamesRequest(input *ListDomainNamesInput) (req *request.Request, output *ListDomainNamesOutput) {
  2963  	op := &request.Operation{
  2964  		Name:       opListDomainNames,
  2965  		HTTPMethod: "GET",
  2966  		HTTPPath:   "/2021-01-01/domain",
  2967  	}
  2968  
  2969  	if input == nil {
  2970  		input = &ListDomainNamesInput{}
  2971  	}
  2972  
  2973  	output = &ListDomainNamesOutput{}
  2974  	req = c.newRequest(op, input, output)
  2975  	return
  2976  }
  2977  
  2978  // ListDomainNames API operation for Amazon OpenSearch Service.
  2979  //
  2980  // Returns the names of all domains owned by the current user's account.
  2981  //
  2982  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2983  // with awserr.Error's Code and Message methods to get detailed information about
  2984  // the error.
  2985  //
  2986  // See the AWS API reference guide for Amazon OpenSearch Service's
  2987  // API operation ListDomainNames for usage and error information.
  2988  //
  2989  // Returned Error Types:
  2990  //   * BaseException
  2991  //   An error occurred while processing the request.
  2992  //
  2993  //   * ValidationException
  2994  //   An exception for missing / invalid input fields. Gives http status code of
  2995  //   400.
  2996  //
  2997  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/ListDomainNames
  2998  func (c *OpenSearchService) ListDomainNames(input *ListDomainNamesInput) (*ListDomainNamesOutput, error) {
  2999  	req, out := c.ListDomainNamesRequest(input)
  3000  	return out, req.Send()
  3001  }
  3002  
  3003  // ListDomainNamesWithContext is the same as ListDomainNames with the addition of
  3004  // the ability to pass a context and additional request options.
  3005  //
  3006  // See ListDomainNames for details on how to use this API operation.
  3007  //
  3008  // The context must be non-nil and will be used for request cancellation. If
  3009  // the context is nil a panic will occur. In the future the SDK may create
  3010  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3011  // for more information on using Contexts.
  3012  func (c *OpenSearchService) ListDomainNamesWithContext(ctx aws.Context, input *ListDomainNamesInput, opts ...request.Option) (*ListDomainNamesOutput, error) {
  3013  	req, out := c.ListDomainNamesRequest(input)
  3014  	req.SetContext(ctx)
  3015  	req.ApplyOptions(opts...)
  3016  	return out, req.Send()
  3017  }
  3018  
  3019  const opListDomainsForPackage = "ListDomainsForPackage"
  3020  
  3021  // ListDomainsForPackageRequest generates a "aws/request.Request" representing the
  3022  // client's request for the ListDomainsForPackage operation. The "output" return
  3023  // value will be populated with the request's response once the request completes
  3024  // successfully.
  3025  //
  3026  // Use "Send" method on the returned Request to send the API call to the service.
  3027  // the "output" return value is not valid until after Send returns without error.
  3028  //
  3029  // See ListDomainsForPackage for more information on using the ListDomainsForPackage
  3030  // API call, and error handling.
  3031  //
  3032  // This method is useful when you want to inject custom logic or configuration
  3033  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3034  //
  3035  //
  3036  //    // Example sending a request using the ListDomainsForPackageRequest method.
  3037  //    req, resp := client.ListDomainsForPackageRequest(params)
  3038  //
  3039  //    err := req.Send()
  3040  //    if err == nil { // resp is now filled
  3041  //        fmt.Println(resp)
  3042  //    }
  3043  //
  3044  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/ListDomainsForPackage
  3045  func (c *OpenSearchService) ListDomainsForPackageRequest(input *ListDomainsForPackageInput) (req *request.Request, output *ListDomainsForPackageOutput) {
  3046  	op := &request.Operation{
  3047  		Name:       opListDomainsForPackage,
  3048  		HTTPMethod: "GET",
  3049  		HTTPPath:   "/2021-01-01/packages/{PackageID}/domains",
  3050  		Paginator: &request.Paginator{
  3051  			InputTokens:     []string{"NextToken"},
  3052  			OutputTokens:    []string{"NextToken"},
  3053  			LimitToken:      "MaxResults",
  3054  			TruncationToken: "",
  3055  		},
  3056  	}
  3057  
  3058  	if input == nil {
  3059  		input = &ListDomainsForPackageInput{}
  3060  	}
  3061  
  3062  	output = &ListDomainsForPackageOutput{}
  3063  	req = c.newRequest(op, input, output)
  3064  	return
  3065  }
  3066  
  3067  // ListDomainsForPackage API operation for Amazon OpenSearch Service.
  3068  //
  3069  // Lists all Amazon OpenSearch Service domains associated with the package.
  3070  //
  3071  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3072  // with awserr.Error's Code and Message methods to get detailed information about
  3073  // the error.
  3074  //
  3075  // See the AWS API reference guide for Amazon OpenSearch Service's
  3076  // API operation ListDomainsForPackage for usage and error information.
  3077  //
  3078  // Returned Error Types:
  3079  //   * BaseException
  3080  //   An error occurred while processing the request.
  3081  //
  3082  //   * InternalException
  3083  //   The request processing has failed because of an unknown error, exception
  3084  //   or failure (the failure is internal to the service) . Gives http status code
  3085  //   of 500.
  3086  //
  3087  //   * ResourceNotFoundException
  3088  //   An exception for accessing or deleting a resource that does not exist. Gives
  3089  //   http status code of 400.
  3090  //
  3091  //   * AccessDeniedException
  3092  //   An error occurred because user does not have permissions to access the resource.
  3093  //   Returns HTTP status code 403.
  3094  //
  3095  //   * ValidationException
  3096  //   An exception for missing / invalid input fields. Gives http status code of
  3097  //   400.
  3098  //
  3099  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/ListDomainsForPackage
  3100  func (c *OpenSearchService) ListDomainsForPackage(input *ListDomainsForPackageInput) (*ListDomainsForPackageOutput, error) {
  3101  	req, out := c.ListDomainsForPackageRequest(input)
  3102  	return out, req.Send()
  3103  }
  3104  
  3105  // ListDomainsForPackageWithContext is the same as ListDomainsForPackage with the addition of
  3106  // the ability to pass a context and additional request options.
  3107  //
  3108  // See ListDomainsForPackage for details on how to use this API operation.
  3109  //
  3110  // The context must be non-nil and will be used for request cancellation. If
  3111  // the context is nil a panic will occur. In the future the SDK may create
  3112  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3113  // for more information on using Contexts.
  3114  func (c *OpenSearchService) ListDomainsForPackageWithContext(ctx aws.Context, input *ListDomainsForPackageInput, opts ...request.Option) (*ListDomainsForPackageOutput, error) {
  3115  	req, out := c.ListDomainsForPackageRequest(input)
  3116  	req.SetContext(ctx)
  3117  	req.ApplyOptions(opts...)
  3118  	return out, req.Send()
  3119  }
  3120  
  3121  // ListDomainsForPackagePages iterates over the pages of a ListDomainsForPackage operation,
  3122  // calling the "fn" function with the response data for each page. To stop
  3123  // iterating, return false from the fn function.
  3124  //
  3125  // See ListDomainsForPackage method for more information on how to use this operation.
  3126  //
  3127  // Note: This operation can generate multiple requests to a service.
  3128  //
  3129  //    // Example iterating over at most 3 pages of a ListDomainsForPackage operation.
  3130  //    pageNum := 0
  3131  //    err := client.ListDomainsForPackagePages(params,
  3132  //        func(page *opensearchservice.ListDomainsForPackageOutput, lastPage bool) bool {
  3133  //            pageNum++
  3134  //            fmt.Println(page)
  3135  //            return pageNum <= 3
  3136  //        })
  3137  //
  3138  func (c *OpenSearchService) ListDomainsForPackagePages(input *ListDomainsForPackageInput, fn func(*ListDomainsForPackageOutput, bool) bool) error {
  3139  	return c.ListDomainsForPackagePagesWithContext(aws.BackgroundContext(), input, fn)
  3140  }
  3141  
  3142  // ListDomainsForPackagePagesWithContext same as ListDomainsForPackagePages except
  3143  // it takes a Context and allows setting request options on the pages.
  3144  //
  3145  // The context must be non-nil and will be used for request cancellation. If
  3146  // the context is nil a panic will occur. In the future the SDK may create
  3147  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3148  // for more information on using Contexts.
  3149  func (c *OpenSearchService) ListDomainsForPackagePagesWithContext(ctx aws.Context, input *ListDomainsForPackageInput, fn func(*ListDomainsForPackageOutput, bool) bool, opts ...request.Option) error {
  3150  	p := request.Pagination{
  3151  		NewRequest: func() (*request.Request, error) {
  3152  			var inCpy *ListDomainsForPackageInput
  3153  			if input != nil {
  3154  				tmp := *input
  3155  				inCpy = &tmp
  3156  			}
  3157  			req, _ := c.ListDomainsForPackageRequest(inCpy)
  3158  			req.SetContext(ctx)
  3159  			req.ApplyOptions(opts...)
  3160  			return req, nil
  3161  		},
  3162  	}
  3163  
  3164  	for p.Next() {
  3165  		if !fn(p.Page().(*ListDomainsForPackageOutput), !p.HasNextPage()) {
  3166  			break
  3167  		}
  3168  	}
  3169  
  3170  	return p.Err()
  3171  }
  3172  
  3173  const opListInstanceTypeDetails = "ListInstanceTypeDetails"
  3174  
  3175  // ListInstanceTypeDetailsRequest generates a "aws/request.Request" representing the
  3176  // client's request for the ListInstanceTypeDetails operation. The "output" return
  3177  // value will be populated with the request's response once the request completes
  3178  // successfully.
  3179  //
  3180  // Use "Send" method on the returned Request to send the API call to the service.
  3181  // the "output" return value is not valid until after Send returns without error.
  3182  //
  3183  // See ListInstanceTypeDetails for more information on using the ListInstanceTypeDetails
  3184  // API call, and error handling.
  3185  //
  3186  // This method is useful when you want to inject custom logic or configuration
  3187  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3188  //
  3189  //
  3190  //    // Example sending a request using the ListInstanceTypeDetailsRequest method.
  3191  //    req, resp := client.ListInstanceTypeDetailsRequest(params)
  3192  //
  3193  //    err := req.Send()
  3194  //    if err == nil { // resp is now filled
  3195  //        fmt.Println(resp)
  3196  //    }
  3197  //
  3198  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/ListInstanceTypeDetails
  3199  func (c *OpenSearchService) ListInstanceTypeDetailsRequest(input *ListInstanceTypeDetailsInput) (req *request.Request, output *ListInstanceTypeDetailsOutput) {
  3200  	op := &request.Operation{
  3201  		Name:       opListInstanceTypeDetails,
  3202  		HTTPMethod: "GET",
  3203  		HTTPPath:   "/2021-01-01/opensearch/instanceTypeDetails/{EngineVersion}",
  3204  		Paginator: &request.Paginator{
  3205  			InputTokens:     []string{"NextToken"},
  3206  			OutputTokens:    []string{"NextToken"},
  3207  			LimitToken:      "MaxResults",
  3208  			TruncationToken: "",
  3209  		},
  3210  	}
  3211  
  3212  	if input == nil {
  3213  		input = &ListInstanceTypeDetailsInput{}
  3214  	}
  3215  
  3216  	output = &ListInstanceTypeDetailsOutput{}
  3217  	req = c.newRequest(op, input, output)
  3218  	return
  3219  }
  3220  
  3221  // ListInstanceTypeDetails API operation for Amazon OpenSearch Service.
  3222  //
  3223  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3224  // with awserr.Error's Code and Message methods to get detailed information about
  3225  // the error.
  3226  //
  3227  // See the AWS API reference guide for Amazon OpenSearch Service's
  3228  // API operation ListInstanceTypeDetails for usage and error information.
  3229  //
  3230  // Returned Error Types:
  3231  //   * BaseException
  3232  //   An error occurred while processing the request.
  3233  //
  3234  //   * InternalException
  3235  //   The request processing has failed because of an unknown error, exception
  3236  //   or failure (the failure is internal to the service) . Gives http status code
  3237  //   of 500.
  3238  //
  3239  //   * ResourceNotFoundException
  3240  //   An exception for accessing or deleting a resource that does not exist. Gives
  3241  //   http status code of 400.
  3242  //
  3243  //   * ValidationException
  3244  //   An exception for missing / invalid input fields. Gives http status code of
  3245  //   400.
  3246  //
  3247  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/ListInstanceTypeDetails
  3248  func (c *OpenSearchService) ListInstanceTypeDetails(input *ListInstanceTypeDetailsInput) (*ListInstanceTypeDetailsOutput, error) {
  3249  	req, out := c.ListInstanceTypeDetailsRequest(input)
  3250  	return out, req.Send()
  3251  }
  3252  
  3253  // ListInstanceTypeDetailsWithContext is the same as ListInstanceTypeDetails with the addition of
  3254  // the ability to pass a context and additional request options.
  3255  //
  3256  // See ListInstanceTypeDetails for details on how to use this API operation.
  3257  //
  3258  // The context must be non-nil and will be used for request cancellation. If
  3259  // the context is nil a panic will occur. In the future the SDK may create
  3260  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3261  // for more information on using Contexts.
  3262  func (c *OpenSearchService) ListInstanceTypeDetailsWithContext(ctx aws.Context, input *ListInstanceTypeDetailsInput, opts ...request.Option) (*ListInstanceTypeDetailsOutput, error) {
  3263  	req, out := c.ListInstanceTypeDetailsRequest(input)
  3264  	req.SetContext(ctx)
  3265  	req.ApplyOptions(opts...)
  3266  	return out, req.Send()
  3267  }
  3268  
  3269  // ListInstanceTypeDetailsPages iterates over the pages of a ListInstanceTypeDetails operation,
  3270  // calling the "fn" function with the response data for each page. To stop
  3271  // iterating, return false from the fn function.
  3272  //
  3273  // See ListInstanceTypeDetails method for more information on how to use this operation.
  3274  //
  3275  // Note: This operation can generate multiple requests to a service.
  3276  //
  3277  //    // Example iterating over at most 3 pages of a ListInstanceTypeDetails operation.
  3278  //    pageNum := 0
  3279  //    err := client.ListInstanceTypeDetailsPages(params,
  3280  //        func(page *opensearchservice.ListInstanceTypeDetailsOutput, lastPage bool) bool {
  3281  //            pageNum++
  3282  //            fmt.Println(page)
  3283  //            return pageNum <= 3
  3284  //        })
  3285  //
  3286  func (c *OpenSearchService) ListInstanceTypeDetailsPages(input *ListInstanceTypeDetailsInput, fn func(*ListInstanceTypeDetailsOutput, bool) bool) error {
  3287  	return c.ListInstanceTypeDetailsPagesWithContext(aws.BackgroundContext(), input, fn)
  3288  }
  3289  
  3290  // ListInstanceTypeDetailsPagesWithContext same as ListInstanceTypeDetailsPages except
  3291  // it takes a Context and allows setting request options on the pages.
  3292  //
  3293  // The context must be non-nil and will be used for request cancellation. If
  3294  // the context is nil a panic will occur. In the future the SDK may create
  3295  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3296  // for more information on using Contexts.
  3297  func (c *OpenSearchService) ListInstanceTypeDetailsPagesWithContext(ctx aws.Context, input *ListInstanceTypeDetailsInput, fn func(*ListInstanceTypeDetailsOutput, bool) bool, opts ...request.Option) error {
  3298  	p := request.Pagination{
  3299  		NewRequest: func() (*request.Request, error) {
  3300  			var inCpy *ListInstanceTypeDetailsInput
  3301  			if input != nil {
  3302  				tmp := *input
  3303  				inCpy = &tmp
  3304  			}
  3305  			req, _ := c.ListInstanceTypeDetailsRequest(inCpy)
  3306  			req.SetContext(ctx)
  3307  			req.ApplyOptions(opts...)
  3308  			return req, nil
  3309  		},
  3310  	}
  3311  
  3312  	for p.Next() {
  3313  		if !fn(p.Page().(*ListInstanceTypeDetailsOutput), !p.HasNextPage()) {
  3314  			break
  3315  		}
  3316  	}
  3317  
  3318  	return p.Err()
  3319  }
  3320  
  3321  const opListPackagesForDomain = "ListPackagesForDomain"
  3322  
  3323  // ListPackagesForDomainRequest generates a "aws/request.Request" representing the
  3324  // client's request for the ListPackagesForDomain operation. The "output" return
  3325  // value will be populated with the request's response once the request completes
  3326  // successfully.
  3327  //
  3328  // Use "Send" method on the returned Request to send the API call to the service.
  3329  // the "output" return value is not valid until after Send returns without error.
  3330  //
  3331  // See ListPackagesForDomain for more information on using the ListPackagesForDomain
  3332  // API call, and error handling.
  3333  //
  3334  // This method is useful when you want to inject custom logic or configuration
  3335  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3336  //
  3337  //
  3338  //    // Example sending a request using the ListPackagesForDomainRequest method.
  3339  //    req, resp := client.ListPackagesForDomainRequest(params)
  3340  //
  3341  //    err := req.Send()
  3342  //    if err == nil { // resp is now filled
  3343  //        fmt.Println(resp)
  3344  //    }
  3345  //
  3346  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/ListPackagesForDomain
  3347  func (c *OpenSearchService) ListPackagesForDomainRequest(input *ListPackagesForDomainInput) (req *request.Request, output *ListPackagesForDomainOutput) {
  3348  	op := &request.Operation{
  3349  		Name:       opListPackagesForDomain,
  3350  		HTTPMethod: "GET",
  3351  		HTTPPath:   "/2021-01-01/domain/{DomainName}/packages",
  3352  		Paginator: &request.Paginator{
  3353  			InputTokens:     []string{"NextToken"},
  3354  			OutputTokens:    []string{"NextToken"},
  3355  			LimitToken:      "MaxResults",
  3356  			TruncationToken: "",
  3357  		},
  3358  	}
  3359  
  3360  	if input == nil {
  3361  		input = &ListPackagesForDomainInput{}
  3362  	}
  3363  
  3364  	output = &ListPackagesForDomainOutput{}
  3365  	req = c.newRequest(op, input, output)
  3366  	return
  3367  }
  3368  
  3369  // ListPackagesForDomain API operation for Amazon OpenSearch Service.
  3370  //
  3371  // Lists all packages associated with the Amazon OpenSearch Service domain.
  3372  //
  3373  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3374  // with awserr.Error's Code and Message methods to get detailed information about
  3375  // the error.
  3376  //
  3377  // See the AWS API reference guide for Amazon OpenSearch Service's
  3378  // API operation ListPackagesForDomain for usage and error information.
  3379  //
  3380  // Returned Error Types:
  3381  //   * BaseException
  3382  //   An error occurred while processing the request.
  3383  //
  3384  //   * InternalException
  3385  //   The request processing has failed because of an unknown error, exception
  3386  //   or failure (the failure is internal to the service) . Gives http status code
  3387  //   of 500.
  3388  //
  3389  //   * ResourceNotFoundException
  3390  //   An exception for accessing or deleting a resource that does not exist. Gives
  3391  //   http status code of 400.
  3392  //
  3393  //   * AccessDeniedException
  3394  //   An error occurred because user does not have permissions to access the resource.
  3395  //   Returns HTTP status code 403.
  3396  //
  3397  //   * ValidationException
  3398  //   An exception for missing / invalid input fields. Gives http status code of
  3399  //   400.
  3400  //
  3401  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/ListPackagesForDomain
  3402  func (c *OpenSearchService) ListPackagesForDomain(input *ListPackagesForDomainInput) (*ListPackagesForDomainOutput, error) {
  3403  	req, out := c.ListPackagesForDomainRequest(input)
  3404  	return out, req.Send()
  3405  }
  3406  
  3407  // ListPackagesForDomainWithContext is the same as ListPackagesForDomain with the addition of
  3408  // the ability to pass a context and additional request options.
  3409  //
  3410  // See ListPackagesForDomain 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 *OpenSearchService) ListPackagesForDomainWithContext(ctx aws.Context, input *ListPackagesForDomainInput, opts ...request.Option) (*ListPackagesForDomainOutput, error) {
  3417  	req, out := c.ListPackagesForDomainRequest(input)
  3418  	req.SetContext(ctx)
  3419  	req.ApplyOptions(opts...)
  3420  	return out, req.Send()
  3421  }
  3422  
  3423  // ListPackagesForDomainPages iterates over the pages of a ListPackagesForDomain 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 ListPackagesForDomain 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 ListPackagesForDomain operation.
  3432  //    pageNum := 0
  3433  //    err := client.ListPackagesForDomainPages(params,
  3434  //        func(page *opensearchservice.ListPackagesForDomainOutput, lastPage bool) bool {
  3435  //            pageNum++
  3436  //            fmt.Println(page)
  3437  //            return pageNum <= 3
  3438  //        })
  3439  //
  3440  func (c *OpenSearchService) ListPackagesForDomainPages(input *ListPackagesForDomainInput, fn func(*ListPackagesForDomainOutput, bool) bool) error {
  3441  	return c.ListPackagesForDomainPagesWithContext(aws.BackgroundContext(), input, fn)
  3442  }
  3443  
  3444  // ListPackagesForDomainPagesWithContext same as ListPackagesForDomainPages 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 *OpenSearchService) ListPackagesForDomainPagesWithContext(ctx aws.Context, input *ListPackagesForDomainInput, fn func(*ListPackagesForDomainOutput, bool) bool, opts ...request.Option) error {
  3452  	p := request.Pagination{
  3453  		NewRequest: func() (*request.Request, error) {
  3454  			var inCpy *ListPackagesForDomainInput
  3455  			if input != nil {
  3456  				tmp := *input
  3457  				inCpy = &tmp
  3458  			}
  3459  			req, _ := c.ListPackagesForDomainRequest(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().(*ListPackagesForDomainOutput), !p.HasNextPage()) {
  3468  			break
  3469  		}
  3470  	}
  3471  
  3472  	return p.Err()
  3473  }
  3474  
  3475  const opListTags = "ListTags"
  3476  
  3477  // ListTagsRequest generates a "aws/request.Request" representing the
  3478  // client's request for the ListTags 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 ListTags for more information on using the ListTags
  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 ListTagsRequest method.
  3493  //    req, resp := client.ListTagsRequest(params)
  3494  //
  3495  //    err := req.Send()
  3496  //    if err == nil { // resp is now filled
  3497  //        fmt.Println(resp)
  3498  //    }
  3499  //
  3500  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/ListTags
  3501  func (c *OpenSearchService) ListTagsRequest(input *ListTagsInput) (req *request.Request, output *ListTagsOutput) {
  3502  	op := &request.Operation{
  3503  		Name:       opListTags,
  3504  		HTTPMethod: "GET",
  3505  		HTTPPath:   "/2021-01-01/tags/",
  3506  	}
  3507  
  3508  	if input == nil {
  3509  		input = &ListTagsInput{}
  3510  	}
  3511  
  3512  	output = &ListTagsOutput{}
  3513  	req = c.newRequest(op, input, output)
  3514  	return
  3515  }
  3516  
  3517  // ListTags API operation for Amazon OpenSearch Service.
  3518  //
  3519  // Returns all tags for the given domain.
  3520  //
  3521  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3522  // with awserr.Error's Code and Message methods to get detailed information about
  3523  // the error.
  3524  //
  3525  // See the AWS API reference guide for Amazon OpenSearch Service's
  3526  // API operation ListTags for usage and error information.
  3527  //
  3528  // Returned Error Types:
  3529  //   * BaseException
  3530  //   An error occurred while processing the request.
  3531  //
  3532  //   * ResourceNotFoundException
  3533  //   An exception for accessing or deleting a resource that does not exist. Gives
  3534  //   http status code of 400.
  3535  //
  3536  //   * ValidationException
  3537  //   An exception for missing / invalid input fields. Gives http status code of
  3538  //   400.
  3539  //
  3540  //   * InternalException
  3541  //   The request processing has failed because of an unknown error, exception
  3542  //   or failure (the failure is internal to the service) . Gives http status code
  3543  //   of 500.
  3544  //
  3545  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/ListTags
  3546  func (c *OpenSearchService) ListTags(input *ListTagsInput) (*ListTagsOutput, error) {
  3547  	req, out := c.ListTagsRequest(input)
  3548  	return out, req.Send()
  3549  }
  3550  
  3551  // ListTagsWithContext is the same as ListTags with the addition of
  3552  // the ability to pass a context and additional request options.
  3553  //
  3554  // See ListTags for details on how to use this API operation.
  3555  //
  3556  // The context must be non-nil and will be used for request cancellation. If
  3557  // the context is nil a panic will occur. In the future the SDK may create
  3558  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3559  // for more information on using Contexts.
  3560  func (c *OpenSearchService) ListTagsWithContext(ctx aws.Context, input *ListTagsInput, opts ...request.Option) (*ListTagsOutput, error) {
  3561  	req, out := c.ListTagsRequest(input)
  3562  	req.SetContext(ctx)
  3563  	req.ApplyOptions(opts...)
  3564  	return out, req.Send()
  3565  }
  3566  
  3567  const opListVersions = "ListVersions"
  3568  
  3569  // ListVersionsRequest generates a "aws/request.Request" representing the
  3570  // client's request for the ListVersions operation. The "output" return
  3571  // value will be populated with the request's response once the request completes
  3572  // successfully.
  3573  //
  3574  // Use "Send" method on the returned Request to send the API call to the service.
  3575  // the "output" return value is not valid until after Send returns without error.
  3576  //
  3577  // See ListVersions for more information on using the ListVersions
  3578  // API call, and error handling.
  3579  //
  3580  // This method is useful when you want to inject custom logic or configuration
  3581  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3582  //
  3583  //
  3584  //    // Example sending a request using the ListVersionsRequest method.
  3585  //    req, resp := client.ListVersionsRequest(params)
  3586  //
  3587  //    err := req.Send()
  3588  //    if err == nil { // resp is now filled
  3589  //        fmt.Println(resp)
  3590  //    }
  3591  //
  3592  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/ListVersions
  3593  func (c *OpenSearchService) ListVersionsRequest(input *ListVersionsInput) (req *request.Request, output *ListVersionsOutput) {
  3594  	op := &request.Operation{
  3595  		Name:       opListVersions,
  3596  		HTTPMethod: "GET",
  3597  		HTTPPath:   "/2021-01-01/opensearch/versions",
  3598  		Paginator: &request.Paginator{
  3599  			InputTokens:     []string{"NextToken"},
  3600  			OutputTokens:    []string{"NextToken"},
  3601  			LimitToken:      "MaxResults",
  3602  			TruncationToken: "",
  3603  		},
  3604  	}
  3605  
  3606  	if input == nil {
  3607  		input = &ListVersionsInput{}
  3608  	}
  3609  
  3610  	output = &ListVersionsOutput{}
  3611  	req = c.newRequest(op, input, output)
  3612  	return
  3613  }
  3614  
  3615  // ListVersions API operation for Amazon OpenSearch Service.
  3616  //
  3617  // List all supported versions of OpenSearch and Elasticsearch.
  3618  //
  3619  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3620  // with awserr.Error's Code and Message methods to get detailed information about
  3621  // the error.
  3622  //
  3623  // See the AWS API reference guide for Amazon OpenSearch Service's
  3624  // API operation ListVersions for usage and error information.
  3625  //
  3626  // Returned Error Types:
  3627  //   * BaseException
  3628  //   An error occurred while processing the request.
  3629  //
  3630  //   * InternalException
  3631  //   The request processing has failed because of an unknown error, exception
  3632  //   or failure (the failure is internal to the service) . Gives http status code
  3633  //   of 500.
  3634  //
  3635  //   * ResourceNotFoundException
  3636  //   An exception for accessing or deleting a resource that does not exist. Gives
  3637  //   http status code of 400.
  3638  //
  3639  //   * ValidationException
  3640  //   An exception for missing / invalid input fields. Gives http status code of
  3641  //   400.
  3642  //
  3643  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/ListVersions
  3644  func (c *OpenSearchService) ListVersions(input *ListVersionsInput) (*ListVersionsOutput, error) {
  3645  	req, out := c.ListVersionsRequest(input)
  3646  	return out, req.Send()
  3647  }
  3648  
  3649  // ListVersionsWithContext is the same as ListVersions with the addition of
  3650  // the ability to pass a context and additional request options.
  3651  //
  3652  // See ListVersions for details on how to use this API operation.
  3653  //
  3654  // The context must be non-nil and will be used for request cancellation. If
  3655  // the context is nil a panic will occur. In the future the SDK may create
  3656  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3657  // for more information on using Contexts.
  3658  func (c *OpenSearchService) ListVersionsWithContext(ctx aws.Context, input *ListVersionsInput, opts ...request.Option) (*ListVersionsOutput, error) {
  3659  	req, out := c.ListVersionsRequest(input)
  3660  	req.SetContext(ctx)
  3661  	req.ApplyOptions(opts...)
  3662  	return out, req.Send()
  3663  }
  3664  
  3665  // ListVersionsPages iterates over the pages of a ListVersions operation,
  3666  // calling the "fn" function with the response data for each page. To stop
  3667  // iterating, return false from the fn function.
  3668  //
  3669  // See ListVersions method for more information on how to use this operation.
  3670  //
  3671  // Note: This operation can generate multiple requests to a service.
  3672  //
  3673  //    // Example iterating over at most 3 pages of a ListVersions operation.
  3674  //    pageNum := 0
  3675  //    err := client.ListVersionsPages(params,
  3676  //        func(page *opensearchservice.ListVersionsOutput, lastPage bool) bool {
  3677  //            pageNum++
  3678  //            fmt.Println(page)
  3679  //            return pageNum <= 3
  3680  //        })
  3681  //
  3682  func (c *OpenSearchService) ListVersionsPages(input *ListVersionsInput, fn func(*ListVersionsOutput, bool) bool) error {
  3683  	return c.ListVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
  3684  }
  3685  
  3686  // ListVersionsPagesWithContext same as ListVersionsPages except
  3687  // it takes a Context and allows setting request options on the pages.
  3688  //
  3689  // The context must be non-nil and will be used for request cancellation. If
  3690  // the context is nil a panic will occur. In the future the SDK may create
  3691  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3692  // for more information on using Contexts.
  3693  func (c *OpenSearchService) ListVersionsPagesWithContext(ctx aws.Context, input *ListVersionsInput, fn func(*ListVersionsOutput, bool) bool, opts ...request.Option) error {
  3694  	p := request.Pagination{
  3695  		NewRequest: func() (*request.Request, error) {
  3696  			var inCpy *ListVersionsInput
  3697  			if input != nil {
  3698  				tmp := *input
  3699  				inCpy = &tmp
  3700  			}
  3701  			req, _ := c.ListVersionsRequest(inCpy)
  3702  			req.SetContext(ctx)
  3703  			req.ApplyOptions(opts...)
  3704  			return req, nil
  3705  		},
  3706  	}
  3707  
  3708  	for p.Next() {
  3709  		if !fn(p.Page().(*ListVersionsOutput), !p.HasNextPage()) {
  3710  			break
  3711  		}
  3712  	}
  3713  
  3714  	return p.Err()
  3715  }
  3716  
  3717  const opPurchaseReservedInstanceOffering = "PurchaseReservedInstanceOffering"
  3718  
  3719  // PurchaseReservedInstanceOfferingRequest generates a "aws/request.Request" representing the
  3720  // client's request for the PurchaseReservedInstanceOffering operation. The "output" return
  3721  // value will be populated with the request's response once the request completes
  3722  // successfully.
  3723  //
  3724  // Use "Send" method on the returned Request to send the API call to the service.
  3725  // the "output" return value is not valid until after Send returns without error.
  3726  //
  3727  // See PurchaseReservedInstanceOffering for more information on using the PurchaseReservedInstanceOffering
  3728  // API call, and error handling.
  3729  //
  3730  // This method is useful when you want to inject custom logic or configuration
  3731  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3732  //
  3733  //
  3734  //    // Example sending a request using the PurchaseReservedInstanceOfferingRequest method.
  3735  //    req, resp := client.PurchaseReservedInstanceOfferingRequest(params)
  3736  //
  3737  //    err := req.Send()
  3738  //    if err == nil { // resp is now filled
  3739  //        fmt.Println(resp)
  3740  //    }
  3741  //
  3742  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/PurchaseReservedInstanceOffering
  3743  func (c *OpenSearchService) PurchaseReservedInstanceOfferingRequest(input *PurchaseReservedInstanceOfferingInput) (req *request.Request, output *PurchaseReservedInstanceOfferingOutput) {
  3744  	op := &request.Operation{
  3745  		Name:       opPurchaseReservedInstanceOffering,
  3746  		HTTPMethod: "POST",
  3747  		HTTPPath:   "/2021-01-01/opensearch/purchaseReservedInstanceOffering",
  3748  	}
  3749  
  3750  	if input == nil {
  3751  		input = &PurchaseReservedInstanceOfferingInput{}
  3752  	}
  3753  
  3754  	output = &PurchaseReservedInstanceOfferingOutput{}
  3755  	req = c.newRequest(op, input, output)
  3756  	return
  3757  }
  3758  
  3759  // PurchaseReservedInstanceOffering API operation for Amazon OpenSearch Service.
  3760  //
  3761  // Allows you to purchase reserved OpenSearch instances.
  3762  //
  3763  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3764  // with awserr.Error's Code and Message methods to get detailed information about
  3765  // the error.
  3766  //
  3767  // See the AWS API reference guide for Amazon OpenSearch Service's
  3768  // API operation PurchaseReservedInstanceOffering for usage and error information.
  3769  //
  3770  // Returned Error Types:
  3771  //   * ResourceNotFoundException
  3772  //   An exception for accessing or deleting a resource that does not exist. Gives
  3773  //   http status code of 400.
  3774  //
  3775  //   * ResourceAlreadyExistsException
  3776  //   An exception for creating a resource that already exists. Gives http status
  3777  //   code of 400.
  3778  //
  3779  //   * LimitExceededException
  3780  //   An exception for trying to create more than allowed resources or sub-resources.
  3781  //   Gives http status code of 409.
  3782  //
  3783  //   * DisabledOperationException
  3784  //   An error occured because the client wanted to access a not supported operation.
  3785  //   Gives http status code of 409.
  3786  //
  3787  //   * ValidationException
  3788  //   An exception for missing / invalid input fields. Gives http status code of
  3789  //   400.
  3790  //
  3791  //   * InternalException
  3792  //   The request processing has failed because of an unknown error, exception
  3793  //   or failure (the failure is internal to the service) . Gives http status code
  3794  //   of 500.
  3795  //
  3796  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/PurchaseReservedInstanceOffering
  3797  func (c *OpenSearchService) PurchaseReservedInstanceOffering(input *PurchaseReservedInstanceOfferingInput) (*PurchaseReservedInstanceOfferingOutput, error) {
  3798  	req, out := c.PurchaseReservedInstanceOfferingRequest(input)
  3799  	return out, req.Send()
  3800  }
  3801  
  3802  // PurchaseReservedInstanceOfferingWithContext is the same as PurchaseReservedInstanceOffering with the addition of
  3803  // the ability to pass a context and additional request options.
  3804  //
  3805  // See PurchaseReservedInstanceOffering for details on how to use this API operation.
  3806  //
  3807  // The context must be non-nil and will be used for request cancellation. If
  3808  // the context is nil a panic will occur. In the future the SDK may create
  3809  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3810  // for more information on using Contexts.
  3811  func (c *OpenSearchService) PurchaseReservedInstanceOfferingWithContext(ctx aws.Context, input *PurchaseReservedInstanceOfferingInput, opts ...request.Option) (*PurchaseReservedInstanceOfferingOutput, error) {
  3812  	req, out := c.PurchaseReservedInstanceOfferingRequest(input)
  3813  	req.SetContext(ctx)
  3814  	req.ApplyOptions(opts...)
  3815  	return out, req.Send()
  3816  }
  3817  
  3818  const opRejectInboundConnection = "RejectInboundConnection"
  3819  
  3820  // RejectInboundConnectionRequest generates a "aws/request.Request" representing the
  3821  // client's request for the RejectInboundConnection operation. The "output" return
  3822  // value will be populated with the request's response once the request completes
  3823  // successfully.
  3824  //
  3825  // Use "Send" method on the returned Request to send the API call to the service.
  3826  // the "output" return value is not valid until after Send returns without error.
  3827  //
  3828  // See RejectInboundConnection for more information on using the RejectInboundConnection
  3829  // API call, and error handling.
  3830  //
  3831  // This method is useful when you want to inject custom logic or configuration
  3832  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3833  //
  3834  //
  3835  //    // Example sending a request using the RejectInboundConnectionRequest method.
  3836  //    req, resp := client.RejectInboundConnectionRequest(params)
  3837  //
  3838  //    err := req.Send()
  3839  //    if err == nil { // resp is now filled
  3840  //        fmt.Println(resp)
  3841  //    }
  3842  //
  3843  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/RejectInboundConnection
  3844  func (c *OpenSearchService) RejectInboundConnectionRequest(input *RejectInboundConnectionInput) (req *request.Request, output *RejectInboundConnectionOutput) {
  3845  	op := &request.Operation{
  3846  		Name:       opRejectInboundConnection,
  3847  		HTTPMethod: "PUT",
  3848  		HTTPPath:   "/2021-01-01/opensearch/cc/inboundConnection/{ConnectionId}/reject",
  3849  	}
  3850  
  3851  	if input == nil {
  3852  		input = &RejectInboundConnectionInput{}
  3853  	}
  3854  
  3855  	output = &RejectInboundConnectionOutput{}
  3856  	req = c.newRequest(op, input, output)
  3857  	return
  3858  }
  3859  
  3860  // RejectInboundConnection API operation for Amazon OpenSearch Service.
  3861  //
  3862  // Allows the remote domain owner to reject an inbound cross-cluster connection
  3863  // request.
  3864  //
  3865  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3866  // with awserr.Error's Code and Message methods to get detailed information about
  3867  // the error.
  3868  //
  3869  // See the AWS API reference guide for Amazon OpenSearch Service's
  3870  // API operation RejectInboundConnection for usage and error information.
  3871  //
  3872  // Returned Error Types:
  3873  //   * ResourceNotFoundException
  3874  //   An exception for accessing or deleting a resource that does not exist. Gives
  3875  //   http status code of 400.
  3876  //
  3877  //   * DisabledOperationException
  3878  //   An error occured because the client wanted to access a not supported operation.
  3879  //   Gives http status code of 409.
  3880  //
  3881  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/RejectInboundConnection
  3882  func (c *OpenSearchService) RejectInboundConnection(input *RejectInboundConnectionInput) (*RejectInboundConnectionOutput, error) {
  3883  	req, out := c.RejectInboundConnectionRequest(input)
  3884  	return out, req.Send()
  3885  }
  3886  
  3887  // RejectInboundConnectionWithContext is the same as RejectInboundConnection with the addition of
  3888  // the ability to pass a context and additional request options.
  3889  //
  3890  // See RejectInboundConnection for details on how to use this API operation.
  3891  //
  3892  // The context must be non-nil and will be used for request cancellation. If
  3893  // the context is nil a panic will occur. In the future the SDK may create
  3894  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3895  // for more information on using Contexts.
  3896  func (c *OpenSearchService) RejectInboundConnectionWithContext(ctx aws.Context, input *RejectInboundConnectionInput, opts ...request.Option) (*RejectInboundConnectionOutput, error) {
  3897  	req, out := c.RejectInboundConnectionRequest(input)
  3898  	req.SetContext(ctx)
  3899  	req.ApplyOptions(opts...)
  3900  	return out, req.Send()
  3901  }
  3902  
  3903  const opRemoveTags = "RemoveTags"
  3904  
  3905  // RemoveTagsRequest generates a "aws/request.Request" representing the
  3906  // client's request for the RemoveTags operation. The "output" return
  3907  // value will be populated with the request's response once the request completes
  3908  // successfully.
  3909  //
  3910  // Use "Send" method on the returned Request to send the API call to the service.
  3911  // the "output" return value is not valid until after Send returns without error.
  3912  //
  3913  // See RemoveTags for more information on using the RemoveTags
  3914  // API call, and error handling.
  3915  //
  3916  // This method is useful when you want to inject custom logic or configuration
  3917  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3918  //
  3919  //
  3920  //    // Example sending a request using the RemoveTagsRequest method.
  3921  //    req, resp := client.RemoveTagsRequest(params)
  3922  //
  3923  //    err := req.Send()
  3924  //    if err == nil { // resp is now filled
  3925  //        fmt.Println(resp)
  3926  //    }
  3927  //
  3928  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/RemoveTags
  3929  func (c *OpenSearchService) RemoveTagsRequest(input *RemoveTagsInput) (req *request.Request, output *RemoveTagsOutput) {
  3930  	op := &request.Operation{
  3931  		Name:       opRemoveTags,
  3932  		HTTPMethod: "POST",
  3933  		HTTPPath:   "/2021-01-01/tags-removal",
  3934  	}
  3935  
  3936  	if input == nil {
  3937  		input = &RemoveTagsInput{}
  3938  	}
  3939  
  3940  	output = &RemoveTagsOutput{}
  3941  	req = c.newRequest(op, input, output)
  3942  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3943  	return
  3944  }
  3945  
  3946  // RemoveTags API operation for Amazon OpenSearch Service.
  3947  //
  3948  // Removes the specified set of tags from the given domain.
  3949  //
  3950  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3951  // with awserr.Error's Code and Message methods to get detailed information about
  3952  // the error.
  3953  //
  3954  // See the AWS API reference guide for Amazon OpenSearch Service's
  3955  // API operation RemoveTags for usage and error information.
  3956  //
  3957  // Returned Error Types:
  3958  //   * BaseException
  3959  //   An error occurred while processing the request.
  3960  //
  3961  //   * ValidationException
  3962  //   An exception for missing / invalid input fields. Gives http status code of
  3963  //   400.
  3964  //
  3965  //   * InternalException
  3966  //   The request processing has failed because of an unknown error, exception
  3967  //   or failure (the failure is internal to the service) . Gives http status code
  3968  //   of 500.
  3969  //
  3970  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/RemoveTags
  3971  func (c *OpenSearchService) RemoveTags(input *RemoveTagsInput) (*RemoveTagsOutput, error) {
  3972  	req, out := c.RemoveTagsRequest(input)
  3973  	return out, req.Send()
  3974  }
  3975  
  3976  // RemoveTagsWithContext is the same as RemoveTags with the addition of
  3977  // the ability to pass a context and additional request options.
  3978  //
  3979  // See RemoveTags for details on how to use this API operation.
  3980  //
  3981  // The context must be non-nil and will be used for request cancellation. If
  3982  // the context is nil a panic will occur. In the future the SDK may create
  3983  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3984  // for more information on using Contexts.
  3985  func (c *OpenSearchService) RemoveTagsWithContext(ctx aws.Context, input *RemoveTagsInput, opts ...request.Option) (*RemoveTagsOutput, error) {
  3986  	req, out := c.RemoveTagsRequest(input)
  3987  	req.SetContext(ctx)
  3988  	req.ApplyOptions(opts...)
  3989  	return out, req.Send()
  3990  }
  3991  
  3992  const opStartServiceSoftwareUpdate = "StartServiceSoftwareUpdate"
  3993  
  3994  // StartServiceSoftwareUpdateRequest generates a "aws/request.Request" representing the
  3995  // client's request for the StartServiceSoftwareUpdate operation. The "output" return
  3996  // value will be populated with the request's response once the request completes
  3997  // successfully.
  3998  //
  3999  // Use "Send" method on the returned Request to send the API call to the service.
  4000  // the "output" return value is not valid until after Send returns without error.
  4001  //
  4002  // See StartServiceSoftwareUpdate for more information on using the StartServiceSoftwareUpdate
  4003  // API call, and error handling.
  4004  //
  4005  // This method is useful when you want to inject custom logic or configuration
  4006  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4007  //
  4008  //
  4009  //    // Example sending a request using the StartServiceSoftwareUpdateRequest method.
  4010  //    req, resp := client.StartServiceSoftwareUpdateRequest(params)
  4011  //
  4012  //    err := req.Send()
  4013  //    if err == nil { // resp is now filled
  4014  //        fmt.Println(resp)
  4015  //    }
  4016  //
  4017  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/StartServiceSoftwareUpdate
  4018  func (c *OpenSearchService) StartServiceSoftwareUpdateRequest(input *StartServiceSoftwareUpdateInput) (req *request.Request, output *StartServiceSoftwareUpdateOutput) {
  4019  	op := &request.Operation{
  4020  		Name:       opStartServiceSoftwareUpdate,
  4021  		HTTPMethod: "POST",
  4022  		HTTPPath:   "/2021-01-01/opensearch/serviceSoftwareUpdate/start",
  4023  	}
  4024  
  4025  	if input == nil {
  4026  		input = &StartServiceSoftwareUpdateInput{}
  4027  	}
  4028  
  4029  	output = &StartServiceSoftwareUpdateOutput{}
  4030  	req = c.newRequest(op, input, output)
  4031  	return
  4032  }
  4033  
  4034  // StartServiceSoftwareUpdate API operation for Amazon OpenSearch Service.
  4035  //
  4036  // Schedules a service software update for an Amazon OpenSearch Service domain.
  4037  //
  4038  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4039  // with awserr.Error's Code and Message methods to get detailed information about
  4040  // the error.
  4041  //
  4042  // See the AWS API reference guide for Amazon OpenSearch Service's
  4043  // API operation StartServiceSoftwareUpdate for usage and error information.
  4044  //
  4045  // Returned Error Types:
  4046  //   * BaseException
  4047  //   An error occurred while processing the request.
  4048  //
  4049  //   * InternalException
  4050  //   The request processing has failed because of an unknown error, exception
  4051  //   or failure (the failure is internal to the service) . Gives http status code
  4052  //   of 500.
  4053  //
  4054  //   * ResourceNotFoundException
  4055  //   An exception for accessing or deleting a resource that does not exist. Gives
  4056  //   http status code of 400.
  4057  //
  4058  //   * ValidationException
  4059  //   An exception for missing / invalid input fields. Gives http status code of
  4060  //   400.
  4061  //
  4062  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/StartServiceSoftwareUpdate
  4063  func (c *OpenSearchService) StartServiceSoftwareUpdate(input *StartServiceSoftwareUpdateInput) (*StartServiceSoftwareUpdateOutput, error) {
  4064  	req, out := c.StartServiceSoftwareUpdateRequest(input)
  4065  	return out, req.Send()
  4066  }
  4067  
  4068  // StartServiceSoftwareUpdateWithContext is the same as StartServiceSoftwareUpdate with the addition of
  4069  // the ability to pass a context and additional request options.
  4070  //
  4071  // See StartServiceSoftwareUpdate for details on how to use this API operation.
  4072  //
  4073  // The context must be non-nil and will be used for request cancellation. If
  4074  // the context is nil a panic will occur. In the future the SDK may create
  4075  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4076  // for more information on using Contexts.
  4077  func (c *OpenSearchService) StartServiceSoftwareUpdateWithContext(ctx aws.Context, input *StartServiceSoftwareUpdateInput, opts ...request.Option) (*StartServiceSoftwareUpdateOutput, error) {
  4078  	req, out := c.StartServiceSoftwareUpdateRequest(input)
  4079  	req.SetContext(ctx)
  4080  	req.ApplyOptions(opts...)
  4081  	return out, req.Send()
  4082  }
  4083  
  4084  const opUpdateDomainConfig = "UpdateDomainConfig"
  4085  
  4086  // UpdateDomainConfigRequest generates a "aws/request.Request" representing the
  4087  // client's request for the UpdateDomainConfig operation. The "output" return
  4088  // value will be populated with the request's response once the request completes
  4089  // successfully.
  4090  //
  4091  // Use "Send" method on the returned Request to send the API call to the service.
  4092  // the "output" return value is not valid until after Send returns without error.
  4093  //
  4094  // See UpdateDomainConfig for more information on using the UpdateDomainConfig
  4095  // API call, and error handling.
  4096  //
  4097  // This method is useful when you want to inject custom logic or configuration
  4098  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4099  //
  4100  //
  4101  //    // Example sending a request using the UpdateDomainConfigRequest method.
  4102  //    req, resp := client.UpdateDomainConfigRequest(params)
  4103  //
  4104  //    err := req.Send()
  4105  //    if err == nil { // resp is now filled
  4106  //        fmt.Println(resp)
  4107  //    }
  4108  //
  4109  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/UpdateDomainConfig
  4110  func (c *OpenSearchService) UpdateDomainConfigRequest(input *UpdateDomainConfigInput) (req *request.Request, output *UpdateDomainConfigOutput) {
  4111  	op := &request.Operation{
  4112  		Name:       opUpdateDomainConfig,
  4113  		HTTPMethod: "POST",
  4114  		HTTPPath:   "/2021-01-01/opensearch/domain/{DomainName}/config",
  4115  	}
  4116  
  4117  	if input == nil {
  4118  		input = &UpdateDomainConfigInput{}
  4119  	}
  4120  
  4121  	output = &UpdateDomainConfigOutput{}
  4122  	req = c.newRequest(op, input, output)
  4123  	return
  4124  }
  4125  
  4126  // UpdateDomainConfig API operation for Amazon OpenSearch Service.
  4127  //
  4128  // Modifies the cluster configuration of the specified domain, such as setting
  4129  // the instance type and the number of instances.
  4130  //
  4131  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4132  // with awserr.Error's Code and Message methods to get detailed information about
  4133  // the error.
  4134  //
  4135  // See the AWS API reference guide for Amazon OpenSearch Service's
  4136  // API operation UpdateDomainConfig for usage and error information.
  4137  //
  4138  // Returned Error Types:
  4139  //   * BaseException
  4140  //   An error occurred while processing the request.
  4141  //
  4142  //   * InternalException
  4143  //   The request processing has failed because of an unknown error, exception
  4144  //   or failure (the failure is internal to the service) . Gives http status code
  4145  //   of 500.
  4146  //
  4147  //   * InvalidTypeException
  4148  //   An exception for trying to create or access sub-resource that is either invalid
  4149  //   or not supported. Gives http status code of 409.
  4150  //
  4151  //   * LimitExceededException
  4152  //   An exception for trying to create more than allowed resources or sub-resources.
  4153  //   Gives http status code of 409.
  4154  //
  4155  //   * ResourceNotFoundException
  4156  //   An exception for accessing or deleting a resource that does not exist. Gives
  4157  //   http status code of 400.
  4158  //
  4159  //   * ValidationException
  4160  //   An exception for missing / invalid input fields. Gives http status code of
  4161  //   400.
  4162  //
  4163  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/UpdateDomainConfig
  4164  func (c *OpenSearchService) UpdateDomainConfig(input *UpdateDomainConfigInput) (*UpdateDomainConfigOutput, error) {
  4165  	req, out := c.UpdateDomainConfigRequest(input)
  4166  	return out, req.Send()
  4167  }
  4168  
  4169  // UpdateDomainConfigWithContext is the same as UpdateDomainConfig with the addition of
  4170  // the ability to pass a context and additional request options.
  4171  //
  4172  // See UpdateDomainConfig for details on how to use this API operation.
  4173  //
  4174  // The context must be non-nil and will be used for request cancellation. If
  4175  // the context is nil a panic will occur. In the future the SDK may create
  4176  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4177  // for more information on using Contexts.
  4178  func (c *OpenSearchService) UpdateDomainConfigWithContext(ctx aws.Context, input *UpdateDomainConfigInput, opts ...request.Option) (*UpdateDomainConfigOutput, error) {
  4179  	req, out := c.UpdateDomainConfigRequest(input)
  4180  	req.SetContext(ctx)
  4181  	req.ApplyOptions(opts...)
  4182  	return out, req.Send()
  4183  }
  4184  
  4185  const opUpdatePackage = "UpdatePackage"
  4186  
  4187  // UpdatePackageRequest generates a "aws/request.Request" representing the
  4188  // client's request for the UpdatePackage operation. The "output" return
  4189  // value will be populated with the request's response once the request completes
  4190  // successfully.
  4191  //
  4192  // Use "Send" method on the returned Request to send the API call to the service.
  4193  // the "output" return value is not valid until after Send returns without error.
  4194  //
  4195  // See UpdatePackage for more information on using the UpdatePackage
  4196  // API call, and error handling.
  4197  //
  4198  // This method is useful when you want to inject custom logic or configuration
  4199  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4200  //
  4201  //
  4202  //    // Example sending a request using the UpdatePackageRequest method.
  4203  //    req, resp := client.UpdatePackageRequest(params)
  4204  //
  4205  //    err := req.Send()
  4206  //    if err == nil { // resp is now filled
  4207  //        fmt.Println(resp)
  4208  //    }
  4209  //
  4210  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/UpdatePackage
  4211  func (c *OpenSearchService) UpdatePackageRequest(input *UpdatePackageInput) (req *request.Request, output *UpdatePackageOutput) {
  4212  	op := &request.Operation{
  4213  		Name:       opUpdatePackage,
  4214  		HTTPMethod: "POST",
  4215  		HTTPPath:   "/2021-01-01/packages/update",
  4216  	}
  4217  
  4218  	if input == nil {
  4219  		input = &UpdatePackageInput{}
  4220  	}
  4221  
  4222  	output = &UpdatePackageOutput{}
  4223  	req = c.newRequest(op, input, output)
  4224  	return
  4225  }
  4226  
  4227  // UpdatePackage API operation for Amazon OpenSearch Service.
  4228  //
  4229  // Updates a package for use with Amazon OpenSearch Service domains.
  4230  //
  4231  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4232  // with awserr.Error's Code and Message methods to get detailed information about
  4233  // the error.
  4234  //
  4235  // See the AWS API reference guide for Amazon OpenSearch Service's
  4236  // API operation UpdatePackage for usage and error information.
  4237  //
  4238  // Returned Error Types:
  4239  //   * BaseException
  4240  //   An error occurred while processing the request.
  4241  //
  4242  //   * InternalException
  4243  //   The request processing has failed because of an unknown error, exception
  4244  //   or failure (the failure is internal to the service) . Gives http status code
  4245  //   of 500.
  4246  //
  4247  //   * LimitExceededException
  4248  //   An exception for trying to create more than allowed resources or sub-resources.
  4249  //   Gives http status code of 409.
  4250  //
  4251  //   * ResourceNotFoundException
  4252  //   An exception for accessing or deleting a resource that does not exist. Gives
  4253  //   http status code of 400.
  4254  //
  4255  //   * AccessDeniedException
  4256  //   An error occurred because user does not have permissions to access the resource.
  4257  //   Returns HTTP status code 403.
  4258  //
  4259  //   * ValidationException
  4260  //   An exception for missing / invalid input fields. Gives http status code of
  4261  //   400.
  4262  //
  4263  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/UpdatePackage
  4264  func (c *OpenSearchService) UpdatePackage(input *UpdatePackageInput) (*UpdatePackageOutput, error) {
  4265  	req, out := c.UpdatePackageRequest(input)
  4266  	return out, req.Send()
  4267  }
  4268  
  4269  // UpdatePackageWithContext is the same as UpdatePackage with the addition of
  4270  // the ability to pass a context and additional request options.
  4271  //
  4272  // See UpdatePackage for details on how to use this API operation.
  4273  //
  4274  // The context must be non-nil and will be used for request cancellation. If
  4275  // the context is nil a panic will occur. In the future the SDK may create
  4276  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4277  // for more information on using Contexts.
  4278  func (c *OpenSearchService) UpdatePackageWithContext(ctx aws.Context, input *UpdatePackageInput, opts ...request.Option) (*UpdatePackageOutput, error) {
  4279  	req, out := c.UpdatePackageRequest(input)
  4280  	req.SetContext(ctx)
  4281  	req.ApplyOptions(opts...)
  4282  	return out, req.Send()
  4283  }
  4284  
  4285  const opUpgradeDomain = "UpgradeDomain"
  4286  
  4287  // UpgradeDomainRequest generates a "aws/request.Request" representing the
  4288  // client's request for the UpgradeDomain operation. The "output" return
  4289  // value will be populated with the request's response once the request completes
  4290  // successfully.
  4291  //
  4292  // Use "Send" method on the returned Request to send the API call to the service.
  4293  // the "output" return value is not valid until after Send returns without error.
  4294  //
  4295  // See UpgradeDomain for more information on using the UpgradeDomain
  4296  // API call, and error handling.
  4297  //
  4298  // This method is useful when you want to inject custom logic or configuration
  4299  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4300  //
  4301  //
  4302  //    // Example sending a request using the UpgradeDomainRequest method.
  4303  //    req, resp := client.UpgradeDomainRequest(params)
  4304  //
  4305  //    err := req.Send()
  4306  //    if err == nil { // resp is now filled
  4307  //        fmt.Println(resp)
  4308  //    }
  4309  //
  4310  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/UpgradeDomain
  4311  func (c *OpenSearchService) UpgradeDomainRequest(input *UpgradeDomainInput) (req *request.Request, output *UpgradeDomainOutput) {
  4312  	op := &request.Operation{
  4313  		Name:       opUpgradeDomain,
  4314  		HTTPMethod: "POST",
  4315  		HTTPPath:   "/2021-01-01/opensearch/upgradeDomain",
  4316  	}
  4317  
  4318  	if input == nil {
  4319  		input = &UpgradeDomainInput{}
  4320  	}
  4321  
  4322  	output = &UpgradeDomainOutput{}
  4323  	req = c.newRequest(op, input, output)
  4324  	return
  4325  }
  4326  
  4327  // UpgradeDomain API operation for Amazon OpenSearch Service.
  4328  //
  4329  // Allows you to either upgrade your domain or perform an upgrade eligibility
  4330  // check to a compatible version of OpenSearch or Elasticsearch.
  4331  //
  4332  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4333  // with awserr.Error's Code and Message methods to get detailed information about
  4334  // the error.
  4335  //
  4336  // See the AWS API reference guide for Amazon OpenSearch Service's
  4337  // API operation UpgradeDomain for usage and error information.
  4338  //
  4339  // Returned Error Types:
  4340  //   * BaseException
  4341  //   An error occurred while processing the request.
  4342  //
  4343  //   * ResourceNotFoundException
  4344  //   An exception for accessing or deleting a resource that does not exist. Gives
  4345  //   http status code of 400.
  4346  //
  4347  //   * ResourceAlreadyExistsException
  4348  //   An exception for creating a resource that already exists. Gives http status
  4349  //   code of 400.
  4350  //
  4351  //   * DisabledOperationException
  4352  //   An error occured because the client wanted to access a not supported operation.
  4353  //   Gives http status code of 409.
  4354  //
  4355  //   * ValidationException
  4356  //   An exception for missing / invalid input fields. Gives http status code of
  4357  //   400.
  4358  //
  4359  //   * InternalException
  4360  //   The request processing has failed because of an unknown error, exception
  4361  //   or failure (the failure is internal to the service) . Gives http status code
  4362  //   of 500.
  4363  //
  4364  // See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/UpgradeDomain
  4365  func (c *OpenSearchService) UpgradeDomain(input *UpgradeDomainInput) (*UpgradeDomainOutput, error) {
  4366  	req, out := c.UpgradeDomainRequest(input)
  4367  	return out, req.Send()
  4368  }
  4369  
  4370  // UpgradeDomainWithContext is the same as UpgradeDomain with the addition of
  4371  // the ability to pass a context and additional request options.
  4372  //
  4373  // See UpgradeDomain for details on how to use this API operation.
  4374  //
  4375  // The context must be non-nil and will be used for request cancellation. If
  4376  // the context is nil a panic will occur. In the future the SDK may create
  4377  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4378  // for more information on using Contexts.
  4379  func (c *OpenSearchService) UpgradeDomainWithContext(ctx aws.Context, input *UpgradeDomainInput, opts ...request.Option) (*UpgradeDomainOutput, error) {
  4380  	req, out := c.UpgradeDomainRequest(input)
  4381  	req.SetContext(ctx)
  4382  	req.ApplyOptions(opts...)
  4383  	return out, req.Send()
  4384  }
  4385  
  4386  type AWSDomainInformation struct {
  4387  	_ struct{} `type:"structure"`
  4388  
  4389  	// The name of an domain. Domain names are unique across the domains owned by
  4390  	// an account within an AWS region. Domain names start with a letter or number
  4391  	// and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).
  4392  	//
  4393  	// DomainName is a required field
  4394  	DomainName *string `min:"3" type:"string" required:"true"`
  4395  
  4396  	OwnerId *string `min:"12" type:"string"`
  4397  
  4398  	Region *string `min:"5" type:"string"`
  4399  }
  4400  
  4401  // String returns the string representation.
  4402  //
  4403  // API parameter values that are decorated as "sensitive" in the API will not
  4404  // be included in the string output. The member name will be present, but the
  4405  // value will be replaced with "sensitive".
  4406  func (s AWSDomainInformation) String() string {
  4407  	return awsutil.Prettify(s)
  4408  }
  4409  
  4410  // GoString returns the string representation.
  4411  //
  4412  // API parameter values that are decorated as "sensitive" in the API will not
  4413  // be included in the string output. The member name will be present, but the
  4414  // value will be replaced with "sensitive".
  4415  func (s AWSDomainInformation) GoString() string {
  4416  	return s.String()
  4417  }
  4418  
  4419  // Validate inspects the fields of the type to determine if they are valid.
  4420  func (s *AWSDomainInformation) Validate() error {
  4421  	invalidParams := request.ErrInvalidParams{Context: "AWSDomainInformation"}
  4422  	if s.DomainName == nil {
  4423  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  4424  	}
  4425  	if s.DomainName != nil && len(*s.DomainName) < 3 {
  4426  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
  4427  	}
  4428  	if s.OwnerId != nil && len(*s.OwnerId) < 12 {
  4429  		invalidParams.Add(request.NewErrParamMinLen("OwnerId", 12))
  4430  	}
  4431  	if s.Region != nil && len(*s.Region) < 5 {
  4432  		invalidParams.Add(request.NewErrParamMinLen("Region", 5))
  4433  	}
  4434  
  4435  	if invalidParams.Len() > 0 {
  4436  		return invalidParams
  4437  	}
  4438  	return nil
  4439  }
  4440  
  4441  // SetDomainName sets the DomainName field's value.
  4442  func (s *AWSDomainInformation) SetDomainName(v string) *AWSDomainInformation {
  4443  	s.DomainName = &v
  4444  	return s
  4445  }
  4446  
  4447  // SetOwnerId sets the OwnerId field's value.
  4448  func (s *AWSDomainInformation) SetOwnerId(v string) *AWSDomainInformation {
  4449  	s.OwnerId = &v
  4450  	return s
  4451  }
  4452  
  4453  // SetRegion sets the Region field's value.
  4454  func (s *AWSDomainInformation) SetRegion(v string) *AWSDomainInformation {
  4455  	s.Region = &v
  4456  	return s
  4457  }
  4458  
  4459  // Container for the parameters to the AcceptInboundConnection operation.
  4460  type AcceptInboundConnectionInput struct {
  4461  	_ struct{} `type:"structure" nopayload:"true"`
  4462  
  4463  	// The ID of the inbound connection you want to accept.
  4464  	//
  4465  	// ConnectionId is a required field
  4466  	ConnectionId *string `location:"uri" locationName:"ConnectionId" min:"10" type:"string" required:"true"`
  4467  }
  4468  
  4469  // String returns the string representation.
  4470  //
  4471  // API parameter values that are decorated as "sensitive" in the API will not
  4472  // be included in the string output. The member name will be present, but the
  4473  // value will be replaced with "sensitive".
  4474  func (s AcceptInboundConnectionInput) String() string {
  4475  	return awsutil.Prettify(s)
  4476  }
  4477  
  4478  // GoString returns the string representation.
  4479  //
  4480  // API parameter values that are decorated as "sensitive" in the API will not
  4481  // be included in the string output. The member name will be present, but the
  4482  // value will be replaced with "sensitive".
  4483  func (s AcceptInboundConnectionInput) GoString() string {
  4484  	return s.String()
  4485  }
  4486  
  4487  // Validate inspects the fields of the type to determine if they are valid.
  4488  func (s *AcceptInboundConnectionInput) Validate() error {
  4489  	invalidParams := request.ErrInvalidParams{Context: "AcceptInboundConnectionInput"}
  4490  	if s.ConnectionId == nil {
  4491  		invalidParams.Add(request.NewErrParamRequired("ConnectionId"))
  4492  	}
  4493  	if s.ConnectionId != nil && len(*s.ConnectionId) < 10 {
  4494  		invalidParams.Add(request.NewErrParamMinLen("ConnectionId", 10))
  4495  	}
  4496  
  4497  	if invalidParams.Len() > 0 {
  4498  		return invalidParams
  4499  	}
  4500  	return nil
  4501  }
  4502  
  4503  // SetConnectionId sets the ConnectionId field's value.
  4504  func (s *AcceptInboundConnectionInput) SetConnectionId(v string) *AcceptInboundConnectionInput {
  4505  	s.ConnectionId = &v
  4506  	return s
  4507  }
  4508  
  4509  // The result of an AcceptInboundConnection operation. Contains details about
  4510  // the accepted inbound connection.
  4511  type AcceptInboundConnectionOutput struct {
  4512  	_ struct{} `type:"structure"`
  4513  
  4514  	// The InboundConnection of the accepted inbound connection.
  4515  	Connection *InboundConnection `type:"structure"`
  4516  }
  4517  
  4518  // String returns the string representation.
  4519  //
  4520  // API parameter values that are decorated as "sensitive" in the API will not
  4521  // be included in the string output. The member name will be present, but the
  4522  // value will be replaced with "sensitive".
  4523  func (s AcceptInboundConnectionOutput) String() string {
  4524  	return awsutil.Prettify(s)
  4525  }
  4526  
  4527  // GoString returns the string representation.
  4528  //
  4529  // API parameter values that are decorated as "sensitive" in the API will not
  4530  // be included in the string output. The member name will be present, but the
  4531  // value will be replaced with "sensitive".
  4532  func (s AcceptInboundConnectionOutput) GoString() string {
  4533  	return s.String()
  4534  }
  4535  
  4536  // SetConnection sets the Connection field's value.
  4537  func (s *AcceptInboundConnectionOutput) SetConnection(v *InboundConnection) *AcceptInboundConnectionOutput {
  4538  	s.Connection = v
  4539  	return s
  4540  }
  4541  
  4542  // An error occurred because user does not have permissions to access the resource.
  4543  // Returns HTTP status code 403.
  4544  type AccessDeniedException struct {
  4545  	_            struct{}                  `type:"structure"`
  4546  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4547  
  4548  	Message_ *string `locationName:"message" type:"string"`
  4549  }
  4550  
  4551  // String returns the string representation.
  4552  //
  4553  // API parameter values that are decorated as "sensitive" in the API will not
  4554  // be included in the string output. The member name will be present, but the
  4555  // value will be replaced with "sensitive".
  4556  func (s AccessDeniedException) String() string {
  4557  	return awsutil.Prettify(s)
  4558  }
  4559  
  4560  // GoString returns the string representation.
  4561  //
  4562  // API parameter values that are decorated as "sensitive" in the API will not
  4563  // be included in the string output. The member name will be present, but the
  4564  // value will be replaced with "sensitive".
  4565  func (s AccessDeniedException) GoString() string {
  4566  	return s.String()
  4567  }
  4568  
  4569  func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
  4570  	return &AccessDeniedException{
  4571  		RespMetadata: v,
  4572  	}
  4573  }
  4574  
  4575  // Code returns the exception type name.
  4576  func (s *AccessDeniedException) Code() string {
  4577  	return "AccessDeniedException"
  4578  }
  4579  
  4580  // Message returns the exception's message.
  4581  func (s *AccessDeniedException) Message() string {
  4582  	if s.Message_ != nil {
  4583  		return *s.Message_
  4584  	}
  4585  	return ""
  4586  }
  4587  
  4588  // OrigErr always returns nil, satisfies awserr.Error interface.
  4589  func (s *AccessDeniedException) OrigErr() error {
  4590  	return nil
  4591  }
  4592  
  4593  func (s *AccessDeniedException) Error() string {
  4594  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  4595  }
  4596  
  4597  // Status code returns the HTTP status code for the request's response error.
  4598  func (s *AccessDeniedException) StatusCode() int {
  4599  	return s.RespMetadata.StatusCode
  4600  }
  4601  
  4602  // RequestID returns the service's response RequestID for request.
  4603  func (s *AccessDeniedException) RequestID() string {
  4604  	return s.RespMetadata.RequestID
  4605  }
  4606  
  4607  // The configured access rules for the domain's document and search endpoints,
  4608  // and the current status of those rules.
  4609  type AccessPoliciesStatus struct {
  4610  	_ struct{} `type:"structure"`
  4611  
  4612  	// The access policy configured for the domain. Access policies can be resource-based,
  4613  	// IP-based, or IAM-based. See Configuring access policies (http://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html#createdomain-configure-access-policies)for
  4614  	// more information.
  4615  	//
  4616  	// Options is a required field
  4617  	Options *string `type:"string" required:"true"`
  4618  
  4619  	// The status of the access policy for the domain. See OptionStatus for the
  4620  	// status information that's included.
  4621  	//
  4622  	// Status is a required field
  4623  	Status *OptionStatus `type:"structure" required:"true"`
  4624  }
  4625  
  4626  // String returns the string representation.
  4627  //
  4628  // API parameter values that are decorated as "sensitive" in the API will not
  4629  // be included in the string output. The member name will be present, but the
  4630  // value will be replaced with "sensitive".
  4631  func (s AccessPoliciesStatus) String() string {
  4632  	return awsutil.Prettify(s)
  4633  }
  4634  
  4635  // GoString returns the string representation.
  4636  //
  4637  // API parameter values that are decorated as "sensitive" in the API will not
  4638  // be included in the string output. The member name will be present, but the
  4639  // value will be replaced with "sensitive".
  4640  func (s AccessPoliciesStatus) GoString() string {
  4641  	return s.String()
  4642  }
  4643  
  4644  // SetOptions sets the Options field's value.
  4645  func (s *AccessPoliciesStatus) SetOptions(v string) *AccessPoliciesStatus {
  4646  	s.Options = &v
  4647  	return s
  4648  }
  4649  
  4650  // SetStatus sets the Status field's value.
  4651  func (s *AccessPoliciesStatus) SetStatus(v *OptionStatus) *AccessPoliciesStatus {
  4652  	s.Status = v
  4653  	return s
  4654  }
  4655  
  4656  // Container for the parameters to the AddTags operation. Specifies the tags
  4657  // to attach to the domain.
  4658  type AddTagsInput struct {
  4659  	_ struct{} `type:"structure"`
  4660  
  4661  	// Specify the ARN of the domain you want to add tags to.
  4662  	//
  4663  	// ARN is a required field
  4664  	ARN *string `min:"20" type:"string" required:"true"`
  4665  
  4666  	// List of Tag to add to the domain.
  4667  	//
  4668  	// TagList is a required field
  4669  	TagList []*Tag `type:"list" required:"true"`
  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 AddTagsInput) 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 AddTagsInput) GoString() string {
  4687  	return s.String()
  4688  }
  4689  
  4690  // Validate inspects the fields of the type to determine if they are valid.
  4691  func (s *AddTagsInput) Validate() error {
  4692  	invalidParams := request.ErrInvalidParams{Context: "AddTagsInput"}
  4693  	if s.ARN == nil {
  4694  		invalidParams.Add(request.NewErrParamRequired("ARN"))
  4695  	}
  4696  	if s.ARN != nil && len(*s.ARN) < 20 {
  4697  		invalidParams.Add(request.NewErrParamMinLen("ARN", 20))
  4698  	}
  4699  	if s.TagList == nil {
  4700  		invalidParams.Add(request.NewErrParamRequired("TagList"))
  4701  	}
  4702  	if s.TagList != nil {
  4703  		for i, v := range s.TagList {
  4704  			if v == nil {
  4705  				continue
  4706  			}
  4707  			if err := v.Validate(); err != nil {
  4708  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TagList", i), err.(request.ErrInvalidParams))
  4709  			}
  4710  		}
  4711  	}
  4712  
  4713  	if invalidParams.Len() > 0 {
  4714  		return invalidParams
  4715  	}
  4716  	return nil
  4717  }
  4718  
  4719  // SetARN sets the ARN field's value.
  4720  func (s *AddTagsInput) SetARN(v string) *AddTagsInput {
  4721  	s.ARN = &v
  4722  	return s
  4723  }
  4724  
  4725  // SetTagList sets the TagList field's value.
  4726  func (s *AddTagsInput) SetTagList(v []*Tag) *AddTagsInput {
  4727  	s.TagList = v
  4728  	return s
  4729  }
  4730  
  4731  type AddTagsOutput struct {
  4732  	_ struct{} `type:"structure" nopayload:"true"`
  4733  }
  4734  
  4735  // String returns the string representation.
  4736  //
  4737  // API parameter values that are decorated as "sensitive" in the API will not
  4738  // be included in the string output. The member name will be present, but the
  4739  // value will be replaced with "sensitive".
  4740  func (s AddTagsOutput) String() string {
  4741  	return awsutil.Prettify(s)
  4742  }
  4743  
  4744  // GoString returns the string representation.
  4745  //
  4746  // API parameter values that are decorated as "sensitive" in the API will not
  4747  // be included in the string output. The member name will be present, but the
  4748  // value will be replaced with "sensitive".
  4749  func (s AddTagsOutput) GoString() string {
  4750  	return s.String()
  4751  }
  4752  
  4753  // List of limits that are specific to a given InstanceType and for each of
  4754  // its InstanceRole .
  4755  type AdditionalLimit struct {
  4756  	_ struct{} `type:"structure"`
  4757  
  4758  	// Additional limit is specific to a given InstanceType and for each of its
  4759  	// InstanceRole etc. Attributes and their details:
  4760  	//    * MaximumNumberOfDataNodesSupported
  4761  	//
  4762  	//    * MaximumNumberOfDataNodesWithoutMasterNode
  4763  	LimitName *string `type:"string"`
  4764  
  4765  	// Value for a given AdditionalLimit$LimitName .
  4766  	LimitValues []*string `type:"list"`
  4767  }
  4768  
  4769  // String returns the string representation.
  4770  //
  4771  // API parameter values that are decorated as "sensitive" in the API will not
  4772  // be included in the string output. The member name will be present, but the
  4773  // value will be replaced with "sensitive".
  4774  func (s AdditionalLimit) String() string {
  4775  	return awsutil.Prettify(s)
  4776  }
  4777  
  4778  // GoString returns the string representation.
  4779  //
  4780  // API parameter values that are decorated as "sensitive" in the API will not
  4781  // be included in the string output. The member name will be present, but the
  4782  // value will be replaced with "sensitive".
  4783  func (s AdditionalLimit) GoString() string {
  4784  	return s.String()
  4785  }
  4786  
  4787  // SetLimitName sets the LimitName field's value.
  4788  func (s *AdditionalLimit) SetLimitName(v string) *AdditionalLimit {
  4789  	s.LimitName = &v
  4790  	return s
  4791  }
  4792  
  4793  // SetLimitValues sets the LimitValues field's value.
  4794  func (s *AdditionalLimit) SetLimitValues(v []*string) *AdditionalLimit {
  4795  	s.LimitValues = v
  4796  	return s
  4797  }
  4798  
  4799  // Status of the advanced options for the specified domain. Currently, the following
  4800  // advanced options are available:
  4801  //
  4802  //    * Option to allow references to indices in an HTTP request body. Must
  4803  //    be false when configuring access to individual sub-resources. By default,
  4804  //    the value is true. See Advanced cluster parameters for more information.
  4805  //
  4806  //    * Option to specify the percentage of heap space allocated to field data.
  4807  //    By default, this setting is unbounded.
  4808  //
  4809  // For more information, see Advanced cluster parameters (http://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html#createdomain-configure-advanced-options).
  4810  type AdvancedOptionsStatus struct {
  4811  	_ struct{} `type:"structure"`
  4812  
  4813  	// The status of advanced options for the specified domain.
  4814  	//
  4815  	// Options is a required field
  4816  	Options map[string]*string `type:"map" required:"true"`
  4817  
  4818  	// The OptionStatus for advanced options for the specified domain.
  4819  	//
  4820  	// Status is a required field
  4821  	Status *OptionStatus `type:"structure" required:"true"`
  4822  }
  4823  
  4824  // String returns the string representation.
  4825  //
  4826  // API parameter values that are decorated as "sensitive" in the API will not
  4827  // be included in the string output. The member name will be present, but the
  4828  // value will be replaced with "sensitive".
  4829  func (s AdvancedOptionsStatus) String() string {
  4830  	return awsutil.Prettify(s)
  4831  }
  4832  
  4833  // GoString returns the string representation.
  4834  //
  4835  // API parameter values that are decorated as "sensitive" in the API will not
  4836  // be included in the string output. The member name will be present, but the
  4837  // value will be replaced with "sensitive".
  4838  func (s AdvancedOptionsStatus) GoString() string {
  4839  	return s.String()
  4840  }
  4841  
  4842  // SetOptions sets the Options field's value.
  4843  func (s *AdvancedOptionsStatus) SetOptions(v map[string]*string) *AdvancedOptionsStatus {
  4844  	s.Options = v
  4845  	return s
  4846  }
  4847  
  4848  // SetStatus sets the Status field's value.
  4849  func (s *AdvancedOptionsStatus) SetStatus(v *OptionStatus) *AdvancedOptionsStatus {
  4850  	s.Status = v
  4851  	return s
  4852  }
  4853  
  4854  // The advanced security configuration: whether advanced security is enabled,
  4855  // whether the internal database option is enabled.
  4856  type AdvancedSecurityOptions struct {
  4857  	_ struct{} `type:"structure"`
  4858  
  4859  	// True if advanced security is enabled.
  4860  	Enabled *bool `type:"boolean"`
  4861  
  4862  	// True if the internal user database is enabled.
  4863  	InternalUserDatabaseEnabled *bool `type:"boolean"`
  4864  
  4865  	// Describes the SAML application configured for a domain.
  4866  	SAMLOptions *SAMLOptionsOutput_ `type:"structure"`
  4867  }
  4868  
  4869  // String returns the string representation.
  4870  //
  4871  // API parameter values that are decorated as "sensitive" in the API will not
  4872  // be included in the string output. The member name will be present, but the
  4873  // value will be replaced with "sensitive".
  4874  func (s AdvancedSecurityOptions) String() string {
  4875  	return awsutil.Prettify(s)
  4876  }
  4877  
  4878  // GoString returns the string representation.
  4879  //
  4880  // API parameter values that are decorated as "sensitive" in the API will not
  4881  // be included in the string output. The member name will be present, but the
  4882  // value will be replaced with "sensitive".
  4883  func (s AdvancedSecurityOptions) GoString() string {
  4884  	return s.String()
  4885  }
  4886  
  4887  // SetEnabled sets the Enabled field's value.
  4888  func (s *AdvancedSecurityOptions) SetEnabled(v bool) *AdvancedSecurityOptions {
  4889  	s.Enabled = &v
  4890  	return s
  4891  }
  4892  
  4893  // SetInternalUserDatabaseEnabled sets the InternalUserDatabaseEnabled field's value.
  4894  func (s *AdvancedSecurityOptions) SetInternalUserDatabaseEnabled(v bool) *AdvancedSecurityOptions {
  4895  	s.InternalUserDatabaseEnabled = &v
  4896  	return s
  4897  }
  4898  
  4899  // SetSAMLOptions sets the SAMLOptions field's value.
  4900  func (s *AdvancedSecurityOptions) SetSAMLOptions(v *SAMLOptionsOutput_) *AdvancedSecurityOptions {
  4901  	s.SAMLOptions = v
  4902  	return s
  4903  }
  4904  
  4905  // The advanced security configuration: whether advanced security is enabled,
  4906  // whether the internal database option is enabled, master username and password
  4907  // (if internal database is enabled), and master user ARN (if IAM is enabled).
  4908  type AdvancedSecurityOptionsInput_ struct {
  4909  	_ struct{} `type:"structure"`
  4910  
  4911  	// True if advanced security is enabled.
  4912  	Enabled *bool `type:"boolean"`
  4913  
  4914  	// True if the internal user database is enabled.
  4915  	InternalUserDatabaseEnabled *bool `type:"boolean"`
  4916  
  4917  	// Credentials for the master user: username and password, ARN, or both.
  4918  	MasterUserOptions *MasterUserOptions `type:"structure"`
  4919  
  4920  	// The SAML application configuration for the domain.
  4921  	SAMLOptions *SAMLOptionsInput_ `type:"structure"`
  4922  }
  4923  
  4924  // String returns the string representation.
  4925  //
  4926  // API parameter values that are decorated as "sensitive" in the API will not
  4927  // be included in the string output. The member name will be present, but the
  4928  // value will be replaced with "sensitive".
  4929  func (s AdvancedSecurityOptionsInput_) String() string {
  4930  	return awsutil.Prettify(s)
  4931  }
  4932  
  4933  // GoString returns the string representation.
  4934  //
  4935  // API parameter values that are decorated as "sensitive" in the API will not
  4936  // be included in the string output. The member name will be present, but the
  4937  // value will be replaced with "sensitive".
  4938  func (s AdvancedSecurityOptionsInput_) GoString() string {
  4939  	return s.String()
  4940  }
  4941  
  4942  // Validate inspects the fields of the type to determine if they are valid.
  4943  func (s *AdvancedSecurityOptionsInput_) Validate() error {
  4944  	invalidParams := request.ErrInvalidParams{Context: "AdvancedSecurityOptionsInput_"}
  4945  	if s.MasterUserOptions != nil {
  4946  		if err := s.MasterUserOptions.Validate(); err != nil {
  4947  			invalidParams.AddNested("MasterUserOptions", err.(request.ErrInvalidParams))
  4948  		}
  4949  	}
  4950  	if s.SAMLOptions != nil {
  4951  		if err := s.SAMLOptions.Validate(); err != nil {
  4952  			invalidParams.AddNested("SAMLOptions", err.(request.ErrInvalidParams))
  4953  		}
  4954  	}
  4955  
  4956  	if invalidParams.Len() > 0 {
  4957  		return invalidParams
  4958  	}
  4959  	return nil
  4960  }
  4961  
  4962  // SetEnabled sets the Enabled field's value.
  4963  func (s *AdvancedSecurityOptionsInput_) SetEnabled(v bool) *AdvancedSecurityOptionsInput_ {
  4964  	s.Enabled = &v
  4965  	return s
  4966  }
  4967  
  4968  // SetInternalUserDatabaseEnabled sets the InternalUserDatabaseEnabled field's value.
  4969  func (s *AdvancedSecurityOptionsInput_) SetInternalUserDatabaseEnabled(v bool) *AdvancedSecurityOptionsInput_ {
  4970  	s.InternalUserDatabaseEnabled = &v
  4971  	return s
  4972  }
  4973  
  4974  // SetMasterUserOptions sets the MasterUserOptions field's value.
  4975  func (s *AdvancedSecurityOptionsInput_) SetMasterUserOptions(v *MasterUserOptions) *AdvancedSecurityOptionsInput_ {
  4976  	s.MasterUserOptions = v
  4977  	return s
  4978  }
  4979  
  4980  // SetSAMLOptions sets the SAMLOptions field's value.
  4981  func (s *AdvancedSecurityOptionsInput_) SetSAMLOptions(v *SAMLOptionsInput_) *AdvancedSecurityOptionsInput_ {
  4982  	s.SAMLOptions = v
  4983  	return s
  4984  }
  4985  
  4986  // The status of advanced security options for the specified domain.
  4987  type AdvancedSecurityOptionsStatus struct {
  4988  	_ struct{} `type:"structure"`
  4989  
  4990  	// Advanced security options for the specified domain.
  4991  	//
  4992  	// Options is a required field
  4993  	Options *AdvancedSecurityOptions `type:"structure" required:"true"`
  4994  
  4995  	// Status of the advanced security options for the specified domain.
  4996  	//
  4997  	// Status is a required field
  4998  	Status *OptionStatus `type:"structure" required:"true"`
  4999  }
  5000  
  5001  // String returns the string representation.
  5002  //
  5003  // API parameter values that are decorated as "sensitive" in the API will not
  5004  // be included in the string output. The member name will be present, but the
  5005  // value will be replaced with "sensitive".
  5006  func (s AdvancedSecurityOptionsStatus) String() string {
  5007  	return awsutil.Prettify(s)
  5008  }
  5009  
  5010  // GoString returns the string representation.
  5011  //
  5012  // API parameter values that are decorated as "sensitive" in the API will not
  5013  // be included in the string output. The member name will be present, but the
  5014  // value will be replaced with "sensitive".
  5015  func (s AdvancedSecurityOptionsStatus) GoString() string {
  5016  	return s.String()
  5017  }
  5018  
  5019  // SetOptions sets the Options field's value.
  5020  func (s *AdvancedSecurityOptionsStatus) SetOptions(v *AdvancedSecurityOptions) *AdvancedSecurityOptionsStatus {
  5021  	s.Options = v
  5022  	return s
  5023  }
  5024  
  5025  // SetStatus sets the Status field's value.
  5026  func (s *AdvancedSecurityOptionsStatus) SetStatus(v *OptionStatus) *AdvancedSecurityOptionsStatus {
  5027  	s.Status = v
  5028  	return s
  5029  }
  5030  
  5031  // Container for the request parameters to the AssociatePackage operation.
  5032  type AssociatePackageInput struct {
  5033  	_ struct{} `type:"structure" nopayload:"true"`
  5034  
  5035  	// The name of the domain to associate the package with.
  5036  	//
  5037  	// DomainName is a required field
  5038  	DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"`
  5039  
  5040  	// Internal ID of the package to associate with a domain. Use DescribePackages
  5041  	// to find this value.
  5042  	//
  5043  	// PackageID is a required field
  5044  	PackageID *string `location:"uri" locationName:"PackageID" type:"string" required:"true"`
  5045  }
  5046  
  5047  // String returns the string representation.
  5048  //
  5049  // API parameter values that are decorated as "sensitive" in the API will not
  5050  // be included in the string output. The member name will be present, but the
  5051  // value will be replaced with "sensitive".
  5052  func (s AssociatePackageInput) String() string {
  5053  	return awsutil.Prettify(s)
  5054  }
  5055  
  5056  // GoString returns the string representation.
  5057  //
  5058  // API parameter values that are decorated as "sensitive" in the API will not
  5059  // be included in the string output. The member name will be present, but the
  5060  // value will be replaced with "sensitive".
  5061  func (s AssociatePackageInput) GoString() string {
  5062  	return s.String()
  5063  }
  5064  
  5065  // Validate inspects the fields of the type to determine if they are valid.
  5066  func (s *AssociatePackageInput) Validate() error {
  5067  	invalidParams := request.ErrInvalidParams{Context: "AssociatePackageInput"}
  5068  	if s.DomainName == nil {
  5069  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  5070  	}
  5071  	if s.DomainName != nil && len(*s.DomainName) < 3 {
  5072  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
  5073  	}
  5074  	if s.PackageID == nil {
  5075  		invalidParams.Add(request.NewErrParamRequired("PackageID"))
  5076  	}
  5077  	if s.PackageID != nil && len(*s.PackageID) < 1 {
  5078  		invalidParams.Add(request.NewErrParamMinLen("PackageID", 1))
  5079  	}
  5080  
  5081  	if invalidParams.Len() > 0 {
  5082  		return invalidParams
  5083  	}
  5084  	return nil
  5085  }
  5086  
  5087  // SetDomainName sets the DomainName field's value.
  5088  func (s *AssociatePackageInput) SetDomainName(v string) *AssociatePackageInput {
  5089  	s.DomainName = &v
  5090  	return s
  5091  }
  5092  
  5093  // SetPackageID sets the PackageID field's value.
  5094  func (s *AssociatePackageInput) SetPackageID(v string) *AssociatePackageInput {
  5095  	s.PackageID = &v
  5096  	return s
  5097  }
  5098  
  5099  // Container for the response returned by AssociatePackage operation.
  5100  type AssociatePackageOutput struct {
  5101  	_ struct{} `type:"structure"`
  5102  
  5103  	// DomainPackageDetails
  5104  	DomainPackageDetails *DomainPackageDetails `type:"structure"`
  5105  }
  5106  
  5107  // String returns the string representation.
  5108  //
  5109  // API parameter values that are decorated as "sensitive" in the API will not
  5110  // be included in the string output. The member name will be present, but the
  5111  // value will be replaced with "sensitive".
  5112  func (s AssociatePackageOutput) String() string {
  5113  	return awsutil.Prettify(s)
  5114  }
  5115  
  5116  // GoString returns the string representation.
  5117  //
  5118  // API parameter values that are decorated as "sensitive" in the API will not
  5119  // be included in the string output. The member name will be present, but the
  5120  // value will be replaced with "sensitive".
  5121  func (s AssociatePackageOutput) GoString() string {
  5122  	return s.String()
  5123  }
  5124  
  5125  // SetDomainPackageDetails sets the DomainPackageDetails field's value.
  5126  func (s *AssociatePackageOutput) SetDomainPackageDetails(v *DomainPackageDetails) *AssociatePackageOutput {
  5127  	s.DomainPackageDetails = v
  5128  	return s
  5129  }
  5130  
  5131  // Specifies the Auto-Tune type and Auto-Tune action details.
  5132  type AutoTune struct {
  5133  	_ struct{} `type:"structure"`
  5134  
  5135  	// Specifies details about the Auto-Tune action. See Auto-Tune for Amazon OpenSearch
  5136  	// Service (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/auto-tune.html)
  5137  	// for more information.
  5138  	AutoTuneDetails *AutoTuneDetails `type:"structure"`
  5139  
  5140  	// Specifies the Auto-Tune type. Valid value is SCHEDULED_ACTION.
  5141  	AutoTuneType *string `type:"string" enum:"AutoTuneType"`
  5142  }
  5143  
  5144  // String returns the string representation.
  5145  //
  5146  // API parameter values that are decorated as "sensitive" in the API will not
  5147  // be included in the string output. The member name will be present, but the
  5148  // value will be replaced with "sensitive".
  5149  func (s AutoTune) String() string {
  5150  	return awsutil.Prettify(s)
  5151  }
  5152  
  5153  // GoString returns the string representation.
  5154  //
  5155  // API parameter values that are decorated as "sensitive" in the API will not
  5156  // be included in the string output. The member name will be present, but the
  5157  // value will be replaced with "sensitive".
  5158  func (s AutoTune) GoString() string {
  5159  	return s.String()
  5160  }
  5161  
  5162  // SetAutoTuneDetails sets the AutoTuneDetails field's value.
  5163  func (s *AutoTune) SetAutoTuneDetails(v *AutoTuneDetails) *AutoTune {
  5164  	s.AutoTuneDetails = v
  5165  	return s
  5166  }
  5167  
  5168  // SetAutoTuneType sets the AutoTuneType field's value.
  5169  func (s *AutoTune) SetAutoTuneType(v string) *AutoTune {
  5170  	s.AutoTuneType = &v
  5171  	return s
  5172  }
  5173  
  5174  // Specifies details about the Auto-Tune action. See Auto-Tune for Amazon OpenSearch
  5175  // Service (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/auto-tune.html)
  5176  // for more information.
  5177  type AutoTuneDetails struct {
  5178  	_ struct{} `type:"structure"`
  5179  
  5180  	// Specifies details about the scheduled Auto-Tune action. See Auto-Tune for
  5181  	// Amazon OpenSearch Service (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/auto-tune.html)
  5182  	// for more information.
  5183  	ScheduledAutoTuneDetails *ScheduledAutoTuneDetails `type:"structure"`
  5184  }
  5185  
  5186  // String returns the string representation.
  5187  //
  5188  // API parameter values that are decorated as "sensitive" in the API will not
  5189  // be included in the string output. The member name will be present, but the
  5190  // value will be replaced with "sensitive".
  5191  func (s AutoTuneDetails) String() string {
  5192  	return awsutil.Prettify(s)
  5193  }
  5194  
  5195  // GoString returns the string representation.
  5196  //
  5197  // API parameter values that are decorated as "sensitive" in the API will not
  5198  // be included in the string output. The member name will be present, but the
  5199  // value will be replaced with "sensitive".
  5200  func (s AutoTuneDetails) GoString() string {
  5201  	return s.String()
  5202  }
  5203  
  5204  // SetScheduledAutoTuneDetails sets the ScheduledAutoTuneDetails field's value.
  5205  func (s *AutoTuneDetails) SetScheduledAutoTuneDetails(v *ScheduledAutoTuneDetails) *AutoTuneDetails {
  5206  	s.ScheduledAutoTuneDetails = v
  5207  	return s
  5208  }
  5209  
  5210  // Specifies the Auto-Tune maintenance schedule. See Auto-Tune for Amazon OpenSearch
  5211  // Service (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/auto-tune.html)
  5212  // for more information.
  5213  type AutoTuneMaintenanceSchedule struct {
  5214  	_ struct{} `type:"structure"`
  5215  
  5216  	// A cron expression for a recurring maintenance schedule. See Auto-Tune for
  5217  	// Amazon OpenSearch Service (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/auto-tune.html)
  5218  	// for more information.
  5219  	CronExpressionForRecurrence *string `type:"string"`
  5220  
  5221  	// Specifies maintenance schedule duration: duration value and duration unit.
  5222  	// See Auto-Tune for Amazon OpenSearch Service (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/auto-tune.html)
  5223  	// for more information.
  5224  	Duration *Duration `type:"structure"`
  5225  
  5226  	// The timestamp at which the Auto-Tune maintenance schedule starts.
  5227  	StartAt *time.Time `type:"timestamp"`
  5228  }
  5229  
  5230  // String returns the string representation.
  5231  //
  5232  // API parameter values that are decorated as "sensitive" in the API will not
  5233  // be included in the string output. The member name will be present, but the
  5234  // value will be replaced with "sensitive".
  5235  func (s AutoTuneMaintenanceSchedule) String() string {
  5236  	return awsutil.Prettify(s)
  5237  }
  5238  
  5239  // GoString returns the string representation.
  5240  //
  5241  // API parameter values that are decorated as "sensitive" in the API will not
  5242  // be included in the string output. The member name will be present, but the
  5243  // value will be replaced with "sensitive".
  5244  func (s AutoTuneMaintenanceSchedule) GoString() string {
  5245  	return s.String()
  5246  }
  5247  
  5248  // Validate inspects the fields of the type to determine if they are valid.
  5249  func (s *AutoTuneMaintenanceSchedule) Validate() error {
  5250  	invalidParams := request.ErrInvalidParams{Context: "AutoTuneMaintenanceSchedule"}
  5251  	if s.Duration != nil {
  5252  		if err := s.Duration.Validate(); err != nil {
  5253  			invalidParams.AddNested("Duration", err.(request.ErrInvalidParams))
  5254  		}
  5255  	}
  5256  
  5257  	if invalidParams.Len() > 0 {
  5258  		return invalidParams
  5259  	}
  5260  	return nil
  5261  }
  5262  
  5263  // SetCronExpressionForRecurrence sets the CronExpressionForRecurrence field's value.
  5264  func (s *AutoTuneMaintenanceSchedule) SetCronExpressionForRecurrence(v string) *AutoTuneMaintenanceSchedule {
  5265  	s.CronExpressionForRecurrence = &v
  5266  	return s
  5267  }
  5268  
  5269  // SetDuration sets the Duration field's value.
  5270  func (s *AutoTuneMaintenanceSchedule) SetDuration(v *Duration) *AutoTuneMaintenanceSchedule {
  5271  	s.Duration = v
  5272  	return s
  5273  }
  5274  
  5275  // SetStartAt sets the StartAt field's value.
  5276  func (s *AutoTuneMaintenanceSchedule) SetStartAt(v time.Time) *AutoTuneMaintenanceSchedule {
  5277  	s.StartAt = &v
  5278  	return s
  5279  }
  5280  
  5281  // The Auto-Tune options: the Auto-Tune desired state for the domain, rollback
  5282  // state when disabling Auto-Tune options and list of maintenance schedules.
  5283  type AutoTuneOptions struct {
  5284  	_ struct{} `type:"structure"`
  5285  
  5286  	// The Auto-Tune desired state. Valid values are ENABLED and DISABLED.
  5287  	DesiredState *string `type:"string" enum:"AutoTuneDesiredState"`
  5288  
  5289  	// A list of maintenance schedules. See Auto-Tune for Amazon OpenSearch Service
  5290  	// (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/auto-tune.html)
  5291  	// for more information.
  5292  	MaintenanceSchedules []*AutoTuneMaintenanceSchedule `type:"list"`
  5293  
  5294  	// The rollback state while disabling Auto-Tune for the domain. Valid values
  5295  	// are NO_ROLLBACK and DEFAULT_ROLLBACK.
  5296  	RollbackOnDisable *string `type:"string" enum:"RollbackOnDisable"`
  5297  }
  5298  
  5299  // String returns the string representation.
  5300  //
  5301  // API parameter values that are decorated as "sensitive" in the API will not
  5302  // be included in the string output. The member name will be present, but the
  5303  // value will be replaced with "sensitive".
  5304  func (s AutoTuneOptions) String() string {
  5305  	return awsutil.Prettify(s)
  5306  }
  5307  
  5308  // GoString returns the string representation.
  5309  //
  5310  // API parameter values that are decorated as "sensitive" in the API will not
  5311  // be included in the string output. The member name will be present, but the
  5312  // value will be replaced with "sensitive".
  5313  func (s AutoTuneOptions) GoString() string {
  5314  	return s.String()
  5315  }
  5316  
  5317  // Validate inspects the fields of the type to determine if they are valid.
  5318  func (s *AutoTuneOptions) Validate() error {
  5319  	invalidParams := request.ErrInvalidParams{Context: "AutoTuneOptions"}
  5320  	if s.MaintenanceSchedules != nil {
  5321  		for i, v := range s.MaintenanceSchedules {
  5322  			if v == nil {
  5323  				continue
  5324  			}
  5325  			if err := v.Validate(); err != nil {
  5326  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MaintenanceSchedules", i), err.(request.ErrInvalidParams))
  5327  			}
  5328  		}
  5329  	}
  5330  
  5331  	if invalidParams.Len() > 0 {
  5332  		return invalidParams
  5333  	}
  5334  	return nil
  5335  }
  5336  
  5337  // SetDesiredState sets the DesiredState field's value.
  5338  func (s *AutoTuneOptions) SetDesiredState(v string) *AutoTuneOptions {
  5339  	s.DesiredState = &v
  5340  	return s
  5341  }
  5342  
  5343  // SetMaintenanceSchedules sets the MaintenanceSchedules field's value.
  5344  func (s *AutoTuneOptions) SetMaintenanceSchedules(v []*AutoTuneMaintenanceSchedule) *AutoTuneOptions {
  5345  	s.MaintenanceSchedules = v
  5346  	return s
  5347  }
  5348  
  5349  // SetRollbackOnDisable sets the RollbackOnDisable field's value.
  5350  func (s *AutoTuneOptions) SetRollbackOnDisable(v string) *AutoTuneOptions {
  5351  	s.RollbackOnDisable = &v
  5352  	return s
  5353  }
  5354  
  5355  // The Auto-Tune options: the Auto-Tune desired state for the domain and list
  5356  // of maintenance schedules.
  5357  type AutoTuneOptionsInput_ struct {
  5358  	_ struct{} `type:"structure"`
  5359  
  5360  	// The Auto-Tune desired state. Valid values are ENABLED and DISABLED.
  5361  	DesiredState *string `type:"string" enum:"AutoTuneDesiredState"`
  5362  
  5363  	// A list of maintenance schedules. See Auto-Tune for Amazon OpenSearch Service
  5364  	// (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/auto-tune.html)
  5365  	// for more information.
  5366  	MaintenanceSchedules []*AutoTuneMaintenanceSchedule `type:"list"`
  5367  }
  5368  
  5369  // String returns the string representation.
  5370  //
  5371  // API parameter values that are decorated as "sensitive" in the API will not
  5372  // be included in the string output. The member name will be present, but the
  5373  // value will be replaced with "sensitive".
  5374  func (s AutoTuneOptionsInput_) String() string {
  5375  	return awsutil.Prettify(s)
  5376  }
  5377  
  5378  // GoString returns the string representation.
  5379  //
  5380  // API parameter values that are decorated as "sensitive" in the API will not
  5381  // be included in the string output. The member name will be present, but the
  5382  // value will be replaced with "sensitive".
  5383  func (s AutoTuneOptionsInput_) GoString() string {
  5384  	return s.String()
  5385  }
  5386  
  5387  // Validate inspects the fields of the type to determine if they are valid.
  5388  func (s *AutoTuneOptionsInput_) Validate() error {
  5389  	invalidParams := request.ErrInvalidParams{Context: "AutoTuneOptionsInput_"}
  5390  	if s.MaintenanceSchedules != nil {
  5391  		for i, v := range s.MaintenanceSchedules {
  5392  			if v == nil {
  5393  				continue
  5394  			}
  5395  			if err := v.Validate(); err != nil {
  5396  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MaintenanceSchedules", i), err.(request.ErrInvalidParams))
  5397  			}
  5398  		}
  5399  	}
  5400  
  5401  	if invalidParams.Len() > 0 {
  5402  		return invalidParams
  5403  	}
  5404  	return nil
  5405  }
  5406  
  5407  // SetDesiredState sets the DesiredState field's value.
  5408  func (s *AutoTuneOptionsInput_) SetDesiredState(v string) *AutoTuneOptionsInput_ {
  5409  	s.DesiredState = &v
  5410  	return s
  5411  }
  5412  
  5413  // SetMaintenanceSchedules sets the MaintenanceSchedules field's value.
  5414  func (s *AutoTuneOptionsInput_) SetMaintenanceSchedules(v []*AutoTuneMaintenanceSchedule) *AutoTuneOptionsInput_ {
  5415  	s.MaintenanceSchedules = v
  5416  	return s
  5417  }
  5418  
  5419  // The Auto-Tune options: the Auto-Tune desired state for the domain and list
  5420  // of maintenance schedules.
  5421  type AutoTuneOptionsOutput_ struct {
  5422  	_ struct{} `type:"structure"`
  5423  
  5424  	// The error message while enabling or disabling Auto-Tune.
  5425  	ErrorMessage *string `type:"string"`
  5426  
  5427  	// The AutoTuneState for the domain.
  5428  	State *string `type:"string" enum:"AutoTuneState"`
  5429  }
  5430  
  5431  // String returns the string representation.
  5432  //
  5433  // API parameter values that are decorated as "sensitive" in the API will not
  5434  // be included in the string output. The member name will be present, but the
  5435  // value will be replaced with "sensitive".
  5436  func (s AutoTuneOptionsOutput_) String() string {
  5437  	return awsutil.Prettify(s)
  5438  }
  5439  
  5440  // GoString returns the string representation.
  5441  //
  5442  // API parameter values that are decorated as "sensitive" in the API will not
  5443  // be included in the string output. The member name will be present, but the
  5444  // value will be replaced with "sensitive".
  5445  func (s AutoTuneOptionsOutput_) GoString() string {
  5446  	return s.String()
  5447  }
  5448  
  5449  // SetErrorMessage sets the ErrorMessage field's value.
  5450  func (s *AutoTuneOptionsOutput_) SetErrorMessage(v string) *AutoTuneOptionsOutput_ {
  5451  	s.ErrorMessage = &v
  5452  	return s
  5453  }
  5454  
  5455  // SetState sets the State field's value.
  5456  func (s *AutoTuneOptionsOutput_) SetState(v string) *AutoTuneOptionsOutput_ {
  5457  	s.State = &v
  5458  	return s
  5459  }
  5460  
  5461  // The Auto-Tune status for the domain.
  5462  type AutoTuneOptionsStatus struct {
  5463  	_ struct{} `type:"structure"`
  5464  
  5465  	// Specifies Auto-Tune options for the domain.
  5466  	Options *AutoTuneOptions `type:"structure"`
  5467  
  5468  	// The status of the Auto-Tune options for the domain.
  5469  	Status *AutoTuneStatus `type:"structure"`
  5470  }
  5471  
  5472  // String returns the string representation.
  5473  //
  5474  // API parameter values that are decorated as "sensitive" in the API will not
  5475  // be included in the string output. The member name will be present, but the
  5476  // value will be replaced with "sensitive".
  5477  func (s AutoTuneOptionsStatus) String() string {
  5478  	return awsutil.Prettify(s)
  5479  }
  5480  
  5481  // GoString returns the string representation.
  5482  //
  5483  // API parameter values that are decorated as "sensitive" in the API will not
  5484  // be included in the string output. The member name will be present, but the
  5485  // value will be replaced with "sensitive".
  5486  func (s AutoTuneOptionsStatus) GoString() string {
  5487  	return s.String()
  5488  }
  5489  
  5490  // SetOptions sets the Options field's value.
  5491  func (s *AutoTuneOptionsStatus) SetOptions(v *AutoTuneOptions) *AutoTuneOptionsStatus {
  5492  	s.Options = v
  5493  	return s
  5494  }
  5495  
  5496  // SetStatus sets the Status field's value.
  5497  func (s *AutoTuneOptionsStatus) SetStatus(v *AutoTuneStatus) *AutoTuneOptionsStatus {
  5498  	s.Status = v
  5499  	return s
  5500  }
  5501  
  5502  // Provides the current Auto-Tune status for the domain.
  5503  type AutoTuneStatus struct {
  5504  	_ struct{} `type:"structure"`
  5505  
  5506  	// The timestamp of the Auto-Tune options creation date.
  5507  	//
  5508  	// CreationDate is a required field
  5509  	CreationDate *time.Time `type:"timestamp" required:"true"`
  5510  
  5511  	// The error message while enabling or disabling Auto-Tune.
  5512  	ErrorMessage *string `type:"string"`
  5513  
  5514  	// Indicates whether the domain is being deleted.
  5515  	PendingDeletion *bool `type:"boolean"`
  5516  
  5517  	// The AutoTuneState for the domain.
  5518  	//
  5519  	// State is a required field
  5520  	State *string `type:"string" required:"true" enum:"AutoTuneState"`
  5521  
  5522  	// The timestamp of when the Auto-Tune options were last updated.
  5523  	//
  5524  	// UpdateDate is a required field
  5525  	UpdateDate *time.Time `type:"timestamp" required:"true"`
  5526  
  5527  	// The latest version of the Auto-Tune options.
  5528  	UpdateVersion *int64 `type:"integer"`
  5529  }
  5530  
  5531  // String returns the string representation.
  5532  //
  5533  // API parameter values that are decorated as "sensitive" in the API will not
  5534  // be included in the string output. The member name will be present, but the
  5535  // value will be replaced with "sensitive".
  5536  func (s AutoTuneStatus) String() string {
  5537  	return awsutil.Prettify(s)
  5538  }
  5539  
  5540  // GoString returns the string representation.
  5541  //
  5542  // API parameter values that are decorated as "sensitive" in the API will not
  5543  // be included in the string output. The member name will be present, but the
  5544  // value will be replaced with "sensitive".
  5545  func (s AutoTuneStatus) GoString() string {
  5546  	return s.String()
  5547  }
  5548  
  5549  // SetCreationDate sets the CreationDate field's value.
  5550  func (s *AutoTuneStatus) SetCreationDate(v time.Time) *AutoTuneStatus {
  5551  	s.CreationDate = &v
  5552  	return s
  5553  }
  5554  
  5555  // SetErrorMessage sets the ErrorMessage field's value.
  5556  func (s *AutoTuneStatus) SetErrorMessage(v string) *AutoTuneStatus {
  5557  	s.ErrorMessage = &v
  5558  	return s
  5559  }
  5560  
  5561  // SetPendingDeletion sets the PendingDeletion field's value.
  5562  func (s *AutoTuneStatus) SetPendingDeletion(v bool) *AutoTuneStatus {
  5563  	s.PendingDeletion = &v
  5564  	return s
  5565  }
  5566  
  5567  // SetState sets the State field's value.
  5568  func (s *AutoTuneStatus) SetState(v string) *AutoTuneStatus {
  5569  	s.State = &v
  5570  	return s
  5571  }
  5572  
  5573  // SetUpdateDate sets the UpdateDate field's value.
  5574  func (s *AutoTuneStatus) SetUpdateDate(v time.Time) *AutoTuneStatus {
  5575  	s.UpdateDate = &v
  5576  	return s
  5577  }
  5578  
  5579  // SetUpdateVersion sets the UpdateVersion field's value.
  5580  func (s *AutoTuneStatus) SetUpdateVersion(v int64) *AutoTuneStatus {
  5581  	s.UpdateVersion = &v
  5582  	return s
  5583  }
  5584  
  5585  // An error occurred while processing the request.
  5586  type BaseException struct {
  5587  	_            struct{}                  `type:"structure"`
  5588  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5589  
  5590  	// A description of the error.
  5591  	Message_ *string `locationName:"message" type:"string"`
  5592  }
  5593  
  5594  // String returns the string representation.
  5595  //
  5596  // API parameter values that are decorated as "sensitive" in the API will not
  5597  // be included in the string output. The member name will be present, but the
  5598  // value will be replaced with "sensitive".
  5599  func (s BaseException) String() string {
  5600  	return awsutil.Prettify(s)
  5601  }
  5602  
  5603  // GoString returns the string representation.
  5604  //
  5605  // API parameter values that are decorated as "sensitive" in the API will not
  5606  // be included in the string output. The member name will be present, but the
  5607  // value will be replaced with "sensitive".
  5608  func (s BaseException) GoString() string {
  5609  	return s.String()
  5610  }
  5611  
  5612  func newErrorBaseException(v protocol.ResponseMetadata) error {
  5613  	return &BaseException{
  5614  		RespMetadata: v,
  5615  	}
  5616  }
  5617  
  5618  // Code returns the exception type name.
  5619  func (s *BaseException) Code() string {
  5620  	return "BaseException"
  5621  }
  5622  
  5623  // Message returns the exception's message.
  5624  func (s *BaseException) Message() string {
  5625  	if s.Message_ != nil {
  5626  		return *s.Message_
  5627  	}
  5628  	return ""
  5629  }
  5630  
  5631  // OrigErr always returns nil, satisfies awserr.Error interface.
  5632  func (s *BaseException) OrigErr() error {
  5633  	return nil
  5634  }
  5635  
  5636  func (s *BaseException) Error() string {
  5637  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  5638  }
  5639  
  5640  // Status code returns the HTTP status code for the request's response error.
  5641  func (s *BaseException) StatusCode() int {
  5642  	return s.RespMetadata.StatusCode
  5643  }
  5644  
  5645  // RequestID returns the service's response RequestID for request.
  5646  func (s *BaseException) RequestID() string {
  5647  	return s.RespMetadata.RequestID
  5648  }
  5649  
  5650  // Container for the parameters to the CancelServiceSoftwareUpdate operation.
  5651  // Specifies the name of the domain that you wish to cancel a service software
  5652  // update on.
  5653  type CancelServiceSoftwareUpdateInput struct {
  5654  	_ struct{} `type:"structure"`
  5655  
  5656  	// The name of the domain that you want to stop the latest service software
  5657  	// update on.
  5658  	//
  5659  	// DomainName is a required field
  5660  	DomainName *string `min:"3" type:"string" required:"true"`
  5661  }
  5662  
  5663  // String returns the string representation.
  5664  //
  5665  // API parameter values that are decorated as "sensitive" in the API will not
  5666  // be included in the string output. The member name will be present, but the
  5667  // value will be replaced with "sensitive".
  5668  func (s CancelServiceSoftwareUpdateInput) String() string {
  5669  	return awsutil.Prettify(s)
  5670  }
  5671  
  5672  // GoString returns the string representation.
  5673  //
  5674  // API parameter values that are decorated as "sensitive" in the API will not
  5675  // be included in the string output. The member name will be present, but the
  5676  // value will be replaced with "sensitive".
  5677  func (s CancelServiceSoftwareUpdateInput) GoString() string {
  5678  	return s.String()
  5679  }
  5680  
  5681  // Validate inspects the fields of the type to determine if they are valid.
  5682  func (s *CancelServiceSoftwareUpdateInput) Validate() error {
  5683  	invalidParams := request.ErrInvalidParams{Context: "CancelServiceSoftwareUpdateInput"}
  5684  	if s.DomainName == nil {
  5685  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  5686  	}
  5687  	if s.DomainName != nil && len(*s.DomainName) < 3 {
  5688  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
  5689  	}
  5690  
  5691  	if invalidParams.Len() > 0 {
  5692  		return invalidParams
  5693  	}
  5694  	return nil
  5695  }
  5696  
  5697  // SetDomainName sets the DomainName field's value.
  5698  func (s *CancelServiceSoftwareUpdateInput) SetDomainName(v string) *CancelServiceSoftwareUpdateInput {
  5699  	s.DomainName = &v
  5700  	return s
  5701  }
  5702  
  5703  // The result of a CancelServiceSoftwareUpdate operation. Contains the status
  5704  // of the update.
  5705  type CancelServiceSoftwareUpdateOutput struct {
  5706  	_ struct{} `type:"structure"`
  5707  
  5708  	// The current status of the OpenSearch service software update.
  5709  	ServiceSoftwareOptions *ServiceSoftwareOptions `type:"structure"`
  5710  }
  5711  
  5712  // String returns the string representation.
  5713  //
  5714  // API parameter values that are decorated as "sensitive" in the API will not
  5715  // be included in the string output. The member name will be present, but the
  5716  // value will be replaced with "sensitive".
  5717  func (s CancelServiceSoftwareUpdateOutput) String() string {
  5718  	return awsutil.Prettify(s)
  5719  }
  5720  
  5721  // GoString returns the string representation.
  5722  //
  5723  // API parameter values that are decorated as "sensitive" in the API will not
  5724  // be included in the string output. The member name will be present, but the
  5725  // value will be replaced with "sensitive".
  5726  func (s CancelServiceSoftwareUpdateOutput) GoString() string {
  5727  	return s.String()
  5728  }
  5729  
  5730  // SetServiceSoftwareOptions sets the ServiceSoftwareOptions field's value.
  5731  func (s *CancelServiceSoftwareUpdateOutput) SetServiceSoftwareOptions(v *ServiceSoftwareOptions) *CancelServiceSoftwareUpdateOutput {
  5732  	s.ServiceSoftwareOptions = v
  5733  	return s
  5734  }
  5735  
  5736  // The configuration for the domain cluster, such as the type and number of
  5737  // instances.
  5738  type ClusterConfig struct {
  5739  	_ struct{} `type:"structure"`
  5740  
  5741  	// Specifies the ColdStorageOptions config for a Domain
  5742  	ColdStorageOptions *ColdStorageOptions `type:"structure"`
  5743  
  5744  	// Total number of dedicated master nodes, active and on standby, for the cluster.
  5745  	DedicatedMasterCount *int64 `type:"integer"`
  5746  
  5747  	// A boolean value to indicate whether a dedicated master node is enabled. See
  5748  	// Dedicated master nodes in Amazon OpenSearch Service (http://docs.aws.amazon.com/opensearch-service/latest/developerguide/managedomains.html#managedomains-dedicatedmasternodes)
  5749  	// for more information.
  5750  	DedicatedMasterEnabled *bool `type:"boolean"`
  5751  
  5752  	// The instance type for a dedicated master node.
  5753  	DedicatedMasterType *string `type:"string" enum:"OpenSearchPartitionInstanceType"`
  5754  
  5755  	// The number of instances in the specified domain cluster.
  5756  	InstanceCount *int64 `type:"integer"`
  5757  
  5758  	// The instance type for an OpenSearch cluster. UltraWarm instance types are
  5759  	// not supported for data instances.
  5760  	InstanceType *string `type:"string" enum:"OpenSearchPartitionInstanceType"`
  5761  
  5762  	// The number of UltraWarm nodes in the cluster.
  5763  	WarmCount *int64 `type:"integer"`
  5764  
  5765  	// True to enable UltraWarm storage.
  5766  	WarmEnabled *bool `type:"boolean"`
  5767  
  5768  	// The instance type for the OpenSearch cluster's warm nodes.
  5769  	WarmType *string `type:"string" enum:"OpenSearchWarmPartitionInstanceType"`
  5770  
  5771  	// The zone awareness configuration for a domain when zone awareness is enabled.
  5772  	ZoneAwarenessConfig *ZoneAwarenessConfig `type:"structure"`
  5773  
  5774  	// A boolean value to indicate whether zone awareness is enabled. See Configuring
  5775  	// a multi-AZ domain in Amazon OpenSearch Service (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/managedomains-multiaz.html)
  5776  	// for more information.
  5777  	ZoneAwarenessEnabled *bool `type:"boolean"`
  5778  }
  5779  
  5780  // String returns the string representation.
  5781  //
  5782  // API parameter values that are decorated as "sensitive" in the API will not
  5783  // be included in the string output. The member name will be present, but the
  5784  // value will be replaced with "sensitive".
  5785  func (s ClusterConfig) String() string {
  5786  	return awsutil.Prettify(s)
  5787  }
  5788  
  5789  // GoString returns the string representation.
  5790  //
  5791  // API parameter values that are decorated as "sensitive" in the API will not
  5792  // be included in the string output. The member name will be present, but the
  5793  // value will be replaced with "sensitive".
  5794  func (s ClusterConfig) GoString() string {
  5795  	return s.String()
  5796  }
  5797  
  5798  // Validate inspects the fields of the type to determine if they are valid.
  5799  func (s *ClusterConfig) Validate() error {
  5800  	invalidParams := request.ErrInvalidParams{Context: "ClusterConfig"}
  5801  	if s.ColdStorageOptions != nil {
  5802  		if err := s.ColdStorageOptions.Validate(); err != nil {
  5803  			invalidParams.AddNested("ColdStorageOptions", err.(request.ErrInvalidParams))
  5804  		}
  5805  	}
  5806  
  5807  	if invalidParams.Len() > 0 {
  5808  		return invalidParams
  5809  	}
  5810  	return nil
  5811  }
  5812  
  5813  // SetColdStorageOptions sets the ColdStorageOptions field's value.
  5814  func (s *ClusterConfig) SetColdStorageOptions(v *ColdStorageOptions) *ClusterConfig {
  5815  	s.ColdStorageOptions = v
  5816  	return s
  5817  }
  5818  
  5819  // SetDedicatedMasterCount sets the DedicatedMasterCount field's value.
  5820  func (s *ClusterConfig) SetDedicatedMasterCount(v int64) *ClusterConfig {
  5821  	s.DedicatedMasterCount = &v
  5822  	return s
  5823  }
  5824  
  5825  // SetDedicatedMasterEnabled sets the DedicatedMasterEnabled field's value.
  5826  func (s *ClusterConfig) SetDedicatedMasterEnabled(v bool) *ClusterConfig {
  5827  	s.DedicatedMasterEnabled = &v
  5828  	return s
  5829  }
  5830  
  5831  // SetDedicatedMasterType sets the DedicatedMasterType field's value.
  5832  func (s *ClusterConfig) SetDedicatedMasterType(v string) *ClusterConfig {
  5833  	s.DedicatedMasterType = &v
  5834  	return s
  5835  }
  5836  
  5837  // SetInstanceCount sets the InstanceCount field's value.
  5838  func (s *ClusterConfig) SetInstanceCount(v int64) *ClusterConfig {
  5839  	s.InstanceCount = &v
  5840  	return s
  5841  }
  5842  
  5843  // SetInstanceType sets the InstanceType field's value.
  5844  func (s *ClusterConfig) SetInstanceType(v string) *ClusterConfig {
  5845  	s.InstanceType = &v
  5846  	return s
  5847  }
  5848  
  5849  // SetWarmCount sets the WarmCount field's value.
  5850  func (s *ClusterConfig) SetWarmCount(v int64) *ClusterConfig {
  5851  	s.WarmCount = &v
  5852  	return s
  5853  }
  5854  
  5855  // SetWarmEnabled sets the WarmEnabled field's value.
  5856  func (s *ClusterConfig) SetWarmEnabled(v bool) *ClusterConfig {
  5857  	s.WarmEnabled = &v
  5858  	return s
  5859  }
  5860  
  5861  // SetWarmType sets the WarmType field's value.
  5862  func (s *ClusterConfig) SetWarmType(v string) *ClusterConfig {
  5863  	s.WarmType = &v
  5864  	return s
  5865  }
  5866  
  5867  // SetZoneAwarenessConfig sets the ZoneAwarenessConfig field's value.
  5868  func (s *ClusterConfig) SetZoneAwarenessConfig(v *ZoneAwarenessConfig) *ClusterConfig {
  5869  	s.ZoneAwarenessConfig = v
  5870  	return s
  5871  }
  5872  
  5873  // SetZoneAwarenessEnabled sets the ZoneAwarenessEnabled field's value.
  5874  func (s *ClusterConfig) SetZoneAwarenessEnabled(v bool) *ClusterConfig {
  5875  	s.ZoneAwarenessEnabled = &v
  5876  	return s
  5877  }
  5878  
  5879  // The configuration status for the specified domain.
  5880  type ClusterConfigStatus struct {
  5881  	_ struct{} `type:"structure"`
  5882  
  5883  	// The cluster configuration for the specified domain.
  5884  	//
  5885  	// Options is a required field
  5886  	Options *ClusterConfig `type:"structure" required:"true"`
  5887  
  5888  	// The cluster configuration status for the specified domain.
  5889  	//
  5890  	// Status is a required field
  5891  	Status *OptionStatus `type:"structure" required:"true"`
  5892  }
  5893  
  5894  // String returns the string representation.
  5895  //
  5896  // API parameter values that are decorated as "sensitive" in the API will not
  5897  // be included in the string output. The member name will be present, but the
  5898  // value will be replaced with "sensitive".
  5899  func (s ClusterConfigStatus) String() string {
  5900  	return awsutil.Prettify(s)
  5901  }
  5902  
  5903  // GoString returns the string representation.
  5904  //
  5905  // API parameter values that are decorated as "sensitive" in the API will not
  5906  // be included in the string output. The member name will be present, but the
  5907  // value will be replaced with "sensitive".
  5908  func (s ClusterConfigStatus) GoString() string {
  5909  	return s.String()
  5910  }
  5911  
  5912  // SetOptions sets the Options field's value.
  5913  func (s *ClusterConfigStatus) SetOptions(v *ClusterConfig) *ClusterConfigStatus {
  5914  	s.Options = v
  5915  	return s
  5916  }
  5917  
  5918  // SetStatus sets the Status field's value.
  5919  func (s *ClusterConfigStatus) SetStatus(v *OptionStatus) *ClusterConfigStatus {
  5920  	s.Status = v
  5921  	return s
  5922  }
  5923  
  5924  // Options to specify the Cognito user and identity pools for OpenSearch Dashboards
  5925  // authentication. For more information, see Configuring Amazon Cognito authentication
  5926  // for OpenSearch Dashboards (http://docs.aws.amazon.com/opensearch-service/latest/developerguide/cognito-auth.html).
  5927  type CognitoOptions struct {
  5928  	_ struct{} `type:"structure"`
  5929  
  5930  	// The option to enable Cognito for OpenSearch Dashboards authentication.
  5931  	Enabled *bool `type:"boolean"`
  5932  
  5933  	// The Cognito identity pool ID for OpenSearch Dashboards authentication.
  5934  	IdentityPoolId *string `min:"1" type:"string"`
  5935  
  5936  	// The role ARN that provides OpenSearch permissions for accessing Cognito resources.
  5937  	RoleArn *string `min:"20" type:"string"`
  5938  
  5939  	// The Cognito user pool ID for OpenSearch Dashboards authentication.
  5940  	UserPoolId *string `min:"1" type:"string"`
  5941  }
  5942  
  5943  // String returns the string representation.
  5944  //
  5945  // API parameter values that are decorated as "sensitive" in the API will not
  5946  // be included in the string output. The member name will be present, but the
  5947  // value will be replaced with "sensitive".
  5948  func (s CognitoOptions) String() string {
  5949  	return awsutil.Prettify(s)
  5950  }
  5951  
  5952  // GoString returns the string representation.
  5953  //
  5954  // API parameter values that are decorated as "sensitive" in the API will not
  5955  // be included in the string output. The member name will be present, but the
  5956  // value will be replaced with "sensitive".
  5957  func (s CognitoOptions) GoString() string {
  5958  	return s.String()
  5959  }
  5960  
  5961  // Validate inspects the fields of the type to determine if they are valid.
  5962  func (s *CognitoOptions) Validate() error {
  5963  	invalidParams := request.ErrInvalidParams{Context: "CognitoOptions"}
  5964  	if s.IdentityPoolId != nil && len(*s.IdentityPoolId) < 1 {
  5965  		invalidParams.Add(request.NewErrParamMinLen("IdentityPoolId", 1))
  5966  	}
  5967  	if s.RoleArn != nil && len(*s.RoleArn) < 20 {
  5968  		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20))
  5969  	}
  5970  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
  5971  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
  5972  	}
  5973  
  5974  	if invalidParams.Len() > 0 {
  5975  		return invalidParams
  5976  	}
  5977  	return nil
  5978  }
  5979  
  5980  // SetEnabled sets the Enabled field's value.
  5981  func (s *CognitoOptions) SetEnabled(v bool) *CognitoOptions {
  5982  	s.Enabled = &v
  5983  	return s
  5984  }
  5985  
  5986  // SetIdentityPoolId sets the IdentityPoolId field's value.
  5987  func (s *CognitoOptions) SetIdentityPoolId(v string) *CognitoOptions {
  5988  	s.IdentityPoolId = &v
  5989  	return s
  5990  }
  5991  
  5992  // SetRoleArn sets the RoleArn field's value.
  5993  func (s *CognitoOptions) SetRoleArn(v string) *CognitoOptions {
  5994  	s.RoleArn = &v
  5995  	return s
  5996  }
  5997  
  5998  // SetUserPoolId sets the UserPoolId field's value.
  5999  func (s *CognitoOptions) SetUserPoolId(v string) *CognitoOptions {
  6000  	s.UserPoolId = &v
  6001  	return s
  6002  }
  6003  
  6004  // The status of the Cognito options for the specified domain.
  6005  type CognitoOptionsStatus struct {
  6006  	_ struct{} `type:"structure"`
  6007  
  6008  	// Cognito options for the specified domain.
  6009  	//
  6010  	// Options is a required field
  6011  	Options *CognitoOptions `type:"structure" required:"true"`
  6012  
  6013  	// The status of the Cognito options for the specified domain.
  6014  	//
  6015  	// Status is a required field
  6016  	Status *OptionStatus `type:"structure" required:"true"`
  6017  }
  6018  
  6019  // String returns the string representation.
  6020  //
  6021  // API parameter values that are decorated as "sensitive" in the API will not
  6022  // be included in the string output. The member name will be present, but the
  6023  // value will be replaced with "sensitive".
  6024  func (s CognitoOptionsStatus) String() string {
  6025  	return awsutil.Prettify(s)
  6026  }
  6027  
  6028  // GoString returns the string representation.
  6029  //
  6030  // API parameter values that are decorated as "sensitive" in the API will not
  6031  // be included in the string output. The member name will be present, but the
  6032  // value will be replaced with "sensitive".
  6033  func (s CognitoOptionsStatus) GoString() string {
  6034  	return s.String()
  6035  }
  6036  
  6037  // SetOptions sets the Options field's value.
  6038  func (s *CognitoOptionsStatus) SetOptions(v *CognitoOptions) *CognitoOptionsStatus {
  6039  	s.Options = v
  6040  	return s
  6041  }
  6042  
  6043  // SetStatus sets the Status field's value.
  6044  func (s *CognitoOptionsStatus) SetStatus(v *OptionStatus) *CognitoOptionsStatus {
  6045  	s.Status = v
  6046  	return s
  6047  }
  6048  
  6049  // Specifies the configuration for cold storage options such as enabled
  6050  type ColdStorageOptions struct {
  6051  	_ struct{} `type:"structure"`
  6052  
  6053  	// Enable cold storage option. Accepted values true or false
  6054  	//
  6055  	// Enabled is a required field
  6056  	Enabled *bool `type:"boolean" required:"true"`
  6057  }
  6058  
  6059  // String returns the string representation.
  6060  //
  6061  // API parameter values that are decorated as "sensitive" in the API will not
  6062  // be included in the string output. The member name will be present, but the
  6063  // value will be replaced with "sensitive".
  6064  func (s ColdStorageOptions) String() string {
  6065  	return awsutil.Prettify(s)
  6066  }
  6067  
  6068  // GoString returns the string representation.
  6069  //
  6070  // API parameter values that are decorated as "sensitive" in the API will not
  6071  // be included in the string output. The member name will be present, but the
  6072  // value will be replaced with "sensitive".
  6073  func (s ColdStorageOptions) GoString() string {
  6074  	return s.String()
  6075  }
  6076  
  6077  // Validate inspects the fields of the type to determine if they are valid.
  6078  func (s *ColdStorageOptions) Validate() error {
  6079  	invalidParams := request.ErrInvalidParams{Context: "ColdStorageOptions"}
  6080  	if s.Enabled == nil {
  6081  		invalidParams.Add(request.NewErrParamRequired("Enabled"))
  6082  	}
  6083  
  6084  	if invalidParams.Len() > 0 {
  6085  		return invalidParams
  6086  	}
  6087  	return nil
  6088  }
  6089  
  6090  // SetEnabled sets the Enabled field's value.
  6091  func (s *ColdStorageOptions) SetEnabled(v bool) *ColdStorageOptions {
  6092  	s.Enabled = &v
  6093  	return s
  6094  }
  6095  
  6096  // A map from an EngineVersion to a list of compatible EngineVersion s to which
  6097  // the domain can be upgraded.
  6098  type CompatibleVersionsMap struct {
  6099  	_ struct{} `type:"structure"`
  6100  
  6101  	// The current version of OpenSearch a domain is on.
  6102  	SourceVersion *string `min:"14" type:"string"`
  6103  
  6104  	// List of supported OpenSearch versions.
  6105  	TargetVersions []*string `type:"list"`
  6106  }
  6107  
  6108  // String returns the string representation.
  6109  //
  6110  // API parameter values that are decorated as "sensitive" in the API will not
  6111  // be included in the string output. The member name will be present, but the
  6112  // value will be replaced with "sensitive".
  6113  func (s CompatibleVersionsMap) String() string {
  6114  	return awsutil.Prettify(s)
  6115  }
  6116  
  6117  // GoString returns the string representation.
  6118  //
  6119  // API parameter values that are decorated as "sensitive" in the API will not
  6120  // be included in the string output. The member name will be present, but the
  6121  // value will be replaced with "sensitive".
  6122  func (s CompatibleVersionsMap) GoString() string {
  6123  	return s.String()
  6124  }
  6125  
  6126  // SetSourceVersion sets the SourceVersion field's value.
  6127  func (s *CompatibleVersionsMap) SetSourceVersion(v string) *CompatibleVersionsMap {
  6128  	s.SourceVersion = &v
  6129  	return s
  6130  }
  6131  
  6132  // SetTargetVersions sets the TargetVersions field's value.
  6133  func (s *CompatibleVersionsMap) SetTargetVersions(v []*string) *CompatibleVersionsMap {
  6134  	s.TargetVersions = v
  6135  	return s
  6136  }
  6137  
  6138  // An error occurred because the client attempts to remove a resource that is
  6139  // currently in use. Returns HTTP status code 409.
  6140  type ConflictException struct {
  6141  	_            struct{}                  `type:"structure"`
  6142  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  6143  
  6144  	Message_ *string `locationName:"message" type:"string"`
  6145  }
  6146  
  6147  // String returns the string representation.
  6148  //
  6149  // API parameter values that are decorated as "sensitive" in the API will not
  6150  // be included in the string output. The member name will be present, but the
  6151  // value will be replaced with "sensitive".
  6152  func (s ConflictException) String() string {
  6153  	return awsutil.Prettify(s)
  6154  }
  6155  
  6156  // GoString returns the string representation.
  6157  //
  6158  // API parameter values that are decorated as "sensitive" in the API will not
  6159  // be included in the string output. The member name will be present, but the
  6160  // value will be replaced with "sensitive".
  6161  func (s ConflictException) GoString() string {
  6162  	return s.String()
  6163  }
  6164  
  6165  func newErrorConflictException(v protocol.ResponseMetadata) error {
  6166  	return &ConflictException{
  6167  		RespMetadata: v,
  6168  	}
  6169  }
  6170  
  6171  // Code returns the exception type name.
  6172  func (s *ConflictException) Code() string {
  6173  	return "ConflictException"
  6174  }
  6175  
  6176  // Message returns the exception's message.
  6177  func (s *ConflictException) Message() string {
  6178  	if s.Message_ != nil {
  6179  		return *s.Message_
  6180  	}
  6181  	return ""
  6182  }
  6183  
  6184  // OrigErr always returns nil, satisfies awserr.Error interface.
  6185  func (s *ConflictException) OrigErr() error {
  6186  	return nil
  6187  }
  6188  
  6189  func (s *ConflictException) Error() string {
  6190  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  6191  }
  6192  
  6193  // Status code returns the HTTP status code for the request's response error.
  6194  func (s *ConflictException) StatusCode() int {
  6195  	return s.RespMetadata.StatusCode
  6196  }
  6197  
  6198  // RequestID returns the service's response RequestID for request.
  6199  func (s *ConflictException) RequestID() string {
  6200  	return s.RespMetadata.RequestID
  6201  }
  6202  
  6203  type CreateDomainInput struct {
  6204  	_ struct{} `type:"structure"`
  6205  
  6206  	// IAM access policy as a JSON-formatted string.
  6207  	AccessPolicies *string `type:"string"`
  6208  
  6209  	// Option to allow references to indices in an HTTP request body. Must be false
  6210  	// when configuring access to individual sub-resources. By default, the value
  6211  	// is true. See Advanced cluster parameters (http://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html#createdomain-configure-advanced-options)
  6212  	// for more information.
  6213  	AdvancedOptions map[string]*string `type:"map"`
  6214  
  6215  	// Specifies advanced security options.
  6216  	AdvancedSecurityOptions *AdvancedSecurityOptionsInput_ `type:"structure"`
  6217  
  6218  	// Specifies Auto-Tune options.
  6219  	AutoTuneOptions *AutoTuneOptionsInput_ `type:"structure"`
  6220  
  6221  	// Configuration options for a domain. Specifies the instance type and number
  6222  	// of instances in the domain.
  6223  	ClusterConfig *ClusterConfig `type:"structure"`
  6224  
  6225  	// Options to specify the Cognito user and identity pools for OpenSearch Dashboards
  6226  	// authentication. For more information, see Configuring Amazon Cognito authentication
  6227  	// for OpenSearch Dashboards (http://docs.aws.amazon.com/opensearch-service/latest/developerguide/cognito-auth.html).
  6228  	CognitoOptions *CognitoOptions `type:"structure"`
  6229  
  6230  	// Options to specify configurations that will be applied to the domain endpoint.
  6231  	DomainEndpointOptions *DomainEndpointOptions `type:"structure"`
  6232  
  6233  	// The name of the Amazon OpenSearch Service domain you're creating. Domain
  6234  	// names are unique across the domains owned by an account within an AWS region.
  6235  	// Domain names must start with a lowercase letter and can contain the following
  6236  	// characters: a-z (lowercase), 0-9, and - (hyphen).
  6237  	//
  6238  	// DomainName is a required field
  6239  	DomainName *string `min:"3" type:"string" required:"true"`
  6240  
  6241  	// Options to enable, disable, and specify the type and size of EBS storage
  6242  	// volumes.
  6243  	EBSOptions *EBSOptions `type:"structure"`
  6244  
  6245  	// Options for encryption of data at rest.
  6246  	EncryptionAtRestOptions *EncryptionAtRestOptions `type:"structure"`
  6247  
  6248  	// String of format Elasticsearch_X.Y or OpenSearch_X.Y to specify the engine
  6249  	// version for the Amazon OpenSearch Service domain. For example, "OpenSearch_1.0"
  6250  	// or "Elasticsearch_7.9". For more information, see Creating and managing Amazon
  6251  	// OpenSearch Service domains (http://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html#createdomains).
  6252  	EngineVersion *string `min:"14" type:"string"`
  6253  
  6254  	// Map of LogType and LogPublishingOption, each containing options to publish
  6255  	// a given type of OpenSearch log.
  6256  	LogPublishingOptions map[string]*LogPublishingOption `type:"map"`
  6257  
  6258  	// Node-to-node encryption options.
  6259  	NodeToNodeEncryptionOptions *NodeToNodeEncryptionOptions `type:"structure"`
  6260  
  6261  	// Option to set time, in UTC format, of the daily automated snapshot. Default
  6262  	// value is 0 hours.
  6263  	SnapshotOptions *SnapshotOptions `type:"structure"`
  6264  
  6265  	// A list of Tag added during domain creation.
  6266  	TagList []*Tag `type:"list"`
  6267  
  6268  	// Options to specify the subnets and security groups for a VPC endpoint. For
  6269  	// more information, see Launching your Amazon OpenSearch Service domains using
  6270  	// a VPC (http://docs.aws.amazon.com/opensearch-service/latest/developerguide/vpc.html).
  6271  	VPCOptions *VPCOptions `type:"structure"`
  6272  }
  6273  
  6274  // String returns the string representation.
  6275  //
  6276  // API parameter values that are decorated as "sensitive" in the API will not
  6277  // be included in the string output. The member name will be present, but the
  6278  // value will be replaced with "sensitive".
  6279  func (s CreateDomainInput) String() string {
  6280  	return awsutil.Prettify(s)
  6281  }
  6282  
  6283  // GoString returns the string representation.
  6284  //
  6285  // API parameter values that are decorated as "sensitive" in the API will not
  6286  // be included in the string output. The member name will be present, but the
  6287  // value will be replaced with "sensitive".
  6288  func (s CreateDomainInput) GoString() string {
  6289  	return s.String()
  6290  }
  6291  
  6292  // Validate inspects the fields of the type to determine if they are valid.
  6293  func (s *CreateDomainInput) Validate() error {
  6294  	invalidParams := request.ErrInvalidParams{Context: "CreateDomainInput"}
  6295  	if s.DomainName == nil {
  6296  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  6297  	}
  6298  	if s.DomainName != nil && len(*s.DomainName) < 3 {
  6299  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
  6300  	}
  6301  	if s.EngineVersion != nil && len(*s.EngineVersion) < 14 {
  6302  		invalidParams.Add(request.NewErrParamMinLen("EngineVersion", 14))
  6303  	}
  6304  	if s.AdvancedSecurityOptions != nil {
  6305  		if err := s.AdvancedSecurityOptions.Validate(); err != nil {
  6306  			invalidParams.AddNested("AdvancedSecurityOptions", err.(request.ErrInvalidParams))
  6307  		}
  6308  	}
  6309  	if s.AutoTuneOptions != nil {
  6310  		if err := s.AutoTuneOptions.Validate(); err != nil {
  6311  			invalidParams.AddNested("AutoTuneOptions", err.(request.ErrInvalidParams))
  6312  		}
  6313  	}
  6314  	if s.ClusterConfig != nil {
  6315  		if err := s.ClusterConfig.Validate(); err != nil {
  6316  			invalidParams.AddNested("ClusterConfig", err.(request.ErrInvalidParams))
  6317  		}
  6318  	}
  6319  	if s.CognitoOptions != nil {
  6320  		if err := s.CognitoOptions.Validate(); err != nil {
  6321  			invalidParams.AddNested("CognitoOptions", err.(request.ErrInvalidParams))
  6322  		}
  6323  	}
  6324  	if s.DomainEndpointOptions != nil {
  6325  		if err := s.DomainEndpointOptions.Validate(); err != nil {
  6326  			invalidParams.AddNested("DomainEndpointOptions", err.(request.ErrInvalidParams))
  6327  		}
  6328  	}
  6329  	if s.EncryptionAtRestOptions != nil {
  6330  		if err := s.EncryptionAtRestOptions.Validate(); err != nil {
  6331  			invalidParams.AddNested("EncryptionAtRestOptions", err.(request.ErrInvalidParams))
  6332  		}
  6333  	}
  6334  	if s.LogPublishingOptions != nil {
  6335  		for i, v := range s.LogPublishingOptions {
  6336  			if v == nil {
  6337  				continue
  6338  			}
  6339  			if err := v.Validate(); err != nil {
  6340  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LogPublishingOptions", i), err.(request.ErrInvalidParams))
  6341  			}
  6342  		}
  6343  	}
  6344  	if s.TagList != nil {
  6345  		for i, v := range s.TagList {
  6346  			if v == nil {
  6347  				continue
  6348  			}
  6349  			if err := v.Validate(); err != nil {
  6350  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TagList", i), err.(request.ErrInvalidParams))
  6351  			}
  6352  		}
  6353  	}
  6354  
  6355  	if invalidParams.Len() > 0 {
  6356  		return invalidParams
  6357  	}
  6358  	return nil
  6359  }
  6360  
  6361  // SetAccessPolicies sets the AccessPolicies field's value.
  6362  func (s *CreateDomainInput) SetAccessPolicies(v string) *CreateDomainInput {
  6363  	s.AccessPolicies = &v
  6364  	return s
  6365  }
  6366  
  6367  // SetAdvancedOptions sets the AdvancedOptions field's value.
  6368  func (s *CreateDomainInput) SetAdvancedOptions(v map[string]*string) *CreateDomainInput {
  6369  	s.AdvancedOptions = v
  6370  	return s
  6371  }
  6372  
  6373  // SetAdvancedSecurityOptions sets the AdvancedSecurityOptions field's value.
  6374  func (s *CreateDomainInput) SetAdvancedSecurityOptions(v *AdvancedSecurityOptionsInput_) *CreateDomainInput {
  6375  	s.AdvancedSecurityOptions = v
  6376  	return s
  6377  }
  6378  
  6379  // SetAutoTuneOptions sets the AutoTuneOptions field's value.
  6380  func (s *CreateDomainInput) SetAutoTuneOptions(v *AutoTuneOptionsInput_) *CreateDomainInput {
  6381  	s.AutoTuneOptions = v
  6382  	return s
  6383  }
  6384  
  6385  // SetClusterConfig sets the ClusterConfig field's value.
  6386  func (s *CreateDomainInput) SetClusterConfig(v *ClusterConfig) *CreateDomainInput {
  6387  	s.ClusterConfig = v
  6388  	return s
  6389  }
  6390  
  6391  // SetCognitoOptions sets the CognitoOptions field's value.
  6392  func (s *CreateDomainInput) SetCognitoOptions(v *CognitoOptions) *CreateDomainInput {
  6393  	s.CognitoOptions = v
  6394  	return s
  6395  }
  6396  
  6397  // SetDomainEndpointOptions sets the DomainEndpointOptions field's value.
  6398  func (s *CreateDomainInput) SetDomainEndpointOptions(v *DomainEndpointOptions) *CreateDomainInput {
  6399  	s.DomainEndpointOptions = v
  6400  	return s
  6401  }
  6402  
  6403  // SetDomainName sets the DomainName field's value.
  6404  func (s *CreateDomainInput) SetDomainName(v string) *CreateDomainInput {
  6405  	s.DomainName = &v
  6406  	return s
  6407  }
  6408  
  6409  // SetEBSOptions sets the EBSOptions field's value.
  6410  func (s *CreateDomainInput) SetEBSOptions(v *EBSOptions) *CreateDomainInput {
  6411  	s.EBSOptions = v
  6412  	return s
  6413  }
  6414  
  6415  // SetEncryptionAtRestOptions sets the EncryptionAtRestOptions field's value.
  6416  func (s *CreateDomainInput) SetEncryptionAtRestOptions(v *EncryptionAtRestOptions) *CreateDomainInput {
  6417  	s.EncryptionAtRestOptions = v
  6418  	return s
  6419  }
  6420  
  6421  // SetEngineVersion sets the EngineVersion field's value.
  6422  func (s *CreateDomainInput) SetEngineVersion(v string) *CreateDomainInput {
  6423  	s.EngineVersion = &v
  6424  	return s
  6425  }
  6426  
  6427  // SetLogPublishingOptions sets the LogPublishingOptions field's value.
  6428  func (s *CreateDomainInput) SetLogPublishingOptions(v map[string]*LogPublishingOption) *CreateDomainInput {
  6429  	s.LogPublishingOptions = v
  6430  	return s
  6431  }
  6432  
  6433  // SetNodeToNodeEncryptionOptions sets the NodeToNodeEncryptionOptions field's value.
  6434  func (s *CreateDomainInput) SetNodeToNodeEncryptionOptions(v *NodeToNodeEncryptionOptions) *CreateDomainInput {
  6435  	s.NodeToNodeEncryptionOptions = v
  6436  	return s
  6437  }
  6438  
  6439  // SetSnapshotOptions sets the SnapshotOptions field's value.
  6440  func (s *CreateDomainInput) SetSnapshotOptions(v *SnapshotOptions) *CreateDomainInput {
  6441  	s.SnapshotOptions = v
  6442  	return s
  6443  }
  6444  
  6445  // SetTagList sets the TagList field's value.
  6446  func (s *CreateDomainInput) SetTagList(v []*Tag) *CreateDomainInput {
  6447  	s.TagList = v
  6448  	return s
  6449  }
  6450  
  6451  // SetVPCOptions sets the VPCOptions field's value.
  6452  func (s *CreateDomainInput) SetVPCOptions(v *VPCOptions) *CreateDomainInput {
  6453  	s.VPCOptions = v
  6454  	return s
  6455  }
  6456  
  6457  // The result of a CreateDomain operation. Contains the status of the newly
  6458  // created Amazon OpenSearch Service domain.
  6459  type CreateDomainOutput struct {
  6460  	_ struct{} `type:"structure"`
  6461  
  6462  	// The status of the newly created domain.
  6463  	DomainStatus *DomainStatus `type:"structure"`
  6464  }
  6465  
  6466  // String returns the string representation.
  6467  //
  6468  // API parameter values that are decorated as "sensitive" in the API will not
  6469  // be included in the string output. The member name will be present, but the
  6470  // value will be replaced with "sensitive".
  6471  func (s CreateDomainOutput) String() string {
  6472  	return awsutil.Prettify(s)
  6473  }
  6474  
  6475  // GoString returns the string representation.
  6476  //
  6477  // API parameter values that are decorated as "sensitive" in the API will not
  6478  // be included in the string output. The member name will be present, but the
  6479  // value will be replaced with "sensitive".
  6480  func (s CreateDomainOutput) GoString() string {
  6481  	return s.String()
  6482  }
  6483  
  6484  // SetDomainStatus sets the DomainStatus field's value.
  6485  func (s *CreateDomainOutput) SetDomainStatus(v *DomainStatus) *CreateDomainOutput {
  6486  	s.DomainStatus = v
  6487  	return s
  6488  }
  6489  
  6490  // Container for the parameters to the CreateOutboundConnection operation.
  6491  type CreateOutboundConnectionInput struct {
  6492  	_ struct{} `type:"structure"`
  6493  
  6494  	// The connection alias used used by the customer for this cross-cluster connection.
  6495  	//
  6496  	// ConnectionAlias is a required field
  6497  	ConnectionAlias *string `min:"2" type:"string" required:"true"`
  6498  
  6499  	// The AWSDomainInformation for the local OpenSearch domain.
  6500  	//
  6501  	// LocalDomainInfo is a required field
  6502  	LocalDomainInfo *DomainInformationContainer `type:"structure" required:"true"`
  6503  
  6504  	// The AWSDomainInformation for the remote OpenSearch domain.
  6505  	//
  6506  	// RemoteDomainInfo is a required field
  6507  	RemoteDomainInfo *DomainInformationContainer `type:"structure" required:"true"`
  6508  }
  6509  
  6510  // String returns the string representation.
  6511  //
  6512  // API parameter values that are decorated as "sensitive" in the API will not
  6513  // be included in the string output. The member name will be present, but the
  6514  // value will be replaced with "sensitive".
  6515  func (s CreateOutboundConnectionInput) String() string {
  6516  	return awsutil.Prettify(s)
  6517  }
  6518  
  6519  // GoString returns the string representation.
  6520  //
  6521  // API parameter values that are decorated as "sensitive" in the API will not
  6522  // be included in the string output. The member name will be present, but the
  6523  // value will be replaced with "sensitive".
  6524  func (s CreateOutboundConnectionInput) GoString() string {
  6525  	return s.String()
  6526  }
  6527  
  6528  // Validate inspects the fields of the type to determine if they are valid.
  6529  func (s *CreateOutboundConnectionInput) Validate() error {
  6530  	invalidParams := request.ErrInvalidParams{Context: "CreateOutboundConnectionInput"}
  6531  	if s.ConnectionAlias == nil {
  6532  		invalidParams.Add(request.NewErrParamRequired("ConnectionAlias"))
  6533  	}
  6534  	if s.ConnectionAlias != nil && len(*s.ConnectionAlias) < 2 {
  6535  		invalidParams.Add(request.NewErrParamMinLen("ConnectionAlias", 2))
  6536  	}
  6537  	if s.LocalDomainInfo == nil {
  6538  		invalidParams.Add(request.NewErrParamRequired("LocalDomainInfo"))
  6539  	}
  6540  	if s.RemoteDomainInfo == nil {
  6541  		invalidParams.Add(request.NewErrParamRequired("RemoteDomainInfo"))
  6542  	}
  6543  	if s.LocalDomainInfo != nil {
  6544  		if err := s.LocalDomainInfo.Validate(); err != nil {
  6545  			invalidParams.AddNested("LocalDomainInfo", err.(request.ErrInvalidParams))
  6546  		}
  6547  	}
  6548  	if s.RemoteDomainInfo != nil {
  6549  		if err := s.RemoteDomainInfo.Validate(); err != nil {
  6550  			invalidParams.AddNested("RemoteDomainInfo", err.(request.ErrInvalidParams))
  6551  		}
  6552  	}
  6553  
  6554  	if invalidParams.Len() > 0 {
  6555  		return invalidParams
  6556  	}
  6557  	return nil
  6558  }
  6559  
  6560  // SetConnectionAlias sets the ConnectionAlias field's value.
  6561  func (s *CreateOutboundConnectionInput) SetConnectionAlias(v string) *CreateOutboundConnectionInput {
  6562  	s.ConnectionAlias = &v
  6563  	return s
  6564  }
  6565  
  6566  // SetLocalDomainInfo sets the LocalDomainInfo field's value.
  6567  func (s *CreateOutboundConnectionInput) SetLocalDomainInfo(v *DomainInformationContainer) *CreateOutboundConnectionInput {
  6568  	s.LocalDomainInfo = v
  6569  	return s
  6570  }
  6571  
  6572  // SetRemoteDomainInfo sets the RemoteDomainInfo field's value.
  6573  func (s *CreateOutboundConnectionInput) SetRemoteDomainInfo(v *DomainInformationContainer) *CreateOutboundConnectionInput {
  6574  	s.RemoteDomainInfo = v
  6575  	return s
  6576  }
  6577  
  6578  // The result of a CreateOutboundConnection request. Contains the details about
  6579  // the newly created cross-cluster connection.
  6580  type CreateOutboundConnectionOutput struct {
  6581  	_ struct{} `type:"structure"`
  6582  
  6583  	// The connection alias provided during the create connection request.
  6584  	ConnectionAlias *string `min:"2" type:"string"`
  6585  
  6586  	// The unique ID for the created outbound connection, which is used for subsequent
  6587  	// operations on the connection.
  6588  	ConnectionId *string `min:"10" type:"string"`
  6589  
  6590  	// The OutboundConnectionStatus for the newly created connection.
  6591  	ConnectionStatus *OutboundConnectionStatus `type:"structure"`
  6592  
  6593  	// The AWSDomainInformation for the local OpenSearch domain.
  6594  	LocalDomainInfo *DomainInformationContainer `type:"structure"`
  6595  
  6596  	// The AWSDomainInformation for the remote OpenSearch domain.
  6597  	RemoteDomainInfo *DomainInformationContainer `type:"structure"`
  6598  }
  6599  
  6600  // String returns the string representation.
  6601  //
  6602  // API parameter values that are decorated as "sensitive" in the API will not
  6603  // be included in the string output. The member name will be present, but the
  6604  // value will be replaced with "sensitive".
  6605  func (s CreateOutboundConnectionOutput) String() string {
  6606  	return awsutil.Prettify(s)
  6607  }
  6608  
  6609  // GoString returns the string representation.
  6610  //
  6611  // API parameter values that are decorated as "sensitive" in the API will not
  6612  // be included in the string output. The member name will be present, but the
  6613  // value will be replaced with "sensitive".
  6614  func (s CreateOutboundConnectionOutput) GoString() string {
  6615  	return s.String()
  6616  }
  6617  
  6618  // SetConnectionAlias sets the ConnectionAlias field's value.
  6619  func (s *CreateOutboundConnectionOutput) SetConnectionAlias(v string) *CreateOutboundConnectionOutput {
  6620  	s.ConnectionAlias = &v
  6621  	return s
  6622  }
  6623  
  6624  // SetConnectionId sets the ConnectionId field's value.
  6625  func (s *CreateOutboundConnectionOutput) SetConnectionId(v string) *CreateOutboundConnectionOutput {
  6626  	s.ConnectionId = &v
  6627  	return s
  6628  }
  6629  
  6630  // SetConnectionStatus sets the ConnectionStatus field's value.
  6631  func (s *CreateOutboundConnectionOutput) SetConnectionStatus(v *OutboundConnectionStatus) *CreateOutboundConnectionOutput {
  6632  	s.ConnectionStatus = v
  6633  	return s
  6634  }
  6635  
  6636  // SetLocalDomainInfo sets the LocalDomainInfo field's value.
  6637  func (s *CreateOutboundConnectionOutput) SetLocalDomainInfo(v *DomainInformationContainer) *CreateOutboundConnectionOutput {
  6638  	s.LocalDomainInfo = v
  6639  	return s
  6640  }
  6641  
  6642  // SetRemoteDomainInfo sets the RemoteDomainInfo field's value.
  6643  func (s *CreateOutboundConnectionOutput) SetRemoteDomainInfo(v *DomainInformationContainer) *CreateOutboundConnectionOutput {
  6644  	s.RemoteDomainInfo = v
  6645  	return s
  6646  }
  6647  
  6648  // Container for request parameters to the CreatePackage operation.
  6649  type CreatePackageInput struct {
  6650  	_ struct{} `type:"structure"`
  6651  
  6652  	// Description of the package.
  6653  	PackageDescription *string `type:"string"`
  6654  
  6655  	// Unique identifier for the package.
  6656  	//
  6657  	// PackageName is a required field
  6658  	PackageName *string `min:"3" type:"string" required:"true"`
  6659  
  6660  	// The Amazon S3 location from which to import the package.
  6661  	//
  6662  	// PackageSource is a required field
  6663  	PackageSource *PackageSource `type:"structure" required:"true"`
  6664  
  6665  	// Type of package. Currently supports only TXT-DICTIONARY.
  6666  	//
  6667  	// PackageType is a required field
  6668  	PackageType *string `type:"string" required:"true" enum:"PackageType"`
  6669  }
  6670  
  6671  // String returns the string representation.
  6672  //
  6673  // API parameter values that are decorated as "sensitive" in the API will not
  6674  // be included in the string output. The member name will be present, but the
  6675  // value will be replaced with "sensitive".
  6676  func (s CreatePackageInput) String() string {
  6677  	return awsutil.Prettify(s)
  6678  }
  6679  
  6680  // GoString returns the string representation.
  6681  //
  6682  // API parameter values that are decorated as "sensitive" in the API will not
  6683  // be included in the string output. The member name will be present, but the
  6684  // value will be replaced with "sensitive".
  6685  func (s CreatePackageInput) GoString() string {
  6686  	return s.String()
  6687  }
  6688  
  6689  // Validate inspects the fields of the type to determine if they are valid.
  6690  func (s *CreatePackageInput) Validate() error {
  6691  	invalidParams := request.ErrInvalidParams{Context: "CreatePackageInput"}
  6692  	if s.PackageName == nil {
  6693  		invalidParams.Add(request.NewErrParamRequired("PackageName"))
  6694  	}
  6695  	if s.PackageName != nil && len(*s.PackageName) < 3 {
  6696  		invalidParams.Add(request.NewErrParamMinLen("PackageName", 3))
  6697  	}
  6698  	if s.PackageSource == nil {
  6699  		invalidParams.Add(request.NewErrParamRequired("PackageSource"))
  6700  	}
  6701  	if s.PackageType == nil {
  6702  		invalidParams.Add(request.NewErrParamRequired("PackageType"))
  6703  	}
  6704  	if s.PackageSource != nil {
  6705  		if err := s.PackageSource.Validate(); err != nil {
  6706  			invalidParams.AddNested("PackageSource", err.(request.ErrInvalidParams))
  6707  		}
  6708  	}
  6709  
  6710  	if invalidParams.Len() > 0 {
  6711  		return invalidParams
  6712  	}
  6713  	return nil
  6714  }
  6715  
  6716  // SetPackageDescription sets the PackageDescription field's value.
  6717  func (s *CreatePackageInput) SetPackageDescription(v string) *CreatePackageInput {
  6718  	s.PackageDescription = &v
  6719  	return s
  6720  }
  6721  
  6722  // SetPackageName sets the PackageName field's value.
  6723  func (s *CreatePackageInput) SetPackageName(v string) *CreatePackageInput {
  6724  	s.PackageName = &v
  6725  	return s
  6726  }
  6727  
  6728  // SetPackageSource sets the PackageSource field's value.
  6729  func (s *CreatePackageInput) SetPackageSource(v *PackageSource) *CreatePackageInput {
  6730  	s.PackageSource = v
  6731  	return s
  6732  }
  6733  
  6734  // SetPackageType sets the PackageType field's value.
  6735  func (s *CreatePackageInput) SetPackageType(v string) *CreatePackageInput {
  6736  	s.PackageType = &v
  6737  	return s
  6738  }
  6739  
  6740  // Container for the response returned by the CreatePackage operation.
  6741  type CreatePackageOutput struct {
  6742  	_ struct{} `type:"structure"`
  6743  
  6744  	// Information about the package.
  6745  	PackageDetails *PackageDetails `type:"structure"`
  6746  }
  6747  
  6748  // String returns the string representation.
  6749  //
  6750  // API parameter values that are decorated as "sensitive" in the API will not
  6751  // be included in the string output. The member name will be present, but the
  6752  // value will be replaced with "sensitive".
  6753  func (s CreatePackageOutput) String() string {
  6754  	return awsutil.Prettify(s)
  6755  }
  6756  
  6757  // GoString returns the string representation.
  6758  //
  6759  // API parameter values that are decorated as "sensitive" in the API will not
  6760  // be included in the string output. The member name will be present, but the
  6761  // value will be replaced with "sensitive".
  6762  func (s CreatePackageOutput) GoString() string {
  6763  	return s.String()
  6764  }
  6765  
  6766  // SetPackageDetails sets the PackageDetails field's value.
  6767  func (s *CreatePackageOutput) SetPackageDetails(v *PackageDetails) *CreatePackageOutput {
  6768  	s.PackageDetails = v
  6769  	return s
  6770  }
  6771  
  6772  // Container for the parameters to the DeleteDomain operation. Specifies the
  6773  // name of the domain you want to delete.
  6774  type DeleteDomainInput struct {
  6775  	_ struct{} `type:"structure" nopayload:"true"`
  6776  
  6777  	// The name of the domain you want to permanently delete.
  6778  	//
  6779  	// DomainName is a required field
  6780  	DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"`
  6781  }
  6782  
  6783  // String returns the string representation.
  6784  //
  6785  // API parameter values that are decorated as "sensitive" in the API will not
  6786  // be included in the string output. The member name will be present, but the
  6787  // value will be replaced with "sensitive".
  6788  func (s DeleteDomainInput) String() string {
  6789  	return awsutil.Prettify(s)
  6790  }
  6791  
  6792  // GoString returns the string representation.
  6793  //
  6794  // API parameter values that are decorated as "sensitive" in the API will not
  6795  // be included in the string output. The member name will be present, but the
  6796  // value will be replaced with "sensitive".
  6797  func (s DeleteDomainInput) GoString() string {
  6798  	return s.String()
  6799  }
  6800  
  6801  // Validate inspects the fields of the type to determine if they are valid.
  6802  func (s *DeleteDomainInput) Validate() error {
  6803  	invalidParams := request.ErrInvalidParams{Context: "DeleteDomainInput"}
  6804  	if s.DomainName == nil {
  6805  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  6806  	}
  6807  	if s.DomainName != nil && len(*s.DomainName) < 3 {
  6808  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
  6809  	}
  6810  
  6811  	if invalidParams.Len() > 0 {
  6812  		return invalidParams
  6813  	}
  6814  	return nil
  6815  }
  6816  
  6817  // SetDomainName sets the DomainName field's value.
  6818  func (s *DeleteDomainInput) SetDomainName(v string) *DeleteDomainInput {
  6819  	s.DomainName = &v
  6820  	return s
  6821  }
  6822  
  6823  // The result of a DeleteDomain request. Contains the status of the pending
  6824  // deletion, or a "domain not found" error if the domain and all of its resources
  6825  // have been deleted.
  6826  type DeleteDomainOutput struct {
  6827  	_ struct{} `type:"structure"`
  6828  
  6829  	// The status of the domain being deleted.
  6830  	DomainStatus *DomainStatus `type:"structure"`
  6831  }
  6832  
  6833  // String returns the string representation.
  6834  //
  6835  // API parameter values that are decorated as "sensitive" in the API will not
  6836  // be included in the string output. The member name will be present, but the
  6837  // value will be replaced with "sensitive".
  6838  func (s DeleteDomainOutput) String() string {
  6839  	return awsutil.Prettify(s)
  6840  }
  6841  
  6842  // GoString returns the string representation.
  6843  //
  6844  // API parameter values that are decorated as "sensitive" in the API will not
  6845  // be included in the string output. The member name will be present, but the
  6846  // value will be replaced with "sensitive".
  6847  func (s DeleteDomainOutput) GoString() string {
  6848  	return s.String()
  6849  }
  6850  
  6851  // SetDomainStatus sets the DomainStatus field's value.
  6852  func (s *DeleteDomainOutput) SetDomainStatus(v *DomainStatus) *DeleteDomainOutput {
  6853  	s.DomainStatus = v
  6854  	return s
  6855  }
  6856  
  6857  // Container for the parameters to the DeleteInboundConnection operation.
  6858  type DeleteInboundConnectionInput struct {
  6859  	_ struct{} `type:"structure" nopayload:"true"`
  6860  
  6861  	// The ID of the inbound connection to permanently delete.
  6862  	//
  6863  	// ConnectionId is a required field
  6864  	ConnectionId *string `location:"uri" locationName:"ConnectionId" min:"10" type:"string" required:"true"`
  6865  }
  6866  
  6867  // String returns the string representation.
  6868  //
  6869  // API parameter values that are decorated as "sensitive" in the API will not
  6870  // be included in the string output. The member name will be present, but the
  6871  // value will be replaced with "sensitive".
  6872  func (s DeleteInboundConnectionInput) String() string {
  6873  	return awsutil.Prettify(s)
  6874  }
  6875  
  6876  // GoString returns the string representation.
  6877  //
  6878  // API parameter values that are decorated as "sensitive" in the API will not
  6879  // be included in the string output. The member name will be present, but the
  6880  // value will be replaced with "sensitive".
  6881  func (s DeleteInboundConnectionInput) GoString() string {
  6882  	return s.String()
  6883  }
  6884  
  6885  // Validate inspects the fields of the type to determine if they are valid.
  6886  func (s *DeleteInboundConnectionInput) Validate() error {
  6887  	invalidParams := request.ErrInvalidParams{Context: "DeleteInboundConnectionInput"}
  6888  	if s.ConnectionId == nil {
  6889  		invalidParams.Add(request.NewErrParamRequired("ConnectionId"))
  6890  	}
  6891  	if s.ConnectionId != nil && len(*s.ConnectionId) < 10 {
  6892  		invalidParams.Add(request.NewErrParamMinLen("ConnectionId", 10))
  6893  	}
  6894  
  6895  	if invalidParams.Len() > 0 {
  6896  		return invalidParams
  6897  	}
  6898  	return nil
  6899  }
  6900  
  6901  // SetConnectionId sets the ConnectionId field's value.
  6902  func (s *DeleteInboundConnectionInput) SetConnectionId(v string) *DeleteInboundConnectionInput {
  6903  	s.ConnectionId = &v
  6904  	return s
  6905  }
  6906  
  6907  // The result of a DeleteInboundConnection operation. Contains details about
  6908  // the deleted inbound connection.
  6909  type DeleteInboundConnectionOutput struct {
  6910  	_ struct{} `type:"structure"`
  6911  
  6912  	// The InboundConnection of the deleted inbound connection.
  6913  	Connection *InboundConnection `type:"structure"`
  6914  }
  6915  
  6916  // String returns the string representation.
  6917  //
  6918  // API parameter values that are decorated as "sensitive" in the API will not
  6919  // be included in the string output. The member name will be present, but the
  6920  // value will be replaced with "sensitive".
  6921  func (s DeleteInboundConnectionOutput) String() string {
  6922  	return awsutil.Prettify(s)
  6923  }
  6924  
  6925  // GoString returns the string representation.
  6926  //
  6927  // API parameter values that are decorated as "sensitive" in the API will not
  6928  // be included in the string output. The member name will be present, but the
  6929  // value will be replaced with "sensitive".
  6930  func (s DeleteInboundConnectionOutput) GoString() string {
  6931  	return s.String()
  6932  }
  6933  
  6934  // SetConnection sets the Connection field's value.
  6935  func (s *DeleteInboundConnectionOutput) SetConnection(v *InboundConnection) *DeleteInboundConnectionOutput {
  6936  	s.Connection = v
  6937  	return s
  6938  }
  6939  
  6940  // Container for the parameters to the DeleteOutboundConnection operation.
  6941  type DeleteOutboundConnectionInput struct {
  6942  	_ struct{} `type:"structure" nopayload:"true"`
  6943  
  6944  	// The ID of the outbound connection you want to permanently delete.
  6945  	//
  6946  	// ConnectionId is a required field
  6947  	ConnectionId *string `location:"uri" locationName:"ConnectionId" min:"10" type:"string" required:"true"`
  6948  }
  6949  
  6950  // String returns the string representation.
  6951  //
  6952  // API parameter values that are decorated as "sensitive" in the API will not
  6953  // be included in the string output. The member name will be present, but the
  6954  // value will be replaced with "sensitive".
  6955  func (s DeleteOutboundConnectionInput) String() string {
  6956  	return awsutil.Prettify(s)
  6957  }
  6958  
  6959  // GoString returns the string representation.
  6960  //
  6961  // API parameter values that are decorated as "sensitive" in the API will not
  6962  // be included in the string output. The member name will be present, but the
  6963  // value will be replaced with "sensitive".
  6964  func (s DeleteOutboundConnectionInput) GoString() string {
  6965  	return s.String()
  6966  }
  6967  
  6968  // Validate inspects the fields of the type to determine if they are valid.
  6969  func (s *DeleteOutboundConnectionInput) Validate() error {
  6970  	invalidParams := request.ErrInvalidParams{Context: "DeleteOutboundConnectionInput"}
  6971  	if s.ConnectionId == nil {
  6972  		invalidParams.Add(request.NewErrParamRequired("ConnectionId"))
  6973  	}
  6974  	if s.ConnectionId != nil && len(*s.ConnectionId) < 10 {
  6975  		invalidParams.Add(request.NewErrParamMinLen("ConnectionId", 10))
  6976  	}
  6977  
  6978  	if invalidParams.Len() > 0 {
  6979  		return invalidParams
  6980  	}
  6981  	return nil
  6982  }
  6983  
  6984  // SetConnectionId sets the ConnectionId field's value.
  6985  func (s *DeleteOutboundConnectionInput) SetConnectionId(v string) *DeleteOutboundConnectionInput {
  6986  	s.ConnectionId = &v
  6987  	return s
  6988  }
  6989  
  6990  // The result of a DeleteOutboundConnection operation. Contains details about
  6991  // the deleted outbound connection.
  6992  type DeleteOutboundConnectionOutput struct {
  6993  	_ struct{} `type:"structure"`
  6994  
  6995  	// The OutboundConnection of the deleted outbound connection.
  6996  	Connection *OutboundConnection `type:"structure"`
  6997  }
  6998  
  6999  // String returns the string representation.
  7000  //
  7001  // API parameter values that are decorated as "sensitive" in the API will not
  7002  // be included in the string output. The member name will be present, but the
  7003  // value will be replaced with "sensitive".
  7004  func (s DeleteOutboundConnectionOutput) String() string {
  7005  	return awsutil.Prettify(s)
  7006  }
  7007  
  7008  // GoString returns the string representation.
  7009  //
  7010  // API parameter values that are decorated as "sensitive" in the API will not
  7011  // be included in the string output. The member name will be present, but the
  7012  // value will be replaced with "sensitive".
  7013  func (s DeleteOutboundConnectionOutput) GoString() string {
  7014  	return s.String()
  7015  }
  7016  
  7017  // SetConnection sets the Connection field's value.
  7018  func (s *DeleteOutboundConnectionOutput) SetConnection(v *OutboundConnection) *DeleteOutboundConnectionOutput {
  7019  	s.Connection = v
  7020  	return s
  7021  }
  7022  
  7023  // Container for the request parameters to the DeletePackage operation.
  7024  type DeletePackageInput struct {
  7025  	_ struct{} `type:"structure" nopayload:"true"`
  7026  
  7027  	// The internal ID of the package you want to delete. Use DescribePackages to
  7028  	// find this value.
  7029  	//
  7030  	// PackageID is a required field
  7031  	PackageID *string `location:"uri" locationName:"PackageID" type:"string" required:"true"`
  7032  }
  7033  
  7034  // String returns the string representation.
  7035  //
  7036  // API parameter values that are decorated as "sensitive" in the API will not
  7037  // be included in the string output. The member name will be present, but the
  7038  // value will be replaced with "sensitive".
  7039  func (s DeletePackageInput) String() string {
  7040  	return awsutil.Prettify(s)
  7041  }
  7042  
  7043  // GoString returns the string representation.
  7044  //
  7045  // API parameter values that are decorated as "sensitive" in the API will not
  7046  // be included in the string output. The member name will be present, but the
  7047  // value will be replaced with "sensitive".
  7048  func (s DeletePackageInput) GoString() string {
  7049  	return s.String()
  7050  }
  7051  
  7052  // Validate inspects the fields of the type to determine if they are valid.
  7053  func (s *DeletePackageInput) Validate() error {
  7054  	invalidParams := request.ErrInvalidParams{Context: "DeletePackageInput"}
  7055  	if s.PackageID == nil {
  7056  		invalidParams.Add(request.NewErrParamRequired("PackageID"))
  7057  	}
  7058  	if s.PackageID != nil && len(*s.PackageID) < 1 {
  7059  		invalidParams.Add(request.NewErrParamMinLen("PackageID", 1))
  7060  	}
  7061  
  7062  	if invalidParams.Len() > 0 {
  7063  		return invalidParams
  7064  	}
  7065  	return nil
  7066  }
  7067  
  7068  // SetPackageID sets the PackageID field's value.
  7069  func (s *DeletePackageInput) SetPackageID(v string) *DeletePackageInput {
  7070  	s.PackageID = &v
  7071  	return s
  7072  }
  7073  
  7074  // Container for the response parameters to the DeletePackage operation.
  7075  type DeletePackageOutput struct {
  7076  	_ struct{} `type:"structure"`
  7077  
  7078  	// PackageDetails
  7079  	PackageDetails *PackageDetails `type:"structure"`
  7080  }
  7081  
  7082  // String returns the string representation.
  7083  //
  7084  // API parameter values that are decorated as "sensitive" in the API will not
  7085  // be included in the string output. The member name will be present, but the
  7086  // value will be replaced with "sensitive".
  7087  func (s DeletePackageOutput) String() string {
  7088  	return awsutil.Prettify(s)
  7089  }
  7090  
  7091  // GoString returns the string representation.
  7092  //
  7093  // API parameter values that are decorated as "sensitive" in the API will not
  7094  // be included in the string output. The member name will be present, but the
  7095  // value will be replaced with "sensitive".
  7096  func (s DeletePackageOutput) GoString() string {
  7097  	return s.String()
  7098  }
  7099  
  7100  // SetPackageDetails sets the PackageDetails field's value.
  7101  func (s *DeletePackageOutput) SetPackageDetails(v *PackageDetails) *DeletePackageOutput {
  7102  	s.PackageDetails = v
  7103  	return s
  7104  }
  7105  
  7106  // Container for the parameters to the DescribeDomainAutoTunes operation.
  7107  type DescribeDomainAutoTunesInput struct {
  7108  	_ struct{} `type:"structure"`
  7109  
  7110  	// The domain name for which you want Auto-Tune action details.
  7111  	//
  7112  	// DomainName is a required field
  7113  	DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"`
  7114  
  7115  	// Set this value to limit the number of results returned. If not specified,
  7116  	// defaults to 100.
  7117  	MaxResults *int64 `type:"integer"`
  7118  
  7119  	// NextToken is sent in case the earlier API call results contain the NextToken.
  7120  	// Used for pagination.
  7121  	NextToken *string `type:"string"`
  7122  }
  7123  
  7124  // String returns the string representation.
  7125  //
  7126  // API parameter values that are decorated as "sensitive" in the API will not
  7127  // be included in the string output. The member name will be present, but the
  7128  // value will be replaced with "sensitive".
  7129  func (s DescribeDomainAutoTunesInput) String() string {
  7130  	return awsutil.Prettify(s)
  7131  }
  7132  
  7133  // GoString returns the string representation.
  7134  //
  7135  // API parameter values that are decorated as "sensitive" in the API will not
  7136  // be included in the string output. The member name will be present, but the
  7137  // value will be replaced with "sensitive".
  7138  func (s DescribeDomainAutoTunesInput) GoString() string {
  7139  	return s.String()
  7140  }
  7141  
  7142  // Validate inspects the fields of the type to determine if they are valid.
  7143  func (s *DescribeDomainAutoTunesInput) Validate() error {
  7144  	invalidParams := request.ErrInvalidParams{Context: "DescribeDomainAutoTunesInput"}
  7145  	if s.DomainName == nil {
  7146  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  7147  	}
  7148  	if s.DomainName != nil && len(*s.DomainName) < 3 {
  7149  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
  7150  	}
  7151  
  7152  	if invalidParams.Len() > 0 {
  7153  		return invalidParams
  7154  	}
  7155  	return nil
  7156  }
  7157  
  7158  // SetDomainName sets the DomainName field's value.
  7159  func (s *DescribeDomainAutoTunesInput) SetDomainName(v string) *DescribeDomainAutoTunesInput {
  7160  	s.DomainName = &v
  7161  	return s
  7162  }
  7163  
  7164  // SetMaxResults sets the MaxResults field's value.
  7165  func (s *DescribeDomainAutoTunesInput) SetMaxResults(v int64) *DescribeDomainAutoTunesInput {
  7166  	s.MaxResults = &v
  7167  	return s
  7168  }
  7169  
  7170  // SetNextToken sets the NextToken field's value.
  7171  func (s *DescribeDomainAutoTunesInput) SetNextToken(v string) *DescribeDomainAutoTunesInput {
  7172  	s.NextToken = &v
  7173  	return s
  7174  }
  7175  
  7176  // The result of a DescribeDomainAutoTunes request. See Auto-Tune for Amazon
  7177  // OpenSearch Service (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/auto-tune.html)
  7178  // for more information.
  7179  type DescribeDomainAutoTunesOutput struct {
  7180  	_ struct{} `type:"structure"`
  7181  
  7182  	// The list of setting adjustments that Auto-Tune has made to the domain. See
  7183  	// Auto-Tune for Amazon OpenSearch Service (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/auto-tune.html)
  7184  	// for more information.
  7185  	AutoTunes []*AutoTune `type:"list"`
  7186  
  7187  	// An identifier to allow retrieval of paginated results.
  7188  	NextToken *string `type:"string"`
  7189  }
  7190  
  7191  // String returns the string representation.
  7192  //
  7193  // API parameter values that are decorated as "sensitive" in the API will not
  7194  // be included in the string output. The member name will be present, but the
  7195  // value will be replaced with "sensitive".
  7196  func (s DescribeDomainAutoTunesOutput) String() string {
  7197  	return awsutil.Prettify(s)
  7198  }
  7199  
  7200  // GoString returns the string representation.
  7201  //
  7202  // API parameter values that are decorated as "sensitive" in the API will not
  7203  // be included in the string output. The member name will be present, but the
  7204  // value will be replaced with "sensitive".
  7205  func (s DescribeDomainAutoTunesOutput) GoString() string {
  7206  	return s.String()
  7207  }
  7208  
  7209  // SetAutoTunes sets the AutoTunes field's value.
  7210  func (s *DescribeDomainAutoTunesOutput) SetAutoTunes(v []*AutoTune) *DescribeDomainAutoTunesOutput {
  7211  	s.AutoTunes = v
  7212  	return s
  7213  }
  7214  
  7215  // SetNextToken sets the NextToken field's value.
  7216  func (s *DescribeDomainAutoTunesOutput) SetNextToken(v string) *DescribeDomainAutoTunesOutput {
  7217  	s.NextToken = &v
  7218  	return s
  7219  }
  7220  
  7221  // Container for the parameters to the DescribeDomainConfig operation. Specifies
  7222  // the domain name for which you want configuration information.
  7223  type DescribeDomainConfigInput struct {
  7224  	_ struct{} `type:"structure" nopayload:"true"`
  7225  
  7226  	// The domain you want to get information about.
  7227  	//
  7228  	// DomainName is a required field
  7229  	DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"`
  7230  }
  7231  
  7232  // String returns the string representation.
  7233  //
  7234  // API parameter values that are decorated as "sensitive" in the API will not
  7235  // be included in the string output. The member name will be present, but the
  7236  // value will be replaced with "sensitive".
  7237  func (s DescribeDomainConfigInput) String() string {
  7238  	return awsutil.Prettify(s)
  7239  }
  7240  
  7241  // GoString returns the string representation.
  7242  //
  7243  // API parameter values that are decorated as "sensitive" in the API will not
  7244  // be included in the string output. The member name will be present, but the
  7245  // value will be replaced with "sensitive".
  7246  func (s DescribeDomainConfigInput) GoString() string {
  7247  	return s.String()
  7248  }
  7249  
  7250  // Validate inspects the fields of the type to determine if they are valid.
  7251  func (s *DescribeDomainConfigInput) Validate() error {
  7252  	invalidParams := request.ErrInvalidParams{Context: "DescribeDomainConfigInput"}
  7253  	if s.DomainName == nil {
  7254  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  7255  	}
  7256  	if s.DomainName != nil && len(*s.DomainName) < 3 {
  7257  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
  7258  	}
  7259  
  7260  	if invalidParams.Len() > 0 {
  7261  		return invalidParams
  7262  	}
  7263  	return nil
  7264  }
  7265  
  7266  // SetDomainName sets the DomainName field's value.
  7267  func (s *DescribeDomainConfigInput) SetDomainName(v string) *DescribeDomainConfigInput {
  7268  	s.DomainName = &v
  7269  	return s
  7270  }
  7271  
  7272  // The result of a DescribeDomainConfig request. Contains the configuration
  7273  // information of the requested domain.
  7274  type DescribeDomainConfigOutput struct {
  7275  	_ struct{} `type:"structure"`
  7276  
  7277  	// The configuration information of the domain requested in the DescribeDomainConfig
  7278  	// request.
  7279  	//
  7280  	// DomainConfig is a required field
  7281  	DomainConfig *DomainConfig `type:"structure" required:"true"`
  7282  }
  7283  
  7284  // String returns the string representation.
  7285  //
  7286  // API parameter values that are decorated as "sensitive" in the API will not
  7287  // be included in the string output. The member name will be present, but the
  7288  // value will be replaced with "sensitive".
  7289  func (s DescribeDomainConfigOutput) String() string {
  7290  	return awsutil.Prettify(s)
  7291  }
  7292  
  7293  // GoString returns the string representation.
  7294  //
  7295  // API parameter values that are decorated as "sensitive" in the API will not
  7296  // be included in the string output. The member name will be present, but the
  7297  // value will be replaced with "sensitive".
  7298  func (s DescribeDomainConfigOutput) GoString() string {
  7299  	return s.String()
  7300  }
  7301  
  7302  // SetDomainConfig sets the DomainConfig field's value.
  7303  func (s *DescribeDomainConfigOutput) SetDomainConfig(v *DomainConfig) *DescribeDomainConfigOutput {
  7304  	s.DomainConfig = v
  7305  	return s
  7306  }
  7307  
  7308  // Container for the parameters to the DescribeDomain operation.
  7309  type DescribeDomainInput struct {
  7310  	_ struct{} `type:"structure" nopayload:"true"`
  7311  
  7312  	// The name of the domain for which you want information.
  7313  	//
  7314  	// DomainName is a required field
  7315  	DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"`
  7316  }
  7317  
  7318  // String returns the string representation.
  7319  //
  7320  // API parameter values that are decorated as "sensitive" in the API will not
  7321  // be included in the string output. The member name will be present, but the
  7322  // value will be replaced with "sensitive".
  7323  func (s DescribeDomainInput) String() string {
  7324  	return awsutil.Prettify(s)
  7325  }
  7326  
  7327  // GoString returns the string representation.
  7328  //
  7329  // API parameter values that are decorated as "sensitive" in the API will not
  7330  // be included in the string output. The member name will be present, but the
  7331  // value will be replaced with "sensitive".
  7332  func (s DescribeDomainInput) GoString() string {
  7333  	return s.String()
  7334  }
  7335  
  7336  // Validate inspects the fields of the type to determine if they are valid.
  7337  func (s *DescribeDomainInput) Validate() error {
  7338  	invalidParams := request.ErrInvalidParams{Context: "DescribeDomainInput"}
  7339  	if s.DomainName == nil {
  7340  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  7341  	}
  7342  	if s.DomainName != nil && len(*s.DomainName) < 3 {
  7343  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
  7344  	}
  7345  
  7346  	if invalidParams.Len() > 0 {
  7347  		return invalidParams
  7348  	}
  7349  	return nil
  7350  }
  7351  
  7352  // SetDomainName sets the DomainName field's value.
  7353  func (s *DescribeDomainInput) SetDomainName(v string) *DescribeDomainInput {
  7354  	s.DomainName = &v
  7355  	return s
  7356  }
  7357  
  7358  // The result of a DescribeDomain request. Contains the status of the domain
  7359  // specified in the request.
  7360  type DescribeDomainOutput struct {
  7361  	_ struct{} `type:"structure"`
  7362  
  7363  	// The current status of the domain.
  7364  	//
  7365  	// DomainStatus is a required field
  7366  	DomainStatus *DomainStatus `type:"structure" required:"true"`
  7367  }
  7368  
  7369  // String returns the string representation.
  7370  //
  7371  // API parameter values that are decorated as "sensitive" in the API will not
  7372  // be included in the string output. The member name will be present, but the
  7373  // value will be replaced with "sensitive".
  7374  func (s DescribeDomainOutput) String() string {
  7375  	return awsutil.Prettify(s)
  7376  }
  7377  
  7378  // GoString returns the string representation.
  7379  //
  7380  // API parameter values that are decorated as "sensitive" in the API will not
  7381  // be included in the string output. The member name will be present, but the
  7382  // value will be replaced with "sensitive".
  7383  func (s DescribeDomainOutput) GoString() string {
  7384  	return s.String()
  7385  }
  7386  
  7387  // SetDomainStatus sets the DomainStatus field's value.
  7388  func (s *DescribeDomainOutput) SetDomainStatus(v *DomainStatus) *DescribeDomainOutput {
  7389  	s.DomainStatus = v
  7390  	return s
  7391  }
  7392  
  7393  // Container for the parameters to the DescribeDomains operation. By default,
  7394  // the API returns the status of all domains.
  7395  type DescribeDomainsInput struct {
  7396  	_ struct{} `type:"structure"`
  7397  
  7398  	// The domains for which you want information.
  7399  	//
  7400  	// DomainNames is a required field
  7401  	DomainNames []*string `type:"list" required:"true"`
  7402  }
  7403  
  7404  // String returns the string representation.
  7405  //
  7406  // API parameter values that are decorated as "sensitive" in the API will not
  7407  // be included in the string output. The member name will be present, but the
  7408  // value will be replaced with "sensitive".
  7409  func (s DescribeDomainsInput) String() string {
  7410  	return awsutil.Prettify(s)
  7411  }
  7412  
  7413  // GoString returns the string representation.
  7414  //
  7415  // API parameter values that are decorated as "sensitive" in the API will not
  7416  // be included in the string output. The member name will be present, but the
  7417  // value will be replaced with "sensitive".
  7418  func (s DescribeDomainsInput) GoString() string {
  7419  	return s.String()
  7420  }
  7421  
  7422  // Validate inspects the fields of the type to determine if they are valid.
  7423  func (s *DescribeDomainsInput) Validate() error {
  7424  	invalidParams := request.ErrInvalidParams{Context: "DescribeDomainsInput"}
  7425  	if s.DomainNames == nil {
  7426  		invalidParams.Add(request.NewErrParamRequired("DomainNames"))
  7427  	}
  7428  
  7429  	if invalidParams.Len() > 0 {
  7430  		return invalidParams
  7431  	}
  7432  	return nil
  7433  }
  7434  
  7435  // SetDomainNames sets the DomainNames field's value.
  7436  func (s *DescribeDomainsInput) SetDomainNames(v []*string) *DescribeDomainsInput {
  7437  	s.DomainNames = v
  7438  	return s
  7439  }
  7440  
  7441  // The result of a DescribeDomains request. Contains the status of the specified
  7442  // domains or all domains owned by the account.
  7443  type DescribeDomainsOutput struct {
  7444  	_ struct{} `type:"structure"`
  7445  
  7446  	// The status of the domains requested in the DescribeDomains request.
  7447  	//
  7448  	// DomainStatusList is a required field
  7449  	DomainStatusList []*DomainStatus `type:"list" required:"true"`
  7450  }
  7451  
  7452  // String returns the string representation.
  7453  //
  7454  // API parameter values that are decorated as "sensitive" in the API will not
  7455  // be included in the string output. The member name will be present, but the
  7456  // value will be replaced with "sensitive".
  7457  func (s DescribeDomainsOutput) String() string {
  7458  	return awsutil.Prettify(s)
  7459  }
  7460  
  7461  // GoString returns the string representation.
  7462  //
  7463  // API parameter values that are decorated as "sensitive" in the API will not
  7464  // be included in the string output. The member name will be present, but the
  7465  // value will be replaced with "sensitive".
  7466  func (s DescribeDomainsOutput) GoString() string {
  7467  	return s.String()
  7468  }
  7469  
  7470  // SetDomainStatusList sets the DomainStatusList field's value.
  7471  func (s *DescribeDomainsOutput) SetDomainStatusList(v []*DomainStatus) *DescribeDomainsOutput {
  7472  	s.DomainStatusList = v
  7473  	return s
  7474  }
  7475  
  7476  // Container for the parameters to the DescribeInboundConnections operation.
  7477  type DescribeInboundConnectionsInput struct {
  7478  	_ struct{} `type:"structure"`
  7479  
  7480  	// A list of filters used to match properties for inbound cross-cluster connections.
  7481  	// Available Filter values are:
  7482  	//    * connection-id
  7483  	//
  7484  	//    * local-domain-info.domain-name
  7485  	//
  7486  	//    * local-domain-info.owner-id
  7487  	//
  7488  	//    * local-domain-info.region
  7489  	//
  7490  	//    * remote-domain-info.domain-name
  7491  	Filters []*Filter `type:"list"`
  7492  
  7493  	// Set this value to limit the number of results returned. If not specified,
  7494  	// defaults to 100.
  7495  	MaxResults *int64 `type:"integer"`
  7496  
  7497  	// If more results are available and NextToken is present, make the next request
  7498  	// to the same API with the received NextToken to paginate the remaining results.
  7499  	NextToken *string `type:"string"`
  7500  }
  7501  
  7502  // String returns the string representation.
  7503  //
  7504  // API parameter values that are decorated as "sensitive" in the API will not
  7505  // be included in the string output. The member name will be present, but the
  7506  // value will be replaced with "sensitive".
  7507  func (s DescribeInboundConnectionsInput) String() string {
  7508  	return awsutil.Prettify(s)
  7509  }
  7510  
  7511  // GoString returns the string representation.
  7512  //
  7513  // API parameter values that are decorated as "sensitive" in the API will not
  7514  // be included in the string output. The member name will be present, but the
  7515  // value will be replaced with "sensitive".
  7516  func (s DescribeInboundConnectionsInput) GoString() string {
  7517  	return s.String()
  7518  }
  7519  
  7520  // Validate inspects the fields of the type to determine if they are valid.
  7521  func (s *DescribeInboundConnectionsInput) Validate() error {
  7522  	invalidParams := request.ErrInvalidParams{Context: "DescribeInboundConnectionsInput"}
  7523  	if s.Filters != nil {
  7524  		for i, v := range s.Filters {
  7525  			if v == nil {
  7526  				continue
  7527  			}
  7528  			if err := v.Validate(); err != nil {
  7529  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
  7530  			}
  7531  		}
  7532  	}
  7533  
  7534  	if invalidParams.Len() > 0 {
  7535  		return invalidParams
  7536  	}
  7537  	return nil
  7538  }
  7539  
  7540  // SetFilters sets the Filters field's value.
  7541  func (s *DescribeInboundConnectionsInput) SetFilters(v []*Filter) *DescribeInboundConnectionsInput {
  7542  	s.Filters = v
  7543  	return s
  7544  }
  7545  
  7546  // SetMaxResults sets the MaxResults field's value.
  7547  func (s *DescribeInboundConnectionsInput) SetMaxResults(v int64) *DescribeInboundConnectionsInput {
  7548  	s.MaxResults = &v
  7549  	return s
  7550  }
  7551  
  7552  // SetNextToken sets the NextToken field's value.
  7553  func (s *DescribeInboundConnectionsInput) SetNextToken(v string) *DescribeInboundConnectionsInput {
  7554  	s.NextToken = &v
  7555  	return s
  7556  }
  7557  
  7558  // The result of a DescribeInboundConnections request. Contains a list of connections
  7559  // matching the filter criteria.
  7560  type DescribeInboundConnectionsOutput struct {
  7561  	_ struct{} `type:"structure"`
  7562  
  7563  	// A list of InboundConnection matching the specified filter criteria.
  7564  	Connections []*InboundConnection `type:"list"`
  7565  
  7566  	// If more results are available and NextToken is present, make the next request
  7567  	// to the same API with the received NextToken to paginate the remaining results.
  7568  	NextToken *string `type:"string"`
  7569  }
  7570  
  7571  // String returns the string representation.
  7572  //
  7573  // API parameter values that are decorated as "sensitive" in the API will not
  7574  // be included in the string output. The member name will be present, but the
  7575  // value will be replaced with "sensitive".
  7576  func (s DescribeInboundConnectionsOutput) String() string {
  7577  	return awsutil.Prettify(s)
  7578  }
  7579  
  7580  // GoString returns the string representation.
  7581  //
  7582  // API parameter values that are decorated as "sensitive" in the API will not
  7583  // be included in the string output. The member name will be present, but the
  7584  // value will be replaced with "sensitive".
  7585  func (s DescribeInboundConnectionsOutput) GoString() string {
  7586  	return s.String()
  7587  }
  7588  
  7589  // SetConnections sets the Connections field's value.
  7590  func (s *DescribeInboundConnectionsOutput) SetConnections(v []*InboundConnection) *DescribeInboundConnectionsOutput {
  7591  	s.Connections = v
  7592  	return s
  7593  }
  7594  
  7595  // SetNextToken sets the NextToken field's value.
  7596  func (s *DescribeInboundConnectionsOutput) SetNextToken(v string) *DescribeInboundConnectionsOutput {
  7597  	s.NextToken = &v
  7598  	return s
  7599  }
  7600  
  7601  // Container for the parameters to the DescribeInstanceTypeLimits operation.
  7602  type DescribeInstanceTypeLimitsInput struct {
  7603  	_ struct{} `type:"structure" nopayload:"true"`
  7604  
  7605  	// The name of the domain you want to modify. Only include this value if you're
  7606  	// querying OpenSearch Limits for an existing domain.
  7607  	DomainName *string `location:"querystring" locationName:"domainName" min:"3" type:"string"`
  7608  
  7609  	// Version of OpenSearch for which Limits are needed.
  7610  	//
  7611  	// EngineVersion is a required field
  7612  	EngineVersion *string `location:"uri" locationName:"EngineVersion" min:"14" type:"string" required:"true"`
  7613  
  7614  	// The instance type for an OpenSearch cluster for which OpenSearch Limits are
  7615  	// needed.
  7616  	//
  7617  	// InstanceType is a required field
  7618  	InstanceType *string `location:"uri" locationName:"InstanceType" type:"string" required:"true" enum:"OpenSearchPartitionInstanceType"`
  7619  }
  7620  
  7621  // String returns the string representation.
  7622  //
  7623  // API parameter values that are decorated as "sensitive" in the API will not
  7624  // be included in the string output. The member name will be present, but the
  7625  // value will be replaced with "sensitive".
  7626  func (s DescribeInstanceTypeLimitsInput) String() string {
  7627  	return awsutil.Prettify(s)
  7628  }
  7629  
  7630  // GoString returns the string representation.
  7631  //
  7632  // API parameter values that are decorated as "sensitive" in the API will not
  7633  // be included in the string output. The member name will be present, but the
  7634  // value will be replaced with "sensitive".
  7635  func (s DescribeInstanceTypeLimitsInput) GoString() string {
  7636  	return s.String()
  7637  }
  7638  
  7639  // Validate inspects the fields of the type to determine if they are valid.
  7640  func (s *DescribeInstanceTypeLimitsInput) Validate() error {
  7641  	invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceTypeLimitsInput"}
  7642  	if s.DomainName != nil && len(*s.DomainName) < 3 {
  7643  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
  7644  	}
  7645  	if s.EngineVersion == nil {
  7646  		invalidParams.Add(request.NewErrParamRequired("EngineVersion"))
  7647  	}
  7648  	if s.EngineVersion != nil && len(*s.EngineVersion) < 14 {
  7649  		invalidParams.Add(request.NewErrParamMinLen("EngineVersion", 14))
  7650  	}
  7651  	if s.InstanceType == nil {
  7652  		invalidParams.Add(request.NewErrParamRequired("InstanceType"))
  7653  	}
  7654  	if s.InstanceType != nil && len(*s.InstanceType) < 1 {
  7655  		invalidParams.Add(request.NewErrParamMinLen("InstanceType", 1))
  7656  	}
  7657  
  7658  	if invalidParams.Len() > 0 {
  7659  		return invalidParams
  7660  	}
  7661  	return nil
  7662  }
  7663  
  7664  // SetDomainName sets the DomainName field's value.
  7665  func (s *DescribeInstanceTypeLimitsInput) SetDomainName(v string) *DescribeInstanceTypeLimitsInput {
  7666  	s.DomainName = &v
  7667  	return s
  7668  }
  7669  
  7670  // SetEngineVersion sets the EngineVersion field's value.
  7671  func (s *DescribeInstanceTypeLimitsInput) SetEngineVersion(v string) *DescribeInstanceTypeLimitsInput {
  7672  	s.EngineVersion = &v
  7673  	return s
  7674  }
  7675  
  7676  // SetInstanceType sets the InstanceType field's value.
  7677  func (s *DescribeInstanceTypeLimitsInput) SetInstanceType(v string) *DescribeInstanceTypeLimitsInput {
  7678  	s.InstanceType = &v
  7679  	return s
  7680  }
  7681  
  7682  // Container for the parameters received from the DescribeInstanceTypeLimits
  7683  // operation.
  7684  type DescribeInstanceTypeLimitsOutput struct {
  7685  	_ struct{} `type:"structure"`
  7686  
  7687  	// The role of a given instance and all applicable limits. The role performed
  7688  	// by a given OpenSearch instance can be one of the following:
  7689  	//    * data: If the given InstanceType is used as a data node
  7690  	//
  7691  	//    * master: If the given InstanceType is used as a master node
  7692  	//
  7693  	//    * ultra_warm: If the given InstanceType is used as a warm node
  7694  	LimitsByRole map[string]*Limits `type:"map"`
  7695  }
  7696  
  7697  // String returns the string representation.
  7698  //
  7699  // API parameter values that are decorated as "sensitive" in the API will not
  7700  // be included in the string output. The member name will be present, but the
  7701  // value will be replaced with "sensitive".
  7702  func (s DescribeInstanceTypeLimitsOutput) String() string {
  7703  	return awsutil.Prettify(s)
  7704  }
  7705  
  7706  // GoString returns the string representation.
  7707  //
  7708  // API parameter values that are decorated as "sensitive" in the API will not
  7709  // be included in the string output. The member name will be present, but the
  7710  // value will be replaced with "sensitive".
  7711  func (s DescribeInstanceTypeLimitsOutput) GoString() string {
  7712  	return s.String()
  7713  }
  7714  
  7715  // SetLimitsByRole sets the LimitsByRole field's value.
  7716  func (s *DescribeInstanceTypeLimitsOutput) SetLimitsByRole(v map[string]*Limits) *DescribeInstanceTypeLimitsOutput {
  7717  	s.LimitsByRole = v
  7718  	return s
  7719  }
  7720  
  7721  // Container for the parameters to the DescribeOutboundConnections operation.
  7722  type DescribeOutboundConnectionsInput struct {
  7723  	_ struct{} `type:"structure"`
  7724  
  7725  	// A list of filters used to match properties for outbound cross-cluster connections.
  7726  	// Available Filter names for this operation are:
  7727  	//    * connection-id
  7728  	//
  7729  	//    * remote-domain-info.domain-name
  7730  	//
  7731  	//    * remote-domain-info.owner-id
  7732  	//
  7733  	//    * remote-domain-info.region
  7734  	//
  7735  	//    * local-domain-info.domain-name
  7736  	Filters []*Filter `type:"list"`
  7737  
  7738  	// Set this value to limit the number of results returned. If not specified,
  7739  	// defaults to 100.
  7740  	MaxResults *int64 `type:"integer"`
  7741  
  7742  	// NextToken is sent in case the earlier API call results contain the NextToken
  7743  	// parameter. Used for pagination.
  7744  	NextToken *string `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 DescribeOutboundConnectionsInput) 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 DescribeOutboundConnectionsInput) GoString() string {
  7762  	return s.String()
  7763  }
  7764  
  7765  // Validate inspects the fields of the type to determine if they are valid.
  7766  func (s *DescribeOutboundConnectionsInput) Validate() error {
  7767  	invalidParams := request.ErrInvalidParams{Context: "DescribeOutboundConnectionsInput"}
  7768  	if s.Filters != nil {
  7769  		for i, v := range s.Filters {
  7770  			if v == nil {
  7771  				continue
  7772  			}
  7773  			if err := v.Validate(); err != nil {
  7774  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
  7775  			}
  7776  		}
  7777  	}
  7778  
  7779  	if invalidParams.Len() > 0 {
  7780  		return invalidParams
  7781  	}
  7782  	return nil
  7783  }
  7784  
  7785  // SetFilters sets the Filters field's value.
  7786  func (s *DescribeOutboundConnectionsInput) SetFilters(v []*Filter) *DescribeOutboundConnectionsInput {
  7787  	s.Filters = v
  7788  	return s
  7789  }
  7790  
  7791  // SetMaxResults sets the MaxResults field's value.
  7792  func (s *DescribeOutboundConnectionsInput) SetMaxResults(v int64) *DescribeOutboundConnectionsInput {
  7793  	s.MaxResults = &v
  7794  	return s
  7795  }
  7796  
  7797  // SetNextToken sets the NextToken field's value.
  7798  func (s *DescribeOutboundConnectionsInput) SetNextToken(v string) *DescribeOutboundConnectionsInput {
  7799  	s.NextToken = &v
  7800  	return s
  7801  }
  7802  
  7803  // The result of a DescribeOutboundConnections request. Contains the list of
  7804  // connections matching the filter criteria.
  7805  type DescribeOutboundConnectionsOutput struct {
  7806  	_ struct{} `type:"structure"`
  7807  
  7808  	// A list of OutboundConnection matching the specified filter criteria.
  7809  	Connections []*OutboundConnection `type:"list"`
  7810  
  7811  	// If more results are available and NextToken is present, make the next request
  7812  	// to the same API with the received NextToken to paginate the remaining results.
  7813  	NextToken *string `type:"string"`
  7814  }
  7815  
  7816  // String returns the string representation.
  7817  //
  7818  // API parameter values that are decorated as "sensitive" in the API will not
  7819  // be included in the string output. The member name will be present, but the
  7820  // value will be replaced with "sensitive".
  7821  func (s DescribeOutboundConnectionsOutput) String() string {
  7822  	return awsutil.Prettify(s)
  7823  }
  7824  
  7825  // GoString returns the string representation.
  7826  //
  7827  // API parameter values that are decorated as "sensitive" in the API will not
  7828  // be included in the string output. The member name will be present, but the
  7829  // value will be replaced with "sensitive".
  7830  func (s DescribeOutboundConnectionsOutput) GoString() string {
  7831  	return s.String()
  7832  }
  7833  
  7834  // SetConnections sets the Connections field's value.
  7835  func (s *DescribeOutboundConnectionsOutput) SetConnections(v []*OutboundConnection) *DescribeOutboundConnectionsOutput {
  7836  	s.Connections = v
  7837  	return s
  7838  }
  7839  
  7840  // SetNextToken sets the NextToken field's value.
  7841  func (s *DescribeOutboundConnectionsOutput) SetNextToken(v string) *DescribeOutboundConnectionsOutput {
  7842  	s.NextToken = &v
  7843  	return s
  7844  }
  7845  
  7846  // A filter to apply to the DescribePackage response.
  7847  type DescribePackagesFilter struct {
  7848  	_ struct{} `type:"structure"`
  7849  
  7850  	// Any field from PackageDetails.
  7851  	Name *string `type:"string" enum:"DescribePackagesFilterName"`
  7852  
  7853  	// A list of values for the specified field.
  7854  	Value []*string `type:"list"`
  7855  }
  7856  
  7857  // String returns the string representation.
  7858  //
  7859  // API parameter values that are decorated as "sensitive" in the API will not
  7860  // be included in the string output. The member name will be present, but the
  7861  // value will be replaced with "sensitive".
  7862  func (s DescribePackagesFilter) String() string {
  7863  	return awsutil.Prettify(s)
  7864  }
  7865  
  7866  // GoString returns the string representation.
  7867  //
  7868  // API parameter values that are decorated as "sensitive" in the API will not
  7869  // be included in the string output. The member name will be present, but the
  7870  // value will be replaced with "sensitive".
  7871  func (s DescribePackagesFilter) GoString() string {
  7872  	return s.String()
  7873  }
  7874  
  7875  // SetName sets the Name field's value.
  7876  func (s *DescribePackagesFilter) SetName(v string) *DescribePackagesFilter {
  7877  	s.Name = &v
  7878  	return s
  7879  }
  7880  
  7881  // SetValue sets the Value field's value.
  7882  func (s *DescribePackagesFilter) SetValue(v []*string) *DescribePackagesFilter {
  7883  	s.Value = v
  7884  	return s
  7885  }
  7886  
  7887  // Container for the request parameters to the DescribePackage operation.
  7888  type DescribePackagesInput struct {
  7889  	_ struct{} `type:"structure"`
  7890  
  7891  	// Only returns packages that match the DescribePackagesFilterList values.
  7892  	Filters []*DescribePackagesFilter `type:"list"`
  7893  
  7894  	// Limits results to a maximum number of packages.
  7895  	MaxResults *int64 `type:"integer"`
  7896  
  7897  	// Used for pagination. Only necessary if a previous API call includes a non-null
  7898  	// NextToken value. If provided, returns results for the next page.
  7899  	NextToken *string `type:"string"`
  7900  }
  7901  
  7902  // String returns the string representation.
  7903  //
  7904  // API parameter values that are decorated as "sensitive" in the API will not
  7905  // be included in the string output. The member name will be present, but the
  7906  // value will be replaced with "sensitive".
  7907  func (s DescribePackagesInput) String() string {
  7908  	return awsutil.Prettify(s)
  7909  }
  7910  
  7911  // GoString returns the string representation.
  7912  //
  7913  // API parameter values that are decorated as "sensitive" in the API will not
  7914  // be included in the string output. The member name will be present, but the
  7915  // value will be replaced with "sensitive".
  7916  func (s DescribePackagesInput) GoString() string {
  7917  	return s.String()
  7918  }
  7919  
  7920  // SetFilters sets the Filters field's value.
  7921  func (s *DescribePackagesInput) SetFilters(v []*DescribePackagesFilter) *DescribePackagesInput {
  7922  	s.Filters = v
  7923  	return s
  7924  }
  7925  
  7926  // SetMaxResults sets the MaxResults field's value.
  7927  func (s *DescribePackagesInput) SetMaxResults(v int64) *DescribePackagesInput {
  7928  	s.MaxResults = &v
  7929  	return s
  7930  }
  7931  
  7932  // SetNextToken sets the NextToken field's value.
  7933  func (s *DescribePackagesInput) SetNextToken(v string) *DescribePackagesInput {
  7934  	s.NextToken = &v
  7935  	return s
  7936  }
  7937  
  7938  // Container for the response returned by the DescribePackages operation.
  7939  type DescribePackagesOutput struct {
  7940  	_ struct{} `type:"structure"`
  7941  
  7942  	NextToken *string `type:"string"`
  7943  
  7944  	// List of PackageDetails objects.
  7945  	PackageDetailsList []*PackageDetails `type:"list"`
  7946  }
  7947  
  7948  // String returns the string representation.
  7949  //
  7950  // API parameter values that are decorated as "sensitive" in the API will not
  7951  // be included in the string output. The member name will be present, but the
  7952  // value will be replaced with "sensitive".
  7953  func (s DescribePackagesOutput) String() string {
  7954  	return awsutil.Prettify(s)
  7955  }
  7956  
  7957  // GoString returns the string representation.
  7958  //
  7959  // API parameter values that are decorated as "sensitive" in the API will not
  7960  // be included in the string output. The member name will be present, but the
  7961  // value will be replaced with "sensitive".
  7962  func (s DescribePackagesOutput) GoString() string {
  7963  	return s.String()
  7964  }
  7965  
  7966  // SetNextToken sets the NextToken field's value.
  7967  func (s *DescribePackagesOutput) SetNextToken(v string) *DescribePackagesOutput {
  7968  	s.NextToken = &v
  7969  	return s
  7970  }
  7971  
  7972  // SetPackageDetailsList sets the PackageDetailsList field's value.
  7973  func (s *DescribePackagesOutput) SetPackageDetailsList(v []*PackageDetails) *DescribePackagesOutput {
  7974  	s.PackageDetailsList = v
  7975  	return s
  7976  }
  7977  
  7978  // Container for parameters to DescribeReservedInstanceOfferings
  7979  type DescribeReservedInstanceOfferingsInput struct {
  7980  	_ struct{} `type:"structure" nopayload:"true"`
  7981  
  7982  	// Set this value to limit the number of results returned. If not specified,
  7983  	// defaults to 100.
  7984  	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
  7985  
  7986  	// Provides an identifier to allow retrieval of paginated results.
  7987  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
  7988  
  7989  	// The offering identifier filter value. Use this parameter to show only the
  7990  	// available offering that matches the specified reservation identifier.
  7991  	ReservedInstanceOfferingId *string `location:"querystring" locationName:"offeringId" min:"36" type:"string"`
  7992  }
  7993  
  7994  // String returns the string representation.
  7995  //
  7996  // API parameter values that are decorated as "sensitive" in the API will not
  7997  // be included in the string output. The member name will be present, but the
  7998  // value will be replaced with "sensitive".
  7999  func (s DescribeReservedInstanceOfferingsInput) String() string {
  8000  	return awsutil.Prettify(s)
  8001  }
  8002  
  8003  // GoString returns the string representation.
  8004  //
  8005  // API parameter values that are decorated as "sensitive" in the API will not
  8006  // be included in the string output. The member name will be present, but the
  8007  // value will be replaced with "sensitive".
  8008  func (s DescribeReservedInstanceOfferingsInput) GoString() string {
  8009  	return s.String()
  8010  }
  8011  
  8012  // Validate inspects the fields of the type to determine if they are valid.
  8013  func (s *DescribeReservedInstanceOfferingsInput) Validate() error {
  8014  	invalidParams := request.ErrInvalidParams{Context: "DescribeReservedInstanceOfferingsInput"}
  8015  	if s.ReservedInstanceOfferingId != nil && len(*s.ReservedInstanceOfferingId) < 36 {
  8016  		invalidParams.Add(request.NewErrParamMinLen("ReservedInstanceOfferingId", 36))
  8017  	}
  8018  
  8019  	if invalidParams.Len() > 0 {
  8020  		return invalidParams
  8021  	}
  8022  	return nil
  8023  }
  8024  
  8025  // SetMaxResults sets the MaxResults field's value.
  8026  func (s *DescribeReservedInstanceOfferingsInput) SetMaxResults(v int64) *DescribeReservedInstanceOfferingsInput {
  8027  	s.MaxResults = &v
  8028  	return s
  8029  }
  8030  
  8031  // SetNextToken sets the NextToken field's value.
  8032  func (s *DescribeReservedInstanceOfferingsInput) SetNextToken(v string) *DescribeReservedInstanceOfferingsInput {
  8033  	s.NextToken = &v
  8034  	return s
  8035  }
  8036  
  8037  // SetReservedInstanceOfferingId sets the ReservedInstanceOfferingId field's value.
  8038  func (s *DescribeReservedInstanceOfferingsInput) SetReservedInstanceOfferingId(v string) *DescribeReservedInstanceOfferingsInput {
  8039  	s.ReservedInstanceOfferingId = &v
  8040  	return s
  8041  }
  8042  
  8043  // Container for results from DescribeReservedInstanceOfferings
  8044  type DescribeReservedInstanceOfferingsOutput struct {
  8045  	_ struct{} `type:"structure"`
  8046  
  8047  	// Provides an identifier to allow retrieval of paginated results.
  8048  	NextToken *string `type:"string"`
  8049  
  8050  	// List of reserved OpenSearch instance offerings
  8051  	ReservedInstanceOfferings []*ReservedInstanceOffering `type:"list"`
  8052  }
  8053  
  8054  // String returns the string representation.
  8055  //
  8056  // API parameter values that are decorated as "sensitive" in the API will not
  8057  // be included in the string output. The member name will be present, but the
  8058  // value will be replaced with "sensitive".
  8059  func (s DescribeReservedInstanceOfferingsOutput) String() string {
  8060  	return awsutil.Prettify(s)
  8061  }
  8062  
  8063  // GoString returns the string representation.
  8064  //
  8065  // API parameter values that are decorated as "sensitive" in the API will not
  8066  // be included in the string output. The member name will be present, but the
  8067  // value will be replaced with "sensitive".
  8068  func (s DescribeReservedInstanceOfferingsOutput) GoString() string {
  8069  	return s.String()
  8070  }
  8071  
  8072  // SetNextToken sets the NextToken field's value.
  8073  func (s *DescribeReservedInstanceOfferingsOutput) SetNextToken(v string) *DescribeReservedInstanceOfferingsOutput {
  8074  	s.NextToken = &v
  8075  	return s
  8076  }
  8077  
  8078  // SetReservedInstanceOfferings sets the ReservedInstanceOfferings field's value.
  8079  func (s *DescribeReservedInstanceOfferingsOutput) SetReservedInstanceOfferings(v []*ReservedInstanceOffering) *DescribeReservedInstanceOfferingsOutput {
  8080  	s.ReservedInstanceOfferings = v
  8081  	return s
  8082  }
  8083  
  8084  // Container for parameters to DescribeReservedInstances
  8085  type DescribeReservedInstancesInput struct {
  8086  	_ struct{} `type:"structure" nopayload:"true"`
  8087  
  8088  	// Set this value to limit the number of results returned. If not specified,
  8089  	// defaults to 100.
  8090  	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
  8091  
  8092  	// Provides an identifier to allow retrieval of paginated results.
  8093  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
  8094  
  8095  	// The reserved instance identifier filter value. Use this parameter to show
  8096  	// only the reservation that matches the specified reserved OpenSearch instance
  8097  	// ID.
  8098  	ReservedInstanceId *string `location:"querystring" locationName:"reservationId" min:"36" type:"string"`
  8099  }
  8100  
  8101  // String returns the string representation.
  8102  //
  8103  // API parameter values that are decorated as "sensitive" in the API will not
  8104  // be included in the string output. The member name will be present, but the
  8105  // value will be replaced with "sensitive".
  8106  func (s DescribeReservedInstancesInput) String() string {
  8107  	return awsutil.Prettify(s)
  8108  }
  8109  
  8110  // GoString 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 DescribeReservedInstancesInput) GoString() string {
  8116  	return s.String()
  8117  }
  8118  
  8119  // Validate inspects the fields of the type to determine if they are valid.
  8120  func (s *DescribeReservedInstancesInput) Validate() error {
  8121  	invalidParams := request.ErrInvalidParams{Context: "DescribeReservedInstancesInput"}
  8122  	if s.ReservedInstanceId != nil && len(*s.ReservedInstanceId) < 36 {
  8123  		invalidParams.Add(request.NewErrParamMinLen("ReservedInstanceId", 36))
  8124  	}
  8125  
  8126  	if invalidParams.Len() > 0 {
  8127  		return invalidParams
  8128  	}
  8129  	return nil
  8130  }
  8131  
  8132  // SetMaxResults sets the MaxResults field's value.
  8133  func (s *DescribeReservedInstancesInput) SetMaxResults(v int64) *DescribeReservedInstancesInput {
  8134  	s.MaxResults = &v
  8135  	return s
  8136  }
  8137  
  8138  // SetNextToken sets the NextToken field's value.
  8139  func (s *DescribeReservedInstancesInput) SetNextToken(v string) *DescribeReservedInstancesInput {
  8140  	s.NextToken = &v
  8141  	return s
  8142  }
  8143  
  8144  // SetReservedInstanceId sets the ReservedInstanceId field's value.
  8145  func (s *DescribeReservedInstancesInput) SetReservedInstanceId(v string) *DescribeReservedInstancesInput {
  8146  	s.ReservedInstanceId = &v
  8147  	return s
  8148  }
  8149  
  8150  // Container for results from DescribeReservedInstances
  8151  type DescribeReservedInstancesOutput struct {
  8152  	_ struct{} `type:"structure"`
  8153  
  8154  	// Provides an identifier to allow retrieval of paginated results.
  8155  	NextToken *string `type:"string"`
  8156  
  8157  	// List of reserved OpenSearch instances.
  8158  	ReservedInstances []*ReservedInstance `type:"list"`
  8159  }
  8160  
  8161  // String returns the string representation.
  8162  //
  8163  // API parameter values that are decorated as "sensitive" in the API will not
  8164  // be included in the string output. The member name will be present, but the
  8165  // value will be replaced with "sensitive".
  8166  func (s DescribeReservedInstancesOutput) String() string {
  8167  	return awsutil.Prettify(s)
  8168  }
  8169  
  8170  // GoString returns the string representation.
  8171  //
  8172  // API parameter values that are decorated as "sensitive" in the API will not
  8173  // be included in the string output. The member name will be present, but the
  8174  // value will be replaced with "sensitive".
  8175  func (s DescribeReservedInstancesOutput) GoString() string {
  8176  	return s.String()
  8177  }
  8178  
  8179  // SetNextToken sets the NextToken field's value.
  8180  func (s *DescribeReservedInstancesOutput) SetNextToken(v string) *DescribeReservedInstancesOutput {
  8181  	s.NextToken = &v
  8182  	return s
  8183  }
  8184  
  8185  // SetReservedInstances sets the ReservedInstances field's value.
  8186  func (s *DescribeReservedInstancesOutput) SetReservedInstances(v []*ReservedInstance) *DescribeReservedInstancesOutput {
  8187  	s.ReservedInstances = v
  8188  	return s
  8189  }
  8190  
  8191  // An error occured because the client wanted to access a not supported operation.
  8192  // Gives http status code of 409.
  8193  type DisabledOperationException struct {
  8194  	_            struct{}                  `type:"structure"`
  8195  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8196  
  8197  	Message_ *string `locationName:"message" type:"string"`
  8198  }
  8199  
  8200  // String returns the string representation.
  8201  //
  8202  // API parameter values that are decorated as "sensitive" in the API will not
  8203  // be included in the string output. The member name will be present, but the
  8204  // value will be replaced with "sensitive".
  8205  func (s DisabledOperationException) String() string {
  8206  	return awsutil.Prettify(s)
  8207  }
  8208  
  8209  // GoString returns the string representation.
  8210  //
  8211  // API parameter values that are decorated as "sensitive" in the API will not
  8212  // be included in the string output. The member name will be present, but the
  8213  // value will be replaced with "sensitive".
  8214  func (s DisabledOperationException) GoString() string {
  8215  	return s.String()
  8216  }
  8217  
  8218  func newErrorDisabledOperationException(v protocol.ResponseMetadata) error {
  8219  	return &DisabledOperationException{
  8220  		RespMetadata: v,
  8221  	}
  8222  }
  8223  
  8224  // Code returns the exception type name.
  8225  func (s *DisabledOperationException) Code() string {
  8226  	return "DisabledOperationException"
  8227  }
  8228  
  8229  // Message returns the exception's message.
  8230  func (s *DisabledOperationException) Message() string {
  8231  	if s.Message_ != nil {
  8232  		return *s.Message_
  8233  	}
  8234  	return ""
  8235  }
  8236  
  8237  // OrigErr always returns nil, satisfies awserr.Error interface.
  8238  func (s *DisabledOperationException) OrigErr() error {
  8239  	return nil
  8240  }
  8241  
  8242  func (s *DisabledOperationException) Error() string {
  8243  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  8244  }
  8245  
  8246  // Status code returns the HTTP status code for the request's response error.
  8247  func (s *DisabledOperationException) StatusCode() int {
  8248  	return s.RespMetadata.StatusCode
  8249  }
  8250  
  8251  // RequestID returns the service's response RequestID for request.
  8252  func (s *DisabledOperationException) RequestID() string {
  8253  	return s.RespMetadata.RequestID
  8254  }
  8255  
  8256  // Container for the request parameters to the DissociatePackage operation.
  8257  type DissociatePackageInput struct {
  8258  	_ struct{} `type:"structure" nopayload:"true"`
  8259  
  8260  	// The name of the domain to associate the package with.
  8261  	//
  8262  	// DomainName is a required field
  8263  	DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"`
  8264  
  8265  	// The internal ID of the package to associate with a domain. Use DescribePackages
  8266  	// to find this value.
  8267  	//
  8268  	// PackageID is a required field
  8269  	PackageID *string `location:"uri" locationName:"PackageID" type:"string" required:"true"`
  8270  }
  8271  
  8272  // String returns the string representation.
  8273  //
  8274  // API parameter values that are decorated as "sensitive" in the API will not
  8275  // be included in the string output. The member name will be present, but the
  8276  // value will be replaced with "sensitive".
  8277  func (s DissociatePackageInput) String() string {
  8278  	return awsutil.Prettify(s)
  8279  }
  8280  
  8281  // GoString returns the string representation.
  8282  //
  8283  // API parameter values that are decorated as "sensitive" in the API will not
  8284  // be included in the string output. The member name will be present, but the
  8285  // value will be replaced with "sensitive".
  8286  func (s DissociatePackageInput) GoString() string {
  8287  	return s.String()
  8288  }
  8289  
  8290  // Validate inspects the fields of the type to determine if they are valid.
  8291  func (s *DissociatePackageInput) Validate() error {
  8292  	invalidParams := request.ErrInvalidParams{Context: "DissociatePackageInput"}
  8293  	if s.DomainName == nil {
  8294  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  8295  	}
  8296  	if s.DomainName != nil && len(*s.DomainName) < 3 {
  8297  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
  8298  	}
  8299  	if s.PackageID == nil {
  8300  		invalidParams.Add(request.NewErrParamRequired("PackageID"))
  8301  	}
  8302  	if s.PackageID != nil && len(*s.PackageID) < 1 {
  8303  		invalidParams.Add(request.NewErrParamMinLen("PackageID", 1))
  8304  	}
  8305  
  8306  	if invalidParams.Len() > 0 {
  8307  		return invalidParams
  8308  	}
  8309  	return nil
  8310  }
  8311  
  8312  // SetDomainName sets the DomainName field's value.
  8313  func (s *DissociatePackageInput) SetDomainName(v string) *DissociatePackageInput {
  8314  	s.DomainName = &v
  8315  	return s
  8316  }
  8317  
  8318  // SetPackageID sets the PackageID field's value.
  8319  func (s *DissociatePackageInput) SetPackageID(v string) *DissociatePackageInput {
  8320  	s.PackageID = &v
  8321  	return s
  8322  }
  8323  
  8324  // Container for the response returned by DissociatePackage operation.
  8325  type DissociatePackageOutput struct {
  8326  	_ struct{} `type:"structure"`
  8327  
  8328  	// DomainPackageDetails
  8329  	DomainPackageDetails *DomainPackageDetails `type:"structure"`
  8330  }
  8331  
  8332  // String returns the string representation.
  8333  //
  8334  // API parameter values that are decorated as "sensitive" in the API will not
  8335  // be included in the string output. The member name will be present, but the
  8336  // value will be replaced with "sensitive".
  8337  func (s DissociatePackageOutput) String() string {
  8338  	return awsutil.Prettify(s)
  8339  }
  8340  
  8341  // GoString returns the string representation.
  8342  //
  8343  // API parameter values that are decorated as "sensitive" in the API will not
  8344  // be included in the string output. The member name will be present, but the
  8345  // value will be replaced with "sensitive".
  8346  func (s DissociatePackageOutput) GoString() string {
  8347  	return s.String()
  8348  }
  8349  
  8350  // SetDomainPackageDetails sets the DomainPackageDetails field's value.
  8351  func (s *DissociatePackageOutput) SetDomainPackageDetails(v *DomainPackageDetails) *DissociatePackageOutput {
  8352  	s.DomainPackageDetails = v
  8353  	return s
  8354  }
  8355  
  8356  // The configuration of a domain.
  8357  type DomainConfig struct {
  8358  	_ struct{} `type:"structure"`
  8359  
  8360  	// IAM access policy as a JSON-formatted string.
  8361  	AccessPolicies *AccessPoliciesStatus `type:"structure"`
  8362  
  8363  	// The AdvancedOptions for the domain. See Advanced options (http://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html#createdomain-configure-advanced-options)
  8364  	// for more information.
  8365  	AdvancedOptions *AdvancedOptionsStatus `type:"structure"`
  8366  
  8367  	// Specifies AdvancedSecurityOptions for the domain.
  8368  	AdvancedSecurityOptions *AdvancedSecurityOptionsStatus `type:"structure"`
  8369  
  8370  	// Specifies AutoTuneOptions for the domain.
  8371  	AutoTuneOptions *AutoTuneOptionsStatus `type:"structure"`
  8372  
  8373  	// The ClusterConfig for the domain.
  8374  	ClusterConfig *ClusterConfigStatus `type:"structure"`
  8375  
  8376  	// The CognitoOptions for the specified domain. For more information, see Configuring
  8377  	// Amazon Cognito authentication for OpenSearch Dashboards (http://docs.aws.amazon.com/opensearch-service/latest/developerguide/cognito-auth.html).
  8378  	CognitoOptions *CognitoOptionsStatus `type:"structure"`
  8379  
  8380  	// The DomainEndpointOptions for the domain.
  8381  	DomainEndpointOptions *DomainEndpointOptionsStatus `type:"structure"`
  8382  
  8383  	// The EBSOptions for the domain.
  8384  	EBSOptions *EBSOptionsStatus `type:"structure"`
  8385  
  8386  	// The EncryptionAtRestOptions for the domain.
  8387  	EncryptionAtRestOptions *EncryptionAtRestOptionsStatus `type:"structure"`
  8388  
  8389  	// String of format Elasticsearch_X.Y or OpenSearch_X.Y to specify the engine
  8390  	// version for the OpenSearch or Elasticsearch domain.
  8391  	EngineVersion *VersionStatus `type:"structure"`
  8392  
  8393  	// Log publishing options for the given domain.
  8394  	LogPublishingOptions *LogPublishingOptionsStatus `type:"structure"`
  8395  
  8396  	// The NodeToNodeEncryptionOptions for the domain.
  8397  	NodeToNodeEncryptionOptions *NodeToNodeEncryptionOptionsStatus `type:"structure"`
  8398  
  8399  	// The SnapshotOptions for the domain.
  8400  	SnapshotOptions *SnapshotOptionsStatus `type:"structure"`
  8401  
  8402  	// The VPCOptions for the specified domain. For more information, see Launching
  8403  	// your Amazon OpenSearch Service domains using a VPC (http://docs.aws.amazon.com/opensearch-service/latest/developerguide/vpc.html).
  8404  	VPCOptions *VPCDerivedInfoStatus `type:"structure"`
  8405  }
  8406  
  8407  // String returns the string representation.
  8408  //
  8409  // API parameter values that are decorated as "sensitive" in the API will not
  8410  // be included in the string output. The member name will be present, but the
  8411  // value will be replaced with "sensitive".
  8412  func (s DomainConfig) String() string {
  8413  	return awsutil.Prettify(s)
  8414  }
  8415  
  8416  // GoString returns the string representation.
  8417  //
  8418  // API parameter values that are decorated as "sensitive" in the API will not
  8419  // be included in the string output. The member name will be present, but the
  8420  // value will be replaced with "sensitive".
  8421  func (s DomainConfig) GoString() string {
  8422  	return s.String()
  8423  }
  8424  
  8425  // SetAccessPolicies sets the AccessPolicies field's value.
  8426  func (s *DomainConfig) SetAccessPolicies(v *AccessPoliciesStatus) *DomainConfig {
  8427  	s.AccessPolicies = v
  8428  	return s
  8429  }
  8430  
  8431  // SetAdvancedOptions sets the AdvancedOptions field's value.
  8432  func (s *DomainConfig) SetAdvancedOptions(v *AdvancedOptionsStatus) *DomainConfig {
  8433  	s.AdvancedOptions = v
  8434  	return s
  8435  }
  8436  
  8437  // SetAdvancedSecurityOptions sets the AdvancedSecurityOptions field's value.
  8438  func (s *DomainConfig) SetAdvancedSecurityOptions(v *AdvancedSecurityOptionsStatus) *DomainConfig {
  8439  	s.AdvancedSecurityOptions = v
  8440  	return s
  8441  }
  8442  
  8443  // SetAutoTuneOptions sets the AutoTuneOptions field's value.
  8444  func (s *DomainConfig) SetAutoTuneOptions(v *AutoTuneOptionsStatus) *DomainConfig {
  8445  	s.AutoTuneOptions = v
  8446  	return s
  8447  }
  8448  
  8449  // SetClusterConfig sets the ClusterConfig field's value.
  8450  func (s *DomainConfig) SetClusterConfig(v *ClusterConfigStatus) *DomainConfig {
  8451  	s.ClusterConfig = v
  8452  	return s
  8453  }
  8454  
  8455  // SetCognitoOptions sets the CognitoOptions field's value.
  8456  func (s *DomainConfig) SetCognitoOptions(v *CognitoOptionsStatus) *DomainConfig {
  8457  	s.CognitoOptions = v
  8458  	return s
  8459  }
  8460  
  8461  // SetDomainEndpointOptions sets the DomainEndpointOptions field's value.
  8462  func (s *DomainConfig) SetDomainEndpointOptions(v *DomainEndpointOptionsStatus) *DomainConfig {
  8463  	s.DomainEndpointOptions = v
  8464  	return s
  8465  }
  8466  
  8467  // SetEBSOptions sets the EBSOptions field's value.
  8468  func (s *DomainConfig) SetEBSOptions(v *EBSOptionsStatus) *DomainConfig {
  8469  	s.EBSOptions = v
  8470  	return s
  8471  }
  8472  
  8473  // SetEncryptionAtRestOptions sets the EncryptionAtRestOptions field's value.
  8474  func (s *DomainConfig) SetEncryptionAtRestOptions(v *EncryptionAtRestOptionsStatus) *DomainConfig {
  8475  	s.EncryptionAtRestOptions = v
  8476  	return s
  8477  }
  8478  
  8479  // SetEngineVersion sets the EngineVersion field's value.
  8480  func (s *DomainConfig) SetEngineVersion(v *VersionStatus) *DomainConfig {
  8481  	s.EngineVersion = v
  8482  	return s
  8483  }
  8484  
  8485  // SetLogPublishingOptions sets the LogPublishingOptions field's value.
  8486  func (s *DomainConfig) SetLogPublishingOptions(v *LogPublishingOptionsStatus) *DomainConfig {
  8487  	s.LogPublishingOptions = v
  8488  	return s
  8489  }
  8490  
  8491  // SetNodeToNodeEncryptionOptions sets the NodeToNodeEncryptionOptions field's value.
  8492  func (s *DomainConfig) SetNodeToNodeEncryptionOptions(v *NodeToNodeEncryptionOptionsStatus) *DomainConfig {
  8493  	s.NodeToNodeEncryptionOptions = v
  8494  	return s
  8495  }
  8496  
  8497  // SetSnapshotOptions sets the SnapshotOptions field's value.
  8498  func (s *DomainConfig) SetSnapshotOptions(v *SnapshotOptionsStatus) *DomainConfig {
  8499  	s.SnapshotOptions = v
  8500  	return s
  8501  }
  8502  
  8503  // SetVPCOptions sets the VPCOptions field's value.
  8504  func (s *DomainConfig) SetVPCOptions(v *VPCDerivedInfoStatus) *DomainConfig {
  8505  	s.VPCOptions = v
  8506  	return s
  8507  }
  8508  
  8509  // Options to configure the endpoint for the domain.
  8510  type DomainEndpointOptions struct {
  8511  	_ struct{} `type:"structure"`
  8512  
  8513  	// The fully qualified domain for your custom endpoint.
  8514  	CustomEndpoint *string `min:"1" type:"string"`
  8515  
  8516  	// The ACM certificate ARN for your custom endpoint.
  8517  	CustomEndpointCertificateArn *string `min:"20" type:"string"`
  8518  
  8519  	// Whether to enable a custom endpoint for the domain.
  8520  	CustomEndpointEnabled *bool `type:"boolean"`
  8521  
  8522  	// Whether only HTTPS endpoint should be enabled for the domain.
  8523  	EnforceHTTPS *bool `type:"boolean"`
  8524  
  8525  	// Specify the TLS security policy to apply to the HTTPS endpoint of the domain.
  8526  	// Can be one of the following values:
  8527  	//    * Policy-Min-TLS-1-0-2019-07: TLS security policy which supports TLSv1.0
  8528  	//    and higher.
  8529  	//
  8530  	//    * Policy-Min-TLS-1-2-2019-07: TLS security policy which supports only
  8531  	//    TLSv1.2
  8532  	TLSSecurityPolicy *string `type:"string" enum:"TLSSecurityPolicy"`
  8533  }
  8534  
  8535  // String returns the string representation.
  8536  //
  8537  // API parameter values that are decorated as "sensitive" in the API will not
  8538  // be included in the string output. The member name will be present, but the
  8539  // value will be replaced with "sensitive".
  8540  func (s DomainEndpointOptions) String() string {
  8541  	return awsutil.Prettify(s)
  8542  }
  8543  
  8544  // GoString returns the string representation.
  8545  //
  8546  // API parameter values that are decorated as "sensitive" in the API will not
  8547  // be included in the string output. The member name will be present, but the
  8548  // value will be replaced with "sensitive".
  8549  func (s DomainEndpointOptions) GoString() string {
  8550  	return s.String()
  8551  }
  8552  
  8553  // Validate inspects the fields of the type to determine if they are valid.
  8554  func (s *DomainEndpointOptions) Validate() error {
  8555  	invalidParams := request.ErrInvalidParams{Context: "DomainEndpointOptions"}
  8556  	if s.CustomEndpoint != nil && len(*s.CustomEndpoint) < 1 {
  8557  		invalidParams.Add(request.NewErrParamMinLen("CustomEndpoint", 1))
  8558  	}
  8559  	if s.CustomEndpointCertificateArn != nil && len(*s.CustomEndpointCertificateArn) < 20 {
  8560  		invalidParams.Add(request.NewErrParamMinLen("CustomEndpointCertificateArn", 20))
  8561  	}
  8562  
  8563  	if invalidParams.Len() > 0 {
  8564  		return invalidParams
  8565  	}
  8566  	return nil
  8567  }
  8568  
  8569  // SetCustomEndpoint sets the CustomEndpoint field's value.
  8570  func (s *DomainEndpointOptions) SetCustomEndpoint(v string) *DomainEndpointOptions {
  8571  	s.CustomEndpoint = &v
  8572  	return s
  8573  }
  8574  
  8575  // SetCustomEndpointCertificateArn sets the CustomEndpointCertificateArn field's value.
  8576  func (s *DomainEndpointOptions) SetCustomEndpointCertificateArn(v string) *DomainEndpointOptions {
  8577  	s.CustomEndpointCertificateArn = &v
  8578  	return s
  8579  }
  8580  
  8581  // SetCustomEndpointEnabled sets the CustomEndpointEnabled field's value.
  8582  func (s *DomainEndpointOptions) SetCustomEndpointEnabled(v bool) *DomainEndpointOptions {
  8583  	s.CustomEndpointEnabled = &v
  8584  	return s
  8585  }
  8586  
  8587  // SetEnforceHTTPS sets the EnforceHTTPS field's value.
  8588  func (s *DomainEndpointOptions) SetEnforceHTTPS(v bool) *DomainEndpointOptions {
  8589  	s.EnforceHTTPS = &v
  8590  	return s
  8591  }
  8592  
  8593  // SetTLSSecurityPolicy sets the TLSSecurityPolicy field's value.
  8594  func (s *DomainEndpointOptions) SetTLSSecurityPolicy(v string) *DomainEndpointOptions {
  8595  	s.TLSSecurityPolicy = &v
  8596  	return s
  8597  }
  8598  
  8599  // The configured endpoint options for the domain and their current status.
  8600  type DomainEndpointOptionsStatus struct {
  8601  	_ struct{} `type:"structure"`
  8602  
  8603  	// Options to configure the endpoint for the domain.
  8604  	//
  8605  	// Options is a required field
  8606  	Options *DomainEndpointOptions `type:"structure" required:"true"`
  8607  
  8608  	// The status of the endpoint options for the domain. See OptionStatus for the
  8609  	// status information that's included.
  8610  	//
  8611  	// Status is a required field
  8612  	Status *OptionStatus `type:"structure" required:"true"`
  8613  }
  8614  
  8615  // String returns the string representation.
  8616  //
  8617  // API parameter values that are decorated as "sensitive" in the API will not
  8618  // be included in the string output. The member name will be present, but the
  8619  // value will be replaced with "sensitive".
  8620  func (s DomainEndpointOptionsStatus) String() string {
  8621  	return awsutil.Prettify(s)
  8622  }
  8623  
  8624  // GoString returns the string representation.
  8625  //
  8626  // API parameter values that are decorated as "sensitive" in the API will not
  8627  // be included in the string output. The member name will be present, but the
  8628  // value will be replaced with "sensitive".
  8629  func (s DomainEndpointOptionsStatus) GoString() string {
  8630  	return s.String()
  8631  }
  8632  
  8633  // SetOptions sets the Options field's value.
  8634  func (s *DomainEndpointOptionsStatus) SetOptions(v *DomainEndpointOptions) *DomainEndpointOptionsStatus {
  8635  	s.Options = v
  8636  	return s
  8637  }
  8638  
  8639  // SetStatus sets the Status field's value.
  8640  func (s *DomainEndpointOptionsStatus) SetStatus(v *OptionStatus) *DomainEndpointOptionsStatus {
  8641  	s.Status = v
  8642  	return s
  8643  }
  8644  
  8645  type DomainInfo struct {
  8646  	_ struct{} `type:"structure"`
  8647  
  8648  	// The DomainName.
  8649  	DomainName *string `min:"3" type:"string"`
  8650  
  8651  	// Specifies the EngineType of the domain.
  8652  	EngineType *string `type:"string" enum:"EngineType"`
  8653  }
  8654  
  8655  // String returns the string representation.
  8656  //
  8657  // API parameter values that are decorated as "sensitive" in the API will not
  8658  // be included in the string output. The member name will be present, but the
  8659  // value will be replaced with "sensitive".
  8660  func (s DomainInfo) String() string {
  8661  	return awsutil.Prettify(s)
  8662  }
  8663  
  8664  // GoString returns the string representation.
  8665  //
  8666  // API parameter values that are decorated as "sensitive" in the API will not
  8667  // be included in the string output. The member name will be present, but the
  8668  // value will be replaced with "sensitive".
  8669  func (s DomainInfo) GoString() string {
  8670  	return s.String()
  8671  }
  8672  
  8673  // SetDomainName sets the DomainName field's value.
  8674  func (s *DomainInfo) SetDomainName(v string) *DomainInfo {
  8675  	s.DomainName = &v
  8676  	return s
  8677  }
  8678  
  8679  // SetEngineType sets the EngineType field's value.
  8680  func (s *DomainInfo) SetEngineType(v string) *DomainInfo {
  8681  	s.EngineType = &v
  8682  	return s
  8683  }
  8684  
  8685  type DomainInformationContainer struct {
  8686  	_ struct{} `type:"structure"`
  8687  
  8688  	AWSDomainInformation *AWSDomainInformation `type:"structure"`
  8689  }
  8690  
  8691  // String returns the string representation.
  8692  //
  8693  // API parameter values that are decorated as "sensitive" in the API will not
  8694  // be included in the string output. The member name will be present, but the
  8695  // value will be replaced with "sensitive".
  8696  func (s DomainInformationContainer) String() string {
  8697  	return awsutil.Prettify(s)
  8698  }
  8699  
  8700  // GoString returns the string representation.
  8701  //
  8702  // API parameter values that are decorated as "sensitive" in the API will not
  8703  // be included in the string output. The member name will be present, but the
  8704  // value will be replaced with "sensitive".
  8705  func (s DomainInformationContainer) GoString() string {
  8706  	return s.String()
  8707  }
  8708  
  8709  // Validate inspects the fields of the type to determine if they are valid.
  8710  func (s *DomainInformationContainer) Validate() error {
  8711  	invalidParams := request.ErrInvalidParams{Context: "DomainInformationContainer"}
  8712  	if s.AWSDomainInformation != nil {
  8713  		if err := s.AWSDomainInformation.Validate(); err != nil {
  8714  			invalidParams.AddNested("AWSDomainInformation", err.(request.ErrInvalidParams))
  8715  		}
  8716  	}
  8717  
  8718  	if invalidParams.Len() > 0 {
  8719  		return invalidParams
  8720  	}
  8721  	return nil
  8722  }
  8723  
  8724  // SetAWSDomainInformation sets the AWSDomainInformation field's value.
  8725  func (s *DomainInformationContainer) SetAWSDomainInformation(v *AWSDomainInformation) *DomainInformationContainer {
  8726  	s.AWSDomainInformation = v
  8727  	return s
  8728  }
  8729  
  8730  // Information on a package associated with a domain.
  8731  type DomainPackageDetails struct {
  8732  	_ struct{} `type:"structure"`
  8733  
  8734  	// The name of the domain you've associated a package with.
  8735  	DomainName *string `min:"3" type:"string"`
  8736  
  8737  	// State of the association. Values are ASSOCIATING, ASSOCIATION_FAILED, ACTIVE,
  8738  	// DISSOCIATING, and DISSOCIATION_FAILED.
  8739  	DomainPackageStatus *string `type:"string" enum:"DomainPackageStatus"`
  8740  
  8741  	// Additional information if the package is in an error state. Null otherwise.
  8742  	ErrorDetails *ErrorDetails `type:"structure"`
  8743  
  8744  	// The timestamp of the most recent update to the package association status.
  8745  	LastUpdated *time.Time `type:"timestamp"`
  8746  
  8747  	// The internal ID of the package.
  8748  	PackageID *string `type:"string"`
  8749  
  8750  	// User-specified name of the package.
  8751  	PackageName *string `min:"3" type:"string"`
  8752  
  8753  	// Currently supports only TXT-DICTIONARY.
  8754  	PackageType *string `type:"string" enum:"PackageType"`
  8755  
  8756  	PackageVersion *string `type:"string"`
  8757  
  8758  	// The relative path on Amazon OpenSearch Service nodes, which can be used as
  8759  	// synonym_path when the package is a synonym file.
  8760  	ReferencePath *string `type:"string"`
  8761  }
  8762  
  8763  // String returns the string representation.
  8764  //
  8765  // API parameter values that are decorated as "sensitive" in the API will not
  8766  // be included in the string output. The member name will be present, but the
  8767  // value will be replaced with "sensitive".
  8768  func (s DomainPackageDetails) String() string {
  8769  	return awsutil.Prettify(s)
  8770  }
  8771  
  8772  // GoString returns the string representation.
  8773  //
  8774  // API parameter values that are decorated as "sensitive" in the API will not
  8775  // be included in the string output. The member name will be present, but the
  8776  // value will be replaced with "sensitive".
  8777  func (s DomainPackageDetails) GoString() string {
  8778  	return s.String()
  8779  }
  8780  
  8781  // SetDomainName sets the DomainName field's value.
  8782  func (s *DomainPackageDetails) SetDomainName(v string) *DomainPackageDetails {
  8783  	s.DomainName = &v
  8784  	return s
  8785  }
  8786  
  8787  // SetDomainPackageStatus sets the DomainPackageStatus field's value.
  8788  func (s *DomainPackageDetails) SetDomainPackageStatus(v string) *DomainPackageDetails {
  8789  	s.DomainPackageStatus = &v
  8790  	return s
  8791  }
  8792  
  8793  // SetErrorDetails sets the ErrorDetails field's value.
  8794  func (s *DomainPackageDetails) SetErrorDetails(v *ErrorDetails) *DomainPackageDetails {
  8795  	s.ErrorDetails = v
  8796  	return s
  8797  }
  8798  
  8799  // SetLastUpdated sets the LastUpdated field's value.
  8800  func (s *DomainPackageDetails) SetLastUpdated(v time.Time) *DomainPackageDetails {
  8801  	s.LastUpdated = &v
  8802  	return s
  8803  }
  8804  
  8805  // SetPackageID sets the PackageID field's value.
  8806  func (s *DomainPackageDetails) SetPackageID(v string) *DomainPackageDetails {
  8807  	s.PackageID = &v
  8808  	return s
  8809  }
  8810  
  8811  // SetPackageName sets the PackageName field's value.
  8812  func (s *DomainPackageDetails) SetPackageName(v string) *DomainPackageDetails {
  8813  	s.PackageName = &v
  8814  	return s
  8815  }
  8816  
  8817  // SetPackageType sets the PackageType field's value.
  8818  func (s *DomainPackageDetails) SetPackageType(v string) *DomainPackageDetails {
  8819  	s.PackageType = &v
  8820  	return s
  8821  }
  8822  
  8823  // SetPackageVersion sets the PackageVersion field's value.
  8824  func (s *DomainPackageDetails) SetPackageVersion(v string) *DomainPackageDetails {
  8825  	s.PackageVersion = &v
  8826  	return s
  8827  }
  8828  
  8829  // SetReferencePath sets the ReferencePath field's value.
  8830  func (s *DomainPackageDetails) SetReferencePath(v string) *DomainPackageDetails {
  8831  	s.ReferencePath = &v
  8832  	return s
  8833  }
  8834  
  8835  // The current status of a domain.
  8836  type DomainStatus struct {
  8837  	_ struct{} `type:"structure"`
  8838  
  8839  	// The Amazon Resource Name (ARN) of a domain. See IAM identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html)
  8840  	// in the AWS Identity and Access Management User Guide for more information.
  8841  	//
  8842  	// ARN is a required field
  8843  	ARN *string `min:"20" type:"string" required:"true"`
  8844  
  8845  	// IAM access policy as a JSON-formatted string.
  8846  	AccessPolicies *string `type:"string"`
  8847  
  8848  	// The status of the AdvancedOptions.
  8849  	AdvancedOptions map[string]*string `type:"map"`
  8850  
  8851  	// The current status of the domain's advanced security options.
  8852  	AdvancedSecurityOptions *AdvancedSecurityOptions `type:"structure"`
  8853  
  8854  	// The current status of the domain's Auto-Tune options.
  8855  	AutoTuneOptions *AutoTuneOptionsOutput_ `type:"structure"`
  8856  
  8857  	// The type and number of instances in the domain.
  8858  	//
  8859  	// ClusterConfig is a required field
  8860  	ClusterConfig *ClusterConfig `type:"structure" required:"true"`
  8861  
  8862  	// The CognitoOptions for the specified domain. For more information, see Configuring
  8863  	// Amazon Cognito authentication for OpenSearch Dashboards (http://docs.aws.amazon.com/opensearch-service/latest/developerguide/cognito-auth.html).
  8864  	CognitoOptions *CognitoOptions `type:"structure"`
  8865  
  8866  	// The domain creation status. True if the creation of a domain is complete.
  8867  	// False if domain creation is still in progress.
  8868  	Created *bool `type:"boolean"`
  8869  
  8870  	// The domain deletion status. True if a delete request has been received for
  8871  	// the domain but resource cleanup is still in progress. False if the domain
  8872  	// has not been deleted. Once domain deletion is complete, the status of the
  8873  	// domain is no longer returned.
  8874  	Deleted *bool `type:"boolean"`
  8875  
  8876  	// The current status of the domain's endpoint options.
  8877  	DomainEndpointOptions *DomainEndpointOptions `type:"structure"`
  8878  
  8879  	// The unique identifier for the specified domain.
  8880  	//
  8881  	// DomainId is a required field
  8882  	DomainId *string `min:"1" type:"string" required:"true"`
  8883  
  8884  	// The name of a domain. Domain names are unique across the domains owned by
  8885  	// an account within an AWS region. Domain names start with a letter or number
  8886  	// and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).
  8887  	//
  8888  	// DomainName is a required field
  8889  	DomainName *string `min:"3" type:"string" required:"true"`
  8890  
  8891  	// The EBSOptions for the specified domain.
  8892  	EBSOptions *EBSOptions `type:"structure"`
  8893  
  8894  	// The status of the EncryptionAtRestOptions.
  8895  	EncryptionAtRestOptions *EncryptionAtRestOptions `type:"structure"`
  8896  
  8897  	// The domain endpoint that you use to submit index and search requests.
  8898  	Endpoint *string `type:"string"`
  8899  
  8900  	// Map containing the domain endpoints used to submit index and search requests.
  8901  	// Example key, value: 'vpc','vpc-endpoint-h2dsd34efgyghrtguk5gt6j2foh4.us-east-1.es.amazonaws.com'.
  8902  	Endpoints map[string]*string `type:"map"`
  8903  
  8904  	EngineVersion *string `min:"14" type:"string"`
  8905  
  8906  	// Log publishing options for the given domain.
  8907  	LogPublishingOptions map[string]*LogPublishingOption `type:"map"`
  8908  
  8909  	// The status of the NodeToNodeEncryptionOptions.
  8910  	NodeToNodeEncryptionOptions *NodeToNodeEncryptionOptions `type:"structure"`
  8911  
  8912  	// The status of the domain configuration. True if Amazon OpenSearch Service
  8913  	// is processing configuration changes. False if the configuration is active.
  8914  	Processing *bool `type:"boolean"`
  8915  
  8916  	// The current status of the domain's service software.
  8917  	ServiceSoftwareOptions *ServiceSoftwareOptions `type:"structure"`
  8918  
  8919  	// The status of the SnapshotOptions.
  8920  	SnapshotOptions *SnapshotOptions `type:"structure"`
  8921  
  8922  	// The status of a domain version upgrade. True if Amazon OpenSearch Service
  8923  	// is undergoing a version upgrade. False if the configuration is active.
  8924  	UpgradeProcessing *bool `type:"boolean"`
  8925  
  8926  	// The VPCOptions for the specified domain. For more information, see Launching
  8927  	// your Amazon OpenSearch Service domains using a VPC (http://docs.aws.amazon.com/opensearch-service/latest/developerguide/vpc.html).
  8928  	VPCOptions *VPCDerivedInfo `type:"structure"`
  8929  }
  8930  
  8931  // String returns the string representation.
  8932  //
  8933  // API parameter values that are decorated as "sensitive" in the API will not
  8934  // be included in the string output. The member name will be present, but the
  8935  // value will be replaced with "sensitive".
  8936  func (s DomainStatus) String() string {
  8937  	return awsutil.Prettify(s)
  8938  }
  8939  
  8940  // GoString returns the string representation.
  8941  //
  8942  // API parameter values that are decorated as "sensitive" in the API will not
  8943  // be included in the string output. The member name will be present, but the
  8944  // value will be replaced with "sensitive".
  8945  func (s DomainStatus) GoString() string {
  8946  	return s.String()
  8947  }
  8948  
  8949  // SetARN sets the ARN field's value.
  8950  func (s *DomainStatus) SetARN(v string) *DomainStatus {
  8951  	s.ARN = &v
  8952  	return s
  8953  }
  8954  
  8955  // SetAccessPolicies sets the AccessPolicies field's value.
  8956  func (s *DomainStatus) SetAccessPolicies(v string) *DomainStatus {
  8957  	s.AccessPolicies = &v
  8958  	return s
  8959  }
  8960  
  8961  // SetAdvancedOptions sets the AdvancedOptions field's value.
  8962  func (s *DomainStatus) SetAdvancedOptions(v map[string]*string) *DomainStatus {
  8963  	s.AdvancedOptions = v
  8964  	return s
  8965  }
  8966  
  8967  // SetAdvancedSecurityOptions sets the AdvancedSecurityOptions field's value.
  8968  func (s *DomainStatus) SetAdvancedSecurityOptions(v *AdvancedSecurityOptions) *DomainStatus {
  8969  	s.AdvancedSecurityOptions = v
  8970  	return s
  8971  }
  8972  
  8973  // SetAutoTuneOptions sets the AutoTuneOptions field's value.
  8974  func (s *DomainStatus) SetAutoTuneOptions(v *AutoTuneOptionsOutput_) *DomainStatus {
  8975  	s.AutoTuneOptions = v
  8976  	return s
  8977  }
  8978  
  8979  // SetClusterConfig sets the ClusterConfig field's value.
  8980  func (s *DomainStatus) SetClusterConfig(v *ClusterConfig) *DomainStatus {
  8981  	s.ClusterConfig = v
  8982  	return s
  8983  }
  8984  
  8985  // SetCognitoOptions sets the CognitoOptions field's value.
  8986  func (s *DomainStatus) SetCognitoOptions(v *CognitoOptions) *DomainStatus {
  8987  	s.CognitoOptions = v
  8988  	return s
  8989  }
  8990  
  8991  // SetCreated sets the Created field's value.
  8992  func (s *DomainStatus) SetCreated(v bool) *DomainStatus {
  8993  	s.Created = &v
  8994  	return s
  8995  }
  8996  
  8997  // SetDeleted sets the Deleted field's value.
  8998  func (s *DomainStatus) SetDeleted(v bool) *DomainStatus {
  8999  	s.Deleted = &v
  9000  	return s
  9001  }
  9002  
  9003  // SetDomainEndpointOptions sets the DomainEndpointOptions field's value.
  9004  func (s *DomainStatus) SetDomainEndpointOptions(v *DomainEndpointOptions) *DomainStatus {
  9005  	s.DomainEndpointOptions = v
  9006  	return s
  9007  }
  9008  
  9009  // SetDomainId sets the DomainId field's value.
  9010  func (s *DomainStatus) SetDomainId(v string) *DomainStatus {
  9011  	s.DomainId = &v
  9012  	return s
  9013  }
  9014  
  9015  // SetDomainName sets the DomainName field's value.
  9016  func (s *DomainStatus) SetDomainName(v string) *DomainStatus {
  9017  	s.DomainName = &v
  9018  	return s
  9019  }
  9020  
  9021  // SetEBSOptions sets the EBSOptions field's value.
  9022  func (s *DomainStatus) SetEBSOptions(v *EBSOptions) *DomainStatus {
  9023  	s.EBSOptions = v
  9024  	return s
  9025  }
  9026  
  9027  // SetEncryptionAtRestOptions sets the EncryptionAtRestOptions field's value.
  9028  func (s *DomainStatus) SetEncryptionAtRestOptions(v *EncryptionAtRestOptions) *DomainStatus {
  9029  	s.EncryptionAtRestOptions = v
  9030  	return s
  9031  }
  9032  
  9033  // SetEndpoint sets the Endpoint field's value.
  9034  func (s *DomainStatus) SetEndpoint(v string) *DomainStatus {
  9035  	s.Endpoint = &v
  9036  	return s
  9037  }
  9038  
  9039  // SetEndpoints sets the Endpoints field's value.
  9040  func (s *DomainStatus) SetEndpoints(v map[string]*string) *DomainStatus {
  9041  	s.Endpoints = v
  9042  	return s
  9043  }
  9044  
  9045  // SetEngineVersion sets the EngineVersion field's value.
  9046  func (s *DomainStatus) SetEngineVersion(v string) *DomainStatus {
  9047  	s.EngineVersion = &v
  9048  	return s
  9049  }
  9050  
  9051  // SetLogPublishingOptions sets the LogPublishingOptions field's value.
  9052  func (s *DomainStatus) SetLogPublishingOptions(v map[string]*LogPublishingOption) *DomainStatus {
  9053  	s.LogPublishingOptions = v
  9054  	return s
  9055  }
  9056  
  9057  // SetNodeToNodeEncryptionOptions sets the NodeToNodeEncryptionOptions field's value.
  9058  func (s *DomainStatus) SetNodeToNodeEncryptionOptions(v *NodeToNodeEncryptionOptions) *DomainStatus {
  9059  	s.NodeToNodeEncryptionOptions = v
  9060  	return s
  9061  }
  9062  
  9063  // SetProcessing sets the Processing field's value.
  9064  func (s *DomainStatus) SetProcessing(v bool) *DomainStatus {
  9065  	s.Processing = &v
  9066  	return s
  9067  }
  9068  
  9069  // SetServiceSoftwareOptions sets the ServiceSoftwareOptions field's value.
  9070  func (s *DomainStatus) SetServiceSoftwareOptions(v *ServiceSoftwareOptions) *DomainStatus {
  9071  	s.ServiceSoftwareOptions = v
  9072  	return s
  9073  }
  9074  
  9075  // SetSnapshotOptions sets the SnapshotOptions field's value.
  9076  func (s *DomainStatus) SetSnapshotOptions(v *SnapshotOptions) *DomainStatus {
  9077  	s.SnapshotOptions = v
  9078  	return s
  9079  }
  9080  
  9081  // SetUpgradeProcessing sets the UpgradeProcessing field's value.
  9082  func (s *DomainStatus) SetUpgradeProcessing(v bool) *DomainStatus {
  9083  	s.UpgradeProcessing = &v
  9084  	return s
  9085  }
  9086  
  9087  // SetVPCOptions sets the VPCOptions field's value.
  9088  func (s *DomainStatus) SetVPCOptions(v *VPCDerivedInfo) *DomainStatus {
  9089  	s.VPCOptions = v
  9090  	return s
  9091  }
  9092  
  9093  // The maintenance schedule duration: duration value and duration unit. See
  9094  // Auto-Tune for Amazon OpenSearch Service (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/auto-tune.html)
  9095  // for more information.
  9096  type Duration struct {
  9097  	_ struct{} `type:"structure"`
  9098  
  9099  	// The unit of a maintenance schedule duration. Valid value is HOURS. See Auto-Tune
  9100  	// for Amazon OpenSearch Service (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/auto-tune.html)
  9101  	// for more information.
  9102  	Unit *string `type:"string" enum:"TimeUnit"`
  9103  
  9104  	// Integer to specify the value of a maintenance schedule duration. See Auto-Tune
  9105  	// for Amazon OpenSearch Service (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/auto-tune.html)
  9106  	// for more information.
  9107  	Value *int64 `min:"1" type:"long"`
  9108  }
  9109  
  9110  // String returns the string representation.
  9111  //
  9112  // API parameter values that are decorated as "sensitive" in the API will not
  9113  // be included in the string output. The member name will be present, but the
  9114  // value will be replaced with "sensitive".
  9115  func (s Duration) String() string {
  9116  	return awsutil.Prettify(s)
  9117  }
  9118  
  9119  // GoString returns the string representation.
  9120  //
  9121  // API parameter values that are decorated as "sensitive" in the API will not
  9122  // be included in the string output. The member name will be present, but the
  9123  // value will be replaced with "sensitive".
  9124  func (s Duration) GoString() string {
  9125  	return s.String()
  9126  }
  9127  
  9128  // Validate inspects the fields of the type to determine if they are valid.
  9129  func (s *Duration) Validate() error {
  9130  	invalidParams := request.ErrInvalidParams{Context: "Duration"}
  9131  	if s.Value != nil && *s.Value < 1 {
  9132  		invalidParams.Add(request.NewErrParamMinValue("Value", 1))
  9133  	}
  9134  
  9135  	if invalidParams.Len() > 0 {
  9136  		return invalidParams
  9137  	}
  9138  	return nil
  9139  }
  9140  
  9141  // SetUnit sets the Unit field's value.
  9142  func (s *Duration) SetUnit(v string) *Duration {
  9143  	s.Unit = &v
  9144  	return s
  9145  }
  9146  
  9147  // SetValue sets the Value field's value.
  9148  func (s *Duration) SetValue(v int64) *Duration {
  9149  	s.Value = &v
  9150  	return s
  9151  }
  9152  
  9153  // Options to enable, disable, and specify the properties of EBS storage volumes.
  9154  type EBSOptions struct {
  9155  	_ struct{} `type:"structure"`
  9156  
  9157  	// Whether EBS-based storage is enabled.
  9158  	EBSEnabled *bool `type:"boolean"`
  9159  
  9160  	// The IOPD for a Provisioned IOPS EBS volume (SSD).
  9161  	Iops *int64 `type:"integer"`
  9162  
  9163  	// Integer to specify the size of an EBS volume.
  9164  	VolumeSize *int64 `type:"integer"`
  9165  
  9166  	// The volume type for EBS-based storage.
  9167  	VolumeType *string `type:"string" enum:"VolumeType"`
  9168  }
  9169  
  9170  // String returns the string representation.
  9171  //
  9172  // API parameter values that are decorated as "sensitive" in the API will not
  9173  // be included in the string output. The member name will be present, but the
  9174  // value will be replaced with "sensitive".
  9175  func (s EBSOptions) String() string {
  9176  	return awsutil.Prettify(s)
  9177  }
  9178  
  9179  // GoString returns the string representation.
  9180  //
  9181  // API parameter values that are decorated as "sensitive" in the API will not
  9182  // be included in the string output. The member name will be present, but the
  9183  // value will be replaced with "sensitive".
  9184  func (s EBSOptions) GoString() string {
  9185  	return s.String()
  9186  }
  9187  
  9188  // SetEBSEnabled sets the EBSEnabled field's value.
  9189  func (s *EBSOptions) SetEBSEnabled(v bool) *EBSOptions {
  9190  	s.EBSEnabled = &v
  9191  	return s
  9192  }
  9193  
  9194  // SetIops sets the Iops field's value.
  9195  func (s *EBSOptions) SetIops(v int64) *EBSOptions {
  9196  	s.Iops = &v
  9197  	return s
  9198  }
  9199  
  9200  // SetVolumeSize sets the VolumeSize field's value.
  9201  func (s *EBSOptions) SetVolumeSize(v int64) *EBSOptions {
  9202  	s.VolumeSize = &v
  9203  	return s
  9204  }
  9205  
  9206  // SetVolumeType sets the VolumeType field's value.
  9207  func (s *EBSOptions) SetVolumeType(v string) *EBSOptions {
  9208  	s.VolumeType = &v
  9209  	return s
  9210  }
  9211  
  9212  // Status of the EBS options for the specified domain.
  9213  type EBSOptionsStatus struct {
  9214  	_ struct{} `type:"structure"`
  9215  
  9216  	// The EBS options for the specified domain.
  9217  	//
  9218  	// Options is a required field
  9219  	Options *EBSOptions `type:"structure" required:"true"`
  9220  
  9221  	// The status of the EBS options for the specified domain.
  9222  	//
  9223  	// Status is a required field
  9224  	Status *OptionStatus `type:"structure" required:"true"`
  9225  }
  9226  
  9227  // String returns the string representation.
  9228  //
  9229  // API parameter values that are decorated as "sensitive" in the API will not
  9230  // be included in the string output. The member name will be present, but the
  9231  // value will be replaced with "sensitive".
  9232  func (s EBSOptionsStatus) String() string {
  9233  	return awsutil.Prettify(s)
  9234  }
  9235  
  9236  // GoString returns the string representation.
  9237  //
  9238  // API parameter values that are decorated as "sensitive" in the API will not
  9239  // be included in the string output. The member name will be present, but the
  9240  // value will be replaced with "sensitive".
  9241  func (s EBSOptionsStatus) GoString() string {
  9242  	return s.String()
  9243  }
  9244  
  9245  // SetOptions sets the Options field's value.
  9246  func (s *EBSOptionsStatus) SetOptions(v *EBSOptions) *EBSOptionsStatus {
  9247  	s.Options = v
  9248  	return s
  9249  }
  9250  
  9251  // SetStatus sets the Status field's value.
  9252  func (s *EBSOptionsStatus) SetStatus(v *OptionStatus) *EBSOptionsStatus {
  9253  	s.Status = v
  9254  	return s
  9255  }
  9256  
  9257  // Specifies encryption at rest options.
  9258  type EncryptionAtRestOptions struct {
  9259  	_ struct{} `type:"structure"`
  9260  
  9261  	// The option to enable encryption at rest.
  9262  	Enabled *bool `type:"boolean"`
  9263  
  9264  	// The KMS key ID for encryption at rest options.
  9265  	KmsKeyId *string `min:"1" type:"string"`
  9266  }
  9267  
  9268  // String returns the string representation.
  9269  //
  9270  // API parameter values that are decorated as "sensitive" in the API will not
  9271  // be included in the string output. The member name will be present, but the
  9272  // value will be replaced with "sensitive".
  9273  func (s EncryptionAtRestOptions) String() string {
  9274  	return awsutil.Prettify(s)
  9275  }
  9276  
  9277  // GoString returns the string representation.
  9278  //
  9279  // API parameter values that are decorated as "sensitive" in the API will not
  9280  // be included in the string output. The member name will be present, but the
  9281  // value will be replaced with "sensitive".
  9282  func (s EncryptionAtRestOptions) GoString() string {
  9283  	return s.String()
  9284  }
  9285  
  9286  // Validate inspects the fields of the type to determine if they are valid.
  9287  func (s *EncryptionAtRestOptions) Validate() error {
  9288  	invalidParams := request.ErrInvalidParams{Context: "EncryptionAtRestOptions"}
  9289  	if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 {
  9290  		invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1))
  9291  	}
  9292  
  9293  	if invalidParams.Len() > 0 {
  9294  		return invalidParams
  9295  	}
  9296  	return nil
  9297  }
  9298  
  9299  // SetEnabled sets the Enabled field's value.
  9300  func (s *EncryptionAtRestOptions) SetEnabled(v bool) *EncryptionAtRestOptions {
  9301  	s.Enabled = &v
  9302  	return s
  9303  }
  9304  
  9305  // SetKmsKeyId sets the KmsKeyId field's value.
  9306  func (s *EncryptionAtRestOptions) SetKmsKeyId(v string) *EncryptionAtRestOptions {
  9307  	s.KmsKeyId = &v
  9308  	return s
  9309  }
  9310  
  9311  // Status of the encryption At Rest options for the specified domain.
  9312  type EncryptionAtRestOptionsStatus struct {
  9313  	_ struct{} `type:"structure"`
  9314  
  9315  	// The Encryption At Rest options for the specified domain.
  9316  	//
  9317  	// Options is a required field
  9318  	Options *EncryptionAtRestOptions `type:"structure" required:"true"`
  9319  
  9320  	// The status of the Encryption At Rest options for the specified domain.
  9321  	//
  9322  	// Status is a required field
  9323  	Status *OptionStatus `type:"structure" required:"true"`
  9324  }
  9325  
  9326  // String returns the string representation.
  9327  //
  9328  // API parameter values that are decorated as "sensitive" in the API will not
  9329  // be included in the string output. The member name will be present, but the
  9330  // value will be replaced with "sensitive".
  9331  func (s EncryptionAtRestOptionsStatus) String() string {
  9332  	return awsutil.Prettify(s)
  9333  }
  9334  
  9335  // GoString returns the string representation.
  9336  //
  9337  // API parameter values that are decorated as "sensitive" in the API will not
  9338  // be included in the string output. The member name will be present, but the
  9339  // value will be replaced with "sensitive".
  9340  func (s EncryptionAtRestOptionsStatus) GoString() string {
  9341  	return s.String()
  9342  }
  9343  
  9344  // SetOptions sets the Options field's value.
  9345  func (s *EncryptionAtRestOptionsStatus) SetOptions(v *EncryptionAtRestOptions) *EncryptionAtRestOptionsStatus {
  9346  	s.Options = v
  9347  	return s
  9348  }
  9349  
  9350  // SetStatus sets the Status field's value.
  9351  func (s *EncryptionAtRestOptionsStatus) SetStatus(v *OptionStatus) *EncryptionAtRestOptionsStatus {
  9352  	s.Status = v
  9353  	return s
  9354  }
  9355  
  9356  type ErrorDetails struct {
  9357  	_ struct{} `type:"structure"`
  9358  
  9359  	ErrorMessage *string `type:"string"`
  9360  
  9361  	ErrorType *string `type:"string"`
  9362  }
  9363  
  9364  // String returns the string representation.
  9365  //
  9366  // API parameter values that are decorated as "sensitive" in the API will not
  9367  // be included in the string output. The member name will be present, but the
  9368  // value will be replaced with "sensitive".
  9369  func (s ErrorDetails) String() string {
  9370  	return awsutil.Prettify(s)
  9371  }
  9372  
  9373  // GoString returns the string representation.
  9374  //
  9375  // API parameter values that are decorated as "sensitive" in the API will not
  9376  // be included in the string output. The member name will be present, but the
  9377  // value will be replaced with "sensitive".
  9378  func (s ErrorDetails) GoString() string {
  9379  	return s.String()
  9380  }
  9381  
  9382  // SetErrorMessage sets the ErrorMessage field's value.
  9383  func (s *ErrorDetails) SetErrorMessage(v string) *ErrorDetails {
  9384  	s.ErrorMessage = &v
  9385  	return s
  9386  }
  9387  
  9388  // SetErrorType sets the ErrorType field's value.
  9389  func (s *ErrorDetails) SetErrorType(v string) *ErrorDetails {
  9390  	s.ErrorType = &v
  9391  	return s
  9392  }
  9393  
  9394  // A filter used to limit results when describing inbound or outbound cross-cluster
  9395  // connections. Multiple values can be specified per filter. A cross-cluster
  9396  // connection must match at least one of the specified values for it to be returned
  9397  // from an operation.
  9398  type Filter struct {
  9399  	_ struct{} `type:"structure"`
  9400  
  9401  	// The name of the filter.
  9402  	Name *string `min:"1" type:"string"`
  9403  
  9404  	// Contains one or more values for the filter.
  9405  	Values []*string `min:"1" type:"list"`
  9406  }
  9407  
  9408  // String returns the string representation.
  9409  //
  9410  // API parameter values that are decorated as "sensitive" in the API will not
  9411  // be included in the string output. The member name will be present, but the
  9412  // value will be replaced with "sensitive".
  9413  func (s Filter) String() string {
  9414  	return awsutil.Prettify(s)
  9415  }
  9416  
  9417  // GoString returns the string representation.
  9418  //
  9419  // API parameter values that are decorated as "sensitive" in the API will not
  9420  // be included in the string output. The member name will be present, but the
  9421  // value will be replaced with "sensitive".
  9422  func (s Filter) GoString() string {
  9423  	return s.String()
  9424  }
  9425  
  9426  // Validate inspects the fields of the type to determine if they are valid.
  9427  func (s *Filter) Validate() error {
  9428  	invalidParams := request.ErrInvalidParams{Context: "Filter"}
  9429  	if s.Name != nil && len(*s.Name) < 1 {
  9430  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  9431  	}
  9432  	if s.Values != nil && len(s.Values) < 1 {
  9433  		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
  9434  	}
  9435  
  9436  	if invalidParams.Len() > 0 {
  9437  		return invalidParams
  9438  	}
  9439  	return nil
  9440  }
  9441  
  9442  // SetName sets the Name field's value.
  9443  func (s *Filter) SetName(v string) *Filter {
  9444  	s.Name = &v
  9445  	return s
  9446  }
  9447  
  9448  // SetValues sets the Values field's value.
  9449  func (s *Filter) SetValues(v []*string) *Filter {
  9450  	s.Values = v
  9451  	return s
  9452  }
  9453  
  9454  // Container for the request parameters to GetCompatibleVersions operation.
  9455  type GetCompatibleVersionsInput struct {
  9456  	_ struct{} `type:"structure" nopayload:"true"`
  9457  
  9458  	// The name of an domain. Domain names are unique across the domains owned by
  9459  	// an account within an AWS region. Domain names start with a letter or number
  9460  	// and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).
  9461  	DomainName *string `location:"querystring" locationName:"domainName" min:"3" type:"string"`
  9462  }
  9463  
  9464  // String returns the string representation.
  9465  //
  9466  // API parameter values that are decorated as "sensitive" in the API will not
  9467  // be included in the string output. The member name will be present, but the
  9468  // value will be replaced with "sensitive".
  9469  func (s GetCompatibleVersionsInput) String() string {
  9470  	return awsutil.Prettify(s)
  9471  }
  9472  
  9473  // GoString returns the string representation.
  9474  //
  9475  // API parameter values that are decorated as "sensitive" in the API will not
  9476  // be included in the string output. The member name will be present, but the
  9477  // value will be replaced with "sensitive".
  9478  func (s GetCompatibleVersionsInput) GoString() string {
  9479  	return s.String()
  9480  }
  9481  
  9482  // Validate inspects the fields of the type to determine if they are valid.
  9483  func (s *GetCompatibleVersionsInput) Validate() error {
  9484  	invalidParams := request.ErrInvalidParams{Context: "GetCompatibleVersionsInput"}
  9485  	if s.DomainName != nil && len(*s.DomainName) < 3 {
  9486  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
  9487  	}
  9488  
  9489  	if invalidParams.Len() > 0 {
  9490  		return invalidParams
  9491  	}
  9492  	return nil
  9493  }
  9494  
  9495  // SetDomainName sets the DomainName field's value.
  9496  func (s *GetCompatibleVersionsInput) SetDomainName(v string) *GetCompatibleVersionsInput {
  9497  	s.DomainName = &v
  9498  	return s
  9499  }
  9500  
  9501  // Container for the response returned by the GetCompatibleVersions operation.
  9502  type GetCompatibleVersionsOutput struct {
  9503  	_ struct{} `type:"structure"`
  9504  
  9505  	// A map of compatible OpenSearch versions returned as part of the GetCompatibleVersions
  9506  	// operation.
  9507  	CompatibleVersions []*CompatibleVersionsMap `type:"list"`
  9508  }
  9509  
  9510  // String returns the string representation.
  9511  //
  9512  // API parameter values that are decorated as "sensitive" in the API will not
  9513  // be included in the string output. The member name will be present, but the
  9514  // value will be replaced with "sensitive".
  9515  func (s GetCompatibleVersionsOutput) String() string {
  9516  	return awsutil.Prettify(s)
  9517  }
  9518  
  9519  // GoString returns the string representation.
  9520  //
  9521  // API parameter values that are decorated as "sensitive" in the API will not
  9522  // be included in the string output. The member name will be present, but the
  9523  // value will be replaced with "sensitive".
  9524  func (s GetCompatibleVersionsOutput) GoString() string {
  9525  	return s.String()
  9526  }
  9527  
  9528  // SetCompatibleVersions sets the CompatibleVersions field's value.
  9529  func (s *GetCompatibleVersionsOutput) SetCompatibleVersions(v []*CompatibleVersionsMap) *GetCompatibleVersionsOutput {
  9530  	s.CompatibleVersions = v
  9531  	return s
  9532  }
  9533  
  9534  // Container for the request parameters to the GetPackageVersionHistory operation.
  9535  type GetPackageVersionHistoryInput struct {
  9536  	_ struct{} `type:"structure" nopayload:"true"`
  9537  
  9538  	// Limits results to a maximum number of package versions.
  9539  	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
  9540  
  9541  	// Used for pagination. Only necessary if a previous API call includes a non-null
  9542  	// NextToken value. If provided, returns results for the next page.
  9543  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
  9544  
  9545  	// Returns an audit history of package versions.
  9546  	//
  9547  	// PackageID is a required field
  9548  	PackageID *string `location:"uri" locationName:"PackageID" type:"string" required:"true"`
  9549  }
  9550  
  9551  // String returns the string representation.
  9552  //
  9553  // API parameter values that are decorated as "sensitive" in the API will not
  9554  // be included in the string output. The member name will be present, but the
  9555  // value will be replaced with "sensitive".
  9556  func (s GetPackageVersionHistoryInput) String() string {
  9557  	return awsutil.Prettify(s)
  9558  }
  9559  
  9560  // GoString returns the string representation.
  9561  //
  9562  // API parameter values that are decorated as "sensitive" in the API will not
  9563  // be included in the string output. The member name will be present, but the
  9564  // value will be replaced with "sensitive".
  9565  func (s GetPackageVersionHistoryInput) GoString() string {
  9566  	return s.String()
  9567  }
  9568  
  9569  // Validate inspects the fields of the type to determine if they are valid.
  9570  func (s *GetPackageVersionHistoryInput) Validate() error {
  9571  	invalidParams := request.ErrInvalidParams{Context: "GetPackageVersionHistoryInput"}
  9572  	if s.PackageID == nil {
  9573  		invalidParams.Add(request.NewErrParamRequired("PackageID"))
  9574  	}
  9575  	if s.PackageID != nil && len(*s.PackageID) < 1 {
  9576  		invalidParams.Add(request.NewErrParamMinLen("PackageID", 1))
  9577  	}
  9578  
  9579  	if invalidParams.Len() > 0 {
  9580  		return invalidParams
  9581  	}
  9582  	return nil
  9583  }
  9584  
  9585  // SetMaxResults sets the MaxResults field's value.
  9586  func (s *GetPackageVersionHistoryInput) SetMaxResults(v int64) *GetPackageVersionHistoryInput {
  9587  	s.MaxResults = &v
  9588  	return s
  9589  }
  9590  
  9591  // SetNextToken sets the NextToken field's value.
  9592  func (s *GetPackageVersionHistoryInput) SetNextToken(v string) *GetPackageVersionHistoryInput {
  9593  	s.NextToken = &v
  9594  	return s
  9595  }
  9596  
  9597  // SetPackageID sets the PackageID field's value.
  9598  func (s *GetPackageVersionHistoryInput) SetPackageID(v string) *GetPackageVersionHistoryInput {
  9599  	s.PackageID = &v
  9600  	return s
  9601  }
  9602  
  9603  // Container for response returned by GetPackageVersionHistory operation.
  9604  type GetPackageVersionHistoryOutput struct {
  9605  	_ struct{} `type:"structure"`
  9606  
  9607  	NextToken *string `type:"string"`
  9608  
  9609  	PackageID *string `type:"string"`
  9610  
  9611  	// List of PackageVersionHistory objects.
  9612  	PackageVersionHistoryList []*PackageVersionHistory `type:"list"`
  9613  }
  9614  
  9615  // String returns the string representation.
  9616  //
  9617  // API parameter values that are decorated as "sensitive" in the API will not
  9618  // be included in the string output. The member name will be present, but the
  9619  // value will be replaced with "sensitive".
  9620  func (s GetPackageVersionHistoryOutput) String() string {
  9621  	return awsutil.Prettify(s)
  9622  }
  9623  
  9624  // GoString returns the string representation.
  9625  //
  9626  // API parameter values that are decorated as "sensitive" in the API will not
  9627  // be included in the string output. The member name will be present, but the
  9628  // value will be replaced with "sensitive".
  9629  func (s GetPackageVersionHistoryOutput) GoString() string {
  9630  	return s.String()
  9631  }
  9632  
  9633  // SetNextToken sets the NextToken field's value.
  9634  func (s *GetPackageVersionHistoryOutput) SetNextToken(v string) *GetPackageVersionHistoryOutput {
  9635  	s.NextToken = &v
  9636  	return s
  9637  }
  9638  
  9639  // SetPackageID sets the PackageID field's value.
  9640  func (s *GetPackageVersionHistoryOutput) SetPackageID(v string) *GetPackageVersionHistoryOutput {
  9641  	s.PackageID = &v
  9642  	return s
  9643  }
  9644  
  9645  // SetPackageVersionHistoryList sets the PackageVersionHistoryList field's value.
  9646  func (s *GetPackageVersionHistoryOutput) SetPackageVersionHistoryList(v []*PackageVersionHistory) *GetPackageVersionHistoryOutput {
  9647  	s.PackageVersionHistoryList = v
  9648  	return s
  9649  }
  9650  
  9651  // Container for the request parameters to the GetUpgradeHistory operation.
  9652  type GetUpgradeHistoryInput struct {
  9653  	_ struct{} `type:"structure" nopayload:"true"`
  9654  
  9655  	// The name of an domain. Domain names are unique across the domains owned by
  9656  	// an account within an AWS region. Domain names start with a letter or number
  9657  	// and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).
  9658  	//
  9659  	// DomainName is a required field
  9660  	DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"`
  9661  
  9662  	// Set this value to limit the number of results returned.
  9663  	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
  9664  
  9665  	// Paginated APIs accept the NextToken input to return the next page of results
  9666  	// and provide a NextToken output in the response, which you can use to retrieve
  9667  	// more results.
  9668  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
  9669  }
  9670  
  9671  // String returns the string representation.
  9672  //
  9673  // API parameter values that are decorated as "sensitive" in the API will not
  9674  // be included in the string output. The member name will be present, but the
  9675  // value will be replaced with "sensitive".
  9676  func (s GetUpgradeHistoryInput) String() string {
  9677  	return awsutil.Prettify(s)
  9678  }
  9679  
  9680  // GoString returns the string representation.
  9681  //
  9682  // API parameter values that are decorated as "sensitive" in the API will not
  9683  // be included in the string output. The member name will be present, but the
  9684  // value will be replaced with "sensitive".
  9685  func (s GetUpgradeHistoryInput) GoString() string {
  9686  	return s.String()
  9687  }
  9688  
  9689  // Validate inspects the fields of the type to determine if they are valid.
  9690  func (s *GetUpgradeHistoryInput) Validate() error {
  9691  	invalidParams := request.ErrInvalidParams{Context: "GetUpgradeHistoryInput"}
  9692  	if s.DomainName == nil {
  9693  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  9694  	}
  9695  	if s.DomainName != nil && len(*s.DomainName) < 3 {
  9696  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
  9697  	}
  9698  
  9699  	if invalidParams.Len() > 0 {
  9700  		return invalidParams
  9701  	}
  9702  	return nil
  9703  }
  9704  
  9705  // SetDomainName sets the DomainName field's value.
  9706  func (s *GetUpgradeHistoryInput) SetDomainName(v string) *GetUpgradeHistoryInput {
  9707  	s.DomainName = &v
  9708  	return s
  9709  }
  9710  
  9711  // SetMaxResults sets the MaxResults field's value.
  9712  func (s *GetUpgradeHistoryInput) SetMaxResults(v int64) *GetUpgradeHistoryInput {
  9713  	s.MaxResults = &v
  9714  	return s
  9715  }
  9716  
  9717  // SetNextToken sets the NextToken field's value.
  9718  func (s *GetUpgradeHistoryInput) SetNextToken(v string) *GetUpgradeHistoryInput {
  9719  	s.NextToken = &v
  9720  	return s
  9721  }
  9722  
  9723  // Container for the response returned by the GetUpgradeHistory operation.
  9724  type GetUpgradeHistoryOutput struct {
  9725  	_ struct{} `type:"structure"`
  9726  
  9727  	// Pagination token that needs to be supplied to the next call to get the next
  9728  	// page of results.
  9729  	NextToken *string `type:"string"`
  9730  
  9731  	// A list of UpgradeHistory objects corresponding to each upgrade or upgrade
  9732  	// eligibility check performed on a domain returned as part of the GetUpgradeHistoryResponse
  9733  	// object.
  9734  	UpgradeHistories []*UpgradeHistory `type:"list"`
  9735  }
  9736  
  9737  // String returns the string representation.
  9738  //
  9739  // API parameter values that are decorated as "sensitive" in the API will not
  9740  // be included in the string output. The member name will be present, but the
  9741  // value will be replaced with "sensitive".
  9742  func (s GetUpgradeHistoryOutput) String() string {
  9743  	return awsutil.Prettify(s)
  9744  }
  9745  
  9746  // GoString returns the string representation.
  9747  //
  9748  // API parameter values that are decorated as "sensitive" in the API will not
  9749  // be included in the string output. The member name will be present, but the
  9750  // value will be replaced with "sensitive".
  9751  func (s GetUpgradeHistoryOutput) GoString() string {
  9752  	return s.String()
  9753  }
  9754  
  9755  // SetNextToken sets the NextToken field's value.
  9756  func (s *GetUpgradeHistoryOutput) SetNextToken(v string) *GetUpgradeHistoryOutput {
  9757  	s.NextToken = &v
  9758  	return s
  9759  }
  9760  
  9761  // SetUpgradeHistories sets the UpgradeHistories field's value.
  9762  func (s *GetUpgradeHistoryOutput) SetUpgradeHistories(v []*UpgradeHistory) *GetUpgradeHistoryOutput {
  9763  	s.UpgradeHistories = v
  9764  	return s
  9765  }
  9766  
  9767  // Container for the request parameters to the GetUpgradeStatus operation.
  9768  type GetUpgradeStatusInput struct {
  9769  	_ struct{} `type:"structure" nopayload:"true"`
  9770  
  9771  	// The name of an domain. Domain names are unique across the domains owned by
  9772  	// an account within an AWS region. Domain names start with a letter or number
  9773  	// and can contain the following characters: a-z (lowercase), 0-9, 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 the response returned by the GetUpgradeStatus operation.
  9820  type GetUpgradeStatusOutput struct {
  9821  	_ struct{} `type:"structure"`
  9822  
  9823  	// One of four statuses an upgrade have, 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 briefly describes the update.
  9835  	UpgradeName *string `type:"string"`
  9836  
  9837  	// One of three steps an upgrade or upgrade eligibility check goes through:
  9838  	//    * PreUpgradeCheck
  9839  	//
  9840  	//    * Snapshot
  9841  	//
  9842  	//    * Upgrade
  9843  	UpgradeStep *string `type:"string" enum:"UpgradeStep"`
  9844  }
  9845  
  9846  // String returns the string representation.
  9847  //
  9848  // API parameter values that are decorated as "sensitive" in the API will not
  9849  // be included in the string output. The member name will be present, but the
  9850  // value will be replaced with "sensitive".
  9851  func (s GetUpgradeStatusOutput) String() string {
  9852  	return awsutil.Prettify(s)
  9853  }
  9854  
  9855  // GoString returns the string representation.
  9856  //
  9857  // API parameter values that are decorated as "sensitive" in the API will not
  9858  // be included in the string output. The member name will be present, but the
  9859  // value will be replaced with "sensitive".
  9860  func (s GetUpgradeStatusOutput) GoString() string {
  9861  	return s.String()
  9862  }
  9863  
  9864  // SetStepStatus sets the StepStatus field's value.
  9865  func (s *GetUpgradeStatusOutput) SetStepStatus(v string) *GetUpgradeStatusOutput {
  9866  	s.StepStatus = &v
  9867  	return s
  9868  }
  9869  
  9870  // SetUpgradeName sets the UpgradeName field's value.
  9871  func (s *GetUpgradeStatusOutput) SetUpgradeName(v string) *GetUpgradeStatusOutput {
  9872  	s.UpgradeName = &v
  9873  	return s
  9874  }
  9875  
  9876  // SetUpgradeStep sets the UpgradeStep field's value.
  9877  func (s *GetUpgradeStatusOutput) SetUpgradeStep(v string) *GetUpgradeStatusOutput {
  9878  	s.UpgradeStep = &v
  9879  	return s
  9880  }
  9881  
  9882  // Details of an inbound connection.
  9883  type InboundConnection struct {
  9884  	_ struct{} `type:"structure"`
  9885  
  9886  	// The connection ID for the inbound cross-cluster connection.
  9887  	ConnectionId *string `min:"10" type:"string"`
  9888  
  9889  	// The InboundConnectionStatus for the outbound connection.
  9890  	ConnectionStatus *InboundConnectionStatus `type:"structure"`
  9891  
  9892  	// The AWSDomainInformation for the local OpenSearch domain.
  9893  	LocalDomainInfo *DomainInformationContainer `type:"structure"`
  9894  
  9895  	// The AWSDomainInformation for the remote OpenSearch domain.
  9896  	RemoteDomainInfo *DomainInformationContainer `type:"structure"`
  9897  }
  9898  
  9899  // String returns the string representation.
  9900  //
  9901  // API parameter values that are decorated as "sensitive" in the API will not
  9902  // be included in the string output. The member name will be present, but the
  9903  // value will be replaced with "sensitive".
  9904  func (s InboundConnection) String() string {
  9905  	return awsutil.Prettify(s)
  9906  }
  9907  
  9908  // GoString returns the string representation.
  9909  //
  9910  // API parameter values that are decorated as "sensitive" in the API will not
  9911  // be included in the string output. The member name will be present, but the
  9912  // value will be replaced with "sensitive".
  9913  func (s InboundConnection) GoString() string {
  9914  	return s.String()
  9915  }
  9916  
  9917  // SetConnectionId sets the ConnectionId field's value.
  9918  func (s *InboundConnection) SetConnectionId(v string) *InboundConnection {
  9919  	s.ConnectionId = &v
  9920  	return s
  9921  }
  9922  
  9923  // SetConnectionStatus sets the ConnectionStatus field's value.
  9924  func (s *InboundConnection) SetConnectionStatus(v *InboundConnectionStatus) *InboundConnection {
  9925  	s.ConnectionStatus = v
  9926  	return s
  9927  }
  9928  
  9929  // SetLocalDomainInfo sets the LocalDomainInfo field's value.
  9930  func (s *InboundConnection) SetLocalDomainInfo(v *DomainInformationContainer) *InboundConnection {
  9931  	s.LocalDomainInfo = v
  9932  	return s
  9933  }
  9934  
  9935  // SetRemoteDomainInfo sets the RemoteDomainInfo field's value.
  9936  func (s *InboundConnection) SetRemoteDomainInfo(v *DomainInformationContainer) *InboundConnection {
  9937  	s.RemoteDomainInfo = v
  9938  	return s
  9939  }
  9940  
  9941  // The connection status of an inbound cross-cluster connection.
  9942  type InboundConnectionStatus struct {
  9943  	_ struct{} `type:"structure"`
  9944  
  9945  	// Verbose information for the inbound connection status.
  9946  	Message *string `type:"string"`
  9947  
  9948  	// The state code for the inbound connection. Can be one of the following:
  9949  	//
  9950  	//    * PENDING_ACCEPTANCE: Inbound connection is not yet accepted by the remote
  9951  	//    domain owner.
  9952  	//
  9953  	//    * APPROVED: Inbound connection is pending acceptance by the remote domain
  9954  	//    owner.
  9955  	//
  9956  	//    * PROVISIONING: Inbound connection provisioning is in progress.
  9957  	//
  9958  	//    * ACTIVE: Inbound connection is active and ready to use.
  9959  	//
  9960  	//    * REJECTING: Inbound connection rejection is in process.
  9961  	//
  9962  	//    * REJECTED: Inbound connection is rejected.
  9963  	//
  9964  	//    * DELETING: Inbound connection deletion is in progress.
  9965  	//
  9966  	//    * DELETED: Inbound connection is deleted and can no longer be used.
  9967  	StatusCode *string `type:"string" enum:"InboundConnectionStatusCode"`
  9968  }
  9969  
  9970  // String returns the string representation.
  9971  //
  9972  // API parameter values that are decorated as "sensitive" in the API will not
  9973  // be included in the string output. The member name will be present, but the
  9974  // value will be replaced with "sensitive".
  9975  func (s InboundConnectionStatus) String() string {
  9976  	return awsutil.Prettify(s)
  9977  }
  9978  
  9979  // GoString returns the string representation.
  9980  //
  9981  // API parameter values that are decorated as "sensitive" in the API will not
  9982  // be included in the string output. The member name will be present, but the
  9983  // value will be replaced with "sensitive".
  9984  func (s InboundConnectionStatus) GoString() string {
  9985  	return s.String()
  9986  }
  9987  
  9988  // SetMessage sets the Message field's value.
  9989  func (s *InboundConnectionStatus) SetMessage(v string) *InboundConnectionStatus {
  9990  	s.Message = &v
  9991  	return s
  9992  }
  9993  
  9994  // SetStatusCode sets the StatusCode field's value.
  9995  func (s *InboundConnectionStatus) SetStatusCode(v string) *InboundConnectionStatus {
  9996  	s.StatusCode = &v
  9997  	return s
  9998  }
  9999  
 10000  // InstanceCountLimits represents the limits on the number of instances that
 10001  // can be created in Amazon OpenSearch Service for a given InstanceType.
 10002  type InstanceCountLimits struct {
 10003  	_ struct{} `type:"structure"`
 10004  
 10005  	// Maximum number of instances that can be instantiated for a given InstanceType.
 10006  	MaximumInstanceCount *int64 `type:"integer"`
 10007  
 10008  	// Minimum number of instances that can be instantiated for a given InstanceType.
 10009  	MinimumInstanceCount *int64 `type:"integer"`
 10010  }
 10011  
 10012  // String returns the string representation.
 10013  //
 10014  // API parameter values that are decorated as "sensitive" in the API will not
 10015  // be included in the string output. The member name will be present, but the
 10016  // value will be replaced with "sensitive".
 10017  func (s InstanceCountLimits) String() string {
 10018  	return awsutil.Prettify(s)
 10019  }
 10020  
 10021  // GoString returns the string representation.
 10022  //
 10023  // API parameter values that are decorated as "sensitive" in the API will not
 10024  // be included in the string output. The member name will be present, but the
 10025  // value will be replaced with "sensitive".
 10026  func (s InstanceCountLimits) GoString() string {
 10027  	return s.String()
 10028  }
 10029  
 10030  // SetMaximumInstanceCount sets the MaximumInstanceCount field's value.
 10031  func (s *InstanceCountLimits) SetMaximumInstanceCount(v int64) *InstanceCountLimits {
 10032  	s.MaximumInstanceCount = &v
 10033  	return s
 10034  }
 10035  
 10036  // SetMinimumInstanceCount sets the MinimumInstanceCount field's value.
 10037  func (s *InstanceCountLimits) SetMinimumInstanceCount(v int64) *InstanceCountLimits {
 10038  	s.MinimumInstanceCount = &v
 10039  	return s
 10040  }
 10041  
 10042  // InstanceLimits represents the list of instance-related attributes that are
 10043  // available for a given InstanceType.
 10044  type InstanceLimits struct {
 10045  	_ struct{} `type:"structure"`
 10046  
 10047  	// InstanceCountLimits represents the limits on the number of instances that
 10048  	// can be created in Amazon OpenSearch Service for a given InstanceType.
 10049  	InstanceCountLimits *InstanceCountLimits `type:"structure"`
 10050  }
 10051  
 10052  // String returns the string representation.
 10053  //
 10054  // API parameter values that are decorated as "sensitive" in the API will not
 10055  // be included in the string output. The member name will be present, but the
 10056  // value will be replaced with "sensitive".
 10057  func (s InstanceLimits) String() string {
 10058  	return awsutil.Prettify(s)
 10059  }
 10060  
 10061  // GoString returns the string representation.
 10062  //
 10063  // API parameter values that are decorated as "sensitive" in the API will not
 10064  // be included in the string output. The member name will be present, but the
 10065  // value will be replaced with "sensitive".
 10066  func (s InstanceLimits) GoString() string {
 10067  	return s.String()
 10068  }
 10069  
 10070  // SetInstanceCountLimits sets the InstanceCountLimits field's value.
 10071  func (s *InstanceLimits) SetInstanceCountLimits(v *InstanceCountLimits) *InstanceLimits {
 10072  	s.InstanceCountLimits = v
 10073  	return s
 10074  }
 10075  
 10076  type InstanceTypeDetails struct {
 10077  	_ struct{} `type:"structure"`
 10078  
 10079  	AdvancedSecurityEnabled *bool `type:"boolean"`
 10080  
 10081  	AppLogsEnabled *bool `type:"boolean"`
 10082  
 10083  	CognitoEnabled *bool `type:"boolean"`
 10084  
 10085  	EncryptionEnabled *bool `type:"boolean"`
 10086  
 10087  	InstanceRole []*string `type:"list"`
 10088  
 10089  	InstanceType *string `type:"string" enum:"OpenSearchPartitionInstanceType"`
 10090  
 10091  	WarmEnabled *bool `type:"boolean"`
 10092  }
 10093  
 10094  // String returns the string representation.
 10095  //
 10096  // API parameter values that are decorated as "sensitive" in the API will not
 10097  // be included in the string output. The member name will be present, but the
 10098  // value will be replaced with "sensitive".
 10099  func (s InstanceTypeDetails) String() string {
 10100  	return awsutil.Prettify(s)
 10101  }
 10102  
 10103  // GoString returns the string representation.
 10104  //
 10105  // API parameter values that are decorated as "sensitive" in the API will not
 10106  // be included in the string output. The member name will be present, but the
 10107  // value will be replaced with "sensitive".
 10108  func (s InstanceTypeDetails) GoString() string {
 10109  	return s.String()
 10110  }
 10111  
 10112  // SetAdvancedSecurityEnabled sets the AdvancedSecurityEnabled field's value.
 10113  func (s *InstanceTypeDetails) SetAdvancedSecurityEnabled(v bool) *InstanceTypeDetails {
 10114  	s.AdvancedSecurityEnabled = &v
 10115  	return s
 10116  }
 10117  
 10118  // SetAppLogsEnabled sets the AppLogsEnabled field's value.
 10119  func (s *InstanceTypeDetails) SetAppLogsEnabled(v bool) *InstanceTypeDetails {
 10120  	s.AppLogsEnabled = &v
 10121  	return s
 10122  }
 10123  
 10124  // SetCognitoEnabled sets the CognitoEnabled field's value.
 10125  func (s *InstanceTypeDetails) SetCognitoEnabled(v bool) *InstanceTypeDetails {
 10126  	s.CognitoEnabled = &v
 10127  	return s
 10128  }
 10129  
 10130  // SetEncryptionEnabled sets the EncryptionEnabled field's value.
 10131  func (s *InstanceTypeDetails) SetEncryptionEnabled(v bool) *InstanceTypeDetails {
 10132  	s.EncryptionEnabled = &v
 10133  	return s
 10134  }
 10135  
 10136  // SetInstanceRole sets the InstanceRole field's value.
 10137  func (s *InstanceTypeDetails) SetInstanceRole(v []*string) *InstanceTypeDetails {
 10138  	s.InstanceRole = v
 10139  	return s
 10140  }
 10141  
 10142  // SetInstanceType sets the InstanceType field's value.
 10143  func (s *InstanceTypeDetails) SetInstanceType(v string) *InstanceTypeDetails {
 10144  	s.InstanceType = &v
 10145  	return s
 10146  }
 10147  
 10148  // SetWarmEnabled sets the WarmEnabled field's value.
 10149  func (s *InstanceTypeDetails) SetWarmEnabled(v bool) *InstanceTypeDetails {
 10150  	s.WarmEnabled = &v
 10151  	return s
 10152  }
 10153  
 10154  // The request processing has failed because of an unknown error, exception
 10155  // or failure (the failure is internal to the service) . Gives http status code
 10156  // of 500.
 10157  type InternalException struct {
 10158  	_            struct{}                  `type:"structure"`
 10159  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10160  
 10161  	Message_ *string `locationName:"message" type:"string"`
 10162  }
 10163  
 10164  // String returns the string representation.
 10165  //
 10166  // API parameter values that are decorated as "sensitive" in the API will not
 10167  // be included in the string output. The member name will be present, but the
 10168  // value will be replaced with "sensitive".
 10169  func (s InternalException) String() string {
 10170  	return awsutil.Prettify(s)
 10171  }
 10172  
 10173  // GoString returns the string representation.
 10174  //
 10175  // API parameter values that are decorated as "sensitive" in the API will not
 10176  // be included in the string output. The member name will be present, but the
 10177  // value will be replaced with "sensitive".
 10178  func (s InternalException) GoString() string {
 10179  	return s.String()
 10180  }
 10181  
 10182  func newErrorInternalException(v protocol.ResponseMetadata) error {
 10183  	return &InternalException{
 10184  		RespMetadata: v,
 10185  	}
 10186  }
 10187  
 10188  // Code returns the exception type name.
 10189  func (s *InternalException) Code() string {
 10190  	return "InternalException"
 10191  }
 10192  
 10193  // Message returns the exception's message.
 10194  func (s *InternalException) Message() string {
 10195  	if s.Message_ != nil {
 10196  		return *s.Message_
 10197  	}
 10198  	return ""
 10199  }
 10200  
 10201  // OrigErr always returns nil, satisfies awserr.Error interface.
 10202  func (s *InternalException) OrigErr() error {
 10203  	return nil
 10204  }
 10205  
 10206  func (s *InternalException) Error() string {
 10207  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10208  }
 10209  
 10210  // Status code returns the HTTP status code for the request's response error.
 10211  func (s *InternalException) StatusCode() int {
 10212  	return s.RespMetadata.StatusCode
 10213  }
 10214  
 10215  // RequestID returns the service's response RequestID for request.
 10216  func (s *InternalException) RequestID() string {
 10217  	return s.RespMetadata.RequestID
 10218  }
 10219  
 10220  // The request processing has failed because of invalid pagination token provided
 10221  // by customer. Returns an HTTP status code of 400.
 10222  type InvalidPaginationTokenException struct {
 10223  	_            struct{}                  `type:"structure"`
 10224  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10225  
 10226  	Message_ *string `locationName:"message" type:"string"`
 10227  }
 10228  
 10229  // String returns the string representation.
 10230  //
 10231  // API parameter values that are decorated as "sensitive" in the API will not
 10232  // be included in the string output. The member name will be present, but the
 10233  // value will be replaced with "sensitive".
 10234  func (s InvalidPaginationTokenException) String() string {
 10235  	return awsutil.Prettify(s)
 10236  }
 10237  
 10238  // GoString returns the string representation.
 10239  //
 10240  // API parameter values that are decorated as "sensitive" in the API will not
 10241  // be included in the string output. The member name will be present, but the
 10242  // value will be replaced with "sensitive".
 10243  func (s InvalidPaginationTokenException) GoString() string {
 10244  	return s.String()
 10245  }
 10246  
 10247  func newErrorInvalidPaginationTokenException(v protocol.ResponseMetadata) error {
 10248  	return &InvalidPaginationTokenException{
 10249  		RespMetadata: v,
 10250  	}
 10251  }
 10252  
 10253  // Code returns the exception type name.
 10254  func (s *InvalidPaginationTokenException) Code() string {
 10255  	return "InvalidPaginationTokenException"
 10256  }
 10257  
 10258  // Message returns the exception's message.
 10259  func (s *InvalidPaginationTokenException) Message() string {
 10260  	if s.Message_ != nil {
 10261  		return *s.Message_
 10262  	}
 10263  	return ""
 10264  }
 10265  
 10266  // OrigErr always returns nil, satisfies awserr.Error interface.
 10267  func (s *InvalidPaginationTokenException) OrigErr() error {
 10268  	return nil
 10269  }
 10270  
 10271  func (s *InvalidPaginationTokenException) Error() string {
 10272  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10273  }
 10274  
 10275  // Status code returns the HTTP status code for the request's response error.
 10276  func (s *InvalidPaginationTokenException) StatusCode() int {
 10277  	return s.RespMetadata.StatusCode
 10278  }
 10279  
 10280  // RequestID returns the service's response RequestID for request.
 10281  func (s *InvalidPaginationTokenException) RequestID() string {
 10282  	return s.RespMetadata.RequestID
 10283  }
 10284  
 10285  // An exception for trying to create or access sub-resource that is either invalid
 10286  // or not supported. Gives http status code of 409.
 10287  type InvalidTypeException struct {
 10288  	_            struct{}                  `type:"structure"`
 10289  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10290  
 10291  	Message_ *string `locationName:"message" type:"string"`
 10292  }
 10293  
 10294  // String returns the string representation.
 10295  //
 10296  // API parameter values that are decorated as "sensitive" in the API will not
 10297  // be included in the string output. The member name will be present, but the
 10298  // value will be replaced with "sensitive".
 10299  func (s InvalidTypeException) String() string {
 10300  	return awsutil.Prettify(s)
 10301  }
 10302  
 10303  // GoString returns the string representation.
 10304  //
 10305  // API parameter values that are decorated as "sensitive" in the API will not
 10306  // be included in the string output. The member name will be present, but the
 10307  // value will be replaced with "sensitive".
 10308  func (s InvalidTypeException) GoString() string {
 10309  	return s.String()
 10310  }
 10311  
 10312  func newErrorInvalidTypeException(v protocol.ResponseMetadata) error {
 10313  	return &InvalidTypeException{
 10314  		RespMetadata: v,
 10315  	}
 10316  }
 10317  
 10318  // Code returns the exception type name.
 10319  func (s *InvalidTypeException) Code() string {
 10320  	return "InvalidTypeException"
 10321  }
 10322  
 10323  // Message returns the exception's message.
 10324  func (s *InvalidTypeException) Message() string {
 10325  	if s.Message_ != nil {
 10326  		return *s.Message_
 10327  	}
 10328  	return ""
 10329  }
 10330  
 10331  // OrigErr always returns nil, satisfies awserr.Error interface.
 10332  func (s *InvalidTypeException) OrigErr() error {
 10333  	return nil
 10334  }
 10335  
 10336  func (s *InvalidTypeException) Error() string {
 10337  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10338  }
 10339  
 10340  // Status code returns the HTTP status code for the request's response error.
 10341  func (s *InvalidTypeException) StatusCode() int {
 10342  	return s.RespMetadata.StatusCode
 10343  }
 10344  
 10345  // RequestID returns the service's response RequestID for request.
 10346  func (s *InvalidTypeException) RequestID() string {
 10347  	return s.RespMetadata.RequestID
 10348  }
 10349  
 10350  // An exception for trying to create more than allowed resources or sub-resources.
 10351  // Gives http status code of 409.
 10352  type LimitExceededException struct {
 10353  	_            struct{}                  `type:"structure"`
 10354  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10355  
 10356  	Message_ *string `locationName:"message" type:"string"`
 10357  }
 10358  
 10359  // String returns the string representation.
 10360  //
 10361  // API parameter values that are decorated as "sensitive" in the API will not
 10362  // be included in the string output. The member name will be present, but the
 10363  // value will be replaced with "sensitive".
 10364  func (s LimitExceededException) String() string {
 10365  	return awsutil.Prettify(s)
 10366  }
 10367  
 10368  // GoString returns the string representation.
 10369  //
 10370  // API parameter values that are decorated as "sensitive" in the API will not
 10371  // be included in the string output. The member name will be present, but the
 10372  // value will be replaced with "sensitive".
 10373  func (s LimitExceededException) GoString() string {
 10374  	return s.String()
 10375  }
 10376  
 10377  func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
 10378  	return &LimitExceededException{
 10379  		RespMetadata: v,
 10380  	}
 10381  }
 10382  
 10383  // Code returns the exception type name.
 10384  func (s *LimitExceededException) Code() string {
 10385  	return "LimitExceededException"
 10386  }
 10387  
 10388  // Message returns the exception's message.
 10389  func (s *LimitExceededException) Message() string {
 10390  	if s.Message_ != nil {
 10391  		return *s.Message_
 10392  	}
 10393  	return ""
 10394  }
 10395  
 10396  // OrigErr always returns nil, satisfies awserr.Error interface.
 10397  func (s *LimitExceededException) OrigErr() error {
 10398  	return nil
 10399  }
 10400  
 10401  func (s *LimitExceededException) Error() string {
 10402  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10403  }
 10404  
 10405  // Status code returns the HTTP status code for the request's response error.
 10406  func (s *LimitExceededException) StatusCode() int {
 10407  	return s.RespMetadata.StatusCode
 10408  }
 10409  
 10410  // RequestID returns the service's response RequestID for request.
 10411  func (s *LimitExceededException) RequestID() string {
 10412  	return s.RespMetadata.RequestID
 10413  }
 10414  
 10415  // Limits for a given InstanceType and for each of its roles. Limits contains
 10416  // the following: StorageTypes , InstanceLimits , and AdditionalLimits
 10417  type Limits struct {
 10418  	_ struct{} `type:"structure"`
 10419  
 10420  	// List of additional limits that are specific to a given InstanceType and for
 10421  	// each of its InstanceRole .
 10422  	AdditionalLimits []*AdditionalLimit `type:"list"`
 10423  
 10424  	// InstanceLimits represents the list of instance-related attributes that are
 10425  	// available for a given InstanceType.
 10426  	InstanceLimits *InstanceLimits `type:"structure"`
 10427  
 10428  	// Storage-related types and attributes that are available for a given InstanceType.
 10429  	StorageTypes []*StorageType `type:"list"`
 10430  }
 10431  
 10432  // String returns the string representation.
 10433  //
 10434  // API parameter values that are decorated as "sensitive" in the API will not
 10435  // be included in the string output. The member name will be present, but the
 10436  // value will be replaced with "sensitive".
 10437  func (s Limits) String() string {
 10438  	return awsutil.Prettify(s)
 10439  }
 10440  
 10441  // GoString returns the string representation.
 10442  //
 10443  // API parameter values that are decorated as "sensitive" in the API will not
 10444  // be included in the string output. The member name will be present, but the
 10445  // value will be replaced with "sensitive".
 10446  func (s Limits) GoString() string {
 10447  	return s.String()
 10448  }
 10449  
 10450  // SetAdditionalLimits sets the AdditionalLimits field's value.
 10451  func (s *Limits) SetAdditionalLimits(v []*AdditionalLimit) *Limits {
 10452  	s.AdditionalLimits = v
 10453  	return s
 10454  }
 10455  
 10456  // SetInstanceLimits sets the InstanceLimits field's value.
 10457  func (s *Limits) SetInstanceLimits(v *InstanceLimits) *Limits {
 10458  	s.InstanceLimits = v
 10459  	return s
 10460  }
 10461  
 10462  // SetStorageTypes sets the StorageTypes field's value.
 10463  func (s *Limits) SetStorageTypes(v []*StorageType) *Limits {
 10464  	s.StorageTypes = v
 10465  	return s
 10466  }
 10467  
 10468  // Container for the parameters to the ListDomainNames operation.
 10469  type ListDomainNamesInput struct {
 10470  	_ struct{} `type:"structure" nopayload:"true"`
 10471  
 10472  	// Optional parameter to filter the output by domain engine type. Acceptable
 10473  	// values are 'Elasticsearch' and 'OpenSearch'.
 10474  	EngineType *string `location:"querystring" locationName:"engineType" type:"string" enum:"EngineType"`
 10475  }
 10476  
 10477  // String returns the string representation.
 10478  //
 10479  // API parameter values that are decorated as "sensitive" in the API will not
 10480  // be included in the string output. The member name will be present, but the
 10481  // value will be replaced with "sensitive".
 10482  func (s ListDomainNamesInput) String() string {
 10483  	return awsutil.Prettify(s)
 10484  }
 10485  
 10486  // GoString returns the string representation.
 10487  //
 10488  // API parameter values that are decorated as "sensitive" in the API will not
 10489  // be included in the string output. The member name will be present, but the
 10490  // value will be replaced with "sensitive".
 10491  func (s ListDomainNamesInput) GoString() string {
 10492  	return s.String()
 10493  }
 10494  
 10495  // SetEngineType sets the EngineType field's value.
 10496  func (s *ListDomainNamesInput) SetEngineType(v string) *ListDomainNamesInput {
 10497  	s.EngineType = &v
 10498  	return s
 10499  }
 10500  
 10501  // The result of a ListDomainNames operation. Contains the names of all domains
 10502  // owned by this account and their respective engine types.
 10503  type ListDomainNamesOutput struct {
 10504  	_ struct{} `type:"structure"`
 10505  
 10506  	// List of domain names and respective engine types.
 10507  	DomainNames []*DomainInfo `type:"list"`
 10508  }
 10509  
 10510  // String returns the string representation.
 10511  //
 10512  // API parameter values that are decorated as "sensitive" in the API will not
 10513  // be included in the string output. The member name will be present, but the
 10514  // value will be replaced with "sensitive".
 10515  func (s ListDomainNamesOutput) String() string {
 10516  	return awsutil.Prettify(s)
 10517  }
 10518  
 10519  // GoString returns the string representation.
 10520  //
 10521  // API parameter values that are decorated as "sensitive" in the API will not
 10522  // be included in the string output. The member name will be present, but the
 10523  // value will be replaced with "sensitive".
 10524  func (s ListDomainNamesOutput) GoString() string {
 10525  	return s.String()
 10526  }
 10527  
 10528  // SetDomainNames sets the DomainNames field's value.
 10529  func (s *ListDomainNamesOutput) SetDomainNames(v []*DomainInfo) *ListDomainNamesOutput {
 10530  	s.DomainNames = v
 10531  	return s
 10532  }
 10533  
 10534  // Container for the request parameters to the ListDomainsForPackage operation.
 10535  type ListDomainsForPackageInput struct {
 10536  	_ struct{} `type:"structure" nopayload:"true"`
 10537  
 10538  	// Limits the results to a maximum number of domains.
 10539  	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
 10540  
 10541  	// Used for pagination. Only necessary if a previous API call includes a non-null
 10542  	// NextToken value. If provided, returns results for the next page.
 10543  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
 10544  
 10545  	// The package for which to list associated domains.
 10546  	//
 10547  	// PackageID is a required field
 10548  	PackageID *string `location:"uri" locationName:"PackageID" type:"string" required:"true"`
 10549  }
 10550  
 10551  // String returns the string representation.
 10552  //
 10553  // API parameter values that are decorated as "sensitive" in the API will not
 10554  // be included in the string output. The member name will be present, but the
 10555  // value will be replaced with "sensitive".
 10556  func (s ListDomainsForPackageInput) String() string {
 10557  	return awsutil.Prettify(s)
 10558  }
 10559  
 10560  // GoString returns the string representation.
 10561  //
 10562  // API parameter values that are decorated as "sensitive" in the API will not
 10563  // be included in the string output. The member name will be present, but the
 10564  // value will be replaced with "sensitive".
 10565  func (s ListDomainsForPackageInput) GoString() string {
 10566  	return s.String()
 10567  }
 10568  
 10569  // Validate inspects the fields of the type to determine if they are valid.
 10570  func (s *ListDomainsForPackageInput) Validate() error {
 10571  	invalidParams := request.ErrInvalidParams{Context: "ListDomainsForPackageInput"}
 10572  	if s.PackageID == nil {
 10573  		invalidParams.Add(request.NewErrParamRequired("PackageID"))
 10574  	}
 10575  	if s.PackageID != nil && len(*s.PackageID) < 1 {
 10576  		invalidParams.Add(request.NewErrParamMinLen("PackageID", 1))
 10577  	}
 10578  
 10579  	if invalidParams.Len() > 0 {
 10580  		return invalidParams
 10581  	}
 10582  	return nil
 10583  }
 10584  
 10585  // SetMaxResults sets the MaxResults field's value.
 10586  func (s *ListDomainsForPackageInput) SetMaxResults(v int64) *ListDomainsForPackageInput {
 10587  	s.MaxResults = &v
 10588  	return s
 10589  }
 10590  
 10591  // SetNextToken sets the NextToken field's value.
 10592  func (s *ListDomainsForPackageInput) SetNextToken(v string) *ListDomainsForPackageInput {
 10593  	s.NextToken = &v
 10594  	return s
 10595  }
 10596  
 10597  // SetPackageID sets the PackageID field's value.
 10598  func (s *ListDomainsForPackageInput) SetPackageID(v string) *ListDomainsForPackageInput {
 10599  	s.PackageID = &v
 10600  	return s
 10601  }
 10602  
 10603  // Container for the response parameters to the ListDomainsForPackage operation.
 10604  type ListDomainsForPackageOutput struct {
 10605  	_ struct{} `type:"structure"`
 10606  
 10607  	// List of DomainPackageDetails objects.
 10608  	DomainPackageDetailsList []*DomainPackageDetails `type:"list"`
 10609  
 10610  	NextToken *string `type:"string"`
 10611  }
 10612  
 10613  // String returns the string representation.
 10614  //
 10615  // API parameter values that are decorated as "sensitive" in the API will not
 10616  // be included in the string output. The member name will be present, but the
 10617  // value will be replaced with "sensitive".
 10618  func (s ListDomainsForPackageOutput) String() string {
 10619  	return awsutil.Prettify(s)
 10620  }
 10621  
 10622  // GoString returns the string representation.
 10623  //
 10624  // API parameter values that are decorated as "sensitive" in the API will not
 10625  // be included in the string output. The member name will be present, but the
 10626  // value will be replaced with "sensitive".
 10627  func (s ListDomainsForPackageOutput) GoString() string {
 10628  	return s.String()
 10629  }
 10630  
 10631  // SetDomainPackageDetailsList sets the DomainPackageDetailsList field's value.
 10632  func (s *ListDomainsForPackageOutput) SetDomainPackageDetailsList(v []*DomainPackageDetails) *ListDomainsForPackageOutput {
 10633  	s.DomainPackageDetailsList = v
 10634  	return s
 10635  }
 10636  
 10637  // SetNextToken sets the NextToken field's value.
 10638  func (s *ListDomainsForPackageOutput) SetNextToken(v string) *ListDomainsForPackageOutput {
 10639  	s.NextToken = &v
 10640  	return s
 10641  }
 10642  
 10643  type ListInstanceTypeDetailsInput struct {
 10644  	_ struct{} `type:"structure" nopayload:"true"`
 10645  
 10646  	// The name of an domain. Domain names are unique across the domains owned by
 10647  	// an account within an AWS region. Domain names start with a letter or number
 10648  	// and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).
 10649  	DomainName *string `location:"querystring" locationName:"domainName" min:"3" type:"string"`
 10650  
 10651  	// EngineVersion is a required field
 10652  	EngineVersion *string `location:"uri" locationName:"EngineVersion" min:"14" type:"string" required:"true"`
 10653  
 10654  	// Set this value to limit the number of results returned.
 10655  	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
 10656  
 10657  	// Paginated APIs accept the NextToken input to return the next page of results
 10658  	// and provide a NextToken output in the response, which you can use to retrieve
 10659  	// more results.
 10660  	NextToken *string `location:"querystring" locationName:"nextToken" 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 ListInstanceTypeDetailsInput) 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 ListInstanceTypeDetailsInput) GoString() string {
 10678  	return s.String()
 10679  }
 10680  
 10681  // Validate inspects the fields of the type to determine if they are valid.
 10682  func (s *ListInstanceTypeDetailsInput) Validate() error {
 10683  	invalidParams := request.ErrInvalidParams{Context: "ListInstanceTypeDetailsInput"}
 10684  	if s.DomainName != nil && len(*s.DomainName) < 3 {
 10685  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
 10686  	}
 10687  	if s.EngineVersion == nil {
 10688  		invalidParams.Add(request.NewErrParamRequired("EngineVersion"))
 10689  	}
 10690  	if s.EngineVersion != nil && len(*s.EngineVersion) < 14 {
 10691  		invalidParams.Add(request.NewErrParamMinLen("EngineVersion", 14))
 10692  	}
 10693  
 10694  	if invalidParams.Len() > 0 {
 10695  		return invalidParams
 10696  	}
 10697  	return nil
 10698  }
 10699  
 10700  // SetDomainName sets the DomainName field's value.
 10701  func (s *ListInstanceTypeDetailsInput) SetDomainName(v string) *ListInstanceTypeDetailsInput {
 10702  	s.DomainName = &v
 10703  	return s
 10704  }
 10705  
 10706  // SetEngineVersion sets the EngineVersion field's value.
 10707  func (s *ListInstanceTypeDetailsInput) SetEngineVersion(v string) *ListInstanceTypeDetailsInput {
 10708  	s.EngineVersion = &v
 10709  	return s
 10710  }
 10711  
 10712  // SetMaxResults sets the MaxResults field's value.
 10713  func (s *ListInstanceTypeDetailsInput) SetMaxResults(v int64) *ListInstanceTypeDetailsInput {
 10714  	s.MaxResults = &v
 10715  	return s
 10716  }
 10717  
 10718  // SetNextToken sets the NextToken field's value.
 10719  func (s *ListInstanceTypeDetailsInput) SetNextToken(v string) *ListInstanceTypeDetailsInput {
 10720  	s.NextToken = &v
 10721  	return s
 10722  }
 10723  
 10724  type ListInstanceTypeDetailsOutput struct {
 10725  	_ struct{} `type:"structure"`
 10726  
 10727  	InstanceTypeDetails []*InstanceTypeDetails `type:"list"`
 10728  
 10729  	// Paginated APIs accept the NextToken input to return the next page of results
 10730  	// and provide a NextToken output in the response, which you can use to retrieve
 10731  	// more results.
 10732  	NextToken *string `type:"string"`
 10733  }
 10734  
 10735  // String returns the string representation.
 10736  //
 10737  // API parameter values that are decorated as "sensitive" in the API will not
 10738  // be included in the string output. The member name will be present, but the
 10739  // value will be replaced with "sensitive".
 10740  func (s ListInstanceTypeDetailsOutput) String() string {
 10741  	return awsutil.Prettify(s)
 10742  }
 10743  
 10744  // GoString returns the string representation.
 10745  //
 10746  // API parameter values that are decorated as "sensitive" in the API will not
 10747  // be included in the string output. The member name will be present, but the
 10748  // value will be replaced with "sensitive".
 10749  func (s ListInstanceTypeDetailsOutput) GoString() string {
 10750  	return s.String()
 10751  }
 10752  
 10753  // SetInstanceTypeDetails sets the InstanceTypeDetails field's value.
 10754  func (s *ListInstanceTypeDetailsOutput) SetInstanceTypeDetails(v []*InstanceTypeDetails) *ListInstanceTypeDetailsOutput {
 10755  	s.InstanceTypeDetails = v
 10756  	return s
 10757  }
 10758  
 10759  // SetNextToken sets the NextToken field's value.
 10760  func (s *ListInstanceTypeDetailsOutput) SetNextToken(v string) *ListInstanceTypeDetailsOutput {
 10761  	s.NextToken = &v
 10762  	return s
 10763  }
 10764  
 10765  // Container for the request parameters to the ListPackagesForDomain operation.
 10766  type ListPackagesForDomainInput struct {
 10767  	_ struct{} `type:"structure" nopayload:"true"`
 10768  
 10769  	// The name of the domain for which you want to list associated packages.
 10770  	//
 10771  	// DomainName is a required field
 10772  	DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"`
 10773  
 10774  	// Limits results to a maximum number of packages.
 10775  	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
 10776  
 10777  	// Used for pagination. Only necessary if a previous API call includes a non-null
 10778  	// NextToken value. If provided, returns results for the next page.
 10779  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
 10780  }
 10781  
 10782  // String returns the string representation.
 10783  //
 10784  // API parameter values that are decorated as "sensitive" in the API will not
 10785  // be included in the string output. The member name will be present, but the
 10786  // value will be replaced with "sensitive".
 10787  func (s ListPackagesForDomainInput) String() string {
 10788  	return awsutil.Prettify(s)
 10789  }
 10790  
 10791  // GoString returns the string representation.
 10792  //
 10793  // API parameter values that are decorated as "sensitive" in the API will not
 10794  // be included in the string output. The member name will be present, but the
 10795  // value will be replaced with "sensitive".
 10796  func (s ListPackagesForDomainInput) GoString() string {
 10797  	return s.String()
 10798  }
 10799  
 10800  // Validate inspects the fields of the type to determine if they are valid.
 10801  func (s *ListPackagesForDomainInput) Validate() error {
 10802  	invalidParams := request.ErrInvalidParams{Context: "ListPackagesForDomainInput"}
 10803  	if s.DomainName == nil {
 10804  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
 10805  	}
 10806  	if s.DomainName != nil && len(*s.DomainName) < 3 {
 10807  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
 10808  	}
 10809  
 10810  	if invalidParams.Len() > 0 {
 10811  		return invalidParams
 10812  	}
 10813  	return nil
 10814  }
 10815  
 10816  // SetDomainName sets the DomainName field's value.
 10817  func (s *ListPackagesForDomainInput) SetDomainName(v string) *ListPackagesForDomainInput {
 10818  	s.DomainName = &v
 10819  	return s
 10820  }
 10821  
 10822  // SetMaxResults sets the MaxResults field's value.
 10823  func (s *ListPackagesForDomainInput) SetMaxResults(v int64) *ListPackagesForDomainInput {
 10824  	s.MaxResults = &v
 10825  	return s
 10826  }
 10827  
 10828  // SetNextToken sets the NextToken field's value.
 10829  func (s *ListPackagesForDomainInput) SetNextToken(v string) *ListPackagesForDomainInput {
 10830  	s.NextToken = &v
 10831  	return s
 10832  }
 10833  
 10834  // Container for the response parameters to the ListPackagesForDomain operation.
 10835  type ListPackagesForDomainOutput struct {
 10836  	_ struct{} `type:"structure"`
 10837  
 10838  	// List of DomainPackageDetails objects.
 10839  	DomainPackageDetailsList []*DomainPackageDetails `type:"list"`
 10840  
 10841  	// Pagination token to supply to the next call to get the next page of results.
 10842  	NextToken *string `type:"string"`
 10843  }
 10844  
 10845  // String returns the string representation.
 10846  //
 10847  // API parameter values that are decorated as "sensitive" in the API will not
 10848  // be included in the string output. The member name will be present, but the
 10849  // value will be replaced with "sensitive".
 10850  func (s ListPackagesForDomainOutput) String() string {
 10851  	return awsutil.Prettify(s)
 10852  }
 10853  
 10854  // GoString returns the string representation.
 10855  //
 10856  // API parameter values that are decorated as "sensitive" in the API will not
 10857  // be included in the string output. The member name will be present, but the
 10858  // value will be replaced with "sensitive".
 10859  func (s ListPackagesForDomainOutput) GoString() string {
 10860  	return s.String()
 10861  }
 10862  
 10863  // SetDomainPackageDetailsList sets the DomainPackageDetailsList field's value.
 10864  func (s *ListPackagesForDomainOutput) SetDomainPackageDetailsList(v []*DomainPackageDetails) *ListPackagesForDomainOutput {
 10865  	s.DomainPackageDetailsList = v
 10866  	return s
 10867  }
 10868  
 10869  // SetNextToken sets the NextToken field's value.
 10870  func (s *ListPackagesForDomainOutput) SetNextToken(v string) *ListPackagesForDomainOutput {
 10871  	s.NextToken = &v
 10872  	return s
 10873  }
 10874  
 10875  // Container for the parameters to the ListTags operation. Specify the ARN of
 10876  // the domain that the tags you want to view are attached to.
 10877  type ListTagsInput struct {
 10878  	_ struct{} `type:"structure" nopayload:"true"`
 10879  
 10880  	// Specify the ARN of the domain that the tags you want to view are attached
 10881  	// to.
 10882  	//
 10883  	// ARN is a required field
 10884  	ARN *string `location:"querystring" locationName:"arn" min:"20" type:"string" required:"true"`
 10885  }
 10886  
 10887  // String returns the string representation.
 10888  //
 10889  // API parameter values that are decorated as "sensitive" in the API will not
 10890  // be included in the string output. The member name will be present, but the
 10891  // value will be replaced with "sensitive".
 10892  func (s ListTagsInput) String() string {
 10893  	return awsutil.Prettify(s)
 10894  }
 10895  
 10896  // GoString returns the string representation.
 10897  //
 10898  // API parameter values that are decorated as "sensitive" in the API will not
 10899  // be included in the string output. The member name will be present, but the
 10900  // value will be replaced with "sensitive".
 10901  func (s ListTagsInput) GoString() string {
 10902  	return s.String()
 10903  }
 10904  
 10905  // Validate inspects the fields of the type to determine if they are valid.
 10906  func (s *ListTagsInput) Validate() error {
 10907  	invalidParams := request.ErrInvalidParams{Context: "ListTagsInput"}
 10908  	if s.ARN == nil {
 10909  		invalidParams.Add(request.NewErrParamRequired("ARN"))
 10910  	}
 10911  	if s.ARN != nil && len(*s.ARN) < 20 {
 10912  		invalidParams.Add(request.NewErrParamMinLen("ARN", 20))
 10913  	}
 10914  
 10915  	if invalidParams.Len() > 0 {
 10916  		return invalidParams
 10917  	}
 10918  	return nil
 10919  }
 10920  
 10921  // SetARN sets the ARN field's value.
 10922  func (s *ListTagsInput) SetARN(v string) *ListTagsInput {
 10923  	s.ARN = &v
 10924  	return s
 10925  }
 10926  
 10927  // The result of a ListTags operation. Contains tags for all requested domains.
 10928  type ListTagsOutput struct {
 10929  	_ struct{} `type:"structure"`
 10930  
 10931  	// List of Tag for the requested domain.
 10932  	TagList []*Tag `type:"list"`
 10933  }
 10934  
 10935  // String returns the string representation.
 10936  //
 10937  // API parameter values that are decorated as "sensitive" in the API will not
 10938  // be included in the string output. The member name will be present, but the
 10939  // value will be replaced with "sensitive".
 10940  func (s ListTagsOutput) String() string {
 10941  	return awsutil.Prettify(s)
 10942  }
 10943  
 10944  // GoString returns the string representation.
 10945  //
 10946  // API parameter values that are decorated as "sensitive" in the API will not
 10947  // be included in the string output. The member name will be present, but the
 10948  // value will be replaced with "sensitive".
 10949  func (s ListTagsOutput) GoString() string {
 10950  	return s.String()
 10951  }
 10952  
 10953  // SetTagList sets the TagList field's value.
 10954  func (s *ListTagsOutput) SetTagList(v []*Tag) *ListTagsOutput {
 10955  	s.TagList = v
 10956  	return s
 10957  }
 10958  
 10959  // Container for the parameters to the ListVersions operation.
 10960  // Use MaxResults to control the maximum number of results to retrieve in a
 10961  // single call.
 10962  //
 10963  // Use NextToken in response to retrieve more results. If the received response
 10964  // does not contain a NextToken, there are no more results to retrieve.
 10965  type ListVersionsInput struct {
 10966  	_ struct{} `type:"structure" nopayload:"true"`
 10967  
 10968  	// Set this value to limit the number of results returned. Value must be greater
 10969  	// than 10 or it won't be honored.
 10970  	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
 10971  
 10972  	// Paginated APIs accept the NextToken input to return the next page of results
 10973  	// and provide a NextToken output in the response, which you can use to retrieve
 10974  	// more results.
 10975  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
 10976  }
 10977  
 10978  // String returns the string representation.
 10979  //
 10980  // API parameter values that are decorated as "sensitive" in the API will not
 10981  // be included in the string output. The member name will be present, but the
 10982  // value will be replaced with "sensitive".
 10983  func (s ListVersionsInput) String() string {
 10984  	return awsutil.Prettify(s)
 10985  }
 10986  
 10987  // GoString returns the string representation.
 10988  //
 10989  // API parameter values that are decorated as "sensitive" in the API will not
 10990  // be included in the string output. The member name will be present, but the
 10991  // value will be replaced with "sensitive".
 10992  func (s ListVersionsInput) GoString() string {
 10993  	return s.String()
 10994  }
 10995  
 10996  // SetMaxResults sets the MaxResults field's value.
 10997  func (s *ListVersionsInput) SetMaxResults(v int64) *ListVersionsInput {
 10998  	s.MaxResults = &v
 10999  	return s
 11000  }
 11001  
 11002  // SetNextToken sets the NextToken field's value.
 11003  func (s *ListVersionsInput) SetNextToken(v string) *ListVersionsInput {
 11004  	s.NextToken = &v
 11005  	return s
 11006  }
 11007  
 11008  // Container for the parameters for response received from the ListVersions
 11009  // operation.
 11010  type ListVersionsOutput struct {
 11011  	_ struct{} `type:"structure"`
 11012  
 11013  	// Paginated APIs accept the NextToken input to return the next page of results
 11014  	// and provide a NextToken output in the response, which you can use to retrieve
 11015  	// more results.
 11016  	NextToken *string `type:"string"`
 11017  
 11018  	// List of supported OpenSearch versions.
 11019  	Versions []*string `type:"list"`
 11020  }
 11021  
 11022  // String returns the string representation.
 11023  //
 11024  // API parameter values that are decorated as "sensitive" in the API will not
 11025  // be included in the string output. The member name will be present, but the
 11026  // value will be replaced with "sensitive".
 11027  func (s ListVersionsOutput) String() string {
 11028  	return awsutil.Prettify(s)
 11029  }
 11030  
 11031  // GoString returns the string representation.
 11032  //
 11033  // API parameter values that are decorated as "sensitive" in the API will not
 11034  // be included in the string output. The member name will be present, but the
 11035  // value will be replaced with "sensitive".
 11036  func (s ListVersionsOutput) GoString() string {
 11037  	return s.String()
 11038  }
 11039  
 11040  // SetNextToken sets the NextToken field's value.
 11041  func (s *ListVersionsOutput) SetNextToken(v string) *ListVersionsOutput {
 11042  	s.NextToken = &v
 11043  	return s
 11044  }
 11045  
 11046  // SetVersions sets the Versions field's value.
 11047  func (s *ListVersionsOutput) SetVersions(v []*string) *ListVersionsOutput {
 11048  	s.Versions = v
 11049  	return s
 11050  }
 11051  
 11052  // Log Publishing option that is set for a given domain. Attributes and their
 11053  // details:
 11054  //    * CloudWatchLogsLogGroupArn: ARN of the Cloudwatch log group to publish
 11055  //    logs to.
 11056  //
 11057  //    * Enabled: Whether the log publishing for a given log type is enabled
 11058  //    or not.
 11059  type LogPublishingOption struct {
 11060  	_ struct{} `type:"structure"`
 11061  
 11062  	// ARN of the Cloudwatch log group to publish logs to.
 11063  	CloudWatchLogsLogGroupArn *string `min:"20" type:"string"`
 11064  
 11065  	// Whether the given log publishing option is enabled or not.
 11066  	Enabled *bool `type:"boolean"`
 11067  }
 11068  
 11069  // String returns the string representation.
 11070  //
 11071  // API parameter values that are decorated as "sensitive" in the API will not
 11072  // be included in the string output. The member name will be present, but the
 11073  // value will be replaced with "sensitive".
 11074  func (s LogPublishingOption) String() string {
 11075  	return awsutil.Prettify(s)
 11076  }
 11077  
 11078  // GoString returns the string representation.
 11079  //
 11080  // API parameter values that are decorated as "sensitive" in the API will not
 11081  // be included in the string output. The member name will be present, but the
 11082  // value will be replaced with "sensitive".
 11083  func (s LogPublishingOption) GoString() string {
 11084  	return s.String()
 11085  }
 11086  
 11087  // Validate inspects the fields of the type to determine if they are valid.
 11088  func (s *LogPublishingOption) Validate() error {
 11089  	invalidParams := request.ErrInvalidParams{Context: "LogPublishingOption"}
 11090  	if s.CloudWatchLogsLogGroupArn != nil && len(*s.CloudWatchLogsLogGroupArn) < 20 {
 11091  		invalidParams.Add(request.NewErrParamMinLen("CloudWatchLogsLogGroupArn", 20))
 11092  	}
 11093  
 11094  	if invalidParams.Len() > 0 {
 11095  		return invalidParams
 11096  	}
 11097  	return nil
 11098  }
 11099  
 11100  // SetCloudWatchLogsLogGroupArn sets the CloudWatchLogsLogGroupArn field's value.
 11101  func (s *LogPublishingOption) SetCloudWatchLogsLogGroupArn(v string) *LogPublishingOption {
 11102  	s.CloudWatchLogsLogGroupArn = &v
 11103  	return s
 11104  }
 11105  
 11106  // SetEnabled sets the Enabled field's value.
 11107  func (s *LogPublishingOption) SetEnabled(v bool) *LogPublishingOption {
 11108  	s.Enabled = &v
 11109  	return s
 11110  }
 11111  
 11112  // The configured log publishing options for the domain and their current status.
 11113  type LogPublishingOptionsStatus struct {
 11114  	_ struct{} `type:"structure"`
 11115  
 11116  	// The log publishing options configured for the domain.
 11117  	Options map[string]*LogPublishingOption `type:"map"`
 11118  
 11119  	// The status of the log publishing options for the domain. See OptionStatus
 11120  	// for the status information that's included.
 11121  	Status *OptionStatus `type:"structure"`
 11122  }
 11123  
 11124  // String returns the string representation.
 11125  //
 11126  // API parameter values that are decorated as "sensitive" in the API will not
 11127  // be included in the string output. The member name will be present, but the
 11128  // value will be replaced with "sensitive".
 11129  func (s LogPublishingOptionsStatus) String() string {
 11130  	return awsutil.Prettify(s)
 11131  }
 11132  
 11133  // GoString returns the string representation.
 11134  //
 11135  // API parameter values that are decorated as "sensitive" in the API will not
 11136  // be included in the string output. The member name will be present, but the
 11137  // value will be replaced with "sensitive".
 11138  func (s LogPublishingOptionsStatus) GoString() string {
 11139  	return s.String()
 11140  }
 11141  
 11142  // SetOptions sets the Options field's value.
 11143  func (s *LogPublishingOptionsStatus) SetOptions(v map[string]*LogPublishingOption) *LogPublishingOptionsStatus {
 11144  	s.Options = v
 11145  	return s
 11146  }
 11147  
 11148  // SetStatus sets the Status field's value.
 11149  func (s *LogPublishingOptionsStatus) SetStatus(v *OptionStatus) *LogPublishingOptionsStatus {
 11150  	s.Status = v
 11151  	return s
 11152  }
 11153  
 11154  // Credentials for the master user: username and password, ARN, or both.
 11155  type MasterUserOptions struct {
 11156  	_ struct{} `type:"structure"`
 11157  
 11158  	// ARN for the master user (if IAM is enabled).
 11159  	MasterUserARN *string `min:"20" type:"string"`
 11160  
 11161  	// The master user's username, which is stored in the Amazon OpenSearch Service
 11162  	// domain's internal database.
 11163  	//
 11164  	// MasterUserName is a sensitive parameter and its value will be
 11165  	// replaced with "sensitive" in string returned by MasterUserOptions's
 11166  	// String and GoString methods.
 11167  	MasterUserName *string `min:"1" type:"string" sensitive:"true"`
 11168  
 11169  	// The master user's password, which is stored in the Amazon OpenSearch Service
 11170  	// domain's internal database.
 11171  	//
 11172  	// MasterUserPassword is a sensitive parameter and its value will be
 11173  	// replaced with "sensitive" in string returned by MasterUserOptions's
 11174  	// String and GoString methods.
 11175  	MasterUserPassword *string `min:"8" type:"string" sensitive:"true"`
 11176  }
 11177  
 11178  // String returns the string representation.
 11179  //
 11180  // API parameter values that are decorated as "sensitive" in the API will not
 11181  // be included in the string output. The member name will be present, but the
 11182  // value will be replaced with "sensitive".
 11183  func (s MasterUserOptions) String() string {
 11184  	return awsutil.Prettify(s)
 11185  }
 11186  
 11187  // GoString returns the string representation.
 11188  //
 11189  // API parameter values that are decorated as "sensitive" in the API will not
 11190  // be included in the string output. The member name will be present, but the
 11191  // value will be replaced with "sensitive".
 11192  func (s MasterUserOptions) GoString() string {
 11193  	return s.String()
 11194  }
 11195  
 11196  // Validate inspects the fields of the type to determine if they are valid.
 11197  func (s *MasterUserOptions) Validate() error {
 11198  	invalidParams := request.ErrInvalidParams{Context: "MasterUserOptions"}
 11199  	if s.MasterUserARN != nil && len(*s.MasterUserARN) < 20 {
 11200  		invalidParams.Add(request.NewErrParamMinLen("MasterUserARN", 20))
 11201  	}
 11202  	if s.MasterUserName != nil && len(*s.MasterUserName) < 1 {
 11203  		invalidParams.Add(request.NewErrParamMinLen("MasterUserName", 1))
 11204  	}
 11205  	if s.MasterUserPassword != nil && len(*s.MasterUserPassword) < 8 {
 11206  		invalidParams.Add(request.NewErrParamMinLen("MasterUserPassword", 8))
 11207  	}
 11208  
 11209  	if invalidParams.Len() > 0 {
 11210  		return invalidParams
 11211  	}
 11212  	return nil
 11213  }
 11214  
 11215  // SetMasterUserARN sets the MasterUserARN field's value.
 11216  func (s *MasterUserOptions) SetMasterUserARN(v string) *MasterUserOptions {
 11217  	s.MasterUserARN = &v
 11218  	return s
 11219  }
 11220  
 11221  // SetMasterUserName sets the MasterUserName field's value.
 11222  func (s *MasterUserOptions) SetMasterUserName(v string) *MasterUserOptions {
 11223  	s.MasterUserName = &v
 11224  	return s
 11225  }
 11226  
 11227  // SetMasterUserPassword sets the MasterUserPassword field's value.
 11228  func (s *MasterUserOptions) SetMasterUserPassword(v string) *MasterUserOptions {
 11229  	s.MasterUserPassword = &v
 11230  	return s
 11231  }
 11232  
 11233  // The node-to-node encryption options.
 11234  type NodeToNodeEncryptionOptions struct {
 11235  	_ struct{} `type:"structure"`
 11236  
 11237  	// True to enable node-to-node encryption.
 11238  	Enabled *bool `type:"boolean"`
 11239  }
 11240  
 11241  // String returns the string representation.
 11242  //
 11243  // API parameter values that are decorated as "sensitive" in the API will not
 11244  // be included in the string output. The member name will be present, but the
 11245  // value will be replaced with "sensitive".
 11246  func (s NodeToNodeEncryptionOptions) String() string {
 11247  	return awsutil.Prettify(s)
 11248  }
 11249  
 11250  // GoString returns the string representation.
 11251  //
 11252  // API parameter values that are decorated as "sensitive" in the API will not
 11253  // be included in the string output. The member name will be present, but the
 11254  // value will be replaced with "sensitive".
 11255  func (s NodeToNodeEncryptionOptions) GoString() string {
 11256  	return s.String()
 11257  }
 11258  
 11259  // SetEnabled sets the Enabled field's value.
 11260  func (s *NodeToNodeEncryptionOptions) SetEnabled(v bool) *NodeToNodeEncryptionOptions {
 11261  	s.Enabled = &v
 11262  	return s
 11263  }
 11264  
 11265  // Status of the node-to-node encryption options for the specified domain.
 11266  type NodeToNodeEncryptionOptionsStatus struct {
 11267  	_ struct{} `type:"structure"`
 11268  
 11269  	// The node-to-node encryption options for the specified domain.
 11270  	//
 11271  	// Options is a required field
 11272  	Options *NodeToNodeEncryptionOptions `type:"structure" required:"true"`
 11273  
 11274  	// The status of the node-to-node encryption options for the specified domain.
 11275  	//
 11276  	// Status is a required field
 11277  	Status *OptionStatus `type:"structure" required:"true"`
 11278  }
 11279  
 11280  // String returns the string representation.
 11281  //
 11282  // API parameter values that are decorated as "sensitive" in the API will not
 11283  // be included in the string output. The member name will be present, but the
 11284  // value will be replaced with "sensitive".
 11285  func (s NodeToNodeEncryptionOptionsStatus) String() string {
 11286  	return awsutil.Prettify(s)
 11287  }
 11288  
 11289  // GoString returns the string representation.
 11290  //
 11291  // API parameter values that are decorated as "sensitive" in the API will not
 11292  // be included in the string output. The member name will be present, but the
 11293  // value will be replaced with "sensitive".
 11294  func (s NodeToNodeEncryptionOptionsStatus) GoString() string {
 11295  	return s.String()
 11296  }
 11297  
 11298  // SetOptions sets the Options field's value.
 11299  func (s *NodeToNodeEncryptionOptionsStatus) SetOptions(v *NodeToNodeEncryptionOptions) *NodeToNodeEncryptionOptionsStatus {
 11300  	s.Options = v
 11301  	return s
 11302  }
 11303  
 11304  // SetStatus sets the Status field's value.
 11305  func (s *NodeToNodeEncryptionOptionsStatus) SetStatus(v *OptionStatus) *NodeToNodeEncryptionOptionsStatus {
 11306  	s.Status = v
 11307  	return s
 11308  }
 11309  
 11310  // Provides the current status of the entity.
 11311  type OptionStatus struct {
 11312  	_ struct{} `type:"structure"`
 11313  
 11314  	// The timestamp of when the entity was created.
 11315  	//
 11316  	// CreationDate is a required field
 11317  	CreationDate *time.Time `type:"timestamp" required:"true"`
 11318  
 11319  	// Indicates whether the domain is being deleted.
 11320  	PendingDeletion *bool `type:"boolean"`
 11321  
 11322  	// Provides the OptionState for the domain.
 11323  	//
 11324  	// State is a required field
 11325  	State *string `type:"string" required:"true" enum:"OptionState"`
 11326  
 11327  	// The timestamp of the last time the entity was updated.
 11328  	//
 11329  	// UpdateDate is a required field
 11330  	UpdateDate *time.Time `type:"timestamp" required:"true"`
 11331  
 11332  	// The latest version of the entity.
 11333  	UpdateVersion *int64 `type:"integer"`
 11334  }
 11335  
 11336  // String returns the string representation.
 11337  //
 11338  // API parameter values that are decorated as "sensitive" in the API will not
 11339  // be included in the string output. The member name will be present, but the
 11340  // value will be replaced with "sensitive".
 11341  func (s OptionStatus) String() string {
 11342  	return awsutil.Prettify(s)
 11343  }
 11344  
 11345  // GoString returns the string representation.
 11346  //
 11347  // API parameter values that are decorated as "sensitive" in the API will not
 11348  // be included in the string output. The member name will be present, but the
 11349  // value will be replaced with "sensitive".
 11350  func (s OptionStatus) GoString() string {
 11351  	return s.String()
 11352  }
 11353  
 11354  // SetCreationDate sets the CreationDate field's value.
 11355  func (s *OptionStatus) SetCreationDate(v time.Time) *OptionStatus {
 11356  	s.CreationDate = &v
 11357  	return s
 11358  }
 11359  
 11360  // SetPendingDeletion sets the PendingDeletion field's value.
 11361  func (s *OptionStatus) SetPendingDeletion(v bool) *OptionStatus {
 11362  	s.PendingDeletion = &v
 11363  	return s
 11364  }
 11365  
 11366  // SetState sets the State field's value.
 11367  func (s *OptionStatus) SetState(v string) *OptionStatus {
 11368  	s.State = &v
 11369  	return s
 11370  }
 11371  
 11372  // SetUpdateDate sets the UpdateDate field's value.
 11373  func (s *OptionStatus) SetUpdateDate(v time.Time) *OptionStatus {
 11374  	s.UpdateDate = &v
 11375  	return s
 11376  }
 11377  
 11378  // SetUpdateVersion sets the UpdateVersion field's value.
 11379  func (s *OptionStatus) SetUpdateVersion(v int64) *OptionStatus {
 11380  	s.UpdateVersion = &v
 11381  	return s
 11382  }
 11383  
 11384  // Specifies details about an outbound connection.
 11385  type OutboundConnection struct {
 11386  	_ struct{} `type:"structure"`
 11387  
 11388  	// The connection alias for the outbound cross-cluster connection.
 11389  	ConnectionAlias *string `min:"2" type:"string"`
 11390  
 11391  	// The connection ID for the outbound cross-cluster connection.
 11392  	ConnectionId *string `min:"10" type:"string"`
 11393  
 11394  	// The OutboundConnectionStatus for the outbound connection.
 11395  	ConnectionStatus *OutboundConnectionStatus `type:"structure"`
 11396  
 11397  	// The DomainInformation for the local OpenSearch domain.
 11398  	LocalDomainInfo *DomainInformationContainer `type:"structure"`
 11399  
 11400  	// The DomainInformation for the remote OpenSearch domain.
 11401  	RemoteDomainInfo *DomainInformationContainer `type:"structure"`
 11402  }
 11403  
 11404  // String returns the string representation.
 11405  //
 11406  // API parameter values that are decorated as "sensitive" in the API will not
 11407  // be included in the string output. The member name will be present, but the
 11408  // value will be replaced with "sensitive".
 11409  func (s OutboundConnection) String() string {
 11410  	return awsutil.Prettify(s)
 11411  }
 11412  
 11413  // GoString returns the string representation.
 11414  //
 11415  // API parameter values that are decorated as "sensitive" in the API will not
 11416  // be included in the string output. The member name will be present, but the
 11417  // value will be replaced with "sensitive".
 11418  func (s OutboundConnection) GoString() string {
 11419  	return s.String()
 11420  }
 11421  
 11422  // SetConnectionAlias sets the ConnectionAlias field's value.
 11423  func (s *OutboundConnection) SetConnectionAlias(v string) *OutboundConnection {
 11424  	s.ConnectionAlias = &v
 11425  	return s
 11426  }
 11427  
 11428  // SetConnectionId sets the ConnectionId field's value.
 11429  func (s *OutboundConnection) SetConnectionId(v string) *OutboundConnection {
 11430  	s.ConnectionId = &v
 11431  	return s
 11432  }
 11433  
 11434  // SetConnectionStatus sets the ConnectionStatus field's value.
 11435  func (s *OutboundConnection) SetConnectionStatus(v *OutboundConnectionStatus) *OutboundConnection {
 11436  	s.ConnectionStatus = v
 11437  	return s
 11438  }
 11439  
 11440  // SetLocalDomainInfo sets the LocalDomainInfo field's value.
 11441  func (s *OutboundConnection) SetLocalDomainInfo(v *DomainInformationContainer) *OutboundConnection {
 11442  	s.LocalDomainInfo = v
 11443  	return s
 11444  }
 11445  
 11446  // SetRemoteDomainInfo sets the RemoteDomainInfo field's value.
 11447  func (s *OutboundConnection) SetRemoteDomainInfo(v *DomainInformationContainer) *OutboundConnection {
 11448  	s.RemoteDomainInfo = v
 11449  	return s
 11450  }
 11451  
 11452  // The connection status of an outbound cross-cluster connection.
 11453  type OutboundConnectionStatus struct {
 11454  	_ struct{} `type:"structure"`
 11455  
 11456  	// Verbose information for the outbound connection status.
 11457  	Message *string `type:"string"`
 11458  
 11459  	// The state code for the outbound connection. Can be one of the following:
 11460  	//
 11461  	//    * VALIDATING: The outbound connection request is being validated.
 11462  	//
 11463  	//    * VALIDATION_FAILED: Validation failed for the connection request.
 11464  	//
 11465  	//    * PENDING_ACCEPTANCE: Outbound connection request is validated and is
 11466  	//    not yet accepted by the remote domain owner.
 11467  	//
 11468  	//    * APPROVED: Outbound connection has been approved by the remote domain
 11469  	//    owner for getting provisioned.
 11470  	//
 11471  	//    * PROVISIONING: Outbound connection request is in process.
 11472  	//
 11473  	//    * ACTIVE: Outbound connection is active and ready to use.
 11474  	//
 11475  	//    * REJECTING: Outbound connection rejection by remote domain owner is in
 11476  	//    progress.
 11477  	//
 11478  	//    * REJECTED: Outbound connection request is rejected by remote domain owner.
 11479  	//
 11480  	//    * DELETING: Outbound connection deletion is in progress.
 11481  	//
 11482  	//    * DELETED: Outbound connection is deleted and can no longer be used.
 11483  	StatusCode *string `type:"string" enum:"OutboundConnectionStatusCode"`
 11484  }
 11485  
 11486  // String returns the string representation.
 11487  //
 11488  // API parameter values that are decorated as "sensitive" in the API will not
 11489  // be included in the string output. The member name will be present, but the
 11490  // value will be replaced with "sensitive".
 11491  func (s OutboundConnectionStatus) String() string {
 11492  	return awsutil.Prettify(s)
 11493  }
 11494  
 11495  // GoString returns the string representation.
 11496  //
 11497  // API parameter values that are decorated as "sensitive" in the API will not
 11498  // be included in the string output. The member name will be present, but the
 11499  // value will be replaced with "sensitive".
 11500  func (s OutboundConnectionStatus) GoString() string {
 11501  	return s.String()
 11502  }
 11503  
 11504  // SetMessage sets the Message field's value.
 11505  func (s *OutboundConnectionStatus) SetMessage(v string) *OutboundConnectionStatus {
 11506  	s.Message = &v
 11507  	return s
 11508  }
 11509  
 11510  // SetStatusCode sets the StatusCode field's value.
 11511  func (s *OutboundConnectionStatus) SetStatusCode(v string) *OutboundConnectionStatus {
 11512  	s.StatusCode = &v
 11513  	return s
 11514  }
 11515  
 11516  // Basic information about a package.
 11517  type PackageDetails struct {
 11518  	_ struct{} `type:"structure"`
 11519  
 11520  	AvailablePackageVersion *string `type:"string"`
 11521  
 11522  	// The timestamp of when the package was created.
 11523  	CreatedAt *time.Time `type:"timestamp"`
 11524  
 11525  	// Additional information if the package is in an error state. Null otherwise.
 11526  	ErrorDetails *ErrorDetails `type:"structure"`
 11527  
 11528  	LastUpdatedAt *time.Time `type:"timestamp"`
 11529  
 11530  	// User-specified description of the package.
 11531  	PackageDescription *string `type:"string"`
 11532  
 11533  	// Internal ID of the package.
 11534  	PackageID *string `type:"string"`
 11535  
 11536  	// User-specified name of the package.
 11537  	PackageName *string `min:"3" type:"string"`
 11538  
 11539  	// Current state of the package. Values are COPYING, COPY_FAILED, AVAILABLE,
 11540  	// DELETING, and DELETE_FAILED.
 11541  	PackageStatus *string `type:"string" enum:"PackageStatus"`
 11542  
 11543  	// Currently supports only TXT-DICTIONARY.
 11544  	PackageType *string `type:"string" enum:"PackageType"`
 11545  }
 11546  
 11547  // String returns the string representation.
 11548  //
 11549  // API parameter values that are decorated as "sensitive" in the API will not
 11550  // be included in the string output. The member name will be present, but the
 11551  // value will be replaced with "sensitive".
 11552  func (s PackageDetails) String() string {
 11553  	return awsutil.Prettify(s)
 11554  }
 11555  
 11556  // GoString returns the string representation.
 11557  //
 11558  // API parameter values that are decorated as "sensitive" in the API will not
 11559  // be included in the string output. The member name will be present, but the
 11560  // value will be replaced with "sensitive".
 11561  func (s PackageDetails) GoString() string {
 11562  	return s.String()
 11563  }
 11564  
 11565  // SetAvailablePackageVersion sets the AvailablePackageVersion field's value.
 11566  func (s *PackageDetails) SetAvailablePackageVersion(v string) *PackageDetails {
 11567  	s.AvailablePackageVersion = &v
 11568  	return s
 11569  }
 11570  
 11571  // SetCreatedAt sets the CreatedAt field's value.
 11572  func (s *PackageDetails) SetCreatedAt(v time.Time) *PackageDetails {
 11573  	s.CreatedAt = &v
 11574  	return s
 11575  }
 11576  
 11577  // SetErrorDetails sets the ErrorDetails field's value.
 11578  func (s *PackageDetails) SetErrorDetails(v *ErrorDetails) *PackageDetails {
 11579  	s.ErrorDetails = v
 11580  	return s
 11581  }
 11582  
 11583  // SetLastUpdatedAt sets the LastUpdatedAt field's value.
 11584  func (s *PackageDetails) SetLastUpdatedAt(v time.Time) *PackageDetails {
 11585  	s.LastUpdatedAt = &v
 11586  	return s
 11587  }
 11588  
 11589  // SetPackageDescription sets the PackageDescription field's value.
 11590  func (s *PackageDetails) SetPackageDescription(v string) *PackageDetails {
 11591  	s.PackageDescription = &v
 11592  	return s
 11593  }
 11594  
 11595  // SetPackageID sets the PackageID field's value.
 11596  func (s *PackageDetails) SetPackageID(v string) *PackageDetails {
 11597  	s.PackageID = &v
 11598  	return s
 11599  }
 11600  
 11601  // SetPackageName sets the PackageName field's value.
 11602  func (s *PackageDetails) SetPackageName(v string) *PackageDetails {
 11603  	s.PackageName = &v
 11604  	return s
 11605  }
 11606  
 11607  // SetPackageStatus sets the PackageStatus field's value.
 11608  func (s *PackageDetails) SetPackageStatus(v string) *PackageDetails {
 11609  	s.PackageStatus = &v
 11610  	return s
 11611  }
 11612  
 11613  // SetPackageType sets the PackageType field's value.
 11614  func (s *PackageDetails) SetPackageType(v string) *PackageDetails {
 11615  	s.PackageType = &v
 11616  	return s
 11617  }
 11618  
 11619  // The Amazon S3 location for importing the package specified as S3BucketName
 11620  // and S3Key
 11621  type PackageSource struct {
 11622  	_ struct{} `type:"structure"`
 11623  
 11624  	// The name of the Amazon S3 bucket containing the package.
 11625  	S3BucketName *string `min:"3" type:"string"`
 11626  
 11627  	// Key (file name) of the package.
 11628  	S3Key *string `min:"1" type:"string"`
 11629  }
 11630  
 11631  // String returns the string representation.
 11632  //
 11633  // API parameter values that are decorated as "sensitive" in the API will not
 11634  // be included in the string output. The member name will be present, but the
 11635  // value will be replaced with "sensitive".
 11636  func (s PackageSource) String() string {
 11637  	return awsutil.Prettify(s)
 11638  }
 11639  
 11640  // GoString returns the string representation.
 11641  //
 11642  // API parameter values that are decorated as "sensitive" in the API will not
 11643  // be included in the string output. The member name will be present, but the
 11644  // value will be replaced with "sensitive".
 11645  func (s PackageSource) GoString() string {
 11646  	return s.String()
 11647  }
 11648  
 11649  // Validate inspects the fields of the type to determine if they are valid.
 11650  func (s *PackageSource) Validate() error {
 11651  	invalidParams := request.ErrInvalidParams{Context: "PackageSource"}
 11652  	if s.S3BucketName != nil && len(*s.S3BucketName) < 3 {
 11653  		invalidParams.Add(request.NewErrParamMinLen("S3BucketName", 3))
 11654  	}
 11655  	if s.S3Key != nil && len(*s.S3Key) < 1 {
 11656  		invalidParams.Add(request.NewErrParamMinLen("S3Key", 1))
 11657  	}
 11658  
 11659  	if invalidParams.Len() > 0 {
 11660  		return invalidParams
 11661  	}
 11662  	return nil
 11663  }
 11664  
 11665  // SetS3BucketName sets the S3BucketName field's value.
 11666  func (s *PackageSource) SetS3BucketName(v string) *PackageSource {
 11667  	s.S3BucketName = &v
 11668  	return s
 11669  }
 11670  
 11671  // SetS3Key sets the S3Key field's value.
 11672  func (s *PackageSource) SetS3Key(v string) *PackageSource {
 11673  	s.S3Key = &v
 11674  	return s
 11675  }
 11676  
 11677  // Details of a package version.
 11678  type PackageVersionHistory struct {
 11679  	_ struct{} `type:"structure"`
 11680  
 11681  	// A message associated with the package version.
 11682  	CommitMessage *string `type:"string"`
 11683  
 11684  	// The timestamp of when the package was created.
 11685  	CreatedAt *time.Time `type:"timestamp"`
 11686  
 11687  	// The package version.
 11688  	PackageVersion *string `type:"string"`
 11689  }
 11690  
 11691  // String returns the string representation.
 11692  //
 11693  // API parameter values that are decorated as "sensitive" in the API will not
 11694  // be included in the string output. The member name will be present, but the
 11695  // value will be replaced with "sensitive".
 11696  func (s PackageVersionHistory) String() string {
 11697  	return awsutil.Prettify(s)
 11698  }
 11699  
 11700  // GoString returns the string representation.
 11701  //
 11702  // API parameter values that are decorated as "sensitive" in the API will not
 11703  // be included in the string output. The member name will be present, but the
 11704  // value will be replaced with "sensitive".
 11705  func (s PackageVersionHistory) GoString() string {
 11706  	return s.String()
 11707  }
 11708  
 11709  // SetCommitMessage sets the CommitMessage field's value.
 11710  func (s *PackageVersionHistory) SetCommitMessage(v string) *PackageVersionHistory {
 11711  	s.CommitMessage = &v
 11712  	return s
 11713  }
 11714  
 11715  // SetCreatedAt sets the CreatedAt field's value.
 11716  func (s *PackageVersionHistory) SetCreatedAt(v time.Time) *PackageVersionHistory {
 11717  	s.CreatedAt = &v
 11718  	return s
 11719  }
 11720  
 11721  // SetPackageVersion sets the PackageVersion field's value.
 11722  func (s *PackageVersionHistory) SetPackageVersion(v string) *PackageVersionHistory {
 11723  	s.PackageVersion = &v
 11724  	return s
 11725  }
 11726  
 11727  // Container for parameters to PurchaseReservedInstanceOffering
 11728  type PurchaseReservedInstanceOfferingInput struct {
 11729  	_ struct{} `type:"structure"`
 11730  
 11731  	// The number of OpenSearch instances to reserve.
 11732  	InstanceCount *int64 `min:"1" type:"integer"`
 11733  
 11734  	// A customer-specified identifier to track this reservation.
 11735  	//
 11736  	// ReservationName is a required field
 11737  	ReservationName *string `min:"5" type:"string" required:"true"`
 11738  
 11739  	// The ID of the reserved OpenSearch instance offering to purchase.
 11740  	//
 11741  	// ReservedInstanceOfferingId is a required field
 11742  	ReservedInstanceOfferingId *string `min:"36" type:"string" required:"true"`
 11743  }
 11744  
 11745  // String returns the string representation.
 11746  //
 11747  // API parameter values that are decorated as "sensitive" in the API will not
 11748  // be included in the string output. The member name will be present, but the
 11749  // value will be replaced with "sensitive".
 11750  func (s PurchaseReservedInstanceOfferingInput) String() string {
 11751  	return awsutil.Prettify(s)
 11752  }
 11753  
 11754  // GoString returns the string representation.
 11755  //
 11756  // API parameter values that are decorated as "sensitive" in the API will not
 11757  // be included in the string output. The member name will be present, but the
 11758  // value will be replaced with "sensitive".
 11759  func (s PurchaseReservedInstanceOfferingInput) GoString() string {
 11760  	return s.String()
 11761  }
 11762  
 11763  // Validate inspects the fields of the type to determine if they are valid.
 11764  func (s *PurchaseReservedInstanceOfferingInput) Validate() error {
 11765  	invalidParams := request.ErrInvalidParams{Context: "PurchaseReservedInstanceOfferingInput"}
 11766  	if s.InstanceCount != nil && *s.InstanceCount < 1 {
 11767  		invalidParams.Add(request.NewErrParamMinValue("InstanceCount", 1))
 11768  	}
 11769  	if s.ReservationName == nil {
 11770  		invalidParams.Add(request.NewErrParamRequired("ReservationName"))
 11771  	}
 11772  	if s.ReservationName != nil && len(*s.ReservationName) < 5 {
 11773  		invalidParams.Add(request.NewErrParamMinLen("ReservationName", 5))
 11774  	}
 11775  	if s.ReservedInstanceOfferingId == nil {
 11776  		invalidParams.Add(request.NewErrParamRequired("ReservedInstanceOfferingId"))
 11777  	}
 11778  	if s.ReservedInstanceOfferingId != nil && len(*s.ReservedInstanceOfferingId) < 36 {
 11779  		invalidParams.Add(request.NewErrParamMinLen("ReservedInstanceOfferingId", 36))
 11780  	}
 11781  
 11782  	if invalidParams.Len() > 0 {
 11783  		return invalidParams
 11784  	}
 11785  	return nil
 11786  }
 11787  
 11788  // SetInstanceCount sets the InstanceCount field's value.
 11789  func (s *PurchaseReservedInstanceOfferingInput) SetInstanceCount(v int64) *PurchaseReservedInstanceOfferingInput {
 11790  	s.InstanceCount = &v
 11791  	return s
 11792  }
 11793  
 11794  // SetReservationName sets the ReservationName field's value.
 11795  func (s *PurchaseReservedInstanceOfferingInput) SetReservationName(v string) *PurchaseReservedInstanceOfferingInput {
 11796  	s.ReservationName = &v
 11797  	return s
 11798  }
 11799  
 11800  // SetReservedInstanceOfferingId sets the ReservedInstanceOfferingId field's value.
 11801  func (s *PurchaseReservedInstanceOfferingInput) SetReservedInstanceOfferingId(v string) *PurchaseReservedInstanceOfferingInput {
 11802  	s.ReservedInstanceOfferingId = &v
 11803  	return s
 11804  }
 11805  
 11806  // Represents the output of a PurchaseReservedInstanceOffering operation.
 11807  type PurchaseReservedInstanceOfferingOutput struct {
 11808  	_ struct{} `type:"structure"`
 11809  
 11810  	// The customer-specified identifier used to track this reservation.
 11811  	ReservationName *string `min:"5" type:"string"`
 11812  
 11813  	// Details of the reserved OpenSearch instance which was purchased.
 11814  	ReservedInstanceId *string `min:"36" type:"string"`
 11815  }
 11816  
 11817  // String returns the string representation.
 11818  //
 11819  // API parameter values that are decorated as "sensitive" in the API will not
 11820  // be included in the string output. The member name will be present, but the
 11821  // value will be replaced with "sensitive".
 11822  func (s PurchaseReservedInstanceOfferingOutput) String() string {
 11823  	return awsutil.Prettify(s)
 11824  }
 11825  
 11826  // GoString returns the string representation.
 11827  //
 11828  // API parameter values that are decorated as "sensitive" in the API will not
 11829  // be included in the string output. The member name will be present, but the
 11830  // value will be replaced with "sensitive".
 11831  func (s PurchaseReservedInstanceOfferingOutput) GoString() string {
 11832  	return s.String()
 11833  }
 11834  
 11835  // SetReservationName sets the ReservationName field's value.
 11836  func (s *PurchaseReservedInstanceOfferingOutput) SetReservationName(v string) *PurchaseReservedInstanceOfferingOutput {
 11837  	s.ReservationName = &v
 11838  	return s
 11839  }
 11840  
 11841  // SetReservedInstanceId sets the ReservedInstanceId field's value.
 11842  func (s *PurchaseReservedInstanceOfferingOutput) SetReservedInstanceId(v string) *PurchaseReservedInstanceOfferingOutput {
 11843  	s.ReservedInstanceId = &v
 11844  	return s
 11845  }
 11846  
 11847  // Contains the specific price and frequency of a recurring charges for a reserved
 11848  // OpenSearch instance, or for a reserved OpenSearch instance offering.
 11849  type RecurringCharge struct {
 11850  	_ struct{} `type:"structure"`
 11851  
 11852  	// The monetary amount of the recurring charge.
 11853  	RecurringChargeAmount *float64 `type:"double"`
 11854  
 11855  	// The frequency of the recurring charge.
 11856  	RecurringChargeFrequency *string `type:"string"`
 11857  }
 11858  
 11859  // String returns the string representation.
 11860  //
 11861  // API parameter values that are decorated as "sensitive" in the API will not
 11862  // be included in the string output. The member name will be present, but the
 11863  // value will be replaced with "sensitive".
 11864  func (s RecurringCharge) String() string {
 11865  	return awsutil.Prettify(s)
 11866  }
 11867  
 11868  // GoString returns the string representation.
 11869  //
 11870  // API parameter values that are decorated as "sensitive" in the API will not
 11871  // be included in the string output. The member name will be present, but the
 11872  // value will be replaced with "sensitive".
 11873  func (s RecurringCharge) GoString() string {
 11874  	return s.String()
 11875  }
 11876  
 11877  // SetRecurringChargeAmount sets the RecurringChargeAmount field's value.
 11878  func (s *RecurringCharge) SetRecurringChargeAmount(v float64) *RecurringCharge {
 11879  	s.RecurringChargeAmount = &v
 11880  	return s
 11881  }
 11882  
 11883  // SetRecurringChargeFrequency sets the RecurringChargeFrequency field's value.
 11884  func (s *RecurringCharge) SetRecurringChargeFrequency(v string) *RecurringCharge {
 11885  	s.RecurringChargeFrequency = &v
 11886  	return s
 11887  }
 11888  
 11889  // Container for the parameters to the RejectInboundConnection operation.
 11890  type RejectInboundConnectionInput struct {
 11891  	_ struct{} `type:"structure" nopayload:"true"`
 11892  
 11893  	// The ID of the inbound connection to reject.
 11894  	//
 11895  	// ConnectionId is a required field
 11896  	ConnectionId *string `location:"uri" locationName:"ConnectionId" min:"10" type:"string" required:"true"`
 11897  }
 11898  
 11899  // String returns the string representation.
 11900  //
 11901  // API parameter values that are decorated as "sensitive" in the API will not
 11902  // be included in the string output. The member name will be present, but the
 11903  // value will be replaced with "sensitive".
 11904  func (s RejectInboundConnectionInput) String() string {
 11905  	return awsutil.Prettify(s)
 11906  }
 11907  
 11908  // GoString returns the string representation.
 11909  //
 11910  // API parameter values that are decorated as "sensitive" in the API will not
 11911  // be included in the string output. The member name will be present, but the
 11912  // value will be replaced with "sensitive".
 11913  func (s RejectInboundConnectionInput) GoString() string {
 11914  	return s.String()
 11915  }
 11916  
 11917  // Validate inspects the fields of the type to determine if they are valid.
 11918  func (s *RejectInboundConnectionInput) Validate() error {
 11919  	invalidParams := request.ErrInvalidParams{Context: "RejectInboundConnectionInput"}
 11920  	if s.ConnectionId == nil {
 11921  		invalidParams.Add(request.NewErrParamRequired("ConnectionId"))
 11922  	}
 11923  	if s.ConnectionId != nil && len(*s.ConnectionId) < 10 {
 11924  		invalidParams.Add(request.NewErrParamMinLen("ConnectionId", 10))
 11925  	}
 11926  
 11927  	if invalidParams.Len() > 0 {
 11928  		return invalidParams
 11929  	}
 11930  	return nil
 11931  }
 11932  
 11933  // SetConnectionId sets the ConnectionId field's value.
 11934  func (s *RejectInboundConnectionInput) SetConnectionId(v string) *RejectInboundConnectionInput {
 11935  	s.ConnectionId = &v
 11936  	return s
 11937  }
 11938  
 11939  // The result of a RejectInboundConnection operation. Contains details about
 11940  // the rejected inbound connection.
 11941  type RejectInboundConnectionOutput struct {
 11942  	_ struct{} `type:"structure"`
 11943  
 11944  	// The InboundConnection of the rejected inbound connection.
 11945  	Connection *InboundConnection `type:"structure"`
 11946  }
 11947  
 11948  // String returns the string representation.
 11949  //
 11950  // API parameter values that are decorated as "sensitive" in the API will not
 11951  // be included in the string output. The member name will be present, but the
 11952  // value will be replaced with "sensitive".
 11953  func (s RejectInboundConnectionOutput) String() string {
 11954  	return awsutil.Prettify(s)
 11955  }
 11956  
 11957  // GoString returns the string representation.
 11958  //
 11959  // API parameter values that are decorated as "sensitive" in the API will not
 11960  // be included in the string output. The member name will be present, but the
 11961  // value will be replaced with "sensitive".
 11962  func (s RejectInboundConnectionOutput) GoString() string {
 11963  	return s.String()
 11964  }
 11965  
 11966  // SetConnection sets the Connection field's value.
 11967  func (s *RejectInboundConnectionOutput) SetConnection(v *InboundConnection) *RejectInboundConnectionOutput {
 11968  	s.Connection = v
 11969  	return s
 11970  }
 11971  
 11972  // Container for the parameters to the RemoveTags operation. Specify the ARN
 11973  // for the domain from which you want to remove the specified TagKey.
 11974  type RemoveTagsInput struct {
 11975  	_ struct{} `type:"structure"`
 11976  
 11977  	// The ARN of the domain from which you want to delete the specified tags.
 11978  	//
 11979  	// ARN is a required field
 11980  	ARN *string `min:"20" type:"string" required:"true"`
 11981  
 11982  	// The TagKey list you want to remove from the domain.
 11983  	//
 11984  	// TagKeys is a required field
 11985  	TagKeys []*string `type:"list" required:"true"`
 11986  }
 11987  
 11988  // String returns the string representation.
 11989  //
 11990  // API parameter values that are decorated as "sensitive" in the API will not
 11991  // be included in the string output. The member name will be present, but the
 11992  // value will be replaced with "sensitive".
 11993  func (s RemoveTagsInput) String() string {
 11994  	return awsutil.Prettify(s)
 11995  }
 11996  
 11997  // GoString returns the string representation.
 11998  //
 11999  // API parameter values that are decorated as "sensitive" in the API will not
 12000  // be included in the string output. The member name will be present, but the
 12001  // value will be replaced with "sensitive".
 12002  func (s RemoveTagsInput) GoString() string {
 12003  	return s.String()
 12004  }
 12005  
 12006  // Validate inspects the fields of the type to determine if they are valid.
 12007  func (s *RemoveTagsInput) Validate() error {
 12008  	invalidParams := request.ErrInvalidParams{Context: "RemoveTagsInput"}
 12009  	if s.ARN == nil {
 12010  		invalidParams.Add(request.NewErrParamRequired("ARN"))
 12011  	}
 12012  	if s.ARN != nil && len(*s.ARN) < 20 {
 12013  		invalidParams.Add(request.NewErrParamMinLen("ARN", 20))
 12014  	}
 12015  	if s.TagKeys == nil {
 12016  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
 12017  	}
 12018  
 12019  	if invalidParams.Len() > 0 {
 12020  		return invalidParams
 12021  	}
 12022  	return nil
 12023  }
 12024  
 12025  // SetARN sets the ARN field's value.
 12026  func (s *RemoveTagsInput) SetARN(v string) *RemoveTagsInput {
 12027  	s.ARN = &v
 12028  	return s
 12029  }
 12030  
 12031  // SetTagKeys sets the TagKeys field's value.
 12032  func (s *RemoveTagsInput) SetTagKeys(v []*string) *RemoveTagsInput {
 12033  	s.TagKeys = v
 12034  	return s
 12035  }
 12036  
 12037  type RemoveTagsOutput struct {
 12038  	_ struct{} `type:"structure" nopayload:"true"`
 12039  }
 12040  
 12041  // String returns the string representation.
 12042  //
 12043  // API parameter values that are decorated as "sensitive" in the API will not
 12044  // be included in the string output. The member name will be present, but the
 12045  // value will be replaced with "sensitive".
 12046  func (s RemoveTagsOutput) String() string {
 12047  	return awsutil.Prettify(s)
 12048  }
 12049  
 12050  // GoString returns the string representation.
 12051  //
 12052  // API parameter values that are decorated as "sensitive" in the API will not
 12053  // be included in the string output. The member name will be present, but the
 12054  // value will be replaced with "sensitive".
 12055  func (s RemoveTagsOutput) GoString() string {
 12056  	return s.String()
 12057  }
 12058  
 12059  // Details of a reserved OpenSearch instance.
 12060  type ReservedInstance struct {
 12061  	_ struct{} `type:"structure"`
 12062  
 12063  	BillingSubscriptionId *int64 `type:"long"`
 12064  
 12065  	// The currency code for the reserved OpenSearch instance offering.
 12066  	CurrencyCode *string `type:"string"`
 12067  
 12068  	// The duration, in seconds, for which the OpenSearch instance is reserved.
 12069  	Duration *int64 `type:"integer"`
 12070  
 12071  	// The upfront fixed charge you will paid to purchase the specific reserved
 12072  	// OpenSearch instance offering.
 12073  	FixedPrice *float64 `type:"double"`
 12074  
 12075  	// The number of OpenSearch instances that have been reserved.
 12076  	InstanceCount *int64 `type:"integer"`
 12077  
 12078  	// The OpenSearch instance type offered by the reserved instance offering.
 12079  	InstanceType *string `type:"string" enum:"OpenSearchPartitionInstanceType"`
 12080  
 12081  	// The payment option as defined in the reserved OpenSearch instance offering.
 12082  	PaymentOption *string `type:"string" enum:"ReservedInstancePaymentOption"`
 12083  
 12084  	// The charge to your account regardless of whether you are creating any domains
 12085  	// using the instance offering.
 12086  	RecurringCharges []*RecurringCharge `type:"list"`
 12087  
 12088  	// The customer-specified identifier to track this reservation.
 12089  	ReservationName *string `min:"5" type:"string"`
 12090  
 12091  	// The unique identifier for the reservation.
 12092  	ReservedInstanceId *string `min:"36" type:"string"`
 12093  
 12094  	// The offering identifier.
 12095  	ReservedInstanceOfferingId *string `type:"string"`
 12096  
 12097  	// The time the reservation started.
 12098  	StartTime *time.Time `type:"timestamp"`
 12099  
 12100  	// The state of the reserved OpenSearch instance.
 12101  	State *string `type:"string"`
 12102  
 12103  	// The rate you are charged for each hour for the domain that is using this
 12104  	// reserved instance.
 12105  	UsagePrice *float64 `type:"double"`
 12106  }
 12107  
 12108  // String returns the string representation.
 12109  //
 12110  // API parameter values that are decorated as "sensitive" in the API will not
 12111  // be included in the string output. The member name will be present, but the
 12112  // value will be replaced with "sensitive".
 12113  func (s ReservedInstance) String() string {
 12114  	return awsutil.Prettify(s)
 12115  }
 12116  
 12117  // GoString returns the string representation.
 12118  //
 12119  // API parameter values that are decorated as "sensitive" in the API will not
 12120  // be included in the string output. The member name will be present, but the
 12121  // value will be replaced with "sensitive".
 12122  func (s ReservedInstance) GoString() string {
 12123  	return s.String()
 12124  }
 12125  
 12126  // SetBillingSubscriptionId sets the BillingSubscriptionId field's value.
 12127  func (s *ReservedInstance) SetBillingSubscriptionId(v int64) *ReservedInstance {
 12128  	s.BillingSubscriptionId = &v
 12129  	return s
 12130  }
 12131  
 12132  // SetCurrencyCode sets the CurrencyCode field's value.
 12133  func (s *ReservedInstance) SetCurrencyCode(v string) *ReservedInstance {
 12134  	s.CurrencyCode = &v
 12135  	return s
 12136  }
 12137  
 12138  // SetDuration sets the Duration field's value.
 12139  func (s *ReservedInstance) SetDuration(v int64) *ReservedInstance {
 12140  	s.Duration = &v
 12141  	return s
 12142  }
 12143  
 12144  // SetFixedPrice sets the FixedPrice field's value.
 12145  func (s *ReservedInstance) SetFixedPrice(v float64) *ReservedInstance {
 12146  	s.FixedPrice = &v
 12147  	return s
 12148  }
 12149  
 12150  // SetInstanceCount sets the InstanceCount field's value.
 12151  func (s *ReservedInstance) SetInstanceCount(v int64) *ReservedInstance {
 12152  	s.InstanceCount = &v
 12153  	return s
 12154  }
 12155  
 12156  // SetInstanceType sets the InstanceType field's value.
 12157  func (s *ReservedInstance) SetInstanceType(v string) *ReservedInstance {
 12158  	s.InstanceType = &v
 12159  	return s
 12160  }
 12161  
 12162  // SetPaymentOption sets the PaymentOption field's value.
 12163  func (s *ReservedInstance) SetPaymentOption(v string) *ReservedInstance {
 12164  	s.PaymentOption = &v
 12165  	return s
 12166  }
 12167  
 12168  // SetRecurringCharges sets the RecurringCharges field's value.
 12169  func (s *ReservedInstance) SetRecurringCharges(v []*RecurringCharge) *ReservedInstance {
 12170  	s.RecurringCharges = v
 12171  	return s
 12172  }
 12173  
 12174  // SetReservationName sets the ReservationName field's value.
 12175  func (s *ReservedInstance) SetReservationName(v string) *ReservedInstance {
 12176  	s.ReservationName = &v
 12177  	return s
 12178  }
 12179  
 12180  // SetReservedInstanceId sets the ReservedInstanceId field's value.
 12181  func (s *ReservedInstance) SetReservedInstanceId(v string) *ReservedInstance {
 12182  	s.ReservedInstanceId = &v
 12183  	return s
 12184  }
 12185  
 12186  // SetReservedInstanceOfferingId sets the ReservedInstanceOfferingId field's value.
 12187  func (s *ReservedInstance) SetReservedInstanceOfferingId(v string) *ReservedInstance {
 12188  	s.ReservedInstanceOfferingId = &v
 12189  	return s
 12190  }
 12191  
 12192  // SetStartTime sets the StartTime field's value.
 12193  func (s *ReservedInstance) SetStartTime(v time.Time) *ReservedInstance {
 12194  	s.StartTime = &v
 12195  	return s
 12196  }
 12197  
 12198  // SetState sets the State field's value.
 12199  func (s *ReservedInstance) SetState(v string) *ReservedInstance {
 12200  	s.State = &v
 12201  	return s
 12202  }
 12203  
 12204  // SetUsagePrice sets the UsagePrice field's value.
 12205  func (s *ReservedInstance) SetUsagePrice(v float64) *ReservedInstance {
 12206  	s.UsagePrice = &v
 12207  	return s
 12208  }
 12209  
 12210  // Details of a reserved OpenSearch instance offering.
 12211  type ReservedInstanceOffering struct {
 12212  	_ struct{} `type:"structure"`
 12213  
 12214  	// The currency code for the reserved OpenSearch instance offering.
 12215  	CurrencyCode *string `type:"string"`
 12216  
 12217  	// The duration, in seconds, for which the offering will reserve the OpenSearch
 12218  	// instance.
 12219  	Duration *int64 `type:"integer"`
 12220  
 12221  	// The upfront fixed charge you will pay to purchase the specific reserved OpenSearch
 12222  	// instance offering.
 12223  	FixedPrice *float64 `type:"double"`
 12224  
 12225  	// The OpenSearch instance type offered by the reserved instance offering.
 12226  	InstanceType *string `type:"string" enum:"OpenSearchPartitionInstanceType"`
 12227  
 12228  	// Payment option for the reserved OpenSearch instance offering
 12229  	PaymentOption *string `type:"string" enum:"ReservedInstancePaymentOption"`
 12230  
 12231  	// The charge to your account regardless of whether you are creating any domains
 12232  	// using the instance offering.
 12233  	RecurringCharges []*RecurringCharge `type:"list"`
 12234  
 12235  	// The OpenSearch reserved instance offering identifier.
 12236  	ReservedInstanceOfferingId *string `min:"36" type:"string"`
 12237  
 12238  	// The rate you are charged for each hour the domain that is using the offering
 12239  	// is running.
 12240  	UsagePrice *float64 `type:"double"`
 12241  }
 12242  
 12243  // String returns the string representation.
 12244  //
 12245  // API parameter values that are decorated as "sensitive" in the API will not
 12246  // be included in the string output. The member name will be present, but the
 12247  // value will be replaced with "sensitive".
 12248  func (s ReservedInstanceOffering) String() string {
 12249  	return awsutil.Prettify(s)
 12250  }
 12251  
 12252  // GoString returns the string representation.
 12253  //
 12254  // API parameter values that are decorated as "sensitive" in the API will not
 12255  // be included in the string output. The member name will be present, but the
 12256  // value will be replaced with "sensitive".
 12257  func (s ReservedInstanceOffering) GoString() string {
 12258  	return s.String()
 12259  }
 12260  
 12261  // SetCurrencyCode sets the CurrencyCode field's value.
 12262  func (s *ReservedInstanceOffering) SetCurrencyCode(v string) *ReservedInstanceOffering {
 12263  	s.CurrencyCode = &v
 12264  	return s
 12265  }
 12266  
 12267  // SetDuration sets the Duration field's value.
 12268  func (s *ReservedInstanceOffering) SetDuration(v int64) *ReservedInstanceOffering {
 12269  	s.Duration = &v
 12270  	return s
 12271  }
 12272  
 12273  // SetFixedPrice sets the FixedPrice field's value.
 12274  func (s *ReservedInstanceOffering) SetFixedPrice(v float64) *ReservedInstanceOffering {
 12275  	s.FixedPrice = &v
 12276  	return s
 12277  }
 12278  
 12279  // SetInstanceType sets the InstanceType field's value.
 12280  func (s *ReservedInstanceOffering) SetInstanceType(v string) *ReservedInstanceOffering {
 12281  	s.InstanceType = &v
 12282  	return s
 12283  }
 12284  
 12285  // SetPaymentOption sets the PaymentOption field's value.
 12286  func (s *ReservedInstanceOffering) SetPaymentOption(v string) *ReservedInstanceOffering {
 12287  	s.PaymentOption = &v
 12288  	return s
 12289  }
 12290  
 12291  // SetRecurringCharges sets the RecurringCharges field's value.
 12292  func (s *ReservedInstanceOffering) SetRecurringCharges(v []*RecurringCharge) *ReservedInstanceOffering {
 12293  	s.RecurringCharges = v
 12294  	return s
 12295  }
 12296  
 12297  // SetReservedInstanceOfferingId sets the ReservedInstanceOfferingId field's value.
 12298  func (s *ReservedInstanceOffering) SetReservedInstanceOfferingId(v string) *ReservedInstanceOffering {
 12299  	s.ReservedInstanceOfferingId = &v
 12300  	return s
 12301  }
 12302  
 12303  // SetUsagePrice sets the UsagePrice field's value.
 12304  func (s *ReservedInstanceOffering) SetUsagePrice(v float64) *ReservedInstanceOffering {
 12305  	s.UsagePrice = &v
 12306  	return s
 12307  }
 12308  
 12309  // An exception for creating a resource that already exists. Gives http status
 12310  // code of 400.
 12311  type ResourceAlreadyExistsException struct {
 12312  	_            struct{}                  `type:"structure"`
 12313  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 12314  
 12315  	Message_ *string `locationName:"message" type:"string"`
 12316  }
 12317  
 12318  // String returns the string representation.
 12319  //
 12320  // API parameter values that are decorated as "sensitive" in the API will not
 12321  // be included in the string output. The member name will be present, but the
 12322  // value will be replaced with "sensitive".
 12323  func (s ResourceAlreadyExistsException) String() string {
 12324  	return awsutil.Prettify(s)
 12325  }
 12326  
 12327  // GoString returns the string representation.
 12328  //
 12329  // API parameter values that are decorated as "sensitive" in the API will not
 12330  // be included in the string output. The member name will be present, but the
 12331  // value will be replaced with "sensitive".
 12332  func (s ResourceAlreadyExistsException) GoString() string {
 12333  	return s.String()
 12334  }
 12335  
 12336  func newErrorResourceAlreadyExistsException(v protocol.ResponseMetadata) error {
 12337  	return &ResourceAlreadyExistsException{
 12338  		RespMetadata: v,
 12339  	}
 12340  }
 12341  
 12342  // Code returns the exception type name.
 12343  func (s *ResourceAlreadyExistsException) Code() string {
 12344  	return "ResourceAlreadyExistsException"
 12345  }
 12346  
 12347  // Message returns the exception's message.
 12348  func (s *ResourceAlreadyExistsException) Message() string {
 12349  	if s.Message_ != nil {
 12350  		return *s.Message_
 12351  	}
 12352  	return ""
 12353  }
 12354  
 12355  // OrigErr always returns nil, satisfies awserr.Error interface.
 12356  func (s *ResourceAlreadyExistsException) OrigErr() error {
 12357  	return nil
 12358  }
 12359  
 12360  func (s *ResourceAlreadyExistsException) Error() string {
 12361  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 12362  }
 12363  
 12364  // Status code returns the HTTP status code for the request's response error.
 12365  func (s *ResourceAlreadyExistsException) StatusCode() int {
 12366  	return s.RespMetadata.StatusCode
 12367  }
 12368  
 12369  // RequestID returns the service's response RequestID for request.
 12370  func (s *ResourceAlreadyExistsException) RequestID() string {
 12371  	return s.RespMetadata.RequestID
 12372  }
 12373  
 12374  // An exception for accessing or deleting a resource that does not exist. Gives
 12375  // http status code of 400.
 12376  type ResourceNotFoundException struct {
 12377  	_            struct{}                  `type:"structure"`
 12378  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 12379  
 12380  	Message_ *string `locationName:"message" type:"string"`
 12381  }
 12382  
 12383  // String returns the string representation.
 12384  //
 12385  // API parameter values that are decorated as "sensitive" in the API will not
 12386  // be included in the string output. The member name will be present, but the
 12387  // value will be replaced with "sensitive".
 12388  func (s ResourceNotFoundException) String() string {
 12389  	return awsutil.Prettify(s)
 12390  }
 12391  
 12392  // GoString returns the string representation.
 12393  //
 12394  // API parameter values that are decorated as "sensitive" in the API will not
 12395  // be included in the string output. The member name will be present, but the
 12396  // value will be replaced with "sensitive".
 12397  func (s ResourceNotFoundException) GoString() string {
 12398  	return s.String()
 12399  }
 12400  
 12401  func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
 12402  	return &ResourceNotFoundException{
 12403  		RespMetadata: v,
 12404  	}
 12405  }
 12406  
 12407  // Code returns the exception type name.
 12408  func (s *ResourceNotFoundException) Code() string {
 12409  	return "ResourceNotFoundException"
 12410  }
 12411  
 12412  // Message returns the exception's message.
 12413  func (s *ResourceNotFoundException) Message() string {
 12414  	if s.Message_ != nil {
 12415  		return *s.Message_
 12416  	}
 12417  	return ""
 12418  }
 12419  
 12420  // OrigErr always returns nil, satisfies awserr.Error interface.
 12421  func (s *ResourceNotFoundException) OrigErr() error {
 12422  	return nil
 12423  }
 12424  
 12425  func (s *ResourceNotFoundException) Error() string {
 12426  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 12427  }
 12428  
 12429  // Status code returns the HTTP status code for the request's response error.
 12430  func (s *ResourceNotFoundException) StatusCode() int {
 12431  	return s.RespMetadata.StatusCode
 12432  }
 12433  
 12434  // RequestID returns the service's response RequestID for request.
 12435  func (s *ResourceNotFoundException) RequestID() string {
 12436  	return s.RespMetadata.RequestID
 12437  }
 12438  
 12439  // The SAML identity povider's information.
 12440  type SAMLIdp struct {
 12441  	_ struct{} `type:"structure"`
 12442  
 12443  	// The unique entity ID of the application in SAML identity provider.
 12444  	//
 12445  	// EntityId is a required field
 12446  	EntityId *string `min:"8" type:"string" required:"true"`
 12447  
 12448  	// The metadata of the SAML application in XML format.
 12449  	//
 12450  	// MetadataContent is a required field
 12451  	MetadataContent *string `min:"1" type:"string" required:"true"`
 12452  }
 12453  
 12454  // String returns the string representation.
 12455  //
 12456  // API parameter values that are decorated as "sensitive" in the API will not
 12457  // be included in the string output. The member name will be present, but the
 12458  // value will be replaced with "sensitive".
 12459  func (s SAMLIdp) String() string {
 12460  	return awsutil.Prettify(s)
 12461  }
 12462  
 12463  // GoString returns the string representation.
 12464  //
 12465  // API parameter values that are decorated as "sensitive" in the API will not
 12466  // be included in the string output. The member name will be present, but the
 12467  // value will be replaced with "sensitive".
 12468  func (s SAMLIdp) GoString() string {
 12469  	return s.String()
 12470  }
 12471  
 12472  // Validate inspects the fields of the type to determine if they are valid.
 12473  func (s *SAMLIdp) Validate() error {
 12474  	invalidParams := request.ErrInvalidParams{Context: "SAMLIdp"}
 12475  	if s.EntityId == nil {
 12476  		invalidParams.Add(request.NewErrParamRequired("EntityId"))
 12477  	}
 12478  	if s.EntityId != nil && len(*s.EntityId) < 8 {
 12479  		invalidParams.Add(request.NewErrParamMinLen("EntityId", 8))
 12480  	}
 12481  	if s.MetadataContent == nil {
 12482  		invalidParams.Add(request.NewErrParamRequired("MetadataContent"))
 12483  	}
 12484  	if s.MetadataContent != nil && len(*s.MetadataContent) < 1 {
 12485  		invalidParams.Add(request.NewErrParamMinLen("MetadataContent", 1))
 12486  	}
 12487  
 12488  	if invalidParams.Len() > 0 {
 12489  		return invalidParams
 12490  	}
 12491  	return nil
 12492  }
 12493  
 12494  // SetEntityId sets the EntityId field's value.
 12495  func (s *SAMLIdp) SetEntityId(v string) *SAMLIdp {
 12496  	s.EntityId = &v
 12497  	return s
 12498  }
 12499  
 12500  // SetMetadataContent sets the MetadataContent field's value.
 12501  func (s *SAMLIdp) SetMetadataContent(v string) *SAMLIdp {
 12502  	s.MetadataContent = &v
 12503  	return s
 12504  }
 12505  
 12506  // The SAML application configuration for the domain.
 12507  type SAMLOptionsInput_ struct {
 12508  	_ struct{} `type:"structure"`
 12509  
 12510  	// True if SAML is enabled.
 12511  	Enabled *bool `type:"boolean"`
 12512  
 12513  	// The SAML Identity Provider's information.
 12514  	Idp *SAMLIdp `type:"structure"`
 12515  
 12516  	// The backend role that the SAML master user is mapped to.
 12517  	MasterBackendRole *string `min:"1" type:"string"`
 12518  
 12519  	// The SAML master username, which is stored in the Amazon OpenSearch Service
 12520  	// domain's internal database.
 12521  	//
 12522  	// MasterUserName is a sensitive parameter and its value will be
 12523  	// replaced with "sensitive" in string returned by SAMLOptionsInput_'s
 12524  	// String and GoString methods.
 12525  	MasterUserName *string `min:"1" type:"string" sensitive:"true"`
 12526  
 12527  	// Element of the SAML assertion to use for backend roles. Default is roles.
 12528  	RolesKey *string `type:"string"`
 12529  
 12530  	// The duration, in minutes, after which a user session becomes inactive. Acceptable
 12531  	// values are between 1 and 1440, and the default value is 60.
 12532  	SessionTimeoutMinutes *int64 `type:"integer"`
 12533  
 12534  	// Element of the SAML assertion to use for username. Default is NameID.
 12535  	SubjectKey *string `type:"string"`
 12536  }
 12537  
 12538  // String returns the string representation.
 12539  //
 12540  // API parameter values that are decorated as "sensitive" in the API will not
 12541  // be included in the string output. The member name will be present, but the
 12542  // value will be replaced with "sensitive".
 12543  func (s SAMLOptionsInput_) String() string {
 12544  	return awsutil.Prettify(s)
 12545  }
 12546  
 12547  // GoString returns the string representation.
 12548  //
 12549  // API parameter values that are decorated as "sensitive" in the API will not
 12550  // be included in the string output. The member name will be present, but the
 12551  // value will be replaced with "sensitive".
 12552  func (s SAMLOptionsInput_) GoString() string {
 12553  	return s.String()
 12554  }
 12555  
 12556  // Validate inspects the fields of the type to determine if they are valid.
 12557  func (s *SAMLOptionsInput_) Validate() error {
 12558  	invalidParams := request.ErrInvalidParams{Context: "SAMLOptionsInput_"}
 12559  	if s.MasterBackendRole != nil && len(*s.MasterBackendRole) < 1 {
 12560  		invalidParams.Add(request.NewErrParamMinLen("MasterBackendRole", 1))
 12561  	}
 12562  	if s.MasterUserName != nil && len(*s.MasterUserName) < 1 {
 12563  		invalidParams.Add(request.NewErrParamMinLen("MasterUserName", 1))
 12564  	}
 12565  	if s.Idp != nil {
 12566  		if err := s.Idp.Validate(); err != nil {
 12567  			invalidParams.AddNested("Idp", err.(request.ErrInvalidParams))
 12568  		}
 12569  	}
 12570  
 12571  	if invalidParams.Len() > 0 {
 12572  		return invalidParams
 12573  	}
 12574  	return nil
 12575  }
 12576  
 12577  // SetEnabled sets the Enabled field's value.
 12578  func (s *SAMLOptionsInput_) SetEnabled(v bool) *SAMLOptionsInput_ {
 12579  	s.Enabled = &v
 12580  	return s
 12581  }
 12582  
 12583  // SetIdp sets the Idp field's value.
 12584  func (s *SAMLOptionsInput_) SetIdp(v *SAMLIdp) *SAMLOptionsInput_ {
 12585  	s.Idp = v
 12586  	return s
 12587  }
 12588  
 12589  // SetMasterBackendRole sets the MasterBackendRole field's value.
 12590  func (s *SAMLOptionsInput_) SetMasterBackendRole(v string) *SAMLOptionsInput_ {
 12591  	s.MasterBackendRole = &v
 12592  	return s
 12593  }
 12594  
 12595  // SetMasterUserName sets the MasterUserName field's value.
 12596  func (s *SAMLOptionsInput_) SetMasterUserName(v string) *SAMLOptionsInput_ {
 12597  	s.MasterUserName = &v
 12598  	return s
 12599  }
 12600  
 12601  // SetRolesKey sets the RolesKey field's value.
 12602  func (s *SAMLOptionsInput_) SetRolesKey(v string) *SAMLOptionsInput_ {
 12603  	s.RolesKey = &v
 12604  	return s
 12605  }
 12606  
 12607  // SetSessionTimeoutMinutes sets the SessionTimeoutMinutes field's value.
 12608  func (s *SAMLOptionsInput_) SetSessionTimeoutMinutes(v int64) *SAMLOptionsInput_ {
 12609  	s.SessionTimeoutMinutes = &v
 12610  	return s
 12611  }
 12612  
 12613  // SetSubjectKey sets the SubjectKey field's value.
 12614  func (s *SAMLOptionsInput_) SetSubjectKey(v string) *SAMLOptionsInput_ {
 12615  	s.SubjectKey = &v
 12616  	return s
 12617  }
 12618  
 12619  // Describes the SAML application configured for the domain.
 12620  type SAMLOptionsOutput_ struct {
 12621  	_ struct{} `type:"structure"`
 12622  
 12623  	// True if SAML is enabled.
 12624  	Enabled *bool `type:"boolean"`
 12625  
 12626  	// Describes the SAML identity provider's information.
 12627  	Idp *SAMLIdp `type:"structure"`
 12628  
 12629  	// The key used for matching the SAML roles attribute.
 12630  	RolesKey *string `type:"string"`
 12631  
 12632  	// The duration, in minutes, after which a user session becomes inactive.
 12633  	SessionTimeoutMinutes *int64 `type:"integer"`
 12634  
 12635  	// The key used for matching the SAML subject attribute.
 12636  	SubjectKey *string `type:"string"`
 12637  }
 12638  
 12639  // String returns the string representation.
 12640  //
 12641  // API parameter values that are decorated as "sensitive" in the API will not
 12642  // be included in the string output. The member name will be present, but the
 12643  // value will be replaced with "sensitive".
 12644  func (s SAMLOptionsOutput_) String() string {
 12645  	return awsutil.Prettify(s)
 12646  }
 12647  
 12648  // GoString returns the string representation.
 12649  //
 12650  // API parameter values that are decorated as "sensitive" in the API will not
 12651  // be included in the string output. The member name will be present, but the
 12652  // value will be replaced with "sensitive".
 12653  func (s SAMLOptionsOutput_) GoString() string {
 12654  	return s.String()
 12655  }
 12656  
 12657  // SetEnabled sets the Enabled field's value.
 12658  func (s *SAMLOptionsOutput_) SetEnabled(v bool) *SAMLOptionsOutput_ {
 12659  	s.Enabled = &v
 12660  	return s
 12661  }
 12662  
 12663  // SetIdp sets the Idp field's value.
 12664  func (s *SAMLOptionsOutput_) SetIdp(v *SAMLIdp) *SAMLOptionsOutput_ {
 12665  	s.Idp = v
 12666  	return s
 12667  }
 12668  
 12669  // SetRolesKey sets the RolesKey field's value.
 12670  func (s *SAMLOptionsOutput_) SetRolesKey(v string) *SAMLOptionsOutput_ {
 12671  	s.RolesKey = &v
 12672  	return s
 12673  }
 12674  
 12675  // SetSessionTimeoutMinutes sets the SessionTimeoutMinutes field's value.
 12676  func (s *SAMLOptionsOutput_) SetSessionTimeoutMinutes(v int64) *SAMLOptionsOutput_ {
 12677  	s.SessionTimeoutMinutes = &v
 12678  	return s
 12679  }
 12680  
 12681  // SetSubjectKey sets the SubjectKey field's value.
 12682  func (s *SAMLOptionsOutput_) SetSubjectKey(v string) *SAMLOptionsOutput_ {
 12683  	s.SubjectKey = &v
 12684  	return s
 12685  }
 12686  
 12687  // Specifies details about the scheduled Auto-Tune action. See Auto-Tune for
 12688  // Amazon OpenSearch Service (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/auto-tune.html)
 12689  // for more information.
 12690  type ScheduledAutoTuneDetails struct {
 12691  	_ struct{} `type:"structure"`
 12692  
 12693  	// The Auto-Tune action description.
 12694  	Action *string `type:"string"`
 12695  
 12696  	// The Auto-Tune action type. Valid values are JVM_HEAP_SIZE_TUNING and JVM_YOUNG_GEN_TUNING.
 12697  	ActionType *string `type:"string" enum:"ScheduledAutoTuneActionType"`
 12698  
 12699  	// The timestamp of the Auto-Tune action scheduled for the domain.
 12700  	Date *time.Time `type:"timestamp"`
 12701  
 12702  	// The Auto-Tune action severity. Valid values are LOW, MEDIUM, and HIGH.
 12703  	Severity *string `type:"string" enum:"ScheduledAutoTuneSeverityType"`
 12704  }
 12705  
 12706  // String returns the string representation.
 12707  //
 12708  // API parameter values that are decorated as "sensitive" in the API will not
 12709  // be included in the string output. The member name will be present, but the
 12710  // value will be replaced with "sensitive".
 12711  func (s ScheduledAutoTuneDetails) String() string {
 12712  	return awsutil.Prettify(s)
 12713  }
 12714  
 12715  // GoString returns the string representation.
 12716  //
 12717  // API parameter values that are decorated as "sensitive" in the API will not
 12718  // be included in the string output. The member name will be present, but the
 12719  // value will be replaced with "sensitive".
 12720  func (s ScheduledAutoTuneDetails) GoString() string {
 12721  	return s.String()
 12722  }
 12723  
 12724  // SetAction sets the Action field's value.
 12725  func (s *ScheduledAutoTuneDetails) SetAction(v string) *ScheduledAutoTuneDetails {
 12726  	s.Action = &v
 12727  	return s
 12728  }
 12729  
 12730  // SetActionType sets the ActionType field's value.
 12731  func (s *ScheduledAutoTuneDetails) SetActionType(v string) *ScheduledAutoTuneDetails {
 12732  	s.ActionType = &v
 12733  	return s
 12734  }
 12735  
 12736  // SetDate sets the Date field's value.
 12737  func (s *ScheduledAutoTuneDetails) SetDate(v time.Time) *ScheduledAutoTuneDetails {
 12738  	s.Date = &v
 12739  	return s
 12740  }
 12741  
 12742  // SetSeverity sets the Severity field's value.
 12743  func (s *ScheduledAutoTuneDetails) SetSeverity(v string) *ScheduledAutoTuneDetails {
 12744  	s.Severity = &v
 12745  	return s
 12746  }
 12747  
 12748  // The current options of an domain service software options.
 12749  type ServiceSoftwareOptions struct {
 12750  	_ struct{} `type:"structure"`
 12751  
 12752  	// The timestamp, in Epoch time, until which you can manually request a service
 12753  	// software update. After this date, we automatically update your service software.
 12754  	AutomatedUpdateDate *time.Time `type:"timestamp"`
 12755  
 12756  	// True if you're able to cancel your service software version update. False
 12757  	// if you can't cancel your service software update.
 12758  	Cancellable *bool `type:"boolean"`
 12759  
 12760  	// The current service software version present on the domain.
 12761  	CurrentVersion *string `type:"string"`
 12762  
 12763  	// The description of the UpdateStatus.
 12764  	Description *string `type:"string"`
 12765  
 12766  	// The new service software version if one is available.
 12767  	NewVersion *string `type:"string"`
 12768  
 12769  	// True if a service software is never automatically updated. False if a service
 12770  	// software is automatically updated after AutomatedUpdateDate.
 12771  	OptionalDeployment *bool `type:"boolean"`
 12772  
 12773  	// True if you're able to update your service software version. False if you
 12774  	// can't update your service software version.
 12775  	UpdateAvailable *bool `type:"boolean"`
 12776  
 12777  	// The status of your service software update. This field can take the following
 12778  	// values: ELIGIBLE, PENDING_UPDATE, IN_PROGRESS, COMPLETED, and NOT_ELIGIBLE.
 12779  	UpdateStatus *string `type:"string" enum:"DeploymentStatus"`
 12780  }
 12781  
 12782  // String returns the string representation.
 12783  //
 12784  // API parameter values that are decorated as "sensitive" in the API will not
 12785  // be included in the string output. The member name will be present, but the
 12786  // value will be replaced with "sensitive".
 12787  func (s ServiceSoftwareOptions) String() string {
 12788  	return awsutil.Prettify(s)
 12789  }
 12790  
 12791  // GoString returns the string representation.
 12792  //
 12793  // API parameter values that are decorated as "sensitive" in the API will not
 12794  // be included in the string output. The member name will be present, but the
 12795  // value will be replaced with "sensitive".
 12796  func (s ServiceSoftwareOptions) GoString() string {
 12797  	return s.String()
 12798  }
 12799  
 12800  // SetAutomatedUpdateDate sets the AutomatedUpdateDate field's value.
 12801  func (s *ServiceSoftwareOptions) SetAutomatedUpdateDate(v time.Time) *ServiceSoftwareOptions {
 12802  	s.AutomatedUpdateDate = &v
 12803  	return s
 12804  }
 12805  
 12806  // SetCancellable sets the Cancellable field's value.
 12807  func (s *ServiceSoftwareOptions) SetCancellable(v bool) *ServiceSoftwareOptions {
 12808  	s.Cancellable = &v
 12809  	return s
 12810  }
 12811  
 12812  // SetCurrentVersion sets the CurrentVersion field's value.
 12813  func (s *ServiceSoftwareOptions) SetCurrentVersion(v string) *ServiceSoftwareOptions {
 12814  	s.CurrentVersion = &v
 12815  	return s
 12816  }
 12817  
 12818  // SetDescription sets the Description field's value.
 12819  func (s *ServiceSoftwareOptions) SetDescription(v string) *ServiceSoftwareOptions {
 12820  	s.Description = &v
 12821  	return s
 12822  }
 12823  
 12824  // SetNewVersion sets the NewVersion field's value.
 12825  func (s *ServiceSoftwareOptions) SetNewVersion(v string) *ServiceSoftwareOptions {
 12826  	s.NewVersion = &v
 12827  	return s
 12828  }
 12829  
 12830  // SetOptionalDeployment sets the OptionalDeployment field's value.
 12831  func (s *ServiceSoftwareOptions) SetOptionalDeployment(v bool) *ServiceSoftwareOptions {
 12832  	s.OptionalDeployment = &v
 12833  	return s
 12834  }
 12835  
 12836  // SetUpdateAvailable sets the UpdateAvailable field's value.
 12837  func (s *ServiceSoftwareOptions) SetUpdateAvailable(v bool) *ServiceSoftwareOptions {
 12838  	s.UpdateAvailable = &v
 12839  	return s
 12840  }
 12841  
 12842  // SetUpdateStatus sets the UpdateStatus field's value.
 12843  func (s *ServiceSoftwareOptions) SetUpdateStatus(v string) *ServiceSoftwareOptions {
 12844  	s.UpdateStatus = &v
 12845  	return s
 12846  }
 12847  
 12848  // The time, in UTC format, when the service takes a daily automated snapshot
 12849  // of the specified domain. Default is 0 hours.
 12850  type SnapshotOptions struct {
 12851  	_ struct{} `type:"structure"`
 12852  
 12853  	// The time, in UTC format, when the service takes a daily automated snapshot
 12854  	// of the specified domain. Default is 0 hours.
 12855  	AutomatedSnapshotStartHour *int64 `type:"integer"`
 12856  }
 12857  
 12858  // String returns the string representation.
 12859  //
 12860  // API parameter values that are decorated as "sensitive" in the API will not
 12861  // be included in the string output. The member name will be present, but the
 12862  // value will be replaced with "sensitive".
 12863  func (s SnapshotOptions) String() string {
 12864  	return awsutil.Prettify(s)
 12865  }
 12866  
 12867  // GoString returns the string representation.
 12868  //
 12869  // API parameter values that are decorated as "sensitive" in the API will not
 12870  // be included in the string output. The member name will be present, but the
 12871  // value will be replaced with "sensitive".
 12872  func (s SnapshotOptions) GoString() string {
 12873  	return s.String()
 12874  }
 12875  
 12876  // SetAutomatedSnapshotStartHour sets the AutomatedSnapshotStartHour field's value.
 12877  func (s *SnapshotOptions) SetAutomatedSnapshotStartHour(v int64) *SnapshotOptions {
 12878  	s.AutomatedSnapshotStartHour = &v
 12879  	return s
 12880  }
 12881  
 12882  // Status of a daily automated snapshot.
 12883  type SnapshotOptionsStatus struct {
 12884  	_ struct{} `type:"structure"`
 12885  
 12886  	// The daily snapshot options specified for the domain.
 12887  	//
 12888  	// Options is a required field
 12889  	Options *SnapshotOptions `type:"structure" required:"true"`
 12890  
 12891  	// The status of a daily automated snapshot.
 12892  	//
 12893  	// Status is a required field
 12894  	Status *OptionStatus `type:"structure" required:"true"`
 12895  }
 12896  
 12897  // String returns the string representation.
 12898  //
 12899  // API parameter values that are decorated as "sensitive" in the API will not
 12900  // be included in the string output. The member name will be present, but the
 12901  // value will be replaced with "sensitive".
 12902  func (s SnapshotOptionsStatus) String() string {
 12903  	return awsutil.Prettify(s)
 12904  }
 12905  
 12906  // GoString returns the string representation.
 12907  //
 12908  // API parameter values that are decorated as "sensitive" in the API will not
 12909  // be included in the string output. The member name will be present, but the
 12910  // value will be replaced with "sensitive".
 12911  func (s SnapshotOptionsStatus) GoString() string {
 12912  	return s.String()
 12913  }
 12914  
 12915  // SetOptions sets the Options field's value.
 12916  func (s *SnapshotOptionsStatus) SetOptions(v *SnapshotOptions) *SnapshotOptionsStatus {
 12917  	s.Options = v
 12918  	return s
 12919  }
 12920  
 12921  // SetStatus sets the Status field's value.
 12922  func (s *SnapshotOptionsStatus) SetStatus(v *OptionStatus) *SnapshotOptionsStatus {
 12923  	s.Status = v
 12924  	return s
 12925  }
 12926  
 12927  // Container for the parameters to the StartServiceSoftwareUpdate operation.
 12928  // Specifies the name of the domain to schedule a service software update for.
 12929  type StartServiceSoftwareUpdateInput struct {
 12930  	_ struct{} `type:"structure"`
 12931  
 12932  	// The name of the domain that you want to update to the latest service software.
 12933  	//
 12934  	// DomainName is a required field
 12935  	DomainName *string `min:"3" type:"string" required:"true"`
 12936  }
 12937  
 12938  // String returns the string representation.
 12939  //
 12940  // API parameter values that are decorated as "sensitive" in the API will not
 12941  // be included in the string output. The member name will be present, but the
 12942  // value will be replaced with "sensitive".
 12943  func (s StartServiceSoftwareUpdateInput) String() string {
 12944  	return awsutil.Prettify(s)
 12945  }
 12946  
 12947  // GoString returns the string representation.
 12948  //
 12949  // API parameter values that are decorated as "sensitive" in the API will not
 12950  // be included in the string output. The member name will be present, but the
 12951  // value will be replaced with "sensitive".
 12952  func (s StartServiceSoftwareUpdateInput) GoString() string {
 12953  	return s.String()
 12954  }
 12955  
 12956  // Validate inspects the fields of the type to determine if they are valid.
 12957  func (s *StartServiceSoftwareUpdateInput) Validate() error {
 12958  	invalidParams := request.ErrInvalidParams{Context: "StartServiceSoftwareUpdateInput"}
 12959  	if s.DomainName == nil {
 12960  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
 12961  	}
 12962  	if s.DomainName != nil && len(*s.DomainName) < 3 {
 12963  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
 12964  	}
 12965  
 12966  	if invalidParams.Len() > 0 {
 12967  		return invalidParams
 12968  	}
 12969  	return nil
 12970  }
 12971  
 12972  // SetDomainName sets the DomainName field's value.
 12973  func (s *StartServiceSoftwareUpdateInput) SetDomainName(v string) *StartServiceSoftwareUpdateInput {
 12974  	s.DomainName = &v
 12975  	return s
 12976  }
 12977  
 12978  // The result of a StartServiceSoftwareUpdate operation. Contains the status
 12979  // of the update.
 12980  type StartServiceSoftwareUpdateOutput struct {
 12981  	_ struct{} `type:"structure"`
 12982  
 12983  	// The current status of the OpenSearch service software update.
 12984  	ServiceSoftwareOptions *ServiceSoftwareOptions `type:"structure"`
 12985  }
 12986  
 12987  // String returns the string representation.
 12988  //
 12989  // API parameter values that are decorated as "sensitive" in the API will not
 12990  // be included in the string output. The member name will be present, but the
 12991  // value will be replaced with "sensitive".
 12992  func (s StartServiceSoftwareUpdateOutput) String() string {
 12993  	return awsutil.Prettify(s)
 12994  }
 12995  
 12996  // GoString returns the string representation.
 12997  //
 12998  // API parameter values that are decorated as "sensitive" in the API will not
 12999  // be included in the string output. The member name will be present, but the
 13000  // value will be replaced with "sensitive".
 13001  func (s StartServiceSoftwareUpdateOutput) GoString() string {
 13002  	return s.String()
 13003  }
 13004  
 13005  // SetServiceSoftwareOptions sets the ServiceSoftwareOptions field's value.
 13006  func (s *StartServiceSoftwareUpdateOutput) SetServiceSoftwareOptions(v *ServiceSoftwareOptions) *StartServiceSoftwareUpdateOutput {
 13007  	s.ServiceSoftwareOptions = v
 13008  	return s
 13009  }
 13010  
 13011  // StorageTypes represents the list of storage-related types and their attributes
 13012  // that are available for a given InstanceType.
 13013  type StorageType struct {
 13014  	_ struct{} `type:"structure"`
 13015  
 13016  	// Sub-type of the given storage type. List of available sub-storage options:
 13017  	// "instance" storageType has no storageSubType. "ebs" storageType has the following
 13018  	// valid storageSubTypes: standard gp2 io1 See VolumeType for more information
 13019  	// regarding each EBS storage option.
 13020  	StorageSubTypeName *string `type:"string"`
 13021  
 13022  	// Limits that are applicable for the given storage type.
 13023  	StorageTypeLimits []*StorageTypeLimit `type:"list"`
 13024  
 13025  	// Type of storage. List of available storage options: instance Built-in storage
 13026  	// available for the instance ebs Elastic block storage attached to the instance
 13027  	StorageTypeName *string `type:"string"`
 13028  }
 13029  
 13030  // String returns the string representation.
 13031  //
 13032  // API parameter values that are decorated as "sensitive" in the API will not
 13033  // be included in the string output. The member name will be present, but the
 13034  // value will be replaced with "sensitive".
 13035  func (s StorageType) String() string {
 13036  	return awsutil.Prettify(s)
 13037  }
 13038  
 13039  // GoString returns the string representation.
 13040  //
 13041  // API parameter values that are decorated as "sensitive" in the API will not
 13042  // be included in the string output. The member name will be present, but the
 13043  // value will be replaced with "sensitive".
 13044  func (s StorageType) GoString() string {
 13045  	return s.String()
 13046  }
 13047  
 13048  // SetStorageSubTypeName sets the StorageSubTypeName field's value.
 13049  func (s *StorageType) SetStorageSubTypeName(v string) *StorageType {
 13050  	s.StorageSubTypeName = &v
 13051  	return s
 13052  }
 13053  
 13054  // SetStorageTypeLimits sets the StorageTypeLimits field's value.
 13055  func (s *StorageType) SetStorageTypeLimits(v []*StorageTypeLimit) *StorageType {
 13056  	s.StorageTypeLimits = v
 13057  	return s
 13058  }
 13059  
 13060  // SetStorageTypeName sets the StorageTypeName field's value.
 13061  func (s *StorageType) SetStorageTypeName(v string) *StorageType {
 13062  	s.StorageTypeName = &v
 13063  	return s
 13064  }
 13065  
 13066  // Limits that are applicable for the given storage type.
 13067  type StorageTypeLimit struct {
 13068  	_ struct{} `type:"structure"`
 13069  
 13070  	// Name of storage limits that are applicable for the given storage type. If
 13071  	// StorageType is "ebs", the following storage options are applicable: MinimumVolumeSize
 13072  	// Minimum amount of volume size that is applicable for the given storage type.
 13073  	// Can be empty if not applicable. MaximumVolumeSize Maximum amount of volume
 13074  	// size that is applicable for the given storage type. Can be empty if not applicable.
 13075  	// MaximumIops Maximum amount of Iops that is applicable for given the storage
 13076  	// type. Can be empty if not applicable. MinimumIops Minimum amount of Iops
 13077  	// that is applicable for given the storage type. Can be empty if not applicable.
 13078  	LimitName *string `type:"string"`
 13079  
 13080  	// Values for the StorageTypeLimit$LimitName .
 13081  	LimitValues []*string `type:"list"`
 13082  }
 13083  
 13084  // String returns the string representation.
 13085  //
 13086  // API parameter values that are decorated as "sensitive" in the API will not
 13087  // be included in the string output. The member name will be present, but the
 13088  // value will be replaced with "sensitive".
 13089  func (s StorageTypeLimit) String() string {
 13090  	return awsutil.Prettify(s)
 13091  }
 13092  
 13093  // GoString returns the string representation.
 13094  //
 13095  // API parameter values that are decorated as "sensitive" in the API will not
 13096  // be included in the string output. The member name will be present, but the
 13097  // value will be replaced with "sensitive".
 13098  func (s StorageTypeLimit) GoString() string {
 13099  	return s.String()
 13100  }
 13101  
 13102  // SetLimitName sets the LimitName field's value.
 13103  func (s *StorageTypeLimit) SetLimitName(v string) *StorageTypeLimit {
 13104  	s.LimitName = &v
 13105  	return s
 13106  }
 13107  
 13108  // SetLimitValues sets the LimitValues field's value.
 13109  func (s *StorageTypeLimit) SetLimitValues(v []*string) *StorageTypeLimit {
 13110  	s.LimitValues = v
 13111  	return s
 13112  }
 13113  
 13114  // A key value pair for a resource tag.
 13115  type Tag struct {
 13116  	_ struct{} `type:"structure"`
 13117  
 13118  	// The TagKey, the name of the tag. Tag keys must be unique for the domain to
 13119  	// which they are attached.
 13120  	//
 13121  	// Key is a required field
 13122  	Key *string `min:"1" type:"string" required:"true"`
 13123  
 13124  	// The TagValue, the value assigned to the corresponding tag key. Tag values
 13125  	// can be null and don't have to be unique in a tag set. For example, you can
 13126  	// have a key value pair in a tag set of project : Trinity and cost-center :
 13127  	// Trinity
 13128  	//
 13129  	// Value is a required field
 13130  	Value *string `type:"string" required:"true"`
 13131  }
 13132  
 13133  // String returns the string representation.
 13134  //
 13135  // API parameter values that are decorated as "sensitive" in the API will not
 13136  // be included in the string output. The member name will be present, but the
 13137  // value will be replaced with "sensitive".
 13138  func (s Tag) String() string {
 13139  	return awsutil.Prettify(s)
 13140  }
 13141  
 13142  // GoString returns the string representation.
 13143  //
 13144  // API parameter values that are decorated as "sensitive" in the API will not
 13145  // be included in the string output. The member name will be present, but the
 13146  // value will be replaced with "sensitive".
 13147  func (s Tag) GoString() string {
 13148  	return s.String()
 13149  }
 13150  
 13151  // Validate inspects the fields of the type to determine if they are valid.
 13152  func (s *Tag) Validate() error {
 13153  	invalidParams := request.ErrInvalidParams{Context: "Tag"}
 13154  	if s.Key == nil {
 13155  		invalidParams.Add(request.NewErrParamRequired("Key"))
 13156  	}
 13157  	if s.Key != nil && len(*s.Key) < 1 {
 13158  		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
 13159  	}
 13160  	if s.Value == nil {
 13161  		invalidParams.Add(request.NewErrParamRequired("Value"))
 13162  	}
 13163  
 13164  	if invalidParams.Len() > 0 {
 13165  		return invalidParams
 13166  	}
 13167  	return nil
 13168  }
 13169  
 13170  // SetKey sets the Key field's value.
 13171  func (s *Tag) SetKey(v string) *Tag {
 13172  	s.Key = &v
 13173  	return s
 13174  }
 13175  
 13176  // SetValue sets the Value field's value.
 13177  func (s *Tag) SetValue(v string) *Tag {
 13178  	s.Value = &v
 13179  	return s
 13180  }
 13181  
 13182  // Container for the parameters to the UpdateDomain operation. Specifies the
 13183  // type and number of instances in the domain cluster.
 13184  type UpdateDomainConfigInput struct {
 13185  	_ struct{} `type:"structure"`
 13186  
 13187  	// IAM access policy as a JSON-formatted string.
 13188  	AccessPolicies *string `type:"string"`
 13189  
 13190  	// Modifies the advanced option to allow references to indices in an HTTP request
 13191  	// body. Must be false when configuring access to individual sub-resources.
 13192  	// By default, the value is true. See Advanced options (http://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html#createdomain-configure-advanced-options)
 13193  	// for more information.
 13194  	AdvancedOptions map[string]*string `type:"map"`
 13195  
 13196  	// Specifies advanced security options.
 13197  	AdvancedSecurityOptions *AdvancedSecurityOptionsInput_ `type:"structure"`
 13198  
 13199  	// Specifies Auto-Tune options.
 13200  	AutoTuneOptions *AutoTuneOptions `type:"structure"`
 13201  
 13202  	// The type and number of instances to instantiate for the domain cluster.
 13203  	ClusterConfig *ClusterConfig `type:"structure"`
 13204  
 13205  	// Options to specify the Cognito user and identity pools for OpenSearch Dashboards
 13206  	// authentication. For more information, see Configuring Amazon Cognito authentication
 13207  	// for OpenSearch Dashboards (http://docs.aws.amazon.com/opensearch-service/latest/developerguide/cognito-auth.html).
 13208  	CognitoOptions *CognitoOptions `type:"structure"`
 13209  
 13210  	// Options to specify configuration that will be applied to the domain endpoint.
 13211  	DomainEndpointOptions *DomainEndpointOptions `type:"structure"`
 13212  
 13213  	// The name of the domain you're updating.
 13214  	//
 13215  	// DomainName is a required field
 13216  	DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"`
 13217  
 13218  	// Specify the type and size of the EBS volume to use.
 13219  	EBSOptions *EBSOptions `type:"structure"`
 13220  
 13221  	// Specifies encryption of data at rest options.
 13222  	EncryptionAtRestOptions *EncryptionAtRestOptions `type:"structure"`
 13223  
 13224  	// Map of LogType and LogPublishingOption, each containing options to publish
 13225  	// a given type of OpenSearch log.
 13226  	LogPublishingOptions map[string]*LogPublishingOption `type:"map"`
 13227  
 13228  	// Specifies node-to-node encryption options.
 13229  	NodeToNodeEncryptionOptions *NodeToNodeEncryptionOptions `type:"structure"`
 13230  
 13231  	// Option to set the time, in UTC format, for the daily automated snapshot.
 13232  	// Default value is 0 hours.
 13233  	SnapshotOptions *SnapshotOptions `type:"structure"`
 13234  
 13235  	// Options to specify the subnets and security groups for the VPC endpoint.
 13236  	// For more information, see Launching your Amazon OpenSearch Service domains
 13237  	// using a VPC (http://docs.aws.amazon.com/opensearch-service/latest/developerguide/vpc.html).
 13238  	VPCOptions *VPCOptions `type:"structure"`
 13239  }
 13240  
 13241  // String returns the string representation.
 13242  //
 13243  // API parameter values that are decorated as "sensitive" in the API will not
 13244  // be included in the string output. The member name will be present, but the
 13245  // value will be replaced with "sensitive".
 13246  func (s UpdateDomainConfigInput) String() string {
 13247  	return awsutil.Prettify(s)
 13248  }
 13249  
 13250  // GoString returns the string representation.
 13251  //
 13252  // API parameter values that are decorated as "sensitive" in the API will not
 13253  // be included in the string output. The member name will be present, but the
 13254  // value will be replaced with "sensitive".
 13255  func (s UpdateDomainConfigInput) GoString() string {
 13256  	return s.String()
 13257  }
 13258  
 13259  // Validate inspects the fields of the type to determine if they are valid.
 13260  func (s *UpdateDomainConfigInput) Validate() error {
 13261  	invalidParams := request.ErrInvalidParams{Context: "UpdateDomainConfigInput"}
 13262  	if s.DomainName == nil {
 13263  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
 13264  	}
 13265  	if s.DomainName != nil && len(*s.DomainName) < 3 {
 13266  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
 13267  	}
 13268  	if s.AdvancedSecurityOptions != nil {
 13269  		if err := s.AdvancedSecurityOptions.Validate(); err != nil {
 13270  			invalidParams.AddNested("AdvancedSecurityOptions", err.(request.ErrInvalidParams))
 13271  		}
 13272  	}
 13273  	if s.AutoTuneOptions != nil {
 13274  		if err := s.AutoTuneOptions.Validate(); err != nil {
 13275  			invalidParams.AddNested("AutoTuneOptions", err.(request.ErrInvalidParams))
 13276  		}
 13277  	}
 13278  	if s.ClusterConfig != nil {
 13279  		if err := s.ClusterConfig.Validate(); err != nil {
 13280  			invalidParams.AddNested("ClusterConfig", err.(request.ErrInvalidParams))
 13281  		}
 13282  	}
 13283  	if s.CognitoOptions != nil {
 13284  		if err := s.CognitoOptions.Validate(); err != nil {
 13285  			invalidParams.AddNested("CognitoOptions", err.(request.ErrInvalidParams))
 13286  		}
 13287  	}
 13288  	if s.DomainEndpointOptions != nil {
 13289  		if err := s.DomainEndpointOptions.Validate(); err != nil {
 13290  			invalidParams.AddNested("DomainEndpointOptions", err.(request.ErrInvalidParams))
 13291  		}
 13292  	}
 13293  	if s.EncryptionAtRestOptions != nil {
 13294  		if err := s.EncryptionAtRestOptions.Validate(); err != nil {
 13295  			invalidParams.AddNested("EncryptionAtRestOptions", err.(request.ErrInvalidParams))
 13296  		}
 13297  	}
 13298  	if s.LogPublishingOptions != nil {
 13299  		for i, v := range s.LogPublishingOptions {
 13300  			if v == nil {
 13301  				continue
 13302  			}
 13303  			if err := v.Validate(); err != nil {
 13304  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LogPublishingOptions", i), err.(request.ErrInvalidParams))
 13305  			}
 13306  		}
 13307  	}
 13308  
 13309  	if invalidParams.Len() > 0 {
 13310  		return invalidParams
 13311  	}
 13312  	return nil
 13313  }
 13314  
 13315  // SetAccessPolicies sets the AccessPolicies field's value.
 13316  func (s *UpdateDomainConfigInput) SetAccessPolicies(v string) *UpdateDomainConfigInput {
 13317  	s.AccessPolicies = &v
 13318  	return s
 13319  }
 13320  
 13321  // SetAdvancedOptions sets the AdvancedOptions field's value.
 13322  func (s *UpdateDomainConfigInput) SetAdvancedOptions(v map[string]*string) *UpdateDomainConfigInput {
 13323  	s.AdvancedOptions = v
 13324  	return s
 13325  }
 13326  
 13327  // SetAdvancedSecurityOptions sets the AdvancedSecurityOptions field's value.
 13328  func (s *UpdateDomainConfigInput) SetAdvancedSecurityOptions(v *AdvancedSecurityOptionsInput_) *UpdateDomainConfigInput {
 13329  	s.AdvancedSecurityOptions = v
 13330  	return s
 13331  }
 13332  
 13333  // SetAutoTuneOptions sets the AutoTuneOptions field's value.
 13334  func (s *UpdateDomainConfigInput) SetAutoTuneOptions(v *AutoTuneOptions) *UpdateDomainConfigInput {
 13335  	s.AutoTuneOptions = v
 13336  	return s
 13337  }
 13338  
 13339  // SetClusterConfig sets the ClusterConfig field's value.
 13340  func (s *UpdateDomainConfigInput) SetClusterConfig(v *ClusterConfig) *UpdateDomainConfigInput {
 13341  	s.ClusterConfig = v
 13342  	return s
 13343  }
 13344  
 13345  // SetCognitoOptions sets the CognitoOptions field's value.
 13346  func (s *UpdateDomainConfigInput) SetCognitoOptions(v *CognitoOptions) *UpdateDomainConfigInput {
 13347  	s.CognitoOptions = v
 13348  	return s
 13349  }
 13350  
 13351  // SetDomainEndpointOptions sets the DomainEndpointOptions field's value.
 13352  func (s *UpdateDomainConfigInput) SetDomainEndpointOptions(v *DomainEndpointOptions) *UpdateDomainConfigInput {
 13353  	s.DomainEndpointOptions = v
 13354  	return s
 13355  }
 13356  
 13357  // SetDomainName sets the DomainName field's value.
 13358  func (s *UpdateDomainConfigInput) SetDomainName(v string) *UpdateDomainConfigInput {
 13359  	s.DomainName = &v
 13360  	return s
 13361  }
 13362  
 13363  // SetEBSOptions sets the EBSOptions field's value.
 13364  func (s *UpdateDomainConfigInput) SetEBSOptions(v *EBSOptions) *UpdateDomainConfigInput {
 13365  	s.EBSOptions = v
 13366  	return s
 13367  }
 13368  
 13369  // SetEncryptionAtRestOptions sets the EncryptionAtRestOptions field's value.
 13370  func (s *UpdateDomainConfigInput) SetEncryptionAtRestOptions(v *EncryptionAtRestOptions) *UpdateDomainConfigInput {
 13371  	s.EncryptionAtRestOptions = v
 13372  	return s
 13373  }
 13374  
 13375  // SetLogPublishingOptions sets the LogPublishingOptions field's value.
 13376  func (s *UpdateDomainConfigInput) SetLogPublishingOptions(v map[string]*LogPublishingOption) *UpdateDomainConfigInput {
 13377  	s.LogPublishingOptions = v
 13378  	return s
 13379  }
 13380  
 13381  // SetNodeToNodeEncryptionOptions sets the NodeToNodeEncryptionOptions field's value.
 13382  func (s *UpdateDomainConfigInput) SetNodeToNodeEncryptionOptions(v *NodeToNodeEncryptionOptions) *UpdateDomainConfigInput {
 13383  	s.NodeToNodeEncryptionOptions = v
 13384  	return s
 13385  }
 13386  
 13387  // SetSnapshotOptions sets the SnapshotOptions field's value.
 13388  func (s *UpdateDomainConfigInput) SetSnapshotOptions(v *SnapshotOptions) *UpdateDomainConfigInput {
 13389  	s.SnapshotOptions = v
 13390  	return s
 13391  }
 13392  
 13393  // SetVPCOptions sets the VPCOptions field's value.
 13394  func (s *UpdateDomainConfigInput) SetVPCOptions(v *VPCOptions) *UpdateDomainConfigInput {
 13395  	s.VPCOptions = v
 13396  	return s
 13397  }
 13398  
 13399  // The result of an UpdateDomain request. Contains the status of the domain
 13400  // being updated.
 13401  type UpdateDomainConfigOutput struct {
 13402  	_ struct{} `type:"structure"`
 13403  
 13404  	// The status of the updated domain.
 13405  	//
 13406  	// DomainConfig is a required field
 13407  	DomainConfig *DomainConfig `type:"structure" required:"true"`
 13408  }
 13409  
 13410  // String returns the string representation.
 13411  //
 13412  // API parameter values that are decorated as "sensitive" in the API will not
 13413  // be included in the string output. The member name will be present, but the
 13414  // value will be replaced with "sensitive".
 13415  func (s UpdateDomainConfigOutput) String() string {
 13416  	return awsutil.Prettify(s)
 13417  }
 13418  
 13419  // GoString returns the string representation.
 13420  //
 13421  // API parameter values that are decorated as "sensitive" in the API will not
 13422  // be included in the string output. The member name will be present, but the
 13423  // value will be replaced with "sensitive".
 13424  func (s UpdateDomainConfigOutput) GoString() string {
 13425  	return s.String()
 13426  }
 13427  
 13428  // SetDomainConfig sets the DomainConfig field's value.
 13429  func (s *UpdateDomainConfigOutput) SetDomainConfig(v *DomainConfig) *UpdateDomainConfigOutput {
 13430  	s.DomainConfig = v
 13431  	return s
 13432  }
 13433  
 13434  // Container for request parameters to the UpdatePackage operation.
 13435  type UpdatePackageInput struct {
 13436  	_ struct{} `type:"structure"`
 13437  
 13438  	// A commit message for the new version which is shown as part of GetPackageVersionHistoryResponse.
 13439  	CommitMessage *string `type:"string"`
 13440  
 13441  	// A new description of the package.
 13442  	PackageDescription *string `type:"string"`
 13443  
 13444  	// The unique identifier for the package.
 13445  	//
 13446  	// PackageID is a required field
 13447  	PackageID *string `type:"string" required:"true"`
 13448  
 13449  	// The Amazon S3 location for importing the package specified as S3BucketName
 13450  	// and S3Key
 13451  	//
 13452  	// PackageSource is a required field
 13453  	PackageSource *PackageSource `type:"structure" required:"true"`
 13454  }
 13455  
 13456  // String returns the string representation.
 13457  //
 13458  // API parameter values that are decorated as "sensitive" in the API will not
 13459  // be included in the string output. The member name will be present, but the
 13460  // value will be replaced with "sensitive".
 13461  func (s UpdatePackageInput) String() string {
 13462  	return awsutil.Prettify(s)
 13463  }
 13464  
 13465  // GoString returns the string representation.
 13466  //
 13467  // API parameter values that are decorated as "sensitive" in the API will not
 13468  // be included in the string output. The member name will be present, but the
 13469  // value will be replaced with "sensitive".
 13470  func (s UpdatePackageInput) GoString() string {
 13471  	return s.String()
 13472  }
 13473  
 13474  // Validate inspects the fields of the type to determine if they are valid.
 13475  func (s *UpdatePackageInput) Validate() error {
 13476  	invalidParams := request.ErrInvalidParams{Context: "UpdatePackageInput"}
 13477  	if s.PackageID == nil {
 13478  		invalidParams.Add(request.NewErrParamRequired("PackageID"))
 13479  	}
 13480  	if s.PackageSource == nil {
 13481  		invalidParams.Add(request.NewErrParamRequired("PackageSource"))
 13482  	}
 13483  	if s.PackageSource != nil {
 13484  		if err := s.PackageSource.Validate(); err != nil {
 13485  			invalidParams.AddNested("PackageSource", err.(request.ErrInvalidParams))
 13486  		}
 13487  	}
 13488  
 13489  	if invalidParams.Len() > 0 {
 13490  		return invalidParams
 13491  	}
 13492  	return nil
 13493  }
 13494  
 13495  // SetCommitMessage sets the CommitMessage field's value.
 13496  func (s *UpdatePackageInput) SetCommitMessage(v string) *UpdatePackageInput {
 13497  	s.CommitMessage = &v
 13498  	return s
 13499  }
 13500  
 13501  // SetPackageDescription sets the PackageDescription field's value.
 13502  func (s *UpdatePackageInput) SetPackageDescription(v string) *UpdatePackageInput {
 13503  	s.PackageDescription = &v
 13504  	return s
 13505  }
 13506  
 13507  // SetPackageID sets the PackageID field's value.
 13508  func (s *UpdatePackageInput) SetPackageID(v string) *UpdatePackageInput {
 13509  	s.PackageID = &v
 13510  	return s
 13511  }
 13512  
 13513  // SetPackageSource sets the PackageSource field's value.
 13514  func (s *UpdatePackageInput) SetPackageSource(v *PackageSource) *UpdatePackageInput {
 13515  	s.PackageSource = v
 13516  	return s
 13517  }
 13518  
 13519  // Container for the response returned by the UpdatePackage operation.
 13520  type UpdatePackageOutput struct {
 13521  	_ struct{} `type:"structure"`
 13522  
 13523  	// Information about the package.
 13524  	PackageDetails *PackageDetails `type:"structure"`
 13525  }
 13526  
 13527  // String returns the string representation.
 13528  //
 13529  // API parameter values that are decorated as "sensitive" in the API will not
 13530  // be included in the string output. The member name will be present, but the
 13531  // value will be replaced with "sensitive".
 13532  func (s UpdatePackageOutput) String() string {
 13533  	return awsutil.Prettify(s)
 13534  }
 13535  
 13536  // GoString returns the string representation.
 13537  //
 13538  // API parameter values that are decorated as "sensitive" in the API will not
 13539  // be included in the string output. The member name will be present, but the
 13540  // value will be replaced with "sensitive".
 13541  func (s UpdatePackageOutput) GoString() string {
 13542  	return s.String()
 13543  }
 13544  
 13545  // SetPackageDetails sets the PackageDetails field's value.
 13546  func (s *UpdatePackageOutput) SetPackageDetails(v *PackageDetails) *UpdatePackageOutput {
 13547  	s.PackageDetails = v
 13548  	return s
 13549  }
 13550  
 13551  // Container for the request parameters to UpgradeDomain operation.
 13552  type UpgradeDomainInput struct {
 13553  	_ struct{} `type:"structure"`
 13554  
 13555  	// Exposes select native OpenSearch configuration values from opensearch.yml.
 13556  	// Currently, the following advanced options are available:
 13557  	//
 13558  	//    * Option to allow references to indices in an HTTP request body. Must
 13559  	//    be false when configuring access to individual sub-resources. By default,
 13560  	//    the value is true. See Advanced cluster parameters for more information.
 13561  	//
 13562  	//    * Option to specify the percentage of heap space allocated to field data.
 13563  	//    By default, this setting is unbounded.
 13564  	//
 13565  	// For more information, see Advanced cluster parameters (http://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html#createdomain-configure-advanced-options).
 13566  	AdvancedOptions map[string]*string `type:"map"`
 13567  
 13568  	// The name of an domain. Domain names are unique across the domains owned by
 13569  	// an account within an AWS region. Domain names start with a letter or number
 13570  	// and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).
 13571  	//
 13572  	// DomainName is a required field
 13573  	DomainName *string `min:"3" type:"string" required:"true"`
 13574  
 13575  	// When true, indicates that an upgrade eligibility check needs to be performed.
 13576  	// Does not actually perform the upgrade.
 13577  	PerformCheckOnly *bool `type:"boolean"`
 13578  
 13579  	// The version of OpenSearch you intend to upgrade the domain to.
 13580  	//
 13581  	// TargetVersion is a required field
 13582  	TargetVersion *string `min:"14" type:"string" required:"true"`
 13583  }
 13584  
 13585  // String returns the string representation.
 13586  //
 13587  // API parameter values that are decorated as "sensitive" in the API will not
 13588  // be included in the string output. The member name will be present, but the
 13589  // value will be replaced with "sensitive".
 13590  func (s UpgradeDomainInput) String() string {
 13591  	return awsutil.Prettify(s)
 13592  }
 13593  
 13594  // GoString returns the string representation.
 13595  //
 13596  // API parameter values that are decorated as "sensitive" in the API will not
 13597  // be included in the string output. The member name will be present, but the
 13598  // value will be replaced with "sensitive".
 13599  func (s UpgradeDomainInput) GoString() string {
 13600  	return s.String()
 13601  }
 13602  
 13603  // Validate inspects the fields of the type to determine if they are valid.
 13604  func (s *UpgradeDomainInput) Validate() error {
 13605  	invalidParams := request.ErrInvalidParams{Context: "UpgradeDomainInput"}
 13606  	if s.DomainName == nil {
 13607  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
 13608  	}
 13609  	if s.DomainName != nil && len(*s.DomainName) < 3 {
 13610  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
 13611  	}
 13612  	if s.TargetVersion == nil {
 13613  		invalidParams.Add(request.NewErrParamRequired("TargetVersion"))
 13614  	}
 13615  	if s.TargetVersion != nil && len(*s.TargetVersion) < 14 {
 13616  		invalidParams.Add(request.NewErrParamMinLen("TargetVersion", 14))
 13617  	}
 13618  
 13619  	if invalidParams.Len() > 0 {
 13620  		return invalidParams
 13621  	}
 13622  	return nil
 13623  }
 13624  
 13625  // SetAdvancedOptions sets the AdvancedOptions field's value.
 13626  func (s *UpgradeDomainInput) SetAdvancedOptions(v map[string]*string) *UpgradeDomainInput {
 13627  	s.AdvancedOptions = v
 13628  	return s
 13629  }
 13630  
 13631  // SetDomainName sets the DomainName field's value.
 13632  func (s *UpgradeDomainInput) SetDomainName(v string) *UpgradeDomainInput {
 13633  	s.DomainName = &v
 13634  	return s
 13635  }
 13636  
 13637  // SetPerformCheckOnly sets the PerformCheckOnly field's value.
 13638  func (s *UpgradeDomainInput) SetPerformCheckOnly(v bool) *UpgradeDomainInput {
 13639  	s.PerformCheckOnly = &v
 13640  	return s
 13641  }
 13642  
 13643  // SetTargetVersion sets the TargetVersion field's value.
 13644  func (s *UpgradeDomainInput) SetTargetVersion(v string) *UpgradeDomainInput {
 13645  	s.TargetVersion = &v
 13646  	return s
 13647  }
 13648  
 13649  // Container for response returned by UpgradeDomain operation.
 13650  type UpgradeDomainOutput struct {
 13651  	_ struct{} `type:"structure"`
 13652  
 13653  	// Exposes select native OpenSearch configuration values from opensearch.yml.
 13654  	// Currently, the following advanced options are available:
 13655  	//
 13656  	//    * Option to allow references to indices in an HTTP request body. Must
 13657  	//    be false when configuring access to individual sub-resources. By default,
 13658  	//    the value is true. See Advanced cluster parameters for more information.
 13659  	//
 13660  	//    * Option to specify the percentage of heap space allocated to field data.
 13661  	//    By default, this setting is unbounded.
 13662  	//
 13663  	// For more information, see Advanced cluster parameters (http://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html#createdomain-configure-advanced-options).
 13664  	AdvancedOptions map[string]*string `type:"map"`
 13665  
 13666  	// The name of an domain. Domain names are unique across the domains owned by
 13667  	// an account within an AWS region. Domain names start with a letter or number
 13668  	// and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).
 13669  	DomainName *string `min:"3" type:"string"`
 13670  
 13671  	// When true, indicates that an upgrade eligibility check needs to be performed.
 13672  	// Does not actually perform the upgrade.
 13673  	PerformCheckOnly *bool `type:"boolean"`
 13674  
 13675  	// The version of OpenSearch that you intend to upgrade the domain to.
 13676  	TargetVersion *string `min:"14" type:"string"`
 13677  
 13678  	UpgradeId *string `type:"string"`
 13679  }
 13680  
 13681  // String returns the string representation.
 13682  //
 13683  // API parameter values that are decorated as "sensitive" in the API will not
 13684  // be included in the string output. The member name will be present, but the
 13685  // value will be replaced with "sensitive".
 13686  func (s UpgradeDomainOutput) String() string {
 13687  	return awsutil.Prettify(s)
 13688  }
 13689  
 13690  // GoString returns the string representation.
 13691  //
 13692  // API parameter values that are decorated as "sensitive" in the API will not
 13693  // be included in the string output. The member name will be present, but the
 13694  // value will be replaced with "sensitive".
 13695  func (s UpgradeDomainOutput) GoString() string {
 13696  	return s.String()
 13697  }
 13698  
 13699  // SetAdvancedOptions sets the AdvancedOptions field's value.
 13700  func (s *UpgradeDomainOutput) SetAdvancedOptions(v map[string]*string) *UpgradeDomainOutput {
 13701  	s.AdvancedOptions = v
 13702  	return s
 13703  }
 13704  
 13705  // SetDomainName sets the DomainName field's value.
 13706  func (s *UpgradeDomainOutput) SetDomainName(v string) *UpgradeDomainOutput {
 13707  	s.DomainName = &v
 13708  	return s
 13709  }
 13710  
 13711  // SetPerformCheckOnly sets the PerformCheckOnly field's value.
 13712  func (s *UpgradeDomainOutput) SetPerformCheckOnly(v bool) *UpgradeDomainOutput {
 13713  	s.PerformCheckOnly = &v
 13714  	return s
 13715  }
 13716  
 13717  // SetTargetVersion sets the TargetVersion field's value.
 13718  func (s *UpgradeDomainOutput) SetTargetVersion(v string) *UpgradeDomainOutput {
 13719  	s.TargetVersion = &v
 13720  	return s
 13721  }
 13722  
 13723  // SetUpgradeId sets the UpgradeId field's value.
 13724  func (s *UpgradeDomainOutput) SetUpgradeId(v string) *UpgradeDomainOutput {
 13725  	s.UpgradeId = &v
 13726  	return s
 13727  }
 13728  
 13729  // History of the last 10 upgrades and upgrade eligibility checks.
 13730  type UpgradeHistory struct {
 13731  	_ struct{} `type:"structure"`
 13732  
 13733  	// UTC timestamp at which the upgrade API call was made in "yyyy-MM-ddTHH:mm:ssZ"
 13734  	// format.
 13735  	StartTimestamp *time.Time `type:"timestamp"`
 13736  
 13737  	// A list of UpgradeStepItem s representing information about each step performed
 13738  	// as part of a specific upgrade or upgrade eligibility check.
 13739  	StepsList []*UpgradeStepItem `type:"list"`
 13740  
 13741  	// A string that briefly describes the upgrade.
 13742  	UpgradeName *string `type:"string"`
 13743  
 13744  	// The current status of the upgrade. The status can take one of the following
 13745  	// values:
 13746  	//    * In Progress
 13747  	//
 13748  	//    * Succeeded
 13749  	//
 13750  	//    * Succeeded with Issues
 13751  	//
 13752  	//    * Failed
 13753  	UpgradeStatus *string `type:"string" enum:"UpgradeStatus"`
 13754  }
 13755  
 13756  // String returns the string representation.
 13757  //
 13758  // API parameter values that are decorated as "sensitive" in the API will not
 13759  // be included in the string output. The member name will be present, but the
 13760  // value will be replaced with "sensitive".
 13761  func (s UpgradeHistory) String() string {
 13762  	return awsutil.Prettify(s)
 13763  }
 13764  
 13765  // GoString returns the string representation.
 13766  //
 13767  // API parameter values that are decorated as "sensitive" in the API will not
 13768  // be included in the string output. The member name will be present, but the
 13769  // value will be replaced with "sensitive".
 13770  func (s UpgradeHistory) GoString() string {
 13771  	return s.String()
 13772  }
 13773  
 13774  // SetStartTimestamp sets the StartTimestamp field's value.
 13775  func (s *UpgradeHistory) SetStartTimestamp(v time.Time) *UpgradeHistory {
 13776  	s.StartTimestamp = &v
 13777  	return s
 13778  }
 13779  
 13780  // SetStepsList sets the StepsList field's value.
 13781  func (s *UpgradeHistory) SetStepsList(v []*UpgradeStepItem) *UpgradeHistory {
 13782  	s.StepsList = v
 13783  	return s
 13784  }
 13785  
 13786  // SetUpgradeName sets the UpgradeName field's value.
 13787  func (s *UpgradeHistory) SetUpgradeName(v string) *UpgradeHistory {
 13788  	s.UpgradeName = &v
 13789  	return s
 13790  }
 13791  
 13792  // SetUpgradeStatus sets the UpgradeStatus field's value.
 13793  func (s *UpgradeHistory) SetUpgradeStatus(v string) *UpgradeHistory {
 13794  	s.UpgradeStatus = &v
 13795  	return s
 13796  }
 13797  
 13798  // Represents a single step of the upgrade or upgrade eligibility check workflow.
 13799  type UpgradeStepItem struct {
 13800  	_ struct{} `type:"structure"`
 13801  
 13802  	// A list of strings containing detailed information about the errors encountered
 13803  	// in a particular step.
 13804  	Issues []*string `type:"list"`
 13805  
 13806  	// The floating point value representing the progress percentage of a particular
 13807  	// step.
 13808  	ProgressPercent *float64 `type:"double"`
 13809  
 13810  	// One of three steps an upgrade or upgrade eligibility check goes through:
 13811  	//    * PreUpgradeCheck
 13812  	//
 13813  	//    * Snapshot
 13814  	//
 13815  	//    * Upgrade
 13816  	UpgradeStep *string `type:"string" enum:"UpgradeStep"`
 13817  
 13818  	// The current status of the upgrade. The status can take one of the following
 13819  	// values:
 13820  	//    * In Progress
 13821  	//
 13822  	//    * Succeeded
 13823  	//
 13824  	//    * Succeeded with Issues
 13825  	//
 13826  	//    * Failed
 13827  	UpgradeStepStatus *string `type:"string" enum:"UpgradeStatus"`
 13828  }
 13829  
 13830  // String returns the string representation.
 13831  //
 13832  // API parameter values that are decorated as "sensitive" in the API will not
 13833  // be included in the string output. The member name will be present, but the
 13834  // value will be replaced with "sensitive".
 13835  func (s UpgradeStepItem) String() string {
 13836  	return awsutil.Prettify(s)
 13837  }
 13838  
 13839  // GoString returns the string representation.
 13840  //
 13841  // API parameter values that are decorated as "sensitive" in the API will not
 13842  // be included in the string output. The member name will be present, but the
 13843  // value will be replaced with "sensitive".
 13844  func (s UpgradeStepItem) GoString() string {
 13845  	return s.String()
 13846  }
 13847  
 13848  // SetIssues sets the Issues field's value.
 13849  func (s *UpgradeStepItem) SetIssues(v []*string) *UpgradeStepItem {
 13850  	s.Issues = v
 13851  	return s
 13852  }
 13853  
 13854  // SetProgressPercent sets the ProgressPercent field's value.
 13855  func (s *UpgradeStepItem) SetProgressPercent(v float64) *UpgradeStepItem {
 13856  	s.ProgressPercent = &v
 13857  	return s
 13858  }
 13859  
 13860  // SetUpgradeStep sets the UpgradeStep field's value.
 13861  func (s *UpgradeStepItem) SetUpgradeStep(v string) *UpgradeStepItem {
 13862  	s.UpgradeStep = &v
 13863  	return s
 13864  }
 13865  
 13866  // SetUpgradeStepStatus sets the UpgradeStepStatus field's value.
 13867  func (s *UpgradeStepItem) SetUpgradeStepStatus(v string) *UpgradeStepItem {
 13868  	s.UpgradeStepStatus = &v
 13869  	return s
 13870  }
 13871  
 13872  // Options to specify the subnets and security groups for the VPC endpoint.
 13873  // For more information, see Launching your Amazon OpenSearch Service domains
 13874  // using a VPC (http://docs.aws.amazon.com/opensearch-service/latest/developerguide/vpc.html).
 13875  type VPCDerivedInfo struct {
 13876  	_ struct{} `type:"structure"`
 13877  
 13878  	// The Availability Zones for the domain. Exists only if the domain was created
 13879  	// with VPCOptions.
 13880  	AvailabilityZones []*string `type:"list"`
 13881  
 13882  	// The security groups for the VPC endpoint.
 13883  	SecurityGroupIds []*string `type:"list"`
 13884  
 13885  	// The subnets for the VPC endpoint.
 13886  	SubnetIds []*string `type:"list"`
 13887  
 13888  	// The VPC ID for the domain. Exists only if the domain was created with VPCOptions.
 13889  	VPCId *string `type:"string"`
 13890  }
 13891  
 13892  // String returns the string representation.
 13893  //
 13894  // API parameter values that are decorated as "sensitive" in the API will not
 13895  // be included in the string output. The member name will be present, but the
 13896  // value will be replaced with "sensitive".
 13897  func (s VPCDerivedInfo) String() string {
 13898  	return awsutil.Prettify(s)
 13899  }
 13900  
 13901  // GoString returns the string representation.
 13902  //
 13903  // API parameter values that are decorated as "sensitive" in the API will not
 13904  // be included in the string output. The member name will be present, but the
 13905  // value will be replaced with "sensitive".
 13906  func (s VPCDerivedInfo) GoString() string {
 13907  	return s.String()
 13908  }
 13909  
 13910  // SetAvailabilityZones sets the AvailabilityZones field's value.
 13911  func (s *VPCDerivedInfo) SetAvailabilityZones(v []*string) *VPCDerivedInfo {
 13912  	s.AvailabilityZones = v
 13913  	return s
 13914  }
 13915  
 13916  // SetSecurityGroupIds sets the SecurityGroupIds field's value.
 13917  func (s *VPCDerivedInfo) SetSecurityGroupIds(v []*string) *VPCDerivedInfo {
 13918  	s.SecurityGroupIds = v
 13919  	return s
 13920  }
 13921  
 13922  // SetSubnetIds sets the SubnetIds field's value.
 13923  func (s *VPCDerivedInfo) SetSubnetIds(v []*string) *VPCDerivedInfo {
 13924  	s.SubnetIds = v
 13925  	return s
 13926  }
 13927  
 13928  // SetVPCId sets the VPCId field's value.
 13929  func (s *VPCDerivedInfo) SetVPCId(v string) *VPCDerivedInfo {
 13930  	s.VPCId = &v
 13931  	return s
 13932  }
 13933  
 13934  // Status of the VPC options for the specified domain.
 13935  type VPCDerivedInfoStatus struct {
 13936  	_ struct{} `type:"structure"`
 13937  
 13938  	// The VPC options for the specified domain.
 13939  	//
 13940  	// Options is a required field
 13941  	Options *VPCDerivedInfo `type:"structure" required:"true"`
 13942  
 13943  	// The status of the VPC options for the specified domain.
 13944  	//
 13945  	// Status is a required field
 13946  	Status *OptionStatus `type:"structure" required:"true"`
 13947  }
 13948  
 13949  // String returns the string representation.
 13950  //
 13951  // API parameter values that are decorated as "sensitive" in the API will not
 13952  // be included in the string output. The member name will be present, but the
 13953  // value will be replaced with "sensitive".
 13954  func (s VPCDerivedInfoStatus) String() string {
 13955  	return awsutil.Prettify(s)
 13956  }
 13957  
 13958  // GoString returns the string representation.
 13959  //
 13960  // API parameter values that are decorated as "sensitive" in the API will not
 13961  // be included in the string output. The member name will be present, but the
 13962  // value will be replaced with "sensitive".
 13963  func (s VPCDerivedInfoStatus) GoString() string {
 13964  	return s.String()
 13965  }
 13966  
 13967  // SetOptions sets the Options field's value.
 13968  func (s *VPCDerivedInfoStatus) SetOptions(v *VPCDerivedInfo) *VPCDerivedInfoStatus {
 13969  	s.Options = v
 13970  	return s
 13971  }
 13972  
 13973  // SetStatus sets the Status field's value.
 13974  func (s *VPCDerivedInfoStatus) SetStatus(v *OptionStatus) *VPCDerivedInfoStatus {
 13975  	s.Status = v
 13976  	return s
 13977  }
 13978  
 13979  // Options to specify the subnets and security groups for the VPC endpoint.
 13980  // For more information, see Launching your Amazon OpenSearch Service domains
 13981  // using a VPC (http://docs.aws.amazon.com/opensearch-service/latest/developerguide/vpc.html).
 13982  type VPCOptions struct {
 13983  	_ struct{} `type:"structure"`
 13984  
 13985  	// The security groups for the VPC endpoint.
 13986  	SecurityGroupIds []*string `type:"list"`
 13987  
 13988  	// The subnets for the VPC endpoint.
 13989  	SubnetIds []*string `type:"list"`
 13990  }
 13991  
 13992  // String returns the string representation.
 13993  //
 13994  // API parameter values that are decorated as "sensitive" in the API will not
 13995  // be included in the string output. The member name will be present, but the
 13996  // value will be replaced with "sensitive".
 13997  func (s VPCOptions) String() string {
 13998  	return awsutil.Prettify(s)
 13999  }
 14000  
 14001  // GoString returns the string representation.
 14002  //
 14003  // API parameter values that are decorated as "sensitive" in the API will not
 14004  // be included in the string output. The member name will be present, but the
 14005  // value will be replaced with "sensitive".
 14006  func (s VPCOptions) GoString() string {
 14007  	return s.String()
 14008  }
 14009  
 14010  // SetSecurityGroupIds sets the SecurityGroupIds field's value.
 14011  func (s *VPCOptions) SetSecurityGroupIds(v []*string) *VPCOptions {
 14012  	s.SecurityGroupIds = v
 14013  	return s
 14014  }
 14015  
 14016  // SetSubnetIds sets the SubnetIds field's value.
 14017  func (s *VPCOptions) SetSubnetIds(v []*string) *VPCOptions {
 14018  	s.SubnetIds = v
 14019  	return s
 14020  }
 14021  
 14022  // An exception for missing / invalid input fields. Gives http status code of
 14023  // 400.
 14024  type ValidationException struct {
 14025  	_            struct{}                  `type:"structure"`
 14026  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 14027  
 14028  	Message_ *string `locationName:"message" type:"string"`
 14029  }
 14030  
 14031  // String returns the string representation.
 14032  //
 14033  // API parameter values that are decorated as "sensitive" in the API will not
 14034  // be included in the string output. The member name will be present, but the
 14035  // value will be replaced with "sensitive".
 14036  func (s ValidationException) String() string {
 14037  	return awsutil.Prettify(s)
 14038  }
 14039  
 14040  // GoString returns the string representation.
 14041  //
 14042  // API parameter values that are decorated as "sensitive" in the API will not
 14043  // be included in the string output. The member name will be present, but the
 14044  // value will be replaced with "sensitive".
 14045  func (s ValidationException) GoString() string {
 14046  	return s.String()
 14047  }
 14048  
 14049  func newErrorValidationException(v protocol.ResponseMetadata) error {
 14050  	return &ValidationException{
 14051  		RespMetadata: v,
 14052  	}
 14053  }
 14054  
 14055  // Code returns the exception type name.
 14056  func (s *ValidationException) Code() string {
 14057  	return "ValidationException"
 14058  }
 14059  
 14060  // Message returns the exception's message.
 14061  func (s *ValidationException) Message() string {
 14062  	if s.Message_ != nil {
 14063  		return *s.Message_
 14064  	}
 14065  	return ""
 14066  }
 14067  
 14068  // OrigErr always returns nil, satisfies awserr.Error interface.
 14069  func (s *ValidationException) OrigErr() error {
 14070  	return nil
 14071  }
 14072  
 14073  func (s *ValidationException) Error() string {
 14074  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 14075  }
 14076  
 14077  // Status code returns the HTTP status code for the request's response error.
 14078  func (s *ValidationException) StatusCode() int {
 14079  	return s.RespMetadata.StatusCode
 14080  }
 14081  
 14082  // RequestID returns the service's response RequestID for request.
 14083  func (s *ValidationException) RequestID() string {
 14084  	return s.RespMetadata.RequestID
 14085  }
 14086  
 14087  // The status of the OpenSearch version options for the specified OpenSearch
 14088  // domain.
 14089  type VersionStatus struct {
 14090  	_ struct{} `type:"structure"`
 14091  
 14092  	// The OpenSearch version for the specified OpenSearch domain.
 14093  	//
 14094  	// Options is a required field
 14095  	Options *string `min:"14" type:"string" required:"true"`
 14096  
 14097  	// The status of the OpenSearch version options for the specified OpenSearch
 14098  	// domain.
 14099  	//
 14100  	// Status is a required field
 14101  	Status *OptionStatus `type:"structure" required:"true"`
 14102  }
 14103  
 14104  // String returns the string representation.
 14105  //
 14106  // API parameter values that are decorated as "sensitive" in the API will not
 14107  // be included in the string output. The member name will be present, but the
 14108  // value will be replaced with "sensitive".
 14109  func (s VersionStatus) String() string {
 14110  	return awsutil.Prettify(s)
 14111  }
 14112  
 14113  // GoString returns the string representation.
 14114  //
 14115  // API parameter values that are decorated as "sensitive" in the API will not
 14116  // be included in the string output. The member name will be present, but the
 14117  // value will be replaced with "sensitive".
 14118  func (s VersionStatus) GoString() string {
 14119  	return s.String()
 14120  }
 14121  
 14122  // SetOptions sets the Options field's value.
 14123  func (s *VersionStatus) SetOptions(v string) *VersionStatus {
 14124  	s.Options = &v
 14125  	return s
 14126  }
 14127  
 14128  // SetStatus sets the Status field's value.
 14129  func (s *VersionStatus) SetStatus(v *OptionStatus) *VersionStatus {
 14130  	s.Status = v
 14131  	return s
 14132  }
 14133  
 14134  // The zone awareness configuration for the domain cluster, such as the number
 14135  // of availability zones.
 14136  type ZoneAwarenessConfig struct {
 14137  	_ struct{} `type:"structure"`
 14138  
 14139  	// An integer value to indicate the number of availability zones for a domain
 14140  	// when zone awareness is enabled. This should be equal to number of subnets
 14141  	// if VPC endpoints is enabled.
 14142  	AvailabilityZoneCount *int64 `type:"integer"`
 14143  }
 14144  
 14145  // String returns the string representation.
 14146  //
 14147  // API parameter values that are decorated as "sensitive" in the API will not
 14148  // be included in the string output. The member name will be present, but the
 14149  // value will be replaced with "sensitive".
 14150  func (s ZoneAwarenessConfig) String() string {
 14151  	return awsutil.Prettify(s)
 14152  }
 14153  
 14154  // GoString returns the string representation.
 14155  //
 14156  // API parameter values that are decorated as "sensitive" in the API will not
 14157  // be included in the string output. The member name will be present, but the
 14158  // value will be replaced with "sensitive".
 14159  func (s ZoneAwarenessConfig) GoString() string {
 14160  	return s.String()
 14161  }
 14162  
 14163  // SetAvailabilityZoneCount sets the AvailabilityZoneCount field's value.
 14164  func (s *ZoneAwarenessConfig) SetAvailabilityZoneCount(v int64) *ZoneAwarenessConfig {
 14165  	s.AvailabilityZoneCount = &v
 14166  	return s
 14167  }
 14168  
 14169  // The Auto-Tune desired state. Valid values are ENABLED and DISABLED.
 14170  const (
 14171  	// AutoTuneDesiredStateEnabled is a AutoTuneDesiredState enum value
 14172  	AutoTuneDesiredStateEnabled = "ENABLED"
 14173  
 14174  	// AutoTuneDesiredStateDisabled is a AutoTuneDesiredState enum value
 14175  	AutoTuneDesiredStateDisabled = "DISABLED"
 14176  )
 14177  
 14178  // AutoTuneDesiredState_Values returns all elements of the AutoTuneDesiredState enum
 14179  func AutoTuneDesiredState_Values() []string {
 14180  	return []string{
 14181  		AutoTuneDesiredStateEnabled,
 14182  		AutoTuneDesiredStateDisabled,
 14183  	}
 14184  }
 14185  
 14186  // The Auto-Tune state for the domain. For valid states see Auto-Tune for Amazon
 14187  // OpenSearch Service (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/auto-tune.html).
 14188  const (
 14189  	// AutoTuneStateEnabled is a AutoTuneState enum value
 14190  	AutoTuneStateEnabled = "ENABLED"
 14191  
 14192  	// AutoTuneStateDisabled is a AutoTuneState enum value
 14193  	AutoTuneStateDisabled = "DISABLED"
 14194  
 14195  	// AutoTuneStateEnableInProgress is a AutoTuneState enum value
 14196  	AutoTuneStateEnableInProgress = "ENABLE_IN_PROGRESS"
 14197  
 14198  	// AutoTuneStateDisableInProgress is a AutoTuneState enum value
 14199  	AutoTuneStateDisableInProgress = "DISABLE_IN_PROGRESS"
 14200  
 14201  	// AutoTuneStateDisabledAndRollbackScheduled is a AutoTuneState enum value
 14202  	AutoTuneStateDisabledAndRollbackScheduled = "DISABLED_AND_ROLLBACK_SCHEDULED"
 14203  
 14204  	// AutoTuneStateDisabledAndRollbackInProgress is a AutoTuneState enum value
 14205  	AutoTuneStateDisabledAndRollbackInProgress = "DISABLED_AND_ROLLBACK_IN_PROGRESS"
 14206  
 14207  	// AutoTuneStateDisabledAndRollbackComplete is a AutoTuneState enum value
 14208  	AutoTuneStateDisabledAndRollbackComplete = "DISABLED_AND_ROLLBACK_COMPLETE"
 14209  
 14210  	// AutoTuneStateDisabledAndRollbackError is a AutoTuneState enum value
 14211  	AutoTuneStateDisabledAndRollbackError = "DISABLED_AND_ROLLBACK_ERROR"
 14212  
 14213  	// AutoTuneStateError is a AutoTuneState enum value
 14214  	AutoTuneStateError = "ERROR"
 14215  )
 14216  
 14217  // AutoTuneState_Values returns all elements of the AutoTuneState enum
 14218  func AutoTuneState_Values() []string {
 14219  	return []string{
 14220  		AutoTuneStateEnabled,
 14221  		AutoTuneStateDisabled,
 14222  		AutoTuneStateEnableInProgress,
 14223  		AutoTuneStateDisableInProgress,
 14224  		AutoTuneStateDisabledAndRollbackScheduled,
 14225  		AutoTuneStateDisabledAndRollbackInProgress,
 14226  		AutoTuneStateDisabledAndRollbackComplete,
 14227  		AutoTuneStateDisabledAndRollbackError,
 14228  		AutoTuneStateError,
 14229  	}
 14230  }
 14231  
 14232  // Specifies the Auto-Tune type. Valid value is SCHEDULED_ACTION.
 14233  const (
 14234  	// AutoTuneTypeScheduledAction is a AutoTuneType enum value
 14235  	AutoTuneTypeScheduledAction = "SCHEDULED_ACTION"
 14236  )
 14237  
 14238  // AutoTuneType_Values returns all elements of the AutoTuneType enum
 14239  func AutoTuneType_Values() []string {
 14240  	return []string{
 14241  		AutoTuneTypeScheduledAction,
 14242  	}
 14243  }
 14244  
 14245  const (
 14246  	// DeploymentStatusPendingUpdate is a DeploymentStatus enum value
 14247  	DeploymentStatusPendingUpdate = "PENDING_UPDATE"
 14248  
 14249  	// DeploymentStatusInProgress is a DeploymentStatus enum value
 14250  	DeploymentStatusInProgress = "IN_PROGRESS"
 14251  
 14252  	// DeploymentStatusCompleted is a DeploymentStatus enum value
 14253  	DeploymentStatusCompleted = "COMPLETED"
 14254  
 14255  	// DeploymentStatusNotEligible is a DeploymentStatus enum value
 14256  	DeploymentStatusNotEligible = "NOT_ELIGIBLE"
 14257  
 14258  	// DeploymentStatusEligible is a DeploymentStatus enum value
 14259  	DeploymentStatusEligible = "ELIGIBLE"
 14260  )
 14261  
 14262  // DeploymentStatus_Values returns all elements of the DeploymentStatus enum
 14263  func DeploymentStatus_Values() []string {
 14264  	return []string{
 14265  		DeploymentStatusPendingUpdate,
 14266  		DeploymentStatusInProgress,
 14267  		DeploymentStatusCompleted,
 14268  		DeploymentStatusNotEligible,
 14269  		DeploymentStatusEligible,
 14270  	}
 14271  }
 14272  
 14273  const (
 14274  	// DescribePackagesFilterNamePackageId is a DescribePackagesFilterName enum value
 14275  	DescribePackagesFilterNamePackageId = "PackageID"
 14276  
 14277  	// DescribePackagesFilterNamePackageName is a DescribePackagesFilterName enum value
 14278  	DescribePackagesFilterNamePackageName = "PackageName"
 14279  
 14280  	// DescribePackagesFilterNamePackageStatus is a DescribePackagesFilterName enum value
 14281  	DescribePackagesFilterNamePackageStatus = "PackageStatus"
 14282  )
 14283  
 14284  // DescribePackagesFilterName_Values returns all elements of the DescribePackagesFilterName enum
 14285  func DescribePackagesFilterName_Values() []string {
 14286  	return []string{
 14287  		DescribePackagesFilterNamePackageId,
 14288  		DescribePackagesFilterNamePackageName,
 14289  		DescribePackagesFilterNamePackageStatus,
 14290  	}
 14291  }
 14292  
 14293  const (
 14294  	// DomainPackageStatusAssociating is a DomainPackageStatus enum value
 14295  	DomainPackageStatusAssociating = "ASSOCIATING"
 14296  
 14297  	// DomainPackageStatusAssociationFailed is a DomainPackageStatus enum value
 14298  	DomainPackageStatusAssociationFailed = "ASSOCIATION_FAILED"
 14299  
 14300  	// DomainPackageStatusActive is a DomainPackageStatus enum value
 14301  	DomainPackageStatusActive = "ACTIVE"
 14302  
 14303  	// DomainPackageStatusDissociating is a DomainPackageStatus enum value
 14304  	DomainPackageStatusDissociating = "DISSOCIATING"
 14305  
 14306  	// DomainPackageStatusDissociationFailed is a DomainPackageStatus enum value
 14307  	DomainPackageStatusDissociationFailed = "DISSOCIATION_FAILED"
 14308  )
 14309  
 14310  // DomainPackageStatus_Values returns all elements of the DomainPackageStatus enum
 14311  func DomainPackageStatus_Values() []string {
 14312  	return []string{
 14313  		DomainPackageStatusAssociating,
 14314  		DomainPackageStatusAssociationFailed,
 14315  		DomainPackageStatusActive,
 14316  		DomainPackageStatusDissociating,
 14317  		DomainPackageStatusDissociationFailed,
 14318  	}
 14319  }
 14320  
 14321  const (
 14322  	// EngineTypeOpenSearch is a EngineType enum value
 14323  	EngineTypeOpenSearch = "OpenSearch"
 14324  
 14325  	// EngineTypeElasticsearch is a EngineType enum value
 14326  	EngineTypeElasticsearch = "Elasticsearch"
 14327  )
 14328  
 14329  // EngineType_Values returns all elements of the EngineType enum
 14330  func EngineType_Values() []string {
 14331  	return []string{
 14332  		EngineTypeOpenSearch,
 14333  		EngineTypeElasticsearch,
 14334  	}
 14335  }
 14336  
 14337  const (
 14338  	// InboundConnectionStatusCodePendingAcceptance is a InboundConnectionStatusCode enum value
 14339  	InboundConnectionStatusCodePendingAcceptance = "PENDING_ACCEPTANCE"
 14340  
 14341  	// InboundConnectionStatusCodeApproved is a InboundConnectionStatusCode enum value
 14342  	InboundConnectionStatusCodeApproved = "APPROVED"
 14343  
 14344  	// InboundConnectionStatusCodeProvisioning is a InboundConnectionStatusCode enum value
 14345  	InboundConnectionStatusCodeProvisioning = "PROVISIONING"
 14346  
 14347  	// InboundConnectionStatusCodeActive is a InboundConnectionStatusCode enum value
 14348  	InboundConnectionStatusCodeActive = "ACTIVE"
 14349  
 14350  	// InboundConnectionStatusCodeRejecting is a InboundConnectionStatusCode enum value
 14351  	InboundConnectionStatusCodeRejecting = "REJECTING"
 14352  
 14353  	// InboundConnectionStatusCodeRejected is a InboundConnectionStatusCode enum value
 14354  	InboundConnectionStatusCodeRejected = "REJECTED"
 14355  
 14356  	// InboundConnectionStatusCodeDeleting is a InboundConnectionStatusCode enum value
 14357  	InboundConnectionStatusCodeDeleting = "DELETING"
 14358  
 14359  	// InboundConnectionStatusCodeDeleted is a InboundConnectionStatusCode enum value
 14360  	InboundConnectionStatusCodeDeleted = "DELETED"
 14361  )
 14362  
 14363  // InboundConnectionStatusCode_Values returns all elements of the InboundConnectionStatusCode enum
 14364  func InboundConnectionStatusCode_Values() []string {
 14365  	return []string{
 14366  		InboundConnectionStatusCodePendingAcceptance,
 14367  		InboundConnectionStatusCodeApproved,
 14368  		InboundConnectionStatusCodeProvisioning,
 14369  		InboundConnectionStatusCodeActive,
 14370  		InboundConnectionStatusCodeRejecting,
 14371  		InboundConnectionStatusCodeRejected,
 14372  		InboundConnectionStatusCodeDeleting,
 14373  		InboundConnectionStatusCodeDeleted,
 14374  	}
 14375  }
 14376  
 14377  // Type of log file. Can be one of the following:
 14378  //    * INDEX_SLOW_LOGS: Index slow logs contain insert requests that took more
 14379  //    time than configured index query log threshold to execute.
 14380  //
 14381  //    * SEARCH_SLOW_LOGS: Search slow logs contain search queries that took
 14382  //    more time than configured search query log threshold to execute.
 14383  //
 14384  //    * ES_APPLICATION_LOGS: OpenSearch application logs contain information
 14385  //    about errors and warnings raised during the operation of the service and
 14386  //    can be useful for troubleshooting.
 14387  //
 14388  //    * AUDIT_LOGS: Audit logs contain records of user requests for access from
 14389  //    the domain.
 14390  const (
 14391  	// LogTypeIndexSlowLogs is a LogType enum value
 14392  	LogTypeIndexSlowLogs = "INDEX_SLOW_LOGS"
 14393  
 14394  	// LogTypeSearchSlowLogs is a LogType enum value
 14395  	LogTypeSearchSlowLogs = "SEARCH_SLOW_LOGS"
 14396  
 14397  	// LogTypeEsApplicationLogs is a LogType enum value
 14398  	LogTypeEsApplicationLogs = "ES_APPLICATION_LOGS"
 14399  
 14400  	// LogTypeAuditLogs is a LogType enum value
 14401  	LogTypeAuditLogs = "AUDIT_LOGS"
 14402  )
 14403  
 14404  // LogType_Values returns all elements of the LogType enum
 14405  func LogType_Values() []string {
 14406  	return []string{
 14407  		LogTypeIndexSlowLogs,
 14408  		LogTypeSearchSlowLogs,
 14409  		LogTypeEsApplicationLogs,
 14410  		LogTypeAuditLogs,
 14411  	}
 14412  }
 14413  
 14414  const (
 14415  	// OpenSearchPartitionInstanceTypeM3MediumSearch is a OpenSearchPartitionInstanceType enum value
 14416  	OpenSearchPartitionInstanceTypeM3MediumSearch = "m3.medium.search"
 14417  
 14418  	// OpenSearchPartitionInstanceTypeM3LargeSearch is a OpenSearchPartitionInstanceType enum value
 14419  	OpenSearchPartitionInstanceTypeM3LargeSearch = "m3.large.search"
 14420  
 14421  	// OpenSearchPartitionInstanceTypeM3XlargeSearch is a OpenSearchPartitionInstanceType enum value
 14422  	OpenSearchPartitionInstanceTypeM3XlargeSearch = "m3.xlarge.search"
 14423  
 14424  	// OpenSearchPartitionInstanceTypeM32xlargeSearch is a OpenSearchPartitionInstanceType enum value
 14425  	OpenSearchPartitionInstanceTypeM32xlargeSearch = "m3.2xlarge.search"
 14426  
 14427  	// OpenSearchPartitionInstanceTypeM4LargeSearch is a OpenSearchPartitionInstanceType enum value
 14428  	OpenSearchPartitionInstanceTypeM4LargeSearch = "m4.large.search"
 14429  
 14430  	// OpenSearchPartitionInstanceTypeM4XlargeSearch is a OpenSearchPartitionInstanceType enum value
 14431  	OpenSearchPartitionInstanceTypeM4XlargeSearch = "m4.xlarge.search"
 14432  
 14433  	// OpenSearchPartitionInstanceTypeM42xlargeSearch is a OpenSearchPartitionInstanceType enum value
 14434  	OpenSearchPartitionInstanceTypeM42xlargeSearch = "m4.2xlarge.search"
 14435  
 14436  	// OpenSearchPartitionInstanceTypeM44xlargeSearch is a OpenSearchPartitionInstanceType enum value
 14437  	OpenSearchPartitionInstanceTypeM44xlargeSearch = "m4.4xlarge.search"
 14438  
 14439  	// OpenSearchPartitionInstanceTypeM410xlargeSearch is a OpenSearchPartitionInstanceType enum value
 14440  	OpenSearchPartitionInstanceTypeM410xlargeSearch = "m4.10xlarge.search"
 14441  
 14442  	// OpenSearchPartitionInstanceTypeM5LargeSearch is a OpenSearchPartitionInstanceType enum value
 14443  	OpenSearchPartitionInstanceTypeM5LargeSearch = "m5.large.search"
 14444  
 14445  	// OpenSearchPartitionInstanceTypeM5XlargeSearch is a OpenSearchPartitionInstanceType enum value
 14446  	OpenSearchPartitionInstanceTypeM5XlargeSearch = "m5.xlarge.search"
 14447  
 14448  	// OpenSearchPartitionInstanceTypeM52xlargeSearch is a OpenSearchPartitionInstanceType enum value
 14449  	OpenSearchPartitionInstanceTypeM52xlargeSearch = "m5.2xlarge.search"
 14450  
 14451  	// OpenSearchPartitionInstanceTypeM54xlargeSearch is a OpenSearchPartitionInstanceType enum value
 14452  	OpenSearchPartitionInstanceTypeM54xlargeSearch = "m5.4xlarge.search"
 14453  
 14454  	// OpenSearchPartitionInstanceTypeM512xlargeSearch is a OpenSearchPartitionInstanceType enum value
 14455  	OpenSearchPartitionInstanceTypeM512xlargeSearch = "m5.12xlarge.search"
 14456  
 14457  	// OpenSearchPartitionInstanceTypeM524xlargeSearch is a OpenSearchPartitionInstanceType enum value
 14458  	OpenSearchPartitionInstanceTypeM524xlargeSearch = "m5.24xlarge.search"
 14459  
 14460  	// OpenSearchPartitionInstanceTypeR5LargeSearch is a OpenSearchPartitionInstanceType enum value
 14461  	OpenSearchPartitionInstanceTypeR5LargeSearch = "r5.large.search"
 14462  
 14463  	// OpenSearchPartitionInstanceTypeR5XlargeSearch is a OpenSearchPartitionInstanceType enum value
 14464  	OpenSearchPartitionInstanceTypeR5XlargeSearch = "r5.xlarge.search"
 14465  
 14466  	// OpenSearchPartitionInstanceTypeR52xlargeSearch is a OpenSearchPartitionInstanceType enum value
 14467  	OpenSearchPartitionInstanceTypeR52xlargeSearch = "r5.2xlarge.search"
 14468  
 14469  	// OpenSearchPartitionInstanceTypeR54xlargeSearch is a OpenSearchPartitionInstanceType enum value
 14470  	OpenSearchPartitionInstanceTypeR54xlargeSearch = "r5.4xlarge.search"
 14471  
 14472  	// OpenSearchPartitionInstanceTypeR512xlargeSearch is a OpenSearchPartitionInstanceType enum value
 14473  	OpenSearchPartitionInstanceTypeR512xlargeSearch = "r5.12xlarge.search"
 14474  
 14475  	// OpenSearchPartitionInstanceTypeR524xlargeSearch is a OpenSearchPartitionInstanceType enum value
 14476  	OpenSearchPartitionInstanceTypeR524xlargeSearch = "r5.24xlarge.search"
 14477  
 14478  	// OpenSearchPartitionInstanceTypeC5LargeSearch is a OpenSearchPartitionInstanceType enum value
 14479  	OpenSearchPartitionInstanceTypeC5LargeSearch = "c5.large.search"
 14480  
 14481  	// OpenSearchPartitionInstanceTypeC5XlargeSearch is a OpenSearchPartitionInstanceType enum value
 14482  	OpenSearchPartitionInstanceTypeC5XlargeSearch = "c5.xlarge.search"
 14483  
 14484  	// OpenSearchPartitionInstanceTypeC52xlargeSearch is a OpenSearchPartitionInstanceType enum value
 14485  	OpenSearchPartitionInstanceTypeC52xlargeSearch = "c5.2xlarge.search"
 14486  
 14487  	// OpenSearchPartitionInstanceTypeC54xlargeSearch is a OpenSearchPartitionInstanceType enum value
 14488  	OpenSearchPartitionInstanceTypeC54xlargeSearch = "c5.4xlarge.search"
 14489  
 14490  	// OpenSearchPartitionInstanceTypeC59xlargeSearch is a OpenSearchPartitionInstanceType enum value
 14491  	OpenSearchPartitionInstanceTypeC59xlargeSearch = "c5.9xlarge.search"
 14492  
 14493  	// OpenSearchPartitionInstanceTypeC518xlargeSearch is a OpenSearchPartitionInstanceType enum value
 14494  	OpenSearchPartitionInstanceTypeC518xlargeSearch = "c5.18xlarge.search"
 14495  
 14496  	// OpenSearchPartitionInstanceTypeT3NanoSearch is a OpenSearchPartitionInstanceType enum value
 14497  	OpenSearchPartitionInstanceTypeT3NanoSearch = "t3.nano.search"
 14498  
 14499  	// OpenSearchPartitionInstanceTypeT3MicroSearch is a OpenSearchPartitionInstanceType enum value
 14500  	OpenSearchPartitionInstanceTypeT3MicroSearch = "t3.micro.search"
 14501  
 14502  	// OpenSearchPartitionInstanceTypeT3SmallSearch is a OpenSearchPartitionInstanceType enum value
 14503  	OpenSearchPartitionInstanceTypeT3SmallSearch = "t3.small.search"
 14504  
 14505  	// OpenSearchPartitionInstanceTypeT3MediumSearch is a OpenSearchPartitionInstanceType enum value
 14506  	OpenSearchPartitionInstanceTypeT3MediumSearch = "t3.medium.search"
 14507  
 14508  	// OpenSearchPartitionInstanceTypeT3LargeSearch is a OpenSearchPartitionInstanceType enum value
 14509  	OpenSearchPartitionInstanceTypeT3LargeSearch = "t3.large.search"
 14510  
 14511  	// OpenSearchPartitionInstanceTypeT3XlargeSearch is a OpenSearchPartitionInstanceType enum value
 14512  	OpenSearchPartitionInstanceTypeT3XlargeSearch = "t3.xlarge.search"
 14513  
 14514  	// OpenSearchPartitionInstanceTypeT32xlargeSearch is a OpenSearchPartitionInstanceType enum value
 14515  	OpenSearchPartitionInstanceTypeT32xlargeSearch = "t3.2xlarge.search"
 14516  
 14517  	// OpenSearchPartitionInstanceTypeUltrawarm1MediumSearch is a OpenSearchPartitionInstanceType enum value
 14518  	OpenSearchPartitionInstanceTypeUltrawarm1MediumSearch = "ultrawarm1.medium.search"
 14519  
 14520  	// OpenSearchPartitionInstanceTypeUltrawarm1LargeSearch is a OpenSearchPartitionInstanceType enum value
 14521  	OpenSearchPartitionInstanceTypeUltrawarm1LargeSearch = "ultrawarm1.large.search"
 14522  
 14523  	// OpenSearchPartitionInstanceTypeUltrawarm1XlargeSearch is a OpenSearchPartitionInstanceType enum value
 14524  	OpenSearchPartitionInstanceTypeUltrawarm1XlargeSearch = "ultrawarm1.xlarge.search"
 14525  
 14526  	// OpenSearchPartitionInstanceTypeT2MicroSearch is a OpenSearchPartitionInstanceType enum value
 14527  	OpenSearchPartitionInstanceTypeT2MicroSearch = "t2.micro.search"
 14528  
 14529  	// OpenSearchPartitionInstanceTypeT2SmallSearch is a OpenSearchPartitionInstanceType enum value
 14530  	OpenSearchPartitionInstanceTypeT2SmallSearch = "t2.small.search"
 14531  
 14532  	// OpenSearchPartitionInstanceTypeT2MediumSearch is a OpenSearchPartitionInstanceType enum value
 14533  	OpenSearchPartitionInstanceTypeT2MediumSearch = "t2.medium.search"
 14534  
 14535  	// OpenSearchPartitionInstanceTypeR3LargeSearch is a OpenSearchPartitionInstanceType enum value
 14536  	OpenSearchPartitionInstanceTypeR3LargeSearch = "r3.large.search"
 14537  
 14538  	// OpenSearchPartitionInstanceTypeR3XlargeSearch is a OpenSearchPartitionInstanceType enum value
 14539  	OpenSearchPartitionInstanceTypeR3XlargeSearch = "r3.xlarge.search"
 14540  
 14541  	// OpenSearchPartitionInstanceTypeR32xlargeSearch is a OpenSearchPartitionInstanceType enum value
 14542  	OpenSearchPartitionInstanceTypeR32xlargeSearch = "r3.2xlarge.search"
 14543  
 14544  	// OpenSearchPartitionInstanceTypeR34xlargeSearch is a OpenSearchPartitionInstanceType enum value
 14545  	OpenSearchPartitionInstanceTypeR34xlargeSearch = "r3.4xlarge.search"
 14546  
 14547  	// OpenSearchPartitionInstanceTypeR38xlargeSearch is a OpenSearchPartitionInstanceType enum value
 14548  	OpenSearchPartitionInstanceTypeR38xlargeSearch = "r3.8xlarge.search"
 14549  
 14550  	// OpenSearchPartitionInstanceTypeI2XlargeSearch is a OpenSearchPartitionInstanceType enum value
 14551  	OpenSearchPartitionInstanceTypeI2XlargeSearch = "i2.xlarge.search"
 14552  
 14553  	// OpenSearchPartitionInstanceTypeI22xlargeSearch is a OpenSearchPartitionInstanceType enum value
 14554  	OpenSearchPartitionInstanceTypeI22xlargeSearch = "i2.2xlarge.search"
 14555  
 14556  	// OpenSearchPartitionInstanceTypeD2XlargeSearch is a OpenSearchPartitionInstanceType enum value
 14557  	OpenSearchPartitionInstanceTypeD2XlargeSearch = "d2.xlarge.search"
 14558  
 14559  	// OpenSearchPartitionInstanceTypeD22xlargeSearch is a OpenSearchPartitionInstanceType enum value
 14560  	OpenSearchPartitionInstanceTypeD22xlargeSearch = "d2.2xlarge.search"
 14561  
 14562  	// OpenSearchPartitionInstanceTypeD24xlargeSearch is a OpenSearchPartitionInstanceType enum value
 14563  	OpenSearchPartitionInstanceTypeD24xlargeSearch = "d2.4xlarge.search"
 14564  
 14565  	// OpenSearchPartitionInstanceTypeD28xlargeSearch is a OpenSearchPartitionInstanceType enum value
 14566  	OpenSearchPartitionInstanceTypeD28xlargeSearch = "d2.8xlarge.search"
 14567  
 14568  	// OpenSearchPartitionInstanceTypeC4LargeSearch is a OpenSearchPartitionInstanceType enum value
 14569  	OpenSearchPartitionInstanceTypeC4LargeSearch = "c4.large.search"
 14570  
 14571  	// OpenSearchPartitionInstanceTypeC4XlargeSearch is a OpenSearchPartitionInstanceType enum value
 14572  	OpenSearchPartitionInstanceTypeC4XlargeSearch = "c4.xlarge.search"
 14573  
 14574  	// OpenSearchPartitionInstanceTypeC42xlargeSearch is a OpenSearchPartitionInstanceType enum value
 14575  	OpenSearchPartitionInstanceTypeC42xlargeSearch = "c4.2xlarge.search"
 14576  
 14577  	// OpenSearchPartitionInstanceTypeC44xlargeSearch is a OpenSearchPartitionInstanceType enum value
 14578  	OpenSearchPartitionInstanceTypeC44xlargeSearch = "c4.4xlarge.search"
 14579  
 14580  	// OpenSearchPartitionInstanceTypeC48xlargeSearch is a OpenSearchPartitionInstanceType enum value
 14581  	OpenSearchPartitionInstanceTypeC48xlargeSearch = "c4.8xlarge.search"
 14582  
 14583  	// OpenSearchPartitionInstanceTypeR4LargeSearch is a OpenSearchPartitionInstanceType enum value
 14584  	OpenSearchPartitionInstanceTypeR4LargeSearch = "r4.large.search"
 14585  
 14586  	// OpenSearchPartitionInstanceTypeR4XlargeSearch is a OpenSearchPartitionInstanceType enum value
 14587  	OpenSearchPartitionInstanceTypeR4XlargeSearch = "r4.xlarge.search"
 14588  
 14589  	// OpenSearchPartitionInstanceTypeR42xlargeSearch is a OpenSearchPartitionInstanceType enum value
 14590  	OpenSearchPartitionInstanceTypeR42xlargeSearch = "r4.2xlarge.search"
 14591  
 14592  	// OpenSearchPartitionInstanceTypeR44xlargeSearch is a OpenSearchPartitionInstanceType enum value
 14593  	OpenSearchPartitionInstanceTypeR44xlargeSearch = "r4.4xlarge.search"
 14594  
 14595  	// OpenSearchPartitionInstanceTypeR48xlargeSearch is a OpenSearchPartitionInstanceType enum value
 14596  	OpenSearchPartitionInstanceTypeR48xlargeSearch = "r4.8xlarge.search"
 14597  
 14598  	// OpenSearchPartitionInstanceTypeR416xlargeSearch is a OpenSearchPartitionInstanceType enum value
 14599  	OpenSearchPartitionInstanceTypeR416xlargeSearch = "r4.16xlarge.search"
 14600  
 14601  	// OpenSearchPartitionInstanceTypeI3LargeSearch is a OpenSearchPartitionInstanceType enum value
 14602  	OpenSearchPartitionInstanceTypeI3LargeSearch = "i3.large.search"
 14603  
 14604  	// OpenSearchPartitionInstanceTypeI3XlargeSearch is a OpenSearchPartitionInstanceType enum value
 14605  	OpenSearchPartitionInstanceTypeI3XlargeSearch = "i3.xlarge.search"
 14606  
 14607  	// OpenSearchPartitionInstanceTypeI32xlargeSearch is a OpenSearchPartitionInstanceType enum value
 14608  	OpenSearchPartitionInstanceTypeI32xlargeSearch = "i3.2xlarge.search"
 14609  
 14610  	// OpenSearchPartitionInstanceTypeI34xlargeSearch is a OpenSearchPartitionInstanceType enum value
 14611  	OpenSearchPartitionInstanceTypeI34xlargeSearch = "i3.4xlarge.search"
 14612  
 14613  	// OpenSearchPartitionInstanceTypeI38xlargeSearch is a OpenSearchPartitionInstanceType enum value
 14614  	OpenSearchPartitionInstanceTypeI38xlargeSearch = "i3.8xlarge.search"
 14615  
 14616  	// OpenSearchPartitionInstanceTypeI316xlargeSearch is a OpenSearchPartitionInstanceType enum value
 14617  	OpenSearchPartitionInstanceTypeI316xlargeSearch = "i3.16xlarge.search"
 14618  
 14619  	// OpenSearchPartitionInstanceTypeR6gLargeSearch is a OpenSearchPartitionInstanceType enum value
 14620  	OpenSearchPartitionInstanceTypeR6gLargeSearch = "r6g.large.search"
 14621  
 14622  	// OpenSearchPartitionInstanceTypeR6gXlargeSearch is a OpenSearchPartitionInstanceType enum value
 14623  	OpenSearchPartitionInstanceTypeR6gXlargeSearch = "r6g.xlarge.search"
 14624  
 14625  	// OpenSearchPartitionInstanceTypeR6g2xlargeSearch is a OpenSearchPartitionInstanceType enum value
 14626  	OpenSearchPartitionInstanceTypeR6g2xlargeSearch = "r6g.2xlarge.search"
 14627  
 14628  	// OpenSearchPartitionInstanceTypeR6g4xlargeSearch is a OpenSearchPartitionInstanceType enum value
 14629  	OpenSearchPartitionInstanceTypeR6g4xlargeSearch = "r6g.4xlarge.search"
 14630  
 14631  	// OpenSearchPartitionInstanceTypeR6g8xlargeSearch is a OpenSearchPartitionInstanceType enum value
 14632  	OpenSearchPartitionInstanceTypeR6g8xlargeSearch = "r6g.8xlarge.search"
 14633  
 14634  	// OpenSearchPartitionInstanceTypeR6g12xlargeSearch is a OpenSearchPartitionInstanceType enum value
 14635  	OpenSearchPartitionInstanceTypeR6g12xlargeSearch = "r6g.12xlarge.search"
 14636  
 14637  	// OpenSearchPartitionInstanceTypeM6gLargeSearch is a OpenSearchPartitionInstanceType enum value
 14638  	OpenSearchPartitionInstanceTypeM6gLargeSearch = "m6g.large.search"
 14639  
 14640  	// OpenSearchPartitionInstanceTypeM6gXlargeSearch is a OpenSearchPartitionInstanceType enum value
 14641  	OpenSearchPartitionInstanceTypeM6gXlargeSearch = "m6g.xlarge.search"
 14642  
 14643  	// OpenSearchPartitionInstanceTypeM6g2xlargeSearch is a OpenSearchPartitionInstanceType enum value
 14644  	OpenSearchPartitionInstanceTypeM6g2xlargeSearch = "m6g.2xlarge.search"
 14645  
 14646  	// OpenSearchPartitionInstanceTypeM6g4xlargeSearch is a OpenSearchPartitionInstanceType enum value
 14647  	OpenSearchPartitionInstanceTypeM6g4xlargeSearch = "m6g.4xlarge.search"
 14648  
 14649  	// OpenSearchPartitionInstanceTypeM6g8xlargeSearch is a OpenSearchPartitionInstanceType enum value
 14650  	OpenSearchPartitionInstanceTypeM6g8xlargeSearch = "m6g.8xlarge.search"
 14651  
 14652  	// OpenSearchPartitionInstanceTypeM6g12xlargeSearch is a OpenSearchPartitionInstanceType enum value
 14653  	OpenSearchPartitionInstanceTypeM6g12xlargeSearch = "m6g.12xlarge.search"
 14654  
 14655  	// OpenSearchPartitionInstanceTypeC6gLargeSearch is a OpenSearchPartitionInstanceType enum value
 14656  	OpenSearchPartitionInstanceTypeC6gLargeSearch = "c6g.large.search"
 14657  
 14658  	// OpenSearchPartitionInstanceTypeC6gXlargeSearch is a OpenSearchPartitionInstanceType enum value
 14659  	OpenSearchPartitionInstanceTypeC6gXlargeSearch = "c6g.xlarge.search"
 14660  
 14661  	// OpenSearchPartitionInstanceTypeC6g2xlargeSearch is a OpenSearchPartitionInstanceType enum value
 14662  	OpenSearchPartitionInstanceTypeC6g2xlargeSearch = "c6g.2xlarge.search"
 14663  
 14664  	// OpenSearchPartitionInstanceTypeC6g4xlargeSearch is a OpenSearchPartitionInstanceType enum value
 14665  	OpenSearchPartitionInstanceTypeC6g4xlargeSearch = "c6g.4xlarge.search"
 14666  
 14667  	// OpenSearchPartitionInstanceTypeC6g8xlargeSearch is a OpenSearchPartitionInstanceType enum value
 14668  	OpenSearchPartitionInstanceTypeC6g8xlargeSearch = "c6g.8xlarge.search"
 14669  
 14670  	// OpenSearchPartitionInstanceTypeC6g12xlargeSearch is a OpenSearchPartitionInstanceType enum value
 14671  	OpenSearchPartitionInstanceTypeC6g12xlargeSearch = "c6g.12xlarge.search"
 14672  
 14673  	// OpenSearchPartitionInstanceTypeR6gdLargeSearch is a OpenSearchPartitionInstanceType enum value
 14674  	OpenSearchPartitionInstanceTypeR6gdLargeSearch = "r6gd.large.search"
 14675  
 14676  	// OpenSearchPartitionInstanceTypeR6gdXlargeSearch is a OpenSearchPartitionInstanceType enum value
 14677  	OpenSearchPartitionInstanceTypeR6gdXlargeSearch = "r6gd.xlarge.search"
 14678  
 14679  	// OpenSearchPartitionInstanceTypeR6gd2xlargeSearch is a OpenSearchPartitionInstanceType enum value
 14680  	OpenSearchPartitionInstanceTypeR6gd2xlargeSearch = "r6gd.2xlarge.search"
 14681  
 14682  	// OpenSearchPartitionInstanceTypeR6gd4xlargeSearch is a OpenSearchPartitionInstanceType enum value
 14683  	OpenSearchPartitionInstanceTypeR6gd4xlargeSearch = "r6gd.4xlarge.search"
 14684  
 14685  	// OpenSearchPartitionInstanceTypeR6gd8xlargeSearch is a OpenSearchPartitionInstanceType enum value
 14686  	OpenSearchPartitionInstanceTypeR6gd8xlargeSearch = "r6gd.8xlarge.search"
 14687  
 14688  	// OpenSearchPartitionInstanceTypeR6gd12xlargeSearch is a OpenSearchPartitionInstanceType enum value
 14689  	OpenSearchPartitionInstanceTypeR6gd12xlargeSearch = "r6gd.12xlarge.search"
 14690  
 14691  	// OpenSearchPartitionInstanceTypeR6gd16xlargeSearch is a OpenSearchPartitionInstanceType enum value
 14692  	OpenSearchPartitionInstanceTypeR6gd16xlargeSearch = "r6gd.16xlarge.search"
 14693  
 14694  	// OpenSearchPartitionInstanceTypeT4gSmallSearch is a OpenSearchPartitionInstanceType enum value
 14695  	OpenSearchPartitionInstanceTypeT4gSmallSearch = "t4g.small.search"
 14696  
 14697  	// OpenSearchPartitionInstanceTypeT4gMediumSearch is a OpenSearchPartitionInstanceType enum value
 14698  	OpenSearchPartitionInstanceTypeT4gMediumSearch = "t4g.medium.search"
 14699  )
 14700  
 14701  // OpenSearchPartitionInstanceType_Values returns all elements of the OpenSearchPartitionInstanceType enum
 14702  func OpenSearchPartitionInstanceType_Values() []string {
 14703  	return []string{
 14704  		OpenSearchPartitionInstanceTypeM3MediumSearch,
 14705  		OpenSearchPartitionInstanceTypeM3LargeSearch,
 14706  		OpenSearchPartitionInstanceTypeM3XlargeSearch,
 14707  		OpenSearchPartitionInstanceTypeM32xlargeSearch,
 14708  		OpenSearchPartitionInstanceTypeM4LargeSearch,
 14709  		OpenSearchPartitionInstanceTypeM4XlargeSearch,
 14710  		OpenSearchPartitionInstanceTypeM42xlargeSearch,
 14711  		OpenSearchPartitionInstanceTypeM44xlargeSearch,
 14712  		OpenSearchPartitionInstanceTypeM410xlargeSearch,
 14713  		OpenSearchPartitionInstanceTypeM5LargeSearch,
 14714  		OpenSearchPartitionInstanceTypeM5XlargeSearch,
 14715  		OpenSearchPartitionInstanceTypeM52xlargeSearch,
 14716  		OpenSearchPartitionInstanceTypeM54xlargeSearch,
 14717  		OpenSearchPartitionInstanceTypeM512xlargeSearch,
 14718  		OpenSearchPartitionInstanceTypeM524xlargeSearch,
 14719  		OpenSearchPartitionInstanceTypeR5LargeSearch,
 14720  		OpenSearchPartitionInstanceTypeR5XlargeSearch,
 14721  		OpenSearchPartitionInstanceTypeR52xlargeSearch,
 14722  		OpenSearchPartitionInstanceTypeR54xlargeSearch,
 14723  		OpenSearchPartitionInstanceTypeR512xlargeSearch,
 14724  		OpenSearchPartitionInstanceTypeR524xlargeSearch,
 14725  		OpenSearchPartitionInstanceTypeC5LargeSearch,
 14726  		OpenSearchPartitionInstanceTypeC5XlargeSearch,
 14727  		OpenSearchPartitionInstanceTypeC52xlargeSearch,
 14728  		OpenSearchPartitionInstanceTypeC54xlargeSearch,
 14729  		OpenSearchPartitionInstanceTypeC59xlargeSearch,
 14730  		OpenSearchPartitionInstanceTypeC518xlargeSearch,
 14731  		OpenSearchPartitionInstanceTypeT3NanoSearch,
 14732  		OpenSearchPartitionInstanceTypeT3MicroSearch,
 14733  		OpenSearchPartitionInstanceTypeT3SmallSearch,
 14734  		OpenSearchPartitionInstanceTypeT3MediumSearch,
 14735  		OpenSearchPartitionInstanceTypeT3LargeSearch,
 14736  		OpenSearchPartitionInstanceTypeT3XlargeSearch,
 14737  		OpenSearchPartitionInstanceTypeT32xlargeSearch,
 14738  		OpenSearchPartitionInstanceTypeUltrawarm1MediumSearch,
 14739  		OpenSearchPartitionInstanceTypeUltrawarm1LargeSearch,
 14740  		OpenSearchPartitionInstanceTypeUltrawarm1XlargeSearch,
 14741  		OpenSearchPartitionInstanceTypeT2MicroSearch,
 14742  		OpenSearchPartitionInstanceTypeT2SmallSearch,
 14743  		OpenSearchPartitionInstanceTypeT2MediumSearch,
 14744  		OpenSearchPartitionInstanceTypeR3LargeSearch,
 14745  		OpenSearchPartitionInstanceTypeR3XlargeSearch,
 14746  		OpenSearchPartitionInstanceTypeR32xlargeSearch,
 14747  		OpenSearchPartitionInstanceTypeR34xlargeSearch,
 14748  		OpenSearchPartitionInstanceTypeR38xlargeSearch,
 14749  		OpenSearchPartitionInstanceTypeI2XlargeSearch,
 14750  		OpenSearchPartitionInstanceTypeI22xlargeSearch,
 14751  		OpenSearchPartitionInstanceTypeD2XlargeSearch,
 14752  		OpenSearchPartitionInstanceTypeD22xlargeSearch,
 14753  		OpenSearchPartitionInstanceTypeD24xlargeSearch,
 14754  		OpenSearchPartitionInstanceTypeD28xlargeSearch,
 14755  		OpenSearchPartitionInstanceTypeC4LargeSearch,
 14756  		OpenSearchPartitionInstanceTypeC4XlargeSearch,
 14757  		OpenSearchPartitionInstanceTypeC42xlargeSearch,
 14758  		OpenSearchPartitionInstanceTypeC44xlargeSearch,
 14759  		OpenSearchPartitionInstanceTypeC48xlargeSearch,
 14760  		OpenSearchPartitionInstanceTypeR4LargeSearch,
 14761  		OpenSearchPartitionInstanceTypeR4XlargeSearch,
 14762  		OpenSearchPartitionInstanceTypeR42xlargeSearch,
 14763  		OpenSearchPartitionInstanceTypeR44xlargeSearch,
 14764  		OpenSearchPartitionInstanceTypeR48xlargeSearch,
 14765  		OpenSearchPartitionInstanceTypeR416xlargeSearch,
 14766  		OpenSearchPartitionInstanceTypeI3LargeSearch,
 14767  		OpenSearchPartitionInstanceTypeI3XlargeSearch,
 14768  		OpenSearchPartitionInstanceTypeI32xlargeSearch,
 14769  		OpenSearchPartitionInstanceTypeI34xlargeSearch,
 14770  		OpenSearchPartitionInstanceTypeI38xlargeSearch,
 14771  		OpenSearchPartitionInstanceTypeI316xlargeSearch,
 14772  		OpenSearchPartitionInstanceTypeR6gLargeSearch,
 14773  		OpenSearchPartitionInstanceTypeR6gXlargeSearch,
 14774  		OpenSearchPartitionInstanceTypeR6g2xlargeSearch,
 14775  		OpenSearchPartitionInstanceTypeR6g4xlargeSearch,
 14776  		OpenSearchPartitionInstanceTypeR6g8xlargeSearch,
 14777  		OpenSearchPartitionInstanceTypeR6g12xlargeSearch,
 14778  		OpenSearchPartitionInstanceTypeM6gLargeSearch,
 14779  		OpenSearchPartitionInstanceTypeM6gXlargeSearch,
 14780  		OpenSearchPartitionInstanceTypeM6g2xlargeSearch,
 14781  		OpenSearchPartitionInstanceTypeM6g4xlargeSearch,
 14782  		OpenSearchPartitionInstanceTypeM6g8xlargeSearch,
 14783  		OpenSearchPartitionInstanceTypeM6g12xlargeSearch,
 14784  		OpenSearchPartitionInstanceTypeC6gLargeSearch,
 14785  		OpenSearchPartitionInstanceTypeC6gXlargeSearch,
 14786  		OpenSearchPartitionInstanceTypeC6g2xlargeSearch,
 14787  		OpenSearchPartitionInstanceTypeC6g4xlargeSearch,
 14788  		OpenSearchPartitionInstanceTypeC6g8xlargeSearch,
 14789  		OpenSearchPartitionInstanceTypeC6g12xlargeSearch,
 14790  		OpenSearchPartitionInstanceTypeR6gdLargeSearch,
 14791  		OpenSearchPartitionInstanceTypeR6gdXlargeSearch,
 14792  		OpenSearchPartitionInstanceTypeR6gd2xlargeSearch,
 14793  		OpenSearchPartitionInstanceTypeR6gd4xlargeSearch,
 14794  		OpenSearchPartitionInstanceTypeR6gd8xlargeSearch,
 14795  		OpenSearchPartitionInstanceTypeR6gd12xlargeSearch,
 14796  		OpenSearchPartitionInstanceTypeR6gd16xlargeSearch,
 14797  		OpenSearchPartitionInstanceTypeT4gSmallSearch,
 14798  		OpenSearchPartitionInstanceTypeT4gMediumSearch,
 14799  	}
 14800  }
 14801  
 14802  const (
 14803  	// OpenSearchWarmPartitionInstanceTypeUltrawarm1MediumSearch is a OpenSearchWarmPartitionInstanceType enum value
 14804  	OpenSearchWarmPartitionInstanceTypeUltrawarm1MediumSearch = "ultrawarm1.medium.search"
 14805  
 14806  	// OpenSearchWarmPartitionInstanceTypeUltrawarm1LargeSearch is a OpenSearchWarmPartitionInstanceType enum value
 14807  	OpenSearchWarmPartitionInstanceTypeUltrawarm1LargeSearch = "ultrawarm1.large.search"
 14808  
 14809  	// OpenSearchWarmPartitionInstanceTypeUltrawarm1XlargeSearch is a OpenSearchWarmPartitionInstanceType enum value
 14810  	OpenSearchWarmPartitionInstanceTypeUltrawarm1XlargeSearch = "ultrawarm1.xlarge.search"
 14811  )
 14812  
 14813  // OpenSearchWarmPartitionInstanceType_Values returns all elements of the OpenSearchWarmPartitionInstanceType enum
 14814  func OpenSearchWarmPartitionInstanceType_Values() []string {
 14815  	return []string{
 14816  		OpenSearchWarmPartitionInstanceTypeUltrawarm1MediumSearch,
 14817  		OpenSearchWarmPartitionInstanceTypeUltrawarm1LargeSearch,
 14818  		OpenSearchWarmPartitionInstanceTypeUltrawarm1XlargeSearch,
 14819  	}
 14820  }
 14821  
 14822  // The state of a requested change. One of the following:
 14823  //
 14824  //    * Processing: The request change is still in progress.
 14825  //
 14826  //    * Active: The request change is processed and deployed to the domain.
 14827  const (
 14828  	// OptionStateRequiresIndexDocuments is a OptionState enum value
 14829  	OptionStateRequiresIndexDocuments = "RequiresIndexDocuments"
 14830  
 14831  	// OptionStateProcessing is a OptionState enum value
 14832  	OptionStateProcessing = "Processing"
 14833  
 14834  	// OptionStateActive is a OptionState enum value
 14835  	OptionStateActive = "Active"
 14836  )
 14837  
 14838  // OptionState_Values returns all elements of the OptionState enum
 14839  func OptionState_Values() []string {
 14840  	return []string{
 14841  		OptionStateRequiresIndexDocuments,
 14842  		OptionStateProcessing,
 14843  		OptionStateActive,
 14844  	}
 14845  }
 14846  
 14847  const (
 14848  	// OutboundConnectionStatusCodeValidating is a OutboundConnectionStatusCode enum value
 14849  	OutboundConnectionStatusCodeValidating = "VALIDATING"
 14850  
 14851  	// OutboundConnectionStatusCodeValidationFailed is a OutboundConnectionStatusCode enum value
 14852  	OutboundConnectionStatusCodeValidationFailed = "VALIDATION_FAILED"
 14853  
 14854  	// OutboundConnectionStatusCodePendingAcceptance is a OutboundConnectionStatusCode enum value
 14855  	OutboundConnectionStatusCodePendingAcceptance = "PENDING_ACCEPTANCE"
 14856  
 14857  	// OutboundConnectionStatusCodeApproved is a OutboundConnectionStatusCode enum value
 14858  	OutboundConnectionStatusCodeApproved = "APPROVED"
 14859  
 14860  	// OutboundConnectionStatusCodeProvisioning is a OutboundConnectionStatusCode enum value
 14861  	OutboundConnectionStatusCodeProvisioning = "PROVISIONING"
 14862  
 14863  	// OutboundConnectionStatusCodeActive is a OutboundConnectionStatusCode enum value
 14864  	OutboundConnectionStatusCodeActive = "ACTIVE"
 14865  
 14866  	// OutboundConnectionStatusCodeRejecting is a OutboundConnectionStatusCode enum value
 14867  	OutboundConnectionStatusCodeRejecting = "REJECTING"
 14868  
 14869  	// OutboundConnectionStatusCodeRejected is a OutboundConnectionStatusCode enum value
 14870  	OutboundConnectionStatusCodeRejected = "REJECTED"
 14871  
 14872  	// OutboundConnectionStatusCodeDeleting is a OutboundConnectionStatusCode enum value
 14873  	OutboundConnectionStatusCodeDeleting = "DELETING"
 14874  
 14875  	// OutboundConnectionStatusCodeDeleted is a OutboundConnectionStatusCode enum value
 14876  	OutboundConnectionStatusCodeDeleted = "DELETED"
 14877  )
 14878  
 14879  // OutboundConnectionStatusCode_Values returns all elements of the OutboundConnectionStatusCode enum
 14880  func OutboundConnectionStatusCode_Values() []string {
 14881  	return []string{
 14882  		OutboundConnectionStatusCodeValidating,
 14883  		OutboundConnectionStatusCodeValidationFailed,
 14884  		OutboundConnectionStatusCodePendingAcceptance,
 14885  		OutboundConnectionStatusCodeApproved,
 14886  		OutboundConnectionStatusCodeProvisioning,
 14887  		OutboundConnectionStatusCodeActive,
 14888  		OutboundConnectionStatusCodeRejecting,
 14889  		OutboundConnectionStatusCodeRejected,
 14890  		OutboundConnectionStatusCodeDeleting,
 14891  		OutboundConnectionStatusCodeDeleted,
 14892  	}
 14893  }
 14894  
 14895  const (
 14896  	// PackageStatusCopying is a PackageStatus enum value
 14897  	PackageStatusCopying = "COPYING"
 14898  
 14899  	// PackageStatusCopyFailed is a PackageStatus enum value
 14900  	PackageStatusCopyFailed = "COPY_FAILED"
 14901  
 14902  	// PackageStatusValidating is a PackageStatus enum value
 14903  	PackageStatusValidating = "VALIDATING"
 14904  
 14905  	// PackageStatusValidationFailed is a PackageStatus enum value
 14906  	PackageStatusValidationFailed = "VALIDATION_FAILED"
 14907  
 14908  	// PackageStatusAvailable is a PackageStatus enum value
 14909  	PackageStatusAvailable = "AVAILABLE"
 14910  
 14911  	// PackageStatusDeleting is a PackageStatus enum value
 14912  	PackageStatusDeleting = "DELETING"
 14913  
 14914  	// PackageStatusDeleted is a PackageStatus enum value
 14915  	PackageStatusDeleted = "DELETED"
 14916  
 14917  	// PackageStatusDeleteFailed is a PackageStatus enum value
 14918  	PackageStatusDeleteFailed = "DELETE_FAILED"
 14919  )
 14920  
 14921  // PackageStatus_Values returns all elements of the PackageStatus enum
 14922  func PackageStatus_Values() []string {
 14923  	return []string{
 14924  		PackageStatusCopying,
 14925  		PackageStatusCopyFailed,
 14926  		PackageStatusValidating,
 14927  		PackageStatusValidationFailed,
 14928  		PackageStatusAvailable,
 14929  		PackageStatusDeleting,
 14930  		PackageStatusDeleted,
 14931  		PackageStatusDeleteFailed,
 14932  	}
 14933  }
 14934  
 14935  const (
 14936  	// PackageTypeTxtDictionary is a PackageType enum value
 14937  	PackageTypeTxtDictionary = "TXT-DICTIONARY"
 14938  )
 14939  
 14940  // PackageType_Values returns all elements of the PackageType enum
 14941  func PackageType_Values() []string {
 14942  	return []string{
 14943  		PackageTypeTxtDictionary,
 14944  	}
 14945  }
 14946  
 14947  const (
 14948  	// ReservedInstancePaymentOptionAllUpfront is a ReservedInstancePaymentOption enum value
 14949  	ReservedInstancePaymentOptionAllUpfront = "ALL_UPFRONT"
 14950  
 14951  	// ReservedInstancePaymentOptionPartialUpfront is a ReservedInstancePaymentOption enum value
 14952  	ReservedInstancePaymentOptionPartialUpfront = "PARTIAL_UPFRONT"
 14953  
 14954  	// ReservedInstancePaymentOptionNoUpfront is a ReservedInstancePaymentOption enum value
 14955  	ReservedInstancePaymentOptionNoUpfront = "NO_UPFRONT"
 14956  )
 14957  
 14958  // ReservedInstancePaymentOption_Values returns all elements of the ReservedInstancePaymentOption enum
 14959  func ReservedInstancePaymentOption_Values() []string {
 14960  	return []string{
 14961  		ReservedInstancePaymentOptionAllUpfront,
 14962  		ReservedInstancePaymentOptionPartialUpfront,
 14963  		ReservedInstancePaymentOptionNoUpfront,
 14964  	}
 14965  }
 14966  
 14967  // The rollback state while disabling Auto-Tune for the domain. Valid values
 14968  // are NO_ROLLBACK and DEFAULT_ROLLBACK.
 14969  const (
 14970  	// RollbackOnDisableNoRollback is a RollbackOnDisable enum value
 14971  	RollbackOnDisableNoRollback = "NO_ROLLBACK"
 14972  
 14973  	// RollbackOnDisableDefaultRollback is a RollbackOnDisable enum value
 14974  	RollbackOnDisableDefaultRollback = "DEFAULT_ROLLBACK"
 14975  )
 14976  
 14977  // RollbackOnDisable_Values returns all elements of the RollbackOnDisable enum
 14978  func RollbackOnDisable_Values() []string {
 14979  	return []string{
 14980  		RollbackOnDisableNoRollback,
 14981  		RollbackOnDisableDefaultRollback,
 14982  	}
 14983  }
 14984  
 14985  // The Auto-Tune action type. Valid values are JVM_HEAP_SIZE_TUNING, and JVM_YOUNG_GEN_TUNING.
 14986  const (
 14987  	// ScheduledAutoTuneActionTypeJvmHeapSizeTuning is a ScheduledAutoTuneActionType enum value
 14988  	ScheduledAutoTuneActionTypeJvmHeapSizeTuning = "JVM_HEAP_SIZE_TUNING"
 14989  
 14990  	// ScheduledAutoTuneActionTypeJvmYoungGenTuning is a ScheduledAutoTuneActionType enum value
 14991  	ScheduledAutoTuneActionTypeJvmYoungGenTuning = "JVM_YOUNG_GEN_TUNING"
 14992  )
 14993  
 14994  // ScheduledAutoTuneActionType_Values returns all elements of the ScheduledAutoTuneActionType enum
 14995  func ScheduledAutoTuneActionType_Values() []string {
 14996  	return []string{
 14997  		ScheduledAutoTuneActionTypeJvmHeapSizeTuning,
 14998  		ScheduledAutoTuneActionTypeJvmYoungGenTuning,
 14999  	}
 15000  }
 15001  
 15002  // The Auto-Tune action severity. Valid values are LOW, MEDIUM, and HIGH.
 15003  const (
 15004  	// ScheduledAutoTuneSeverityTypeLow is a ScheduledAutoTuneSeverityType enum value
 15005  	ScheduledAutoTuneSeverityTypeLow = "LOW"
 15006  
 15007  	// ScheduledAutoTuneSeverityTypeMedium is a ScheduledAutoTuneSeverityType enum value
 15008  	ScheduledAutoTuneSeverityTypeMedium = "MEDIUM"
 15009  
 15010  	// ScheduledAutoTuneSeverityTypeHigh is a ScheduledAutoTuneSeverityType enum value
 15011  	ScheduledAutoTuneSeverityTypeHigh = "HIGH"
 15012  )
 15013  
 15014  // ScheduledAutoTuneSeverityType_Values returns all elements of the ScheduledAutoTuneSeverityType enum
 15015  func ScheduledAutoTuneSeverityType_Values() []string {
 15016  	return []string{
 15017  		ScheduledAutoTuneSeverityTypeLow,
 15018  		ScheduledAutoTuneSeverityTypeMedium,
 15019  		ScheduledAutoTuneSeverityTypeHigh,
 15020  	}
 15021  }
 15022  
 15023  const (
 15024  	// TLSSecurityPolicyPolicyMinTls10201907 is a TLSSecurityPolicy enum value
 15025  	TLSSecurityPolicyPolicyMinTls10201907 = "Policy-Min-TLS-1-0-2019-07"
 15026  
 15027  	// TLSSecurityPolicyPolicyMinTls12201907 is a TLSSecurityPolicy enum value
 15028  	TLSSecurityPolicyPolicyMinTls12201907 = "Policy-Min-TLS-1-2-2019-07"
 15029  )
 15030  
 15031  // TLSSecurityPolicy_Values returns all elements of the TLSSecurityPolicy enum
 15032  func TLSSecurityPolicy_Values() []string {
 15033  	return []string{
 15034  		TLSSecurityPolicyPolicyMinTls10201907,
 15035  		TLSSecurityPolicyPolicyMinTls12201907,
 15036  	}
 15037  }
 15038  
 15039  // The unit of a maintenance schedule duration. Valid value is HOUR. See Auto-Tune
 15040  // for Amazon OpenSearch Service (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/auto-tune.html)
 15041  // for more information.
 15042  const (
 15043  	// TimeUnitHours is a TimeUnit enum value
 15044  	TimeUnitHours = "HOURS"
 15045  )
 15046  
 15047  // TimeUnit_Values returns all elements of the TimeUnit enum
 15048  func TimeUnit_Values() []string {
 15049  	return []string{
 15050  		TimeUnitHours,
 15051  	}
 15052  }
 15053  
 15054  const (
 15055  	// UpgradeStatusInProgress is a UpgradeStatus enum value
 15056  	UpgradeStatusInProgress = "IN_PROGRESS"
 15057  
 15058  	// UpgradeStatusSucceeded is a UpgradeStatus enum value
 15059  	UpgradeStatusSucceeded = "SUCCEEDED"
 15060  
 15061  	// UpgradeStatusSucceededWithIssues is a UpgradeStatus enum value
 15062  	UpgradeStatusSucceededWithIssues = "SUCCEEDED_WITH_ISSUES"
 15063  
 15064  	// UpgradeStatusFailed is a UpgradeStatus enum value
 15065  	UpgradeStatusFailed = "FAILED"
 15066  )
 15067  
 15068  // UpgradeStatus_Values returns all elements of the UpgradeStatus enum
 15069  func UpgradeStatus_Values() []string {
 15070  	return []string{
 15071  		UpgradeStatusInProgress,
 15072  		UpgradeStatusSucceeded,
 15073  		UpgradeStatusSucceededWithIssues,
 15074  		UpgradeStatusFailed,
 15075  	}
 15076  }
 15077  
 15078  const (
 15079  	// UpgradeStepPreUpgradeCheck is a UpgradeStep enum value
 15080  	UpgradeStepPreUpgradeCheck = "PRE_UPGRADE_CHECK"
 15081  
 15082  	// UpgradeStepSnapshot is a UpgradeStep enum value
 15083  	UpgradeStepSnapshot = "SNAPSHOT"
 15084  
 15085  	// UpgradeStepUpgrade is a UpgradeStep enum value
 15086  	UpgradeStepUpgrade = "UPGRADE"
 15087  )
 15088  
 15089  // UpgradeStep_Values returns all elements of the UpgradeStep enum
 15090  func UpgradeStep_Values() []string {
 15091  	return []string{
 15092  		UpgradeStepPreUpgradeCheck,
 15093  		UpgradeStepSnapshot,
 15094  		UpgradeStepUpgrade,
 15095  	}
 15096  }
 15097  
 15098  // The type of EBS volume, standard, gp2, or io1. See Configuring EBS-based
 15099  // Storage (http://docs.aws.amazon.com/opensearch-service/latest/developerguide/opensearch-createupdatedomains.html#opensearch-createdomain-configure-ebs)
 15100  // for more information.
 15101  const (
 15102  	// VolumeTypeStandard is a VolumeType enum value
 15103  	VolumeTypeStandard = "standard"
 15104  
 15105  	// VolumeTypeGp2 is a VolumeType enum value
 15106  	VolumeTypeGp2 = "gp2"
 15107  
 15108  	// VolumeTypeIo1 is a VolumeType enum value
 15109  	VolumeTypeIo1 = "io1"
 15110  )
 15111  
 15112  // VolumeType_Values returns all elements of the VolumeType enum
 15113  func VolumeType_Values() []string {
 15114  	return []string{
 15115  		VolumeTypeStandard,
 15116  		VolumeTypeGp2,
 15117  		VolumeTypeIo1,
 15118  	}
 15119  }