1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package elasticsearchservice
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 opAcceptInboundCrossClusterSearchConnection = "AcceptInboundCrossClusterSearchConnection"
17
18// AcceptInboundCrossClusterSearchConnectionRequest generates a "aws/request.Request" representing the
19// client's request for the AcceptInboundCrossClusterSearchConnection operation. The "output" return
20// value will be populated with the request's response once the request completes
21// successfully.
22//
23// Use "Send" method on the returned Request to send the API call to the service.
24// the "output" return value is not valid until after Send returns without error.
25//
26// See AcceptInboundCrossClusterSearchConnection for more information on using the AcceptInboundCrossClusterSearchConnection
27// API call, and error handling.
28//
29// This method is useful when you want to inject custom logic or configuration
30// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31//
32//
33//    // Example sending a request using the AcceptInboundCrossClusterSearchConnectionRequest method.
34//    req, resp := client.AcceptInboundCrossClusterSearchConnectionRequest(params)
35//
36//    err := req.Send()
37//    if err == nil { // resp is now filled
38//        fmt.Println(resp)
39//    }
40func (c *ElasticsearchService) AcceptInboundCrossClusterSearchConnectionRequest(input *AcceptInboundCrossClusterSearchConnectionInput) (req *request.Request, output *AcceptInboundCrossClusterSearchConnectionOutput) {
41	op := &request.Operation{
42		Name:       opAcceptInboundCrossClusterSearchConnection,
43		HTTPMethod: "PUT",
44		HTTPPath:   "/2015-01-01/es/ccs/inboundConnection/{ConnectionId}/accept",
45	}
46
47	if input == nil {
48		input = &AcceptInboundCrossClusterSearchConnectionInput{}
49	}
50
51	output = &AcceptInboundCrossClusterSearchConnectionOutput{}
52	req = c.newRequest(op, input, output)
53	return
54}
55
56// AcceptInboundCrossClusterSearchConnection API operation for Amazon Elasticsearch Service.
57//
58// Allows the destination domain owner to accept an inbound cross-cluster search
59// connection request.
60//
61// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
62// with awserr.Error's Code and Message methods to get detailed information about
63// the error.
64//
65// See the AWS API reference guide for Amazon Elasticsearch Service's
66// API operation AcceptInboundCrossClusterSearchConnection for usage and error information.
67//
68// Returned Error Types:
69//   * ResourceNotFoundException
70//   An exception for accessing or deleting a resource that does not exist. Gives
71//   http status code of 400.
72//
73//   * LimitExceededException
74//   An exception for trying to create more than allowed resources or sub-resources.
75//   Gives http status code of 409.
76//
77//   * DisabledOperationException
78//   An error occured because the client wanted to access a not supported operation.
79//   Gives http status code of 409.
80//
81func (c *ElasticsearchService) AcceptInboundCrossClusterSearchConnection(input *AcceptInboundCrossClusterSearchConnectionInput) (*AcceptInboundCrossClusterSearchConnectionOutput, error) {
82	req, out := c.AcceptInboundCrossClusterSearchConnectionRequest(input)
83	return out, req.Send()
84}
85
86// AcceptInboundCrossClusterSearchConnectionWithContext is the same as AcceptInboundCrossClusterSearchConnection with the addition of
87// the ability to pass a context and additional request options.
88//
89// See AcceptInboundCrossClusterSearchConnection for details on how to use this API operation.
90//
91// The context must be non-nil and will be used for request cancellation. If
92// the context is nil a panic will occur. In the future the SDK may create
93// sub-contexts for http.Requests. See https://golang.org/pkg/context/
94// for more information on using Contexts.
95func (c *ElasticsearchService) AcceptInboundCrossClusterSearchConnectionWithContext(ctx aws.Context, input *AcceptInboundCrossClusterSearchConnectionInput, opts ...request.Option) (*AcceptInboundCrossClusterSearchConnectionOutput, error) {
96	req, out := c.AcceptInboundCrossClusterSearchConnectionRequest(input)
97	req.SetContext(ctx)
98	req.ApplyOptions(opts...)
99	return out, req.Send()
100}
101
102const opAddTags = "AddTags"
103
104// AddTagsRequest generates a "aws/request.Request" representing the
105// client's request for the AddTags operation. The "output" return
106// value will be populated with the request's response once the request completes
107// successfully.
108//
109// Use "Send" method on the returned Request to send the API call to the service.
110// the "output" return value is not valid until after Send returns without error.
111//
112// See AddTags for more information on using the AddTags
113// API call, and error handling.
114//
115// This method is useful when you want to inject custom logic or configuration
116// into the SDK's request lifecycle. Such as custom headers, or retry logic.
117//
118//
119//    // Example sending a request using the AddTagsRequest method.
120//    req, resp := client.AddTagsRequest(params)
121//
122//    err := req.Send()
123//    if err == nil { // resp is now filled
124//        fmt.Println(resp)
125//    }
126func (c *ElasticsearchService) AddTagsRequest(input *AddTagsInput) (req *request.Request, output *AddTagsOutput) {
127	op := &request.Operation{
128		Name:       opAddTags,
129		HTTPMethod: "POST",
130		HTTPPath:   "/2015-01-01/tags",
131	}
132
133	if input == nil {
134		input = &AddTagsInput{}
135	}
136
137	output = &AddTagsOutput{}
138	req = c.newRequest(op, input, output)
139	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
140	return
141}
142
143// AddTags API operation for Amazon Elasticsearch Service.
144//
145// Attaches tags to an existing Elasticsearch domain. Tags are a set of case-sensitive
146// key value pairs. An Elasticsearch domain may have up to 10 tags. See Tagging
147// Amazon Elasticsearch Service Domains for more information. (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-managedomains.html#es-managedomains-awsresorcetagging)
148//
149// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
150// with awserr.Error's Code and Message methods to get detailed information about
151// the error.
152//
153// See the AWS API reference guide for Amazon Elasticsearch Service's
154// API operation AddTags for usage and error information.
155//
156// Returned Error Types:
157//   * BaseException
158//   An error occurred while processing the request.
159//
160//   * LimitExceededException
161//   An exception for trying to create more than allowed resources or sub-resources.
162//   Gives http status code of 409.
163//
164//   * ValidationException
165//   An exception for missing / invalid input fields. Gives http status code of
166//   400.
167//
168//   * InternalException
169//   The request processing has failed because of an unknown error, exception
170//   or failure (the failure is internal to the service) . Gives http status code
171//   of 500.
172//
173func (c *ElasticsearchService) AddTags(input *AddTagsInput) (*AddTagsOutput, error) {
174	req, out := c.AddTagsRequest(input)
175	return out, req.Send()
176}
177
178// AddTagsWithContext is the same as AddTags with the addition of
179// the ability to pass a context and additional request options.
180//
181// See AddTags for details on how to use this API operation.
182//
183// The context must be non-nil and will be used for request cancellation. If
184// the context is nil a panic will occur. In the future the SDK may create
185// sub-contexts for http.Requests. See https://golang.org/pkg/context/
186// for more information on using Contexts.
187func (c *ElasticsearchService) AddTagsWithContext(ctx aws.Context, input *AddTagsInput, opts ...request.Option) (*AddTagsOutput, error) {
188	req, out := c.AddTagsRequest(input)
189	req.SetContext(ctx)
190	req.ApplyOptions(opts...)
191	return out, req.Send()
192}
193
194const opAssociatePackage = "AssociatePackage"
195
196// AssociatePackageRequest generates a "aws/request.Request" representing the
197// client's request for the AssociatePackage operation. The "output" return
198// value will be populated with the request's response once the request completes
199// successfully.
200//
201// Use "Send" method on the returned Request to send the API call to the service.
202// the "output" return value is not valid until after Send returns without error.
203//
204// See AssociatePackage for more information on using the AssociatePackage
205// API call, and error handling.
206//
207// This method is useful when you want to inject custom logic or configuration
208// into the SDK's request lifecycle. Such as custom headers, or retry logic.
209//
210//
211//    // Example sending a request using the AssociatePackageRequest method.
212//    req, resp := client.AssociatePackageRequest(params)
213//
214//    err := req.Send()
215//    if err == nil { // resp is now filled
216//        fmt.Println(resp)
217//    }
218func (c *ElasticsearchService) AssociatePackageRequest(input *AssociatePackageInput) (req *request.Request, output *AssociatePackageOutput) {
219	op := &request.Operation{
220		Name:       opAssociatePackage,
221		HTTPMethod: "POST",
222		HTTPPath:   "/2015-01-01/packages/associate/{PackageID}/{DomainName}",
223	}
224
225	if input == nil {
226		input = &AssociatePackageInput{}
227	}
228
229	output = &AssociatePackageOutput{}
230	req = c.newRequest(op, input, output)
231	return
232}
233
234// AssociatePackage API operation for Amazon Elasticsearch Service.
235//
236// Associates a package with an Amazon ES domain.
237//
238// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
239// with awserr.Error's Code and Message methods to get detailed information about
240// the error.
241//
242// See the AWS API reference guide for Amazon Elasticsearch Service's
243// API operation AssociatePackage for usage and error information.
244//
245// Returned Error Types:
246//   * BaseException
247//   An error occurred while processing the request.
248//
249//   * InternalException
250//   The request processing has failed because of an unknown error, exception
251//   or failure (the failure is internal to the service) . Gives http status code
252//   of 500.
253//
254//   * ResourceNotFoundException
255//   An exception for accessing or deleting a resource that does not exist. Gives
256//   http status code of 400.
257//
258//   * AccessDeniedException
259//   An error occurred because user does not have permissions to access the resource.
260//   Returns HTTP status code 403.
261//
262//   * ValidationException
263//   An exception for missing / invalid input fields. Gives http status code of
264//   400.
265//
266//   * ConflictException
267//   An error occurred because the client attempts to remove a resource that is
268//   currently in use. Returns HTTP status code 409.
269//
270func (c *ElasticsearchService) AssociatePackage(input *AssociatePackageInput) (*AssociatePackageOutput, error) {
271	req, out := c.AssociatePackageRequest(input)
272	return out, req.Send()
273}
274
275// AssociatePackageWithContext is the same as AssociatePackage with the addition of
276// the ability to pass a context and additional request options.
277//
278// See AssociatePackage for details on how to use this API operation.
279//
280// The context must be non-nil and will be used for request cancellation. If
281// the context is nil a panic will occur. In the future the SDK may create
282// sub-contexts for http.Requests. See https://golang.org/pkg/context/
283// for more information on using Contexts.
284func (c *ElasticsearchService) AssociatePackageWithContext(ctx aws.Context, input *AssociatePackageInput, opts ...request.Option) (*AssociatePackageOutput, error) {
285	req, out := c.AssociatePackageRequest(input)
286	req.SetContext(ctx)
287	req.ApplyOptions(opts...)
288	return out, req.Send()
289}
290
291const opCancelElasticsearchServiceSoftwareUpdate = "CancelElasticsearchServiceSoftwareUpdate"
292
293// CancelElasticsearchServiceSoftwareUpdateRequest generates a "aws/request.Request" representing the
294// client's request for the CancelElasticsearchServiceSoftwareUpdate operation. The "output" return
295// value will be populated with the request's response once the request completes
296// successfully.
297//
298// Use "Send" method on the returned Request to send the API call to the service.
299// the "output" return value is not valid until after Send returns without error.
300//
301// See CancelElasticsearchServiceSoftwareUpdate for more information on using the CancelElasticsearchServiceSoftwareUpdate
302// API call, and error handling.
303//
304// This method is useful when you want to inject custom logic or configuration
305// into the SDK's request lifecycle. Such as custom headers, or retry logic.
306//
307//
308//    // Example sending a request using the CancelElasticsearchServiceSoftwareUpdateRequest method.
309//    req, resp := client.CancelElasticsearchServiceSoftwareUpdateRequest(params)
310//
311//    err := req.Send()
312//    if err == nil { // resp is now filled
313//        fmt.Println(resp)
314//    }
315func (c *ElasticsearchService) CancelElasticsearchServiceSoftwareUpdateRequest(input *CancelElasticsearchServiceSoftwareUpdateInput) (req *request.Request, output *CancelElasticsearchServiceSoftwareUpdateOutput) {
316	op := &request.Operation{
317		Name:       opCancelElasticsearchServiceSoftwareUpdate,
318		HTTPMethod: "POST",
319		HTTPPath:   "/2015-01-01/es/serviceSoftwareUpdate/cancel",
320	}
321
322	if input == nil {
323		input = &CancelElasticsearchServiceSoftwareUpdateInput{}
324	}
325
326	output = &CancelElasticsearchServiceSoftwareUpdateOutput{}
327	req = c.newRequest(op, input, output)
328	return
329}
330
331// CancelElasticsearchServiceSoftwareUpdate API operation for Amazon Elasticsearch Service.
332//
333// Cancels a scheduled service software update for an Amazon ES domain. You
334// can only perform this operation before the AutomatedUpdateDate and when the
335// UpdateStatus is in the PENDING_UPDATE state.
336//
337// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
338// with awserr.Error's Code and Message methods to get detailed information about
339// the error.
340//
341// See the AWS API reference guide for Amazon Elasticsearch Service's
342// API operation CancelElasticsearchServiceSoftwareUpdate for usage and error information.
343//
344// Returned Error Types:
345//   * BaseException
346//   An error occurred while processing the request.
347//
348//   * InternalException
349//   The request processing has failed because of an unknown error, exception
350//   or failure (the failure is internal to the service) . Gives http status code
351//   of 500.
352//
353//   * ResourceNotFoundException
354//   An exception for accessing or deleting a resource that does not exist. Gives
355//   http status code of 400.
356//
357//   * ValidationException
358//   An exception for missing / invalid input fields. Gives http status code of
359//   400.
360//
361func (c *ElasticsearchService) CancelElasticsearchServiceSoftwareUpdate(input *CancelElasticsearchServiceSoftwareUpdateInput) (*CancelElasticsearchServiceSoftwareUpdateOutput, error) {
362	req, out := c.CancelElasticsearchServiceSoftwareUpdateRequest(input)
363	return out, req.Send()
364}
365
366// CancelElasticsearchServiceSoftwareUpdateWithContext is the same as CancelElasticsearchServiceSoftwareUpdate with the addition of
367// the ability to pass a context and additional request options.
368//
369// See CancelElasticsearchServiceSoftwareUpdate for details on how to use this API operation.
370//
371// The context must be non-nil and will be used for request cancellation. If
372// the context is nil a panic will occur. In the future the SDK may create
373// sub-contexts for http.Requests. See https://golang.org/pkg/context/
374// for more information on using Contexts.
375func (c *ElasticsearchService) CancelElasticsearchServiceSoftwareUpdateWithContext(ctx aws.Context, input *CancelElasticsearchServiceSoftwareUpdateInput, opts ...request.Option) (*CancelElasticsearchServiceSoftwareUpdateOutput, error) {
376	req, out := c.CancelElasticsearchServiceSoftwareUpdateRequest(input)
377	req.SetContext(ctx)
378	req.ApplyOptions(opts...)
379	return out, req.Send()
380}
381
382const opCreateElasticsearchDomain = "CreateElasticsearchDomain"
383
384// CreateElasticsearchDomainRequest generates a "aws/request.Request" representing the
385// client's request for the CreateElasticsearchDomain operation. The "output" return
386// value will be populated with the request's response once the request completes
387// successfully.
388//
389// Use "Send" method on the returned Request to send the API call to the service.
390// the "output" return value is not valid until after Send returns without error.
391//
392// See CreateElasticsearchDomain for more information on using the CreateElasticsearchDomain
393// API call, and error handling.
394//
395// This method is useful when you want to inject custom logic or configuration
396// into the SDK's request lifecycle. Such as custom headers, or retry logic.
397//
398//
399//    // Example sending a request using the CreateElasticsearchDomainRequest method.
400//    req, resp := client.CreateElasticsearchDomainRequest(params)
401//
402//    err := req.Send()
403//    if err == nil { // resp is now filled
404//        fmt.Println(resp)
405//    }
406func (c *ElasticsearchService) CreateElasticsearchDomainRequest(input *CreateElasticsearchDomainInput) (req *request.Request, output *CreateElasticsearchDomainOutput) {
407	op := &request.Operation{
408		Name:       opCreateElasticsearchDomain,
409		HTTPMethod: "POST",
410		HTTPPath:   "/2015-01-01/es/domain",
411	}
412
413	if input == nil {
414		input = &CreateElasticsearchDomainInput{}
415	}
416
417	output = &CreateElasticsearchDomainOutput{}
418	req = c.newRequest(op, input, output)
419	return
420}
421
422// CreateElasticsearchDomain API operation for Amazon Elasticsearch Service.
423//
424// Creates a new Elasticsearch domain. For more information, see Creating Elasticsearch
425// Domains (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomains)
426// in the Amazon Elasticsearch Service Developer Guide.
427//
428// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
429// with awserr.Error's Code and Message methods to get detailed information about
430// the error.
431//
432// See the AWS API reference guide for Amazon Elasticsearch Service's
433// API operation CreateElasticsearchDomain for usage and error information.
434//
435// Returned Error Types:
436//   * BaseException
437//   An error occurred while processing the request.
438//
439//   * DisabledOperationException
440//   An error occured because the client wanted to access a not supported operation.
441//   Gives http status code of 409.
442//
443//   * InternalException
444//   The request processing has failed because of an unknown error, exception
445//   or failure (the failure is internal to the service) . Gives http status code
446//   of 500.
447//
448//   * InvalidTypeException
449//   An exception for trying to create or access sub-resource that is either invalid
450//   or not supported. Gives http status code of 409.
451//
452//   * LimitExceededException
453//   An exception for trying to create more than allowed resources or sub-resources.
454//   Gives http status code of 409.
455//
456//   * ResourceAlreadyExistsException
457//   An exception for creating a resource that already exists. Gives http status
458//   code of 400.
459//
460//   * ValidationException
461//   An exception for missing / invalid input fields. Gives http status code of
462//   400.
463//
464func (c *ElasticsearchService) CreateElasticsearchDomain(input *CreateElasticsearchDomainInput) (*CreateElasticsearchDomainOutput, error) {
465	req, out := c.CreateElasticsearchDomainRequest(input)
466	return out, req.Send()
467}
468
469// CreateElasticsearchDomainWithContext is the same as CreateElasticsearchDomain with the addition of
470// the ability to pass a context and additional request options.
471//
472// See CreateElasticsearchDomain for details on how to use this API operation.
473//
474// The context must be non-nil and will be used for request cancellation. If
475// the context is nil a panic will occur. In the future the SDK may create
476// sub-contexts for http.Requests. See https://golang.org/pkg/context/
477// for more information on using Contexts.
478func (c *ElasticsearchService) CreateElasticsearchDomainWithContext(ctx aws.Context, input *CreateElasticsearchDomainInput, opts ...request.Option) (*CreateElasticsearchDomainOutput, error) {
479	req, out := c.CreateElasticsearchDomainRequest(input)
480	req.SetContext(ctx)
481	req.ApplyOptions(opts...)
482	return out, req.Send()
483}
484
485const opCreateOutboundCrossClusterSearchConnection = "CreateOutboundCrossClusterSearchConnection"
486
487// CreateOutboundCrossClusterSearchConnectionRequest generates a "aws/request.Request" representing the
488// client's request for the CreateOutboundCrossClusterSearchConnection operation. The "output" return
489// value will be populated with the request's response once the request completes
490// successfully.
491//
492// Use "Send" method on the returned Request to send the API call to the service.
493// the "output" return value is not valid until after Send returns without error.
494//
495// See CreateOutboundCrossClusterSearchConnection for more information on using the CreateOutboundCrossClusterSearchConnection
496// API call, and error handling.
497//
498// This method is useful when you want to inject custom logic or configuration
499// into the SDK's request lifecycle. Such as custom headers, or retry logic.
500//
501//
502//    // Example sending a request using the CreateOutboundCrossClusterSearchConnectionRequest method.
503//    req, resp := client.CreateOutboundCrossClusterSearchConnectionRequest(params)
504//
505//    err := req.Send()
506//    if err == nil { // resp is now filled
507//        fmt.Println(resp)
508//    }
509func (c *ElasticsearchService) CreateOutboundCrossClusterSearchConnectionRequest(input *CreateOutboundCrossClusterSearchConnectionInput) (req *request.Request, output *CreateOutboundCrossClusterSearchConnectionOutput) {
510	op := &request.Operation{
511		Name:       opCreateOutboundCrossClusterSearchConnection,
512		HTTPMethod: "POST",
513		HTTPPath:   "/2015-01-01/es/ccs/outboundConnection",
514	}
515
516	if input == nil {
517		input = &CreateOutboundCrossClusterSearchConnectionInput{}
518	}
519
520	output = &CreateOutboundCrossClusterSearchConnectionOutput{}
521	req = c.newRequest(op, input, output)
522	return
523}
524
525// CreateOutboundCrossClusterSearchConnection API operation for Amazon Elasticsearch Service.
526//
527// Creates a new cross-cluster search connection from a source domain to a destination
528// domain.
529//
530// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
531// with awserr.Error's Code and Message methods to get detailed information about
532// the error.
533//
534// See the AWS API reference guide for Amazon Elasticsearch Service's
535// API operation CreateOutboundCrossClusterSearchConnection for usage and error information.
536//
537// Returned Error Types:
538//   * LimitExceededException
539//   An exception for trying to create more than allowed resources or sub-resources.
540//   Gives http status code of 409.
541//
542//   * InternalException
543//   The request processing has failed because of an unknown error, exception
544//   or failure (the failure is internal to the service) . Gives http status code
545//   of 500.
546//
547//   * ResourceAlreadyExistsException
548//   An exception for creating a resource that already exists. Gives http status
549//   code of 400.
550//
551//   * DisabledOperationException
552//   An error occured because the client wanted to access a not supported operation.
553//   Gives http status code of 409.
554//
555func (c *ElasticsearchService) CreateOutboundCrossClusterSearchConnection(input *CreateOutboundCrossClusterSearchConnectionInput) (*CreateOutboundCrossClusterSearchConnectionOutput, error) {
556	req, out := c.CreateOutboundCrossClusterSearchConnectionRequest(input)
557	return out, req.Send()
558}
559
560// CreateOutboundCrossClusterSearchConnectionWithContext is the same as CreateOutboundCrossClusterSearchConnection with the addition of
561// the ability to pass a context and additional request options.
562//
563// See CreateOutboundCrossClusterSearchConnection for details on how to use this API operation.
564//
565// The context must be non-nil and will be used for request cancellation. If
566// the context is nil a panic will occur. In the future the SDK may create
567// sub-contexts for http.Requests. See https://golang.org/pkg/context/
568// for more information on using Contexts.
569func (c *ElasticsearchService) CreateOutboundCrossClusterSearchConnectionWithContext(ctx aws.Context, input *CreateOutboundCrossClusterSearchConnectionInput, opts ...request.Option) (*CreateOutboundCrossClusterSearchConnectionOutput, error) {
570	req, out := c.CreateOutboundCrossClusterSearchConnectionRequest(input)
571	req.SetContext(ctx)
572	req.ApplyOptions(opts...)
573	return out, req.Send()
574}
575
576const opCreatePackage = "CreatePackage"
577
578// CreatePackageRequest generates a "aws/request.Request" representing the
579// client's request for the CreatePackage operation. The "output" return
580// value will be populated with the request's response once the request completes
581// successfully.
582//
583// Use "Send" method on the returned Request to send the API call to the service.
584// the "output" return value is not valid until after Send returns without error.
585//
586// See CreatePackage for more information on using the CreatePackage
587// API call, and error handling.
588//
589// This method is useful when you want to inject custom logic or configuration
590// into the SDK's request lifecycle. Such as custom headers, or retry logic.
591//
592//
593//    // Example sending a request using the CreatePackageRequest method.
594//    req, resp := client.CreatePackageRequest(params)
595//
596//    err := req.Send()
597//    if err == nil { // resp is now filled
598//        fmt.Println(resp)
599//    }
600func (c *ElasticsearchService) CreatePackageRequest(input *CreatePackageInput) (req *request.Request, output *CreatePackageOutput) {
601	op := &request.Operation{
602		Name:       opCreatePackage,
603		HTTPMethod: "POST",
604		HTTPPath:   "/2015-01-01/packages",
605	}
606
607	if input == nil {
608		input = &CreatePackageInput{}
609	}
610
611	output = &CreatePackageOutput{}
612	req = c.newRequest(op, input, output)
613	return
614}
615
616// CreatePackage API operation for Amazon Elasticsearch Service.
617//
618// Create a package for use with Amazon ES domains.
619//
620// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
621// with awserr.Error's Code and Message methods to get detailed information about
622// the error.
623//
624// See the AWS API reference guide for Amazon Elasticsearch Service's
625// API operation CreatePackage for usage and error information.
626//
627// Returned Error Types:
628//   * BaseException
629//   An error occurred while processing the request.
630//
631//   * InternalException
632//   The request processing has failed because of an unknown error, exception
633//   or failure (the failure is internal to the service) . Gives http status code
634//   of 500.
635//
636//   * LimitExceededException
637//   An exception for trying to create more than allowed resources or sub-resources.
638//   Gives http status code of 409.
639//
640//   * InvalidTypeException
641//   An exception for trying to create or access sub-resource that is either invalid
642//   or not supported. Gives http status code of 409.
643//
644//   * ResourceAlreadyExistsException
645//   An exception for creating a resource that already exists. Gives http status
646//   code of 400.
647//
648//   * AccessDeniedException
649//   An error occurred because user does not have permissions to access the resource.
650//   Returns HTTP status code 403.
651//
652//   * ValidationException
653//   An exception for missing / invalid input fields. Gives http status code of
654//   400.
655//
656func (c *ElasticsearchService) CreatePackage(input *CreatePackageInput) (*CreatePackageOutput, error) {
657	req, out := c.CreatePackageRequest(input)
658	return out, req.Send()
659}
660
661// CreatePackageWithContext is the same as CreatePackage with the addition of
662// the ability to pass a context and additional request options.
663//
664// See CreatePackage for details on how to use this API operation.
665//
666// The context must be non-nil and will be used for request cancellation. If
667// the context is nil a panic will occur. In the future the SDK may create
668// sub-contexts for http.Requests. See https://golang.org/pkg/context/
669// for more information on using Contexts.
670func (c *ElasticsearchService) CreatePackageWithContext(ctx aws.Context, input *CreatePackageInput, opts ...request.Option) (*CreatePackageOutput, error) {
671	req, out := c.CreatePackageRequest(input)
672	req.SetContext(ctx)
673	req.ApplyOptions(opts...)
674	return out, req.Send()
675}
676
677const opDeleteElasticsearchDomain = "DeleteElasticsearchDomain"
678
679// DeleteElasticsearchDomainRequest generates a "aws/request.Request" representing the
680// client's request for the DeleteElasticsearchDomain operation. The "output" return
681// value will be populated with the request's response once the request completes
682// successfully.
683//
684// Use "Send" method on the returned Request to send the API call to the service.
685// the "output" return value is not valid until after Send returns without error.
686//
687// See DeleteElasticsearchDomain for more information on using the DeleteElasticsearchDomain
688// API call, and error handling.
689//
690// This method is useful when you want to inject custom logic or configuration
691// into the SDK's request lifecycle. Such as custom headers, or retry logic.
692//
693//
694//    // Example sending a request using the DeleteElasticsearchDomainRequest method.
695//    req, resp := client.DeleteElasticsearchDomainRequest(params)
696//
697//    err := req.Send()
698//    if err == nil { // resp is now filled
699//        fmt.Println(resp)
700//    }
701func (c *ElasticsearchService) DeleteElasticsearchDomainRequest(input *DeleteElasticsearchDomainInput) (req *request.Request, output *DeleteElasticsearchDomainOutput) {
702	op := &request.Operation{
703		Name:       opDeleteElasticsearchDomain,
704		HTTPMethod: "DELETE",
705		HTTPPath:   "/2015-01-01/es/domain/{DomainName}",
706	}
707
708	if input == nil {
709		input = &DeleteElasticsearchDomainInput{}
710	}
711
712	output = &DeleteElasticsearchDomainOutput{}
713	req = c.newRequest(op, input, output)
714	return
715}
716
717// DeleteElasticsearchDomain API operation for Amazon Elasticsearch Service.
718//
719// Permanently deletes the specified Elasticsearch domain and all of its data.
720// Once a domain is deleted, it cannot be recovered.
721//
722// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
723// with awserr.Error's Code and Message methods to get detailed information about
724// the error.
725//
726// See the AWS API reference guide for Amazon Elasticsearch Service's
727// API operation DeleteElasticsearchDomain for usage and error information.
728//
729// Returned Error Types:
730//   * BaseException
731//   An error occurred while processing the request.
732//
733//   * InternalException
734//   The request processing has failed because of an unknown error, exception
735//   or failure (the failure is internal to the service) . Gives http status code
736//   of 500.
737//
738//   * ResourceNotFoundException
739//   An exception for accessing or deleting a resource that does not exist. Gives
740//   http status code of 400.
741//
742//   * ValidationException
743//   An exception for missing / invalid input fields. Gives http status code of
744//   400.
745//
746func (c *ElasticsearchService) DeleteElasticsearchDomain(input *DeleteElasticsearchDomainInput) (*DeleteElasticsearchDomainOutput, error) {
747	req, out := c.DeleteElasticsearchDomainRequest(input)
748	return out, req.Send()
749}
750
751// DeleteElasticsearchDomainWithContext is the same as DeleteElasticsearchDomain with the addition of
752// the ability to pass a context and additional request options.
753//
754// See DeleteElasticsearchDomain for details on how to use this API operation.
755//
756// The context must be non-nil and will be used for request cancellation. If
757// the context is nil a panic will occur. In the future the SDK may create
758// sub-contexts for http.Requests. See https://golang.org/pkg/context/
759// for more information on using Contexts.
760func (c *ElasticsearchService) DeleteElasticsearchDomainWithContext(ctx aws.Context, input *DeleteElasticsearchDomainInput, opts ...request.Option) (*DeleteElasticsearchDomainOutput, error) {
761	req, out := c.DeleteElasticsearchDomainRequest(input)
762	req.SetContext(ctx)
763	req.ApplyOptions(opts...)
764	return out, req.Send()
765}
766
767const opDeleteElasticsearchServiceRole = "DeleteElasticsearchServiceRole"
768
769// DeleteElasticsearchServiceRoleRequest generates a "aws/request.Request" representing the
770// client's request for the DeleteElasticsearchServiceRole operation. The "output" return
771// value will be populated with the request's response once the request completes
772// successfully.
773//
774// Use "Send" method on the returned Request to send the API call to the service.
775// the "output" return value is not valid until after Send returns without error.
776//
777// See DeleteElasticsearchServiceRole for more information on using the DeleteElasticsearchServiceRole
778// API call, and error handling.
779//
780// This method is useful when you want to inject custom logic or configuration
781// into the SDK's request lifecycle. Such as custom headers, or retry logic.
782//
783//
784//    // Example sending a request using the DeleteElasticsearchServiceRoleRequest method.
785//    req, resp := client.DeleteElasticsearchServiceRoleRequest(params)
786//
787//    err := req.Send()
788//    if err == nil { // resp is now filled
789//        fmt.Println(resp)
790//    }
791func (c *ElasticsearchService) DeleteElasticsearchServiceRoleRequest(input *DeleteElasticsearchServiceRoleInput) (req *request.Request, output *DeleteElasticsearchServiceRoleOutput) {
792	op := &request.Operation{
793		Name:       opDeleteElasticsearchServiceRole,
794		HTTPMethod: "DELETE",
795		HTTPPath:   "/2015-01-01/es/role",
796	}
797
798	if input == nil {
799		input = &DeleteElasticsearchServiceRoleInput{}
800	}
801
802	output = &DeleteElasticsearchServiceRoleOutput{}
803	req = c.newRequest(op, input, output)
804	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
805	return
806}
807
808// DeleteElasticsearchServiceRole API operation for Amazon Elasticsearch Service.
809//
810// Deletes the service-linked role that Elasticsearch Service uses to manage
811// and maintain VPC domains. Role deletion will fail if any existing VPC domains
812// use the role. You must delete any such Elasticsearch domains before deleting
813// the role. See Deleting Elasticsearch Service Role (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-vpc.html#es-enabling-slr)
814// in VPC Endpoints for Amazon Elasticsearch Service Domains.
815//
816// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
817// with awserr.Error's Code and Message methods to get detailed information about
818// the error.
819//
820// See the AWS API reference guide for Amazon Elasticsearch Service's
821// API operation DeleteElasticsearchServiceRole for usage and error information.
822//
823// Returned Error Types:
824//   * BaseException
825//   An error occurred while processing the request.
826//
827//   * InternalException
828//   The request processing has failed because of an unknown error, exception
829//   or failure (the failure is internal to the service) . Gives http status code
830//   of 500.
831//
832//   * ValidationException
833//   An exception for missing / invalid input fields. Gives http status code of
834//   400.
835//
836func (c *ElasticsearchService) DeleteElasticsearchServiceRole(input *DeleteElasticsearchServiceRoleInput) (*DeleteElasticsearchServiceRoleOutput, error) {
837	req, out := c.DeleteElasticsearchServiceRoleRequest(input)
838	return out, req.Send()
839}
840
841// DeleteElasticsearchServiceRoleWithContext is the same as DeleteElasticsearchServiceRole with the addition of
842// the ability to pass a context and additional request options.
843//
844// See DeleteElasticsearchServiceRole for details on how to use this API operation.
845//
846// The context must be non-nil and will be used for request cancellation. If
847// the context is nil a panic will occur. In the future the SDK may create
848// sub-contexts for http.Requests. See https://golang.org/pkg/context/
849// for more information on using Contexts.
850func (c *ElasticsearchService) DeleteElasticsearchServiceRoleWithContext(ctx aws.Context, input *DeleteElasticsearchServiceRoleInput, opts ...request.Option) (*DeleteElasticsearchServiceRoleOutput, error) {
851	req, out := c.DeleteElasticsearchServiceRoleRequest(input)
852	req.SetContext(ctx)
853	req.ApplyOptions(opts...)
854	return out, req.Send()
855}
856
857const opDeleteInboundCrossClusterSearchConnection = "DeleteInboundCrossClusterSearchConnection"
858
859// DeleteInboundCrossClusterSearchConnectionRequest generates a "aws/request.Request" representing the
860// client's request for the DeleteInboundCrossClusterSearchConnection operation. The "output" return
861// value will be populated with the request's response once the request completes
862// successfully.
863//
864// Use "Send" method on the returned Request to send the API call to the service.
865// the "output" return value is not valid until after Send returns without error.
866//
867// See DeleteInboundCrossClusterSearchConnection for more information on using the DeleteInboundCrossClusterSearchConnection
868// API call, and error handling.
869//
870// This method is useful when you want to inject custom logic or configuration
871// into the SDK's request lifecycle. Such as custom headers, or retry logic.
872//
873//
874//    // Example sending a request using the DeleteInboundCrossClusterSearchConnectionRequest method.
875//    req, resp := client.DeleteInboundCrossClusterSearchConnectionRequest(params)
876//
877//    err := req.Send()
878//    if err == nil { // resp is now filled
879//        fmt.Println(resp)
880//    }
881func (c *ElasticsearchService) DeleteInboundCrossClusterSearchConnectionRequest(input *DeleteInboundCrossClusterSearchConnectionInput) (req *request.Request, output *DeleteInboundCrossClusterSearchConnectionOutput) {
882	op := &request.Operation{
883		Name:       opDeleteInboundCrossClusterSearchConnection,
884		HTTPMethod: "DELETE",
885		HTTPPath:   "/2015-01-01/es/ccs/inboundConnection/{ConnectionId}",
886	}
887
888	if input == nil {
889		input = &DeleteInboundCrossClusterSearchConnectionInput{}
890	}
891
892	output = &DeleteInboundCrossClusterSearchConnectionOutput{}
893	req = c.newRequest(op, input, output)
894	return
895}
896
897// DeleteInboundCrossClusterSearchConnection API operation for Amazon Elasticsearch Service.
898//
899// Allows the destination domain owner to delete an existing inbound cross-cluster
900// search connection.
901//
902// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
903// with awserr.Error's Code and Message methods to get detailed information about
904// the error.
905//
906// See the AWS API reference guide for Amazon Elasticsearch Service's
907// API operation DeleteInboundCrossClusterSearchConnection for usage and error information.
908//
909// Returned Error Types:
910//   * ResourceNotFoundException
911//   An exception for accessing or deleting a resource that does not exist. Gives
912//   http status code of 400.
913//
914//   * DisabledOperationException
915//   An error occured because the client wanted to access a not supported operation.
916//   Gives http status code of 409.
917//
918func (c *ElasticsearchService) DeleteInboundCrossClusterSearchConnection(input *DeleteInboundCrossClusterSearchConnectionInput) (*DeleteInboundCrossClusterSearchConnectionOutput, error) {
919	req, out := c.DeleteInboundCrossClusterSearchConnectionRequest(input)
920	return out, req.Send()
921}
922
923// DeleteInboundCrossClusterSearchConnectionWithContext is the same as DeleteInboundCrossClusterSearchConnection with the addition of
924// the ability to pass a context and additional request options.
925//
926// See DeleteInboundCrossClusterSearchConnection for details on how to use this API operation.
927//
928// The context must be non-nil and will be used for request cancellation. If
929// the context is nil a panic will occur. In the future the SDK may create
930// sub-contexts for http.Requests. See https://golang.org/pkg/context/
931// for more information on using Contexts.
932func (c *ElasticsearchService) DeleteInboundCrossClusterSearchConnectionWithContext(ctx aws.Context, input *DeleteInboundCrossClusterSearchConnectionInput, opts ...request.Option) (*DeleteInboundCrossClusterSearchConnectionOutput, error) {
933	req, out := c.DeleteInboundCrossClusterSearchConnectionRequest(input)
934	req.SetContext(ctx)
935	req.ApplyOptions(opts...)
936	return out, req.Send()
937}
938
939const opDeleteOutboundCrossClusterSearchConnection = "DeleteOutboundCrossClusterSearchConnection"
940
941// DeleteOutboundCrossClusterSearchConnectionRequest generates a "aws/request.Request" representing the
942// client's request for the DeleteOutboundCrossClusterSearchConnection operation. The "output" return
943// value will be populated with the request's response once the request completes
944// successfully.
945//
946// Use "Send" method on the returned Request to send the API call to the service.
947// the "output" return value is not valid until after Send returns without error.
948//
949// See DeleteOutboundCrossClusterSearchConnection for more information on using the DeleteOutboundCrossClusterSearchConnection
950// API call, and error handling.
951//
952// This method is useful when you want to inject custom logic or configuration
953// into the SDK's request lifecycle. Such as custom headers, or retry logic.
954//
955//
956//    // Example sending a request using the DeleteOutboundCrossClusterSearchConnectionRequest method.
957//    req, resp := client.DeleteOutboundCrossClusterSearchConnectionRequest(params)
958//
959//    err := req.Send()
960//    if err == nil { // resp is now filled
961//        fmt.Println(resp)
962//    }
963func (c *ElasticsearchService) DeleteOutboundCrossClusterSearchConnectionRequest(input *DeleteOutboundCrossClusterSearchConnectionInput) (req *request.Request, output *DeleteOutboundCrossClusterSearchConnectionOutput) {
964	op := &request.Operation{
965		Name:       opDeleteOutboundCrossClusterSearchConnection,
966		HTTPMethod: "DELETE",
967		HTTPPath:   "/2015-01-01/es/ccs/outboundConnection/{ConnectionId}",
968	}
969
970	if input == nil {
971		input = &DeleteOutboundCrossClusterSearchConnectionInput{}
972	}
973
974	output = &DeleteOutboundCrossClusterSearchConnectionOutput{}
975	req = c.newRequest(op, input, output)
976	return
977}
978
979// DeleteOutboundCrossClusterSearchConnection API operation for Amazon Elasticsearch Service.
980//
981// Allows the source domain owner to delete an existing outbound cross-cluster
982// search connection.
983//
984// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
985// with awserr.Error's Code and Message methods to get detailed information about
986// the error.
987//
988// See the AWS API reference guide for Amazon Elasticsearch Service's
989// API operation DeleteOutboundCrossClusterSearchConnection for usage and error information.
990//
991// Returned Error Types:
992//   * ResourceNotFoundException
993//   An exception for accessing or deleting a resource that does not exist. Gives
994//   http status code of 400.
995//
996//   * DisabledOperationException
997//   An error occured because the client wanted to access a not supported operation.
998//   Gives http status code of 409.
999//
1000func (c *ElasticsearchService) DeleteOutboundCrossClusterSearchConnection(input *DeleteOutboundCrossClusterSearchConnectionInput) (*DeleteOutboundCrossClusterSearchConnectionOutput, error) {
1001	req, out := c.DeleteOutboundCrossClusterSearchConnectionRequest(input)
1002	return out, req.Send()
1003}
1004
1005// DeleteOutboundCrossClusterSearchConnectionWithContext is the same as DeleteOutboundCrossClusterSearchConnection with the addition of
1006// the ability to pass a context and additional request options.
1007//
1008// See DeleteOutboundCrossClusterSearchConnection for details on how to use this API operation.
1009//
1010// The context must be non-nil and will be used for request cancellation. If
1011// the context is nil a panic will occur. In the future the SDK may create
1012// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1013// for more information on using Contexts.
1014func (c *ElasticsearchService) DeleteOutboundCrossClusterSearchConnectionWithContext(ctx aws.Context, input *DeleteOutboundCrossClusterSearchConnectionInput, opts ...request.Option) (*DeleteOutboundCrossClusterSearchConnectionOutput, error) {
1015	req, out := c.DeleteOutboundCrossClusterSearchConnectionRequest(input)
1016	req.SetContext(ctx)
1017	req.ApplyOptions(opts...)
1018	return out, req.Send()
1019}
1020
1021const opDeletePackage = "DeletePackage"
1022
1023// DeletePackageRequest generates a "aws/request.Request" representing the
1024// client's request for the DeletePackage operation. The "output" return
1025// value will be populated with the request's response once the request completes
1026// successfully.
1027//
1028// Use "Send" method on the returned Request to send the API call to the service.
1029// the "output" return value is not valid until after Send returns without error.
1030//
1031// See DeletePackage for more information on using the DeletePackage
1032// API call, and error handling.
1033//
1034// This method is useful when you want to inject custom logic or configuration
1035// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1036//
1037//
1038//    // Example sending a request using the DeletePackageRequest method.
1039//    req, resp := client.DeletePackageRequest(params)
1040//
1041//    err := req.Send()
1042//    if err == nil { // resp is now filled
1043//        fmt.Println(resp)
1044//    }
1045func (c *ElasticsearchService) DeletePackageRequest(input *DeletePackageInput) (req *request.Request, output *DeletePackageOutput) {
1046	op := &request.Operation{
1047		Name:       opDeletePackage,
1048		HTTPMethod: "DELETE",
1049		HTTPPath:   "/2015-01-01/packages/{PackageID}",
1050	}
1051
1052	if input == nil {
1053		input = &DeletePackageInput{}
1054	}
1055
1056	output = &DeletePackageOutput{}
1057	req = c.newRequest(op, input, output)
1058	return
1059}
1060
1061// DeletePackage API operation for Amazon Elasticsearch Service.
1062//
1063// Delete the package.
1064//
1065// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1066// with awserr.Error's Code and Message methods to get detailed information about
1067// the error.
1068//
1069// See the AWS API reference guide for Amazon Elasticsearch Service's
1070// API operation DeletePackage for usage and error information.
1071//
1072// Returned Error Types:
1073//   * BaseException
1074//   An error occurred while processing the request.
1075//
1076//   * InternalException
1077//   The request processing has failed because of an unknown error, exception
1078//   or failure (the failure is internal to the service) . Gives http status code
1079//   of 500.
1080//
1081//   * ResourceNotFoundException
1082//   An exception for accessing or deleting a resource that does not exist. Gives
1083//   http status code of 400.
1084//
1085//   * AccessDeniedException
1086//   An error occurred because user does not have permissions to access the resource.
1087//   Returns HTTP status code 403.
1088//
1089//   * ValidationException
1090//   An exception for missing / invalid input fields. Gives http status code of
1091//   400.
1092//
1093//   * ConflictException
1094//   An error occurred because the client attempts to remove a resource that is
1095//   currently in use. Returns HTTP status code 409.
1096//
1097func (c *ElasticsearchService) DeletePackage(input *DeletePackageInput) (*DeletePackageOutput, error) {
1098	req, out := c.DeletePackageRequest(input)
1099	return out, req.Send()
1100}
1101
1102// DeletePackageWithContext is the same as DeletePackage with the addition of
1103// the ability to pass a context and additional request options.
1104//
1105// See DeletePackage for details on how to use this API operation.
1106//
1107// The context must be non-nil and will be used for request cancellation. If
1108// the context is nil a panic will occur. In the future the SDK may create
1109// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1110// for more information on using Contexts.
1111func (c *ElasticsearchService) DeletePackageWithContext(ctx aws.Context, input *DeletePackageInput, opts ...request.Option) (*DeletePackageOutput, error) {
1112	req, out := c.DeletePackageRequest(input)
1113	req.SetContext(ctx)
1114	req.ApplyOptions(opts...)
1115	return out, req.Send()
1116}
1117
1118const opDescribeDomainAutoTunes = "DescribeDomainAutoTunes"
1119
1120// DescribeDomainAutoTunesRequest generates a "aws/request.Request" representing the
1121// client's request for the DescribeDomainAutoTunes operation. The "output" return
1122// value will be populated with the request's response once the request completes
1123// successfully.
1124//
1125// Use "Send" method on the returned Request to send the API call to the service.
1126// the "output" return value is not valid until after Send returns without error.
1127//
1128// See DescribeDomainAutoTunes for more information on using the DescribeDomainAutoTunes
1129// API call, and error handling.
1130//
1131// This method is useful when you want to inject custom logic or configuration
1132// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1133//
1134//
1135//    // Example sending a request using the DescribeDomainAutoTunesRequest method.
1136//    req, resp := client.DescribeDomainAutoTunesRequest(params)
1137//
1138//    err := req.Send()
1139//    if err == nil { // resp is now filled
1140//        fmt.Println(resp)
1141//    }
1142func (c *ElasticsearchService) DescribeDomainAutoTunesRequest(input *DescribeDomainAutoTunesInput) (req *request.Request, output *DescribeDomainAutoTunesOutput) {
1143	op := &request.Operation{
1144		Name:       opDescribeDomainAutoTunes,
1145		HTTPMethod: "GET",
1146		HTTPPath:   "/2015-01-01/es/domain/{DomainName}/autoTunes",
1147		Paginator: &request.Paginator{
1148			InputTokens:     []string{"NextToken"},
1149			OutputTokens:    []string{"NextToken"},
1150			LimitToken:      "MaxResults",
1151			TruncationToken: "",
1152		},
1153	}
1154
1155	if input == nil {
1156		input = &DescribeDomainAutoTunesInput{}
1157	}
1158
1159	output = &DescribeDomainAutoTunesOutput{}
1160	req = c.newRequest(op, input, output)
1161	return
1162}
1163
1164// DescribeDomainAutoTunes API operation for Amazon Elasticsearch Service.
1165//
1166// Provides scheduled Auto-Tune action details for the Elasticsearch domain,
1167// such as Auto-Tune action type, description, severity, and scheduled date.
1168//
1169// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1170// with awserr.Error's Code and Message methods to get detailed information about
1171// the error.
1172//
1173// See the AWS API reference guide for Amazon Elasticsearch Service's
1174// API operation DescribeDomainAutoTunes for usage and error information.
1175//
1176// Returned Error Types:
1177//   * BaseException
1178//   An error occurred while processing the request.
1179//
1180//   * InternalException
1181//   The request processing has failed because of an unknown error, exception
1182//   or failure (the failure is internal to the service) . Gives http status code
1183//   of 500.
1184//
1185//   * ResourceNotFoundException
1186//   An exception for accessing or deleting a resource that does not exist. Gives
1187//   http status code of 400.
1188//
1189//   * ValidationException
1190//   An exception for missing / invalid input fields. Gives http status code of
1191//   400.
1192//
1193func (c *ElasticsearchService) DescribeDomainAutoTunes(input *DescribeDomainAutoTunesInput) (*DescribeDomainAutoTunesOutput, error) {
1194	req, out := c.DescribeDomainAutoTunesRequest(input)
1195	return out, req.Send()
1196}
1197
1198// DescribeDomainAutoTunesWithContext is the same as DescribeDomainAutoTunes with the addition of
1199// the ability to pass a context and additional request options.
1200//
1201// See DescribeDomainAutoTunes for details on how to use this API operation.
1202//
1203// The context must be non-nil and will be used for request cancellation. If
1204// the context is nil a panic will occur. In the future the SDK may create
1205// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1206// for more information on using Contexts.
1207func (c *ElasticsearchService) DescribeDomainAutoTunesWithContext(ctx aws.Context, input *DescribeDomainAutoTunesInput, opts ...request.Option) (*DescribeDomainAutoTunesOutput, error) {
1208	req, out := c.DescribeDomainAutoTunesRequest(input)
1209	req.SetContext(ctx)
1210	req.ApplyOptions(opts...)
1211	return out, req.Send()
1212}
1213
1214// DescribeDomainAutoTunesPages iterates over the pages of a DescribeDomainAutoTunes operation,
1215// calling the "fn" function with the response data for each page. To stop
1216// iterating, return false from the fn function.
1217//
1218// See DescribeDomainAutoTunes method for more information on how to use this operation.
1219//
1220// Note: This operation can generate multiple requests to a service.
1221//
1222//    // Example iterating over at most 3 pages of a DescribeDomainAutoTunes operation.
1223//    pageNum := 0
1224//    err := client.DescribeDomainAutoTunesPages(params,
1225//        func(page *elasticsearchservice.DescribeDomainAutoTunesOutput, lastPage bool) bool {
1226//            pageNum++
1227//            fmt.Println(page)
1228//            return pageNum <= 3
1229//        })
1230//
1231func (c *ElasticsearchService) DescribeDomainAutoTunesPages(input *DescribeDomainAutoTunesInput, fn func(*DescribeDomainAutoTunesOutput, bool) bool) error {
1232	return c.DescribeDomainAutoTunesPagesWithContext(aws.BackgroundContext(), input, fn)
1233}
1234
1235// DescribeDomainAutoTunesPagesWithContext same as DescribeDomainAutoTunesPages except
1236// it takes a Context and allows setting request options on the pages.
1237//
1238// The context must be non-nil and will be used for request cancellation. If
1239// the context is nil a panic will occur. In the future the SDK may create
1240// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1241// for more information on using Contexts.
1242func (c *ElasticsearchService) DescribeDomainAutoTunesPagesWithContext(ctx aws.Context, input *DescribeDomainAutoTunesInput, fn func(*DescribeDomainAutoTunesOutput, bool) bool, opts ...request.Option) error {
1243	p := request.Pagination{
1244		NewRequest: func() (*request.Request, error) {
1245			var inCpy *DescribeDomainAutoTunesInput
1246			if input != nil {
1247				tmp := *input
1248				inCpy = &tmp
1249			}
1250			req, _ := c.DescribeDomainAutoTunesRequest(inCpy)
1251			req.SetContext(ctx)
1252			req.ApplyOptions(opts...)
1253			return req, nil
1254		},
1255	}
1256
1257	for p.Next() {
1258		if !fn(p.Page().(*DescribeDomainAutoTunesOutput), !p.HasNextPage()) {
1259			break
1260		}
1261	}
1262
1263	return p.Err()
1264}
1265
1266const opDescribeElasticsearchDomain = "DescribeElasticsearchDomain"
1267
1268// DescribeElasticsearchDomainRequest generates a "aws/request.Request" representing the
1269// client's request for the DescribeElasticsearchDomain operation. The "output" return
1270// value will be populated with the request's response once the request completes
1271// successfully.
1272//
1273// Use "Send" method on the returned Request to send the API call to the service.
1274// the "output" return value is not valid until after Send returns without error.
1275//
1276// See DescribeElasticsearchDomain for more information on using the DescribeElasticsearchDomain
1277// API call, and error handling.
1278//
1279// This method is useful when you want to inject custom logic or configuration
1280// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1281//
1282//
1283//    // Example sending a request using the DescribeElasticsearchDomainRequest method.
1284//    req, resp := client.DescribeElasticsearchDomainRequest(params)
1285//
1286//    err := req.Send()
1287//    if err == nil { // resp is now filled
1288//        fmt.Println(resp)
1289//    }
1290func (c *ElasticsearchService) DescribeElasticsearchDomainRequest(input *DescribeElasticsearchDomainInput) (req *request.Request, output *DescribeElasticsearchDomainOutput) {
1291	op := &request.Operation{
1292		Name:       opDescribeElasticsearchDomain,
1293		HTTPMethod: "GET",
1294		HTTPPath:   "/2015-01-01/es/domain/{DomainName}",
1295	}
1296
1297	if input == nil {
1298		input = &DescribeElasticsearchDomainInput{}
1299	}
1300
1301	output = &DescribeElasticsearchDomainOutput{}
1302	req = c.newRequest(op, input, output)
1303	return
1304}
1305
1306// DescribeElasticsearchDomain API operation for Amazon Elasticsearch Service.
1307//
1308// Returns domain configuration information about the specified Elasticsearch
1309// domain, including the domain ID, domain endpoint, and domain ARN.
1310//
1311// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1312// with awserr.Error's Code and Message methods to get detailed information about
1313// the error.
1314//
1315// See the AWS API reference guide for Amazon Elasticsearch Service's
1316// API operation DescribeElasticsearchDomain for usage and error information.
1317//
1318// Returned Error Types:
1319//   * BaseException
1320//   An error occurred while processing the request.
1321//
1322//   * InternalException
1323//   The request processing has failed because of an unknown error, exception
1324//   or failure (the failure is internal to the service) . Gives http status code
1325//   of 500.
1326//
1327//   * ResourceNotFoundException
1328//   An exception for accessing or deleting a resource that does not exist. Gives
1329//   http status code of 400.
1330//
1331//   * ValidationException
1332//   An exception for missing / invalid input fields. Gives http status code of
1333//   400.
1334//
1335func (c *ElasticsearchService) DescribeElasticsearchDomain(input *DescribeElasticsearchDomainInput) (*DescribeElasticsearchDomainOutput, error) {
1336	req, out := c.DescribeElasticsearchDomainRequest(input)
1337	return out, req.Send()
1338}
1339
1340// DescribeElasticsearchDomainWithContext is the same as DescribeElasticsearchDomain with the addition of
1341// the ability to pass a context and additional request options.
1342//
1343// See DescribeElasticsearchDomain for details on how to use this API operation.
1344//
1345// The context must be non-nil and will be used for request cancellation. If
1346// the context is nil a panic will occur. In the future the SDK may create
1347// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1348// for more information on using Contexts.
1349func (c *ElasticsearchService) DescribeElasticsearchDomainWithContext(ctx aws.Context, input *DescribeElasticsearchDomainInput, opts ...request.Option) (*DescribeElasticsearchDomainOutput, error) {
1350	req, out := c.DescribeElasticsearchDomainRequest(input)
1351	req.SetContext(ctx)
1352	req.ApplyOptions(opts...)
1353	return out, req.Send()
1354}
1355
1356const opDescribeElasticsearchDomainConfig = "DescribeElasticsearchDomainConfig"
1357
1358// DescribeElasticsearchDomainConfigRequest generates a "aws/request.Request" representing the
1359// client's request for the DescribeElasticsearchDomainConfig operation. The "output" return
1360// value will be populated with the request's response once the request completes
1361// successfully.
1362//
1363// Use "Send" method on the returned Request to send the API call to the service.
1364// the "output" return value is not valid until after Send returns without error.
1365//
1366// See DescribeElasticsearchDomainConfig for more information on using the DescribeElasticsearchDomainConfig
1367// API call, and error handling.
1368//
1369// This method is useful when you want to inject custom logic or configuration
1370// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1371//
1372//
1373//    // Example sending a request using the DescribeElasticsearchDomainConfigRequest method.
1374//    req, resp := client.DescribeElasticsearchDomainConfigRequest(params)
1375//
1376//    err := req.Send()
1377//    if err == nil { // resp is now filled
1378//        fmt.Println(resp)
1379//    }
1380func (c *ElasticsearchService) DescribeElasticsearchDomainConfigRequest(input *DescribeElasticsearchDomainConfigInput) (req *request.Request, output *DescribeElasticsearchDomainConfigOutput) {
1381	op := &request.Operation{
1382		Name:       opDescribeElasticsearchDomainConfig,
1383		HTTPMethod: "GET",
1384		HTTPPath:   "/2015-01-01/es/domain/{DomainName}/config",
1385	}
1386
1387	if input == nil {
1388		input = &DescribeElasticsearchDomainConfigInput{}
1389	}
1390
1391	output = &DescribeElasticsearchDomainConfigOutput{}
1392	req = c.newRequest(op, input, output)
1393	return
1394}
1395
1396// DescribeElasticsearchDomainConfig API operation for Amazon Elasticsearch Service.
1397//
1398// Provides cluster configuration information about the specified Elasticsearch
1399// domain, such as the state, creation date, update version, and update date
1400// for cluster options.
1401//
1402// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1403// with awserr.Error's Code and Message methods to get detailed information about
1404// the error.
1405//
1406// See the AWS API reference guide for Amazon Elasticsearch Service's
1407// API operation DescribeElasticsearchDomainConfig for usage and error information.
1408//
1409// Returned Error Types:
1410//   * BaseException
1411//   An error occurred while processing the request.
1412//
1413//   * InternalException
1414//   The request processing has failed because of an unknown error, exception
1415//   or failure (the failure is internal to the service) . Gives http status code
1416//   of 500.
1417//
1418//   * ResourceNotFoundException
1419//   An exception for accessing or deleting a resource that does not exist. Gives
1420//   http status code of 400.
1421//
1422//   * ValidationException
1423//   An exception for missing / invalid input fields. Gives http status code of
1424//   400.
1425//
1426func (c *ElasticsearchService) DescribeElasticsearchDomainConfig(input *DescribeElasticsearchDomainConfigInput) (*DescribeElasticsearchDomainConfigOutput, error) {
1427	req, out := c.DescribeElasticsearchDomainConfigRequest(input)
1428	return out, req.Send()
1429}
1430
1431// DescribeElasticsearchDomainConfigWithContext is the same as DescribeElasticsearchDomainConfig with the addition of
1432// the ability to pass a context and additional request options.
1433//
1434// See DescribeElasticsearchDomainConfig for details on how to use this API operation.
1435//
1436// The context must be non-nil and will be used for request cancellation. If
1437// the context is nil a panic will occur. In the future the SDK may create
1438// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1439// for more information on using Contexts.
1440func (c *ElasticsearchService) DescribeElasticsearchDomainConfigWithContext(ctx aws.Context, input *DescribeElasticsearchDomainConfigInput, opts ...request.Option) (*DescribeElasticsearchDomainConfigOutput, error) {
1441	req, out := c.DescribeElasticsearchDomainConfigRequest(input)
1442	req.SetContext(ctx)
1443	req.ApplyOptions(opts...)
1444	return out, req.Send()
1445}
1446
1447const opDescribeElasticsearchDomains = "DescribeElasticsearchDomains"
1448
1449// DescribeElasticsearchDomainsRequest generates a "aws/request.Request" representing the
1450// client's request for the DescribeElasticsearchDomains operation. The "output" return
1451// value will be populated with the request's response once the request completes
1452// successfully.
1453//
1454// Use "Send" method on the returned Request to send the API call to the service.
1455// the "output" return value is not valid until after Send returns without error.
1456//
1457// See DescribeElasticsearchDomains for more information on using the DescribeElasticsearchDomains
1458// API call, and error handling.
1459//
1460// This method is useful when you want to inject custom logic or configuration
1461// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1462//
1463//
1464//    // Example sending a request using the DescribeElasticsearchDomainsRequest method.
1465//    req, resp := client.DescribeElasticsearchDomainsRequest(params)
1466//
1467//    err := req.Send()
1468//    if err == nil { // resp is now filled
1469//        fmt.Println(resp)
1470//    }
1471func (c *ElasticsearchService) DescribeElasticsearchDomainsRequest(input *DescribeElasticsearchDomainsInput) (req *request.Request, output *DescribeElasticsearchDomainsOutput) {
1472	op := &request.Operation{
1473		Name:       opDescribeElasticsearchDomains,
1474		HTTPMethod: "POST",
1475		HTTPPath:   "/2015-01-01/es/domain-info",
1476	}
1477
1478	if input == nil {
1479		input = &DescribeElasticsearchDomainsInput{}
1480	}
1481
1482	output = &DescribeElasticsearchDomainsOutput{}
1483	req = c.newRequest(op, input, output)
1484	return
1485}
1486
1487// DescribeElasticsearchDomains API operation for Amazon Elasticsearch Service.
1488//
1489// Returns domain configuration information about the specified Elasticsearch
1490// domains, including the domain ID, domain endpoint, and domain ARN.
1491//
1492// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1493// with awserr.Error's Code and Message methods to get detailed information about
1494// the error.
1495//
1496// See the AWS API reference guide for Amazon Elasticsearch Service's
1497// API operation DescribeElasticsearchDomains for usage and error information.
1498//
1499// Returned Error Types:
1500//   * BaseException
1501//   An error occurred while processing the request.
1502//
1503//   * InternalException
1504//   The request processing has failed because of an unknown error, exception
1505//   or failure (the failure is internal to the service) . Gives http status code
1506//   of 500.
1507//
1508//   * ValidationException
1509//   An exception for missing / invalid input fields. Gives http status code of
1510//   400.
1511//
1512func (c *ElasticsearchService) DescribeElasticsearchDomains(input *DescribeElasticsearchDomainsInput) (*DescribeElasticsearchDomainsOutput, error) {
1513	req, out := c.DescribeElasticsearchDomainsRequest(input)
1514	return out, req.Send()
1515}
1516
1517// DescribeElasticsearchDomainsWithContext is the same as DescribeElasticsearchDomains with the addition of
1518// the ability to pass a context and additional request options.
1519//
1520// See DescribeElasticsearchDomains for details on how to use this API operation.
1521//
1522// The context must be non-nil and will be used for request cancellation. If
1523// the context is nil a panic will occur. In the future the SDK may create
1524// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1525// for more information on using Contexts.
1526func (c *ElasticsearchService) DescribeElasticsearchDomainsWithContext(ctx aws.Context, input *DescribeElasticsearchDomainsInput, opts ...request.Option) (*DescribeElasticsearchDomainsOutput, error) {
1527	req, out := c.DescribeElasticsearchDomainsRequest(input)
1528	req.SetContext(ctx)
1529	req.ApplyOptions(opts...)
1530	return out, req.Send()
1531}
1532
1533const opDescribeElasticsearchInstanceTypeLimits = "DescribeElasticsearchInstanceTypeLimits"
1534
1535// DescribeElasticsearchInstanceTypeLimitsRequest generates a "aws/request.Request" representing the
1536// client's request for the DescribeElasticsearchInstanceTypeLimits operation. The "output" return
1537// value will be populated with the request's response once the request completes
1538// successfully.
1539//
1540// Use "Send" method on the returned Request to send the API call to the service.
1541// the "output" return value is not valid until after Send returns without error.
1542//
1543// See DescribeElasticsearchInstanceTypeLimits for more information on using the DescribeElasticsearchInstanceTypeLimits
1544// API call, and error handling.
1545//
1546// This method is useful when you want to inject custom logic or configuration
1547// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1548//
1549//
1550//    // Example sending a request using the DescribeElasticsearchInstanceTypeLimitsRequest method.
1551//    req, resp := client.DescribeElasticsearchInstanceTypeLimitsRequest(params)
1552//
1553//    err := req.Send()
1554//    if err == nil { // resp is now filled
1555//        fmt.Println(resp)
1556//    }
1557func (c *ElasticsearchService) DescribeElasticsearchInstanceTypeLimitsRequest(input *DescribeElasticsearchInstanceTypeLimitsInput) (req *request.Request, output *DescribeElasticsearchInstanceTypeLimitsOutput) {
1558	op := &request.Operation{
1559		Name:       opDescribeElasticsearchInstanceTypeLimits,
1560		HTTPMethod: "GET",
1561		HTTPPath:   "/2015-01-01/es/instanceTypeLimits/{ElasticsearchVersion}/{InstanceType}",
1562	}
1563
1564	if input == nil {
1565		input = &DescribeElasticsearchInstanceTypeLimitsInput{}
1566	}
1567
1568	output = &DescribeElasticsearchInstanceTypeLimitsOutput{}
1569	req = c.newRequest(op, input, output)
1570	return
1571}
1572
1573// DescribeElasticsearchInstanceTypeLimits API operation for Amazon Elasticsearch Service.
1574//
1575// Describe Elasticsearch Limits for a given InstanceType and ElasticsearchVersion.
1576// When modifying existing Domain, specify the DomainName to know what Limits
1577// are supported for modifying.
1578//
1579// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1580// with awserr.Error's Code and Message methods to get detailed information about
1581// the error.
1582//
1583// See the AWS API reference guide for Amazon Elasticsearch Service's
1584// API operation DescribeElasticsearchInstanceTypeLimits for usage and error information.
1585//
1586// Returned Error Types:
1587//   * BaseException
1588//   An error occurred while processing the request.
1589//
1590//   * InternalException
1591//   The request processing has failed because of an unknown error, exception
1592//   or failure (the failure is internal to the service) . Gives http status code
1593//   of 500.
1594//
1595//   * InvalidTypeException
1596//   An exception for trying to create or access sub-resource that is either invalid
1597//   or not supported. Gives http status code of 409.
1598//
1599//   * LimitExceededException
1600//   An exception for trying to create more than allowed resources or sub-resources.
1601//   Gives http status code of 409.
1602//
1603//   * ResourceNotFoundException
1604//   An exception for accessing or deleting a resource that does not exist. Gives
1605//   http status code of 400.
1606//
1607//   * ValidationException
1608//   An exception for missing / invalid input fields. Gives http status code of
1609//   400.
1610//
1611func (c *ElasticsearchService) DescribeElasticsearchInstanceTypeLimits(input *DescribeElasticsearchInstanceTypeLimitsInput) (*DescribeElasticsearchInstanceTypeLimitsOutput, error) {
1612	req, out := c.DescribeElasticsearchInstanceTypeLimitsRequest(input)
1613	return out, req.Send()
1614}
1615
1616// DescribeElasticsearchInstanceTypeLimitsWithContext is the same as DescribeElasticsearchInstanceTypeLimits with the addition of
1617// the ability to pass a context and additional request options.
1618//
1619// See DescribeElasticsearchInstanceTypeLimits for details on how to use this API operation.
1620//
1621// The context must be non-nil and will be used for request cancellation. If
1622// the context is nil a panic will occur. In the future the SDK may create
1623// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1624// for more information on using Contexts.
1625func (c *ElasticsearchService) DescribeElasticsearchInstanceTypeLimitsWithContext(ctx aws.Context, input *DescribeElasticsearchInstanceTypeLimitsInput, opts ...request.Option) (*DescribeElasticsearchInstanceTypeLimitsOutput, error) {
1626	req, out := c.DescribeElasticsearchInstanceTypeLimitsRequest(input)
1627	req.SetContext(ctx)
1628	req.ApplyOptions(opts...)
1629	return out, req.Send()
1630}
1631
1632const opDescribeInboundCrossClusterSearchConnections = "DescribeInboundCrossClusterSearchConnections"
1633
1634// DescribeInboundCrossClusterSearchConnectionsRequest generates a "aws/request.Request" representing the
1635// client's request for the DescribeInboundCrossClusterSearchConnections operation. The "output" return
1636// value will be populated with the request's response once the request completes
1637// successfully.
1638//
1639// Use "Send" method on the returned Request to send the API call to the service.
1640// the "output" return value is not valid until after Send returns without error.
1641//
1642// See DescribeInboundCrossClusterSearchConnections for more information on using the DescribeInboundCrossClusterSearchConnections
1643// API call, and error handling.
1644//
1645// This method is useful when you want to inject custom logic or configuration
1646// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1647//
1648//
1649//    // Example sending a request using the DescribeInboundCrossClusterSearchConnectionsRequest method.
1650//    req, resp := client.DescribeInboundCrossClusterSearchConnectionsRequest(params)
1651//
1652//    err := req.Send()
1653//    if err == nil { // resp is now filled
1654//        fmt.Println(resp)
1655//    }
1656func (c *ElasticsearchService) DescribeInboundCrossClusterSearchConnectionsRequest(input *DescribeInboundCrossClusterSearchConnectionsInput) (req *request.Request, output *DescribeInboundCrossClusterSearchConnectionsOutput) {
1657	op := &request.Operation{
1658		Name:       opDescribeInboundCrossClusterSearchConnections,
1659		HTTPMethod: "POST",
1660		HTTPPath:   "/2015-01-01/es/ccs/inboundConnection/search",
1661		Paginator: &request.Paginator{
1662			InputTokens:     []string{"NextToken"},
1663			OutputTokens:    []string{"NextToken"},
1664			LimitToken:      "MaxResults",
1665			TruncationToken: "",
1666		},
1667	}
1668
1669	if input == nil {
1670		input = &DescribeInboundCrossClusterSearchConnectionsInput{}
1671	}
1672
1673	output = &DescribeInboundCrossClusterSearchConnectionsOutput{}
1674	req = c.newRequest(op, input, output)
1675	return
1676}
1677
1678// DescribeInboundCrossClusterSearchConnections API operation for Amazon Elasticsearch Service.
1679//
1680// Lists all the inbound cross-cluster search connections for a destination
1681// domain.
1682//
1683// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1684// with awserr.Error's Code and Message methods to get detailed information about
1685// the error.
1686//
1687// See the AWS API reference guide for Amazon Elasticsearch Service's
1688// API operation DescribeInboundCrossClusterSearchConnections for usage and error information.
1689//
1690// Returned Error Types:
1691//   * InvalidPaginationTokenException
1692//   The request processing has failed because of invalid pagination token provided
1693//   by customer. Returns an HTTP status code of 400.
1694//
1695//   * DisabledOperationException
1696//   An error occured because the client wanted to access a not supported operation.
1697//   Gives http status code of 409.
1698//
1699func (c *ElasticsearchService) DescribeInboundCrossClusterSearchConnections(input *DescribeInboundCrossClusterSearchConnectionsInput) (*DescribeInboundCrossClusterSearchConnectionsOutput, error) {
1700	req, out := c.DescribeInboundCrossClusterSearchConnectionsRequest(input)
1701	return out, req.Send()
1702}
1703
1704// DescribeInboundCrossClusterSearchConnectionsWithContext is the same as DescribeInboundCrossClusterSearchConnections with the addition of
1705// the ability to pass a context and additional request options.
1706//
1707// See DescribeInboundCrossClusterSearchConnections for details on how to use this API operation.
1708//
1709// The context must be non-nil and will be used for request cancellation. If
1710// the context is nil a panic will occur. In the future the SDK may create
1711// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1712// for more information on using Contexts.
1713func (c *ElasticsearchService) DescribeInboundCrossClusterSearchConnectionsWithContext(ctx aws.Context, input *DescribeInboundCrossClusterSearchConnectionsInput, opts ...request.Option) (*DescribeInboundCrossClusterSearchConnectionsOutput, error) {
1714	req, out := c.DescribeInboundCrossClusterSearchConnectionsRequest(input)
1715	req.SetContext(ctx)
1716	req.ApplyOptions(opts...)
1717	return out, req.Send()
1718}
1719
1720// DescribeInboundCrossClusterSearchConnectionsPages iterates over the pages of a DescribeInboundCrossClusterSearchConnections operation,
1721// calling the "fn" function with the response data for each page. To stop
1722// iterating, return false from the fn function.
1723//
1724// See DescribeInboundCrossClusterSearchConnections method for more information on how to use this operation.
1725//
1726// Note: This operation can generate multiple requests to a service.
1727//
1728//    // Example iterating over at most 3 pages of a DescribeInboundCrossClusterSearchConnections operation.
1729//    pageNum := 0
1730//    err := client.DescribeInboundCrossClusterSearchConnectionsPages(params,
1731//        func(page *elasticsearchservice.DescribeInboundCrossClusterSearchConnectionsOutput, lastPage bool) bool {
1732//            pageNum++
1733//            fmt.Println(page)
1734//            return pageNum <= 3
1735//        })
1736//
1737func (c *ElasticsearchService) DescribeInboundCrossClusterSearchConnectionsPages(input *DescribeInboundCrossClusterSearchConnectionsInput, fn func(*DescribeInboundCrossClusterSearchConnectionsOutput, bool) bool) error {
1738	return c.DescribeInboundCrossClusterSearchConnectionsPagesWithContext(aws.BackgroundContext(), input, fn)
1739}
1740
1741// DescribeInboundCrossClusterSearchConnectionsPagesWithContext same as DescribeInboundCrossClusterSearchConnectionsPages except
1742// it takes a Context and allows setting request options on the pages.
1743//
1744// The context must be non-nil and will be used for request cancellation. If
1745// the context is nil a panic will occur. In the future the SDK may create
1746// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1747// for more information on using Contexts.
1748func (c *ElasticsearchService) DescribeInboundCrossClusterSearchConnectionsPagesWithContext(ctx aws.Context, input *DescribeInboundCrossClusterSearchConnectionsInput, fn func(*DescribeInboundCrossClusterSearchConnectionsOutput, bool) bool, opts ...request.Option) error {
1749	p := request.Pagination{
1750		NewRequest: func() (*request.Request, error) {
1751			var inCpy *DescribeInboundCrossClusterSearchConnectionsInput
1752			if input != nil {
1753				tmp := *input
1754				inCpy = &tmp
1755			}
1756			req, _ := c.DescribeInboundCrossClusterSearchConnectionsRequest(inCpy)
1757			req.SetContext(ctx)
1758			req.ApplyOptions(opts...)
1759			return req, nil
1760		},
1761	}
1762
1763	for p.Next() {
1764		if !fn(p.Page().(*DescribeInboundCrossClusterSearchConnectionsOutput), !p.HasNextPage()) {
1765			break
1766		}
1767	}
1768
1769	return p.Err()
1770}
1771
1772const opDescribeOutboundCrossClusterSearchConnections = "DescribeOutboundCrossClusterSearchConnections"
1773
1774// DescribeOutboundCrossClusterSearchConnectionsRequest generates a "aws/request.Request" representing the
1775// client's request for the DescribeOutboundCrossClusterSearchConnections operation. The "output" return
1776// value will be populated with the request's response once the request completes
1777// successfully.
1778//
1779// Use "Send" method on the returned Request to send the API call to the service.
1780// the "output" return value is not valid until after Send returns without error.
1781//
1782// See DescribeOutboundCrossClusterSearchConnections for more information on using the DescribeOutboundCrossClusterSearchConnections
1783// API call, and error handling.
1784//
1785// This method is useful when you want to inject custom logic or configuration
1786// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1787//
1788//
1789//    // Example sending a request using the DescribeOutboundCrossClusterSearchConnectionsRequest method.
1790//    req, resp := client.DescribeOutboundCrossClusterSearchConnectionsRequest(params)
1791//
1792//    err := req.Send()
1793//    if err == nil { // resp is now filled
1794//        fmt.Println(resp)
1795//    }
1796func (c *ElasticsearchService) DescribeOutboundCrossClusterSearchConnectionsRequest(input *DescribeOutboundCrossClusterSearchConnectionsInput) (req *request.Request, output *DescribeOutboundCrossClusterSearchConnectionsOutput) {
1797	op := &request.Operation{
1798		Name:       opDescribeOutboundCrossClusterSearchConnections,
1799		HTTPMethod: "POST",
1800		HTTPPath:   "/2015-01-01/es/ccs/outboundConnection/search",
1801		Paginator: &request.Paginator{
1802			InputTokens:     []string{"NextToken"},
1803			OutputTokens:    []string{"NextToken"},
1804			LimitToken:      "MaxResults",
1805			TruncationToken: "",
1806		},
1807	}
1808
1809	if input == nil {
1810		input = &DescribeOutboundCrossClusterSearchConnectionsInput{}
1811	}
1812
1813	output = &DescribeOutboundCrossClusterSearchConnectionsOutput{}
1814	req = c.newRequest(op, input, output)
1815	return
1816}
1817
1818// DescribeOutboundCrossClusterSearchConnections API operation for Amazon Elasticsearch Service.
1819//
1820// Lists all the outbound cross-cluster search connections for a source domain.
1821//
1822// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1823// with awserr.Error's Code and Message methods to get detailed information about
1824// the error.
1825//
1826// See the AWS API reference guide for Amazon Elasticsearch Service's
1827// API operation DescribeOutboundCrossClusterSearchConnections for usage and error information.
1828//
1829// Returned Error Types:
1830//   * InvalidPaginationTokenException
1831//   The request processing has failed because of invalid pagination token provided
1832//   by customer. Returns an HTTP status code of 400.
1833//
1834//   * DisabledOperationException
1835//   An error occured because the client wanted to access a not supported operation.
1836//   Gives http status code of 409.
1837//
1838func (c *ElasticsearchService) DescribeOutboundCrossClusterSearchConnections(input *DescribeOutboundCrossClusterSearchConnectionsInput) (*DescribeOutboundCrossClusterSearchConnectionsOutput, error) {
1839	req, out := c.DescribeOutboundCrossClusterSearchConnectionsRequest(input)
1840	return out, req.Send()
1841}
1842
1843// DescribeOutboundCrossClusterSearchConnectionsWithContext is the same as DescribeOutboundCrossClusterSearchConnections with the addition of
1844// the ability to pass a context and additional request options.
1845//
1846// See DescribeOutboundCrossClusterSearchConnections for details on how to use this API operation.
1847//
1848// The context must be non-nil and will be used for request cancellation. If
1849// the context is nil a panic will occur. In the future the SDK may create
1850// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1851// for more information on using Contexts.
1852func (c *ElasticsearchService) DescribeOutboundCrossClusterSearchConnectionsWithContext(ctx aws.Context, input *DescribeOutboundCrossClusterSearchConnectionsInput, opts ...request.Option) (*DescribeOutboundCrossClusterSearchConnectionsOutput, error) {
1853	req, out := c.DescribeOutboundCrossClusterSearchConnectionsRequest(input)
1854	req.SetContext(ctx)
1855	req.ApplyOptions(opts...)
1856	return out, req.Send()
1857}
1858
1859// DescribeOutboundCrossClusterSearchConnectionsPages iterates over the pages of a DescribeOutboundCrossClusterSearchConnections operation,
1860// calling the "fn" function with the response data for each page. To stop
1861// iterating, return false from the fn function.
1862//
1863// See DescribeOutboundCrossClusterSearchConnections method for more information on how to use this operation.
1864//
1865// Note: This operation can generate multiple requests to a service.
1866//
1867//    // Example iterating over at most 3 pages of a DescribeOutboundCrossClusterSearchConnections operation.
1868//    pageNum := 0
1869//    err := client.DescribeOutboundCrossClusterSearchConnectionsPages(params,
1870//        func(page *elasticsearchservice.DescribeOutboundCrossClusterSearchConnectionsOutput, lastPage bool) bool {
1871//            pageNum++
1872//            fmt.Println(page)
1873//            return pageNum <= 3
1874//        })
1875//
1876func (c *ElasticsearchService) DescribeOutboundCrossClusterSearchConnectionsPages(input *DescribeOutboundCrossClusterSearchConnectionsInput, fn func(*DescribeOutboundCrossClusterSearchConnectionsOutput, bool) bool) error {
1877	return c.DescribeOutboundCrossClusterSearchConnectionsPagesWithContext(aws.BackgroundContext(), input, fn)
1878}
1879
1880// DescribeOutboundCrossClusterSearchConnectionsPagesWithContext same as DescribeOutboundCrossClusterSearchConnectionsPages except
1881// it takes a Context and allows setting request options on the pages.
1882//
1883// The context must be non-nil and will be used for request cancellation. If
1884// the context is nil a panic will occur. In the future the SDK may create
1885// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1886// for more information on using Contexts.
1887func (c *ElasticsearchService) DescribeOutboundCrossClusterSearchConnectionsPagesWithContext(ctx aws.Context, input *DescribeOutboundCrossClusterSearchConnectionsInput, fn func(*DescribeOutboundCrossClusterSearchConnectionsOutput, bool) bool, opts ...request.Option) error {
1888	p := request.Pagination{
1889		NewRequest: func() (*request.Request, error) {
1890			var inCpy *DescribeOutboundCrossClusterSearchConnectionsInput
1891			if input != nil {
1892				tmp := *input
1893				inCpy = &tmp
1894			}
1895			req, _ := c.DescribeOutboundCrossClusterSearchConnectionsRequest(inCpy)
1896			req.SetContext(ctx)
1897			req.ApplyOptions(opts...)
1898			return req, nil
1899		},
1900	}
1901
1902	for p.Next() {
1903		if !fn(p.Page().(*DescribeOutboundCrossClusterSearchConnectionsOutput), !p.HasNextPage()) {
1904			break
1905		}
1906	}
1907
1908	return p.Err()
1909}
1910
1911const opDescribePackages = "DescribePackages"
1912
1913// DescribePackagesRequest generates a "aws/request.Request" representing the
1914// client's request for the DescribePackages operation. The "output" return
1915// value will be populated with the request's response once the request completes
1916// successfully.
1917//
1918// Use "Send" method on the returned Request to send the API call to the service.
1919// the "output" return value is not valid until after Send returns without error.
1920//
1921// See DescribePackages for more information on using the DescribePackages
1922// API call, and error handling.
1923//
1924// This method is useful when you want to inject custom logic or configuration
1925// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1926//
1927//
1928//    // Example sending a request using the DescribePackagesRequest method.
1929//    req, resp := client.DescribePackagesRequest(params)
1930//
1931//    err := req.Send()
1932//    if err == nil { // resp is now filled
1933//        fmt.Println(resp)
1934//    }
1935func (c *ElasticsearchService) DescribePackagesRequest(input *DescribePackagesInput) (req *request.Request, output *DescribePackagesOutput) {
1936	op := &request.Operation{
1937		Name:       opDescribePackages,
1938		HTTPMethod: "POST",
1939		HTTPPath:   "/2015-01-01/packages/describe",
1940		Paginator: &request.Paginator{
1941			InputTokens:     []string{"NextToken"},
1942			OutputTokens:    []string{"NextToken"},
1943			LimitToken:      "MaxResults",
1944			TruncationToken: "",
1945		},
1946	}
1947
1948	if input == nil {
1949		input = &DescribePackagesInput{}
1950	}
1951
1952	output = &DescribePackagesOutput{}
1953	req = c.newRequest(op, input, output)
1954	return
1955}
1956
1957// DescribePackages API operation for Amazon Elasticsearch Service.
1958//
1959// Describes all packages available to Amazon ES. Includes options for filtering,
1960// limiting the number of results, and pagination.
1961//
1962// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1963// with awserr.Error's Code and Message methods to get detailed information about
1964// the error.
1965//
1966// See the AWS API reference guide for Amazon Elasticsearch Service's
1967// API operation DescribePackages for usage and error information.
1968//
1969// Returned Error Types:
1970//   * BaseException
1971//   An error occurred while processing the request.
1972//
1973//   * InternalException
1974//   The request processing has failed because of an unknown error, exception
1975//   or failure (the failure is internal to the service) . Gives http status code
1976//   of 500.
1977//
1978//   * ResourceNotFoundException
1979//   An exception for accessing or deleting a resource that does not exist. Gives
1980//   http status code of 400.
1981//
1982//   * AccessDeniedException
1983//   An error occurred because user does not have permissions to access the resource.
1984//   Returns HTTP status code 403.
1985//
1986//   * ValidationException
1987//   An exception for missing / invalid input fields. Gives http status code of
1988//   400.
1989//
1990func (c *ElasticsearchService) DescribePackages(input *DescribePackagesInput) (*DescribePackagesOutput, error) {
1991	req, out := c.DescribePackagesRequest(input)
1992	return out, req.Send()
1993}
1994
1995// DescribePackagesWithContext is the same as DescribePackages with the addition of
1996// the ability to pass a context and additional request options.
1997//
1998// See DescribePackages for details on how to use this API operation.
1999//
2000// The context must be non-nil and will be used for request cancellation. If
2001// the context is nil a panic will occur. In the future the SDK may create
2002// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2003// for more information on using Contexts.
2004func (c *ElasticsearchService) DescribePackagesWithContext(ctx aws.Context, input *DescribePackagesInput, opts ...request.Option) (*DescribePackagesOutput, error) {
2005	req, out := c.DescribePackagesRequest(input)
2006	req.SetContext(ctx)
2007	req.ApplyOptions(opts...)
2008	return out, req.Send()
2009}
2010
2011// DescribePackagesPages iterates over the pages of a DescribePackages operation,
2012// calling the "fn" function with the response data for each page. To stop
2013// iterating, return false from the fn function.
2014//
2015// See DescribePackages method for more information on how to use this operation.
2016//
2017// Note: This operation can generate multiple requests to a service.
2018//
2019//    // Example iterating over at most 3 pages of a DescribePackages operation.
2020//    pageNum := 0
2021//    err := client.DescribePackagesPages(params,
2022//        func(page *elasticsearchservice.DescribePackagesOutput, lastPage bool) bool {
2023//            pageNum++
2024//            fmt.Println(page)
2025//            return pageNum <= 3
2026//        })
2027//
2028func (c *ElasticsearchService) DescribePackagesPages(input *DescribePackagesInput, fn func(*DescribePackagesOutput, bool) bool) error {
2029	return c.DescribePackagesPagesWithContext(aws.BackgroundContext(), input, fn)
2030}
2031
2032// DescribePackagesPagesWithContext same as DescribePackagesPages except
2033// it takes a Context and allows setting request options on the pages.
2034//
2035// The context must be non-nil and will be used for request cancellation. If
2036// the context is nil a panic will occur. In the future the SDK may create
2037// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2038// for more information on using Contexts.
2039func (c *ElasticsearchService) DescribePackagesPagesWithContext(ctx aws.Context, input *DescribePackagesInput, fn func(*DescribePackagesOutput, bool) bool, opts ...request.Option) error {
2040	p := request.Pagination{
2041		NewRequest: func() (*request.Request, error) {
2042			var inCpy *DescribePackagesInput
2043			if input != nil {
2044				tmp := *input
2045				inCpy = &tmp
2046			}
2047			req, _ := c.DescribePackagesRequest(inCpy)
2048			req.SetContext(ctx)
2049			req.ApplyOptions(opts...)
2050			return req, nil
2051		},
2052	}
2053
2054	for p.Next() {
2055		if !fn(p.Page().(*DescribePackagesOutput), !p.HasNextPage()) {
2056			break
2057		}
2058	}
2059
2060	return p.Err()
2061}
2062
2063const opDescribeReservedElasticsearchInstanceOfferings = "DescribeReservedElasticsearchInstanceOfferings"
2064
2065// DescribeReservedElasticsearchInstanceOfferingsRequest generates a "aws/request.Request" representing the
2066// client's request for the DescribeReservedElasticsearchInstanceOfferings operation. The "output" return
2067// value will be populated with the request's response once the request completes
2068// successfully.
2069//
2070// Use "Send" method on the returned Request to send the API call to the service.
2071// the "output" return value is not valid until after Send returns without error.
2072//
2073// See DescribeReservedElasticsearchInstanceOfferings for more information on using the DescribeReservedElasticsearchInstanceOfferings
2074// API call, and error handling.
2075//
2076// This method is useful when you want to inject custom logic or configuration
2077// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2078//
2079//
2080//    // Example sending a request using the DescribeReservedElasticsearchInstanceOfferingsRequest method.
2081//    req, resp := client.DescribeReservedElasticsearchInstanceOfferingsRequest(params)
2082//
2083//    err := req.Send()
2084//    if err == nil { // resp is now filled
2085//        fmt.Println(resp)
2086//    }
2087func (c *ElasticsearchService) DescribeReservedElasticsearchInstanceOfferingsRequest(input *DescribeReservedElasticsearchInstanceOfferingsInput) (req *request.Request, output *DescribeReservedElasticsearchInstanceOfferingsOutput) {
2088	op := &request.Operation{
2089		Name:       opDescribeReservedElasticsearchInstanceOfferings,
2090		HTTPMethod: "GET",
2091		HTTPPath:   "/2015-01-01/es/reservedInstanceOfferings",
2092		Paginator: &request.Paginator{
2093			InputTokens:     []string{"NextToken"},
2094			OutputTokens:    []string{"NextToken"},
2095			LimitToken:      "MaxResults",
2096			TruncationToken: "",
2097		},
2098	}
2099
2100	if input == nil {
2101		input = &DescribeReservedElasticsearchInstanceOfferingsInput{}
2102	}
2103
2104	output = &DescribeReservedElasticsearchInstanceOfferingsOutput{}
2105	req = c.newRequest(op, input, output)
2106	return
2107}
2108
2109// DescribeReservedElasticsearchInstanceOfferings API operation for Amazon Elasticsearch Service.
2110//
2111// Lists available reserved Elasticsearch instance offerings.
2112//
2113// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2114// with awserr.Error's Code and Message methods to get detailed information about
2115// the error.
2116//
2117// See the AWS API reference guide for Amazon Elasticsearch Service's
2118// API operation DescribeReservedElasticsearchInstanceOfferings for usage and error information.
2119//
2120// Returned Error Types:
2121//   * ResourceNotFoundException
2122//   An exception for accessing or deleting a resource that does not exist. Gives
2123//   http status code of 400.
2124//
2125//   * ValidationException
2126//   An exception for missing / invalid input fields. Gives http status code of
2127//   400.
2128//
2129//   * DisabledOperationException
2130//   An error occured because the client wanted to access a not supported operation.
2131//   Gives http status code of 409.
2132//
2133//   * InternalException
2134//   The request processing has failed because of an unknown error, exception
2135//   or failure (the failure is internal to the service) . Gives http status code
2136//   of 500.
2137//
2138func (c *ElasticsearchService) DescribeReservedElasticsearchInstanceOfferings(input *DescribeReservedElasticsearchInstanceOfferingsInput) (*DescribeReservedElasticsearchInstanceOfferingsOutput, error) {
2139	req, out := c.DescribeReservedElasticsearchInstanceOfferingsRequest(input)
2140	return out, req.Send()
2141}
2142
2143// DescribeReservedElasticsearchInstanceOfferingsWithContext is the same as DescribeReservedElasticsearchInstanceOfferings with the addition of
2144// the ability to pass a context and additional request options.
2145//
2146// See DescribeReservedElasticsearchInstanceOfferings for details on how to use this API operation.
2147//
2148// The context must be non-nil and will be used for request cancellation. If
2149// the context is nil a panic will occur. In the future the SDK may create
2150// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2151// for more information on using Contexts.
2152func (c *ElasticsearchService) DescribeReservedElasticsearchInstanceOfferingsWithContext(ctx aws.Context, input *DescribeReservedElasticsearchInstanceOfferingsInput, opts ...request.Option) (*DescribeReservedElasticsearchInstanceOfferingsOutput, error) {
2153	req, out := c.DescribeReservedElasticsearchInstanceOfferingsRequest(input)
2154	req.SetContext(ctx)
2155	req.ApplyOptions(opts...)
2156	return out, req.Send()
2157}
2158
2159// DescribeReservedElasticsearchInstanceOfferingsPages iterates over the pages of a DescribeReservedElasticsearchInstanceOfferings operation,
2160// calling the "fn" function with the response data for each page. To stop
2161// iterating, return false from the fn function.
2162//
2163// See DescribeReservedElasticsearchInstanceOfferings method for more information on how to use this operation.
2164//
2165// Note: This operation can generate multiple requests to a service.
2166//
2167//    // Example iterating over at most 3 pages of a DescribeReservedElasticsearchInstanceOfferings operation.
2168//    pageNum := 0
2169//    err := client.DescribeReservedElasticsearchInstanceOfferingsPages(params,
2170//        func(page *elasticsearchservice.DescribeReservedElasticsearchInstanceOfferingsOutput, lastPage bool) bool {
2171//            pageNum++
2172//            fmt.Println(page)
2173//            return pageNum <= 3
2174//        })
2175//
2176func (c *ElasticsearchService) DescribeReservedElasticsearchInstanceOfferingsPages(input *DescribeReservedElasticsearchInstanceOfferingsInput, fn func(*DescribeReservedElasticsearchInstanceOfferingsOutput, bool) bool) error {
2177	return c.DescribeReservedElasticsearchInstanceOfferingsPagesWithContext(aws.BackgroundContext(), input, fn)
2178}
2179
2180// DescribeReservedElasticsearchInstanceOfferingsPagesWithContext same as DescribeReservedElasticsearchInstanceOfferingsPages except
2181// it takes a Context and allows setting request options on the pages.
2182//
2183// The context must be non-nil and will be used for request cancellation. If
2184// the context is nil a panic will occur. In the future the SDK may create
2185// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2186// for more information on using Contexts.
2187func (c *ElasticsearchService) DescribeReservedElasticsearchInstanceOfferingsPagesWithContext(ctx aws.Context, input *DescribeReservedElasticsearchInstanceOfferingsInput, fn func(*DescribeReservedElasticsearchInstanceOfferingsOutput, bool) bool, opts ...request.Option) error {
2188	p := request.Pagination{
2189		NewRequest: func() (*request.Request, error) {
2190			var inCpy *DescribeReservedElasticsearchInstanceOfferingsInput
2191			if input != nil {
2192				tmp := *input
2193				inCpy = &tmp
2194			}
2195			req, _ := c.DescribeReservedElasticsearchInstanceOfferingsRequest(inCpy)
2196			req.SetContext(ctx)
2197			req.ApplyOptions(opts...)
2198			return req, nil
2199		},
2200	}
2201
2202	for p.Next() {
2203		if !fn(p.Page().(*DescribeReservedElasticsearchInstanceOfferingsOutput), !p.HasNextPage()) {
2204			break
2205		}
2206	}
2207
2208	return p.Err()
2209}
2210
2211const opDescribeReservedElasticsearchInstances = "DescribeReservedElasticsearchInstances"
2212
2213// DescribeReservedElasticsearchInstancesRequest generates a "aws/request.Request" representing the
2214// client's request for the DescribeReservedElasticsearchInstances operation. The "output" return
2215// value will be populated with the request's response once the request completes
2216// successfully.
2217//
2218// Use "Send" method on the returned Request to send the API call to the service.
2219// the "output" return value is not valid until after Send returns without error.
2220//
2221// See DescribeReservedElasticsearchInstances for more information on using the DescribeReservedElasticsearchInstances
2222// API call, and error handling.
2223//
2224// This method is useful when you want to inject custom logic or configuration
2225// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2226//
2227//
2228//    // Example sending a request using the DescribeReservedElasticsearchInstancesRequest method.
2229//    req, resp := client.DescribeReservedElasticsearchInstancesRequest(params)
2230//
2231//    err := req.Send()
2232//    if err == nil { // resp is now filled
2233//        fmt.Println(resp)
2234//    }
2235func (c *ElasticsearchService) DescribeReservedElasticsearchInstancesRequest(input *DescribeReservedElasticsearchInstancesInput) (req *request.Request, output *DescribeReservedElasticsearchInstancesOutput) {
2236	op := &request.Operation{
2237		Name:       opDescribeReservedElasticsearchInstances,
2238		HTTPMethod: "GET",
2239		HTTPPath:   "/2015-01-01/es/reservedInstances",
2240		Paginator: &request.Paginator{
2241			InputTokens:     []string{"NextToken"},
2242			OutputTokens:    []string{"NextToken"},
2243			LimitToken:      "MaxResults",
2244			TruncationToken: "",
2245		},
2246	}
2247
2248	if input == nil {
2249		input = &DescribeReservedElasticsearchInstancesInput{}
2250	}
2251
2252	output = &DescribeReservedElasticsearchInstancesOutput{}
2253	req = c.newRequest(op, input, output)
2254	return
2255}
2256
2257// DescribeReservedElasticsearchInstances API operation for Amazon Elasticsearch Service.
2258//
2259// Returns information about reserved Elasticsearch instances for this account.
2260//
2261// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2262// with awserr.Error's Code and Message methods to get detailed information about
2263// the error.
2264//
2265// See the AWS API reference guide for Amazon Elasticsearch Service's
2266// API operation DescribeReservedElasticsearchInstances for usage and error information.
2267//
2268// Returned Error Types:
2269//   * ResourceNotFoundException
2270//   An exception for accessing or deleting a resource that does not exist. Gives
2271//   http status code of 400.
2272//
2273//   * InternalException
2274//   The request processing has failed because of an unknown error, exception
2275//   or failure (the failure is internal to the service) . Gives http status code
2276//   of 500.
2277//
2278//   * ValidationException
2279//   An exception for missing / invalid input fields. Gives http status code of
2280//   400.
2281//
2282//   * DisabledOperationException
2283//   An error occured because the client wanted to access a not supported operation.
2284//   Gives http status code of 409.
2285//
2286func (c *ElasticsearchService) DescribeReservedElasticsearchInstances(input *DescribeReservedElasticsearchInstancesInput) (*DescribeReservedElasticsearchInstancesOutput, error) {
2287	req, out := c.DescribeReservedElasticsearchInstancesRequest(input)
2288	return out, req.Send()
2289}
2290
2291// DescribeReservedElasticsearchInstancesWithContext is the same as DescribeReservedElasticsearchInstances with the addition of
2292// the ability to pass a context and additional request options.
2293//
2294// See DescribeReservedElasticsearchInstances for details on how to use this API operation.
2295//
2296// The context must be non-nil and will be used for request cancellation. If
2297// the context is nil a panic will occur. In the future the SDK may create
2298// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2299// for more information on using Contexts.
2300func (c *ElasticsearchService) DescribeReservedElasticsearchInstancesWithContext(ctx aws.Context, input *DescribeReservedElasticsearchInstancesInput, opts ...request.Option) (*DescribeReservedElasticsearchInstancesOutput, error) {
2301	req, out := c.DescribeReservedElasticsearchInstancesRequest(input)
2302	req.SetContext(ctx)
2303	req.ApplyOptions(opts...)
2304	return out, req.Send()
2305}
2306
2307// DescribeReservedElasticsearchInstancesPages iterates over the pages of a DescribeReservedElasticsearchInstances operation,
2308// calling the "fn" function with the response data for each page. To stop
2309// iterating, return false from the fn function.
2310//
2311// See DescribeReservedElasticsearchInstances method for more information on how to use this operation.
2312//
2313// Note: This operation can generate multiple requests to a service.
2314//
2315//    // Example iterating over at most 3 pages of a DescribeReservedElasticsearchInstances operation.
2316//    pageNum := 0
2317//    err := client.DescribeReservedElasticsearchInstancesPages(params,
2318//        func(page *elasticsearchservice.DescribeReservedElasticsearchInstancesOutput, lastPage bool) bool {
2319//            pageNum++
2320//            fmt.Println(page)
2321//            return pageNum <= 3
2322//        })
2323//
2324func (c *ElasticsearchService) DescribeReservedElasticsearchInstancesPages(input *DescribeReservedElasticsearchInstancesInput, fn func(*DescribeReservedElasticsearchInstancesOutput, bool) bool) error {
2325	return c.DescribeReservedElasticsearchInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
2326}
2327
2328// DescribeReservedElasticsearchInstancesPagesWithContext same as DescribeReservedElasticsearchInstancesPages except
2329// it takes a Context and allows setting request options on the pages.
2330//
2331// The context must be non-nil and will be used for request cancellation. If
2332// the context is nil a panic will occur. In the future the SDK may create
2333// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2334// for more information on using Contexts.
2335func (c *ElasticsearchService) DescribeReservedElasticsearchInstancesPagesWithContext(ctx aws.Context, input *DescribeReservedElasticsearchInstancesInput, fn func(*DescribeReservedElasticsearchInstancesOutput, bool) bool, opts ...request.Option) error {
2336	p := request.Pagination{
2337		NewRequest: func() (*request.Request, error) {
2338			var inCpy *DescribeReservedElasticsearchInstancesInput
2339			if input != nil {
2340				tmp := *input
2341				inCpy = &tmp
2342			}
2343			req, _ := c.DescribeReservedElasticsearchInstancesRequest(inCpy)
2344			req.SetContext(ctx)
2345			req.ApplyOptions(opts...)
2346			return req, nil
2347		},
2348	}
2349
2350	for p.Next() {
2351		if !fn(p.Page().(*DescribeReservedElasticsearchInstancesOutput), !p.HasNextPage()) {
2352			break
2353		}
2354	}
2355
2356	return p.Err()
2357}
2358
2359const opDissociatePackage = "DissociatePackage"
2360
2361// DissociatePackageRequest generates a "aws/request.Request" representing the
2362// client's request for the DissociatePackage operation. The "output" return
2363// value will be populated with the request's response once the request completes
2364// successfully.
2365//
2366// Use "Send" method on the returned Request to send the API call to the service.
2367// the "output" return value is not valid until after Send returns without error.
2368//
2369// See DissociatePackage for more information on using the DissociatePackage
2370// API call, and error handling.
2371//
2372// This method is useful when you want to inject custom logic or configuration
2373// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2374//
2375//
2376//    // Example sending a request using the DissociatePackageRequest method.
2377//    req, resp := client.DissociatePackageRequest(params)
2378//
2379//    err := req.Send()
2380//    if err == nil { // resp is now filled
2381//        fmt.Println(resp)
2382//    }
2383func (c *ElasticsearchService) DissociatePackageRequest(input *DissociatePackageInput) (req *request.Request, output *DissociatePackageOutput) {
2384	op := &request.Operation{
2385		Name:       opDissociatePackage,
2386		HTTPMethod: "POST",
2387		HTTPPath:   "/2015-01-01/packages/dissociate/{PackageID}/{DomainName}",
2388	}
2389
2390	if input == nil {
2391		input = &DissociatePackageInput{}
2392	}
2393
2394	output = &DissociatePackageOutput{}
2395	req = c.newRequest(op, input, output)
2396	return
2397}
2398
2399// DissociatePackage API operation for Amazon Elasticsearch Service.
2400//
2401// Dissociates a package from the Amazon ES domain.
2402//
2403// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2404// with awserr.Error's Code and Message methods to get detailed information about
2405// the error.
2406//
2407// See the AWS API reference guide for Amazon Elasticsearch Service's
2408// API operation DissociatePackage for usage and error information.
2409//
2410// Returned Error Types:
2411//   * BaseException
2412//   An error occurred while processing the request.
2413//
2414//   * InternalException
2415//   The request processing has failed because of an unknown error, exception
2416//   or failure (the failure is internal to the service) . Gives http status code
2417//   of 500.
2418//
2419//   * ResourceNotFoundException
2420//   An exception for accessing or deleting a resource that does not exist. Gives
2421//   http status code of 400.
2422//
2423//   * AccessDeniedException
2424//   An error occurred because user does not have permissions to access the resource.
2425//   Returns HTTP status code 403.
2426//
2427//   * ValidationException
2428//   An exception for missing / invalid input fields. Gives http status code of
2429//   400.
2430//
2431//   * ConflictException
2432//   An error occurred because the client attempts to remove a resource that is
2433//   currently in use. Returns HTTP status code 409.
2434//
2435func (c *ElasticsearchService) DissociatePackage(input *DissociatePackageInput) (*DissociatePackageOutput, error) {
2436	req, out := c.DissociatePackageRequest(input)
2437	return out, req.Send()
2438}
2439
2440// DissociatePackageWithContext is the same as DissociatePackage with the addition of
2441// the ability to pass a context and additional request options.
2442//
2443// See DissociatePackage for details on how to use this API operation.
2444//
2445// The context must be non-nil and will be used for request cancellation. If
2446// the context is nil a panic will occur. In the future the SDK may create
2447// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2448// for more information on using Contexts.
2449func (c *ElasticsearchService) DissociatePackageWithContext(ctx aws.Context, input *DissociatePackageInput, opts ...request.Option) (*DissociatePackageOutput, error) {
2450	req, out := c.DissociatePackageRequest(input)
2451	req.SetContext(ctx)
2452	req.ApplyOptions(opts...)
2453	return out, req.Send()
2454}
2455
2456const opGetCompatibleElasticsearchVersions = "GetCompatibleElasticsearchVersions"
2457
2458// GetCompatibleElasticsearchVersionsRequest generates a "aws/request.Request" representing the
2459// client's request for the GetCompatibleElasticsearchVersions operation. The "output" return
2460// value will be populated with the request's response once the request completes
2461// successfully.
2462//
2463// Use "Send" method on the returned Request to send the API call to the service.
2464// the "output" return value is not valid until after Send returns without error.
2465//
2466// See GetCompatibleElasticsearchVersions for more information on using the GetCompatibleElasticsearchVersions
2467// API call, and error handling.
2468//
2469// This method is useful when you want to inject custom logic or configuration
2470// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2471//
2472//
2473//    // Example sending a request using the GetCompatibleElasticsearchVersionsRequest method.
2474//    req, resp := client.GetCompatibleElasticsearchVersionsRequest(params)
2475//
2476//    err := req.Send()
2477//    if err == nil { // resp is now filled
2478//        fmt.Println(resp)
2479//    }
2480func (c *ElasticsearchService) GetCompatibleElasticsearchVersionsRequest(input *GetCompatibleElasticsearchVersionsInput) (req *request.Request, output *GetCompatibleElasticsearchVersionsOutput) {
2481	op := &request.Operation{
2482		Name:       opGetCompatibleElasticsearchVersions,
2483		HTTPMethod: "GET",
2484		HTTPPath:   "/2015-01-01/es/compatibleVersions",
2485	}
2486
2487	if input == nil {
2488		input = &GetCompatibleElasticsearchVersionsInput{}
2489	}
2490
2491	output = &GetCompatibleElasticsearchVersionsOutput{}
2492	req = c.newRequest(op, input, output)
2493	return
2494}
2495
2496// GetCompatibleElasticsearchVersions API operation for Amazon Elasticsearch Service.
2497//
2498// Returns a list of upgrade compatible Elastisearch versions. You can optionally
2499// pass a DomainName to get all upgrade compatible Elasticsearch versions for
2500// that specific domain.
2501//
2502// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2503// with awserr.Error's Code and Message methods to get detailed information about
2504// the error.
2505//
2506// See the AWS API reference guide for Amazon Elasticsearch Service's
2507// API operation GetCompatibleElasticsearchVersions for usage and error information.
2508//
2509// Returned Error Types:
2510//   * BaseException
2511//   An error occurred while processing the request.
2512//
2513//   * ResourceNotFoundException
2514//   An exception for accessing or deleting a resource that does not exist. Gives
2515//   http status code of 400.
2516//
2517//   * DisabledOperationException
2518//   An error occured because the client wanted to access a not supported operation.
2519//   Gives http status code of 409.
2520//
2521//   * ValidationException
2522//   An exception for missing / invalid input fields. Gives http status code of
2523//   400.
2524//
2525//   * InternalException
2526//   The request processing has failed because of an unknown error, exception
2527//   or failure (the failure is internal to the service) . Gives http status code
2528//   of 500.
2529//
2530func (c *ElasticsearchService) GetCompatibleElasticsearchVersions(input *GetCompatibleElasticsearchVersionsInput) (*GetCompatibleElasticsearchVersionsOutput, error) {
2531	req, out := c.GetCompatibleElasticsearchVersionsRequest(input)
2532	return out, req.Send()
2533}
2534
2535// GetCompatibleElasticsearchVersionsWithContext is the same as GetCompatibleElasticsearchVersions with the addition of
2536// the ability to pass a context and additional request options.
2537//
2538// See GetCompatibleElasticsearchVersions for details on how to use this API operation.
2539//
2540// The context must be non-nil and will be used for request cancellation. If
2541// the context is nil a panic will occur. In the future the SDK may create
2542// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2543// for more information on using Contexts.
2544func (c *ElasticsearchService) GetCompatibleElasticsearchVersionsWithContext(ctx aws.Context, input *GetCompatibleElasticsearchVersionsInput, opts ...request.Option) (*GetCompatibleElasticsearchVersionsOutput, error) {
2545	req, out := c.GetCompatibleElasticsearchVersionsRequest(input)
2546	req.SetContext(ctx)
2547	req.ApplyOptions(opts...)
2548	return out, req.Send()
2549}
2550
2551const opGetPackageVersionHistory = "GetPackageVersionHistory"
2552
2553// GetPackageVersionHistoryRequest generates a "aws/request.Request" representing the
2554// client's request for the GetPackageVersionHistory operation. The "output" return
2555// value will be populated with the request's response once the request completes
2556// successfully.
2557//
2558// Use "Send" method on the returned Request to send the API call to the service.
2559// the "output" return value is not valid until after Send returns without error.
2560//
2561// See GetPackageVersionHistory for more information on using the GetPackageVersionHistory
2562// API call, and error handling.
2563//
2564// This method is useful when you want to inject custom logic or configuration
2565// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2566//
2567//
2568//    // Example sending a request using the GetPackageVersionHistoryRequest method.
2569//    req, resp := client.GetPackageVersionHistoryRequest(params)
2570//
2571//    err := req.Send()
2572//    if err == nil { // resp is now filled
2573//        fmt.Println(resp)
2574//    }
2575func (c *ElasticsearchService) GetPackageVersionHistoryRequest(input *GetPackageVersionHistoryInput) (req *request.Request, output *GetPackageVersionHistoryOutput) {
2576	op := &request.Operation{
2577		Name:       opGetPackageVersionHistory,
2578		HTTPMethod: "GET",
2579		HTTPPath:   "/2015-01-01/packages/{PackageID}/history",
2580		Paginator: &request.Paginator{
2581			InputTokens:     []string{"NextToken"},
2582			OutputTokens:    []string{"NextToken"},
2583			LimitToken:      "MaxResults",
2584			TruncationToken: "",
2585		},
2586	}
2587
2588	if input == nil {
2589		input = &GetPackageVersionHistoryInput{}
2590	}
2591
2592	output = &GetPackageVersionHistoryOutput{}
2593	req = c.newRequest(op, input, output)
2594	return
2595}
2596
2597// GetPackageVersionHistory API operation for Amazon Elasticsearch Service.
2598//
2599// Returns a list of versions of the package, along with their creation time
2600// and commit message.
2601//
2602// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2603// with awserr.Error's Code and Message methods to get detailed information about
2604// the error.
2605//
2606// See the AWS API reference guide for Amazon Elasticsearch Service's
2607// API operation GetPackageVersionHistory for usage and error information.
2608//
2609// Returned Error Types:
2610//   * BaseException
2611//   An error occurred while processing the request.
2612//
2613//   * InternalException
2614//   The request processing has failed because of an unknown error, exception
2615//   or failure (the failure is internal to the service) . Gives http status code
2616//   of 500.
2617//
2618//   * ResourceNotFoundException
2619//   An exception for accessing or deleting a resource that does not exist. Gives
2620//   http status code of 400.
2621//
2622//   * AccessDeniedException
2623//   An error occurred because user does not have permissions to access the resource.
2624//   Returns HTTP status code 403.
2625//
2626//   * ValidationException
2627//   An exception for missing / invalid input fields. Gives http status code of
2628//   400.
2629//
2630func (c *ElasticsearchService) GetPackageVersionHistory(input *GetPackageVersionHistoryInput) (*GetPackageVersionHistoryOutput, error) {
2631	req, out := c.GetPackageVersionHistoryRequest(input)
2632	return out, req.Send()
2633}
2634
2635// GetPackageVersionHistoryWithContext is the same as GetPackageVersionHistory with the addition of
2636// the ability to pass a context and additional request options.
2637//
2638// See GetPackageVersionHistory for details on how to use this API operation.
2639//
2640// The context must be non-nil and will be used for request cancellation. If
2641// the context is nil a panic will occur. In the future the SDK may create
2642// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2643// for more information on using Contexts.
2644func (c *ElasticsearchService) GetPackageVersionHistoryWithContext(ctx aws.Context, input *GetPackageVersionHistoryInput, opts ...request.Option) (*GetPackageVersionHistoryOutput, error) {
2645	req, out := c.GetPackageVersionHistoryRequest(input)
2646	req.SetContext(ctx)
2647	req.ApplyOptions(opts...)
2648	return out, req.Send()
2649}
2650
2651// GetPackageVersionHistoryPages iterates over the pages of a GetPackageVersionHistory operation,
2652// calling the "fn" function with the response data for each page. To stop
2653// iterating, return false from the fn function.
2654//
2655// See GetPackageVersionHistory method for more information on how to use this operation.
2656//
2657// Note: This operation can generate multiple requests to a service.
2658//
2659//    // Example iterating over at most 3 pages of a GetPackageVersionHistory operation.
2660//    pageNum := 0
2661//    err := client.GetPackageVersionHistoryPages(params,
2662//        func(page *elasticsearchservice.GetPackageVersionHistoryOutput, lastPage bool) bool {
2663//            pageNum++
2664//            fmt.Println(page)
2665//            return pageNum <= 3
2666//        })
2667//
2668func (c *ElasticsearchService) GetPackageVersionHistoryPages(input *GetPackageVersionHistoryInput, fn func(*GetPackageVersionHistoryOutput, bool) bool) error {
2669	return c.GetPackageVersionHistoryPagesWithContext(aws.BackgroundContext(), input, fn)
2670}
2671
2672// GetPackageVersionHistoryPagesWithContext same as GetPackageVersionHistoryPages except
2673// it takes a Context and allows setting request options on the pages.
2674//
2675// The context must be non-nil and will be used for request cancellation. If
2676// the context is nil a panic will occur. In the future the SDK may create
2677// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2678// for more information on using Contexts.
2679func (c *ElasticsearchService) GetPackageVersionHistoryPagesWithContext(ctx aws.Context, input *GetPackageVersionHistoryInput, fn func(*GetPackageVersionHistoryOutput, bool) bool, opts ...request.Option) error {
2680	p := request.Pagination{
2681		NewRequest: func() (*request.Request, error) {
2682			var inCpy *GetPackageVersionHistoryInput
2683			if input != nil {
2684				tmp := *input
2685				inCpy = &tmp
2686			}
2687			req, _ := c.GetPackageVersionHistoryRequest(inCpy)
2688			req.SetContext(ctx)
2689			req.ApplyOptions(opts...)
2690			return req, nil
2691		},
2692	}
2693
2694	for p.Next() {
2695		if !fn(p.Page().(*GetPackageVersionHistoryOutput), !p.HasNextPage()) {
2696			break
2697		}
2698	}
2699
2700	return p.Err()
2701}
2702
2703const opGetUpgradeHistory = "GetUpgradeHistory"
2704
2705// GetUpgradeHistoryRequest generates a "aws/request.Request" representing the
2706// client's request for the GetUpgradeHistory operation. The "output" return
2707// value will be populated with the request's response once the request completes
2708// successfully.
2709//
2710// Use "Send" method on the returned Request to send the API call to the service.
2711// the "output" return value is not valid until after Send returns without error.
2712//
2713// See GetUpgradeHistory for more information on using the GetUpgradeHistory
2714// API call, and error handling.
2715//
2716// This method is useful when you want to inject custom logic or configuration
2717// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2718//
2719//
2720//    // Example sending a request using the GetUpgradeHistoryRequest method.
2721//    req, resp := client.GetUpgradeHistoryRequest(params)
2722//
2723//    err := req.Send()
2724//    if err == nil { // resp is now filled
2725//        fmt.Println(resp)
2726//    }
2727func (c *ElasticsearchService) GetUpgradeHistoryRequest(input *GetUpgradeHistoryInput) (req *request.Request, output *GetUpgradeHistoryOutput) {
2728	op := &request.Operation{
2729		Name:       opGetUpgradeHistory,
2730		HTTPMethod: "GET",
2731		HTTPPath:   "/2015-01-01/es/upgradeDomain/{DomainName}/history",
2732		Paginator: &request.Paginator{
2733			InputTokens:     []string{"NextToken"},
2734			OutputTokens:    []string{"NextToken"},
2735			LimitToken:      "MaxResults",
2736			TruncationToken: "",
2737		},
2738	}
2739
2740	if input == nil {
2741		input = &GetUpgradeHistoryInput{}
2742	}
2743
2744	output = &GetUpgradeHistoryOutput{}
2745	req = c.newRequest(op, input, output)
2746	return
2747}
2748
2749// GetUpgradeHistory API operation for Amazon Elasticsearch Service.
2750//
2751// Retrieves the complete history of the last 10 upgrades that were performed
2752// on the domain.
2753//
2754// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2755// with awserr.Error's Code and Message methods to get detailed information about
2756// the error.
2757//
2758// See the AWS API reference guide for Amazon Elasticsearch Service's
2759// API operation GetUpgradeHistory for usage and error information.
2760//
2761// Returned Error Types:
2762//   * BaseException
2763//   An error occurred while processing the request.
2764//
2765//   * ResourceNotFoundException
2766//   An exception for accessing or deleting a resource that does not exist. Gives
2767//   http status code of 400.
2768//
2769//   * DisabledOperationException
2770//   An error occured because the client wanted to access a not supported operation.
2771//   Gives http status code of 409.
2772//
2773//   * ValidationException
2774//   An exception for missing / invalid input fields. Gives http status code of
2775//   400.
2776//
2777//   * InternalException
2778//   The request processing has failed because of an unknown error, exception
2779//   or failure (the failure is internal to the service) . Gives http status code
2780//   of 500.
2781//
2782func (c *ElasticsearchService) GetUpgradeHistory(input *GetUpgradeHistoryInput) (*GetUpgradeHistoryOutput, error) {
2783	req, out := c.GetUpgradeHistoryRequest(input)
2784	return out, req.Send()
2785}
2786
2787// GetUpgradeHistoryWithContext is the same as GetUpgradeHistory with the addition of
2788// the ability to pass a context and additional request options.
2789//
2790// See GetUpgradeHistory for details on how to use this API operation.
2791//
2792// The context must be non-nil and will be used for request cancellation. If
2793// the context is nil a panic will occur. In the future the SDK may create
2794// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2795// for more information on using Contexts.
2796func (c *ElasticsearchService) GetUpgradeHistoryWithContext(ctx aws.Context, input *GetUpgradeHistoryInput, opts ...request.Option) (*GetUpgradeHistoryOutput, error) {
2797	req, out := c.GetUpgradeHistoryRequest(input)
2798	req.SetContext(ctx)
2799	req.ApplyOptions(opts...)
2800	return out, req.Send()
2801}
2802
2803// GetUpgradeHistoryPages iterates over the pages of a GetUpgradeHistory operation,
2804// calling the "fn" function with the response data for each page. To stop
2805// iterating, return false from the fn function.
2806//
2807// See GetUpgradeHistory method for more information on how to use this operation.
2808//
2809// Note: This operation can generate multiple requests to a service.
2810//
2811//    // Example iterating over at most 3 pages of a GetUpgradeHistory operation.
2812//    pageNum := 0
2813//    err := client.GetUpgradeHistoryPages(params,
2814//        func(page *elasticsearchservice.GetUpgradeHistoryOutput, lastPage bool) bool {
2815//            pageNum++
2816//            fmt.Println(page)
2817//            return pageNum <= 3
2818//        })
2819//
2820func (c *ElasticsearchService) GetUpgradeHistoryPages(input *GetUpgradeHistoryInput, fn func(*GetUpgradeHistoryOutput, bool) bool) error {
2821	return c.GetUpgradeHistoryPagesWithContext(aws.BackgroundContext(), input, fn)
2822}
2823
2824// GetUpgradeHistoryPagesWithContext same as GetUpgradeHistoryPages except
2825// it takes a Context and allows setting request options on the pages.
2826//
2827// The context must be non-nil and will be used for request cancellation. If
2828// the context is nil a panic will occur. In the future the SDK may create
2829// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2830// for more information on using Contexts.
2831func (c *ElasticsearchService) GetUpgradeHistoryPagesWithContext(ctx aws.Context, input *GetUpgradeHistoryInput, fn func(*GetUpgradeHistoryOutput, bool) bool, opts ...request.Option) error {
2832	p := request.Pagination{
2833		NewRequest: func() (*request.Request, error) {
2834			var inCpy *GetUpgradeHistoryInput
2835			if input != nil {
2836				tmp := *input
2837				inCpy = &tmp
2838			}
2839			req, _ := c.GetUpgradeHistoryRequest(inCpy)
2840			req.SetContext(ctx)
2841			req.ApplyOptions(opts...)
2842			return req, nil
2843		},
2844	}
2845
2846	for p.Next() {
2847		if !fn(p.Page().(*GetUpgradeHistoryOutput), !p.HasNextPage()) {
2848			break
2849		}
2850	}
2851
2852	return p.Err()
2853}
2854
2855const opGetUpgradeStatus = "GetUpgradeStatus"
2856
2857// GetUpgradeStatusRequest generates a "aws/request.Request" representing the
2858// client's request for the GetUpgradeStatus operation. The "output" return
2859// value will be populated with the request's response once the request completes
2860// successfully.
2861//
2862// Use "Send" method on the returned Request to send the API call to the service.
2863// the "output" return value is not valid until after Send returns without error.
2864//
2865// See GetUpgradeStatus for more information on using the GetUpgradeStatus
2866// API call, and error handling.
2867//
2868// This method is useful when you want to inject custom logic or configuration
2869// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2870//
2871//
2872//    // Example sending a request using the GetUpgradeStatusRequest method.
2873//    req, resp := client.GetUpgradeStatusRequest(params)
2874//
2875//    err := req.Send()
2876//    if err == nil { // resp is now filled
2877//        fmt.Println(resp)
2878//    }
2879func (c *ElasticsearchService) GetUpgradeStatusRequest(input *GetUpgradeStatusInput) (req *request.Request, output *GetUpgradeStatusOutput) {
2880	op := &request.Operation{
2881		Name:       opGetUpgradeStatus,
2882		HTTPMethod: "GET",
2883		HTTPPath:   "/2015-01-01/es/upgradeDomain/{DomainName}/status",
2884	}
2885
2886	if input == nil {
2887		input = &GetUpgradeStatusInput{}
2888	}
2889
2890	output = &GetUpgradeStatusOutput{}
2891	req = c.newRequest(op, input, output)
2892	return
2893}
2894
2895// GetUpgradeStatus API operation for Amazon Elasticsearch Service.
2896//
2897// Retrieves the latest status of the last upgrade or upgrade eligibility check
2898// that was performed on the domain.
2899//
2900// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2901// with awserr.Error's Code and Message methods to get detailed information about
2902// the error.
2903//
2904// See the AWS API reference guide for Amazon Elasticsearch Service's
2905// API operation GetUpgradeStatus for usage and error information.
2906//
2907// Returned Error Types:
2908//   * BaseException
2909//   An error occurred while processing the request.
2910//
2911//   * ResourceNotFoundException
2912//   An exception for accessing or deleting a resource that does not exist. Gives
2913//   http status code of 400.
2914//
2915//   * DisabledOperationException
2916//   An error occured because the client wanted to access a not supported operation.
2917//   Gives http status code of 409.
2918//
2919//   * ValidationException
2920//   An exception for missing / invalid input fields. Gives http status code of
2921//   400.
2922//
2923//   * InternalException
2924//   The request processing has failed because of an unknown error, exception
2925//   or failure (the failure is internal to the service) . Gives http status code
2926//   of 500.
2927//
2928func (c *ElasticsearchService) GetUpgradeStatus(input *GetUpgradeStatusInput) (*GetUpgradeStatusOutput, error) {
2929	req, out := c.GetUpgradeStatusRequest(input)
2930	return out, req.Send()
2931}
2932
2933// GetUpgradeStatusWithContext is the same as GetUpgradeStatus with the addition of
2934// the ability to pass a context and additional request options.
2935//
2936// See GetUpgradeStatus for details on how to use this API operation.
2937//
2938// The context must be non-nil and will be used for request cancellation. If
2939// the context is nil a panic will occur. In the future the SDK may create
2940// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2941// for more information on using Contexts.
2942func (c *ElasticsearchService) GetUpgradeStatusWithContext(ctx aws.Context, input *GetUpgradeStatusInput, opts ...request.Option) (*GetUpgradeStatusOutput, error) {
2943	req, out := c.GetUpgradeStatusRequest(input)
2944	req.SetContext(ctx)
2945	req.ApplyOptions(opts...)
2946	return out, req.Send()
2947}
2948
2949const opListDomainNames = "ListDomainNames"
2950
2951// ListDomainNamesRequest generates a "aws/request.Request" representing the
2952// client's request for the ListDomainNames operation. The "output" return
2953// value will be populated with the request's response once the request completes
2954// successfully.
2955//
2956// Use "Send" method on the returned Request to send the API call to the service.
2957// the "output" return value is not valid until after Send returns without error.
2958//
2959// See ListDomainNames for more information on using the ListDomainNames
2960// API call, and error handling.
2961//
2962// This method is useful when you want to inject custom logic or configuration
2963// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2964//
2965//
2966//    // Example sending a request using the ListDomainNamesRequest method.
2967//    req, resp := client.ListDomainNamesRequest(params)
2968//
2969//    err := req.Send()
2970//    if err == nil { // resp is now filled
2971//        fmt.Println(resp)
2972//    }
2973func (c *ElasticsearchService) ListDomainNamesRequest(input *ListDomainNamesInput) (req *request.Request, output *ListDomainNamesOutput) {
2974	op := &request.Operation{
2975		Name:       opListDomainNames,
2976		HTTPMethod: "GET",
2977		HTTPPath:   "/2015-01-01/domain",
2978	}
2979
2980	if input == nil {
2981		input = &ListDomainNamesInput{}
2982	}
2983
2984	output = &ListDomainNamesOutput{}
2985	req = c.newRequest(op, input, output)
2986	return
2987}
2988
2989// ListDomainNames API operation for Amazon Elasticsearch Service.
2990//
2991// Returns the name of all Elasticsearch domains owned by the current user's
2992// account.
2993//
2994// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2995// with awserr.Error's Code and Message methods to get detailed information about
2996// the error.
2997//
2998// See the AWS API reference guide for Amazon Elasticsearch Service's
2999// API operation ListDomainNames for usage and error information.
3000//
3001// Returned Error Types:
3002//   * BaseException
3003//   An error occurred while processing the request.
3004//
3005//   * ValidationException
3006//   An exception for missing / invalid input fields. Gives http status code of
3007//   400.
3008//
3009func (c *ElasticsearchService) ListDomainNames(input *ListDomainNamesInput) (*ListDomainNamesOutput, error) {
3010	req, out := c.ListDomainNamesRequest(input)
3011	return out, req.Send()
3012}
3013
3014// ListDomainNamesWithContext is the same as ListDomainNames with the addition of
3015// the ability to pass a context and additional request options.
3016//
3017// See ListDomainNames for details on how to use this API operation.
3018//
3019// The context must be non-nil and will be used for request cancellation. If
3020// the context is nil a panic will occur. In the future the SDK may create
3021// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3022// for more information on using Contexts.
3023func (c *ElasticsearchService) ListDomainNamesWithContext(ctx aws.Context, input *ListDomainNamesInput, opts ...request.Option) (*ListDomainNamesOutput, error) {
3024	req, out := c.ListDomainNamesRequest(input)
3025	req.SetContext(ctx)
3026	req.ApplyOptions(opts...)
3027	return out, req.Send()
3028}
3029
3030const opListDomainsForPackage = "ListDomainsForPackage"
3031
3032// ListDomainsForPackageRequest generates a "aws/request.Request" representing the
3033// client's request for the ListDomainsForPackage operation. The "output" return
3034// value will be populated with the request's response once the request completes
3035// successfully.
3036//
3037// Use "Send" method on the returned Request to send the API call to the service.
3038// the "output" return value is not valid until after Send returns without error.
3039//
3040// See ListDomainsForPackage for more information on using the ListDomainsForPackage
3041// API call, and error handling.
3042//
3043// This method is useful when you want to inject custom logic or configuration
3044// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3045//
3046//
3047//    // Example sending a request using the ListDomainsForPackageRequest method.
3048//    req, resp := client.ListDomainsForPackageRequest(params)
3049//
3050//    err := req.Send()
3051//    if err == nil { // resp is now filled
3052//        fmt.Println(resp)
3053//    }
3054func (c *ElasticsearchService) ListDomainsForPackageRequest(input *ListDomainsForPackageInput) (req *request.Request, output *ListDomainsForPackageOutput) {
3055	op := &request.Operation{
3056		Name:       opListDomainsForPackage,
3057		HTTPMethod: "GET",
3058		HTTPPath:   "/2015-01-01/packages/{PackageID}/domains",
3059		Paginator: &request.Paginator{
3060			InputTokens:     []string{"NextToken"},
3061			OutputTokens:    []string{"NextToken"},
3062			LimitToken:      "MaxResults",
3063			TruncationToken: "",
3064		},
3065	}
3066
3067	if input == nil {
3068		input = &ListDomainsForPackageInput{}
3069	}
3070
3071	output = &ListDomainsForPackageOutput{}
3072	req = c.newRequest(op, input, output)
3073	return
3074}
3075
3076// ListDomainsForPackage API operation for Amazon Elasticsearch Service.
3077//
3078// Lists all Amazon ES domains associated with the package.
3079//
3080// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3081// with awserr.Error's Code and Message methods to get detailed information about
3082// the error.
3083//
3084// See the AWS API reference guide for Amazon Elasticsearch Service's
3085// API operation ListDomainsForPackage for usage and error information.
3086//
3087// Returned Error Types:
3088//   * BaseException
3089//   An error occurred while processing the request.
3090//
3091//   * InternalException
3092//   The request processing has failed because of an unknown error, exception
3093//   or failure (the failure is internal to the service) . Gives http status code
3094//   of 500.
3095//
3096//   * ResourceNotFoundException
3097//   An exception for accessing or deleting a resource that does not exist. Gives
3098//   http status code of 400.
3099//
3100//   * AccessDeniedException
3101//   An error occurred because user does not have permissions to access the resource.
3102//   Returns HTTP status code 403.
3103//
3104//   * ValidationException
3105//   An exception for missing / invalid input fields. Gives http status code of
3106//   400.
3107//
3108func (c *ElasticsearchService) ListDomainsForPackage(input *ListDomainsForPackageInput) (*ListDomainsForPackageOutput, error) {
3109	req, out := c.ListDomainsForPackageRequest(input)
3110	return out, req.Send()
3111}
3112
3113// ListDomainsForPackageWithContext is the same as ListDomainsForPackage with the addition of
3114// the ability to pass a context and additional request options.
3115//
3116// See ListDomainsForPackage for details on how to use this API operation.
3117//
3118// The context must be non-nil and will be used for request cancellation. If
3119// the context is nil a panic will occur. In the future the SDK may create
3120// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3121// for more information on using Contexts.
3122func (c *ElasticsearchService) ListDomainsForPackageWithContext(ctx aws.Context, input *ListDomainsForPackageInput, opts ...request.Option) (*ListDomainsForPackageOutput, error) {
3123	req, out := c.ListDomainsForPackageRequest(input)
3124	req.SetContext(ctx)
3125	req.ApplyOptions(opts...)
3126	return out, req.Send()
3127}
3128
3129// ListDomainsForPackagePages iterates over the pages of a ListDomainsForPackage operation,
3130// calling the "fn" function with the response data for each page. To stop
3131// iterating, return false from the fn function.
3132//
3133// See ListDomainsForPackage method for more information on how to use this operation.
3134//
3135// Note: This operation can generate multiple requests to a service.
3136//
3137//    // Example iterating over at most 3 pages of a ListDomainsForPackage operation.
3138//    pageNum := 0
3139//    err := client.ListDomainsForPackagePages(params,
3140//        func(page *elasticsearchservice.ListDomainsForPackageOutput, lastPage bool) bool {
3141//            pageNum++
3142//            fmt.Println(page)
3143//            return pageNum <= 3
3144//        })
3145//
3146func (c *ElasticsearchService) ListDomainsForPackagePages(input *ListDomainsForPackageInput, fn func(*ListDomainsForPackageOutput, bool) bool) error {
3147	return c.ListDomainsForPackagePagesWithContext(aws.BackgroundContext(), input, fn)
3148}
3149
3150// ListDomainsForPackagePagesWithContext same as ListDomainsForPackagePages except
3151// it takes a Context and allows setting request options on the pages.
3152//
3153// The context must be non-nil and will be used for request cancellation. If
3154// the context is nil a panic will occur. In the future the SDK may create
3155// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3156// for more information on using Contexts.
3157func (c *ElasticsearchService) ListDomainsForPackagePagesWithContext(ctx aws.Context, input *ListDomainsForPackageInput, fn func(*ListDomainsForPackageOutput, bool) bool, opts ...request.Option) error {
3158	p := request.Pagination{
3159		NewRequest: func() (*request.Request, error) {
3160			var inCpy *ListDomainsForPackageInput
3161			if input != nil {
3162				tmp := *input
3163				inCpy = &tmp
3164			}
3165			req, _ := c.ListDomainsForPackageRequest(inCpy)
3166			req.SetContext(ctx)
3167			req.ApplyOptions(opts...)
3168			return req, nil
3169		},
3170	}
3171
3172	for p.Next() {
3173		if !fn(p.Page().(*ListDomainsForPackageOutput), !p.HasNextPage()) {
3174			break
3175		}
3176	}
3177
3178	return p.Err()
3179}
3180
3181const opListElasticsearchInstanceTypes = "ListElasticsearchInstanceTypes"
3182
3183// ListElasticsearchInstanceTypesRequest generates a "aws/request.Request" representing the
3184// client's request for the ListElasticsearchInstanceTypes operation. The "output" return
3185// value will be populated with the request's response once the request completes
3186// successfully.
3187//
3188// Use "Send" method on the returned Request to send the API call to the service.
3189// the "output" return value is not valid until after Send returns without error.
3190//
3191// See ListElasticsearchInstanceTypes for more information on using the ListElasticsearchInstanceTypes
3192// API call, and error handling.
3193//
3194// This method is useful when you want to inject custom logic or configuration
3195// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3196//
3197//
3198//    // Example sending a request using the ListElasticsearchInstanceTypesRequest method.
3199//    req, resp := client.ListElasticsearchInstanceTypesRequest(params)
3200//
3201//    err := req.Send()
3202//    if err == nil { // resp is now filled
3203//        fmt.Println(resp)
3204//    }
3205func (c *ElasticsearchService) ListElasticsearchInstanceTypesRequest(input *ListElasticsearchInstanceTypesInput) (req *request.Request, output *ListElasticsearchInstanceTypesOutput) {
3206	op := &request.Operation{
3207		Name:       opListElasticsearchInstanceTypes,
3208		HTTPMethod: "GET",
3209		HTTPPath:   "/2015-01-01/es/instanceTypes/{ElasticsearchVersion}",
3210		Paginator: &request.Paginator{
3211			InputTokens:     []string{"NextToken"},
3212			OutputTokens:    []string{"NextToken"},
3213			LimitToken:      "MaxResults",
3214			TruncationToken: "",
3215		},
3216	}
3217
3218	if input == nil {
3219		input = &ListElasticsearchInstanceTypesInput{}
3220	}
3221
3222	output = &ListElasticsearchInstanceTypesOutput{}
3223	req = c.newRequest(op, input, output)
3224	return
3225}
3226
3227// ListElasticsearchInstanceTypes API operation for Amazon Elasticsearch Service.
3228//
3229// List all Elasticsearch instance types that are supported for given ElasticsearchVersion
3230//
3231// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3232// with awserr.Error's Code and Message methods to get detailed information about
3233// the error.
3234//
3235// See the AWS API reference guide for Amazon Elasticsearch Service's
3236// API operation ListElasticsearchInstanceTypes for usage and error information.
3237//
3238// Returned Error Types:
3239//   * BaseException
3240//   An error occurred while processing the request.
3241//
3242//   * InternalException
3243//   The request processing has failed because of an unknown error, exception
3244//   or failure (the failure is internal to the service) . Gives http status code
3245//   of 500.
3246//
3247//   * ResourceNotFoundException
3248//   An exception for accessing or deleting a resource that does not exist. Gives
3249//   http status code of 400.
3250//
3251//   * ValidationException
3252//   An exception for missing / invalid input fields. Gives http status code of
3253//   400.
3254//
3255func (c *ElasticsearchService) ListElasticsearchInstanceTypes(input *ListElasticsearchInstanceTypesInput) (*ListElasticsearchInstanceTypesOutput, error) {
3256	req, out := c.ListElasticsearchInstanceTypesRequest(input)
3257	return out, req.Send()
3258}
3259
3260// ListElasticsearchInstanceTypesWithContext is the same as ListElasticsearchInstanceTypes with the addition of
3261// the ability to pass a context and additional request options.
3262//
3263// See ListElasticsearchInstanceTypes for details on how to use this API operation.
3264//
3265// The context must be non-nil and will be used for request cancellation. If
3266// the context is nil a panic will occur. In the future the SDK may create
3267// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3268// for more information on using Contexts.
3269func (c *ElasticsearchService) ListElasticsearchInstanceTypesWithContext(ctx aws.Context, input *ListElasticsearchInstanceTypesInput, opts ...request.Option) (*ListElasticsearchInstanceTypesOutput, error) {
3270	req, out := c.ListElasticsearchInstanceTypesRequest(input)
3271	req.SetContext(ctx)
3272	req.ApplyOptions(opts...)
3273	return out, req.Send()
3274}
3275
3276// ListElasticsearchInstanceTypesPages iterates over the pages of a ListElasticsearchInstanceTypes operation,
3277// calling the "fn" function with the response data for each page. To stop
3278// iterating, return false from the fn function.
3279//
3280// See ListElasticsearchInstanceTypes method for more information on how to use this operation.
3281//
3282// Note: This operation can generate multiple requests to a service.
3283//
3284//    // Example iterating over at most 3 pages of a ListElasticsearchInstanceTypes operation.
3285//    pageNum := 0
3286//    err := client.ListElasticsearchInstanceTypesPages(params,
3287//        func(page *elasticsearchservice.ListElasticsearchInstanceTypesOutput, lastPage bool) bool {
3288//            pageNum++
3289//            fmt.Println(page)
3290//            return pageNum <= 3
3291//        })
3292//
3293func (c *ElasticsearchService) ListElasticsearchInstanceTypesPages(input *ListElasticsearchInstanceTypesInput, fn func(*ListElasticsearchInstanceTypesOutput, bool) bool) error {
3294	return c.ListElasticsearchInstanceTypesPagesWithContext(aws.BackgroundContext(), input, fn)
3295}
3296
3297// ListElasticsearchInstanceTypesPagesWithContext same as ListElasticsearchInstanceTypesPages except
3298// it takes a Context and allows setting request options on the pages.
3299//
3300// The context must be non-nil and will be used for request cancellation. If
3301// the context is nil a panic will occur. In the future the SDK may create
3302// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3303// for more information on using Contexts.
3304func (c *ElasticsearchService) ListElasticsearchInstanceTypesPagesWithContext(ctx aws.Context, input *ListElasticsearchInstanceTypesInput, fn func(*ListElasticsearchInstanceTypesOutput, bool) bool, opts ...request.Option) error {
3305	p := request.Pagination{
3306		NewRequest: func() (*request.Request, error) {
3307			var inCpy *ListElasticsearchInstanceTypesInput
3308			if input != nil {
3309				tmp := *input
3310				inCpy = &tmp
3311			}
3312			req, _ := c.ListElasticsearchInstanceTypesRequest(inCpy)
3313			req.SetContext(ctx)
3314			req.ApplyOptions(opts...)
3315			return req, nil
3316		},
3317	}
3318
3319	for p.Next() {
3320		if !fn(p.Page().(*ListElasticsearchInstanceTypesOutput), !p.HasNextPage()) {
3321			break
3322		}
3323	}
3324
3325	return p.Err()
3326}
3327
3328const opListElasticsearchVersions = "ListElasticsearchVersions"
3329
3330// ListElasticsearchVersionsRequest generates a "aws/request.Request" representing the
3331// client's request for the ListElasticsearchVersions operation. The "output" return
3332// value will be populated with the request's response once the request completes
3333// successfully.
3334//
3335// Use "Send" method on the returned Request to send the API call to the service.
3336// the "output" return value is not valid until after Send returns without error.
3337//
3338// See ListElasticsearchVersions for more information on using the ListElasticsearchVersions
3339// API call, and error handling.
3340//
3341// This method is useful when you want to inject custom logic or configuration
3342// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3343//
3344//
3345//    // Example sending a request using the ListElasticsearchVersionsRequest method.
3346//    req, resp := client.ListElasticsearchVersionsRequest(params)
3347//
3348//    err := req.Send()
3349//    if err == nil { // resp is now filled
3350//        fmt.Println(resp)
3351//    }
3352func (c *ElasticsearchService) ListElasticsearchVersionsRequest(input *ListElasticsearchVersionsInput) (req *request.Request, output *ListElasticsearchVersionsOutput) {
3353	op := &request.Operation{
3354		Name:       opListElasticsearchVersions,
3355		HTTPMethod: "GET",
3356		HTTPPath:   "/2015-01-01/es/versions",
3357		Paginator: &request.Paginator{
3358			InputTokens:     []string{"NextToken"},
3359			OutputTokens:    []string{"NextToken"},
3360			LimitToken:      "MaxResults",
3361			TruncationToken: "",
3362		},
3363	}
3364
3365	if input == nil {
3366		input = &ListElasticsearchVersionsInput{}
3367	}
3368
3369	output = &ListElasticsearchVersionsOutput{}
3370	req = c.newRequest(op, input, output)
3371	return
3372}
3373
3374// ListElasticsearchVersions API operation for Amazon Elasticsearch Service.
3375//
3376// List all supported Elasticsearch versions
3377//
3378// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3379// with awserr.Error's Code and Message methods to get detailed information about
3380// the error.
3381//
3382// See the AWS API reference guide for Amazon Elasticsearch Service's
3383// API operation ListElasticsearchVersions for usage and error information.
3384//
3385// Returned Error Types:
3386//   * BaseException
3387//   An error occurred while processing the request.
3388//
3389//   * InternalException
3390//   The request processing has failed because of an unknown error, exception
3391//   or failure (the failure is internal to the service) . Gives http status code
3392//   of 500.
3393//
3394//   * ResourceNotFoundException
3395//   An exception for accessing or deleting a resource that does not exist. Gives
3396//   http status code of 400.
3397//
3398//   * ValidationException
3399//   An exception for missing / invalid input fields. Gives http status code of
3400//   400.
3401//
3402func (c *ElasticsearchService) ListElasticsearchVersions(input *ListElasticsearchVersionsInput) (*ListElasticsearchVersionsOutput, error) {
3403	req, out := c.ListElasticsearchVersionsRequest(input)
3404	return out, req.Send()
3405}
3406
3407// ListElasticsearchVersionsWithContext is the same as ListElasticsearchVersions with the addition of
3408// the ability to pass a context and additional request options.
3409//
3410// See ListElasticsearchVersions for details on how to use this API operation.
3411//
3412// The context must be non-nil and will be used for request cancellation. If
3413// the context is nil a panic will occur. In the future the SDK may create
3414// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3415// for more information on using Contexts.
3416func (c *ElasticsearchService) ListElasticsearchVersionsWithContext(ctx aws.Context, input *ListElasticsearchVersionsInput, opts ...request.Option) (*ListElasticsearchVersionsOutput, error) {
3417	req, out := c.ListElasticsearchVersionsRequest(input)
3418	req.SetContext(ctx)
3419	req.ApplyOptions(opts...)
3420	return out, req.Send()
3421}
3422
3423// ListElasticsearchVersionsPages iterates over the pages of a ListElasticsearchVersions operation,
3424// calling the "fn" function with the response data for each page. To stop
3425// iterating, return false from the fn function.
3426//
3427// See ListElasticsearchVersions method for more information on how to use this operation.
3428//
3429// Note: This operation can generate multiple requests to a service.
3430//
3431//    // Example iterating over at most 3 pages of a ListElasticsearchVersions operation.
3432//    pageNum := 0
3433//    err := client.ListElasticsearchVersionsPages(params,
3434//        func(page *elasticsearchservice.ListElasticsearchVersionsOutput, lastPage bool) bool {
3435//            pageNum++
3436//            fmt.Println(page)
3437//            return pageNum <= 3
3438//        })
3439//
3440func (c *ElasticsearchService) ListElasticsearchVersionsPages(input *ListElasticsearchVersionsInput, fn func(*ListElasticsearchVersionsOutput, bool) bool) error {
3441	return c.ListElasticsearchVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
3442}
3443
3444// ListElasticsearchVersionsPagesWithContext same as ListElasticsearchVersionsPages except
3445// it takes a Context and allows setting request options on the pages.
3446//
3447// The context must be non-nil and will be used for request cancellation. If
3448// the context is nil a panic will occur. In the future the SDK may create
3449// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3450// for more information on using Contexts.
3451func (c *ElasticsearchService) ListElasticsearchVersionsPagesWithContext(ctx aws.Context, input *ListElasticsearchVersionsInput, fn func(*ListElasticsearchVersionsOutput, bool) bool, opts ...request.Option) error {
3452	p := request.Pagination{
3453		NewRequest: func() (*request.Request, error) {
3454			var inCpy *ListElasticsearchVersionsInput
3455			if input != nil {
3456				tmp := *input
3457				inCpy = &tmp
3458			}
3459			req, _ := c.ListElasticsearchVersionsRequest(inCpy)
3460			req.SetContext(ctx)
3461			req.ApplyOptions(opts...)
3462			return req, nil
3463		},
3464	}
3465
3466	for p.Next() {
3467		if !fn(p.Page().(*ListElasticsearchVersionsOutput), !p.HasNextPage()) {
3468			break
3469		}
3470	}
3471
3472	return p.Err()
3473}
3474
3475const opListPackagesForDomain = "ListPackagesForDomain"
3476
3477// ListPackagesForDomainRequest generates a "aws/request.Request" representing the
3478// client's request for the ListPackagesForDomain operation. The "output" return
3479// value will be populated with the request's response once the request completes
3480// successfully.
3481//
3482// Use "Send" method on the returned Request to send the API call to the service.
3483// the "output" return value is not valid until after Send returns without error.
3484//
3485// See ListPackagesForDomain for more information on using the ListPackagesForDomain
3486// API call, and error handling.
3487//
3488// This method is useful when you want to inject custom logic or configuration
3489// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3490//
3491//
3492//    // Example sending a request using the ListPackagesForDomainRequest method.
3493//    req, resp := client.ListPackagesForDomainRequest(params)
3494//
3495//    err := req.Send()
3496//    if err == nil { // resp is now filled
3497//        fmt.Println(resp)
3498//    }
3499func (c *ElasticsearchService) ListPackagesForDomainRequest(input *ListPackagesForDomainInput) (req *request.Request, output *ListPackagesForDomainOutput) {
3500	op := &request.Operation{
3501		Name:       opListPackagesForDomain,
3502		HTTPMethod: "GET",
3503		HTTPPath:   "/2015-01-01/domain/{DomainName}/packages",
3504		Paginator: &request.Paginator{
3505			InputTokens:     []string{"NextToken"},
3506			OutputTokens:    []string{"NextToken"},
3507			LimitToken:      "MaxResults",
3508			TruncationToken: "",
3509		},
3510	}
3511
3512	if input == nil {
3513		input = &ListPackagesForDomainInput{}
3514	}
3515
3516	output = &ListPackagesForDomainOutput{}
3517	req = c.newRequest(op, input, output)
3518	return
3519}
3520
3521// ListPackagesForDomain API operation for Amazon Elasticsearch Service.
3522//
3523// Lists all packages associated with the Amazon ES domain.
3524//
3525// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3526// with awserr.Error's Code and Message methods to get detailed information about
3527// the error.
3528//
3529// See the AWS API reference guide for Amazon Elasticsearch Service's
3530// API operation ListPackagesForDomain for usage and error information.
3531//
3532// Returned Error Types:
3533//   * BaseException
3534//   An error occurred while processing the request.
3535//
3536//   * InternalException
3537//   The request processing has failed because of an unknown error, exception
3538//   or failure (the failure is internal to the service) . Gives http status code
3539//   of 500.
3540//
3541//   * ResourceNotFoundException
3542//   An exception for accessing or deleting a resource that does not exist. Gives
3543//   http status code of 400.
3544//
3545//   * AccessDeniedException
3546//   An error occurred because user does not have permissions to access the resource.
3547//   Returns HTTP status code 403.
3548//
3549//   * ValidationException
3550//   An exception for missing / invalid input fields. Gives http status code of
3551//   400.
3552//
3553func (c *ElasticsearchService) ListPackagesForDomain(input *ListPackagesForDomainInput) (*ListPackagesForDomainOutput, error) {
3554	req, out := c.ListPackagesForDomainRequest(input)
3555	return out, req.Send()
3556}
3557
3558// ListPackagesForDomainWithContext is the same as ListPackagesForDomain with the addition of
3559// the ability to pass a context and additional request options.
3560//
3561// See ListPackagesForDomain for details on how to use this API operation.
3562//
3563// The context must be non-nil and will be used for request cancellation. If
3564// the context is nil a panic will occur. In the future the SDK may create
3565// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3566// for more information on using Contexts.
3567func (c *ElasticsearchService) ListPackagesForDomainWithContext(ctx aws.Context, input *ListPackagesForDomainInput, opts ...request.Option) (*ListPackagesForDomainOutput, error) {
3568	req, out := c.ListPackagesForDomainRequest(input)
3569	req.SetContext(ctx)
3570	req.ApplyOptions(opts...)
3571	return out, req.Send()
3572}
3573
3574// ListPackagesForDomainPages iterates over the pages of a ListPackagesForDomain operation,
3575// calling the "fn" function with the response data for each page. To stop
3576// iterating, return false from the fn function.
3577//
3578// See ListPackagesForDomain method for more information on how to use this operation.
3579//
3580// Note: This operation can generate multiple requests to a service.
3581//
3582//    // Example iterating over at most 3 pages of a ListPackagesForDomain operation.
3583//    pageNum := 0
3584//    err := client.ListPackagesForDomainPages(params,
3585//        func(page *elasticsearchservice.ListPackagesForDomainOutput, lastPage bool) bool {
3586//            pageNum++
3587//            fmt.Println(page)
3588//            return pageNum <= 3
3589//        })
3590//
3591func (c *ElasticsearchService) ListPackagesForDomainPages(input *ListPackagesForDomainInput, fn func(*ListPackagesForDomainOutput, bool) bool) error {
3592	return c.ListPackagesForDomainPagesWithContext(aws.BackgroundContext(), input, fn)
3593}
3594
3595// ListPackagesForDomainPagesWithContext same as ListPackagesForDomainPages except
3596// it takes a Context and allows setting request options on the pages.
3597//
3598// The context must be non-nil and will be used for request cancellation. If
3599// the context is nil a panic will occur. In the future the SDK may create
3600// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3601// for more information on using Contexts.
3602func (c *ElasticsearchService) ListPackagesForDomainPagesWithContext(ctx aws.Context, input *ListPackagesForDomainInput, fn func(*ListPackagesForDomainOutput, bool) bool, opts ...request.Option) error {
3603	p := request.Pagination{
3604		NewRequest: func() (*request.Request, error) {
3605			var inCpy *ListPackagesForDomainInput
3606			if input != nil {
3607				tmp := *input
3608				inCpy = &tmp
3609			}
3610			req, _ := c.ListPackagesForDomainRequest(inCpy)
3611			req.SetContext(ctx)
3612			req.ApplyOptions(opts...)
3613			return req, nil
3614		},
3615	}
3616
3617	for p.Next() {
3618		if !fn(p.Page().(*ListPackagesForDomainOutput), !p.HasNextPage()) {
3619			break
3620		}
3621	}
3622
3623	return p.Err()
3624}
3625
3626const opListTags = "ListTags"
3627
3628// ListTagsRequest generates a "aws/request.Request" representing the
3629// client's request for the ListTags operation. The "output" return
3630// value will be populated with the request's response once the request completes
3631// successfully.
3632//
3633// Use "Send" method on the returned Request to send the API call to the service.
3634// the "output" return value is not valid until after Send returns without error.
3635//
3636// See ListTags for more information on using the ListTags
3637// API call, and error handling.
3638//
3639// This method is useful when you want to inject custom logic or configuration
3640// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3641//
3642//
3643//    // Example sending a request using the ListTagsRequest method.
3644//    req, resp := client.ListTagsRequest(params)
3645//
3646//    err := req.Send()
3647//    if err == nil { // resp is now filled
3648//        fmt.Println(resp)
3649//    }
3650func (c *ElasticsearchService) ListTagsRequest(input *ListTagsInput) (req *request.Request, output *ListTagsOutput) {
3651	op := &request.Operation{
3652		Name:       opListTags,
3653		HTTPMethod: "GET",
3654		HTTPPath:   "/2015-01-01/tags/",
3655	}
3656
3657	if input == nil {
3658		input = &ListTagsInput{}
3659	}
3660
3661	output = &ListTagsOutput{}
3662	req = c.newRequest(op, input, output)
3663	return
3664}
3665
3666// ListTags API operation for Amazon Elasticsearch Service.
3667//
3668// Returns all tags for the given Elasticsearch domain.
3669//
3670// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3671// with awserr.Error's Code and Message methods to get detailed information about
3672// the error.
3673//
3674// See the AWS API reference guide for Amazon Elasticsearch Service's
3675// API operation ListTags for usage and error information.
3676//
3677// Returned Error Types:
3678//   * BaseException
3679//   An error occurred while processing the request.
3680//
3681//   * ResourceNotFoundException
3682//   An exception for accessing or deleting a resource that does not exist. Gives
3683//   http status code of 400.
3684//
3685//   * ValidationException
3686//   An exception for missing / invalid input fields. Gives http status code of
3687//   400.
3688//
3689//   * InternalException
3690//   The request processing has failed because of an unknown error, exception
3691//   or failure (the failure is internal to the service) . Gives http status code
3692//   of 500.
3693//
3694func (c *ElasticsearchService) ListTags(input *ListTagsInput) (*ListTagsOutput, error) {
3695	req, out := c.ListTagsRequest(input)
3696	return out, req.Send()
3697}
3698
3699// ListTagsWithContext is the same as ListTags with the addition of
3700// the ability to pass a context and additional request options.
3701//
3702// See ListTags for details on how to use this API operation.
3703//
3704// The context must be non-nil and will be used for request cancellation. If
3705// the context is nil a panic will occur. In the future the SDK may create
3706// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3707// for more information on using Contexts.
3708func (c *ElasticsearchService) ListTagsWithContext(ctx aws.Context, input *ListTagsInput, opts ...request.Option) (*ListTagsOutput, error) {
3709	req, out := c.ListTagsRequest(input)
3710	req.SetContext(ctx)
3711	req.ApplyOptions(opts...)
3712	return out, req.Send()
3713}
3714
3715const opPurchaseReservedElasticsearchInstanceOffering = "PurchaseReservedElasticsearchInstanceOffering"
3716
3717// PurchaseReservedElasticsearchInstanceOfferingRequest generates a "aws/request.Request" representing the
3718// client's request for the PurchaseReservedElasticsearchInstanceOffering operation. The "output" return
3719// value will be populated with the request's response once the request completes
3720// successfully.
3721//
3722// Use "Send" method on the returned Request to send the API call to the service.
3723// the "output" return value is not valid until after Send returns without error.
3724//
3725// See PurchaseReservedElasticsearchInstanceOffering for more information on using the PurchaseReservedElasticsearchInstanceOffering
3726// API call, and error handling.
3727//
3728// This method is useful when you want to inject custom logic or configuration
3729// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3730//
3731//
3732//    // Example sending a request using the PurchaseReservedElasticsearchInstanceOfferingRequest method.
3733//    req, resp := client.PurchaseReservedElasticsearchInstanceOfferingRequest(params)
3734//
3735//    err := req.Send()
3736//    if err == nil { // resp is now filled
3737//        fmt.Println(resp)
3738//    }
3739func (c *ElasticsearchService) PurchaseReservedElasticsearchInstanceOfferingRequest(input *PurchaseReservedElasticsearchInstanceOfferingInput) (req *request.Request, output *PurchaseReservedElasticsearchInstanceOfferingOutput) {
3740	op := &request.Operation{
3741		Name:       opPurchaseReservedElasticsearchInstanceOffering,
3742		HTTPMethod: "POST",
3743		HTTPPath:   "/2015-01-01/es/purchaseReservedInstanceOffering",
3744	}
3745
3746	if input == nil {
3747		input = &PurchaseReservedElasticsearchInstanceOfferingInput{}
3748	}
3749
3750	output = &PurchaseReservedElasticsearchInstanceOfferingOutput{}
3751	req = c.newRequest(op, input, output)
3752	return
3753}
3754
3755// PurchaseReservedElasticsearchInstanceOffering API operation for Amazon Elasticsearch Service.
3756//
3757// Allows you to purchase reserved Elasticsearch instances.
3758//
3759// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3760// with awserr.Error's Code and Message methods to get detailed information about
3761// the error.
3762//
3763// See the AWS API reference guide for Amazon Elasticsearch Service's
3764// API operation PurchaseReservedElasticsearchInstanceOffering for usage and error information.
3765//
3766// Returned Error Types:
3767//   * ResourceNotFoundException
3768//   An exception for accessing or deleting a resource that does not exist. Gives
3769//   http status code of 400.
3770//
3771//   * ResourceAlreadyExistsException
3772//   An exception for creating a resource that already exists. Gives http status
3773//   code of 400.
3774//
3775//   * LimitExceededException
3776//   An exception for trying to create more than allowed resources or sub-resources.
3777//   Gives http status code of 409.
3778//
3779//   * DisabledOperationException
3780//   An error occured because the client wanted to access a not supported operation.
3781//   Gives http status code of 409.
3782//
3783//   * ValidationException
3784//   An exception for missing / invalid input fields. Gives http status code of
3785//   400.
3786//
3787//   * InternalException
3788//   The request processing has failed because of an unknown error, exception
3789//   or failure (the failure is internal to the service) . Gives http status code
3790//   of 500.
3791//
3792func (c *ElasticsearchService) PurchaseReservedElasticsearchInstanceOffering(input *PurchaseReservedElasticsearchInstanceOfferingInput) (*PurchaseReservedElasticsearchInstanceOfferingOutput, error) {
3793	req, out := c.PurchaseReservedElasticsearchInstanceOfferingRequest(input)
3794	return out, req.Send()
3795}
3796
3797// PurchaseReservedElasticsearchInstanceOfferingWithContext is the same as PurchaseReservedElasticsearchInstanceOffering with the addition of
3798// the ability to pass a context and additional request options.
3799//
3800// See PurchaseReservedElasticsearchInstanceOffering for details on how to use this API operation.
3801//
3802// The context must be non-nil and will be used for request cancellation. If
3803// the context is nil a panic will occur. In the future the SDK may create
3804// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3805// for more information on using Contexts.
3806func (c *ElasticsearchService) PurchaseReservedElasticsearchInstanceOfferingWithContext(ctx aws.Context, input *PurchaseReservedElasticsearchInstanceOfferingInput, opts ...request.Option) (*PurchaseReservedElasticsearchInstanceOfferingOutput, error) {
3807	req, out := c.PurchaseReservedElasticsearchInstanceOfferingRequest(input)
3808	req.SetContext(ctx)
3809	req.ApplyOptions(opts...)
3810	return out, req.Send()
3811}
3812
3813const opRejectInboundCrossClusterSearchConnection = "RejectInboundCrossClusterSearchConnection"
3814
3815// RejectInboundCrossClusterSearchConnectionRequest generates a "aws/request.Request" representing the
3816// client's request for the RejectInboundCrossClusterSearchConnection operation. The "output" return
3817// value will be populated with the request's response once the request completes
3818// successfully.
3819//
3820// Use "Send" method on the returned Request to send the API call to the service.
3821// the "output" return value is not valid until after Send returns without error.
3822//
3823// See RejectInboundCrossClusterSearchConnection for more information on using the RejectInboundCrossClusterSearchConnection
3824// API call, and error handling.
3825//
3826// This method is useful when you want to inject custom logic or configuration
3827// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3828//
3829//
3830//    // Example sending a request using the RejectInboundCrossClusterSearchConnectionRequest method.
3831//    req, resp := client.RejectInboundCrossClusterSearchConnectionRequest(params)
3832//
3833//    err := req.Send()
3834//    if err == nil { // resp is now filled
3835//        fmt.Println(resp)
3836//    }
3837func (c *ElasticsearchService) RejectInboundCrossClusterSearchConnectionRequest(input *RejectInboundCrossClusterSearchConnectionInput) (req *request.Request, output *RejectInboundCrossClusterSearchConnectionOutput) {
3838	op := &request.Operation{
3839		Name:       opRejectInboundCrossClusterSearchConnection,
3840		HTTPMethod: "PUT",
3841		HTTPPath:   "/2015-01-01/es/ccs/inboundConnection/{ConnectionId}/reject",
3842	}
3843
3844	if input == nil {
3845		input = &RejectInboundCrossClusterSearchConnectionInput{}
3846	}
3847
3848	output = &RejectInboundCrossClusterSearchConnectionOutput{}
3849	req = c.newRequest(op, input, output)
3850	return
3851}
3852
3853// RejectInboundCrossClusterSearchConnection API operation for Amazon Elasticsearch Service.
3854//
3855// Allows the destination domain owner to reject an inbound cross-cluster search
3856// connection request.
3857//
3858// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3859// with awserr.Error's Code and Message methods to get detailed information about
3860// the error.
3861//
3862// See the AWS API reference guide for Amazon Elasticsearch Service's
3863// API operation RejectInboundCrossClusterSearchConnection for usage and error information.
3864//
3865// Returned Error Types:
3866//   * ResourceNotFoundException
3867//   An exception for accessing or deleting a resource that does not exist. Gives
3868//   http status code of 400.
3869//
3870//   * DisabledOperationException
3871//   An error occured because the client wanted to access a not supported operation.
3872//   Gives http status code of 409.
3873//
3874func (c *ElasticsearchService) RejectInboundCrossClusterSearchConnection(input *RejectInboundCrossClusterSearchConnectionInput) (*RejectInboundCrossClusterSearchConnectionOutput, error) {
3875	req, out := c.RejectInboundCrossClusterSearchConnectionRequest(input)
3876	return out, req.Send()
3877}
3878
3879// RejectInboundCrossClusterSearchConnectionWithContext is the same as RejectInboundCrossClusterSearchConnection with the addition of
3880// the ability to pass a context and additional request options.
3881//
3882// See RejectInboundCrossClusterSearchConnection for details on how to use this API operation.
3883//
3884// The context must be non-nil and will be used for request cancellation. If
3885// the context is nil a panic will occur. In the future the SDK may create
3886// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3887// for more information on using Contexts.
3888func (c *ElasticsearchService) RejectInboundCrossClusterSearchConnectionWithContext(ctx aws.Context, input *RejectInboundCrossClusterSearchConnectionInput, opts ...request.Option) (*RejectInboundCrossClusterSearchConnectionOutput, error) {
3889	req, out := c.RejectInboundCrossClusterSearchConnectionRequest(input)
3890	req.SetContext(ctx)
3891	req.ApplyOptions(opts...)
3892	return out, req.Send()
3893}
3894
3895const opRemoveTags = "RemoveTags"
3896
3897// RemoveTagsRequest generates a "aws/request.Request" representing the
3898// client's request for the RemoveTags operation. The "output" return
3899// value will be populated with the request's response once the request completes
3900// successfully.
3901//
3902// Use "Send" method on the returned Request to send the API call to the service.
3903// the "output" return value is not valid until after Send returns without error.
3904//
3905// See RemoveTags for more information on using the RemoveTags
3906// API call, and error handling.
3907//
3908// This method is useful when you want to inject custom logic or configuration
3909// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3910//
3911//
3912//    // Example sending a request using the RemoveTagsRequest method.
3913//    req, resp := client.RemoveTagsRequest(params)
3914//
3915//    err := req.Send()
3916//    if err == nil { // resp is now filled
3917//        fmt.Println(resp)
3918//    }
3919func (c *ElasticsearchService) RemoveTagsRequest(input *RemoveTagsInput) (req *request.Request, output *RemoveTagsOutput) {
3920	op := &request.Operation{
3921		Name:       opRemoveTags,
3922		HTTPMethod: "POST",
3923		HTTPPath:   "/2015-01-01/tags-removal",
3924	}
3925
3926	if input == nil {
3927		input = &RemoveTagsInput{}
3928	}
3929
3930	output = &RemoveTagsOutput{}
3931	req = c.newRequest(op, input, output)
3932	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3933	return
3934}
3935
3936// RemoveTags API operation for Amazon Elasticsearch Service.
3937//
3938// Removes the specified set of tags from the specified Elasticsearch domain.
3939//
3940// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3941// with awserr.Error's Code and Message methods to get detailed information about
3942// the error.
3943//
3944// See the AWS API reference guide for Amazon Elasticsearch Service's
3945// API operation RemoveTags for usage and error information.
3946//
3947// Returned Error Types:
3948//   * BaseException
3949//   An error occurred while processing the request.
3950//
3951//   * ValidationException
3952//   An exception for missing / invalid input fields. Gives http status code of
3953//   400.
3954//
3955//   * InternalException
3956//   The request processing has failed because of an unknown error, exception
3957//   or failure (the failure is internal to the service) . Gives http status code
3958//   of 500.
3959//
3960func (c *ElasticsearchService) RemoveTags(input *RemoveTagsInput) (*RemoveTagsOutput, error) {
3961	req, out := c.RemoveTagsRequest(input)
3962	return out, req.Send()
3963}
3964
3965// RemoveTagsWithContext is the same as RemoveTags with the addition of
3966// the ability to pass a context and additional request options.
3967//
3968// See RemoveTags for details on how to use this API operation.
3969//
3970// The context must be non-nil and will be used for request cancellation. If
3971// the context is nil a panic will occur. In the future the SDK may create
3972// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3973// for more information on using Contexts.
3974func (c *ElasticsearchService) RemoveTagsWithContext(ctx aws.Context, input *RemoveTagsInput, opts ...request.Option) (*RemoveTagsOutput, error) {
3975	req, out := c.RemoveTagsRequest(input)
3976	req.SetContext(ctx)
3977	req.ApplyOptions(opts...)
3978	return out, req.Send()
3979}
3980
3981const opStartElasticsearchServiceSoftwareUpdate = "StartElasticsearchServiceSoftwareUpdate"
3982
3983// StartElasticsearchServiceSoftwareUpdateRequest generates a "aws/request.Request" representing the
3984// client's request for the StartElasticsearchServiceSoftwareUpdate operation. The "output" return
3985// value will be populated with the request's response once the request completes
3986// successfully.
3987//
3988// Use "Send" method on the returned Request to send the API call to the service.
3989// the "output" return value is not valid until after Send returns without error.
3990//
3991// See StartElasticsearchServiceSoftwareUpdate for more information on using the StartElasticsearchServiceSoftwareUpdate
3992// API call, and error handling.
3993//
3994// This method is useful when you want to inject custom logic or configuration
3995// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3996//
3997//
3998//    // Example sending a request using the StartElasticsearchServiceSoftwareUpdateRequest method.
3999//    req, resp := client.StartElasticsearchServiceSoftwareUpdateRequest(params)
4000//
4001//    err := req.Send()
4002//    if err == nil { // resp is now filled
4003//        fmt.Println(resp)
4004//    }
4005func (c *ElasticsearchService) StartElasticsearchServiceSoftwareUpdateRequest(input *StartElasticsearchServiceSoftwareUpdateInput) (req *request.Request, output *StartElasticsearchServiceSoftwareUpdateOutput) {
4006	op := &request.Operation{
4007		Name:       opStartElasticsearchServiceSoftwareUpdate,
4008		HTTPMethod: "POST",
4009		HTTPPath:   "/2015-01-01/es/serviceSoftwareUpdate/start",
4010	}
4011
4012	if input == nil {
4013		input = &StartElasticsearchServiceSoftwareUpdateInput{}
4014	}
4015
4016	output = &StartElasticsearchServiceSoftwareUpdateOutput{}
4017	req = c.newRequest(op, input, output)
4018	return
4019}
4020
4021// StartElasticsearchServiceSoftwareUpdate API operation for Amazon Elasticsearch Service.
4022//
4023// Schedules a service software update for an Amazon ES domain.
4024//
4025// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4026// with awserr.Error's Code and Message methods to get detailed information about
4027// the error.
4028//
4029// See the AWS API reference guide for Amazon Elasticsearch Service's
4030// API operation StartElasticsearchServiceSoftwareUpdate for usage and error information.
4031//
4032// Returned Error Types:
4033//   * BaseException
4034//   An error occurred while processing the request.
4035//
4036//   * InternalException
4037//   The request processing has failed because of an unknown error, exception
4038//   or failure (the failure is internal to the service) . Gives http status code
4039//   of 500.
4040//
4041//   * ResourceNotFoundException
4042//   An exception for accessing or deleting a resource that does not exist. Gives
4043//   http status code of 400.
4044//
4045//   * ValidationException
4046//   An exception for missing / invalid input fields. Gives http status code of
4047//   400.
4048//
4049func (c *ElasticsearchService) StartElasticsearchServiceSoftwareUpdate(input *StartElasticsearchServiceSoftwareUpdateInput) (*StartElasticsearchServiceSoftwareUpdateOutput, error) {
4050	req, out := c.StartElasticsearchServiceSoftwareUpdateRequest(input)
4051	return out, req.Send()
4052}
4053
4054// StartElasticsearchServiceSoftwareUpdateWithContext is the same as StartElasticsearchServiceSoftwareUpdate with the addition of
4055// the ability to pass a context and additional request options.
4056//
4057// See StartElasticsearchServiceSoftwareUpdate for details on how to use this API operation.
4058//
4059// The context must be non-nil and will be used for request cancellation. If
4060// the context is nil a panic will occur. In the future the SDK may create
4061// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4062// for more information on using Contexts.
4063func (c *ElasticsearchService) StartElasticsearchServiceSoftwareUpdateWithContext(ctx aws.Context, input *StartElasticsearchServiceSoftwareUpdateInput, opts ...request.Option) (*StartElasticsearchServiceSoftwareUpdateOutput, error) {
4064	req, out := c.StartElasticsearchServiceSoftwareUpdateRequest(input)
4065	req.SetContext(ctx)
4066	req.ApplyOptions(opts...)
4067	return out, req.Send()
4068}
4069
4070const opUpdateElasticsearchDomainConfig = "UpdateElasticsearchDomainConfig"
4071
4072// UpdateElasticsearchDomainConfigRequest generates a "aws/request.Request" representing the
4073// client's request for the UpdateElasticsearchDomainConfig operation. The "output" return
4074// value will be populated with the request's response once the request completes
4075// successfully.
4076//
4077// Use "Send" method on the returned Request to send the API call to the service.
4078// the "output" return value is not valid until after Send returns without error.
4079//
4080// See UpdateElasticsearchDomainConfig for more information on using the UpdateElasticsearchDomainConfig
4081// API call, and error handling.
4082//
4083// This method is useful when you want to inject custom logic or configuration
4084// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4085//
4086//
4087//    // Example sending a request using the UpdateElasticsearchDomainConfigRequest method.
4088//    req, resp := client.UpdateElasticsearchDomainConfigRequest(params)
4089//
4090//    err := req.Send()
4091//    if err == nil { // resp is now filled
4092//        fmt.Println(resp)
4093//    }
4094func (c *ElasticsearchService) UpdateElasticsearchDomainConfigRequest(input *UpdateElasticsearchDomainConfigInput) (req *request.Request, output *UpdateElasticsearchDomainConfigOutput) {
4095	op := &request.Operation{
4096		Name:       opUpdateElasticsearchDomainConfig,
4097		HTTPMethod: "POST",
4098		HTTPPath:   "/2015-01-01/es/domain/{DomainName}/config",
4099	}
4100
4101	if input == nil {
4102		input = &UpdateElasticsearchDomainConfigInput{}
4103	}
4104
4105	output = &UpdateElasticsearchDomainConfigOutput{}
4106	req = c.newRequest(op, input, output)
4107	return
4108}
4109
4110// UpdateElasticsearchDomainConfig API operation for Amazon Elasticsearch Service.
4111//
4112// Modifies the cluster configuration of the specified Elasticsearch domain,
4113// setting as setting the instance type and the number of instances.
4114//
4115// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4116// with awserr.Error's Code and Message methods to get detailed information about
4117// the error.
4118//
4119// See the AWS API reference guide for Amazon Elasticsearch Service's
4120// API operation UpdateElasticsearchDomainConfig for usage and error information.
4121//
4122// Returned Error Types:
4123//   * BaseException
4124//   An error occurred while processing the request.
4125//
4126//   * InternalException
4127//   The request processing has failed because of an unknown error, exception
4128//   or failure (the failure is internal to the service) . Gives http status code
4129//   of 500.
4130//
4131//   * InvalidTypeException
4132//   An exception for trying to create or access sub-resource that is either invalid
4133//   or not supported. Gives http status code of 409.
4134//
4135//   * LimitExceededException
4136//   An exception for trying to create more than allowed resources or sub-resources.
4137//   Gives http status code of 409.
4138//
4139//   * ResourceNotFoundException
4140//   An exception for accessing or deleting a resource that does not exist. Gives
4141//   http status code of 400.
4142//
4143//   * ValidationException
4144//   An exception for missing / invalid input fields. Gives http status code of
4145//   400.
4146//
4147func (c *ElasticsearchService) UpdateElasticsearchDomainConfig(input *UpdateElasticsearchDomainConfigInput) (*UpdateElasticsearchDomainConfigOutput, error) {
4148	req, out := c.UpdateElasticsearchDomainConfigRequest(input)
4149	return out, req.Send()
4150}
4151
4152// UpdateElasticsearchDomainConfigWithContext is the same as UpdateElasticsearchDomainConfig with the addition of
4153// the ability to pass a context and additional request options.
4154//
4155// See UpdateElasticsearchDomainConfig for details on how to use this API operation.
4156//
4157// The context must be non-nil and will be used for request cancellation. If
4158// the context is nil a panic will occur. In the future the SDK may create
4159// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4160// for more information on using Contexts.
4161func (c *ElasticsearchService) UpdateElasticsearchDomainConfigWithContext(ctx aws.Context, input *UpdateElasticsearchDomainConfigInput, opts ...request.Option) (*UpdateElasticsearchDomainConfigOutput, error) {
4162	req, out := c.UpdateElasticsearchDomainConfigRequest(input)
4163	req.SetContext(ctx)
4164	req.ApplyOptions(opts...)
4165	return out, req.Send()
4166}
4167
4168const opUpdatePackage = "UpdatePackage"
4169
4170// UpdatePackageRequest generates a "aws/request.Request" representing the
4171// client's request for the UpdatePackage operation. The "output" return
4172// value will be populated with the request's response once the request completes
4173// successfully.
4174//
4175// Use "Send" method on the returned Request to send the API call to the service.
4176// the "output" return value is not valid until after Send returns without error.
4177//
4178// See UpdatePackage for more information on using the UpdatePackage
4179// API call, and error handling.
4180//
4181// This method is useful when you want to inject custom logic or configuration
4182// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4183//
4184//
4185//    // Example sending a request using the UpdatePackageRequest method.
4186//    req, resp := client.UpdatePackageRequest(params)
4187//
4188//    err := req.Send()
4189//    if err == nil { // resp is now filled
4190//        fmt.Println(resp)
4191//    }
4192func (c *ElasticsearchService) UpdatePackageRequest(input *UpdatePackageInput) (req *request.Request, output *UpdatePackageOutput) {
4193	op := &request.Operation{
4194		Name:       opUpdatePackage,
4195		HTTPMethod: "POST",
4196		HTTPPath:   "/2015-01-01/packages/update",
4197	}
4198
4199	if input == nil {
4200		input = &UpdatePackageInput{}
4201	}
4202
4203	output = &UpdatePackageOutput{}
4204	req = c.newRequest(op, input, output)
4205	return
4206}
4207
4208// UpdatePackage API operation for Amazon Elasticsearch Service.
4209//
4210// Updates a package for use with Amazon ES domains.
4211//
4212// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4213// with awserr.Error's Code and Message methods to get detailed information about
4214// the error.
4215//
4216// See the AWS API reference guide for Amazon Elasticsearch Service's
4217// API operation UpdatePackage for usage and error information.
4218//
4219// Returned Error Types:
4220//   * BaseException
4221//   An error occurred while processing the request.
4222//
4223//   * InternalException
4224//   The request processing has failed because of an unknown error, exception
4225//   or failure (the failure is internal to the service) . Gives http status code
4226//   of 500.
4227//
4228//   * LimitExceededException
4229//   An exception for trying to create more than allowed resources or sub-resources.
4230//   Gives http status code of 409.
4231//
4232//   * ResourceNotFoundException
4233//   An exception for accessing or deleting a resource that does not exist. Gives
4234//   http status code of 400.
4235//
4236//   * AccessDeniedException
4237//   An error occurred because user does not have permissions to access the resource.
4238//   Returns HTTP status code 403.
4239//
4240//   * ValidationException
4241//   An exception for missing / invalid input fields. Gives http status code of
4242//   400.
4243//
4244func (c *ElasticsearchService) UpdatePackage(input *UpdatePackageInput) (*UpdatePackageOutput, error) {
4245	req, out := c.UpdatePackageRequest(input)
4246	return out, req.Send()
4247}
4248
4249// UpdatePackageWithContext is the same as UpdatePackage with the addition of
4250// the ability to pass a context and additional request options.
4251//
4252// See UpdatePackage for details on how to use this API operation.
4253//
4254// The context must be non-nil and will be used for request cancellation. If
4255// the context is nil a panic will occur. In the future the SDK may create
4256// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4257// for more information on using Contexts.
4258func (c *ElasticsearchService) UpdatePackageWithContext(ctx aws.Context, input *UpdatePackageInput, opts ...request.Option) (*UpdatePackageOutput, error) {
4259	req, out := c.UpdatePackageRequest(input)
4260	req.SetContext(ctx)
4261	req.ApplyOptions(opts...)
4262	return out, req.Send()
4263}
4264
4265const opUpgradeElasticsearchDomain = "UpgradeElasticsearchDomain"
4266
4267// UpgradeElasticsearchDomainRequest generates a "aws/request.Request" representing the
4268// client's request for the UpgradeElasticsearchDomain operation. The "output" return
4269// value will be populated with the request's response once the request completes
4270// successfully.
4271//
4272// Use "Send" method on the returned Request to send the API call to the service.
4273// the "output" return value is not valid until after Send returns without error.
4274//
4275// See UpgradeElasticsearchDomain for more information on using the UpgradeElasticsearchDomain
4276// API call, and error handling.
4277//
4278// This method is useful when you want to inject custom logic or configuration
4279// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4280//
4281//
4282//    // Example sending a request using the UpgradeElasticsearchDomainRequest method.
4283//    req, resp := client.UpgradeElasticsearchDomainRequest(params)
4284//
4285//    err := req.Send()
4286//    if err == nil { // resp is now filled
4287//        fmt.Println(resp)
4288//    }
4289func (c *ElasticsearchService) UpgradeElasticsearchDomainRequest(input *UpgradeElasticsearchDomainInput) (req *request.Request, output *UpgradeElasticsearchDomainOutput) {
4290	op := &request.Operation{
4291		Name:       opUpgradeElasticsearchDomain,
4292		HTTPMethod: "POST",
4293		HTTPPath:   "/2015-01-01/es/upgradeDomain",
4294	}
4295
4296	if input == nil {
4297		input = &UpgradeElasticsearchDomainInput{}
4298	}
4299
4300	output = &UpgradeElasticsearchDomainOutput{}
4301	req = c.newRequest(op, input, output)
4302	return
4303}
4304
4305// UpgradeElasticsearchDomain API operation for Amazon Elasticsearch Service.
4306//
4307// Allows you to either upgrade your domain or perform an Upgrade eligibility
4308// check to a compatible Elasticsearch version.
4309//
4310// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4311// with awserr.Error's Code and Message methods to get detailed information about
4312// the error.
4313//
4314// See the AWS API reference guide for Amazon Elasticsearch Service's
4315// API operation UpgradeElasticsearchDomain for usage and error information.
4316//
4317// Returned Error Types:
4318//   * BaseException
4319//   An error occurred while processing the request.
4320//
4321//   * ResourceNotFoundException
4322//   An exception for accessing or deleting a resource that does not exist. Gives
4323//   http status code of 400.
4324//
4325//   * ResourceAlreadyExistsException
4326//   An exception for creating a resource that already exists. Gives http status
4327//   code of 400.
4328//
4329//   * DisabledOperationException
4330//   An error occured because the client wanted to access a not supported operation.
4331//   Gives http status code of 409.
4332//
4333//   * ValidationException
4334//   An exception for missing / invalid input fields. Gives http status code of
4335//   400.
4336//
4337//   * InternalException
4338//   The request processing has failed because of an unknown error, exception
4339//   or failure (the failure is internal to the service) . Gives http status code
4340//   of 500.
4341//
4342func (c *ElasticsearchService) UpgradeElasticsearchDomain(input *UpgradeElasticsearchDomainInput) (*UpgradeElasticsearchDomainOutput, error) {
4343	req, out := c.UpgradeElasticsearchDomainRequest(input)
4344	return out, req.Send()
4345}
4346
4347// UpgradeElasticsearchDomainWithContext is the same as UpgradeElasticsearchDomain with the addition of
4348// the ability to pass a context and additional request options.
4349//
4350// See UpgradeElasticsearchDomain for details on how to use this API operation.
4351//
4352// The context must be non-nil and will be used for request cancellation. If
4353// the context is nil a panic will occur. In the future the SDK may create
4354// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4355// for more information on using Contexts.
4356func (c *ElasticsearchService) UpgradeElasticsearchDomainWithContext(ctx aws.Context, input *UpgradeElasticsearchDomainInput, opts ...request.Option) (*UpgradeElasticsearchDomainOutput, error) {
4357	req, out := c.UpgradeElasticsearchDomainRequest(input)
4358	req.SetContext(ctx)
4359	req.ApplyOptions(opts...)
4360	return out, req.Send()
4361}
4362
4363// Container for the parameters to the AcceptInboundCrossClusterSearchConnection
4364// operation.
4365type AcceptInboundCrossClusterSearchConnectionInput struct {
4366	_ struct{} `type:"structure" nopayload:"true"`
4367
4368	// The id of the inbound connection that you want to accept.
4369	//
4370	// CrossClusterSearchConnectionId is a required field
4371	CrossClusterSearchConnectionId *string `location:"uri" locationName:"ConnectionId" type:"string" required:"true"`
4372}
4373
4374// String returns the string representation.
4375//
4376// API parameter values that are decorated as "sensitive" in the API will not
4377// be included in the string output. The member name will be present, but the
4378// value will be replaced with "sensitive".
4379func (s AcceptInboundCrossClusterSearchConnectionInput) String() string {
4380	return awsutil.Prettify(s)
4381}
4382
4383// GoString returns the string representation.
4384//
4385// API parameter values that are decorated as "sensitive" in the API will not
4386// be included in the string output. The member name will be present, but the
4387// value will be replaced with "sensitive".
4388func (s AcceptInboundCrossClusterSearchConnectionInput) GoString() string {
4389	return s.String()
4390}
4391
4392// Validate inspects the fields of the type to determine if they are valid.
4393func (s *AcceptInboundCrossClusterSearchConnectionInput) Validate() error {
4394	invalidParams := request.ErrInvalidParams{Context: "AcceptInboundCrossClusterSearchConnectionInput"}
4395	if s.CrossClusterSearchConnectionId == nil {
4396		invalidParams.Add(request.NewErrParamRequired("CrossClusterSearchConnectionId"))
4397	}
4398	if s.CrossClusterSearchConnectionId != nil && len(*s.CrossClusterSearchConnectionId) < 1 {
4399		invalidParams.Add(request.NewErrParamMinLen("CrossClusterSearchConnectionId", 1))
4400	}
4401
4402	if invalidParams.Len() > 0 {
4403		return invalidParams
4404	}
4405	return nil
4406}
4407
4408// SetCrossClusterSearchConnectionId sets the CrossClusterSearchConnectionId field's value.
4409func (s *AcceptInboundCrossClusterSearchConnectionInput) SetCrossClusterSearchConnectionId(v string) *AcceptInboundCrossClusterSearchConnectionInput {
4410	s.CrossClusterSearchConnectionId = &v
4411	return s
4412}
4413
4414// The result of a AcceptInboundCrossClusterSearchConnection operation. Contains
4415// details of accepted inbound connection.
4416type AcceptInboundCrossClusterSearchConnectionOutput struct {
4417	_ struct{} `type:"structure"`
4418
4419	// Specifies the InboundCrossClusterSearchConnection of accepted inbound connection.
4420	CrossClusterSearchConnection *InboundCrossClusterSearchConnection `type:"structure"`
4421}
4422
4423// String returns the string representation.
4424//
4425// API parameter values that are decorated as "sensitive" in the API will not
4426// be included in the string output. The member name will be present, but the
4427// value will be replaced with "sensitive".
4428func (s AcceptInboundCrossClusterSearchConnectionOutput) String() string {
4429	return awsutil.Prettify(s)
4430}
4431
4432// GoString returns the string representation.
4433//
4434// API parameter values that are decorated as "sensitive" in the API will not
4435// be included in the string output. The member name will be present, but the
4436// value will be replaced with "sensitive".
4437func (s AcceptInboundCrossClusterSearchConnectionOutput) GoString() string {
4438	return s.String()
4439}
4440
4441// SetCrossClusterSearchConnection sets the CrossClusterSearchConnection field's value.
4442func (s *AcceptInboundCrossClusterSearchConnectionOutput) SetCrossClusterSearchConnection(v *InboundCrossClusterSearchConnection) *AcceptInboundCrossClusterSearchConnectionOutput {
4443	s.CrossClusterSearchConnection = v
4444	return s
4445}
4446
4447// An error occurred because user does not have permissions to access the resource.
4448// Returns HTTP status code 403.
4449type AccessDeniedException struct {
4450	_            struct{}                  `type:"structure"`
4451	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4452
4453	Message_ *string `locationName:"message" type:"string"`
4454}
4455
4456// String returns the string representation.
4457//
4458// API parameter values that are decorated as "sensitive" in the API will not
4459// be included in the string output. The member name will be present, but the
4460// value will be replaced with "sensitive".
4461func (s AccessDeniedException) String() string {
4462	return awsutil.Prettify(s)
4463}
4464
4465// GoString returns the string representation.
4466//
4467// API parameter values that are decorated as "sensitive" in the API will not
4468// be included in the string output. The member name will be present, but the
4469// value will be replaced with "sensitive".
4470func (s AccessDeniedException) GoString() string {
4471	return s.String()
4472}
4473
4474func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
4475	return &AccessDeniedException{
4476		RespMetadata: v,
4477	}
4478}
4479
4480// Code returns the exception type name.
4481func (s *AccessDeniedException) Code() string {
4482	return "AccessDeniedException"
4483}
4484
4485// Message returns the exception's message.
4486func (s *AccessDeniedException) Message() string {
4487	if s.Message_ != nil {
4488		return *s.Message_
4489	}
4490	return ""
4491}
4492
4493// OrigErr always returns nil, satisfies awserr.Error interface.
4494func (s *AccessDeniedException) OrigErr() error {
4495	return nil
4496}
4497
4498func (s *AccessDeniedException) Error() string {
4499	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4500}
4501
4502// Status code returns the HTTP status code for the request's response error.
4503func (s *AccessDeniedException) StatusCode() int {
4504	return s.RespMetadata.StatusCode
4505}
4506
4507// RequestID returns the service's response RequestID for request.
4508func (s *AccessDeniedException) RequestID() string {
4509	return s.RespMetadata.RequestID
4510}
4511
4512// The configured access rules for the domain's document and search endpoints,
4513// and the current status of those rules.
4514type AccessPoliciesStatus struct {
4515	_ struct{} `type:"structure"`
4516
4517	// The access policy configured for the Elasticsearch domain. Access policies
4518	// may be resource-based, IP-based, or IAM-based. See Configuring Access Policies
4519	// (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomain-configure-access-policies)for
4520	// more information.
4521	//
4522	// Options is a required field
4523	Options *string `type:"string" required:"true"`
4524
4525	// The status of the access policy for the Elasticsearch domain. See OptionStatus
4526	// for the status information that's included.
4527	//
4528	// Status is a required field
4529	Status *OptionStatus `type:"structure" required:"true"`
4530}
4531
4532// String returns the string representation.
4533//
4534// API parameter values that are decorated as "sensitive" in the API will not
4535// be included in the string output. The member name will be present, but the
4536// value will be replaced with "sensitive".
4537func (s AccessPoliciesStatus) String() string {
4538	return awsutil.Prettify(s)
4539}
4540
4541// GoString returns the string representation.
4542//
4543// API parameter values that are decorated as "sensitive" in the API will not
4544// be included in the string output. The member name will be present, but the
4545// value will be replaced with "sensitive".
4546func (s AccessPoliciesStatus) GoString() string {
4547	return s.String()
4548}
4549
4550// SetOptions sets the Options field's value.
4551func (s *AccessPoliciesStatus) SetOptions(v string) *AccessPoliciesStatus {
4552	s.Options = &v
4553	return s
4554}
4555
4556// SetStatus sets the Status field's value.
4557func (s *AccessPoliciesStatus) SetStatus(v *OptionStatus) *AccessPoliciesStatus {
4558	s.Status = v
4559	return s
4560}
4561
4562// Container for the parameters to the AddTags operation. Specify the tags that
4563// you want to attach to the Elasticsearch domain.
4564type AddTagsInput struct {
4565	_ struct{} `type:"structure"`
4566
4567	// Specify the ARN for which you want to add the tags.
4568	//
4569	// ARN is a required field
4570	ARN *string `type:"string" required:"true"`
4571
4572	// List of Tag that need to be added for the Elasticsearch domain.
4573	//
4574	// TagList is a required field
4575	TagList []*Tag `type:"list" required:"true"`
4576}
4577
4578// String returns the string representation.
4579//
4580// API parameter values that are decorated as "sensitive" in the API will not
4581// be included in the string output. The member name will be present, but the
4582// value will be replaced with "sensitive".
4583func (s AddTagsInput) String() string {
4584	return awsutil.Prettify(s)
4585}
4586
4587// GoString returns the string representation.
4588//
4589// API parameter values that are decorated as "sensitive" in the API will not
4590// be included in the string output. The member name will be present, but the
4591// value will be replaced with "sensitive".
4592func (s AddTagsInput) GoString() string {
4593	return s.String()
4594}
4595
4596// Validate inspects the fields of the type to determine if they are valid.
4597func (s *AddTagsInput) Validate() error {
4598	invalidParams := request.ErrInvalidParams{Context: "AddTagsInput"}
4599	if s.ARN == nil {
4600		invalidParams.Add(request.NewErrParamRequired("ARN"))
4601	}
4602	if s.TagList == nil {
4603		invalidParams.Add(request.NewErrParamRequired("TagList"))
4604	}
4605	if s.TagList != nil {
4606		for i, v := range s.TagList {
4607			if v == nil {
4608				continue
4609			}
4610			if err := v.Validate(); err != nil {
4611				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TagList", i), err.(request.ErrInvalidParams))
4612			}
4613		}
4614	}
4615
4616	if invalidParams.Len() > 0 {
4617		return invalidParams
4618	}
4619	return nil
4620}
4621
4622// SetARN sets the ARN field's value.
4623func (s *AddTagsInput) SetARN(v string) *AddTagsInput {
4624	s.ARN = &v
4625	return s
4626}
4627
4628// SetTagList sets the TagList field's value.
4629func (s *AddTagsInput) SetTagList(v []*Tag) *AddTagsInput {
4630	s.TagList = v
4631	return s
4632}
4633
4634type AddTagsOutput struct {
4635	_ struct{} `type:"structure"`
4636}
4637
4638// String returns the string representation.
4639//
4640// API parameter values that are decorated as "sensitive" in the API will not
4641// be included in the string output. The member name will be present, but the
4642// value will be replaced with "sensitive".
4643func (s AddTagsOutput) String() string {
4644	return awsutil.Prettify(s)
4645}
4646
4647// GoString returns the string representation.
4648//
4649// API parameter values that are decorated as "sensitive" in the API will not
4650// be included in the string output. The member name will be present, but the
4651// value will be replaced with "sensitive".
4652func (s AddTagsOutput) GoString() string {
4653	return s.String()
4654}
4655
4656// List of limits that are specific to a given InstanceType and for each of
4657// it's InstanceRole .
4658type AdditionalLimit struct {
4659	_ struct{} `type:"structure"`
4660
4661	// Name of Additional Limit is specific to a given InstanceType and for each
4662	// of it's InstanceRole etc. Attributes and their details:
4663	//    * MaximumNumberOfDataNodesSupported
4664	//
4665	//    * MaximumNumberOfDataNodesWithoutMasterNode
4666	LimitName *string `type:"string"`
4667
4668	// Value for given AdditionalLimit$LimitName .
4669	LimitValues []*string `type:"list"`
4670}
4671
4672// String returns the string representation.
4673//
4674// API parameter values that are decorated as "sensitive" in the API will not
4675// be included in the string output. The member name will be present, but the
4676// value will be replaced with "sensitive".
4677func (s AdditionalLimit) String() string {
4678	return awsutil.Prettify(s)
4679}
4680
4681// GoString returns the string representation.
4682//
4683// API parameter values that are decorated as "sensitive" in the API will not
4684// be included in the string output. The member name will be present, but the
4685// value will be replaced with "sensitive".
4686func (s AdditionalLimit) GoString() string {
4687	return s.String()
4688}
4689
4690// SetLimitName sets the LimitName field's value.
4691func (s *AdditionalLimit) SetLimitName(v string) *AdditionalLimit {
4692	s.LimitName = &v
4693	return s
4694}
4695
4696// SetLimitValues sets the LimitValues field's value.
4697func (s *AdditionalLimit) SetLimitValues(v []*string) *AdditionalLimit {
4698	s.LimitValues = v
4699	return s
4700}
4701
4702// Status of the advanced options for the specified Elasticsearch domain. Currently,
4703// the following advanced options are available:
4704//
4705//    * Option to allow references to indices in an HTTP request body. Must
4706//    be false when configuring access to individual sub-resources. By default,
4707//    the value is true. See Configuration Advanced Options for more information.
4708//
4709//    * Option to specify the percentage of heap space that is allocated to
4710//    field data. By default, this setting is unbounded.
4711//
4712// For more information, see Configuring Advanced Options (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomain-configure-advanced-options).
4713type AdvancedOptionsStatus struct {
4714	_ struct{} `type:"structure"`
4715
4716	// Specifies the status of advanced options for the specified Elasticsearch
4717	// domain.
4718	//
4719	// Options is a required field
4720	Options map[string]*string `type:"map" required:"true"`
4721
4722	// Specifies the status of OptionStatus for advanced options for the specified
4723	// Elasticsearch domain.
4724	//
4725	// Status is a required field
4726	Status *OptionStatus `type:"structure" required:"true"`
4727}
4728
4729// String returns the string representation.
4730//
4731// API parameter values that are decorated as "sensitive" in the API will not
4732// be included in the string output. The member name will be present, but the
4733// value will be replaced with "sensitive".
4734func (s AdvancedOptionsStatus) String() string {
4735	return awsutil.Prettify(s)
4736}
4737
4738// GoString returns the string representation.
4739//
4740// API parameter values that are decorated as "sensitive" in the API will not
4741// be included in the string output. The member name will be present, but the
4742// value will be replaced with "sensitive".
4743func (s AdvancedOptionsStatus) GoString() string {
4744	return s.String()
4745}
4746
4747// SetOptions sets the Options field's value.
4748func (s *AdvancedOptionsStatus) SetOptions(v map[string]*string) *AdvancedOptionsStatus {
4749	s.Options = v
4750	return s
4751}
4752
4753// SetStatus sets the Status field's value.
4754func (s *AdvancedOptionsStatus) SetStatus(v *OptionStatus) *AdvancedOptionsStatus {
4755	s.Status = v
4756	return s
4757}
4758
4759// Specifies the advanced security configuration: whether advanced security
4760// is enabled, whether the internal database option is enabled.
4761type AdvancedSecurityOptions struct {
4762	_ struct{} `type:"structure"`
4763
4764	// True if advanced security is enabled.
4765	Enabled *bool `type:"boolean"`
4766
4767	// True if the internal user database is enabled.
4768	InternalUserDatabaseEnabled *bool `type:"boolean"`
4769
4770	// Describes the SAML application configured for a domain.
4771	SAMLOptions *SAMLOptionsOutput `type:"structure"`
4772}
4773
4774// String returns the string representation.
4775//
4776// API parameter values that are decorated as "sensitive" in the API will not
4777// be included in the string output. The member name will be present, but the
4778// value will be replaced with "sensitive".
4779func (s AdvancedSecurityOptions) String() string {
4780	return awsutil.Prettify(s)
4781}
4782
4783// GoString returns the string representation.
4784//
4785// API parameter values that are decorated as "sensitive" in the API will not
4786// be included in the string output. The member name will be present, but the
4787// value will be replaced with "sensitive".
4788func (s AdvancedSecurityOptions) GoString() string {
4789	return s.String()
4790}
4791
4792// SetEnabled sets the Enabled field's value.
4793func (s *AdvancedSecurityOptions) SetEnabled(v bool) *AdvancedSecurityOptions {
4794	s.Enabled = &v
4795	return s
4796}
4797
4798// SetInternalUserDatabaseEnabled sets the InternalUserDatabaseEnabled field's value.
4799func (s *AdvancedSecurityOptions) SetInternalUserDatabaseEnabled(v bool) *AdvancedSecurityOptions {
4800	s.InternalUserDatabaseEnabled = &v
4801	return s
4802}
4803
4804// SetSAMLOptions sets the SAMLOptions field's value.
4805func (s *AdvancedSecurityOptions) SetSAMLOptions(v *SAMLOptionsOutput) *AdvancedSecurityOptions {
4806	s.SAMLOptions = v
4807	return s
4808}
4809
4810// Specifies the advanced security configuration: whether advanced security
4811// is enabled, whether the internal database option is enabled, master username
4812// and password (if internal database is enabled), and master user ARN (if IAM
4813// is enabled).
4814type AdvancedSecurityOptionsInput struct {
4815	_ struct{} `type:"structure"`
4816
4817	// True if advanced security is enabled.
4818	Enabled *bool `type:"boolean"`
4819
4820	// True if the internal user database is enabled.
4821	InternalUserDatabaseEnabled *bool `type:"boolean"`
4822
4823	// Credentials for the master user: username and password, ARN, or both.
4824	MasterUserOptions *MasterUserOptions `type:"structure"`
4825
4826	// Specifies the SAML application configuration for the domain.
4827	SAMLOptions *SAMLOptionsInput `type:"structure"`
4828}
4829
4830// String returns the string representation.
4831//
4832// API parameter values that are decorated as "sensitive" in the API will not
4833// be included in the string output. The member name will be present, but the
4834// value will be replaced with "sensitive".
4835func (s AdvancedSecurityOptionsInput) String() string {
4836	return awsutil.Prettify(s)
4837}
4838
4839// GoString returns the string representation.
4840//
4841// API parameter values that are decorated as "sensitive" in the API will not
4842// be included in the string output. The member name will be present, but the
4843// value will be replaced with "sensitive".
4844func (s AdvancedSecurityOptionsInput) GoString() string {
4845	return s.String()
4846}
4847
4848// Validate inspects the fields of the type to determine if they are valid.
4849func (s *AdvancedSecurityOptionsInput) Validate() error {
4850	invalidParams := request.ErrInvalidParams{Context: "AdvancedSecurityOptionsInput"}
4851	if s.MasterUserOptions != nil {
4852		if err := s.MasterUserOptions.Validate(); err != nil {
4853			invalidParams.AddNested("MasterUserOptions", err.(request.ErrInvalidParams))
4854		}
4855	}
4856	if s.SAMLOptions != nil {
4857		if err := s.SAMLOptions.Validate(); err != nil {
4858			invalidParams.AddNested("SAMLOptions", err.(request.ErrInvalidParams))
4859		}
4860	}
4861
4862	if invalidParams.Len() > 0 {
4863		return invalidParams
4864	}
4865	return nil
4866}
4867
4868// SetEnabled sets the Enabled field's value.
4869func (s *AdvancedSecurityOptionsInput) SetEnabled(v bool) *AdvancedSecurityOptionsInput {
4870	s.Enabled = &v
4871	return s
4872}
4873
4874// SetInternalUserDatabaseEnabled sets the InternalUserDatabaseEnabled field's value.
4875func (s *AdvancedSecurityOptionsInput) SetInternalUserDatabaseEnabled(v bool) *AdvancedSecurityOptionsInput {
4876	s.InternalUserDatabaseEnabled = &v
4877	return s
4878}
4879
4880// SetMasterUserOptions sets the MasterUserOptions field's value.
4881func (s *AdvancedSecurityOptionsInput) SetMasterUserOptions(v *MasterUserOptions) *AdvancedSecurityOptionsInput {
4882	s.MasterUserOptions = v
4883	return s
4884}
4885
4886// SetSAMLOptions sets the SAMLOptions field's value.
4887func (s *AdvancedSecurityOptionsInput) SetSAMLOptions(v *SAMLOptionsInput) *AdvancedSecurityOptionsInput {
4888	s.SAMLOptions = v
4889	return s
4890}
4891
4892// Specifies the status of advanced security options for the specified Elasticsearch
4893// domain.
4894type AdvancedSecurityOptionsStatus struct {
4895	_ struct{} `type:"structure"`
4896
4897	// Specifies advanced security options for the specified Elasticsearch domain.
4898	//
4899	// Options is a required field
4900	Options *AdvancedSecurityOptions `type:"structure" required:"true"`
4901
4902	// Status of the advanced security options for the specified Elasticsearch domain.
4903	//
4904	// Status is a required field
4905	Status *OptionStatus `type:"structure" required:"true"`
4906}
4907
4908// String returns the string representation.
4909//
4910// API parameter values that are decorated as "sensitive" in the API will not
4911// be included in the string output. The member name will be present, but the
4912// value will be replaced with "sensitive".
4913func (s AdvancedSecurityOptionsStatus) String() string {
4914	return awsutil.Prettify(s)
4915}
4916
4917// GoString returns the string representation.
4918//
4919// API parameter values that are decorated as "sensitive" in the API will not
4920// be included in the string output. The member name will be present, but the
4921// value will be replaced with "sensitive".
4922func (s AdvancedSecurityOptionsStatus) GoString() string {
4923	return s.String()
4924}
4925
4926// SetOptions sets the Options field's value.
4927func (s *AdvancedSecurityOptionsStatus) SetOptions(v *AdvancedSecurityOptions) *AdvancedSecurityOptionsStatus {
4928	s.Options = v
4929	return s
4930}
4931
4932// SetStatus sets the Status field's value.
4933func (s *AdvancedSecurityOptionsStatus) SetStatus(v *OptionStatus) *AdvancedSecurityOptionsStatus {
4934	s.Status = v
4935	return s
4936}
4937
4938// Container for request parameters to AssociatePackage operation.
4939type AssociatePackageInput struct {
4940	_ struct{} `type:"structure" nopayload:"true"`
4941
4942	// Name of the domain that you want to associate the package with.
4943	//
4944	// DomainName is a required field
4945	DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"`
4946
4947	// Internal ID of the package that you want to associate with a domain. Use
4948	// DescribePackages to find this value.
4949	//
4950	// PackageID is a required field
4951	PackageID *string `location:"uri" locationName:"PackageID" type:"string" required:"true"`
4952}
4953
4954// String returns the string representation.
4955//
4956// API parameter values that are decorated as "sensitive" in the API will not
4957// be included in the string output. The member name will be present, but the
4958// value will be replaced with "sensitive".
4959func (s AssociatePackageInput) String() string {
4960	return awsutil.Prettify(s)
4961}
4962
4963// GoString returns the string representation.
4964//
4965// API parameter values that are decorated as "sensitive" in the API will not
4966// be included in the string output. The member name will be present, but the
4967// value will be replaced with "sensitive".
4968func (s AssociatePackageInput) GoString() string {
4969	return s.String()
4970}
4971
4972// Validate inspects the fields of the type to determine if they are valid.
4973func (s *AssociatePackageInput) Validate() error {
4974	invalidParams := request.ErrInvalidParams{Context: "AssociatePackageInput"}
4975	if s.DomainName == nil {
4976		invalidParams.Add(request.NewErrParamRequired("DomainName"))
4977	}
4978	if s.DomainName != nil && len(*s.DomainName) < 3 {
4979		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
4980	}
4981	if s.PackageID == nil {
4982		invalidParams.Add(request.NewErrParamRequired("PackageID"))
4983	}
4984	if s.PackageID != nil && len(*s.PackageID) < 1 {
4985		invalidParams.Add(request.NewErrParamMinLen("PackageID", 1))
4986	}
4987
4988	if invalidParams.Len() > 0 {
4989		return invalidParams
4990	}
4991	return nil
4992}
4993
4994// SetDomainName sets the DomainName field's value.
4995func (s *AssociatePackageInput) SetDomainName(v string) *AssociatePackageInput {
4996	s.DomainName = &v
4997	return s
4998}
4999
5000// SetPackageID sets the PackageID field's value.
5001func (s *AssociatePackageInput) SetPackageID(v string) *AssociatePackageInput {
5002	s.PackageID = &v
5003	return s
5004}
5005
5006// Container for response returned by AssociatePackage operation.
5007type AssociatePackageOutput struct {
5008	_ struct{} `type:"structure"`
5009
5010	// DomainPackageDetails
5011	DomainPackageDetails *DomainPackageDetails `type:"structure"`
5012}
5013
5014// String returns the string representation.
5015//
5016// API parameter values that are decorated as "sensitive" in the API will not
5017// be included in the string output. The member name will be present, but the
5018// value will be replaced with "sensitive".
5019func (s AssociatePackageOutput) String() string {
5020	return awsutil.Prettify(s)
5021}
5022
5023// GoString returns the string representation.
5024//
5025// API parameter values that are decorated as "sensitive" in the API will not
5026// be included in the string output. The member name will be present, but the
5027// value will be replaced with "sensitive".
5028func (s AssociatePackageOutput) GoString() string {
5029	return s.String()
5030}
5031
5032// SetDomainPackageDetails sets the DomainPackageDetails field's value.
5033func (s *AssociatePackageOutput) SetDomainPackageDetails(v *DomainPackageDetails) *AssociatePackageOutput {
5034	s.DomainPackageDetails = v
5035	return s
5036}
5037
5038// Specifies Auto-Tune type and Auto-Tune action details.
5039type AutoTune struct {
5040	_ struct{} `type:"structure"`
5041
5042	// Specifies details of the Auto-Tune action. See the Developer Guide (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/auto-tune.html)
5043	// for more information.
5044	AutoTuneDetails *AutoTuneDetails `type:"structure"`
5045
5046	// Specifies Auto-Tune type. Valid value is SCHEDULED_ACTION.
5047	AutoTuneType *string `type:"string" enum:"AutoTuneType"`
5048}
5049
5050// String returns the string representation.
5051//
5052// API parameter values that are decorated as "sensitive" in the API will not
5053// be included in the string output. The member name will be present, but the
5054// value will be replaced with "sensitive".
5055func (s AutoTune) String() string {
5056	return awsutil.Prettify(s)
5057}
5058
5059// GoString returns the string representation.
5060//
5061// API parameter values that are decorated as "sensitive" in the API will not
5062// be included in the string output. The member name will be present, but the
5063// value will be replaced with "sensitive".
5064func (s AutoTune) GoString() string {
5065	return s.String()
5066}
5067
5068// SetAutoTuneDetails sets the AutoTuneDetails field's value.
5069func (s *AutoTune) SetAutoTuneDetails(v *AutoTuneDetails) *AutoTune {
5070	s.AutoTuneDetails = v
5071	return s
5072}
5073
5074// SetAutoTuneType sets the AutoTuneType field's value.
5075func (s *AutoTune) SetAutoTuneType(v string) *AutoTune {
5076	s.AutoTuneType = &v
5077	return s
5078}
5079
5080// Specifies details of the Auto-Tune action. See the Developer Guide (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/auto-tune.html)
5081// for more information.
5082type AutoTuneDetails struct {
5083	_ struct{} `type:"structure"`
5084
5085	// Specifies details of the scheduled Auto-Tune action. See the Developer Guide
5086	// (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/auto-tune.html)
5087	// for more information.
5088	ScheduledAutoTuneDetails *ScheduledAutoTuneDetails `type:"structure"`
5089}
5090
5091// String returns the string representation.
5092//
5093// API parameter values that are decorated as "sensitive" in the API will not
5094// be included in the string output. The member name will be present, but the
5095// value will be replaced with "sensitive".
5096func (s AutoTuneDetails) String() string {
5097	return awsutil.Prettify(s)
5098}
5099
5100// GoString returns the string representation.
5101//
5102// API parameter values that are decorated as "sensitive" in the API will not
5103// be included in the string output. The member name will be present, but the
5104// value will be replaced with "sensitive".
5105func (s AutoTuneDetails) GoString() string {
5106	return s.String()
5107}
5108
5109// SetScheduledAutoTuneDetails sets the ScheduledAutoTuneDetails field's value.
5110func (s *AutoTuneDetails) SetScheduledAutoTuneDetails(v *ScheduledAutoTuneDetails) *AutoTuneDetails {
5111	s.ScheduledAutoTuneDetails = v
5112	return s
5113}
5114
5115// Specifies Auto-Tune maitenance schedule. See the Developer Guide (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/auto-tune.html)
5116// for more information.
5117type AutoTuneMaintenanceSchedule struct {
5118	_ struct{} `type:"structure"`
5119
5120	// Specifies cron expression for a recurring maintenance schedule. See the Developer
5121	// Guide (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/auto-tune.html)
5122	// for more information.
5123	CronExpressionForRecurrence *string `type:"string"`
5124
5125	// Specifies maintenance schedule duration: duration value and duration unit.
5126	// See the Developer Guide (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/auto-tune.html)
5127	// for more information.
5128	Duration *Duration `type:"structure"`
5129
5130	// Specifies timestamp at which Auto-Tune maintenance schedule start.
5131	StartAt *time.Time `type:"timestamp"`
5132}
5133
5134// String returns the string representation.
5135//
5136// API parameter values that are decorated as "sensitive" in the API will not
5137// be included in the string output. The member name will be present, but the
5138// value will be replaced with "sensitive".
5139func (s AutoTuneMaintenanceSchedule) String() string {
5140	return awsutil.Prettify(s)
5141}
5142
5143// GoString returns the string representation.
5144//
5145// API parameter values that are decorated as "sensitive" in the API will not
5146// be included in the string output. The member name will be present, but the
5147// value will be replaced with "sensitive".
5148func (s AutoTuneMaintenanceSchedule) GoString() string {
5149	return s.String()
5150}
5151
5152// Validate inspects the fields of the type to determine if they are valid.
5153func (s *AutoTuneMaintenanceSchedule) Validate() error {
5154	invalidParams := request.ErrInvalidParams{Context: "AutoTuneMaintenanceSchedule"}
5155	if s.Duration != nil {
5156		if err := s.Duration.Validate(); err != nil {
5157			invalidParams.AddNested("Duration", err.(request.ErrInvalidParams))
5158		}
5159	}
5160
5161	if invalidParams.Len() > 0 {
5162		return invalidParams
5163	}
5164	return nil
5165}
5166
5167// SetCronExpressionForRecurrence sets the CronExpressionForRecurrence field's value.
5168func (s *AutoTuneMaintenanceSchedule) SetCronExpressionForRecurrence(v string) *AutoTuneMaintenanceSchedule {
5169	s.CronExpressionForRecurrence = &v
5170	return s
5171}
5172
5173// SetDuration sets the Duration field's value.
5174func (s *AutoTuneMaintenanceSchedule) SetDuration(v *Duration) *AutoTuneMaintenanceSchedule {
5175	s.Duration = v
5176	return s
5177}
5178
5179// SetStartAt sets the StartAt field's value.
5180func (s *AutoTuneMaintenanceSchedule) SetStartAt(v time.Time) *AutoTuneMaintenanceSchedule {
5181	s.StartAt = &v
5182	return s
5183}
5184
5185// Specifies the Auto-Tune options: the Auto-Tune desired state for the domain,
5186// rollback state when disabling Auto-Tune options and list of maintenance schedules.
5187type AutoTuneOptions struct {
5188	_ struct{} `type:"structure"`
5189
5190	// Specifies the Auto-Tune desired state. Valid values are ENABLED, DISABLED.
5191	DesiredState *string `type:"string" enum:"AutoTuneDesiredState"`
5192
5193	// Specifies list of maitenance schedules. See the Developer Guide (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/auto-tune.html)
5194	// for more information.
5195	MaintenanceSchedules []*AutoTuneMaintenanceSchedule `type:"list"`
5196
5197	// Specifies the rollback state while disabling Auto-Tune for the domain. Valid
5198	// values are NO_ROLLBACK, DEFAULT_ROLLBACK.
5199	RollbackOnDisable *string `type:"string" enum:"RollbackOnDisable"`
5200}
5201
5202// String returns the string representation.
5203//
5204// API parameter values that are decorated as "sensitive" in the API will not
5205// be included in the string output. The member name will be present, but the
5206// value will be replaced with "sensitive".
5207func (s AutoTuneOptions) String() string {
5208	return awsutil.Prettify(s)
5209}
5210
5211// GoString returns the string representation.
5212//
5213// API parameter values that are decorated as "sensitive" in the API will not
5214// be included in the string output. The member name will be present, but the
5215// value will be replaced with "sensitive".
5216func (s AutoTuneOptions) GoString() string {
5217	return s.String()
5218}
5219
5220// Validate inspects the fields of the type to determine if they are valid.
5221func (s *AutoTuneOptions) Validate() error {
5222	invalidParams := request.ErrInvalidParams{Context: "AutoTuneOptions"}
5223	if s.MaintenanceSchedules != nil {
5224		for i, v := range s.MaintenanceSchedules {
5225			if v == nil {
5226				continue
5227			}
5228			if err := v.Validate(); err != nil {
5229				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MaintenanceSchedules", i), err.(request.ErrInvalidParams))
5230			}
5231		}
5232	}
5233
5234	if invalidParams.Len() > 0 {
5235		return invalidParams
5236	}
5237	return nil
5238}
5239
5240// SetDesiredState sets the DesiredState field's value.
5241func (s *AutoTuneOptions) SetDesiredState(v string) *AutoTuneOptions {
5242	s.DesiredState = &v
5243	return s
5244}
5245
5246// SetMaintenanceSchedules sets the MaintenanceSchedules field's value.
5247func (s *AutoTuneOptions) SetMaintenanceSchedules(v []*AutoTuneMaintenanceSchedule) *AutoTuneOptions {
5248	s.MaintenanceSchedules = v
5249	return s
5250}
5251
5252// SetRollbackOnDisable sets the RollbackOnDisable field's value.
5253func (s *AutoTuneOptions) SetRollbackOnDisable(v string) *AutoTuneOptions {
5254	s.RollbackOnDisable = &v
5255	return s
5256}
5257
5258// Specifies the Auto-Tune options: the Auto-Tune desired state for the domain
5259// and list of maintenance schedules.
5260type AutoTuneOptionsInput struct {
5261	_ struct{} `type:"structure"`
5262
5263	// Specifies the Auto-Tune desired state. Valid values are ENABLED, DISABLED.
5264	DesiredState *string `type:"string" enum:"AutoTuneDesiredState"`
5265
5266	// Specifies list of maitenance schedules. See the Developer Guide (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/auto-tune.html)
5267	// for more information.
5268	MaintenanceSchedules []*AutoTuneMaintenanceSchedule `type:"list"`
5269}
5270
5271// String returns the string representation.
5272//
5273// API parameter values that are decorated as "sensitive" in the API will not
5274// be included in the string output. The member name will be present, but the
5275// value will be replaced with "sensitive".
5276func (s AutoTuneOptionsInput) String() string {
5277	return awsutil.Prettify(s)
5278}
5279
5280// GoString returns the string representation.
5281//
5282// API parameter values that are decorated as "sensitive" in the API will not
5283// be included in the string output. The member name will be present, but the
5284// value will be replaced with "sensitive".
5285func (s AutoTuneOptionsInput) GoString() string {
5286	return s.String()
5287}
5288
5289// Validate inspects the fields of the type to determine if they are valid.
5290func (s *AutoTuneOptionsInput) Validate() error {
5291	invalidParams := request.ErrInvalidParams{Context: "AutoTuneOptionsInput"}
5292	if s.MaintenanceSchedules != nil {
5293		for i, v := range s.MaintenanceSchedules {
5294			if v == nil {
5295				continue
5296			}
5297			if err := v.Validate(); err != nil {
5298				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MaintenanceSchedules", i), err.(request.ErrInvalidParams))
5299			}
5300		}
5301	}
5302
5303	if invalidParams.Len() > 0 {
5304		return invalidParams
5305	}
5306	return nil
5307}
5308
5309// SetDesiredState sets the DesiredState field's value.
5310func (s *AutoTuneOptionsInput) SetDesiredState(v string) *AutoTuneOptionsInput {
5311	s.DesiredState = &v
5312	return s
5313}
5314
5315// SetMaintenanceSchedules sets the MaintenanceSchedules field's value.
5316func (s *AutoTuneOptionsInput) SetMaintenanceSchedules(v []*AutoTuneMaintenanceSchedule) *AutoTuneOptionsInput {
5317	s.MaintenanceSchedules = v
5318	return s
5319}
5320
5321// Specifies the Auto-Tune options: the Auto-Tune desired state for the domain
5322// and list of maintenance schedules.
5323type AutoTuneOptionsOutput struct {
5324	_ struct{} `type:"structure"`
5325
5326	// Specifies the error message while enabling or disabling the Auto-Tune.
5327	ErrorMessage *string `type:"string"`
5328
5329	// Specifies the AutoTuneState for the Elasticsearch domain.
5330	State *string `type:"string" enum:"AutoTuneState"`
5331}
5332
5333// String returns the string representation.
5334//
5335// API parameter values that are decorated as "sensitive" in the API will not
5336// be included in the string output. The member name will be present, but the
5337// value will be replaced with "sensitive".
5338func (s AutoTuneOptionsOutput) String() string {
5339	return awsutil.Prettify(s)
5340}
5341
5342// GoString returns the string representation.
5343//
5344// API parameter values that are decorated as "sensitive" in the API will not
5345// be included in the string output. The member name will be present, but the
5346// value will be replaced with "sensitive".
5347func (s AutoTuneOptionsOutput) GoString() string {
5348	return s.String()
5349}
5350
5351// SetErrorMessage sets the ErrorMessage field's value.
5352func (s *AutoTuneOptionsOutput) SetErrorMessage(v string) *AutoTuneOptionsOutput {
5353	s.ErrorMessage = &v
5354	return s
5355}
5356
5357// SetState sets the State field's value.
5358func (s *AutoTuneOptionsOutput) SetState(v string) *AutoTuneOptionsOutput {
5359	s.State = &v
5360	return s
5361}
5362
5363// Specifies the status of Auto-Tune options for the specified Elasticsearch
5364// domain.
5365type AutoTuneOptionsStatus struct {
5366	_ struct{} `type:"structure"`
5367
5368	// Specifies Auto-Tune options for the specified Elasticsearch domain.
5369	Options *AutoTuneOptions `type:"structure"`
5370
5371	// Specifies Status of the Auto-Tune options for the specified Elasticsearch
5372	// domain.
5373	Status *AutoTuneStatus `type:"structure"`
5374}
5375
5376// String returns the string representation.
5377//
5378// API parameter values that are decorated as "sensitive" in the API will not
5379// be included in the string output. The member name will be present, but the
5380// value will be replaced with "sensitive".
5381func (s AutoTuneOptionsStatus) String() string {
5382	return awsutil.Prettify(s)
5383}
5384
5385// GoString returns the string representation.
5386//
5387// API parameter values that are decorated as "sensitive" in the API will not
5388// be included in the string output. The member name will be present, but the
5389// value will be replaced with "sensitive".
5390func (s AutoTuneOptionsStatus) GoString() string {
5391	return s.String()
5392}
5393
5394// SetOptions sets the Options field's value.
5395func (s *AutoTuneOptionsStatus) SetOptions(v *AutoTuneOptions) *AutoTuneOptionsStatus {
5396	s.Options = v
5397	return s
5398}
5399
5400// SetStatus sets the Status field's value.
5401func (s *AutoTuneOptionsStatus) SetStatus(v *AutoTuneStatus) *AutoTuneOptionsStatus {
5402	s.Status = v
5403	return s
5404}
5405
5406// Provides the current status of the Auto-Tune options.
5407type AutoTuneStatus struct {
5408	_ struct{} `type:"structure"`
5409
5410	// Timestamp which tells Auto-Tune options creation date .
5411	//
5412	// CreationDate is a required field
5413	CreationDate *time.Time `type:"timestamp" required:"true"`
5414
5415	// Specifies the error message while enabling or disabling the Auto-Tune options.
5416	ErrorMessage *string `type:"string"`
5417
5418	// Indicates whether the Elasticsearch domain is being deleted.
5419	PendingDeletion *bool `type:"boolean"`
5420
5421	// Specifies the AutoTuneState for the Elasticsearch domain.
5422	//
5423	// State is a required field
5424	State *string `type:"string" required:"true" enum:"AutoTuneState"`
5425
5426	// Timestamp which tells Auto-Tune options last updated time.
5427	//
5428	// UpdateDate is a required field
5429	UpdateDate *time.Time `type:"timestamp" required:"true"`
5430
5431	// Specifies the Auto-Tune options latest version.
5432	UpdateVersion *int64 `type:"integer"`
5433}
5434
5435// String returns the string representation.
5436//
5437// API parameter values that are decorated as "sensitive" in the API will not
5438// be included in the string output. The member name will be present, but the
5439// value will be replaced with "sensitive".
5440func (s AutoTuneStatus) String() string {
5441	return awsutil.Prettify(s)
5442}
5443
5444// GoString returns the string representation.
5445//
5446// API parameter values that are decorated as "sensitive" in the API will not
5447// be included in the string output. The member name will be present, but the
5448// value will be replaced with "sensitive".
5449func (s AutoTuneStatus) GoString() string {
5450	return s.String()
5451}
5452
5453// SetCreationDate sets the CreationDate field's value.
5454func (s *AutoTuneStatus) SetCreationDate(v time.Time) *AutoTuneStatus {
5455	s.CreationDate = &v
5456	return s
5457}
5458
5459// SetErrorMessage sets the ErrorMessage field's value.
5460func (s *AutoTuneStatus) SetErrorMessage(v string) *AutoTuneStatus {
5461	s.ErrorMessage = &v
5462	return s
5463}
5464
5465// SetPendingDeletion sets the PendingDeletion field's value.
5466func (s *AutoTuneStatus) SetPendingDeletion(v bool) *AutoTuneStatus {
5467	s.PendingDeletion = &v
5468	return s
5469}
5470
5471// SetState sets the State field's value.
5472func (s *AutoTuneStatus) SetState(v string) *AutoTuneStatus {
5473	s.State = &v
5474	return s
5475}
5476
5477// SetUpdateDate sets the UpdateDate field's value.
5478func (s *AutoTuneStatus) SetUpdateDate(v time.Time) *AutoTuneStatus {
5479	s.UpdateDate = &v
5480	return s
5481}
5482
5483// SetUpdateVersion sets the UpdateVersion field's value.
5484func (s *AutoTuneStatus) SetUpdateVersion(v int64) *AutoTuneStatus {
5485	s.UpdateVersion = &v
5486	return s
5487}
5488
5489// An error occurred while processing the request.
5490type BaseException struct {
5491	_            struct{}                  `type:"structure"`
5492	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5493
5494	// A description of the error.
5495	Message_ *string `locationName:"message" type:"string"`
5496}
5497
5498// String returns the string representation.
5499//
5500// API parameter values that are decorated as "sensitive" in the API will not
5501// be included in the string output. The member name will be present, but the
5502// value will be replaced with "sensitive".
5503func (s BaseException) String() string {
5504	return awsutil.Prettify(s)
5505}
5506
5507// GoString returns the string representation.
5508//
5509// API parameter values that are decorated as "sensitive" in the API will not
5510// be included in the string output. The member name will be present, but the
5511// value will be replaced with "sensitive".
5512func (s BaseException) GoString() string {
5513	return s.String()
5514}
5515
5516func newErrorBaseException(v protocol.ResponseMetadata) error {
5517	return &BaseException{
5518		RespMetadata: v,
5519	}
5520}
5521
5522// Code returns the exception type name.
5523func (s *BaseException) Code() string {
5524	return "BaseException"
5525}
5526
5527// Message returns the exception's message.
5528func (s *BaseException) Message() string {
5529	if s.Message_ != nil {
5530		return *s.Message_
5531	}
5532	return ""
5533}
5534
5535// OrigErr always returns nil, satisfies awserr.Error interface.
5536func (s *BaseException) OrigErr() error {
5537	return nil
5538}
5539
5540func (s *BaseException) Error() string {
5541	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5542}
5543
5544// Status code returns the HTTP status code for the request's response error.
5545func (s *BaseException) StatusCode() int {
5546	return s.RespMetadata.StatusCode
5547}
5548
5549// RequestID returns the service's response RequestID for request.
5550func (s *BaseException) RequestID() string {
5551	return s.RespMetadata.RequestID
5552}
5553
5554// Container for the parameters to the CancelElasticsearchServiceSoftwareUpdate
5555// operation. Specifies the name of the Elasticsearch domain that you wish to
5556// cancel a service software update on.
5557type CancelElasticsearchServiceSoftwareUpdateInput struct {
5558	_ struct{} `type:"structure"`
5559
5560	// The name of the domain that you want to stop the latest service software
5561	// update on.
5562	//
5563	// DomainName is a required field
5564	DomainName *string `min:"3" type:"string" required:"true"`
5565}
5566
5567// String returns the string representation.
5568//
5569// API parameter values that are decorated as "sensitive" in the API will not
5570// be included in the string output. The member name will be present, but the
5571// value will be replaced with "sensitive".
5572func (s CancelElasticsearchServiceSoftwareUpdateInput) String() string {
5573	return awsutil.Prettify(s)
5574}
5575
5576// GoString returns the string representation.
5577//
5578// API parameter values that are decorated as "sensitive" in the API will not
5579// be included in the string output. The member name will be present, but the
5580// value will be replaced with "sensitive".
5581func (s CancelElasticsearchServiceSoftwareUpdateInput) GoString() string {
5582	return s.String()
5583}
5584
5585// Validate inspects the fields of the type to determine if they are valid.
5586func (s *CancelElasticsearchServiceSoftwareUpdateInput) Validate() error {
5587	invalidParams := request.ErrInvalidParams{Context: "CancelElasticsearchServiceSoftwareUpdateInput"}
5588	if s.DomainName == nil {
5589		invalidParams.Add(request.NewErrParamRequired("DomainName"))
5590	}
5591	if s.DomainName != nil && len(*s.DomainName) < 3 {
5592		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
5593	}
5594
5595	if invalidParams.Len() > 0 {
5596		return invalidParams
5597	}
5598	return nil
5599}
5600
5601// SetDomainName sets the DomainName field's value.
5602func (s *CancelElasticsearchServiceSoftwareUpdateInput) SetDomainName(v string) *CancelElasticsearchServiceSoftwareUpdateInput {
5603	s.DomainName = &v
5604	return s
5605}
5606
5607// The result of a CancelElasticsearchServiceSoftwareUpdate operation. Contains
5608// the status of the update.
5609type CancelElasticsearchServiceSoftwareUpdateOutput struct {
5610	_ struct{} `type:"structure"`
5611
5612	// The current status of the Elasticsearch service software update.
5613	ServiceSoftwareOptions *ServiceSoftwareOptions `type:"structure"`
5614}
5615
5616// String returns the string representation.
5617//
5618// API parameter values that are decorated as "sensitive" in the API will not
5619// be included in the string output. The member name will be present, but the
5620// value will be replaced with "sensitive".
5621func (s CancelElasticsearchServiceSoftwareUpdateOutput) String() string {
5622	return awsutil.Prettify(s)
5623}
5624
5625// GoString returns the string representation.
5626//
5627// API parameter values that are decorated as "sensitive" in the API will not
5628// be included in the string output. The member name will be present, but the
5629// value will be replaced with "sensitive".
5630func (s CancelElasticsearchServiceSoftwareUpdateOutput) GoString() string {
5631	return s.String()
5632}
5633
5634// SetServiceSoftwareOptions sets the ServiceSoftwareOptions field's value.
5635func (s *CancelElasticsearchServiceSoftwareUpdateOutput) SetServiceSoftwareOptions(v *ServiceSoftwareOptions) *CancelElasticsearchServiceSoftwareUpdateOutput {
5636	s.ServiceSoftwareOptions = v
5637	return s
5638}
5639
5640// Options to specify the Cognito user and identity pools for Kibana authentication.
5641// For more information, see Amazon Cognito Authentication for Kibana (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-cognito-auth.html).
5642type CognitoOptions struct {
5643	_ struct{} `type:"structure"`
5644
5645	// Specifies the option to enable Cognito for Kibana authentication.
5646	Enabled *bool `type:"boolean"`
5647
5648	// Specifies the Cognito identity pool ID for Kibana authentication.
5649	IdentityPoolId *string `min:"1" type:"string"`
5650
5651	// Specifies the role ARN that provides Elasticsearch permissions for accessing
5652	// Cognito resources.
5653	RoleArn *string `min:"20" type:"string"`
5654
5655	// Specifies the Cognito user pool ID for Kibana authentication.
5656	UserPoolId *string `min:"1" type:"string"`
5657}
5658
5659// String returns the string representation.
5660//
5661// API parameter values that are decorated as "sensitive" in the API will not
5662// be included in the string output. The member name will be present, but the
5663// value will be replaced with "sensitive".
5664func (s CognitoOptions) String() string {
5665	return awsutil.Prettify(s)
5666}
5667
5668// GoString returns the string representation.
5669//
5670// API parameter values that are decorated as "sensitive" in the API will not
5671// be included in the string output. The member name will be present, but the
5672// value will be replaced with "sensitive".
5673func (s CognitoOptions) GoString() string {
5674	return s.String()
5675}
5676
5677// Validate inspects the fields of the type to determine if they are valid.
5678func (s *CognitoOptions) Validate() error {
5679	invalidParams := request.ErrInvalidParams{Context: "CognitoOptions"}
5680	if s.IdentityPoolId != nil && len(*s.IdentityPoolId) < 1 {
5681		invalidParams.Add(request.NewErrParamMinLen("IdentityPoolId", 1))
5682	}
5683	if s.RoleArn != nil && len(*s.RoleArn) < 20 {
5684		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20))
5685	}
5686	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
5687		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
5688	}
5689
5690	if invalidParams.Len() > 0 {
5691		return invalidParams
5692	}
5693	return nil
5694}
5695
5696// SetEnabled sets the Enabled field's value.
5697func (s *CognitoOptions) SetEnabled(v bool) *CognitoOptions {
5698	s.Enabled = &v
5699	return s
5700}
5701
5702// SetIdentityPoolId sets the IdentityPoolId field's value.
5703func (s *CognitoOptions) SetIdentityPoolId(v string) *CognitoOptions {
5704	s.IdentityPoolId = &v
5705	return s
5706}
5707
5708// SetRoleArn sets the RoleArn field's value.
5709func (s *CognitoOptions) SetRoleArn(v string) *CognitoOptions {
5710	s.RoleArn = &v
5711	return s
5712}
5713
5714// SetUserPoolId sets the UserPoolId field's value.
5715func (s *CognitoOptions) SetUserPoolId(v string) *CognitoOptions {
5716	s.UserPoolId = &v
5717	return s
5718}
5719
5720// Status of the Cognito options for the specified Elasticsearch domain.
5721type CognitoOptionsStatus struct {
5722	_ struct{} `type:"structure"`
5723
5724	// Specifies the Cognito options for the specified Elasticsearch domain.
5725	//
5726	// Options is a required field
5727	Options *CognitoOptions `type:"structure" required:"true"`
5728
5729	// Specifies the status of the Cognito options for the specified Elasticsearch
5730	// domain.
5731	//
5732	// Status is a required field
5733	Status *OptionStatus `type:"structure" required:"true"`
5734}
5735
5736// String returns the string representation.
5737//
5738// API parameter values that are decorated as "sensitive" in the API will not
5739// be included in the string output. The member name will be present, but the
5740// value will be replaced with "sensitive".
5741func (s CognitoOptionsStatus) String() string {
5742	return awsutil.Prettify(s)
5743}
5744
5745// GoString returns the string representation.
5746//
5747// API parameter values that are decorated as "sensitive" in the API will not
5748// be included in the string output. The member name will be present, but the
5749// value will be replaced with "sensitive".
5750func (s CognitoOptionsStatus) GoString() string {
5751	return s.String()
5752}
5753
5754// SetOptions sets the Options field's value.
5755func (s *CognitoOptionsStatus) SetOptions(v *CognitoOptions) *CognitoOptionsStatus {
5756	s.Options = v
5757	return s
5758}
5759
5760// SetStatus sets the Status field's value.
5761func (s *CognitoOptionsStatus) SetStatus(v *OptionStatus) *CognitoOptionsStatus {
5762	s.Status = v
5763	return s
5764}
5765
5766// Specifies the configuration for cold storage options such as enabled
5767type ColdStorageOptions struct {
5768	_ struct{} `type:"structure"`
5769
5770	// Enable cold storage option. Accepted values true or false
5771	//
5772	// Enabled is a required field
5773	Enabled *bool `type:"boolean" required:"true"`
5774}
5775
5776// String returns the string representation.
5777//
5778// API parameter values that are decorated as "sensitive" in the API will not
5779// be included in the string output. The member name will be present, but the
5780// value will be replaced with "sensitive".
5781func (s ColdStorageOptions) String() string {
5782	return awsutil.Prettify(s)
5783}
5784
5785// GoString returns the string representation.
5786//
5787// API parameter values that are decorated as "sensitive" in the API will not
5788// be included in the string output. The member name will be present, but the
5789// value will be replaced with "sensitive".
5790func (s ColdStorageOptions) GoString() string {
5791	return s.String()
5792}
5793
5794// Validate inspects the fields of the type to determine if they are valid.
5795func (s *ColdStorageOptions) Validate() error {
5796	invalidParams := request.ErrInvalidParams{Context: "ColdStorageOptions"}
5797	if s.Enabled == nil {
5798		invalidParams.Add(request.NewErrParamRequired("Enabled"))
5799	}
5800
5801	if invalidParams.Len() > 0 {
5802		return invalidParams
5803	}
5804	return nil
5805}
5806
5807// SetEnabled sets the Enabled field's value.
5808func (s *ColdStorageOptions) SetEnabled(v bool) *ColdStorageOptions {
5809	s.Enabled = &v
5810	return s
5811}
5812
5813// A map from an ElasticsearchVersion to a list of compatible ElasticsearchVersion
5814// s to which the domain can be upgraded.
5815type CompatibleVersionsMap struct {
5816	_ struct{} `type:"structure"`
5817
5818	// The current version of Elasticsearch on which a domain is.
5819	SourceVersion *string `type:"string"`
5820
5821	// List of supported elastic search versions.
5822	TargetVersions []*string `type:"list"`
5823}
5824
5825// String returns the string representation.
5826//
5827// API parameter values that are decorated as "sensitive" in the API will not
5828// be included in the string output. The member name will be present, but the
5829// value will be replaced with "sensitive".
5830func (s CompatibleVersionsMap) String() string {
5831	return awsutil.Prettify(s)
5832}
5833
5834// GoString returns the string representation.
5835//
5836// API parameter values that are decorated as "sensitive" in the API will not
5837// be included in the string output. The member name will be present, but the
5838// value will be replaced with "sensitive".
5839func (s CompatibleVersionsMap) GoString() string {
5840	return s.String()
5841}
5842
5843// SetSourceVersion sets the SourceVersion field's value.
5844func (s *CompatibleVersionsMap) SetSourceVersion(v string) *CompatibleVersionsMap {
5845	s.SourceVersion = &v
5846	return s
5847}
5848
5849// SetTargetVersions sets the TargetVersions field's value.
5850func (s *CompatibleVersionsMap) SetTargetVersions(v []*string) *CompatibleVersionsMap {
5851	s.TargetVersions = v
5852	return s
5853}
5854
5855// An error occurred because the client attempts to remove a resource that is
5856// currently in use. Returns HTTP status code 409.
5857type ConflictException struct {
5858	_            struct{}                  `type:"structure"`
5859	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5860
5861	Message_ *string `locationName:"message" type:"string"`
5862}
5863
5864// String returns the string representation.
5865//
5866// API parameter values that are decorated as "sensitive" in the API will not
5867// be included in the string output. The member name will be present, but the
5868// value will be replaced with "sensitive".
5869func (s ConflictException) String() string {
5870	return awsutil.Prettify(s)
5871}
5872
5873// GoString returns the string representation.
5874//
5875// API parameter values that are decorated as "sensitive" in the API will not
5876// be included in the string output. The member name will be present, but the
5877// value will be replaced with "sensitive".
5878func (s ConflictException) GoString() string {
5879	return s.String()
5880}
5881
5882func newErrorConflictException(v protocol.ResponseMetadata) error {
5883	return &ConflictException{
5884		RespMetadata: v,
5885	}
5886}
5887
5888// Code returns the exception type name.
5889func (s *ConflictException) Code() string {
5890	return "ConflictException"
5891}
5892
5893// Message returns the exception's message.
5894func (s *ConflictException) Message() string {
5895	if s.Message_ != nil {
5896		return *s.Message_
5897	}
5898	return ""
5899}
5900
5901// OrigErr always returns nil, satisfies awserr.Error interface.
5902func (s *ConflictException) OrigErr() error {
5903	return nil
5904}
5905
5906func (s *ConflictException) Error() string {
5907	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5908}
5909
5910// Status code returns the HTTP status code for the request's response error.
5911func (s *ConflictException) StatusCode() int {
5912	return s.RespMetadata.StatusCode
5913}
5914
5915// RequestID returns the service's response RequestID for request.
5916func (s *ConflictException) RequestID() string {
5917	return s.RespMetadata.RequestID
5918}
5919
5920type CreateElasticsearchDomainInput struct {
5921	_ struct{} `type:"structure"`
5922
5923	// IAM access policy as a JSON-formatted string.
5924	AccessPolicies *string `type:"string"`
5925
5926	// Option to allow references to indices in an HTTP request body. Must be false
5927	// when configuring access to individual sub-resources. By default, the value
5928	// is true. See Configuration Advanced Options (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomain-configure-advanced-options)
5929	// for more information.
5930	AdvancedOptions map[string]*string `type:"map"`
5931
5932	// Specifies advanced security options.
5933	AdvancedSecurityOptions *AdvancedSecurityOptionsInput `type:"structure"`
5934
5935	// Specifies Auto-Tune options.
5936	AutoTuneOptions *AutoTuneOptionsInput `type:"structure"`
5937
5938	// Options to specify the Cognito user and identity pools for Kibana authentication.
5939	// For more information, see Amazon Cognito Authentication for Kibana (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-cognito-auth.html).
5940	CognitoOptions *CognitoOptions `type:"structure"`
5941
5942	// Options to specify configuration that will be applied to the domain endpoint.
5943	DomainEndpointOptions *DomainEndpointOptions `type:"structure"`
5944
5945	// The name of the Elasticsearch domain that you are creating. Domain names
5946	// are unique across the domains owned by an account within an AWS region. Domain
5947	// names must start with a lowercase letter and can contain the following characters:
5948	// a-z (lowercase), 0-9, and - (hyphen).
5949	//
5950	// DomainName is a required field
5951	DomainName *string `min:"3" type:"string" required:"true"`
5952
5953	// Options to enable, disable and specify the type and size of EBS storage volumes.
5954	EBSOptions *EBSOptions `type:"structure"`
5955
5956	// Configuration options for an Elasticsearch domain. Specifies the instance
5957	// type and number of instances in the domain cluster.
5958	ElasticsearchClusterConfig *ElasticsearchClusterConfig `type:"structure"`
5959
5960	// String of format X.Y to specify version for the Elasticsearch domain eg.
5961	// "1.5" or "2.3". For more information, see Creating Elasticsearch Domains
5962	// (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomains)
5963	// in the Amazon Elasticsearch Service Developer Guide.
5964	ElasticsearchVersion *string `type:"string"`
5965
5966	// Specifies the Encryption At Rest Options.
5967	EncryptionAtRestOptions *EncryptionAtRestOptions `type:"structure"`
5968
5969	// Map of LogType and LogPublishingOption, each containing options to publish
5970	// a given type of Elasticsearch log.
5971	LogPublishingOptions map[string]*LogPublishingOption `type:"map"`
5972
5973	// Specifies the NodeToNodeEncryptionOptions.
5974	NodeToNodeEncryptionOptions *NodeToNodeEncryptionOptions `type:"structure"`
5975
5976	// Option to set time, in UTC format, of the daily automated snapshot. Default
5977	// value is 0 hours.
5978	SnapshotOptions *SnapshotOptions `type:"structure"`
5979
5980	// A list of Tag added during domain creation.
5981	TagList []*Tag `type:"list"`
5982
5983	// Options to specify the subnets and security groups for VPC endpoint. For
5984	// more information, see Creating a VPC (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-vpc.html#es-creating-vpc)
5985	// in VPC Endpoints for Amazon Elasticsearch Service Domains
5986	VPCOptions *VPCOptions `type:"structure"`
5987}
5988
5989// String returns the string representation.
5990//
5991// API parameter values that are decorated as "sensitive" in the API will not
5992// be included in the string output. The member name will be present, but the
5993// value will be replaced with "sensitive".
5994func (s CreateElasticsearchDomainInput) String() string {
5995	return awsutil.Prettify(s)
5996}
5997
5998// GoString returns the string representation.
5999//
6000// API parameter values that are decorated as "sensitive" in the API will not
6001// be included in the string output. The member name will be present, but the
6002// value will be replaced with "sensitive".
6003func (s CreateElasticsearchDomainInput) GoString() string {
6004	return s.String()
6005}
6006
6007// Validate inspects the fields of the type to determine if they are valid.
6008func (s *CreateElasticsearchDomainInput) Validate() error {
6009	invalidParams := request.ErrInvalidParams{Context: "CreateElasticsearchDomainInput"}
6010	if s.DomainName == nil {
6011		invalidParams.Add(request.NewErrParamRequired("DomainName"))
6012	}
6013	if s.DomainName != nil && len(*s.DomainName) < 3 {
6014		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
6015	}
6016	if s.AdvancedSecurityOptions != nil {
6017		if err := s.AdvancedSecurityOptions.Validate(); err != nil {
6018			invalidParams.AddNested("AdvancedSecurityOptions", err.(request.ErrInvalidParams))
6019		}
6020	}
6021	if s.AutoTuneOptions != nil {
6022		if err := s.AutoTuneOptions.Validate(); err != nil {
6023			invalidParams.AddNested("AutoTuneOptions", err.(request.ErrInvalidParams))
6024		}
6025	}
6026	if s.CognitoOptions != nil {
6027		if err := s.CognitoOptions.Validate(); err != nil {
6028			invalidParams.AddNested("CognitoOptions", err.(request.ErrInvalidParams))
6029		}
6030	}
6031	if s.DomainEndpointOptions != nil {
6032		if err := s.DomainEndpointOptions.Validate(); err != nil {
6033			invalidParams.AddNested("DomainEndpointOptions", err.(request.ErrInvalidParams))
6034		}
6035	}
6036	if s.ElasticsearchClusterConfig != nil {
6037		if err := s.ElasticsearchClusterConfig.Validate(); err != nil {
6038			invalidParams.AddNested("ElasticsearchClusterConfig", err.(request.ErrInvalidParams))
6039		}
6040	}
6041	if s.EncryptionAtRestOptions != nil {
6042		if err := s.EncryptionAtRestOptions.Validate(); err != nil {
6043			invalidParams.AddNested("EncryptionAtRestOptions", err.(request.ErrInvalidParams))
6044		}
6045	}
6046	if s.TagList != nil {
6047		for i, v := range s.TagList {
6048			if v == nil {
6049				continue
6050			}
6051			if err := v.Validate(); err != nil {
6052				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TagList", i), err.(request.ErrInvalidParams))
6053			}
6054		}
6055	}
6056
6057	if invalidParams.Len() > 0 {
6058		return invalidParams
6059	}
6060	return nil
6061}
6062
6063// SetAccessPolicies sets the AccessPolicies field's value.
6064func (s *CreateElasticsearchDomainInput) SetAccessPolicies(v string) *CreateElasticsearchDomainInput {
6065	s.AccessPolicies = &v
6066	return s
6067}
6068
6069// SetAdvancedOptions sets the AdvancedOptions field's value.
6070func (s *CreateElasticsearchDomainInput) SetAdvancedOptions(v map[string]*string) *CreateElasticsearchDomainInput {
6071	s.AdvancedOptions = v
6072	return s
6073}
6074
6075// SetAdvancedSecurityOptions sets the AdvancedSecurityOptions field's value.
6076func (s *CreateElasticsearchDomainInput) SetAdvancedSecurityOptions(v *AdvancedSecurityOptionsInput) *CreateElasticsearchDomainInput {
6077	s.AdvancedSecurityOptions = v
6078	return s
6079}
6080
6081// SetAutoTuneOptions sets the AutoTuneOptions field's value.
6082func (s *CreateElasticsearchDomainInput) SetAutoTuneOptions(v *AutoTuneOptionsInput) *CreateElasticsearchDomainInput {
6083	s.AutoTuneOptions = v
6084	return s
6085}
6086
6087// SetCognitoOptions sets the CognitoOptions field's value.
6088func (s *CreateElasticsearchDomainInput) SetCognitoOptions(v *CognitoOptions) *CreateElasticsearchDomainInput {
6089	s.CognitoOptions = v
6090	return s
6091}
6092
6093// SetDomainEndpointOptions sets the DomainEndpointOptions field's value.
6094func (s *CreateElasticsearchDomainInput) SetDomainEndpointOptions(v *DomainEndpointOptions) *CreateElasticsearchDomainInput {
6095	s.DomainEndpointOptions = v
6096	return s
6097}
6098
6099// SetDomainName sets the DomainName field's value.
6100func (s *CreateElasticsearchDomainInput) SetDomainName(v string) *CreateElasticsearchDomainInput {
6101	s.DomainName = &v
6102	return s
6103}
6104
6105// SetEBSOptions sets the EBSOptions field's value.
6106func (s *CreateElasticsearchDomainInput) SetEBSOptions(v *EBSOptions) *CreateElasticsearchDomainInput {
6107	s.EBSOptions = v
6108	return s
6109}
6110
6111// SetElasticsearchClusterConfig sets the ElasticsearchClusterConfig field's value.
6112func (s *CreateElasticsearchDomainInput) SetElasticsearchClusterConfig(v *ElasticsearchClusterConfig) *CreateElasticsearchDomainInput {
6113	s.ElasticsearchClusterConfig = v
6114	return s
6115}
6116
6117// SetElasticsearchVersion sets the ElasticsearchVersion field's value.
6118func (s *CreateElasticsearchDomainInput) SetElasticsearchVersion(v string) *CreateElasticsearchDomainInput {
6119	s.ElasticsearchVersion = &v
6120	return s
6121}
6122
6123// SetEncryptionAtRestOptions sets the EncryptionAtRestOptions field's value.
6124func (s *CreateElasticsearchDomainInput) SetEncryptionAtRestOptions(v *EncryptionAtRestOptions) *CreateElasticsearchDomainInput {
6125	s.EncryptionAtRestOptions = v
6126	return s
6127}
6128
6129// SetLogPublishingOptions sets the LogPublishingOptions field's value.
6130func (s *CreateElasticsearchDomainInput) SetLogPublishingOptions(v map[string]*LogPublishingOption) *CreateElasticsearchDomainInput {
6131	s.LogPublishingOptions = v
6132	return s
6133}
6134
6135// SetNodeToNodeEncryptionOptions sets the NodeToNodeEncryptionOptions field's value.
6136func (s *CreateElasticsearchDomainInput) SetNodeToNodeEncryptionOptions(v *NodeToNodeEncryptionOptions) *CreateElasticsearchDomainInput {
6137	s.NodeToNodeEncryptionOptions = v
6138	return s
6139}
6140
6141// SetSnapshotOptions sets the SnapshotOptions field's value.
6142func (s *CreateElasticsearchDomainInput) SetSnapshotOptions(v *SnapshotOptions) *CreateElasticsearchDomainInput {
6143	s.SnapshotOptions = v
6144	return s
6145}
6146
6147// SetTagList sets the TagList field's value.
6148func (s *CreateElasticsearchDomainInput) SetTagList(v []*Tag) *CreateElasticsearchDomainInput {
6149	s.TagList = v
6150	return s
6151}
6152
6153// SetVPCOptions sets the VPCOptions field's value.
6154func (s *CreateElasticsearchDomainInput) SetVPCOptions(v *VPCOptions) *CreateElasticsearchDomainInput {
6155	s.VPCOptions = v
6156	return s
6157}
6158
6159// The result of a CreateElasticsearchDomain operation. Contains the status
6160// of the newly created Elasticsearch domain.
6161type CreateElasticsearchDomainOutput struct {
6162	_ struct{} `type:"structure"`
6163
6164	// The status of the newly created Elasticsearch domain.
6165	DomainStatus *ElasticsearchDomainStatus `type:"structure"`
6166}
6167
6168// String returns the string representation.
6169//
6170// API parameter values that are decorated as "sensitive" in the API will not
6171// be included in the string output. The member name will be present, but the
6172// value will be replaced with "sensitive".
6173func (s CreateElasticsearchDomainOutput) String() string {
6174	return awsutil.Prettify(s)
6175}
6176
6177// GoString returns the string representation.
6178//
6179// API parameter values that are decorated as "sensitive" in the API will not
6180// be included in the string output. The member name will be present, but the
6181// value will be replaced with "sensitive".
6182func (s CreateElasticsearchDomainOutput) GoString() string {
6183	return s.String()
6184}
6185
6186// SetDomainStatus sets the DomainStatus field's value.
6187func (s *CreateElasticsearchDomainOutput) SetDomainStatus(v *ElasticsearchDomainStatus) *CreateElasticsearchDomainOutput {
6188	s.DomainStatus = v
6189	return s
6190}
6191
6192// Container for the parameters to the CreateOutboundCrossClusterSearchConnection
6193// operation.
6194type CreateOutboundCrossClusterSearchConnectionInput struct {
6195	_ struct{} `type:"structure"`
6196
6197	// Specifies the connection alias that will be used by the customer for this
6198	// connection.
6199	//
6200	// ConnectionAlias is a required field
6201	ConnectionAlias *string `type:"string" required:"true"`
6202
6203	// Specifies the DomainInformation for the destination Elasticsearch domain.
6204	//
6205	// DestinationDomainInfo is a required field
6206	DestinationDomainInfo *DomainInformation `type:"structure" required:"true"`
6207
6208	// Specifies the DomainInformation for the source Elasticsearch domain.
6209	//
6210	// SourceDomainInfo is a required field
6211	SourceDomainInfo *DomainInformation `type:"structure" required:"true"`
6212}
6213
6214// String returns the string representation.
6215//
6216// API parameter values that are decorated as "sensitive" in the API will not
6217// be included in the string output. The member name will be present, but the
6218// value will be replaced with "sensitive".
6219func (s CreateOutboundCrossClusterSearchConnectionInput) String() string {
6220	return awsutil.Prettify(s)
6221}
6222
6223// GoString returns the string representation.
6224//
6225// API parameter values that are decorated as "sensitive" in the API will not
6226// be included in the string output. The member name will be present, but the
6227// value will be replaced with "sensitive".
6228func (s CreateOutboundCrossClusterSearchConnectionInput) GoString() string {
6229	return s.String()
6230}
6231
6232// Validate inspects the fields of the type to determine if they are valid.
6233func (s *CreateOutboundCrossClusterSearchConnectionInput) Validate() error {
6234	invalidParams := request.ErrInvalidParams{Context: "CreateOutboundCrossClusterSearchConnectionInput"}
6235	if s.ConnectionAlias == nil {
6236		invalidParams.Add(request.NewErrParamRequired("ConnectionAlias"))
6237	}
6238	if s.DestinationDomainInfo == nil {
6239		invalidParams.Add(request.NewErrParamRequired("DestinationDomainInfo"))
6240	}
6241	if s.SourceDomainInfo == nil {
6242		invalidParams.Add(request.NewErrParamRequired("SourceDomainInfo"))
6243	}
6244	if s.DestinationDomainInfo != nil {
6245		if err := s.DestinationDomainInfo.Validate(); err != nil {
6246			invalidParams.AddNested("DestinationDomainInfo", err.(request.ErrInvalidParams))
6247		}
6248	}
6249	if s.SourceDomainInfo != nil {
6250		if err := s.SourceDomainInfo.Validate(); err != nil {
6251			invalidParams.AddNested("SourceDomainInfo", err.(request.ErrInvalidParams))
6252		}
6253	}
6254
6255	if invalidParams.Len() > 0 {
6256		return invalidParams
6257	}
6258	return nil
6259}
6260
6261// SetConnectionAlias sets the ConnectionAlias field's value.
6262func (s *CreateOutboundCrossClusterSearchConnectionInput) SetConnectionAlias(v string) *CreateOutboundCrossClusterSearchConnectionInput {
6263	s.ConnectionAlias = &v
6264	return s
6265}
6266
6267// SetDestinationDomainInfo sets the DestinationDomainInfo field's value.
6268func (s *CreateOutboundCrossClusterSearchConnectionInput) SetDestinationDomainInfo(v *DomainInformation) *CreateOutboundCrossClusterSearchConnectionInput {
6269	s.DestinationDomainInfo = v
6270	return s
6271}
6272
6273// SetSourceDomainInfo sets the SourceDomainInfo field's value.
6274func (s *CreateOutboundCrossClusterSearchConnectionInput) SetSourceDomainInfo(v *DomainInformation) *CreateOutboundCrossClusterSearchConnectionInput {
6275	s.SourceDomainInfo = v
6276	return s
6277}
6278
6279// The result of a CreateOutboundCrossClusterSearchConnection request. Contains
6280// the details of the newly created cross-cluster search connection.
6281type CreateOutboundCrossClusterSearchConnectionOutput struct {
6282	_ struct{} `type:"structure"`
6283
6284	// Specifies the connection alias provided during the create connection request.
6285	ConnectionAlias *string `type:"string"`
6286
6287	// Specifies the OutboundCrossClusterSearchConnectionStatus for the newly created
6288	// connection.
6289	ConnectionStatus *OutboundCrossClusterSearchConnectionStatus `type:"structure"`
6290
6291	// Unique id for the created outbound connection, which is used for subsequent
6292	// operations on connection.
6293	CrossClusterSearchConnectionId *string `type:"string"`
6294
6295	// Specifies the DomainInformation for the destination Elasticsearch domain.
6296	DestinationDomainInfo *DomainInformation `type:"structure"`
6297
6298	// Specifies the DomainInformation for the source Elasticsearch domain.
6299	SourceDomainInfo *DomainInformation `type:"structure"`
6300}
6301
6302// String returns the string representation.
6303//
6304// API parameter values that are decorated as "sensitive" in the API will not
6305// be included in the string output. The member name will be present, but the
6306// value will be replaced with "sensitive".
6307func (s CreateOutboundCrossClusterSearchConnectionOutput) String() string {
6308	return awsutil.Prettify(s)
6309}
6310
6311// GoString returns the string representation.
6312//
6313// API parameter values that are decorated as "sensitive" in the API will not
6314// be included in the string output. The member name will be present, but the
6315// value will be replaced with "sensitive".
6316func (s CreateOutboundCrossClusterSearchConnectionOutput) GoString() string {
6317	return s.String()
6318}
6319
6320// SetConnectionAlias sets the ConnectionAlias field's value.
6321func (s *CreateOutboundCrossClusterSearchConnectionOutput) SetConnectionAlias(v string) *CreateOutboundCrossClusterSearchConnectionOutput {
6322	s.ConnectionAlias = &v
6323	return s
6324}
6325
6326// SetConnectionStatus sets the ConnectionStatus field's value.
6327func (s *CreateOutboundCrossClusterSearchConnectionOutput) SetConnectionStatus(v *OutboundCrossClusterSearchConnectionStatus) *CreateOutboundCrossClusterSearchConnectionOutput {
6328	s.ConnectionStatus = v
6329	return s
6330}
6331
6332// SetCrossClusterSearchConnectionId sets the CrossClusterSearchConnectionId field's value.
6333func (s *CreateOutboundCrossClusterSearchConnectionOutput) SetCrossClusterSearchConnectionId(v string) *CreateOutboundCrossClusterSearchConnectionOutput {
6334	s.CrossClusterSearchConnectionId = &v
6335	return s
6336}
6337
6338// SetDestinationDomainInfo sets the DestinationDomainInfo field's value.
6339func (s *CreateOutboundCrossClusterSearchConnectionOutput) SetDestinationDomainInfo(v *DomainInformation) *CreateOutboundCrossClusterSearchConnectionOutput {
6340	s.DestinationDomainInfo = v
6341	return s
6342}
6343
6344// SetSourceDomainInfo sets the SourceDomainInfo field's value.
6345func (s *CreateOutboundCrossClusterSearchConnectionOutput) SetSourceDomainInfo(v *DomainInformation) *CreateOutboundCrossClusterSearchConnectionOutput {
6346	s.SourceDomainInfo = v
6347	return s
6348}
6349
6350// Container for request parameters to CreatePackage operation.
6351type CreatePackageInput struct {
6352	_ struct{} `type:"structure"`
6353
6354	// Description of the package.
6355	PackageDescription *string `type:"string"`
6356
6357	// Unique identifier for the package.
6358	//
6359	// PackageName is a required field
6360	PackageName *string `min:"3" type:"string" required:"true"`
6361
6362	// The customer S3 location PackageSource for importing the package.
6363	//
6364	// PackageSource is a required field
6365	PackageSource *PackageSource `type:"structure" required:"true"`
6366
6367	// Type of package. Currently supports only TXT-DICTIONARY.
6368	//
6369	// PackageType is a required field
6370	PackageType *string `type:"string" required:"true" enum:"PackageType"`
6371}
6372
6373// String returns the string representation.
6374//
6375// API parameter values that are decorated as "sensitive" in the API will not
6376// be included in the string output. The member name will be present, but the
6377// value will be replaced with "sensitive".
6378func (s CreatePackageInput) String() string {
6379	return awsutil.Prettify(s)
6380}
6381
6382// GoString returns the string representation.
6383//
6384// API parameter values that are decorated as "sensitive" in the API will not
6385// be included in the string output. The member name will be present, but the
6386// value will be replaced with "sensitive".
6387func (s CreatePackageInput) GoString() string {
6388	return s.String()
6389}
6390
6391// Validate inspects the fields of the type to determine if they are valid.
6392func (s *CreatePackageInput) Validate() error {
6393	invalidParams := request.ErrInvalidParams{Context: "CreatePackageInput"}
6394	if s.PackageName == nil {
6395		invalidParams.Add(request.NewErrParamRequired("PackageName"))
6396	}
6397	if s.PackageName != nil && len(*s.PackageName) < 3 {
6398		invalidParams.Add(request.NewErrParamMinLen("PackageName", 3))
6399	}
6400	if s.PackageSource == nil {
6401		invalidParams.Add(request.NewErrParamRequired("PackageSource"))
6402	}
6403	if s.PackageType == nil {
6404		invalidParams.Add(request.NewErrParamRequired("PackageType"))
6405	}
6406	if s.PackageSource != nil {
6407		if err := s.PackageSource.Validate(); err != nil {
6408			invalidParams.AddNested("PackageSource", err.(request.ErrInvalidParams))
6409		}
6410	}
6411
6412	if invalidParams.Len() > 0 {
6413		return invalidParams
6414	}
6415	return nil
6416}
6417
6418// SetPackageDescription sets the PackageDescription field's value.
6419func (s *CreatePackageInput) SetPackageDescription(v string) *CreatePackageInput {
6420	s.PackageDescription = &v
6421	return s
6422}
6423
6424// SetPackageName sets the PackageName field's value.
6425func (s *CreatePackageInput) SetPackageName(v string) *CreatePackageInput {
6426	s.PackageName = &v
6427	return s
6428}
6429
6430// SetPackageSource sets the PackageSource field's value.
6431func (s *CreatePackageInput) SetPackageSource(v *PackageSource) *CreatePackageInput {
6432	s.PackageSource = v
6433	return s
6434}
6435
6436// SetPackageType sets the PackageType field's value.
6437func (s *CreatePackageInput) SetPackageType(v string) *CreatePackageInput {
6438	s.PackageType = &v
6439	return s
6440}
6441
6442// Container for response returned by CreatePackage operation.
6443type CreatePackageOutput struct {
6444	_ struct{} `type:"structure"`
6445
6446	// Information about the package PackageDetails.
6447	PackageDetails *PackageDetails `type:"structure"`
6448}
6449
6450// String returns the string representation.
6451//
6452// API parameter values that are decorated as "sensitive" in the API will not
6453// be included in the string output. The member name will be present, but the
6454// value will be replaced with "sensitive".
6455func (s CreatePackageOutput) String() string {
6456	return awsutil.Prettify(s)
6457}
6458
6459// GoString returns the string representation.
6460//
6461// API parameter values that are decorated as "sensitive" in the API will not
6462// be included in the string output. The member name will be present, but the
6463// value will be replaced with "sensitive".
6464func (s CreatePackageOutput) GoString() string {
6465	return s.String()
6466}
6467
6468// SetPackageDetails sets the PackageDetails field's value.
6469func (s *CreatePackageOutput) SetPackageDetails(v *PackageDetails) *CreatePackageOutput {
6470	s.PackageDetails = v
6471	return s
6472}
6473
6474// Container for the parameters to the DeleteElasticsearchDomain operation.
6475// Specifies the name of the Elasticsearch domain that you want to delete.
6476type DeleteElasticsearchDomainInput struct {
6477	_ struct{} `type:"structure" nopayload:"true"`
6478
6479	// The name of the Elasticsearch domain that you want to permanently delete.
6480	//
6481	// DomainName is a required field
6482	DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"`
6483}
6484
6485// String returns the string representation.
6486//
6487// API parameter values that are decorated as "sensitive" in the API will not
6488// be included in the string output. The member name will be present, but the
6489// value will be replaced with "sensitive".
6490func (s DeleteElasticsearchDomainInput) String() string {
6491	return awsutil.Prettify(s)
6492}
6493
6494// GoString returns the string representation.
6495//
6496// API parameter values that are decorated as "sensitive" in the API will not
6497// be included in the string output. The member name will be present, but the
6498// value will be replaced with "sensitive".
6499func (s DeleteElasticsearchDomainInput) GoString() string {
6500	return s.String()
6501}
6502
6503// Validate inspects the fields of the type to determine if they are valid.
6504func (s *DeleteElasticsearchDomainInput) Validate() error {
6505	invalidParams := request.ErrInvalidParams{Context: "DeleteElasticsearchDomainInput"}
6506	if s.DomainName == nil {
6507		invalidParams.Add(request.NewErrParamRequired("DomainName"))
6508	}
6509	if s.DomainName != nil && len(*s.DomainName) < 3 {
6510		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
6511	}
6512
6513	if invalidParams.Len() > 0 {
6514		return invalidParams
6515	}
6516	return nil
6517}
6518
6519// SetDomainName sets the DomainName field's value.
6520func (s *DeleteElasticsearchDomainInput) SetDomainName(v string) *DeleteElasticsearchDomainInput {
6521	s.DomainName = &v
6522	return s
6523}
6524
6525// The result of a DeleteElasticsearchDomain request. Contains the status of
6526// the pending deletion, or no status if the domain and all of its resources
6527// have been deleted.
6528type DeleteElasticsearchDomainOutput struct {
6529	_ struct{} `type:"structure"`
6530
6531	// The status of the Elasticsearch domain being deleted.
6532	DomainStatus *ElasticsearchDomainStatus `type:"structure"`
6533}
6534
6535// String returns the string representation.
6536//
6537// API parameter values that are decorated as "sensitive" in the API will not
6538// be included in the string output. The member name will be present, but the
6539// value will be replaced with "sensitive".
6540func (s DeleteElasticsearchDomainOutput) String() string {
6541	return awsutil.Prettify(s)
6542}
6543
6544// GoString returns the string representation.
6545//
6546// API parameter values that are decorated as "sensitive" in the API will not
6547// be included in the string output. The member name will be present, but the
6548// value will be replaced with "sensitive".
6549func (s DeleteElasticsearchDomainOutput) GoString() string {
6550	return s.String()
6551}
6552
6553// SetDomainStatus sets the DomainStatus field's value.
6554func (s *DeleteElasticsearchDomainOutput) SetDomainStatus(v *ElasticsearchDomainStatus) *DeleteElasticsearchDomainOutput {
6555	s.DomainStatus = v
6556	return s
6557}
6558
6559type DeleteElasticsearchServiceRoleInput struct {
6560	_ struct{} `type:"structure" nopayload:"true"`
6561}
6562
6563// String returns the string representation.
6564//
6565// API parameter values that are decorated as "sensitive" in the API will not
6566// be included in the string output. The member name will be present, but the
6567// value will be replaced with "sensitive".
6568func (s DeleteElasticsearchServiceRoleInput) String() string {
6569	return awsutil.Prettify(s)
6570}
6571
6572// GoString returns the string representation.
6573//
6574// API parameter values that are decorated as "sensitive" in the API will not
6575// be included in the string output. The member name will be present, but the
6576// value will be replaced with "sensitive".
6577func (s DeleteElasticsearchServiceRoleInput) GoString() string {
6578	return s.String()
6579}
6580
6581type DeleteElasticsearchServiceRoleOutput struct {
6582	_ struct{} `type:"structure"`
6583}
6584
6585// String returns the string representation.
6586//
6587// API parameter values that are decorated as "sensitive" in the API will not
6588// be included in the string output. The member name will be present, but the
6589// value will be replaced with "sensitive".
6590func (s DeleteElasticsearchServiceRoleOutput) String() string {
6591	return awsutil.Prettify(s)
6592}
6593
6594// GoString returns the string representation.
6595//
6596// API parameter values that are decorated as "sensitive" in the API will not
6597// be included in the string output. The member name will be present, but the
6598// value will be replaced with "sensitive".
6599func (s DeleteElasticsearchServiceRoleOutput) GoString() string {
6600	return s.String()
6601}
6602
6603// Container for the parameters to the DeleteInboundCrossClusterSearchConnection
6604// operation.
6605type DeleteInboundCrossClusterSearchConnectionInput struct {
6606	_ struct{} `type:"structure" nopayload:"true"`
6607
6608	// The id of the inbound connection that you want to permanently delete.
6609	//
6610	// CrossClusterSearchConnectionId is a required field
6611	CrossClusterSearchConnectionId *string `location:"uri" locationName:"ConnectionId" type:"string" required:"true"`
6612}
6613
6614// String returns the string representation.
6615//
6616// API parameter values that are decorated as "sensitive" in the API will not
6617// be included in the string output. The member name will be present, but the
6618// value will be replaced with "sensitive".
6619func (s DeleteInboundCrossClusterSearchConnectionInput) String() string {
6620	return awsutil.Prettify(s)
6621}
6622
6623// GoString returns the string representation.
6624//
6625// API parameter values that are decorated as "sensitive" in the API will not
6626// be included in the string output. The member name will be present, but the
6627// value will be replaced with "sensitive".
6628func (s DeleteInboundCrossClusterSearchConnectionInput) GoString() string {
6629	return s.String()
6630}
6631
6632// Validate inspects the fields of the type to determine if they are valid.
6633func (s *DeleteInboundCrossClusterSearchConnectionInput) Validate() error {
6634	invalidParams := request.ErrInvalidParams{Context: "DeleteInboundCrossClusterSearchConnectionInput"}
6635	if s.CrossClusterSearchConnectionId == nil {
6636		invalidParams.Add(request.NewErrParamRequired("CrossClusterSearchConnectionId"))
6637	}
6638	if s.CrossClusterSearchConnectionId != nil && len(*s.CrossClusterSearchConnectionId) < 1 {
6639		invalidParams.Add(request.NewErrParamMinLen("CrossClusterSearchConnectionId", 1))
6640	}
6641
6642	if invalidParams.Len() > 0 {
6643		return invalidParams
6644	}
6645	return nil
6646}
6647
6648// SetCrossClusterSearchConnectionId sets the CrossClusterSearchConnectionId field's value.
6649func (s *DeleteInboundCrossClusterSearchConnectionInput) SetCrossClusterSearchConnectionId(v string) *DeleteInboundCrossClusterSearchConnectionInput {
6650	s.CrossClusterSearchConnectionId = &v
6651	return s
6652}
6653
6654// The result of a DeleteInboundCrossClusterSearchConnection operation. Contains
6655// details of deleted inbound connection.
6656type DeleteInboundCrossClusterSearchConnectionOutput struct {
6657	_ struct{} `type:"structure"`
6658
6659	// Specifies the InboundCrossClusterSearchConnection of deleted inbound connection.
6660	CrossClusterSearchConnection *InboundCrossClusterSearchConnection `type:"structure"`
6661}
6662
6663// String returns the string representation.
6664//
6665// API parameter values that are decorated as "sensitive" in the API will not
6666// be included in the string output. The member name will be present, but the
6667// value will be replaced with "sensitive".
6668func (s DeleteInboundCrossClusterSearchConnectionOutput) String() string {
6669	return awsutil.Prettify(s)
6670}
6671
6672// GoString returns the string representation.
6673//
6674// API parameter values that are decorated as "sensitive" in the API will not
6675// be included in the string output. The member name will be present, but the
6676// value will be replaced with "sensitive".
6677func (s DeleteInboundCrossClusterSearchConnectionOutput) GoString() string {
6678	return s.String()
6679}
6680
6681// SetCrossClusterSearchConnection sets the CrossClusterSearchConnection field's value.
6682func (s *DeleteInboundCrossClusterSearchConnectionOutput) SetCrossClusterSearchConnection(v *InboundCrossClusterSearchConnection) *DeleteInboundCrossClusterSearchConnectionOutput {
6683	s.CrossClusterSearchConnection = v
6684	return s
6685}
6686
6687// Container for the parameters to the DeleteOutboundCrossClusterSearchConnection
6688// operation.
6689type DeleteOutboundCrossClusterSearchConnectionInput struct {
6690	_ struct{} `type:"structure" nopayload:"true"`
6691
6692	// The id of the outbound connection that you want to permanently delete.
6693	//
6694	// CrossClusterSearchConnectionId is a required field
6695	CrossClusterSearchConnectionId *string `location:"uri" locationName:"ConnectionId" type:"string" required:"true"`
6696}
6697
6698// String returns the string representation.
6699//
6700// API parameter values that are decorated as "sensitive" in the API will not
6701// be included in the string output. The member name will be present, but the
6702// value will be replaced with "sensitive".
6703func (s DeleteOutboundCrossClusterSearchConnectionInput) String() string {
6704	return awsutil.Prettify(s)
6705}
6706
6707// GoString returns the string representation.
6708//
6709// API parameter values that are decorated as "sensitive" in the API will not
6710// be included in the string output. The member name will be present, but the
6711// value will be replaced with "sensitive".
6712func (s DeleteOutboundCrossClusterSearchConnectionInput) GoString() string {
6713	return s.String()
6714}
6715
6716// Validate inspects the fields of the type to determine if they are valid.
6717func (s *DeleteOutboundCrossClusterSearchConnectionInput) Validate() error {
6718	invalidParams := request.ErrInvalidParams{Context: "DeleteOutboundCrossClusterSearchConnectionInput"}
6719	if s.CrossClusterSearchConnectionId == nil {
6720		invalidParams.Add(request.NewErrParamRequired("CrossClusterSearchConnectionId"))
6721	}
6722	if s.CrossClusterSearchConnectionId != nil && len(*s.CrossClusterSearchConnectionId) < 1 {
6723		invalidParams.Add(request.NewErrParamMinLen("CrossClusterSearchConnectionId", 1))
6724	}
6725
6726	if invalidParams.Len() > 0 {
6727		return invalidParams
6728	}
6729	return nil
6730}
6731
6732// SetCrossClusterSearchConnectionId sets the CrossClusterSearchConnectionId field's value.
6733func (s *DeleteOutboundCrossClusterSearchConnectionInput) SetCrossClusterSearchConnectionId(v string) *DeleteOutboundCrossClusterSearchConnectionInput {
6734	s.CrossClusterSearchConnectionId = &v
6735	return s
6736}
6737
6738// The result of a DeleteOutboundCrossClusterSearchConnection operation. Contains
6739// details of deleted outbound connection.
6740type DeleteOutboundCrossClusterSearchConnectionOutput struct {
6741	_ struct{} `type:"structure"`
6742
6743	// Specifies the OutboundCrossClusterSearchConnection of deleted outbound connection.
6744	CrossClusterSearchConnection *OutboundCrossClusterSearchConnection `type:"structure"`
6745}
6746
6747// String returns the string representation.
6748//
6749// API parameter values that are decorated as "sensitive" in the API will not
6750// be included in the string output. The member name will be present, but the
6751// value will be replaced with "sensitive".
6752func (s DeleteOutboundCrossClusterSearchConnectionOutput) String() string {
6753	return awsutil.Prettify(s)
6754}
6755
6756// GoString returns the string representation.
6757//
6758// API parameter values that are decorated as "sensitive" in the API will not
6759// be included in the string output. The member name will be present, but the
6760// value will be replaced with "sensitive".
6761func (s DeleteOutboundCrossClusterSearchConnectionOutput) GoString() string {
6762	return s.String()
6763}
6764
6765// SetCrossClusterSearchConnection sets the CrossClusterSearchConnection field's value.
6766func (s *DeleteOutboundCrossClusterSearchConnectionOutput) SetCrossClusterSearchConnection(v *OutboundCrossClusterSearchConnection) *DeleteOutboundCrossClusterSearchConnectionOutput {
6767	s.CrossClusterSearchConnection = v
6768	return s
6769}
6770
6771// Container for request parameters to DeletePackage operation.
6772type DeletePackageInput struct {
6773	_ struct{} `type:"structure" nopayload:"true"`
6774
6775	// Internal ID of the package that you want to delete. Use DescribePackages
6776	// to find this value.
6777	//
6778	// PackageID is a required field
6779	PackageID *string `location:"uri" locationName:"PackageID" type:"string" required:"true"`
6780}
6781
6782// String returns the string representation.
6783//
6784// API parameter values that are decorated as "sensitive" in the API will not
6785// be included in the string output. The member name will be present, but the
6786// value will be replaced with "sensitive".
6787func (s DeletePackageInput) String() string {
6788	return awsutil.Prettify(s)
6789}
6790
6791// GoString returns the string representation.
6792//
6793// API parameter values that are decorated as "sensitive" in the API will not
6794// be included in the string output. The member name will be present, but the
6795// value will be replaced with "sensitive".
6796func (s DeletePackageInput) GoString() string {
6797	return s.String()
6798}
6799
6800// Validate inspects the fields of the type to determine if they are valid.
6801func (s *DeletePackageInput) Validate() error {
6802	invalidParams := request.ErrInvalidParams{Context: "DeletePackageInput"}
6803	if s.PackageID == nil {
6804		invalidParams.Add(request.NewErrParamRequired("PackageID"))
6805	}
6806	if s.PackageID != nil && len(*s.PackageID) < 1 {
6807		invalidParams.Add(request.NewErrParamMinLen("PackageID", 1))
6808	}
6809
6810	if invalidParams.Len() > 0 {
6811		return invalidParams
6812	}
6813	return nil
6814}
6815
6816// SetPackageID sets the PackageID field's value.
6817func (s *DeletePackageInput) SetPackageID(v string) *DeletePackageInput {
6818	s.PackageID = &v
6819	return s
6820}
6821
6822// Container for response parameters to DeletePackage operation.
6823type DeletePackageOutput struct {
6824	_ struct{} `type:"structure"`
6825
6826	// PackageDetails
6827	PackageDetails *PackageDetails `type:"structure"`
6828}
6829
6830// String returns the string representation.
6831//
6832// API parameter values that are decorated as "sensitive" in the API will not
6833// be included in the string output. The member name will be present, but the
6834// value will be replaced with "sensitive".
6835func (s DeletePackageOutput) String() string {
6836	return awsutil.Prettify(s)
6837}
6838
6839// GoString returns the string representation.
6840//
6841// API parameter values that are decorated as "sensitive" in the API will not
6842// be included in the string output. The member name will be present, but the
6843// value will be replaced with "sensitive".
6844func (s DeletePackageOutput) GoString() string {
6845	return s.String()
6846}
6847
6848// SetPackageDetails sets the PackageDetails field's value.
6849func (s *DeletePackageOutput) SetPackageDetails(v *PackageDetails) *DeletePackageOutput {
6850	s.PackageDetails = v
6851	return s
6852}
6853
6854// Container for the parameters to the DescribeDomainAutoTunes operation.
6855type DescribeDomainAutoTunesInput struct {
6856	_ struct{} `type:"structure"`
6857
6858	// Specifies the domain name for which you want Auto-Tune action details.
6859	//
6860	// DomainName is a required field
6861	DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"`
6862
6863	// Set this value to limit the number of results returned. If not specified,
6864	// defaults to 100.
6865	MaxResults *int64 `type:"integer"`
6866
6867	// NextToken is sent in case the earlier API call results contain the NextToken.
6868	// It is used for pagination.
6869	NextToken *string `type:"string"`
6870}
6871
6872// String returns the string representation.
6873//
6874// API parameter values that are decorated as "sensitive" in the API will not
6875// be included in the string output. The member name will be present, but the
6876// value will be replaced with "sensitive".
6877func (s DescribeDomainAutoTunesInput) String() string {
6878	return awsutil.Prettify(s)
6879}
6880
6881// GoString returns the string representation.
6882//
6883// API parameter values that are decorated as "sensitive" in the API will not
6884// be included in the string output. The member name will be present, but the
6885// value will be replaced with "sensitive".
6886func (s DescribeDomainAutoTunesInput) GoString() string {
6887	return s.String()
6888}
6889
6890// Validate inspects the fields of the type to determine if they are valid.
6891func (s *DescribeDomainAutoTunesInput) Validate() error {
6892	invalidParams := request.ErrInvalidParams{Context: "DescribeDomainAutoTunesInput"}
6893	if s.DomainName == nil {
6894		invalidParams.Add(request.NewErrParamRequired("DomainName"))
6895	}
6896	if s.DomainName != nil && len(*s.DomainName) < 3 {
6897		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
6898	}
6899
6900	if invalidParams.Len() > 0 {
6901		return invalidParams
6902	}
6903	return nil
6904}
6905
6906// SetDomainName sets the DomainName field's value.
6907func (s *DescribeDomainAutoTunesInput) SetDomainName(v string) *DescribeDomainAutoTunesInput {
6908	s.DomainName = &v
6909	return s
6910}
6911
6912// SetMaxResults sets the MaxResults field's value.
6913func (s *DescribeDomainAutoTunesInput) SetMaxResults(v int64) *DescribeDomainAutoTunesInput {
6914	s.MaxResults = &v
6915	return s
6916}
6917
6918// SetNextToken sets the NextToken field's value.
6919func (s *DescribeDomainAutoTunesInput) SetNextToken(v string) *DescribeDomainAutoTunesInput {
6920	s.NextToken = &v
6921	return s
6922}
6923
6924// The result of DescribeDomainAutoTunes request. See the Developer Guide (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/auto-tune.html)
6925// for more information.
6926type DescribeDomainAutoTunesOutput struct {
6927	_ struct{} `type:"structure"`
6928
6929	// Specifies the list of setting adjustments that Auto-Tune has made to the
6930	// domain. See the Developer Guide (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/auto-tune.html)
6931	// for more information.
6932	AutoTunes []*AutoTune `type:"list"`
6933
6934	// Specifies an identifier to allow retrieval of paginated results.
6935	NextToken *string `type:"string"`
6936}
6937
6938// String returns the string representation.
6939//
6940// API parameter values that are decorated as "sensitive" in the API will not
6941// be included in the string output. The member name will be present, but the
6942// value will be replaced with "sensitive".
6943func (s DescribeDomainAutoTunesOutput) String() string {
6944	return awsutil.Prettify(s)
6945}
6946
6947// GoString returns the string representation.
6948//
6949// API parameter values that are decorated as "sensitive" in the API will not
6950// be included in the string output. The member name will be present, but the
6951// value will be replaced with "sensitive".
6952func (s DescribeDomainAutoTunesOutput) GoString() string {
6953	return s.String()
6954}
6955
6956// SetAutoTunes sets the AutoTunes field's value.
6957func (s *DescribeDomainAutoTunesOutput) SetAutoTunes(v []*AutoTune) *DescribeDomainAutoTunesOutput {
6958	s.AutoTunes = v
6959	return s
6960}
6961
6962// SetNextToken sets the NextToken field's value.
6963func (s *DescribeDomainAutoTunesOutput) SetNextToken(v string) *DescribeDomainAutoTunesOutput {
6964	s.NextToken = &v
6965	return s
6966}
6967
6968// Container for the parameters to the DescribeElasticsearchDomainConfig operation.
6969// Specifies the domain name for which you want configuration information.
6970type DescribeElasticsearchDomainConfigInput struct {
6971	_ struct{} `type:"structure" nopayload:"true"`
6972
6973	// The Elasticsearch domain that you want to get information about.
6974	//
6975	// DomainName is a required field
6976	DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"`
6977}
6978
6979// String returns the string representation.
6980//
6981// API parameter values that are decorated as "sensitive" in the API will not
6982// be included in the string output. The member name will be present, but the
6983// value will be replaced with "sensitive".
6984func (s DescribeElasticsearchDomainConfigInput) String() string {
6985	return awsutil.Prettify(s)
6986}
6987
6988// GoString returns the string representation.
6989//
6990// API parameter values that are decorated as "sensitive" in the API will not
6991// be included in the string output. The member name will be present, but the
6992// value will be replaced with "sensitive".
6993func (s DescribeElasticsearchDomainConfigInput) GoString() string {
6994	return s.String()
6995}
6996
6997// Validate inspects the fields of the type to determine if they are valid.
6998func (s *DescribeElasticsearchDomainConfigInput) Validate() error {
6999	invalidParams := request.ErrInvalidParams{Context: "DescribeElasticsearchDomainConfigInput"}
7000	if s.DomainName == nil {
7001		invalidParams.Add(request.NewErrParamRequired("DomainName"))
7002	}
7003	if s.DomainName != nil && len(*s.DomainName) < 3 {
7004		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
7005	}
7006
7007	if invalidParams.Len() > 0 {
7008		return invalidParams
7009	}
7010	return nil
7011}
7012
7013// SetDomainName sets the DomainName field's value.
7014func (s *DescribeElasticsearchDomainConfigInput) SetDomainName(v string) *DescribeElasticsearchDomainConfigInput {
7015	s.DomainName = &v
7016	return s
7017}
7018
7019// The result of a DescribeElasticsearchDomainConfig request. Contains the configuration
7020// information of the requested domain.
7021type DescribeElasticsearchDomainConfigOutput struct {
7022	_ struct{} `type:"structure"`
7023
7024	// The configuration information of the domain requested in the DescribeElasticsearchDomainConfig
7025	// request.
7026	//
7027	// DomainConfig is a required field
7028	DomainConfig *ElasticsearchDomainConfig `type:"structure" required:"true"`
7029}
7030
7031// String returns the string representation.
7032//
7033// API parameter values that are decorated as "sensitive" in the API will not
7034// be included in the string output. The member name will be present, but the
7035// value will be replaced with "sensitive".
7036func (s DescribeElasticsearchDomainConfigOutput) String() string {
7037	return awsutil.Prettify(s)
7038}
7039
7040// GoString returns the string representation.
7041//
7042// API parameter values that are decorated as "sensitive" in the API will not
7043// be included in the string output. The member name will be present, but the
7044// value will be replaced with "sensitive".
7045func (s DescribeElasticsearchDomainConfigOutput) GoString() string {
7046	return s.String()
7047}
7048
7049// SetDomainConfig sets the DomainConfig field's value.
7050func (s *DescribeElasticsearchDomainConfigOutput) SetDomainConfig(v *ElasticsearchDomainConfig) *DescribeElasticsearchDomainConfigOutput {
7051	s.DomainConfig = v
7052	return s
7053}
7054
7055// Container for the parameters to the DescribeElasticsearchDomain operation.
7056type DescribeElasticsearchDomainInput struct {
7057	_ struct{} `type:"structure" nopayload:"true"`
7058
7059	// The name of the Elasticsearch domain for which you want information.
7060	//
7061	// DomainName is a required field
7062	DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"`
7063}
7064
7065// String returns the string representation.
7066//
7067// API parameter values that are decorated as "sensitive" in the API will not
7068// be included in the string output. The member name will be present, but the
7069// value will be replaced with "sensitive".
7070func (s DescribeElasticsearchDomainInput) String() string {
7071	return awsutil.Prettify(s)
7072}
7073
7074// GoString returns the string representation.
7075//
7076// API parameter values that are decorated as "sensitive" in the API will not
7077// be included in the string output. The member name will be present, but the
7078// value will be replaced with "sensitive".
7079func (s DescribeElasticsearchDomainInput) GoString() string {
7080	return s.String()
7081}
7082
7083// Validate inspects the fields of the type to determine if they are valid.
7084func (s *DescribeElasticsearchDomainInput) Validate() error {
7085	invalidParams := request.ErrInvalidParams{Context: "DescribeElasticsearchDomainInput"}
7086	if s.DomainName == nil {
7087		invalidParams.Add(request.NewErrParamRequired("DomainName"))
7088	}
7089	if s.DomainName != nil && len(*s.DomainName) < 3 {
7090		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
7091	}
7092
7093	if invalidParams.Len() > 0 {
7094		return invalidParams
7095	}
7096	return nil
7097}
7098
7099// SetDomainName sets the DomainName field's value.
7100func (s *DescribeElasticsearchDomainInput) SetDomainName(v string) *DescribeElasticsearchDomainInput {
7101	s.DomainName = &v
7102	return s
7103}
7104
7105// The result of a DescribeElasticsearchDomain request. Contains the status
7106// of the domain specified in the request.
7107type DescribeElasticsearchDomainOutput struct {
7108	_ struct{} `type:"structure"`
7109
7110	// The current status of the Elasticsearch domain.
7111	//
7112	// DomainStatus is a required field
7113	DomainStatus *ElasticsearchDomainStatus `type:"structure" required:"true"`
7114}
7115
7116// String returns the string representation.
7117//
7118// API parameter values that are decorated as "sensitive" in the API will not
7119// be included in the string output. The member name will be present, but the
7120// value will be replaced with "sensitive".
7121func (s DescribeElasticsearchDomainOutput) String() string {
7122	return awsutil.Prettify(s)
7123}
7124
7125// GoString returns the string representation.
7126//
7127// API parameter values that are decorated as "sensitive" in the API will not
7128// be included in the string output. The member name will be present, but the
7129// value will be replaced with "sensitive".
7130func (s DescribeElasticsearchDomainOutput) GoString() string {
7131	return s.String()
7132}
7133
7134// SetDomainStatus sets the DomainStatus field's value.
7135func (s *DescribeElasticsearchDomainOutput) SetDomainStatus(v *ElasticsearchDomainStatus) *DescribeElasticsearchDomainOutput {
7136	s.DomainStatus = v
7137	return s
7138}
7139
7140// Container for the parameters to the DescribeElasticsearchDomains operation.
7141// By default, the API returns the status of all Elasticsearch domains.
7142type DescribeElasticsearchDomainsInput struct {
7143	_ struct{} `type:"structure"`
7144
7145	// The Elasticsearch domains for which you want information.
7146	//
7147	// DomainNames is a required field
7148	DomainNames []*string `type:"list" required:"true"`
7149}
7150
7151// String returns the string representation.
7152//
7153// API parameter values that are decorated as "sensitive" in the API will not
7154// be included in the string output. The member name will be present, but the
7155// value will be replaced with "sensitive".
7156func (s DescribeElasticsearchDomainsInput) String() string {
7157	return awsutil.Prettify(s)
7158}
7159
7160// GoString returns the string representation.
7161//
7162// API parameter values that are decorated as "sensitive" in the API will not
7163// be included in the string output. The member name will be present, but the
7164// value will be replaced with "sensitive".
7165func (s DescribeElasticsearchDomainsInput) GoString() string {
7166	return s.String()
7167}
7168
7169// Validate inspects the fields of the type to determine if they are valid.
7170func (s *DescribeElasticsearchDomainsInput) Validate() error {
7171	invalidParams := request.ErrInvalidParams{Context: "DescribeElasticsearchDomainsInput"}
7172	if s.DomainNames == nil {
7173		invalidParams.Add(request.NewErrParamRequired("DomainNames"))
7174	}
7175
7176	if invalidParams.Len() > 0 {
7177		return invalidParams
7178	}
7179	return nil
7180}
7181
7182// SetDomainNames sets the DomainNames field's value.
7183func (s *DescribeElasticsearchDomainsInput) SetDomainNames(v []*string) *DescribeElasticsearchDomainsInput {
7184	s.DomainNames = v
7185	return s
7186}
7187
7188// The result of a DescribeElasticsearchDomains request. Contains the status
7189// of the specified domains or all domains owned by the account.
7190type DescribeElasticsearchDomainsOutput struct {
7191	_ struct{} `type:"structure"`
7192
7193	// The status of the domains requested in the DescribeElasticsearchDomains request.
7194	//
7195	// DomainStatusList is a required field
7196	DomainStatusList []*ElasticsearchDomainStatus `type:"list" required:"true"`
7197}
7198
7199// String returns the string representation.
7200//
7201// API parameter values that are decorated as "sensitive" in the API will not
7202// be included in the string output. The member name will be present, but the
7203// value will be replaced with "sensitive".
7204func (s DescribeElasticsearchDomainsOutput) String() string {
7205	return awsutil.Prettify(s)
7206}
7207
7208// GoString returns the string representation.
7209//
7210// API parameter values that are decorated as "sensitive" in the API will not
7211// be included in the string output. The member name will be present, but the
7212// value will be replaced with "sensitive".
7213func (s DescribeElasticsearchDomainsOutput) GoString() string {
7214	return s.String()
7215}
7216
7217// SetDomainStatusList sets the DomainStatusList field's value.
7218func (s *DescribeElasticsearchDomainsOutput) SetDomainStatusList(v []*ElasticsearchDomainStatus) *DescribeElasticsearchDomainsOutput {
7219	s.DomainStatusList = v
7220	return s
7221}
7222
7223// Container for the parameters to DescribeElasticsearchInstanceTypeLimits operation.
7224type DescribeElasticsearchInstanceTypeLimitsInput struct {
7225	_ struct{} `type:"structure" nopayload:"true"`
7226
7227	// DomainName represents the name of the Domain that we are trying to modify.
7228	// This should be present only if we are querying for Elasticsearch Limits for
7229	// existing domain.
7230	DomainName *string `location:"querystring" locationName:"domainName" min:"3" type:"string"`
7231
7232	// Version of Elasticsearch for which Limits are needed.
7233	//
7234	// ElasticsearchVersion is a required field
7235	ElasticsearchVersion *string `location:"uri" locationName:"ElasticsearchVersion" type:"string" required:"true"`
7236
7237	// The instance type for an Elasticsearch cluster for which Elasticsearch Limits
7238	// are needed.
7239	//
7240	// InstanceType is a required field
7241	InstanceType *string `location:"uri" locationName:"InstanceType" type:"string" required:"true" enum:"ESPartitionInstanceType"`
7242}
7243
7244// String returns the string representation.
7245//
7246// API parameter values that are decorated as "sensitive" in the API will not
7247// be included in the string output. The member name will be present, but the
7248// value will be replaced with "sensitive".
7249func (s DescribeElasticsearchInstanceTypeLimitsInput) String() string {
7250	return awsutil.Prettify(s)
7251}
7252
7253// GoString returns the string representation.
7254//
7255// API parameter values that are decorated as "sensitive" in the API will not
7256// be included in the string output. The member name will be present, but the
7257// value will be replaced with "sensitive".
7258func (s DescribeElasticsearchInstanceTypeLimitsInput) GoString() string {
7259	return s.String()
7260}
7261
7262// Validate inspects the fields of the type to determine if they are valid.
7263func (s *DescribeElasticsearchInstanceTypeLimitsInput) Validate() error {
7264	invalidParams := request.ErrInvalidParams{Context: "DescribeElasticsearchInstanceTypeLimitsInput"}
7265	if s.DomainName != nil && len(*s.DomainName) < 3 {
7266		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
7267	}
7268	if s.ElasticsearchVersion == nil {
7269		invalidParams.Add(request.NewErrParamRequired("ElasticsearchVersion"))
7270	}
7271	if s.ElasticsearchVersion != nil && len(*s.ElasticsearchVersion) < 1 {
7272		invalidParams.Add(request.NewErrParamMinLen("ElasticsearchVersion", 1))
7273	}
7274	if s.InstanceType == nil {
7275		invalidParams.Add(request.NewErrParamRequired("InstanceType"))
7276	}
7277	if s.InstanceType != nil && len(*s.InstanceType) < 1 {
7278		invalidParams.Add(request.NewErrParamMinLen("InstanceType", 1))
7279	}
7280
7281	if invalidParams.Len() > 0 {
7282		return invalidParams
7283	}
7284	return nil
7285}
7286
7287// SetDomainName sets the DomainName field's value.
7288func (s *DescribeElasticsearchInstanceTypeLimitsInput) SetDomainName(v string) *DescribeElasticsearchInstanceTypeLimitsInput {
7289	s.DomainName = &v
7290	return s
7291}
7292
7293// SetElasticsearchVersion sets the ElasticsearchVersion field's value.
7294func (s *DescribeElasticsearchInstanceTypeLimitsInput) SetElasticsearchVersion(v string) *DescribeElasticsearchInstanceTypeLimitsInput {
7295	s.ElasticsearchVersion = &v
7296	return s
7297}
7298
7299// SetInstanceType sets the InstanceType field's value.
7300func (s *DescribeElasticsearchInstanceTypeLimitsInput) SetInstanceType(v string) *DescribeElasticsearchInstanceTypeLimitsInput {
7301	s.InstanceType = &v
7302	return s
7303}
7304
7305// Container for the parameters received from DescribeElasticsearchInstanceTypeLimits
7306// operation.
7307type DescribeElasticsearchInstanceTypeLimitsOutput struct {
7308	_ struct{} `type:"structure"`
7309
7310	// Map of Role of the Instance and Limits that are applicable. Role performed
7311	// by given Instance in Elasticsearch can be one of the following:
7312	//    * data: If the given InstanceType is used as data node
7313	//
7314	//    * master: If the given InstanceType is used as master node
7315	//
7316	//    * ultra_warm: If the given InstanceType is used as warm node
7317	LimitsByRole map[string]*Limits `type:"map"`
7318}
7319
7320// String returns the string representation.
7321//
7322// API parameter values that are decorated as "sensitive" in the API will not
7323// be included in the string output. The member name will be present, but the
7324// value will be replaced with "sensitive".
7325func (s DescribeElasticsearchInstanceTypeLimitsOutput) String() string {
7326	return awsutil.Prettify(s)
7327}
7328
7329// GoString returns the string representation.
7330//
7331// API parameter values that are decorated as "sensitive" in the API will not
7332// be included in the string output. The member name will be present, but the
7333// value will be replaced with "sensitive".
7334func (s DescribeElasticsearchInstanceTypeLimitsOutput) GoString() string {
7335	return s.String()
7336}
7337
7338// SetLimitsByRole sets the LimitsByRole field's value.
7339func (s *DescribeElasticsearchInstanceTypeLimitsOutput) SetLimitsByRole(v map[string]*Limits) *DescribeElasticsearchInstanceTypeLimitsOutput {
7340	s.LimitsByRole = v
7341	return s
7342}
7343
7344// Container for the parameters to the DescribeInboundCrossClusterSearchConnections
7345// operation.
7346type DescribeInboundCrossClusterSearchConnectionsInput struct {
7347	_ struct{} `type:"structure"`
7348
7349	// A list of filters used to match properties for inbound cross-cluster search
7350	// connection. Available Filter names for this operation are:
7351	//    * cross-cluster-search-connection-id
7352	//
7353	//    * source-domain-info.domain-name
7354	//
7355	//    * source-domain-info.owner-id
7356	//
7357	//    * source-domain-info.region
7358	//
7359	//    * destination-domain-info.domain-name
7360	Filters []*Filter `type:"list"`
7361
7362	// Set this value to limit the number of results returned. If not specified,
7363	// defaults to 100.
7364	MaxResults *int64 `type:"integer"`
7365
7366	// NextToken is sent in case the earlier API call results contain the NextToken.
7367	// It is used for pagination.
7368	NextToken *string `type:"string"`
7369}
7370
7371// String returns the string representation.
7372//
7373// API parameter values that are decorated as "sensitive" in the API will not
7374// be included in the string output. The member name will be present, but the
7375// value will be replaced with "sensitive".
7376func (s DescribeInboundCrossClusterSearchConnectionsInput) String() string {
7377	return awsutil.Prettify(s)
7378}
7379
7380// GoString returns the string representation.
7381//
7382// API parameter values that are decorated as "sensitive" in the API will not
7383// be included in the string output. The member name will be present, but the
7384// value will be replaced with "sensitive".
7385func (s DescribeInboundCrossClusterSearchConnectionsInput) GoString() string {
7386	return s.String()
7387}
7388
7389// Validate inspects the fields of the type to determine if they are valid.
7390func (s *DescribeInboundCrossClusterSearchConnectionsInput) Validate() error {
7391	invalidParams := request.ErrInvalidParams{Context: "DescribeInboundCrossClusterSearchConnectionsInput"}
7392	if s.Filters != nil {
7393		for i, v := range s.Filters {
7394			if v == nil {
7395				continue
7396			}
7397			if err := v.Validate(); err != nil {
7398				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
7399			}
7400		}
7401	}
7402
7403	if invalidParams.Len() > 0 {
7404		return invalidParams
7405	}
7406	return nil
7407}
7408
7409// SetFilters sets the Filters field's value.
7410func (s *DescribeInboundCrossClusterSearchConnectionsInput) SetFilters(v []*Filter) *DescribeInboundCrossClusterSearchConnectionsInput {
7411	s.Filters = v
7412	return s
7413}
7414
7415// SetMaxResults sets the MaxResults field's value.
7416func (s *DescribeInboundCrossClusterSearchConnectionsInput) SetMaxResults(v int64) *DescribeInboundCrossClusterSearchConnectionsInput {
7417	s.MaxResults = &v
7418	return s
7419}
7420
7421// SetNextToken sets the NextToken field's value.
7422func (s *DescribeInboundCrossClusterSearchConnectionsInput) SetNextToken(v string) *DescribeInboundCrossClusterSearchConnectionsInput {
7423	s.NextToken = &v
7424	return s
7425}
7426
7427// The result of a DescribeInboundCrossClusterSearchConnections request. Contains
7428// the list of connections matching the filter criteria.
7429type DescribeInboundCrossClusterSearchConnectionsOutput struct {
7430	_ struct{} `type:"structure"`
7431
7432	// Consists of list of InboundCrossClusterSearchConnection matching the specified
7433	// filter criteria.
7434	CrossClusterSearchConnections []*InboundCrossClusterSearchConnection `type:"list"`
7435
7436	// If more results are available and NextToken is present, make the next request
7437	// to the same API with the received NextToken to paginate the remaining results.
7438	NextToken *string `type:"string"`
7439}
7440
7441// String returns the string representation.
7442//
7443// API parameter values that are decorated as "sensitive" in the API will not
7444// be included in the string output. The member name will be present, but the
7445// value will be replaced with "sensitive".
7446func (s DescribeInboundCrossClusterSearchConnectionsOutput) String() string {
7447	return awsutil.Prettify(s)
7448}
7449
7450// GoString returns the string representation.
7451//
7452// API parameter values that are decorated as "sensitive" in the API will not
7453// be included in the string output. The member name will be present, but the
7454// value will be replaced with "sensitive".
7455func (s DescribeInboundCrossClusterSearchConnectionsOutput) GoString() string {
7456	return s.String()
7457}
7458
7459// SetCrossClusterSearchConnections sets the CrossClusterSearchConnections field's value.
7460func (s *DescribeInboundCrossClusterSearchConnectionsOutput) SetCrossClusterSearchConnections(v []*InboundCrossClusterSearchConnection) *DescribeInboundCrossClusterSearchConnectionsOutput {
7461	s.CrossClusterSearchConnections = v
7462	return s
7463}
7464
7465// SetNextToken sets the NextToken field's value.
7466func (s *DescribeInboundCrossClusterSearchConnectionsOutput) SetNextToken(v string) *DescribeInboundCrossClusterSearchConnectionsOutput {
7467	s.NextToken = &v
7468	return s
7469}
7470
7471// Container for the parameters to the DescribeOutboundCrossClusterSearchConnections
7472// operation.
7473type DescribeOutboundCrossClusterSearchConnectionsInput struct {
7474	_ struct{} `type:"structure"`
7475
7476	// A list of filters used to match properties for outbound cross-cluster search
7477	// connection. Available Filter names for this operation are:
7478	//    * cross-cluster-search-connection-id
7479	//
7480	//    * destination-domain-info.domain-name
7481	//
7482	//    * destination-domain-info.owner-id
7483	//
7484	//    * destination-domain-info.region
7485	//
7486	//    * source-domain-info.domain-name
7487	Filters []*Filter `type:"list"`
7488
7489	// Set this value to limit the number of results returned. If not specified,
7490	// defaults to 100.
7491	MaxResults *int64 `type:"integer"`
7492
7493	// NextToken is sent in case the earlier API call results contain the NextToken.
7494	// It is used for pagination.
7495	NextToken *string `type:"string"`
7496}
7497
7498// String returns the string representation.
7499//
7500// API parameter values that are decorated as "sensitive" in the API will not
7501// be included in the string output. The member name will be present, but the
7502// value will be replaced with "sensitive".
7503func (s DescribeOutboundCrossClusterSearchConnectionsInput) String() string {
7504	return awsutil.Prettify(s)
7505}
7506
7507// GoString returns the string representation.
7508//
7509// API parameter values that are decorated as "sensitive" in the API will not
7510// be included in the string output. The member name will be present, but the
7511// value will be replaced with "sensitive".
7512func (s DescribeOutboundCrossClusterSearchConnectionsInput) GoString() string {
7513	return s.String()
7514}
7515
7516// Validate inspects the fields of the type to determine if they are valid.
7517func (s *DescribeOutboundCrossClusterSearchConnectionsInput) Validate() error {
7518	invalidParams := request.ErrInvalidParams{Context: "DescribeOutboundCrossClusterSearchConnectionsInput"}
7519	if s.Filters != nil {
7520		for i, v := range s.Filters {
7521			if v == nil {
7522				continue
7523			}
7524			if err := v.Validate(); err != nil {
7525				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
7526			}
7527		}
7528	}
7529
7530	if invalidParams.Len() > 0 {
7531		return invalidParams
7532	}
7533	return nil
7534}
7535
7536// SetFilters sets the Filters field's value.
7537func (s *DescribeOutboundCrossClusterSearchConnectionsInput) SetFilters(v []*Filter) *DescribeOutboundCrossClusterSearchConnectionsInput {
7538	s.Filters = v
7539	return s
7540}
7541
7542// SetMaxResults sets the MaxResults field's value.
7543func (s *DescribeOutboundCrossClusterSearchConnectionsInput) SetMaxResults(v int64) *DescribeOutboundCrossClusterSearchConnectionsInput {
7544	s.MaxResults = &v
7545	return s
7546}
7547
7548// SetNextToken sets the NextToken field's value.
7549func (s *DescribeOutboundCrossClusterSearchConnectionsInput) SetNextToken(v string) *DescribeOutboundCrossClusterSearchConnectionsInput {
7550	s.NextToken = &v
7551	return s
7552}
7553
7554// The result of a DescribeOutboundCrossClusterSearchConnections request. Contains
7555// the list of connections matching the filter criteria.
7556type DescribeOutboundCrossClusterSearchConnectionsOutput struct {
7557	_ struct{} `type:"structure"`
7558
7559	// Consists of list of OutboundCrossClusterSearchConnection matching the specified
7560	// filter criteria.
7561	CrossClusterSearchConnections []*OutboundCrossClusterSearchConnection `type:"list"`
7562
7563	// If more results are available and NextToken is present, make the next request
7564	// to the same API with the received NextToken to paginate the remaining results.
7565	NextToken *string `type:"string"`
7566}
7567
7568// String returns the string representation.
7569//
7570// API parameter values that are decorated as "sensitive" in the API will not
7571// be included in the string output. The member name will be present, but the
7572// value will be replaced with "sensitive".
7573func (s DescribeOutboundCrossClusterSearchConnectionsOutput) String() string {
7574	return awsutil.Prettify(s)
7575}
7576
7577// GoString returns the string representation.
7578//
7579// API parameter values that are decorated as "sensitive" in the API will not
7580// be included in the string output. The member name will be present, but the
7581// value will be replaced with "sensitive".
7582func (s DescribeOutboundCrossClusterSearchConnectionsOutput) GoString() string {
7583	return s.String()
7584}
7585
7586// SetCrossClusterSearchConnections sets the CrossClusterSearchConnections field's value.
7587func (s *DescribeOutboundCrossClusterSearchConnectionsOutput) SetCrossClusterSearchConnections(v []*OutboundCrossClusterSearchConnection) *DescribeOutboundCrossClusterSearchConnectionsOutput {
7588	s.CrossClusterSearchConnections = v
7589	return s
7590}
7591
7592// SetNextToken sets the NextToken field's value.
7593func (s *DescribeOutboundCrossClusterSearchConnectionsOutput) SetNextToken(v string) *DescribeOutboundCrossClusterSearchConnectionsOutput {
7594	s.NextToken = &v
7595	return s
7596}
7597
7598// Filter to apply in DescribePackage response.
7599type DescribePackagesFilter struct {
7600	_ struct{} `type:"structure"`
7601
7602	// Any field from PackageDetails.
7603	Name *string `type:"string" enum:"DescribePackagesFilterName"`
7604
7605	// A list of values for the specified field.
7606	Value []*string `type:"list"`
7607}
7608
7609// String returns the string representation.
7610//
7611// API parameter values that are decorated as "sensitive" in the API will not
7612// be included in the string output. The member name will be present, but the
7613// value will be replaced with "sensitive".
7614func (s DescribePackagesFilter) String() string {
7615	return awsutil.Prettify(s)
7616}
7617
7618// GoString returns the string representation.
7619//
7620// API parameter values that are decorated as "sensitive" in the API will not
7621// be included in the string output. The member name will be present, but the
7622// value will be replaced with "sensitive".
7623func (s DescribePackagesFilter) GoString() string {
7624	return s.String()
7625}
7626
7627// SetName sets the Name field's value.
7628func (s *DescribePackagesFilter) SetName(v string) *DescribePackagesFilter {
7629	s.Name = &v
7630	return s
7631}
7632
7633// SetValue sets the Value field's value.
7634func (s *DescribePackagesFilter) SetValue(v []*string) *DescribePackagesFilter {
7635	s.Value = v
7636	return s
7637}
7638
7639// Container for request parameters to DescribePackage operation.
7640type DescribePackagesInput struct {
7641	_ struct{} `type:"structure"`
7642
7643	// Only returns packages that match the DescribePackagesFilterList values.
7644	Filters []*DescribePackagesFilter `type:"list"`
7645
7646	// Limits results to a maximum number of packages.
7647	MaxResults *int64 `type:"integer"`
7648
7649	// Used for pagination. Only necessary if a previous API call includes a non-null
7650	// NextToken value. If provided, returns results for the next page.
7651	NextToken *string `type:"string"`
7652}
7653
7654// String returns the string representation.
7655//
7656// API parameter values that are decorated as "sensitive" in the API will not
7657// be included in the string output. The member name will be present, but the
7658// value will be replaced with "sensitive".
7659func (s DescribePackagesInput) String() string {
7660	return awsutil.Prettify(s)
7661}
7662
7663// GoString returns the string representation.
7664//
7665// API parameter values that are decorated as "sensitive" in the API will not
7666// be included in the string output. The member name will be present, but the
7667// value will be replaced with "sensitive".
7668func (s DescribePackagesInput) GoString() string {
7669	return s.String()
7670}
7671
7672// SetFilters sets the Filters field's value.
7673func (s *DescribePackagesInput) SetFilters(v []*DescribePackagesFilter) *DescribePackagesInput {
7674	s.Filters = v
7675	return s
7676}
7677
7678// SetMaxResults sets the MaxResults field's value.
7679func (s *DescribePackagesInput) SetMaxResults(v int64) *DescribePackagesInput {
7680	s.MaxResults = &v
7681	return s
7682}
7683
7684// SetNextToken sets the NextToken field's value.
7685func (s *DescribePackagesInput) SetNextToken(v string) *DescribePackagesInput {
7686	s.NextToken = &v
7687	return s
7688}
7689
7690// Container for response returned by DescribePackages operation.
7691type DescribePackagesOutput struct {
7692	_ struct{} `type:"structure"`
7693
7694	NextToken *string `type:"string"`
7695
7696	// List of PackageDetails objects.
7697	PackageDetailsList []*PackageDetails `type:"list"`
7698}
7699
7700// String returns the string representation.
7701//
7702// API parameter values that are decorated as "sensitive" in the API will not
7703// be included in the string output. The member name will be present, but the
7704// value will be replaced with "sensitive".
7705func (s DescribePackagesOutput) String() string {
7706	return awsutil.Prettify(s)
7707}
7708
7709// GoString returns the string representation.
7710//
7711// API parameter values that are decorated as "sensitive" in the API will not
7712// be included in the string output. The member name will be present, but the
7713// value will be replaced with "sensitive".
7714func (s DescribePackagesOutput) GoString() string {
7715	return s.String()
7716}
7717
7718// SetNextToken sets the NextToken field's value.
7719func (s *DescribePackagesOutput) SetNextToken(v string) *DescribePackagesOutput {
7720	s.NextToken = &v
7721	return s
7722}
7723
7724// SetPackageDetailsList sets the PackageDetailsList field's value.
7725func (s *DescribePackagesOutput) SetPackageDetailsList(v []*PackageDetails) *DescribePackagesOutput {
7726	s.PackageDetailsList = v
7727	return s
7728}
7729
7730// Container for parameters to DescribeReservedElasticsearchInstanceOfferings
7731type DescribeReservedElasticsearchInstanceOfferingsInput struct {
7732	_ struct{} `type:"structure" nopayload:"true"`
7733
7734	// Set this value to limit the number of results returned. If not specified,
7735	// defaults to 100.
7736	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
7737
7738	// NextToken should be sent in case if earlier API call produced result containing
7739	// NextToken. It is used for pagination.
7740	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
7741
7742	// The offering identifier filter value. Use this parameter to show only the
7743	// available offering that matches the specified reservation identifier.
7744	ReservedElasticsearchInstanceOfferingId *string `location:"querystring" locationName:"offeringId" type:"string"`
7745}
7746
7747// String returns the string representation.
7748//
7749// API parameter values that are decorated as "sensitive" in the API will not
7750// be included in the string output. The member name will be present, but the
7751// value will be replaced with "sensitive".
7752func (s DescribeReservedElasticsearchInstanceOfferingsInput) String() string {
7753	return awsutil.Prettify(s)
7754}
7755
7756// GoString returns the string representation.
7757//
7758// API parameter values that are decorated as "sensitive" in the API will not
7759// be included in the string output. The member name will be present, but the
7760// value will be replaced with "sensitive".
7761func (s DescribeReservedElasticsearchInstanceOfferingsInput) GoString() string {
7762	return s.String()
7763}
7764
7765// SetMaxResults sets the MaxResults field's value.
7766func (s *DescribeReservedElasticsearchInstanceOfferingsInput) SetMaxResults(v int64) *DescribeReservedElasticsearchInstanceOfferingsInput {
7767	s.MaxResults = &v
7768	return s
7769}
7770
7771// SetNextToken sets the NextToken field's value.
7772func (s *DescribeReservedElasticsearchInstanceOfferingsInput) SetNextToken(v string) *DescribeReservedElasticsearchInstanceOfferingsInput {
7773	s.NextToken = &v
7774	return s
7775}
7776
7777// SetReservedElasticsearchInstanceOfferingId sets the ReservedElasticsearchInstanceOfferingId field's value.
7778func (s *DescribeReservedElasticsearchInstanceOfferingsInput) SetReservedElasticsearchInstanceOfferingId(v string) *DescribeReservedElasticsearchInstanceOfferingsInput {
7779	s.ReservedElasticsearchInstanceOfferingId = &v
7780	return s
7781}
7782
7783// Container for results from DescribeReservedElasticsearchInstanceOfferings
7784type DescribeReservedElasticsearchInstanceOfferingsOutput struct {
7785	_ struct{} `type:"structure"`
7786
7787	// Provides an identifier to allow retrieval of paginated results.
7788	NextToken *string `type:"string"`
7789
7790	// List of reserved Elasticsearch instance offerings
7791	ReservedElasticsearchInstanceOfferings []*ReservedElasticsearchInstanceOffering `type:"list"`
7792}
7793
7794// String returns the string representation.
7795//
7796// API parameter values that are decorated as "sensitive" in the API will not
7797// be included in the string output. The member name will be present, but the
7798// value will be replaced with "sensitive".
7799func (s DescribeReservedElasticsearchInstanceOfferingsOutput) String() string {
7800	return awsutil.Prettify(s)
7801}
7802
7803// GoString returns the string representation.
7804//
7805// API parameter values that are decorated as "sensitive" in the API will not
7806// be included in the string output. The member name will be present, but the
7807// value will be replaced with "sensitive".
7808func (s DescribeReservedElasticsearchInstanceOfferingsOutput) GoString() string {
7809	return s.String()
7810}
7811
7812// SetNextToken sets the NextToken field's value.
7813func (s *DescribeReservedElasticsearchInstanceOfferingsOutput) SetNextToken(v string) *DescribeReservedElasticsearchInstanceOfferingsOutput {
7814	s.NextToken = &v
7815	return s
7816}
7817
7818// SetReservedElasticsearchInstanceOfferings sets the ReservedElasticsearchInstanceOfferings field's value.
7819func (s *DescribeReservedElasticsearchInstanceOfferingsOutput) SetReservedElasticsearchInstanceOfferings(v []*ReservedElasticsearchInstanceOffering) *DescribeReservedElasticsearchInstanceOfferingsOutput {
7820	s.ReservedElasticsearchInstanceOfferings = v
7821	return s
7822}
7823
7824// Container for parameters to DescribeReservedElasticsearchInstances
7825type DescribeReservedElasticsearchInstancesInput struct {
7826	_ struct{} `type:"structure" nopayload:"true"`
7827
7828	// Set this value to limit the number of results returned. If not specified,
7829	// defaults to 100.
7830	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
7831
7832	// NextToken should be sent in case if earlier API call produced result containing
7833	// NextToken. It is used for pagination.
7834	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
7835
7836	// The reserved instance identifier filter value. Use this parameter to show
7837	// only the reservation that matches the specified reserved Elasticsearch instance
7838	// ID.
7839	ReservedElasticsearchInstanceId *string `location:"querystring" locationName:"reservationId" type:"string"`
7840}
7841
7842// String returns the string representation.
7843//
7844// API parameter values that are decorated as "sensitive" in the API will not
7845// be included in the string output. The member name will be present, but the
7846// value will be replaced with "sensitive".
7847func (s DescribeReservedElasticsearchInstancesInput) String() string {
7848	return awsutil.Prettify(s)
7849}
7850
7851// GoString returns the string representation.
7852//
7853// API parameter values that are decorated as "sensitive" in the API will not
7854// be included in the string output. The member name will be present, but the
7855// value will be replaced with "sensitive".
7856func (s DescribeReservedElasticsearchInstancesInput) GoString() string {
7857	return s.String()
7858}
7859
7860// SetMaxResults sets the MaxResults field's value.
7861func (s *DescribeReservedElasticsearchInstancesInput) SetMaxResults(v int64) *DescribeReservedElasticsearchInstancesInput {
7862	s.MaxResults = &v
7863	return s
7864}
7865
7866// SetNextToken sets the NextToken field's value.
7867func (s *DescribeReservedElasticsearchInstancesInput) SetNextToken(v string) *DescribeReservedElasticsearchInstancesInput {
7868	s.NextToken = &v
7869	return s
7870}
7871
7872// SetReservedElasticsearchInstanceId sets the ReservedElasticsearchInstanceId field's value.
7873func (s *DescribeReservedElasticsearchInstancesInput) SetReservedElasticsearchInstanceId(v string) *DescribeReservedElasticsearchInstancesInput {
7874	s.ReservedElasticsearchInstanceId = &v
7875	return s
7876}
7877
7878// Container for results from DescribeReservedElasticsearchInstances
7879type DescribeReservedElasticsearchInstancesOutput struct {
7880	_ struct{} `type:"structure"`
7881
7882	// Provides an identifier to allow retrieval of paginated results.
7883	NextToken *string `type:"string"`
7884
7885	// List of reserved Elasticsearch instances.
7886	ReservedElasticsearchInstances []*ReservedElasticsearchInstance `type:"list"`
7887}
7888
7889// String returns the string representation.
7890//
7891// API parameter values that are decorated as "sensitive" in the API will not
7892// be included in the string output. The member name will be present, but the
7893// value will be replaced with "sensitive".
7894func (s DescribeReservedElasticsearchInstancesOutput) String() string {
7895	return awsutil.Prettify(s)
7896}
7897
7898// GoString returns the string representation.
7899//
7900// API parameter values that are decorated as "sensitive" in the API will not
7901// be included in the string output. The member name will be present, but the
7902// value will be replaced with "sensitive".
7903func (s DescribeReservedElasticsearchInstancesOutput) GoString() string {
7904	return s.String()
7905}
7906
7907// SetNextToken sets the NextToken field's value.
7908func (s *DescribeReservedElasticsearchInstancesOutput) SetNextToken(v string) *DescribeReservedElasticsearchInstancesOutput {
7909	s.NextToken = &v
7910	return s
7911}
7912
7913// SetReservedElasticsearchInstances sets the ReservedElasticsearchInstances field's value.
7914func (s *DescribeReservedElasticsearchInstancesOutput) SetReservedElasticsearchInstances(v []*ReservedElasticsearchInstance) *DescribeReservedElasticsearchInstancesOutput {
7915	s.ReservedElasticsearchInstances = v
7916	return s
7917}
7918
7919// An error occured because the client wanted to access a not supported operation.
7920// Gives http status code of 409.
7921type DisabledOperationException struct {
7922	_            struct{}                  `type:"structure"`
7923	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7924
7925	Message_ *string `locationName:"message" type:"string"`
7926}
7927
7928// String returns the string representation.
7929//
7930// API parameter values that are decorated as "sensitive" in the API will not
7931// be included in the string output. The member name will be present, but the
7932// value will be replaced with "sensitive".
7933func (s DisabledOperationException) String() string {
7934	return awsutil.Prettify(s)
7935}
7936
7937// GoString returns the string representation.
7938//
7939// API parameter values that are decorated as "sensitive" in the API will not
7940// be included in the string output. The member name will be present, but the
7941// value will be replaced with "sensitive".
7942func (s DisabledOperationException) GoString() string {
7943	return s.String()
7944}
7945
7946func newErrorDisabledOperationException(v protocol.ResponseMetadata) error {
7947	return &DisabledOperationException{
7948		RespMetadata: v,
7949	}
7950}
7951
7952// Code returns the exception type name.
7953func (s *DisabledOperationException) Code() string {
7954	return "DisabledOperationException"
7955}
7956
7957// Message returns the exception's message.
7958func (s *DisabledOperationException) Message() string {
7959	if s.Message_ != nil {
7960		return *s.Message_
7961	}
7962	return ""
7963}
7964
7965// OrigErr always returns nil, satisfies awserr.Error interface.
7966func (s *DisabledOperationException) OrigErr() error {
7967	return nil
7968}
7969
7970func (s *DisabledOperationException) Error() string {
7971	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
7972}
7973
7974// Status code returns the HTTP status code for the request's response error.
7975func (s *DisabledOperationException) StatusCode() int {
7976	return s.RespMetadata.StatusCode
7977}
7978
7979// RequestID returns the service's response RequestID for request.
7980func (s *DisabledOperationException) RequestID() string {
7981	return s.RespMetadata.RequestID
7982}
7983
7984// Container for request parameters to DissociatePackage operation.
7985type DissociatePackageInput struct {
7986	_ struct{} `type:"structure" nopayload:"true"`
7987
7988	// Name of the domain that you want to associate the package with.
7989	//
7990	// DomainName is a required field
7991	DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"`
7992
7993	// Internal ID of the package that you want to associate with a domain. Use
7994	// DescribePackages to find this value.
7995	//
7996	// PackageID is a required field
7997	PackageID *string `location:"uri" locationName:"PackageID" type:"string" required:"true"`
7998}
7999
8000// String returns the string representation.
8001//
8002// API parameter values that are decorated as "sensitive" in the API will not
8003// be included in the string output. The member name will be present, but the
8004// value will be replaced with "sensitive".
8005func (s DissociatePackageInput) String() string {
8006	return awsutil.Prettify(s)
8007}
8008
8009// GoString returns the string representation.
8010//
8011// API parameter values that are decorated as "sensitive" in the API will not
8012// be included in the string output. The member name will be present, but the
8013// value will be replaced with "sensitive".
8014func (s DissociatePackageInput) GoString() string {
8015	return s.String()
8016}
8017
8018// Validate inspects the fields of the type to determine if they are valid.
8019func (s *DissociatePackageInput) Validate() error {
8020	invalidParams := request.ErrInvalidParams{Context: "DissociatePackageInput"}
8021	if s.DomainName == nil {
8022		invalidParams.Add(request.NewErrParamRequired("DomainName"))
8023	}
8024	if s.DomainName != nil && len(*s.DomainName) < 3 {
8025		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
8026	}
8027	if s.PackageID == nil {
8028		invalidParams.Add(request.NewErrParamRequired("PackageID"))
8029	}
8030	if s.PackageID != nil && len(*s.PackageID) < 1 {
8031		invalidParams.Add(request.NewErrParamMinLen("PackageID", 1))
8032	}
8033
8034	if invalidParams.Len() > 0 {
8035		return invalidParams
8036	}
8037	return nil
8038}
8039
8040// SetDomainName sets the DomainName field's value.
8041func (s *DissociatePackageInput) SetDomainName(v string) *DissociatePackageInput {
8042	s.DomainName = &v
8043	return s
8044}
8045
8046// SetPackageID sets the PackageID field's value.
8047func (s *DissociatePackageInput) SetPackageID(v string) *DissociatePackageInput {
8048	s.PackageID = &v
8049	return s
8050}
8051
8052// Container for response returned by DissociatePackage operation.
8053type DissociatePackageOutput struct {
8054	_ struct{} `type:"structure"`
8055
8056	// DomainPackageDetails
8057	DomainPackageDetails *DomainPackageDetails `type:"structure"`
8058}
8059
8060// String returns the string representation.
8061//
8062// API parameter values that are decorated as "sensitive" in the API will not
8063// be included in the string output. The member name will be present, but the
8064// value will be replaced with "sensitive".
8065func (s DissociatePackageOutput) String() string {
8066	return awsutil.Prettify(s)
8067}
8068
8069// GoString returns the string representation.
8070//
8071// API parameter values that are decorated as "sensitive" in the API will not
8072// be included in the string output. The member name will be present, but the
8073// value will be replaced with "sensitive".
8074func (s DissociatePackageOutput) GoString() string {
8075	return s.String()
8076}
8077
8078// SetDomainPackageDetails sets the DomainPackageDetails field's value.
8079func (s *DissociatePackageOutput) SetDomainPackageDetails(v *DomainPackageDetails) *DissociatePackageOutput {
8080	s.DomainPackageDetails = v
8081	return s
8082}
8083
8084// Options to configure endpoint for the Elasticsearch domain.
8085type DomainEndpointOptions struct {
8086	_ struct{} `type:"structure"`
8087
8088	// Specify the fully qualified domain for your custom endpoint.
8089	CustomEndpoint *string `min:"1" type:"string"`
8090
8091	// Specify ACM certificate ARN for your custom endpoint.
8092	CustomEndpointCertificateArn *string `type:"string"`
8093
8094	// Specify if custom endpoint should be enabled for the Elasticsearch domain.
8095	CustomEndpointEnabled *bool `type:"boolean"`
8096
8097	// Specify if only HTTPS endpoint should be enabled for the Elasticsearch domain.
8098	EnforceHTTPS *bool `type:"boolean"`
8099
8100	// Specify the TLS security policy that needs to be applied to the HTTPS endpoint
8101	// of Elasticsearch domain. It can be one of the following values:
8102	//    * Policy-Min-TLS-1-0-2019-07: TLS security policy which supports TLSv1.0
8103	//    and higher.
8104	//
8105	//    * Policy-Min-TLS-1-2-2019-07: TLS security policy which supports only
8106	//    TLSv1.2
8107	TLSSecurityPolicy *string `type:"string" enum:"TLSSecurityPolicy"`
8108}
8109
8110// String returns the string representation.
8111//
8112// API parameter values that are decorated as "sensitive" in the API will not
8113// be included in the string output. The member name will be present, but the
8114// value will be replaced with "sensitive".
8115func (s DomainEndpointOptions) String() string {
8116	return awsutil.Prettify(s)
8117}
8118
8119// GoString returns the string representation.
8120//
8121// API parameter values that are decorated as "sensitive" in the API will not
8122// be included in the string output. The member name will be present, but the
8123// value will be replaced with "sensitive".
8124func (s DomainEndpointOptions) GoString() string {
8125	return s.String()
8126}
8127
8128// Validate inspects the fields of the type to determine if they are valid.
8129func (s *DomainEndpointOptions) Validate() error {
8130	invalidParams := request.ErrInvalidParams{Context: "DomainEndpointOptions"}
8131	if s.CustomEndpoint != nil && len(*s.CustomEndpoint) < 1 {
8132		invalidParams.Add(request.NewErrParamMinLen("CustomEndpoint", 1))
8133	}
8134
8135	if invalidParams.Len() > 0 {
8136		return invalidParams
8137	}
8138	return nil
8139}
8140
8141// SetCustomEndpoint sets the CustomEndpoint field's value.
8142func (s *DomainEndpointOptions) SetCustomEndpoint(v string) *DomainEndpointOptions {
8143	s.CustomEndpoint = &v
8144	return s
8145}
8146
8147// SetCustomEndpointCertificateArn sets the CustomEndpointCertificateArn field's value.
8148func (s *DomainEndpointOptions) SetCustomEndpointCertificateArn(v string) *DomainEndpointOptions {
8149	s.CustomEndpointCertificateArn = &v
8150	return s
8151}
8152
8153// SetCustomEndpointEnabled sets the CustomEndpointEnabled field's value.
8154func (s *DomainEndpointOptions) SetCustomEndpointEnabled(v bool) *DomainEndpointOptions {
8155	s.CustomEndpointEnabled = &v
8156	return s
8157}
8158
8159// SetEnforceHTTPS sets the EnforceHTTPS field's value.
8160func (s *DomainEndpointOptions) SetEnforceHTTPS(v bool) *DomainEndpointOptions {
8161	s.EnforceHTTPS = &v
8162	return s
8163}
8164
8165// SetTLSSecurityPolicy sets the TLSSecurityPolicy field's value.
8166func (s *DomainEndpointOptions) SetTLSSecurityPolicy(v string) *DomainEndpointOptions {
8167	s.TLSSecurityPolicy = &v
8168	return s
8169}
8170
8171// The configured endpoint options for the domain and their current status.
8172type DomainEndpointOptionsStatus struct {
8173	_ struct{} `type:"structure"`
8174
8175	// Options to configure endpoint for the Elasticsearch domain.
8176	//
8177	// Options is a required field
8178	Options *DomainEndpointOptions `type:"structure" required:"true"`
8179
8180	// The status of the endpoint options for the Elasticsearch domain. See OptionStatus
8181	// for the status information that's included.
8182	//
8183	// Status is a required field
8184	Status *OptionStatus `type:"structure" required:"true"`
8185}
8186
8187// String returns the string representation.
8188//
8189// API parameter values that are decorated as "sensitive" in the API will not
8190// be included in the string output. The member name will be present, but the
8191// value will be replaced with "sensitive".
8192func (s DomainEndpointOptionsStatus) String() string {
8193	return awsutil.Prettify(s)
8194}
8195
8196// GoString returns the string representation.
8197//
8198// API parameter values that are decorated as "sensitive" in the API will not
8199// be included in the string output. The member name will be present, but the
8200// value will be replaced with "sensitive".
8201func (s DomainEndpointOptionsStatus) GoString() string {
8202	return s.String()
8203}
8204
8205// SetOptions sets the Options field's value.
8206func (s *DomainEndpointOptionsStatus) SetOptions(v *DomainEndpointOptions) *DomainEndpointOptionsStatus {
8207	s.Options = v
8208	return s
8209}
8210
8211// SetStatus sets the Status field's value.
8212func (s *DomainEndpointOptionsStatus) SetStatus(v *OptionStatus) *DomainEndpointOptionsStatus {
8213	s.Status = v
8214	return s
8215}
8216
8217type DomainInfo struct {
8218	_ struct{} `type:"structure"`
8219
8220	// Specifies the DomainName.
8221	DomainName *string `min:"3" type:"string"`
8222
8223	// Specifies the EngineType of the domain.
8224	EngineType *string `type:"string" enum:"EngineType"`
8225}
8226
8227// String returns the string representation.
8228//
8229// API parameter values that are decorated as "sensitive" in the API will not
8230// be included in the string output. The member name will be present, but the
8231// value will be replaced with "sensitive".
8232func (s DomainInfo) String() string {
8233	return awsutil.Prettify(s)
8234}
8235
8236// GoString returns the string representation.
8237//
8238// API parameter values that are decorated as "sensitive" in the API will not
8239// be included in the string output. The member name will be present, but the
8240// value will be replaced with "sensitive".
8241func (s DomainInfo) GoString() string {
8242	return s.String()
8243}
8244
8245// SetDomainName sets the DomainName field's value.
8246func (s *DomainInfo) SetDomainName(v string) *DomainInfo {
8247	s.DomainName = &v
8248	return s
8249}
8250
8251// SetEngineType sets the EngineType field's value.
8252func (s *DomainInfo) SetEngineType(v string) *DomainInfo {
8253	s.EngineType = &v
8254	return s
8255}
8256
8257type DomainInformation struct {
8258	_ struct{} `type:"structure"`
8259
8260	// The name of an Elasticsearch domain. Domain names are unique across the domains
8261	// owned by an account within an AWS region. Domain names start with a letter
8262	// or number and can contain the following characters: a-z (lowercase), 0-9,
8263	// and - (hyphen).
8264	//
8265	// DomainName is a required field
8266	DomainName *string `min:"3" type:"string" required:"true"`
8267
8268	OwnerId *string `min:"12" type:"string"`
8269
8270	Region *string `type:"string"`
8271}
8272
8273// String returns the string representation.
8274//
8275// API parameter values that are decorated as "sensitive" in the API will not
8276// be included in the string output. The member name will be present, but the
8277// value will be replaced with "sensitive".
8278func (s DomainInformation) String() string {
8279	return awsutil.Prettify(s)
8280}
8281
8282// GoString returns the string representation.
8283//
8284// API parameter values that are decorated as "sensitive" in the API will not
8285// be included in the string output. The member name will be present, but the
8286// value will be replaced with "sensitive".
8287func (s DomainInformation) GoString() string {
8288	return s.String()
8289}
8290
8291// Validate inspects the fields of the type to determine if they are valid.
8292func (s *DomainInformation) Validate() error {
8293	invalidParams := request.ErrInvalidParams{Context: "DomainInformation"}
8294	if s.DomainName == nil {
8295		invalidParams.Add(request.NewErrParamRequired("DomainName"))
8296	}
8297	if s.DomainName != nil && len(*s.DomainName) < 3 {
8298		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
8299	}
8300	if s.OwnerId != nil && len(*s.OwnerId) < 12 {
8301		invalidParams.Add(request.NewErrParamMinLen("OwnerId", 12))
8302	}
8303
8304	if invalidParams.Len() > 0 {
8305		return invalidParams
8306	}
8307	return nil
8308}
8309
8310// SetDomainName sets the DomainName field's value.
8311func (s *DomainInformation) SetDomainName(v string) *DomainInformation {
8312	s.DomainName = &v
8313	return s
8314}
8315
8316// SetOwnerId sets the OwnerId field's value.
8317func (s *DomainInformation) SetOwnerId(v string) *DomainInformation {
8318	s.OwnerId = &v
8319	return s
8320}
8321
8322// SetRegion sets the Region field's value.
8323func (s *DomainInformation) SetRegion(v string) *DomainInformation {
8324	s.Region = &v
8325	return s
8326}
8327
8328// Information on a package that is associated with a domain.
8329type DomainPackageDetails struct {
8330	_ struct{} `type:"structure"`
8331
8332	// Name of the domain you've associated a package with.
8333	DomainName *string `min:"3" type:"string"`
8334
8335	// State of the association. Values are ASSOCIATING/ASSOCIATION_FAILED/ACTIVE/DISSOCIATING/DISSOCIATION_FAILED.
8336	DomainPackageStatus *string `type:"string" enum:"DomainPackageStatus"`
8337
8338	// Additional information if the package is in an error state. Null otherwise.
8339	ErrorDetails *ErrorDetails `type:"structure"`
8340
8341	// Timestamp of the most-recent update to the association status.
8342	LastUpdated *time.Time `type:"timestamp"`
8343
8344	// Internal ID of the package.
8345	PackageID *string `type:"string"`
8346
8347	// User specified name of the package.
8348	PackageName *string `min:"3" type:"string"`
8349
8350	// Currently supports only TXT-DICTIONARY.
8351	PackageType *string `type:"string" enum:"PackageType"`
8352
8353	PackageVersion *string `type:"string"`
8354
8355	// The relative path on Amazon ES nodes, which can be used as synonym_path when
8356	// the package is synonym file.
8357	ReferencePath *string `type:"string"`
8358}
8359
8360// String returns the string representation.
8361//
8362// API parameter values that are decorated as "sensitive" in the API will not
8363// be included in the string output. The member name will be present, but the
8364// value will be replaced with "sensitive".
8365func (s DomainPackageDetails) String() string {
8366	return awsutil.Prettify(s)
8367}
8368
8369// GoString returns the string representation.
8370//
8371// API parameter values that are decorated as "sensitive" in the API will not
8372// be included in the string output. The member name will be present, but the
8373// value will be replaced with "sensitive".
8374func (s DomainPackageDetails) GoString() string {
8375	return s.String()
8376}
8377
8378// SetDomainName sets the DomainName field's value.
8379func (s *DomainPackageDetails) SetDomainName(v string) *DomainPackageDetails {
8380	s.DomainName = &v
8381	return s
8382}
8383
8384// SetDomainPackageStatus sets the DomainPackageStatus field's value.
8385func (s *DomainPackageDetails) SetDomainPackageStatus(v string) *DomainPackageDetails {
8386	s.DomainPackageStatus = &v
8387	return s
8388}
8389
8390// SetErrorDetails sets the ErrorDetails field's value.
8391func (s *DomainPackageDetails) SetErrorDetails(v *ErrorDetails) *DomainPackageDetails {
8392	s.ErrorDetails = v
8393	return s
8394}
8395
8396// SetLastUpdated sets the LastUpdated field's value.
8397func (s *DomainPackageDetails) SetLastUpdated(v time.Time) *DomainPackageDetails {
8398	s.LastUpdated = &v
8399	return s
8400}
8401
8402// SetPackageID sets the PackageID field's value.
8403func (s *DomainPackageDetails) SetPackageID(v string) *DomainPackageDetails {
8404	s.PackageID = &v
8405	return s
8406}
8407
8408// SetPackageName sets the PackageName field's value.
8409func (s *DomainPackageDetails) SetPackageName(v string) *DomainPackageDetails {
8410	s.PackageName = &v
8411	return s
8412}
8413
8414// SetPackageType sets the PackageType field's value.
8415func (s *DomainPackageDetails) SetPackageType(v string) *DomainPackageDetails {
8416	s.PackageType = &v
8417	return s
8418}
8419
8420// SetPackageVersion sets the PackageVersion field's value.
8421func (s *DomainPackageDetails) SetPackageVersion(v string) *DomainPackageDetails {
8422	s.PackageVersion = &v
8423	return s
8424}
8425
8426// SetReferencePath sets the ReferencePath field's value.
8427func (s *DomainPackageDetails) SetReferencePath(v string) *DomainPackageDetails {
8428	s.ReferencePath = &v
8429	return s
8430}
8431
8432// Specifies maintenance schedule duration: duration value and duration unit.
8433// See the Developer Guide (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/auto-tune.html)
8434// for more information.
8435type Duration struct {
8436	_ struct{} `type:"structure"`
8437
8438	// Specifies the unit of a maintenance schedule duration. Valid value is HOURS.
8439	// See the Developer Guide (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/auto-tune.html)
8440	// for more information.
8441	Unit *string `type:"string" enum:"TimeUnit"`
8442
8443	// Integer to specify the value of a maintenance schedule duration. See the
8444	// Developer Guide (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/auto-tune.html)
8445	// for more information.
8446	Value *int64 `min:"1" type:"long"`
8447}
8448
8449// String returns the string representation.
8450//
8451// API parameter values that are decorated as "sensitive" in the API will not
8452// be included in the string output. The member name will be present, but the
8453// value will be replaced with "sensitive".
8454func (s Duration) String() string {
8455	return awsutil.Prettify(s)
8456}
8457
8458// GoString returns the string representation.
8459//
8460// API parameter values that are decorated as "sensitive" in the API will not
8461// be included in the string output. The member name will be present, but the
8462// value will be replaced with "sensitive".
8463func (s Duration) GoString() string {
8464	return s.String()
8465}
8466
8467// Validate inspects the fields of the type to determine if they are valid.
8468func (s *Duration) Validate() error {
8469	invalidParams := request.ErrInvalidParams{Context: "Duration"}
8470	if s.Value != nil && *s.Value < 1 {
8471		invalidParams.Add(request.NewErrParamMinValue("Value", 1))
8472	}
8473
8474	if invalidParams.Len() > 0 {
8475		return invalidParams
8476	}
8477	return nil
8478}
8479
8480// SetUnit sets the Unit field's value.
8481func (s *Duration) SetUnit(v string) *Duration {
8482	s.Unit = &v
8483	return s
8484}
8485
8486// SetValue sets the Value field's value.
8487func (s *Duration) SetValue(v int64) *Duration {
8488	s.Value = &v
8489	return s
8490}
8491
8492// Options to enable, disable, and specify the properties of EBS storage volumes.
8493// For more information, see Configuring EBS-based Storage (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomain-configure-ebs).
8494type EBSOptions struct {
8495	_ struct{} `type:"structure"`
8496
8497	// Specifies whether EBS-based storage is enabled.
8498	EBSEnabled *bool `type:"boolean"`
8499
8500	// Specifies the IOPD for a Provisioned IOPS EBS volume (SSD).
8501	Iops *int64 `type:"integer"`
8502
8503	// Integer to specify the size of an EBS volume.
8504	VolumeSize *int64 `type:"integer"`
8505
8506	// Specifies the volume type for EBS-based storage.
8507	VolumeType *string `type:"string" enum:"VolumeType"`
8508}
8509
8510// String returns the string representation.
8511//
8512// API parameter values that are decorated as "sensitive" in the API will not
8513// be included in the string output. The member name will be present, but the
8514// value will be replaced with "sensitive".
8515func (s EBSOptions) String() string {
8516	return awsutil.Prettify(s)
8517}
8518
8519// GoString returns the string representation.
8520//
8521// API parameter values that are decorated as "sensitive" in the API will not
8522// be included in the string output. The member name will be present, but the
8523// value will be replaced with "sensitive".
8524func (s EBSOptions) GoString() string {
8525	return s.String()
8526}
8527
8528// SetEBSEnabled sets the EBSEnabled field's value.
8529func (s *EBSOptions) SetEBSEnabled(v bool) *EBSOptions {
8530	s.EBSEnabled = &v
8531	return s
8532}
8533
8534// SetIops sets the Iops field's value.
8535func (s *EBSOptions) SetIops(v int64) *EBSOptions {
8536	s.Iops = &v
8537	return s
8538}
8539
8540// SetVolumeSize sets the VolumeSize field's value.
8541func (s *EBSOptions) SetVolumeSize(v int64) *EBSOptions {
8542	s.VolumeSize = &v
8543	return s
8544}
8545
8546// SetVolumeType sets the VolumeType field's value.
8547func (s *EBSOptions) SetVolumeType(v string) *EBSOptions {
8548	s.VolumeType = &v
8549	return s
8550}
8551
8552// Status of the EBS options for the specified Elasticsearch domain.
8553type EBSOptionsStatus struct {
8554	_ struct{} `type:"structure"`
8555
8556	// Specifies the EBS options for the specified Elasticsearch domain.
8557	//
8558	// Options is a required field
8559	Options *EBSOptions `type:"structure" required:"true"`
8560
8561	// Specifies the status of the EBS options for the specified Elasticsearch domain.
8562	//
8563	// Status is a required field
8564	Status *OptionStatus `type:"structure" required:"true"`
8565}
8566
8567// String returns the string representation.
8568//
8569// API parameter values that are decorated as "sensitive" in the API will not
8570// be included in the string output. The member name will be present, but the
8571// value will be replaced with "sensitive".
8572func (s EBSOptionsStatus) String() string {
8573	return awsutil.Prettify(s)
8574}
8575
8576// GoString returns the string representation.
8577//
8578// API parameter values that are decorated as "sensitive" in the API will not
8579// be included in the string output. The member name will be present, but the
8580// value will be replaced with "sensitive".
8581func (s EBSOptionsStatus) GoString() string {
8582	return s.String()
8583}
8584
8585// SetOptions sets the Options field's value.
8586func (s *EBSOptionsStatus) SetOptions(v *EBSOptions) *EBSOptionsStatus {
8587	s.Options = v
8588	return s
8589}
8590
8591// SetStatus sets the Status field's value.
8592func (s *EBSOptionsStatus) SetStatus(v *OptionStatus) *EBSOptionsStatus {
8593	s.Status = v
8594	return s
8595}
8596
8597// Specifies the configuration for the domain cluster, such as the type and
8598// number of instances.
8599type ElasticsearchClusterConfig struct {
8600	_ struct{} `type:"structure"`
8601
8602	// Specifies the ColdStorageOptions config for Elasticsearch Domain
8603	ColdStorageOptions *ColdStorageOptions `type:"structure"`
8604
8605	// Total number of dedicated master nodes, active and on standby, for the cluster.
8606	DedicatedMasterCount *int64 `type:"integer"`
8607
8608	// A boolean value to indicate whether a dedicated master node is enabled. See
8609	// About Dedicated Master Nodes (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-managedomains.html#es-managedomains-dedicatedmasternodes)
8610	// for more information.
8611	DedicatedMasterEnabled *bool `type:"boolean"`
8612
8613	// The instance type for a dedicated master node.
8614	DedicatedMasterType *string `type:"string" enum:"ESPartitionInstanceType"`
8615
8616	// The number of instances in the specified domain cluster.
8617	InstanceCount *int64 `type:"integer"`
8618
8619	// The instance type for an Elasticsearch cluster. UltraWarm instance types
8620	// are not supported for data instances.
8621	InstanceType *string `type:"string" enum:"ESPartitionInstanceType"`
8622
8623	// The number of warm nodes in the cluster.
8624	WarmCount *int64 `type:"integer"`
8625
8626	// True to enable warm storage.
8627	WarmEnabled *bool `type:"boolean"`
8628
8629	// The instance type for the Elasticsearch cluster's warm nodes.
8630	WarmType *string `type:"string" enum:"ESWarmPartitionInstanceType"`
8631
8632	// Specifies the zone awareness configuration for a domain when zone awareness
8633	// is enabled.
8634	ZoneAwarenessConfig *ZoneAwarenessConfig `type:"structure"`
8635
8636	// A boolean value to indicate whether zone awareness is enabled. See About
8637	// Zone Awareness (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-managedomains.html#es-managedomains-zoneawareness)
8638	// for more information.
8639	ZoneAwarenessEnabled *bool `type:"boolean"`
8640}
8641
8642// String returns the string representation.
8643//
8644// API parameter values that are decorated as "sensitive" in the API will not
8645// be included in the string output. The member name will be present, but the
8646// value will be replaced with "sensitive".
8647func (s ElasticsearchClusterConfig) String() string {
8648	return awsutil.Prettify(s)
8649}
8650
8651// GoString returns the string representation.
8652//
8653// API parameter values that are decorated as "sensitive" in the API will not
8654// be included in the string output. The member name will be present, but the
8655// value will be replaced with "sensitive".
8656func (s ElasticsearchClusterConfig) GoString() string {
8657	return s.String()
8658}
8659
8660// Validate inspects the fields of the type to determine if they are valid.
8661func (s *ElasticsearchClusterConfig) Validate() error {
8662	invalidParams := request.ErrInvalidParams{Context: "ElasticsearchClusterConfig"}
8663	if s.ColdStorageOptions != nil {
8664		if err := s.ColdStorageOptions.Validate(); err != nil {
8665			invalidParams.AddNested("ColdStorageOptions", err.(request.ErrInvalidParams))
8666		}
8667	}
8668
8669	if invalidParams.Len() > 0 {
8670		return invalidParams
8671	}
8672	return nil
8673}
8674
8675// SetColdStorageOptions sets the ColdStorageOptions field's value.
8676func (s *ElasticsearchClusterConfig) SetColdStorageOptions(v *ColdStorageOptions) *ElasticsearchClusterConfig {
8677	s.ColdStorageOptions = v
8678	return s
8679}
8680
8681// SetDedicatedMasterCount sets the DedicatedMasterCount field's value.
8682func (s *ElasticsearchClusterConfig) SetDedicatedMasterCount(v int64) *ElasticsearchClusterConfig {
8683	s.DedicatedMasterCount = &v
8684	return s
8685}
8686
8687// SetDedicatedMasterEnabled sets the DedicatedMasterEnabled field's value.
8688func (s *ElasticsearchClusterConfig) SetDedicatedMasterEnabled(v bool) *ElasticsearchClusterConfig {
8689	s.DedicatedMasterEnabled = &v
8690	return s
8691}
8692
8693// SetDedicatedMasterType sets the DedicatedMasterType field's value.
8694func (s *ElasticsearchClusterConfig) SetDedicatedMasterType(v string) *ElasticsearchClusterConfig {
8695	s.DedicatedMasterType = &v
8696	return s
8697}
8698
8699// SetInstanceCount sets the InstanceCount field's value.
8700func (s *ElasticsearchClusterConfig) SetInstanceCount(v int64) *ElasticsearchClusterConfig {
8701	s.InstanceCount = &v
8702	return s
8703}
8704
8705// SetInstanceType sets the InstanceType field's value.
8706func (s *ElasticsearchClusterConfig) SetInstanceType(v string) *ElasticsearchClusterConfig {
8707	s.InstanceType = &v
8708	return s
8709}
8710
8711// SetWarmCount sets the WarmCount field's value.
8712func (s *ElasticsearchClusterConfig) SetWarmCount(v int64) *ElasticsearchClusterConfig {
8713	s.WarmCount = &v
8714	return s
8715}
8716
8717// SetWarmEnabled sets the WarmEnabled field's value.
8718func (s *ElasticsearchClusterConfig) SetWarmEnabled(v bool) *ElasticsearchClusterConfig {
8719	s.WarmEnabled = &v
8720	return s
8721}
8722
8723// SetWarmType sets the WarmType field's value.
8724func (s *ElasticsearchClusterConfig) SetWarmType(v string) *ElasticsearchClusterConfig {
8725	s.WarmType = &v
8726	return s
8727}
8728
8729// SetZoneAwarenessConfig sets the ZoneAwarenessConfig field's value.
8730func (s *ElasticsearchClusterConfig) SetZoneAwarenessConfig(v *ZoneAwarenessConfig) *ElasticsearchClusterConfig {
8731	s.ZoneAwarenessConfig = v
8732	return s
8733}
8734
8735// SetZoneAwarenessEnabled sets the ZoneAwarenessEnabled field's value.
8736func (s *ElasticsearchClusterConfig) SetZoneAwarenessEnabled(v bool) *ElasticsearchClusterConfig {
8737	s.ZoneAwarenessEnabled = &v
8738	return s
8739}
8740
8741// Specifies the configuration status for the specified Elasticsearch domain.
8742type ElasticsearchClusterConfigStatus struct {
8743	_ struct{} `type:"structure"`
8744
8745	// Specifies the cluster configuration for the specified Elasticsearch domain.
8746	//
8747	// Options is a required field
8748	Options *ElasticsearchClusterConfig `type:"structure" required:"true"`
8749
8750	// Specifies the status of the configuration for the specified Elasticsearch
8751	// domain.
8752	//
8753	// Status is a required field
8754	Status *OptionStatus `type:"structure" required:"true"`
8755}
8756
8757// String returns the string representation.
8758//
8759// API parameter values that are decorated as "sensitive" in the API will not
8760// be included in the string output. The member name will be present, but the
8761// value will be replaced with "sensitive".
8762func (s ElasticsearchClusterConfigStatus) String() string {
8763	return awsutil.Prettify(s)
8764}
8765
8766// GoString returns the string representation.
8767//
8768// API parameter values that are decorated as "sensitive" in the API will not
8769// be included in the string output. The member name will be present, but the
8770// value will be replaced with "sensitive".
8771func (s ElasticsearchClusterConfigStatus) GoString() string {
8772	return s.String()
8773}
8774
8775// SetOptions sets the Options field's value.
8776func (s *ElasticsearchClusterConfigStatus) SetOptions(v *ElasticsearchClusterConfig) *ElasticsearchClusterConfigStatus {
8777	s.Options = v
8778	return s
8779}
8780
8781// SetStatus sets the Status field's value.
8782func (s *ElasticsearchClusterConfigStatus) SetStatus(v *OptionStatus) *ElasticsearchClusterConfigStatus {
8783	s.Status = v
8784	return s
8785}
8786
8787// The configuration of an Elasticsearch domain.
8788type ElasticsearchDomainConfig struct {
8789	_ struct{} `type:"structure"`
8790
8791	// IAM access policy as a JSON-formatted string.
8792	AccessPolicies *AccessPoliciesStatus `type:"structure"`
8793
8794	// Specifies the AdvancedOptions for the domain. See Configuring Advanced Options
8795	// (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomain-configure-advanced-options)
8796	// for more information.
8797	AdvancedOptions *AdvancedOptionsStatus `type:"structure"`
8798
8799	// Specifies AdvancedSecurityOptions for the domain.
8800	AdvancedSecurityOptions *AdvancedSecurityOptionsStatus `type:"structure"`
8801
8802	// Specifies AutoTuneOptions for the domain.
8803	AutoTuneOptions *AutoTuneOptionsStatus `type:"structure"`
8804
8805	// The CognitoOptions for the specified domain. For more information, see Amazon
8806	// Cognito Authentication for Kibana (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-cognito-auth.html).
8807	CognitoOptions *CognitoOptionsStatus `type:"structure"`
8808
8809	// Specifies the DomainEndpointOptions for the Elasticsearch domain.
8810	DomainEndpointOptions *DomainEndpointOptionsStatus `type:"structure"`
8811
8812	// Specifies the EBSOptions for the Elasticsearch domain.
8813	EBSOptions *EBSOptionsStatus `type:"structure"`
8814
8815	// Specifies the ElasticsearchClusterConfig for the Elasticsearch domain.
8816	ElasticsearchClusterConfig *ElasticsearchClusterConfigStatus `type:"structure"`
8817
8818	// String of format X.Y to specify version for the Elasticsearch domain.
8819	ElasticsearchVersion *ElasticsearchVersionStatus `type:"structure"`
8820
8821	// Specifies the EncryptionAtRestOptions for the Elasticsearch domain.
8822	EncryptionAtRestOptions *EncryptionAtRestOptionsStatus `type:"structure"`
8823
8824	// Log publishing options for the given domain.
8825	LogPublishingOptions *LogPublishingOptionsStatus `type:"structure"`
8826
8827	// Specifies the NodeToNodeEncryptionOptions for the Elasticsearch domain.
8828	NodeToNodeEncryptionOptions *NodeToNodeEncryptionOptionsStatus `type:"structure"`
8829
8830	// Specifies the SnapshotOptions for the Elasticsearch domain.
8831	SnapshotOptions *SnapshotOptionsStatus `type:"structure"`
8832
8833	// The VPCOptions for the specified domain. For more information, see VPC Endpoints
8834	// for Amazon Elasticsearch Service Domains (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-vpc.html).
8835	VPCOptions *VPCDerivedInfoStatus `type:"structure"`
8836}
8837
8838// String returns the string representation.
8839//
8840// API parameter values that are decorated as "sensitive" in the API will not
8841// be included in the string output. The member name will be present, but the
8842// value will be replaced with "sensitive".
8843func (s ElasticsearchDomainConfig) String() string {
8844	return awsutil.Prettify(s)
8845}
8846
8847// GoString returns the string representation.
8848//
8849// API parameter values that are decorated as "sensitive" in the API will not
8850// be included in the string output. The member name will be present, but the
8851// value will be replaced with "sensitive".
8852func (s ElasticsearchDomainConfig) GoString() string {
8853	return s.String()
8854}
8855
8856// SetAccessPolicies sets the AccessPolicies field's value.
8857func (s *ElasticsearchDomainConfig) SetAccessPolicies(v *AccessPoliciesStatus) *ElasticsearchDomainConfig {
8858	s.AccessPolicies = v
8859	return s
8860}
8861
8862// SetAdvancedOptions sets the AdvancedOptions field's value.
8863func (s *ElasticsearchDomainConfig) SetAdvancedOptions(v *AdvancedOptionsStatus) *ElasticsearchDomainConfig {
8864	s.AdvancedOptions = v
8865	return s
8866}
8867
8868// SetAdvancedSecurityOptions sets the AdvancedSecurityOptions field's value.
8869func (s *ElasticsearchDomainConfig) SetAdvancedSecurityOptions(v *AdvancedSecurityOptionsStatus) *ElasticsearchDomainConfig {
8870	s.AdvancedSecurityOptions = v
8871	return s
8872}
8873
8874// SetAutoTuneOptions sets the AutoTuneOptions field's value.
8875func (s *ElasticsearchDomainConfig) SetAutoTuneOptions(v *AutoTuneOptionsStatus) *ElasticsearchDomainConfig {
8876	s.AutoTuneOptions = v
8877	return s
8878}
8879
8880// SetCognitoOptions sets the CognitoOptions field's value.
8881func (s *ElasticsearchDomainConfig) SetCognitoOptions(v *CognitoOptionsStatus) *ElasticsearchDomainConfig {
8882	s.CognitoOptions = v
8883	return s
8884}
8885
8886// SetDomainEndpointOptions sets the DomainEndpointOptions field's value.
8887func (s *ElasticsearchDomainConfig) SetDomainEndpointOptions(v *DomainEndpointOptionsStatus) *ElasticsearchDomainConfig {
8888	s.DomainEndpointOptions = v
8889	return s
8890}
8891
8892// SetEBSOptions sets the EBSOptions field's value.
8893func (s *ElasticsearchDomainConfig) SetEBSOptions(v *EBSOptionsStatus) *ElasticsearchDomainConfig {
8894	s.EBSOptions = v
8895	return s
8896}
8897
8898// SetElasticsearchClusterConfig sets the ElasticsearchClusterConfig field's value.
8899func (s *ElasticsearchDomainConfig) SetElasticsearchClusterConfig(v *ElasticsearchClusterConfigStatus) *ElasticsearchDomainConfig {
8900	s.ElasticsearchClusterConfig = v
8901	return s
8902}
8903
8904// SetElasticsearchVersion sets the ElasticsearchVersion field's value.
8905func (s *ElasticsearchDomainConfig) SetElasticsearchVersion(v *ElasticsearchVersionStatus) *ElasticsearchDomainConfig {
8906	s.ElasticsearchVersion = v
8907	return s
8908}
8909
8910// SetEncryptionAtRestOptions sets the EncryptionAtRestOptions field's value.
8911func (s *ElasticsearchDomainConfig) SetEncryptionAtRestOptions(v *EncryptionAtRestOptionsStatus) *ElasticsearchDomainConfig {
8912	s.EncryptionAtRestOptions = v
8913	return s
8914}
8915
8916// SetLogPublishingOptions sets the LogPublishingOptions field's value.
8917func (s *ElasticsearchDomainConfig) SetLogPublishingOptions(v *LogPublishingOptionsStatus) *ElasticsearchDomainConfig {
8918	s.LogPublishingOptions = v
8919	return s
8920}
8921
8922// SetNodeToNodeEncryptionOptions sets the NodeToNodeEncryptionOptions field's value.
8923func (s *ElasticsearchDomainConfig) SetNodeToNodeEncryptionOptions(v *NodeToNodeEncryptionOptionsStatus) *ElasticsearchDomainConfig {
8924	s.NodeToNodeEncryptionOptions = v
8925	return s
8926}
8927
8928// SetSnapshotOptions sets the SnapshotOptions field's value.
8929func (s *ElasticsearchDomainConfig) SetSnapshotOptions(v *SnapshotOptionsStatus) *ElasticsearchDomainConfig {
8930	s.SnapshotOptions = v
8931	return s
8932}
8933
8934// SetVPCOptions sets the VPCOptions field's value.
8935func (s *ElasticsearchDomainConfig) SetVPCOptions(v *VPCDerivedInfoStatus) *ElasticsearchDomainConfig {
8936	s.VPCOptions = v
8937	return s
8938}
8939
8940// The current status of an Elasticsearch domain.
8941type ElasticsearchDomainStatus struct {
8942	_ struct{} `type:"structure"`
8943
8944	// The Amazon resource name (ARN) of an Elasticsearch domain. See Identifiers
8945	// for IAM Entities (http://docs.aws.amazon.com/IAM/latest/UserGuide/index.html?Using_Identifiers.html)
8946	// in Using AWS Identity and Access Management for more information.
8947	//
8948	// ARN is a required field
8949	ARN *string `type:"string" required:"true"`
8950
8951	// IAM access policy as a JSON-formatted string.
8952	AccessPolicies *string `type:"string"`
8953
8954	// Specifies the status of the AdvancedOptions
8955	AdvancedOptions map[string]*string `type:"map"`
8956
8957	// The current status of the Elasticsearch domain's advanced security options.
8958	AdvancedSecurityOptions *AdvancedSecurityOptions `type:"structure"`
8959
8960	// The current status of the Elasticsearch domain's Auto-Tune options.
8961	AutoTuneOptions *AutoTuneOptionsOutput `type:"structure"`
8962
8963	// The CognitoOptions for the specified domain. For more information, see Amazon
8964	// Cognito Authentication for Kibana (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-cognito-auth.html).
8965	CognitoOptions *CognitoOptions `type:"structure"`
8966
8967	// The domain creation status. True if the creation of an Elasticsearch domain
8968	// is complete. False if domain creation is still in progress.
8969	Created *bool `type:"boolean"`
8970
8971	// The domain deletion status. True if a delete request has been received for
8972	// the domain but resource cleanup is still in progress. False if the domain
8973	// has not been deleted. Once domain deletion is complete, the status of the
8974	// domain is no longer returned.
8975	Deleted *bool `type:"boolean"`
8976
8977	// The current status of the Elasticsearch domain's endpoint options.
8978	DomainEndpointOptions *DomainEndpointOptions `type:"structure"`
8979
8980	// The unique identifier for the specified Elasticsearch domain.
8981	//
8982	// DomainId is a required field
8983	DomainId *string `min:"1" type:"string" required:"true"`
8984
8985	// The name of an Elasticsearch domain. Domain names are unique across the domains
8986	// owned by an account within an AWS region. Domain names start with a letter
8987	// or number and can contain the following characters: a-z (lowercase), 0-9,
8988	// and - (hyphen).
8989	//
8990	// DomainName is a required field
8991	DomainName *string `min:"3" type:"string" required:"true"`
8992
8993	// The EBSOptions for the specified domain. See Configuring EBS-based Storage
8994	// (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomain-configure-ebs)
8995	// for more information.
8996	EBSOptions *EBSOptions `type:"structure"`
8997
8998	// The type and number of instances in the domain cluster.
8999	//
9000	// ElasticsearchClusterConfig is a required field
9001	ElasticsearchClusterConfig *ElasticsearchClusterConfig `type:"structure" required:"true"`
9002
9003	ElasticsearchVersion *string `type:"string"`
9004
9005	// Specifies the status of the EncryptionAtRestOptions.
9006	EncryptionAtRestOptions *EncryptionAtRestOptions `type:"structure"`
9007
9008	// The Elasticsearch domain endpoint that you use to submit index and search
9009	// requests.
9010	Endpoint *string `type:"string"`
9011
9012	// Map containing the Elasticsearch domain endpoints used to submit index and
9013	// search requests. Example key, value: 'vpc','vpc-endpoint-h2dsd34efgyghrtguk5gt6j2foh4.us-east-1.es.amazonaws.com'.
9014	Endpoints map[string]*string `type:"map"`
9015
9016	// Log publishing options for the given domain.
9017	LogPublishingOptions map[string]*LogPublishingOption `type:"map"`
9018
9019	// Specifies the status of the NodeToNodeEncryptionOptions.
9020	NodeToNodeEncryptionOptions *NodeToNodeEncryptionOptions `type:"structure"`
9021
9022	// The status of the Elasticsearch domain configuration. True if Amazon Elasticsearch
9023	// Service is processing configuration changes. False if the configuration is
9024	// active.
9025	Processing *bool `type:"boolean"`
9026
9027	// The current status of the Elasticsearch domain's service software.
9028	ServiceSoftwareOptions *ServiceSoftwareOptions `type:"structure"`
9029
9030	// Specifies the status of the SnapshotOptions
9031	SnapshotOptions *SnapshotOptions `type:"structure"`
9032
9033	// The status of an Elasticsearch domain version upgrade. True if Amazon Elasticsearch
9034	// Service is undergoing a version upgrade. False if the configuration is active.
9035	UpgradeProcessing *bool `type:"boolean"`
9036
9037	// The VPCOptions for the specified domain. For more information, see VPC Endpoints
9038	// for Amazon Elasticsearch Service Domains (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-vpc.html).
9039	VPCOptions *VPCDerivedInfo `type:"structure"`
9040}
9041
9042// String returns the string representation.
9043//
9044// API parameter values that are decorated as "sensitive" in the API will not
9045// be included in the string output. The member name will be present, but the
9046// value will be replaced with "sensitive".
9047func (s ElasticsearchDomainStatus) String() string {
9048	return awsutil.Prettify(s)
9049}
9050
9051// GoString returns the string representation.
9052//
9053// API parameter values that are decorated as "sensitive" in the API will not
9054// be included in the string output. The member name will be present, but the
9055// value will be replaced with "sensitive".
9056func (s ElasticsearchDomainStatus) GoString() string {
9057	return s.String()
9058}
9059
9060// SetARN sets the ARN field's value.
9061func (s *ElasticsearchDomainStatus) SetARN(v string) *ElasticsearchDomainStatus {
9062	s.ARN = &v
9063	return s
9064}
9065
9066// SetAccessPolicies sets the AccessPolicies field's value.
9067func (s *ElasticsearchDomainStatus) SetAccessPolicies(v string) *ElasticsearchDomainStatus {
9068	s.AccessPolicies = &v
9069	return s
9070}
9071
9072// SetAdvancedOptions sets the AdvancedOptions field's value.
9073func (s *ElasticsearchDomainStatus) SetAdvancedOptions(v map[string]*string) *ElasticsearchDomainStatus {
9074	s.AdvancedOptions = v
9075	return s
9076}
9077
9078// SetAdvancedSecurityOptions sets the AdvancedSecurityOptions field's value.
9079func (s *ElasticsearchDomainStatus) SetAdvancedSecurityOptions(v *AdvancedSecurityOptions) *ElasticsearchDomainStatus {
9080	s.AdvancedSecurityOptions = v
9081	return s
9082}
9083
9084// SetAutoTuneOptions sets the AutoTuneOptions field's value.
9085func (s *ElasticsearchDomainStatus) SetAutoTuneOptions(v *AutoTuneOptionsOutput) *ElasticsearchDomainStatus {
9086	s.AutoTuneOptions = v
9087	return s
9088}
9089
9090// SetCognitoOptions sets the CognitoOptions field's value.
9091func (s *ElasticsearchDomainStatus) SetCognitoOptions(v *CognitoOptions) *ElasticsearchDomainStatus {
9092	s.CognitoOptions = v
9093	return s
9094}
9095
9096// SetCreated sets the Created field's value.
9097func (s *ElasticsearchDomainStatus) SetCreated(v bool) *ElasticsearchDomainStatus {
9098	s.Created = &v
9099	return s
9100}
9101
9102// SetDeleted sets the Deleted field's value.
9103func (s *ElasticsearchDomainStatus) SetDeleted(v bool) *ElasticsearchDomainStatus {
9104	s.Deleted = &v
9105	return s
9106}
9107
9108// SetDomainEndpointOptions sets the DomainEndpointOptions field's value.
9109func (s *ElasticsearchDomainStatus) SetDomainEndpointOptions(v *DomainEndpointOptions) *ElasticsearchDomainStatus {
9110	s.DomainEndpointOptions = v
9111	return s
9112}
9113
9114// SetDomainId sets the DomainId field's value.
9115func (s *ElasticsearchDomainStatus) SetDomainId(v string) *ElasticsearchDomainStatus {
9116	s.DomainId = &v
9117	return s
9118}
9119
9120// SetDomainName sets the DomainName field's value.
9121func (s *ElasticsearchDomainStatus) SetDomainName(v string) *ElasticsearchDomainStatus {
9122	s.DomainName = &v
9123	return s
9124}
9125
9126// SetEBSOptions sets the EBSOptions field's value.
9127func (s *ElasticsearchDomainStatus) SetEBSOptions(v *EBSOptions) *ElasticsearchDomainStatus {
9128	s.EBSOptions = v
9129	return s
9130}
9131
9132// SetElasticsearchClusterConfig sets the ElasticsearchClusterConfig field's value.
9133func (s *ElasticsearchDomainStatus) SetElasticsearchClusterConfig(v *ElasticsearchClusterConfig) *ElasticsearchDomainStatus {
9134	s.ElasticsearchClusterConfig = v
9135	return s
9136}
9137
9138// SetElasticsearchVersion sets the ElasticsearchVersion field's value.
9139func (s *ElasticsearchDomainStatus) SetElasticsearchVersion(v string) *ElasticsearchDomainStatus {
9140	s.ElasticsearchVersion = &v
9141	return s
9142}
9143
9144// SetEncryptionAtRestOptions sets the EncryptionAtRestOptions field's value.
9145func (s *ElasticsearchDomainStatus) SetEncryptionAtRestOptions(v *EncryptionAtRestOptions) *ElasticsearchDomainStatus {
9146	s.EncryptionAtRestOptions = v
9147	return s
9148}
9149
9150// SetEndpoint sets the Endpoint field's value.
9151func (s *ElasticsearchDomainStatus) SetEndpoint(v string) *ElasticsearchDomainStatus {
9152	s.Endpoint = &v
9153	return s
9154}
9155
9156// SetEndpoints sets the Endpoints field's value.
9157func (s *ElasticsearchDomainStatus) SetEndpoints(v map[string]*string) *ElasticsearchDomainStatus {
9158	s.Endpoints = v
9159	return s
9160}
9161
9162// SetLogPublishingOptions sets the LogPublishingOptions field's value.
9163func (s *ElasticsearchDomainStatus) SetLogPublishingOptions(v map[string]*LogPublishingOption) *ElasticsearchDomainStatus {
9164	s.LogPublishingOptions = v
9165	return s
9166}
9167
9168// SetNodeToNodeEncryptionOptions sets the NodeToNodeEncryptionOptions field's value.
9169func (s *ElasticsearchDomainStatus) SetNodeToNodeEncryptionOptions(v *NodeToNodeEncryptionOptions) *ElasticsearchDomainStatus {
9170	s.NodeToNodeEncryptionOptions = v
9171	return s
9172}
9173
9174// SetProcessing sets the Processing field's value.
9175func (s *ElasticsearchDomainStatus) SetProcessing(v bool) *ElasticsearchDomainStatus {
9176	s.Processing = &v
9177	return s
9178}
9179
9180// SetServiceSoftwareOptions sets the ServiceSoftwareOptions field's value.
9181func (s *ElasticsearchDomainStatus) SetServiceSoftwareOptions(v *ServiceSoftwareOptions) *ElasticsearchDomainStatus {
9182	s.ServiceSoftwareOptions = v
9183	return s
9184}
9185
9186// SetSnapshotOptions sets the SnapshotOptions field's value.
9187func (s *ElasticsearchDomainStatus) SetSnapshotOptions(v *SnapshotOptions) *ElasticsearchDomainStatus {
9188	s.SnapshotOptions = v
9189	return s
9190}
9191
9192// SetUpgradeProcessing sets the UpgradeProcessing field's value.
9193func (s *ElasticsearchDomainStatus) SetUpgradeProcessing(v bool) *ElasticsearchDomainStatus {
9194	s.UpgradeProcessing = &v
9195	return s
9196}
9197
9198// SetVPCOptions sets the VPCOptions field's value.
9199func (s *ElasticsearchDomainStatus) SetVPCOptions(v *VPCDerivedInfo) *ElasticsearchDomainStatus {
9200	s.VPCOptions = v
9201	return s
9202}
9203
9204// Status of the Elasticsearch version options for the specified Elasticsearch
9205// domain.
9206type ElasticsearchVersionStatus struct {
9207	_ struct{} `type:"structure"`
9208
9209	// Specifies the Elasticsearch version for the specified Elasticsearch domain.
9210	//
9211	// Options is a required field
9212	Options *string `type:"string" required:"true"`
9213
9214	// Specifies the status of the Elasticsearch version options for the specified
9215	// Elasticsearch domain.
9216	//
9217	// Status is a required field
9218	Status *OptionStatus `type:"structure" required:"true"`
9219}
9220
9221// String returns the string representation.
9222//
9223// API parameter values that are decorated as "sensitive" in the API will not
9224// be included in the string output. The member name will be present, but the
9225// value will be replaced with "sensitive".
9226func (s ElasticsearchVersionStatus) String() string {
9227	return awsutil.Prettify(s)
9228}
9229
9230// GoString returns the string representation.
9231//
9232// API parameter values that are decorated as "sensitive" in the API will not
9233// be included in the string output. The member name will be present, but the
9234// value will be replaced with "sensitive".
9235func (s ElasticsearchVersionStatus) GoString() string {
9236	return s.String()
9237}
9238
9239// SetOptions sets the Options field's value.
9240func (s *ElasticsearchVersionStatus) SetOptions(v string) *ElasticsearchVersionStatus {
9241	s.Options = &v
9242	return s
9243}
9244
9245// SetStatus sets the Status field's value.
9246func (s *ElasticsearchVersionStatus) SetStatus(v *OptionStatus) *ElasticsearchVersionStatus {
9247	s.Status = v
9248	return s
9249}
9250
9251// Specifies the Encryption At Rest Options.
9252type EncryptionAtRestOptions struct {
9253	_ struct{} `type:"structure"`
9254
9255	// Specifies the option to enable Encryption At Rest.
9256	Enabled *bool `type:"boolean"`
9257
9258	// Specifies the KMS Key ID for Encryption At Rest options.
9259	KmsKeyId *string `min:"1" type:"string"`
9260}
9261
9262// String returns the string representation.
9263//
9264// API parameter values that are decorated as "sensitive" in the API will not
9265// be included in the string output. The member name will be present, but the
9266// value will be replaced with "sensitive".
9267func (s EncryptionAtRestOptions) String() string {
9268	return awsutil.Prettify(s)
9269}
9270
9271// GoString returns the string representation.
9272//
9273// API parameter values that are decorated as "sensitive" in the API will not
9274// be included in the string output. The member name will be present, but the
9275// value will be replaced with "sensitive".
9276func (s EncryptionAtRestOptions) GoString() string {
9277	return s.String()
9278}
9279
9280// Validate inspects the fields of the type to determine if they are valid.
9281func (s *EncryptionAtRestOptions) Validate() error {
9282	invalidParams := request.ErrInvalidParams{Context: "EncryptionAtRestOptions"}
9283	if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 {
9284		invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1))
9285	}
9286
9287	if invalidParams.Len() > 0 {
9288		return invalidParams
9289	}
9290	return nil
9291}
9292
9293// SetEnabled sets the Enabled field's value.
9294func (s *EncryptionAtRestOptions) SetEnabled(v bool) *EncryptionAtRestOptions {
9295	s.Enabled = &v
9296	return s
9297}
9298
9299// SetKmsKeyId sets the KmsKeyId field's value.
9300func (s *EncryptionAtRestOptions) SetKmsKeyId(v string) *EncryptionAtRestOptions {
9301	s.KmsKeyId = &v
9302	return s
9303}
9304
9305// Status of the Encryption At Rest options for the specified Elasticsearch
9306// domain.
9307type EncryptionAtRestOptionsStatus struct {
9308	_ struct{} `type:"structure"`
9309
9310	// Specifies the Encryption At Rest options for the specified Elasticsearch
9311	// domain.
9312	//
9313	// Options is a required field
9314	Options *EncryptionAtRestOptions `type:"structure" required:"true"`
9315
9316	// Specifies the status of the Encryption At Rest options for the specified
9317	// Elasticsearch domain.
9318	//
9319	// Status is a required field
9320	Status *OptionStatus `type:"structure" required:"true"`
9321}
9322
9323// String returns the string representation.
9324//
9325// API parameter values that are decorated as "sensitive" in the API will not
9326// be included in the string output. The member name will be present, but the
9327// value will be replaced with "sensitive".
9328func (s EncryptionAtRestOptionsStatus) String() string {
9329	return awsutil.Prettify(s)
9330}
9331
9332// GoString returns the string representation.
9333//
9334// API parameter values that are decorated as "sensitive" in the API will not
9335// be included in the string output. The member name will be present, but the
9336// value will be replaced with "sensitive".
9337func (s EncryptionAtRestOptionsStatus) GoString() string {
9338	return s.String()
9339}
9340
9341// SetOptions sets the Options field's value.
9342func (s *EncryptionAtRestOptionsStatus) SetOptions(v *EncryptionAtRestOptions) *EncryptionAtRestOptionsStatus {
9343	s.Options = v
9344	return s
9345}
9346
9347// SetStatus sets the Status field's value.
9348func (s *EncryptionAtRestOptionsStatus) SetStatus(v *OptionStatus) *EncryptionAtRestOptionsStatus {
9349	s.Status = v
9350	return s
9351}
9352
9353type ErrorDetails struct {
9354	_ struct{} `type:"structure"`
9355
9356	ErrorMessage *string `type:"string"`
9357
9358	ErrorType *string `type:"string"`
9359}
9360
9361// String returns the string representation.
9362//
9363// API parameter values that are decorated as "sensitive" in the API will not
9364// be included in the string output. The member name will be present, but the
9365// value will be replaced with "sensitive".
9366func (s ErrorDetails) String() string {
9367	return awsutil.Prettify(s)
9368}
9369
9370// GoString returns the string representation.
9371//
9372// API parameter values that are decorated as "sensitive" in the API will not
9373// be included in the string output. The member name will be present, but the
9374// value will be replaced with "sensitive".
9375func (s ErrorDetails) GoString() string {
9376	return s.String()
9377}
9378
9379// SetErrorMessage sets the ErrorMessage field's value.
9380func (s *ErrorDetails) SetErrorMessage(v string) *ErrorDetails {
9381	s.ErrorMessage = &v
9382	return s
9383}
9384
9385// SetErrorType sets the ErrorType field's value.
9386func (s *ErrorDetails) SetErrorType(v string) *ErrorDetails {
9387	s.ErrorType = &v
9388	return s
9389}
9390
9391// A filter used to limit results when describing inbound or outbound cross-cluster
9392// search connections. Multiple values can be specified per filter. A cross-cluster
9393// search connection must match at least one of the specified values for it
9394// to be returned from an operation.
9395type Filter struct {
9396	_ struct{} `type:"structure"`
9397
9398	// Specifies the name of the filter.
9399	Name *string `min:"1" type:"string"`
9400
9401	// Contains one or more values for the filter.
9402	Values []*string `min:"1" type:"list"`
9403}
9404
9405// String returns the string representation.
9406//
9407// API parameter values that are decorated as "sensitive" in the API will not
9408// be included in the string output. The member name will be present, but the
9409// value will be replaced with "sensitive".
9410func (s Filter) String() string {
9411	return awsutil.Prettify(s)
9412}
9413
9414// GoString returns the string representation.
9415//
9416// API parameter values that are decorated as "sensitive" in the API will not
9417// be included in the string output. The member name will be present, but the
9418// value will be replaced with "sensitive".
9419func (s Filter) GoString() string {
9420	return s.String()
9421}
9422
9423// Validate inspects the fields of the type to determine if they are valid.
9424func (s *Filter) Validate() error {
9425	invalidParams := request.ErrInvalidParams{Context: "Filter"}
9426	if s.Name != nil && len(*s.Name) < 1 {
9427		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
9428	}
9429	if s.Values != nil && len(s.Values) < 1 {
9430		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
9431	}
9432
9433	if invalidParams.Len() > 0 {
9434		return invalidParams
9435	}
9436	return nil
9437}
9438
9439// SetName sets the Name field's value.
9440func (s *Filter) SetName(v string) *Filter {
9441	s.Name = &v
9442	return s
9443}
9444
9445// SetValues sets the Values field's value.
9446func (s *Filter) SetValues(v []*string) *Filter {
9447	s.Values = v
9448	return s
9449}
9450
9451// Container for request parameters to GetCompatibleElasticsearchVersions operation.
9452type GetCompatibleElasticsearchVersionsInput struct {
9453	_ struct{} `type:"structure" nopayload:"true"`
9454
9455	// The name of an Elasticsearch domain. Domain names are unique across the domains
9456	// owned by an account within an AWS region. Domain names start with a letter
9457	// or number and can contain the following characters: a-z (lowercase), 0-9,
9458	// and - (hyphen).
9459	DomainName *string `location:"querystring" locationName:"domainName" min:"3" type:"string"`
9460}
9461
9462// String returns the string representation.
9463//
9464// API parameter values that are decorated as "sensitive" in the API will not
9465// be included in the string output. The member name will be present, but the
9466// value will be replaced with "sensitive".
9467func (s GetCompatibleElasticsearchVersionsInput) String() string {
9468	return awsutil.Prettify(s)
9469}
9470
9471// GoString returns the string representation.
9472//
9473// API parameter values that are decorated as "sensitive" in the API will not
9474// be included in the string output. The member name will be present, but the
9475// value will be replaced with "sensitive".
9476func (s GetCompatibleElasticsearchVersionsInput) GoString() string {
9477	return s.String()
9478}
9479
9480// Validate inspects the fields of the type to determine if they are valid.
9481func (s *GetCompatibleElasticsearchVersionsInput) Validate() error {
9482	invalidParams := request.ErrInvalidParams{Context: "GetCompatibleElasticsearchVersionsInput"}
9483	if s.DomainName != nil && len(*s.DomainName) < 3 {
9484		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
9485	}
9486
9487	if invalidParams.Len() > 0 {
9488		return invalidParams
9489	}
9490	return nil
9491}
9492
9493// SetDomainName sets the DomainName field's value.
9494func (s *GetCompatibleElasticsearchVersionsInput) SetDomainName(v string) *GetCompatibleElasticsearchVersionsInput {
9495	s.DomainName = &v
9496	return s
9497}
9498
9499// Container for response returned by GetCompatibleElasticsearchVersions operation.
9500type GetCompatibleElasticsearchVersionsOutput struct {
9501	_ struct{} `type:"structure"`
9502
9503	// A map of compatible Elasticsearch versions returned as part of the GetCompatibleElasticsearchVersions
9504	// operation.
9505	CompatibleElasticsearchVersions []*CompatibleVersionsMap `type:"list"`
9506}
9507
9508// String returns the string representation.
9509//
9510// API parameter values that are decorated as "sensitive" in the API will not
9511// be included in the string output. The member name will be present, but the
9512// value will be replaced with "sensitive".
9513func (s GetCompatibleElasticsearchVersionsOutput) String() string {
9514	return awsutil.Prettify(s)
9515}
9516
9517// GoString returns the string representation.
9518//
9519// API parameter values that are decorated as "sensitive" in the API will not
9520// be included in the string output. The member name will be present, but the
9521// value will be replaced with "sensitive".
9522func (s GetCompatibleElasticsearchVersionsOutput) GoString() string {
9523	return s.String()
9524}
9525
9526// SetCompatibleElasticsearchVersions sets the CompatibleElasticsearchVersions field's value.
9527func (s *GetCompatibleElasticsearchVersionsOutput) SetCompatibleElasticsearchVersions(v []*CompatibleVersionsMap) *GetCompatibleElasticsearchVersionsOutput {
9528	s.CompatibleElasticsearchVersions = v
9529	return s
9530}
9531
9532// Container for request parameters to GetPackageVersionHistory operation.
9533type GetPackageVersionHistoryInput struct {
9534	_ struct{} `type:"structure" nopayload:"true"`
9535
9536	// Limits results to a maximum number of versions.
9537	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
9538
9539	// Used for pagination. Only necessary if a previous API call includes a non-null
9540	// NextToken value. If provided, returns results for the next page.
9541	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
9542
9543	// Returns an audit history of versions of the package.
9544	//
9545	// PackageID is a required field
9546	PackageID *string `location:"uri" locationName:"PackageID" type:"string" required:"true"`
9547}
9548
9549// String returns the string representation.
9550//
9551// API parameter values that are decorated as "sensitive" in the API will not
9552// be included in the string output. The member name will be present, but the
9553// value will be replaced with "sensitive".
9554func (s GetPackageVersionHistoryInput) String() string {
9555	return awsutil.Prettify(s)
9556}
9557
9558// GoString returns the string representation.
9559//
9560// API parameter values that are decorated as "sensitive" in the API will not
9561// be included in the string output. The member name will be present, but the
9562// value will be replaced with "sensitive".
9563func (s GetPackageVersionHistoryInput) GoString() string {
9564	return s.String()
9565}
9566
9567// Validate inspects the fields of the type to determine if they are valid.
9568func (s *GetPackageVersionHistoryInput) Validate() error {
9569	invalidParams := request.ErrInvalidParams{Context: "GetPackageVersionHistoryInput"}
9570	if s.PackageID == nil {
9571		invalidParams.Add(request.NewErrParamRequired("PackageID"))
9572	}
9573	if s.PackageID != nil && len(*s.PackageID) < 1 {
9574		invalidParams.Add(request.NewErrParamMinLen("PackageID", 1))
9575	}
9576
9577	if invalidParams.Len() > 0 {
9578		return invalidParams
9579	}
9580	return nil
9581}
9582
9583// SetMaxResults sets the MaxResults field's value.
9584func (s *GetPackageVersionHistoryInput) SetMaxResults(v int64) *GetPackageVersionHistoryInput {
9585	s.MaxResults = &v
9586	return s
9587}
9588
9589// SetNextToken sets the NextToken field's value.
9590func (s *GetPackageVersionHistoryInput) SetNextToken(v string) *GetPackageVersionHistoryInput {
9591	s.NextToken = &v
9592	return s
9593}
9594
9595// SetPackageID sets the PackageID field's value.
9596func (s *GetPackageVersionHistoryInput) SetPackageID(v string) *GetPackageVersionHistoryInput {
9597	s.PackageID = &v
9598	return s
9599}
9600
9601// Container for response returned by GetPackageVersionHistory operation.
9602type GetPackageVersionHistoryOutput struct {
9603	_ struct{} `type:"structure"`
9604
9605	NextToken *string `type:"string"`
9606
9607	PackageID *string `type:"string"`
9608
9609	// List of PackageVersionHistory objects.
9610	PackageVersionHistoryList []*PackageVersionHistory `type:"list"`
9611}
9612
9613// String returns the string representation.
9614//
9615// API parameter values that are decorated as "sensitive" in the API will not
9616// be included in the string output. The member name will be present, but the
9617// value will be replaced with "sensitive".
9618func (s GetPackageVersionHistoryOutput) String() string {
9619	return awsutil.Prettify(s)
9620}
9621
9622// GoString returns the string representation.
9623//
9624// API parameter values that are decorated as "sensitive" in the API will not
9625// be included in the string output. The member name will be present, but the
9626// value will be replaced with "sensitive".
9627func (s GetPackageVersionHistoryOutput) GoString() string {
9628	return s.String()
9629}
9630
9631// SetNextToken sets the NextToken field's value.
9632func (s *GetPackageVersionHistoryOutput) SetNextToken(v string) *GetPackageVersionHistoryOutput {
9633	s.NextToken = &v
9634	return s
9635}
9636
9637// SetPackageID sets the PackageID field's value.
9638func (s *GetPackageVersionHistoryOutput) SetPackageID(v string) *GetPackageVersionHistoryOutput {
9639	s.PackageID = &v
9640	return s
9641}
9642
9643// SetPackageVersionHistoryList sets the PackageVersionHistoryList field's value.
9644func (s *GetPackageVersionHistoryOutput) SetPackageVersionHistoryList(v []*PackageVersionHistory) *GetPackageVersionHistoryOutput {
9645	s.PackageVersionHistoryList = v
9646	return s
9647}
9648
9649// Container for request parameters to GetUpgradeHistory operation.
9650type GetUpgradeHistoryInput struct {
9651	_ struct{} `type:"structure" nopayload:"true"`
9652
9653	// The name of an Elasticsearch domain. Domain names are unique across the domains
9654	// owned by an account within an AWS region. Domain names start with a letter
9655	// or number and can contain the following characters: a-z (lowercase), 0-9,
9656	// and - (hyphen).
9657	//
9658	// DomainName is a required field
9659	DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"`
9660
9661	// Set this value to limit the number of results returned.
9662	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
9663
9664	// Paginated APIs accepts NextToken input to returns next page results and provides
9665	// a NextToken output in the response which can be used by the client to retrieve
9666	// more results.
9667	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
9668}
9669
9670// String returns the string representation.
9671//
9672// API parameter values that are decorated as "sensitive" in the API will not
9673// be included in the string output. The member name will be present, but the
9674// value will be replaced with "sensitive".
9675func (s GetUpgradeHistoryInput) String() string {
9676	return awsutil.Prettify(s)
9677}
9678
9679// GoString returns the string representation.
9680//
9681// API parameter values that are decorated as "sensitive" in the API will not
9682// be included in the string output. The member name will be present, but the
9683// value will be replaced with "sensitive".
9684func (s GetUpgradeHistoryInput) GoString() string {
9685	return s.String()
9686}
9687
9688// Validate inspects the fields of the type to determine if they are valid.
9689func (s *GetUpgradeHistoryInput) Validate() error {
9690	invalidParams := request.ErrInvalidParams{Context: "GetUpgradeHistoryInput"}
9691	if s.DomainName == nil {
9692		invalidParams.Add(request.NewErrParamRequired("DomainName"))
9693	}
9694	if s.DomainName != nil && len(*s.DomainName) < 3 {
9695		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
9696	}
9697
9698	if invalidParams.Len() > 0 {
9699		return invalidParams
9700	}
9701	return nil
9702}
9703
9704// SetDomainName sets the DomainName field's value.
9705func (s *GetUpgradeHistoryInput) SetDomainName(v string) *GetUpgradeHistoryInput {
9706	s.DomainName = &v
9707	return s
9708}
9709
9710// SetMaxResults sets the MaxResults field's value.
9711func (s *GetUpgradeHistoryInput) SetMaxResults(v int64) *GetUpgradeHistoryInput {
9712	s.MaxResults = &v
9713	return s
9714}
9715
9716// SetNextToken sets the NextToken field's value.
9717func (s *GetUpgradeHistoryInput) SetNextToken(v string) *GetUpgradeHistoryInput {
9718	s.NextToken = &v
9719	return s
9720}
9721
9722// Container for response returned by GetUpgradeHistory operation.
9723type GetUpgradeHistoryOutput struct {
9724	_ struct{} `type:"structure"`
9725
9726	// Pagination token that needs to be supplied to the next call to get the next
9727	// page of results
9728	NextToken *string `type:"string"`
9729
9730	// A list of UpgradeHistory objects corresponding to each Upgrade or Upgrade
9731	// Eligibility Check performed on a domain returned as part of GetUpgradeHistoryResponse
9732	// object.
9733	UpgradeHistories []*UpgradeHistory `type:"list"`
9734}
9735
9736// String returns the string representation.
9737//
9738// API parameter values that are decorated as "sensitive" in the API will not
9739// be included in the string output. The member name will be present, but the
9740// value will be replaced with "sensitive".
9741func (s GetUpgradeHistoryOutput) String() string {
9742	return awsutil.Prettify(s)
9743}
9744
9745// GoString returns the string representation.
9746//
9747// API parameter values that are decorated as "sensitive" in the API will not
9748// be included in the string output. The member name will be present, but the
9749// value will be replaced with "sensitive".
9750func (s GetUpgradeHistoryOutput) GoString() string {
9751	return s.String()
9752}
9753
9754// SetNextToken sets the NextToken field's value.
9755func (s *GetUpgradeHistoryOutput) SetNextToken(v string) *GetUpgradeHistoryOutput {
9756	s.NextToken = &v
9757	return s
9758}
9759
9760// SetUpgradeHistories sets the UpgradeHistories field's value.
9761func (s *GetUpgradeHistoryOutput) SetUpgradeHistories(v []*UpgradeHistory) *GetUpgradeHistoryOutput {
9762	s.UpgradeHistories = v
9763	return s
9764}
9765
9766// Container for request parameters to GetUpgradeStatus operation.
9767type GetUpgradeStatusInput struct {
9768	_ struct{} `type:"structure" nopayload:"true"`
9769
9770	// The name of an Elasticsearch domain. Domain names are unique across the domains
9771	// owned by an account within an AWS region. Domain names start with a letter
9772	// or number and can contain the following characters: a-z (lowercase), 0-9,
9773	// and - (hyphen).
9774	//
9775	// DomainName is a required field
9776	DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"`
9777}
9778
9779// String returns the string representation.
9780//
9781// API parameter values that are decorated as "sensitive" in the API will not
9782// be included in the string output. The member name will be present, but the
9783// value will be replaced with "sensitive".
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 response returned by GetUpgradeStatus operation.
9820type GetUpgradeStatusOutput struct {
9821	_ struct{} `type:"structure"`
9822
9823	// One of 4 statuses that a step can go through returned as part of the GetUpgradeStatusResponse
9824	// object. The status can take one of the following values:
9825	//    * In Progress
9826	//
9827	//    * Succeeded
9828	//
9829	//    * Succeeded with Issues
9830	//
9831	//    * Failed
9832	StepStatus *string `type:"string" enum:"UpgradeStatus"`
9833
9834	// A string that describes the update briefly
9835	UpgradeName *string `type:"string"`
9836
9837	// Represents one of 3 steps that an Upgrade or Upgrade Eligibility Check does
9838	// through:
9839	//    * PreUpgradeCheck
9840	//
9841	//    * Snapshot
9842	//
9843	//    * Upgrade
9844	UpgradeStep *string `type:"string" enum:"UpgradeStep"`
9845}
9846
9847// String returns the string representation.
9848//
9849// API parameter values that are decorated as "sensitive" in the API will not
9850// be included in the string output. The member name will be present, but the
9851// value will be replaced with "sensitive".
9852func (s GetUpgradeStatusOutput) String() string {
9853	return awsutil.Prettify(s)
9854}
9855
9856// GoString returns the string representation.
9857//
9858// API parameter values that are decorated as "sensitive" in the API will not
9859// be included in the string output. The member name will be present, but the
9860// value will be replaced with "sensitive".
9861func (s GetUpgradeStatusOutput) GoString() string {
9862	return s.String()
9863}
9864
9865// SetStepStatus sets the StepStatus field's value.
9866func (s *GetUpgradeStatusOutput) SetStepStatus(v string) *GetUpgradeStatusOutput {
9867	s.StepStatus = &v
9868	return s
9869}
9870
9871// SetUpgradeName sets the UpgradeName field's value.
9872func (s *GetUpgradeStatusOutput) SetUpgradeName(v string) *GetUpgradeStatusOutput {
9873	s.UpgradeName = &v
9874	return s
9875}
9876
9877// SetUpgradeStep sets the UpgradeStep field's value.
9878func (s *GetUpgradeStatusOutput) SetUpgradeStep(v string) *GetUpgradeStatusOutput {
9879	s.UpgradeStep = &v
9880	return s
9881}
9882
9883// Specifies details of an inbound connection.
9884type InboundCrossClusterSearchConnection struct {
9885	_ struct{} `type:"structure"`
9886
9887	// Specifies the InboundCrossClusterSearchConnectionStatus for the outbound
9888	// connection.
9889	ConnectionStatus *InboundCrossClusterSearchConnectionStatus `type:"structure"`
9890
9891	// Specifies the connection id for the inbound cross-cluster search connection.
9892	CrossClusterSearchConnectionId *string `type:"string"`
9893
9894	// Specifies the DomainInformation for the destination Elasticsearch domain.
9895	DestinationDomainInfo *DomainInformation `type:"structure"`
9896
9897	// Specifies the DomainInformation for the source Elasticsearch domain.
9898	SourceDomainInfo *DomainInformation `type:"structure"`
9899}
9900
9901// String returns the string representation.
9902//
9903// API parameter values that are decorated as "sensitive" in the API will not
9904// be included in the string output. The member name will be present, but the
9905// value will be replaced with "sensitive".
9906func (s InboundCrossClusterSearchConnection) String() string {
9907	return awsutil.Prettify(s)
9908}
9909
9910// GoString returns the string representation.
9911//
9912// API parameter values that are decorated as "sensitive" in the API will not
9913// be included in the string output. The member name will be present, but the
9914// value will be replaced with "sensitive".
9915func (s InboundCrossClusterSearchConnection) GoString() string {
9916	return s.String()
9917}
9918
9919// SetConnectionStatus sets the ConnectionStatus field's value.
9920func (s *InboundCrossClusterSearchConnection) SetConnectionStatus(v *InboundCrossClusterSearchConnectionStatus) *InboundCrossClusterSearchConnection {
9921	s.ConnectionStatus = v
9922	return s
9923}
9924
9925// SetCrossClusterSearchConnectionId sets the CrossClusterSearchConnectionId field's value.
9926func (s *InboundCrossClusterSearchConnection) SetCrossClusterSearchConnectionId(v string) *InboundCrossClusterSearchConnection {
9927	s.CrossClusterSearchConnectionId = &v
9928	return s
9929}
9930
9931// SetDestinationDomainInfo sets the DestinationDomainInfo field's value.
9932func (s *InboundCrossClusterSearchConnection) SetDestinationDomainInfo(v *DomainInformation) *InboundCrossClusterSearchConnection {
9933	s.DestinationDomainInfo = v
9934	return s
9935}
9936
9937// SetSourceDomainInfo sets the SourceDomainInfo field's value.
9938func (s *InboundCrossClusterSearchConnection) SetSourceDomainInfo(v *DomainInformation) *InboundCrossClusterSearchConnection {
9939	s.SourceDomainInfo = v
9940	return s
9941}
9942
9943// Specifies the coonection status of an inbound cross-cluster search connection.
9944type InboundCrossClusterSearchConnectionStatus struct {
9945	_ struct{} `type:"structure"`
9946
9947	// Specifies verbose information for the inbound connection status.
9948	Message *string `type:"string"`
9949
9950	// The state code for inbound connection. This can be one of the following:
9951	//
9952	//    * PENDING_ACCEPTANCE: Inbound connection is not yet accepted by destination
9953	//    domain owner.
9954	//
9955	//    * APPROVED: Inbound connection is pending acceptance by destination domain
9956	//    owner.
9957	//
9958	//    * REJECTING: Inbound connection rejection is in process.
9959	//
9960	//    * REJECTED: Inbound connection is rejected.
9961	//
9962	//    * DELETING: Inbound connection deletion is in progress.
9963	//
9964	//    * DELETED: Inbound connection is deleted and cannot be used further.
9965	StatusCode *string `type:"string" enum:"InboundCrossClusterSearchConnectionStatusCode"`
9966}
9967
9968// String returns the string representation.
9969//
9970// API parameter values that are decorated as "sensitive" in the API will not
9971// be included in the string output. The member name will be present, but the
9972// value will be replaced with "sensitive".
9973func (s InboundCrossClusterSearchConnectionStatus) String() string {
9974	return awsutil.Prettify(s)
9975}
9976
9977// GoString returns the string representation.
9978//
9979// API parameter values that are decorated as "sensitive" in the API will not
9980// be included in the string output. The member name will be present, but the
9981// value will be replaced with "sensitive".
9982func (s InboundCrossClusterSearchConnectionStatus) GoString() string {
9983	return s.String()
9984}
9985
9986// SetMessage sets the Message field's value.
9987func (s *InboundCrossClusterSearchConnectionStatus) SetMessage(v string) *InboundCrossClusterSearchConnectionStatus {
9988	s.Message = &v
9989	return s
9990}
9991
9992// SetStatusCode sets the StatusCode field's value.
9993func (s *InboundCrossClusterSearchConnectionStatus) SetStatusCode(v string) *InboundCrossClusterSearchConnectionStatus {
9994	s.StatusCode = &v
9995	return s
9996}
9997
9998// InstanceCountLimits represents the limits on number of instances that be
9999// created in Amazon Elasticsearch for given InstanceType.
10000type InstanceCountLimits struct {
10001	_ struct{} `type:"structure"`
10002
10003	// Maximum number of Instances that can be instantiated for given InstanceType.
10004	MaximumInstanceCount *int64 `type:"integer"`
10005
10006	// Minimum number of Instances that can be instantiated for given InstanceType.
10007	MinimumInstanceCount *int64 `type:"integer"`
10008}
10009
10010// String returns the string representation.
10011//
10012// API parameter values that are decorated as "sensitive" in the API will not
10013// be included in the string output. The member name will be present, but the
10014// value will be replaced with "sensitive".
10015func (s InstanceCountLimits) String() string {
10016	return awsutil.Prettify(s)
10017}
10018
10019// GoString returns the string representation.
10020//
10021// API parameter values that are decorated as "sensitive" in the API will not
10022// be included in the string output. The member name will be present, but the
10023// value will be replaced with "sensitive".
10024func (s InstanceCountLimits) GoString() string {
10025	return s.String()
10026}
10027
10028// SetMaximumInstanceCount sets the MaximumInstanceCount field's value.
10029func (s *InstanceCountLimits) SetMaximumInstanceCount(v int64) *InstanceCountLimits {
10030	s.MaximumInstanceCount = &v
10031	return s
10032}
10033
10034// SetMinimumInstanceCount sets the MinimumInstanceCount field's value.
10035func (s *InstanceCountLimits) SetMinimumInstanceCount(v int64) *InstanceCountLimits {
10036	s.MinimumInstanceCount = &v
10037	return s
10038}
10039
10040// InstanceLimits represents the list of instance related attributes that are
10041// available for given InstanceType.
10042type InstanceLimits struct {
10043	_ struct{} `type:"structure"`
10044
10045	// InstanceCountLimits represents the limits on number of instances that be
10046	// created in Amazon Elasticsearch for given InstanceType.
10047	InstanceCountLimits *InstanceCountLimits `type:"structure"`
10048}
10049
10050// String returns the string representation.
10051//
10052// API parameter values that are decorated as "sensitive" in the API will not
10053// be included in the string output. The member name will be present, but the
10054// value will be replaced with "sensitive".
10055func (s InstanceLimits) String() string {
10056	return awsutil.Prettify(s)
10057}
10058
10059// GoString returns the string representation.
10060//
10061// API parameter values that are decorated as "sensitive" in the API will not
10062// be included in the string output. The member name will be present, but the
10063// value will be replaced with "sensitive".
10064func (s InstanceLimits) GoString() string {
10065	return s.String()
10066}
10067
10068// SetInstanceCountLimits sets the InstanceCountLimits field's value.
10069func (s *InstanceLimits) SetInstanceCountLimits(v *InstanceCountLimits) *InstanceLimits {
10070	s.InstanceCountLimits = v
10071	return s
10072}
10073
10074// The request processing has failed because of an unknown error, exception
10075// or failure (the failure is internal to the service) . Gives http status code
10076// of 500.
10077type InternalException struct {
10078	_            struct{}                  `type:"structure"`
10079	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10080
10081	Message_ *string `locationName:"message" type:"string"`
10082}
10083
10084// String returns the string representation.
10085//
10086// API parameter values that are decorated as "sensitive" in the API will not
10087// be included in the string output. The member name will be present, but the
10088// value will be replaced with "sensitive".
10089func (s InternalException) String() string {
10090	return awsutil.Prettify(s)
10091}
10092
10093// GoString returns the string representation.
10094//
10095// API parameter values that are decorated as "sensitive" in the API will not
10096// be included in the string output. The member name will be present, but the
10097// value will be replaced with "sensitive".
10098func (s InternalException) GoString() string {
10099	return s.String()
10100}
10101
10102func newErrorInternalException(v protocol.ResponseMetadata) error {
10103	return &InternalException{
10104		RespMetadata: v,
10105	}
10106}
10107
10108// Code returns the exception type name.
10109func (s *InternalException) Code() string {
10110	return "InternalException"
10111}
10112
10113// Message returns the exception's message.
10114func (s *InternalException) Message() string {
10115	if s.Message_ != nil {
10116		return *s.Message_
10117	}
10118	return ""
10119}
10120
10121// OrigErr always returns nil, satisfies awserr.Error interface.
10122func (s *InternalException) OrigErr() error {
10123	return nil
10124}
10125
10126func (s *InternalException) Error() string {
10127	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
10128}
10129
10130// Status code returns the HTTP status code for the request's response error.
10131func (s *InternalException) StatusCode() int {
10132	return s.RespMetadata.StatusCode
10133}
10134
10135// RequestID returns the service's response RequestID for request.
10136func (s *InternalException) RequestID() string {
10137	return s.RespMetadata.RequestID
10138}
10139
10140// The request processing has failed because of invalid pagination token provided
10141// by customer. Returns an HTTP status code of 400.
10142type InvalidPaginationTokenException struct {
10143	_            struct{}                  `type:"structure"`
10144	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10145
10146	Message_ *string `locationName:"message" type:"string"`
10147}
10148
10149// String returns the string representation.
10150//
10151// API parameter values that are decorated as "sensitive" in the API will not
10152// be included in the string output. The member name will be present, but the
10153// value will be replaced with "sensitive".
10154func (s InvalidPaginationTokenException) String() string {
10155	return awsutil.Prettify(s)
10156}
10157
10158// GoString returns the string representation.
10159//
10160// API parameter values that are decorated as "sensitive" in the API will not
10161// be included in the string output. The member name will be present, but the
10162// value will be replaced with "sensitive".
10163func (s InvalidPaginationTokenException) GoString() string {
10164	return s.String()
10165}
10166
10167func newErrorInvalidPaginationTokenException(v protocol.ResponseMetadata) error {
10168	return &InvalidPaginationTokenException{
10169		RespMetadata: v,
10170	}
10171}
10172
10173// Code returns the exception type name.
10174func (s *InvalidPaginationTokenException) Code() string {
10175	return "InvalidPaginationTokenException"
10176}
10177
10178// Message returns the exception's message.
10179func (s *InvalidPaginationTokenException) Message() string {
10180	if s.Message_ != nil {
10181		return *s.Message_
10182	}
10183	return ""
10184}
10185
10186// OrigErr always returns nil, satisfies awserr.Error interface.
10187func (s *InvalidPaginationTokenException) OrigErr() error {
10188	return nil
10189}
10190
10191func (s *InvalidPaginationTokenException) Error() string {
10192	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
10193}
10194
10195// Status code returns the HTTP status code for the request's response error.
10196func (s *InvalidPaginationTokenException) StatusCode() int {
10197	return s.RespMetadata.StatusCode
10198}
10199
10200// RequestID returns the service's response RequestID for request.
10201func (s *InvalidPaginationTokenException) RequestID() string {
10202	return s.RespMetadata.RequestID
10203}
10204
10205// An exception for trying to create or access sub-resource that is either invalid
10206// or not supported. Gives http status code of 409.
10207type InvalidTypeException struct {
10208	_            struct{}                  `type:"structure"`
10209	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10210
10211	Message_ *string `locationName:"message" type:"string"`
10212}
10213
10214// String returns the string representation.
10215//
10216// API parameter values that are decorated as "sensitive" in the API will not
10217// be included in the string output. The member name will be present, but the
10218// value will be replaced with "sensitive".
10219func (s InvalidTypeException) String() string {
10220	return awsutil.Prettify(s)
10221}
10222
10223// GoString returns the string representation.
10224//
10225// API parameter values that are decorated as "sensitive" in the API will not
10226// be included in the string output. The member name will be present, but the
10227// value will be replaced with "sensitive".
10228func (s InvalidTypeException) GoString() string {
10229	return s.String()
10230}
10231
10232func newErrorInvalidTypeException(v protocol.ResponseMetadata) error {
10233	return &InvalidTypeException{
10234		RespMetadata: v,
10235	}
10236}
10237
10238// Code returns the exception type name.
10239func (s *InvalidTypeException) Code() string {
10240	return "InvalidTypeException"
10241}
10242
10243// Message returns the exception's message.
10244func (s *InvalidTypeException) Message() string {
10245	if s.Message_ != nil {
10246		return *s.Message_
10247	}
10248	return ""
10249}
10250
10251// OrigErr always returns nil, satisfies awserr.Error interface.
10252func (s *InvalidTypeException) OrigErr() error {
10253	return nil
10254}
10255
10256func (s *InvalidTypeException) Error() string {
10257	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
10258}
10259
10260// Status code returns the HTTP status code for the request's response error.
10261func (s *InvalidTypeException) StatusCode() int {
10262	return s.RespMetadata.StatusCode
10263}
10264
10265// RequestID returns the service's response RequestID for request.
10266func (s *InvalidTypeException) RequestID() string {
10267	return s.RespMetadata.RequestID
10268}
10269
10270// An exception for trying to create more than allowed resources or sub-resources.
10271// Gives http status code of 409.
10272type LimitExceededException struct {
10273	_            struct{}                  `type:"structure"`
10274	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10275
10276	Message_ *string `locationName:"message" type:"string"`
10277}
10278
10279// String returns the string representation.
10280//
10281// API parameter values that are decorated as "sensitive" in the API will not
10282// be included in the string output. The member name will be present, but the
10283// value will be replaced with "sensitive".
10284func (s LimitExceededException) String() string {
10285	return awsutil.Prettify(s)
10286}
10287
10288// GoString returns the string representation.
10289//
10290// API parameter values that are decorated as "sensitive" in the API will not
10291// be included in the string output. The member name will be present, but the
10292// value will be replaced with "sensitive".
10293func (s LimitExceededException) GoString() string {
10294	return s.String()
10295}
10296
10297func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
10298	return &LimitExceededException{
10299		RespMetadata: v,
10300	}
10301}
10302
10303// Code returns the exception type name.
10304func (s *LimitExceededException) Code() string {
10305	return "LimitExceededException"
10306}
10307
10308// Message returns the exception's message.
10309func (s *LimitExceededException) Message() string {
10310	if s.Message_ != nil {
10311		return *s.Message_
10312	}
10313	return ""
10314}
10315
10316// OrigErr always returns nil, satisfies awserr.Error interface.
10317func (s *LimitExceededException) OrigErr() error {
10318	return nil
10319}
10320
10321func (s *LimitExceededException) Error() string {
10322	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
10323}
10324
10325// Status code returns the HTTP status code for the request's response error.
10326func (s *LimitExceededException) StatusCode() int {
10327	return s.RespMetadata.StatusCode
10328}
10329
10330// RequestID returns the service's response RequestID for request.
10331func (s *LimitExceededException) RequestID() string {
10332	return s.RespMetadata.RequestID
10333}
10334
10335// Limits for given InstanceType and for each of it's role. Limits contains
10336// following StorageTypes, InstanceLimits and AdditionalLimits
10337type Limits struct {
10338	_ struct{} `type:"structure"`
10339
10340	// List of additional limits that are specific to a given InstanceType and for
10341	// each of it's InstanceRole .
10342	AdditionalLimits []*AdditionalLimit `type:"list"`
10343
10344	// InstanceLimits represents the list of instance related attributes that are
10345	// available for given InstanceType.
10346	InstanceLimits *InstanceLimits `type:"structure"`
10347
10348	// StorageType represents the list of storage related types and attributes that
10349	// are available for given InstanceType.
10350	StorageTypes []*StorageType `type:"list"`
10351}
10352
10353// String returns the string representation.
10354//
10355// API parameter values that are decorated as "sensitive" in the API will not
10356// be included in the string output. The member name will be present, but the
10357// value will be replaced with "sensitive".
10358func (s Limits) String() string {
10359	return awsutil.Prettify(s)
10360}
10361
10362// GoString returns the string representation.
10363//
10364// API parameter values that are decorated as "sensitive" in the API will not
10365// be included in the string output. The member name will be present, but the
10366// value will be replaced with "sensitive".
10367func (s Limits) GoString() string {
10368	return s.String()
10369}
10370
10371// SetAdditionalLimits sets the AdditionalLimits field's value.
10372func (s *Limits) SetAdditionalLimits(v []*AdditionalLimit) *Limits {
10373	s.AdditionalLimits = v
10374	return s
10375}
10376
10377// SetInstanceLimits sets the InstanceLimits field's value.
10378func (s *Limits) SetInstanceLimits(v *InstanceLimits) *Limits {
10379	s.InstanceLimits = v
10380	return s
10381}
10382
10383// SetStorageTypes sets the StorageTypes field's value.
10384func (s *Limits) SetStorageTypes(v []*StorageType) *Limits {
10385	s.StorageTypes = v
10386	return s
10387}
10388
10389// Container for the parameters to the ListDomainNames operation.
10390type ListDomainNamesInput struct {
10391	_ struct{} `type:"structure" nopayload:"true"`
10392
10393	// Optional parameter to filter the output by domain engine type. Acceptable
10394	// values are 'Elasticsearch' and 'OpenSearch'.
10395	EngineType *string `location:"querystring" locationName:"engineType" type:"string" enum:"EngineType"`
10396}
10397
10398// String returns the string representation.
10399//
10400// API parameter values that are decorated as "sensitive" in the API will not
10401// be included in the string output. The member name will be present, but the
10402// value will be replaced with "sensitive".
10403func (s ListDomainNamesInput) String() string {
10404	return awsutil.Prettify(s)
10405}
10406
10407// GoString returns the string representation.
10408//
10409// API parameter values that are decorated as "sensitive" in the API will not
10410// be included in the string output. The member name will be present, but the
10411// value will be replaced with "sensitive".
10412func (s ListDomainNamesInput) GoString() string {
10413	return s.String()
10414}
10415
10416// SetEngineType sets the EngineType field's value.
10417func (s *ListDomainNamesInput) SetEngineType(v string) *ListDomainNamesInput {
10418	s.EngineType = &v
10419	return s
10420}
10421
10422// The result of a ListDomainNames operation. Contains the names of all domains
10423// owned by this account and their respective engine types.
10424type ListDomainNamesOutput struct {
10425	_ struct{} `type:"structure"`
10426
10427	// List of domain names and respective engine types.
10428	DomainNames []*DomainInfo `type:"list"`
10429}
10430
10431// String returns the string representation.
10432//
10433// API parameter values that are decorated as "sensitive" in the API will not
10434// be included in the string output. The member name will be present, but the
10435// value will be replaced with "sensitive".
10436func (s ListDomainNamesOutput) String() string {
10437	return awsutil.Prettify(s)
10438}
10439
10440// GoString returns the string representation.
10441//
10442// API parameter values that are decorated as "sensitive" in the API will not
10443// be included in the string output. The member name will be present, but the
10444// value will be replaced with "sensitive".
10445func (s ListDomainNamesOutput) GoString() string {
10446	return s.String()
10447}
10448
10449// SetDomainNames sets the DomainNames field's value.
10450func (s *ListDomainNamesOutput) SetDomainNames(v []*DomainInfo) *ListDomainNamesOutput {
10451	s.DomainNames = v
10452	return s
10453}
10454
10455// Container for request parameters to ListDomainsForPackage operation.
10456type ListDomainsForPackageInput struct {
10457	_ struct{} `type:"structure" nopayload:"true"`
10458
10459	// Limits results to a maximum number of domains.
10460	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
10461
10462	// Used for pagination. Only necessary if a previous API call includes a non-null
10463	// NextToken value. If provided, returns results for the next page.
10464	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
10465
10466	// The package for which to list domains.
10467	//
10468	// PackageID is a required field
10469	PackageID *string `location:"uri" locationName:"PackageID" type:"string" required:"true"`
10470}
10471
10472// String returns the string representation.
10473//
10474// API parameter values that are decorated as "sensitive" in the API will not
10475// be included in the string output. The member name will be present, but the
10476// value will be replaced with "sensitive".
10477func (s ListDomainsForPackageInput) String() string {
10478	return awsutil.Prettify(s)
10479}
10480
10481// GoString returns the string representation.
10482//
10483// API parameter values that are decorated as "sensitive" in the API will not
10484// be included in the string output. The member name will be present, but the
10485// value will be replaced with "sensitive".
10486func (s ListDomainsForPackageInput) GoString() string {
10487	return s.String()
10488}
10489
10490// Validate inspects the fields of the type to determine if they are valid.
10491func (s *ListDomainsForPackageInput) Validate() error {
10492	invalidParams := request.ErrInvalidParams{Context: "ListDomainsForPackageInput"}
10493	if s.PackageID == nil {
10494		invalidParams.Add(request.NewErrParamRequired("PackageID"))
10495	}
10496	if s.PackageID != nil && len(*s.PackageID) < 1 {
10497		invalidParams.Add(request.NewErrParamMinLen("PackageID", 1))
10498	}
10499
10500	if invalidParams.Len() > 0 {
10501		return invalidParams
10502	}
10503	return nil
10504}
10505
10506// SetMaxResults sets the MaxResults field's value.
10507func (s *ListDomainsForPackageInput) SetMaxResults(v int64) *ListDomainsForPackageInput {
10508	s.MaxResults = &v
10509	return s
10510}
10511
10512// SetNextToken sets the NextToken field's value.
10513func (s *ListDomainsForPackageInput) SetNextToken(v string) *ListDomainsForPackageInput {
10514	s.NextToken = &v
10515	return s
10516}
10517
10518// SetPackageID sets the PackageID field's value.
10519func (s *ListDomainsForPackageInput) SetPackageID(v string) *ListDomainsForPackageInput {
10520	s.PackageID = &v
10521	return s
10522}
10523
10524// Container for response parameters to ListDomainsForPackage operation.
10525type ListDomainsForPackageOutput struct {
10526	_ struct{} `type:"structure"`
10527
10528	// List of DomainPackageDetails objects.
10529	DomainPackageDetailsList []*DomainPackageDetails `type:"list"`
10530
10531	NextToken *string `type:"string"`
10532}
10533
10534// String returns the string representation.
10535//
10536// API parameter values that are decorated as "sensitive" in the API will not
10537// be included in the string output. The member name will be present, but the
10538// value will be replaced with "sensitive".
10539func (s ListDomainsForPackageOutput) String() string {
10540	return awsutil.Prettify(s)
10541}
10542
10543// GoString returns the string representation.
10544//
10545// API parameter values that are decorated as "sensitive" in the API will not
10546// be included in the string output. The member name will be present, but the
10547// value will be replaced with "sensitive".
10548func (s ListDomainsForPackageOutput) GoString() string {
10549	return s.String()
10550}
10551
10552// SetDomainPackageDetailsList sets the DomainPackageDetailsList field's value.
10553func (s *ListDomainsForPackageOutput) SetDomainPackageDetailsList(v []*DomainPackageDetails) *ListDomainsForPackageOutput {
10554	s.DomainPackageDetailsList = v
10555	return s
10556}
10557
10558// SetNextToken sets the NextToken field's value.
10559func (s *ListDomainsForPackageOutput) SetNextToken(v string) *ListDomainsForPackageOutput {
10560	s.NextToken = &v
10561	return s
10562}
10563
10564// Container for the parameters to the ListElasticsearchInstanceTypes operation.
10565type ListElasticsearchInstanceTypesInput struct {
10566	_ struct{} `type:"structure" nopayload:"true"`
10567
10568	// DomainName represents the name of the Domain that we are trying to modify.
10569	// This should be present only if we are querying for list of available Elasticsearch
10570	// instance types when modifying existing domain.
10571	DomainName *string `location:"querystring" locationName:"domainName" min:"3" type:"string"`
10572
10573	// Version of Elasticsearch for which list of supported elasticsearch instance
10574	// types are needed.
10575	//
10576	// ElasticsearchVersion is a required field
10577	ElasticsearchVersion *string `location:"uri" locationName:"ElasticsearchVersion" type:"string" required:"true"`
10578
10579	// Set this value to limit the number of results returned. Value provided must
10580	// be greater than 30 else it wont be honored.
10581	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
10582
10583	// NextToken should be sent in case if earlier API call produced result containing
10584	// NextToken. It is used for pagination.
10585	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
10586}
10587
10588// String returns the string representation.
10589//
10590// API parameter values that are decorated as "sensitive" in the API will not
10591// be included in the string output. The member name will be present, but the
10592// value will be replaced with "sensitive".
10593func (s ListElasticsearchInstanceTypesInput) String() string {
10594	return awsutil.Prettify(s)
10595}
10596
10597// GoString returns the string representation.
10598//
10599// API parameter values that are decorated as "sensitive" in the API will not
10600// be included in the string output. The member name will be present, but the
10601// value will be replaced with "sensitive".
10602func (s ListElasticsearchInstanceTypesInput) GoString() string {
10603	return s.String()
10604}
10605
10606// Validate inspects the fields of the type to determine if they are valid.
10607func (s *ListElasticsearchInstanceTypesInput) Validate() error {
10608	invalidParams := request.ErrInvalidParams{Context: "ListElasticsearchInstanceTypesInput"}
10609	if s.DomainName != nil && len(*s.DomainName) < 3 {
10610		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
10611	}
10612	if s.ElasticsearchVersion == nil {
10613		invalidParams.Add(request.NewErrParamRequired("ElasticsearchVersion"))
10614	}
10615	if s.ElasticsearchVersion != nil && len(*s.ElasticsearchVersion) < 1 {
10616		invalidParams.Add(request.NewErrParamMinLen("ElasticsearchVersion", 1))
10617	}
10618
10619	if invalidParams.Len() > 0 {
10620		return invalidParams
10621	}
10622	return nil
10623}
10624
10625// SetDomainName sets the DomainName field's value.
10626func (s *ListElasticsearchInstanceTypesInput) SetDomainName(v string) *ListElasticsearchInstanceTypesInput {
10627	s.DomainName = &v
10628	return s
10629}
10630
10631// SetElasticsearchVersion sets the ElasticsearchVersion field's value.
10632func (s *ListElasticsearchInstanceTypesInput) SetElasticsearchVersion(v string) *ListElasticsearchInstanceTypesInput {
10633	s.ElasticsearchVersion = &v
10634	return s
10635}
10636
10637// SetMaxResults sets the MaxResults field's value.
10638func (s *ListElasticsearchInstanceTypesInput) SetMaxResults(v int64) *ListElasticsearchInstanceTypesInput {
10639	s.MaxResults = &v
10640	return s
10641}
10642
10643// SetNextToken sets the NextToken field's value.
10644func (s *ListElasticsearchInstanceTypesInput) SetNextToken(v string) *ListElasticsearchInstanceTypesInput {
10645	s.NextToken = &v
10646	return s
10647}
10648
10649// Container for the parameters returned by ListElasticsearchInstanceTypes operation.
10650type ListElasticsearchInstanceTypesOutput struct {
10651	_ struct{} `type:"structure"`
10652
10653	// List of instance types supported by Amazon Elasticsearch service for given
10654	// ElasticsearchVersion
10655	ElasticsearchInstanceTypes []*string `type:"list"`
10656
10657	// In case if there are more results available NextToken would be present, make
10658	// further request to the same API with received NextToken to paginate remaining
10659	// results.
10660	NextToken *string `type:"string"`
10661}
10662
10663// String returns the string representation.
10664//
10665// API parameter values that are decorated as "sensitive" in the API will not
10666// be included in the string output. The member name will be present, but the
10667// value will be replaced with "sensitive".
10668func (s ListElasticsearchInstanceTypesOutput) String() string {
10669	return awsutil.Prettify(s)
10670}
10671
10672// GoString returns the string representation.
10673//
10674// API parameter values that are decorated as "sensitive" in the API will not
10675// be included in the string output. The member name will be present, but the
10676// value will be replaced with "sensitive".
10677func (s ListElasticsearchInstanceTypesOutput) GoString() string {
10678	return s.String()
10679}
10680
10681// SetElasticsearchInstanceTypes sets the ElasticsearchInstanceTypes field's value.
10682func (s *ListElasticsearchInstanceTypesOutput) SetElasticsearchInstanceTypes(v []*string) *ListElasticsearchInstanceTypesOutput {
10683	s.ElasticsearchInstanceTypes = v
10684	return s
10685}
10686
10687// SetNextToken sets the NextToken field's value.
10688func (s *ListElasticsearchInstanceTypesOutput) SetNextToken(v string) *ListElasticsearchInstanceTypesOutput {
10689	s.NextToken = &v
10690	return s
10691}
10692
10693// Container for the parameters to the ListElasticsearchVersions operation.
10694// Use MaxResults to control the maximum number of results to retrieve in a
10695// single call.
10696//
10697// Use NextToken in response to retrieve more results. If the received response
10698// does not contain a NextToken, then there are no more results to retrieve.
10699type ListElasticsearchVersionsInput struct {
10700	_ struct{} `type:"structure" nopayload:"true"`
10701
10702	// Set this value to limit the number of results returned. Value provided must
10703	// be greater than 10 else it wont be honored.
10704	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
10705
10706	// Paginated APIs accepts NextToken input to returns next page results and provides
10707	// a NextToken output in the response which can be used by the client to retrieve
10708	// more results.
10709	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
10710}
10711
10712// String returns the string representation.
10713//
10714// API parameter values that are decorated as "sensitive" in the API will not
10715// be included in the string output. The member name will be present, but the
10716// value will be replaced with "sensitive".
10717func (s ListElasticsearchVersionsInput) String() string {
10718	return awsutil.Prettify(s)
10719}
10720
10721// GoString returns the string representation.
10722//
10723// API parameter values that are decorated as "sensitive" in the API will not
10724// be included in the string output. The member name will be present, but the
10725// value will be replaced with "sensitive".
10726func (s ListElasticsearchVersionsInput) GoString() string {
10727	return s.String()
10728}
10729
10730// SetMaxResults sets the MaxResults field's value.
10731func (s *ListElasticsearchVersionsInput) SetMaxResults(v int64) *ListElasticsearchVersionsInput {
10732	s.MaxResults = &v
10733	return s
10734}
10735
10736// SetNextToken sets the NextToken field's value.
10737func (s *ListElasticsearchVersionsInput) SetNextToken(v string) *ListElasticsearchVersionsInput {
10738	s.NextToken = &v
10739	return s
10740}
10741
10742// Container for the parameters for response received from ListElasticsearchVersions
10743// operation.
10744type ListElasticsearchVersionsOutput struct {
10745	_ struct{} `type:"structure"`
10746
10747	// List of supported elastic search versions.
10748	ElasticsearchVersions []*string `type:"list"`
10749
10750	// Paginated APIs accepts NextToken input to returns next page results and provides
10751	// a NextToken output in the response which can be used by the client to retrieve
10752	// more results.
10753	NextToken *string `type:"string"`
10754}
10755
10756// String returns the string representation.
10757//
10758// API parameter values that are decorated as "sensitive" in the API will not
10759// be included in the string output. The member name will be present, but the
10760// value will be replaced with "sensitive".
10761func (s ListElasticsearchVersionsOutput) String() string {
10762	return awsutil.Prettify(s)
10763}
10764
10765// GoString returns the string representation.
10766//
10767// API parameter values that are decorated as "sensitive" in the API will not
10768// be included in the string output. The member name will be present, but the
10769// value will be replaced with "sensitive".
10770func (s ListElasticsearchVersionsOutput) GoString() string {
10771	return s.String()
10772}
10773
10774// SetElasticsearchVersions sets the ElasticsearchVersions field's value.
10775func (s *ListElasticsearchVersionsOutput) SetElasticsearchVersions(v []*string) *ListElasticsearchVersionsOutput {
10776	s.ElasticsearchVersions = v
10777	return s
10778}
10779
10780// SetNextToken sets the NextToken field's value.
10781func (s *ListElasticsearchVersionsOutput) SetNextToken(v string) *ListElasticsearchVersionsOutput {
10782	s.NextToken = &v
10783	return s
10784}
10785
10786// Container for request parameters to ListPackagesForDomain operation.
10787type ListPackagesForDomainInput struct {
10788	_ struct{} `type:"structure" nopayload:"true"`
10789
10790	// The name of the domain for which you want to list associated packages.
10791	//
10792	// DomainName is a required field
10793	DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"`
10794
10795	// Limits results to a maximum number of packages.
10796	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
10797
10798	// Used for pagination. Only necessary if a previous API call includes a non-null
10799	// NextToken value. If provided, returns results for the next page.
10800	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
10801}
10802
10803// String returns the string representation.
10804//
10805// API parameter values that are decorated as "sensitive" in the API will not
10806// be included in the string output. The member name will be present, but the
10807// value will be replaced with "sensitive".
10808func (s ListPackagesForDomainInput) String() string {
10809	return awsutil.Prettify(s)
10810}
10811
10812// GoString returns the string representation.
10813//
10814// API parameter values that are decorated as "sensitive" in the API will not
10815// be included in the string output. The member name will be present, but the
10816// value will be replaced with "sensitive".
10817func (s ListPackagesForDomainInput) GoString() string {
10818	return s.String()
10819}
10820
10821// Validate inspects the fields of the type to determine if they are valid.
10822func (s *ListPackagesForDomainInput) Validate() error {
10823	invalidParams := request.ErrInvalidParams{Context: "ListPackagesForDomainInput"}
10824	if s.DomainName == nil {
10825		invalidParams.Add(request.NewErrParamRequired("DomainName"))
10826	}
10827	if s.DomainName != nil && len(*s.DomainName) < 3 {
10828		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
10829	}
10830
10831	if invalidParams.Len() > 0 {
10832		return invalidParams
10833	}
10834	return nil
10835}
10836
10837// SetDomainName sets the DomainName field's value.
10838func (s *ListPackagesForDomainInput) SetDomainName(v string) *ListPackagesForDomainInput {
10839	s.DomainName = &v
10840	return s
10841}
10842
10843// SetMaxResults sets the MaxResults field's value.
10844func (s *ListPackagesForDomainInput) SetMaxResults(v int64) *ListPackagesForDomainInput {
10845	s.MaxResults = &v
10846	return s
10847}
10848
10849// SetNextToken sets the NextToken field's value.
10850func (s *ListPackagesForDomainInput) SetNextToken(v string) *ListPackagesForDomainInput {
10851	s.NextToken = &v
10852	return s
10853}
10854
10855// Container for response parameters to ListPackagesForDomain operation.
10856type ListPackagesForDomainOutput struct {
10857	_ struct{} `type:"structure"`
10858
10859	// List of DomainPackageDetails objects.
10860	DomainPackageDetailsList []*DomainPackageDetails `type:"list"`
10861
10862	// Pagination token that needs to be supplied to the next call to get the next
10863	// page of results.
10864	NextToken *string `type:"string"`
10865}
10866
10867// String returns the string representation.
10868//
10869// API parameter values that are decorated as "sensitive" in the API will not
10870// be included in the string output. The member name will be present, but the
10871// value will be replaced with "sensitive".
10872func (s ListPackagesForDomainOutput) String() string {
10873	return awsutil.Prettify(s)
10874}
10875
10876// GoString returns the string representation.
10877//
10878// API parameter values that are decorated as "sensitive" in the API will not
10879// be included in the string output. The member name will be present, but the
10880// value will be replaced with "sensitive".
10881func (s ListPackagesForDomainOutput) GoString() string {
10882	return s.String()
10883}
10884
10885// SetDomainPackageDetailsList sets the DomainPackageDetailsList field's value.
10886func (s *ListPackagesForDomainOutput) SetDomainPackageDetailsList(v []*DomainPackageDetails) *ListPackagesForDomainOutput {
10887	s.DomainPackageDetailsList = v
10888	return s
10889}
10890
10891// SetNextToken sets the NextToken field's value.
10892func (s *ListPackagesForDomainOutput) SetNextToken(v string) *ListPackagesForDomainOutput {
10893	s.NextToken = &v
10894	return s
10895}
10896
10897// Container for the parameters to the ListTags operation. Specify the ARN for
10898// the Elasticsearch domain to which the tags are attached that you want to
10899// view are attached.
10900type ListTagsInput struct {
10901	_ struct{} `type:"structure" nopayload:"true"`
10902
10903	// Specify the ARN for the Elasticsearch domain to which the tags are attached
10904	// that you want to view.
10905	//
10906	// ARN is a required field
10907	ARN *string `location:"querystring" locationName:"arn" type:"string" required:"true"`
10908}
10909
10910// String returns the string representation.
10911//
10912// API parameter values that are decorated as "sensitive" in the API will not
10913// be included in the string output. The member name will be present, but the
10914// value will be replaced with "sensitive".
10915func (s ListTagsInput) String() string {
10916	return awsutil.Prettify(s)
10917}
10918
10919// GoString returns the string representation.
10920//
10921// API parameter values that are decorated as "sensitive" in the API will not
10922// be included in the string output. The member name will be present, but the
10923// value will be replaced with "sensitive".
10924func (s ListTagsInput) GoString() string {
10925	return s.String()
10926}
10927
10928// Validate inspects the fields of the type to determine if they are valid.
10929func (s *ListTagsInput) Validate() error {
10930	invalidParams := request.ErrInvalidParams{Context: "ListTagsInput"}
10931	if s.ARN == nil {
10932		invalidParams.Add(request.NewErrParamRequired("ARN"))
10933	}
10934
10935	if invalidParams.Len() > 0 {
10936		return invalidParams
10937	}
10938	return nil
10939}
10940
10941// SetARN sets the ARN field's value.
10942func (s *ListTagsInput) SetARN(v string) *ListTagsInput {
10943	s.ARN = &v
10944	return s
10945}
10946
10947// The result of a ListTags operation. Contains tags for all requested Elasticsearch
10948// domains.
10949type ListTagsOutput struct {
10950	_ struct{} `type:"structure"`
10951
10952	// List of Tag for the requested Elasticsearch domain.
10953	TagList []*Tag `type:"list"`
10954}
10955
10956// String returns the string representation.
10957//
10958// API parameter values that are decorated as "sensitive" in the API will not
10959// be included in the string output. The member name will be present, but the
10960// value will be replaced with "sensitive".
10961func (s ListTagsOutput) String() string {
10962	return awsutil.Prettify(s)
10963}
10964
10965// GoString returns the string representation.
10966//
10967// API parameter values that are decorated as "sensitive" in the API will not
10968// be included in the string output. The member name will be present, but the
10969// value will be replaced with "sensitive".
10970func (s ListTagsOutput) GoString() string {
10971	return s.String()
10972}
10973
10974// SetTagList sets the TagList field's value.
10975func (s *ListTagsOutput) SetTagList(v []*Tag) *ListTagsOutput {
10976	s.TagList = v
10977	return s
10978}
10979
10980// Log Publishing option that is set for given domain. Attributes and their
10981// details:
10982//    * CloudWatchLogsLogGroupArn: ARN of the Cloudwatch log group to which
10983//    log needs to be published.
10984//
10985//    * Enabled: Whether the log publishing for given log type is enabled or
10986//    not
10987type LogPublishingOption struct {
10988	_ struct{} `type:"structure"`
10989
10990	// ARN of the Cloudwatch log group to which log needs to be published.
10991	CloudWatchLogsLogGroupArn *string `type:"string"`
10992
10993	// Specifies whether given log publishing option is enabled or not.
10994	Enabled *bool `type:"boolean"`
10995}
10996
10997// String returns the string representation.
10998//
10999// API parameter values that are decorated as "sensitive" in the API will not
11000// be included in the string output. The member name will be present, but the
11001// value will be replaced with "sensitive".
11002func (s LogPublishingOption) String() string {
11003	return awsutil.Prettify(s)
11004}
11005
11006// GoString returns the string representation.
11007//
11008// API parameter values that are decorated as "sensitive" in the API will not
11009// be included in the string output. The member name will be present, but the
11010// value will be replaced with "sensitive".
11011func (s LogPublishingOption) GoString() string {
11012	return s.String()
11013}
11014
11015// SetCloudWatchLogsLogGroupArn sets the CloudWatchLogsLogGroupArn field's value.
11016func (s *LogPublishingOption) SetCloudWatchLogsLogGroupArn(v string) *LogPublishingOption {
11017	s.CloudWatchLogsLogGroupArn = &v
11018	return s
11019}
11020
11021// SetEnabled sets the Enabled field's value.
11022func (s *LogPublishingOption) SetEnabled(v bool) *LogPublishingOption {
11023	s.Enabled = &v
11024	return s
11025}
11026
11027// The configured log publishing options for the domain and their current status.
11028type LogPublishingOptionsStatus struct {
11029	_ struct{} `type:"structure"`
11030
11031	// The log publishing options configured for the Elasticsearch domain.
11032	Options map[string]*LogPublishingOption `type:"map"`
11033
11034	// The status of the log publishing options for the Elasticsearch domain. See
11035	// OptionStatus for the status information that's included.
11036	Status *OptionStatus `type:"structure"`
11037}
11038
11039// String returns the string representation.
11040//
11041// API parameter values that are decorated as "sensitive" in the API will not
11042// be included in the string output. The member name will be present, but the
11043// value will be replaced with "sensitive".
11044func (s LogPublishingOptionsStatus) String() string {
11045	return awsutil.Prettify(s)
11046}
11047
11048// GoString returns the string representation.
11049//
11050// API parameter values that are decorated as "sensitive" in the API will not
11051// be included in the string output. The member name will be present, but the
11052// value will be replaced with "sensitive".
11053func (s LogPublishingOptionsStatus) GoString() string {
11054	return s.String()
11055}
11056
11057// SetOptions sets the Options field's value.
11058func (s *LogPublishingOptionsStatus) SetOptions(v map[string]*LogPublishingOption) *LogPublishingOptionsStatus {
11059	s.Options = v
11060	return s
11061}
11062
11063// SetStatus sets the Status field's value.
11064func (s *LogPublishingOptionsStatus) SetStatus(v *OptionStatus) *LogPublishingOptionsStatus {
11065	s.Status = v
11066	return s
11067}
11068
11069// Credentials for the master user: username and password, ARN, or both.
11070type MasterUserOptions struct {
11071	_ struct{} `type:"structure"`
11072
11073	// ARN for the master user (if IAM is enabled).
11074	MasterUserARN *string `type:"string"`
11075
11076	// The master user's username, which is stored in the Amazon Elasticsearch Service
11077	// domain's internal database.
11078	//
11079	// MasterUserName is a sensitive parameter and its value will be
11080	// replaced with "sensitive" in string returned by MasterUserOptions's
11081	// String and GoString methods.
11082	MasterUserName *string `min:"1" type:"string" sensitive:"true"`
11083
11084	// The master user's password, which is stored in the Amazon Elasticsearch Service
11085	// domain's internal database.
11086	//
11087	// MasterUserPassword is a sensitive parameter and its value will be
11088	// replaced with "sensitive" in string returned by MasterUserOptions's
11089	// String and GoString methods.
11090	MasterUserPassword *string `min:"8" type:"string" sensitive:"true"`
11091}
11092
11093// String returns the string representation.
11094//
11095// API parameter values that are decorated as "sensitive" in the API will not
11096// be included in the string output. The member name will be present, but the
11097// value will be replaced with "sensitive".
11098func (s MasterUserOptions) String() string {
11099	return awsutil.Prettify(s)
11100}
11101
11102// GoString returns the string representation.
11103//
11104// API parameter values that are decorated as "sensitive" in the API will not
11105// be included in the string output. The member name will be present, but the
11106// value will be replaced with "sensitive".
11107func (s MasterUserOptions) GoString() string {
11108	return s.String()
11109}
11110
11111// Validate inspects the fields of the type to determine if they are valid.
11112func (s *MasterUserOptions) Validate() error {
11113	invalidParams := request.ErrInvalidParams{Context: "MasterUserOptions"}
11114	if s.MasterUserName != nil && len(*s.MasterUserName) < 1 {
11115		invalidParams.Add(request.NewErrParamMinLen("MasterUserName", 1))
11116	}
11117	if s.MasterUserPassword != nil && len(*s.MasterUserPassword) < 8 {
11118		invalidParams.Add(request.NewErrParamMinLen("MasterUserPassword", 8))
11119	}
11120
11121	if invalidParams.Len() > 0 {
11122		return invalidParams
11123	}
11124	return nil
11125}
11126
11127// SetMasterUserARN sets the MasterUserARN field's value.
11128func (s *MasterUserOptions) SetMasterUserARN(v string) *MasterUserOptions {
11129	s.MasterUserARN = &v
11130	return s
11131}
11132
11133// SetMasterUserName sets the MasterUserName field's value.
11134func (s *MasterUserOptions) SetMasterUserName(v string) *MasterUserOptions {
11135	s.MasterUserName = &v
11136	return s
11137}
11138
11139// SetMasterUserPassword sets the MasterUserPassword field's value.
11140func (s *MasterUserOptions) SetMasterUserPassword(v string) *MasterUserOptions {
11141	s.MasterUserPassword = &v
11142	return s
11143}
11144
11145// Specifies the node-to-node encryption options.
11146type NodeToNodeEncryptionOptions struct {
11147	_ struct{} `type:"structure"`
11148
11149	// Specify true to enable node-to-node encryption.
11150	Enabled *bool `type:"boolean"`
11151}
11152
11153// String returns the string representation.
11154//
11155// API parameter values that are decorated as "sensitive" in the API will not
11156// be included in the string output. The member name will be present, but the
11157// value will be replaced with "sensitive".
11158func (s NodeToNodeEncryptionOptions) String() string {
11159	return awsutil.Prettify(s)
11160}
11161
11162// GoString returns the string representation.
11163//
11164// API parameter values that are decorated as "sensitive" in the API will not
11165// be included in the string output. The member name will be present, but the
11166// value will be replaced with "sensitive".
11167func (s NodeToNodeEncryptionOptions) GoString() string {
11168	return s.String()
11169}
11170
11171// SetEnabled sets the Enabled field's value.
11172func (s *NodeToNodeEncryptionOptions) SetEnabled(v bool) *NodeToNodeEncryptionOptions {
11173	s.Enabled = &v
11174	return s
11175}
11176
11177// Status of the node-to-node encryption options for the specified Elasticsearch
11178// domain.
11179type NodeToNodeEncryptionOptionsStatus struct {
11180	_ struct{} `type:"structure"`
11181
11182	// Specifies the node-to-node encryption options for the specified Elasticsearch
11183	// domain.
11184	//
11185	// Options is a required field
11186	Options *NodeToNodeEncryptionOptions `type:"structure" required:"true"`
11187
11188	// Specifies the status of the node-to-node encryption options for the specified
11189	// Elasticsearch domain.
11190	//
11191	// Status is a required field
11192	Status *OptionStatus `type:"structure" required:"true"`
11193}
11194
11195// String returns the string representation.
11196//
11197// API parameter values that are decorated as "sensitive" in the API will not
11198// be included in the string output. The member name will be present, but the
11199// value will be replaced with "sensitive".
11200func (s NodeToNodeEncryptionOptionsStatus) String() string {
11201	return awsutil.Prettify(s)
11202}
11203
11204// GoString returns the string representation.
11205//
11206// API parameter values that are decorated as "sensitive" in the API will not
11207// be included in the string output. The member name will be present, but the
11208// value will be replaced with "sensitive".
11209func (s NodeToNodeEncryptionOptionsStatus) GoString() string {
11210	return s.String()
11211}
11212
11213// SetOptions sets the Options field's value.
11214func (s *NodeToNodeEncryptionOptionsStatus) SetOptions(v *NodeToNodeEncryptionOptions) *NodeToNodeEncryptionOptionsStatus {
11215	s.Options = v
11216	return s
11217}
11218
11219// SetStatus sets the Status field's value.
11220func (s *NodeToNodeEncryptionOptionsStatus) SetStatus(v *OptionStatus) *NodeToNodeEncryptionOptionsStatus {
11221	s.Status = v
11222	return s
11223}
11224
11225// Provides the current status of the entity.
11226type OptionStatus struct {
11227	_ struct{} `type:"structure"`
11228
11229	// Timestamp which tells the creation date for the entity.
11230	//
11231	// CreationDate is a required field
11232	CreationDate *time.Time `type:"timestamp" required:"true"`
11233
11234	// Indicates whether the Elasticsearch domain is being deleted.
11235	PendingDeletion *bool `type:"boolean"`
11236
11237	// Provides the OptionState for the Elasticsearch domain.
11238	//
11239	// State is a required field
11240	State *string `type:"string" required:"true" enum:"OptionState"`
11241
11242	// Timestamp which tells the last updated time for the entity.
11243	//
11244	// UpdateDate is a required field
11245	UpdateDate *time.Time `type:"timestamp" required:"true"`
11246
11247	// Specifies the latest version for the entity.
11248	UpdateVersion *int64 `type:"integer"`
11249}
11250
11251// String returns the string representation.
11252//
11253// API parameter values that are decorated as "sensitive" in the API will not
11254// be included in the string output. The member name will be present, but the
11255// value will be replaced with "sensitive".
11256func (s OptionStatus) String() string {
11257	return awsutil.Prettify(s)
11258}
11259
11260// GoString returns the string representation.
11261//
11262// API parameter values that are decorated as "sensitive" in the API will not
11263// be included in the string output. The member name will be present, but the
11264// value will be replaced with "sensitive".
11265func (s OptionStatus) GoString() string {
11266	return s.String()
11267}
11268
11269// SetCreationDate sets the CreationDate field's value.
11270func (s *OptionStatus) SetCreationDate(v time.Time) *OptionStatus {
11271	s.CreationDate = &v
11272	return s
11273}
11274
11275// SetPendingDeletion sets the PendingDeletion field's value.
11276func (s *OptionStatus) SetPendingDeletion(v bool) *OptionStatus {
11277	s.PendingDeletion = &v
11278	return s
11279}
11280
11281// SetState sets the State field's value.
11282func (s *OptionStatus) SetState(v string) *OptionStatus {
11283	s.State = &v
11284	return s
11285}
11286
11287// SetUpdateDate sets the UpdateDate field's value.
11288func (s *OptionStatus) SetUpdateDate(v time.Time) *OptionStatus {
11289	s.UpdateDate = &v
11290	return s
11291}
11292
11293// SetUpdateVersion sets the UpdateVersion field's value.
11294func (s *OptionStatus) SetUpdateVersion(v int64) *OptionStatus {
11295	s.UpdateVersion = &v
11296	return s
11297}
11298
11299// Specifies details of an outbound connection.
11300type OutboundCrossClusterSearchConnection struct {
11301	_ struct{} `type:"structure"`
11302
11303	// Specifies the connection alias for the outbound cross-cluster search connection.
11304	ConnectionAlias *string `type:"string"`
11305
11306	// Specifies the OutboundCrossClusterSearchConnectionStatus for the outbound
11307	// connection.
11308	ConnectionStatus *OutboundCrossClusterSearchConnectionStatus `type:"structure"`
11309
11310	// Specifies the connection id for the outbound cross-cluster search connection.
11311	CrossClusterSearchConnectionId *string `type:"string"`
11312
11313	// Specifies the DomainInformation for the destination Elasticsearch domain.
11314	DestinationDomainInfo *DomainInformation `type:"structure"`
11315
11316	// Specifies the DomainInformation for the source Elasticsearch domain.
11317	SourceDomainInfo *DomainInformation `type:"structure"`
11318}
11319
11320// String returns the string representation.
11321//
11322// API parameter values that are decorated as "sensitive" in the API will not
11323// be included in the string output. The member name will be present, but the
11324// value will be replaced with "sensitive".
11325func (s OutboundCrossClusterSearchConnection) String() string {
11326	return awsutil.Prettify(s)
11327}
11328
11329// GoString returns the string representation.
11330//
11331// API parameter values that are decorated as "sensitive" in the API will not
11332// be included in the string output. The member name will be present, but the
11333// value will be replaced with "sensitive".
11334func (s OutboundCrossClusterSearchConnection) GoString() string {
11335	return s.String()
11336}
11337
11338// SetConnectionAlias sets the ConnectionAlias field's value.
11339func (s *OutboundCrossClusterSearchConnection) SetConnectionAlias(v string) *OutboundCrossClusterSearchConnection {
11340	s.ConnectionAlias = &v
11341	return s
11342}
11343
11344// SetConnectionStatus sets the ConnectionStatus field's value.
11345func (s *OutboundCrossClusterSearchConnection) SetConnectionStatus(v *OutboundCrossClusterSearchConnectionStatus) *OutboundCrossClusterSearchConnection {
11346	s.ConnectionStatus = v
11347	return s
11348}
11349
11350// SetCrossClusterSearchConnectionId sets the CrossClusterSearchConnectionId field's value.
11351func (s *OutboundCrossClusterSearchConnection) SetCrossClusterSearchConnectionId(v string) *OutboundCrossClusterSearchConnection {
11352	s.CrossClusterSearchConnectionId = &v
11353	return s
11354}
11355
11356// SetDestinationDomainInfo sets the DestinationDomainInfo field's value.
11357func (s *OutboundCrossClusterSearchConnection) SetDestinationDomainInfo(v *DomainInformation) *OutboundCrossClusterSearchConnection {
11358	s.DestinationDomainInfo = v
11359	return s
11360}
11361
11362// SetSourceDomainInfo sets the SourceDomainInfo field's value.
11363func (s *OutboundCrossClusterSearchConnection) SetSourceDomainInfo(v *DomainInformation) *OutboundCrossClusterSearchConnection {
11364	s.SourceDomainInfo = v
11365	return s
11366}
11367
11368// Specifies the connection status of an outbound cross-cluster search connection.
11369type OutboundCrossClusterSearchConnectionStatus struct {
11370	_ struct{} `type:"structure"`
11371
11372	// Specifies verbose information for the outbound connection status.
11373	Message *string `type:"string"`
11374
11375	// The state code for outbound connection. This can be one of the following:
11376	//
11377	//    * VALIDATING: The outbound connection request is being validated.
11378	//
11379	//    * VALIDATION_FAILED: Validation failed for the connection request.
11380	//
11381	//    * PENDING_ACCEPTANCE: Outbound connection request is validated and is
11382	//    not yet accepted by destination domain owner.
11383	//
11384	//    * PROVISIONING: Outbound connection request is in process.
11385	//
11386	//    * ACTIVE: Outbound connection is active and ready to use.
11387	//
11388	//    * REJECTED: Outbound connection request is rejected by destination domain
11389	//    owner.
11390	//
11391	//    * DELETING: Outbound connection deletion is in progress.
11392	//
11393	//    * DELETED: Outbound connection is deleted and cannot be used further.
11394	StatusCode *string `type:"string" enum:"OutboundCrossClusterSearchConnectionStatusCode"`
11395}
11396
11397// String returns the string representation.
11398//
11399// API parameter values that are decorated as "sensitive" in the API will not
11400// be included in the string output. The member name will be present, but the
11401// value will be replaced with "sensitive".
11402func (s OutboundCrossClusterSearchConnectionStatus) String() string {
11403	return awsutil.Prettify(s)
11404}
11405
11406// GoString returns the string representation.
11407//
11408// API parameter values that are decorated as "sensitive" in the API will not
11409// be included in the string output. The member name will be present, but the
11410// value will be replaced with "sensitive".
11411func (s OutboundCrossClusterSearchConnectionStatus) GoString() string {
11412	return s.String()
11413}
11414
11415// SetMessage sets the Message field's value.
11416func (s *OutboundCrossClusterSearchConnectionStatus) SetMessage(v string) *OutboundCrossClusterSearchConnectionStatus {
11417	s.Message = &v
11418	return s
11419}
11420
11421// SetStatusCode sets the StatusCode field's value.
11422func (s *OutboundCrossClusterSearchConnectionStatus) SetStatusCode(v string) *OutboundCrossClusterSearchConnectionStatus {
11423	s.StatusCode = &v
11424	return s
11425}
11426
11427// Basic information about a package.
11428type PackageDetails struct {
11429	_ struct{} `type:"structure"`
11430
11431	AvailablePackageVersion *string `type:"string"`
11432
11433	// Timestamp which tells creation date of the package.
11434	CreatedAt *time.Time `type:"timestamp"`
11435
11436	// Additional information if the package is in an error state. Null otherwise.
11437	ErrorDetails *ErrorDetails `type:"structure"`
11438
11439	LastUpdatedAt *time.Time `type:"timestamp"`
11440
11441	// User-specified description of the package.
11442	PackageDescription *string `type:"string"`
11443
11444	// Internal ID of the package.
11445	PackageID *string `type:"string"`
11446
11447	// User specified name of the package.
11448	PackageName *string `min:"3" type:"string"`
11449
11450	// Current state of the package. Values are COPYING/COPY_FAILED/AVAILABLE/DELETING/DELETE_FAILED
11451	PackageStatus *string `type:"string" enum:"PackageStatus"`
11452
11453	// Currently supports only TXT-DICTIONARY.
11454	PackageType *string `type:"string" enum:"PackageType"`
11455}
11456
11457// String returns the string representation.
11458//
11459// API parameter values that are decorated as "sensitive" in the API will not
11460// be included in the string output. The member name will be present, but the
11461// value will be replaced with "sensitive".
11462func (s PackageDetails) String() string {
11463	return awsutil.Prettify(s)
11464}
11465
11466// GoString returns the string representation.
11467//
11468// API parameter values that are decorated as "sensitive" in the API will not
11469// be included in the string output. The member name will be present, but the
11470// value will be replaced with "sensitive".
11471func (s PackageDetails) GoString() string {
11472	return s.String()
11473}
11474
11475// SetAvailablePackageVersion sets the AvailablePackageVersion field's value.
11476func (s *PackageDetails) SetAvailablePackageVersion(v string) *PackageDetails {
11477	s.AvailablePackageVersion = &v
11478	return s
11479}
11480
11481// SetCreatedAt sets the CreatedAt field's value.
11482func (s *PackageDetails) SetCreatedAt(v time.Time) *PackageDetails {
11483	s.CreatedAt = &v
11484	return s
11485}
11486
11487// SetErrorDetails sets the ErrorDetails field's value.
11488func (s *PackageDetails) SetErrorDetails(v *ErrorDetails) *PackageDetails {
11489	s.ErrorDetails = v
11490	return s
11491}
11492
11493// SetLastUpdatedAt sets the LastUpdatedAt field's value.
11494func (s *PackageDetails) SetLastUpdatedAt(v time.Time) *PackageDetails {
11495	s.LastUpdatedAt = &v
11496	return s
11497}
11498
11499// SetPackageDescription sets the PackageDescription field's value.
11500func (s *PackageDetails) SetPackageDescription(v string) *PackageDetails {
11501	s.PackageDescription = &v
11502	return s
11503}
11504
11505// SetPackageID sets the PackageID field's value.
11506func (s *PackageDetails) SetPackageID(v string) *PackageDetails {
11507	s.PackageID = &v
11508	return s
11509}
11510
11511// SetPackageName sets the PackageName field's value.
11512func (s *PackageDetails) SetPackageName(v string) *PackageDetails {
11513	s.PackageName = &v
11514	return s
11515}
11516
11517// SetPackageStatus sets the PackageStatus field's value.
11518func (s *PackageDetails) SetPackageStatus(v string) *PackageDetails {
11519	s.PackageStatus = &v
11520	return s
11521}
11522
11523// SetPackageType sets the PackageType field's value.
11524func (s *PackageDetails) SetPackageType(v string) *PackageDetails {
11525	s.PackageType = &v
11526	return s
11527}
11528
11529// The S3 location for importing the package specified as S3BucketName and S3Key
11530type PackageSource struct {
11531	_ struct{} `type:"structure"`
11532
11533	// Name of the bucket containing the package.
11534	S3BucketName *string `min:"3" type:"string"`
11535
11536	// Key (file name) of the package.
11537	S3Key *string `type:"string"`
11538}
11539
11540// String returns the string representation.
11541//
11542// API parameter values that are decorated as "sensitive" in the API will not
11543// be included in the string output. The member name will be present, but the
11544// value will be replaced with "sensitive".
11545func (s PackageSource) String() string {
11546	return awsutil.Prettify(s)
11547}
11548
11549// GoString returns the string representation.
11550//
11551// API parameter values that are decorated as "sensitive" in the API will not
11552// be included in the string output. The member name will be present, but the
11553// value will be replaced with "sensitive".
11554func (s PackageSource) GoString() string {
11555	return s.String()
11556}
11557
11558// Validate inspects the fields of the type to determine if they are valid.
11559func (s *PackageSource) Validate() error {
11560	invalidParams := request.ErrInvalidParams{Context: "PackageSource"}
11561	if s.S3BucketName != nil && len(*s.S3BucketName) < 3 {
11562		invalidParams.Add(request.NewErrParamMinLen("S3BucketName", 3))
11563	}
11564
11565	if invalidParams.Len() > 0 {
11566		return invalidParams
11567	}
11568	return nil
11569}
11570
11571// SetS3BucketName sets the S3BucketName field's value.
11572func (s *PackageSource) SetS3BucketName(v string) *PackageSource {
11573	s.S3BucketName = &v
11574	return s
11575}
11576
11577// SetS3Key sets the S3Key field's value.
11578func (s *PackageSource) SetS3Key(v string) *PackageSource {
11579	s.S3Key = &v
11580	return s
11581}
11582
11583// Details of a package version.
11584type PackageVersionHistory struct {
11585	_ struct{} `type:"structure"`
11586
11587	// A message associated with the version.
11588	CommitMessage *string `type:"string"`
11589
11590	// Timestamp which tells creation time of the package version.
11591	CreatedAt *time.Time `type:"timestamp"`
11592
11593	// Version of the package.
11594	PackageVersion *string `type:"string"`
11595}
11596
11597// String returns the string representation.
11598//
11599// API parameter values that are decorated as "sensitive" in the API will not
11600// be included in the string output. The member name will be present, but the
11601// value will be replaced with "sensitive".
11602func (s PackageVersionHistory) String() string {
11603	return awsutil.Prettify(s)
11604}
11605
11606// GoString returns the string representation.
11607//
11608// API parameter values that are decorated as "sensitive" in the API will not
11609// be included in the string output. The member name will be present, but the
11610// value will be replaced with "sensitive".
11611func (s PackageVersionHistory) GoString() string {
11612	return s.String()
11613}
11614
11615// SetCommitMessage sets the CommitMessage field's value.
11616func (s *PackageVersionHistory) SetCommitMessage(v string) *PackageVersionHistory {
11617	s.CommitMessage = &v
11618	return s
11619}
11620
11621// SetCreatedAt sets the CreatedAt field's value.
11622func (s *PackageVersionHistory) SetCreatedAt(v time.Time) *PackageVersionHistory {
11623	s.CreatedAt = &v
11624	return s
11625}
11626
11627// SetPackageVersion sets the PackageVersion field's value.
11628func (s *PackageVersionHistory) SetPackageVersion(v string) *PackageVersionHistory {
11629	s.PackageVersion = &v
11630	return s
11631}
11632
11633// Container for parameters to PurchaseReservedElasticsearchInstanceOffering
11634type PurchaseReservedElasticsearchInstanceOfferingInput struct {
11635	_ struct{} `type:"structure"`
11636
11637	// The number of Elasticsearch instances to reserve.
11638	InstanceCount *int64 `min:"1" type:"integer"`
11639
11640	// A customer-specified identifier to track this reservation.
11641	//
11642	// ReservationName is a required field
11643	ReservationName *string `min:"5" type:"string" required:"true"`
11644
11645	// The ID of the reserved Elasticsearch instance offering to purchase.
11646	//
11647	// ReservedElasticsearchInstanceOfferingId is a required field
11648	ReservedElasticsearchInstanceOfferingId *string `type:"string" required:"true"`
11649}
11650
11651// String returns the string representation.
11652//
11653// API parameter values that are decorated as "sensitive" in the API will not
11654// be included in the string output. The member name will be present, but the
11655// value will be replaced with "sensitive".
11656func (s PurchaseReservedElasticsearchInstanceOfferingInput) String() string {
11657	return awsutil.Prettify(s)
11658}
11659
11660// GoString returns the string representation.
11661//
11662// API parameter values that are decorated as "sensitive" in the API will not
11663// be included in the string output. The member name will be present, but the
11664// value will be replaced with "sensitive".
11665func (s PurchaseReservedElasticsearchInstanceOfferingInput) GoString() string {
11666	return s.String()
11667}
11668
11669// Validate inspects the fields of the type to determine if they are valid.
11670func (s *PurchaseReservedElasticsearchInstanceOfferingInput) Validate() error {
11671	invalidParams := request.ErrInvalidParams{Context: "PurchaseReservedElasticsearchInstanceOfferingInput"}
11672	if s.InstanceCount != nil && *s.InstanceCount < 1 {
11673		invalidParams.Add(request.NewErrParamMinValue("InstanceCount", 1))
11674	}
11675	if s.ReservationName == nil {
11676		invalidParams.Add(request.NewErrParamRequired("ReservationName"))
11677	}
11678	if s.ReservationName != nil && len(*s.ReservationName) < 5 {
11679		invalidParams.Add(request.NewErrParamMinLen("ReservationName", 5))
11680	}
11681	if s.ReservedElasticsearchInstanceOfferingId == nil {
11682		invalidParams.Add(request.NewErrParamRequired("ReservedElasticsearchInstanceOfferingId"))
11683	}
11684
11685	if invalidParams.Len() > 0 {
11686		return invalidParams
11687	}
11688	return nil
11689}
11690
11691// SetInstanceCount sets the InstanceCount field's value.
11692func (s *PurchaseReservedElasticsearchInstanceOfferingInput) SetInstanceCount(v int64) *PurchaseReservedElasticsearchInstanceOfferingInput {
11693	s.InstanceCount = &v
11694	return s
11695}
11696
11697// SetReservationName sets the ReservationName field's value.
11698func (s *PurchaseReservedElasticsearchInstanceOfferingInput) SetReservationName(v string) *PurchaseReservedElasticsearchInstanceOfferingInput {
11699	s.ReservationName = &v
11700	return s
11701}
11702
11703// SetReservedElasticsearchInstanceOfferingId sets the ReservedElasticsearchInstanceOfferingId field's value.
11704func (s *PurchaseReservedElasticsearchInstanceOfferingInput) SetReservedElasticsearchInstanceOfferingId(v string) *PurchaseReservedElasticsearchInstanceOfferingInput {
11705	s.ReservedElasticsearchInstanceOfferingId = &v
11706	return s
11707}
11708
11709// Represents the output of a PurchaseReservedElasticsearchInstanceOffering
11710// operation.
11711type PurchaseReservedElasticsearchInstanceOfferingOutput struct {
11712	_ struct{} `type:"structure"`
11713
11714	// The customer-specified identifier used to track this reservation.
11715	ReservationName *string `min:"5" type:"string"`
11716
11717	// Details of the reserved Elasticsearch instance which was purchased.
11718	ReservedElasticsearchInstanceId *string `type:"string"`
11719}
11720
11721// String returns the string representation.
11722//
11723// API parameter values that are decorated as "sensitive" in the API will not
11724// be included in the string output. The member name will be present, but the
11725// value will be replaced with "sensitive".
11726func (s PurchaseReservedElasticsearchInstanceOfferingOutput) String() string {
11727	return awsutil.Prettify(s)
11728}
11729
11730// GoString returns the string representation.
11731//
11732// API parameter values that are decorated as "sensitive" in the API will not
11733// be included in the string output. The member name will be present, but the
11734// value will be replaced with "sensitive".
11735func (s PurchaseReservedElasticsearchInstanceOfferingOutput) GoString() string {
11736	return s.String()
11737}
11738
11739// SetReservationName sets the ReservationName field's value.
11740func (s *PurchaseReservedElasticsearchInstanceOfferingOutput) SetReservationName(v string) *PurchaseReservedElasticsearchInstanceOfferingOutput {
11741	s.ReservationName = &v
11742	return s
11743}
11744
11745// SetReservedElasticsearchInstanceId sets the ReservedElasticsearchInstanceId field's value.
11746func (s *PurchaseReservedElasticsearchInstanceOfferingOutput) SetReservedElasticsearchInstanceId(v string) *PurchaseReservedElasticsearchInstanceOfferingOutput {
11747	s.ReservedElasticsearchInstanceId = &v
11748	return s
11749}
11750
11751// Contains the specific price and frequency of a recurring charges for a reserved
11752// Elasticsearch instance, or for a reserved Elasticsearch instance offering.
11753type RecurringCharge struct {
11754	_ struct{} `type:"structure"`
11755
11756	// The monetary amount of the recurring charge.
11757	RecurringChargeAmount *float64 `type:"double"`
11758
11759	// The frequency of the recurring charge.
11760	RecurringChargeFrequency *string `type:"string"`
11761}
11762
11763// String returns the string representation.
11764//
11765// API parameter values that are decorated as "sensitive" in the API will not
11766// be included in the string output. The member name will be present, but the
11767// value will be replaced with "sensitive".
11768func (s RecurringCharge) String() string {
11769	return awsutil.Prettify(s)
11770}
11771
11772// GoString returns the string representation.
11773//
11774// API parameter values that are decorated as "sensitive" in the API will not
11775// be included in the string output. The member name will be present, but the
11776// value will be replaced with "sensitive".
11777func (s RecurringCharge) GoString() string {
11778	return s.String()
11779}
11780
11781// SetRecurringChargeAmount sets the RecurringChargeAmount field's value.
11782func (s *RecurringCharge) SetRecurringChargeAmount(v float64) *RecurringCharge {
11783	s.RecurringChargeAmount = &v
11784	return s
11785}
11786
11787// SetRecurringChargeFrequency sets the RecurringChargeFrequency field's value.
11788func (s *RecurringCharge) SetRecurringChargeFrequency(v string) *RecurringCharge {
11789	s.RecurringChargeFrequency = &v
11790	return s
11791}
11792
11793// Container for the parameters to the RejectInboundCrossClusterSearchConnection
11794// operation.
11795type RejectInboundCrossClusterSearchConnectionInput struct {
11796	_ struct{} `type:"structure" nopayload:"true"`
11797
11798	// The id of the inbound connection that you want to reject.
11799	//
11800	// CrossClusterSearchConnectionId is a required field
11801	CrossClusterSearchConnectionId *string `location:"uri" locationName:"ConnectionId" type:"string" required:"true"`
11802}
11803
11804// String returns the string representation.
11805//
11806// API parameter values that are decorated as "sensitive" in the API will not
11807// be included in the string output. The member name will be present, but the
11808// value will be replaced with "sensitive".
11809func (s RejectInboundCrossClusterSearchConnectionInput) String() string {
11810	return awsutil.Prettify(s)
11811}
11812
11813// GoString returns the string representation.
11814//
11815// API parameter values that are decorated as "sensitive" in the API will not
11816// be included in the string output. The member name will be present, but the
11817// value will be replaced with "sensitive".
11818func (s RejectInboundCrossClusterSearchConnectionInput) GoString() string {
11819	return s.String()
11820}
11821
11822// Validate inspects the fields of the type to determine if they are valid.
11823func (s *RejectInboundCrossClusterSearchConnectionInput) Validate() error {
11824	invalidParams := request.ErrInvalidParams{Context: "RejectInboundCrossClusterSearchConnectionInput"}
11825	if s.CrossClusterSearchConnectionId == nil {
11826		invalidParams.Add(request.NewErrParamRequired("CrossClusterSearchConnectionId"))
11827	}
11828	if s.CrossClusterSearchConnectionId != nil && len(*s.CrossClusterSearchConnectionId) < 1 {
11829		invalidParams.Add(request.NewErrParamMinLen("CrossClusterSearchConnectionId", 1))
11830	}
11831
11832	if invalidParams.Len() > 0 {
11833		return invalidParams
11834	}
11835	return nil
11836}
11837
11838// SetCrossClusterSearchConnectionId sets the CrossClusterSearchConnectionId field's value.
11839func (s *RejectInboundCrossClusterSearchConnectionInput) SetCrossClusterSearchConnectionId(v string) *RejectInboundCrossClusterSearchConnectionInput {
11840	s.CrossClusterSearchConnectionId = &v
11841	return s
11842}
11843
11844// The result of a RejectInboundCrossClusterSearchConnection operation. Contains
11845// details of rejected inbound connection.
11846type RejectInboundCrossClusterSearchConnectionOutput struct {
11847	_ struct{} `type:"structure"`
11848
11849	// Specifies the InboundCrossClusterSearchConnection of rejected inbound connection.
11850	CrossClusterSearchConnection *InboundCrossClusterSearchConnection `type:"structure"`
11851}
11852
11853// String returns the string representation.
11854//
11855// API parameter values that are decorated as "sensitive" in the API will not
11856// be included in the string output. The member name will be present, but the
11857// value will be replaced with "sensitive".
11858func (s RejectInboundCrossClusterSearchConnectionOutput) String() string {
11859	return awsutil.Prettify(s)
11860}
11861
11862// GoString returns the string representation.
11863//
11864// API parameter values that are decorated as "sensitive" in the API will not
11865// be included in the string output. The member name will be present, but the
11866// value will be replaced with "sensitive".
11867func (s RejectInboundCrossClusterSearchConnectionOutput) GoString() string {
11868	return s.String()
11869}
11870
11871// SetCrossClusterSearchConnection sets the CrossClusterSearchConnection field's value.
11872func (s *RejectInboundCrossClusterSearchConnectionOutput) SetCrossClusterSearchConnection(v *InboundCrossClusterSearchConnection) *RejectInboundCrossClusterSearchConnectionOutput {
11873	s.CrossClusterSearchConnection = v
11874	return s
11875}
11876
11877// Container for the parameters to the RemoveTags operation. Specify the ARN
11878// for the Elasticsearch domain from which you want to remove the specified
11879// TagKey.
11880type RemoveTagsInput struct {
11881	_ struct{} `type:"structure"`
11882
11883	// Specifies the ARN for the Elasticsearch domain from which you want to delete
11884	// the specified tags.
11885	//
11886	// ARN is a required field
11887	ARN *string `type:"string" required:"true"`
11888
11889	// Specifies the TagKey list which you want to remove from the Elasticsearch
11890	// domain.
11891	//
11892	// TagKeys is a required field
11893	TagKeys []*string `type:"list" required:"true"`
11894}
11895
11896// String returns the string representation.
11897//
11898// API parameter values that are decorated as "sensitive" in the API will not
11899// be included in the string output. The member name will be present, but the
11900// value will be replaced with "sensitive".
11901func (s RemoveTagsInput) String() string {
11902	return awsutil.Prettify(s)
11903}
11904
11905// GoString returns the string representation.
11906//
11907// API parameter values that are decorated as "sensitive" in the API will not
11908// be included in the string output. The member name will be present, but the
11909// value will be replaced with "sensitive".
11910func (s RemoveTagsInput) GoString() string {
11911	return s.String()
11912}
11913
11914// Validate inspects the fields of the type to determine if they are valid.
11915func (s *RemoveTagsInput) Validate() error {
11916	invalidParams := request.ErrInvalidParams{Context: "RemoveTagsInput"}
11917	if s.ARN == nil {
11918		invalidParams.Add(request.NewErrParamRequired("ARN"))
11919	}
11920	if s.TagKeys == nil {
11921		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
11922	}
11923
11924	if invalidParams.Len() > 0 {
11925		return invalidParams
11926	}
11927	return nil
11928}
11929
11930// SetARN sets the ARN field's value.
11931func (s *RemoveTagsInput) SetARN(v string) *RemoveTagsInput {
11932	s.ARN = &v
11933	return s
11934}
11935
11936// SetTagKeys sets the TagKeys field's value.
11937func (s *RemoveTagsInput) SetTagKeys(v []*string) *RemoveTagsInput {
11938	s.TagKeys = v
11939	return s
11940}
11941
11942type RemoveTagsOutput struct {
11943	_ struct{} `type:"structure"`
11944}
11945
11946// String returns the string representation.
11947//
11948// API parameter values that are decorated as "sensitive" in the API will not
11949// be included in the string output. The member name will be present, but the
11950// value will be replaced with "sensitive".
11951func (s RemoveTagsOutput) String() string {
11952	return awsutil.Prettify(s)
11953}
11954
11955// GoString returns the string representation.
11956//
11957// API parameter values that are decorated as "sensitive" in the API will not
11958// be included in the string output. The member name will be present, but the
11959// value will be replaced with "sensitive".
11960func (s RemoveTagsOutput) GoString() string {
11961	return s.String()
11962}
11963
11964// Details of a reserved Elasticsearch instance.
11965type ReservedElasticsearchInstance struct {
11966	_ struct{} `type:"structure"`
11967
11968	// The currency code for the reserved Elasticsearch instance offering.
11969	CurrencyCode *string `type:"string"`
11970
11971	// The duration, in seconds, for which the Elasticsearch instance is reserved.
11972	Duration *int64 `type:"integer"`
11973
11974	// The number of Elasticsearch instances that have been reserved.
11975	ElasticsearchInstanceCount *int64 `type:"integer"`
11976
11977	// The Elasticsearch instance type offered by the reserved instance offering.
11978	ElasticsearchInstanceType *string `type:"string" enum:"ESPartitionInstanceType"`
11979
11980	// The upfront fixed charge you will paid to purchase the specific reserved
11981	// Elasticsearch instance offering.
11982	FixedPrice *float64 `type:"double"`
11983
11984	// The payment option as defined in the reserved Elasticsearch instance offering.
11985	PaymentOption *string `type:"string" enum:"ReservedElasticsearchInstancePaymentOption"`
11986
11987	// The charge to your account regardless of whether you are creating any domains
11988	// using the instance offering.
11989	RecurringCharges []*RecurringCharge `type:"list"`
11990
11991	// The customer-specified identifier to track this reservation.
11992	ReservationName *string `min:"5" type:"string"`
11993
11994	// The unique identifier for the reservation.
11995	ReservedElasticsearchInstanceId *string `type:"string"`
11996
11997	// The offering identifier.
11998	ReservedElasticsearchInstanceOfferingId *string `type:"string"`
11999
12000	// The time the reservation started.
12001	StartTime *time.Time `type:"timestamp"`
12002
12003	// The state of the reserved Elasticsearch instance.
12004	State *string `type:"string"`
12005
12006	// The rate you are charged for each hour for the domain that is using this
12007	// reserved instance.
12008	UsagePrice *float64 `type:"double"`
12009}
12010
12011// String returns the string representation.
12012//
12013// API parameter values that are decorated as "sensitive" in the API will not
12014// be included in the string output. The member name will be present, but the
12015// value will be replaced with "sensitive".
12016func (s ReservedElasticsearchInstance) String() string {
12017	return awsutil.Prettify(s)
12018}
12019
12020// GoString returns the string representation.
12021//
12022// API parameter values that are decorated as "sensitive" in the API will not
12023// be included in the string output. The member name will be present, but the
12024// value will be replaced with "sensitive".
12025func (s ReservedElasticsearchInstance) GoString() string {
12026	return s.String()
12027}
12028
12029// SetCurrencyCode sets the CurrencyCode field's value.
12030func (s *ReservedElasticsearchInstance) SetCurrencyCode(v string) *ReservedElasticsearchInstance {
12031	s.CurrencyCode = &v
12032	return s
12033}
12034
12035// SetDuration sets the Duration field's value.
12036func (s *ReservedElasticsearchInstance) SetDuration(v int64) *ReservedElasticsearchInstance {
12037	s.Duration = &v
12038	return s
12039}
12040
12041// SetElasticsearchInstanceCount sets the ElasticsearchInstanceCount field's value.
12042func (s *ReservedElasticsearchInstance) SetElasticsearchInstanceCount(v int64) *ReservedElasticsearchInstance {
12043	s.ElasticsearchInstanceCount = &v
12044	return s
12045}
12046
12047// SetElasticsearchInstanceType sets the ElasticsearchInstanceType field's value.
12048func (s *ReservedElasticsearchInstance) SetElasticsearchInstanceType(v string) *ReservedElasticsearchInstance {
12049	s.ElasticsearchInstanceType = &v
12050	return s
12051}
12052
12053// SetFixedPrice sets the FixedPrice field's value.
12054func (s *ReservedElasticsearchInstance) SetFixedPrice(v float64) *ReservedElasticsearchInstance {
12055	s.FixedPrice = &v
12056	return s
12057}
12058
12059// SetPaymentOption sets the PaymentOption field's value.
12060func (s *ReservedElasticsearchInstance) SetPaymentOption(v string) *ReservedElasticsearchInstance {
12061	s.PaymentOption = &v
12062	return s
12063}
12064
12065// SetRecurringCharges sets the RecurringCharges field's value.
12066func (s *ReservedElasticsearchInstance) SetRecurringCharges(v []*RecurringCharge) *ReservedElasticsearchInstance {
12067	s.RecurringCharges = v
12068	return s
12069}
12070
12071// SetReservationName sets the ReservationName field's value.
12072func (s *ReservedElasticsearchInstance) SetReservationName(v string) *ReservedElasticsearchInstance {
12073	s.ReservationName = &v
12074	return s
12075}
12076
12077// SetReservedElasticsearchInstanceId sets the ReservedElasticsearchInstanceId field's value.
12078func (s *ReservedElasticsearchInstance) SetReservedElasticsearchInstanceId(v string) *ReservedElasticsearchInstance {
12079	s.ReservedElasticsearchInstanceId = &v
12080	return s
12081}
12082
12083// SetReservedElasticsearchInstanceOfferingId sets the ReservedElasticsearchInstanceOfferingId field's value.
12084func (s *ReservedElasticsearchInstance) SetReservedElasticsearchInstanceOfferingId(v string) *ReservedElasticsearchInstance {
12085	s.ReservedElasticsearchInstanceOfferingId = &v
12086	return s
12087}
12088
12089// SetStartTime sets the StartTime field's value.
12090func (s *ReservedElasticsearchInstance) SetStartTime(v time.Time) *ReservedElasticsearchInstance {
12091	s.StartTime = &v
12092	return s
12093}
12094
12095// SetState sets the State field's value.
12096func (s *ReservedElasticsearchInstance) SetState(v string) *ReservedElasticsearchInstance {
12097	s.State = &v
12098	return s
12099}
12100
12101// SetUsagePrice sets the UsagePrice field's value.
12102func (s *ReservedElasticsearchInstance) SetUsagePrice(v float64) *ReservedElasticsearchInstance {
12103	s.UsagePrice = &v
12104	return s
12105}
12106
12107// Details of a reserved Elasticsearch instance offering.
12108type ReservedElasticsearchInstanceOffering struct {
12109	_ struct{} `type:"structure"`
12110
12111	// The currency code for the reserved Elasticsearch instance offering.
12112	CurrencyCode *string `type:"string"`
12113
12114	// The duration, in seconds, for which the offering will reserve the Elasticsearch
12115	// instance.
12116	Duration *int64 `type:"integer"`
12117
12118	// The Elasticsearch instance type offered by the reserved instance offering.
12119	ElasticsearchInstanceType *string `type:"string" enum:"ESPartitionInstanceType"`
12120
12121	// The upfront fixed charge you will pay to purchase the specific reserved Elasticsearch
12122	// instance offering.
12123	FixedPrice *float64 `type:"double"`
12124
12125	// Payment option for the reserved Elasticsearch instance offering
12126	PaymentOption *string `type:"string" enum:"ReservedElasticsearchInstancePaymentOption"`
12127
12128	// The charge to your account regardless of whether you are creating any domains
12129	// using the instance offering.
12130	RecurringCharges []*RecurringCharge `type:"list"`
12131
12132	// The Elasticsearch reserved instance offering identifier.
12133	ReservedElasticsearchInstanceOfferingId *string `type:"string"`
12134
12135	// The rate you are charged for each hour the domain that is using the offering
12136	// is running.
12137	UsagePrice *float64 `type:"double"`
12138}
12139
12140// String returns the string representation.
12141//
12142// API parameter values that are decorated as "sensitive" in the API will not
12143// be included in the string output. The member name will be present, but the
12144// value will be replaced with "sensitive".
12145func (s ReservedElasticsearchInstanceOffering) String() string {
12146	return awsutil.Prettify(s)
12147}
12148
12149// GoString returns the string representation.
12150//
12151// API parameter values that are decorated as "sensitive" in the API will not
12152// be included in the string output. The member name will be present, but the
12153// value will be replaced with "sensitive".
12154func (s ReservedElasticsearchInstanceOffering) GoString() string {
12155	return s.String()
12156}
12157
12158// SetCurrencyCode sets the CurrencyCode field's value.
12159func (s *ReservedElasticsearchInstanceOffering) SetCurrencyCode(v string) *ReservedElasticsearchInstanceOffering {
12160	s.CurrencyCode = &v
12161	return s
12162}
12163
12164// SetDuration sets the Duration field's value.
12165func (s *ReservedElasticsearchInstanceOffering) SetDuration(v int64) *ReservedElasticsearchInstanceOffering {
12166	s.Duration = &v
12167	return s
12168}
12169
12170// SetElasticsearchInstanceType sets the ElasticsearchInstanceType field's value.
12171func (s *ReservedElasticsearchInstanceOffering) SetElasticsearchInstanceType(v string) *ReservedElasticsearchInstanceOffering {
12172	s.ElasticsearchInstanceType = &v
12173	return s
12174}
12175
12176// SetFixedPrice sets the FixedPrice field's value.
12177func (s *ReservedElasticsearchInstanceOffering) SetFixedPrice(v float64) *ReservedElasticsearchInstanceOffering {
12178	s.FixedPrice = &v
12179	return s
12180}
12181
12182// SetPaymentOption sets the PaymentOption field's value.
12183func (s *ReservedElasticsearchInstanceOffering) SetPaymentOption(v string) *ReservedElasticsearchInstanceOffering {
12184	s.PaymentOption = &v
12185	return s
12186}
12187
12188// SetRecurringCharges sets the RecurringCharges field's value.
12189func (s *ReservedElasticsearchInstanceOffering) SetRecurringCharges(v []*RecurringCharge) *ReservedElasticsearchInstanceOffering {
12190	s.RecurringCharges = v
12191	return s
12192}
12193
12194// SetReservedElasticsearchInstanceOfferingId sets the ReservedElasticsearchInstanceOfferingId field's value.
12195func (s *ReservedElasticsearchInstanceOffering) SetReservedElasticsearchInstanceOfferingId(v string) *ReservedElasticsearchInstanceOffering {
12196	s.ReservedElasticsearchInstanceOfferingId = &v
12197	return s
12198}
12199
12200// SetUsagePrice sets the UsagePrice field's value.
12201func (s *ReservedElasticsearchInstanceOffering) SetUsagePrice(v float64) *ReservedElasticsearchInstanceOffering {
12202	s.UsagePrice = &v
12203	return s
12204}
12205
12206// An exception for creating a resource that already exists. Gives http status
12207// code of 400.
12208type ResourceAlreadyExistsException struct {
12209	_            struct{}                  `type:"structure"`
12210	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12211
12212	Message_ *string `locationName:"message" type:"string"`
12213}
12214
12215// String returns the string representation.
12216//
12217// API parameter values that are decorated as "sensitive" in the API will not
12218// be included in the string output. The member name will be present, but the
12219// value will be replaced with "sensitive".
12220func (s ResourceAlreadyExistsException) String() string {
12221	return awsutil.Prettify(s)
12222}
12223
12224// GoString returns the string representation.
12225//
12226// API parameter values that are decorated as "sensitive" in the API will not
12227// be included in the string output. The member name will be present, but the
12228// value will be replaced with "sensitive".
12229func (s ResourceAlreadyExistsException) GoString() string {
12230	return s.String()
12231}
12232
12233func newErrorResourceAlreadyExistsException(v protocol.ResponseMetadata) error {
12234	return &ResourceAlreadyExistsException{
12235		RespMetadata: v,
12236	}
12237}
12238
12239// Code returns the exception type name.
12240func (s *ResourceAlreadyExistsException) Code() string {
12241	return "ResourceAlreadyExistsException"
12242}
12243
12244// Message returns the exception's message.
12245func (s *ResourceAlreadyExistsException) Message() string {
12246	if s.Message_ != nil {
12247		return *s.Message_
12248	}
12249	return ""
12250}
12251
12252// OrigErr always returns nil, satisfies awserr.Error interface.
12253func (s *ResourceAlreadyExistsException) OrigErr() error {
12254	return nil
12255}
12256
12257func (s *ResourceAlreadyExistsException) Error() string {
12258	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
12259}
12260
12261// Status code returns the HTTP status code for the request's response error.
12262func (s *ResourceAlreadyExistsException) StatusCode() int {
12263	return s.RespMetadata.StatusCode
12264}
12265
12266// RequestID returns the service's response RequestID for request.
12267func (s *ResourceAlreadyExistsException) RequestID() string {
12268	return s.RespMetadata.RequestID
12269}
12270
12271// An exception for accessing or deleting a resource that does not exist. Gives
12272// http status code of 400.
12273type ResourceNotFoundException struct {
12274	_            struct{}                  `type:"structure"`
12275	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12276
12277	Message_ *string `locationName:"message" type:"string"`
12278}
12279
12280// String returns the string representation.
12281//
12282// API parameter values that are decorated as "sensitive" in the API will not
12283// be included in the string output. The member name will be present, but the
12284// value will be replaced with "sensitive".
12285func (s ResourceNotFoundException) String() string {
12286	return awsutil.Prettify(s)
12287}
12288
12289// GoString returns the string representation.
12290//
12291// API parameter values that are decorated as "sensitive" in the API will not
12292// be included in the string output. The member name will be present, but the
12293// value will be replaced with "sensitive".
12294func (s ResourceNotFoundException) GoString() string {
12295	return s.String()
12296}
12297
12298func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
12299	return &ResourceNotFoundException{
12300		RespMetadata: v,
12301	}
12302}
12303
12304// Code returns the exception type name.
12305func (s *ResourceNotFoundException) Code() string {
12306	return "ResourceNotFoundException"
12307}
12308
12309// Message returns the exception's message.
12310func (s *ResourceNotFoundException) Message() string {
12311	if s.Message_ != nil {
12312		return *s.Message_
12313	}
12314	return ""
12315}
12316
12317// OrigErr always returns nil, satisfies awserr.Error interface.
12318func (s *ResourceNotFoundException) OrigErr() error {
12319	return nil
12320}
12321
12322func (s *ResourceNotFoundException) Error() string {
12323	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
12324}
12325
12326// Status code returns the HTTP status code for the request's response error.
12327func (s *ResourceNotFoundException) StatusCode() int {
12328	return s.RespMetadata.StatusCode
12329}
12330
12331// RequestID returns the service's response RequestID for request.
12332func (s *ResourceNotFoundException) RequestID() string {
12333	return s.RespMetadata.RequestID
12334}
12335
12336// Specifies the SAML Identity Provider's information.
12337type SAMLIdp struct {
12338	_ struct{} `type:"structure"`
12339
12340	// The unique Entity ID of the application in SAML Identity Provider.
12341	//
12342	// EntityId is a required field
12343	EntityId *string `min:"8" type:"string" required:"true"`
12344
12345	// The Metadata of the SAML application in xml format.
12346	//
12347	// MetadataContent is a required field
12348	MetadataContent *string `min:"1" type:"string" required:"true"`
12349}
12350
12351// String returns the string representation.
12352//
12353// API parameter values that are decorated as "sensitive" in the API will not
12354// be included in the string output. The member name will be present, but the
12355// value will be replaced with "sensitive".
12356func (s SAMLIdp) String() string {
12357	return awsutil.Prettify(s)
12358}
12359
12360// GoString returns the string representation.
12361//
12362// API parameter values that are decorated as "sensitive" in the API will not
12363// be included in the string output. The member name will be present, but the
12364// value will be replaced with "sensitive".
12365func (s SAMLIdp) GoString() string {
12366	return s.String()
12367}
12368
12369// Validate inspects the fields of the type to determine if they are valid.
12370func (s *SAMLIdp) Validate() error {
12371	invalidParams := request.ErrInvalidParams{Context: "SAMLIdp"}
12372	if s.EntityId == nil {
12373		invalidParams.Add(request.NewErrParamRequired("EntityId"))
12374	}
12375	if s.EntityId != nil && len(*s.EntityId) < 8 {
12376		invalidParams.Add(request.NewErrParamMinLen("EntityId", 8))
12377	}
12378	if s.MetadataContent == nil {
12379		invalidParams.Add(request.NewErrParamRequired("MetadataContent"))
12380	}
12381	if s.MetadataContent != nil && len(*s.MetadataContent) < 1 {
12382		invalidParams.Add(request.NewErrParamMinLen("MetadataContent", 1))
12383	}
12384
12385	if invalidParams.Len() > 0 {
12386		return invalidParams
12387	}
12388	return nil
12389}
12390
12391// SetEntityId sets the EntityId field's value.
12392func (s *SAMLIdp) SetEntityId(v string) *SAMLIdp {
12393	s.EntityId = &v
12394	return s
12395}
12396
12397// SetMetadataContent sets the MetadataContent field's value.
12398func (s *SAMLIdp) SetMetadataContent(v string) *SAMLIdp {
12399	s.MetadataContent = &v
12400	return s
12401}
12402
12403// Specifies the SAML application configuration for the domain.
12404type SAMLOptionsInput struct {
12405	_ struct{} `type:"structure"`
12406
12407	// True if SAML is enabled.
12408	Enabled *bool `type:"boolean"`
12409
12410	// Specifies the SAML Identity Provider's information.
12411	Idp *SAMLIdp `type:"structure"`
12412
12413	// The backend role to which the SAML master user is mapped to.
12414	MasterBackendRole *string `min:"1" type:"string"`
12415
12416	// The SAML master username, which is stored in the Amazon Elasticsearch Service
12417	// domain's internal database.
12418	//
12419	// MasterUserName is a sensitive parameter and its value will be
12420	// replaced with "sensitive" in string returned by SAMLOptionsInput's
12421	// String and GoString methods.
12422	MasterUserName *string `min:"1" type:"string" sensitive:"true"`
12423
12424	// The key to use for matching the SAML Roles attribute.
12425	RolesKey *string `type:"string"`
12426
12427	// The duration, in minutes, after which a user session becomes inactive. Acceptable
12428	// values are between 1 and 1440, and the default value is 60.
12429	SessionTimeoutMinutes *int64 `type:"integer"`
12430
12431	// The key to use for matching the SAML Subject attribute.
12432	SubjectKey *string `type:"string"`
12433}
12434
12435// String returns the string representation.
12436//
12437// API parameter values that are decorated as "sensitive" in the API will not
12438// be included in the string output. The member name will be present, but the
12439// value will be replaced with "sensitive".
12440func (s SAMLOptionsInput) String() string {
12441	return awsutil.Prettify(s)
12442}
12443
12444// GoString returns the string representation.
12445//
12446// API parameter values that are decorated as "sensitive" in the API will not
12447// be included in the string output. The member name will be present, but the
12448// value will be replaced with "sensitive".
12449func (s SAMLOptionsInput) GoString() string {
12450	return s.String()
12451}
12452
12453// Validate inspects the fields of the type to determine if they are valid.
12454func (s *SAMLOptionsInput) Validate() error {
12455	invalidParams := request.ErrInvalidParams{Context: "SAMLOptionsInput"}
12456	if s.MasterBackendRole != nil && len(*s.MasterBackendRole) < 1 {
12457		invalidParams.Add(request.NewErrParamMinLen("MasterBackendRole", 1))
12458	}
12459	if s.MasterUserName != nil && len(*s.MasterUserName) < 1 {
12460		invalidParams.Add(request.NewErrParamMinLen("MasterUserName", 1))
12461	}
12462	if s.Idp != nil {
12463		if err := s.Idp.Validate(); err != nil {
12464			invalidParams.AddNested("Idp", err.(request.ErrInvalidParams))
12465		}
12466	}
12467
12468	if invalidParams.Len() > 0 {
12469		return invalidParams
12470	}
12471	return nil
12472}
12473
12474// SetEnabled sets the Enabled field's value.
12475func (s *SAMLOptionsInput) SetEnabled(v bool) *SAMLOptionsInput {
12476	s.Enabled = &v
12477	return s
12478}
12479
12480// SetIdp sets the Idp field's value.
12481func (s *SAMLOptionsInput) SetIdp(v *SAMLIdp) *SAMLOptionsInput {
12482	s.Idp = v
12483	return s
12484}
12485
12486// SetMasterBackendRole sets the MasterBackendRole field's value.
12487func (s *SAMLOptionsInput) SetMasterBackendRole(v string) *SAMLOptionsInput {
12488	s.MasterBackendRole = &v
12489	return s
12490}
12491
12492// SetMasterUserName sets the MasterUserName field's value.
12493func (s *SAMLOptionsInput) SetMasterUserName(v string) *SAMLOptionsInput {
12494	s.MasterUserName = &v
12495	return s
12496}
12497
12498// SetRolesKey sets the RolesKey field's value.
12499func (s *SAMLOptionsInput) SetRolesKey(v string) *SAMLOptionsInput {
12500	s.RolesKey = &v
12501	return s
12502}
12503
12504// SetSessionTimeoutMinutes sets the SessionTimeoutMinutes field's value.
12505func (s *SAMLOptionsInput) SetSessionTimeoutMinutes(v int64) *SAMLOptionsInput {
12506	s.SessionTimeoutMinutes = &v
12507	return s
12508}
12509
12510// SetSubjectKey sets the SubjectKey field's value.
12511func (s *SAMLOptionsInput) SetSubjectKey(v string) *SAMLOptionsInput {
12512	s.SubjectKey = &v
12513	return s
12514}
12515
12516// Describes the SAML application configured for the domain.
12517type SAMLOptionsOutput struct {
12518	_ struct{} `type:"structure"`
12519
12520	// True if SAML is enabled.
12521	Enabled *bool `type:"boolean"`
12522
12523	// Describes the SAML Identity Provider's information.
12524	Idp *SAMLIdp `type:"structure"`
12525
12526	// The key used for matching the SAML Roles attribute.
12527	RolesKey *string `type:"string"`
12528
12529	// The duration, in minutes, after which a user session becomes inactive.
12530	SessionTimeoutMinutes *int64 `type:"integer"`
12531
12532	// The key used for matching the SAML Subject attribute.
12533	SubjectKey *string `type:"string"`
12534}
12535
12536// String returns the string representation.
12537//
12538// API parameter values that are decorated as "sensitive" in the API will not
12539// be included in the string output. The member name will be present, but the
12540// value will be replaced with "sensitive".
12541func (s SAMLOptionsOutput) String() string {
12542	return awsutil.Prettify(s)
12543}
12544
12545// GoString returns the string representation.
12546//
12547// API parameter values that are decorated as "sensitive" in the API will not
12548// be included in the string output. The member name will be present, but the
12549// value will be replaced with "sensitive".
12550func (s SAMLOptionsOutput) GoString() string {
12551	return s.String()
12552}
12553
12554// SetEnabled sets the Enabled field's value.
12555func (s *SAMLOptionsOutput) SetEnabled(v bool) *SAMLOptionsOutput {
12556	s.Enabled = &v
12557	return s
12558}
12559
12560// SetIdp sets the Idp field's value.
12561func (s *SAMLOptionsOutput) SetIdp(v *SAMLIdp) *SAMLOptionsOutput {
12562	s.Idp = v
12563	return s
12564}
12565
12566// SetRolesKey sets the RolesKey field's value.
12567func (s *SAMLOptionsOutput) SetRolesKey(v string) *SAMLOptionsOutput {
12568	s.RolesKey = &v
12569	return s
12570}
12571
12572// SetSessionTimeoutMinutes sets the SessionTimeoutMinutes field's value.
12573func (s *SAMLOptionsOutput) SetSessionTimeoutMinutes(v int64) *SAMLOptionsOutput {
12574	s.SessionTimeoutMinutes = &v
12575	return s
12576}
12577
12578// SetSubjectKey sets the SubjectKey field's value.
12579func (s *SAMLOptionsOutput) SetSubjectKey(v string) *SAMLOptionsOutput {
12580	s.SubjectKey = &v
12581	return s
12582}
12583
12584// Specifies details of the scheduled Auto-Tune action. See the Developer Guide
12585// (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/auto-tune.html)
12586// for more information.
12587type ScheduledAutoTuneDetails struct {
12588	_ struct{} `type:"structure"`
12589
12590	// Specifies Auto-Tune action description.
12591	Action *string `type:"string"`
12592
12593	// Specifies Auto-Tune action type. Valid values are JVM_HEAP_SIZE_TUNING and
12594	// JVM_YOUNG_GEN_TUNING.
12595	ActionType *string `type:"string" enum:"ScheduledAutoTuneActionType"`
12596
12597	// Specifies timestamp for the Auto-Tune action scheduled for the domain.
12598	Date *time.Time `type:"timestamp"`
12599
12600	// Specifies Auto-Tune action severity. Valid values are LOW, MEDIUM and HIGH.
12601	Severity *string `type:"string" enum:"ScheduledAutoTuneSeverityType"`
12602}
12603
12604// String returns the string representation.
12605//
12606// API parameter values that are decorated as "sensitive" in the API will not
12607// be included in the string output. The member name will be present, but the
12608// value will be replaced with "sensitive".
12609func (s ScheduledAutoTuneDetails) String() string {
12610	return awsutil.Prettify(s)
12611}
12612
12613// GoString returns the string representation.
12614//
12615// API parameter values that are decorated as "sensitive" in the API will not
12616// be included in the string output. The member name will be present, but the
12617// value will be replaced with "sensitive".
12618func (s ScheduledAutoTuneDetails) GoString() string {
12619	return s.String()
12620}
12621
12622// SetAction sets the Action field's value.
12623func (s *ScheduledAutoTuneDetails) SetAction(v string) *ScheduledAutoTuneDetails {
12624	s.Action = &v
12625	return s
12626}
12627
12628// SetActionType sets the ActionType field's value.
12629func (s *ScheduledAutoTuneDetails) SetActionType(v string) *ScheduledAutoTuneDetails {
12630	s.ActionType = &v
12631	return s
12632}
12633
12634// SetDate sets the Date field's value.
12635func (s *ScheduledAutoTuneDetails) SetDate(v time.Time) *ScheduledAutoTuneDetails {
12636	s.Date = &v
12637	return s
12638}
12639
12640// SetSeverity sets the Severity field's value.
12641func (s *ScheduledAutoTuneDetails) SetSeverity(v string) *ScheduledAutoTuneDetails {
12642	s.Severity = &v
12643	return s
12644}
12645
12646// The current options of an Elasticsearch domain service software options.
12647type ServiceSoftwareOptions struct {
12648	_ struct{} `type:"structure"`
12649
12650	// Timestamp, in Epoch time, until which you can manually request a service
12651	// software update. After this date, we automatically update your service software.
12652	AutomatedUpdateDate *time.Time `type:"timestamp"`
12653
12654	// True if you are able to cancel your service software version update. False
12655	// if you are not able to cancel your service software version.
12656	Cancellable *bool `type:"boolean"`
12657
12658	// The current service software version that is present on the domain.
12659	CurrentVersion *string `type:"string"`
12660
12661	// The description of the UpdateStatus.
12662	Description *string `type:"string"`
12663
12664	// The new service software version if one is available.
12665	NewVersion *string `type:"string"`
12666
12667	// True if a service software is never automatically updated. False if a service
12668	// software is automatically updated after AutomatedUpdateDate.
12669	OptionalDeployment *bool `type:"boolean"`
12670
12671	// True if you are able to update you service software version. False if you
12672	// are not able to update your service software version.
12673	UpdateAvailable *bool `type:"boolean"`
12674
12675	// The status of your service software update. This field can take the following
12676	// values: ELIGIBLE, PENDING_UPDATE, IN_PROGRESS, COMPLETED, and NOT_ELIGIBLE.
12677	UpdateStatus *string `type:"string" enum:"DeploymentStatus"`
12678}
12679
12680// String returns the string representation.
12681//
12682// API parameter values that are decorated as "sensitive" in the API will not
12683// be included in the string output. The member name will be present, but the
12684// value will be replaced with "sensitive".
12685func (s ServiceSoftwareOptions) String() string {
12686	return awsutil.Prettify(s)
12687}
12688
12689// GoString returns the string representation.
12690//
12691// API parameter values that are decorated as "sensitive" in the API will not
12692// be included in the string output. The member name will be present, but the
12693// value will be replaced with "sensitive".
12694func (s ServiceSoftwareOptions) GoString() string {
12695	return s.String()
12696}
12697
12698// SetAutomatedUpdateDate sets the AutomatedUpdateDate field's value.
12699func (s *ServiceSoftwareOptions) SetAutomatedUpdateDate(v time.Time) *ServiceSoftwareOptions {
12700	s.AutomatedUpdateDate = &v
12701	return s
12702}
12703
12704// SetCancellable sets the Cancellable field's value.
12705func (s *ServiceSoftwareOptions) SetCancellable(v bool) *ServiceSoftwareOptions {
12706	s.Cancellable = &v
12707	return s
12708}
12709
12710// SetCurrentVersion sets the CurrentVersion field's value.
12711func (s *ServiceSoftwareOptions) SetCurrentVersion(v string) *ServiceSoftwareOptions {
12712	s.CurrentVersion = &v
12713	return s
12714}
12715
12716// SetDescription sets the Description field's value.
12717func (s *ServiceSoftwareOptions) SetDescription(v string) *ServiceSoftwareOptions {
12718	s.Description = &v
12719	return s
12720}
12721
12722// SetNewVersion sets the NewVersion field's value.
12723func (s *ServiceSoftwareOptions) SetNewVersion(v string) *ServiceSoftwareOptions {
12724	s.NewVersion = &v
12725	return s
12726}
12727
12728// SetOptionalDeployment sets the OptionalDeployment field's value.
12729func (s *ServiceSoftwareOptions) SetOptionalDeployment(v bool) *ServiceSoftwareOptions {
12730	s.OptionalDeployment = &v
12731	return s
12732}
12733
12734// SetUpdateAvailable sets the UpdateAvailable field's value.
12735func (s *ServiceSoftwareOptions) SetUpdateAvailable(v bool) *ServiceSoftwareOptions {
12736	s.UpdateAvailable = &v
12737	return s
12738}
12739
12740// SetUpdateStatus sets the UpdateStatus field's value.
12741func (s *ServiceSoftwareOptions) SetUpdateStatus(v string) *ServiceSoftwareOptions {
12742	s.UpdateStatus = &v
12743	return s
12744}
12745
12746// Specifies the time, in UTC format, when the service takes a daily automated
12747// snapshot of the specified Elasticsearch domain. Default value is 0 hours.
12748type SnapshotOptions struct {
12749	_ struct{} `type:"structure"`
12750
12751	// Specifies the time, in UTC format, when the service takes a daily automated
12752	// snapshot of the specified Elasticsearch domain. Default value is 0 hours.
12753	AutomatedSnapshotStartHour *int64 `type:"integer"`
12754}
12755
12756// String returns the string representation.
12757//
12758// API parameter values that are decorated as "sensitive" in the API will not
12759// be included in the string output. The member name will be present, but the
12760// value will be replaced with "sensitive".
12761func (s SnapshotOptions) String() string {
12762	return awsutil.Prettify(s)
12763}
12764
12765// GoString returns the string representation.
12766//
12767// API parameter values that are decorated as "sensitive" in the API will not
12768// be included in the string output. The member name will be present, but the
12769// value will be replaced with "sensitive".
12770func (s SnapshotOptions) GoString() string {
12771	return s.String()
12772}
12773
12774// SetAutomatedSnapshotStartHour sets the AutomatedSnapshotStartHour field's value.
12775func (s *SnapshotOptions) SetAutomatedSnapshotStartHour(v int64) *SnapshotOptions {
12776	s.AutomatedSnapshotStartHour = &v
12777	return s
12778}
12779
12780// Status of a daily automated snapshot.
12781type SnapshotOptionsStatus struct {
12782	_ struct{} `type:"structure"`
12783
12784	// Specifies the daily snapshot options specified for the Elasticsearch domain.
12785	//
12786	// Options is a required field
12787	Options *SnapshotOptions `type:"structure" required:"true"`
12788
12789	// Specifies the status of a daily automated snapshot.
12790	//
12791	// Status is a required field
12792	Status *OptionStatus `type:"structure" required:"true"`
12793}
12794
12795// String returns the string representation.
12796//
12797// API parameter values that are decorated as "sensitive" in the API will not
12798// be included in the string output. The member name will be present, but the
12799// value will be replaced with "sensitive".
12800func (s SnapshotOptionsStatus) String() string {
12801	return awsutil.Prettify(s)
12802}
12803
12804// GoString returns the string representation.
12805//
12806// API parameter values that are decorated as "sensitive" in the API will not
12807// be included in the string output. The member name will be present, but the
12808// value will be replaced with "sensitive".
12809func (s SnapshotOptionsStatus) GoString() string {
12810	return s.String()
12811}
12812
12813// SetOptions sets the Options field's value.
12814func (s *SnapshotOptionsStatus) SetOptions(v *SnapshotOptions) *SnapshotOptionsStatus {
12815	s.Options = v
12816	return s
12817}
12818
12819// SetStatus sets the Status field's value.
12820func (s *SnapshotOptionsStatus) SetStatus(v *OptionStatus) *SnapshotOptionsStatus {
12821	s.Status = v
12822	return s
12823}
12824
12825// Container for the parameters to the StartElasticsearchServiceSoftwareUpdate
12826// operation. Specifies the name of the Elasticsearch domain that you wish to
12827// schedule a service software update on.
12828type StartElasticsearchServiceSoftwareUpdateInput struct {
12829	_ struct{} `type:"structure"`
12830
12831	// The name of the domain that you want to update to the latest service software.
12832	//
12833	// DomainName is a required field
12834	DomainName *string `min:"3" type:"string" required:"true"`
12835}
12836
12837// String returns the string representation.
12838//
12839// API parameter values that are decorated as "sensitive" in the API will not
12840// be included in the string output. The member name will be present, but the
12841// value will be replaced with "sensitive".
12842func (s StartElasticsearchServiceSoftwareUpdateInput) String() string {
12843	return awsutil.Prettify(s)
12844}
12845
12846// GoString returns the string representation.
12847//
12848// API parameter values that are decorated as "sensitive" in the API will not
12849// be included in the string output. The member name will be present, but the
12850// value will be replaced with "sensitive".
12851func (s StartElasticsearchServiceSoftwareUpdateInput) GoString() string {
12852	return s.String()
12853}
12854
12855// Validate inspects the fields of the type to determine if they are valid.
12856func (s *StartElasticsearchServiceSoftwareUpdateInput) Validate() error {
12857	invalidParams := request.ErrInvalidParams{Context: "StartElasticsearchServiceSoftwareUpdateInput"}
12858	if s.DomainName == nil {
12859		invalidParams.Add(request.NewErrParamRequired("DomainName"))
12860	}
12861	if s.DomainName != nil && len(*s.DomainName) < 3 {
12862		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
12863	}
12864
12865	if invalidParams.Len() > 0 {
12866		return invalidParams
12867	}
12868	return nil
12869}
12870
12871// SetDomainName sets the DomainName field's value.
12872func (s *StartElasticsearchServiceSoftwareUpdateInput) SetDomainName(v string) *StartElasticsearchServiceSoftwareUpdateInput {
12873	s.DomainName = &v
12874	return s
12875}
12876
12877// The result of a StartElasticsearchServiceSoftwareUpdate operation. Contains
12878// the status of the update.
12879type StartElasticsearchServiceSoftwareUpdateOutput struct {
12880	_ struct{} `type:"structure"`
12881
12882	// The current status of the Elasticsearch service software update.
12883	ServiceSoftwareOptions *ServiceSoftwareOptions `type:"structure"`
12884}
12885
12886// String returns the string representation.
12887//
12888// API parameter values that are decorated as "sensitive" in the API will not
12889// be included in the string output. The member name will be present, but the
12890// value will be replaced with "sensitive".
12891func (s StartElasticsearchServiceSoftwareUpdateOutput) String() string {
12892	return awsutil.Prettify(s)
12893}
12894
12895// GoString returns the string representation.
12896//
12897// API parameter values that are decorated as "sensitive" in the API will not
12898// be included in the string output. The member name will be present, but the
12899// value will be replaced with "sensitive".
12900func (s StartElasticsearchServiceSoftwareUpdateOutput) GoString() string {
12901	return s.String()
12902}
12903
12904// SetServiceSoftwareOptions sets the ServiceSoftwareOptions field's value.
12905func (s *StartElasticsearchServiceSoftwareUpdateOutput) SetServiceSoftwareOptions(v *ServiceSoftwareOptions) *StartElasticsearchServiceSoftwareUpdateOutput {
12906	s.ServiceSoftwareOptions = v
12907	return s
12908}
12909
12910// StorageTypes represents the list of storage related types and their attributes
12911// that are available for given InstanceType.
12912type StorageType struct {
12913	_ struct{} `type:"structure"`
12914
12915	// SubType of the given storage type. List of available sub-storage options:
12916	// For "instance" storageType we wont have any storageSubType, in case of "ebs"
12917	// storageType we will have following valid storageSubTypes standard gp2 io1
12918	// Refer VolumeType for more information regarding above EBS storage options.
12919	StorageSubTypeName *string `type:"string"`
12920
12921	// List of limits that are applicable for given storage type.
12922	StorageTypeLimits []*StorageTypeLimit `type:"list"`
12923
12924	// Type of the storage. List of available storage options: instance Inbuilt
12925	// storage available for the given Instance ebs Elastic block storage that would
12926	// be attached to the given Instance
12927	StorageTypeName *string `type:"string"`
12928}
12929
12930// String returns the string representation.
12931//
12932// API parameter values that are decorated as "sensitive" in the API will not
12933// be included in the string output. The member name will be present, but the
12934// value will be replaced with "sensitive".
12935func (s StorageType) String() string {
12936	return awsutil.Prettify(s)
12937}
12938
12939// GoString returns the string representation.
12940//
12941// API parameter values that are decorated as "sensitive" in the API will not
12942// be included in the string output. The member name will be present, but the
12943// value will be replaced with "sensitive".
12944func (s StorageType) GoString() string {
12945	return s.String()
12946}
12947
12948// SetStorageSubTypeName sets the StorageSubTypeName field's value.
12949func (s *StorageType) SetStorageSubTypeName(v string) *StorageType {
12950	s.StorageSubTypeName = &v
12951	return s
12952}
12953
12954// SetStorageTypeLimits sets the StorageTypeLimits field's value.
12955func (s *StorageType) SetStorageTypeLimits(v []*StorageTypeLimit) *StorageType {
12956	s.StorageTypeLimits = v
12957	return s
12958}
12959
12960// SetStorageTypeName sets the StorageTypeName field's value.
12961func (s *StorageType) SetStorageTypeName(v string) *StorageType {
12962	s.StorageTypeName = &v
12963	return s
12964}
12965
12966// Limits that are applicable for given storage type.
12967type StorageTypeLimit struct {
12968	_ struct{} `type:"structure"`
12969
12970	// Name of storage limits that are applicable for given storage type. If StorageType
12971	// is ebs, following storage options are applicable MinimumVolumeSize Minimum
12972	// amount of volume size that is applicable for given storage type.It can be
12973	// empty if it is not applicable. MaximumVolumeSize Maximum amount of volume
12974	// size that is applicable for given storage type.It can be empty if it is not
12975	// applicable. MaximumIops Maximum amount of Iops that is applicable for given
12976	// storage type.It can be empty if it is not applicable. MinimumIops Minimum
12977	// amount of Iops that is applicable for given storage type.It can be empty
12978	// if it is not applicable.
12979	LimitName *string `type:"string"`
12980
12981	// Values for the StorageTypeLimit$LimitName .
12982	LimitValues []*string `type:"list"`
12983}
12984
12985// String returns the string representation.
12986//
12987// API parameter values that are decorated as "sensitive" in the API will not
12988// be included in the string output. The member name will be present, but the
12989// value will be replaced with "sensitive".
12990func (s StorageTypeLimit) String() string {
12991	return awsutil.Prettify(s)
12992}
12993
12994// GoString returns the string representation.
12995//
12996// API parameter values that are decorated as "sensitive" in the API will not
12997// be included in the string output. The member name will be present, but the
12998// value will be replaced with "sensitive".
12999func (s StorageTypeLimit) GoString() string {
13000	return s.String()
13001}
13002
13003// SetLimitName sets the LimitName field's value.
13004func (s *StorageTypeLimit) SetLimitName(v string) *StorageTypeLimit {
13005	s.LimitName = &v
13006	return s
13007}
13008
13009// SetLimitValues sets the LimitValues field's value.
13010func (s *StorageTypeLimit) SetLimitValues(v []*string) *StorageTypeLimit {
13011	s.LimitValues = v
13012	return s
13013}
13014
13015// Specifies a key value pair for a resource tag.
13016type Tag struct {
13017	_ struct{} `type:"structure"`
13018
13019	// Specifies the TagKey, the name of the tag. Tag keys must be unique for the
13020	// Elasticsearch domain to which they are attached.
13021	//
13022	// Key is a required field
13023	Key *string `min:"1" type:"string" required:"true"`
13024
13025	// Specifies the TagValue, the value assigned to the corresponding tag key.
13026	// Tag values can be null and do not have to be unique in a tag set. For example,
13027	// you can have a key value pair in a tag set of project : Trinity and cost-center
13028	// : Trinity
13029	//
13030	// Value is a required field
13031	Value *string `type:"string" required:"true"`
13032}
13033
13034// String returns the string representation.
13035//
13036// API parameter values that are decorated as "sensitive" in the API will not
13037// be included in the string output. The member name will be present, but the
13038// value will be replaced with "sensitive".
13039func (s Tag) String() string {
13040	return awsutil.Prettify(s)
13041}
13042
13043// GoString returns the string representation.
13044//
13045// API parameter values that are decorated as "sensitive" in the API will not
13046// be included in the string output. The member name will be present, but the
13047// value will be replaced with "sensitive".
13048func (s Tag) GoString() string {
13049	return s.String()
13050}
13051
13052// Validate inspects the fields of the type to determine if they are valid.
13053func (s *Tag) Validate() error {
13054	invalidParams := request.ErrInvalidParams{Context: "Tag"}
13055	if s.Key == nil {
13056		invalidParams.Add(request.NewErrParamRequired("Key"))
13057	}
13058	if s.Key != nil && len(*s.Key) < 1 {
13059		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
13060	}
13061	if s.Value == nil {
13062		invalidParams.Add(request.NewErrParamRequired("Value"))
13063	}
13064
13065	if invalidParams.Len() > 0 {
13066		return invalidParams
13067	}
13068	return nil
13069}
13070
13071// SetKey sets the Key field's value.
13072func (s *Tag) SetKey(v string) *Tag {
13073	s.Key = &v
13074	return s
13075}
13076
13077// SetValue sets the Value field's value.
13078func (s *Tag) SetValue(v string) *Tag {
13079	s.Value = &v
13080	return s
13081}
13082
13083// Container for the parameters to the UpdateElasticsearchDomain operation.
13084// Specifies the type and number of instances in the domain cluster.
13085type UpdateElasticsearchDomainConfigInput struct {
13086	_ struct{} `type:"structure"`
13087
13088	// IAM access policy as a JSON-formatted string.
13089	AccessPolicies *string `type:"string"`
13090
13091	// Modifies the advanced option to allow references to indices in an HTTP request
13092	// body. Must be false when configuring access to individual sub-resources.
13093	// By default, the value is true. See Configuration Advanced Options (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomain-configure-advanced-options)
13094	// for more information.
13095	AdvancedOptions map[string]*string `type:"map"`
13096
13097	// Specifies advanced security options.
13098	AdvancedSecurityOptions *AdvancedSecurityOptionsInput `type:"structure"`
13099
13100	// Specifies Auto-Tune options.
13101	AutoTuneOptions *AutoTuneOptions `type:"structure"`
13102
13103	// Options to specify the Cognito user and identity pools for Kibana authentication.
13104	// For more information, see Amazon Cognito Authentication for Kibana (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-cognito-auth.html).
13105	CognitoOptions *CognitoOptions `type:"structure"`
13106
13107	// Options to specify configuration that will be applied to the domain endpoint.
13108	DomainEndpointOptions *DomainEndpointOptions `type:"structure"`
13109
13110	// The name of the Elasticsearch domain that you are updating.
13111	//
13112	// DomainName is a required field
13113	DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"`
13114
13115	// Specify the type and size of the EBS volume that you want to use.
13116	EBSOptions *EBSOptions `type:"structure"`
13117
13118	// The type and number of instances to instantiate for the domain cluster.
13119	ElasticsearchClusterConfig *ElasticsearchClusterConfig `type:"structure"`
13120
13121	// Specifies the Encryption At Rest Options.
13122	EncryptionAtRestOptions *EncryptionAtRestOptions `type:"structure"`
13123
13124	// Map of LogType and LogPublishingOption, each containing options to publish
13125	// a given type of Elasticsearch log.
13126	LogPublishingOptions map[string]*LogPublishingOption `type:"map"`
13127
13128	// Specifies the NodeToNodeEncryptionOptions.
13129	NodeToNodeEncryptionOptions *NodeToNodeEncryptionOptions `type:"structure"`
13130
13131	// Option to set the time, in UTC format, for the daily automated snapshot.
13132	// Default value is 0 hours.
13133	SnapshotOptions *SnapshotOptions `type:"structure"`
13134
13135	// Options to specify the subnets and security groups for VPC endpoint. For
13136	// more information, see Creating a VPC (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-vpc.html#es-creating-vpc)
13137	// in VPC Endpoints for Amazon Elasticsearch Service Domains
13138	VPCOptions *VPCOptions `type:"structure"`
13139}
13140
13141// String returns the string representation.
13142//
13143// API parameter values that are decorated as "sensitive" in the API will not
13144// be included in the string output. The member name will be present, but the
13145// value will be replaced with "sensitive".
13146func (s UpdateElasticsearchDomainConfigInput) String() string {
13147	return awsutil.Prettify(s)
13148}
13149
13150// GoString returns the string representation.
13151//
13152// API parameter values that are decorated as "sensitive" in the API will not
13153// be included in the string output. The member name will be present, but the
13154// value will be replaced with "sensitive".
13155func (s UpdateElasticsearchDomainConfigInput) GoString() string {
13156	return s.String()
13157}
13158
13159// Validate inspects the fields of the type to determine if they are valid.
13160func (s *UpdateElasticsearchDomainConfigInput) Validate() error {
13161	invalidParams := request.ErrInvalidParams{Context: "UpdateElasticsearchDomainConfigInput"}
13162	if s.DomainName == nil {
13163		invalidParams.Add(request.NewErrParamRequired("DomainName"))
13164	}
13165	if s.DomainName != nil && len(*s.DomainName) < 3 {
13166		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
13167	}
13168	if s.AdvancedSecurityOptions != nil {
13169		if err := s.AdvancedSecurityOptions.Validate(); err != nil {
13170			invalidParams.AddNested("AdvancedSecurityOptions", err.(request.ErrInvalidParams))
13171		}
13172	}
13173	if s.AutoTuneOptions != nil {
13174		if err := s.AutoTuneOptions.Validate(); err != nil {
13175			invalidParams.AddNested("AutoTuneOptions", err.(request.ErrInvalidParams))
13176		}
13177	}
13178	if s.CognitoOptions != nil {
13179		if err := s.CognitoOptions.Validate(); err != nil {
13180			invalidParams.AddNested("CognitoOptions", err.(request.ErrInvalidParams))
13181		}
13182	}
13183	if s.DomainEndpointOptions != nil {
13184		if err := s.DomainEndpointOptions.Validate(); err != nil {
13185			invalidParams.AddNested("DomainEndpointOptions", err.(request.ErrInvalidParams))
13186		}
13187	}
13188	if s.ElasticsearchClusterConfig != nil {
13189		if err := s.ElasticsearchClusterConfig.Validate(); err != nil {
13190			invalidParams.AddNested("ElasticsearchClusterConfig", err.(request.ErrInvalidParams))
13191		}
13192	}
13193	if s.EncryptionAtRestOptions != nil {
13194		if err := s.EncryptionAtRestOptions.Validate(); err != nil {
13195			invalidParams.AddNested("EncryptionAtRestOptions", err.(request.ErrInvalidParams))
13196		}
13197	}
13198
13199	if invalidParams.Len() > 0 {
13200		return invalidParams
13201	}
13202	return nil
13203}
13204
13205// SetAccessPolicies sets the AccessPolicies field's value.
13206func (s *UpdateElasticsearchDomainConfigInput) SetAccessPolicies(v string) *UpdateElasticsearchDomainConfigInput {
13207	s.AccessPolicies = &v
13208	return s
13209}
13210
13211// SetAdvancedOptions sets the AdvancedOptions field's value.
13212func (s *UpdateElasticsearchDomainConfigInput) SetAdvancedOptions(v map[string]*string) *UpdateElasticsearchDomainConfigInput {
13213	s.AdvancedOptions = v
13214	return s
13215}
13216
13217// SetAdvancedSecurityOptions sets the AdvancedSecurityOptions field's value.
13218func (s *UpdateElasticsearchDomainConfigInput) SetAdvancedSecurityOptions(v *AdvancedSecurityOptionsInput) *UpdateElasticsearchDomainConfigInput {
13219	s.AdvancedSecurityOptions = v
13220	return s
13221}
13222
13223// SetAutoTuneOptions sets the AutoTuneOptions field's value.
13224func (s *UpdateElasticsearchDomainConfigInput) SetAutoTuneOptions(v *AutoTuneOptions) *UpdateElasticsearchDomainConfigInput {
13225	s.AutoTuneOptions = v
13226	return s
13227}
13228
13229// SetCognitoOptions sets the CognitoOptions field's value.
13230func (s *UpdateElasticsearchDomainConfigInput) SetCognitoOptions(v *CognitoOptions) *UpdateElasticsearchDomainConfigInput {
13231	s.CognitoOptions = v
13232	return s
13233}
13234
13235// SetDomainEndpointOptions sets the DomainEndpointOptions field's value.
13236func (s *UpdateElasticsearchDomainConfigInput) SetDomainEndpointOptions(v *DomainEndpointOptions) *UpdateElasticsearchDomainConfigInput {
13237	s.DomainEndpointOptions = v
13238	return s
13239}
13240
13241// SetDomainName sets the DomainName field's value.
13242func (s *UpdateElasticsearchDomainConfigInput) SetDomainName(v string) *UpdateElasticsearchDomainConfigInput {
13243	s.DomainName = &v
13244	return s
13245}
13246
13247// SetEBSOptions sets the EBSOptions field's value.
13248func (s *UpdateElasticsearchDomainConfigInput) SetEBSOptions(v *EBSOptions) *UpdateElasticsearchDomainConfigInput {
13249	s.EBSOptions = v
13250	return s
13251}
13252
13253// SetElasticsearchClusterConfig sets the ElasticsearchClusterConfig field's value.
13254func (s *UpdateElasticsearchDomainConfigInput) SetElasticsearchClusterConfig(v *ElasticsearchClusterConfig) *UpdateElasticsearchDomainConfigInput {
13255	s.ElasticsearchClusterConfig = v
13256	return s
13257}
13258
13259// SetEncryptionAtRestOptions sets the EncryptionAtRestOptions field's value.
13260func (s *UpdateElasticsearchDomainConfigInput) SetEncryptionAtRestOptions(v *EncryptionAtRestOptions) *UpdateElasticsearchDomainConfigInput {
13261	s.EncryptionAtRestOptions = v
13262	return s
13263}
13264
13265// SetLogPublishingOptions sets the LogPublishingOptions field's value.
13266func (s *UpdateElasticsearchDomainConfigInput) SetLogPublishingOptions(v map[string]*LogPublishingOption) *UpdateElasticsearchDomainConfigInput {
13267	s.LogPublishingOptions = v
13268	return s
13269}
13270
13271// SetNodeToNodeEncryptionOptions sets the NodeToNodeEncryptionOptions field's value.
13272func (s *UpdateElasticsearchDomainConfigInput) SetNodeToNodeEncryptionOptions(v *NodeToNodeEncryptionOptions) *UpdateElasticsearchDomainConfigInput {
13273	s.NodeToNodeEncryptionOptions = v
13274	return s
13275}
13276
13277// SetSnapshotOptions sets the SnapshotOptions field's value.
13278func (s *UpdateElasticsearchDomainConfigInput) SetSnapshotOptions(v *SnapshotOptions) *UpdateElasticsearchDomainConfigInput {
13279	s.SnapshotOptions = v
13280	return s
13281}
13282
13283// SetVPCOptions sets the VPCOptions field's value.
13284func (s *UpdateElasticsearchDomainConfigInput) SetVPCOptions(v *VPCOptions) *UpdateElasticsearchDomainConfigInput {
13285	s.VPCOptions = v
13286	return s
13287}
13288
13289// The result of an UpdateElasticsearchDomain request. Contains the status of
13290// the Elasticsearch domain being updated.
13291type UpdateElasticsearchDomainConfigOutput struct {
13292	_ struct{} `type:"structure"`
13293
13294	// The status of the updated Elasticsearch domain.
13295	//
13296	// DomainConfig is a required field
13297	DomainConfig *ElasticsearchDomainConfig `type:"structure" required:"true"`
13298}
13299
13300// String returns the string representation.
13301//
13302// API parameter values that are decorated as "sensitive" in the API will not
13303// be included in the string output. The member name will be present, but the
13304// value will be replaced with "sensitive".
13305func (s UpdateElasticsearchDomainConfigOutput) String() string {
13306	return awsutil.Prettify(s)
13307}
13308
13309// GoString returns the string representation.
13310//
13311// API parameter values that are decorated as "sensitive" in the API will not
13312// be included in the string output. The member name will be present, but the
13313// value will be replaced with "sensitive".
13314func (s UpdateElasticsearchDomainConfigOutput) GoString() string {
13315	return s.String()
13316}
13317
13318// SetDomainConfig sets the DomainConfig field's value.
13319func (s *UpdateElasticsearchDomainConfigOutput) SetDomainConfig(v *ElasticsearchDomainConfig) *UpdateElasticsearchDomainConfigOutput {
13320	s.DomainConfig = v
13321	return s
13322}
13323
13324// Container for request parameters to UpdatePackage operation.
13325type UpdatePackageInput struct {
13326	_ struct{} `type:"structure"`
13327
13328	// An info message for the new version which will be shown as part of GetPackageVersionHistoryResponse.
13329	CommitMessage *string `type:"string"`
13330
13331	// New description of the package.
13332	PackageDescription *string `type:"string"`
13333
13334	// Unique identifier for the package.
13335	//
13336	// PackageID is a required field
13337	PackageID *string `type:"string" required:"true"`
13338
13339	// The S3 location for importing the package specified as S3BucketName and S3Key
13340	//
13341	// PackageSource is a required field
13342	PackageSource *PackageSource `type:"structure" required:"true"`
13343}
13344
13345// String returns the string representation.
13346//
13347// API parameter values that are decorated as "sensitive" in the API will not
13348// be included in the string output. The member name will be present, but the
13349// value will be replaced with "sensitive".
13350func (s UpdatePackageInput) String() string {
13351	return awsutil.Prettify(s)
13352}
13353
13354// GoString returns the string representation.
13355//
13356// API parameter values that are decorated as "sensitive" in the API will not
13357// be included in the string output. The member name will be present, but the
13358// value will be replaced with "sensitive".
13359func (s UpdatePackageInput) GoString() string {
13360	return s.String()
13361}
13362
13363// Validate inspects the fields of the type to determine if they are valid.
13364func (s *UpdatePackageInput) Validate() error {
13365	invalidParams := request.ErrInvalidParams{Context: "UpdatePackageInput"}
13366	if s.PackageID == nil {
13367		invalidParams.Add(request.NewErrParamRequired("PackageID"))
13368	}
13369	if s.PackageSource == nil {
13370		invalidParams.Add(request.NewErrParamRequired("PackageSource"))
13371	}
13372	if s.PackageSource != nil {
13373		if err := s.PackageSource.Validate(); err != nil {
13374			invalidParams.AddNested("PackageSource", err.(request.ErrInvalidParams))
13375		}
13376	}
13377
13378	if invalidParams.Len() > 0 {
13379		return invalidParams
13380	}
13381	return nil
13382}
13383
13384// SetCommitMessage sets the CommitMessage field's value.
13385func (s *UpdatePackageInput) SetCommitMessage(v string) *UpdatePackageInput {
13386	s.CommitMessage = &v
13387	return s
13388}
13389
13390// SetPackageDescription sets the PackageDescription field's value.
13391func (s *UpdatePackageInput) SetPackageDescription(v string) *UpdatePackageInput {
13392	s.PackageDescription = &v
13393	return s
13394}
13395
13396// SetPackageID sets the PackageID field's value.
13397func (s *UpdatePackageInput) SetPackageID(v string) *UpdatePackageInput {
13398	s.PackageID = &v
13399	return s
13400}
13401
13402// SetPackageSource sets the PackageSource field's value.
13403func (s *UpdatePackageInput) SetPackageSource(v *PackageSource) *UpdatePackageInput {
13404	s.PackageSource = v
13405	return s
13406}
13407
13408// Container for response returned by UpdatePackage operation.
13409type UpdatePackageOutput struct {
13410	_ struct{} `type:"structure"`
13411
13412	// Information about the package PackageDetails.
13413	PackageDetails *PackageDetails `type:"structure"`
13414}
13415
13416// String returns the string representation.
13417//
13418// API parameter values that are decorated as "sensitive" in the API will not
13419// be included in the string output. The member name will be present, but the
13420// value will be replaced with "sensitive".
13421func (s UpdatePackageOutput) String() string {
13422	return awsutil.Prettify(s)
13423}
13424
13425// GoString returns the string representation.
13426//
13427// API parameter values that are decorated as "sensitive" in the API will not
13428// be included in the string output. The member name will be present, but the
13429// value will be replaced with "sensitive".
13430func (s UpdatePackageOutput) GoString() string {
13431	return s.String()
13432}
13433
13434// SetPackageDetails sets the PackageDetails field's value.
13435func (s *UpdatePackageOutput) SetPackageDetails(v *PackageDetails) *UpdatePackageOutput {
13436	s.PackageDetails = v
13437	return s
13438}
13439
13440// Container for request parameters to UpgradeElasticsearchDomain operation.
13441type UpgradeElasticsearchDomainInput struct {
13442	_ struct{} `type:"structure"`
13443
13444	// The name of an Elasticsearch domain. Domain names are unique across the domains
13445	// owned by an account within an AWS region. Domain names start with a letter
13446	// or number and can contain the following characters: a-z (lowercase), 0-9,
13447	// and - (hyphen).
13448	//
13449	// DomainName is a required field
13450	DomainName *string `min:"3" type:"string" required:"true"`
13451
13452	// This flag, when set to True, indicates that an Upgrade Eligibility Check
13453	// needs to be performed. This will not actually perform the Upgrade.
13454	PerformCheckOnly *bool `type:"boolean"`
13455
13456	// The version of Elasticsearch that you intend to upgrade the domain to.
13457	//
13458	// TargetVersion is a required field
13459	TargetVersion *string `type:"string" required:"true"`
13460}
13461
13462// String returns the string representation.
13463//
13464// API parameter values that are decorated as "sensitive" in the API will not
13465// be included in the string output. The member name will be present, but the
13466// value will be replaced with "sensitive".
13467func (s UpgradeElasticsearchDomainInput) String() string {
13468	return awsutil.Prettify(s)
13469}
13470
13471// GoString returns the string representation.
13472//
13473// API parameter values that are decorated as "sensitive" in the API will not
13474// be included in the string output. The member name will be present, but the
13475// value will be replaced with "sensitive".
13476func (s UpgradeElasticsearchDomainInput) GoString() string {
13477	return s.String()
13478}
13479
13480// Validate inspects the fields of the type to determine if they are valid.
13481func (s *UpgradeElasticsearchDomainInput) Validate() error {
13482	invalidParams := request.ErrInvalidParams{Context: "UpgradeElasticsearchDomainInput"}
13483	if s.DomainName == nil {
13484		invalidParams.Add(request.NewErrParamRequired("DomainName"))
13485	}
13486	if s.DomainName != nil && len(*s.DomainName) < 3 {
13487		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
13488	}
13489	if s.TargetVersion == nil {
13490		invalidParams.Add(request.NewErrParamRequired("TargetVersion"))
13491	}
13492
13493	if invalidParams.Len() > 0 {
13494		return invalidParams
13495	}
13496	return nil
13497}
13498
13499// SetDomainName sets the DomainName field's value.
13500func (s *UpgradeElasticsearchDomainInput) SetDomainName(v string) *UpgradeElasticsearchDomainInput {
13501	s.DomainName = &v
13502	return s
13503}
13504
13505// SetPerformCheckOnly sets the PerformCheckOnly field's value.
13506func (s *UpgradeElasticsearchDomainInput) SetPerformCheckOnly(v bool) *UpgradeElasticsearchDomainInput {
13507	s.PerformCheckOnly = &v
13508	return s
13509}
13510
13511// SetTargetVersion sets the TargetVersion field's value.
13512func (s *UpgradeElasticsearchDomainInput) SetTargetVersion(v string) *UpgradeElasticsearchDomainInput {
13513	s.TargetVersion = &v
13514	return s
13515}
13516
13517// Container for response returned by UpgradeElasticsearchDomain operation.
13518type UpgradeElasticsearchDomainOutput struct {
13519	_ struct{} `type:"structure"`
13520
13521	// The name of an Elasticsearch domain. Domain names are unique across the domains
13522	// owned by an account within an AWS region. Domain names start with a letter
13523	// or number and can contain the following characters: a-z (lowercase), 0-9,
13524	// and - (hyphen).
13525	DomainName *string `min:"3" type:"string"`
13526
13527	// This flag, when set to True, indicates that an Upgrade Eligibility Check
13528	// needs to be performed. This will not actually perform the Upgrade.
13529	PerformCheckOnly *bool `type:"boolean"`
13530
13531	// The version of Elasticsearch that you intend to upgrade the domain to.
13532	TargetVersion *string `type:"string"`
13533}
13534
13535// String returns the string representation.
13536//
13537// API parameter values that are decorated as "sensitive" in the API will not
13538// be included in the string output. The member name will be present, but the
13539// value will be replaced with "sensitive".
13540func (s UpgradeElasticsearchDomainOutput) String() string {
13541	return awsutil.Prettify(s)
13542}
13543
13544// GoString returns the string representation.
13545//
13546// API parameter values that are decorated as "sensitive" in the API will not
13547// be included in the string output. The member name will be present, but the
13548// value will be replaced with "sensitive".
13549func (s UpgradeElasticsearchDomainOutput) GoString() string {
13550	return s.String()
13551}
13552
13553// SetDomainName sets the DomainName field's value.
13554func (s *UpgradeElasticsearchDomainOutput) SetDomainName(v string) *UpgradeElasticsearchDomainOutput {
13555	s.DomainName = &v
13556	return s
13557}
13558
13559// SetPerformCheckOnly sets the PerformCheckOnly field's value.
13560func (s *UpgradeElasticsearchDomainOutput) SetPerformCheckOnly(v bool) *UpgradeElasticsearchDomainOutput {
13561	s.PerformCheckOnly = &v
13562	return s
13563}
13564
13565// SetTargetVersion sets the TargetVersion field's value.
13566func (s *UpgradeElasticsearchDomainOutput) SetTargetVersion(v string) *UpgradeElasticsearchDomainOutput {
13567	s.TargetVersion = &v
13568	return s
13569}
13570
13571// History of the last 10 Upgrades and Upgrade Eligibility Checks.
13572type UpgradeHistory struct {
13573	_ struct{} `type:"structure"`
13574
13575	// UTC Timestamp at which the Upgrade API call was made in "yyyy-MM-ddTHH:mm:ssZ"
13576	// format.
13577	StartTimestamp *time.Time `type:"timestamp"`
13578
13579	// A list of UpgradeStepItem s representing information about each step performed
13580	// as pard of a specific Upgrade or Upgrade Eligibility Check.
13581	StepsList []*UpgradeStepItem `type:"list"`
13582
13583	// A string that describes the update briefly
13584	UpgradeName *string `type:"string"`
13585
13586	// The overall status of the update. The status can take one of the following
13587	// values:
13588	//    * In Progress
13589	//
13590	//    * Succeeded
13591	//
13592	//    * Succeeded with Issues
13593	//
13594	//    * Failed
13595	UpgradeStatus *string `type:"string" enum:"UpgradeStatus"`
13596}
13597
13598// String returns the string representation.
13599//
13600// API parameter values that are decorated as "sensitive" in the API will not
13601// be included in the string output. The member name will be present, but the
13602// value will be replaced with "sensitive".
13603func (s UpgradeHistory) String() string {
13604	return awsutil.Prettify(s)
13605}
13606
13607// GoString returns the string representation.
13608//
13609// API parameter values that are decorated as "sensitive" in the API will not
13610// be included in the string output. The member name will be present, but the
13611// value will be replaced with "sensitive".
13612func (s UpgradeHistory) GoString() string {
13613	return s.String()
13614}
13615
13616// SetStartTimestamp sets the StartTimestamp field's value.
13617func (s *UpgradeHistory) SetStartTimestamp(v time.Time) *UpgradeHistory {
13618	s.StartTimestamp = &v
13619	return s
13620}
13621
13622// SetStepsList sets the StepsList field's value.
13623func (s *UpgradeHistory) SetStepsList(v []*UpgradeStepItem) *UpgradeHistory {
13624	s.StepsList = v
13625	return s
13626}
13627
13628// SetUpgradeName sets the UpgradeName field's value.
13629func (s *UpgradeHistory) SetUpgradeName(v string) *UpgradeHistory {
13630	s.UpgradeName = &v
13631	return s
13632}
13633
13634// SetUpgradeStatus sets the UpgradeStatus field's value.
13635func (s *UpgradeHistory) SetUpgradeStatus(v string) *UpgradeHistory {
13636	s.UpgradeStatus = &v
13637	return s
13638}
13639
13640// Represents a single step of the Upgrade or Upgrade Eligibility Check workflow.
13641type UpgradeStepItem struct {
13642	_ struct{} `type:"structure"`
13643
13644	// A list of strings containing detailed information about the errors encountered
13645	// in a particular step.
13646	Issues []*string `type:"list"`
13647
13648	// The Floating point value representing progress percentage of a particular
13649	// step.
13650	ProgressPercent *float64 `type:"double"`
13651
13652	// Represents one of 3 steps that an Upgrade or Upgrade Eligibility Check does
13653	// through:
13654	//    * PreUpgradeCheck
13655	//
13656	//    * Snapshot
13657	//
13658	//    * Upgrade
13659	UpgradeStep *string `type:"string" enum:"UpgradeStep"`
13660
13661	// The status of a particular step during an upgrade. The status can take one
13662	// of the following values:
13663	//    * In Progress
13664	//
13665	//    * Succeeded
13666	//
13667	//    * Succeeded with Issues
13668	//
13669	//    * Failed
13670	UpgradeStepStatus *string `type:"string" enum:"UpgradeStatus"`
13671}
13672
13673// String returns the string representation.
13674//
13675// API parameter values that are decorated as "sensitive" in the API will not
13676// be included in the string output. The member name will be present, but the
13677// value will be replaced with "sensitive".
13678func (s UpgradeStepItem) String() string {
13679	return awsutil.Prettify(s)
13680}
13681
13682// GoString returns the string representation.
13683//
13684// API parameter values that are decorated as "sensitive" in the API will not
13685// be included in the string output. The member name will be present, but the
13686// value will be replaced with "sensitive".
13687func (s UpgradeStepItem) GoString() string {
13688	return s.String()
13689}
13690
13691// SetIssues sets the Issues field's value.
13692func (s *UpgradeStepItem) SetIssues(v []*string) *UpgradeStepItem {
13693	s.Issues = v
13694	return s
13695}
13696
13697// SetProgressPercent sets the ProgressPercent field's value.
13698func (s *UpgradeStepItem) SetProgressPercent(v float64) *UpgradeStepItem {
13699	s.ProgressPercent = &v
13700	return s
13701}
13702
13703// SetUpgradeStep sets the UpgradeStep field's value.
13704func (s *UpgradeStepItem) SetUpgradeStep(v string) *UpgradeStepItem {
13705	s.UpgradeStep = &v
13706	return s
13707}
13708
13709// SetUpgradeStepStatus sets the UpgradeStepStatus field's value.
13710func (s *UpgradeStepItem) SetUpgradeStepStatus(v string) *UpgradeStepItem {
13711	s.UpgradeStepStatus = &v
13712	return s
13713}
13714
13715// Options to specify the subnets and security groups for VPC endpoint. For
13716// more information, see VPC Endpoints for Amazon Elasticsearch Service Domains
13717// (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-vpc.html).
13718type VPCDerivedInfo struct {
13719	_ struct{} `type:"structure"`
13720
13721	// The availability zones for the Elasticsearch domain. Exists only if the domain
13722	// was created with VPCOptions.
13723	AvailabilityZones []*string `type:"list"`
13724
13725	// Specifies the security groups for VPC endpoint.
13726	SecurityGroupIds []*string `type:"list"`
13727
13728	// Specifies the subnets for VPC endpoint.
13729	SubnetIds []*string `type:"list"`
13730
13731	// The VPC Id for the Elasticsearch domain. Exists only if the domain was created
13732	// with VPCOptions.
13733	VPCId *string `type:"string"`
13734}
13735
13736// String returns the string representation.
13737//
13738// API parameter values that are decorated as "sensitive" in the API will not
13739// be included in the string output. The member name will be present, but the
13740// value will be replaced with "sensitive".
13741func (s VPCDerivedInfo) String() string {
13742	return awsutil.Prettify(s)
13743}
13744
13745// GoString returns the string representation.
13746//
13747// API parameter values that are decorated as "sensitive" in the API will not
13748// be included in the string output. The member name will be present, but the
13749// value will be replaced with "sensitive".
13750func (s VPCDerivedInfo) GoString() string {
13751	return s.String()
13752}
13753
13754// SetAvailabilityZones sets the AvailabilityZones field's value.
13755func (s *VPCDerivedInfo) SetAvailabilityZones(v []*string) *VPCDerivedInfo {
13756	s.AvailabilityZones = v
13757	return s
13758}
13759
13760// SetSecurityGroupIds sets the SecurityGroupIds field's value.
13761func (s *VPCDerivedInfo) SetSecurityGroupIds(v []*string) *VPCDerivedInfo {
13762	s.SecurityGroupIds = v
13763	return s
13764}
13765
13766// SetSubnetIds sets the SubnetIds field's value.
13767func (s *VPCDerivedInfo) SetSubnetIds(v []*string) *VPCDerivedInfo {
13768	s.SubnetIds = v
13769	return s
13770}
13771
13772// SetVPCId sets the VPCId field's value.
13773func (s *VPCDerivedInfo) SetVPCId(v string) *VPCDerivedInfo {
13774	s.VPCId = &v
13775	return s
13776}
13777
13778// Status of the VPC options for the specified Elasticsearch domain.
13779type VPCDerivedInfoStatus struct {
13780	_ struct{} `type:"structure"`
13781
13782	// Specifies the VPC options for the specified Elasticsearch domain.
13783	//
13784	// Options is a required field
13785	Options *VPCDerivedInfo `type:"structure" required:"true"`
13786
13787	// Specifies the status of the VPC options for the specified Elasticsearch domain.
13788	//
13789	// Status is a required field
13790	Status *OptionStatus `type:"structure" required:"true"`
13791}
13792
13793// String returns the string representation.
13794//
13795// API parameter values that are decorated as "sensitive" in the API will not
13796// be included in the string output. The member name will be present, but the
13797// value will be replaced with "sensitive".
13798func (s VPCDerivedInfoStatus) String() string {
13799	return awsutil.Prettify(s)
13800}
13801
13802// GoString returns the string representation.
13803//
13804// API parameter values that are decorated as "sensitive" in the API will not
13805// be included in the string output. The member name will be present, but the
13806// value will be replaced with "sensitive".
13807func (s VPCDerivedInfoStatus) GoString() string {
13808	return s.String()
13809}
13810
13811// SetOptions sets the Options field's value.
13812func (s *VPCDerivedInfoStatus) SetOptions(v *VPCDerivedInfo) *VPCDerivedInfoStatus {
13813	s.Options = v
13814	return s
13815}
13816
13817// SetStatus sets the Status field's value.
13818func (s *VPCDerivedInfoStatus) SetStatus(v *OptionStatus) *VPCDerivedInfoStatus {
13819	s.Status = v
13820	return s
13821}
13822
13823// Options to specify the subnets and security groups for VPC endpoint. For
13824// more information, see VPC Endpoints for Amazon Elasticsearch Service Domains
13825// (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-vpc.html).
13826type VPCOptions struct {
13827	_ struct{} `type:"structure"`
13828
13829	// Specifies the security groups for VPC endpoint.
13830	SecurityGroupIds []*string `type:"list"`
13831
13832	// Specifies the subnets for VPC endpoint.
13833	SubnetIds []*string `type:"list"`
13834}
13835
13836// String returns the string representation.
13837//
13838// API parameter values that are decorated as "sensitive" in the API will not
13839// be included in the string output. The member name will be present, but the
13840// value will be replaced with "sensitive".
13841func (s VPCOptions) String() string {
13842	return awsutil.Prettify(s)
13843}
13844
13845// GoString returns the string representation.
13846//
13847// API parameter values that are decorated as "sensitive" in the API will not
13848// be included in the string output. The member name will be present, but the
13849// value will be replaced with "sensitive".
13850func (s VPCOptions) GoString() string {
13851	return s.String()
13852}
13853
13854// SetSecurityGroupIds sets the SecurityGroupIds field's value.
13855func (s *VPCOptions) SetSecurityGroupIds(v []*string) *VPCOptions {
13856	s.SecurityGroupIds = v
13857	return s
13858}
13859
13860// SetSubnetIds sets the SubnetIds field's value.
13861func (s *VPCOptions) SetSubnetIds(v []*string) *VPCOptions {
13862	s.SubnetIds = v
13863	return s
13864}
13865
13866// An exception for missing / invalid input fields. Gives http status code of
13867// 400.
13868type ValidationException struct {
13869	_            struct{}                  `type:"structure"`
13870	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
13871
13872	Message_ *string `locationName:"message" type:"string"`
13873}
13874
13875// String returns the string representation.
13876//
13877// API parameter values that are decorated as "sensitive" in the API will not
13878// be included in the string output. The member name will be present, but the
13879// value will be replaced with "sensitive".
13880func (s ValidationException) String() string {
13881	return awsutil.Prettify(s)
13882}
13883
13884// GoString returns the string representation.
13885//
13886// API parameter values that are decorated as "sensitive" in the API will not
13887// be included in the string output. The member name will be present, but the
13888// value will be replaced with "sensitive".
13889func (s ValidationException) GoString() string {
13890	return s.String()
13891}
13892
13893func newErrorValidationException(v protocol.ResponseMetadata) error {
13894	return &ValidationException{
13895		RespMetadata: v,
13896	}
13897}
13898
13899// Code returns the exception type name.
13900func (s *ValidationException) Code() string {
13901	return "ValidationException"
13902}
13903
13904// Message returns the exception's message.
13905func (s *ValidationException) Message() string {
13906	if s.Message_ != nil {
13907		return *s.Message_
13908	}
13909	return ""
13910}
13911
13912// OrigErr always returns nil, satisfies awserr.Error interface.
13913func (s *ValidationException) OrigErr() error {
13914	return nil
13915}
13916
13917func (s *ValidationException) Error() string {
13918	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
13919}
13920
13921// Status code returns the HTTP status code for the request's response error.
13922func (s *ValidationException) StatusCode() int {
13923	return s.RespMetadata.StatusCode
13924}
13925
13926// RequestID returns the service's response RequestID for request.
13927func (s *ValidationException) RequestID() string {
13928	return s.RespMetadata.RequestID
13929}
13930
13931// Specifies the zone awareness configuration for the domain cluster, such as
13932// the number of availability zones.
13933type ZoneAwarenessConfig struct {
13934	_ struct{} `type:"structure"`
13935
13936	// An integer value to indicate the number of availability zones for a domain
13937	// when zone awareness is enabled. This should be equal to number of subnets
13938	// if VPC endpoints is enabled
13939	AvailabilityZoneCount *int64 `type:"integer"`
13940}
13941
13942// String returns the string representation.
13943//
13944// API parameter values that are decorated as "sensitive" in the API will not
13945// be included in the string output. The member name will be present, but the
13946// value will be replaced with "sensitive".
13947func (s ZoneAwarenessConfig) String() string {
13948	return awsutil.Prettify(s)
13949}
13950
13951// GoString returns the string representation.
13952//
13953// API parameter values that are decorated as "sensitive" in the API will not
13954// be included in the string output. The member name will be present, but the
13955// value will be replaced with "sensitive".
13956func (s ZoneAwarenessConfig) GoString() string {
13957	return s.String()
13958}
13959
13960// SetAvailabilityZoneCount sets the AvailabilityZoneCount field's value.
13961func (s *ZoneAwarenessConfig) SetAvailabilityZoneCount(v int64) *ZoneAwarenessConfig {
13962	s.AvailabilityZoneCount = &v
13963	return s
13964}
13965
13966// Specifies the Auto-Tune desired state. Valid values are ENABLED, DISABLED.
13967const (
13968	// AutoTuneDesiredStateEnabled is a AutoTuneDesiredState enum value
13969	AutoTuneDesiredStateEnabled = "ENABLED"
13970
13971	// AutoTuneDesiredStateDisabled is a AutoTuneDesiredState enum value
13972	AutoTuneDesiredStateDisabled = "DISABLED"
13973)
13974
13975// AutoTuneDesiredState_Values returns all elements of the AutoTuneDesiredState enum
13976func AutoTuneDesiredState_Values() []string {
13977	return []string{
13978		AutoTuneDesiredStateEnabled,
13979		AutoTuneDesiredStateDisabled,
13980	}
13981}
13982
13983// Specifies the Auto-Tune state for the Elasticsearch domain. For valid states
13984// see the Developer Guide (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/auto-tune.html).
13985const (
13986	// AutoTuneStateEnabled is a AutoTuneState enum value
13987	AutoTuneStateEnabled = "ENABLED"
13988
13989	// AutoTuneStateDisabled is a AutoTuneState enum value
13990	AutoTuneStateDisabled = "DISABLED"
13991
13992	// AutoTuneStateEnableInProgress is a AutoTuneState enum value
13993	AutoTuneStateEnableInProgress = "ENABLE_IN_PROGRESS"
13994
13995	// AutoTuneStateDisableInProgress is a AutoTuneState enum value
13996	AutoTuneStateDisableInProgress = "DISABLE_IN_PROGRESS"
13997
13998	// AutoTuneStateDisabledAndRollbackScheduled is a AutoTuneState enum value
13999	AutoTuneStateDisabledAndRollbackScheduled = "DISABLED_AND_ROLLBACK_SCHEDULED"
14000
14001	// AutoTuneStateDisabledAndRollbackInProgress is a AutoTuneState enum value
14002	AutoTuneStateDisabledAndRollbackInProgress = "DISABLED_AND_ROLLBACK_IN_PROGRESS"
14003
14004	// AutoTuneStateDisabledAndRollbackComplete is a AutoTuneState enum value
14005	AutoTuneStateDisabledAndRollbackComplete = "DISABLED_AND_ROLLBACK_COMPLETE"
14006
14007	// AutoTuneStateDisabledAndRollbackError is a AutoTuneState enum value
14008	AutoTuneStateDisabledAndRollbackError = "DISABLED_AND_ROLLBACK_ERROR"
14009
14010	// AutoTuneStateError is a AutoTuneState enum value
14011	AutoTuneStateError = "ERROR"
14012)
14013
14014// AutoTuneState_Values returns all elements of the AutoTuneState enum
14015func AutoTuneState_Values() []string {
14016	return []string{
14017		AutoTuneStateEnabled,
14018		AutoTuneStateDisabled,
14019		AutoTuneStateEnableInProgress,
14020		AutoTuneStateDisableInProgress,
14021		AutoTuneStateDisabledAndRollbackScheduled,
14022		AutoTuneStateDisabledAndRollbackInProgress,
14023		AutoTuneStateDisabledAndRollbackComplete,
14024		AutoTuneStateDisabledAndRollbackError,
14025		AutoTuneStateError,
14026	}
14027}
14028
14029// Specifies Auto-Tune type. Valid value is SCHEDULED_ACTION.
14030const (
14031	// AutoTuneTypeScheduledAction is a AutoTuneType enum value
14032	AutoTuneTypeScheduledAction = "SCHEDULED_ACTION"
14033)
14034
14035// AutoTuneType_Values returns all elements of the AutoTuneType enum
14036func AutoTuneType_Values() []string {
14037	return []string{
14038		AutoTuneTypeScheduledAction,
14039	}
14040}
14041
14042const (
14043	// DeploymentStatusPendingUpdate is a DeploymentStatus enum value
14044	DeploymentStatusPendingUpdate = "PENDING_UPDATE"
14045
14046	// DeploymentStatusInProgress is a DeploymentStatus enum value
14047	DeploymentStatusInProgress = "IN_PROGRESS"
14048
14049	// DeploymentStatusCompleted is a DeploymentStatus enum value
14050	DeploymentStatusCompleted = "COMPLETED"
14051
14052	// DeploymentStatusNotEligible is a DeploymentStatus enum value
14053	DeploymentStatusNotEligible = "NOT_ELIGIBLE"
14054
14055	// DeploymentStatusEligible is a DeploymentStatus enum value
14056	DeploymentStatusEligible = "ELIGIBLE"
14057)
14058
14059// DeploymentStatus_Values returns all elements of the DeploymentStatus enum
14060func DeploymentStatus_Values() []string {
14061	return []string{
14062		DeploymentStatusPendingUpdate,
14063		DeploymentStatusInProgress,
14064		DeploymentStatusCompleted,
14065		DeploymentStatusNotEligible,
14066		DeploymentStatusEligible,
14067	}
14068}
14069
14070const (
14071	// DescribePackagesFilterNamePackageId is a DescribePackagesFilterName enum value
14072	DescribePackagesFilterNamePackageId = "PackageID"
14073
14074	// DescribePackagesFilterNamePackageName is a DescribePackagesFilterName enum value
14075	DescribePackagesFilterNamePackageName = "PackageName"
14076
14077	// DescribePackagesFilterNamePackageStatus is a DescribePackagesFilterName enum value
14078	DescribePackagesFilterNamePackageStatus = "PackageStatus"
14079)
14080
14081// DescribePackagesFilterName_Values returns all elements of the DescribePackagesFilterName enum
14082func DescribePackagesFilterName_Values() []string {
14083	return []string{
14084		DescribePackagesFilterNamePackageId,
14085		DescribePackagesFilterNamePackageName,
14086		DescribePackagesFilterNamePackageStatus,
14087	}
14088}
14089
14090const (
14091	// DomainPackageStatusAssociating is a DomainPackageStatus enum value
14092	DomainPackageStatusAssociating = "ASSOCIATING"
14093
14094	// DomainPackageStatusAssociationFailed is a DomainPackageStatus enum value
14095	DomainPackageStatusAssociationFailed = "ASSOCIATION_FAILED"
14096
14097	// DomainPackageStatusActive is a DomainPackageStatus enum value
14098	DomainPackageStatusActive = "ACTIVE"
14099
14100	// DomainPackageStatusDissociating is a DomainPackageStatus enum value
14101	DomainPackageStatusDissociating = "DISSOCIATING"
14102
14103	// DomainPackageStatusDissociationFailed is a DomainPackageStatus enum value
14104	DomainPackageStatusDissociationFailed = "DISSOCIATION_FAILED"
14105)
14106
14107// DomainPackageStatus_Values returns all elements of the DomainPackageStatus enum
14108func DomainPackageStatus_Values() []string {
14109	return []string{
14110		DomainPackageStatusAssociating,
14111		DomainPackageStatusAssociationFailed,
14112		DomainPackageStatusActive,
14113		DomainPackageStatusDissociating,
14114		DomainPackageStatusDissociationFailed,
14115	}
14116}
14117
14118const (
14119	// ESPartitionInstanceTypeM3MediumElasticsearch is a ESPartitionInstanceType enum value
14120	ESPartitionInstanceTypeM3MediumElasticsearch = "m3.medium.elasticsearch"
14121
14122	// ESPartitionInstanceTypeM3LargeElasticsearch is a ESPartitionInstanceType enum value
14123	ESPartitionInstanceTypeM3LargeElasticsearch = "m3.large.elasticsearch"
14124
14125	// ESPartitionInstanceTypeM3XlargeElasticsearch is a ESPartitionInstanceType enum value
14126	ESPartitionInstanceTypeM3XlargeElasticsearch = "m3.xlarge.elasticsearch"
14127
14128	// ESPartitionInstanceTypeM32xlargeElasticsearch is a ESPartitionInstanceType enum value
14129	ESPartitionInstanceTypeM32xlargeElasticsearch = "m3.2xlarge.elasticsearch"
14130
14131	// ESPartitionInstanceTypeM4LargeElasticsearch is a ESPartitionInstanceType enum value
14132	ESPartitionInstanceTypeM4LargeElasticsearch = "m4.large.elasticsearch"
14133
14134	// ESPartitionInstanceTypeM4XlargeElasticsearch is a ESPartitionInstanceType enum value
14135	ESPartitionInstanceTypeM4XlargeElasticsearch = "m4.xlarge.elasticsearch"
14136
14137	// ESPartitionInstanceTypeM42xlargeElasticsearch is a ESPartitionInstanceType enum value
14138	ESPartitionInstanceTypeM42xlargeElasticsearch = "m4.2xlarge.elasticsearch"
14139
14140	// ESPartitionInstanceTypeM44xlargeElasticsearch is a ESPartitionInstanceType enum value
14141	ESPartitionInstanceTypeM44xlargeElasticsearch = "m4.4xlarge.elasticsearch"
14142
14143	// ESPartitionInstanceTypeM410xlargeElasticsearch is a ESPartitionInstanceType enum value
14144	ESPartitionInstanceTypeM410xlargeElasticsearch = "m4.10xlarge.elasticsearch"
14145
14146	// ESPartitionInstanceTypeM5LargeElasticsearch is a ESPartitionInstanceType enum value
14147	ESPartitionInstanceTypeM5LargeElasticsearch = "m5.large.elasticsearch"
14148
14149	// ESPartitionInstanceTypeM5XlargeElasticsearch is a ESPartitionInstanceType enum value
14150	ESPartitionInstanceTypeM5XlargeElasticsearch = "m5.xlarge.elasticsearch"
14151
14152	// ESPartitionInstanceTypeM52xlargeElasticsearch is a ESPartitionInstanceType enum value
14153	ESPartitionInstanceTypeM52xlargeElasticsearch = "m5.2xlarge.elasticsearch"
14154
14155	// ESPartitionInstanceTypeM54xlargeElasticsearch is a ESPartitionInstanceType enum value
14156	ESPartitionInstanceTypeM54xlargeElasticsearch = "m5.4xlarge.elasticsearch"
14157
14158	// ESPartitionInstanceTypeM512xlargeElasticsearch is a ESPartitionInstanceType enum value
14159	ESPartitionInstanceTypeM512xlargeElasticsearch = "m5.12xlarge.elasticsearch"
14160
14161	// ESPartitionInstanceTypeR5LargeElasticsearch is a ESPartitionInstanceType enum value
14162	ESPartitionInstanceTypeR5LargeElasticsearch = "r5.large.elasticsearch"
14163
14164	// ESPartitionInstanceTypeR5XlargeElasticsearch is a ESPartitionInstanceType enum value
14165	ESPartitionInstanceTypeR5XlargeElasticsearch = "r5.xlarge.elasticsearch"
14166
14167	// ESPartitionInstanceTypeR52xlargeElasticsearch is a ESPartitionInstanceType enum value
14168	ESPartitionInstanceTypeR52xlargeElasticsearch = "r5.2xlarge.elasticsearch"
14169
14170	// ESPartitionInstanceTypeR54xlargeElasticsearch is a ESPartitionInstanceType enum value
14171	ESPartitionInstanceTypeR54xlargeElasticsearch = "r5.4xlarge.elasticsearch"
14172
14173	// ESPartitionInstanceTypeR512xlargeElasticsearch is a ESPartitionInstanceType enum value
14174	ESPartitionInstanceTypeR512xlargeElasticsearch = "r5.12xlarge.elasticsearch"
14175
14176	// ESPartitionInstanceTypeC5LargeElasticsearch is a ESPartitionInstanceType enum value
14177	ESPartitionInstanceTypeC5LargeElasticsearch = "c5.large.elasticsearch"
14178
14179	// ESPartitionInstanceTypeC5XlargeElasticsearch is a ESPartitionInstanceType enum value
14180	ESPartitionInstanceTypeC5XlargeElasticsearch = "c5.xlarge.elasticsearch"
14181
14182	// ESPartitionInstanceTypeC52xlargeElasticsearch is a ESPartitionInstanceType enum value
14183	ESPartitionInstanceTypeC52xlargeElasticsearch = "c5.2xlarge.elasticsearch"
14184
14185	// ESPartitionInstanceTypeC54xlargeElasticsearch is a ESPartitionInstanceType enum value
14186	ESPartitionInstanceTypeC54xlargeElasticsearch = "c5.4xlarge.elasticsearch"
14187
14188	// ESPartitionInstanceTypeC59xlargeElasticsearch is a ESPartitionInstanceType enum value
14189	ESPartitionInstanceTypeC59xlargeElasticsearch = "c5.9xlarge.elasticsearch"
14190
14191	// ESPartitionInstanceTypeC518xlargeElasticsearch is a ESPartitionInstanceType enum value
14192	ESPartitionInstanceTypeC518xlargeElasticsearch = "c5.18xlarge.elasticsearch"
14193
14194	// ESPartitionInstanceTypeUltrawarm1MediumElasticsearch is a ESPartitionInstanceType enum value
14195	ESPartitionInstanceTypeUltrawarm1MediumElasticsearch = "ultrawarm1.medium.elasticsearch"
14196
14197	// ESPartitionInstanceTypeUltrawarm1LargeElasticsearch is a ESPartitionInstanceType enum value
14198	ESPartitionInstanceTypeUltrawarm1LargeElasticsearch = "ultrawarm1.large.elasticsearch"
14199
14200	// ESPartitionInstanceTypeT2MicroElasticsearch is a ESPartitionInstanceType enum value
14201	ESPartitionInstanceTypeT2MicroElasticsearch = "t2.micro.elasticsearch"
14202
14203	// ESPartitionInstanceTypeT2SmallElasticsearch is a ESPartitionInstanceType enum value
14204	ESPartitionInstanceTypeT2SmallElasticsearch = "t2.small.elasticsearch"
14205
14206	// ESPartitionInstanceTypeT2MediumElasticsearch is a ESPartitionInstanceType enum value
14207	ESPartitionInstanceTypeT2MediumElasticsearch = "t2.medium.elasticsearch"
14208
14209	// ESPartitionInstanceTypeR3LargeElasticsearch is a ESPartitionInstanceType enum value
14210	ESPartitionInstanceTypeR3LargeElasticsearch = "r3.large.elasticsearch"
14211
14212	// ESPartitionInstanceTypeR3XlargeElasticsearch is a ESPartitionInstanceType enum value
14213	ESPartitionInstanceTypeR3XlargeElasticsearch = "r3.xlarge.elasticsearch"
14214
14215	// ESPartitionInstanceTypeR32xlargeElasticsearch is a ESPartitionInstanceType enum value
14216	ESPartitionInstanceTypeR32xlargeElasticsearch = "r3.2xlarge.elasticsearch"
14217
14218	// ESPartitionInstanceTypeR34xlargeElasticsearch is a ESPartitionInstanceType enum value
14219	ESPartitionInstanceTypeR34xlargeElasticsearch = "r3.4xlarge.elasticsearch"
14220
14221	// ESPartitionInstanceTypeR38xlargeElasticsearch is a ESPartitionInstanceType enum value
14222	ESPartitionInstanceTypeR38xlargeElasticsearch = "r3.8xlarge.elasticsearch"
14223
14224	// ESPartitionInstanceTypeI2XlargeElasticsearch is a ESPartitionInstanceType enum value
14225	ESPartitionInstanceTypeI2XlargeElasticsearch = "i2.xlarge.elasticsearch"
14226
14227	// ESPartitionInstanceTypeI22xlargeElasticsearch is a ESPartitionInstanceType enum value
14228	ESPartitionInstanceTypeI22xlargeElasticsearch = "i2.2xlarge.elasticsearch"
14229
14230	// ESPartitionInstanceTypeD2XlargeElasticsearch is a ESPartitionInstanceType enum value
14231	ESPartitionInstanceTypeD2XlargeElasticsearch = "d2.xlarge.elasticsearch"
14232
14233	// ESPartitionInstanceTypeD22xlargeElasticsearch is a ESPartitionInstanceType enum value
14234	ESPartitionInstanceTypeD22xlargeElasticsearch = "d2.2xlarge.elasticsearch"
14235
14236	// ESPartitionInstanceTypeD24xlargeElasticsearch is a ESPartitionInstanceType enum value
14237	ESPartitionInstanceTypeD24xlargeElasticsearch = "d2.4xlarge.elasticsearch"
14238
14239	// ESPartitionInstanceTypeD28xlargeElasticsearch is a ESPartitionInstanceType enum value
14240	ESPartitionInstanceTypeD28xlargeElasticsearch = "d2.8xlarge.elasticsearch"
14241
14242	// ESPartitionInstanceTypeC4LargeElasticsearch is a ESPartitionInstanceType enum value
14243	ESPartitionInstanceTypeC4LargeElasticsearch = "c4.large.elasticsearch"
14244
14245	// ESPartitionInstanceTypeC4XlargeElasticsearch is a ESPartitionInstanceType enum value
14246	ESPartitionInstanceTypeC4XlargeElasticsearch = "c4.xlarge.elasticsearch"
14247
14248	// ESPartitionInstanceTypeC42xlargeElasticsearch is a ESPartitionInstanceType enum value
14249	ESPartitionInstanceTypeC42xlargeElasticsearch = "c4.2xlarge.elasticsearch"
14250
14251	// ESPartitionInstanceTypeC44xlargeElasticsearch is a ESPartitionInstanceType enum value
14252	ESPartitionInstanceTypeC44xlargeElasticsearch = "c4.4xlarge.elasticsearch"
14253
14254	// ESPartitionInstanceTypeC48xlargeElasticsearch is a ESPartitionInstanceType enum value
14255	ESPartitionInstanceTypeC48xlargeElasticsearch = "c4.8xlarge.elasticsearch"
14256
14257	// ESPartitionInstanceTypeR4LargeElasticsearch is a ESPartitionInstanceType enum value
14258	ESPartitionInstanceTypeR4LargeElasticsearch = "r4.large.elasticsearch"
14259
14260	// ESPartitionInstanceTypeR4XlargeElasticsearch is a ESPartitionInstanceType enum value
14261	ESPartitionInstanceTypeR4XlargeElasticsearch = "r4.xlarge.elasticsearch"
14262
14263	// ESPartitionInstanceTypeR42xlargeElasticsearch is a ESPartitionInstanceType enum value
14264	ESPartitionInstanceTypeR42xlargeElasticsearch = "r4.2xlarge.elasticsearch"
14265
14266	// ESPartitionInstanceTypeR44xlargeElasticsearch is a ESPartitionInstanceType enum value
14267	ESPartitionInstanceTypeR44xlargeElasticsearch = "r4.4xlarge.elasticsearch"
14268
14269	// ESPartitionInstanceTypeR48xlargeElasticsearch is a ESPartitionInstanceType enum value
14270	ESPartitionInstanceTypeR48xlargeElasticsearch = "r4.8xlarge.elasticsearch"
14271
14272	// ESPartitionInstanceTypeR416xlargeElasticsearch is a ESPartitionInstanceType enum value
14273	ESPartitionInstanceTypeR416xlargeElasticsearch = "r4.16xlarge.elasticsearch"
14274
14275	// ESPartitionInstanceTypeI3LargeElasticsearch is a ESPartitionInstanceType enum value
14276	ESPartitionInstanceTypeI3LargeElasticsearch = "i3.large.elasticsearch"
14277
14278	// ESPartitionInstanceTypeI3XlargeElasticsearch is a ESPartitionInstanceType enum value
14279	ESPartitionInstanceTypeI3XlargeElasticsearch = "i3.xlarge.elasticsearch"
14280
14281	// ESPartitionInstanceTypeI32xlargeElasticsearch is a ESPartitionInstanceType enum value
14282	ESPartitionInstanceTypeI32xlargeElasticsearch = "i3.2xlarge.elasticsearch"
14283
14284	// ESPartitionInstanceTypeI34xlargeElasticsearch is a ESPartitionInstanceType enum value
14285	ESPartitionInstanceTypeI34xlargeElasticsearch = "i3.4xlarge.elasticsearch"
14286
14287	// ESPartitionInstanceTypeI38xlargeElasticsearch is a ESPartitionInstanceType enum value
14288	ESPartitionInstanceTypeI38xlargeElasticsearch = "i3.8xlarge.elasticsearch"
14289
14290	// ESPartitionInstanceTypeI316xlargeElasticsearch is a ESPartitionInstanceType enum value
14291	ESPartitionInstanceTypeI316xlargeElasticsearch = "i3.16xlarge.elasticsearch"
14292)
14293
14294// ESPartitionInstanceType_Values returns all elements of the ESPartitionInstanceType enum
14295func ESPartitionInstanceType_Values() []string {
14296	return []string{
14297		ESPartitionInstanceTypeM3MediumElasticsearch,
14298		ESPartitionInstanceTypeM3LargeElasticsearch,
14299		ESPartitionInstanceTypeM3XlargeElasticsearch,
14300		ESPartitionInstanceTypeM32xlargeElasticsearch,
14301		ESPartitionInstanceTypeM4LargeElasticsearch,
14302		ESPartitionInstanceTypeM4XlargeElasticsearch,
14303		ESPartitionInstanceTypeM42xlargeElasticsearch,
14304		ESPartitionInstanceTypeM44xlargeElasticsearch,
14305		ESPartitionInstanceTypeM410xlargeElasticsearch,
14306		ESPartitionInstanceTypeM5LargeElasticsearch,
14307		ESPartitionInstanceTypeM5XlargeElasticsearch,
14308		ESPartitionInstanceTypeM52xlargeElasticsearch,
14309		ESPartitionInstanceTypeM54xlargeElasticsearch,
14310		ESPartitionInstanceTypeM512xlargeElasticsearch,
14311		ESPartitionInstanceTypeR5LargeElasticsearch,
14312		ESPartitionInstanceTypeR5XlargeElasticsearch,
14313		ESPartitionInstanceTypeR52xlargeElasticsearch,
14314		ESPartitionInstanceTypeR54xlargeElasticsearch,
14315		ESPartitionInstanceTypeR512xlargeElasticsearch,
14316		ESPartitionInstanceTypeC5LargeElasticsearch,
14317		ESPartitionInstanceTypeC5XlargeElasticsearch,
14318		ESPartitionInstanceTypeC52xlargeElasticsearch,
14319		ESPartitionInstanceTypeC54xlargeElasticsearch,
14320		ESPartitionInstanceTypeC59xlargeElasticsearch,
14321		ESPartitionInstanceTypeC518xlargeElasticsearch,
14322		ESPartitionInstanceTypeUltrawarm1MediumElasticsearch,
14323		ESPartitionInstanceTypeUltrawarm1LargeElasticsearch,
14324		ESPartitionInstanceTypeT2MicroElasticsearch,
14325		ESPartitionInstanceTypeT2SmallElasticsearch,
14326		ESPartitionInstanceTypeT2MediumElasticsearch,
14327		ESPartitionInstanceTypeR3LargeElasticsearch,
14328		ESPartitionInstanceTypeR3XlargeElasticsearch,
14329		ESPartitionInstanceTypeR32xlargeElasticsearch,
14330		ESPartitionInstanceTypeR34xlargeElasticsearch,
14331		ESPartitionInstanceTypeR38xlargeElasticsearch,
14332		ESPartitionInstanceTypeI2XlargeElasticsearch,
14333		ESPartitionInstanceTypeI22xlargeElasticsearch,
14334		ESPartitionInstanceTypeD2XlargeElasticsearch,
14335		ESPartitionInstanceTypeD22xlargeElasticsearch,
14336		ESPartitionInstanceTypeD24xlargeElasticsearch,
14337		ESPartitionInstanceTypeD28xlargeElasticsearch,
14338		ESPartitionInstanceTypeC4LargeElasticsearch,
14339		ESPartitionInstanceTypeC4XlargeElasticsearch,
14340		ESPartitionInstanceTypeC42xlargeElasticsearch,
14341		ESPartitionInstanceTypeC44xlargeElasticsearch,
14342		ESPartitionInstanceTypeC48xlargeElasticsearch,
14343		ESPartitionInstanceTypeR4LargeElasticsearch,
14344		ESPartitionInstanceTypeR4XlargeElasticsearch,
14345		ESPartitionInstanceTypeR42xlargeElasticsearch,
14346		ESPartitionInstanceTypeR44xlargeElasticsearch,
14347		ESPartitionInstanceTypeR48xlargeElasticsearch,
14348		ESPartitionInstanceTypeR416xlargeElasticsearch,
14349		ESPartitionInstanceTypeI3LargeElasticsearch,
14350		ESPartitionInstanceTypeI3XlargeElasticsearch,
14351		ESPartitionInstanceTypeI32xlargeElasticsearch,
14352		ESPartitionInstanceTypeI34xlargeElasticsearch,
14353		ESPartitionInstanceTypeI38xlargeElasticsearch,
14354		ESPartitionInstanceTypeI316xlargeElasticsearch,
14355	}
14356}
14357
14358const (
14359	// ESWarmPartitionInstanceTypeUltrawarm1MediumElasticsearch is a ESWarmPartitionInstanceType enum value
14360	ESWarmPartitionInstanceTypeUltrawarm1MediumElasticsearch = "ultrawarm1.medium.elasticsearch"
14361
14362	// ESWarmPartitionInstanceTypeUltrawarm1LargeElasticsearch is a ESWarmPartitionInstanceType enum value
14363	ESWarmPartitionInstanceTypeUltrawarm1LargeElasticsearch = "ultrawarm1.large.elasticsearch"
14364)
14365
14366// ESWarmPartitionInstanceType_Values returns all elements of the ESWarmPartitionInstanceType enum
14367func ESWarmPartitionInstanceType_Values() []string {
14368	return []string{
14369		ESWarmPartitionInstanceTypeUltrawarm1MediumElasticsearch,
14370		ESWarmPartitionInstanceTypeUltrawarm1LargeElasticsearch,
14371	}
14372}
14373
14374const (
14375	// EngineTypeOpenSearch is a EngineType enum value
14376	EngineTypeOpenSearch = "OpenSearch"
14377
14378	// EngineTypeElasticsearch is a EngineType enum value
14379	EngineTypeElasticsearch = "Elasticsearch"
14380)
14381
14382// EngineType_Values returns all elements of the EngineType enum
14383func EngineType_Values() []string {
14384	return []string{
14385		EngineTypeOpenSearch,
14386		EngineTypeElasticsearch,
14387	}
14388}
14389
14390const (
14391	// InboundCrossClusterSearchConnectionStatusCodePendingAcceptance is a InboundCrossClusterSearchConnectionStatusCode enum value
14392	InboundCrossClusterSearchConnectionStatusCodePendingAcceptance = "PENDING_ACCEPTANCE"
14393
14394	// InboundCrossClusterSearchConnectionStatusCodeApproved is a InboundCrossClusterSearchConnectionStatusCode enum value
14395	InboundCrossClusterSearchConnectionStatusCodeApproved = "APPROVED"
14396
14397	// InboundCrossClusterSearchConnectionStatusCodeRejecting is a InboundCrossClusterSearchConnectionStatusCode enum value
14398	InboundCrossClusterSearchConnectionStatusCodeRejecting = "REJECTING"
14399
14400	// InboundCrossClusterSearchConnectionStatusCodeRejected is a InboundCrossClusterSearchConnectionStatusCode enum value
14401	InboundCrossClusterSearchConnectionStatusCodeRejected = "REJECTED"
14402
14403	// InboundCrossClusterSearchConnectionStatusCodeDeleting is a InboundCrossClusterSearchConnectionStatusCode enum value
14404	InboundCrossClusterSearchConnectionStatusCodeDeleting = "DELETING"
14405
14406	// InboundCrossClusterSearchConnectionStatusCodeDeleted is a InboundCrossClusterSearchConnectionStatusCode enum value
14407	InboundCrossClusterSearchConnectionStatusCodeDeleted = "DELETED"
14408)
14409
14410// InboundCrossClusterSearchConnectionStatusCode_Values returns all elements of the InboundCrossClusterSearchConnectionStatusCode enum
14411func InboundCrossClusterSearchConnectionStatusCode_Values() []string {
14412	return []string{
14413		InboundCrossClusterSearchConnectionStatusCodePendingAcceptance,
14414		InboundCrossClusterSearchConnectionStatusCodeApproved,
14415		InboundCrossClusterSearchConnectionStatusCodeRejecting,
14416		InboundCrossClusterSearchConnectionStatusCodeRejected,
14417		InboundCrossClusterSearchConnectionStatusCodeDeleting,
14418		InboundCrossClusterSearchConnectionStatusCodeDeleted,
14419	}
14420}
14421
14422// Type of Log File, it can be one of the following:
14423//    * INDEX_SLOW_LOGS: Index slow logs contain insert requests that took more
14424//    time than configured index query log threshold to execute.
14425//
14426//    * SEARCH_SLOW_LOGS: Search slow logs contain search queries that took
14427//    more time than configured search query log threshold to execute.
14428//
14429//    * ES_APPLICATION_LOGS: Elasticsearch application logs contain information
14430//    about errors and warnings raised during the operation of the service and
14431//    can be useful for troubleshooting.
14432//
14433//    * AUDIT_LOGS: Audit logs contain records of user requests for access from
14434//    the domain.
14435const (
14436	// LogTypeIndexSlowLogs is a LogType enum value
14437	LogTypeIndexSlowLogs = "INDEX_SLOW_LOGS"
14438
14439	// LogTypeSearchSlowLogs is a LogType enum value
14440	LogTypeSearchSlowLogs = "SEARCH_SLOW_LOGS"
14441
14442	// LogTypeEsApplicationLogs is a LogType enum value
14443	LogTypeEsApplicationLogs = "ES_APPLICATION_LOGS"
14444
14445	// LogTypeAuditLogs is a LogType enum value
14446	LogTypeAuditLogs = "AUDIT_LOGS"
14447)
14448
14449// LogType_Values returns all elements of the LogType enum
14450func LogType_Values() []string {
14451	return []string{
14452		LogTypeIndexSlowLogs,
14453		LogTypeSearchSlowLogs,
14454		LogTypeEsApplicationLogs,
14455		LogTypeAuditLogs,
14456	}
14457}
14458
14459// The state of a requested change. One of the following:
14460//
14461//    * Processing: The request change is still in-process.
14462//
14463//    * Active: The request change is processed and deployed to the Elasticsearch
14464//    domain.
14465const (
14466	// OptionStateRequiresIndexDocuments is a OptionState enum value
14467	OptionStateRequiresIndexDocuments = "RequiresIndexDocuments"
14468
14469	// OptionStateProcessing is a OptionState enum value
14470	OptionStateProcessing = "Processing"
14471
14472	// OptionStateActive is a OptionState enum value
14473	OptionStateActive = "Active"
14474)
14475
14476// OptionState_Values returns all elements of the OptionState enum
14477func OptionState_Values() []string {
14478	return []string{
14479		OptionStateRequiresIndexDocuments,
14480		OptionStateProcessing,
14481		OptionStateActive,
14482	}
14483}
14484
14485const (
14486	// OutboundCrossClusterSearchConnectionStatusCodePendingAcceptance is a OutboundCrossClusterSearchConnectionStatusCode enum value
14487	OutboundCrossClusterSearchConnectionStatusCodePendingAcceptance = "PENDING_ACCEPTANCE"
14488
14489	// OutboundCrossClusterSearchConnectionStatusCodeValidating is a OutboundCrossClusterSearchConnectionStatusCode enum value
14490	OutboundCrossClusterSearchConnectionStatusCodeValidating = "VALIDATING"
14491
14492	// OutboundCrossClusterSearchConnectionStatusCodeValidationFailed is a OutboundCrossClusterSearchConnectionStatusCode enum value
14493	OutboundCrossClusterSearchConnectionStatusCodeValidationFailed = "VALIDATION_FAILED"
14494
14495	// OutboundCrossClusterSearchConnectionStatusCodeProvisioning is a OutboundCrossClusterSearchConnectionStatusCode enum value
14496	OutboundCrossClusterSearchConnectionStatusCodeProvisioning = "PROVISIONING"
14497
14498	// OutboundCrossClusterSearchConnectionStatusCodeActive is a OutboundCrossClusterSearchConnectionStatusCode enum value
14499	OutboundCrossClusterSearchConnectionStatusCodeActive = "ACTIVE"
14500
14501	// OutboundCrossClusterSearchConnectionStatusCodeRejected is a OutboundCrossClusterSearchConnectionStatusCode enum value
14502	OutboundCrossClusterSearchConnectionStatusCodeRejected = "REJECTED"
14503
14504	// OutboundCrossClusterSearchConnectionStatusCodeDeleting is a OutboundCrossClusterSearchConnectionStatusCode enum value
14505	OutboundCrossClusterSearchConnectionStatusCodeDeleting = "DELETING"
14506
14507	// OutboundCrossClusterSearchConnectionStatusCodeDeleted is a OutboundCrossClusterSearchConnectionStatusCode enum value
14508	OutboundCrossClusterSearchConnectionStatusCodeDeleted = "DELETED"
14509)
14510
14511// OutboundCrossClusterSearchConnectionStatusCode_Values returns all elements of the OutboundCrossClusterSearchConnectionStatusCode enum
14512func OutboundCrossClusterSearchConnectionStatusCode_Values() []string {
14513	return []string{
14514		OutboundCrossClusterSearchConnectionStatusCodePendingAcceptance,
14515		OutboundCrossClusterSearchConnectionStatusCodeValidating,
14516		OutboundCrossClusterSearchConnectionStatusCodeValidationFailed,
14517		OutboundCrossClusterSearchConnectionStatusCodeProvisioning,
14518		OutboundCrossClusterSearchConnectionStatusCodeActive,
14519		OutboundCrossClusterSearchConnectionStatusCodeRejected,
14520		OutboundCrossClusterSearchConnectionStatusCodeDeleting,
14521		OutboundCrossClusterSearchConnectionStatusCodeDeleted,
14522	}
14523}
14524
14525const (
14526	// PackageStatusCopying is a PackageStatus enum value
14527	PackageStatusCopying = "COPYING"
14528
14529	// PackageStatusCopyFailed is a PackageStatus enum value
14530	PackageStatusCopyFailed = "COPY_FAILED"
14531
14532	// PackageStatusValidating is a PackageStatus enum value
14533	PackageStatusValidating = "VALIDATING"
14534
14535	// PackageStatusValidationFailed is a PackageStatus enum value
14536	PackageStatusValidationFailed = "VALIDATION_FAILED"
14537
14538	// PackageStatusAvailable is a PackageStatus enum value
14539	PackageStatusAvailable = "AVAILABLE"
14540
14541	// PackageStatusDeleting is a PackageStatus enum value
14542	PackageStatusDeleting = "DELETING"
14543
14544	// PackageStatusDeleted is a PackageStatus enum value
14545	PackageStatusDeleted = "DELETED"
14546
14547	// PackageStatusDeleteFailed is a PackageStatus enum value
14548	PackageStatusDeleteFailed = "DELETE_FAILED"
14549)
14550
14551// PackageStatus_Values returns all elements of the PackageStatus enum
14552func PackageStatus_Values() []string {
14553	return []string{
14554		PackageStatusCopying,
14555		PackageStatusCopyFailed,
14556		PackageStatusValidating,
14557		PackageStatusValidationFailed,
14558		PackageStatusAvailable,
14559		PackageStatusDeleting,
14560		PackageStatusDeleted,
14561		PackageStatusDeleteFailed,
14562	}
14563}
14564
14565const (
14566	// PackageTypeTxtDictionary is a PackageType enum value
14567	PackageTypeTxtDictionary = "TXT-DICTIONARY"
14568)
14569
14570// PackageType_Values returns all elements of the PackageType enum
14571func PackageType_Values() []string {
14572	return []string{
14573		PackageTypeTxtDictionary,
14574	}
14575}
14576
14577const (
14578	// ReservedElasticsearchInstancePaymentOptionAllUpfront is a ReservedElasticsearchInstancePaymentOption enum value
14579	ReservedElasticsearchInstancePaymentOptionAllUpfront = "ALL_UPFRONT"
14580
14581	// ReservedElasticsearchInstancePaymentOptionPartialUpfront is a ReservedElasticsearchInstancePaymentOption enum value
14582	ReservedElasticsearchInstancePaymentOptionPartialUpfront = "PARTIAL_UPFRONT"
14583
14584	// ReservedElasticsearchInstancePaymentOptionNoUpfront is a ReservedElasticsearchInstancePaymentOption enum value
14585	ReservedElasticsearchInstancePaymentOptionNoUpfront = "NO_UPFRONT"
14586)
14587
14588// ReservedElasticsearchInstancePaymentOption_Values returns all elements of the ReservedElasticsearchInstancePaymentOption enum
14589func ReservedElasticsearchInstancePaymentOption_Values() []string {
14590	return []string{
14591		ReservedElasticsearchInstancePaymentOptionAllUpfront,
14592		ReservedElasticsearchInstancePaymentOptionPartialUpfront,
14593		ReservedElasticsearchInstancePaymentOptionNoUpfront,
14594	}
14595}
14596
14597// Specifies the rollback state while disabling Auto-Tune for the domain. Valid
14598// values are NO_ROLLBACK, DEFAULT_ROLLBACK.
14599const (
14600	// RollbackOnDisableNoRollback is a RollbackOnDisable enum value
14601	RollbackOnDisableNoRollback = "NO_ROLLBACK"
14602
14603	// RollbackOnDisableDefaultRollback is a RollbackOnDisable enum value
14604	RollbackOnDisableDefaultRollback = "DEFAULT_ROLLBACK"
14605)
14606
14607// RollbackOnDisable_Values returns all elements of the RollbackOnDisable enum
14608func RollbackOnDisable_Values() []string {
14609	return []string{
14610		RollbackOnDisableNoRollback,
14611		RollbackOnDisableDefaultRollback,
14612	}
14613}
14614
14615// Specifies Auto-Tune action type. Valid values are JVM_HEAP_SIZE_TUNING and
14616// JVM_YOUNG_GEN_TUNING.
14617const (
14618	// ScheduledAutoTuneActionTypeJvmHeapSizeTuning is a ScheduledAutoTuneActionType enum value
14619	ScheduledAutoTuneActionTypeJvmHeapSizeTuning = "JVM_HEAP_SIZE_TUNING"
14620
14621	// ScheduledAutoTuneActionTypeJvmYoungGenTuning is a ScheduledAutoTuneActionType enum value
14622	ScheduledAutoTuneActionTypeJvmYoungGenTuning = "JVM_YOUNG_GEN_TUNING"
14623)
14624
14625// ScheduledAutoTuneActionType_Values returns all elements of the ScheduledAutoTuneActionType enum
14626func ScheduledAutoTuneActionType_Values() []string {
14627	return []string{
14628		ScheduledAutoTuneActionTypeJvmHeapSizeTuning,
14629		ScheduledAutoTuneActionTypeJvmYoungGenTuning,
14630	}
14631}
14632
14633// Specifies Auto-Tune action severity. Valid values are LOW, MEDIUM and HIGH.
14634const (
14635	// ScheduledAutoTuneSeverityTypeLow is a ScheduledAutoTuneSeverityType enum value
14636	ScheduledAutoTuneSeverityTypeLow = "LOW"
14637
14638	// ScheduledAutoTuneSeverityTypeMedium is a ScheduledAutoTuneSeverityType enum value
14639	ScheduledAutoTuneSeverityTypeMedium = "MEDIUM"
14640
14641	// ScheduledAutoTuneSeverityTypeHigh is a ScheduledAutoTuneSeverityType enum value
14642	ScheduledAutoTuneSeverityTypeHigh = "HIGH"
14643)
14644
14645// ScheduledAutoTuneSeverityType_Values returns all elements of the ScheduledAutoTuneSeverityType enum
14646func ScheduledAutoTuneSeverityType_Values() []string {
14647	return []string{
14648		ScheduledAutoTuneSeverityTypeLow,
14649		ScheduledAutoTuneSeverityTypeMedium,
14650		ScheduledAutoTuneSeverityTypeHigh,
14651	}
14652}
14653
14654const (
14655	// TLSSecurityPolicyPolicyMinTls10201907 is a TLSSecurityPolicy enum value
14656	TLSSecurityPolicyPolicyMinTls10201907 = "Policy-Min-TLS-1-0-2019-07"
14657
14658	// TLSSecurityPolicyPolicyMinTls12201907 is a TLSSecurityPolicy enum value
14659	TLSSecurityPolicyPolicyMinTls12201907 = "Policy-Min-TLS-1-2-2019-07"
14660)
14661
14662// TLSSecurityPolicy_Values returns all elements of the TLSSecurityPolicy enum
14663func TLSSecurityPolicy_Values() []string {
14664	return []string{
14665		TLSSecurityPolicyPolicyMinTls10201907,
14666		TLSSecurityPolicyPolicyMinTls12201907,
14667	}
14668}
14669
14670// Specifies the unit of a maintenance schedule duration. Valid value is HOUR.
14671// See the Developer Guide (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/auto-tune.html)
14672// for more information.
14673const (
14674	// TimeUnitHours is a TimeUnit enum value
14675	TimeUnitHours = "HOURS"
14676)
14677
14678// TimeUnit_Values returns all elements of the TimeUnit enum
14679func TimeUnit_Values() []string {
14680	return []string{
14681		TimeUnitHours,
14682	}
14683}
14684
14685const (
14686	// UpgradeStatusInProgress is a UpgradeStatus enum value
14687	UpgradeStatusInProgress = "IN_PROGRESS"
14688
14689	// UpgradeStatusSucceeded is a UpgradeStatus enum value
14690	UpgradeStatusSucceeded = "SUCCEEDED"
14691
14692	// UpgradeStatusSucceededWithIssues is a UpgradeStatus enum value
14693	UpgradeStatusSucceededWithIssues = "SUCCEEDED_WITH_ISSUES"
14694
14695	// UpgradeStatusFailed is a UpgradeStatus enum value
14696	UpgradeStatusFailed = "FAILED"
14697)
14698
14699// UpgradeStatus_Values returns all elements of the UpgradeStatus enum
14700func UpgradeStatus_Values() []string {
14701	return []string{
14702		UpgradeStatusInProgress,
14703		UpgradeStatusSucceeded,
14704		UpgradeStatusSucceededWithIssues,
14705		UpgradeStatusFailed,
14706	}
14707}
14708
14709const (
14710	// UpgradeStepPreUpgradeCheck is a UpgradeStep enum value
14711	UpgradeStepPreUpgradeCheck = "PRE_UPGRADE_CHECK"
14712
14713	// UpgradeStepSnapshot is a UpgradeStep enum value
14714	UpgradeStepSnapshot = "SNAPSHOT"
14715
14716	// UpgradeStepUpgrade is a UpgradeStep enum value
14717	UpgradeStepUpgrade = "UPGRADE"
14718)
14719
14720// UpgradeStep_Values returns all elements of the UpgradeStep enum
14721func UpgradeStep_Values() []string {
14722	return []string{
14723		UpgradeStepPreUpgradeCheck,
14724		UpgradeStepSnapshot,
14725		UpgradeStepUpgrade,
14726	}
14727}
14728
14729// The type of EBS volume, standard, gp2, or io1. See Configuring EBS-based
14730// Storage (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomain-configure-ebs)for
14731// more information.
14732const (
14733	// VolumeTypeStandard is a VolumeType enum value
14734	VolumeTypeStandard = "standard"
14735
14736	// VolumeTypeGp2 is a VolumeType enum value
14737	VolumeTypeGp2 = "gp2"
14738
14739	// VolumeTypeIo1 is a VolumeType enum value
14740	VolumeTypeIo1 = "io1"
14741)
14742
14743// VolumeType_Values returns all elements of the VolumeType enum
14744func VolumeType_Values() []string {
14745	return []string{
14746		VolumeTypeStandard,
14747		VolumeTypeGp2,
14748		VolumeTypeIo1,
14749	}
14750}
14751