1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package opensearchservice
4
5import (
6	"fmt"
7	"time"
8
9	"github.com/aws/aws-sdk-go/aws"
10	"github.com/aws/aws-sdk-go/aws/awsutil"
11	"github.com/aws/aws-sdk-go/aws/request"
12	"github.com/aws/aws-sdk-go/private/protocol"
13	"github.com/aws/aws-sdk-go/private/protocol/restjson"
14)
15
16const 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
42func (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
84func (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.
98func (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
105const 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
131func (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
180func (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.
194func (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
201const 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
227func (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
280func (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.
294func (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
301const 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
327func (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
374func (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.
388func (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
395const 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
421func (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
480func (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.
494func (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
501const 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
527func (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
574func (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.
588func (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
595const 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
621func (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
678func (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.
692func (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
699const 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
725func (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
771func (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.
785func (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
792const 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
818func (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
856func (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.
870func (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
877const 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
903func (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
941func (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.
955func (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
962const 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
988func (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
1041func (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.
1055func (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
1062const 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
1088func (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
1134func (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.
1148func (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
1155const 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
1181func (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
1233func (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.
1247func (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//
1271func (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.
1282func (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
1306const 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
1332func (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
1379func (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.
1393func (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
1400const 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
1426func (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
1468func (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.
1482func (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
1489const 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
1515func (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
1558func (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.
1572func (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//
1596func (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.
1607func (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
1631const 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
1657func (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
1712func (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.
1726func (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
1733const 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
1759func (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
1802func (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.
1816func (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//
1840func (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.
1851func (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
1875const 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
1901func (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
1957func (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.
1971func (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//
1995func (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.
2006func (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
2030const 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
2056func (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
2108func (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.
2122func (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//
2146func (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.
2157func (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
2181const 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
2207func (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
2259func (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.
2273func (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//
2297func (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.
2308func (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
2332const 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
2358func (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
2411func (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.
2425func (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
2432const 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
2458func (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
2509func (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.
2523func (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
2530const 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
2556func (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
2612func (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.
2626func (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//
2650func (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.
2661func (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
2685const 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
2711func (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
2766func (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.
2780func (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//
2804func (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.
2815func (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
2839const 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
2865func (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
2915func (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.
2929func (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
2936const 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
2962func (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
2998func (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.
3012func (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
3019const 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
3045func (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
3100func (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.
3114func (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//
3138func (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.
3149func (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
3173const 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
3199func (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
3248func (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.
3262func (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//
3286func (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.
3297func (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
3321const 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
3347func (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
3402func (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.
3416func (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//
3440func (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.
3451func (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
3475const 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
3501func (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
3546func (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.
3560func (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
3567const 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
3593func (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
3644func (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.
3658func (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//
3682func (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.
3693func (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
3717const 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
3743func (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
3797func (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.
3811func (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
3818const 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
3844func (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
3882func (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.
3896func (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
3903const 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
3929func (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
3971func (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.
3985func (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
3992const 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
4018func (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
4063func (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.
4077func (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
4084const 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
4110func (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
4164func (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.
4178func (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
4185const 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
4211func (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
4264func (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.
4278func (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
4285const 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
4311func (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
4365func (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.
4379func (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
4386type 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".
4406func (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".
4415func (s AWSDomainInformation) GoString() string {
4416	return s.String()
4417}
4418
4419// Validate inspects the fields of the type to determine if they are valid.
4420func (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.
4442func (s *AWSDomainInformation) SetDomainName(v string) *AWSDomainInformation {
4443	s.DomainName = &v
4444	return s
4445}
4446
4447// SetOwnerId sets the OwnerId field's value.
4448func (s *AWSDomainInformation) SetOwnerId(v string) *AWSDomainInformation {
4449	s.OwnerId = &v
4450	return s
4451}
4452
4453// SetRegion sets the Region field's value.
4454func (s *AWSDomainInformation) SetRegion(v string) *AWSDomainInformation {
4455	s.Region = &v
4456	return s
4457}
4458
4459// Container for the parameters to the AcceptInboundConnection operation.
4460type 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".
4474func (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".
4483func (s AcceptInboundConnectionInput) GoString() string {
4484	return s.String()
4485}
4486
4487// Validate inspects the fields of the type to determine if they are valid.
4488func (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.
4504func (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.
4511type 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".
4523func (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".
4532func (s AcceptInboundConnectionOutput) GoString() string {
4533	return s.String()
4534}
4535
4536// SetConnection sets the Connection field's value.
4537func (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.
4544type 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".
4556func (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".
4565func (s AccessDeniedException) GoString() string {
4566	return s.String()
4567}
4568
4569func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
4570	return &AccessDeniedException{
4571		RespMetadata: v,
4572	}
4573}
4574
4575// Code returns the exception type name.
4576func (s *AccessDeniedException) Code() string {
4577	return "AccessDeniedException"
4578}
4579
4580// Message returns the exception's message.
4581func (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.
4589func (s *AccessDeniedException) OrigErr() error {
4590	return nil
4591}
4592
4593func (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.
4598func (s *AccessDeniedException) StatusCode() int {
4599	return s.RespMetadata.StatusCode
4600}
4601
4602// RequestID returns the service's response RequestID for request.
4603func (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.
4609type 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".
4631func (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".
4640func (s AccessPoliciesStatus) GoString() string {
4641	return s.String()
4642}
4643
4644// SetOptions sets the Options field's value.
4645func (s *AccessPoliciesStatus) SetOptions(v string) *AccessPoliciesStatus {
4646	s.Options = &v
4647	return s
4648}
4649
4650// SetStatus sets the Status field's value.
4651func (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.
4658type 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".
4677func (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".
4686func (s AddTagsInput) GoString() string {
4687	return s.String()
4688}
4689
4690// Validate inspects the fields of the type to determine if they are valid.
4691func (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.
4720func (s *AddTagsInput) SetARN(v string) *AddTagsInput {
4721	s.ARN = &v
4722	return s
4723}
4724
4725// SetTagList sets the TagList field's value.
4726func (s *AddTagsInput) SetTagList(v []*Tag) *AddTagsInput {
4727	s.TagList = v
4728	return s
4729}
4730
4731type AddTagsOutput struct {
4732	_ struct{} `type:"structure"`
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".
4740func (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".
4749func (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 .
4755type 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".
4774func (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".
4783func (s AdditionalLimit) GoString() string {
4784	return s.String()
4785}
4786
4787// SetLimitName sets the LimitName field's value.
4788func (s *AdditionalLimit) SetLimitName(v string) *AdditionalLimit {
4789	s.LimitName = &v
4790	return s
4791}
4792
4793// SetLimitValues sets the LimitValues field's value.
4794func (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).
4810type 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".
4829func (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".
4838func (s AdvancedOptionsStatus) GoString() string {
4839	return s.String()
4840}
4841
4842// SetOptions sets the Options field's value.
4843func (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.
4849func (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.
4856type 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".
4874func (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".
4883func (s AdvancedSecurityOptions) GoString() string {
4884	return s.String()
4885}
4886
4887// SetEnabled sets the Enabled field's value.
4888func (s *AdvancedSecurityOptions) SetEnabled(v bool) *AdvancedSecurityOptions {
4889	s.Enabled = &v
4890	return s
4891}
4892
4893// SetInternalUserDatabaseEnabled sets the InternalUserDatabaseEnabled field's value.
4894func (s *AdvancedSecurityOptions) SetInternalUserDatabaseEnabled(v bool) *AdvancedSecurityOptions {
4895	s.InternalUserDatabaseEnabled = &v
4896	return s
4897}
4898
4899// SetSAMLOptions sets the SAMLOptions field's value.
4900func (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).
4908type 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".
4929func (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".
4938func (s AdvancedSecurityOptionsInput_) GoString() string {
4939	return s.String()
4940}
4941
4942// Validate inspects the fields of the type to determine if they are valid.
4943func (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.
4963func (s *AdvancedSecurityOptionsInput_) SetEnabled(v bool) *AdvancedSecurityOptionsInput_ {
4964	s.Enabled = &v
4965	return s
4966}
4967
4968// SetInternalUserDatabaseEnabled sets the InternalUserDatabaseEnabled field's value.
4969func (s *AdvancedSecurityOptionsInput_) SetInternalUserDatabaseEnabled(v bool) *AdvancedSecurityOptionsInput_ {
4970	s.InternalUserDatabaseEnabled = &v
4971	return s
4972}
4973
4974// SetMasterUserOptions sets the MasterUserOptions field's value.
4975func (s *AdvancedSecurityOptionsInput_) SetMasterUserOptions(v *MasterUserOptions) *AdvancedSecurityOptionsInput_ {
4976	s.MasterUserOptions = v
4977	return s
4978}
4979
4980// SetSAMLOptions sets the SAMLOptions field's value.
4981func (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.
4987type 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".
5006func (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".
5015func (s AdvancedSecurityOptionsStatus) GoString() string {
5016	return s.String()
5017}
5018
5019// SetOptions sets the Options field's value.
5020func (s *AdvancedSecurityOptionsStatus) SetOptions(v *AdvancedSecurityOptions) *AdvancedSecurityOptionsStatus {
5021	s.Options = v
5022	return s
5023}
5024
5025// SetStatus sets the Status field's value.
5026func (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.
5032type 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".
5052func (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".
5061func (s AssociatePackageInput) GoString() string {
5062	return s.String()
5063}
5064
5065// Validate inspects the fields of the type to determine if they are valid.
5066func (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.
5088func (s *AssociatePackageInput) SetDomainName(v string) *AssociatePackageInput {
5089	s.DomainName = &v
5090	return s
5091}
5092
5093// SetPackageID sets the PackageID field's value.
5094func (s *AssociatePackageInput) SetPackageID(v string) *AssociatePackageInput {
5095	s.PackageID = &v
5096	return s
5097}
5098
5099// Container for the response returned by AssociatePackage operation.
5100type 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".
5112func (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".
5121func (s AssociatePackageOutput) GoString() string {
5122	return s.String()
5123}
5124
5125// SetDomainPackageDetails sets the DomainPackageDetails field's value.
5126func (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.
5132type 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".
5149func (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".
5158func (s AutoTune) GoString() string {
5159	return s.String()
5160}
5161
5162// SetAutoTuneDetails sets the AutoTuneDetails field's value.
5163func (s *AutoTune) SetAutoTuneDetails(v *AutoTuneDetails) *AutoTune {
5164	s.AutoTuneDetails = v
5165	return s
5166}
5167
5168// SetAutoTuneType sets the AutoTuneType field's value.
5169func (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.
5177type 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".
5191func (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".
5200func (s AutoTuneDetails) GoString() string {
5201	return s.String()
5202}
5203
5204// SetScheduledAutoTuneDetails sets the ScheduledAutoTuneDetails field's value.
5205func (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.
5213type 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".
5235func (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".
5244func (s AutoTuneMaintenanceSchedule) GoString() string {
5245	return s.String()
5246}
5247
5248// Validate inspects the fields of the type to determine if they are valid.
5249func (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.
5264func (s *AutoTuneMaintenanceSchedule) SetCronExpressionForRecurrence(v string) *AutoTuneMaintenanceSchedule {
5265	s.CronExpressionForRecurrence = &v
5266	return s
5267}
5268
5269// SetDuration sets the Duration field's value.
5270func (s *AutoTuneMaintenanceSchedule) SetDuration(v *Duration) *AutoTuneMaintenanceSchedule {
5271	s.Duration = v
5272	return s
5273}
5274
5275// SetStartAt sets the StartAt field's value.
5276func (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.
5283type 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".
5304func (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".
5313func (s AutoTuneOptions) GoString() string {
5314	return s.String()
5315}
5316
5317// Validate inspects the fields of the type to determine if they are valid.
5318func (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.
5338func (s *AutoTuneOptions) SetDesiredState(v string) *AutoTuneOptions {
5339	s.DesiredState = &v
5340	return s
5341}
5342
5343// SetMaintenanceSchedules sets the MaintenanceSchedules field's value.
5344func (s *AutoTuneOptions) SetMaintenanceSchedules(v []*AutoTuneMaintenanceSchedule) *AutoTuneOptions {
5345	s.MaintenanceSchedules = v
5346	return s
5347}
5348
5349// SetRollbackOnDisable sets the RollbackOnDisable field's value.
5350func (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.
5357type 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".
5374func (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".
5383func (s AutoTuneOptionsInput_) GoString() string {
5384	return s.String()
5385}
5386
5387// Validate inspects the fields of the type to determine if they are valid.
5388func (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.
5408func (s *AutoTuneOptionsInput_) SetDesiredState(v string) *AutoTuneOptionsInput_ {
5409	s.DesiredState = &v
5410	return s
5411}
5412
5413// SetMaintenanceSchedules sets the MaintenanceSchedules field's value.
5414func (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.
5421type 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".
5436func (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".
5445func (s AutoTuneOptionsOutput_) GoString() string {
5446	return s.String()
5447}
5448
5449// SetErrorMessage sets the ErrorMessage field's value.
5450func (s *AutoTuneOptionsOutput_) SetErrorMessage(v string) *AutoTuneOptionsOutput_ {
5451	s.ErrorMessage = &v
5452	return s
5453}
5454
5455// SetState sets the State field's value.
5456func (s *AutoTuneOptionsOutput_) SetState(v string) *AutoTuneOptionsOutput_ {
5457	s.State = &v
5458	return s
5459}
5460
5461// The Auto-Tune status for the domain.
5462type 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".
5477func (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".
5486func (s AutoTuneOptionsStatus) GoString() string {
5487	return s.String()
5488}
5489
5490// SetOptions sets the Options field's value.
5491func (s *AutoTuneOptionsStatus) SetOptions(v *AutoTuneOptions) *AutoTuneOptionsStatus {
5492	s.Options = v
5493	return s
5494}
5495
5496// SetStatus sets the Status field's value.
5497func (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.
5503type 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".
5536func (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".
5545func (s AutoTuneStatus) GoString() string {
5546	return s.String()
5547}
5548
5549// SetCreationDate sets the CreationDate field's value.
5550func (s *AutoTuneStatus) SetCreationDate(v time.Time) *AutoTuneStatus {
5551	s.CreationDate = &v
5552	return s
5553}
5554
5555// SetErrorMessage sets the ErrorMessage field's value.
5556func (s *AutoTuneStatus) SetErrorMessage(v string) *AutoTuneStatus {
5557	s.ErrorMessage = &v
5558	return s
5559}
5560
5561// SetPendingDeletion sets the PendingDeletion field's value.
5562func (s *AutoTuneStatus) SetPendingDeletion(v bool) *AutoTuneStatus {
5563	s.PendingDeletion = &v
5564	return s
5565}
5566
5567// SetState sets the State field's value.
5568func (s *AutoTuneStatus) SetState(v string) *AutoTuneStatus {
5569	s.State = &v
5570	return s
5571}
5572
5573// SetUpdateDate sets the UpdateDate field's value.
5574func (s *AutoTuneStatus) SetUpdateDate(v time.Time) *AutoTuneStatus {
5575	s.UpdateDate = &v
5576	return s
5577}
5578
5579// SetUpdateVersion sets the UpdateVersion field's value.
5580func (s *AutoTuneStatus) SetUpdateVersion(v int64) *AutoTuneStatus {
5581	s.UpdateVersion = &v
5582	return s
5583}
5584
5585// An error occurred while processing the request.
5586type 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".
5599func (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".
5608func (s BaseException) GoString() string {
5609	return s.String()
5610}
5611
5612func newErrorBaseException(v protocol.ResponseMetadata) error {
5613	return &BaseException{
5614		RespMetadata: v,
5615	}
5616}
5617
5618// Code returns the exception type name.
5619func (s *BaseException) Code() string {
5620	return "BaseException"
5621}
5622
5623// Message returns the exception's message.
5624func (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.
5632func (s *BaseException) OrigErr() error {
5633	return nil
5634}
5635
5636func (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.
5641func (s *BaseException) StatusCode() int {
5642	return s.RespMetadata.StatusCode
5643}
5644
5645// RequestID returns the service's response RequestID for request.
5646func (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.
5653type 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".
5668func (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".
5677func (s CancelServiceSoftwareUpdateInput) GoString() string {
5678	return s.String()
5679}
5680
5681// Validate inspects the fields of the type to determine if they are valid.
5682func (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.
5698func (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.
5705type 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".
5717func (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".
5726func (s CancelServiceSoftwareUpdateOutput) GoString() string {
5727	return s.String()
5728}
5729
5730// SetServiceSoftwareOptions sets the ServiceSoftwareOptions field's value.
5731func (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.
5738type 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".
5785func (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".
5794func (s ClusterConfig) GoString() string {
5795	return s.String()
5796}
5797
5798// Validate inspects the fields of the type to determine if they are valid.
5799func (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.
5814func (s *ClusterConfig) SetColdStorageOptions(v *ColdStorageOptions) *ClusterConfig {
5815	s.ColdStorageOptions = v
5816	return s
5817}
5818
5819// SetDedicatedMasterCount sets the DedicatedMasterCount field's value.
5820func (s *ClusterConfig) SetDedicatedMasterCount(v int64) *ClusterConfig {
5821	s.DedicatedMasterCount = &v
5822	return s
5823}
5824
5825// SetDedicatedMasterEnabled sets the DedicatedMasterEnabled field's value.
5826func (s *ClusterConfig) SetDedicatedMasterEnabled(v bool) *ClusterConfig {
5827	s.DedicatedMasterEnabled = &v
5828	return s
5829}
5830
5831// SetDedicatedMasterType sets the DedicatedMasterType field's value.
5832func (s *ClusterConfig) SetDedicatedMasterType(v string) *ClusterConfig {
5833	s.DedicatedMasterType = &v
5834	return s
5835}
5836
5837// SetInstanceCount sets the InstanceCount field's value.
5838func (s *ClusterConfig) SetInstanceCount(v int64) *ClusterConfig {
5839	s.InstanceCount = &v
5840	return s
5841}
5842
5843// SetInstanceType sets the InstanceType field's value.
5844func (s *ClusterConfig) SetInstanceType(v string) *ClusterConfig {
5845	s.InstanceType = &v
5846	return s
5847}
5848
5849// SetWarmCount sets the WarmCount field's value.
5850func (s *ClusterConfig) SetWarmCount(v int64) *ClusterConfig {
5851	s.WarmCount = &v
5852	return s
5853}
5854
5855// SetWarmEnabled sets the WarmEnabled field's value.
5856func (s *ClusterConfig) SetWarmEnabled(v bool) *ClusterConfig {
5857	s.WarmEnabled = &v
5858	return s
5859}
5860
5861// SetWarmType sets the WarmType field's value.
5862func (s *ClusterConfig) SetWarmType(v string) *ClusterConfig {
5863	s.WarmType = &v
5864	return s
5865}
5866
5867// SetZoneAwarenessConfig sets the ZoneAwarenessConfig field's value.
5868func (s *ClusterConfig) SetZoneAwarenessConfig(v *ZoneAwarenessConfig) *ClusterConfig {
5869	s.ZoneAwarenessConfig = v
5870	return s
5871}
5872
5873// SetZoneAwarenessEnabled sets the ZoneAwarenessEnabled field's value.
5874func (s *ClusterConfig) SetZoneAwarenessEnabled(v bool) *ClusterConfig {
5875	s.ZoneAwarenessEnabled = &v
5876	return s
5877}
5878
5879// The configuration status for the specified domain.
5880type 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".
5899func (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".
5908func (s ClusterConfigStatus) GoString() string {
5909	return s.String()
5910}
5911
5912// SetOptions sets the Options field's value.
5913func (s *ClusterConfigStatus) SetOptions(v *ClusterConfig) *ClusterConfigStatus {
5914	s.Options = v
5915	return s
5916}
5917
5918// SetStatus sets the Status field's value.
5919func (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).
5927type 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".
5948func (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".
5957func (s CognitoOptions) GoString() string {
5958	return s.String()
5959}
5960
5961// Validate inspects the fields of the type to determine if they are valid.
5962func (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.
5981func (s *CognitoOptions) SetEnabled(v bool) *CognitoOptions {
5982	s.Enabled = &v
5983	return s
5984}
5985
5986// SetIdentityPoolId sets the IdentityPoolId field's value.
5987func (s *CognitoOptions) SetIdentityPoolId(v string) *CognitoOptions {
5988	s.IdentityPoolId = &v
5989	return s
5990}
5991
5992// SetRoleArn sets the RoleArn field's value.
5993func (s *CognitoOptions) SetRoleArn(v string) *CognitoOptions {
5994	s.RoleArn = &v
5995	return s
5996}
5997
5998// SetUserPoolId sets the UserPoolId field's value.
5999func (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.
6005type 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".
6024func (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".
6033func (s CognitoOptionsStatus) GoString() string {
6034	return s.String()
6035}
6036
6037// SetOptions sets the Options field's value.
6038func (s *CognitoOptionsStatus) SetOptions(v *CognitoOptions) *CognitoOptionsStatus {
6039	s.Options = v
6040	return s
6041}
6042
6043// SetStatus sets the Status field's value.
6044func (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
6050type 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".
6064func (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".
6073func (s ColdStorageOptions) GoString() string {
6074	return s.String()
6075}
6076
6077// Validate inspects the fields of the type to determine if they are valid.
6078func (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.
6091func (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.
6098type 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".
6113func (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".
6122func (s CompatibleVersionsMap) GoString() string {
6123	return s.String()
6124}
6125
6126// SetSourceVersion sets the SourceVersion field's value.
6127func (s *CompatibleVersionsMap) SetSourceVersion(v string) *CompatibleVersionsMap {
6128	s.SourceVersion = &v
6129	return s
6130}
6131
6132// SetTargetVersions sets the TargetVersions field's value.
6133func (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.
6140type 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".
6152func (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".
6161func (s ConflictException) GoString() string {
6162	return s.String()
6163}
6164
6165func newErrorConflictException(v protocol.ResponseMetadata) error {
6166	return &ConflictException{
6167		RespMetadata: v,
6168	}
6169}
6170
6171// Code returns the exception type name.
6172func (s *ConflictException) Code() string {
6173	return "ConflictException"
6174}
6175
6176// Message returns the exception's message.
6177func (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.
6185func (s *ConflictException) OrigErr() error {
6186	return nil
6187}
6188
6189func (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.
6194func (s *ConflictException) StatusCode() int {
6195	return s.RespMetadata.StatusCode
6196}
6197
6198// RequestID returns the service's response RequestID for request.
6199func (s *ConflictException) RequestID() string {
6200	return s.RespMetadata.RequestID
6201}
6202
6203type 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".
6279func (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".
6288func (s CreateDomainInput) GoString() string {
6289	return s.String()
6290}
6291
6292// Validate inspects the fields of the type to determine if they are valid.
6293func (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.
6362func (s *CreateDomainInput) SetAccessPolicies(v string) *CreateDomainInput {
6363	s.AccessPolicies = &v
6364	return s
6365}
6366
6367// SetAdvancedOptions sets the AdvancedOptions field's value.
6368func (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.
6374func (s *CreateDomainInput) SetAdvancedSecurityOptions(v *AdvancedSecurityOptionsInput_) *CreateDomainInput {
6375	s.AdvancedSecurityOptions = v
6376	return s
6377}
6378
6379// SetAutoTuneOptions sets the AutoTuneOptions field's value.
6380func (s *CreateDomainInput) SetAutoTuneOptions(v *AutoTuneOptionsInput_) *CreateDomainInput {
6381	s.AutoTuneOptions = v
6382	return s
6383}
6384
6385// SetClusterConfig sets the ClusterConfig field's value.
6386func (s *CreateDomainInput) SetClusterConfig(v *ClusterConfig) *CreateDomainInput {
6387	s.ClusterConfig = v
6388	return s
6389}
6390
6391// SetCognitoOptions sets the CognitoOptions field's value.
6392func (s *CreateDomainInput) SetCognitoOptions(v *CognitoOptions) *CreateDomainInput {
6393	s.CognitoOptions = v
6394	return s
6395}
6396
6397// SetDomainEndpointOptions sets the DomainEndpointOptions field's value.
6398func (s *CreateDomainInput) SetDomainEndpointOptions(v *DomainEndpointOptions) *CreateDomainInput {
6399	s.DomainEndpointOptions = v
6400	return s
6401}
6402
6403// SetDomainName sets the DomainName field's value.
6404func (s *CreateDomainInput) SetDomainName(v string) *CreateDomainInput {
6405	s.DomainName = &v
6406	return s
6407}
6408
6409// SetEBSOptions sets the EBSOptions field's value.
6410func (s *CreateDomainInput) SetEBSOptions(v *EBSOptions) *CreateDomainInput {
6411	s.EBSOptions = v
6412	return s
6413}
6414
6415// SetEncryptionAtRestOptions sets the EncryptionAtRestOptions field's value.
6416func (s *CreateDomainInput) SetEncryptionAtRestOptions(v *EncryptionAtRestOptions) *CreateDomainInput {
6417	s.EncryptionAtRestOptions = v
6418	return s
6419}
6420
6421// SetEngineVersion sets the EngineVersion field's value.
6422func (s *CreateDomainInput) SetEngineVersion(v string) *CreateDomainInput {
6423	s.EngineVersion = &v
6424	return s
6425}
6426
6427// SetLogPublishingOptions sets the LogPublishingOptions field's value.
6428func (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.
6434func (s *CreateDomainInput) SetNodeToNodeEncryptionOptions(v *NodeToNodeEncryptionOptions) *CreateDomainInput {
6435	s.NodeToNodeEncryptionOptions = v
6436	return s
6437}
6438
6439// SetSnapshotOptions sets the SnapshotOptions field's value.
6440func (s *CreateDomainInput) SetSnapshotOptions(v *SnapshotOptions) *CreateDomainInput {
6441	s.SnapshotOptions = v
6442	return s
6443}
6444
6445// SetTagList sets the TagList field's value.
6446func (s *CreateDomainInput) SetTagList(v []*Tag) *CreateDomainInput {
6447	s.TagList = v
6448	return s
6449}
6450
6451// SetVPCOptions sets the VPCOptions field's value.
6452func (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.
6459type 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".
6471func (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".
6480func (s CreateDomainOutput) GoString() string {
6481	return s.String()
6482}
6483
6484// SetDomainStatus sets the DomainStatus field's value.
6485func (s *CreateDomainOutput) SetDomainStatus(v *DomainStatus) *CreateDomainOutput {
6486	s.DomainStatus = v
6487	return s
6488}
6489
6490// Container for the parameters to the CreateOutboundConnection operation.
6491type 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".
6515func (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".
6524func (s CreateOutboundConnectionInput) GoString() string {
6525	return s.String()
6526}
6527
6528// Validate inspects the fields of the type to determine if they are valid.
6529func (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.
6561func (s *CreateOutboundConnectionInput) SetConnectionAlias(v string) *CreateOutboundConnectionInput {
6562	s.ConnectionAlias = &v
6563	return s
6564}
6565
6566// SetLocalDomainInfo sets the LocalDomainInfo field's value.
6567func (s *CreateOutboundConnectionInput) SetLocalDomainInfo(v *DomainInformationContainer) *CreateOutboundConnectionInput {
6568	s.LocalDomainInfo = v
6569	return s
6570}
6571
6572// SetRemoteDomainInfo sets the RemoteDomainInfo field's value.
6573func (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.
6580type 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".
6605func (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".
6614func (s CreateOutboundConnectionOutput) GoString() string {
6615	return s.String()
6616}
6617
6618// SetConnectionAlias sets the ConnectionAlias field's value.
6619func (s *CreateOutboundConnectionOutput) SetConnectionAlias(v string) *CreateOutboundConnectionOutput {
6620	s.ConnectionAlias = &v
6621	return s
6622}
6623
6624// SetConnectionId sets the ConnectionId field's value.
6625func (s *CreateOutboundConnectionOutput) SetConnectionId(v string) *CreateOutboundConnectionOutput {
6626	s.ConnectionId = &v
6627	return s
6628}
6629
6630// SetConnectionStatus sets the ConnectionStatus field's value.
6631func (s *CreateOutboundConnectionOutput) SetConnectionStatus(v *OutboundConnectionStatus) *CreateOutboundConnectionOutput {
6632	s.ConnectionStatus = v
6633	return s
6634}
6635
6636// SetLocalDomainInfo sets the LocalDomainInfo field's value.
6637func (s *CreateOutboundConnectionOutput) SetLocalDomainInfo(v *DomainInformationContainer) *CreateOutboundConnectionOutput {
6638	s.LocalDomainInfo = v
6639	return s
6640}
6641
6642// SetRemoteDomainInfo sets the RemoteDomainInfo field's value.
6643func (s *CreateOutboundConnectionOutput) SetRemoteDomainInfo(v *DomainInformationContainer) *CreateOutboundConnectionOutput {
6644	s.RemoteDomainInfo = v
6645	return s
6646}
6647
6648// Container for request parameters to the CreatePackage operation.
6649type 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".
6676func (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".
6685func (s CreatePackageInput) GoString() string {
6686	return s.String()
6687}
6688
6689// Validate inspects the fields of the type to determine if they are valid.
6690func (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.
6717func (s *CreatePackageInput) SetPackageDescription(v string) *CreatePackageInput {
6718	s.PackageDescription = &v
6719	return s
6720}
6721
6722// SetPackageName sets the PackageName field's value.
6723func (s *CreatePackageInput) SetPackageName(v string) *CreatePackageInput {
6724	s.PackageName = &v
6725	return s
6726}
6727
6728// SetPackageSource sets the PackageSource field's value.
6729func (s *CreatePackageInput) SetPackageSource(v *PackageSource) *CreatePackageInput {
6730	s.PackageSource = v
6731	return s
6732}
6733
6734// SetPackageType sets the PackageType field's value.
6735func (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.
6741type 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".
6753func (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".
6762func (s CreatePackageOutput) GoString() string {
6763	return s.String()
6764}
6765
6766// SetPackageDetails sets the PackageDetails field's value.
6767func (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.
6774type 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".
6788func (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".
6797func (s DeleteDomainInput) GoString() string {
6798	return s.String()
6799}
6800
6801// Validate inspects the fields of the type to determine if they are valid.
6802func (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.
6818func (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.
6826type 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".
6838func (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".
6847func (s DeleteDomainOutput) GoString() string {
6848	return s.String()
6849}
6850
6851// SetDomainStatus sets the DomainStatus field's value.
6852func (s *DeleteDomainOutput) SetDomainStatus(v *DomainStatus) *DeleteDomainOutput {
6853	s.DomainStatus = v
6854	return s
6855}
6856
6857// Container for the parameters to the DeleteInboundConnection operation.
6858type 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".
6872func (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".
6881func (s DeleteInboundConnectionInput) GoString() string {
6882	return s.String()
6883}
6884
6885// Validate inspects the fields of the type to determine if they are valid.
6886func (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.
6902func (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.
6909type 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".
6921func (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".
6930func (s DeleteInboundConnectionOutput) GoString() string {
6931	return s.String()
6932}
6933
6934// SetConnection sets the Connection field's value.
6935func (s *DeleteInboundConnectionOutput) SetConnection(v *InboundConnection) *DeleteInboundConnectionOutput {
6936	s.Connection = v
6937	return s
6938}
6939
6940// Container for the parameters to the DeleteOutboundConnection operation.
6941type 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".
6955func (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".
6964func (s DeleteOutboundConnectionInput) GoString() string {
6965	return s.String()
6966}
6967
6968// Validate inspects the fields of the type to determine if they are valid.
6969func (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.
6985func (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.
6992type 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".
7004func (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".
7013func (s DeleteOutboundConnectionOutput) GoString() string {
7014	return s.String()
7015}
7016
7017// SetConnection sets the Connection field's value.
7018func (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.
7024type 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".
7039func (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".
7048func (s DeletePackageInput) GoString() string {
7049	return s.String()
7050}
7051
7052// Validate inspects the fields of the type to determine if they are valid.
7053func (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.
7069func (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.
7075type 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".
7087func (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".
7096func (s DeletePackageOutput) GoString() string {
7097	return s.String()
7098}
7099
7100// SetPackageDetails sets the PackageDetails field's value.
7101func (s *DeletePackageOutput) SetPackageDetails(v *PackageDetails) *DeletePackageOutput {
7102	s.PackageDetails = v
7103	return s
7104}
7105
7106// Container for the parameters to the DescribeDomainAutoTunes operation.
7107type 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".
7129func (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".
7138func (s DescribeDomainAutoTunesInput) GoString() string {
7139	return s.String()
7140}
7141
7142// Validate inspects the fields of the type to determine if they are valid.
7143func (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.
7159func (s *DescribeDomainAutoTunesInput) SetDomainName(v string) *DescribeDomainAutoTunesInput {
7160	s.DomainName = &v
7161	return s
7162}
7163
7164// SetMaxResults sets the MaxResults field's value.
7165func (s *DescribeDomainAutoTunesInput) SetMaxResults(v int64) *DescribeDomainAutoTunesInput {
7166	s.MaxResults = &v
7167	return s
7168}
7169
7170// SetNextToken sets the NextToken field's value.
7171func (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.
7179type 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".
7196func (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".
7205func (s DescribeDomainAutoTunesOutput) GoString() string {
7206	return s.String()
7207}
7208
7209// SetAutoTunes sets the AutoTunes field's value.
7210func (s *DescribeDomainAutoTunesOutput) SetAutoTunes(v []*AutoTune) *DescribeDomainAutoTunesOutput {
7211	s.AutoTunes = v
7212	return s
7213}
7214
7215// SetNextToken sets the NextToken field's value.
7216func (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.
7223type 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".
7237func (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".
7246func (s DescribeDomainConfigInput) GoString() string {
7247	return s.String()
7248}
7249
7250// Validate inspects the fields of the type to determine if they are valid.
7251func (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.
7267func (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.
7274type 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".
7289func (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".
7298func (s DescribeDomainConfigOutput) GoString() string {
7299	return s.String()
7300}
7301
7302// SetDomainConfig sets the DomainConfig field's value.
7303func (s *DescribeDomainConfigOutput) SetDomainConfig(v *DomainConfig) *DescribeDomainConfigOutput {
7304	s.DomainConfig = v
7305	return s
7306}
7307
7308// Container for the parameters to the DescribeDomain operation.
7309type 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".
7323func (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".
7332func (s DescribeDomainInput) GoString() string {
7333	return s.String()
7334}
7335
7336// Validate inspects the fields of the type to determine if they are valid.
7337func (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.
7353func (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.
7360type 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".
7374func (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".
7383func (s DescribeDomainOutput) GoString() string {
7384	return s.String()
7385}
7386
7387// SetDomainStatus sets the DomainStatus field's value.
7388func (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.
7395type 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".
7409func (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".
7418func (s DescribeDomainsInput) GoString() string {
7419	return s.String()
7420}
7421
7422// Validate inspects the fields of the type to determine if they are valid.
7423func (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.
7436func (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.
7443type 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".
7457func (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".
7466func (s DescribeDomainsOutput) GoString() string {
7467	return s.String()
7468}
7469
7470// SetDomainStatusList sets the DomainStatusList field's value.
7471func (s *DescribeDomainsOutput) SetDomainStatusList(v []*DomainStatus) *DescribeDomainsOutput {
7472	s.DomainStatusList = v
7473	return s
7474}
7475
7476// Container for the parameters to the DescribeInboundConnections operation.
7477type 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".
7507func (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".
7516func (s DescribeInboundConnectionsInput) GoString() string {
7517	return s.String()
7518}
7519
7520// Validate inspects the fields of the type to determine if they are valid.
7521func (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.
7541func (s *DescribeInboundConnectionsInput) SetFilters(v []*Filter) *DescribeInboundConnectionsInput {
7542	s.Filters = v
7543	return s
7544}
7545
7546// SetMaxResults sets the MaxResults field's value.
7547func (s *DescribeInboundConnectionsInput) SetMaxResults(v int64) *DescribeInboundConnectionsInput {
7548	s.MaxResults = &v
7549	return s
7550}
7551
7552// SetNextToken sets the NextToken field's value.
7553func (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.
7560type 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".
7576func (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".
7585func (s DescribeInboundConnectionsOutput) GoString() string {
7586	return s.String()
7587}
7588
7589// SetConnections sets the Connections field's value.
7590func (s *DescribeInboundConnectionsOutput) SetConnections(v []*InboundConnection) *DescribeInboundConnectionsOutput {
7591	s.Connections = v
7592	return s
7593}
7594
7595// SetNextToken sets the NextToken field's value.
7596func (s *DescribeInboundConnectionsOutput) SetNextToken(v string) *DescribeInboundConnectionsOutput {
7597	s.NextToken = &v
7598	return s
7599}
7600
7601// Container for the parameters to the DescribeInstanceTypeLimits operation.
7602type 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".
7626func (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".
7635func (s DescribeInstanceTypeLimitsInput) GoString() string {
7636	return s.String()
7637}
7638
7639// Validate inspects the fields of the type to determine if they are valid.
7640func (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.
7665func (s *DescribeInstanceTypeLimitsInput) SetDomainName(v string) *DescribeInstanceTypeLimitsInput {
7666	s.DomainName = &v
7667	return s
7668}
7669
7670// SetEngineVersion sets the EngineVersion field's value.
7671func (s *DescribeInstanceTypeLimitsInput) SetEngineVersion(v string) *DescribeInstanceTypeLimitsInput {
7672	s.EngineVersion = &v
7673	return s
7674}
7675
7676// SetInstanceType sets the InstanceType field's value.
7677func (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.
7684type 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".
7702func (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".
7711func (s DescribeInstanceTypeLimitsOutput) GoString() string {
7712	return s.String()
7713}
7714
7715// SetLimitsByRole sets the LimitsByRole field's value.
7716func (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.
7722type 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".
7752func (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".
7761func (s DescribeOutboundConnectionsInput) GoString() string {
7762	return s.String()
7763}
7764
7765// Validate inspects the fields of the type to determine if they are valid.
7766func (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.
7786func (s *DescribeOutboundConnectionsInput) SetFilters(v []*Filter) *DescribeOutboundConnectionsInput {
7787	s.Filters = v
7788	return s
7789}
7790
7791// SetMaxResults sets the MaxResults field's value.
7792func (s *DescribeOutboundConnectionsInput) SetMaxResults(v int64) *DescribeOutboundConnectionsInput {
7793	s.MaxResults = &v
7794	return s
7795}
7796
7797// SetNextToken sets the NextToken field's value.
7798func (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.
7805type 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".
7821func (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".
7830func (s DescribeOutboundConnectionsOutput) GoString() string {
7831	return s.String()
7832}
7833
7834// SetConnections sets the Connections field's value.
7835func (s *DescribeOutboundConnectionsOutput) SetConnections(v []*OutboundConnection) *DescribeOutboundConnectionsOutput {
7836	s.Connections = v
7837	return s
7838}
7839
7840// SetNextToken sets the NextToken field's value.
7841func (s *DescribeOutboundConnectionsOutput) SetNextToken(v string) *DescribeOutboundConnectionsOutput {
7842	s.NextToken = &v
7843	return s
7844}
7845
7846// A filter to apply to the DescribePackage response.
7847type 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".
7862func (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".
7871func (s DescribePackagesFilter) GoString() string {
7872	return s.String()
7873}
7874
7875// SetName sets the Name field's value.
7876func (s *DescribePackagesFilter) SetName(v string) *DescribePackagesFilter {
7877	s.Name = &v
7878	return s
7879}
7880
7881// SetValue sets the Value field's value.
7882func (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.
7888type 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".
7907func (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".
7916func (s DescribePackagesInput) GoString() string {
7917	return s.String()
7918}
7919
7920// SetFilters sets the Filters field's value.
7921func (s *DescribePackagesInput) SetFilters(v []*DescribePackagesFilter) *DescribePackagesInput {
7922	s.Filters = v
7923	return s
7924}
7925
7926// SetMaxResults sets the MaxResults field's value.
7927func (s *DescribePackagesInput) SetMaxResults(v int64) *DescribePackagesInput {
7928	s.MaxResults = &v
7929	return s
7930}
7931
7932// SetNextToken sets the NextToken field's value.
7933func (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.
7939type 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".
7953func (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".
7962func (s DescribePackagesOutput) GoString() string {
7963	return s.String()
7964}
7965
7966// SetNextToken sets the NextToken field's value.
7967func (s *DescribePackagesOutput) SetNextToken(v string) *DescribePackagesOutput {
7968	s.NextToken = &v
7969	return s
7970}
7971
7972// SetPackageDetailsList sets the PackageDetailsList field's value.
7973func (s *DescribePackagesOutput) SetPackageDetailsList(v []*PackageDetails) *DescribePackagesOutput {
7974	s.PackageDetailsList = v
7975	return s
7976}
7977
7978// Container for parameters to DescribeReservedInstanceOfferings
7979type 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".
7999func (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".
8008func (s DescribeReservedInstanceOfferingsInput) GoString() string {
8009	return s.String()
8010}
8011
8012// Validate inspects the fields of the type to determine if they are valid.
8013func (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.
8026func (s *DescribeReservedInstanceOfferingsInput) SetMaxResults(v int64) *DescribeReservedInstanceOfferingsInput {
8027	s.MaxResults = &v
8028	return s
8029}
8030
8031// SetNextToken sets the NextToken field's value.
8032func (s *DescribeReservedInstanceOfferingsInput) SetNextToken(v string) *DescribeReservedInstanceOfferingsInput {
8033	s.NextToken = &v
8034	return s
8035}
8036
8037// SetReservedInstanceOfferingId sets the ReservedInstanceOfferingId field's value.
8038func (s *DescribeReservedInstanceOfferingsInput) SetReservedInstanceOfferingId(v string) *DescribeReservedInstanceOfferingsInput {
8039	s.ReservedInstanceOfferingId = &v
8040	return s
8041}
8042
8043// Container for results from DescribeReservedInstanceOfferings
8044type 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".
8059func (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".
8068func (s DescribeReservedInstanceOfferingsOutput) GoString() string {
8069	return s.String()
8070}
8071
8072// SetNextToken sets the NextToken field's value.
8073func (s *DescribeReservedInstanceOfferingsOutput) SetNextToken(v string) *DescribeReservedInstanceOfferingsOutput {
8074	s.NextToken = &v
8075	return s
8076}
8077
8078// SetReservedInstanceOfferings sets the ReservedInstanceOfferings field's value.
8079func (s *DescribeReservedInstanceOfferingsOutput) SetReservedInstanceOfferings(v []*ReservedInstanceOffering) *DescribeReservedInstanceOfferingsOutput {
8080	s.ReservedInstanceOfferings = v
8081	return s
8082}
8083
8084// Container for parameters to DescribeReservedInstances
8085type 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".
8106func (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".
8115func (s DescribeReservedInstancesInput) GoString() string {
8116	return s.String()
8117}
8118
8119// Validate inspects the fields of the type to determine if they are valid.
8120func (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.
8133func (s *DescribeReservedInstancesInput) SetMaxResults(v int64) *DescribeReservedInstancesInput {
8134	s.MaxResults = &v
8135	return s
8136}
8137
8138// SetNextToken sets the NextToken field's value.
8139func (s *DescribeReservedInstancesInput) SetNextToken(v string) *DescribeReservedInstancesInput {
8140	s.NextToken = &v
8141	return s
8142}
8143
8144// SetReservedInstanceId sets the ReservedInstanceId field's value.
8145func (s *DescribeReservedInstancesInput) SetReservedInstanceId(v string) *DescribeReservedInstancesInput {
8146	s.ReservedInstanceId = &v
8147	return s
8148}
8149
8150// Container for results from DescribeReservedInstances
8151type 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".
8166func (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".
8175func (s DescribeReservedInstancesOutput) GoString() string {
8176	return s.String()
8177}
8178
8179// SetNextToken sets the NextToken field's value.
8180func (s *DescribeReservedInstancesOutput) SetNextToken(v string) *DescribeReservedInstancesOutput {
8181	s.NextToken = &v
8182	return s
8183}
8184
8185// SetReservedInstances sets the ReservedInstances field's value.
8186func (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.
8193type 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".
8205func (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".
8214func (s DisabledOperationException) GoString() string {
8215	return s.String()
8216}
8217
8218func newErrorDisabledOperationException(v protocol.ResponseMetadata) error {
8219	return &DisabledOperationException{
8220		RespMetadata: v,
8221	}
8222}
8223
8224// Code returns the exception type name.
8225func (s *DisabledOperationException) Code() string {
8226	return "DisabledOperationException"
8227}
8228
8229// Message returns the exception's message.
8230func (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.
8238func (s *DisabledOperationException) OrigErr() error {
8239	return nil
8240}
8241
8242func (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.
8247func (s *DisabledOperationException) StatusCode() int {
8248	return s.RespMetadata.StatusCode
8249}
8250
8251// RequestID returns the service's response RequestID for request.
8252func (s *DisabledOperationException) RequestID() string {
8253	return s.RespMetadata.RequestID
8254}
8255
8256// Container for the request parameters to the DissociatePackage operation.
8257type 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".
8277func (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".
8286func (s DissociatePackageInput) GoString() string {
8287	return s.String()
8288}
8289
8290// Validate inspects the fields of the type to determine if they are valid.
8291func (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.
8313func (s *DissociatePackageInput) SetDomainName(v string) *DissociatePackageInput {
8314	s.DomainName = &v
8315	return s
8316}
8317
8318// SetPackageID sets the PackageID field's value.
8319func (s *DissociatePackageInput) SetPackageID(v string) *DissociatePackageInput {
8320	s.PackageID = &v
8321	return s
8322}
8323
8324// Container for the response returned by DissociatePackage operation.
8325type 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".
8337func (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".
8346func (s DissociatePackageOutput) GoString() string {
8347	return s.String()
8348}
8349
8350// SetDomainPackageDetails sets the DomainPackageDetails field's value.
8351func (s *DissociatePackageOutput) SetDomainPackageDetails(v *DomainPackageDetails) *DissociatePackageOutput {
8352	s.DomainPackageDetails = v
8353	return s
8354}
8355
8356// The configuration of a domain.
8357type 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".
8412func (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".
8421func (s DomainConfig) GoString() string {
8422	return s.String()
8423}
8424
8425// SetAccessPolicies sets the AccessPolicies field's value.
8426func (s *DomainConfig) SetAccessPolicies(v *AccessPoliciesStatus) *DomainConfig {
8427	s.AccessPolicies = v
8428	return s
8429}
8430
8431// SetAdvancedOptions sets the AdvancedOptions field's value.
8432func (s *DomainConfig) SetAdvancedOptions(v *AdvancedOptionsStatus) *DomainConfig {
8433	s.AdvancedOptions = v
8434	return s
8435}
8436
8437// SetAdvancedSecurityOptions sets the AdvancedSecurityOptions field's value.
8438func (s *DomainConfig) SetAdvancedSecurityOptions(v *AdvancedSecurityOptionsStatus) *DomainConfig {
8439	s.AdvancedSecurityOptions = v
8440	return s
8441}
8442
8443// SetAutoTuneOptions sets the AutoTuneOptions field's value.
8444func (s *DomainConfig) SetAutoTuneOptions(v *AutoTuneOptionsStatus) *DomainConfig {
8445	s.AutoTuneOptions = v
8446	return s
8447}
8448
8449// SetClusterConfig sets the ClusterConfig field's value.
8450func (s *DomainConfig) SetClusterConfig(v *ClusterConfigStatus) *DomainConfig {
8451	s.ClusterConfig = v
8452	return s
8453}
8454
8455// SetCognitoOptions sets the CognitoOptions field's value.
8456func (s *DomainConfig) SetCognitoOptions(v *CognitoOptionsStatus) *DomainConfig {
8457	s.CognitoOptions = v
8458	return s
8459}
8460
8461// SetDomainEndpointOptions sets the DomainEndpointOptions field's value.
8462func (s *DomainConfig) SetDomainEndpointOptions(v *DomainEndpointOptionsStatus) *DomainConfig {
8463	s.DomainEndpointOptions = v
8464	return s
8465}
8466
8467// SetEBSOptions sets the EBSOptions field's value.
8468func (s *DomainConfig) SetEBSOptions(v *EBSOptionsStatus) *DomainConfig {
8469	s.EBSOptions = v
8470	return s
8471}
8472
8473// SetEncryptionAtRestOptions sets the EncryptionAtRestOptions field's value.
8474func (s *DomainConfig) SetEncryptionAtRestOptions(v *EncryptionAtRestOptionsStatus) *DomainConfig {
8475	s.EncryptionAtRestOptions = v
8476	return s
8477}
8478
8479// SetEngineVersion sets the EngineVersion field's value.
8480func (s *DomainConfig) SetEngineVersion(v *VersionStatus) *DomainConfig {
8481	s.EngineVersion = v
8482	return s
8483}
8484
8485// SetLogPublishingOptions sets the LogPublishingOptions field's value.
8486func (s *DomainConfig) SetLogPublishingOptions(v *LogPublishingOptionsStatus) *DomainConfig {
8487	s.LogPublishingOptions = v
8488	return s
8489}
8490
8491// SetNodeToNodeEncryptionOptions sets the NodeToNodeEncryptionOptions field's value.
8492func (s *DomainConfig) SetNodeToNodeEncryptionOptions(v *NodeToNodeEncryptionOptionsStatus) *DomainConfig {
8493	s.NodeToNodeEncryptionOptions = v
8494	return s
8495}
8496
8497// SetSnapshotOptions sets the SnapshotOptions field's value.
8498func (s *DomainConfig) SetSnapshotOptions(v *SnapshotOptionsStatus) *DomainConfig {
8499	s.SnapshotOptions = v
8500	return s
8501}
8502
8503// SetVPCOptions sets the VPCOptions field's value.
8504func (s *DomainConfig) SetVPCOptions(v *VPCDerivedInfoStatus) *DomainConfig {
8505	s.VPCOptions = v
8506	return s
8507}
8508
8509// Options to configure the endpoint for the domain.
8510type 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".
8540func (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".
8549func (s DomainEndpointOptions) GoString() string {
8550	return s.String()
8551}
8552
8553// Validate inspects the fields of the type to determine if they are valid.
8554func (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.
8570func (s *DomainEndpointOptions) SetCustomEndpoint(v string) *DomainEndpointOptions {
8571	s.CustomEndpoint = &v
8572	return s
8573}
8574
8575// SetCustomEndpointCertificateArn sets the CustomEndpointCertificateArn field's value.
8576func (s *DomainEndpointOptions) SetCustomEndpointCertificateArn(v string) *DomainEndpointOptions {
8577	s.CustomEndpointCertificateArn = &v
8578	return s
8579}
8580
8581// SetCustomEndpointEnabled sets the CustomEndpointEnabled field's value.
8582func (s *DomainEndpointOptions) SetCustomEndpointEnabled(v bool) *DomainEndpointOptions {
8583	s.CustomEndpointEnabled = &v
8584	return s
8585}
8586
8587// SetEnforceHTTPS sets the EnforceHTTPS field's value.
8588func (s *DomainEndpointOptions) SetEnforceHTTPS(v bool) *DomainEndpointOptions {
8589	s.EnforceHTTPS = &v
8590	return s
8591}
8592
8593// SetTLSSecurityPolicy sets the TLSSecurityPolicy field's value.
8594func (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.
8600type 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".
8620func (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".
8629func (s DomainEndpointOptionsStatus) GoString() string {
8630	return s.String()
8631}
8632
8633// SetOptions sets the Options field's value.
8634func (s *DomainEndpointOptionsStatus) SetOptions(v *DomainEndpointOptions) *DomainEndpointOptionsStatus {
8635	s.Options = v
8636	return s
8637}
8638
8639// SetStatus sets the Status field's value.
8640func (s *DomainEndpointOptionsStatus) SetStatus(v *OptionStatus) *DomainEndpointOptionsStatus {
8641	s.Status = v
8642	return s
8643}
8644
8645type 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".
8660func (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".
8669func (s DomainInfo) GoString() string {
8670	return s.String()
8671}
8672
8673// SetDomainName sets the DomainName field's value.
8674func (s *DomainInfo) SetDomainName(v string) *DomainInfo {
8675	s.DomainName = &v
8676	return s
8677}
8678
8679// SetEngineType sets the EngineType field's value.
8680func (s *DomainInfo) SetEngineType(v string) *DomainInfo {
8681	s.EngineType = &v
8682	return s
8683}
8684
8685type 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".
8696func (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".
8705func (s DomainInformationContainer) GoString() string {
8706	return s.String()
8707}
8708
8709// Validate inspects the fields of the type to determine if they are valid.
8710func (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.
8725func (s *DomainInformationContainer) SetAWSDomainInformation(v *AWSDomainInformation) *DomainInformationContainer {
8726	s.AWSDomainInformation = v
8727	return s
8728}
8729
8730// Information on a package associated with a domain.
8731type 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".
8768func (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".
8777func (s DomainPackageDetails) GoString() string {
8778	return s.String()
8779}
8780
8781// SetDomainName sets the DomainName field's value.
8782func (s *DomainPackageDetails) SetDomainName(v string) *DomainPackageDetails {
8783	s.DomainName = &v
8784	return s
8785}
8786
8787// SetDomainPackageStatus sets the DomainPackageStatus field's value.
8788func (s *DomainPackageDetails) SetDomainPackageStatus(v string) *DomainPackageDetails {
8789	s.DomainPackageStatus = &v
8790	return s
8791}
8792
8793// SetErrorDetails sets the ErrorDetails field's value.
8794func (s *DomainPackageDetails) SetErrorDetails(v *ErrorDetails) *DomainPackageDetails {
8795	s.ErrorDetails = v
8796	return s
8797}
8798
8799// SetLastUpdated sets the LastUpdated field's value.
8800func (s *DomainPackageDetails) SetLastUpdated(v time.Time) *DomainPackageDetails {
8801	s.LastUpdated = &v
8802	return s
8803}
8804
8805// SetPackageID sets the PackageID field's value.
8806func (s *DomainPackageDetails) SetPackageID(v string) *DomainPackageDetails {
8807	s.PackageID = &v
8808	return s
8809}
8810
8811// SetPackageName sets the PackageName field's value.
8812func (s *DomainPackageDetails) SetPackageName(v string) *DomainPackageDetails {
8813	s.PackageName = &v
8814	return s
8815}
8816
8817// SetPackageType sets the PackageType field's value.
8818func (s *DomainPackageDetails) SetPackageType(v string) *DomainPackageDetails {
8819	s.PackageType = &v
8820	return s
8821}
8822
8823// SetPackageVersion sets the PackageVersion field's value.
8824func (s *DomainPackageDetails) SetPackageVersion(v string) *DomainPackageDetails {
8825	s.PackageVersion = &v
8826	return s
8827}
8828
8829// SetReferencePath sets the ReferencePath field's value.
8830func (s *DomainPackageDetails) SetReferencePath(v string) *DomainPackageDetails {
8831	s.ReferencePath = &v
8832	return s
8833}
8834
8835// The current status of a domain.
8836type 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".
8936func (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".
8945func (s DomainStatus) GoString() string {
8946	return s.String()
8947}
8948
8949// SetARN sets the ARN field's value.
8950func (s *DomainStatus) SetARN(v string) *DomainStatus {
8951	s.ARN = &v
8952	return s
8953}
8954
8955// SetAccessPolicies sets the AccessPolicies field's value.
8956func (s *DomainStatus) SetAccessPolicies(v string) *DomainStatus {
8957	s.AccessPolicies = &v
8958	return s
8959}
8960
8961// SetAdvancedOptions sets the AdvancedOptions field's value.
8962func (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.
8968func (s *DomainStatus) SetAdvancedSecurityOptions(v *AdvancedSecurityOptions) *DomainStatus {
8969	s.AdvancedSecurityOptions = v
8970	return s
8971}
8972
8973// SetAutoTuneOptions sets the AutoTuneOptions field's value.
8974func (s *DomainStatus) SetAutoTuneOptions(v *AutoTuneOptionsOutput_) *DomainStatus {
8975	s.AutoTuneOptions = v
8976	return s
8977}
8978
8979// SetClusterConfig sets the ClusterConfig field's value.
8980func (s *DomainStatus) SetClusterConfig(v *ClusterConfig) *DomainStatus {
8981	s.ClusterConfig = v
8982	return s
8983}
8984
8985// SetCognitoOptions sets the CognitoOptions field's value.
8986func (s *DomainStatus) SetCognitoOptions(v *CognitoOptions) *DomainStatus {
8987	s.CognitoOptions = v
8988	return s
8989}
8990
8991// SetCreated sets the Created field's value.
8992func (s *DomainStatus) SetCreated(v bool) *DomainStatus {
8993	s.Created = &v
8994	return s
8995}
8996
8997// SetDeleted sets the Deleted field's value.
8998func (s *DomainStatus) SetDeleted(v bool) *DomainStatus {
8999	s.Deleted = &v
9000	return s
9001}
9002
9003// SetDomainEndpointOptions sets the DomainEndpointOptions field's value.
9004func (s *DomainStatus) SetDomainEndpointOptions(v *DomainEndpointOptions) *DomainStatus {
9005	s.DomainEndpointOptions = v
9006	return s
9007}
9008
9009// SetDomainId sets the DomainId field's value.
9010func (s *DomainStatus) SetDomainId(v string) *DomainStatus {
9011	s.DomainId = &v
9012	return s
9013}
9014
9015// SetDomainName sets the DomainName field's value.
9016func (s *DomainStatus) SetDomainName(v string) *DomainStatus {
9017	s.DomainName = &v
9018	return s
9019}
9020
9021// SetEBSOptions sets the EBSOptions field's value.
9022func (s *DomainStatus) SetEBSOptions(v *EBSOptions) *DomainStatus {
9023	s.EBSOptions = v
9024	return s
9025}
9026
9027// SetEncryptionAtRestOptions sets the EncryptionAtRestOptions field's value.
9028func (s *DomainStatus) SetEncryptionAtRestOptions(v *EncryptionAtRestOptions) *DomainStatus {
9029	s.EncryptionAtRestOptions = v
9030	return s
9031}
9032
9033// SetEndpoint sets the Endpoint field's value.
9034func (s *DomainStatus) SetEndpoint(v string) *DomainStatus {
9035	s.Endpoint = &v
9036	return s
9037}
9038
9039// SetEndpoints sets the Endpoints field's value.
9040func (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.
9046func (s *DomainStatus) SetEngineVersion(v string) *DomainStatus {
9047	s.EngineVersion = &v
9048	return s
9049}
9050
9051// SetLogPublishingOptions sets the LogPublishingOptions field's value.
9052func (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.
9058func (s *DomainStatus) SetNodeToNodeEncryptionOptions(v *NodeToNodeEncryptionOptions) *DomainStatus {
9059	s.NodeToNodeEncryptionOptions = v
9060	return s
9061}
9062
9063// SetProcessing sets the Processing field's value.
9064func (s *DomainStatus) SetProcessing(v bool) *DomainStatus {
9065	s.Processing = &v
9066	return s
9067}
9068
9069// SetServiceSoftwareOptions sets the ServiceSoftwareOptions field's value.
9070func (s *DomainStatus) SetServiceSoftwareOptions(v *ServiceSoftwareOptions) *DomainStatus {
9071	s.ServiceSoftwareOptions = v
9072	return s
9073}
9074
9075// SetSnapshotOptions sets the SnapshotOptions field's value.
9076func (s *DomainStatus) SetSnapshotOptions(v *SnapshotOptions) *DomainStatus {
9077	s.SnapshotOptions = v
9078	return s
9079}
9080
9081// SetUpgradeProcessing sets the UpgradeProcessing field's value.
9082func (s *DomainStatus) SetUpgradeProcessing(v bool) *DomainStatus {
9083	s.UpgradeProcessing = &v
9084	return s
9085}
9086
9087// SetVPCOptions sets the VPCOptions field's value.
9088func (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.
9096type 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".
9115func (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".
9124func (s Duration) GoString() string {
9125	return s.String()
9126}
9127
9128// Validate inspects the fields of the type to determine if they are valid.
9129func (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.
9142func (s *Duration) SetUnit(v string) *Duration {
9143	s.Unit = &v
9144	return s
9145}
9146
9147// SetValue sets the Value field's value.
9148func (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.
9154type 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".
9175func (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".
9184func (s EBSOptions) GoString() string {
9185	return s.String()
9186}
9187
9188// SetEBSEnabled sets the EBSEnabled field's value.
9189func (s *EBSOptions) SetEBSEnabled(v bool) *EBSOptions {
9190	s.EBSEnabled = &v
9191	return s
9192}
9193
9194// SetIops sets the Iops field's value.
9195func (s *EBSOptions) SetIops(v int64) *EBSOptions {
9196	s.Iops = &v
9197	return s
9198}
9199
9200// SetVolumeSize sets the VolumeSize field's value.
9201func (s *EBSOptions) SetVolumeSize(v int64) *EBSOptions {
9202	s.VolumeSize = &v
9203	return s
9204}
9205
9206// SetVolumeType sets the VolumeType field's value.
9207func (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.
9213type 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".
9232func (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".
9241func (s EBSOptionsStatus) GoString() string {
9242	return s.String()
9243}
9244
9245// SetOptions sets the Options field's value.
9246func (s *EBSOptionsStatus) SetOptions(v *EBSOptions) *EBSOptionsStatus {
9247	s.Options = v
9248	return s
9249}
9250
9251// SetStatus sets the Status field's value.
9252func (s *EBSOptionsStatus) SetStatus(v *OptionStatus) *EBSOptionsStatus {
9253	s.Status = v
9254	return s
9255}
9256
9257// Specifies encryption at rest options.
9258type 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".
9273func (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".
9282func (s EncryptionAtRestOptions) GoString() string {
9283	return s.String()
9284}
9285
9286// Validate inspects the fields of the type to determine if they are valid.
9287func (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.
9300func (s *EncryptionAtRestOptions) SetEnabled(v bool) *EncryptionAtRestOptions {
9301	s.Enabled = &v
9302	return s
9303}
9304
9305// SetKmsKeyId sets the KmsKeyId field's value.
9306func (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.
9312type 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".
9331func (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".
9340func (s EncryptionAtRestOptionsStatus) GoString() string {
9341	return s.String()
9342}
9343
9344// SetOptions sets the Options field's value.
9345func (s *EncryptionAtRestOptionsStatus) SetOptions(v *EncryptionAtRestOptions) *EncryptionAtRestOptionsStatus {
9346	s.Options = v
9347	return s
9348}
9349
9350// SetStatus sets the Status field's value.
9351func (s *EncryptionAtRestOptionsStatus) SetStatus(v *OptionStatus) *EncryptionAtRestOptionsStatus {
9352	s.Status = v
9353	return s
9354}
9355
9356type 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".
9369func (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".
9378func (s ErrorDetails) GoString() string {
9379	return s.String()
9380}
9381
9382// SetErrorMessage sets the ErrorMessage field's value.
9383func (s *ErrorDetails) SetErrorMessage(v string) *ErrorDetails {
9384	s.ErrorMessage = &v
9385	return s
9386}
9387
9388// SetErrorType sets the ErrorType field's value.
9389func (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.
9398type 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".
9413func (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".
9422func (s Filter) GoString() string {
9423	return s.String()
9424}
9425
9426// Validate inspects the fields of the type to determine if they are valid.
9427func (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.
9443func (s *Filter) SetName(v string) *Filter {
9444	s.Name = &v
9445	return s
9446}
9447
9448// SetValues sets the Values field's value.
9449func (s *Filter) SetValues(v []*string) *Filter {
9450	s.Values = v
9451	return s
9452}
9453
9454// Container for the request parameters to GetCompatibleVersions operation.
9455type 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".
9469func (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".
9478func (s GetCompatibleVersionsInput) GoString() string {
9479	return s.String()
9480}
9481
9482// Validate inspects the fields of the type to determine if they are valid.
9483func (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.
9496func (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.
9502type 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".
9515func (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".
9524func (s GetCompatibleVersionsOutput) GoString() string {
9525	return s.String()
9526}
9527
9528// SetCompatibleVersions sets the CompatibleVersions field's value.
9529func (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.
9535type 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".
9556func (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".
9565func (s GetPackageVersionHistoryInput) GoString() string {
9566	return s.String()
9567}
9568
9569// Validate inspects the fields of the type to determine if they are valid.
9570func (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.
9586func (s *GetPackageVersionHistoryInput) SetMaxResults(v int64) *GetPackageVersionHistoryInput {
9587	s.MaxResults = &v
9588	return s
9589}
9590
9591// SetNextToken sets the NextToken field's value.
9592func (s *GetPackageVersionHistoryInput) SetNextToken(v string) *GetPackageVersionHistoryInput {
9593	s.NextToken = &v
9594	return s
9595}
9596
9597// SetPackageID sets the PackageID field's value.
9598func (s *GetPackageVersionHistoryInput) SetPackageID(v string) *GetPackageVersionHistoryInput {
9599	s.PackageID = &v
9600	return s
9601}
9602
9603// Container for response returned by GetPackageVersionHistory operation.
9604type 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".
9620func (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".
9629func (s GetPackageVersionHistoryOutput) GoString() string {
9630	return s.String()
9631}
9632
9633// SetNextToken sets the NextToken field's value.
9634func (s *GetPackageVersionHistoryOutput) SetNextToken(v string) *GetPackageVersionHistoryOutput {
9635	s.NextToken = &v
9636	return s
9637}
9638
9639// SetPackageID sets the PackageID field's value.
9640func (s *GetPackageVersionHistoryOutput) SetPackageID(v string) *GetPackageVersionHistoryOutput {
9641	s.PackageID = &v
9642	return s
9643}
9644
9645// SetPackageVersionHistoryList sets the PackageVersionHistoryList field's value.
9646func (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.
9652type 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".
9676func (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".
9685func (s GetUpgradeHistoryInput) GoString() string {
9686	return s.String()
9687}
9688
9689// Validate inspects the fields of the type to determine if they are valid.
9690func (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.
9706func (s *GetUpgradeHistoryInput) SetDomainName(v string) *GetUpgradeHistoryInput {
9707	s.DomainName = &v
9708	return s
9709}
9710
9711// SetMaxResults sets the MaxResults field's value.
9712func (s *GetUpgradeHistoryInput) SetMaxResults(v int64) *GetUpgradeHistoryInput {
9713	s.MaxResults = &v
9714	return s
9715}
9716
9717// SetNextToken sets the NextToken field's value.
9718func (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.
9724type 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".
9742func (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".
9751func (s GetUpgradeHistoryOutput) GoString() string {
9752	return s.String()
9753}
9754
9755// SetNextToken sets the NextToken field's value.
9756func (s *GetUpgradeHistoryOutput) SetNextToken(v string) *GetUpgradeHistoryOutput {
9757	s.NextToken = &v
9758	return s
9759}
9760
9761// SetUpgradeHistories sets the UpgradeHistories field's value.
9762func (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.
9768type 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".
9784func (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".
9793func (s GetUpgradeStatusInput) GoString() string {
9794	return s.String()
9795}
9796
9797// Validate inspects the fields of the type to determine if they are valid.
9798func (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.
9814func (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.
9820type 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".
9851func (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".
9860func (s GetUpgradeStatusOutput) GoString() string {
9861	return s.String()
9862}
9863
9864// SetStepStatus sets the StepStatus field's value.
9865func (s *GetUpgradeStatusOutput) SetStepStatus(v string) *GetUpgradeStatusOutput {
9866	s.StepStatus = &v
9867	return s
9868}
9869
9870// SetUpgradeName sets the UpgradeName field's value.
9871func (s *GetUpgradeStatusOutput) SetUpgradeName(v string) *GetUpgradeStatusOutput {
9872	s.UpgradeName = &v
9873	return s
9874}
9875
9876// SetUpgradeStep sets the UpgradeStep field's value.
9877func (s *GetUpgradeStatusOutput) SetUpgradeStep(v string) *GetUpgradeStatusOutput {
9878	s.UpgradeStep = &v
9879	return s
9880}
9881
9882// Details of an inbound connection.
9883type 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".
9904func (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".
9913func (s InboundConnection) GoString() string {
9914	return s.String()
9915}
9916
9917// SetConnectionId sets the ConnectionId field's value.
9918func (s *InboundConnection) SetConnectionId(v string) *InboundConnection {
9919	s.ConnectionId = &v
9920	return s
9921}
9922
9923// SetConnectionStatus sets the ConnectionStatus field's value.
9924func (s *InboundConnection) SetConnectionStatus(v *InboundConnectionStatus) *InboundConnection {
9925	s.ConnectionStatus = v
9926	return s
9927}
9928
9929// SetLocalDomainInfo sets the LocalDomainInfo field's value.
9930func (s *InboundConnection) SetLocalDomainInfo(v *DomainInformationContainer) *InboundConnection {
9931	s.LocalDomainInfo = v
9932	return s
9933}
9934
9935// SetRemoteDomainInfo sets the RemoteDomainInfo field's value.
9936func (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.
9942type 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".
9975func (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".
9984func (s InboundConnectionStatus) GoString() string {
9985	return s.String()
9986}
9987
9988// SetMessage sets the Message field's value.
9989func (s *InboundConnectionStatus) SetMessage(v string) *InboundConnectionStatus {
9990	s.Message = &v
9991	return s
9992}
9993
9994// SetStatusCode sets the StatusCode field's value.
9995func (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.
10002type 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".
10017func (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".
10026func (s InstanceCountLimits) GoString() string {
10027	return s.String()
10028}
10029
10030// SetMaximumInstanceCount sets the MaximumInstanceCount field's value.
10031func (s *InstanceCountLimits) SetMaximumInstanceCount(v int64) *InstanceCountLimits {
10032	s.MaximumInstanceCount = &v
10033	return s
10034}
10035
10036// SetMinimumInstanceCount sets the MinimumInstanceCount field's value.
10037func (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.
10044type 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".
10057func (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".
10066func (s InstanceLimits) GoString() string {
10067	return s.String()
10068}
10069
10070// SetInstanceCountLimits sets the InstanceCountLimits field's value.
10071func (s *InstanceLimits) SetInstanceCountLimits(v *InstanceCountLimits) *InstanceLimits {
10072	s.InstanceCountLimits = v
10073	return s
10074}
10075
10076type 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".
10099func (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".
10108func (s InstanceTypeDetails) GoString() string {
10109	return s.String()
10110}
10111
10112// SetAdvancedSecurityEnabled sets the AdvancedSecurityEnabled field's value.
10113func (s *InstanceTypeDetails) SetAdvancedSecurityEnabled(v bool) *InstanceTypeDetails {
10114	s.AdvancedSecurityEnabled = &v
10115	return s
10116}
10117
10118// SetAppLogsEnabled sets the AppLogsEnabled field's value.
10119func (s *InstanceTypeDetails) SetAppLogsEnabled(v bool) *InstanceTypeDetails {
10120	s.AppLogsEnabled = &v
10121	return s
10122}
10123
10124// SetCognitoEnabled sets the CognitoEnabled field's value.
10125func (s *InstanceTypeDetails) SetCognitoEnabled(v bool) *InstanceTypeDetails {
10126	s.CognitoEnabled = &v
10127	return s
10128}
10129
10130// SetEncryptionEnabled sets the EncryptionEnabled field's value.
10131func (s *InstanceTypeDetails) SetEncryptionEnabled(v bool) *InstanceTypeDetails {
10132	s.EncryptionEnabled = &v
10133	return s
10134}
10135
10136// SetInstanceRole sets the InstanceRole field's value.
10137func (s *InstanceTypeDetails) SetInstanceRole(v []*string) *InstanceTypeDetails {
10138	s.InstanceRole = v
10139	return s
10140}
10141
10142// SetInstanceType sets the InstanceType field's value.
10143func (s *InstanceTypeDetails) SetInstanceType(v string) *InstanceTypeDetails {
10144	s.InstanceType = &v
10145	return s
10146}
10147
10148// SetWarmEnabled sets the WarmEnabled field's value.
10149func (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.
10157type 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".
10169func (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".
10178func (s InternalException) GoString() string {
10179	return s.String()
10180}
10181
10182func newErrorInternalException(v protocol.ResponseMetadata) error {
10183	return &InternalException{
10184		RespMetadata: v,
10185	}
10186}
10187
10188// Code returns the exception type name.
10189func (s *InternalException) Code() string {
10190	return "InternalException"
10191}
10192
10193// Message returns the exception's message.
10194func (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.
10202func (s *InternalException) OrigErr() error {
10203	return nil
10204}
10205
10206func (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.
10211func (s *InternalException) StatusCode() int {
10212	return s.RespMetadata.StatusCode
10213}
10214
10215// RequestID returns the service's response RequestID for request.
10216func (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.
10222type 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".
10234func (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".
10243func (s InvalidPaginationTokenException) GoString() string {
10244	return s.String()
10245}
10246
10247func newErrorInvalidPaginationTokenException(v protocol.ResponseMetadata) error {
10248	return &InvalidPaginationTokenException{
10249		RespMetadata: v,
10250	}
10251}
10252
10253// Code returns the exception type name.
10254func (s *InvalidPaginationTokenException) Code() string {
10255	return "InvalidPaginationTokenException"
10256}
10257
10258// Message returns the exception's message.
10259func (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.
10267func (s *InvalidPaginationTokenException) OrigErr() error {
10268	return nil
10269}
10270
10271func (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.
10276func (s *InvalidPaginationTokenException) StatusCode() int {
10277	return s.RespMetadata.StatusCode
10278}
10279
10280// RequestID returns the service's response RequestID for request.
10281func (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.
10287type 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".
10299func (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".
10308func (s InvalidTypeException) GoString() string {
10309	return s.String()
10310}
10311
10312func newErrorInvalidTypeException(v protocol.ResponseMetadata) error {
10313	return &InvalidTypeException{
10314		RespMetadata: v,
10315	}
10316}
10317
10318// Code returns the exception type name.
10319func (s *InvalidTypeException) Code() string {
10320	return "InvalidTypeException"
10321}
10322
10323// Message returns the exception's message.
10324func (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.
10332func (s *InvalidTypeException) OrigErr() error {
10333	return nil
10334}
10335
10336func (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.
10341func (s *InvalidTypeException) StatusCode() int {
10342	return s.RespMetadata.StatusCode
10343}
10344
10345// RequestID returns the service's response RequestID for request.
10346func (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.
10352type 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".
10364func (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".
10373func (s LimitExceededException) GoString() string {
10374	return s.String()
10375}
10376
10377func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
10378	return &LimitExceededException{
10379		RespMetadata: v,
10380	}
10381}
10382
10383// Code returns the exception type name.
10384func (s *LimitExceededException) Code() string {
10385	return "LimitExceededException"
10386}
10387
10388// Message returns the exception's message.
10389func (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.
10397func (s *LimitExceededException) OrigErr() error {
10398	return nil
10399}
10400
10401func (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.
10406func (s *LimitExceededException) StatusCode() int {
10407	return s.RespMetadata.StatusCode
10408}
10409
10410// RequestID returns the service's response RequestID for request.
10411func (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
10417type 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".
10437func (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".
10446func (s Limits) GoString() string {
10447	return s.String()
10448}
10449
10450// SetAdditionalLimits sets the AdditionalLimits field's value.
10451func (s *Limits) SetAdditionalLimits(v []*AdditionalLimit) *Limits {
10452	s.AdditionalLimits = v
10453	return s
10454}
10455
10456// SetInstanceLimits sets the InstanceLimits field's value.
10457func (s *Limits) SetInstanceLimits(v *InstanceLimits) *Limits {
10458	s.InstanceLimits = v
10459	return s
10460}
10461
10462// SetStorageTypes sets the StorageTypes field's value.
10463func (s *Limits) SetStorageTypes(v []*StorageType) *Limits {
10464	s.StorageTypes = v
10465	return s
10466}
10467
10468// Container for the parameters to the ListDomainNames operation.
10469type 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".
10482func (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".
10491func (s ListDomainNamesInput) GoString() string {
10492	return s.String()
10493}
10494
10495// SetEngineType sets the EngineType field's value.
10496func (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.
10503type 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".
10515func (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".
10524func (s ListDomainNamesOutput) GoString() string {
10525	return s.String()
10526}
10527
10528// SetDomainNames sets the DomainNames field's value.
10529func (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.
10535type 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".
10556func (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".
10565func (s ListDomainsForPackageInput) GoString() string {
10566	return s.String()
10567}
10568
10569// Validate inspects the fields of the type to determine if they are valid.
10570func (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.
10586func (s *ListDomainsForPackageInput) SetMaxResults(v int64) *ListDomainsForPackageInput {
10587	s.MaxResults = &v
10588	return s
10589}
10590
10591// SetNextToken sets the NextToken field's value.
10592func (s *ListDomainsForPackageInput) SetNextToken(v string) *ListDomainsForPackageInput {
10593	s.NextToken = &v
10594	return s
10595}
10596
10597// SetPackageID sets the PackageID field's value.
10598func (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.
10604type 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".
10618func (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".
10627func (s ListDomainsForPackageOutput) GoString() string {
10628	return s.String()
10629}
10630
10631// SetDomainPackageDetailsList sets the DomainPackageDetailsList field's value.
10632func (s *ListDomainsForPackageOutput) SetDomainPackageDetailsList(v []*DomainPackageDetails) *ListDomainsForPackageOutput {
10633	s.DomainPackageDetailsList = v
10634	return s
10635}
10636
10637// SetNextToken sets the NextToken field's value.
10638func (s *ListDomainsForPackageOutput) SetNextToken(v string) *ListDomainsForPackageOutput {
10639	s.NextToken = &v
10640	return s
10641}
10642
10643type 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".
10668func (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".
10677func (s ListInstanceTypeDetailsInput) GoString() string {
10678	return s.String()
10679}
10680
10681// Validate inspects the fields of the type to determine if they are valid.
10682func (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.
10701func (s *ListInstanceTypeDetailsInput) SetDomainName(v string) *ListInstanceTypeDetailsInput {
10702	s.DomainName = &v
10703	return s
10704}
10705
10706// SetEngineVersion sets the EngineVersion field's value.
10707func (s *ListInstanceTypeDetailsInput) SetEngineVersion(v string) *ListInstanceTypeDetailsInput {
10708	s.EngineVersion = &v
10709	return s
10710}
10711
10712// SetMaxResults sets the MaxResults field's value.
10713func (s *ListInstanceTypeDetailsInput) SetMaxResults(v int64) *ListInstanceTypeDetailsInput {
10714	s.MaxResults = &v
10715	return s
10716}
10717
10718// SetNextToken sets the NextToken field's value.
10719func (s *ListInstanceTypeDetailsInput) SetNextToken(v string) *ListInstanceTypeDetailsInput {
10720	s.NextToken = &v
10721	return s
10722}
10723
10724type 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".
10740func (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".
10749func (s ListInstanceTypeDetailsOutput) GoString() string {
10750	return s.String()
10751}
10752
10753// SetInstanceTypeDetails sets the InstanceTypeDetails field's value.
10754func (s *ListInstanceTypeDetailsOutput) SetInstanceTypeDetails(v []*InstanceTypeDetails) *ListInstanceTypeDetailsOutput {
10755	s.InstanceTypeDetails = v
10756	return s
10757}
10758
10759// SetNextToken sets the NextToken field's value.
10760func (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.
10766type 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".
10787func (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".
10796func (s ListPackagesForDomainInput) GoString() string {
10797	return s.String()
10798}
10799
10800// Validate inspects the fields of the type to determine if they are valid.
10801func (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.
10817func (s *ListPackagesForDomainInput) SetDomainName(v string) *ListPackagesForDomainInput {
10818	s.DomainName = &v
10819	return s
10820}
10821
10822// SetMaxResults sets the MaxResults field's value.
10823func (s *ListPackagesForDomainInput) SetMaxResults(v int64) *ListPackagesForDomainInput {
10824	s.MaxResults = &v
10825	return s
10826}
10827
10828// SetNextToken sets the NextToken field's value.
10829func (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.
10835type 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".
10850func (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".
10859func (s ListPackagesForDomainOutput) GoString() string {
10860	return s.String()
10861}
10862
10863// SetDomainPackageDetailsList sets the DomainPackageDetailsList field's value.
10864func (s *ListPackagesForDomainOutput) SetDomainPackageDetailsList(v []*DomainPackageDetails) *ListPackagesForDomainOutput {
10865	s.DomainPackageDetailsList = v
10866	return s
10867}
10868
10869// SetNextToken sets the NextToken field's value.
10870func (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.
10877type 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".
10892func (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".
10901func (s ListTagsInput) GoString() string {
10902	return s.String()
10903}
10904
10905// Validate inspects the fields of the type to determine if they are valid.
10906func (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.
10922func (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.
10928type 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".
10940func (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".
10949func (s ListTagsOutput) GoString() string {
10950	return s.String()
10951}
10952
10953// SetTagList sets the TagList field's value.
10954func (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.
10965type 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".
10983func (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".
10992func (s ListVersionsInput) GoString() string {
10993	return s.String()
10994}
10995
10996// SetMaxResults sets the MaxResults field's value.
10997func (s *ListVersionsInput) SetMaxResults(v int64) *ListVersionsInput {
10998	s.MaxResults = &v
10999	return s
11000}
11001
11002// SetNextToken sets the NextToken field's value.
11003func (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.
11010type 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".
11027func (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".
11036func (s ListVersionsOutput) GoString() string {
11037	return s.String()
11038}
11039
11040// SetNextToken sets the NextToken field's value.
11041func (s *ListVersionsOutput) SetNextToken(v string) *ListVersionsOutput {
11042	s.NextToken = &v
11043	return s
11044}
11045
11046// SetVersions sets the Versions field's value.
11047func (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.
11059type 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".
11074func (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".
11083func (s LogPublishingOption) GoString() string {
11084	return s.String()
11085}
11086
11087// Validate inspects the fields of the type to determine if they are valid.
11088func (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.
11101func (s *LogPublishingOption) SetCloudWatchLogsLogGroupArn(v string) *LogPublishingOption {
11102	s.CloudWatchLogsLogGroupArn = &v
11103	return s
11104}
11105
11106// SetEnabled sets the Enabled field's value.
11107func (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.
11113type 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".
11129func (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".
11138func (s LogPublishingOptionsStatus) GoString() string {
11139	return s.String()
11140}
11141
11142// SetOptions sets the Options field's value.
11143func (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.
11149func (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.
11155type 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".
11183func (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".
11192func (s MasterUserOptions) GoString() string {
11193	return s.String()
11194}
11195
11196// Validate inspects the fields of the type to determine if they are valid.
11197func (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.
11216func (s *MasterUserOptions) SetMasterUserARN(v string) *MasterUserOptions {
11217	s.MasterUserARN = &v
11218	return s
11219}
11220
11221// SetMasterUserName sets the MasterUserName field's value.
11222func (s *MasterUserOptions) SetMasterUserName(v string) *MasterUserOptions {
11223	s.MasterUserName = &v
11224	return s
11225}
11226
11227// SetMasterUserPassword sets the MasterUserPassword field's value.
11228func (s *MasterUserOptions) SetMasterUserPassword(v string) *MasterUserOptions {
11229	s.MasterUserPassword = &v
11230	return s
11231}
11232
11233// The node-to-node encryption options.
11234type 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".
11246func (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".
11255func (s NodeToNodeEncryptionOptions) GoString() string {
11256	return s.String()
11257}
11258
11259// SetEnabled sets the Enabled field's value.
11260func (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.
11266type 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".
11285func (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".
11294func (s NodeToNodeEncryptionOptionsStatus) GoString() string {
11295	return s.String()
11296}
11297
11298// SetOptions sets the Options field's value.
11299func (s *NodeToNodeEncryptionOptionsStatus) SetOptions(v *NodeToNodeEncryptionOptions) *NodeToNodeEncryptionOptionsStatus {
11300	s.Options = v
11301	return s
11302}
11303
11304// SetStatus sets the Status field's value.
11305func (s *NodeToNodeEncryptionOptionsStatus) SetStatus(v *OptionStatus) *NodeToNodeEncryptionOptionsStatus {
11306	s.Status = v
11307	return s
11308}
11309
11310// Provides the current status of the entity.
11311type 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".
11341func (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".
11350func (s OptionStatus) GoString() string {
11351	return s.String()
11352}
11353
11354// SetCreationDate sets the CreationDate field's value.
11355func (s *OptionStatus) SetCreationDate(v time.Time) *OptionStatus {
11356	s.CreationDate = &v
11357	return s
11358}
11359
11360// SetPendingDeletion sets the PendingDeletion field's value.
11361func (s *OptionStatus) SetPendingDeletion(v bool) *OptionStatus {
11362	s.PendingDeletion = &v
11363	return s
11364}
11365
11366// SetState sets the State field's value.
11367func (s *OptionStatus) SetState(v string) *OptionStatus {
11368	s.State = &v
11369	return s
11370}
11371
11372// SetUpdateDate sets the UpdateDate field's value.
11373func (s *OptionStatus) SetUpdateDate(v time.Time) *OptionStatus {
11374	s.UpdateDate = &v
11375	return s
11376}
11377
11378// SetUpdateVersion sets the UpdateVersion field's value.
11379func (s *OptionStatus) SetUpdateVersion(v int64) *OptionStatus {
11380	s.UpdateVersion = &v
11381	return s
11382}
11383
11384// Specifies details about an outbound connection.
11385type 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".
11409func (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".
11418func (s OutboundConnection) GoString() string {
11419	return s.String()
11420}
11421
11422// SetConnectionAlias sets the ConnectionAlias field's value.
11423func (s *OutboundConnection) SetConnectionAlias(v string) *OutboundConnection {
11424	s.ConnectionAlias = &v
11425	return s
11426}
11427
11428// SetConnectionId sets the ConnectionId field's value.
11429func (s *OutboundConnection) SetConnectionId(v string) *OutboundConnection {
11430	s.ConnectionId = &v
11431	return s
11432}
11433
11434// SetConnectionStatus sets the ConnectionStatus field's value.
11435func (s *OutboundConnection) SetConnectionStatus(v *OutboundConnectionStatus) *OutboundConnection {
11436	s.ConnectionStatus = v
11437	return s
11438}
11439
11440// SetLocalDomainInfo sets the LocalDomainInfo field's value.
11441func (s *OutboundConnection) SetLocalDomainInfo(v *DomainInformationContainer) *OutboundConnection {
11442	s.LocalDomainInfo = v
11443	return s
11444}
11445
11446// SetRemoteDomainInfo sets the RemoteDomainInfo field's value.
11447func (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.
11453type 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".
11491func (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".
11500func (s OutboundConnectionStatus) GoString() string {
11501	return s.String()
11502}
11503
11504// SetMessage sets the Message field's value.
11505func (s *OutboundConnectionStatus) SetMessage(v string) *OutboundConnectionStatus {
11506	s.Message = &v
11507	return s
11508}
11509
11510// SetStatusCode sets the StatusCode field's value.
11511func (s *OutboundConnectionStatus) SetStatusCode(v string) *OutboundConnectionStatus {
11512	s.StatusCode = &v
11513	return s
11514}
11515
11516// Basic information about a package.
11517type 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".
11552func (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".
11561func (s PackageDetails) GoString() string {
11562	return s.String()
11563}
11564
11565// SetAvailablePackageVersion sets the AvailablePackageVersion field's value.
11566func (s *PackageDetails) SetAvailablePackageVersion(v string) *PackageDetails {
11567	s.AvailablePackageVersion = &v
11568	return s
11569}
11570
11571// SetCreatedAt sets the CreatedAt field's value.
11572func (s *PackageDetails) SetCreatedAt(v time.Time) *PackageDetails {
11573	s.CreatedAt = &v
11574	return s
11575}
11576
11577// SetErrorDetails sets the ErrorDetails field's value.
11578func (s *PackageDetails) SetErrorDetails(v *ErrorDetails) *PackageDetails {
11579	s.ErrorDetails = v
11580	return s
11581}
11582
11583// SetLastUpdatedAt sets the LastUpdatedAt field's value.
11584func (s *PackageDetails) SetLastUpdatedAt(v time.Time) *PackageDetails {
11585	s.LastUpdatedAt = &v
11586	return s
11587}
11588
11589// SetPackageDescription sets the PackageDescription field's value.
11590func (s *PackageDetails) SetPackageDescription(v string) *PackageDetails {
11591	s.PackageDescription = &v
11592	return s
11593}
11594
11595// SetPackageID sets the PackageID field's value.
11596func (s *PackageDetails) SetPackageID(v string) *PackageDetails {
11597	s.PackageID = &v
11598	return s
11599}
11600
11601// SetPackageName sets the PackageName field's value.
11602func (s *PackageDetails) SetPackageName(v string) *PackageDetails {
11603	s.PackageName = &v
11604	return s
11605}
11606
11607// SetPackageStatus sets the PackageStatus field's value.
11608func (s *PackageDetails) SetPackageStatus(v string) *PackageDetails {
11609	s.PackageStatus = &v
11610	return s
11611}
11612
11613// SetPackageType sets the PackageType field's value.
11614func (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
11621type 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".
11636func (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".
11645func (s PackageSource) GoString() string {
11646	return s.String()
11647}
11648
11649// Validate inspects the fields of the type to determine if they are valid.
11650func (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.
11666func (s *PackageSource) SetS3BucketName(v string) *PackageSource {
11667	s.S3BucketName = &v
11668	return s
11669}
11670
11671// SetS3Key sets the S3Key field's value.
11672func (s *PackageSource) SetS3Key(v string) *PackageSource {
11673	s.S3Key = &v
11674	return s
11675}
11676
11677// Details of a package version.
11678type 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".
11696func (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".
11705func (s PackageVersionHistory) GoString() string {
11706	return s.String()
11707}
11708
11709// SetCommitMessage sets the CommitMessage field's value.
11710func (s *PackageVersionHistory) SetCommitMessage(v string) *PackageVersionHistory {
11711	s.CommitMessage = &v
11712	return s
11713}
11714
11715// SetCreatedAt sets the CreatedAt field's value.
11716func (s *PackageVersionHistory) SetCreatedAt(v time.Time) *PackageVersionHistory {
11717	s.CreatedAt = &v
11718	return s
11719}
11720
11721// SetPackageVersion sets the PackageVersion field's value.
11722func (s *PackageVersionHistory) SetPackageVersion(v string) *PackageVersionHistory {
11723	s.PackageVersion = &v
11724	return s
11725}
11726
11727// Container for parameters to PurchaseReservedInstanceOffering
11728type 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".
11750func (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".
11759func (s PurchaseReservedInstanceOfferingInput) GoString() string {
11760	return s.String()
11761}
11762
11763// Validate inspects the fields of the type to determine if they are valid.
11764func (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.
11789func (s *PurchaseReservedInstanceOfferingInput) SetInstanceCount(v int64) *PurchaseReservedInstanceOfferingInput {
11790	s.InstanceCount = &v
11791	return s
11792}
11793
11794// SetReservationName sets the ReservationName field's value.
11795func (s *PurchaseReservedInstanceOfferingInput) SetReservationName(v string) *PurchaseReservedInstanceOfferingInput {
11796	s.ReservationName = &v
11797	return s
11798}
11799
11800// SetReservedInstanceOfferingId sets the ReservedInstanceOfferingId field's value.
11801func (s *PurchaseReservedInstanceOfferingInput) SetReservedInstanceOfferingId(v string) *PurchaseReservedInstanceOfferingInput {
11802	s.ReservedInstanceOfferingId = &v
11803	return s
11804}
11805
11806// Represents the output of a PurchaseReservedInstanceOffering operation.
11807type 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".
11822func (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".
11831func (s PurchaseReservedInstanceOfferingOutput) GoString() string {
11832	return s.String()
11833}
11834
11835// SetReservationName sets the ReservationName field's value.
11836func (s *PurchaseReservedInstanceOfferingOutput) SetReservationName(v string) *PurchaseReservedInstanceOfferingOutput {
11837	s.ReservationName = &v
11838	return s
11839}
11840
11841// SetReservedInstanceId sets the ReservedInstanceId field's value.
11842func (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.
11849type 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".
11864func (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".
11873func (s RecurringCharge) GoString() string {
11874	return s.String()
11875}
11876
11877// SetRecurringChargeAmount sets the RecurringChargeAmount field's value.
11878func (s *RecurringCharge) SetRecurringChargeAmount(v float64) *RecurringCharge {
11879	s.RecurringChargeAmount = &v
11880	return s
11881}
11882
11883// SetRecurringChargeFrequency sets the RecurringChargeFrequency field's value.
11884func (s *RecurringCharge) SetRecurringChargeFrequency(v string) *RecurringCharge {
11885	s.RecurringChargeFrequency = &v
11886	return s
11887}
11888
11889// Container for the parameters to the RejectInboundConnection operation.
11890type 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".
11904func (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".
11913func (s RejectInboundConnectionInput) GoString() string {
11914	return s.String()
11915}
11916
11917// Validate inspects the fields of the type to determine if they are valid.
11918func (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.
11934func (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.
11941type 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".
11953func (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".
11962func (s RejectInboundConnectionOutput) GoString() string {
11963	return s.String()
11964}
11965
11966// SetConnection sets the Connection field's value.
11967func (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.
11974type 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".
11993func (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".
12002func (s RemoveTagsInput) GoString() string {
12003	return s.String()
12004}
12005
12006// Validate inspects the fields of the type to determine if they are valid.
12007func (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.
12026func (s *RemoveTagsInput) SetARN(v string) *RemoveTagsInput {
12027	s.ARN = &v
12028	return s
12029}
12030
12031// SetTagKeys sets the TagKeys field's value.
12032func (s *RemoveTagsInput) SetTagKeys(v []*string) *RemoveTagsInput {
12033	s.TagKeys = v
12034	return s
12035}
12036
12037type RemoveTagsOutput struct {
12038	_ struct{} `type:"structure"`
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".
12046func (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".
12055func (s RemoveTagsOutput) GoString() string {
12056	return s.String()
12057}
12058
12059// Details of a reserved OpenSearch instance.
12060type 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".
12113func (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".
12122func (s ReservedInstance) GoString() string {
12123	return s.String()
12124}
12125
12126// SetBillingSubscriptionId sets the BillingSubscriptionId field's value.
12127func (s *ReservedInstance) SetBillingSubscriptionId(v int64) *ReservedInstance {
12128	s.BillingSubscriptionId = &v
12129	return s
12130}
12131
12132// SetCurrencyCode sets the CurrencyCode field's value.
12133func (s *ReservedInstance) SetCurrencyCode(v string) *ReservedInstance {
12134	s.CurrencyCode = &v
12135	return s
12136}
12137
12138// SetDuration sets the Duration field's value.
12139func (s *ReservedInstance) SetDuration(v int64) *ReservedInstance {
12140	s.Duration = &v
12141	return s
12142}
12143
12144// SetFixedPrice sets the FixedPrice field's value.
12145func (s *ReservedInstance) SetFixedPrice(v float64) *ReservedInstance {
12146	s.FixedPrice = &v
12147	return s
12148}
12149
12150// SetInstanceCount sets the InstanceCount field's value.
12151func (s *ReservedInstance) SetInstanceCount(v int64) *ReservedInstance {
12152	s.InstanceCount = &v
12153	return s
12154}
12155
12156// SetInstanceType sets the InstanceType field's value.
12157func (s *ReservedInstance) SetInstanceType(v string) *ReservedInstance {
12158	s.InstanceType = &v
12159	return s
12160}
12161
12162// SetPaymentOption sets the PaymentOption field's value.
12163func (s *ReservedInstance) SetPaymentOption(v string) *ReservedInstance {
12164	s.PaymentOption = &v
12165	return s
12166}
12167
12168// SetRecurringCharges sets the RecurringCharges field's value.
12169func (s *ReservedInstance) SetRecurringCharges(v []*RecurringCharge) *ReservedInstance {
12170	s.RecurringCharges = v
12171	return s
12172}
12173
12174// SetReservationName sets the ReservationName field's value.
12175func (s *ReservedInstance) SetReservationName(v string) *ReservedInstance {
12176	s.ReservationName = &v
12177	return s
12178}
12179
12180// SetReservedInstanceId sets the ReservedInstanceId field's value.
12181func (s *ReservedInstance) SetReservedInstanceId(v string) *ReservedInstance {
12182	s.ReservedInstanceId = &v
12183	return s
12184}
12185
12186// SetReservedInstanceOfferingId sets the ReservedInstanceOfferingId field's value.
12187func (s *ReservedInstance) SetReservedInstanceOfferingId(v string) *ReservedInstance {
12188	s.ReservedInstanceOfferingId = &v
12189	return s
12190}
12191
12192// SetStartTime sets the StartTime field's value.
12193func (s *ReservedInstance) SetStartTime(v time.Time) *ReservedInstance {
12194	s.StartTime = &v
12195	return s
12196}
12197
12198// SetState sets the State field's value.
12199func (s *ReservedInstance) SetState(v string) *ReservedInstance {
12200	s.State = &v
12201	return s
12202}
12203
12204// SetUsagePrice sets the UsagePrice field's value.
12205func (s *ReservedInstance) SetUsagePrice(v float64) *ReservedInstance {
12206	s.UsagePrice = &v
12207	return s
12208}
12209
12210// Details of a reserved OpenSearch instance offering.
12211type 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".
12248func (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".
12257func (s ReservedInstanceOffering) GoString() string {
12258	return s.String()
12259}
12260
12261// SetCurrencyCode sets the CurrencyCode field's value.
12262func (s *ReservedInstanceOffering) SetCurrencyCode(v string) *ReservedInstanceOffering {
12263	s.CurrencyCode = &v
12264	return s
12265}
12266
12267// SetDuration sets the Duration field's value.
12268func (s *ReservedInstanceOffering) SetDuration(v int64) *ReservedInstanceOffering {
12269	s.Duration = &v
12270	return s
12271}
12272
12273// SetFixedPrice sets the FixedPrice field's value.
12274func (s *ReservedInstanceOffering) SetFixedPrice(v float64) *ReservedInstanceOffering {
12275	s.FixedPrice = &v
12276	return s
12277}
12278
12279// SetInstanceType sets the InstanceType field's value.
12280func (s *ReservedInstanceOffering) SetInstanceType(v string) *ReservedInstanceOffering {
12281	s.InstanceType = &v
12282	return s
12283}
12284
12285// SetPaymentOption sets the PaymentOption field's value.
12286func (s *ReservedInstanceOffering) SetPaymentOption(v string) *ReservedInstanceOffering {
12287	s.PaymentOption = &v
12288	return s
12289}
12290
12291// SetRecurringCharges sets the RecurringCharges field's value.
12292func (s *ReservedInstanceOffering) SetRecurringCharges(v []*RecurringCharge) *ReservedInstanceOffering {
12293	s.RecurringCharges = v
12294	return s
12295}
12296
12297// SetReservedInstanceOfferingId sets the ReservedInstanceOfferingId field's value.
12298func (s *ReservedInstanceOffering) SetReservedInstanceOfferingId(v string) *ReservedInstanceOffering {
12299	s.ReservedInstanceOfferingId = &v
12300	return s
12301}
12302
12303// SetUsagePrice sets the UsagePrice field's value.
12304func (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.
12311type 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".
12323func (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".
12332func (s ResourceAlreadyExistsException) GoString() string {
12333	return s.String()
12334}
12335
12336func newErrorResourceAlreadyExistsException(v protocol.ResponseMetadata) error {
12337	return &ResourceAlreadyExistsException{
12338		RespMetadata: v,
12339	}
12340}
12341
12342// Code returns the exception type name.
12343func (s *ResourceAlreadyExistsException) Code() string {
12344	return "ResourceAlreadyExistsException"
12345}
12346
12347// Message returns the exception's message.
12348func (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.
12356func (s *ResourceAlreadyExistsException) OrigErr() error {
12357	return nil
12358}
12359
12360func (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.
12365func (s *ResourceAlreadyExistsException) StatusCode() int {
12366	return s.RespMetadata.StatusCode
12367}
12368
12369// RequestID returns the service's response RequestID for request.
12370func (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.
12376type 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".
12388func (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".
12397func (s ResourceNotFoundException) GoString() string {
12398	return s.String()
12399}
12400
12401func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
12402	return &ResourceNotFoundException{
12403		RespMetadata: v,
12404	}
12405}
12406
12407// Code returns the exception type name.
12408func (s *ResourceNotFoundException) Code() string {
12409	return "ResourceNotFoundException"
12410}
12411
12412// Message returns the exception's message.
12413func (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.
12421func (s *ResourceNotFoundException) OrigErr() error {
12422	return nil
12423}
12424
12425func (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.
12430func (s *ResourceNotFoundException) StatusCode() int {
12431	return s.RespMetadata.StatusCode
12432}
12433
12434// RequestID returns the service's response RequestID for request.
12435func (s *ResourceNotFoundException) RequestID() string {
12436	return s.RespMetadata.RequestID
12437}
12438
12439// The SAML identity povider's information.
12440type 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".
12459func (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".
12468func (s SAMLIdp) GoString() string {
12469	return s.String()
12470}
12471
12472// Validate inspects the fields of the type to determine if they are valid.
12473func (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.
12495func (s *SAMLIdp) SetEntityId(v string) *SAMLIdp {
12496	s.EntityId = &v
12497	return s
12498}
12499
12500// SetMetadataContent sets the MetadataContent field's value.
12501func (s *SAMLIdp) SetMetadataContent(v string) *SAMLIdp {
12502	s.MetadataContent = &v
12503	return s
12504}
12505
12506// The SAML application configuration for the domain.
12507type 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".
12543func (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".
12552func (s SAMLOptionsInput_) GoString() string {
12553	return s.String()
12554}
12555
12556// Validate inspects the fields of the type to determine if they are valid.
12557func (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.
12578func (s *SAMLOptionsInput_) SetEnabled(v bool) *SAMLOptionsInput_ {
12579	s.Enabled = &v
12580	return s
12581}
12582
12583// SetIdp sets the Idp field's value.
12584func (s *SAMLOptionsInput_) SetIdp(v *SAMLIdp) *SAMLOptionsInput_ {
12585	s.Idp = v
12586	return s
12587}
12588
12589// SetMasterBackendRole sets the MasterBackendRole field's value.
12590func (s *SAMLOptionsInput_) SetMasterBackendRole(v string) *SAMLOptionsInput_ {
12591	s.MasterBackendRole = &v
12592	return s
12593}
12594
12595// SetMasterUserName sets the MasterUserName field's value.
12596func (s *SAMLOptionsInput_) SetMasterUserName(v string) *SAMLOptionsInput_ {
12597	s.MasterUserName = &v
12598	return s
12599}
12600
12601// SetRolesKey sets the RolesKey field's value.
12602func (s *SAMLOptionsInput_) SetRolesKey(v string) *SAMLOptionsInput_ {
12603	s.RolesKey = &v
12604	return s
12605}
12606
12607// SetSessionTimeoutMinutes sets the SessionTimeoutMinutes field's value.
12608func (s *SAMLOptionsInput_) SetSessionTimeoutMinutes(v int64) *SAMLOptionsInput_ {
12609	s.SessionTimeoutMinutes = &v
12610	return s
12611}
12612
12613// SetSubjectKey sets the SubjectKey field's value.
12614func (s *SAMLOptionsInput_) SetSubjectKey(v string) *SAMLOptionsInput_ {
12615	s.SubjectKey = &v
12616	return s
12617}
12618
12619// Describes the SAML application configured for the domain.
12620type 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".
12644func (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".
12653func (s SAMLOptionsOutput_) GoString() string {
12654	return s.String()
12655}
12656
12657// SetEnabled sets the Enabled field's value.
12658func (s *SAMLOptionsOutput_) SetEnabled(v bool) *SAMLOptionsOutput_ {
12659	s.Enabled = &v
12660	return s
12661}
12662
12663// SetIdp sets the Idp field's value.
12664func (s *SAMLOptionsOutput_) SetIdp(v *SAMLIdp) *SAMLOptionsOutput_ {
12665	s.Idp = v
12666	return s
12667}
12668
12669// SetRolesKey sets the RolesKey field's value.
12670func (s *SAMLOptionsOutput_) SetRolesKey(v string) *SAMLOptionsOutput_ {
12671	s.RolesKey = &v
12672	return s
12673}
12674
12675// SetSessionTimeoutMinutes sets the SessionTimeoutMinutes field's value.
12676func (s *SAMLOptionsOutput_) SetSessionTimeoutMinutes(v int64) *SAMLOptionsOutput_ {
12677	s.SessionTimeoutMinutes = &v
12678	return s
12679}
12680
12681// SetSubjectKey sets the SubjectKey field's value.
12682func (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.
12690type 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".
12711func (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".
12720func (s ScheduledAutoTuneDetails) GoString() string {
12721	return s.String()
12722}
12723
12724// SetAction sets the Action field's value.
12725func (s *ScheduledAutoTuneDetails) SetAction(v string) *ScheduledAutoTuneDetails {
12726	s.Action = &v
12727	return s
12728}
12729
12730// SetActionType sets the ActionType field's value.
12731func (s *ScheduledAutoTuneDetails) SetActionType(v string) *ScheduledAutoTuneDetails {
12732	s.ActionType = &v
12733	return s
12734}
12735
12736// SetDate sets the Date field's value.
12737func (s *ScheduledAutoTuneDetails) SetDate(v time.Time) *ScheduledAutoTuneDetails {
12738	s.Date = &v
12739	return s
12740}
12741
12742// SetSeverity sets the Severity field's value.
12743func (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.
12749type 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".
12787func (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".
12796func (s ServiceSoftwareOptions) GoString() string {
12797	return s.String()
12798}
12799
12800// SetAutomatedUpdateDate sets the AutomatedUpdateDate field's value.
12801func (s *ServiceSoftwareOptions) SetAutomatedUpdateDate(v time.Time) *ServiceSoftwareOptions {
12802	s.AutomatedUpdateDate = &v
12803	return s
12804}
12805
12806// SetCancellable sets the Cancellable field's value.
12807func (s *ServiceSoftwareOptions) SetCancellable(v bool) *ServiceSoftwareOptions {
12808	s.Cancellable = &v
12809	return s
12810}
12811
12812// SetCurrentVersion sets the CurrentVersion field's value.
12813func (s *ServiceSoftwareOptions) SetCurrentVersion(v string) *ServiceSoftwareOptions {
12814	s.CurrentVersion = &v
12815	return s
12816}
12817
12818// SetDescription sets the Description field's value.
12819func (s *ServiceSoftwareOptions) SetDescription(v string) *ServiceSoftwareOptions {
12820	s.Description = &v
12821	return s
12822}
12823
12824// SetNewVersion sets the NewVersion field's value.
12825func (s *ServiceSoftwareOptions) SetNewVersion(v string) *ServiceSoftwareOptions {
12826	s.NewVersion = &v
12827	return s
12828}
12829
12830// SetOptionalDeployment sets the OptionalDeployment field's value.
12831func (s *ServiceSoftwareOptions) SetOptionalDeployment(v bool) *ServiceSoftwareOptions {
12832	s.OptionalDeployment = &v
12833	return s
12834}
12835
12836// SetUpdateAvailable sets the UpdateAvailable field's value.
12837func (s *ServiceSoftwareOptions) SetUpdateAvailable(v bool) *ServiceSoftwareOptions {
12838	s.UpdateAvailable = &v
12839	return s
12840}
12841
12842// SetUpdateStatus sets the UpdateStatus field's value.
12843func (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.
12850type 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".
12863func (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".
12872func (s SnapshotOptions) GoString() string {
12873	return s.String()
12874}
12875
12876// SetAutomatedSnapshotStartHour sets the AutomatedSnapshotStartHour field's value.
12877func (s *SnapshotOptions) SetAutomatedSnapshotStartHour(v int64) *SnapshotOptions {
12878	s.AutomatedSnapshotStartHour = &v
12879	return s
12880}
12881
12882// Status of a daily automated snapshot.
12883type 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".
12902func (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".
12911func (s SnapshotOptionsStatus) GoString() string {
12912	return s.String()
12913}
12914
12915// SetOptions sets the Options field's value.
12916func (s *SnapshotOptionsStatus) SetOptions(v *SnapshotOptions) *SnapshotOptionsStatus {
12917	s.Options = v
12918	return s
12919}
12920
12921// SetStatus sets the Status field's value.
12922func (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.
12929type 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".
12943func (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".
12952func (s StartServiceSoftwareUpdateInput) GoString() string {
12953	return s.String()
12954}
12955
12956// Validate inspects the fields of the type to determine if they are valid.
12957func (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.
12973func (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.
12980type 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".
12992func (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".
13001func (s StartServiceSoftwareUpdateOutput) GoString() string {
13002	return s.String()
13003}
13004
13005// SetServiceSoftwareOptions sets the ServiceSoftwareOptions field's value.
13006func (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.
13013type 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".
13035func (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".
13044func (s StorageType) GoString() string {
13045	return s.String()
13046}
13047
13048// SetStorageSubTypeName sets the StorageSubTypeName field's value.
13049func (s *StorageType) SetStorageSubTypeName(v string) *StorageType {
13050	s.StorageSubTypeName = &v
13051	return s
13052}
13053
13054// SetStorageTypeLimits sets the StorageTypeLimits field's value.
13055func (s *StorageType) SetStorageTypeLimits(v []*StorageTypeLimit) *StorageType {
13056	s.StorageTypeLimits = v
13057	return s
13058}
13059
13060// SetStorageTypeName sets the StorageTypeName field's value.
13061func (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.
13067type 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".
13089func (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".
13098func (s StorageTypeLimit) GoString() string {
13099	return s.String()
13100}
13101
13102// SetLimitName sets the LimitName field's value.
13103func (s *StorageTypeLimit) SetLimitName(v string) *StorageTypeLimit {
13104	s.LimitName = &v
13105	return s
13106}
13107
13108// SetLimitValues sets the LimitValues field's value.
13109func (s *StorageTypeLimit) SetLimitValues(v []*string) *StorageTypeLimit {
13110	s.LimitValues = v
13111	return s
13112}
13113
13114// A key value pair for a resource tag.
13115type 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".
13138func (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".
13147func (s Tag) GoString() string {
13148	return s.String()
13149}
13150
13151// Validate inspects the fields of the type to determine if they are valid.
13152func (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.
13171func (s *Tag) SetKey(v string) *Tag {
13172	s.Key = &v
13173	return s
13174}
13175
13176// SetValue sets the Value field's value.
13177func (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.
13184type 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".
13246func (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".
13255func (s UpdateDomainConfigInput) GoString() string {
13256	return s.String()
13257}
13258
13259// Validate inspects the fields of the type to determine if they are valid.
13260func (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.
13316func (s *UpdateDomainConfigInput) SetAccessPolicies(v string) *UpdateDomainConfigInput {
13317	s.AccessPolicies = &v
13318	return s
13319}
13320
13321// SetAdvancedOptions sets the AdvancedOptions field's value.
13322func (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.
13328func (s *UpdateDomainConfigInput) SetAdvancedSecurityOptions(v *AdvancedSecurityOptionsInput_) *UpdateDomainConfigInput {
13329	s.AdvancedSecurityOptions = v
13330	return s
13331}
13332
13333// SetAutoTuneOptions sets the AutoTuneOptions field's value.
13334func (s *UpdateDomainConfigInput) SetAutoTuneOptions(v *AutoTuneOptions) *UpdateDomainConfigInput {
13335	s.AutoTuneOptions = v
13336	return s
13337}
13338
13339// SetClusterConfig sets the ClusterConfig field's value.
13340func (s *UpdateDomainConfigInput) SetClusterConfig(v *ClusterConfig) *UpdateDomainConfigInput {
13341	s.ClusterConfig = v
13342	return s
13343}
13344
13345// SetCognitoOptions sets the CognitoOptions field's value.
13346func (s *UpdateDomainConfigInput) SetCognitoOptions(v *CognitoOptions) *UpdateDomainConfigInput {
13347	s.CognitoOptions = v
13348	return s
13349}
13350
13351// SetDomainEndpointOptions sets the DomainEndpointOptions field's value.
13352func (s *UpdateDomainConfigInput) SetDomainEndpointOptions(v *DomainEndpointOptions) *UpdateDomainConfigInput {
13353	s.DomainEndpointOptions = v
13354	return s
13355}
13356
13357// SetDomainName sets the DomainName field's value.
13358func (s *UpdateDomainConfigInput) SetDomainName(v string) *UpdateDomainConfigInput {
13359	s.DomainName = &v
13360	return s
13361}
13362
13363// SetEBSOptions sets the EBSOptions field's value.
13364func (s *UpdateDomainConfigInput) SetEBSOptions(v *EBSOptions) *UpdateDomainConfigInput {
13365	s.EBSOptions = v
13366	return s
13367}
13368
13369// SetEncryptionAtRestOptions sets the EncryptionAtRestOptions field's value.
13370func (s *UpdateDomainConfigInput) SetEncryptionAtRestOptions(v *EncryptionAtRestOptions) *UpdateDomainConfigInput {
13371	s.EncryptionAtRestOptions = v
13372	return s
13373}
13374
13375// SetLogPublishingOptions sets the LogPublishingOptions field's value.
13376func (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.
13382func (s *UpdateDomainConfigInput) SetNodeToNodeEncryptionOptions(v *NodeToNodeEncryptionOptions) *UpdateDomainConfigInput {
13383	s.NodeToNodeEncryptionOptions = v
13384	return s
13385}
13386
13387// SetSnapshotOptions sets the SnapshotOptions field's value.
13388func (s *UpdateDomainConfigInput) SetSnapshotOptions(v *SnapshotOptions) *UpdateDomainConfigInput {
13389	s.SnapshotOptions = v
13390	return s
13391}
13392
13393// SetVPCOptions sets the VPCOptions field's value.
13394func (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.
13401type 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".
13415func (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".
13424func (s UpdateDomainConfigOutput) GoString() string {
13425	return s.String()
13426}
13427
13428// SetDomainConfig sets the DomainConfig field's value.
13429func (s *UpdateDomainConfigOutput) SetDomainConfig(v *DomainConfig) *UpdateDomainConfigOutput {
13430	s.DomainConfig = v
13431	return s
13432}
13433
13434// Container for request parameters to the UpdatePackage operation.
13435type 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".
13461func (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".
13470func (s UpdatePackageInput) GoString() string {
13471	return s.String()
13472}
13473
13474// Validate inspects the fields of the type to determine if they are valid.
13475func (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.
13496func (s *UpdatePackageInput) SetCommitMessage(v string) *UpdatePackageInput {
13497	s.CommitMessage = &v
13498	return s
13499}
13500
13501// SetPackageDescription sets the PackageDescription field's value.
13502func (s *UpdatePackageInput) SetPackageDescription(v string) *UpdatePackageInput {
13503	s.PackageDescription = &v
13504	return s
13505}
13506
13507// SetPackageID sets the PackageID field's value.
13508func (s *UpdatePackageInput) SetPackageID(v string) *UpdatePackageInput {
13509	s.PackageID = &v
13510	return s
13511}
13512
13513// SetPackageSource sets the PackageSource field's value.
13514func (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.
13520type 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".
13532func (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".
13541func (s UpdatePackageOutput) GoString() string {
13542	return s.String()
13543}
13544
13545// SetPackageDetails sets the PackageDetails field's value.
13546func (s *UpdatePackageOutput) SetPackageDetails(v *PackageDetails) *UpdatePackageOutput {
13547	s.PackageDetails = v
13548	return s
13549}
13550
13551// Container for the request parameters to UpgradeDomain operation.
13552type 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".
13590func (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".
13599func (s UpgradeDomainInput) GoString() string {
13600	return s.String()
13601}
13602
13603// Validate inspects the fields of the type to determine if they are valid.
13604func (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.
13626func (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.
13632func (s *UpgradeDomainInput) SetDomainName(v string) *UpgradeDomainInput {
13633	s.DomainName = &v
13634	return s
13635}
13636
13637// SetPerformCheckOnly sets the PerformCheckOnly field's value.
13638func (s *UpgradeDomainInput) SetPerformCheckOnly(v bool) *UpgradeDomainInput {
13639	s.PerformCheckOnly = &v
13640	return s
13641}
13642
13643// SetTargetVersion sets the TargetVersion field's value.
13644func (s *UpgradeDomainInput) SetTargetVersion(v string) *UpgradeDomainInput {
13645	s.TargetVersion = &v
13646	return s
13647}
13648
13649// Container for response returned by UpgradeDomain operation.
13650type 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".
13686func (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".
13695func (s UpgradeDomainOutput) GoString() string {
13696	return s.String()
13697}
13698
13699// SetAdvancedOptions sets the AdvancedOptions field's value.
13700func (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.
13706func (s *UpgradeDomainOutput) SetDomainName(v string) *UpgradeDomainOutput {
13707	s.DomainName = &v
13708	return s
13709}
13710
13711// SetPerformCheckOnly sets the PerformCheckOnly field's value.
13712func (s *UpgradeDomainOutput) SetPerformCheckOnly(v bool) *UpgradeDomainOutput {
13713	s.PerformCheckOnly = &v
13714	return s
13715}
13716
13717// SetTargetVersion sets the TargetVersion field's value.
13718func (s *UpgradeDomainOutput) SetTargetVersion(v string) *UpgradeDomainOutput {
13719	s.TargetVersion = &v
13720	return s
13721}
13722
13723// SetUpgradeId sets the UpgradeId field's value.
13724func (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.
13730type 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".
13761func (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".
13770func (s UpgradeHistory) GoString() string {
13771	return s.String()
13772}
13773
13774// SetStartTimestamp sets the StartTimestamp field's value.
13775func (s *UpgradeHistory) SetStartTimestamp(v time.Time) *UpgradeHistory {
13776	s.StartTimestamp = &v
13777	return s
13778}
13779
13780// SetStepsList sets the StepsList field's value.
13781func (s *UpgradeHistory) SetStepsList(v []*UpgradeStepItem) *UpgradeHistory {
13782	s.StepsList = v
13783	return s
13784}
13785
13786// SetUpgradeName sets the UpgradeName field's value.
13787func (s *UpgradeHistory) SetUpgradeName(v string) *UpgradeHistory {
13788	s.UpgradeName = &v
13789	return s
13790}
13791
13792// SetUpgradeStatus sets the UpgradeStatus field's value.
13793func (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.
13799type 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".
13835func (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".
13844func (s UpgradeStepItem) GoString() string {
13845	return s.String()
13846}
13847
13848// SetIssues sets the Issues field's value.
13849func (s *UpgradeStepItem) SetIssues(v []*string) *UpgradeStepItem {
13850	s.Issues = v
13851	return s
13852}
13853
13854// SetProgressPercent sets the ProgressPercent field's value.
13855func (s *UpgradeStepItem) SetProgressPercent(v float64) *UpgradeStepItem {
13856	s.ProgressPercent = &v
13857	return s
13858}
13859
13860// SetUpgradeStep sets the UpgradeStep field's value.
13861func (s *UpgradeStepItem) SetUpgradeStep(v string) *UpgradeStepItem {
13862	s.UpgradeStep = &v
13863	return s
13864}
13865
13866// SetUpgradeStepStatus sets the UpgradeStepStatus field's value.
13867func (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).
13875type 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".
13897func (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".
13906func (s VPCDerivedInfo) GoString() string {
13907	return s.String()
13908}
13909
13910// SetAvailabilityZones sets the AvailabilityZones field's value.
13911func (s *VPCDerivedInfo) SetAvailabilityZones(v []*string) *VPCDerivedInfo {
13912	s.AvailabilityZones = v
13913	return s
13914}
13915
13916// SetSecurityGroupIds sets the SecurityGroupIds field's value.
13917func (s *VPCDerivedInfo) SetSecurityGroupIds(v []*string) *VPCDerivedInfo {
13918	s.SecurityGroupIds = v
13919	return s
13920}
13921
13922// SetSubnetIds sets the SubnetIds field's value.
13923func (s *VPCDerivedInfo) SetSubnetIds(v []*string) *VPCDerivedInfo {
13924	s.SubnetIds = v
13925	return s
13926}
13927
13928// SetVPCId sets the VPCId field's value.
13929func (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.
13935type 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".
13954func (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".
13963func (s VPCDerivedInfoStatus) GoString() string {
13964	return s.String()
13965}
13966
13967// SetOptions sets the Options field's value.
13968func (s *VPCDerivedInfoStatus) SetOptions(v *VPCDerivedInfo) *VPCDerivedInfoStatus {
13969	s.Options = v
13970	return s
13971}
13972
13973// SetStatus sets the Status field's value.
13974func (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).
13982type 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".
13997func (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".
14006func (s VPCOptions) GoString() string {
14007	return s.String()
14008}
14009
14010// SetSecurityGroupIds sets the SecurityGroupIds field's value.
14011func (s *VPCOptions) SetSecurityGroupIds(v []*string) *VPCOptions {
14012	s.SecurityGroupIds = v
14013	return s
14014}
14015
14016// SetSubnetIds sets the SubnetIds field's value.
14017func (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.
14024type 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".
14036func (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".
14045func (s ValidationException) GoString() string {
14046	return s.String()
14047}
14048
14049func newErrorValidationException(v protocol.ResponseMetadata) error {
14050	return &ValidationException{
14051		RespMetadata: v,
14052	}
14053}
14054
14055// Code returns the exception type name.
14056func (s *ValidationException) Code() string {
14057	return "ValidationException"
14058}
14059
14060// Message returns the exception's message.
14061func (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.
14069func (s *ValidationException) OrigErr() error {
14070	return nil
14071}
14072
14073func (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.
14078func (s *ValidationException) StatusCode() int {
14079	return s.RespMetadata.StatusCode
14080}
14081
14082// RequestID returns the service's response RequestID for request.
14083func (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.
14089type 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".
14109func (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".
14118func (s VersionStatus) GoString() string {
14119	return s.String()
14120}
14121
14122// SetOptions sets the Options field's value.
14123func (s *VersionStatus) SetOptions(v string) *VersionStatus {
14124	s.Options = &v
14125	return s
14126}
14127
14128// SetStatus sets the Status field's value.
14129func (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.
14136type 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".
14150func (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".
14159func (s ZoneAwarenessConfig) GoString() string {
14160	return s.String()
14161}
14162
14163// SetAvailabilityZoneCount sets the AvailabilityZoneCount field's value.
14164func (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.
14170const (
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
14179func 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).
14188const (
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
14218func 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.
14233const (
14234	// AutoTuneTypeScheduledAction is a AutoTuneType enum value
14235	AutoTuneTypeScheduledAction = "SCHEDULED_ACTION"
14236)
14237
14238// AutoTuneType_Values returns all elements of the AutoTuneType enum
14239func AutoTuneType_Values() []string {
14240	return []string{
14241		AutoTuneTypeScheduledAction,
14242	}
14243}
14244
14245const (
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
14263func DeploymentStatus_Values() []string {
14264	return []string{
14265		DeploymentStatusPendingUpdate,
14266		DeploymentStatusInProgress,
14267		DeploymentStatusCompleted,
14268		DeploymentStatusNotEligible,
14269		DeploymentStatusEligible,
14270	}
14271}
14272
14273const (
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
14285func DescribePackagesFilterName_Values() []string {
14286	return []string{
14287		DescribePackagesFilterNamePackageId,
14288		DescribePackagesFilterNamePackageName,
14289		DescribePackagesFilterNamePackageStatus,
14290	}
14291}
14292
14293const (
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
14311func DomainPackageStatus_Values() []string {
14312	return []string{
14313		DomainPackageStatusAssociating,
14314		DomainPackageStatusAssociationFailed,
14315		DomainPackageStatusActive,
14316		DomainPackageStatusDissociating,
14317		DomainPackageStatusDissociationFailed,
14318	}
14319}
14320
14321const (
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
14330func EngineType_Values() []string {
14331	return []string{
14332		EngineTypeOpenSearch,
14333		EngineTypeElasticsearch,
14334	}
14335}
14336
14337const (
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
14364func 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.
14390const (
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
14405func LogType_Values() []string {
14406	return []string{
14407		LogTypeIndexSlowLogs,
14408		LogTypeSearchSlowLogs,
14409		LogTypeEsApplicationLogs,
14410		LogTypeAuditLogs,
14411	}
14412}
14413
14414const (
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
14702func 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
14802const (
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
14814func 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.
14827const (
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
14839func OptionState_Values() []string {
14840	return []string{
14841		OptionStateRequiresIndexDocuments,
14842		OptionStateProcessing,
14843		OptionStateActive,
14844	}
14845}
14846
14847const (
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
14880func 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
14895const (
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
14922func 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
14935const (
14936	// PackageTypeTxtDictionary is a PackageType enum value
14937	PackageTypeTxtDictionary = "TXT-DICTIONARY"
14938)
14939
14940// PackageType_Values returns all elements of the PackageType enum
14941func PackageType_Values() []string {
14942	return []string{
14943		PackageTypeTxtDictionary,
14944	}
14945}
14946
14947const (
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
14959func 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.
14969const (
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
14978func 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.
14986const (
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
14995func 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.
15003const (
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
15015func ScheduledAutoTuneSeverityType_Values() []string {
15016	return []string{
15017		ScheduledAutoTuneSeverityTypeLow,
15018		ScheduledAutoTuneSeverityTypeMedium,
15019		ScheduledAutoTuneSeverityTypeHigh,
15020	}
15021}
15022
15023const (
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
15032func 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.
15042const (
15043	// TimeUnitHours is a TimeUnit enum value
15044	TimeUnitHours = "HOURS"
15045)
15046
15047// TimeUnit_Values returns all elements of the TimeUnit enum
15048func TimeUnit_Values() []string {
15049	return []string{
15050		TimeUnitHours,
15051	}
15052}
15053
15054const (
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
15069func UpgradeStatus_Values() []string {
15070	return []string{
15071		UpgradeStatusInProgress,
15072		UpgradeStatusSucceeded,
15073		UpgradeStatusSucceededWithIssues,
15074		UpgradeStatusFailed,
15075	}
15076}
15077
15078const (
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
15090func 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.
15101const (
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
15113func VolumeType_Values() []string {
15114	return []string{
15115		VolumeTypeStandard,
15116		VolumeTypeGp2,
15117		VolumeTypeIo1,
15118	}
15119}
15120