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"`
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
4375func (s AcceptInboundCrossClusterSearchConnectionInput) String() string {
4376	return awsutil.Prettify(s)
4377}
4378
4379// GoString returns the string representation
4380func (s AcceptInboundCrossClusterSearchConnectionInput) GoString() string {
4381	return s.String()
4382}
4383
4384// Validate inspects the fields of the type to determine if they are valid.
4385func (s *AcceptInboundCrossClusterSearchConnectionInput) Validate() error {
4386	invalidParams := request.ErrInvalidParams{Context: "AcceptInboundCrossClusterSearchConnectionInput"}
4387	if s.CrossClusterSearchConnectionId == nil {
4388		invalidParams.Add(request.NewErrParamRequired("CrossClusterSearchConnectionId"))
4389	}
4390	if s.CrossClusterSearchConnectionId != nil && len(*s.CrossClusterSearchConnectionId) < 1 {
4391		invalidParams.Add(request.NewErrParamMinLen("CrossClusterSearchConnectionId", 1))
4392	}
4393
4394	if invalidParams.Len() > 0 {
4395		return invalidParams
4396	}
4397	return nil
4398}
4399
4400// SetCrossClusterSearchConnectionId sets the CrossClusterSearchConnectionId field's value.
4401func (s *AcceptInboundCrossClusterSearchConnectionInput) SetCrossClusterSearchConnectionId(v string) *AcceptInboundCrossClusterSearchConnectionInput {
4402	s.CrossClusterSearchConnectionId = &v
4403	return s
4404}
4405
4406// The result of a AcceptInboundCrossClusterSearchConnection operation. Contains
4407// details of accepted inbound connection.
4408type AcceptInboundCrossClusterSearchConnectionOutput struct {
4409	_ struct{} `type:"structure"`
4410
4411	// Specifies the InboundCrossClusterSearchConnection of accepted inbound connection.
4412	CrossClusterSearchConnection *InboundCrossClusterSearchConnection `type:"structure"`
4413}
4414
4415// String returns the string representation
4416func (s AcceptInboundCrossClusterSearchConnectionOutput) String() string {
4417	return awsutil.Prettify(s)
4418}
4419
4420// GoString returns the string representation
4421func (s AcceptInboundCrossClusterSearchConnectionOutput) GoString() string {
4422	return s.String()
4423}
4424
4425// SetCrossClusterSearchConnection sets the CrossClusterSearchConnection field's value.
4426func (s *AcceptInboundCrossClusterSearchConnectionOutput) SetCrossClusterSearchConnection(v *InboundCrossClusterSearchConnection) *AcceptInboundCrossClusterSearchConnectionOutput {
4427	s.CrossClusterSearchConnection = v
4428	return s
4429}
4430
4431// An error occurred because user does not have permissions to access the resource.
4432// Returns HTTP status code 403.
4433type AccessDeniedException struct {
4434	_            struct{}                  `type:"structure"`
4435	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4436
4437	Message_ *string `locationName:"message" type:"string"`
4438}
4439
4440// String returns the string representation
4441func (s AccessDeniedException) String() string {
4442	return awsutil.Prettify(s)
4443}
4444
4445// GoString returns the string representation
4446func (s AccessDeniedException) GoString() string {
4447	return s.String()
4448}
4449
4450func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
4451	return &AccessDeniedException{
4452		RespMetadata: v,
4453	}
4454}
4455
4456// Code returns the exception type name.
4457func (s *AccessDeniedException) Code() string {
4458	return "AccessDeniedException"
4459}
4460
4461// Message returns the exception's message.
4462func (s *AccessDeniedException) Message() string {
4463	if s.Message_ != nil {
4464		return *s.Message_
4465	}
4466	return ""
4467}
4468
4469// OrigErr always returns nil, satisfies awserr.Error interface.
4470func (s *AccessDeniedException) OrigErr() error {
4471	return nil
4472}
4473
4474func (s *AccessDeniedException) Error() string {
4475	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4476}
4477
4478// Status code returns the HTTP status code for the request's response error.
4479func (s *AccessDeniedException) StatusCode() int {
4480	return s.RespMetadata.StatusCode
4481}
4482
4483// RequestID returns the service's response RequestID for request.
4484func (s *AccessDeniedException) RequestID() string {
4485	return s.RespMetadata.RequestID
4486}
4487
4488// The configured access rules for the domain's document and search endpoints,
4489// and the current status of those rules.
4490type AccessPoliciesStatus struct {
4491	_ struct{} `type:"structure"`
4492
4493	// The access policy configured for the Elasticsearch domain. Access policies
4494	// may be resource-based, IP-based, or IAM-based. See Configuring Access Policies
4495	// (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomain-configure-access-policies)for
4496	// more information.
4497	//
4498	// Options is a required field
4499	Options *string `type:"string" required:"true"`
4500
4501	// The status of the access policy for the Elasticsearch domain. See OptionStatus
4502	// for the status information that's included.
4503	//
4504	// Status is a required field
4505	Status *OptionStatus `type:"structure" required:"true"`
4506}
4507
4508// String returns the string representation
4509func (s AccessPoliciesStatus) String() string {
4510	return awsutil.Prettify(s)
4511}
4512
4513// GoString returns the string representation
4514func (s AccessPoliciesStatus) GoString() string {
4515	return s.String()
4516}
4517
4518// SetOptions sets the Options field's value.
4519func (s *AccessPoliciesStatus) SetOptions(v string) *AccessPoliciesStatus {
4520	s.Options = &v
4521	return s
4522}
4523
4524// SetStatus sets the Status field's value.
4525func (s *AccessPoliciesStatus) SetStatus(v *OptionStatus) *AccessPoliciesStatus {
4526	s.Status = v
4527	return s
4528}
4529
4530// Container for the parameters to the AddTags operation. Specify the tags that
4531// you want to attach to the Elasticsearch domain.
4532type AddTagsInput struct {
4533	_ struct{} `type:"structure"`
4534
4535	// Specify the ARN for which you want to add the tags.
4536	//
4537	// ARN is a required field
4538	ARN *string `type:"string" required:"true"`
4539
4540	// List of Tag that need to be added for the Elasticsearch domain.
4541	//
4542	// TagList is a required field
4543	TagList []*Tag `type:"list" required:"true"`
4544}
4545
4546// String returns the string representation
4547func (s AddTagsInput) String() string {
4548	return awsutil.Prettify(s)
4549}
4550
4551// GoString returns the string representation
4552func (s AddTagsInput) GoString() string {
4553	return s.String()
4554}
4555
4556// Validate inspects the fields of the type to determine if they are valid.
4557func (s *AddTagsInput) Validate() error {
4558	invalidParams := request.ErrInvalidParams{Context: "AddTagsInput"}
4559	if s.ARN == nil {
4560		invalidParams.Add(request.NewErrParamRequired("ARN"))
4561	}
4562	if s.TagList == nil {
4563		invalidParams.Add(request.NewErrParamRequired("TagList"))
4564	}
4565	if s.TagList != nil {
4566		for i, v := range s.TagList {
4567			if v == nil {
4568				continue
4569			}
4570			if err := v.Validate(); err != nil {
4571				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TagList", i), err.(request.ErrInvalidParams))
4572			}
4573		}
4574	}
4575
4576	if invalidParams.Len() > 0 {
4577		return invalidParams
4578	}
4579	return nil
4580}
4581
4582// SetARN sets the ARN field's value.
4583func (s *AddTagsInput) SetARN(v string) *AddTagsInput {
4584	s.ARN = &v
4585	return s
4586}
4587
4588// SetTagList sets the TagList field's value.
4589func (s *AddTagsInput) SetTagList(v []*Tag) *AddTagsInput {
4590	s.TagList = v
4591	return s
4592}
4593
4594type AddTagsOutput struct {
4595	_ struct{} `type:"structure"`
4596}
4597
4598// String returns the string representation
4599func (s AddTagsOutput) String() string {
4600	return awsutil.Prettify(s)
4601}
4602
4603// GoString returns the string representation
4604func (s AddTagsOutput) GoString() string {
4605	return s.String()
4606}
4607
4608// List of limits that are specific to a given InstanceType and for each of
4609// it's InstanceRole .
4610type AdditionalLimit struct {
4611	_ struct{} `type:"structure"`
4612
4613	// Name of Additional Limit is specific to a given InstanceType and for each
4614	// of it's InstanceRole etc. Attributes and their details:
4615	//    * MaximumNumberOfDataNodesSupported
4616	//
4617	//    * MaximumNumberOfDataNodesWithoutMasterNode
4618	LimitName *string `type:"string"`
4619
4620	// Value for given AdditionalLimit$LimitName .
4621	LimitValues []*string `type:"list"`
4622}
4623
4624// String returns the string representation
4625func (s AdditionalLimit) String() string {
4626	return awsutil.Prettify(s)
4627}
4628
4629// GoString returns the string representation
4630func (s AdditionalLimit) GoString() string {
4631	return s.String()
4632}
4633
4634// SetLimitName sets the LimitName field's value.
4635func (s *AdditionalLimit) SetLimitName(v string) *AdditionalLimit {
4636	s.LimitName = &v
4637	return s
4638}
4639
4640// SetLimitValues sets the LimitValues field's value.
4641func (s *AdditionalLimit) SetLimitValues(v []*string) *AdditionalLimit {
4642	s.LimitValues = v
4643	return s
4644}
4645
4646// Status of the advanced options for the specified Elasticsearch domain. Currently,
4647// the following advanced options are available:
4648//
4649//    * Option to allow references to indices in an HTTP request body. Must
4650//    be false when configuring access to individual sub-resources. By default,
4651//    the value is true. See Configuration Advanced Options for more information.
4652//
4653//    * Option to specify the percentage of heap space that is allocated to
4654//    field data. By default, this setting is unbounded.
4655//
4656// For more information, see Configuring Advanced Options (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomain-configure-advanced-options).
4657type AdvancedOptionsStatus struct {
4658	_ struct{} `type:"structure"`
4659
4660	// Specifies the status of advanced options for the specified Elasticsearch
4661	// domain.
4662	//
4663	// Options is a required field
4664	Options map[string]*string `type:"map" required:"true"`
4665
4666	// Specifies the status of OptionStatus for advanced options for the specified
4667	// Elasticsearch domain.
4668	//
4669	// Status is a required field
4670	Status *OptionStatus `type:"structure" required:"true"`
4671}
4672
4673// String returns the string representation
4674func (s AdvancedOptionsStatus) String() string {
4675	return awsutil.Prettify(s)
4676}
4677
4678// GoString returns the string representation
4679func (s AdvancedOptionsStatus) GoString() string {
4680	return s.String()
4681}
4682
4683// SetOptions sets the Options field's value.
4684func (s *AdvancedOptionsStatus) SetOptions(v map[string]*string) *AdvancedOptionsStatus {
4685	s.Options = v
4686	return s
4687}
4688
4689// SetStatus sets the Status field's value.
4690func (s *AdvancedOptionsStatus) SetStatus(v *OptionStatus) *AdvancedOptionsStatus {
4691	s.Status = v
4692	return s
4693}
4694
4695// Specifies the advanced security configuration: whether advanced security
4696// is enabled, whether the internal database option is enabled.
4697type AdvancedSecurityOptions struct {
4698	_ struct{} `type:"structure"`
4699
4700	// True if advanced security is enabled.
4701	Enabled *bool `type:"boolean"`
4702
4703	// True if the internal user database is enabled.
4704	InternalUserDatabaseEnabled *bool `type:"boolean"`
4705
4706	// Describes the SAML application configured for a domain.
4707	SAMLOptions *SAMLOptionsOutput `type:"structure"`
4708}
4709
4710// String returns the string representation
4711func (s AdvancedSecurityOptions) String() string {
4712	return awsutil.Prettify(s)
4713}
4714
4715// GoString returns the string representation
4716func (s AdvancedSecurityOptions) GoString() string {
4717	return s.String()
4718}
4719
4720// SetEnabled sets the Enabled field's value.
4721func (s *AdvancedSecurityOptions) SetEnabled(v bool) *AdvancedSecurityOptions {
4722	s.Enabled = &v
4723	return s
4724}
4725
4726// SetInternalUserDatabaseEnabled sets the InternalUserDatabaseEnabled field's value.
4727func (s *AdvancedSecurityOptions) SetInternalUserDatabaseEnabled(v bool) *AdvancedSecurityOptions {
4728	s.InternalUserDatabaseEnabled = &v
4729	return s
4730}
4731
4732// SetSAMLOptions sets the SAMLOptions field's value.
4733func (s *AdvancedSecurityOptions) SetSAMLOptions(v *SAMLOptionsOutput) *AdvancedSecurityOptions {
4734	s.SAMLOptions = v
4735	return s
4736}
4737
4738// Specifies the advanced security configuration: whether advanced security
4739// is enabled, whether the internal database option is enabled, master username
4740// and password (if internal database is enabled), and master user ARN (if IAM
4741// is enabled).
4742type AdvancedSecurityOptionsInput struct {
4743	_ struct{} `type:"structure"`
4744
4745	// True if advanced security is enabled.
4746	Enabled *bool `type:"boolean"`
4747
4748	// True if the internal user database is enabled.
4749	InternalUserDatabaseEnabled *bool `type:"boolean"`
4750
4751	// Credentials for the master user: username and password, ARN, or both.
4752	MasterUserOptions *MasterUserOptions `type:"structure"`
4753
4754	// Specifies the SAML application configuration for the domain.
4755	SAMLOptions *SAMLOptionsInput `type:"structure"`
4756}
4757
4758// String returns the string representation
4759func (s AdvancedSecurityOptionsInput) String() string {
4760	return awsutil.Prettify(s)
4761}
4762
4763// GoString returns the string representation
4764func (s AdvancedSecurityOptionsInput) GoString() string {
4765	return s.String()
4766}
4767
4768// Validate inspects the fields of the type to determine if they are valid.
4769func (s *AdvancedSecurityOptionsInput) Validate() error {
4770	invalidParams := request.ErrInvalidParams{Context: "AdvancedSecurityOptionsInput"}
4771	if s.MasterUserOptions != nil {
4772		if err := s.MasterUserOptions.Validate(); err != nil {
4773			invalidParams.AddNested("MasterUserOptions", err.(request.ErrInvalidParams))
4774		}
4775	}
4776	if s.SAMLOptions != nil {
4777		if err := s.SAMLOptions.Validate(); err != nil {
4778			invalidParams.AddNested("SAMLOptions", err.(request.ErrInvalidParams))
4779		}
4780	}
4781
4782	if invalidParams.Len() > 0 {
4783		return invalidParams
4784	}
4785	return nil
4786}
4787
4788// SetEnabled sets the Enabled field's value.
4789func (s *AdvancedSecurityOptionsInput) SetEnabled(v bool) *AdvancedSecurityOptionsInput {
4790	s.Enabled = &v
4791	return s
4792}
4793
4794// SetInternalUserDatabaseEnabled sets the InternalUserDatabaseEnabled field's value.
4795func (s *AdvancedSecurityOptionsInput) SetInternalUserDatabaseEnabled(v bool) *AdvancedSecurityOptionsInput {
4796	s.InternalUserDatabaseEnabled = &v
4797	return s
4798}
4799
4800// SetMasterUserOptions sets the MasterUserOptions field's value.
4801func (s *AdvancedSecurityOptionsInput) SetMasterUserOptions(v *MasterUserOptions) *AdvancedSecurityOptionsInput {
4802	s.MasterUserOptions = v
4803	return s
4804}
4805
4806// SetSAMLOptions sets the SAMLOptions field's value.
4807func (s *AdvancedSecurityOptionsInput) SetSAMLOptions(v *SAMLOptionsInput) *AdvancedSecurityOptionsInput {
4808	s.SAMLOptions = v
4809	return s
4810}
4811
4812// Specifies the status of advanced security options for the specified Elasticsearch
4813// domain.
4814type AdvancedSecurityOptionsStatus struct {
4815	_ struct{} `type:"structure"`
4816
4817	// Specifies advanced security options for the specified Elasticsearch domain.
4818	//
4819	// Options is a required field
4820	Options *AdvancedSecurityOptions `type:"structure" required:"true"`
4821
4822	// Status of the advanced security options for the specified Elasticsearch domain.
4823	//
4824	// Status is a required field
4825	Status *OptionStatus `type:"structure" required:"true"`
4826}
4827
4828// String returns the string representation
4829func (s AdvancedSecurityOptionsStatus) String() string {
4830	return awsutil.Prettify(s)
4831}
4832
4833// GoString returns the string representation
4834func (s AdvancedSecurityOptionsStatus) GoString() string {
4835	return s.String()
4836}
4837
4838// SetOptions sets the Options field's value.
4839func (s *AdvancedSecurityOptionsStatus) SetOptions(v *AdvancedSecurityOptions) *AdvancedSecurityOptionsStatus {
4840	s.Options = v
4841	return s
4842}
4843
4844// SetStatus sets the Status field's value.
4845func (s *AdvancedSecurityOptionsStatus) SetStatus(v *OptionStatus) *AdvancedSecurityOptionsStatus {
4846	s.Status = v
4847	return s
4848}
4849
4850// Container for request parameters to AssociatePackage operation.
4851type AssociatePackageInput struct {
4852	_ struct{} `type:"structure"`
4853
4854	// Name of the domain that you want to associate the package with.
4855	//
4856	// DomainName is a required field
4857	DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"`
4858
4859	// Internal ID of the package that you want to associate with a domain. Use
4860	// DescribePackages to find this value.
4861	//
4862	// PackageID is a required field
4863	PackageID *string `location:"uri" locationName:"PackageID" type:"string" required:"true"`
4864}
4865
4866// String returns the string representation
4867func (s AssociatePackageInput) String() string {
4868	return awsutil.Prettify(s)
4869}
4870
4871// GoString returns the string representation
4872func (s AssociatePackageInput) GoString() string {
4873	return s.String()
4874}
4875
4876// Validate inspects the fields of the type to determine if they are valid.
4877func (s *AssociatePackageInput) Validate() error {
4878	invalidParams := request.ErrInvalidParams{Context: "AssociatePackageInput"}
4879	if s.DomainName == nil {
4880		invalidParams.Add(request.NewErrParamRequired("DomainName"))
4881	}
4882	if s.DomainName != nil && len(*s.DomainName) < 3 {
4883		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
4884	}
4885	if s.PackageID == nil {
4886		invalidParams.Add(request.NewErrParamRequired("PackageID"))
4887	}
4888	if s.PackageID != nil && len(*s.PackageID) < 1 {
4889		invalidParams.Add(request.NewErrParamMinLen("PackageID", 1))
4890	}
4891
4892	if invalidParams.Len() > 0 {
4893		return invalidParams
4894	}
4895	return nil
4896}
4897
4898// SetDomainName sets the DomainName field's value.
4899func (s *AssociatePackageInput) SetDomainName(v string) *AssociatePackageInput {
4900	s.DomainName = &v
4901	return s
4902}
4903
4904// SetPackageID sets the PackageID field's value.
4905func (s *AssociatePackageInput) SetPackageID(v string) *AssociatePackageInput {
4906	s.PackageID = &v
4907	return s
4908}
4909
4910// Container for response returned by AssociatePackage operation.
4911type AssociatePackageOutput struct {
4912	_ struct{} `type:"structure"`
4913
4914	// DomainPackageDetails
4915	DomainPackageDetails *DomainPackageDetails `type:"structure"`
4916}
4917
4918// String returns the string representation
4919func (s AssociatePackageOutput) String() string {
4920	return awsutil.Prettify(s)
4921}
4922
4923// GoString returns the string representation
4924func (s AssociatePackageOutput) GoString() string {
4925	return s.String()
4926}
4927
4928// SetDomainPackageDetails sets the DomainPackageDetails field's value.
4929func (s *AssociatePackageOutput) SetDomainPackageDetails(v *DomainPackageDetails) *AssociatePackageOutput {
4930	s.DomainPackageDetails = v
4931	return s
4932}
4933
4934// Specifies Auto-Tune type and Auto-Tune action details.
4935type AutoTune struct {
4936	_ struct{} `type:"structure"`
4937
4938	// Specifies details of the Auto-Tune action. See the Developer Guide (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/auto-tune.html)
4939	// for more information.
4940	AutoTuneDetails *AutoTuneDetails `type:"structure"`
4941
4942	// Specifies Auto-Tune type. Valid value is SCHEDULED_ACTION.
4943	AutoTuneType *string `type:"string" enum:"AutoTuneType"`
4944}
4945
4946// String returns the string representation
4947func (s AutoTune) String() string {
4948	return awsutil.Prettify(s)
4949}
4950
4951// GoString returns the string representation
4952func (s AutoTune) GoString() string {
4953	return s.String()
4954}
4955
4956// SetAutoTuneDetails sets the AutoTuneDetails field's value.
4957func (s *AutoTune) SetAutoTuneDetails(v *AutoTuneDetails) *AutoTune {
4958	s.AutoTuneDetails = v
4959	return s
4960}
4961
4962// SetAutoTuneType sets the AutoTuneType field's value.
4963func (s *AutoTune) SetAutoTuneType(v string) *AutoTune {
4964	s.AutoTuneType = &v
4965	return s
4966}
4967
4968// Specifies details of the Auto-Tune action. See the Developer Guide (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/auto-tune.html)
4969// for more information.
4970type AutoTuneDetails struct {
4971	_ struct{} `type:"structure"`
4972
4973	// Specifies details of the scheduled Auto-Tune action. See the Developer Guide
4974	// (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/auto-tune.html)
4975	// for more information.
4976	ScheduledAutoTuneDetails *ScheduledAutoTuneDetails `type:"structure"`
4977}
4978
4979// String returns the string representation
4980func (s AutoTuneDetails) String() string {
4981	return awsutil.Prettify(s)
4982}
4983
4984// GoString returns the string representation
4985func (s AutoTuneDetails) GoString() string {
4986	return s.String()
4987}
4988
4989// SetScheduledAutoTuneDetails sets the ScheduledAutoTuneDetails field's value.
4990func (s *AutoTuneDetails) SetScheduledAutoTuneDetails(v *ScheduledAutoTuneDetails) *AutoTuneDetails {
4991	s.ScheduledAutoTuneDetails = v
4992	return s
4993}
4994
4995// Specifies Auto-Tune maitenance schedule. See the Developer Guide (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/auto-tune.html)
4996// for more information.
4997type AutoTuneMaintenanceSchedule struct {
4998	_ struct{} `type:"structure"`
4999
5000	// Specifies cron expression for a recurring maintenance schedule. See the Developer
5001	// Guide (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/auto-tune.html)
5002	// for more information.
5003	CronExpressionForRecurrence *string `type:"string"`
5004
5005	// Specifies maintenance schedule duration: duration value and duration unit.
5006	// See the Developer Guide (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/auto-tune.html)
5007	// for more information.
5008	Duration *Duration `type:"structure"`
5009
5010	// Specifies timestamp at which Auto-Tune maintenance schedule start.
5011	StartAt *time.Time `type:"timestamp"`
5012}
5013
5014// String returns the string representation
5015func (s AutoTuneMaintenanceSchedule) String() string {
5016	return awsutil.Prettify(s)
5017}
5018
5019// GoString returns the string representation
5020func (s AutoTuneMaintenanceSchedule) GoString() string {
5021	return s.String()
5022}
5023
5024// Validate inspects the fields of the type to determine if they are valid.
5025func (s *AutoTuneMaintenanceSchedule) Validate() error {
5026	invalidParams := request.ErrInvalidParams{Context: "AutoTuneMaintenanceSchedule"}
5027	if s.Duration != nil {
5028		if err := s.Duration.Validate(); err != nil {
5029			invalidParams.AddNested("Duration", err.(request.ErrInvalidParams))
5030		}
5031	}
5032
5033	if invalidParams.Len() > 0 {
5034		return invalidParams
5035	}
5036	return nil
5037}
5038
5039// SetCronExpressionForRecurrence sets the CronExpressionForRecurrence field's value.
5040func (s *AutoTuneMaintenanceSchedule) SetCronExpressionForRecurrence(v string) *AutoTuneMaintenanceSchedule {
5041	s.CronExpressionForRecurrence = &v
5042	return s
5043}
5044
5045// SetDuration sets the Duration field's value.
5046func (s *AutoTuneMaintenanceSchedule) SetDuration(v *Duration) *AutoTuneMaintenanceSchedule {
5047	s.Duration = v
5048	return s
5049}
5050
5051// SetStartAt sets the StartAt field's value.
5052func (s *AutoTuneMaintenanceSchedule) SetStartAt(v time.Time) *AutoTuneMaintenanceSchedule {
5053	s.StartAt = &v
5054	return s
5055}
5056
5057// Specifies the Auto-Tune options: the Auto-Tune desired state for the domain,
5058// rollback state when disabling Auto-Tune options and list of maintenance schedules.
5059type AutoTuneOptions struct {
5060	_ struct{} `type:"structure"`
5061
5062	// Specifies the Auto-Tune desired state. Valid values are ENABLED, DISABLED.
5063	DesiredState *string `type:"string" enum:"AutoTuneDesiredState"`
5064
5065	// Specifies list of maitenance schedules. See the Developer Guide (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/auto-tune.html)
5066	// for more information.
5067	MaintenanceSchedules []*AutoTuneMaintenanceSchedule `type:"list"`
5068
5069	// Specifies the rollback state while disabling Auto-Tune for the domain. Valid
5070	// values are NO_ROLLBACK, DEFAULT_ROLLBACK.
5071	RollbackOnDisable *string `type:"string" enum:"RollbackOnDisable"`
5072}
5073
5074// String returns the string representation
5075func (s AutoTuneOptions) String() string {
5076	return awsutil.Prettify(s)
5077}
5078
5079// GoString returns the string representation
5080func (s AutoTuneOptions) GoString() string {
5081	return s.String()
5082}
5083
5084// Validate inspects the fields of the type to determine if they are valid.
5085func (s *AutoTuneOptions) Validate() error {
5086	invalidParams := request.ErrInvalidParams{Context: "AutoTuneOptions"}
5087	if s.MaintenanceSchedules != nil {
5088		for i, v := range s.MaintenanceSchedules {
5089			if v == nil {
5090				continue
5091			}
5092			if err := v.Validate(); err != nil {
5093				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MaintenanceSchedules", i), err.(request.ErrInvalidParams))
5094			}
5095		}
5096	}
5097
5098	if invalidParams.Len() > 0 {
5099		return invalidParams
5100	}
5101	return nil
5102}
5103
5104// SetDesiredState sets the DesiredState field's value.
5105func (s *AutoTuneOptions) SetDesiredState(v string) *AutoTuneOptions {
5106	s.DesiredState = &v
5107	return s
5108}
5109
5110// SetMaintenanceSchedules sets the MaintenanceSchedules field's value.
5111func (s *AutoTuneOptions) SetMaintenanceSchedules(v []*AutoTuneMaintenanceSchedule) *AutoTuneOptions {
5112	s.MaintenanceSchedules = v
5113	return s
5114}
5115
5116// SetRollbackOnDisable sets the RollbackOnDisable field's value.
5117func (s *AutoTuneOptions) SetRollbackOnDisable(v string) *AutoTuneOptions {
5118	s.RollbackOnDisable = &v
5119	return s
5120}
5121
5122// Specifies the Auto-Tune options: the Auto-Tune desired state for the domain
5123// and list of maintenance schedules.
5124type AutoTuneOptionsInput struct {
5125	_ struct{} `type:"structure"`
5126
5127	// Specifies the Auto-Tune desired state. Valid values are ENABLED, DISABLED.
5128	DesiredState *string `type:"string" enum:"AutoTuneDesiredState"`
5129
5130	// Specifies list of maitenance schedules. See the Developer Guide (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/auto-tune.html)
5131	// for more information.
5132	MaintenanceSchedules []*AutoTuneMaintenanceSchedule `type:"list"`
5133}
5134
5135// String returns the string representation
5136func (s AutoTuneOptionsInput) String() string {
5137	return awsutil.Prettify(s)
5138}
5139
5140// GoString returns the string representation
5141func (s AutoTuneOptionsInput) GoString() string {
5142	return s.String()
5143}
5144
5145// Validate inspects the fields of the type to determine if they are valid.
5146func (s *AutoTuneOptionsInput) Validate() error {
5147	invalidParams := request.ErrInvalidParams{Context: "AutoTuneOptionsInput"}
5148	if s.MaintenanceSchedules != nil {
5149		for i, v := range s.MaintenanceSchedules {
5150			if v == nil {
5151				continue
5152			}
5153			if err := v.Validate(); err != nil {
5154				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MaintenanceSchedules", i), err.(request.ErrInvalidParams))
5155			}
5156		}
5157	}
5158
5159	if invalidParams.Len() > 0 {
5160		return invalidParams
5161	}
5162	return nil
5163}
5164
5165// SetDesiredState sets the DesiredState field's value.
5166func (s *AutoTuneOptionsInput) SetDesiredState(v string) *AutoTuneOptionsInput {
5167	s.DesiredState = &v
5168	return s
5169}
5170
5171// SetMaintenanceSchedules sets the MaintenanceSchedules field's value.
5172func (s *AutoTuneOptionsInput) SetMaintenanceSchedules(v []*AutoTuneMaintenanceSchedule) *AutoTuneOptionsInput {
5173	s.MaintenanceSchedules = v
5174	return s
5175}
5176
5177// Specifies the Auto-Tune options: the Auto-Tune desired state for the domain
5178// and list of maintenance schedules.
5179type AutoTuneOptionsOutput struct {
5180	_ struct{} `type:"structure"`
5181
5182	// Specifies the error message while enabling or disabling the Auto-Tune.
5183	ErrorMessage *string `type:"string"`
5184
5185	// Specifies the AutoTuneState for the Elasticsearch domain.
5186	State *string `type:"string" enum:"AutoTuneState"`
5187}
5188
5189// String returns the string representation
5190func (s AutoTuneOptionsOutput) String() string {
5191	return awsutil.Prettify(s)
5192}
5193
5194// GoString returns the string representation
5195func (s AutoTuneOptionsOutput) GoString() string {
5196	return s.String()
5197}
5198
5199// SetErrorMessage sets the ErrorMessage field's value.
5200func (s *AutoTuneOptionsOutput) SetErrorMessage(v string) *AutoTuneOptionsOutput {
5201	s.ErrorMessage = &v
5202	return s
5203}
5204
5205// SetState sets the State field's value.
5206func (s *AutoTuneOptionsOutput) SetState(v string) *AutoTuneOptionsOutput {
5207	s.State = &v
5208	return s
5209}
5210
5211// Specifies the status of Auto-Tune options for the specified Elasticsearch
5212// domain.
5213type AutoTuneOptionsStatus struct {
5214	_ struct{} `type:"structure"`
5215
5216	// Specifies Auto-Tune options for the specified Elasticsearch domain.
5217	Options *AutoTuneOptions `type:"structure"`
5218
5219	// Specifies Status of the Auto-Tune options for the specified Elasticsearch
5220	// domain.
5221	Status *AutoTuneStatus `type:"structure"`
5222}
5223
5224// String returns the string representation
5225func (s AutoTuneOptionsStatus) String() string {
5226	return awsutil.Prettify(s)
5227}
5228
5229// GoString returns the string representation
5230func (s AutoTuneOptionsStatus) GoString() string {
5231	return s.String()
5232}
5233
5234// SetOptions sets the Options field's value.
5235func (s *AutoTuneOptionsStatus) SetOptions(v *AutoTuneOptions) *AutoTuneOptionsStatus {
5236	s.Options = v
5237	return s
5238}
5239
5240// SetStatus sets the Status field's value.
5241func (s *AutoTuneOptionsStatus) SetStatus(v *AutoTuneStatus) *AutoTuneOptionsStatus {
5242	s.Status = v
5243	return s
5244}
5245
5246// Provides the current status of the Auto-Tune options.
5247type AutoTuneStatus struct {
5248	_ struct{} `type:"structure"`
5249
5250	// Timestamp which tells Auto-Tune options creation date .
5251	//
5252	// CreationDate is a required field
5253	CreationDate *time.Time `type:"timestamp" required:"true"`
5254
5255	// Specifies the error message while enabling or disabling the Auto-Tune options.
5256	ErrorMessage *string `type:"string"`
5257
5258	// Indicates whether the Elasticsearch domain is being deleted.
5259	PendingDeletion *bool `type:"boolean"`
5260
5261	// Specifies the AutoTuneState for the Elasticsearch domain.
5262	//
5263	// State is a required field
5264	State *string `type:"string" required:"true" enum:"AutoTuneState"`
5265
5266	// Timestamp which tells Auto-Tune options last updated time.
5267	//
5268	// UpdateDate is a required field
5269	UpdateDate *time.Time `type:"timestamp" required:"true"`
5270
5271	// Specifies the Auto-Tune options latest version.
5272	UpdateVersion *int64 `type:"integer"`
5273}
5274
5275// String returns the string representation
5276func (s AutoTuneStatus) String() string {
5277	return awsutil.Prettify(s)
5278}
5279
5280// GoString returns the string representation
5281func (s AutoTuneStatus) GoString() string {
5282	return s.String()
5283}
5284
5285// SetCreationDate sets the CreationDate field's value.
5286func (s *AutoTuneStatus) SetCreationDate(v time.Time) *AutoTuneStatus {
5287	s.CreationDate = &v
5288	return s
5289}
5290
5291// SetErrorMessage sets the ErrorMessage field's value.
5292func (s *AutoTuneStatus) SetErrorMessage(v string) *AutoTuneStatus {
5293	s.ErrorMessage = &v
5294	return s
5295}
5296
5297// SetPendingDeletion sets the PendingDeletion field's value.
5298func (s *AutoTuneStatus) SetPendingDeletion(v bool) *AutoTuneStatus {
5299	s.PendingDeletion = &v
5300	return s
5301}
5302
5303// SetState sets the State field's value.
5304func (s *AutoTuneStatus) SetState(v string) *AutoTuneStatus {
5305	s.State = &v
5306	return s
5307}
5308
5309// SetUpdateDate sets the UpdateDate field's value.
5310func (s *AutoTuneStatus) SetUpdateDate(v time.Time) *AutoTuneStatus {
5311	s.UpdateDate = &v
5312	return s
5313}
5314
5315// SetUpdateVersion sets the UpdateVersion field's value.
5316func (s *AutoTuneStatus) SetUpdateVersion(v int64) *AutoTuneStatus {
5317	s.UpdateVersion = &v
5318	return s
5319}
5320
5321// An error occurred while processing the request.
5322type BaseException struct {
5323	_            struct{}                  `type:"structure"`
5324	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5325
5326	// A description of the error.
5327	Message_ *string `locationName:"message" type:"string"`
5328}
5329
5330// String returns the string representation
5331func (s BaseException) String() string {
5332	return awsutil.Prettify(s)
5333}
5334
5335// GoString returns the string representation
5336func (s BaseException) GoString() string {
5337	return s.String()
5338}
5339
5340func newErrorBaseException(v protocol.ResponseMetadata) error {
5341	return &BaseException{
5342		RespMetadata: v,
5343	}
5344}
5345
5346// Code returns the exception type name.
5347func (s *BaseException) Code() string {
5348	return "BaseException"
5349}
5350
5351// Message returns the exception's message.
5352func (s *BaseException) Message() string {
5353	if s.Message_ != nil {
5354		return *s.Message_
5355	}
5356	return ""
5357}
5358
5359// OrigErr always returns nil, satisfies awserr.Error interface.
5360func (s *BaseException) OrigErr() error {
5361	return nil
5362}
5363
5364func (s *BaseException) Error() string {
5365	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5366}
5367
5368// Status code returns the HTTP status code for the request's response error.
5369func (s *BaseException) StatusCode() int {
5370	return s.RespMetadata.StatusCode
5371}
5372
5373// RequestID returns the service's response RequestID for request.
5374func (s *BaseException) RequestID() string {
5375	return s.RespMetadata.RequestID
5376}
5377
5378// Container for the parameters to the CancelElasticsearchServiceSoftwareUpdate
5379// operation. Specifies the name of the Elasticsearch domain that you wish to
5380// cancel a service software update on.
5381type CancelElasticsearchServiceSoftwareUpdateInput struct {
5382	_ struct{} `type:"structure"`
5383
5384	// The name of the domain that you want to stop the latest service software
5385	// update on.
5386	//
5387	// DomainName is a required field
5388	DomainName *string `min:"3" type:"string" required:"true"`
5389}
5390
5391// String returns the string representation
5392func (s CancelElasticsearchServiceSoftwareUpdateInput) String() string {
5393	return awsutil.Prettify(s)
5394}
5395
5396// GoString returns the string representation
5397func (s CancelElasticsearchServiceSoftwareUpdateInput) GoString() string {
5398	return s.String()
5399}
5400
5401// Validate inspects the fields of the type to determine if they are valid.
5402func (s *CancelElasticsearchServiceSoftwareUpdateInput) Validate() error {
5403	invalidParams := request.ErrInvalidParams{Context: "CancelElasticsearchServiceSoftwareUpdateInput"}
5404	if s.DomainName == nil {
5405		invalidParams.Add(request.NewErrParamRequired("DomainName"))
5406	}
5407	if s.DomainName != nil && len(*s.DomainName) < 3 {
5408		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
5409	}
5410
5411	if invalidParams.Len() > 0 {
5412		return invalidParams
5413	}
5414	return nil
5415}
5416
5417// SetDomainName sets the DomainName field's value.
5418func (s *CancelElasticsearchServiceSoftwareUpdateInput) SetDomainName(v string) *CancelElasticsearchServiceSoftwareUpdateInput {
5419	s.DomainName = &v
5420	return s
5421}
5422
5423// The result of a CancelElasticsearchServiceSoftwareUpdate operation. Contains
5424// the status of the update.
5425type CancelElasticsearchServiceSoftwareUpdateOutput struct {
5426	_ struct{} `type:"structure"`
5427
5428	// The current status of the Elasticsearch service software update.
5429	ServiceSoftwareOptions *ServiceSoftwareOptions `type:"structure"`
5430}
5431
5432// String returns the string representation
5433func (s CancelElasticsearchServiceSoftwareUpdateOutput) String() string {
5434	return awsutil.Prettify(s)
5435}
5436
5437// GoString returns the string representation
5438func (s CancelElasticsearchServiceSoftwareUpdateOutput) GoString() string {
5439	return s.String()
5440}
5441
5442// SetServiceSoftwareOptions sets the ServiceSoftwareOptions field's value.
5443func (s *CancelElasticsearchServiceSoftwareUpdateOutput) SetServiceSoftwareOptions(v *ServiceSoftwareOptions) *CancelElasticsearchServiceSoftwareUpdateOutput {
5444	s.ServiceSoftwareOptions = v
5445	return s
5446}
5447
5448// Options to specify the Cognito user and identity pools for Kibana authentication.
5449// For more information, see Amazon Cognito Authentication for Kibana (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-cognito-auth.html).
5450type CognitoOptions struct {
5451	_ struct{} `type:"structure"`
5452
5453	// Specifies the option to enable Cognito for Kibana authentication.
5454	Enabled *bool `type:"boolean"`
5455
5456	// Specifies the Cognito identity pool ID for Kibana authentication.
5457	IdentityPoolId *string `min:"1" type:"string"`
5458
5459	// Specifies the role ARN that provides Elasticsearch permissions for accessing
5460	// Cognito resources.
5461	RoleArn *string `min:"20" type:"string"`
5462
5463	// Specifies the Cognito user pool ID for Kibana authentication.
5464	UserPoolId *string `min:"1" type:"string"`
5465}
5466
5467// String returns the string representation
5468func (s CognitoOptions) String() string {
5469	return awsutil.Prettify(s)
5470}
5471
5472// GoString returns the string representation
5473func (s CognitoOptions) GoString() string {
5474	return s.String()
5475}
5476
5477// Validate inspects the fields of the type to determine if they are valid.
5478func (s *CognitoOptions) Validate() error {
5479	invalidParams := request.ErrInvalidParams{Context: "CognitoOptions"}
5480	if s.IdentityPoolId != nil && len(*s.IdentityPoolId) < 1 {
5481		invalidParams.Add(request.NewErrParamMinLen("IdentityPoolId", 1))
5482	}
5483	if s.RoleArn != nil && len(*s.RoleArn) < 20 {
5484		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20))
5485	}
5486	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
5487		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
5488	}
5489
5490	if invalidParams.Len() > 0 {
5491		return invalidParams
5492	}
5493	return nil
5494}
5495
5496// SetEnabled sets the Enabled field's value.
5497func (s *CognitoOptions) SetEnabled(v bool) *CognitoOptions {
5498	s.Enabled = &v
5499	return s
5500}
5501
5502// SetIdentityPoolId sets the IdentityPoolId field's value.
5503func (s *CognitoOptions) SetIdentityPoolId(v string) *CognitoOptions {
5504	s.IdentityPoolId = &v
5505	return s
5506}
5507
5508// SetRoleArn sets the RoleArn field's value.
5509func (s *CognitoOptions) SetRoleArn(v string) *CognitoOptions {
5510	s.RoleArn = &v
5511	return s
5512}
5513
5514// SetUserPoolId sets the UserPoolId field's value.
5515func (s *CognitoOptions) SetUserPoolId(v string) *CognitoOptions {
5516	s.UserPoolId = &v
5517	return s
5518}
5519
5520// Status of the Cognito options for the specified Elasticsearch domain.
5521type CognitoOptionsStatus struct {
5522	_ struct{} `type:"structure"`
5523
5524	// Specifies the Cognito options for the specified Elasticsearch domain.
5525	//
5526	// Options is a required field
5527	Options *CognitoOptions `type:"structure" required:"true"`
5528
5529	// Specifies the status of the Cognito options for the specified Elasticsearch
5530	// domain.
5531	//
5532	// Status is a required field
5533	Status *OptionStatus `type:"structure" required:"true"`
5534}
5535
5536// String returns the string representation
5537func (s CognitoOptionsStatus) String() string {
5538	return awsutil.Prettify(s)
5539}
5540
5541// GoString returns the string representation
5542func (s CognitoOptionsStatus) GoString() string {
5543	return s.String()
5544}
5545
5546// SetOptions sets the Options field's value.
5547func (s *CognitoOptionsStatus) SetOptions(v *CognitoOptions) *CognitoOptionsStatus {
5548	s.Options = v
5549	return s
5550}
5551
5552// SetStatus sets the Status field's value.
5553func (s *CognitoOptionsStatus) SetStatus(v *OptionStatus) *CognitoOptionsStatus {
5554	s.Status = v
5555	return s
5556}
5557
5558// Specifies settings for cold storage.
5559type ColdStorageOptions struct {
5560	_ struct{} `type:"structure"`
5561
5562	// True to enable cold storage for an Elasticsearch domain.
5563	//
5564	// Enabled is a required field
5565	Enabled *bool `type:"boolean" required:"true"`
5566}
5567
5568// String returns the string representation
5569func (s ColdStorageOptions) String() string {
5570	return awsutil.Prettify(s)
5571}
5572
5573// GoString returns the string representation
5574func (s ColdStorageOptions) GoString() string {
5575	return s.String()
5576}
5577
5578// Validate inspects the fields of the type to determine if they are valid.
5579func (s *ColdStorageOptions) Validate() error {
5580	invalidParams := request.ErrInvalidParams{Context: "ColdStorageOptions"}
5581	if s.Enabled == nil {
5582		invalidParams.Add(request.NewErrParamRequired("Enabled"))
5583	}
5584
5585	if invalidParams.Len() > 0 {
5586		return invalidParams
5587	}
5588	return nil
5589}
5590
5591// SetEnabled sets the Enabled field's value.
5592func (s *ColdStorageOptions) SetEnabled(v bool) *ColdStorageOptions {
5593	s.Enabled = &v
5594	return s
5595}
5596
5597// A map from an ElasticsearchVersion to a list of compatible ElasticsearchVersion
5598// s to which the domain can be upgraded.
5599type CompatibleVersionsMap struct {
5600	_ struct{} `type:"structure"`
5601
5602	// The current version of Elasticsearch on which a domain is.
5603	SourceVersion *string `type:"string"`
5604
5605	// List of supported elastic search versions.
5606	TargetVersions []*string `type:"list"`
5607}
5608
5609// String returns the string representation
5610func (s CompatibleVersionsMap) String() string {
5611	return awsutil.Prettify(s)
5612}
5613
5614// GoString returns the string representation
5615func (s CompatibleVersionsMap) GoString() string {
5616	return s.String()
5617}
5618
5619// SetSourceVersion sets the SourceVersion field's value.
5620func (s *CompatibleVersionsMap) SetSourceVersion(v string) *CompatibleVersionsMap {
5621	s.SourceVersion = &v
5622	return s
5623}
5624
5625// SetTargetVersions sets the TargetVersions field's value.
5626func (s *CompatibleVersionsMap) SetTargetVersions(v []*string) *CompatibleVersionsMap {
5627	s.TargetVersions = v
5628	return s
5629}
5630
5631// An error occurred because the client attempts to remove a resource that is
5632// currently in use. Returns HTTP status code 409.
5633type ConflictException struct {
5634	_            struct{}                  `type:"structure"`
5635	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5636
5637	Message_ *string `locationName:"message" type:"string"`
5638}
5639
5640// String returns the string representation
5641func (s ConflictException) String() string {
5642	return awsutil.Prettify(s)
5643}
5644
5645// GoString returns the string representation
5646func (s ConflictException) GoString() string {
5647	return s.String()
5648}
5649
5650func newErrorConflictException(v protocol.ResponseMetadata) error {
5651	return &ConflictException{
5652		RespMetadata: v,
5653	}
5654}
5655
5656// Code returns the exception type name.
5657func (s *ConflictException) Code() string {
5658	return "ConflictException"
5659}
5660
5661// Message returns the exception's message.
5662func (s *ConflictException) Message() string {
5663	if s.Message_ != nil {
5664		return *s.Message_
5665	}
5666	return ""
5667}
5668
5669// OrigErr always returns nil, satisfies awserr.Error interface.
5670func (s *ConflictException) OrigErr() error {
5671	return nil
5672}
5673
5674func (s *ConflictException) Error() string {
5675	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5676}
5677
5678// Status code returns the HTTP status code for the request's response error.
5679func (s *ConflictException) StatusCode() int {
5680	return s.RespMetadata.StatusCode
5681}
5682
5683// RequestID returns the service's response RequestID for request.
5684func (s *ConflictException) RequestID() string {
5685	return s.RespMetadata.RequestID
5686}
5687
5688type CreateElasticsearchDomainInput struct {
5689	_ struct{} `type:"structure"`
5690
5691	// IAM access policy as a JSON-formatted string.
5692	AccessPolicies *string `type:"string"`
5693
5694	// Option to allow references to indices in an HTTP request body. Must be false
5695	// when configuring access to individual sub-resources. By default, the value
5696	// is true. See Configuration Advanced Options (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomain-configure-advanced-options)
5697	// for more information.
5698	AdvancedOptions map[string]*string `type:"map"`
5699
5700	// Specifies advanced security options.
5701	AdvancedSecurityOptions *AdvancedSecurityOptionsInput `type:"structure"`
5702
5703	// Specifies Auto-Tune options.
5704	AutoTuneOptions *AutoTuneOptionsInput `type:"structure"`
5705
5706	// Options to specify the Cognito user and identity pools for Kibana authentication.
5707	// For more information, see Amazon Cognito Authentication for Kibana (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-cognito-auth.html).
5708	CognitoOptions *CognitoOptions `type:"structure"`
5709
5710	// Options to specify configuration that will be applied to the domain endpoint.
5711	DomainEndpointOptions *DomainEndpointOptions `type:"structure"`
5712
5713	// The name of the Elasticsearch domain that you are creating. Domain names
5714	// are unique across the domains owned by an account within an AWS region. Domain
5715	// names must start with a lowercase letter and can contain the following characters:
5716	// a-z (lowercase), 0-9, and - (hyphen).
5717	//
5718	// DomainName is a required field
5719	DomainName *string `min:"3" type:"string" required:"true"`
5720
5721	// Options to enable, disable and specify the type and size of EBS storage volumes.
5722	EBSOptions *EBSOptions `type:"structure"`
5723
5724	// Configuration options for an Elasticsearch domain. Specifies the instance
5725	// type and number of instances in the domain cluster.
5726	ElasticsearchClusterConfig *ElasticsearchClusterConfig `type:"structure"`
5727
5728	// String of format X.Y to specify version for the Elasticsearch domain eg.
5729	// "1.5" or "2.3". For more information, see Creating Elasticsearch Domains
5730	// (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomains)
5731	// in the Amazon Elasticsearch Service Developer Guide.
5732	ElasticsearchVersion *string `type:"string"`
5733
5734	// Specifies the Encryption At Rest Options.
5735	EncryptionAtRestOptions *EncryptionAtRestOptions `type:"structure"`
5736
5737	// Map of LogType and LogPublishingOption, each containing options to publish
5738	// a given type of Elasticsearch log.
5739	LogPublishingOptions map[string]*LogPublishingOption `type:"map"`
5740
5741	// Specifies the NodeToNodeEncryptionOptions.
5742	NodeToNodeEncryptionOptions *NodeToNodeEncryptionOptions `type:"structure"`
5743
5744	// Option to set time, in UTC format, of the daily automated snapshot. Default
5745	// value is 0 hours.
5746	SnapshotOptions *SnapshotOptions `type:"structure"`
5747
5748	// A list of Tag added during domain creation.
5749	TagList []*Tag `type:"list"`
5750
5751	// Options to specify the subnets and security groups for VPC endpoint. For
5752	// more information, see Creating a VPC (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-vpc.html#es-creating-vpc)
5753	// in VPC Endpoints for Amazon Elasticsearch Service Domains
5754	VPCOptions *VPCOptions `type:"structure"`
5755}
5756
5757// String returns the string representation
5758func (s CreateElasticsearchDomainInput) String() string {
5759	return awsutil.Prettify(s)
5760}
5761
5762// GoString returns the string representation
5763func (s CreateElasticsearchDomainInput) GoString() string {
5764	return s.String()
5765}
5766
5767// Validate inspects the fields of the type to determine if they are valid.
5768func (s *CreateElasticsearchDomainInput) Validate() error {
5769	invalidParams := request.ErrInvalidParams{Context: "CreateElasticsearchDomainInput"}
5770	if s.DomainName == nil {
5771		invalidParams.Add(request.NewErrParamRequired("DomainName"))
5772	}
5773	if s.DomainName != nil && len(*s.DomainName) < 3 {
5774		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
5775	}
5776	if s.AdvancedSecurityOptions != nil {
5777		if err := s.AdvancedSecurityOptions.Validate(); err != nil {
5778			invalidParams.AddNested("AdvancedSecurityOptions", err.(request.ErrInvalidParams))
5779		}
5780	}
5781	if s.AutoTuneOptions != nil {
5782		if err := s.AutoTuneOptions.Validate(); err != nil {
5783			invalidParams.AddNested("AutoTuneOptions", err.(request.ErrInvalidParams))
5784		}
5785	}
5786	if s.CognitoOptions != nil {
5787		if err := s.CognitoOptions.Validate(); err != nil {
5788			invalidParams.AddNested("CognitoOptions", err.(request.ErrInvalidParams))
5789		}
5790	}
5791	if s.DomainEndpointOptions != nil {
5792		if err := s.DomainEndpointOptions.Validate(); err != nil {
5793			invalidParams.AddNested("DomainEndpointOptions", err.(request.ErrInvalidParams))
5794		}
5795	}
5796	if s.ElasticsearchClusterConfig != nil {
5797		if err := s.ElasticsearchClusterConfig.Validate(); err != nil {
5798			invalidParams.AddNested("ElasticsearchClusterConfig", err.(request.ErrInvalidParams))
5799		}
5800	}
5801	if s.EncryptionAtRestOptions != nil {
5802		if err := s.EncryptionAtRestOptions.Validate(); err != nil {
5803			invalidParams.AddNested("EncryptionAtRestOptions", err.(request.ErrInvalidParams))
5804		}
5805	}
5806	if s.TagList != nil {
5807		for i, v := range s.TagList {
5808			if v == nil {
5809				continue
5810			}
5811			if err := v.Validate(); err != nil {
5812				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TagList", i), err.(request.ErrInvalidParams))
5813			}
5814		}
5815	}
5816
5817	if invalidParams.Len() > 0 {
5818		return invalidParams
5819	}
5820	return nil
5821}
5822
5823// SetAccessPolicies sets the AccessPolicies field's value.
5824func (s *CreateElasticsearchDomainInput) SetAccessPolicies(v string) *CreateElasticsearchDomainInput {
5825	s.AccessPolicies = &v
5826	return s
5827}
5828
5829// SetAdvancedOptions sets the AdvancedOptions field's value.
5830func (s *CreateElasticsearchDomainInput) SetAdvancedOptions(v map[string]*string) *CreateElasticsearchDomainInput {
5831	s.AdvancedOptions = v
5832	return s
5833}
5834
5835// SetAdvancedSecurityOptions sets the AdvancedSecurityOptions field's value.
5836func (s *CreateElasticsearchDomainInput) SetAdvancedSecurityOptions(v *AdvancedSecurityOptionsInput) *CreateElasticsearchDomainInput {
5837	s.AdvancedSecurityOptions = v
5838	return s
5839}
5840
5841// SetAutoTuneOptions sets the AutoTuneOptions field's value.
5842func (s *CreateElasticsearchDomainInput) SetAutoTuneOptions(v *AutoTuneOptionsInput) *CreateElasticsearchDomainInput {
5843	s.AutoTuneOptions = v
5844	return s
5845}
5846
5847// SetCognitoOptions sets the CognitoOptions field's value.
5848func (s *CreateElasticsearchDomainInput) SetCognitoOptions(v *CognitoOptions) *CreateElasticsearchDomainInput {
5849	s.CognitoOptions = v
5850	return s
5851}
5852
5853// SetDomainEndpointOptions sets the DomainEndpointOptions field's value.
5854func (s *CreateElasticsearchDomainInput) SetDomainEndpointOptions(v *DomainEndpointOptions) *CreateElasticsearchDomainInput {
5855	s.DomainEndpointOptions = v
5856	return s
5857}
5858
5859// SetDomainName sets the DomainName field's value.
5860func (s *CreateElasticsearchDomainInput) SetDomainName(v string) *CreateElasticsearchDomainInput {
5861	s.DomainName = &v
5862	return s
5863}
5864
5865// SetEBSOptions sets the EBSOptions field's value.
5866func (s *CreateElasticsearchDomainInput) SetEBSOptions(v *EBSOptions) *CreateElasticsearchDomainInput {
5867	s.EBSOptions = v
5868	return s
5869}
5870
5871// SetElasticsearchClusterConfig sets the ElasticsearchClusterConfig field's value.
5872func (s *CreateElasticsearchDomainInput) SetElasticsearchClusterConfig(v *ElasticsearchClusterConfig) *CreateElasticsearchDomainInput {
5873	s.ElasticsearchClusterConfig = v
5874	return s
5875}
5876
5877// SetElasticsearchVersion sets the ElasticsearchVersion field's value.
5878func (s *CreateElasticsearchDomainInput) SetElasticsearchVersion(v string) *CreateElasticsearchDomainInput {
5879	s.ElasticsearchVersion = &v
5880	return s
5881}
5882
5883// SetEncryptionAtRestOptions sets the EncryptionAtRestOptions field's value.
5884func (s *CreateElasticsearchDomainInput) SetEncryptionAtRestOptions(v *EncryptionAtRestOptions) *CreateElasticsearchDomainInput {
5885	s.EncryptionAtRestOptions = v
5886	return s
5887}
5888
5889// SetLogPublishingOptions sets the LogPublishingOptions field's value.
5890func (s *CreateElasticsearchDomainInput) SetLogPublishingOptions(v map[string]*LogPublishingOption) *CreateElasticsearchDomainInput {
5891	s.LogPublishingOptions = v
5892	return s
5893}
5894
5895// SetNodeToNodeEncryptionOptions sets the NodeToNodeEncryptionOptions field's value.
5896func (s *CreateElasticsearchDomainInput) SetNodeToNodeEncryptionOptions(v *NodeToNodeEncryptionOptions) *CreateElasticsearchDomainInput {
5897	s.NodeToNodeEncryptionOptions = v
5898	return s
5899}
5900
5901// SetSnapshotOptions sets the SnapshotOptions field's value.
5902func (s *CreateElasticsearchDomainInput) SetSnapshotOptions(v *SnapshotOptions) *CreateElasticsearchDomainInput {
5903	s.SnapshotOptions = v
5904	return s
5905}
5906
5907// SetTagList sets the TagList field's value.
5908func (s *CreateElasticsearchDomainInput) SetTagList(v []*Tag) *CreateElasticsearchDomainInput {
5909	s.TagList = v
5910	return s
5911}
5912
5913// SetVPCOptions sets the VPCOptions field's value.
5914func (s *CreateElasticsearchDomainInput) SetVPCOptions(v *VPCOptions) *CreateElasticsearchDomainInput {
5915	s.VPCOptions = v
5916	return s
5917}
5918
5919// The result of a CreateElasticsearchDomain operation. Contains the status
5920// of the newly created Elasticsearch domain.
5921type CreateElasticsearchDomainOutput struct {
5922	_ struct{} `type:"structure"`
5923
5924	// The status of the newly created Elasticsearch domain.
5925	DomainStatus *ElasticsearchDomainStatus `type:"structure"`
5926}
5927
5928// String returns the string representation
5929func (s CreateElasticsearchDomainOutput) String() string {
5930	return awsutil.Prettify(s)
5931}
5932
5933// GoString returns the string representation
5934func (s CreateElasticsearchDomainOutput) GoString() string {
5935	return s.String()
5936}
5937
5938// SetDomainStatus sets the DomainStatus field's value.
5939func (s *CreateElasticsearchDomainOutput) SetDomainStatus(v *ElasticsearchDomainStatus) *CreateElasticsearchDomainOutput {
5940	s.DomainStatus = v
5941	return s
5942}
5943
5944// Container for the parameters to the CreateOutboundCrossClusterSearchConnection
5945// operation.
5946type CreateOutboundCrossClusterSearchConnectionInput struct {
5947	_ struct{} `type:"structure"`
5948
5949	// Specifies the connection alias that will be used by the customer for this
5950	// connection.
5951	//
5952	// ConnectionAlias is a required field
5953	ConnectionAlias *string `type:"string" required:"true"`
5954
5955	// Specifies the DomainInformation for the destination Elasticsearch domain.
5956	//
5957	// DestinationDomainInfo is a required field
5958	DestinationDomainInfo *DomainInformation `type:"structure" required:"true"`
5959
5960	// Specifies the DomainInformation for the source Elasticsearch domain.
5961	//
5962	// SourceDomainInfo is a required field
5963	SourceDomainInfo *DomainInformation `type:"structure" required:"true"`
5964}
5965
5966// String returns the string representation
5967func (s CreateOutboundCrossClusterSearchConnectionInput) String() string {
5968	return awsutil.Prettify(s)
5969}
5970
5971// GoString returns the string representation
5972func (s CreateOutboundCrossClusterSearchConnectionInput) GoString() string {
5973	return s.String()
5974}
5975
5976// Validate inspects the fields of the type to determine if they are valid.
5977func (s *CreateOutboundCrossClusterSearchConnectionInput) Validate() error {
5978	invalidParams := request.ErrInvalidParams{Context: "CreateOutboundCrossClusterSearchConnectionInput"}
5979	if s.ConnectionAlias == nil {
5980		invalidParams.Add(request.NewErrParamRequired("ConnectionAlias"))
5981	}
5982	if s.DestinationDomainInfo == nil {
5983		invalidParams.Add(request.NewErrParamRequired("DestinationDomainInfo"))
5984	}
5985	if s.SourceDomainInfo == nil {
5986		invalidParams.Add(request.NewErrParamRequired("SourceDomainInfo"))
5987	}
5988	if s.DestinationDomainInfo != nil {
5989		if err := s.DestinationDomainInfo.Validate(); err != nil {
5990			invalidParams.AddNested("DestinationDomainInfo", err.(request.ErrInvalidParams))
5991		}
5992	}
5993	if s.SourceDomainInfo != nil {
5994		if err := s.SourceDomainInfo.Validate(); err != nil {
5995			invalidParams.AddNested("SourceDomainInfo", err.(request.ErrInvalidParams))
5996		}
5997	}
5998
5999	if invalidParams.Len() > 0 {
6000		return invalidParams
6001	}
6002	return nil
6003}
6004
6005// SetConnectionAlias sets the ConnectionAlias field's value.
6006func (s *CreateOutboundCrossClusterSearchConnectionInput) SetConnectionAlias(v string) *CreateOutboundCrossClusterSearchConnectionInput {
6007	s.ConnectionAlias = &v
6008	return s
6009}
6010
6011// SetDestinationDomainInfo sets the DestinationDomainInfo field's value.
6012func (s *CreateOutboundCrossClusterSearchConnectionInput) SetDestinationDomainInfo(v *DomainInformation) *CreateOutboundCrossClusterSearchConnectionInput {
6013	s.DestinationDomainInfo = v
6014	return s
6015}
6016
6017// SetSourceDomainInfo sets the SourceDomainInfo field's value.
6018func (s *CreateOutboundCrossClusterSearchConnectionInput) SetSourceDomainInfo(v *DomainInformation) *CreateOutboundCrossClusterSearchConnectionInput {
6019	s.SourceDomainInfo = v
6020	return s
6021}
6022
6023// The result of a CreateOutboundCrossClusterSearchConnection request. Contains
6024// the details of the newly created cross-cluster search connection.
6025type CreateOutboundCrossClusterSearchConnectionOutput struct {
6026	_ struct{} `type:"structure"`
6027
6028	// Specifies the connection alias provided during the create connection request.
6029	ConnectionAlias *string `type:"string"`
6030
6031	// Specifies the OutboundCrossClusterSearchConnectionStatus for the newly created
6032	// connection.
6033	ConnectionStatus *OutboundCrossClusterSearchConnectionStatus `type:"structure"`
6034
6035	// Unique id for the created outbound connection, which is used for subsequent
6036	// operations on connection.
6037	CrossClusterSearchConnectionId *string `type:"string"`
6038
6039	// Specifies the DomainInformation for the destination Elasticsearch domain.
6040	DestinationDomainInfo *DomainInformation `type:"structure"`
6041
6042	// Specifies the DomainInformation for the source Elasticsearch domain.
6043	SourceDomainInfo *DomainInformation `type:"structure"`
6044}
6045
6046// String returns the string representation
6047func (s CreateOutboundCrossClusterSearchConnectionOutput) String() string {
6048	return awsutil.Prettify(s)
6049}
6050
6051// GoString returns the string representation
6052func (s CreateOutboundCrossClusterSearchConnectionOutput) GoString() string {
6053	return s.String()
6054}
6055
6056// SetConnectionAlias sets the ConnectionAlias field's value.
6057func (s *CreateOutboundCrossClusterSearchConnectionOutput) SetConnectionAlias(v string) *CreateOutboundCrossClusterSearchConnectionOutput {
6058	s.ConnectionAlias = &v
6059	return s
6060}
6061
6062// SetConnectionStatus sets the ConnectionStatus field's value.
6063func (s *CreateOutboundCrossClusterSearchConnectionOutput) SetConnectionStatus(v *OutboundCrossClusterSearchConnectionStatus) *CreateOutboundCrossClusterSearchConnectionOutput {
6064	s.ConnectionStatus = v
6065	return s
6066}
6067
6068// SetCrossClusterSearchConnectionId sets the CrossClusterSearchConnectionId field's value.
6069func (s *CreateOutboundCrossClusterSearchConnectionOutput) SetCrossClusterSearchConnectionId(v string) *CreateOutboundCrossClusterSearchConnectionOutput {
6070	s.CrossClusterSearchConnectionId = &v
6071	return s
6072}
6073
6074// SetDestinationDomainInfo sets the DestinationDomainInfo field's value.
6075func (s *CreateOutboundCrossClusterSearchConnectionOutput) SetDestinationDomainInfo(v *DomainInformation) *CreateOutboundCrossClusterSearchConnectionOutput {
6076	s.DestinationDomainInfo = v
6077	return s
6078}
6079
6080// SetSourceDomainInfo sets the SourceDomainInfo field's value.
6081func (s *CreateOutboundCrossClusterSearchConnectionOutput) SetSourceDomainInfo(v *DomainInformation) *CreateOutboundCrossClusterSearchConnectionOutput {
6082	s.SourceDomainInfo = v
6083	return s
6084}
6085
6086// Container for request parameters to CreatePackage operation.
6087type CreatePackageInput struct {
6088	_ struct{} `type:"structure"`
6089
6090	// Description of the package.
6091	PackageDescription *string `type:"string"`
6092
6093	// Unique identifier for the package.
6094	//
6095	// PackageName is a required field
6096	PackageName *string `min:"3" type:"string" required:"true"`
6097
6098	// The customer S3 location PackageSource for importing the package.
6099	//
6100	// PackageSource is a required field
6101	PackageSource *PackageSource `type:"structure" required:"true"`
6102
6103	// Type of package. Currently supports only TXT-DICTIONARY.
6104	//
6105	// PackageType is a required field
6106	PackageType *string `type:"string" required:"true" enum:"PackageType"`
6107}
6108
6109// String returns the string representation
6110func (s CreatePackageInput) String() string {
6111	return awsutil.Prettify(s)
6112}
6113
6114// GoString returns the string representation
6115func (s CreatePackageInput) GoString() string {
6116	return s.String()
6117}
6118
6119// Validate inspects the fields of the type to determine if they are valid.
6120func (s *CreatePackageInput) Validate() error {
6121	invalidParams := request.ErrInvalidParams{Context: "CreatePackageInput"}
6122	if s.PackageName == nil {
6123		invalidParams.Add(request.NewErrParamRequired("PackageName"))
6124	}
6125	if s.PackageName != nil && len(*s.PackageName) < 3 {
6126		invalidParams.Add(request.NewErrParamMinLen("PackageName", 3))
6127	}
6128	if s.PackageSource == nil {
6129		invalidParams.Add(request.NewErrParamRequired("PackageSource"))
6130	}
6131	if s.PackageType == nil {
6132		invalidParams.Add(request.NewErrParamRequired("PackageType"))
6133	}
6134	if s.PackageSource != nil {
6135		if err := s.PackageSource.Validate(); err != nil {
6136			invalidParams.AddNested("PackageSource", err.(request.ErrInvalidParams))
6137		}
6138	}
6139
6140	if invalidParams.Len() > 0 {
6141		return invalidParams
6142	}
6143	return nil
6144}
6145
6146// SetPackageDescription sets the PackageDescription field's value.
6147func (s *CreatePackageInput) SetPackageDescription(v string) *CreatePackageInput {
6148	s.PackageDescription = &v
6149	return s
6150}
6151
6152// SetPackageName sets the PackageName field's value.
6153func (s *CreatePackageInput) SetPackageName(v string) *CreatePackageInput {
6154	s.PackageName = &v
6155	return s
6156}
6157
6158// SetPackageSource sets the PackageSource field's value.
6159func (s *CreatePackageInput) SetPackageSource(v *PackageSource) *CreatePackageInput {
6160	s.PackageSource = v
6161	return s
6162}
6163
6164// SetPackageType sets the PackageType field's value.
6165func (s *CreatePackageInput) SetPackageType(v string) *CreatePackageInput {
6166	s.PackageType = &v
6167	return s
6168}
6169
6170// Container for response returned by CreatePackage operation.
6171type CreatePackageOutput struct {
6172	_ struct{} `type:"structure"`
6173
6174	// Information about the package PackageDetails.
6175	PackageDetails *PackageDetails `type:"structure"`
6176}
6177
6178// String returns the string representation
6179func (s CreatePackageOutput) String() string {
6180	return awsutil.Prettify(s)
6181}
6182
6183// GoString returns the string representation
6184func (s CreatePackageOutput) GoString() string {
6185	return s.String()
6186}
6187
6188// SetPackageDetails sets the PackageDetails field's value.
6189func (s *CreatePackageOutput) SetPackageDetails(v *PackageDetails) *CreatePackageOutput {
6190	s.PackageDetails = v
6191	return s
6192}
6193
6194// Container for the parameters to the DeleteElasticsearchDomain operation.
6195// Specifies the name of the Elasticsearch domain that you want to delete.
6196type DeleteElasticsearchDomainInput struct {
6197	_ struct{} `type:"structure"`
6198
6199	// The name of the Elasticsearch domain that you want to permanently delete.
6200	//
6201	// DomainName is a required field
6202	DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"`
6203}
6204
6205// String returns the string representation
6206func (s DeleteElasticsearchDomainInput) String() string {
6207	return awsutil.Prettify(s)
6208}
6209
6210// GoString returns the string representation
6211func (s DeleteElasticsearchDomainInput) GoString() string {
6212	return s.String()
6213}
6214
6215// Validate inspects the fields of the type to determine if they are valid.
6216func (s *DeleteElasticsearchDomainInput) Validate() error {
6217	invalidParams := request.ErrInvalidParams{Context: "DeleteElasticsearchDomainInput"}
6218	if s.DomainName == nil {
6219		invalidParams.Add(request.NewErrParamRequired("DomainName"))
6220	}
6221	if s.DomainName != nil && len(*s.DomainName) < 3 {
6222		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
6223	}
6224
6225	if invalidParams.Len() > 0 {
6226		return invalidParams
6227	}
6228	return nil
6229}
6230
6231// SetDomainName sets the DomainName field's value.
6232func (s *DeleteElasticsearchDomainInput) SetDomainName(v string) *DeleteElasticsearchDomainInput {
6233	s.DomainName = &v
6234	return s
6235}
6236
6237// The result of a DeleteElasticsearchDomain request. Contains the status of
6238// the pending deletion, or no status if the domain and all of its resources
6239// have been deleted.
6240type DeleteElasticsearchDomainOutput struct {
6241	_ struct{} `type:"structure"`
6242
6243	// The status of the Elasticsearch domain being deleted.
6244	DomainStatus *ElasticsearchDomainStatus `type:"structure"`
6245}
6246
6247// String returns the string representation
6248func (s DeleteElasticsearchDomainOutput) String() string {
6249	return awsutil.Prettify(s)
6250}
6251
6252// GoString returns the string representation
6253func (s DeleteElasticsearchDomainOutput) GoString() string {
6254	return s.String()
6255}
6256
6257// SetDomainStatus sets the DomainStatus field's value.
6258func (s *DeleteElasticsearchDomainOutput) SetDomainStatus(v *ElasticsearchDomainStatus) *DeleteElasticsearchDomainOutput {
6259	s.DomainStatus = v
6260	return s
6261}
6262
6263type DeleteElasticsearchServiceRoleInput struct {
6264	_ struct{} `type:"structure"`
6265}
6266
6267// String returns the string representation
6268func (s DeleteElasticsearchServiceRoleInput) String() string {
6269	return awsutil.Prettify(s)
6270}
6271
6272// GoString returns the string representation
6273func (s DeleteElasticsearchServiceRoleInput) GoString() string {
6274	return s.String()
6275}
6276
6277type DeleteElasticsearchServiceRoleOutput struct {
6278	_ struct{} `type:"structure"`
6279}
6280
6281// String returns the string representation
6282func (s DeleteElasticsearchServiceRoleOutput) String() string {
6283	return awsutil.Prettify(s)
6284}
6285
6286// GoString returns the string representation
6287func (s DeleteElasticsearchServiceRoleOutput) GoString() string {
6288	return s.String()
6289}
6290
6291// Container for the parameters to the DeleteInboundCrossClusterSearchConnection
6292// operation.
6293type DeleteInboundCrossClusterSearchConnectionInput struct {
6294	_ struct{} `type:"structure"`
6295
6296	// The id of the inbound connection that you want to permanently delete.
6297	//
6298	// CrossClusterSearchConnectionId is a required field
6299	CrossClusterSearchConnectionId *string `location:"uri" locationName:"ConnectionId" type:"string" required:"true"`
6300}
6301
6302// String returns the string representation
6303func (s DeleteInboundCrossClusterSearchConnectionInput) String() string {
6304	return awsutil.Prettify(s)
6305}
6306
6307// GoString returns the string representation
6308func (s DeleteInboundCrossClusterSearchConnectionInput) GoString() string {
6309	return s.String()
6310}
6311
6312// Validate inspects the fields of the type to determine if they are valid.
6313func (s *DeleteInboundCrossClusterSearchConnectionInput) Validate() error {
6314	invalidParams := request.ErrInvalidParams{Context: "DeleteInboundCrossClusterSearchConnectionInput"}
6315	if s.CrossClusterSearchConnectionId == nil {
6316		invalidParams.Add(request.NewErrParamRequired("CrossClusterSearchConnectionId"))
6317	}
6318	if s.CrossClusterSearchConnectionId != nil && len(*s.CrossClusterSearchConnectionId) < 1 {
6319		invalidParams.Add(request.NewErrParamMinLen("CrossClusterSearchConnectionId", 1))
6320	}
6321
6322	if invalidParams.Len() > 0 {
6323		return invalidParams
6324	}
6325	return nil
6326}
6327
6328// SetCrossClusterSearchConnectionId sets the CrossClusterSearchConnectionId field's value.
6329func (s *DeleteInboundCrossClusterSearchConnectionInput) SetCrossClusterSearchConnectionId(v string) *DeleteInboundCrossClusterSearchConnectionInput {
6330	s.CrossClusterSearchConnectionId = &v
6331	return s
6332}
6333
6334// The result of a DeleteInboundCrossClusterSearchConnection operation. Contains
6335// details of deleted inbound connection.
6336type DeleteInboundCrossClusterSearchConnectionOutput struct {
6337	_ struct{} `type:"structure"`
6338
6339	// Specifies the InboundCrossClusterSearchConnection of deleted inbound connection.
6340	CrossClusterSearchConnection *InboundCrossClusterSearchConnection `type:"structure"`
6341}
6342
6343// String returns the string representation
6344func (s DeleteInboundCrossClusterSearchConnectionOutput) String() string {
6345	return awsutil.Prettify(s)
6346}
6347
6348// GoString returns the string representation
6349func (s DeleteInboundCrossClusterSearchConnectionOutput) GoString() string {
6350	return s.String()
6351}
6352
6353// SetCrossClusterSearchConnection sets the CrossClusterSearchConnection field's value.
6354func (s *DeleteInboundCrossClusterSearchConnectionOutput) SetCrossClusterSearchConnection(v *InboundCrossClusterSearchConnection) *DeleteInboundCrossClusterSearchConnectionOutput {
6355	s.CrossClusterSearchConnection = v
6356	return s
6357}
6358
6359// Container for the parameters to the DeleteOutboundCrossClusterSearchConnection
6360// operation.
6361type DeleteOutboundCrossClusterSearchConnectionInput struct {
6362	_ struct{} `type:"structure"`
6363
6364	// The id of the outbound connection that you want to permanently delete.
6365	//
6366	// CrossClusterSearchConnectionId is a required field
6367	CrossClusterSearchConnectionId *string `location:"uri" locationName:"ConnectionId" type:"string" required:"true"`
6368}
6369
6370// String returns the string representation
6371func (s DeleteOutboundCrossClusterSearchConnectionInput) String() string {
6372	return awsutil.Prettify(s)
6373}
6374
6375// GoString returns the string representation
6376func (s DeleteOutboundCrossClusterSearchConnectionInput) GoString() string {
6377	return s.String()
6378}
6379
6380// Validate inspects the fields of the type to determine if they are valid.
6381func (s *DeleteOutboundCrossClusterSearchConnectionInput) Validate() error {
6382	invalidParams := request.ErrInvalidParams{Context: "DeleteOutboundCrossClusterSearchConnectionInput"}
6383	if s.CrossClusterSearchConnectionId == nil {
6384		invalidParams.Add(request.NewErrParamRequired("CrossClusterSearchConnectionId"))
6385	}
6386	if s.CrossClusterSearchConnectionId != nil && len(*s.CrossClusterSearchConnectionId) < 1 {
6387		invalidParams.Add(request.NewErrParamMinLen("CrossClusterSearchConnectionId", 1))
6388	}
6389
6390	if invalidParams.Len() > 0 {
6391		return invalidParams
6392	}
6393	return nil
6394}
6395
6396// SetCrossClusterSearchConnectionId sets the CrossClusterSearchConnectionId field's value.
6397func (s *DeleteOutboundCrossClusterSearchConnectionInput) SetCrossClusterSearchConnectionId(v string) *DeleteOutboundCrossClusterSearchConnectionInput {
6398	s.CrossClusterSearchConnectionId = &v
6399	return s
6400}
6401
6402// The result of a DeleteOutboundCrossClusterSearchConnection operation. Contains
6403// details of deleted outbound connection.
6404type DeleteOutboundCrossClusterSearchConnectionOutput struct {
6405	_ struct{} `type:"structure"`
6406
6407	// Specifies the OutboundCrossClusterSearchConnection of deleted outbound connection.
6408	CrossClusterSearchConnection *OutboundCrossClusterSearchConnection `type:"structure"`
6409}
6410
6411// String returns the string representation
6412func (s DeleteOutboundCrossClusterSearchConnectionOutput) String() string {
6413	return awsutil.Prettify(s)
6414}
6415
6416// GoString returns the string representation
6417func (s DeleteOutboundCrossClusterSearchConnectionOutput) GoString() string {
6418	return s.String()
6419}
6420
6421// SetCrossClusterSearchConnection sets the CrossClusterSearchConnection field's value.
6422func (s *DeleteOutboundCrossClusterSearchConnectionOutput) SetCrossClusterSearchConnection(v *OutboundCrossClusterSearchConnection) *DeleteOutboundCrossClusterSearchConnectionOutput {
6423	s.CrossClusterSearchConnection = v
6424	return s
6425}
6426
6427// Container for request parameters to DeletePackage operation.
6428type DeletePackageInput struct {
6429	_ struct{} `type:"structure"`
6430
6431	// Internal ID of the package that you want to delete. Use DescribePackages
6432	// to find this value.
6433	//
6434	// PackageID is a required field
6435	PackageID *string `location:"uri" locationName:"PackageID" type:"string" required:"true"`
6436}
6437
6438// String returns the string representation
6439func (s DeletePackageInput) String() string {
6440	return awsutil.Prettify(s)
6441}
6442
6443// GoString returns the string representation
6444func (s DeletePackageInput) GoString() string {
6445	return s.String()
6446}
6447
6448// Validate inspects the fields of the type to determine if they are valid.
6449func (s *DeletePackageInput) Validate() error {
6450	invalidParams := request.ErrInvalidParams{Context: "DeletePackageInput"}
6451	if s.PackageID == nil {
6452		invalidParams.Add(request.NewErrParamRequired("PackageID"))
6453	}
6454	if s.PackageID != nil && len(*s.PackageID) < 1 {
6455		invalidParams.Add(request.NewErrParamMinLen("PackageID", 1))
6456	}
6457
6458	if invalidParams.Len() > 0 {
6459		return invalidParams
6460	}
6461	return nil
6462}
6463
6464// SetPackageID sets the PackageID field's value.
6465func (s *DeletePackageInput) SetPackageID(v string) *DeletePackageInput {
6466	s.PackageID = &v
6467	return s
6468}
6469
6470// Container for response parameters to DeletePackage operation.
6471type DeletePackageOutput struct {
6472	_ struct{} `type:"structure"`
6473
6474	// PackageDetails
6475	PackageDetails *PackageDetails `type:"structure"`
6476}
6477
6478// String returns the string representation
6479func (s DeletePackageOutput) String() string {
6480	return awsutil.Prettify(s)
6481}
6482
6483// GoString returns the string representation
6484func (s DeletePackageOutput) GoString() string {
6485	return s.String()
6486}
6487
6488// SetPackageDetails sets the PackageDetails field's value.
6489func (s *DeletePackageOutput) SetPackageDetails(v *PackageDetails) *DeletePackageOutput {
6490	s.PackageDetails = v
6491	return s
6492}
6493
6494// Container for the parameters to the DescribeDomainAutoTunes operation.
6495type DescribeDomainAutoTunesInput struct {
6496	_ struct{} `type:"structure"`
6497
6498	// Specifies the domain name for which you want Auto-Tune action details.
6499	//
6500	// DomainName is a required field
6501	DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"`
6502
6503	// Set this value to limit the number of results returned. If not specified,
6504	// defaults to 100.
6505	MaxResults *int64 `type:"integer"`
6506
6507	// NextToken is sent in case the earlier API call results contain the NextToken.
6508	// It is used for pagination.
6509	NextToken *string `type:"string"`
6510}
6511
6512// String returns the string representation
6513func (s DescribeDomainAutoTunesInput) String() string {
6514	return awsutil.Prettify(s)
6515}
6516
6517// GoString returns the string representation
6518func (s DescribeDomainAutoTunesInput) GoString() string {
6519	return s.String()
6520}
6521
6522// Validate inspects the fields of the type to determine if they are valid.
6523func (s *DescribeDomainAutoTunesInput) Validate() error {
6524	invalidParams := request.ErrInvalidParams{Context: "DescribeDomainAutoTunesInput"}
6525	if s.DomainName == nil {
6526		invalidParams.Add(request.NewErrParamRequired("DomainName"))
6527	}
6528	if s.DomainName != nil && len(*s.DomainName) < 3 {
6529		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
6530	}
6531
6532	if invalidParams.Len() > 0 {
6533		return invalidParams
6534	}
6535	return nil
6536}
6537
6538// SetDomainName sets the DomainName field's value.
6539func (s *DescribeDomainAutoTunesInput) SetDomainName(v string) *DescribeDomainAutoTunesInput {
6540	s.DomainName = &v
6541	return s
6542}
6543
6544// SetMaxResults sets the MaxResults field's value.
6545func (s *DescribeDomainAutoTunesInput) SetMaxResults(v int64) *DescribeDomainAutoTunesInput {
6546	s.MaxResults = &v
6547	return s
6548}
6549
6550// SetNextToken sets the NextToken field's value.
6551func (s *DescribeDomainAutoTunesInput) SetNextToken(v string) *DescribeDomainAutoTunesInput {
6552	s.NextToken = &v
6553	return s
6554}
6555
6556// The result of DescribeDomainAutoTunes request. See the Developer Guide (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/auto-tune.html)
6557// for more information.
6558type DescribeDomainAutoTunesOutput struct {
6559	_ struct{} `type:"structure"`
6560
6561	// Specifies the list of setting adjustments that Auto-Tune has made to the
6562	// domain. See the Developer Guide (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/auto-tune.html)
6563	// for more information.
6564	AutoTunes []*AutoTune `type:"list"`
6565
6566	// Specifies an identifier to allow retrieval of paginated results.
6567	NextToken *string `type:"string"`
6568}
6569
6570// String returns the string representation
6571func (s DescribeDomainAutoTunesOutput) String() string {
6572	return awsutil.Prettify(s)
6573}
6574
6575// GoString returns the string representation
6576func (s DescribeDomainAutoTunesOutput) GoString() string {
6577	return s.String()
6578}
6579
6580// SetAutoTunes sets the AutoTunes field's value.
6581func (s *DescribeDomainAutoTunesOutput) SetAutoTunes(v []*AutoTune) *DescribeDomainAutoTunesOutput {
6582	s.AutoTunes = v
6583	return s
6584}
6585
6586// SetNextToken sets the NextToken field's value.
6587func (s *DescribeDomainAutoTunesOutput) SetNextToken(v string) *DescribeDomainAutoTunesOutput {
6588	s.NextToken = &v
6589	return s
6590}
6591
6592// Container for the parameters to the DescribeElasticsearchDomainConfig operation.
6593// Specifies the domain name for which you want configuration information.
6594type DescribeElasticsearchDomainConfigInput struct {
6595	_ struct{} `type:"structure"`
6596
6597	// The Elasticsearch domain that you want to get information about.
6598	//
6599	// DomainName is a required field
6600	DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"`
6601}
6602
6603// String returns the string representation
6604func (s DescribeElasticsearchDomainConfigInput) String() string {
6605	return awsutil.Prettify(s)
6606}
6607
6608// GoString returns the string representation
6609func (s DescribeElasticsearchDomainConfigInput) GoString() string {
6610	return s.String()
6611}
6612
6613// Validate inspects the fields of the type to determine if they are valid.
6614func (s *DescribeElasticsearchDomainConfigInput) Validate() error {
6615	invalidParams := request.ErrInvalidParams{Context: "DescribeElasticsearchDomainConfigInput"}
6616	if s.DomainName == nil {
6617		invalidParams.Add(request.NewErrParamRequired("DomainName"))
6618	}
6619	if s.DomainName != nil && len(*s.DomainName) < 3 {
6620		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
6621	}
6622
6623	if invalidParams.Len() > 0 {
6624		return invalidParams
6625	}
6626	return nil
6627}
6628
6629// SetDomainName sets the DomainName field's value.
6630func (s *DescribeElasticsearchDomainConfigInput) SetDomainName(v string) *DescribeElasticsearchDomainConfigInput {
6631	s.DomainName = &v
6632	return s
6633}
6634
6635// The result of a DescribeElasticsearchDomainConfig request. Contains the configuration
6636// information of the requested domain.
6637type DescribeElasticsearchDomainConfigOutput struct {
6638	_ struct{} `type:"structure"`
6639
6640	// The configuration information of the domain requested in the DescribeElasticsearchDomainConfig
6641	// request.
6642	//
6643	// DomainConfig is a required field
6644	DomainConfig *ElasticsearchDomainConfig `type:"structure" required:"true"`
6645}
6646
6647// String returns the string representation
6648func (s DescribeElasticsearchDomainConfigOutput) String() string {
6649	return awsutil.Prettify(s)
6650}
6651
6652// GoString returns the string representation
6653func (s DescribeElasticsearchDomainConfigOutput) GoString() string {
6654	return s.String()
6655}
6656
6657// SetDomainConfig sets the DomainConfig field's value.
6658func (s *DescribeElasticsearchDomainConfigOutput) SetDomainConfig(v *ElasticsearchDomainConfig) *DescribeElasticsearchDomainConfigOutput {
6659	s.DomainConfig = v
6660	return s
6661}
6662
6663// Container for the parameters to the DescribeElasticsearchDomain operation.
6664type DescribeElasticsearchDomainInput struct {
6665	_ struct{} `type:"structure"`
6666
6667	// The name of the Elasticsearch domain for which you want information.
6668	//
6669	// DomainName is a required field
6670	DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"`
6671}
6672
6673// String returns the string representation
6674func (s DescribeElasticsearchDomainInput) String() string {
6675	return awsutil.Prettify(s)
6676}
6677
6678// GoString returns the string representation
6679func (s DescribeElasticsearchDomainInput) GoString() string {
6680	return s.String()
6681}
6682
6683// Validate inspects the fields of the type to determine if they are valid.
6684func (s *DescribeElasticsearchDomainInput) Validate() error {
6685	invalidParams := request.ErrInvalidParams{Context: "DescribeElasticsearchDomainInput"}
6686	if s.DomainName == nil {
6687		invalidParams.Add(request.NewErrParamRequired("DomainName"))
6688	}
6689	if s.DomainName != nil && len(*s.DomainName) < 3 {
6690		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
6691	}
6692
6693	if invalidParams.Len() > 0 {
6694		return invalidParams
6695	}
6696	return nil
6697}
6698
6699// SetDomainName sets the DomainName field's value.
6700func (s *DescribeElasticsearchDomainInput) SetDomainName(v string) *DescribeElasticsearchDomainInput {
6701	s.DomainName = &v
6702	return s
6703}
6704
6705// The result of a DescribeElasticsearchDomain request. Contains the status
6706// of the domain specified in the request.
6707type DescribeElasticsearchDomainOutput struct {
6708	_ struct{} `type:"structure"`
6709
6710	// The current status of the Elasticsearch domain.
6711	//
6712	// DomainStatus is a required field
6713	DomainStatus *ElasticsearchDomainStatus `type:"structure" required:"true"`
6714}
6715
6716// String returns the string representation
6717func (s DescribeElasticsearchDomainOutput) String() string {
6718	return awsutil.Prettify(s)
6719}
6720
6721// GoString returns the string representation
6722func (s DescribeElasticsearchDomainOutput) GoString() string {
6723	return s.String()
6724}
6725
6726// SetDomainStatus sets the DomainStatus field's value.
6727func (s *DescribeElasticsearchDomainOutput) SetDomainStatus(v *ElasticsearchDomainStatus) *DescribeElasticsearchDomainOutput {
6728	s.DomainStatus = v
6729	return s
6730}
6731
6732// Container for the parameters to the DescribeElasticsearchDomains operation.
6733// By default, the API returns the status of all Elasticsearch domains.
6734type DescribeElasticsearchDomainsInput struct {
6735	_ struct{} `type:"structure"`
6736
6737	// The Elasticsearch domains for which you want information.
6738	//
6739	// DomainNames is a required field
6740	DomainNames []*string `type:"list" required:"true"`
6741}
6742
6743// String returns the string representation
6744func (s DescribeElasticsearchDomainsInput) String() string {
6745	return awsutil.Prettify(s)
6746}
6747
6748// GoString returns the string representation
6749func (s DescribeElasticsearchDomainsInput) GoString() string {
6750	return s.String()
6751}
6752
6753// Validate inspects the fields of the type to determine if they are valid.
6754func (s *DescribeElasticsearchDomainsInput) Validate() error {
6755	invalidParams := request.ErrInvalidParams{Context: "DescribeElasticsearchDomainsInput"}
6756	if s.DomainNames == nil {
6757		invalidParams.Add(request.NewErrParamRequired("DomainNames"))
6758	}
6759
6760	if invalidParams.Len() > 0 {
6761		return invalidParams
6762	}
6763	return nil
6764}
6765
6766// SetDomainNames sets the DomainNames field's value.
6767func (s *DescribeElasticsearchDomainsInput) SetDomainNames(v []*string) *DescribeElasticsearchDomainsInput {
6768	s.DomainNames = v
6769	return s
6770}
6771
6772// The result of a DescribeElasticsearchDomains request. Contains the status
6773// of the specified domains or all domains owned by the account.
6774type DescribeElasticsearchDomainsOutput struct {
6775	_ struct{} `type:"structure"`
6776
6777	// The status of the domains requested in the DescribeElasticsearchDomains request.
6778	//
6779	// DomainStatusList is a required field
6780	DomainStatusList []*ElasticsearchDomainStatus `type:"list" required:"true"`
6781}
6782
6783// String returns the string representation
6784func (s DescribeElasticsearchDomainsOutput) String() string {
6785	return awsutil.Prettify(s)
6786}
6787
6788// GoString returns the string representation
6789func (s DescribeElasticsearchDomainsOutput) GoString() string {
6790	return s.String()
6791}
6792
6793// SetDomainStatusList sets the DomainStatusList field's value.
6794func (s *DescribeElasticsearchDomainsOutput) SetDomainStatusList(v []*ElasticsearchDomainStatus) *DescribeElasticsearchDomainsOutput {
6795	s.DomainStatusList = v
6796	return s
6797}
6798
6799// Container for the parameters to DescribeElasticsearchInstanceTypeLimits operation.
6800type DescribeElasticsearchInstanceTypeLimitsInput struct {
6801	_ struct{} `type:"structure"`
6802
6803	// DomainName represents the name of the Domain that we are trying to modify.
6804	// This should be present only if we are querying for Elasticsearch Limits for
6805	// existing domain.
6806	DomainName *string `location:"querystring" locationName:"domainName" min:"3" type:"string"`
6807
6808	// Version of Elasticsearch for which Limits are needed.
6809	//
6810	// ElasticsearchVersion is a required field
6811	ElasticsearchVersion *string `location:"uri" locationName:"ElasticsearchVersion" type:"string" required:"true"`
6812
6813	// The instance type for an Elasticsearch cluster for which Elasticsearch Limits
6814	// are needed.
6815	//
6816	// InstanceType is a required field
6817	InstanceType *string `location:"uri" locationName:"InstanceType" type:"string" required:"true" enum:"ESPartitionInstanceType"`
6818}
6819
6820// String returns the string representation
6821func (s DescribeElasticsearchInstanceTypeLimitsInput) String() string {
6822	return awsutil.Prettify(s)
6823}
6824
6825// GoString returns the string representation
6826func (s DescribeElasticsearchInstanceTypeLimitsInput) GoString() string {
6827	return s.String()
6828}
6829
6830// Validate inspects the fields of the type to determine if they are valid.
6831func (s *DescribeElasticsearchInstanceTypeLimitsInput) Validate() error {
6832	invalidParams := request.ErrInvalidParams{Context: "DescribeElasticsearchInstanceTypeLimitsInput"}
6833	if s.DomainName != nil && len(*s.DomainName) < 3 {
6834		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
6835	}
6836	if s.ElasticsearchVersion == nil {
6837		invalidParams.Add(request.NewErrParamRequired("ElasticsearchVersion"))
6838	}
6839	if s.ElasticsearchVersion != nil && len(*s.ElasticsearchVersion) < 1 {
6840		invalidParams.Add(request.NewErrParamMinLen("ElasticsearchVersion", 1))
6841	}
6842	if s.InstanceType == nil {
6843		invalidParams.Add(request.NewErrParamRequired("InstanceType"))
6844	}
6845	if s.InstanceType != nil && len(*s.InstanceType) < 1 {
6846		invalidParams.Add(request.NewErrParamMinLen("InstanceType", 1))
6847	}
6848
6849	if invalidParams.Len() > 0 {
6850		return invalidParams
6851	}
6852	return nil
6853}
6854
6855// SetDomainName sets the DomainName field's value.
6856func (s *DescribeElasticsearchInstanceTypeLimitsInput) SetDomainName(v string) *DescribeElasticsearchInstanceTypeLimitsInput {
6857	s.DomainName = &v
6858	return s
6859}
6860
6861// SetElasticsearchVersion sets the ElasticsearchVersion field's value.
6862func (s *DescribeElasticsearchInstanceTypeLimitsInput) SetElasticsearchVersion(v string) *DescribeElasticsearchInstanceTypeLimitsInput {
6863	s.ElasticsearchVersion = &v
6864	return s
6865}
6866
6867// SetInstanceType sets the InstanceType field's value.
6868func (s *DescribeElasticsearchInstanceTypeLimitsInput) SetInstanceType(v string) *DescribeElasticsearchInstanceTypeLimitsInput {
6869	s.InstanceType = &v
6870	return s
6871}
6872
6873// Container for the parameters received from DescribeElasticsearchInstanceTypeLimits
6874// operation.
6875type DescribeElasticsearchInstanceTypeLimitsOutput struct {
6876	_ struct{} `type:"structure"`
6877
6878	// Map of Role of the Instance and Limits that are applicable. Role performed
6879	// by given Instance in Elasticsearch can be one of the following:
6880	//    * data: If the given InstanceType is used as data node
6881	//
6882	//    * master: If the given InstanceType is used as master node
6883	//
6884	//    * ultra_warm: If the given InstanceType is used as warm node
6885	LimitsByRole map[string]*Limits `type:"map"`
6886}
6887
6888// String returns the string representation
6889func (s DescribeElasticsearchInstanceTypeLimitsOutput) String() string {
6890	return awsutil.Prettify(s)
6891}
6892
6893// GoString returns the string representation
6894func (s DescribeElasticsearchInstanceTypeLimitsOutput) GoString() string {
6895	return s.String()
6896}
6897
6898// SetLimitsByRole sets the LimitsByRole field's value.
6899func (s *DescribeElasticsearchInstanceTypeLimitsOutput) SetLimitsByRole(v map[string]*Limits) *DescribeElasticsearchInstanceTypeLimitsOutput {
6900	s.LimitsByRole = v
6901	return s
6902}
6903
6904// Container for the parameters to the DescribeInboundCrossClusterSearchConnections
6905// operation.
6906type DescribeInboundCrossClusterSearchConnectionsInput struct {
6907	_ struct{} `type:"structure"`
6908
6909	// A list of filters used to match properties for inbound cross-cluster search
6910	// connection. Available Filter names for this operation are:
6911	//    * cross-cluster-search-connection-id
6912	//
6913	//    * source-domain-info.domain-name
6914	//
6915	//    * source-domain-info.owner-id
6916	//
6917	//    * source-domain-info.region
6918	//
6919	//    * destination-domain-info.domain-name
6920	Filters []*Filter `type:"list"`
6921
6922	// Set this value to limit the number of results returned. If not specified,
6923	// defaults to 100.
6924	MaxResults *int64 `type:"integer"`
6925
6926	// NextToken is sent in case the earlier API call results contain the NextToken.
6927	// It is used for pagination.
6928	NextToken *string `type:"string"`
6929}
6930
6931// String returns the string representation
6932func (s DescribeInboundCrossClusterSearchConnectionsInput) String() string {
6933	return awsutil.Prettify(s)
6934}
6935
6936// GoString returns the string representation
6937func (s DescribeInboundCrossClusterSearchConnectionsInput) GoString() string {
6938	return s.String()
6939}
6940
6941// Validate inspects the fields of the type to determine if they are valid.
6942func (s *DescribeInboundCrossClusterSearchConnectionsInput) Validate() error {
6943	invalidParams := request.ErrInvalidParams{Context: "DescribeInboundCrossClusterSearchConnectionsInput"}
6944	if s.Filters != nil {
6945		for i, v := range s.Filters {
6946			if v == nil {
6947				continue
6948			}
6949			if err := v.Validate(); err != nil {
6950				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
6951			}
6952		}
6953	}
6954
6955	if invalidParams.Len() > 0 {
6956		return invalidParams
6957	}
6958	return nil
6959}
6960
6961// SetFilters sets the Filters field's value.
6962func (s *DescribeInboundCrossClusterSearchConnectionsInput) SetFilters(v []*Filter) *DescribeInboundCrossClusterSearchConnectionsInput {
6963	s.Filters = v
6964	return s
6965}
6966
6967// SetMaxResults sets the MaxResults field's value.
6968func (s *DescribeInboundCrossClusterSearchConnectionsInput) SetMaxResults(v int64) *DescribeInboundCrossClusterSearchConnectionsInput {
6969	s.MaxResults = &v
6970	return s
6971}
6972
6973// SetNextToken sets the NextToken field's value.
6974func (s *DescribeInboundCrossClusterSearchConnectionsInput) SetNextToken(v string) *DescribeInboundCrossClusterSearchConnectionsInput {
6975	s.NextToken = &v
6976	return s
6977}
6978
6979// The result of a DescribeInboundCrossClusterSearchConnections request. Contains
6980// the list of connections matching the filter criteria.
6981type DescribeInboundCrossClusterSearchConnectionsOutput struct {
6982	_ struct{} `type:"structure"`
6983
6984	// Consists of list of InboundCrossClusterSearchConnection matching the specified
6985	// filter criteria.
6986	CrossClusterSearchConnections []*InboundCrossClusterSearchConnection `type:"list"`
6987
6988	// If more results are available and NextToken is present, make the next request
6989	// to the same API with the received NextToken to paginate the remaining results.
6990	NextToken *string `type:"string"`
6991}
6992
6993// String returns the string representation
6994func (s DescribeInboundCrossClusterSearchConnectionsOutput) String() string {
6995	return awsutil.Prettify(s)
6996}
6997
6998// GoString returns the string representation
6999func (s DescribeInboundCrossClusterSearchConnectionsOutput) GoString() string {
7000	return s.String()
7001}
7002
7003// SetCrossClusterSearchConnections sets the CrossClusterSearchConnections field's value.
7004func (s *DescribeInboundCrossClusterSearchConnectionsOutput) SetCrossClusterSearchConnections(v []*InboundCrossClusterSearchConnection) *DescribeInboundCrossClusterSearchConnectionsOutput {
7005	s.CrossClusterSearchConnections = v
7006	return s
7007}
7008
7009// SetNextToken sets the NextToken field's value.
7010func (s *DescribeInboundCrossClusterSearchConnectionsOutput) SetNextToken(v string) *DescribeInboundCrossClusterSearchConnectionsOutput {
7011	s.NextToken = &v
7012	return s
7013}
7014
7015// Container for the parameters to the DescribeOutboundCrossClusterSearchConnections
7016// operation.
7017type DescribeOutboundCrossClusterSearchConnectionsInput struct {
7018	_ struct{} `type:"structure"`
7019
7020	// A list of filters used to match properties for outbound cross-cluster search
7021	// connection. Available Filter names for this operation are:
7022	//    * cross-cluster-search-connection-id
7023	//
7024	//    * destination-domain-info.domain-name
7025	//
7026	//    * destination-domain-info.owner-id
7027	//
7028	//    * destination-domain-info.region
7029	//
7030	//    * source-domain-info.domain-name
7031	Filters []*Filter `type:"list"`
7032
7033	// Set this value to limit the number of results returned. If not specified,
7034	// defaults to 100.
7035	MaxResults *int64 `type:"integer"`
7036
7037	// NextToken is sent in case the earlier API call results contain the NextToken.
7038	// It is used for pagination.
7039	NextToken *string `type:"string"`
7040}
7041
7042// String returns the string representation
7043func (s DescribeOutboundCrossClusterSearchConnectionsInput) String() string {
7044	return awsutil.Prettify(s)
7045}
7046
7047// GoString returns the string representation
7048func (s DescribeOutboundCrossClusterSearchConnectionsInput) GoString() string {
7049	return s.String()
7050}
7051
7052// Validate inspects the fields of the type to determine if they are valid.
7053func (s *DescribeOutboundCrossClusterSearchConnectionsInput) Validate() error {
7054	invalidParams := request.ErrInvalidParams{Context: "DescribeOutboundCrossClusterSearchConnectionsInput"}
7055	if s.Filters != nil {
7056		for i, v := range s.Filters {
7057			if v == nil {
7058				continue
7059			}
7060			if err := v.Validate(); err != nil {
7061				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
7062			}
7063		}
7064	}
7065
7066	if invalidParams.Len() > 0 {
7067		return invalidParams
7068	}
7069	return nil
7070}
7071
7072// SetFilters sets the Filters field's value.
7073func (s *DescribeOutboundCrossClusterSearchConnectionsInput) SetFilters(v []*Filter) *DescribeOutboundCrossClusterSearchConnectionsInput {
7074	s.Filters = v
7075	return s
7076}
7077
7078// SetMaxResults sets the MaxResults field's value.
7079func (s *DescribeOutboundCrossClusterSearchConnectionsInput) SetMaxResults(v int64) *DescribeOutboundCrossClusterSearchConnectionsInput {
7080	s.MaxResults = &v
7081	return s
7082}
7083
7084// SetNextToken sets the NextToken field's value.
7085func (s *DescribeOutboundCrossClusterSearchConnectionsInput) SetNextToken(v string) *DescribeOutboundCrossClusterSearchConnectionsInput {
7086	s.NextToken = &v
7087	return s
7088}
7089
7090// The result of a DescribeOutboundCrossClusterSearchConnections request. Contains
7091// the list of connections matching the filter criteria.
7092type DescribeOutboundCrossClusterSearchConnectionsOutput struct {
7093	_ struct{} `type:"structure"`
7094
7095	// Consists of list of OutboundCrossClusterSearchConnection matching the specified
7096	// filter criteria.
7097	CrossClusterSearchConnections []*OutboundCrossClusterSearchConnection `type:"list"`
7098
7099	// If more results are available and NextToken is present, make the next request
7100	// to the same API with the received NextToken to paginate the remaining results.
7101	NextToken *string `type:"string"`
7102}
7103
7104// String returns the string representation
7105func (s DescribeOutboundCrossClusterSearchConnectionsOutput) String() string {
7106	return awsutil.Prettify(s)
7107}
7108
7109// GoString returns the string representation
7110func (s DescribeOutboundCrossClusterSearchConnectionsOutput) GoString() string {
7111	return s.String()
7112}
7113
7114// SetCrossClusterSearchConnections sets the CrossClusterSearchConnections field's value.
7115func (s *DescribeOutboundCrossClusterSearchConnectionsOutput) SetCrossClusterSearchConnections(v []*OutboundCrossClusterSearchConnection) *DescribeOutboundCrossClusterSearchConnectionsOutput {
7116	s.CrossClusterSearchConnections = v
7117	return s
7118}
7119
7120// SetNextToken sets the NextToken field's value.
7121func (s *DescribeOutboundCrossClusterSearchConnectionsOutput) SetNextToken(v string) *DescribeOutboundCrossClusterSearchConnectionsOutput {
7122	s.NextToken = &v
7123	return s
7124}
7125
7126// Filter to apply in DescribePackage response.
7127type DescribePackagesFilter struct {
7128	_ struct{} `type:"structure"`
7129
7130	// Any field from PackageDetails.
7131	Name *string `type:"string" enum:"DescribePackagesFilterName"`
7132
7133	// A list of values for the specified field.
7134	Value []*string `type:"list"`
7135}
7136
7137// String returns the string representation
7138func (s DescribePackagesFilter) String() string {
7139	return awsutil.Prettify(s)
7140}
7141
7142// GoString returns the string representation
7143func (s DescribePackagesFilter) GoString() string {
7144	return s.String()
7145}
7146
7147// SetName sets the Name field's value.
7148func (s *DescribePackagesFilter) SetName(v string) *DescribePackagesFilter {
7149	s.Name = &v
7150	return s
7151}
7152
7153// SetValue sets the Value field's value.
7154func (s *DescribePackagesFilter) SetValue(v []*string) *DescribePackagesFilter {
7155	s.Value = v
7156	return s
7157}
7158
7159// Container for request parameters to DescribePackage operation.
7160type DescribePackagesInput struct {
7161	_ struct{} `type:"structure"`
7162
7163	// Only returns packages that match the DescribePackagesFilterList values.
7164	Filters []*DescribePackagesFilter `type:"list"`
7165
7166	// Limits results to a maximum number of packages.
7167	MaxResults *int64 `type:"integer"`
7168
7169	// Used for pagination. Only necessary if a previous API call includes a non-null
7170	// NextToken value. If provided, returns results for the next page.
7171	NextToken *string `type:"string"`
7172}
7173
7174// String returns the string representation
7175func (s DescribePackagesInput) String() string {
7176	return awsutil.Prettify(s)
7177}
7178
7179// GoString returns the string representation
7180func (s DescribePackagesInput) GoString() string {
7181	return s.String()
7182}
7183
7184// SetFilters sets the Filters field's value.
7185func (s *DescribePackagesInput) SetFilters(v []*DescribePackagesFilter) *DescribePackagesInput {
7186	s.Filters = v
7187	return s
7188}
7189
7190// SetMaxResults sets the MaxResults field's value.
7191func (s *DescribePackagesInput) SetMaxResults(v int64) *DescribePackagesInput {
7192	s.MaxResults = &v
7193	return s
7194}
7195
7196// SetNextToken sets the NextToken field's value.
7197func (s *DescribePackagesInput) SetNextToken(v string) *DescribePackagesInput {
7198	s.NextToken = &v
7199	return s
7200}
7201
7202// Container for response returned by DescribePackages operation.
7203type DescribePackagesOutput struct {
7204	_ struct{} `type:"structure"`
7205
7206	NextToken *string `type:"string"`
7207
7208	// List of PackageDetails objects.
7209	PackageDetailsList []*PackageDetails `type:"list"`
7210}
7211
7212// String returns the string representation
7213func (s DescribePackagesOutput) String() string {
7214	return awsutil.Prettify(s)
7215}
7216
7217// GoString returns the string representation
7218func (s DescribePackagesOutput) GoString() string {
7219	return s.String()
7220}
7221
7222// SetNextToken sets the NextToken field's value.
7223func (s *DescribePackagesOutput) SetNextToken(v string) *DescribePackagesOutput {
7224	s.NextToken = &v
7225	return s
7226}
7227
7228// SetPackageDetailsList sets the PackageDetailsList field's value.
7229func (s *DescribePackagesOutput) SetPackageDetailsList(v []*PackageDetails) *DescribePackagesOutput {
7230	s.PackageDetailsList = v
7231	return s
7232}
7233
7234// Container for parameters to DescribeReservedElasticsearchInstanceOfferings
7235type DescribeReservedElasticsearchInstanceOfferingsInput struct {
7236	_ struct{} `type:"structure"`
7237
7238	// Set this value to limit the number of results returned. If not specified,
7239	// defaults to 100.
7240	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
7241
7242	// NextToken should be sent in case if earlier API call produced result containing
7243	// NextToken. It is used for pagination.
7244	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
7245
7246	// The offering identifier filter value. Use this parameter to show only the
7247	// available offering that matches the specified reservation identifier.
7248	ReservedElasticsearchInstanceOfferingId *string `location:"querystring" locationName:"offeringId" type:"string"`
7249}
7250
7251// String returns the string representation
7252func (s DescribeReservedElasticsearchInstanceOfferingsInput) String() string {
7253	return awsutil.Prettify(s)
7254}
7255
7256// GoString returns the string representation
7257func (s DescribeReservedElasticsearchInstanceOfferingsInput) GoString() string {
7258	return s.String()
7259}
7260
7261// SetMaxResults sets the MaxResults field's value.
7262func (s *DescribeReservedElasticsearchInstanceOfferingsInput) SetMaxResults(v int64) *DescribeReservedElasticsearchInstanceOfferingsInput {
7263	s.MaxResults = &v
7264	return s
7265}
7266
7267// SetNextToken sets the NextToken field's value.
7268func (s *DescribeReservedElasticsearchInstanceOfferingsInput) SetNextToken(v string) *DescribeReservedElasticsearchInstanceOfferingsInput {
7269	s.NextToken = &v
7270	return s
7271}
7272
7273// SetReservedElasticsearchInstanceOfferingId sets the ReservedElasticsearchInstanceOfferingId field's value.
7274func (s *DescribeReservedElasticsearchInstanceOfferingsInput) SetReservedElasticsearchInstanceOfferingId(v string) *DescribeReservedElasticsearchInstanceOfferingsInput {
7275	s.ReservedElasticsearchInstanceOfferingId = &v
7276	return s
7277}
7278
7279// Container for results from DescribeReservedElasticsearchInstanceOfferings
7280type DescribeReservedElasticsearchInstanceOfferingsOutput struct {
7281	_ struct{} `type:"structure"`
7282
7283	// Provides an identifier to allow retrieval of paginated results.
7284	NextToken *string `type:"string"`
7285
7286	// List of reserved Elasticsearch instance offerings
7287	ReservedElasticsearchInstanceOfferings []*ReservedElasticsearchInstanceOffering `type:"list"`
7288}
7289
7290// String returns the string representation
7291func (s DescribeReservedElasticsearchInstanceOfferingsOutput) String() string {
7292	return awsutil.Prettify(s)
7293}
7294
7295// GoString returns the string representation
7296func (s DescribeReservedElasticsearchInstanceOfferingsOutput) GoString() string {
7297	return s.String()
7298}
7299
7300// SetNextToken sets the NextToken field's value.
7301func (s *DescribeReservedElasticsearchInstanceOfferingsOutput) SetNextToken(v string) *DescribeReservedElasticsearchInstanceOfferingsOutput {
7302	s.NextToken = &v
7303	return s
7304}
7305
7306// SetReservedElasticsearchInstanceOfferings sets the ReservedElasticsearchInstanceOfferings field's value.
7307func (s *DescribeReservedElasticsearchInstanceOfferingsOutput) SetReservedElasticsearchInstanceOfferings(v []*ReservedElasticsearchInstanceOffering) *DescribeReservedElasticsearchInstanceOfferingsOutput {
7308	s.ReservedElasticsearchInstanceOfferings = v
7309	return s
7310}
7311
7312// Container for parameters to DescribeReservedElasticsearchInstances
7313type DescribeReservedElasticsearchInstancesInput struct {
7314	_ struct{} `type:"structure"`
7315
7316	// Set this value to limit the number of results returned. If not specified,
7317	// defaults to 100.
7318	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
7319
7320	// NextToken should be sent in case if earlier API call produced result containing
7321	// NextToken. It is used for pagination.
7322	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
7323
7324	// The reserved instance identifier filter value. Use this parameter to show
7325	// only the reservation that matches the specified reserved Elasticsearch instance
7326	// ID.
7327	ReservedElasticsearchInstanceId *string `location:"querystring" locationName:"reservationId" type:"string"`
7328}
7329
7330// String returns the string representation
7331func (s DescribeReservedElasticsearchInstancesInput) String() string {
7332	return awsutil.Prettify(s)
7333}
7334
7335// GoString returns the string representation
7336func (s DescribeReservedElasticsearchInstancesInput) GoString() string {
7337	return s.String()
7338}
7339
7340// SetMaxResults sets the MaxResults field's value.
7341func (s *DescribeReservedElasticsearchInstancesInput) SetMaxResults(v int64) *DescribeReservedElasticsearchInstancesInput {
7342	s.MaxResults = &v
7343	return s
7344}
7345
7346// SetNextToken sets the NextToken field's value.
7347func (s *DescribeReservedElasticsearchInstancesInput) SetNextToken(v string) *DescribeReservedElasticsearchInstancesInput {
7348	s.NextToken = &v
7349	return s
7350}
7351
7352// SetReservedElasticsearchInstanceId sets the ReservedElasticsearchInstanceId field's value.
7353func (s *DescribeReservedElasticsearchInstancesInput) SetReservedElasticsearchInstanceId(v string) *DescribeReservedElasticsearchInstancesInput {
7354	s.ReservedElasticsearchInstanceId = &v
7355	return s
7356}
7357
7358// Container for results from DescribeReservedElasticsearchInstances
7359type DescribeReservedElasticsearchInstancesOutput struct {
7360	_ struct{} `type:"structure"`
7361
7362	// Provides an identifier to allow retrieval of paginated results.
7363	NextToken *string `type:"string"`
7364
7365	// List of reserved Elasticsearch instances.
7366	ReservedElasticsearchInstances []*ReservedElasticsearchInstance `type:"list"`
7367}
7368
7369// String returns the string representation
7370func (s DescribeReservedElasticsearchInstancesOutput) String() string {
7371	return awsutil.Prettify(s)
7372}
7373
7374// GoString returns the string representation
7375func (s DescribeReservedElasticsearchInstancesOutput) GoString() string {
7376	return s.String()
7377}
7378
7379// SetNextToken sets the NextToken field's value.
7380func (s *DescribeReservedElasticsearchInstancesOutput) SetNextToken(v string) *DescribeReservedElasticsearchInstancesOutput {
7381	s.NextToken = &v
7382	return s
7383}
7384
7385// SetReservedElasticsearchInstances sets the ReservedElasticsearchInstances field's value.
7386func (s *DescribeReservedElasticsearchInstancesOutput) SetReservedElasticsearchInstances(v []*ReservedElasticsearchInstance) *DescribeReservedElasticsearchInstancesOutput {
7387	s.ReservedElasticsearchInstances = v
7388	return s
7389}
7390
7391// An error occured because the client wanted to access a not supported operation.
7392// Gives http status code of 409.
7393type DisabledOperationException struct {
7394	_            struct{}                  `type:"structure"`
7395	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7396
7397	Message_ *string `locationName:"message" type:"string"`
7398}
7399
7400// String returns the string representation
7401func (s DisabledOperationException) String() string {
7402	return awsutil.Prettify(s)
7403}
7404
7405// GoString returns the string representation
7406func (s DisabledOperationException) GoString() string {
7407	return s.String()
7408}
7409
7410func newErrorDisabledOperationException(v protocol.ResponseMetadata) error {
7411	return &DisabledOperationException{
7412		RespMetadata: v,
7413	}
7414}
7415
7416// Code returns the exception type name.
7417func (s *DisabledOperationException) Code() string {
7418	return "DisabledOperationException"
7419}
7420
7421// Message returns the exception's message.
7422func (s *DisabledOperationException) Message() string {
7423	if s.Message_ != nil {
7424		return *s.Message_
7425	}
7426	return ""
7427}
7428
7429// OrigErr always returns nil, satisfies awserr.Error interface.
7430func (s *DisabledOperationException) OrigErr() error {
7431	return nil
7432}
7433
7434func (s *DisabledOperationException) Error() string {
7435	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
7436}
7437
7438// Status code returns the HTTP status code for the request's response error.
7439func (s *DisabledOperationException) StatusCode() int {
7440	return s.RespMetadata.StatusCode
7441}
7442
7443// RequestID returns the service's response RequestID for request.
7444func (s *DisabledOperationException) RequestID() string {
7445	return s.RespMetadata.RequestID
7446}
7447
7448// Container for request parameters to DissociatePackage operation.
7449type DissociatePackageInput struct {
7450	_ struct{} `type:"structure"`
7451
7452	// Name of the domain that you want to associate the package with.
7453	//
7454	// DomainName is a required field
7455	DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"`
7456
7457	// Internal ID of the package that you want to associate with a domain. Use
7458	// DescribePackages to find this value.
7459	//
7460	// PackageID is a required field
7461	PackageID *string `location:"uri" locationName:"PackageID" type:"string" required:"true"`
7462}
7463
7464// String returns the string representation
7465func (s DissociatePackageInput) String() string {
7466	return awsutil.Prettify(s)
7467}
7468
7469// GoString returns the string representation
7470func (s DissociatePackageInput) GoString() string {
7471	return s.String()
7472}
7473
7474// Validate inspects the fields of the type to determine if they are valid.
7475func (s *DissociatePackageInput) Validate() error {
7476	invalidParams := request.ErrInvalidParams{Context: "DissociatePackageInput"}
7477	if s.DomainName == nil {
7478		invalidParams.Add(request.NewErrParamRequired("DomainName"))
7479	}
7480	if s.DomainName != nil && len(*s.DomainName) < 3 {
7481		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
7482	}
7483	if s.PackageID == nil {
7484		invalidParams.Add(request.NewErrParamRequired("PackageID"))
7485	}
7486	if s.PackageID != nil && len(*s.PackageID) < 1 {
7487		invalidParams.Add(request.NewErrParamMinLen("PackageID", 1))
7488	}
7489
7490	if invalidParams.Len() > 0 {
7491		return invalidParams
7492	}
7493	return nil
7494}
7495
7496// SetDomainName sets the DomainName field's value.
7497func (s *DissociatePackageInput) SetDomainName(v string) *DissociatePackageInput {
7498	s.DomainName = &v
7499	return s
7500}
7501
7502// SetPackageID sets the PackageID field's value.
7503func (s *DissociatePackageInput) SetPackageID(v string) *DissociatePackageInput {
7504	s.PackageID = &v
7505	return s
7506}
7507
7508// Container for response returned by DissociatePackage operation.
7509type DissociatePackageOutput struct {
7510	_ struct{} `type:"structure"`
7511
7512	// DomainPackageDetails
7513	DomainPackageDetails *DomainPackageDetails `type:"structure"`
7514}
7515
7516// String returns the string representation
7517func (s DissociatePackageOutput) String() string {
7518	return awsutil.Prettify(s)
7519}
7520
7521// GoString returns the string representation
7522func (s DissociatePackageOutput) GoString() string {
7523	return s.String()
7524}
7525
7526// SetDomainPackageDetails sets the DomainPackageDetails field's value.
7527func (s *DissociatePackageOutput) SetDomainPackageDetails(v *DomainPackageDetails) *DissociatePackageOutput {
7528	s.DomainPackageDetails = v
7529	return s
7530}
7531
7532// Options to configure endpoint for the Elasticsearch domain.
7533type DomainEndpointOptions struct {
7534	_ struct{} `type:"structure"`
7535
7536	// Specify the fully qualified domain for your custom endpoint.
7537	CustomEndpoint *string `min:"1" type:"string"`
7538
7539	// Specify ACM certificate ARN for your custom endpoint.
7540	CustomEndpointCertificateArn *string `type:"string"`
7541
7542	// Specify if custom endpoint should be enabled for the Elasticsearch domain.
7543	CustomEndpointEnabled *bool `type:"boolean"`
7544
7545	// Specify if only HTTPS endpoint should be enabled for the Elasticsearch domain.
7546	EnforceHTTPS *bool `type:"boolean"`
7547
7548	// Specify the TLS security policy that needs to be applied to the HTTPS endpoint
7549	// of Elasticsearch domain. It can be one of the following values:
7550	//    * Policy-Min-TLS-1-0-2019-07: TLS security policy which supports TLSv1.0
7551	//    and higher.
7552	//
7553	//    * Policy-Min-TLS-1-2-2019-07: TLS security policy which supports only
7554	//    TLSv1.2
7555	TLSSecurityPolicy *string `type:"string" enum:"TLSSecurityPolicy"`
7556}
7557
7558// String returns the string representation
7559func (s DomainEndpointOptions) String() string {
7560	return awsutil.Prettify(s)
7561}
7562
7563// GoString returns the string representation
7564func (s DomainEndpointOptions) GoString() string {
7565	return s.String()
7566}
7567
7568// Validate inspects the fields of the type to determine if they are valid.
7569func (s *DomainEndpointOptions) Validate() error {
7570	invalidParams := request.ErrInvalidParams{Context: "DomainEndpointOptions"}
7571	if s.CustomEndpoint != nil && len(*s.CustomEndpoint) < 1 {
7572		invalidParams.Add(request.NewErrParamMinLen("CustomEndpoint", 1))
7573	}
7574
7575	if invalidParams.Len() > 0 {
7576		return invalidParams
7577	}
7578	return nil
7579}
7580
7581// SetCustomEndpoint sets the CustomEndpoint field's value.
7582func (s *DomainEndpointOptions) SetCustomEndpoint(v string) *DomainEndpointOptions {
7583	s.CustomEndpoint = &v
7584	return s
7585}
7586
7587// SetCustomEndpointCertificateArn sets the CustomEndpointCertificateArn field's value.
7588func (s *DomainEndpointOptions) SetCustomEndpointCertificateArn(v string) *DomainEndpointOptions {
7589	s.CustomEndpointCertificateArn = &v
7590	return s
7591}
7592
7593// SetCustomEndpointEnabled sets the CustomEndpointEnabled field's value.
7594func (s *DomainEndpointOptions) SetCustomEndpointEnabled(v bool) *DomainEndpointOptions {
7595	s.CustomEndpointEnabled = &v
7596	return s
7597}
7598
7599// SetEnforceHTTPS sets the EnforceHTTPS field's value.
7600func (s *DomainEndpointOptions) SetEnforceHTTPS(v bool) *DomainEndpointOptions {
7601	s.EnforceHTTPS = &v
7602	return s
7603}
7604
7605// SetTLSSecurityPolicy sets the TLSSecurityPolicy field's value.
7606func (s *DomainEndpointOptions) SetTLSSecurityPolicy(v string) *DomainEndpointOptions {
7607	s.TLSSecurityPolicy = &v
7608	return s
7609}
7610
7611// The configured endpoint options for the domain and their current status.
7612type DomainEndpointOptionsStatus struct {
7613	_ struct{} `type:"structure"`
7614
7615	// Options to configure endpoint for the Elasticsearch domain.
7616	//
7617	// Options is a required field
7618	Options *DomainEndpointOptions `type:"structure" required:"true"`
7619
7620	// The status of the endpoint options for the Elasticsearch domain. See OptionStatus
7621	// for the status information that's included.
7622	//
7623	// Status is a required field
7624	Status *OptionStatus `type:"structure" required:"true"`
7625}
7626
7627// String returns the string representation
7628func (s DomainEndpointOptionsStatus) String() string {
7629	return awsutil.Prettify(s)
7630}
7631
7632// GoString returns the string representation
7633func (s DomainEndpointOptionsStatus) GoString() string {
7634	return s.String()
7635}
7636
7637// SetOptions sets the Options field's value.
7638func (s *DomainEndpointOptionsStatus) SetOptions(v *DomainEndpointOptions) *DomainEndpointOptionsStatus {
7639	s.Options = v
7640	return s
7641}
7642
7643// SetStatus sets the Status field's value.
7644func (s *DomainEndpointOptionsStatus) SetStatus(v *OptionStatus) *DomainEndpointOptionsStatus {
7645	s.Status = v
7646	return s
7647}
7648
7649type DomainInfo struct {
7650	_ struct{} `type:"structure"`
7651
7652	// Specifies the DomainName.
7653	DomainName *string `min:"3" type:"string"`
7654}
7655
7656// String returns the string representation
7657func (s DomainInfo) String() string {
7658	return awsutil.Prettify(s)
7659}
7660
7661// GoString returns the string representation
7662func (s DomainInfo) GoString() string {
7663	return s.String()
7664}
7665
7666// SetDomainName sets the DomainName field's value.
7667func (s *DomainInfo) SetDomainName(v string) *DomainInfo {
7668	s.DomainName = &v
7669	return s
7670}
7671
7672type DomainInformation struct {
7673	_ struct{} `type:"structure"`
7674
7675	// The name of an Elasticsearch domain. Domain names are unique across the domains
7676	// owned by an account within an AWS region. Domain names start with a letter
7677	// or number and can contain the following characters: a-z (lowercase), 0-9,
7678	// and - (hyphen).
7679	//
7680	// DomainName is a required field
7681	DomainName *string `min:"3" type:"string" required:"true"`
7682
7683	OwnerId *string `min:"12" type:"string"`
7684
7685	Region *string `type:"string"`
7686}
7687
7688// String returns the string representation
7689func (s DomainInformation) String() string {
7690	return awsutil.Prettify(s)
7691}
7692
7693// GoString returns the string representation
7694func (s DomainInformation) GoString() string {
7695	return s.String()
7696}
7697
7698// Validate inspects the fields of the type to determine if they are valid.
7699func (s *DomainInformation) Validate() error {
7700	invalidParams := request.ErrInvalidParams{Context: "DomainInformation"}
7701	if s.DomainName == nil {
7702		invalidParams.Add(request.NewErrParamRequired("DomainName"))
7703	}
7704	if s.DomainName != nil && len(*s.DomainName) < 3 {
7705		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
7706	}
7707	if s.OwnerId != nil && len(*s.OwnerId) < 12 {
7708		invalidParams.Add(request.NewErrParamMinLen("OwnerId", 12))
7709	}
7710
7711	if invalidParams.Len() > 0 {
7712		return invalidParams
7713	}
7714	return nil
7715}
7716
7717// SetDomainName sets the DomainName field's value.
7718func (s *DomainInformation) SetDomainName(v string) *DomainInformation {
7719	s.DomainName = &v
7720	return s
7721}
7722
7723// SetOwnerId sets the OwnerId field's value.
7724func (s *DomainInformation) SetOwnerId(v string) *DomainInformation {
7725	s.OwnerId = &v
7726	return s
7727}
7728
7729// SetRegion sets the Region field's value.
7730func (s *DomainInformation) SetRegion(v string) *DomainInformation {
7731	s.Region = &v
7732	return s
7733}
7734
7735// Information on a package that is associated with a domain.
7736type DomainPackageDetails struct {
7737	_ struct{} `type:"structure"`
7738
7739	// Name of the domain you've associated a package with.
7740	DomainName *string `min:"3" type:"string"`
7741
7742	// State of the association. Values are ASSOCIATING/ASSOCIATION_FAILED/ACTIVE/DISSOCIATING/DISSOCIATION_FAILED.
7743	DomainPackageStatus *string `type:"string" enum:"DomainPackageStatus"`
7744
7745	// Additional information if the package is in an error state. Null otherwise.
7746	ErrorDetails *ErrorDetails `type:"structure"`
7747
7748	// Timestamp of the most-recent update to the association status.
7749	LastUpdated *time.Time `type:"timestamp"`
7750
7751	// Internal ID of the package.
7752	PackageID *string `type:"string"`
7753
7754	// User specified name of the package.
7755	PackageName *string `min:"3" type:"string"`
7756
7757	// Currently supports only TXT-DICTIONARY.
7758	PackageType *string `type:"string" enum:"PackageType"`
7759
7760	PackageVersion *string `type:"string"`
7761
7762	// The relative path on Amazon ES nodes, which can be used as synonym_path when
7763	// the package is synonym file.
7764	ReferencePath *string `type:"string"`
7765}
7766
7767// String returns the string representation
7768func (s DomainPackageDetails) String() string {
7769	return awsutil.Prettify(s)
7770}
7771
7772// GoString returns the string representation
7773func (s DomainPackageDetails) GoString() string {
7774	return s.String()
7775}
7776
7777// SetDomainName sets the DomainName field's value.
7778func (s *DomainPackageDetails) SetDomainName(v string) *DomainPackageDetails {
7779	s.DomainName = &v
7780	return s
7781}
7782
7783// SetDomainPackageStatus sets the DomainPackageStatus field's value.
7784func (s *DomainPackageDetails) SetDomainPackageStatus(v string) *DomainPackageDetails {
7785	s.DomainPackageStatus = &v
7786	return s
7787}
7788
7789// SetErrorDetails sets the ErrorDetails field's value.
7790func (s *DomainPackageDetails) SetErrorDetails(v *ErrorDetails) *DomainPackageDetails {
7791	s.ErrorDetails = v
7792	return s
7793}
7794
7795// SetLastUpdated sets the LastUpdated field's value.
7796func (s *DomainPackageDetails) SetLastUpdated(v time.Time) *DomainPackageDetails {
7797	s.LastUpdated = &v
7798	return s
7799}
7800
7801// SetPackageID sets the PackageID field's value.
7802func (s *DomainPackageDetails) SetPackageID(v string) *DomainPackageDetails {
7803	s.PackageID = &v
7804	return s
7805}
7806
7807// SetPackageName sets the PackageName field's value.
7808func (s *DomainPackageDetails) SetPackageName(v string) *DomainPackageDetails {
7809	s.PackageName = &v
7810	return s
7811}
7812
7813// SetPackageType sets the PackageType field's value.
7814func (s *DomainPackageDetails) SetPackageType(v string) *DomainPackageDetails {
7815	s.PackageType = &v
7816	return s
7817}
7818
7819// SetPackageVersion sets the PackageVersion field's value.
7820func (s *DomainPackageDetails) SetPackageVersion(v string) *DomainPackageDetails {
7821	s.PackageVersion = &v
7822	return s
7823}
7824
7825// SetReferencePath sets the ReferencePath field's value.
7826func (s *DomainPackageDetails) SetReferencePath(v string) *DomainPackageDetails {
7827	s.ReferencePath = &v
7828	return s
7829}
7830
7831// Specifies maintenance schedule duration: duration value and duration unit.
7832// See the Developer Guide (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/auto-tune.html)
7833// for more information.
7834type Duration struct {
7835	_ struct{} `type:"structure"`
7836
7837	// Specifies the unit of a maintenance schedule duration. Valid value is HOURS.
7838	// See the Developer Guide (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/auto-tune.html)
7839	// for more information.
7840	Unit *string `type:"string" enum:"TimeUnit"`
7841
7842	// Integer to specify the value of a maintenance schedule duration. See the
7843	// Developer Guide (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/auto-tune.html)
7844	// for more information.
7845	Value *int64 `min:"1" type:"long"`
7846}
7847
7848// String returns the string representation
7849func (s Duration) String() string {
7850	return awsutil.Prettify(s)
7851}
7852
7853// GoString returns the string representation
7854func (s Duration) GoString() string {
7855	return s.String()
7856}
7857
7858// Validate inspects the fields of the type to determine if they are valid.
7859func (s *Duration) Validate() error {
7860	invalidParams := request.ErrInvalidParams{Context: "Duration"}
7861	if s.Value != nil && *s.Value < 1 {
7862		invalidParams.Add(request.NewErrParamMinValue("Value", 1))
7863	}
7864
7865	if invalidParams.Len() > 0 {
7866		return invalidParams
7867	}
7868	return nil
7869}
7870
7871// SetUnit sets the Unit field's value.
7872func (s *Duration) SetUnit(v string) *Duration {
7873	s.Unit = &v
7874	return s
7875}
7876
7877// SetValue sets the Value field's value.
7878func (s *Duration) SetValue(v int64) *Duration {
7879	s.Value = &v
7880	return s
7881}
7882
7883// Options to enable, disable, and specify the properties of EBS storage volumes.
7884// For more information, see Configuring EBS-based Storage (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomain-configure-ebs).
7885type EBSOptions struct {
7886	_ struct{} `type:"structure"`
7887
7888	// Specifies whether EBS-based storage is enabled.
7889	EBSEnabled *bool `type:"boolean"`
7890
7891	// Specifies the IOPD for a Provisioned IOPS EBS volume (SSD).
7892	Iops *int64 `type:"integer"`
7893
7894	// Integer to specify the size of an EBS volume.
7895	VolumeSize *int64 `type:"integer"`
7896
7897	// Specifies the volume type for EBS-based storage.
7898	VolumeType *string `type:"string" enum:"VolumeType"`
7899}
7900
7901// String returns the string representation
7902func (s EBSOptions) String() string {
7903	return awsutil.Prettify(s)
7904}
7905
7906// GoString returns the string representation
7907func (s EBSOptions) GoString() string {
7908	return s.String()
7909}
7910
7911// SetEBSEnabled sets the EBSEnabled field's value.
7912func (s *EBSOptions) SetEBSEnabled(v bool) *EBSOptions {
7913	s.EBSEnabled = &v
7914	return s
7915}
7916
7917// SetIops sets the Iops field's value.
7918func (s *EBSOptions) SetIops(v int64) *EBSOptions {
7919	s.Iops = &v
7920	return s
7921}
7922
7923// SetVolumeSize sets the VolumeSize field's value.
7924func (s *EBSOptions) SetVolumeSize(v int64) *EBSOptions {
7925	s.VolumeSize = &v
7926	return s
7927}
7928
7929// SetVolumeType sets the VolumeType field's value.
7930func (s *EBSOptions) SetVolumeType(v string) *EBSOptions {
7931	s.VolumeType = &v
7932	return s
7933}
7934
7935// Status of the EBS options for the specified Elasticsearch domain.
7936type EBSOptionsStatus struct {
7937	_ struct{} `type:"structure"`
7938
7939	// Specifies the EBS options for the specified Elasticsearch domain.
7940	//
7941	// Options is a required field
7942	Options *EBSOptions `type:"structure" required:"true"`
7943
7944	// Specifies the status of the EBS options for the specified Elasticsearch domain.
7945	//
7946	// Status is a required field
7947	Status *OptionStatus `type:"structure" required:"true"`
7948}
7949
7950// String returns the string representation
7951func (s EBSOptionsStatus) String() string {
7952	return awsutil.Prettify(s)
7953}
7954
7955// GoString returns the string representation
7956func (s EBSOptionsStatus) GoString() string {
7957	return s.String()
7958}
7959
7960// SetOptions sets the Options field's value.
7961func (s *EBSOptionsStatus) SetOptions(v *EBSOptions) *EBSOptionsStatus {
7962	s.Options = v
7963	return s
7964}
7965
7966// SetStatus sets the Status field's value.
7967func (s *EBSOptionsStatus) SetStatus(v *OptionStatus) *EBSOptionsStatus {
7968	s.Status = v
7969	return s
7970}
7971
7972// Specifies the configuration for the domain cluster, such as the type and
7973// number of instances.
7974type ElasticsearchClusterConfig struct {
7975	_ struct{} `type:"structure"`
7976
7977	// Specifies the ColdStorageOptions configuration for an Elasticsearch domain.
7978	ColdStorageOptions *ColdStorageOptions `type:"structure"`
7979
7980	// Total number of dedicated master nodes, active and on standby, for the cluster.
7981	DedicatedMasterCount *int64 `type:"integer"`
7982
7983	// A boolean value to indicate whether a dedicated master node is enabled. See
7984	// About Dedicated Master Nodes (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-managedomains.html#es-managedomains-dedicatedmasternodes)
7985	// for more information.
7986	DedicatedMasterEnabled *bool `type:"boolean"`
7987
7988	// The instance type for a dedicated master node.
7989	DedicatedMasterType *string `type:"string" enum:"ESPartitionInstanceType"`
7990
7991	// The number of instances in the specified domain cluster.
7992	InstanceCount *int64 `type:"integer"`
7993
7994	// The instance type for an Elasticsearch cluster. UltraWarm instance types
7995	// are not supported for data instances.
7996	InstanceType *string `type:"string" enum:"ESPartitionInstanceType"`
7997
7998	// The number of warm nodes in the cluster.
7999	WarmCount *int64 `type:"integer"`
8000
8001	// True to enable warm storage.
8002	WarmEnabled *bool `type:"boolean"`
8003
8004	// The instance type for the Elasticsearch cluster's warm nodes.
8005	WarmType *string `type:"string" enum:"ESWarmPartitionInstanceType"`
8006
8007	// Specifies the zone awareness configuration for a domain when zone awareness
8008	// is enabled.
8009	ZoneAwarenessConfig *ZoneAwarenessConfig `type:"structure"`
8010
8011	// A boolean value to indicate whether zone awareness is enabled. See About
8012	// Zone Awareness (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-managedomains.html#es-managedomains-zoneawareness)
8013	// for more information.
8014	ZoneAwarenessEnabled *bool `type:"boolean"`
8015}
8016
8017// String returns the string representation
8018func (s ElasticsearchClusterConfig) String() string {
8019	return awsutil.Prettify(s)
8020}
8021
8022// GoString returns the string representation
8023func (s ElasticsearchClusterConfig) GoString() string {
8024	return s.String()
8025}
8026
8027// Validate inspects the fields of the type to determine if they are valid.
8028func (s *ElasticsearchClusterConfig) Validate() error {
8029	invalidParams := request.ErrInvalidParams{Context: "ElasticsearchClusterConfig"}
8030	if s.ColdStorageOptions != nil {
8031		if err := s.ColdStorageOptions.Validate(); err != nil {
8032			invalidParams.AddNested("ColdStorageOptions", err.(request.ErrInvalidParams))
8033		}
8034	}
8035
8036	if invalidParams.Len() > 0 {
8037		return invalidParams
8038	}
8039	return nil
8040}
8041
8042// SetColdStorageOptions sets the ColdStorageOptions field's value.
8043func (s *ElasticsearchClusterConfig) SetColdStorageOptions(v *ColdStorageOptions) *ElasticsearchClusterConfig {
8044	s.ColdStorageOptions = v
8045	return s
8046}
8047
8048// SetDedicatedMasterCount sets the DedicatedMasterCount field's value.
8049func (s *ElasticsearchClusterConfig) SetDedicatedMasterCount(v int64) *ElasticsearchClusterConfig {
8050	s.DedicatedMasterCount = &v
8051	return s
8052}
8053
8054// SetDedicatedMasterEnabled sets the DedicatedMasterEnabled field's value.
8055func (s *ElasticsearchClusterConfig) SetDedicatedMasterEnabled(v bool) *ElasticsearchClusterConfig {
8056	s.DedicatedMasterEnabled = &v
8057	return s
8058}
8059
8060// SetDedicatedMasterType sets the DedicatedMasterType field's value.
8061func (s *ElasticsearchClusterConfig) SetDedicatedMasterType(v string) *ElasticsearchClusterConfig {
8062	s.DedicatedMasterType = &v
8063	return s
8064}
8065
8066// SetInstanceCount sets the InstanceCount field's value.
8067func (s *ElasticsearchClusterConfig) SetInstanceCount(v int64) *ElasticsearchClusterConfig {
8068	s.InstanceCount = &v
8069	return s
8070}
8071
8072// SetInstanceType sets the InstanceType field's value.
8073func (s *ElasticsearchClusterConfig) SetInstanceType(v string) *ElasticsearchClusterConfig {
8074	s.InstanceType = &v
8075	return s
8076}
8077
8078// SetWarmCount sets the WarmCount field's value.
8079func (s *ElasticsearchClusterConfig) SetWarmCount(v int64) *ElasticsearchClusterConfig {
8080	s.WarmCount = &v
8081	return s
8082}
8083
8084// SetWarmEnabled sets the WarmEnabled field's value.
8085func (s *ElasticsearchClusterConfig) SetWarmEnabled(v bool) *ElasticsearchClusterConfig {
8086	s.WarmEnabled = &v
8087	return s
8088}
8089
8090// SetWarmType sets the WarmType field's value.
8091func (s *ElasticsearchClusterConfig) SetWarmType(v string) *ElasticsearchClusterConfig {
8092	s.WarmType = &v
8093	return s
8094}
8095
8096// SetZoneAwarenessConfig sets the ZoneAwarenessConfig field's value.
8097func (s *ElasticsearchClusterConfig) SetZoneAwarenessConfig(v *ZoneAwarenessConfig) *ElasticsearchClusterConfig {
8098	s.ZoneAwarenessConfig = v
8099	return s
8100}
8101
8102// SetZoneAwarenessEnabled sets the ZoneAwarenessEnabled field's value.
8103func (s *ElasticsearchClusterConfig) SetZoneAwarenessEnabled(v bool) *ElasticsearchClusterConfig {
8104	s.ZoneAwarenessEnabled = &v
8105	return s
8106}
8107
8108// Specifies the configuration status for the specified Elasticsearch domain.
8109type ElasticsearchClusterConfigStatus struct {
8110	_ struct{} `type:"structure"`
8111
8112	// Specifies the cluster configuration for the specified Elasticsearch domain.
8113	//
8114	// Options is a required field
8115	Options *ElasticsearchClusterConfig `type:"structure" required:"true"`
8116
8117	// Specifies the status of the configuration for the specified Elasticsearch
8118	// domain.
8119	//
8120	// Status is a required field
8121	Status *OptionStatus `type:"structure" required:"true"`
8122}
8123
8124// String returns the string representation
8125func (s ElasticsearchClusterConfigStatus) String() string {
8126	return awsutil.Prettify(s)
8127}
8128
8129// GoString returns the string representation
8130func (s ElasticsearchClusterConfigStatus) GoString() string {
8131	return s.String()
8132}
8133
8134// SetOptions sets the Options field's value.
8135func (s *ElasticsearchClusterConfigStatus) SetOptions(v *ElasticsearchClusterConfig) *ElasticsearchClusterConfigStatus {
8136	s.Options = v
8137	return s
8138}
8139
8140// SetStatus sets the Status field's value.
8141func (s *ElasticsearchClusterConfigStatus) SetStatus(v *OptionStatus) *ElasticsearchClusterConfigStatus {
8142	s.Status = v
8143	return s
8144}
8145
8146// The configuration of an Elasticsearch domain.
8147type ElasticsearchDomainConfig struct {
8148	_ struct{} `type:"structure"`
8149
8150	// IAM access policy as a JSON-formatted string.
8151	AccessPolicies *AccessPoliciesStatus `type:"structure"`
8152
8153	// Specifies the AdvancedOptions for the domain. See Configuring Advanced Options
8154	// (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomain-configure-advanced-options)
8155	// for more information.
8156	AdvancedOptions *AdvancedOptionsStatus `type:"structure"`
8157
8158	// Specifies AdvancedSecurityOptions for the domain.
8159	AdvancedSecurityOptions *AdvancedSecurityOptionsStatus `type:"structure"`
8160
8161	// Specifies AutoTuneOptions for the domain.
8162	AutoTuneOptions *AutoTuneOptionsStatus `type:"structure"`
8163
8164	// The CognitoOptions for the specified domain. For more information, see Amazon
8165	// Cognito Authentication for Kibana (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-cognito-auth.html).
8166	CognitoOptions *CognitoOptionsStatus `type:"structure"`
8167
8168	// Specifies the DomainEndpointOptions for the Elasticsearch domain.
8169	DomainEndpointOptions *DomainEndpointOptionsStatus `type:"structure"`
8170
8171	// Specifies the EBSOptions for the Elasticsearch domain.
8172	EBSOptions *EBSOptionsStatus `type:"structure"`
8173
8174	// Specifies the ElasticsearchClusterConfig for the Elasticsearch domain.
8175	ElasticsearchClusterConfig *ElasticsearchClusterConfigStatus `type:"structure"`
8176
8177	// String of format X.Y to specify version for the Elasticsearch domain.
8178	ElasticsearchVersion *ElasticsearchVersionStatus `type:"structure"`
8179
8180	// Specifies the EncryptionAtRestOptions for the Elasticsearch domain.
8181	EncryptionAtRestOptions *EncryptionAtRestOptionsStatus `type:"structure"`
8182
8183	// Log publishing options for the given domain.
8184	LogPublishingOptions *LogPublishingOptionsStatus `type:"structure"`
8185
8186	// Specifies the NodeToNodeEncryptionOptions for the Elasticsearch domain.
8187	NodeToNodeEncryptionOptions *NodeToNodeEncryptionOptionsStatus `type:"structure"`
8188
8189	// Specifies the SnapshotOptions for the Elasticsearch domain.
8190	SnapshotOptions *SnapshotOptionsStatus `type:"structure"`
8191
8192	// The VPCOptions for the specified domain. For more information, see VPC Endpoints
8193	// for Amazon Elasticsearch Service Domains (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-vpc.html).
8194	VPCOptions *VPCDerivedInfoStatus `type:"structure"`
8195}
8196
8197// String returns the string representation
8198func (s ElasticsearchDomainConfig) String() string {
8199	return awsutil.Prettify(s)
8200}
8201
8202// GoString returns the string representation
8203func (s ElasticsearchDomainConfig) GoString() string {
8204	return s.String()
8205}
8206
8207// SetAccessPolicies sets the AccessPolicies field's value.
8208func (s *ElasticsearchDomainConfig) SetAccessPolicies(v *AccessPoliciesStatus) *ElasticsearchDomainConfig {
8209	s.AccessPolicies = v
8210	return s
8211}
8212
8213// SetAdvancedOptions sets the AdvancedOptions field's value.
8214func (s *ElasticsearchDomainConfig) SetAdvancedOptions(v *AdvancedOptionsStatus) *ElasticsearchDomainConfig {
8215	s.AdvancedOptions = v
8216	return s
8217}
8218
8219// SetAdvancedSecurityOptions sets the AdvancedSecurityOptions field's value.
8220func (s *ElasticsearchDomainConfig) SetAdvancedSecurityOptions(v *AdvancedSecurityOptionsStatus) *ElasticsearchDomainConfig {
8221	s.AdvancedSecurityOptions = v
8222	return s
8223}
8224
8225// SetAutoTuneOptions sets the AutoTuneOptions field's value.
8226func (s *ElasticsearchDomainConfig) SetAutoTuneOptions(v *AutoTuneOptionsStatus) *ElasticsearchDomainConfig {
8227	s.AutoTuneOptions = v
8228	return s
8229}
8230
8231// SetCognitoOptions sets the CognitoOptions field's value.
8232func (s *ElasticsearchDomainConfig) SetCognitoOptions(v *CognitoOptionsStatus) *ElasticsearchDomainConfig {
8233	s.CognitoOptions = v
8234	return s
8235}
8236
8237// SetDomainEndpointOptions sets the DomainEndpointOptions field's value.
8238func (s *ElasticsearchDomainConfig) SetDomainEndpointOptions(v *DomainEndpointOptionsStatus) *ElasticsearchDomainConfig {
8239	s.DomainEndpointOptions = v
8240	return s
8241}
8242
8243// SetEBSOptions sets the EBSOptions field's value.
8244func (s *ElasticsearchDomainConfig) SetEBSOptions(v *EBSOptionsStatus) *ElasticsearchDomainConfig {
8245	s.EBSOptions = v
8246	return s
8247}
8248
8249// SetElasticsearchClusterConfig sets the ElasticsearchClusterConfig field's value.
8250func (s *ElasticsearchDomainConfig) SetElasticsearchClusterConfig(v *ElasticsearchClusterConfigStatus) *ElasticsearchDomainConfig {
8251	s.ElasticsearchClusterConfig = v
8252	return s
8253}
8254
8255// SetElasticsearchVersion sets the ElasticsearchVersion field's value.
8256func (s *ElasticsearchDomainConfig) SetElasticsearchVersion(v *ElasticsearchVersionStatus) *ElasticsearchDomainConfig {
8257	s.ElasticsearchVersion = v
8258	return s
8259}
8260
8261// SetEncryptionAtRestOptions sets the EncryptionAtRestOptions field's value.
8262func (s *ElasticsearchDomainConfig) SetEncryptionAtRestOptions(v *EncryptionAtRestOptionsStatus) *ElasticsearchDomainConfig {
8263	s.EncryptionAtRestOptions = v
8264	return s
8265}
8266
8267// SetLogPublishingOptions sets the LogPublishingOptions field's value.
8268func (s *ElasticsearchDomainConfig) SetLogPublishingOptions(v *LogPublishingOptionsStatus) *ElasticsearchDomainConfig {
8269	s.LogPublishingOptions = v
8270	return s
8271}
8272
8273// SetNodeToNodeEncryptionOptions sets the NodeToNodeEncryptionOptions field's value.
8274func (s *ElasticsearchDomainConfig) SetNodeToNodeEncryptionOptions(v *NodeToNodeEncryptionOptionsStatus) *ElasticsearchDomainConfig {
8275	s.NodeToNodeEncryptionOptions = v
8276	return s
8277}
8278
8279// SetSnapshotOptions sets the SnapshotOptions field's value.
8280func (s *ElasticsearchDomainConfig) SetSnapshotOptions(v *SnapshotOptionsStatus) *ElasticsearchDomainConfig {
8281	s.SnapshotOptions = v
8282	return s
8283}
8284
8285// SetVPCOptions sets the VPCOptions field's value.
8286func (s *ElasticsearchDomainConfig) SetVPCOptions(v *VPCDerivedInfoStatus) *ElasticsearchDomainConfig {
8287	s.VPCOptions = v
8288	return s
8289}
8290
8291// The current status of an Elasticsearch domain.
8292type ElasticsearchDomainStatus struct {
8293	_ struct{} `type:"structure"`
8294
8295	// The Amazon resource name (ARN) of an Elasticsearch domain. See Identifiers
8296	// for IAM Entities (http://docs.aws.amazon.com/IAM/latest/UserGuide/index.html?Using_Identifiers.html)
8297	// in Using AWS Identity and Access Management for more information.
8298	//
8299	// ARN is a required field
8300	ARN *string `type:"string" required:"true"`
8301
8302	// IAM access policy as a JSON-formatted string.
8303	AccessPolicies *string `type:"string"`
8304
8305	// Specifies the status of the AdvancedOptions
8306	AdvancedOptions map[string]*string `type:"map"`
8307
8308	// The current status of the Elasticsearch domain's advanced security options.
8309	AdvancedSecurityOptions *AdvancedSecurityOptions `type:"structure"`
8310
8311	// The current status of the Elasticsearch domain's Auto-Tune options.
8312	AutoTuneOptions *AutoTuneOptionsOutput `type:"structure"`
8313
8314	// The CognitoOptions for the specified domain. For more information, see Amazon
8315	// Cognito Authentication for Kibana (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-cognito-auth.html).
8316	CognitoOptions *CognitoOptions `type:"structure"`
8317
8318	// The domain creation status. True if the creation of an Elasticsearch domain
8319	// is complete. False if domain creation is still in progress.
8320	Created *bool `type:"boolean"`
8321
8322	// The domain deletion status. True if a delete request has been received for
8323	// the domain but resource cleanup is still in progress. False if the domain
8324	// has not been deleted. Once domain deletion is complete, the status of the
8325	// domain is no longer returned.
8326	Deleted *bool `type:"boolean"`
8327
8328	// The current status of the Elasticsearch domain's endpoint options.
8329	DomainEndpointOptions *DomainEndpointOptions `type:"structure"`
8330
8331	// The unique identifier for the specified Elasticsearch domain.
8332	//
8333	// DomainId is a required field
8334	DomainId *string `min:"1" type:"string" required:"true"`
8335
8336	// The name of an Elasticsearch domain. Domain names are unique across the domains
8337	// owned by an account within an AWS region. Domain names start with a letter
8338	// or number and can contain the following characters: a-z (lowercase), 0-9,
8339	// and - (hyphen).
8340	//
8341	// DomainName is a required field
8342	DomainName *string `min:"3" type:"string" required:"true"`
8343
8344	// The EBSOptions for the specified domain. See Configuring EBS-based Storage
8345	// (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomain-configure-ebs)
8346	// for more information.
8347	EBSOptions *EBSOptions `type:"structure"`
8348
8349	// The type and number of instances in the domain cluster.
8350	//
8351	// ElasticsearchClusterConfig is a required field
8352	ElasticsearchClusterConfig *ElasticsearchClusterConfig `type:"structure" required:"true"`
8353
8354	ElasticsearchVersion *string `type:"string"`
8355
8356	// Specifies the status of the EncryptionAtRestOptions.
8357	EncryptionAtRestOptions *EncryptionAtRestOptions `type:"structure"`
8358
8359	// The Elasticsearch domain endpoint that you use to submit index and search
8360	// requests.
8361	Endpoint *string `type:"string"`
8362
8363	// Map containing the Elasticsearch domain endpoints used to submit index and
8364	// search requests. Example key, value: 'vpc','vpc-endpoint-h2dsd34efgyghrtguk5gt6j2foh4.us-east-1.es.amazonaws.com'.
8365	Endpoints map[string]*string `type:"map"`
8366
8367	// Log publishing options for the given domain.
8368	LogPublishingOptions map[string]*LogPublishingOption `type:"map"`
8369
8370	// Specifies the status of the NodeToNodeEncryptionOptions.
8371	NodeToNodeEncryptionOptions *NodeToNodeEncryptionOptions `type:"structure"`
8372
8373	// The status of the Elasticsearch domain configuration. True if Amazon Elasticsearch
8374	// Service is processing configuration changes. False if the configuration is
8375	// active.
8376	Processing *bool `type:"boolean"`
8377
8378	// The current status of the Elasticsearch domain's service software.
8379	ServiceSoftwareOptions *ServiceSoftwareOptions `type:"structure"`
8380
8381	// Specifies the status of the SnapshotOptions
8382	SnapshotOptions *SnapshotOptions `type:"structure"`
8383
8384	// The status of an Elasticsearch domain version upgrade. True if Amazon Elasticsearch
8385	// Service is undergoing a version upgrade. False if the configuration is active.
8386	UpgradeProcessing *bool `type:"boolean"`
8387
8388	// The VPCOptions for the specified domain. For more information, see VPC Endpoints
8389	// for Amazon Elasticsearch Service Domains (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-vpc.html).
8390	VPCOptions *VPCDerivedInfo `type:"structure"`
8391}
8392
8393// String returns the string representation
8394func (s ElasticsearchDomainStatus) String() string {
8395	return awsutil.Prettify(s)
8396}
8397
8398// GoString returns the string representation
8399func (s ElasticsearchDomainStatus) GoString() string {
8400	return s.String()
8401}
8402
8403// SetARN sets the ARN field's value.
8404func (s *ElasticsearchDomainStatus) SetARN(v string) *ElasticsearchDomainStatus {
8405	s.ARN = &v
8406	return s
8407}
8408
8409// SetAccessPolicies sets the AccessPolicies field's value.
8410func (s *ElasticsearchDomainStatus) SetAccessPolicies(v string) *ElasticsearchDomainStatus {
8411	s.AccessPolicies = &v
8412	return s
8413}
8414
8415// SetAdvancedOptions sets the AdvancedOptions field's value.
8416func (s *ElasticsearchDomainStatus) SetAdvancedOptions(v map[string]*string) *ElasticsearchDomainStatus {
8417	s.AdvancedOptions = v
8418	return s
8419}
8420
8421// SetAdvancedSecurityOptions sets the AdvancedSecurityOptions field's value.
8422func (s *ElasticsearchDomainStatus) SetAdvancedSecurityOptions(v *AdvancedSecurityOptions) *ElasticsearchDomainStatus {
8423	s.AdvancedSecurityOptions = v
8424	return s
8425}
8426
8427// SetAutoTuneOptions sets the AutoTuneOptions field's value.
8428func (s *ElasticsearchDomainStatus) SetAutoTuneOptions(v *AutoTuneOptionsOutput) *ElasticsearchDomainStatus {
8429	s.AutoTuneOptions = v
8430	return s
8431}
8432
8433// SetCognitoOptions sets the CognitoOptions field's value.
8434func (s *ElasticsearchDomainStatus) SetCognitoOptions(v *CognitoOptions) *ElasticsearchDomainStatus {
8435	s.CognitoOptions = v
8436	return s
8437}
8438
8439// SetCreated sets the Created field's value.
8440func (s *ElasticsearchDomainStatus) SetCreated(v bool) *ElasticsearchDomainStatus {
8441	s.Created = &v
8442	return s
8443}
8444
8445// SetDeleted sets the Deleted field's value.
8446func (s *ElasticsearchDomainStatus) SetDeleted(v bool) *ElasticsearchDomainStatus {
8447	s.Deleted = &v
8448	return s
8449}
8450
8451// SetDomainEndpointOptions sets the DomainEndpointOptions field's value.
8452func (s *ElasticsearchDomainStatus) SetDomainEndpointOptions(v *DomainEndpointOptions) *ElasticsearchDomainStatus {
8453	s.DomainEndpointOptions = v
8454	return s
8455}
8456
8457// SetDomainId sets the DomainId field's value.
8458func (s *ElasticsearchDomainStatus) SetDomainId(v string) *ElasticsearchDomainStatus {
8459	s.DomainId = &v
8460	return s
8461}
8462
8463// SetDomainName sets the DomainName field's value.
8464func (s *ElasticsearchDomainStatus) SetDomainName(v string) *ElasticsearchDomainStatus {
8465	s.DomainName = &v
8466	return s
8467}
8468
8469// SetEBSOptions sets the EBSOptions field's value.
8470func (s *ElasticsearchDomainStatus) SetEBSOptions(v *EBSOptions) *ElasticsearchDomainStatus {
8471	s.EBSOptions = v
8472	return s
8473}
8474
8475// SetElasticsearchClusterConfig sets the ElasticsearchClusterConfig field's value.
8476func (s *ElasticsearchDomainStatus) SetElasticsearchClusterConfig(v *ElasticsearchClusterConfig) *ElasticsearchDomainStatus {
8477	s.ElasticsearchClusterConfig = v
8478	return s
8479}
8480
8481// SetElasticsearchVersion sets the ElasticsearchVersion field's value.
8482func (s *ElasticsearchDomainStatus) SetElasticsearchVersion(v string) *ElasticsearchDomainStatus {
8483	s.ElasticsearchVersion = &v
8484	return s
8485}
8486
8487// SetEncryptionAtRestOptions sets the EncryptionAtRestOptions field's value.
8488func (s *ElasticsearchDomainStatus) SetEncryptionAtRestOptions(v *EncryptionAtRestOptions) *ElasticsearchDomainStatus {
8489	s.EncryptionAtRestOptions = v
8490	return s
8491}
8492
8493// SetEndpoint sets the Endpoint field's value.
8494func (s *ElasticsearchDomainStatus) SetEndpoint(v string) *ElasticsearchDomainStatus {
8495	s.Endpoint = &v
8496	return s
8497}
8498
8499// SetEndpoints sets the Endpoints field's value.
8500func (s *ElasticsearchDomainStatus) SetEndpoints(v map[string]*string) *ElasticsearchDomainStatus {
8501	s.Endpoints = v
8502	return s
8503}
8504
8505// SetLogPublishingOptions sets the LogPublishingOptions field's value.
8506func (s *ElasticsearchDomainStatus) SetLogPublishingOptions(v map[string]*LogPublishingOption) *ElasticsearchDomainStatus {
8507	s.LogPublishingOptions = v
8508	return s
8509}
8510
8511// SetNodeToNodeEncryptionOptions sets the NodeToNodeEncryptionOptions field's value.
8512func (s *ElasticsearchDomainStatus) SetNodeToNodeEncryptionOptions(v *NodeToNodeEncryptionOptions) *ElasticsearchDomainStatus {
8513	s.NodeToNodeEncryptionOptions = v
8514	return s
8515}
8516
8517// SetProcessing sets the Processing field's value.
8518func (s *ElasticsearchDomainStatus) SetProcessing(v bool) *ElasticsearchDomainStatus {
8519	s.Processing = &v
8520	return s
8521}
8522
8523// SetServiceSoftwareOptions sets the ServiceSoftwareOptions field's value.
8524func (s *ElasticsearchDomainStatus) SetServiceSoftwareOptions(v *ServiceSoftwareOptions) *ElasticsearchDomainStatus {
8525	s.ServiceSoftwareOptions = v
8526	return s
8527}
8528
8529// SetSnapshotOptions sets the SnapshotOptions field's value.
8530func (s *ElasticsearchDomainStatus) SetSnapshotOptions(v *SnapshotOptions) *ElasticsearchDomainStatus {
8531	s.SnapshotOptions = v
8532	return s
8533}
8534
8535// SetUpgradeProcessing sets the UpgradeProcessing field's value.
8536func (s *ElasticsearchDomainStatus) SetUpgradeProcessing(v bool) *ElasticsearchDomainStatus {
8537	s.UpgradeProcessing = &v
8538	return s
8539}
8540
8541// SetVPCOptions sets the VPCOptions field's value.
8542func (s *ElasticsearchDomainStatus) SetVPCOptions(v *VPCDerivedInfo) *ElasticsearchDomainStatus {
8543	s.VPCOptions = v
8544	return s
8545}
8546
8547// Status of the Elasticsearch version options for the specified Elasticsearch
8548// domain.
8549type ElasticsearchVersionStatus struct {
8550	_ struct{} `type:"structure"`
8551
8552	// Specifies the Elasticsearch version for the specified Elasticsearch domain.
8553	//
8554	// Options is a required field
8555	Options *string `type:"string" required:"true"`
8556
8557	// Specifies the status of the Elasticsearch version options for the specified
8558	// Elasticsearch domain.
8559	//
8560	// Status is a required field
8561	Status *OptionStatus `type:"structure" required:"true"`
8562}
8563
8564// String returns the string representation
8565func (s ElasticsearchVersionStatus) String() string {
8566	return awsutil.Prettify(s)
8567}
8568
8569// GoString returns the string representation
8570func (s ElasticsearchVersionStatus) GoString() string {
8571	return s.String()
8572}
8573
8574// SetOptions sets the Options field's value.
8575func (s *ElasticsearchVersionStatus) SetOptions(v string) *ElasticsearchVersionStatus {
8576	s.Options = &v
8577	return s
8578}
8579
8580// SetStatus sets the Status field's value.
8581func (s *ElasticsearchVersionStatus) SetStatus(v *OptionStatus) *ElasticsearchVersionStatus {
8582	s.Status = v
8583	return s
8584}
8585
8586// Specifies the Encryption At Rest Options.
8587type EncryptionAtRestOptions struct {
8588	_ struct{} `type:"structure"`
8589
8590	// Specifies the option to enable Encryption At Rest.
8591	Enabled *bool `type:"boolean"`
8592
8593	// Specifies the KMS Key ID for Encryption At Rest options.
8594	KmsKeyId *string `min:"1" type:"string"`
8595}
8596
8597// String returns the string representation
8598func (s EncryptionAtRestOptions) String() string {
8599	return awsutil.Prettify(s)
8600}
8601
8602// GoString returns the string representation
8603func (s EncryptionAtRestOptions) GoString() string {
8604	return s.String()
8605}
8606
8607// Validate inspects the fields of the type to determine if they are valid.
8608func (s *EncryptionAtRestOptions) Validate() error {
8609	invalidParams := request.ErrInvalidParams{Context: "EncryptionAtRestOptions"}
8610	if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 {
8611		invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1))
8612	}
8613
8614	if invalidParams.Len() > 0 {
8615		return invalidParams
8616	}
8617	return nil
8618}
8619
8620// SetEnabled sets the Enabled field's value.
8621func (s *EncryptionAtRestOptions) SetEnabled(v bool) *EncryptionAtRestOptions {
8622	s.Enabled = &v
8623	return s
8624}
8625
8626// SetKmsKeyId sets the KmsKeyId field's value.
8627func (s *EncryptionAtRestOptions) SetKmsKeyId(v string) *EncryptionAtRestOptions {
8628	s.KmsKeyId = &v
8629	return s
8630}
8631
8632// Status of the Encryption At Rest options for the specified Elasticsearch
8633// domain.
8634type EncryptionAtRestOptionsStatus struct {
8635	_ struct{} `type:"structure"`
8636
8637	// Specifies the Encryption At Rest options for the specified Elasticsearch
8638	// domain.
8639	//
8640	// Options is a required field
8641	Options *EncryptionAtRestOptions `type:"structure" required:"true"`
8642
8643	// Specifies the status of the Encryption At Rest options for the specified
8644	// Elasticsearch domain.
8645	//
8646	// Status is a required field
8647	Status *OptionStatus `type:"structure" required:"true"`
8648}
8649
8650// String returns the string representation
8651func (s EncryptionAtRestOptionsStatus) String() string {
8652	return awsutil.Prettify(s)
8653}
8654
8655// GoString returns the string representation
8656func (s EncryptionAtRestOptionsStatus) GoString() string {
8657	return s.String()
8658}
8659
8660// SetOptions sets the Options field's value.
8661func (s *EncryptionAtRestOptionsStatus) SetOptions(v *EncryptionAtRestOptions) *EncryptionAtRestOptionsStatus {
8662	s.Options = v
8663	return s
8664}
8665
8666// SetStatus sets the Status field's value.
8667func (s *EncryptionAtRestOptionsStatus) SetStatus(v *OptionStatus) *EncryptionAtRestOptionsStatus {
8668	s.Status = v
8669	return s
8670}
8671
8672type ErrorDetails struct {
8673	_ struct{} `type:"structure"`
8674
8675	ErrorMessage *string `type:"string"`
8676
8677	ErrorType *string `type:"string"`
8678}
8679
8680// String returns the string representation
8681func (s ErrorDetails) String() string {
8682	return awsutil.Prettify(s)
8683}
8684
8685// GoString returns the string representation
8686func (s ErrorDetails) GoString() string {
8687	return s.String()
8688}
8689
8690// SetErrorMessage sets the ErrorMessage field's value.
8691func (s *ErrorDetails) SetErrorMessage(v string) *ErrorDetails {
8692	s.ErrorMessage = &v
8693	return s
8694}
8695
8696// SetErrorType sets the ErrorType field's value.
8697func (s *ErrorDetails) SetErrorType(v string) *ErrorDetails {
8698	s.ErrorType = &v
8699	return s
8700}
8701
8702// A filter used to limit results when describing inbound or outbound cross-cluster
8703// search connections. Multiple values can be specified per filter. A cross-cluster
8704// search connection must match at least one of the specified values for it
8705// to be returned from an operation.
8706type Filter struct {
8707	_ struct{} `type:"structure"`
8708
8709	// Specifies the name of the filter.
8710	Name *string `min:"1" type:"string"`
8711
8712	// Contains one or more values for the filter.
8713	Values []*string `min:"1" type:"list"`
8714}
8715
8716// String returns the string representation
8717func (s Filter) String() string {
8718	return awsutil.Prettify(s)
8719}
8720
8721// GoString returns the string representation
8722func (s Filter) GoString() string {
8723	return s.String()
8724}
8725
8726// Validate inspects the fields of the type to determine if they are valid.
8727func (s *Filter) Validate() error {
8728	invalidParams := request.ErrInvalidParams{Context: "Filter"}
8729	if s.Name != nil && len(*s.Name) < 1 {
8730		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
8731	}
8732	if s.Values != nil && len(s.Values) < 1 {
8733		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
8734	}
8735
8736	if invalidParams.Len() > 0 {
8737		return invalidParams
8738	}
8739	return nil
8740}
8741
8742// SetName sets the Name field's value.
8743func (s *Filter) SetName(v string) *Filter {
8744	s.Name = &v
8745	return s
8746}
8747
8748// SetValues sets the Values field's value.
8749func (s *Filter) SetValues(v []*string) *Filter {
8750	s.Values = v
8751	return s
8752}
8753
8754// Container for request parameters to GetCompatibleElasticsearchVersions operation.
8755type GetCompatibleElasticsearchVersionsInput struct {
8756	_ struct{} `type:"structure"`
8757
8758	// The name of an Elasticsearch domain. Domain names are unique across the domains
8759	// owned by an account within an AWS region. Domain names start with a letter
8760	// or number and can contain the following characters: a-z (lowercase), 0-9,
8761	// and - (hyphen).
8762	DomainName *string `location:"querystring" locationName:"domainName" min:"3" type:"string"`
8763}
8764
8765// String returns the string representation
8766func (s GetCompatibleElasticsearchVersionsInput) String() string {
8767	return awsutil.Prettify(s)
8768}
8769
8770// GoString returns the string representation
8771func (s GetCompatibleElasticsearchVersionsInput) GoString() string {
8772	return s.String()
8773}
8774
8775// Validate inspects the fields of the type to determine if they are valid.
8776func (s *GetCompatibleElasticsearchVersionsInput) Validate() error {
8777	invalidParams := request.ErrInvalidParams{Context: "GetCompatibleElasticsearchVersionsInput"}
8778	if s.DomainName != nil && len(*s.DomainName) < 3 {
8779		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
8780	}
8781
8782	if invalidParams.Len() > 0 {
8783		return invalidParams
8784	}
8785	return nil
8786}
8787
8788// SetDomainName sets the DomainName field's value.
8789func (s *GetCompatibleElasticsearchVersionsInput) SetDomainName(v string) *GetCompatibleElasticsearchVersionsInput {
8790	s.DomainName = &v
8791	return s
8792}
8793
8794// Container for response returned by GetCompatibleElasticsearchVersions operation.
8795type GetCompatibleElasticsearchVersionsOutput struct {
8796	_ struct{} `type:"structure"`
8797
8798	// A map of compatible Elasticsearch versions returned as part of the GetCompatibleElasticsearchVersions
8799	// operation.
8800	CompatibleElasticsearchVersions []*CompatibleVersionsMap `type:"list"`
8801}
8802
8803// String returns the string representation
8804func (s GetCompatibleElasticsearchVersionsOutput) String() string {
8805	return awsutil.Prettify(s)
8806}
8807
8808// GoString returns the string representation
8809func (s GetCompatibleElasticsearchVersionsOutput) GoString() string {
8810	return s.String()
8811}
8812
8813// SetCompatibleElasticsearchVersions sets the CompatibleElasticsearchVersions field's value.
8814func (s *GetCompatibleElasticsearchVersionsOutput) SetCompatibleElasticsearchVersions(v []*CompatibleVersionsMap) *GetCompatibleElasticsearchVersionsOutput {
8815	s.CompatibleElasticsearchVersions = v
8816	return s
8817}
8818
8819// Container for request parameters to GetPackageVersionHistory operation.
8820type GetPackageVersionHistoryInput struct {
8821	_ struct{} `type:"structure"`
8822
8823	// Limits results to a maximum number of versions.
8824	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
8825
8826	// Used for pagination. Only necessary if a previous API call includes a non-null
8827	// NextToken value. If provided, returns results for the next page.
8828	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
8829
8830	// Returns an audit history of versions of the package.
8831	//
8832	// PackageID is a required field
8833	PackageID *string `location:"uri" locationName:"PackageID" type:"string" required:"true"`
8834}
8835
8836// String returns the string representation
8837func (s GetPackageVersionHistoryInput) String() string {
8838	return awsutil.Prettify(s)
8839}
8840
8841// GoString returns the string representation
8842func (s GetPackageVersionHistoryInput) GoString() string {
8843	return s.String()
8844}
8845
8846// Validate inspects the fields of the type to determine if they are valid.
8847func (s *GetPackageVersionHistoryInput) Validate() error {
8848	invalidParams := request.ErrInvalidParams{Context: "GetPackageVersionHistoryInput"}
8849	if s.PackageID == nil {
8850		invalidParams.Add(request.NewErrParamRequired("PackageID"))
8851	}
8852	if s.PackageID != nil && len(*s.PackageID) < 1 {
8853		invalidParams.Add(request.NewErrParamMinLen("PackageID", 1))
8854	}
8855
8856	if invalidParams.Len() > 0 {
8857		return invalidParams
8858	}
8859	return nil
8860}
8861
8862// SetMaxResults sets the MaxResults field's value.
8863func (s *GetPackageVersionHistoryInput) SetMaxResults(v int64) *GetPackageVersionHistoryInput {
8864	s.MaxResults = &v
8865	return s
8866}
8867
8868// SetNextToken sets the NextToken field's value.
8869func (s *GetPackageVersionHistoryInput) SetNextToken(v string) *GetPackageVersionHistoryInput {
8870	s.NextToken = &v
8871	return s
8872}
8873
8874// SetPackageID sets the PackageID field's value.
8875func (s *GetPackageVersionHistoryInput) SetPackageID(v string) *GetPackageVersionHistoryInput {
8876	s.PackageID = &v
8877	return s
8878}
8879
8880// Container for response returned by GetPackageVersionHistory operation.
8881type GetPackageVersionHistoryOutput struct {
8882	_ struct{} `type:"structure"`
8883
8884	NextToken *string `type:"string"`
8885
8886	PackageID *string `type:"string"`
8887
8888	// List of PackageVersionHistory objects.
8889	PackageVersionHistoryList []*PackageVersionHistory `type:"list"`
8890}
8891
8892// String returns the string representation
8893func (s GetPackageVersionHistoryOutput) String() string {
8894	return awsutil.Prettify(s)
8895}
8896
8897// GoString returns the string representation
8898func (s GetPackageVersionHistoryOutput) GoString() string {
8899	return s.String()
8900}
8901
8902// SetNextToken sets the NextToken field's value.
8903func (s *GetPackageVersionHistoryOutput) SetNextToken(v string) *GetPackageVersionHistoryOutput {
8904	s.NextToken = &v
8905	return s
8906}
8907
8908// SetPackageID sets the PackageID field's value.
8909func (s *GetPackageVersionHistoryOutput) SetPackageID(v string) *GetPackageVersionHistoryOutput {
8910	s.PackageID = &v
8911	return s
8912}
8913
8914// SetPackageVersionHistoryList sets the PackageVersionHistoryList field's value.
8915func (s *GetPackageVersionHistoryOutput) SetPackageVersionHistoryList(v []*PackageVersionHistory) *GetPackageVersionHistoryOutput {
8916	s.PackageVersionHistoryList = v
8917	return s
8918}
8919
8920// Container for request parameters to GetUpgradeHistory operation.
8921type GetUpgradeHistoryInput struct {
8922	_ struct{} `type:"structure"`
8923
8924	// The name of an Elasticsearch domain. Domain names are unique across the domains
8925	// owned by an account within an AWS region. Domain names start with a letter
8926	// or number and can contain the following characters: a-z (lowercase), 0-9,
8927	// and - (hyphen).
8928	//
8929	// DomainName is a required field
8930	DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"`
8931
8932	// Set this value to limit the number of results returned.
8933	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
8934
8935	// Paginated APIs accepts NextToken input to returns next page results and provides
8936	// a NextToken output in the response which can be used by the client to retrieve
8937	// more results.
8938	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
8939}
8940
8941// String returns the string representation
8942func (s GetUpgradeHistoryInput) String() string {
8943	return awsutil.Prettify(s)
8944}
8945
8946// GoString returns the string representation
8947func (s GetUpgradeHistoryInput) GoString() string {
8948	return s.String()
8949}
8950
8951// Validate inspects the fields of the type to determine if they are valid.
8952func (s *GetUpgradeHistoryInput) Validate() error {
8953	invalidParams := request.ErrInvalidParams{Context: "GetUpgradeHistoryInput"}
8954	if s.DomainName == nil {
8955		invalidParams.Add(request.NewErrParamRequired("DomainName"))
8956	}
8957	if s.DomainName != nil && len(*s.DomainName) < 3 {
8958		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
8959	}
8960
8961	if invalidParams.Len() > 0 {
8962		return invalidParams
8963	}
8964	return nil
8965}
8966
8967// SetDomainName sets the DomainName field's value.
8968func (s *GetUpgradeHistoryInput) SetDomainName(v string) *GetUpgradeHistoryInput {
8969	s.DomainName = &v
8970	return s
8971}
8972
8973// SetMaxResults sets the MaxResults field's value.
8974func (s *GetUpgradeHistoryInput) SetMaxResults(v int64) *GetUpgradeHistoryInput {
8975	s.MaxResults = &v
8976	return s
8977}
8978
8979// SetNextToken sets the NextToken field's value.
8980func (s *GetUpgradeHistoryInput) SetNextToken(v string) *GetUpgradeHistoryInput {
8981	s.NextToken = &v
8982	return s
8983}
8984
8985// Container for response returned by GetUpgradeHistory operation.
8986type GetUpgradeHistoryOutput struct {
8987	_ struct{} `type:"structure"`
8988
8989	// Pagination token that needs to be supplied to the next call to get the next
8990	// page of results
8991	NextToken *string `type:"string"`
8992
8993	// A list of UpgradeHistory objects corresponding to each Upgrade or Upgrade
8994	// Eligibility Check performed on a domain returned as part of GetUpgradeHistoryResponse
8995	// object.
8996	UpgradeHistories []*UpgradeHistory `type:"list"`
8997}
8998
8999// String returns the string representation
9000func (s GetUpgradeHistoryOutput) String() string {
9001	return awsutil.Prettify(s)
9002}
9003
9004// GoString returns the string representation
9005func (s GetUpgradeHistoryOutput) GoString() string {
9006	return s.String()
9007}
9008
9009// SetNextToken sets the NextToken field's value.
9010func (s *GetUpgradeHistoryOutput) SetNextToken(v string) *GetUpgradeHistoryOutput {
9011	s.NextToken = &v
9012	return s
9013}
9014
9015// SetUpgradeHistories sets the UpgradeHistories field's value.
9016func (s *GetUpgradeHistoryOutput) SetUpgradeHistories(v []*UpgradeHistory) *GetUpgradeHistoryOutput {
9017	s.UpgradeHistories = v
9018	return s
9019}
9020
9021// Container for request parameters to GetUpgradeStatus operation.
9022type GetUpgradeStatusInput struct {
9023	_ struct{} `type:"structure"`
9024
9025	// The name of an Elasticsearch domain. Domain names are unique across the domains
9026	// owned by an account within an AWS region. Domain names start with a letter
9027	// or number and can contain the following characters: a-z (lowercase), 0-9,
9028	// and - (hyphen).
9029	//
9030	// DomainName is a required field
9031	DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"`
9032}
9033
9034// String returns the string representation
9035func (s GetUpgradeStatusInput) String() string {
9036	return awsutil.Prettify(s)
9037}
9038
9039// GoString returns the string representation
9040func (s GetUpgradeStatusInput) GoString() string {
9041	return s.String()
9042}
9043
9044// Validate inspects the fields of the type to determine if they are valid.
9045func (s *GetUpgradeStatusInput) Validate() error {
9046	invalidParams := request.ErrInvalidParams{Context: "GetUpgradeStatusInput"}
9047	if s.DomainName == nil {
9048		invalidParams.Add(request.NewErrParamRequired("DomainName"))
9049	}
9050	if s.DomainName != nil && len(*s.DomainName) < 3 {
9051		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
9052	}
9053
9054	if invalidParams.Len() > 0 {
9055		return invalidParams
9056	}
9057	return nil
9058}
9059
9060// SetDomainName sets the DomainName field's value.
9061func (s *GetUpgradeStatusInput) SetDomainName(v string) *GetUpgradeStatusInput {
9062	s.DomainName = &v
9063	return s
9064}
9065
9066// Container for response returned by GetUpgradeStatus operation.
9067type GetUpgradeStatusOutput struct {
9068	_ struct{} `type:"structure"`
9069
9070	// One of 4 statuses that a step can go through returned as part of the GetUpgradeStatusResponse
9071	// object. The status can take one of the following values:
9072	//    * In Progress
9073	//
9074	//    * Succeeded
9075	//
9076	//    * Succeeded with Issues
9077	//
9078	//    * Failed
9079	StepStatus *string `type:"string" enum:"UpgradeStatus"`
9080
9081	// A string that describes the update briefly
9082	UpgradeName *string `type:"string"`
9083
9084	// Represents one of 3 steps that an Upgrade or Upgrade Eligibility Check does
9085	// through:
9086	//    * PreUpgradeCheck
9087	//
9088	//    * Snapshot
9089	//
9090	//    * Upgrade
9091	UpgradeStep *string `type:"string" enum:"UpgradeStep"`
9092}
9093
9094// String returns the string representation
9095func (s GetUpgradeStatusOutput) String() string {
9096	return awsutil.Prettify(s)
9097}
9098
9099// GoString returns the string representation
9100func (s GetUpgradeStatusOutput) GoString() string {
9101	return s.String()
9102}
9103
9104// SetStepStatus sets the StepStatus field's value.
9105func (s *GetUpgradeStatusOutput) SetStepStatus(v string) *GetUpgradeStatusOutput {
9106	s.StepStatus = &v
9107	return s
9108}
9109
9110// SetUpgradeName sets the UpgradeName field's value.
9111func (s *GetUpgradeStatusOutput) SetUpgradeName(v string) *GetUpgradeStatusOutput {
9112	s.UpgradeName = &v
9113	return s
9114}
9115
9116// SetUpgradeStep sets the UpgradeStep field's value.
9117func (s *GetUpgradeStatusOutput) SetUpgradeStep(v string) *GetUpgradeStatusOutput {
9118	s.UpgradeStep = &v
9119	return s
9120}
9121
9122// Specifies details of an inbound connection.
9123type InboundCrossClusterSearchConnection struct {
9124	_ struct{} `type:"structure"`
9125
9126	// Specifies the InboundCrossClusterSearchConnectionStatus for the outbound
9127	// connection.
9128	ConnectionStatus *InboundCrossClusterSearchConnectionStatus `type:"structure"`
9129
9130	// Specifies the connection id for the inbound cross-cluster search connection.
9131	CrossClusterSearchConnectionId *string `type:"string"`
9132
9133	// Specifies the DomainInformation for the destination Elasticsearch domain.
9134	DestinationDomainInfo *DomainInformation `type:"structure"`
9135
9136	// Specifies the DomainInformation for the source Elasticsearch domain.
9137	SourceDomainInfo *DomainInformation `type:"structure"`
9138}
9139
9140// String returns the string representation
9141func (s InboundCrossClusterSearchConnection) String() string {
9142	return awsutil.Prettify(s)
9143}
9144
9145// GoString returns the string representation
9146func (s InboundCrossClusterSearchConnection) GoString() string {
9147	return s.String()
9148}
9149
9150// SetConnectionStatus sets the ConnectionStatus field's value.
9151func (s *InboundCrossClusterSearchConnection) SetConnectionStatus(v *InboundCrossClusterSearchConnectionStatus) *InboundCrossClusterSearchConnection {
9152	s.ConnectionStatus = v
9153	return s
9154}
9155
9156// SetCrossClusterSearchConnectionId sets the CrossClusterSearchConnectionId field's value.
9157func (s *InboundCrossClusterSearchConnection) SetCrossClusterSearchConnectionId(v string) *InboundCrossClusterSearchConnection {
9158	s.CrossClusterSearchConnectionId = &v
9159	return s
9160}
9161
9162// SetDestinationDomainInfo sets the DestinationDomainInfo field's value.
9163func (s *InboundCrossClusterSearchConnection) SetDestinationDomainInfo(v *DomainInformation) *InboundCrossClusterSearchConnection {
9164	s.DestinationDomainInfo = v
9165	return s
9166}
9167
9168// SetSourceDomainInfo sets the SourceDomainInfo field's value.
9169func (s *InboundCrossClusterSearchConnection) SetSourceDomainInfo(v *DomainInformation) *InboundCrossClusterSearchConnection {
9170	s.SourceDomainInfo = v
9171	return s
9172}
9173
9174// Specifies the coonection status of an inbound cross-cluster search connection.
9175type InboundCrossClusterSearchConnectionStatus struct {
9176	_ struct{} `type:"structure"`
9177
9178	// Specifies verbose information for the inbound connection status.
9179	Message *string `type:"string"`
9180
9181	// The state code for inbound connection. This can be one of the following:
9182	//
9183	//    * PENDING_ACCEPTANCE: Inbound connection is not yet accepted by destination
9184	//    domain owner.
9185	//
9186	//    * APPROVED: Inbound connection is pending acceptance by destination domain
9187	//    owner.
9188	//
9189	//    * REJECTING: Inbound connection rejection is in process.
9190	//
9191	//    * REJECTED: Inbound connection is rejected.
9192	//
9193	//    * DELETING: Inbound connection deletion is in progress.
9194	//
9195	//    * DELETED: Inbound connection is deleted and cannot be used further.
9196	StatusCode *string `type:"string" enum:"InboundCrossClusterSearchConnectionStatusCode"`
9197}
9198
9199// String returns the string representation
9200func (s InboundCrossClusterSearchConnectionStatus) String() string {
9201	return awsutil.Prettify(s)
9202}
9203
9204// GoString returns the string representation
9205func (s InboundCrossClusterSearchConnectionStatus) GoString() string {
9206	return s.String()
9207}
9208
9209// SetMessage sets the Message field's value.
9210func (s *InboundCrossClusterSearchConnectionStatus) SetMessage(v string) *InboundCrossClusterSearchConnectionStatus {
9211	s.Message = &v
9212	return s
9213}
9214
9215// SetStatusCode sets the StatusCode field's value.
9216func (s *InboundCrossClusterSearchConnectionStatus) SetStatusCode(v string) *InboundCrossClusterSearchConnectionStatus {
9217	s.StatusCode = &v
9218	return s
9219}
9220
9221// InstanceCountLimits represents the limits on number of instances that be
9222// created in Amazon Elasticsearch for given InstanceType.
9223type InstanceCountLimits struct {
9224	_ struct{} `type:"structure"`
9225
9226	// Maximum number of Instances that can be instantiated for given InstanceType.
9227	MaximumInstanceCount *int64 `type:"integer"`
9228
9229	// Minimum number of Instances that can be instantiated for given InstanceType.
9230	MinimumInstanceCount *int64 `type:"integer"`
9231}
9232
9233// String returns the string representation
9234func (s InstanceCountLimits) String() string {
9235	return awsutil.Prettify(s)
9236}
9237
9238// GoString returns the string representation
9239func (s InstanceCountLimits) GoString() string {
9240	return s.String()
9241}
9242
9243// SetMaximumInstanceCount sets the MaximumInstanceCount field's value.
9244func (s *InstanceCountLimits) SetMaximumInstanceCount(v int64) *InstanceCountLimits {
9245	s.MaximumInstanceCount = &v
9246	return s
9247}
9248
9249// SetMinimumInstanceCount sets the MinimumInstanceCount field's value.
9250func (s *InstanceCountLimits) SetMinimumInstanceCount(v int64) *InstanceCountLimits {
9251	s.MinimumInstanceCount = &v
9252	return s
9253}
9254
9255// InstanceLimits represents the list of instance related attributes that are
9256// available for given InstanceType.
9257type InstanceLimits struct {
9258	_ struct{} `type:"structure"`
9259
9260	// InstanceCountLimits represents the limits on number of instances that be
9261	// created in Amazon Elasticsearch for given InstanceType.
9262	InstanceCountLimits *InstanceCountLimits `type:"structure"`
9263}
9264
9265// String returns the string representation
9266func (s InstanceLimits) String() string {
9267	return awsutil.Prettify(s)
9268}
9269
9270// GoString returns the string representation
9271func (s InstanceLimits) GoString() string {
9272	return s.String()
9273}
9274
9275// SetInstanceCountLimits sets the InstanceCountLimits field's value.
9276func (s *InstanceLimits) SetInstanceCountLimits(v *InstanceCountLimits) *InstanceLimits {
9277	s.InstanceCountLimits = v
9278	return s
9279}
9280
9281// The request processing has failed because of an unknown error, exception
9282// or failure (the failure is internal to the service) . Gives http status code
9283// of 500.
9284type InternalException struct {
9285	_            struct{}                  `type:"structure"`
9286	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9287
9288	Message_ *string `locationName:"message" type:"string"`
9289}
9290
9291// String returns the string representation
9292func (s InternalException) String() string {
9293	return awsutil.Prettify(s)
9294}
9295
9296// GoString returns the string representation
9297func (s InternalException) GoString() string {
9298	return s.String()
9299}
9300
9301func newErrorInternalException(v protocol.ResponseMetadata) error {
9302	return &InternalException{
9303		RespMetadata: v,
9304	}
9305}
9306
9307// Code returns the exception type name.
9308func (s *InternalException) Code() string {
9309	return "InternalException"
9310}
9311
9312// Message returns the exception's message.
9313func (s *InternalException) Message() string {
9314	if s.Message_ != nil {
9315		return *s.Message_
9316	}
9317	return ""
9318}
9319
9320// OrigErr always returns nil, satisfies awserr.Error interface.
9321func (s *InternalException) OrigErr() error {
9322	return nil
9323}
9324
9325func (s *InternalException) Error() string {
9326	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9327}
9328
9329// Status code returns the HTTP status code for the request's response error.
9330func (s *InternalException) StatusCode() int {
9331	return s.RespMetadata.StatusCode
9332}
9333
9334// RequestID returns the service's response RequestID for request.
9335func (s *InternalException) RequestID() string {
9336	return s.RespMetadata.RequestID
9337}
9338
9339// The request processing has failed because of invalid pagination token provided
9340// by customer. Returns an HTTP status code of 400.
9341type InvalidPaginationTokenException struct {
9342	_            struct{}                  `type:"structure"`
9343	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9344
9345	Message_ *string `locationName:"message" type:"string"`
9346}
9347
9348// String returns the string representation
9349func (s InvalidPaginationTokenException) String() string {
9350	return awsutil.Prettify(s)
9351}
9352
9353// GoString returns the string representation
9354func (s InvalidPaginationTokenException) GoString() string {
9355	return s.String()
9356}
9357
9358func newErrorInvalidPaginationTokenException(v protocol.ResponseMetadata) error {
9359	return &InvalidPaginationTokenException{
9360		RespMetadata: v,
9361	}
9362}
9363
9364// Code returns the exception type name.
9365func (s *InvalidPaginationTokenException) Code() string {
9366	return "InvalidPaginationTokenException"
9367}
9368
9369// Message returns the exception's message.
9370func (s *InvalidPaginationTokenException) Message() string {
9371	if s.Message_ != nil {
9372		return *s.Message_
9373	}
9374	return ""
9375}
9376
9377// OrigErr always returns nil, satisfies awserr.Error interface.
9378func (s *InvalidPaginationTokenException) OrigErr() error {
9379	return nil
9380}
9381
9382func (s *InvalidPaginationTokenException) Error() string {
9383	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9384}
9385
9386// Status code returns the HTTP status code for the request's response error.
9387func (s *InvalidPaginationTokenException) StatusCode() int {
9388	return s.RespMetadata.StatusCode
9389}
9390
9391// RequestID returns the service's response RequestID for request.
9392func (s *InvalidPaginationTokenException) RequestID() string {
9393	return s.RespMetadata.RequestID
9394}
9395
9396// An exception for trying to create or access sub-resource that is either invalid
9397// or not supported. Gives http status code of 409.
9398type InvalidTypeException struct {
9399	_            struct{}                  `type:"structure"`
9400	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9401
9402	Message_ *string `locationName:"message" type:"string"`
9403}
9404
9405// String returns the string representation
9406func (s InvalidTypeException) String() string {
9407	return awsutil.Prettify(s)
9408}
9409
9410// GoString returns the string representation
9411func (s InvalidTypeException) GoString() string {
9412	return s.String()
9413}
9414
9415func newErrorInvalidTypeException(v protocol.ResponseMetadata) error {
9416	return &InvalidTypeException{
9417		RespMetadata: v,
9418	}
9419}
9420
9421// Code returns the exception type name.
9422func (s *InvalidTypeException) Code() string {
9423	return "InvalidTypeException"
9424}
9425
9426// Message returns the exception's message.
9427func (s *InvalidTypeException) Message() string {
9428	if s.Message_ != nil {
9429		return *s.Message_
9430	}
9431	return ""
9432}
9433
9434// OrigErr always returns nil, satisfies awserr.Error interface.
9435func (s *InvalidTypeException) OrigErr() error {
9436	return nil
9437}
9438
9439func (s *InvalidTypeException) Error() string {
9440	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9441}
9442
9443// Status code returns the HTTP status code for the request's response error.
9444func (s *InvalidTypeException) StatusCode() int {
9445	return s.RespMetadata.StatusCode
9446}
9447
9448// RequestID returns the service's response RequestID for request.
9449func (s *InvalidTypeException) RequestID() string {
9450	return s.RespMetadata.RequestID
9451}
9452
9453// An exception for trying to create more than allowed resources or sub-resources.
9454// Gives http status code of 409.
9455type LimitExceededException struct {
9456	_            struct{}                  `type:"structure"`
9457	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9458
9459	Message_ *string `locationName:"message" type:"string"`
9460}
9461
9462// String returns the string representation
9463func (s LimitExceededException) String() string {
9464	return awsutil.Prettify(s)
9465}
9466
9467// GoString returns the string representation
9468func (s LimitExceededException) GoString() string {
9469	return s.String()
9470}
9471
9472func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
9473	return &LimitExceededException{
9474		RespMetadata: v,
9475	}
9476}
9477
9478// Code returns the exception type name.
9479func (s *LimitExceededException) Code() string {
9480	return "LimitExceededException"
9481}
9482
9483// Message returns the exception's message.
9484func (s *LimitExceededException) Message() string {
9485	if s.Message_ != nil {
9486		return *s.Message_
9487	}
9488	return ""
9489}
9490
9491// OrigErr always returns nil, satisfies awserr.Error interface.
9492func (s *LimitExceededException) OrigErr() error {
9493	return nil
9494}
9495
9496func (s *LimitExceededException) Error() string {
9497	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9498}
9499
9500// Status code returns the HTTP status code for the request's response error.
9501func (s *LimitExceededException) StatusCode() int {
9502	return s.RespMetadata.StatusCode
9503}
9504
9505// RequestID returns the service's response RequestID for request.
9506func (s *LimitExceededException) RequestID() string {
9507	return s.RespMetadata.RequestID
9508}
9509
9510// Limits for given InstanceType and for each of it's role. Limits contains
9511// following StorageTypes, InstanceLimits and AdditionalLimits
9512type Limits struct {
9513	_ struct{} `type:"structure"`
9514
9515	// List of additional limits that are specific to a given InstanceType and for
9516	// each of it's InstanceRole .
9517	AdditionalLimits []*AdditionalLimit `type:"list"`
9518
9519	// InstanceLimits represents the list of instance related attributes that are
9520	// available for given InstanceType.
9521	InstanceLimits *InstanceLimits `type:"structure"`
9522
9523	// StorageType represents the list of storage related types and attributes that
9524	// are available for given InstanceType.
9525	StorageTypes []*StorageType `type:"list"`
9526}
9527
9528// String returns the string representation
9529func (s Limits) String() string {
9530	return awsutil.Prettify(s)
9531}
9532
9533// GoString returns the string representation
9534func (s Limits) GoString() string {
9535	return s.String()
9536}
9537
9538// SetAdditionalLimits sets the AdditionalLimits field's value.
9539func (s *Limits) SetAdditionalLimits(v []*AdditionalLimit) *Limits {
9540	s.AdditionalLimits = v
9541	return s
9542}
9543
9544// SetInstanceLimits sets the InstanceLimits field's value.
9545func (s *Limits) SetInstanceLimits(v *InstanceLimits) *Limits {
9546	s.InstanceLimits = v
9547	return s
9548}
9549
9550// SetStorageTypes sets the StorageTypes field's value.
9551func (s *Limits) SetStorageTypes(v []*StorageType) *Limits {
9552	s.StorageTypes = v
9553	return s
9554}
9555
9556type ListDomainNamesInput struct {
9557	_ struct{} `type:"structure"`
9558}
9559
9560// String returns the string representation
9561func (s ListDomainNamesInput) String() string {
9562	return awsutil.Prettify(s)
9563}
9564
9565// GoString returns the string representation
9566func (s ListDomainNamesInput) GoString() string {
9567	return s.String()
9568}
9569
9570// The result of a ListDomainNames operation. Contains the names of all Elasticsearch
9571// domains owned by this account.
9572type ListDomainNamesOutput struct {
9573	_ struct{} `type:"structure"`
9574
9575	// List of Elasticsearch domain names.
9576	DomainNames []*DomainInfo `type:"list"`
9577}
9578
9579// String returns the string representation
9580func (s ListDomainNamesOutput) String() string {
9581	return awsutil.Prettify(s)
9582}
9583
9584// GoString returns the string representation
9585func (s ListDomainNamesOutput) GoString() string {
9586	return s.String()
9587}
9588
9589// SetDomainNames sets the DomainNames field's value.
9590func (s *ListDomainNamesOutput) SetDomainNames(v []*DomainInfo) *ListDomainNamesOutput {
9591	s.DomainNames = v
9592	return s
9593}
9594
9595// Container for request parameters to ListDomainsForPackage operation.
9596type ListDomainsForPackageInput struct {
9597	_ struct{} `type:"structure"`
9598
9599	// Limits results to a maximum number of domains.
9600	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
9601
9602	// Used for pagination. Only necessary if a previous API call includes a non-null
9603	// NextToken value. If provided, returns results for the next page.
9604	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
9605
9606	// The package for which to list domains.
9607	//
9608	// PackageID is a required field
9609	PackageID *string `location:"uri" locationName:"PackageID" type:"string" required:"true"`
9610}
9611
9612// String returns the string representation
9613func (s ListDomainsForPackageInput) String() string {
9614	return awsutil.Prettify(s)
9615}
9616
9617// GoString returns the string representation
9618func (s ListDomainsForPackageInput) GoString() string {
9619	return s.String()
9620}
9621
9622// Validate inspects the fields of the type to determine if they are valid.
9623func (s *ListDomainsForPackageInput) Validate() error {
9624	invalidParams := request.ErrInvalidParams{Context: "ListDomainsForPackageInput"}
9625	if s.PackageID == nil {
9626		invalidParams.Add(request.NewErrParamRequired("PackageID"))
9627	}
9628	if s.PackageID != nil && len(*s.PackageID) < 1 {
9629		invalidParams.Add(request.NewErrParamMinLen("PackageID", 1))
9630	}
9631
9632	if invalidParams.Len() > 0 {
9633		return invalidParams
9634	}
9635	return nil
9636}
9637
9638// SetMaxResults sets the MaxResults field's value.
9639func (s *ListDomainsForPackageInput) SetMaxResults(v int64) *ListDomainsForPackageInput {
9640	s.MaxResults = &v
9641	return s
9642}
9643
9644// SetNextToken sets the NextToken field's value.
9645func (s *ListDomainsForPackageInput) SetNextToken(v string) *ListDomainsForPackageInput {
9646	s.NextToken = &v
9647	return s
9648}
9649
9650// SetPackageID sets the PackageID field's value.
9651func (s *ListDomainsForPackageInput) SetPackageID(v string) *ListDomainsForPackageInput {
9652	s.PackageID = &v
9653	return s
9654}
9655
9656// Container for response parameters to ListDomainsForPackage operation.
9657type ListDomainsForPackageOutput struct {
9658	_ struct{} `type:"structure"`
9659
9660	// List of DomainPackageDetails objects.
9661	DomainPackageDetailsList []*DomainPackageDetails `type:"list"`
9662
9663	NextToken *string `type:"string"`
9664}
9665
9666// String returns the string representation
9667func (s ListDomainsForPackageOutput) String() string {
9668	return awsutil.Prettify(s)
9669}
9670
9671// GoString returns the string representation
9672func (s ListDomainsForPackageOutput) GoString() string {
9673	return s.String()
9674}
9675
9676// SetDomainPackageDetailsList sets the DomainPackageDetailsList field's value.
9677func (s *ListDomainsForPackageOutput) SetDomainPackageDetailsList(v []*DomainPackageDetails) *ListDomainsForPackageOutput {
9678	s.DomainPackageDetailsList = v
9679	return s
9680}
9681
9682// SetNextToken sets the NextToken field's value.
9683func (s *ListDomainsForPackageOutput) SetNextToken(v string) *ListDomainsForPackageOutput {
9684	s.NextToken = &v
9685	return s
9686}
9687
9688// Container for the parameters to the ListElasticsearchInstanceTypes operation.
9689type ListElasticsearchInstanceTypesInput struct {
9690	_ struct{} `type:"structure"`
9691
9692	// DomainName represents the name of the Domain that we are trying to modify.
9693	// This should be present only if we are querying for list of available Elasticsearch
9694	// instance types when modifying existing domain.
9695	DomainName *string `location:"querystring" locationName:"domainName" min:"3" type:"string"`
9696
9697	// Version of Elasticsearch for which list of supported elasticsearch instance
9698	// types are needed.
9699	//
9700	// ElasticsearchVersion is a required field
9701	ElasticsearchVersion *string `location:"uri" locationName:"ElasticsearchVersion" type:"string" required:"true"`
9702
9703	// Set this value to limit the number of results returned. Value provided must
9704	// be greater than 30 else it wont be honored.
9705	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
9706
9707	// NextToken should be sent in case if earlier API call produced result containing
9708	// NextToken. It is used for pagination.
9709	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
9710}
9711
9712// String returns the string representation
9713func (s ListElasticsearchInstanceTypesInput) String() string {
9714	return awsutil.Prettify(s)
9715}
9716
9717// GoString returns the string representation
9718func (s ListElasticsearchInstanceTypesInput) GoString() string {
9719	return s.String()
9720}
9721
9722// Validate inspects the fields of the type to determine if they are valid.
9723func (s *ListElasticsearchInstanceTypesInput) Validate() error {
9724	invalidParams := request.ErrInvalidParams{Context: "ListElasticsearchInstanceTypesInput"}
9725	if s.DomainName != nil && len(*s.DomainName) < 3 {
9726		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
9727	}
9728	if s.ElasticsearchVersion == nil {
9729		invalidParams.Add(request.NewErrParamRequired("ElasticsearchVersion"))
9730	}
9731	if s.ElasticsearchVersion != nil && len(*s.ElasticsearchVersion) < 1 {
9732		invalidParams.Add(request.NewErrParamMinLen("ElasticsearchVersion", 1))
9733	}
9734
9735	if invalidParams.Len() > 0 {
9736		return invalidParams
9737	}
9738	return nil
9739}
9740
9741// SetDomainName sets the DomainName field's value.
9742func (s *ListElasticsearchInstanceTypesInput) SetDomainName(v string) *ListElasticsearchInstanceTypesInput {
9743	s.DomainName = &v
9744	return s
9745}
9746
9747// SetElasticsearchVersion sets the ElasticsearchVersion field's value.
9748func (s *ListElasticsearchInstanceTypesInput) SetElasticsearchVersion(v string) *ListElasticsearchInstanceTypesInput {
9749	s.ElasticsearchVersion = &v
9750	return s
9751}
9752
9753// SetMaxResults sets the MaxResults field's value.
9754func (s *ListElasticsearchInstanceTypesInput) SetMaxResults(v int64) *ListElasticsearchInstanceTypesInput {
9755	s.MaxResults = &v
9756	return s
9757}
9758
9759// SetNextToken sets the NextToken field's value.
9760func (s *ListElasticsearchInstanceTypesInput) SetNextToken(v string) *ListElasticsearchInstanceTypesInput {
9761	s.NextToken = &v
9762	return s
9763}
9764
9765// Container for the parameters returned by ListElasticsearchInstanceTypes operation.
9766type ListElasticsearchInstanceTypesOutput struct {
9767	_ struct{} `type:"structure"`
9768
9769	// List of instance types supported by Amazon Elasticsearch service for given
9770	// ElasticsearchVersion
9771	ElasticsearchInstanceTypes []*string `type:"list"`
9772
9773	// In case if there are more results available NextToken would be present, make
9774	// further request to the same API with received NextToken to paginate remaining
9775	// results.
9776	NextToken *string `type:"string"`
9777}
9778
9779// String returns the string representation
9780func (s ListElasticsearchInstanceTypesOutput) String() string {
9781	return awsutil.Prettify(s)
9782}
9783
9784// GoString returns the string representation
9785func (s ListElasticsearchInstanceTypesOutput) GoString() string {
9786	return s.String()
9787}
9788
9789// SetElasticsearchInstanceTypes sets the ElasticsearchInstanceTypes field's value.
9790func (s *ListElasticsearchInstanceTypesOutput) SetElasticsearchInstanceTypes(v []*string) *ListElasticsearchInstanceTypesOutput {
9791	s.ElasticsearchInstanceTypes = v
9792	return s
9793}
9794
9795// SetNextToken sets the NextToken field's value.
9796func (s *ListElasticsearchInstanceTypesOutput) SetNextToken(v string) *ListElasticsearchInstanceTypesOutput {
9797	s.NextToken = &v
9798	return s
9799}
9800
9801// Container for the parameters to the ListElasticsearchVersions operation.
9802// Use MaxResults to control the maximum number of results to retrieve in a
9803// single call.
9804//
9805// Use NextToken in response to retrieve more results. If the received response
9806// does not contain a NextToken, then there are no more results to retrieve.
9807type ListElasticsearchVersionsInput struct {
9808	_ struct{} `type:"structure"`
9809
9810	// Set this value to limit the number of results returned. Value provided must
9811	// be greater than 10 else it wont be honored.
9812	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
9813
9814	// Paginated APIs accepts NextToken input to returns next page results and provides
9815	// a NextToken output in the response which can be used by the client to retrieve
9816	// more results.
9817	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
9818}
9819
9820// String returns the string representation
9821func (s ListElasticsearchVersionsInput) String() string {
9822	return awsutil.Prettify(s)
9823}
9824
9825// GoString returns the string representation
9826func (s ListElasticsearchVersionsInput) GoString() string {
9827	return s.String()
9828}
9829
9830// SetMaxResults sets the MaxResults field's value.
9831func (s *ListElasticsearchVersionsInput) SetMaxResults(v int64) *ListElasticsearchVersionsInput {
9832	s.MaxResults = &v
9833	return s
9834}
9835
9836// SetNextToken sets the NextToken field's value.
9837func (s *ListElasticsearchVersionsInput) SetNextToken(v string) *ListElasticsearchVersionsInput {
9838	s.NextToken = &v
9839	return s
9840}
9841
9842// Container for the parameters for response received from ListElasticsearchVersions
9843// operation.
9844type ListElasticsearchVersionsOutput struct {
9845	_ struct{} `type:"structure"`
9846
9847	// List of supported elastic search versions.
9848	ElasticsearchVersions []*string `type:"list"`
9849
9850	// Paginated APIs accepts NextToken input to returns next page results and provides
9851	// a NextToken output in the response which can be used by the client to retrieve
9852	// more results.
9853	NextToken *string `type:"string"`
9854}
9855
9856// String returns the string representation
9857func (s ListElasticsearchVersionsOutput) String() string {
9858	return awsutil.Prettify(s)
9859}
9860
9861// GoString returns the string representation
9862func (s ListElasticsearchVersionsOutput) GoString() string {
9863	return s.String()
9864}
9865
9866// SetElasticsearchVersions sets the ElasticsearchVersions field's value.
9867func (s *ListElasticsearchVersionsOutput) SetElasticsearchVersions(v []*string) *ListElasticsearchVersionsOutput {
9868	s.ElasticsearchVersions = v
9869	return s
9870}
9871
9872// SetNextToken sets the NextToken field's value.
9873func (s *ListElasticsearchVersionsOutput) SetNextToken(v string) *ListElasticsearchVersionsOutput {
9874	s.NextToken = &v
9875	return s
9876}
9877
9878// Container for request parameters to ListPackagesForDomain operation.
9879type ListPackagesForDomainInput struct {
9880	_ struct{} `type:"structure"`
9881
9882	// The name of the domain for which you want to list associated packages.
9883	//
9884	// DomainName is a required field
9885	DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"`
9886
9887	// Limits results to a maximum number of packages.
9888	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
9889
9890	// Used for pagination. Only necessary if a previous API call includes a non-null
9891	// NextToken value. If provided, returns results for the next page.
9892	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
9893}
9894
9895// String returns the string representation
9896func (s ListPackagesForDomainInput) String() string {
9897	return awsutil.Prettify(s)
9898}
9899
9900// GoString returns the string representation
9901func (s ListPackagesForDomainInput) GoString() string {
9902	return s.String()
9903}
9904
9905// Validate inspects the fields of the type to determine if they are valid.
9906func (s *ListPackagesForDomainInput) Validate() error {
9907	invalidParams := request.ErrInvalidParams{Context: "ListPackagesForDomainInput"}
9908	if s.DomainName == nil {
9909		invalidParams.Add(request.NewErrParamRequired("DomainName"))
9910	}
9911	if s.DomainName != nil && len(*s.DomainName) < 3 {
9912		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
9913	}
9914
9915	if invalidParams.Len() > 0 {
9916		return invalidParams
9917	}
9918	return nil
9919}
9920
9921// SetDomainName sets the DomainName field's value.
9922func (s *ListPackagesForDomainInput) SetDomainName(v string) *ListPackagesForDomainInput {
9923	s.DomainName = &v
9924	return s
9925}
9926
9927// SetMaxResults sets the MaxResults field's value.
9928func (s *ListPackagesForDomainInput) SetMaxResults(v int64) *ListPackagesForDomainInput {
9929	s.MaxResults = &v
9930	return s
9931}
9932
9933// SetNextToken sets the NextToken field's value.
9934func (s *ListPackagesForDomainInput) SetNextToken(v string) *ListPackagesForDomainInput {
9935	s.NextToken = &v
9936	return s
9937}
9938
9939// Container for response parameters to ListPackagesForDomain operation.
9940type ListPackagesForDomainOutput struct {
9941	_ struct{} `type:"structure"`
9942
9943	// List of DomainPackageDetails objects.
9944	DomainPackageDetailsList []*DomainPackageDetails `type:"list"`
9945
9946	// Pagination token that needs to be supplied to the next call to get the next
9947	// page of results.
9948	NextToken *string `type:"string"`
9949}
9950
9951// String returns the string representation
9952func (s ListPackagesForDomainOutput) String() string {
9953	return awsutil.Prettify(s)
9954}
9955
9956// GoString returns the string representation
9957func (s ListPackagesForDomainOutput) GoString() string {
9958	return s.String()
9959}
9960
9961// SetDomainPackageDetailsList sets the DomainPackageDetailsList field's value.
9962func (s *ListPackagesForDomainOutput) SetDomainPackageDetailsList(v []*DomainPackageDetails) *ListPackagesForDomainOutput {
9963	s.DomainPackageDetailsList = v
9964	return s
9965}
9966
9967// SetNextToken sets the NextToken field's value.
9968func (s *ListPackagesForDomainOutput) SetNextToken(v string) *ListPackagesForDomainOutput {
9969	s.NextToken = &v
9970	return s
9971}
9972
9973// Container for the parameters to the ListTags operation. Specify the ARN for
9974// the Elasticsearch domain to which the tags are attached that you want to
9975// view are attached.
9976type ListTagsInput struct {
9977	_ struct{} `type:"structure"`
9978
9979	// Specify the ARN for the Elasticsearch domain to which the tags are attached
9980	// that you want to view.
9981	//
9982	// ARN is a required field
9983	ARN *string `location:"querystring" locationName:"arn" type:"string" required:"true"`
9984}
9985
9986// String returns the string representation
9987func (s ListTagsInput) String() string {
9988	return awsutil.Prettify(s)
9989}
9990
9991// GoString returns the string representation
9992func (s ListTagsInput) GoString() string {
9993	return s.String()
9994}
9995
9996// Validate inspects the fields of the type to determine if they are valid.
9997func (s *ListTagsInput) Validate() error {
9998	invalidParams := request.ErrInvalidParams{Context: "ListTagsInput"}
9999	if s.ARN == nil {
10000		invalidParams.Add(request.NewErrParamRequired("ARN"))
10001	}
10002
10003	if invalidParams.Len() > 0 {
10004		return invalidParams
10005	}
10006	return nil
10007}
10008
10009// SetARN sets the ARN field's value.
10010func (s *ListTagsInput) SetARN(v string) *ListTagsInput {
10011	s.ARN = &v
10012	return s
10013}
10014
10015// The result of a ListTags operation. Contains tags for all requested Elasticsearch
10016// domains.
10017type ListTagsOutput struct {
10018	_ struct{} `type:"structure"`
10019
10020	// List of Tag for the requested Elasticsearch domain.
10021	TagList []*Tag `type:"list"`
10022}
10023
10024// String returns the string representation
10025func (s ListTagsOutput) String() string {
10026	return awsutil.Prettify(s)
10027}
10028
10029// GoString returns the string representation
10030func (s ListTagsOutput) GoString() string {
10031	return s.String()
10032}
10033
10034// SetTagList sets the TagList field's value.
10035func (s *ListTagsOutput) SetTagList(v []*Tag) *ListTagsOutput {
10036	s.TagList = v
10037	return s
10038}
10039
10040// Log Publishing option that is set for given domain. Attributes and their
10041// details:
10042//    * CloudWatchLogsLogGroupArn: ARN of the Cloudwatch log group to which
10043//    log needs to be published.
10044//
10045//    * Enabled: Whether the log publishing for given log type is enabled or
10046//    not
10047type LogPublishingOption struct {
10048	_ struct{} `type:"structure"`
10049
10050	// ARN of the Cloudwatch log group to which log needs to be published.
10051	CloudWatchLogsLogGroupArn *string `type:"string"`
10052
10053	// Specifies whether given log publishing option is enabled or not.
10054	Enabled *bool `type:"boolean"`
10055}
10056
10057// String returns the string representation
10058func (s LogPublishingOption) String() string {
10059	return awsutil.Prettify(s)
10060}
10061
10062// GoString returns the string representation
10063func (s LogPublishingOption) GoString() string {
10064	return s.String()
10065}
10066
10067// SetCloudWatchLogsLogGroupArn sets the CloudWatchLogsLogGroupArn field's value.
10068func (s *LogPublishingOption) SetCloudWatchLogsLogGroupArn(v string) *LogPublishingOption {
10069	s.CloudWatchLogsLogGroupArn = &v
10070	return s
10071}
10072
10073// SetEnabled sets the Enabled field's value.
10074func (s *LogPublishingOption) SetEnabled(v bool) *LogPublishingOption {
10075	s.Enabled = &v
10076	return s
10077}
10078
10079// The configured log publishing options for the domain and their current status.
10080type LogPublishingOptionsStatus struct {
10081	_ struct{} `type:"structure"`
10082
10083	// The log publishing options configured for the Elasticsearch domain.
10084	Options map[string]*LogPublishingOption `type:"map"`
10085
10086	// The status of the log publishing options for the Elasticsearch domain. See
10087	// OptionStatus for the status information that's included.
10088	Status *OptionStatus `type:"structure"`
10089}
10090
10091// String returns the string representation
10092func (s LogPublishingOptionsStatus) String() string {
10093	return awsutil.Prettify(s)
10094}
10095
10096// GoString returns the string representation
10097func (s LogPublishingOptionsStatus) GoString() string {
10098	return s.String()
10099}
10100
10101// SetOptions sets the Options field's value.
10102func (s *LogPublishingOptionsStatus) SetOptions(v map[string]*LogPublishingOption) *LogPublishingOptionsStatus {
10103	s.Options = v
10104	return s
10105}
10106
10107// SetStatus sets the Status field's value.
10108func (s *LogPublishingOptionsStatus) SetStatus(v *OptionStatus) *LogPublishingOptionsStatus {
10109	s.Status = v
10110	return s
10111}
10112
10113// Credentials for the master user: username and password, ARN, or both.
10114type MasterUserOptions struct {
10115	_ struct{} `type:"structure"`
10116
10117	// ARN for the master user (if IAM is enabled).
10118	MasterUserARN *string `type:"string"`
10119
10120	// The master user's username, which is stored in the Amazon Elasticsearch Service
10121	// domain's internal database.
10122	MasterUserName *string `min:"1" type:"string" sensitive:"true"`
10123
10124	// The master user's password, which is stored in the Amazon Elasticsearch Service
10125	// domain's internal database.
10126	MasterUserPassword *string `min:"8" type:"string" sensitive:"true"`
10127}
10128
10129// String returns the string representation
10130func (s MasterUserOptions) String() string {
10131	return awsutil.Prettify(s)
10132}
10133
10134// GoString returns the string representation
10135func (s MasterUserOptions) GoString() string {
10136	return s.String()
10137}
10138
10139// Validate inspects the fields of the type to determine if they are valid.
10140func (s *MasterUserOptions) Validate() error {
10141	invalidParams := request.ErrInvalidParams{Context: "MasterUserOptions"}
10142	if s.MasterUserName != nil && len(*s.MasterUserName) < 1 {
10143		invalidParams.Add(request.NewErrParamMinLen("MasterUserName", 1))
10144	}
10145	if s.MasterUserPassword != nil && len(*s.MasterUserPassword) < 8 {
10146		invalidParams.Add(request.NewErrParamMinLen("MasterUserPassword", 8))
10147	}
10148
10149	if invalidParams.Len() > 0 {
10150		return invalidParams
10151	}
10152	return nil
10153}
10154
10155// SetMasterUserARN sets the MasterUserARN field's value.
10156func (s *MasterUserOptions) SetMasterUserARN(v string) *MasterUserOptions {
10157	s.MasterUserARN = &v
10158	return s
10159}
10160
10161// SetMasterUserName sets the MasterUserName field's value.
10162func (s *MasterUserOptions) SetMasterUserName(v string) *MasterUserOptions {
10163	s.MasterUserName = &v
10164	return s
10165}
10166
10167// SetMasterUserPassword sets the MasterUserPassword field's value.
10168func (s *MasterUserOptions) SetMasterUserPassword(v string) *MasterUserOptions {
10169	s.MasterUserPassword = &v
10170	return s
10171}
10172
10173// Specifies the node-to-node encryption options.
10174type NodeToNodeEncryptionOptions struct {
10175	_ struct{} `type:"structure"`
10176
10177	// Specify true to enable node-to-node encryption.
10178	Enabled *bool `type:"boolean"`
10179}
10180
10181// String returns the string representation
10182func (s NodeToNodeEncryptionOptions) String() string {
10183	return awsutil.Prettify(s)
10184}
10185
10186// GoString returns the string representation
10187func (s NodeToNodeEncryptionOptions) GoString() string {
10188	return s.String()
10189}
10190
10191// SetEnabled sets the Enabled field's value.
10192func (s *NodeToNodeEncryptionOptions) SetEnabled(v bool) *NodeToNodeEncryptionOptions {
10193	s.Enabled = &v
10194	return s
10195}
10196
10197// Status of the node-to-node encryption options for the specified Elasticsearch
10198// domain.
10199type NodeToNodeEncryptionOptionsStatus struct {
10200	_ struct{} `type:"structure"`
10201
10202	// Specifies the node-to-node encryption options for the specified Elasticsearch
10203	// domain.
10204	//
10205	// Options is a required field
10206	Options *NodeToNodeEncryptionOptions `type:"structure" required:"true"`
10207
10208	// Specifies the status of the node-to-node encryption options for the specified
10209	// Elasticsearch domain.
10210	//
10211	// Status is a required field
10212	Status *OptionStatus `type:"structure" required:"true"`
10213}
10214
10215// String returns the string representation
10216func (s NodeToNodeEncryptionOptionsStatus) String() string {
10217	return awsutil.Prettify(s)
10218}
10219
10220// GoString returns the string representation
10221func (s NodeToNodeEncryptionOptionsStatus) GoString() string {
10222	return s.String()
10223}
10224
10225// SetOptions sets the Options field's value.
10226func (s *NodeToNodeEncryptionOptionsStatus) SetOptions(v *NodeToNodeEncryptionOptions) *NodeToNodeEncryptionOptionsStatus {
10227	s.Options = v
10228	return s
10229}
10230
10231// SetStatus sets the Status field's value.
10232func (s *NodeToNodeEncryptionOptionsStatus) SetStatus(v *OptionStatus) *NodeToNodeEncryptionOptionsStatus {
10233	s.Status = v
10234	return s
10235}
10236
10237// Provides the current status of the entity.
10238type OptionStatus struct {
10239	_ struct{} `type:"structure"`
10240
10241	// Timestamp which tells the creation date for the entity.
10242	//
10243	// CreationDate is a required field
10244	CreationDate *time.Time `type:"timestamp" required:"true"`
10245
10246	// Indicates whether the Elasticsearch domain is being deleted.
10247	PendingDeletion *bool `type:"boolean"`
10248
10249	// Provides the OptionState for the Elasticsearch domain.
10250	//
10251	// State is a required field
10252	State *string `type:"string" required:"true" enum:"OptionState"`
10253
10254	// Timestamp which tells the last updated time for the entity.
10255	//
10256	// UpdateDate is a required field
10257	UpdateDate *time.Time `type:"timestamp" required:"true"`
10258
10259	// Specifies the latest version for the entity.
10260	UpdateVersion *int64 `type:"integer"`
10261}
10262
10263// String returns the string representation
10264func (s OptionStatus) String() string {
10265	return awsutil.Prettify(s)
10266}
10267
10268// GoString returns the string representation
10269func (s OptionStatus) GoString() string {
10270	return s.String()
10271}
10272
10273// SetCreationDate sets the CreationDate field's value.
10274func (s *OptionStatus) SetCreationDate(v time.Time) *OptionStatus {
10275	s.CreationDate = &v
10276	return s
10277}
10278
10279// SetPendingDeletion sets the PendingDeletion field's value.
10280func (s *OptionStatus) SetPendingDeletion(v bool) *OptionStatus {
10281	s.PendingDeletion = &v
10282	return s
10283}
10284
10285// SetState sets the State field's value.
10286func (s *OptionStatus) SetState(v string) *OptionStatus {
10287	s.State = &v
10288	return s
10289}
10290
10291// SetUpdateDate sets the UpdateDate field's value.
10292func (s *OptionStatus) SetUpdateDate(v time.Time) *OptionStatus {
10293	s.UpdateDate = &v
10294	return s
10295}
10296
10297// SetUpdateVersion sets the UpdateVersion field's value.
10298func (s *OptionStatus) SetUpdateVersion(v int64) *OptionStatus {
10299	s.UpdateVersion = &v
10300	return s
10301}
10302
10303// Specifies details of an outbound connection.
10304type OutboundCrossClusterSearchConnection struct {
10305	_ struct{} `type:"structure"`
10306
10307	// Specifies the connection alias for the outbound cross-cluster search connection.
10308	ConnectionAlias *string `type:"string"`
10309
10310	// Specifies the OutboundCrossClusterSearchConnectionStatus for the outbound
10311	// connection.
10312	ConnectionStatus *OutboundCrossClusterSearchConnectionStatus `type:"structure"`
10313
10314	// Specifies the connection id for the outbound cross-cluster search connection.
10315	CrossClusterSearchConnectionId *string `type:"string"`
10316
10317	// Specifies the DomainInformation for the destination Elasticsearch domain.
10318	DestinationDomainInfo *DomainInformation `type:"structure"`
10319
10320	// Specifies the DomainInformation for the source Elasticsearch domain.
10321	SourceDomainInfo *DomainInformation `type:"structure"`
10322}
10323
10324// String returns the string representation
10325func (s OutboundCrossClusterSearchConnection) String() string {
10326	return awsutil.Prettify(s)
10327}
10328
10329// GoString returns the string representation
10330func (s OutboundCrossClusterSearchConnection) GoString() string {
10331	return s.String()
10332}
10333
10334// SetConnectionAlias sets the ConnectionAlias field's value.
10335func (s *OutboundCrossClusterSearchConnection) SetConnectionAlias(v string) *OutboundCrossClusterSearchConnection {
10336	s.ConnectionAlias = &v
10337	return s
10338}
10339
10340// SetConnectionStatus sets the ConnectionStatus field's value.
10341func (s *OutboundCrossClusterSearchConnection) SetConnectionStatus(v *OutboundCrossClusterSearchConnectionStatus) *OutboundCrossClusterSearchConnection {
10342	s.ConnectionStatus = v
10343	return s
10344}
10345
10346// SetCrossClusterSearchConnectionId sets the CrossClusterSearchConnectionId field's value.
10347func (s *OutboundCrossClusterSearchConnection) SetCrossClusterSearchConnectionId(v string) *OutboundCrossClusterSearchConnection {
10348	s.CrossClusterSearchConnectionId = &v
10349	return s
10350}
10351
10352// SetDestinationDomainInfo sets the DestinationDomainInfo field's value.
10353func (s *OutboundCrossClusterSearchConnection) SetDestinationDomainInfo(v *DomainInformation) *OutboundCrossClusterSearchConnection {
10354	s.DestinationDomainInfo = v
10355	return s
10356}
10357
10358// SetSourceDomainInfo sets the SourceDomainInfo field's value.
10359func (s *OutboundCrossClusterSearchConnection) SetSourceDomainInfo(v *DomainInformation) *OutboundCrossClusterSearchConnection {
10360	s.SourceDomainInfo = v
10361	return s
10362}
10363
10364// Specifies the connection status of an outbound cross-cluster search connection.
10365type OutboundCrossClusterSearchConnectionStatus struct {
10366	_ struct{} `type:"structure"`
10367
10368	// Specifies verbose information for the outbound connection status.
10369	Message *string `type:"string"`
10370
10371	// The state code for outbound connection. This can be one of the following:
10372	//
10373	//    * VALIDATING: The outbound connection request is being validated.
10374	//
10375	//    * VALIDATION_FAILED: Validation failed for the connection request.
10376	//
10377	//    * PENDING_ACCEPTANCE: Outbound connection request is validated and is
10378	//    not yet accepted by destination domain owner.
10379	//
10380	//    * PROVISIONING: Outbound connection request is in process.
10381	//
10382	//    * ACTIVE: Outbound connection is active and ready to use.
10383	//
10384	//    * REJECTED: Outbound connection request is rejected by destination domain
10385	//    owner.
10386	//
10387	//    * DELETING: Outbound connection deletion is in progress.
10388	//
10389	//    * DELETED: Outbound connection is deleted and cannot be used further.
10390	StatusCode *string `type:"string" enum:"OutboundCrossClusterSearchConnectionStatusCode"`
10391}
10392
10393// String returns the string representation
10394func (s OutboundCrossClusterSearchConnectionStatus) String() string {
10395	return awsutil.Prettify(s)
10396}
10397
10398// GoString returns the string representation
10399func (s OutboundCrossClusterSearchConnectionStatus) GoString() string {
10400	return s.String()
10401}
10402
10403// SetMessage sets the Message field's value.
10404func (s *OutboundCrossClusterSearchConnectionStatus) SetMessage(v string) *OutboundCrossClusterSearchConnectionStatus {
10405	s.Message = &v
10406	return s
10407}
10408
10409// SetStatusCode sets the StatusCode field's value.
10410func (s *OutboundCrossClusterSearchConnectionStatus) SetStatusCode(v string) *OutboundCrossClusterSearchConnectionStatus {
10411	s.StatusCode = &v
10412	return s
10413}
10414
10415// Basic information about a package.
10416type PackageDetails struct {
10417	_ struct{} `type:"structure"`
10418
10419	AvailablePackageVersion *string `type:"string"`
10420
10421	// Timestamp which tells creation date of the package.
10422	CreatedAt *time.Time `type:"timestamp"`
10423
10424	// Additional information if the package is in an error state. Null otherwise.
10425	ErrorDetails *ErrorDetails `type:"structure"`
10426
10427	LastUpdatedAt *time.Time `type:"timestamp"`
10428
10429	// User-specified description of the package.
10430	PackageDescription *string `type:"string"`
10431
10432	// Internal ID of the package.
10433	PackageID *string `type:"string"`
10434
10435	// User specified name of the package.
10436	PackageName *string `min:"3" type:"string"`
10437
10438	// Current state of the package. Values are COPYING/COPY_FAILED/AVAILABLE/DELETING/DELETE_FAILED
10439	PackageStatus *string `type:"string" enum:"PackageStatus"`
10440
10441	// Currently supports only TXT-DICTIONARY.
10442	PackageType *string `type:"string" enum:"PackageType"`
10443}
10444
10445// String returns the string representation
10446func (s PackageDetails) String() string {
10447	return awsutil.Prettify(s)
10448}
10449
10450// GoString returns the string representation
10451func (s PackageDetails) GoString() string {
10452	return s.String()
10453}
10454
10455// SetAvailablePackageVersion sets the AvailablePackageVersion field's value.
10456func (s *PackageDetails) SetAvailablePackageVersion(v string) *PackageDetails {
10457	s.AvailablePackageVersion = &v
10458	return s
10459}
10460
10461// SetCreatedAt sets the CreatedAt field's value.
10462func (s *PackageDetails) SetCreatedAt(v time.Time) *PackageDetails {
10463	s.CreatedAt = &v
10464	return s
10465}
10466
10467// SetErrorDetails sets the ErrorDetails field's value.
10468func (s *PackageDetails) SetErrorDetails(v *ErrorDetails) *PackageDetails {
10469	s.ErrorDetails = v
10470	return s
10471}
10472
10473// SetLastUpdatedAt sets the LastUpdatedAt field's value.
10474func (s *PackageDetails) SetLastUpdatedAt(v time.Time) *PackageDetails {
10475	s.LastUpdatedAt = &v
10476	return s
10477}
10478
10479// SetPackageDescription sets the PackageDescription field's value.
10480func (s *PackageDetails) SetPackageDescription(v string) *PackageDetails {
10481	s.PackageDescription = &v
10482	return s
10483}
10484
10485// SetPackageID sets the PackageID field's value.
10486func (s *PackageDetails) SetPackageID(v string) *PackageDetails {
10487	s.PackageID = &v
10488	return s
10489}
10490
10491// SetPackageName sets the PackageName field's value.
10492func (s *PackageDetails) SetPackageName(v string) *PackageDetails {
10493	s.PackageName = &v
10494	return s
10495}
10496
10497// SetPackageStatus sets the PackageStatus field's value.
10498func (s *PackageDetails) SetPackageStatus(v string) *PackageDetails {
10499	s.PackageStatus = &v
10500	return s
10501}
10502
10503// SetPackageType sets the PackageType field's value.
10504func (s *PackageDetails) SetPackageType(v string) *PackageDetails {
10505	s.PackageType = &v
10506	return s
10507}
10508
10509// The S3 location for importing the package specified as S3BucketName and S3Key
10510type PackageSource struct {
10511	_ struct{} `type:"structure"`
10512
10513	// Name of the bucket containing the package.
10514	S3BucketName *string `min:"3" type:"string"`
10515
10516	// Key (file name) of the package.
10517	S3Key *string `type:"string"`
10518}
10519
10520// String returns the string representation
10521func (s PackageSource) String() string {
10522	return awsutil.Prettify(s)
10523}
10524
10525// GoString returns the string representation
10526func (s PackageSource) GoString() string {
10527	return s.String()
10528}
10529
10530// Validate inspects the fields of the type to determine if they are valid.
10531func (s *PackageSource) Validate() error {
10532	invalidParams := request.ErrInvalidParams{Context: "PackageSource"}
10533	if s.S3BucketName != nil && len(*s.S3BucketName) < 3 {
10534		invalidParams.Add(request.NewErrParamMinLen("S3BucketName", 3))
10535	}
10536
10537	if invalidParams.Len() > 0 {
10538		return invalidParams
10539	}
10540	return nil
10541}
10542
10543// SetS3BucketName sets the S3BucketName field's value.
10544func (s *PackageSource) SetS3BucketName(v string) *PackageSource {
10545	s.S3BucketName = &v
10546	return s
10547}
10548
10549// SetS3Key sets the S3Key field's value.
10550func (s *PackageSource) SetS3Key(v string) *PackageSource {
10551	s.S3Key = &v
10552	return s
10553}
10554
10555// Details of a package version.
10556type PackageVersionHistory struct {
10557	_ struct{} `type:"structure"`
10558
10559	// A message associated with the version.
10560	CommitMessage *string `type:"string"`
10561
10562	// Timestamp which tells creation time of the package version.
10563	CreatedAt *time.Time `type:"timestamp"`
10564
10565	// Version of the package.
10566	PackageVersion *string `type:"string"`
10567}
10568
10569// String returns the string representation
10570func (s PackageVersionHistory) String() string {
10571	return awsutil.Prettify(s)
10572}
10573
10574// GoString returns the string representation
10575func (s PackageVersionHistory) GoString() string {
10576	return s.String()
10577}
10578
10579// SetCommitMessage sets the CommitMessage field's value.
10580func (s *PackageVersionHistory) SetCommitMessage(v string) *PackageVersionHistory {
10581	s.CommitMessage = &v
10582	return s
10583}
10584
10585// SetCreatedAt sets the CreatedAt field's value.
10586func (s *PackageVersionHistory) SetCreatedAt(v time.Time) *PackageVersionHistory {
10587	s.CreatedAt = &v
10588	return s
10589}
10590
10591// SetPackageVersion sets the PackageVersion field's value.
10592func (s *PackageVersionHistory) SetPackageVersion(v string) *PackageVersionHistory {
10593	s.PackageVersion = &v
10594	return s
10595}
10596
10597// Container for parameters to PurchaseReservedElasticsearchInstanceOffering
10598type PurchaseReservedElasticsearchInstanceOfferingInput struct {
10599	_ struct{} `type:"structure"`
10600
10601	// The number of Elasticsearch instances to reserve.
10602	InstanceCount *int64 `min:"1" type:"integer"`
10603
10604	// A customer-specified identifier to track this reservation.
10605	//
10606	// ReservationName is a required field
10607	ReservationName *string `min:"5" type:"string" required:"true"`
10608
10609	// The ID of the reserved Elasticsearch instance offering to purchase.
10610	//
10611	// ReservedElasticsearchInstanceOfferingId is a required field
10612	ReservedElasticsearchInstanceOfferingId *string `type:"string" required:"true"`
10613}
10614
10615// String returns the string representation
10616func (s PurchaseReservedElasticsearchInstanceOfferingInput) String() string {
10617	return awsutil.Prettify(s)
10618}
10619
10620// GoString returns the string representation
10621func (s PurchaseReservedElasticsearchInstanceOfferingInput) GoString() string {
10622	return s.String()
10623}
10624
10625// Validate inspects the fields of the type to determine if they are valid.
10626func (s *PurchaseReservedElasticsearchInstanceOfferingInput) Validate() error {
10627	invalidParams := request.ErrInvalidParams{Context: "PurchaseReservedElasticsearchInstanceOfferingInput"}
10628	if s.InstanceCount != nil && *s.InstanceCount < 1 {
10629		invalidParams.Add(request.NewErrParamMinValue("InstanceCount", 1))
10630	}
10631	if s.ReservationName == nil {
10632		invalidParams.Add(request.NewErrParamRequired("ReservationName"))
10633	}
10634	if s.ReservationName != nil && len(*s.ReservationName) < 5 {
10635		invalidParams.Add(request.NewErrParamMinLen("ReservationName", 5))
10636	}
10637	if s.ReservedElasticsearchInstanceOfferingId == nil {
10638		invalidParams.Add(request.NewErrParamRequired("ReservedElasticsearchInstanceOfferingId"))
10639	}
10640
10641	if invalidParams.Len() > 0 {
10642		return invalidParams
10643	}
10644	return nil
10645}
10646
10647// SetInstanceCount sets the InstanceCount field's value.
10648func (s *PurchaseReservedElasticsearchInstanceOfferingInput) SetInstanceCount(v int64) *PurchaseReservedElasticsearchInstanceOfferingInput {
10649	s.InstanceCount = &v
10650	return s
10651}
10652
10653// SetReservationName sets the ReservationName field's value.
10654func (s *PurchaseReservedElasticsearchInstanceOfferingInput) SetReservationName(v string) *PurchaseReservedElasticsearchInstanceOfferingInput {
10655	s.ReservationName = &v
10656	return s
10657}
10658
10659// SetReservedElasticsearchInstanceOfferingId sets the ReservedElasticsearchInstanceOfferingId field's value.
10660func (s *PurchaseReservedElasticsearchInstanceOfferingInput) SetReservedElasticsearchInstanceOfferingId(v string) *PurchaseReservedElasticsearchInstanceOfferingInput {
10661	s.ReservedElasticsearchInstanceOfferingId = &v
10662	return s
10663}
10664
10665// Represents the output of a PurchaseReservedElasticsearchInstanceOffering
10666// operation.
10667type PurchaseReservedElasticsearchInstanceOfferingOutput struct {
10668	_ struct{} `type:"structure"`
10669
10670	// The customer-specified identifier used to track this reservation.
10671	ReservationName *string `min:"5" type:"string"`
10672
10673	// Details of the reserved Elasticsearch instance which was purchased.
10674	ReservedElasticsearchInstanceId *string `type:"string"`
10675}
10676
10677// String returns the string representation
10678func (s PurchaseReservedElasticsearchInstanceOfferingOutput) String() string {
10679	return awsutil.Prettify(s)
10680}
10681
10682// GoString returns the string representation
10683func (s PurchaseReservedElasticsearchInstanceOfferingOutput) GoString() string {
10684	return s.String()
10685}
10686
10687// SetReservationName sets the ReservationName field's value.
10688func (s *PurchaseReservedElasticsearchInstanceOfferingOutput) SetReservationName(v string) *PurchaseReservedElasticsearchInstanceOfferingOutput {
10689	s.ReservationName = &v
10690	return s
10691}
10692
10693// SetReservedElasticsearchInstanceId sets the ReservedElasticsearchInstanceId field's value.
10694func (s *PurchaseReservedElasticsearchInstanceOfferingOutput) SetReservedElasticsearchInstanceId(v string) *PurchaseReservedElasticsearchInstanceOfferingOutput {
10695	s.ReservedElasticsearchInstanceId = &v
10696	return s
10697}
10698
10699// Contains the specific price and frequency of a recurring charges for a reserved
10700// Elasticsearch instance, or for a reserved Elasticsearch instance offering.
10701type RecurringCharge struct {
10702	_ struct{} `type:"structure"`
10703
10704	// The monetary amount of the recurring charge.
10705	RecurringChargeAmount *float64 `type:"double"`
10706
10707	// The frequency of the recurring charge.
10708	RecurringChargeFrequency *string `type:"string"`
10709}
10710
10711// String returns the string representation
10712func (s RecurringCharge) String() string {
10713	return awsutil.Prettify(s)
10714}
10715
10716// GoString returns the string representation
10717func (s RecurringCharge) GoString() string {
10718	return s.String()
10719}
10720
10721// SetRecurringChargeAmount sets the RecurringChargeAmount field's value.
10722func (s *RecurringCharge) SetRecurringChargeAmount(v float64) *RecurringCharge {
10723	s.RecurringChargeAmount = &v
10724	return s
10725}
10726
10727// SetRecurringChargeFrequency sets the RecurringChargeFrequency field's value.
10728func (s *RecurringCharge) SetRecurringChargeFrequency(v string) *RecurringCharge {
10729	s.RecurringChargeFrequency = &v
10730	return s
10731}
10732
10733// Container for the parameters to the RejectInboundCrossClusterSearchConnection
10734// operation.
10735type RejectInboundCrossClusterSearchConnectionInput struct {
10736	_ struct{} `type:"structure"`
10737
10738	// The id of the inbound connection that you want to reject.
10739	//
10740	// CrossClusterSearchConnectionId is a required field
10741	CrossClusterSearchConnectionId *string `location:"uri" locationName:"ConnectionId" type:"string" required:"true"`
10742}
10743
10744// String returns the string representation
10745func (s RejectInboundCrossClusterSearchConnectionInput) String() string {
10746	return awsutil.Prettify(s)
10747}
10748
10749// GoString returns the string representation
10750func (s RejectInboundCrossClusterSearchConnectionInput) GoString() string {
10751	return s.String()
10752}
10753
10754// Validate inspects the fields of the type to determine if they are valid.
10755func (s *RejectInboundCrossClusterSearchConnectionInput) Validate() error {
10756	invalidParams := request.ErrInvalidParams{Context: "RejectInboundCrossClusterSearchConnectionInput"}
10757	if s.CrossClusterSearchConnectionId == nil {
10758		invalidParams.Add(request.NewErrParamRequired("CrossClusterSearchConnectionId"))
10759	}
10760	if s.CrossClusterSearchConnectionId != nil && len(*s.CrossClusterSearchConnectionId) < 1 {
10761		invalidParams.Add(request.NewErrParamMinLen("CrossClusterSearchConnectionId", 1))
10762	}
10763
10764	if invalidParams.Len() > 0 {
10765		return invalidParams
10766	}
10767	return nil
10768}
10769
10770// SetCrossClusterSearchConnectionId sets the CrossClusterSearchConnectionId field's value.
10771func (s *RejectInboundCrossClusterSearchConnectionInput) SetCrossClusterSearchConnectionId(v string) *RejectInboundCrossClusterSearchConnectionInput {
10772	s.CrossClusterSearchConnectionId = &v
10773	return s
10774}
10775
10776// The result of a RejectInboundCrossClusterSearchConnection operation. Contains
10777// details of rejected inbound connection.
10778type RejectInboundCrossClusterSearchConnectionOutput struct {
10779	_ struct{} `type:"structure"`
10780
10781	// Specifies the InboundCrossClusterSearchConnection of rejected inbound connection.
10782	CrossClusterSearchConnection *InboundCrossClusterSearchConnection `type:"structure"`
10783}
10784
10785// String returns the string representation
10786func (s RejectInboundCrossClusterSearchConnectionOutput) String() string {
10787	return awsutil.Prettify(s)
10788}
10789
10790// GoString returns the string representation
10791func (s RejectInboundCrossClusterSearchConnectionOutput) GoString() string {
10792	return s.String()
10793}
10794
10795// SetCrossClusterSearchConnection sets the CrossClusterSearchConnection field's value.
10796func (s *RejectInboundCrossClusterSearchConnectionOutput) SetCrossClusterSearchConnection(v *InboundCrossClusterSearchConnection) *RejectInboundCrossClusterSearchConnectionOutput {
10797	s.CrossClusterSearchConnection = v
10798	return s
10799}
10800
10801// Container for the parameters to the RemoveTags operation. Specify the ARN
10802// for the Elasticsearch domain from which you want to remove the specified
10803// TagKey.
10804type RemoveTagsInput struct {
10805	_ struct{} `type:"structure"`
10806
10807	// Specifies the ARN for the Elasticsearch domain from which you want to delete
10808	// the specified tags.
10809	//
10810	// ARN is a required field
10811	ARN *string `type:"string" required:"true"`
10812
10813	// Specifies the TagKey list which you want to remove from the Elasticsearch
10814	// domain.
10815	//
10816	// TagKeys is a required field
10817	TagKeys []*string `type:"list" required:"true"`
10818}
10819
10820// String returns the string representation
10821func (s RemoveTagsInput) String() string {
10822	return awsutil.Prettify(s)
10823}
10824
10825// GoString returns the string representation
10826func (s RemoveTagsInput) GoString() string {
10827	return s.String()
10828}
10829
10830// Validate inspects the fields of the type to determine if they are valid.
10831func (s *RemoveTagsInput) Validate() error {
10832	invalidParams := request.ErrInvalidParams{Context: "RemoveTagsInput"}
10833	if s.ARN == nil {
10834		invalidParams.Add(request.NewErrParamRequired("ARN"))
10835	}
10836	if s.TagKeys == nil {
10837		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
10838	}
10839
10840	if invalidParams.Len() > 0 {
10841		return invalidParams
10842	}
10843	return nil
10844}
10845
10846// SetARN sets the ARN field's value.
10847func (s *RemoveTagsInput) SetARN(v string) *RemoveTagsInput {
10848	s.ARN = &v
10849	return s
10850}
10851
10852// SetTagKeys sets the TagKeys field's value.
10853func (s *RemoveTagsInput) SetTagKeys(v []*string) *RemoveTagsInput {
10854	s.TagKeys = v
10855	return s
10856}
10857
10858type RemoveTagsOutput struct {
10859	_ struct{} `type:"structure"`
10860}
10861
10862// String returns the string representation
10863func (s RemoveTagsOutput) String() string {
10864	return awsutil.Prettify(s)
10865}
10866
10867// GoString returns the string representation
10868func (s RemoveTagsOutput) GoString() string {
10869	return s.String()
10870}
10871
10872// Details of a reserved Elasticsearch instance.
10873type ReservedElasticsearchInstance struct {
10874	_ struct{} `type:"structure"`
10875
10876	// The currency code for the reserved Elasticsearch instance offering.
10877	CurrencyCode *string `type:"string"`
10878
10879	// The duration, in seconds, for which the Elasticsearch instance is reserved.
10880	Duration *int64 `type:"integer"`
10881
10882	// The number of Elasticsearch instances that have been reserved.
10883	ElasticsearchInstanceCount *int64 `type:"integer"`
10884
10885	// The Elasticsearch instance type offered by the reserved instance offering.
10886	ElasticsearchInstanceType *string `type:"string" enum:"ESPartitionInstanceType"`
10887
10888	// The upfront fixed charge you will paid to purchase the specific reserved
10889	// Elasticsearch instance offering.
10890	FixedPrice *float64 `type:"double"`
10891
10892	// The payment option as defined in the reserved Elasticsearch instance offering.
10893	PaymentOption *string `type:"string" enum:"ReservedElasticsearchInstancePaymentOption"`
10894
10895	// The charge to your account regardless of whether you are creating any domains
10896	// using the instance offering.
10897	RecurringCharges []*RecurringCharge `type:"list"`
10898
10899	// The customer-specified identifier to track this reservation.
10900	ReservationName *string `min:"5" type:"string"`
10901
10902	// The unique identifier for the reservation.
10903	ReservedElasticsearchInstanceId *string `type:"string"`
10904
10905	// The offering identifier.
10906	ReservedElasticsearchInstanceOfferingId *string `type:"string"`
10907
10908	// The time the reservation started.
10909	StartTime *time.Time `type:"timestamp"`
10910
10911	// The state of the reserved Elasticsearch instance.
10912	State *string `type:"string"`
10913
10914	// The rate you are charged for each hour for the domain that is using this
10915	// reserved instance.
10916	UsagePrice *float64 `type:"double"`
10917}
10918
10919// String returns the string representation
10920func (s ReservedElasticsearchInstance) String() string {
10921	return awsutil.Prettify(s)
10922}
10923
10924// GoString returns the string representation
10925func (s ReservedElasticsearchInstance) GoString() string {
10926	return s.String()
10927}
10928
10929// SetCurrencyCode sets the CurrencyCode field's value.
10930func (s *ReservedElasticsearchInstance) SetCurrencyCode(v string) *ReservedElasticsearchInstance {
10931	s.CurrencyCode = &v
10932	return s
10933}
10934
10935// SetDuration sets the Duration field's value.
10936func (s *ReservedElasticsearchInstance) SetDuration(v int64) *ReservedElasticsearchInstance {
10937	s.Duration = &v
10938	return s
10939}
10940
10941// SetElasticsearchInstanceCount sets the ElasticsearchInstanceCount field's value.
10942func (s *ReservedElasticsearchInstance) SetElasticsearchInstanceCount(v int64) *ReservedElasticsearchInstance {
10943	s.ElasticsearchInstanceCount = &v
10944	return s
10945}
10946
10947// SetElasticsearchInstanceType sets the ElasticsearchInstanceType field's value.
10948func (s *ReservedElasticsearchInstance) SetElasticsearchInstanceType(v string) *ReservedElasticsearchInstance {
10949	s.ElasticsearchInstanceType = &v
10950	return s
10951}
10952
10953// SetFixedPrice sets the FixedPrice field's value.
10954func (s *ReservedElasticsearchInstance) SetFixedPrice(v float64) *ReservedElasticsearchInstance {
10955	s.FixedPrice = &v
10956	return s
10957}
10958
10959// SetPaymentOption sets the PaymentOption field's value.
10960func (s *ReservedElasticsearchInstance) SetPaymentOption(v string) *ReservedElasticsearchInstance {
10961	s.PaymentOption = &v
10962	return s
10963}
10964
10965// SetRecurringCharges sets the RecurringCharges field's value.
10966func (s *ReservedElasticsearchInstance) SetRecurringCharges(v []*RecurringCharge) *ReservedElasticsearchInstance {
10967	s.RecurringCharges = v
10968	return s
10969}
10970
10971// SetReservationName sets the ReservationName field's value.
10972func (s *ReservedElasticsearchInstance) SetReservationName(v string) *ReservedElasticsearchInstance {
10973	s.ReservationName = &v
10974	return s
10975}
10976
10977// SetReservedElasticsearchInstanceId sets the ReservedElasticsearchInstanceId field's value.
10978func (s *ReservedElasticsearchInstance) SetReservedElasticsearchInstanceId(v string) *ReservedElasticsearchInstance {
10979	s.ReservedElasticsearchInstanceId = &v
10980	return s
10981}
10982
10983// SetReservedElasticsearchInstanceOfferingId sets the ReservedElasticsearchInstanceOfferingId field's value.
10984func (s *ReservedElasticsearchInstance) SetReservedElasticsearchInstanceOfferingId(v string) *ReservedElasticsearchInstance {
10985	s.ReservedElasticsearchInstanceOfferingId = &v
10986	return s
10987}
10988
10989// SetStartTime sets the StartTime field's value.
10990func (s *ReservedElasticsearchInstance) SetStartTime(v time.Time) *ReservedElasticsearchInstance {
10991	s.StartTime = &v
10992	return s
10993}
10994
10995// SetState sets the State field's value.
10996func (s *ReservedElasticsearchInstance) SetState(v string) *ReservedElasticsearchInstance {
10997	s.State = &v
10998	return s
10999}
11000
11001// SetUsagePrice sets the UsagePrice field's value.
11002func (s *ReservedElasticsearchInstance) SetUsagePrice(v float64) *ReservedElasticsearchInstance {
11003	s.UsagePrice = &v
11004	return s
11005}
11006
11007// Details of a reserved Elasticsearch instance offering.
11008type ReservedElasticsearchInstanceOffering struct {
11009	_ struct{} `type:"structure"`
11010
11011	// The currency code for the reserved Elasticsearch instance offering.
11012	CurrencyCode *string `type:"string"`
11013
11014	// The duration, in seconds, for which the offering will reserve the Elasticsearch
11015	// instance.
11016	Duration *int64 `type:"integer"`
11017
11018	// The Elasticsearch instance type offered by the reserved instance offering.
11019	ElasticsearchInstanceType *string `type:"string" enum:"ESPartitionInstanceType"`
11020
11021	// The upfront fixed charge you will pay to purchase the specific reserved Elasticsearch
11022	// instance offering.
11023	FixedPrice *float64 `type:"double"`
11024
11025	// Payment option for the reserved Elasticsearch instance offering
11026	PaymentOption *string `type:"string" enum:"ReservedElasticsearchInstancePaymentOption"`
11027
11028	// The charge to your account regardless of whether you are creating any domains
11029	// using the instance offering.
11030	RecurringCharges []*RecurringCharge `type:"list"`
11031
11032	// The Elasticsearch reserved instance offering identifier.
11033	ReservedElasticsearchInstanceOfferingId *string `type:"string"`
11034
11035	// The rate you are charged for each hour the domain that is using the offering
11036	// is running.
11037	UsagePrice *float64 `type:"double"`
11038}
11039
11040// String returns the string representation
11041func (s ReservedElasticsearchInstanceOffering) String() string {
11042	return awsutil.Prettify(s)
11043}
11044
11045// GoString returns the string representation
11046func (s ReservedElasticsearchInstanceOffering) GoString() string {
11047	return s.String()
11048}
11049
11050// SetCurrencyCode sets the CurrencyCode field's value.
11051func (s *ReservedElasticsearchInstanceOffering) SetCurrencyCode(v string) *ReservedElasticsearchInstanceOffering {
11052	s.CurrencyCode = &v
11053	return s
11054}
11055
11056// SetDuration sets the Duration field's value.
11057func (s *ReservedElasticsearchInstanceOffering) SetDuration(v int64) *ReservedElasticsearchInstanceOffering {
11058	s.Duration = &v
11059	return s
11060}
11061
11062// SetElasticsearchInstanceType sets the ElasticsearchInstanceType field's value.
11063func (s *ReservedElasticsearchInstanceOffering) SetElasticsearchInstanceType(v string) *ReservedElasticsearchInstanceOffering {
11064	s.ElasticsearchInstanceType = &v
11065	return s
11066}
11067
11068// SetFixedPrice sets the FixedPrice field's value.
11069func (s *ReservedElasticsearchInstanceOffering) SetFixedPrice(v float64) *ReservedElasticsearchInstanceOffering {
11070	s.FixedPrice = &v
11071	return s
11072}
11073
11074// SetPaymentOption sets the PaymentOption field's value.
11075func (s *ReservedElasticsearchInstanceOffering) SetPaymentOption(v string) *ReservedElasticsearchInstanceOffering {
11076	s.PaymentOption = &v
11077	return s
11078}
11079
11080// SetRecurringCharges sets the RecurringCharges field's value.
11081func (s *ReservedElasticsearchInstanceOffering) SetRecurringCharges(v []*RecurringCharge) *ReservedElasticsearchInstanceOffering {
11082	s.RecurringCharges = v
11083	return s
11084}
11085
11086// SetReservedElasticsearchInstanceOfferingId sets the ReservedElasticsearchInstanceOfferingId field's value.
11087func (s *ReservedElasticsearchInstanceOffering) SetReservedElasticsearchInstanceOfferingId(v string) *ReservedElasticsearchInstanceOffering {
11088	s.ReservedElasticsearchInstanceOfferingId = &v
11089	return s
11090}
11091
11092// SetUsagePrice sets the UsagePrice field's value.
11093func (s *ReservedElasticsearchInstanceOffering) SetUsagePrice(v float64) *ReservedElasticsearchInstanceOffering {
11094	s.UsagePrice = &v
11095	return s
11096}
11097
11098// An exception for creating a resource that already exists. Gives http status
11099// code of 400.
11100type ResourceAlreadyExistsException struct {
11101	_            struct{}                  `type:"structure"`
11102	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11103
11104	Message_ *string `locationName:"message" type:"string"`
11105}
11106
11107// String returns the string representation
11108func (s ResourceAlreadyExistsException) String() string {
11109	return awsutil.Prettify(s)
11110}
11111
11112// GoString returns the string representation
11113func (s ResourceAlreadyExistsException) GoString() string {
11114	return s.String()
11115}
11116
11117func newErrorResourceAlreadyExistsException(v protocol.ResponseMetadata) error {
11118	return &ResourceAlreadyExistsException{
11119		RespMetadata: v,
11120	}
11121}
11122
11123// Code returns the exception type name.
11124func (s *ResourceAlreadyExistsException) Code() string {
11125	return "ResourceAlreadyExistsException"
11126}
11127
11128// Message returns the exception's message.
11129func (s *ResourceAlreadyExistsException) Message() string {
11130	if s.Message_ != nil {
11131		return *s.Message_
11132	}
11133	return ""
11134}
11135
11136// OrigErr always returns nil, satisfies awserr.Error interface.
11137func (s *ResourceAlreadyExistsException) OrigErr() error {
11138	return nil
11139}
11140
11141func (s *ResourceAlreadyExistsException) Error() string {
11142	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
11143}
11144
11145// Status code returns the HTTP status code for the request's response error.
11146func (s *ResourceAlreadyExistsException) StatusCode() int {
11147	return s.RespMetadata.StatusCode
11148}
11149
11150// RequestID returns the service's response RequestID for request.
11151func (s *ResourceAlreadyExistsException) RequestID() string {
11152	return s.RespMetadata.RequestID
11153}
11154
11155// An exception for accessing or deleting a resource that does not exist. Gives
11156// http status code of 400.
11157type ResourceNotFoundException struct {
11158	_            struct{}                  `type:"structure"`
11159	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11160
11161	Message_ *string `locationName:"message" type:"string"`
11162}
11163
11164// String returns the string representation
11165func (s ResourceNotFoundException) String() string {
11166	return awsutil.Prettify(s)
11167}
11168
11169// GoString returns the string representation
11170func (s ResourceNotFoundException) GoString() string {
11171	return s.String()
11172}
11173
11174func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
11175	return &ResourceNotFoundException{
11176		RespMetadata: v,
11177	}
11178}
11179
11180// Code returns the exception type name.
11181func (s *ResourceNotFoundException) Code() string {
11182	return "ResourceNotFoundException"
11183}
11184
11185// Message returns the exception's message.
11186func (s *ResourceNotFoundException) Message() string {
11187	if s.Message_ != nil {
11188		return *s.Message_
11189	}
11190	return ""
11191}
11192
11193// OrigErr always returns nil, satisfies awserr.Error interface.
11194func (s *ResourceNotFoundException) OrigErr() error {
11195	return nil
11196}
11197
11198func (s *ResourceNotFoundException) Error() string {
11199	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
11200}
11201
11202// Status code returns the HTTP status code for the request's response error.
11203func (s *ResourceNotFoundException) StatusCode() int {
11204	return s.RespMetadata.StatusCode
11205}
11206
11207// RequestID returns the service's response RequestID for request.
11208func (s *ResourceNotFoundException) RequestID() string {
11209	return s.RespMetadata.RequestID
11210}
11211
11212// Specifies the SAML Identity Provider's information.
11213type SAMLIdp struct {
11214	_ struct{} `type:"structure"`
11215
11216	// The unique Entity ID of the application in SAML Identity Provider.
11217	//
11218	// EntityId is a required field
11219	EntityId *string `min:"8" type:"string" required:"true"`
11220
11221	// The Metadata of the SAML application in xml format.
11222	//
11223	// MetadataContent is a required field
11224	MetadataContent *string `min:"1" type:"string" required:"true"`
11225}
11226
11227// String returns the string representation
11228func (s SAMLIdp) String() string {
11229	return awsutil.Prettify(s)
11230}
11231
11232// GoString returns the string representation
11233func (s SAMLIdp) GoString() string {
11234	return s.String()
11235}
11236
11237// Validate inspects the fields of the type to determine if they are valid.
11238func (s *SAMLIdp) Validate() error {
11239	invalidParams := request.ErrInvalidParams{Context: "SAMLIdp"}
11240	if s.EntityId == nil {
11241		invalidParams.Add(request.NewErrParamRequired("EntityId"))
11242	}
11243	if s.EntityId != nil && len(*s.EntityId) < 8 {
11244		invalidParams.Add(request.NewErrParamMinLen("EntityId", 8))
11245	}
11246	if s.MetadataContent == nil {
11247		invalidParams.Add(request.NewErrParamRequired("MetadataContent"))
11248	}
11249	if s.MetadataContent != nil && len(*s.MetadataContent) < 1 {
11250		invalidParams.Add(request.NewErrParamMinLen("MetadataContent", 1))
11251	}
11252
11253	if invalidParams.Len() > 0 {
11254		return invalidParams
11255	}
11256	return nil
11257}
11258
11259// SetEntityId sets the EntityId field's value.
11260func (s *SAMLIdp) SetEntityId(v string) *SAMLIdp {
11261	s.EntityId = &v
11262	return s
11263}
11264
11265// SetMetadataContent sets the MetadataContent field's value.
11266func (s *SAMLIdp) SetMetadataContent(v string) *SAMLIdp {
11267	s.MetadataContent = &v
11268	return s
11269}
11270
11271// Specifies the SAML application configuration for the domain.
11272type SAMLOptionsInput struct {
11273	_ struct{} `type:"structure"`
11274
11275	// True if SAML is enabled.
11276	Enabled *bool `type:"boolean"`
11277
11278	// Specifies the SAML Identity Provider's information.
11279	Idp *SAMLIdp `type:"structure"`
11280
11281	// The backend role to which the SAML master user is mapped to.
11282	MasterBackendRole *string `min:"1" type:"string"`
11283
11284	// The SAML master username, which is stored in the Amazon Elasticsearch Service
11285	// domain's internal database.
11286	MasterUserName *string `min:"1" type:"string" sensitive:"true"`
11287
11288	// The key to use for matching the SAML Roles attribute.
11289	RolesKey *string `type:"string"`
11290
11291	// The duration, in minutes, after which a user session becomes inactive. Acceptable
11292	// values are between 1 and 1440, and the default value is 60.
11293	SessionTimeoutMinutes *int64 `type:"integer"`
11294
11295	// The key to use for matching the SAML Subject attribute.
11296	SubjectKey *string `type:"string"`
11297}
11298
11299// String returns the string representation
11300func (s SAMLOptionsInput) String() string {
11301	return awsutil.Prettify(s)
11302}
11303
11304// GoString returns the string representation
11305func (s SAMLOptionsInput) GoString() string {
11306	return s.String()
11307}
11308
11309// Validate inspects the fields of the type to determine if they are valid.
11310func (s *SAMLOptionsInput) Validate() error {
11311	invalidParams := request.ErrInvalidParams{Context: "SAMLOptionsInput"}
11312	if s.MasterBackendRole != nil && len(*s.MasterBackendRole) < 1 {
11313		invalidParams.Add(request.NewErrParamMinLen("MasterBackendRole", 1))
11314	}
11315	if s.MasterUserName != nil && len(*s.MasterUserName) < 1 {
11316		invalidParams.Add(request.NewErrParamMinLen("MasterUserName", 1))
11317	}
11318	if s.Idp != nil {
11319		if err := s.Idp.Validate(); err != nil {
11320			invalidParams.AddNested("Idp", err.(request.ErrInvalidParams))
11321		}
11322	}
11323
11324	if invalidParams.Len() > 0 {
11325		return invalidParams
11326	}
11327	return nil
11328}
11329
11330// SetEnabled sets the Enabled field's value.
11331func (s *SAMLOptionsInput) SetEnabled(v bool) *SAMLOptionsInput {
11332	s.Enabled = &v
11333	return s
11334}
11335
11336// SetIdp sets the Idp field's value.
11337func (s *SAMLOptionsInput) SetIdp(v *SAMLIdp) *SAMLOptionsInput {
11338	s.Idp = v
11339	return s
11340}
11341
11342// SetMasterBackendRole sets the MasterBackendRole field's value.
11343func (s *SAMLOptionsInput) SetMasterBackendRole(v string) *SAMLOptionsInput {
11344	s.MasterBackendRole = &v
11345	return s
11346}
11347
11348// SetMasterUserName sets the MasterUserName field's value.
11349func (s *SAMLOptionsInput) SetMasterUserName(v string) *SAMLOptionsInput {
11350	s.MasterUserName = &v
11351	return s
11352}
11353
11354// SetRolesKey sets the RolesKey field's value.
11355func (s *SAMLOptionsInput) SetRolesKey(v string) *SAMLOptionsInput {
11356	s.RolesKey = &v
11357	return s
11358}
11359
11360// SetSessionTimeoutMinutes sets the SessionTimeoutMinutes field's value.
11361func (s *SAMLOptionsInput) SetSessionTimeoutMinutes(v int64) *SAMLOptionsInput {
11362	s.SessionTimeoutMinutes = &v
11363	return s
11364}
11365
11366// SetSubjectKey sets the SubjectKey field's value.
11367func (s *SAMLOptionsInput) SetSubjectKey(v string) *SAMLOptionsInput {
11368	s.SubjectKey = &v
11369	return s
11370}
11371
11372// Describes the SAML application configured for the domain.
11373type SAMLOptionsOutput struct {
11374	_ struct{} `type:"structure"`
11375
11376	// True if SAML is enabled.
11377	Enabled *bool `type:"boolean"`
11378
11379	// Describes the SAML Identity Provider's information.
11380	Idp *SAMLIdp `type:"structure"`
11381
11382	// The key used for matching the SAML Roles attribute.
11383	RolesKey *string `type:"string"`
11384
11385	// The duration, in minutes, after which a user session becomes inactive.
11386	SessionTimeoutMinutes *int64 `type:"integer"`
11387
11388	// The key used for matching the SAML Subject attribute.
11389	SubjectKey *string `type:"string"`
11390}
11391
11392// String returns the string representation
11393func (s SAMLOptionsOutput) String() string {
11394	return awsutil.Prettify(s)
11395}
11396
11397// GoString returns the string representation
11398func (s SAMLOptionsOutput) GoString() string {
11399	return s.String()
11400}
11401
11402// SetEnabled sets the Enabled field's value.
11403func (s *SAMLOptionsOutput) SetEnabled(v bool) *SAMLOptionsOutput {
11404	s.Enabled = &v
11405	return s
11406}
11407
11408// SetIdp sets the Idp field's value.
11409func (s *SAMLOptionsOutput) SetIdp(v *SAMLIdp) *SAMLOptionsOutput {
11410	s.Idp = v
11411	return s
11412}
11413
11414// SetRolesKey sets the RolesKey field's value.
11415func (s *SAMLOptionsOutput) SetRolesKey(v string) *SAMLOptionsOutput {
11416	s.RolesKey = &v
11417	return s
11418}
11419
11420// SetSessionTimeoutMinutes sets the SessionTimeoutMinutes field's value.
11421func (s *SAMLOptionsOutput) SetSessionTimeoutMinutes(v int64) *SAMLOptionsOutput {
11422	s.SessionTimeoutMinutes = &v
11423	return s
11424}
11425
11426// SetSubjectKey sets the SubjectKey field's value.
11427func (s *SAMLOptionsOutput) SetSubjectKey(v string) *SAMLOptionsOutput {
11428	s.SubjectKey = &v
11429	return s
11430}
11431
11432// Specifies details of the scheduled Auto-Tune action. See the Developer Guide
11433// (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/auto-tune.html)
11434// for more information.
11435type ScheduledAutoTuneDetails struct {
11436	_ struct{} `type:"structure"`
11437
11438	// Specifies Auto-Tune action description.
11439	Action *string `type:"string"`
11440
11441	// Specifies Auto-Tune action type. Valid values are JVM_HEAP_SIZE_TUNING and
11442	// JVM_YOUNG_GEN_TUNING.
11443	ActionType *string `type:"string" enum:"ScheduledAutoTuneActionType"`
11444
11445	// Specifies timestamp for the Auto-Tune action scheduled for the domain.
11446	Date *time.Time `type:"timestamp"`
11447
11448	// Specifies Auto-Tune action severity. Valid values are LOW, MEDIUM and HIGH.
11449	Severity *string `type:"string" enum:"ScheduledAutoTuneSeverityType"`
11450}
11451
11452// String returns the string representation
11453func (s ScheduledAutoTuneDetails) String() string {
11454	return awsutil.Prettify(s)
11455}
11456
11457// GoString returns the string representation
11458func (s ScheduledAutoTuneDetails) GoString() string {
11459	return s.String()
11460}
11461
11462// SetAction sets the Action field's value.
11463func (s *ScheduledAutoTuneDetails) SetAction(v string) *ScheduledAutoTuneDetails {
11464	s.Action = &v
11465	return s
11466}
11467
11468// SetActionType sets the ActionType field's value.
11469func (s *ScheduledAutoTuneDetails) SetActionType(v string) *ScheduledAutoTuneDetails {
11470	s.ActionType = &v
11471	return s
11472}
11473
11474// SetDate sets the Date field's value.
11475func (s *ScheduledAutoTuneDetails) SetDate(v time.Time) *ScheduledAutoTuneDetails {
11476	s.Date = &v
11477	return s
11478}
11479
11480// SetSeverity sets the Severity field's value.
11481func (s *ScheduledAutoTuneDetails) SetSeverity(v string) *ScheduledAutoTuneDetails {
11482	s.Severity = &v
11483	return s
11484}
11485
11486// The current options of an Elasticsearch domain service software options.
11487type ServiceSoftwareOptions struct {
11488	_ struct{} `type:"structure"`
11489
11490	// Timestamp, in Epoch time, until which you can manually request a service
11491	// software update. After this date, we automatically update your service software.
11492	AutomatedUpdateDate *time.Time `type:"timestamp"`
11493
11494	// True if you are able to cancel your service software version update. False
11495	// if you are not able to cancel your service software version.
11496	Cancellable *bool `type:"boolean"`
11497
11498	// The current service software version that is present on the domain.
11499	CurrentVersion *string `type:"string"`
11500
11501	// The description of the UpdateStatus.
11502	Description *string `type:"string"`
11503
11504	// The new service software version if one is available.
11505	NewVersion *string `type:"string"`
11506
11507	// True if a service software is never automatically updated. False if a service
11508	// software is automatically updated after AutomatedUpdateDate.
11509	OptionalDeployment *bool `type:"boolean"`
11510
11511	// True if you are able to update you service software version. False if you
11512	// are not able to update your service software version.
11513	UpdateAvailable *bool `type:"boolean"`
11514
11515	// The status of your service software update. This field can take the following
11516	// values: ELIGIBLE, PENDING_UPDATE, IN_PROGRESS, COMPLETED, and NOT_ELIGIBLE.
11517	UpdateStatus *string `type:"string" enum:"DeploymentStatus"`
11518}
11519
11520// String returns the string representation
11521func (s ServiceSoftwareOptions) String() string {
11522	return awsutil.Prettify(s)
11523}
11524
11525// GoString returns the string representation
11526func (s ServiceSoftwareOptions) GoString() string {
11527	return s.String()
11528}
11529
11530// SetAutomatedUpdateDate sets the AutomatedUpdateDate field's value.
11531func (s *ServiceSoftwareOptions) SetAutomatedUpdateDate(v time.Time) *ServiceSoftwareOptions {
11532	s.AutomatedUpdateDate = &v
11533	return s
11534}
11535
11536// SetCancellable sets the Cancellable field's value.
11537func (s *ServiceSoftwareOptions) SetCancellable(v bool) *ServiceSoftwareOptions {
11538	s.Cancellable = &v
11539	return s
11540}
11541
11542// SetCurrentVersion sets the CurrentVersion field's value.
11543func (s *ServiceSoftwareOptions) SetCurrentVersion(v string) *ServiceSoftwareOptions {
11544	s.CurrentVersion = &v
11545	return s
11546}
11547
11548// SetDescription sets the Description field's value.
11549func (s *ServiceSoftwareOptions) SetDescription(v string) *ServiceSoftwareOptions {
11550	s.Description = &v
11551	return s
11552}
11553
11554// SetNewVersion sets the NewVersion field's value.
11555func (s *ServiceSoftwareOptions) SetNewVersion(v string) *ServiceSoftwareOptions {
11556	s.NewVersion = &v
11557	return s
11558}
11559
11560// SetOptionalDeployment sets the OptionalDeployment field's value.
11561func (s *ServiceSoftwareOptions) SetOptionalDeployment(v bool) *ServiceSoftwareOptions {
11562	s.OptionalDeployment = &v
11563	return s
11564}
11565
11566// SetUpdateAvailable sets the UpdateAvailable field's value.
11567func (s *ServiceSoftwareOptions) SetUpdateAvailable(v bool) *ServiceSoftwareOptions {
11568	s.UpdateAvailable = &v
11569	return s
11570}
11571
11572// SetUpdateStatus sets the UpdateStatus field's value.
11573func (s *ServiceSoftwareOptions) SetUpdateStatus(v string) *ServiceSoftwareOptions {
11574	s.UpdateStatus = &v
11575	return s
11576}
11577
11578// Specifies the time, in UTC format, when the service takes a daily automated
11579// snapshot of the specified Elasticsearch domain. Default value is 0 hours.
11580type SnapshotOptions struct {
11581	_ struct{} `type:"structure"`
11582
11583	// Specifies the time, in UTC format, when the service takes a daily automated
11584	// snapshot of the specified Elasticsearch domain. Default value is 0 hours.
11585	AutomatedSnapshotStartHour *int64 `type:"integer"`
11586}
11587
11588// String returns the string representation
11589func (s SnapshotOptions) String() string {
11590	return awsutil.Prettify(s)
11591}
11592
11593// GoString returns the string representation
11594func (s SnapshotOptions) GoString() string {
11595	return s.String()
11596}
11597
11598// SetAutomatedSnapshotStartHour sets the AutomatedSnapshotStartHour field's value.
11599func (s *SnapshotOptions) SetAutomatedSnapshotStartHour(v int64) *SnapshotOptions {
11600	s.AutomatedSnapshotStartHour = &v
11601	return s
11602}
11603
11604// Status of a daily automated snapshot.
11605type SnapshotOptionsStatus struct {
11606	_ struct{} `type:"structure"`
11607
11608	// Specifies the daily snapshot options specified for the Elasticsearch domain.
11609	//
11610	// Options is a required field
11611	Options *SnapshotOptions `type:"structure" required:"true"`
11612
11613	// Specifies the status of a daily automated snapshot.
11614	//
11615	// Status is a required field
11616	Status *OptionStatus `type:"structure" required:"true"`
11617}
11618
11619// String returns the string representation
11620func (s SnapshotOptionsStatus) String() string {
11621	return awsutil.Prettify(s)
11622}
11623
11624// GoString returns the string representation
11625func (s SnapshotOptionsStatus) GoString() string {
11626	return s.String()
11627}
11628
11629// SetOptions sets the Options field's value.
11630func (s *SnapshotOptionsStatus) SetOptions(v *SnapshotOptions) *SnapshotOptionsStatus {
11631	s.Options = v
11632	return s
11633}
11634
11635// SetStatus sets the Status field's value.
11636func (s *SnapshotOptionsStatus) SetStatus(v *OptionStatus) *SnapshotOptionsStatus {
11637	s.Status = v
11638	return s
11639}
11640
11641// Container for the parameters to the StartElasticsearchServiceSoftwareUpdate
11642// operation. Specifies the name of the Elasticsearch domain that you wish to
11643// schedule a service software update on.
11644type StartElasticsearchServiceSoftwareUpdateInput struct {
11645	_ struct{} `type:"structure"`
11646
11647	// The name of the domain that you want to update to the latest service software.
11648	//
11649	// DomainName is a required field
11650	DomainName *string `min:"3" type:"string" required:"true"`
11651}
11652
11653// String returns the string representation
11654func (s StartElasticsearchServiceSoftwareUpdateInput) String() string {
11655	return awsutil.Prettify(s)
11656}
11657
11658// GoString returns the string representation
11659func (s StartElasticsearchServiceSoftwareUpdateInput) GoString() string {
11660	return s.String()
11661}
11662
11663// Validate inspects the fields of the type to determine if they are valid.
11664func (s *StartElasticsearchServiceSoftwareUpdateInput) Validate() error {
11665	invalidParams := request.ErrInvalidParams{Context: "StartElasticsearchServiceSoftwareUpdateInput"}
11666	if s.DomainName == nil {
11667		invalidParams.Add(request.NewErrParamRequired("DomainName"))
11668	}
11669	if s.DomainName != nil && len(*s.DomainName) < 3 {
11670		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
11671	}
11672
11673	if invalidParams.Len() > 0 {
11674		return invalidParams
11675	}
11676	return nil
11677}
11678
11679// SetDomainName sets the DomainName field's value.
11680func (s *StartElasticsearchServiceSoftwareUpdateInput) SetDomainName(v string) *StartElasticsearchServiceSoftwareUpdateInput {
11681	s.DomainName = &v
11682	return s
11683}
11684
11685// The result of a StartElasticsearchServiceSoftwareUpdate operation. Contains
11686// the status of the update.
11687type StartElasticsearchServiceSoftwareUpdateOutput struct {
11688	_ struct{} `type:"structure"`
11689
11690	// The current status of the Elasticsearch service software update.
11691	ServiceSoftwareOptions *ServiceSoftwareOptions `type:"structure"`
11692}
11693
11694// String returns the string representation
11695func (s StartElasticsearchServiceSoftwareUpdateOutput) String() string {
11696	return awsutil.Prettify(s)
11697}
11698
11699// GoString returns the string representation
11700func (s StartElasticsearchServiceSoftwareUpdateOutput) GoString() string {
11701	return s.String()
11702}
11703
11704// SetServiceSoftwareOptions sets the ServiceSoftwareOptions field's value.
11705func (s *StartElasticsearchServiceSoftwareUpdateOutput) SetServiceSoftwareOptions(v *ServiceSoftwareOptions) *StartElasticsearchServiceSoftwareUpdateOutput {
11706	s.ServiceSoftwareOptions = v
11707	return s
11708}
11709
11710// StorageTypes represents the list of storage related types and their attributes
11711// that are available for given InstanceType.
11712type StorageType struct {
11713	_ struct{} `type:"structure"`
11714
11715	// SubType of the given storage type. List of available sub-storage options:
11716	// For "instance" storageType we wont have any storageSubType, in case of "ebs"
11717	// storageType we will have following valid storageSubTypes standard gp2 io1
11718	// Refer VolumeType for more information regarding above EBS storage options.
11719	StorageSubTypeName *string `type:"string"`
11720
11721	// List of limits that are applicable for given storage type.
11722	StorageTypeLimits []*StorageTypeLimit `type:"list"`
11723
11724	// Type of the storage. List of available storage options: instance Inbuilt
11725	// storage available for the given Instance ebs Elastic block storage that would
11726	// be attached to the given Instance
11727	StorageTypeName *string `type:"string"`
11728}
11729
11730// String returns the string representation
11731func (s StorageType) String() string {
11732	return awsutil.Prettify(s)
11733}
11734
11735// GoString returns the string representation
11736func (s StorageType) GoString() string {
11737	return s.String()
11738}
11739
11740// SetStorageSubTypeName sets the StorageSubTypeName field's value.
11741func (s *StorageType) SetStorageSubTypeName(v string) *StorageType {
11742	s.StorageSubTypeName = &v
11743	return s
11744}
11745
11746// SetStorageTypeLimits sets the StorageTypeLimits field's value.
11747func (s *StorageType) SetStorageTypeLimits(v []*StorageTypeLimit) *StorageType {
11748	s.StorageTypeLimits = v
11749	return s
11750}
11751
11752// SetStorageTypeName sets the StorageTypeName field's value.
11753func (s *StorageType) SetStorageTypeName(v string) *StorageType {
11754	s.StorageTypeName = &v
11755	return s
11756}
11757
11758// Limits that are applicable for given storage type.
11759type StorageTypeLimit struct {
11760	_ struct{} `type:"structure"`
11761
11762	// Name of storage limits that are applicable for given storage type. If StorageType
11763	// is ebs, following storage options are applicable MinimumVolumeSize Minimum
11764	// amount of volume size that is applicable for given storage type.It can be
11765	// empty if it is not applicable. MaximumVolumeSize Maximum amount of volume
11766	// size that is applicable for given storage type.It can be empty if it is not
11767	// applicable. MaximumIops Maximum amount of Iops that is applicable for given
11768	// storage type.It can be empty if it is not applicable. MinimumIops Minimum
11769	// amount of Iops that is applicable for given storage type.It can be empty
11770	// if it is not applicable.
11771	LimitName *string `type:"string"`
11772
11773	// Values for the StorageTypeLimit$LimitName .
11774	LimitValues []*string `type:"list"`
11775}
11776
11777// String returns the string representation
11778func (s StorageTypeLimit) String() string {
11779	return awsutil.Prettify(s)
11780}
11781
11782// GoString returns the string representation
11783func (s StorageTypeLimit) GoString() string {
11784	return s.String()
11785}
11786
11787// SetLimitName sets the LimitName field's value.
11788func (s *StorageTypeLimit) SetLimitName(v string) *StorageTypeLimit {
11789	s.LimitName = &v
11790	return s
11791}
11792
11793// SetLimitValues sets the LimitValues field's value.
11794func (s *StorageTypeLimit) SetLimitValues(v []*string) *StorageTypeLimit {
11795	s.LimitValues = v
11796	return s
11797}
11798
11799// Specifies a key value pair for a resource tag.
11800type Tag struct {
11801	_ struct{} `type:"structure"`
11802
11803	// Specifies the TagKey, the name of the tag. Tag keys must be unique for the
11804	// Elasticsearch domain to which they are attached.
11805	//
11806	// Key is a required field
11807	Key *string `min:"1" type:"string" required:"true"`
11808
11809	// Specifies the TagValue, the value assigned to the corresponding tag key.
11810	// Tag values can be null and do not have to be unique in a tag set. For example,
11811	// you can have a key value pair in a tag set of project : Trinity and cost-center
11812	// : Trinity
11813	//
11814	// Value is a required field
11815	Value *string `type:"string" required:"true"`
11816}
11817
11818// String returns the string representation
11819func (s Tag) String() string {
11820	return awsutil.Prettify(s)
11821}
11822
11823// GoString returns the string representation
11824func (s Tag) GoString() string {
11825	return s.String()
11826}
11827
11828// Validate inspects the fields of the type to determine if they are valid.
11829func (s *Tag) Validate() error {
11830	invalidParams := request.ErrInvalidParams{Context: "Tag"}
11831	if s.Key == nil {
11832		invalidParams.Add(request.NewErrParamRequired("Key"))
11833	}
11834	if s.Key != nil && len(*s.Key) < 1 {
11835		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
11836	}
11837	if s.Value == nil {
11838		invalidParams.Add(request.NewErrParamRequired("Value"))
11839	}
11840
11841	if invalidParams.Len() > 0 {
11842		return invalidParams
11843	}
11844	return nil
11845}
11846
11847// SetKey sets the Key field's value.
11848func (s *Tag) SetKey(v string) *Tag {
11849	s.Key = &v
11850	return s
11851}
11852
11853// SetValue sets the Value field's value.
11854func (s *Tag) SetValue(v string) *Tag {
11855	s.Value = &v
11856	return s
11857}
11858
11859// Container for the parameters to the UpdateElasticsearchDomain operation.
11860// Specifies the type and number of instances in the domain cluster.
11861type UpdateElasticsearchDomainConfigInput struct {
11862	_ struct{} `type:"structure"`
11863
11864	// IAM access policy as a JSON-formatted string.
11865	AccessPolicies *string `type:"string"`
11866
11867	// Modifies the advanced option to allow references to indices in an HTTP request
11868	// body. Must be false when configuring access to individual sub-resources.
11869	// 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)
11870	// for more information.
11871	AdvancedOptions map[string]*string `type:"map"`
11872
11873	// Specifies advanced security options.
11874	AdvancedSecurityOptions *AdvancedSecurityOptionsInput `type:"structure"`
11875
11876	// Specifies Auto-Tune options.
11877	AutoTuneOptions *AutoTuneOptions `type:"structure"`
11878
11879	// Options to specify the Cognito user and identity pools for Kibana authentication.
11880	// For more information, see Amazon Cognito Authentication for Kibana (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-cognito-auth.html).
11881	CognitoOptions *CognitoOptions `type:"structure"`
11882
11883	// Options to specify configuration that will be applied to the domain endpoint.
11884	DomainEndpointOptions *DomainEndpointOptions `type:"structure"`
11885
11886	// The name of the Elasticsearch domain that you are updating.
11887	//
11888	// DomainName is a required field
11889	DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"`
11890
11891	// Specify the type and size of the EBS volume that you want to use.
11892	EBSOptions *EBSOptions `type:"structure"`
11893
11894	// The type and number of instances to instantiate for the domain cluster.
11895	ElasticsearchClusterConfig *ElasticsearchClusterConfig `type:"structure"`
11896
11897	// Specifies the Encryption At Rest Options.
11898	EncryptionAtRestOptions *EncryptionAtRestOptions `type:"structure"`
11899
11900	// Map of LogType and LogPublishingOption, each containing options to publish
11901	// a given type of Elasticsearch log.
11902	LogPublishingOptions map[string]*LogPublishingOption `type:"map"`
11903
11904	// Specifies the NodeToNodeEncryptionOptions.
11905	NodeToNodeEncryptionOptions *NodeToNodeEncryptionOptions `type:"structure"`
11906
11907	// Option to set the time, in UTC format, for the daily automated snapshot.
11908	// Default value is 0 hours.
11909	SnapshotOptions *SnapshotOptions `type:"structure"`
11910
11911	// Options to specify the subnets and security groups for VPC endpoint. For
11912	// more information, see Creating a VPC (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-vpc.html#es-creating-vpc)
11913	// in VPC Endpoints for Amazon Elasticsearch Service Domains
11914	VPCOptions *VPCOptions `type:"structure"`
11915}
11916
11917// String returns the string representation
11918func (s UpdateElasticsearchDomainConfigInput) String() string {
11919	return awsutil.Prettify(s)
11920}
11921
11922// GoString returns the string representation
11923func (s UpdateElasticsearchDomainConfigInput) GoString() string {
11924	return s.String()
11925}
11926
11927// Validate inspects the fields of the type to determine if they are valid.
11928func (s *UpdateElasticsearchDomainConfigInput) Validate() error {
11929	invalidParams := request.ErrInvalidParams{Context: "UpdateElasticsearchDomainConfigInput"}
11930	if s.DomainName == nil {
11931		invalidParams.Add(request.NewErrParamRequired("DomainName"))
11932	}
11933	if s.DomainName != nil && len(*s.DomainName) < 3 {
11934		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
11935	}
11936	if s.AdvancedSecurityOptions != nil {
11937		if err := s.AdvancedSecurityOptions.Validate(); err != nil {
11938			invalidParams.AddNested("AdvancedSecurityOptions", err.(request.ErrInvalidParams))
11939		}
11940	}
11941	if s.AutoTuneOptions != nil {
11942		if err := s.AutoTuneOptions.Validate(); err != nil {
11943			invalidParams.AddNested("AutoTuneOptions", err.(request.ErrInvalidParams))
11944		}
11945	}
11946	if s.CognitoOptions != nil {
11947		if err := s.CognitoOptions.Validate(); err != nil {
11948			invalidParams.AddNested("CognitoOptions", err.(request.ErrInvalidParams))
11949		}
11950	}
11951	if s.DomainEndpointOptions != nil {
11952		if err := s.DomainEndpointOptions.Validate(); err != nil {
11953			invalidParams.AddNested("DomainEndpointOptions", err.(request.ErrInvalidParams))
11954		}
11955	}
11956	if s.ElasticsearchClusterConfig != nil {
11957		if err := s.ElasticsearchClusterConfig.Validate(); err != nil {
11958			invalidParams.AddNested("ElasticsearchClusterConfig", err.(request.ErrInvalidParams))
11959		}
11960	}
11961	if s.EncryptionAtRestOptions != nil {
11962		if err := s.EncryptionAtRestOptions.Validate(); err != nil {
11963			invalidParams.AddNested("EncryptionAtRestOptions", err.(request.ErrInvalidParams))
11964		}
11965	}
11966
11967	if invalidParams.Len() > 0 {
11968		return invalidParams
11969	}
11970	return nil
11971}
11972
11973// SetAccessPolicies sets the AccessPolicies field's value.
11974func (s *UpdateElasticsearchDomainConfigInput) SetAccessPolicies(v string) *UpdateElasticsearchDomainConfigInput {
11975	s.AccessPolicies = &v
11976	return s
11977}
11978
11979// SetAdvancedOptions sets the AdvancedOptions field's value.
11980func (s *UpdateElasticsearchDomainConfigInput) SetAdvancedOptions(v map[string]*string) *UpdateElasticsearchDomainConfigInput {
11981	s.AdvancedOptions = v
11982	return s
11983}
11984
11985// SetAdvancedSecurityOptions sets the AdvancedSecurityOptions field's value.
11986func (s *UpdateElasticsearchDomainConfigInput) SetAdvancedSecurityOptions(v *AdvancedSecurityOptionsInput) *UpdateElasticsearchDomainConfigInput {
11987	s.AdvancedSecurityOptions = v
11988	return s
11989}
11990
11991// SetAutoTuneOptions sets the AutoTuneOptions field's value.
11992func (s *UpdateElasticsearchDomainConfigInput) SetAutoTuneOptions(v *AutoTuneOptions) *UpdateElasticsearchDomainConfigInput {
11993	s.AutoTuneOptions = v
11994	return s
11995}
11996
11997// SetCognitoOptions sets the CognitoOptions field's value.
11998func (s *UpdateElasticsearchDomainConfigInput) SetCognitoOptions(v *CognitoOptions) *UpdateElasticsearchDomainConfigInput {
11999	s.CognitoOptions = v
12000	return s
12001}
12002
12003// SetDomainEndpointOptions sets the DomainEndpointOptions field's value.
12004func (s *UpdateElasticsearchDomainConfigInput) SetDomainEndpointOptions(v *DomainEndpointOptions) *UpdateElasticsearchDomainConfigInput {
12005	s.DomainEndpointOptions = v
12006	return s
12007}
12008
12009// SetDomainName sets the DomainName field's value.
12010func (s *UpdateElasticsearchDomainConfigInput) SetDomainName(v string) *UpdateElasticsearchDomainConfigInput {
12011	s.DomainName = &v
12012	return s
12013}
12014
12015// SetEBSOptions sets the EBSOptions field's value.
12016func (s *UpdateElasticsearchDomainConfigInput) SetEBSOptions(v *EBSOptions) *UpdateElasticsearchDomainConfigInput {
12017	s.EBSOptions = v
12018	return s
12019}
12020
12021// SetElasticsearchClusterConfig sets the ElasticsearchClusterConfig field's value.
12022func (s *UpdateElasticsearchDomainConfigInput) SetElasticsearchClusterConfig(v *ElasticsearchClusterConfig) *UpdateElasticsearchDomainConfigInput {
12023	s.ElasticsearchClusterConfig = v
12024	return s
12025}
12026
12027// SetEncryptionAtRestOptions sets the EncryptionAtRestOptions field's value.
12028func (s *UpdateElasticsearchDomainConfigInput) SetEncryptionAtRestOptions(v *EncryptionAtRestOptions) *UpdateElasticsearchDomainConfigInput {
12029	s.EncryptionAtRestOptions = v
12030	return s
12031}
12032
12033// SetLogPublishingOptions sets the LogPublishingOptions field's value.
12034func (s *UpdateElasticsearchDomainConfigInput) SetLogPublishingOptions(v map[string]*LogPublishingOption) *UpdateElasticsearchDomainConfigInput {
12035	s.LogPublishingOptions = v
12036	return s
12037}
12038
12039// SetNodeToNodeEncryptionOptions sets the NodeToNodeEncryptionOptions field's value.
12040func (s *UpdateElasticsearchDomainConfigInput) SetNodeToNodeEncryptionOptions(v *NodeToNodeEncryptionOptions) *UpdateElasticsearchDomainConfigInput {
12041	s.NodeToNodeEncryptionOptions = v
12042	return s
12043}
12044
12045// SetSnapshotOptions sets the SnapshotOptions field's value.
12046func (s *UpdateElasticsearchDomainConfigInput) SetSnapshotOptions(v *SnapshotOptions) *UpdateElasticsearchDomainConfigInput {
12047	s.SnapshotOptions = v
12048	return s
12049}
12050
12051// SetVPCOptions sets the VPCOptions field's value.
12052func (s *UpdateElasticsearchDomainConfigInput) SetVPCOptions(v *VPCOptions) *UpdateElasticsearchDomainConfigInput {
12053	s.VPCOptions = v
12054	return s
12055}
12056
12057// The result of an UpdateElasticsearchDomain request. Contains the status of
12058// the Elasticsearch domain being updated.
12059type UpdateElasticsearchDomainConfigOutput struct {
12060	_ struct{} `type:"structure"`
12061
12062	// The status of the updated Elasticsearch domain.
12063	//
12064	// DomainConfig is a required field
12065	DomainConfig *ElasticsearchDomainConfig `type:"structure" required:"true"`
12066}
12067
12068// String returns the string representation
12069func (s UpdateElasticsearchDomainConfigOutput) String() string {
12070	return awsutil.Prettify(s)
12071}
12072
12073// GoString returns the string representation
12074func (s UpdateElasticsearchDomainConfigOutput) GoString() string {
12075	return s.String()
12076}
12077
12078// SetDomainConfig sets the DomainConfig field's value.
12079func (s *UpdateElasticsearchDomainConfigOutput) SetDomainConfig(v *ElasticsearchDomainConfig) *UpdateElasticsearchDomainConfigOutput {
12080	s.DomainConfig = v
12081	return s
12082}
12083
12084// Container for request parameters to UpdatePackage operation.
12085type UpdatePackageInput struct {
12086	_ struct{} `type:"structure"`
12087
12088	// An info message for the new version which will be shown as part of GetPackageVersionHistoryResponse.
12089	CommitMessage *string `type:"string"`
12090
12091	// New description of the package.
12092	PackageDescription *string `type:"string"`
12093
12094	// Unique identifier for the package.
12095	//
12096	// PackageID is a required field
12097	PackageID *string `type:"string" required:"true"`
12098
12099	// The S3 location for importing the package specified as S3BucketName and S3Key
12100	//
12101	// PackageSource is a required field
12102	PackageSource *PackageSource `type:"structure" required:"true"`
12103}
12104
12105// String returns the string representation
12106func (s UpdatePackageInput) String() string {
12107	return awsutil.Prettify(s)
12108}
12109
12110// GoString returns the string representation
12111func (s UpdatePackageInput) GoString() string {
12112	return s.String()
12113}
12114
12115// Validate inspects the fields of the type to determine if they are valid.
12116func (s *UpdatePackageInput) Validate() error {
12117	invalidParams := request.ErrInvalidParams{Context: "UpdatePackageInput"}
12118	if s.PackageID == nil {
12119		invalidParams.Add(request.NewErrParamRequired("PackageID"))
12120	}
12121	if s.PackageSource == nil {
12122		invalidParams.Add(request.NewErrParamRequired("PackageSource"))
12123	}
12124	if s.PackageSource != nil {
12125		if err := s.PackageSource.Validate(); err != nil {
12126			invalidParams.AddNested("PackageSource", err.(request.ErrInvalidParams))
12127		}
12128	}
12129
12130	if invalidParams.Len() > 0 {
12131		return invalidParams
12132	}
12133	return nil
12134}
12135
12136// SetCommitMessage sets the CommitMessage field's value.
12137func (s *UpdatePackageInput) SetCommitMessage(v string) *UpdatePackageInput {
12138	s.CommitMessage = &v
12139	return s
12140}
12141
12142// SetPackageDescription sets the PackageDescription field's value.
12143func (s *UpdatePackageInput) SetPackageDescription(v string) *UpdatePackageInput {
12144	s.PackageDescription = &v
12145	return s
12146}
12147
12148// SetPackageID sets the PackageID field's value.
12149func (s *UpdatePackageInput) SetPackageID(v string) *UpdatePackageInput {
12150	s.PackageID = &v
12151	return s
12152}
12153
12154// SetPackageSource sets the PackageSource field's value.
12155func (s *UpdatePackageInput) SetPackageSource(v *PackageSource) *UpdatePackageInput {
12156	s.PackageSource = v
12157	return s
12158}
12159
12160// Container for response returned by UpdatePackage operation.
12161type UpdatePackageOutput struct {
12162	_ struct{} `type:"structure"`
12163
12164	// Information about the package PackageDetails.
12165	PackageDetails *PackageDetails `type:"structure"`
12166}
12167
12168// String returns the string representation
12169func (s UpdatePackageOutput) String() string {
12170	return awsutil.Prettify(s)
12171}
12172
12173// GoString returns the string representation
12174func (s UpdatePackageOutput) GoString() string {
12175	return s.String()
12176}
12177
12178// SetPackageDetails sets the PackageDetails field's value.
12179func (s *UpdatePackageOutput) SetPackageDetails(v *PackageDetails) *UpdatePackageOutput {
12180	s.PackageDetails = v
12181	return s
12182}
12183
12184// Container for request parameters to UpgradeElasticsearchDomain operation.
12185type UpgradeElasticsearchDomainInput struct {
12186	_ struct{} `type:"structure"`
12187
12188	// The name of an Elasticsearch domain. Domain names are unique across the domains
12189	// owned by an account within an AWS region. Domain names start with a letter
12190	// or number and can contain the following characters: a-z (lowercase), 0-9,
12191	// and - (hyphen).
12192	//
12193	// DomainName is a required field
12194	DomainName *string `min:"3" type:"string" required:"true"`
12195
12196	// This flag, when set to True, indicates that an Upgrade Eligibility Check
12197	// needs to be performed. This will not actually perform the Upgrade.
12198	PerformCheckOnly *bool `type:"boolean"`
12199
12200	// The version of Elasticsearch that you intend to upgrade the domain to.
12201	//
12202	// TargetVersion is a required field
12203	TargetVersion *string `type:"string" required:"true"`
12204}
12205
12206// String returns the string representation
12207func (s UpgradeElasticsearchDomainInput) String() string {
12208	return awsutil.Prettify(s)
12209}
12210
12211// GoString returns the string representation
12212func (s UpgradeElasticsearchDomainInput) GoString() string {
12213	return s.String()
12214}
12215
12216// Validate inspects the fields of the type to determine if they are valid.
12217func (s *UpgradeElasticsearchDomainInput) Validate() error {
12218	invalidParams := request.ErrInvalidParams{Context: "UpgradeElasticsearchDomainInput"}
12219	if s.DomainName == nil {
12220		invalidParams.Add(request.NewErrParamRequired("DomainName"))
12221	}
12222	if s.DomainName != nil && len(*s.DomainName) < 3 {
12223		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
12224	}
12225	if s.TargetVersion == nil {
12226		invalidParams.Add(request.NewErrParamRequired("TargetVersion"))
12227	}
12228
12229	if invalidParams.Len() > 0 {
12230		return invalidParams
12231	}
12232	return nil
12233}
12234
12235// SetDomainName sets the DomainName field's value.
12236func (s *UpgradeElasticsearchDomainInput) SetDomainName(v string) *UpgradeElasticsearchDomainInput {
12237	s.DomainName = &v
12238	return s
12239}
12240
12241// SetPerformCheckOnly sets the PerformCheckOnly field's value.
12242func (s *UpgradeElasticsearchDomainInput) SetPerformCheckOnly(v bool) *UpgradeElasticsearchDomainInput {
12243	s.PerformCheckOnly = &v
12244	return s
12245}
12246
12247// SetTargetVersion sets the TargetVersion field's value.
12248func (s *UpgradeElasticsearchDomainInput) SetTargetVersion(v string) *UpgradeElasticsearchDomainInput {
12249	s.TargetVersion = &v
12250	return s
12251}
12252
12253// Container for response returned by UpgradeElasticsearchDomain operation.
12254type UpgradeElasticsearchDomainOutput struct {
12255	_ struct{} `type:"structure"`
12256
12257	// The name of an Elasticsearch domain. Domain names are unique across the domains
12258	// owned by an account within an AWS region. Domain names start with a letter
12259	// or number and can contain the following characters: a-z (lowercase), 0-9,
12260	// and - (hyphen).
12261	DomainName *string `min:"3" type:"string"`
12262
12263	// This flag, when set to True, indicates that an Upgrade Eligibility Check
12264	// needs to be performed. This will not actually perform the Upgrade.
12265	PerformCheckOnly *bool `type:"boolean"`
12266
12267	// The version of Elasticsearch that you intend to upgrade the domain to.
12268	TargetVersion *string `type:"string"`
12269}
12270
12271// String returns the string representation
12272func (s UpgradeElasticsearchDomainOutput) String() string {
12273	return awsutil.Prettify(s)
12274}
12275
12276// GoString returns the string representation
12277func (s UpgradeElasticsearchDomainOutput) GoString() string {
12278	return s.String()
12279}
12280
12281// SetDomainName sets the DomainName field's value.
12282func (s *UpgradeElasticsearchDomainOutput) SetDomainName(v string) *UpgradeElasticsearchDomainOutput {
12283	s.DomainName = &v
12284	return s
12285}
12286
12287// SetPerformCheckOnly sets the PerformCheckOnly field's value.
12288func (s *UpgradeElasticsearchDomainOutput) SetPerformCheckOnly(v bool) *UpgradeElasticsearchDomainOutput {
12289	s.PerformCheckOnly = &v
12290	return s
12291}
12292
12293// SetTargetVersion sets the TargetVersion field's value.
12294func (s *UpgradeElasticsearchDomainOutput) SetTargetVersion(v string) *UpgradeElasticsearchDomainOutput {
12295	s.TargetVersion = &v
12296	return s
12297}
12298
12299// History of the last 10 Upgrades and Upgrade Eligibility Checks.
12300type UpgradeHistory struct {
12301	_ struct{} `type:"structure"`
12302
12303	// UTC Timestamp at which the Upgrade API call was made in "yyyy-MM-ddTHH:mm:ssZ"
12304	// format.
12305	StartTimestamp *time.Time `type:"timestamp"`
12306
12307	// A list of UpgradeStepItem s representing information about each step performed
12308	// as pard of a specific Upgrade or Upgrade Eligibility Check.
12309	StepsList []*UpgradeStepItem `type:"list"`
12310
12311	// A string that describes the update briefly
12312	UpgradeName *string `type:"string"`
12313
12314	// The overall status of the update. The status can take one of the following
12315	// values:
12316	//    * In Progress
12317	//
12318	//    * Succeeded
12319	//
12320	//    * Succeeded with Issues
12321	//
12322	//    * Failed
12323	UpgradeStatus *string `type:"string" enum:"UpgradeStatus"`
12324}
12325
12326// String returns the string representation
12327func (s UpgradeHistory) String() string {
12328	return awsutil.Prettify(s)
12329}
12330
12331// GoString returns the string representation
12332func (s UpgradeHistory) GoString() string {
12333	return s.String()
12334}
12335
12336// SetStartTimestamp sets the StartTimestamp field's value.
12337func (s *UpgradeHistory) SetStartTimestamp(v time.Time) *UpgradeHistory {
12338	s.StartTimestamp = &v
12339	return s
12340}
12341
12342// SetStepsList sets the StepsList field's value.
12343func (s *UpgradeHistory) SetStepsList(v []*UpgradeStepItem) *UpgradeHistory {
12344	s.StepsList = v
12345	return s
12346}
12347
12348// SetUpgradeName sets the UpgradeName field's value.
12349func (s *UpgradeHistory) SetUpgradeName(v string) *UpgradeHistory {
12350	s.UpgradeName = &v
12351	return s
12352}
12353
12354// SetUpgradeStatus sets the UpgradeStatus field's value.
12355func (s *UpgradeHistory) SetUpgradeStatus(v string) *UpgradeHistory {
12356	s.UpgradeStatus = &v
12357	return s
12358}
12359
12360// Represents a single step of the Upgrade or Upgrade Eligibility Check workflow.
12361type UpgradeStepItem struct {
12362	_ struct{} `type:"structure"`
12363
12364	// A list of strings containing detailed information about the errors encountered
12365	// in a particular step.
12366	Issues []*string `type:"list"`
12367
12368	// The Floating point value representing progress percentage of a particular
12369	// step.
12370	ProgressPercent *float64 `type:"double"`
12371
12372	// Represents one of 3 steps that an Upgrade or Upgrade Eligibility Check does
12373	// through:
12374	//    * PreUpgradeCheck
12375	//
12376	//    * Snapshot
12377	//
12378	//    * Upgrade
12379	UpgradeStep *string `type:"string" enum:"UpgradeStep"`
12380
12381	// The status of a particular step during an upgrade. The status can take one
12382	// of the following values:
12383	//    * In Progress
12384	//
12385	//    * Succeeded
12386	//
12387	//    * Succeeded with Issues
12388	//
12389	//    * Failed
12390	UpgradeStepStatus *string `type:"string" enum:"UpgradeStatus"`
12391}
12392
12393// String returns the string representation
12394func (s UpgradeStepItem) String() string {
12395	return awsutil.Prettify(s)
12396}
12397
12398// GoString returns the string representation
12399func (s UpgradeStepItem) GoString() string {
12400	return s.String()
12401}
12402
12403// SetIssues sets the Issues field's value.
12404func (s *UpgradeStepItem) SetIssues(v []*string) *UpgradeStepItem {
12405	s.Issues = v
12406	return s
12407}
12408
12409// SetProgressPercent sets the ProgressPercent field's value.
12410func (s *UpgradeStepItem) SetProgressPercent(v float64) *UpgradeStepItem {
12411	s.ProgressPercent = &v
12412	return s
12413}
12414
12415// SetUpgradeStep sets the UpgradeStep field's value.
12416func (s *UpgradeStepItem) SetUpgradeStep(v string) *UpgradeStepItem {
12417	s.UpgradeStep = &v
12418	return s
12419}
12420
12421// SetUpgradeStepStatus sets the UpgradeStepStatus field's value.
12422func (s *UpgradeStepItem) SetUpgradeStepStatus(v string) *UpgradeStepItem {
12423	s.UpgradeStepStatus = &v
12424	return s
12425}
12426
12427// Options to specify the subnets and security groups for VPC endpoint. For
12428// more information, see VPC Endpoints for Amazon Elasticsearch Service Domains
12429// (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-vpc.html).
12430type VPCDerivedInfo struct {
12431	_ struct{} `type:"structure"`
12432
12433	// The availability zones for the Elasticsearch domain. Exists only if the domain
12434	// was created with VPCOptions.
12435	AvailabilityZones []*string `type:"list"`
12436
12437	// Specifies the security groups for VPC endpoint.
12438	SecurityGroupIds []*string `type:"list"`
12439
12440	// Specifies the subnets for VPC endpoint.
12441	SubnetIds []*string `type:"list"`
12442
12443	// The VPC Id for the Elasticsearch domain. Exists only if the domain was created
12444	// with VPCOptions.
12445	VPCId *string `type:"string"`
12446}
12447
12448// String returns the string representation
12449func (s VPCDerivedInfo) String() string {
12450	return awsutil.Prettify(s)
12451}
12452
12453// GoString returns the string representation
12454func (s VPCDerivedInfo) GoString() string {
12455	return s.String()
12456}
12457
12458// SetAvailabilityZones sets the AvailabilityZones field's value.
12459func (s *VPCDerivedInfo) SetAvailabilityZones(v []*string) *VPCDerivedInfo {
12460	s.AvailabilityZones = v
12461	return s
12462}
12463
12464// SetSecurityGroupIds sets the SecurityGroupIds field's value.
12465func (s *VPCDerivedInfo) SetSecurityGroupIds(v []*string) *VPCDerivedInfo {
12466	s.SecurityGroupIds = v
12467	return s
12468}
12469
12470// SetSubnetIds sets the SubnetIds field's value.
12471func (s *VPCDerivedInfo) SetSubnetIds(v []*string) *VPCDerivedInfo {
12472	s.SubnetIds = v
12473	return s
12474}
12475
12476// SetVPCId sets the VPCId field's value.
12477func (s *VPCDerivedInfo) SetVPCId(v string) *VPCDerivedInfo {
12478	s.VPCId = &v
12479	return s
12480}
12481
12482// Status of the VPC options for the specified Elasticsearch domain.
12483type VPCDerivedInfoStatus struct {
12484	_ struct{} `type:"structure"`
12485
12486	// Specifies the VPC options for the specified Elasticsearch domain.
12487	//
12488	// Options is a required field
12489	Options *VPCDerivedInfo `type:"structure" required:"true"`
12490
12491	// Specifies the status of the VPC options for the specified Elasticsearch domain.
12492	//
12493	// Status is a required field
12494	Status *OptionStatus `type:"structure" required:"true"`
12495}
12496
12497// String returns the string representation
12498func (s VPCDerivedInfoStatus) String() string {
12499	return awsutil.Prettify(s)
12500}
12501
12502// GoString returns the string representation
12503func (s VPCDerivedInfoStatus) GoString() string {
12504	return s.String()
12505}
12506
12507// SetOptions sets the Options field's value.
12508func (s *VPCDerivedInfoStatus) SetOptions(v *VPCDerivedInfo) *VPCDerivedInfoStatus {
12509	s.Options = v
12510	return s
12511}
12512
12513// SetStatus sets the Status field's value.
12514func (s *VPCDerivedInfoStatus) SetStatus(v *OptionStatus) *VPCDerivedInfoStatus {
12515	s.Status = v
12516	return s
12517}
12518
12519// Options to specify the subnets and security groups for VPC endpoint. For
12520// more information, see VPC Endpoints for Amazon Elasticsearch Service Domains
12521// (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-vpc.html).
12522type VPCOptions struct {
12523	_ struct{} `type:"structure"`
12524
12525	// Specifies the security groups for VPC endpoint.
12526	SecurityGroupIds []*string `type:"list"`
12527
12528	// Specifies the subnets for VPC endpoint.
12529	SubnetIds []*string `type:"list"`
12530}
12531
12532// String returns the string representation
12533func (s VPCOptions) String() string {
12534	return awsutil.Prettify(s)
12535}
12536
12537// GoString returns the string representation
12538func (s VPCOptions) GoString() string {
12539	return s.String()
12540}
12541
12542// SetSecurityGroupIds sets the SecurityGroupIds field's value.
12543func (s *VPCOptions) SetSecurityGroupIds(v []*string) *VPCOptions {
12544	s.SecurityGroupIds = v
12545	return s
12546}
12547
12548// SetSubnetIds sets the SubnetIds field's value.
12549func (s *VPCOptions) SetSubnetIds(v []*string) *VPCOptions {
12550	s.SubnetIds = v
12551	return s
12552}
12553
12554// An exception for missing / invalid input fields. Gives http status code of
12555// 400.
12556type ValidationException struct {
12557	_            struct{}                  `type:"structure"`
12558	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12559
12560	Message_ *string `locationName:"message" type:"string"`
12561}
12562
12563// String returns the string representation
12564func (s ValidationException) String() string {
12565	return awsutil.Prettify(s)
12566}
12567
12568// GoString returns the string representation
12569func (s ValidationException) GoString() string {
12570	return s.String()
12571}
12572
12573func newErrorValidationException(v protocol.ResponseMetadata) error {
12574	return &ValidationException{
12575		RespMetadata: v,
12576	}
12577}
12578
12579// Code returns the exception type name.
12580func (s *ValidationException) Code() string {
12581	return "ValidationException"
12582}
12583
12584// Message returns the exception's message.
12585func (s *ValidationException) Message() string {
12586	if s.Message_ != nil {
12587		return *s.Message_
12588	}
12589	return ""
12590}
12591
12592// OrigErr always returns nil, satisfies awserr.Error interface.
12593func (s *ValidationException) OrigErr() error {
12594	return nil
12595}
12596
12597func (s *ValidationException) Error() string {
12598	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
12599}
12600
12601// Status code returns the HTTP status code for the request's response error.
12602func (s *ValidationException) StatusCode() int {
12603	return s.RespMetadata.StatusCode
12604}
12605
12606// RequestID returns the service's response RequestID for request.
12607func (s *ValidationException) RequestID() string {
12608	return s.RespMetadata.RequestID
12609}
12610
12611// Specifies the zone awareness configuration for the domain cluster, such as
12612// the number of availability zones.
12613type ZoneAwarenessConfig struct {
12614	_ struct{} `type:"structure"`
12615
12616	// An integer value to indicate the number of availability zones for a domain
12617	// when zone awareness is enabled. This should be equal to number of subnets
12618	// if VPC endpoints is enabled
12619	AvailabilityZoneCount *int64 `type:"integer"`
12620}
12621
12622// String returns the string representation
12623func (s ZoneAwarenessConfig) String() string {
12624	return awsutil.Prettify(s)
12625}
12626
12627// GoString returns the string representation
12628func (s ZoneAwarenessConfig) GoString() string {
12629	return s.String()
12630}
12631
12632// SetAvailabilityZoneCount sets the AvailabilityZoneCount field's value.
12633func (s *ZoneAwarenessConfig) SetAvailabilityZoneCount(v int64) *ZoneAwarenessConfig {
12634	s.AvailabilityZoneCount = &v
12635	return s
12636}
12637
12638// Specifies the Auto-Tune desired state. Valid values are ENABLED, DISABLED.
12639const (
12640	// AutoTuneDesiredStateEnabled is a AutoTuneDesiredState enum value
12641	AutoTuneDesiredStateEnabled = "ENABLED"
12642
12643	// AutoTuneDesiredStateDisabled is a AutoTuneDesiredState enum value
12644	AutoTuneDesiredStateDisabled = "DISABLED"
12645)
12646
12647// AutoTuneDesiredState_Values returns all elements of the AutoTuneDesiredState enum
12648func AutoTuneDesiredState_Values() []string {
12649	return []string{
12650		AutoTuneDesiredStateEnabled,
12651		AutoTuneDesiredStateDisabled,
12652	}
12653}
12654
12655// Specifies the Auto-Tune state for the Elasticsearch domain. For valid states
12656// see the Developer Guide (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/auto-tune.html).
12657const (
12658	// AutoTuneStateEnabled is a AutoTuneState enum value
12659	AutoTuneStateEnabled = "ENABLED"
12660
12661	// AutoTuneStateDisabled is a AutoTuneState enum value
12662	AutoTuneStateDisabled = "DISABLED"
12663
12664	// AutoTuneStateEnableInProgress is a AutoTuneState enum value
12665	AutoTuneStateEnableInProgress = "ENABLE_IN_PROGRESS"
12666
12667	// AutoTuneStateDisableInProgress is a AutoTuneState enum value
12668	AutoTuneStateDisableInProgress = "DISABLE_IN_PROGRESS"
12669
12670	// AutoTuneStateDisabledAndRollbackScheduled is a AutoTuneState enum value
12671	AutoTuneStateDisabledAndRollbackScheduled = "DISABLED_AND_ROLLBACK_SCHEDULED"
12672
12673	// AutoTuneStateDisabledAndRollbackInProgress is a AutoTuneState enum value
12674	AutoTuneStateDisabledAndRollbackInProgress = "DISABLED_AND_ROLLBACK_IN_PROGRESS"
12675
12676	// AutoTuneStateDisabledAndRollbackComplete is a AutoTuneState enum value
12677	AutoTuneStateDisabledAndRollbackComplete = "DISABLED_AND_ROLLBACK_COMPLETE"
12678
12679	// AutoTuneStateDisabledAndRollbackError is a AutoTuneState enum value
12680	AutoTuneStateDisabledAndRollbackError = "DISABLED_AND_ROLLBACK_ERROR"
12681
12682	// AutoTuneStateError is a AutoTuneState enum value
12683	AutoTuneStateError = "ERROR"
12684)
12685
12686// AutoTuneState_Values returns all elements of the AutoTuneState enum
12687func AutoTuneState_Values() []string {
12688	return []string{
12689		AutoTuneStateEnabled,
12690		AutoTuneStateDisabled,
12691		AutoTuneStateEnableInProgress,
12692		AutoTuneStateDisableInProgress,
12693		AutoTuneStateDisabledAndRollbackScheduled,
12694		AutoTuneStateDisabledAndRollbackInProgress,
12695		AutoTuneStateDisabledAndRollbackComplete,
12696		AutoTuneStateDisabledAndRollbackError,
12697		AutoTuneStateError,
12698	}
12699}
12700
12701// Specifies Auto-Tune type. Valid value is SCHEDULED_ACTION.
12702const (
12703	// AutoTuneTypeScheduledAction is a AutoTuneType enum value
12704	AutoTuneTypeScheduledAction = "SCHEDULED_ACTION"
12705)
12706
12707// AutoTuneType_Values returns all elements of the AutoTuneType enum
12708func AutoTuneType_Values() []string {
12709	return []string{
12710		AutoTuneTypeScheduledAction,
12711	}
12712}
12713
12714const (
12715	// DeploymentStatusPendingUpdate is a DeploymentStatus enum value
12716	DeploymentStatusPendingUpdate = "PENDING_UPDATE"
12717
12718	// DeploymentStatusInProgress is a DeploymentStatus enum value
12719	DeploymentStatusInProgress = "IN_PROGRESS"
12720
12721	// DeploymentStatusCompleted is a DeploymentStatus enum value
12722	DeploymentStatusCompleted = "COMPLETED"
12723
12724	// DeploymentStatusNotEligible is a DeploymentStatus enum value
12725	DeploymentStatusNotEligible = "NOT_ELIGIBLE"
12726
12727	// DeploymentStatusEligible is a DeploymentStatus enum value
12728	DeploymentStatusEligible = "ELIGIBLE"
12729)
12730
12731// DeploymentStatus_Values returns all elements of the DeploymentStatus enum
12732func DeploymentStatus_Values() []string {
12733	return []string{
12734		DeploymentStatusPendingUpdate,
12735		DeploymentStatusInProgress,
12736		DeploymentStatusCompleted,
12737		DeploymentStatusNotEligible,
12738		DeploymentStatusEligible,
12739	}
12740}
12741
12742const (
12743	// DescribePackagesFilterNamePackageId is a DescribePackagesFilterName enum value
12744	DescribePackagesFilterNamePackageId = "PackageID"
12745
12746	// DescribePackagesFilterNamePackageName is a DescribePackagesFilterName enum value
12747	DescribePackagesFilterNamePackageName = "PackageName"
12748
12749	// DescribePackagesFilterNamePackageStatus is a DescribePackagesFilterName enum value
12750	DescribePackagesFilterNamePackageStatus = "PackageStatus"
12751)
12752
12753// DescribePackagesFilterName_Values returns all elements of the DescribePackagesFilterName enum
12754func DescribePackagesFilterName_Values() []string {
12755	return []string{
12756		DescribePackagesFilterNamePackageId,
12757		DescribePackagesFilterNamePackageName,
12758		DescribePackagesFilterNamePackageStatus,
12759	}
12760}
12761
12762const (
12763	// DomainPackageStatusAssociating is a DomainPackageStatus enum value
12764	DomainPackageStatusAssociating = "ASSOCIATING"
12765
12766	// DomainPackageStatusAssociationFailed is a DomainPackageStatus enum value
12767	DomainPackageStatusAssociationFailed = "ASSOCIATION_FAILED"
12768
12769	// DomainPackageStatusActive is a DomainPackageStatus enum value
12770	DomainPackageStatusActive = "ACTIVE"
12771
12772	// DomainPackageStatusDissociating is a DomainPackageStatus enum value
12773	DomainPackageStatusDissociating = "DISSOCIATING"
12774
12775	// DomainPackageStatusDissociationFailed is a DomainPackageStatus enum value
12776	DomainPackageStatusDissociationFailed = "DISSOCIATION_FAILED"
12777)
12778
12779// DomainPackageStatus_Values returns all elements of the DomainPackageStatus enum
12780func DomainPackageStatus_Values() []string {
12781	return []string{
12782		DomainPackageStatusAssociating,
12783		DomainPackageStatusAssociationFailed,
12784		DomainPackageStatusActive,
12785		DomainPackageStatusDissociating,
12786		DomainPackageStatusDissociationFailed,
12787	}
12788}
12789
12790const (
12791	// ESPartitionInstanceTypeM3MediumElasticsearch is a ESPartitionInstanceType enum value
12792	ESPartitionInstanceTypeM3MediumElasticsearch = "m3.medium.elasticsearch"
12793
12794	// ESPartitionInstanceTypeM3LargeElasticsearch is a ESPartitionInstanceType enum value
12795	ESPartitionInstanceTypeM3LargeElasticsearch = "m3.large.elasticsearch"
12796
12797	// ESPartitionInstanceTypeM3XlargeElasticsearch is a ESPartitionInstanceType enum value
12798	ESPartitionInstanceTypeM3XlargeElasticsearch = "m3.xlarge.elasticsearch"
12799
12800	// ESPartitionInstanceTypeM32xlargeElasticsearch is a ESPartitionInstanceType enum value
12801	ESPartitionInstanceTypeM32xlargeElasticsearch = "m3.2xlarge.elasticsearch"
12802
12803	// ESPartitionInstanceTypeM4LargeElasticsearch is a ESPartitionInstanceType enum value
12804	ESPartitionInstanceTypeM4LargeElasticsearch = "m4.large.elasticsearch"
12805
12806	// ESPartitionInstanceTypeM4XlargeElasticsearch is a ESPartitionInstanceType enum value
12807	ESPartitionInstanceTypeM4XlargeElasticsearch = "m4.xlarge.elasticsearch"
12808
12809	// ESPartitionInstanceTypeM42xlargeElasticsearch is a ESPartitionInstanceType enum value
12810	ESPartitionInstanceTypeM42xlargeElasticsearch = "m4.2xlarge.elasticsearch"
12811
12812	// ESPartitionInstanceTypeM44xlargeElasticsearch is a ESPartitionInstanceType enum value
12813	ESPartitionInstanceTypeM44xlargeElasticsearch = "m4.4xlarge.elasticsearch"
12814
12815	// ESPartitionInstanceTypeM410xlargeElasticsearch is a ESPartitionInstanceType enum value
12816	ESPartitionInstanceTypeM410xlargeElasticsearch = "m4.10xlarge.elasticsearch"
12817
12818	// ESPartitionInstanceTypeM5LargeElasticsearch is a ESPartitionInstanceType enum value
12819	ESPartitionInstanceTypeM5LargeElasticsearch = "m5.large.elasticsearch"
12820
12821	// ESPartitionInstanceTypeM5XlargeElasticsearch is a ESPartitionInstanceType enum value
12822	ESPartitionInstanceTypeM5XlargeElasticsearch = "m5.xlarge.elasticsearch"
12823
12824	// ESPartitionInstanceTypeM52xlargeElasticsearch is a ESPartitionInstanceType enum value
12825	ESPartitionInstanceTypeM52xlargeElasticsearch = "m5.2xlarge.elasticsearch"
12826
12827	// ESPartitionInstanceTypeM54xlargeElasticsearch is a ESPartitionInstanceType enum value
12828	ESPartitionInstanceTypeM54xlargeElasticsearch = "m5.4xlarge.elasticsearch"
12829
12830	// ESPartitionInstanceTypeM512xlargeElasticsearch is a ESPartitionInstanceType enum value
12831	ESPartitionInstanceTypeM512xlargeElasticsearch = "m5.12xlarge.elasticsearch"
12832
12833	// ESPartitionInstanceTypeR5LargeElasticsearch is a ESPartitionInstanceType enum value
12834	ESPartitionInstanceTypeR5LargeElasticsearch = "r5.large.elasticsearch"
12835
12836	// ESPartitionInstanceTypeR5XlargeElasticsearch is a ESPartitionInstanceType enum value
12837	ESPartitionInstanceTypeR5XlargeElasticsearch = "r5.xlarge.elasticsearch"
12838
12839	// ESPartitionInstanceTypeR52xlargeElasticsearch is a ESPartitionInstanceType enum value
12840	ESPartitionInstanceTypeR52xlargeElasticsearch = "r5.2xlarge.elasticsearch"
12841
12842	// ESPartitionInstanceTypeR54xlargeElasticsearch is a ESPartitionInstanceType enum value
12843	ESPartitionInstanceTypeR54xlargeElasticsearch = "r5.4xlarge.elasticsearch"
12844
12845	// ESPartitionInstanceTypeR512xlargeElasticsearch is a ESPartitionInstanceType enum value
12846	ESPartitionInstanceTypeR512xlargeElasticsearch = "r5.12xlarge.elasticsearch"
12847
12848	// ESPartitionInstanceTypeC5LargeElasticsearch is a ESPartitionInstanceType enum value
12849	ESPartitionInstanceTypeC5LargeElasticsearch = "c5.large.elasticsearch"
12850
12851	// ESPartitionInstanceTypeC5XlargeElasticsearch is a ESPartitionInstanceType enum value
12852	ESPartitionInstanceTypeC5XlargeElasticsearch = "c5.xlarge.elasticsearch"
12853
12854	// ESPartitionInstanceTypeC52xlargeElasticsearch is a ESPartitionInstanceType enum value
12855	ESPartitionInstanceTypeC52xlargeElasticsearch = "c5.2xlarge.elasticsearch"
12856
12857	// ESPartitionInstanceTypeC54xlargeElasticsearch is a ESPartitionInstanceType enum value
12858	ESPartitionInstanceTypeC54xlargeElasticsearch = "c5.4xlarge.elasticsearch"
12859
12860	// ESPartitionInstanceTypeC59xlargeElasticsearch is a ESPartitionInstanceType enum value
12861	ESPartitionInstanceTypeC59xlargeElasticsearch = "c5.9xlarge.elasticsearch"
12862
12863	// ESPartitionInstanceTypeC518xlargeElasticsearch is a ESPartitionInstanceType enum value
12864	ESPartitionInstanceTypeC518xlargeElasticsearch = "c5.18xlarge.elasticsearch"
12865
12866	// ESPartitionInstanceTypeUltrawarm1MediumElasticsearch is a ESPartitionInstanceType enum value
12867	ESPartitionInstanceTypeUltrawarm1MediumElasticsearch = "ultrawarm1.medium.elasticsearch"
12868
12869	// ESPartitionInstanceTypeUltrawarm1LargeElasticsearch is a ESPartitionInstanceType enum value
12870	ESPartitionInstanceTypeUltrawarm1LargeElasticsearch = "ultrawarm1.large.elasticsearch"
12871
12872	// ESPartitionInstanceTypeT2MicroElasticsearch is a ESPartitionInstanceType enum value
12873	ESPartitionInstanceTypeT2MicroElasticsearch = "t2.micro.elasticsearch"
12874
12875	// ESPartitionInstanceTypeT2SmallElasticsearch is a ESPartitionInstanceType enum value
12876	ESPartitionInstanceTypeT2SmallElasticsearch = "t2.small.elasticsearch"
12877
12878	// ESPartitionInstanceTypeT2MediumElasticsearch is a ESPartitionInstanceType enum value
12879	ESPartitionInstanceTypeT2MediumElasticsearch = "t2.medium.elasticsearch"
12880
12881	// ESPartitionInstanceTypeR3LargeElasticsearch is a ESPartitionInstanceType enum value
12882	ESPartitionInstanceTypeR3LargeElasticsearch = "r3.large.elasticsearch"
12883
12884	// ESPartitionInstanceTypeR3XlargeElasticsearch is a ESPartitionInstanceType enum value
12885	ESPartitionInstanceTypeR3XlargeElasticsearch = "r3.xlarge.elasticsearch"
12886
12887	// ESPartitionInstanceTypeR32xlargeElasticsearch is a ESPartitionInstanceType enum value
12888	ESPartitionInstanceTypeR32xlargeElasticsearch = "r3.2xlarge.elasticsearch"
12889
12890	// ESPartitionInstanceTypeR34xlargeElasticsearch is a ESPartitionInstanceType enum value
12891	ESPartitionInstanceTypeR34xlargeElasticsearch = "r3.4xlarge.elasticsearch"
12892
12893	// ESPartitionInstanceTypeR38xlargeElasticsearch is a ESPartitionInstanceType enum value
12894	ESPartitionInstanceTypeR38xlargeElasticsearch = "r3.8xlarge.elasticsearch"
12895
12896	// ESPartitionInstanceTypeI2XlargeElasticsearch is a ESPartitionInstanceType enum value
12897	ESPartitionInstanceTypeI2XlargeElasticsearch = "i2.xlarge.elasticsearch"
12898
12899	// ESPartitionInstanceTypeI22xlargeElasticsearch is a ESPartitionInstanceType enum value
12900	ESPartitionInstanceTypeI22xlargeElasticsearch = "i2.2xlarge.elasticsearch"
12901
12902	// ESPartitionInstanceTypeD2XlargeElasticsearch is a ESPartitionInstanceType enum value
12903	ESPartitionInstanceTypeD2XlargeElasticsearch = "d2.xlarge.elasticsearch"
12904
12905	// ESPartitionInstanceTypeD22xlargeElasticsearch is a ESPartitionInstanceType enum value
12906	ESPartitionInstanceTypeD22xlargeElasticsearch = "d2.2xlarge.elasticsearch"
12907
12908	// ESPartitionInstanceTypeD24xlargeElasticsearch is a ESPartitionInstanceType enum value
12909	ESPartitionInstanceTypeD24xlargeElasticsearch = "d2.4xlarge.elasticsearch"
12910
12911	// ESPartitionInstanceTypeD28xlargeElasticsearch is a ESPartitionInstanceType enum value
12912	ESPartitionInstanceTypeD28xlargeElasticsearch = "d2.8xlarge.elasticsearch"
12913
12914	// ESPartitionInstanceTypeC4LargeElasticsearch is a ESPartitionInstanceType enum value
12915	ESPartitionInstanceTypeC4LargeElasticsearch = "c4.large.elasticsearch"
12916
12917	// ESPartitionInstanceTypeC4XlargeElasticsearch is a ESPartitionInstanceType enum value
12918	ESPartitionInstanceTypeC4XlargeElasticsearch = "c4.xlarge.elasticsearch"
12919
12920	// ESPartitionInstanceTypeC42xlargeElasticsearch is a ESPartitionInstanceType enum value
12921	ESPartitionInstanceTypeC42xlargeElasticsearch = "c4.2xlarge.elasticsearch"
12922
12923	// ESPartitionInstanceTypeC44xlargeElasticsearch is a ESPartitionInstanceType enum value
12924	ESPartitionInstanceTypeC44xlargeElasticsearch = "c4.4xlarge.elasticsearch"
12925
12926	// ESPartitionInstanceTypeC48xlargeElasticsearch is a ESPartitionInstanceType enum value
12927	ESPartitionInstanceTypeC48xlargeElasticsearch = "c4.8xlarge.elasticsearch"
12928
12929	// ESPartitionInstanceTypeR4LargeElasticsearch is a ESPartitionInstanceType enum value
12930	ESPartitionInstanceTypeR4LargeElasticsearch = "r4.large.elasticsearch"
12931
12932	// ESPartitionInstanceTypeR4XlargeElasticsearch is a ESPartitionInstanceType enum value
12933	ESPartitionInstanceTypeR4XlargeElasticsearch = "r4.xlarge.elasticsearch"
12934
12935	// ESPartitionInstanceTypeR42xlargeElasticsearch is a ESPartitionInstanceType enum value
12936	ESPartitionInstanceTypeR42xlargeElasticsearch = "r4.2xlarge.elasticsearch"
12937
12938	// ESPartitionInstanceTypeR44xlargeElasticsearch is a ESPartitionInstanceType enum value
12939	ESPartitionInstanceTypeR44xlargeElasticsearch = "r4.4xlarge.elasticsearch"
12940
12941	// ESPartitionInstanceTypeR48xlargeElasticsearch is a ESPartitionInstanceType enum value
12942	ESPartitionInstanceTypeR48xlargeElasticsearch = "r4.8xlarge.elasticsearch"
12943
12944	// ESPartitionInstanceTypeR416xlargeElasticsearch is a ESPartitionInstanceType enum value
12945	ESPartitionInstanceTypeR416xlargeElasticsearch = "r4.16xlarge.elasticsearch"
12946
12947	// ESPartitionInstanceTypeI3LargeElasticsearch is a ESPartitionInstanceType enum value
12948	ESPartitionInstanceTypeI3LargeElasticsearch = "i3.large.elasticsearch"
12949
12950	// ESPartitionInstanceTypeI3XlargeElasticsearch is a ESPartitionInstanceType enum value
12951	ESPartitionInstanceTypeI3XlargeElasticsearch = "i3.xlarge.elasticsearch"
12952
12953	// ESPartitionInstanceTypeI32xlargeElasticsearch is a ESPartitionInstanceType enum value
12954	ESPartitionInstanceTypeI32xlargeElasticsearch = "i3.2xlarge.elasticsearch"
12955
12956	// ESPartitionInstanceTypeI34xlargeElasticsearch is a ESPartitionInstanceType enum value
12957	ESPartitionInstanceTypeI34xlargeElasticsearch = "i3.4xlarge.elasticsearch"
12958
12959	// ESPartitionInstanceTypeI38xlargeElasticsearch is a ESPartitionInstanceType enum value
12960	ESPartitionInstanceTypeI38xlargeElasticsearch = "i3.8xlarge.elasticsearch"
12961
12962	// ESPartitionInstanceTypeI316xlargeElasticsearch is a ESPartitionInstanceType enum value
12963	ESPartitionInstanceTypeI316xlargeElasticsearch = "i3.16xlarge.elasticsearch"
12964)
12965
12966// ESPartitionInstanceType_Values returns all elements of the ESPartitionInstanceType enum
12967func ESPartitionInstanceType_Values() []string {
12968	return []string{
12969		ESPartitionInstanceTypeM3MediumElasticsearch,
12970		ESPartitionInstanceTypeM3LargeElasticsearch,
12971		ESPartitionInstanceTypeM3XlargeElasticsearch,
12972		ESPartitionInstanceTypeM32xlargeElasticsearch,
12973		ESPartitionInstanceTypeM4LargeElasticsearch,
12974		ESPartitionInstanceTypeM4XlargeElasticsearch,
12975		ESPartitionInstanceTypeM42xlargeElasticsearch,
12976		ESPartitionInstanceTypeM44xlargeElasticsearch,
12977		ESPartitionInstanceTypeM410xlargeElasticsearch,
12978		ESPartitionInstanceTypeM5LargeElasticsearch,
12979		ESPartitionInstanceTypeM5XlargeElasticsearch,
12980		ESPartitionInstanceTypeM52xlargeElasticsearch,
12981		ESPartitionInstanceTypeM54xlargeElasticsearch,
12982		ESPartitionInstanceTypeM512xlargeElasticsearch,
12983		ESPartitionInstanceTypeR5LargeElasticsearch,
12984		ESPartitionInstanceTypeR5XlargeElasticsearch,
12985		ESPartitionInstanceTypeR52xlargeElasticsearch,
12986		ESPartitionInstanceTypeR54xlargeElasticsearch,
12987		ESPartitionInstanceTypeR512xlargeElasticsearch,
12988		ESPartitionInstanceTypeC5LargeElasticsearch,
12989		ESPartitionInstanceTypeC5XlargeElasticsearch,
12990		ESPartitionInstanceTypeC52xlargeElasticsearch,
12991		ESPartitionInstanceTypeC54xlargeElasticsearch,
12992		ESPartitionInstanceTypeC59xlargeElasticsearch,
12993		ESPartitionInstanceTypeC518xlargeElasticsearch,
12994		ESPartitionInstanceTypeUltrawarm1MediumElasticsearch,
12995		ESPartitionInstanceTypeUltrawarm1LargeElasticsearch,
12996		ESPartitionInstanceTypeT2MicroElasticsearch,
12997		ESPartitionInstanceTypeT2SmallElasticsearch,
12998		ESPartitionInstanceTypeT2MediumElasticsearch,
12999		ESPartitionInstanceTypeR3LargeElasticsearch,
13000		ESPartitionInstanceTypeR3XlargeElasticsearch,
13001		ESPartitionInstanceTypeR32xlargeElasticsearch,
13002		ESPartitionInstanceTypeR34xlargeElasticsearch,
13003		ESPartitionInstanceTypeR38xlargeElasticsearch,
13004		ESPartitionInstanceTypeI2XlargeElasticsearch,
13005		ESPartitionInstanceTypeI22xlargeElasticsearch,
13006		ESPartitionInstanceTypeD2XlargeElasticsearch,
13007		ESPartitionInstanceTypeD22xlargeElasticsearch,
13008		ESPartitionInstanceTypeD24xlargeElasticsearch,
13009		ESPartitionInstanceTypeD28xlargeElasticsearch,
13010		ESPartitionInstanceTypeC4LargeElasticsearch,
13011		ESPartitionInstanceTypeC4XlargeElasticsearch,
13012		ESPartitionInstanceTypeC42xlargeElasticsearch,
13013		ESPartitionInstanceTypeC44xlargeElasticsearch,
13014		ESPartitionInstanceTypeC48xlargeElasticsearch,
13015		ESPartitionInstanceTypeR4LargeElasticsearch,
13016		ESPartitionInstanceTypeR4XlargeElasticsearch,
13017		ESPartitionInstanceTypeR42xlargeElasticsearch,
13018		ESPartitionInstanceTypeR44xlargeElasticsearch,
13019		ESPartitionInstanceTypeR48xlargeElasticsearch,
13020		ESPartitionInstanceTypeR416xlargeElasticsearch,
13021		ESPartitionInstanceTypeI3LargeElasticsearch,
13022		ESPartitionInstanceTypeI3XlargeElasticsearch,
13023		ESPartitionInstanceTypeI32xlargeElasticsearch,
13024		ESPartitionInstanceTypeI34xlargeElasticsearch,
13025		ESPartitionInstanceTypeI38xlargeElasticsearch,
13026		ESPartitionInstanceTypeI316xlargeElasticsearch,
13027	}
13028}
13029
13030const (
13031	// ESWarmPartitionInstanceTypeUltrawarm1MediumElasticsearch is a ESWarmPartitionInstanceType enum value
13032	ESWarmPartitionInstanceTypeUltrawarm1MediumElasticsearch = "ultrawarm1.medium.elasticsearch"
13033
13034	// ESWarmPartitionInstanceTypeUltrawarm1LargeElasticsearch is a ESWarmPartitionInstanceType enum value
13035	ESWarmPartitionInstanceTypeUltrawarm1LargeElasticsearch = "ultrawarm1.large.elasticsearch"
13036)
13037
13038// ESWarmPartitionInstanceType_Values returns all elements of the ESWarmPartitionInstanceType enum
13039func ESWarmPartitionInstanceType_Values() []string {
13040	return []string{
13041		ESWarmPartitionInstanceTypeUltrawarm1MediumElasticsearch,
13042		ESWarmPartitionInstanceTypeUltrawarm1LargeElasticsearch,
13043	}
13044}
13045
13046const (
13047	// InboundCrossClusterSearchConnectionStatusCodePendingAcceptance is a InboundCrossClusterSearchConnectionStatusCode enum value
13048	InboundCrossClusterSearchConnectionStatusCodePendingAcceptance = "PENDING_ACCEPTANCE"
13049
13050	// InboundCrossClusterSearchConnectionStatusCodeApproved is a InboundCrossClusterSearchConnectionStatusCode enum value
13051	InboundCrossClusterSearchConnectionStatusCodeApproved = "APPROVED"
13052
13053	// InboundCrossClusterSearchConnectionStatusCodeRejecting is a InboundCrossClusterSearchConnectionStatusCode enum value
13054	InboundCrossClusterSearchConnectionStatusCodeRejecting = "REJECTING"
13055
13056	// InboundCrossClusterSearchConnectionStatusCodeRejected is a InboundCrossClusterSearchConnectionStatusCode enum value
13057	InboundCrossClusterSearchConnectionStatusCodeRejected = "REJECTED"
13058
13059	// InboundCrossClusterSearchConnectionStatusCodeDeleting is a InboundCrossClusterSearchConnectionStatusCode enum value
13060	InboundCrossClusterSearchConnectionStatusCodeDeleting = "DELETING"
13061
13062	// InboundCrossClusterSearchConnectionStatusCodeDeleted is a InboundCrossClusterSearchConnectionStatusCode enum value
13063	InboundCrossClusterSearchConnectionStatusCodeDeleted = "DELETED"
13064)
13065
13066// InboundCrossClusterSearchConnectionStatusCode_Values returns all elements of the InboundCrossClusterSearchConnectionStatusCode enum
13067func InboundCrossClusterSearchConnectionStatusCode_Values() []string {
13068	return []string{
13069		InboundCrossClusterSearchConnectionStatusCodePendingAcceptance,
13070		InboundCrossClusterSearchConnectionStatusCodeApproved,
13071		InboundCrossClusterSearchConnectionStatusCodeRejecting,
13072		InboundCrossClusterSearchConnectionStatusCodeRejected,
13073		InboundCrossClusterSearchConnectionStatusCodeDeleting,
13074		InboundCrossClusterSearchConnectionStatusCodeDeleted,
13075	}
13076}
13077
13078// Type of Log File, it can be one of the following:
13079//    * INDEX_SLOW_LOGS: Index slow logs contain insert requests that took more
13080//    time than configured index query log threshold to execute.
13081//
13082//    * SEARCH_SLOW_LOGS: Search slow logs contain search queries that took
13083//    more time than configured search query log threshold to execute.
13084//
13085//    * ES_APPLICATION_LOGS: Elasticsearch application logs contain information
13086//    about errors and warnings raised during the operation of the service and
13087//    can be useful for troubleshooting.
13088//
13089//    * AUDIT_LOGS: Audit logs contain records of user requests for access from
13090//    the domain.
13091const (
13092	// LogTypeIndexSlowLogs is a LogType enum value
13093	LogTypeIndexSlowLogs = "INDEX_SLOW_LOGS"
13094
13095	// LogTypeSearchSlowLogs is a LogType enum value
13096	LogTypeSearchSlowLogs = "SEARCH_SLOW_LOGS"
13097
13098	// LogTypeEsApplicationLogs is a LogType enum value
13099	LogTypeEsApplicationLogs = "ES_APPLICATION_LOGS"
13100
13101	// LogTypeAuditLogs is a LogType enum value
13102	LogTypeAuditLogs = "AUDIT_LOGS"
13103)
13104
13105// LogType_Values returns all elements of the LogType enum
13106func LogType_Values() []string {
13107	return []string{
13108		LogTypeIndexSlowLogs,
13109		LogTypeSearchSlowLogs,
13110		LogTypeEsApplicationLogs,
13111		LogTypeAuditLogs,
13112	}
13113}
13114
13115// The state of a requested change. One of the following:
13116//
13117//    * Processing: The request change is still in-process.
13118//
13119//    * Active: The request change is processed and deployed to the Elasticsearch
13120//    domain.
13121const (
13122	// OptionStateRequiresIndexDocuments is a OptionState enum value
13123	OptionStateRequiresIndexDocuments = "RequiresIndexDocuments"
13124
13125	// OptionStateProcessing is a OptionState enum value
13126	OptionStateProcessing = "Processing"
13127
13128	// OptionStateActive is a OptionState enum value
13129	OptionStateActive = "Active"
13130)
13131
13132// OptionState_Values returns all elements of the OptionState enum
13133func OptionState_Values() []string {
13134	return []string{
13135		OptionStateRequiresIndexDocuments,
13136		OptionStateProcessing,
13137		OptionStateActive,
13138	}
13139}
13140
13141const (
13142	// OutboundCrossClusterSearchConnectionStatusCodePendingAcceptance is a OutboundCrossClusterSearchConnectionStatusCode enum value
13143	OutboundCrossClusterSearchConnectionStatusCodePendingAcceptance = "PENDING_ACCEPTANCE"
13144
13145	// OutboundCrossClusterSearchConnectionStatusCodeValidating is a OutboundCrossClusterSearchConnectionStatusCode enum value
13146	OutboundCrossClusterSearchConnectionStatusCodeValidating = "VALIDATING"
13147
13148	// OutboundCrossClusterSearchConnectionStatusCodeValidationFailed is a OutboundCrossClusterSearchConnectionStatusCode enum value
13149	OutboundCrossClusterSearchConnectionStatusCodeValidationFailed = "VALIDATION_FAILED"
13150
13151	// OutboundCrossClusterSearchConnectionStatusCodeProvisioning is a OutboundCrossClusterSearchConnectionStatusCode enum value
13152	OutboundCrossClusterSearchConnectionStatusCodeProvisioning = "PROVISIONING"
13153
13154	// OutboundCrossClusterSearchConnectionStatusCodeActive is a OutboundCrossClusterSearchConnectionStatusCode enum value
13155	OutboundCrossClusterSearchConnectionStatusCodeActive = "ACTIVE"
13156
13157	// OutboundCrossClusterSearchConnectionStatusCodeRejected is a OutboundCrossClusterSearchConnectionStatusCode enum value
13158	OutboundCrossClusterSearchConnectionStatusCodeRejected = "REJECTED"
13159
13160	// OutboundCrossClusterSearchConnectionStatusCodeDeleting is a OutboundCrossClusterSearchConnectionStatusCode enum value
13161	OutboundCrossClusterSearchConnectionStatusCodeDeleting = "DELETING"
13162
13163	// OutboundCrossClusterSearchConnectionStatusCodeDeleted is a OutboundCrossClusterSearchConnectionStatusCode enum value
13164	OutboundCrossClusterSearchConnectionStatusCodeDeleted = "DELETED"
13165)
13166
13167// OutboundCrossClusterSearchConnectionStatusCode_Values returns all elements of the OutboundCrossClusterSearchConnectionStatusCode enum
13168func OutboundCrossClusterSearchConnectionStatusCode_Values() []string {
13169	return []string{
13170		OutboundCrossClusterSearchConnectionStatusCodePendingAcceptance,
13171		OutboundCrossClusterSearchConnectionStatusCodeValidating,
13172		OutboundCrossClusterSearchConnectionStatusCodeValidationFailed,
13173		OutboundCrossClusterSearchConnectionStatusCodeProvisioning,
13174		OutboundCrossClusterSearchConnectionStatusCodeActive,
13175		OutboundCrossClusterSearchConnectionStatusCodeRejected,
13176		OutboundCrossClusterSearchConnectionStatusCodeDeleting,
13177		OutboundCrossClusterSearchConnectionStatusCodeDeleted,
13178	}
13179}
13180
13181const (
13182	// PackageStatusCopying is a PackageStatus enum value
13183	PackageStatusCopying = "COPYING"
13184
13185	// PackageStatusCopyFailed is a PackageStatus enum value
13186	PackageStatusCopyFailed = "COPY_FAILED"
13187
13188	// PackageStatusValidating is a PackageStatus enum value
13189	PackageStatusValidating = "VALIDATING"
13190
13191	// PackageStatusValidationFailed is a PackageStatus enum value
13192	PackageStatusValidationFailed = "VALIDATION_FAILED"
13193
13194	// PackageStatusAvailable is a PackageStatus enum value
13195	PackageStatusAvailable = "AVAILABLE"
13196
13197	// PackageStatusDeleting is a PackageStatus enum value
13198	PackageStatusDeleting = "DELETING"
13199
13200	// PackageStatusDeleted is a PackageStatus enum value
13201	PackageStatusDeleted = "DELETED"
13202
13203	// PackageStatusDeleteFailed is a PackageStatus enum value
13204	PackageStatusDeleteFailed = "DELETE_FAILED"
13205)
13206
13207// PackageStatus_Values returns all elements of the PackageStatus enum
13208func PackageStatus_Values() []string {
13209	return []string{
13210		PackageStatusCopying,
13211		PackageStatusCopyFailed,
13212		PackageStatusValidating,
13213		PackageStatusValidationFailed,
13214		PackageStatusAvailable,
13215		PackageStatusDeleting,
13216		PackageStatusDeleted,
13217		PackageStatusDeleteFailed,
13218	}
13219}
13220
13221const (
13222	// PackageTypeTxtDictionary is a PackageType enum value
13223	PackageTypeTxtDictionary = "TXT-DICTIONARY"
13224)
13225
13226// PackageType_Values returns all elements of the PackageType enum
13227func PackageType_Values() []string {
13228	return []string{
13229		PackageTypeTxtDictionary,
13230	}
13231}
13232
13233const (
13234	// ReservedElasticsearchInstancePaymentOptionAllUpfront is a ReservedElasticsearchInstancePaymentOption enum value
13235	ReservedElasticsearchInstancePaymentOptionAllUpfront = "ALL_UPFRONT"
13236
13237	// ReservedElasticsearchInstancePaymentOptionPartialUpfront is a ReservedElasticsearchInstancePaymentOption enum value
13238	ReservedElasticsearchInstancePaymentOptionPartialUpfront = "PARTIAL_UPFRONT"
13239
13240	// ReservedElasticsearchInstancePaymentOptionNoUpfront is a ReservedElasticsearchInstancePaymentOption enum value
13241	ReservedElasticsearchInstancePaymentOptionNoUpfront = "NO_UPFRONT"
13242)
13243
13244// ReservedElasticsearchInstancePaymentOption_Values returns all elements of the ReservedElasticsearchInstancePaymentOption enum
13245func ReservedElasticsearchInstancePaymentOption_Values() []string {
13246	return []string{
13247		ReservedElasticsearchInstancePaymentOptionAllUpfront,
13248		ReservedElasticsearchInstancePaymentOptionPartialUpfront,
13249		ReservedElasticsearchInstancePaymentOptionNoUpfront,
13250	}
13251}
13252
13253// Specifies the rollback state while disabling Auto-Tune for the domain. Valid
13254// values are NO_ROLLBACK, DEFAULT_ROLLBACK.
13255const (
13256	// RollbackOnDisableNoRollback is a RollbackOnDisable enum value
13257	RollbackOnDisableNoRollback = "NO_ROLLBACK"
13258
13259	// RollbackOnDisableDefaultRollback is a RollbackOnDisable enum value
13260	RollbackOnDisableDefaultRollback = "DEFAULT_ROLLBACK"
13261)
13262
13263// RollbackOnDisable_Values returns all elements of the RollbackOnDisable enum
13264func RollbackOnDisable_Values() []string {
13265	return []string{
13266		RollbackOnDisableNoRollback,
13267		RollbackOnDisableDefaultRollback,
13268	}
13269}
13270
13271// Specifies Auto-Tune action type. Valid values are JVM_HEAP_SIZE_TUNING and
13272// JVM_YOUNG_GEN_TUNING.
13273const (
13274	// ScheduledAutoTuneActionTypeJvmHeapSizeTuning is a ScheduledAutoTuneActionType enum value
13275	ScheduledAutoTuneActionTypeJvmHeapSizeTuning = "JVM_HEAP_SIZE_TUNING"
13276
13277	// ScheduledAutoTuneActionTypeJvmYoungGenTuning is a ScheduledAutoTuneActionType enum value
13278	ScheduledAutoTuneActionTypeJvmYoungGenTuning = "JVM_YOUNG_GEN_TUNING"
13279)
13280
13281// ScheduledAutoTuneActionType_Values returns all elements of the ScheduledAutoTuneActionType enum
13282func ScheduledAutoTuneActionType_Values() []string {
13283	return []string{
13284		ScheduledAutoTuneActionTypeJvmHeapSizeTuning,
13285		ScheduledAutoTuneActionTypeJvmYoungGenTuning,
13286	}
13287}
13288
13289// Specifies Auto-Tune action severity. Valid values are LOW, MEDIUM and HIGH.
13290const (
13291	// ScheduledAutoTuneSeverityTypeLow is a ScheduledAutoTuneSeverityType enum value
13292	ScheduledAutoTuneSeverityTypeLow = "LOW"
13293
13294	// ScheduledAutoTuneSeverityTypeMedium is a ScheduledAutoTuneSeverityType enum value
13295	ScheduledAutoTuneSeverityTypeMedium = "MEDIUM"
13296
13297	// ScheduledAutoTuneSeverityTypeHigh is a ScheduledAutoTuneSeverityType enum value
13298	ScheduledAutoTuneSeverityTypeHigh = "HIGH"
13299)
13300
13301// ScheduledAutoTuneSeverityType_Values returns all elements of the ScheduledAutoTuneSeverityType enum
13302func ScheduledAutoTuneSeverityType_Values() []string {
13303	return []string{
13304		ScheduledAutoTuneSeverityTypeLow,
13305		ScheduledAutoTuneSeverityTypeMedium,
13306		ScheduledAutoTuneSeverityTypeHigh,
13307	}
13308}
13309
13310const (
13311	// TLSSecurityPolicyPolicyMinTls10201907 is a TLSSecurityPolicy enum value
13312	TLSSecurityPolicyPolicyMinTls10201907 = "Policy-Min-TLS-1-0-2019-07"
13313
13314	// TLSSecurityPolicyPolicyMinTls12201907 is a TLSSecurityPolicy enum value
13315	TLSSecurityPolicyPolicyMinTls12201907 = "Policy-Min-TLS-1-2-2019-07"
13316)
13317
13318// TLSSecurityPolicy_Values returns all elements of the TLSSecurityPolicy enum
13319func TLSSecurityPolicy_Values() []string {
13320	return []string{
13321		TLSSecurityPolicyPolicyMinTls10201907,
13322		TLSSecurityPolicyPolicyMinTls12201907,
13323	}
13324}
13325
13326// Specifies the unit of a maintenance schedule duration. Valid value is HOUR.
13327// See the Developer Guide (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/auto-tune.html)
13328// for more information.
13329const (
13330	// TimeUnitHours is a TimeUnit enum value
13331	TimeUnitHours = "HOURS"
13332)
13333
13334// TimeUnit_Values returns all elements of the TimeUnit enum
13335func TimeUnit_Values() []string {
13336	return []string{
13337		TimeUnitHours,
13338	}
13339}
13340
13341const (
13342	// UpgradeStatusInProgress is a UpgradeStatus enum value
13343	UpgradeStatusInProgress = "IN_PROGRESS"
13344
13345	// UpgradeStatusSucceeded is a UpgradeStatus enum value
13346	UpgradeStatusSucceeded = "SUCCEEDED"
13347
13348	// UpgradeStatusSucceededWithIssues is a UpgradeStatus enum value
13349	UpgradeStatusSucceededWithIssues = "SUCCEEDED_WITH_ISSUES"
13350
13351	// UpgradeStatusFailed is a UpgradeStatus enum value
13352	UpgradeStatusFailed = "FAILED"
13353)
13354
13355// UpgradeStatus_Values returns all elements of the UpgradeStatus enum
13356func UpgradeStatus_Values() []string {
13357	return []string{
13358		UpgradeStatusInProgress,
13359		UpgradeStatusSucceeded,
13360		UpgradeStatusSucceededWithIssues,
13361		UpgradeStatusFailed,
13362	}
13363}
13364
13365const (
13366	// UpgradeStepPreUpgradeCheck is a UpgradeStep enum value
13367	UpgradeStepPreUpgradeCheck = "PRE_UPGRADE_CHECK"
13368
13369	// UpgradeStepSnapshot is a UpgradeStep enum value
13370	UpgradeStepSnapshot = "SNAPSHOT"
13371
13372	// UpgradeStepUpgrade is a UpgradeStep enum value
13373	UpgradeStepUpgrade = "UPGRADE"
13374)
13375
13376// UpgradeStep_Values returns all elements of the UpgradeStep enum
13377func UpgradeStep_Values() []string {
13378	return []string{
13379		UpgradeStepPreUpgradeCheck,
13380		UpgradeStepSnapshot,
13381		UpgradeStepUpgrade,
13382	}
13383}
13384
13385// The type of EBS volume, standard, gp2, or io1. See Configuring EBS-based
13386// Storage (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomain-configure-ebs)for
13387// more information.
13388const (
13389	// VolumeTypeStandard is a VolumeType enum value
13390	VolumeTypeStandard = "standard"
13391
13392	// VolumeTypeGp2 is a VolumeType enum value
13393	VolumeTypeGp2 = "gp2"
13394
13395	// VolumeTypeIo1 is a VolumeType enum value
13396	VolumeTypeIo1 = "io1"
13397)
13398
13399// VolumeType_Values returns all elements of the VolumeType enum
13400func VolumeType_Values() []string {
13401	return []string{
13402		VolumeTypeStandard,
13403		VolumeTypeGp2,
13404		VolumeTypeIo1,
13405	}
13406}
13407