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 opDescribeElasticsearchDomain = "DescribeElasticsearchDomain"
1119
1120// DescribeElasticsearchDomainRequest generates a "aws/request.Request" representing the
1121// client's request for the DescribeElasticsearchDomain 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 DescribeElasticsearchDomain for more information on using the DescribeElasticsearchDomain
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 DescribeElasticsearchDomainRequest method.
1136//    req, resp := client.DescribeElasticsearchDomainRequest(params)
1137//
1138//    err := req.Send()
1139//    if err == nil { // resp is now filled
1140//        fmt.Println(resp)
1141//    }
1142func (c *ElasticsearchService) DescribeElasticsearchDomainRequest(input *DescribeElasticsearchDomainInput) (req *request.Request, output *DescribeElasticsearchDomainOutput) {
1143	op := &request.Operation{
1144		Name:       opDescribeElasticsearchDomain,
1145		HTTPMethod: "GET",
1146		HTTPPath:   "/2015-01-01/es/domain/{DomainName}",
1147	}
1148
1149	if input == nil {
1150		input = &DescribeElasticsearchDomainInput{}
1151	}
1152
1153	output = &DescribeElasticsearchDomainOutput{}
1154	req = c.newRequest(op, input, output)
1155	return
1156}
1157
1158// DescribeElasticsearchDomain API operation for Amazon Elasticsearch Service.
1159//
1160// Returns domain configuration information about the specified Elasticsearch
1161// domain, including the domain ID, domain endpoint, and domain ARN.
1162//
1163// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1164// with awserr.Error's Code and Message methods to get detailed information about
1165// the error.
1166//
1167// See the AWS API reference guide for Amazon Elasticsearch Service's
1168// API operation DescribeElasticsearchDomain for usage and error information.
1169//
1170// Returned Error Types:
1171//   * BaseException
1172//   An error occurred while processing the request.
1173//
1174//   * InternalException
1175//   The request processing has failed because of an unknown error, exception
1176//   or failure (the failure is internal to the service) . Gives http status code
1177//   of 500.
1178//
1179//   * ResourceNotFoundException
1180//   An exception for accessing or deleting a resource that does not exist. Gives
1181//   http status code of 400.
1182//
1183//   * ValidationException
1184//   An exception for missing / invalid input fields. Gives http status code of
1185//   400.
1186//
1187func (c *ElasticsearchService) DescribeElasticsearchDomain(input *DescribeElasticsearchDomainInput) (*DescribeElasticsearchDomainOutput, error) {
1188	req, out := c.DescribeElasticsearchDomainRequest(input)
1189	return out, req.Send()
1190}
1191
1192// DescribeElasticsearchDomainWithContext is the same as DescribeElasticsearchDomain with the addition of
1193// the ability to pass a context and additional request options.
1194//
1195// See DescribeElasticsearchDomain for details on how to use this API operation.
1196//
1197// The context must be non-nil and will be used for request cancellation. If
1198// the context is nil a panic will occur. In the future the SDK may create
1199// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1200// for more information on using Contexts.
1201func (c *ElasticsearchService) DescribeElasticsearchDomainWithContext(ctx aws.Context, input *DescribeElasticsearchDomainInput, opts ...request.Option) (*DescribeElasticsearchDomainOutput, error) {
1202	req, out := c.DescribeElasticsearchDomainRequest(input)
1203	req.SetContext(ctx)
1204	req.ApplyOptions(opts...)
1205	return out, req.Send()
1206}
1207
1208const opDescribeElasticsearchDomainConfig = "DescribeElasticsearchDomainConfig"
1209
1210// DescribeElasticsearchDomainConfigRequest generates a "aws/request.Request" representing the
1211// client's request for the DescribeElasticsearchDomainConfig operation. The "output" return
1212// value will be populated with the request's response once the request completes
1213// successfully.
1214//
1215// Use "Send" method on the returned Request to send the API call to the service.
1216// the "output" return value is not valid until after Send returns without error.
1217//
1218// See DescribeElasticsearchDomainConfig for more information on using the DescribeElasticsearchDomainConfig
1219// API call, and error handling.
1220//
1221// This method is useful when you want to inject custom logic or configuration
1222// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1223//
1224//
1225//    // Example sending a request using the DescribeElasticsearchDomainConfigRequest method.
1226//    req, resp := client.DescribeElasticsearchDomainConfigRequest(params)
1227//
1228//    err := req.Send()
1229//    if err == nil { // resp is now filled
1230//        fmt.Println(resp)
1231//    }
1232func (c *ElasticsearchService) DescribeElasticsearchDomainConfigRequest(input *DescribeElasticsearchDomainConfigInput) (req *request.Request, output *DescribeElasticsearchDomainConfigOutput) {
1233	op := &request.Operation{
1234		Name:       opDescribeElasticsearchDomainConfig,
1235		HTTPMethod: "GET",
1236		HTTPPath:   "/2015-01-01/es/domain/{DomainName}/config",
1237	}
1238
1239	if input == nil {
1240		input = &DescribeElasticsearchDomainConfigInput{}
1241	}
1242
1243	output = &DescribeElasticsearchDomainConfigOutput{}
1244	req = c.newRequest(op, input, output)
1245	return
1246}
1247
1248// DescribeElasticsearchDomainConfig API operation for Amazon Elasticsearch Service.
1249//
1250// Provides cluster configuration information about the specified Elasticsearch
1251// domain, such as the state, creation date, update version, and update date
1252// for cluster options.
1253//
1254// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1255// with awserr.Error's Code and Message methods to get detailed information about
1256// the error.
1257//
1258// See the AWS API reference guide for Amazon Elasticsearch Service's
1259// API operation DescribeElasticsearchDomainConfig for usage and error information.
1260//
1261// Returned Error Types:
1262//   * BaseException
1263//   An error occurred while processing the request.
1264//
1265//   * InternalException
1266//   The request processing has failed because of an unknown error, exception
1267//   or failure (the failure is internal to the service) . Gives http status code
1268//   of 500.
1269//
1270//   * ResourceNotFoundException
1271//   An exception for accessing or deleting a resource that does not exist. Gives
1272//   http status code of 400.
1273//
1274//   * ValidationException
1275//   An exception for missing / invalid input fields. Gives http status code of
1276//   400.
1277//
1278func (c *ElasticsearchService) DescribeElasticsearchDomainConfig(input *DescribeElasticsearchDomainConfigInput) (*DescribeElasticsearchDomainConfigOutput, error) {
1279	req, out := c.DescribeElasticsearchDomainConfigRequest(input)
1280	return out, req.Send()
1281}
1282
1283// DescribeElasticsearchDomainConfigWithContext is the same as DescribeElasticsearchDomainConfig with the addition of
1284// the ability to pass a context and additional request options.
1285//
1286// See DescribeElasticsearchDomainConfig for details on how to use this API operation.
1287//
1288// The context must be non-nil and will be used for request cancellation. If
1289// the context is nil a panic will occur. In the future the SDK may create
1290// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1291// for more information on using Contexts.
1292func (c *ElasticsearchService) DescribeElasticsearchDomainConfigWithContext(ctx aws.Context, input *DescribeElasticsearchDomainConfigInput, opts ...request.Option) (*DescribeElasticsearchDomainConfigOutput, error) {
1293	req, out := c.DescribeElasticsearchDomainConfigRequest(input)
1294	req.SetContext(ctx)
1295	req.ApplyOptions(opts...)
1296	return out, req.Send()
1297}
1298
1299const opDescribeElasticsearchDomains = "DescribeElasticsearchDomains"
1300
1301// DescribeElasticsearchDomainsRequest generates a "aws/request.Request" representing the
1302// client's request for the DescribeElasticsearchDomains operation. The "output" return
1303// value will be populated with the request's response once the request completes
1304// successfully.
1305//
1306// Use "Send" method on the returned Request to send the API call to the service.
1307// the "output" return value is not valid until after Send returns without error.
1308//
1309// See DescribeElasticsearchDomains for more information on using the DescribeElasticsearchDomains
1310// API call, and error handling.
1311//
1312// This method is useful when you want to inject custom logic or configuration
1313// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1314//
1315//
1316//    // Example sending a request using the DescribeElasticsearchDomainsRequest method.
1317//    req, resp := client.DescribeElasticsearchDomainsRequest(params)
1318//
1319//    err := req.Send()
1320//    if err == nil { // resp is now filled
1321//        fmt.Println(resp)
1322//    }
1323func (c *ElasticsearchService) DescribeElasticsearchDomainsRequest(input *DescribeElasticsearchDomainsInput) (req *request.Request, output *DescribeElasticsearchDomainsOutput) {
1324	op := &request.Operation{
1325		Name:       opDescribeElasticsearchDomains,
1326		HTTPMethod: "POST",
1327		HTTPPath:   "/2015-01-01/es/domain-info",
1328	}
1329
1330	if input == nil {
1331		input = &DescribeElasticsearchDomainsInput{}
1332	}
1333
1334	output = &DescribeElasticsearchDomainsOutput{}
1335	req = c.newRequest(op, input, output)
1336	return
1337}
1338
1339// DescribeElasticsearchDomains API operation for Amazon Elasticsearch Service.
1340//
1341// Returns domain configuration information about the specified Elasticsearch
1342// domains, including the domain ID, domain endpoint, and domain ARN.
1343//
1344// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1345// with awserr.Error's Code and Message methods to get detailed information about
1346// the error.
1347//
1348// See the AWS API reference guide for Amazon Elasticsearch Service's
1349// API operation DescribeElasticsearchDomains for usage and error information.
1350//
1351// Returned Error Types:
1352//   * BaseException
1353//   An error occurred while processing the request.
1354//
1355//   * InternalException
1356//   The request processing has failed because of an unknown error, exception
1357//   or failure (the failure is internal to the service) . Gives http status code
1358//   of 500.
1359//
1360//   * ValidationException
1361//   An exception for missing / invalid input fields. Gives http status code of
1362//   400.
1363//
1364func (c *ElasticsearchService) DescribeElasticsearchDomains(input *DescribeElasticsearchDomainsInput) (*DescribeElasticsearchDomainsOutput, error) {
1365	req, out := c.DescribeElasticsearchDomainsRequest(input)
1366	return out, req.Send()
1367}
1368
1369// DescribeElasticsearchDomainsWithContext is the same as DescribeElasticsearchDomains with the addition of
1370// the ability to pass a context and additional request options.
1371//
1372// See DescribeElasticsearchDomains for details on how to use this API operation.
1373//
1374// The context must be non-nil and will be used for request cancellation. If
1375// the context is nil a panic will occur. In the future the SDK may create
1376// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1377// for more information on using Contexts.
1378func (c *ElasticsearchService) DescribeElasticsearchDomainsWithContext(ctx aws.Context, input *DescribeElasticsearchDomainsInput, opts ...request.Option) (*DescribeElasticsearchDomainsOutput, error) {
1379	req, out := c.DescribeElasticsearchDomainsRequest(input)
1380	req.SetContext(ctx)
1381	req.ApplyOptions(opts...)
1382	return out, req.Send()
1383}
1384
1385const opDescribeElasticsearchInstanceTypeLimits = "DescribeElasticsearchInstanceTypeLimits"
1386
1387// DescribeElasticsearchInstanceTypeLimitsRequest generates a "aws/request.Request" representing the
1388// client's request for the DescribeElasticsearchInstanceTypeLimits operation. The "output" return
1389// value will be populated with the request's response once the request completes
1390// successfully.
1391//
1392// Use "Send" method on the returned Request to send the API call to the service.
1393// the "output" return value is not valid until after Send returns without error.
1394//
1395// See DescribeElasticsearchInstanceTypeLimits for more information on using the DescribeElasticsearchInstanceTypeLimits
1396// API call, and error handling.
1397//
1398// This method is useful when you want to inject custom logic or configuration
1399// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1400//
1401//
1402//    // Example sending a request using the DescribeElasticsearchInstanceTypeLimitsRequest method.
1403//    req, resp := client.DescribeElasticsearchInstanceTypeLimitsRequest(params)
1404//
1405//    err := req.Send()
1406//    if err == nil { // resp is now filled
1407//        fmt.Println(resp)
1408//    }
1409func (c *ElasticsearchService) DescribeElasticsearchInstanceTypeLimitsRequest(input *DescribeElasticsearchInstanceTypeLimitsInput) (req *request.Request, output *DescribeElasticsearchInstanceTypeLimitsOutput) {
1410	op := &request.Operation{
1411		Name:       opDescribeElasticsearchInstanceTypeLimits,
1412		HTTPMethod: "GET",
1413		HTTPPath:   "/2015-01-01/es/instanceTypeLimits/{ElasticsearchVersion}/{InstanceType}",
1414	}
1415
1416	if input == nil {
1417		input = &DescribeElasticsearchInstanceTypeLimitsInput{}
1418	}
1419
1420	output = &DescribeElasticsearchInstanceTypeLimitsOutput{}
1421	req = c.newRequest(op, input, output)
1422	return
1423}
1424
1425// DescribeElasticsearchInstanceTypeLimits API operation for Amazon Elasticsearch Service.
1426//
1427// Describe Elasticsearch Limits for a given InstanceType and ElasticsearchVersion.
1428// When modifying existing Domain, specify the DomainName to know what Limits
1429// are supported for modifying.
1430//
1431// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1432// with awserr.Error's Code and Message methods to get detailed information about
1433// the error.
1434//
1435// See the AWS API reference guide for Amazon Elasticsearch Service's
1436// API operation DescribeElasticsearchInstanceTypeLimits for usage and error information.
1437//
1438// Returned Error Types:
1439//   * BaseException
1440//   An error occurred while processing the request.
1441//
1442//   * InternalException
1443//   The request processing has failed because of an unknown error, exception
1444//   or failure (the failure is internal to the service) . Gives http status code
1445//   of 500.
1446//
1447//   * InvalidTypeException
1448//   An exception for trying to create or access sub-resource that is either invalid
1449//   or not supported. Gives http status code of 409.
1450//
1451//   * LimitExceededException
1452//   An exception for trying to create more than allowed resources or sub-resources.
1453//   Gives http status code of 409.
1454//
1455//   * ResourceNotFoundException
1456//   An exception for accessing or deleting a resource that does not exist. Gives
1457//   http status code of 400.
1458//
1459//   * ValidationException
1460//   An exception for missing / invalid input fields. Gives http status code of
1461//   400.
1462//
1463func (c *ElasticsearchService) DescribeElasticsearchInstanceTypeLimits(input *DescribeElasticsearchInstanceTypeLimitsInput) (*DescribeElasticsearchInstanceTypeLimitsOutput, error) {
1464	req, out := c.DescribeElasticsearchInstanceTypeLimitsRequest(input)
1465	return out, req.Send()
1466}
1467
1468// DescribeElasticsearchInstanceTypeLimitsWithContext is the same as DescribeElasticsearchInstanceTypeLimits with the addition of
1469// the ability to pass a context and additional request options.
1470//
1471// See DescribeElasticsearchInstanceTypeLimits for details on how to use this API operation.
1472//
1473// The context must be non-nil and will be used for request cancellation. If
1474// the context is nil a panic will occur. In the future the SDK may create
1475// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1476// for more information on using Contexts.
1477func (c *ElasticsearchService) DescribeElasticsearchInstanceTypeLimitsWithContext(ctx aws.Context, input *DescribeElasticsearchInstanceTypeLimitsInput, opts ...request.Option) (*DescribeElasticsearchInstanceTypeLimitsOutput, error) {
1478	req, out := c.DescribeElasticsearchInstanceTypeLimitsRequest(input)
1479	req.SetContext(ctx)
1480	req.ApplyOptions(opts...)
1481	return out, req.Send()
1482}
1483
1484const opDescribeInboundCrossClusterSearchConnections = "DescribeInboundCrossClusterSearchConnections"
1485
1486// DescribeInboundCrossClusterSearchConnectionsRequest generates a "aws/request.Request" representing the
1487// client's request for the DescribeInboundCrossClusterSearchConnections operation. The "output" return
1488// value will be populated with the request's response once the request completes
1489// successfully.
1490//
1491// Use "Send" method on the returned Request to send the API call to the service.
1492// the "output" return value is not valid until after Send returns without error.
1493//
1494// See DescribeInboundCrossClusterSearchConnections for more information on using the DescribeInboundCrossClusterSearchConnections
1495// API call, and error handling.
1496//
1497// This method is useful when you want to inject custom logic or configuration
1498// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1499//
1500//
1501//    // Example sending a request using the DescribeInboundCrossClusterSearchConnectionsRequest method.
1502//    req, resp := client.DescribeInboundCrossClusterSearchConnectionsRequest(params)
1503//
1504//    err := req.Send()
1505//    if err == nil { // resp is now filled
1506//        fmt.Println(resp)
1507//    }
1508func (c *ElasticsearchService) DescribeInboundCrossClusterSearchConnectionsRequest(input *DescribeInboundCrossClusterSearchConnectionsInput) (req *request.Request, output *DescribeInboundCrossClusterSearchConnectionsOutput) {
1509	op := &request.Operation{
1510		Name:       opDescribeInboundCrossClusterSearchConnections,
1511		HTTPMethod: "POST",
1512		HTTPPath:   "/2015-01-01/es/ccs/inboundConnection/search",
1513		Paginator: &request.Paginator{
1514			InputTokens:     []string{"NextToken"},
1515			OutputTokens:    []string{"NextToken"},
1516			LimitToken:      "MaxResults",
1517			TruncationToken: "",
1518		},
1519	}
1520
1521	if input == nil {
1522		input = &DescribeInboundCrossClusterSearchConnectionsInput{}
1523	}
1524
1525	output = &DescribeInboundCrossClusterSearchConnectionsOutput{}
1526	req = c.newRequest(op, input, output)
1527	return
1528}
1529
1530// DescribeInboundCrossClusterSearchConnections API operation for Amazon Elasticsearch Service.
1531//
1532// Lists all the inbound cross-cluster search connections for a destination
1533// domain.
1534//
1535// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1536// with awserr.Error's Code and Message methods to get detailed information about
1537// the error.
1538//
1539// See the AWS API reference guide for Amazon Elasticsearch Service's
1540// API operation DescribeInboundCrossClusterSearchConnections for usage and error information.
1541//
1542// Returned Error Types:
1543//   * InvalidPaginationTokenException
1544//   The request processing has failed because of invalid pagination token provided
1545//   by customer. Returns an HTTP status code of 400.
1546//
1547//   * DisabledOperationException
1548//   An error occured because the client wanted to access a not supported operation.
1549//   Gives http status code of 409.
1550//
1551func (c *ElasticsearchService) DescribeInboundCrossClusterSearchConnections(input *DescribeInboundCrossClusterSearchConnectionsInput) (*DescribeInboundCrossClusterSearchConnectionsOutput, error) {
1552	req, out := c.DescribeInboundCrossClusterSearchConnectionsRequest(input)
1553	return out, req.Send()
1554}
1555
1556// DescribeInboundCrossClusterSearchConnectionsWithContext is the same as DescribeInboundCrossClusterSearchConnections with the addition of
1557// the ability to pass a context and additional request options.
1558//
1559// See DescribeInboundCrossClusterSearchConnections for details on how to use this API operation.
1560//
1561// The context must be non-nil and will be used for request cancellation. If
1562// the context is nil a panic will occur. In the future the SDK may create
1563// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1564// for more information on using Contexts.
1565func (c *ElasticsearchService) DescribeInboundCrossClusterSearchConnectionsWithContext(ctx aws.Context, input *DescribeInboundCrossClusterSearchConnectionsInput, opts ...request.Option) (*DescribeInboundCrossClusterSearchConnectionsOutput, error) {
1566	req, out := c.DescribeInboundCrossClusterSearchConnectionsRequest(input)
1567	req.SetContext(ctx)
1568	req.ApplyOptions(opts...)
1569	return out, req.Send()
1570}
1571
1572// DescribeInboundCrossClusterSearchConnectionsPages iterates over the pages of a DescribeInboundCrossClusterSearchConnections operation,
1573// calling the "fn" function with the response data for each page. To stop
1574// iterating, return false from the fn function.
1575//
1576// See DescribeInboundCrossClusterSearchConnections method for more information on how to use this operation.
1577//
1578// Note: This operation can generate multiple requests to a service.
1579//
1580//    // Example iterating over at most 3 pages of a DescribeInboundCrossClusterSearchConnections operation.
1581//    pageNum := 0
1582//    err := client.DescribeInboundCrossClusterSearchConnectionsPages(params,
1583//        func(page *elasticsearchservice.DescribeInboundCrossClusterSearchConnectionsOutput, lastPage bool) bool {
1584//            pageNum++
1585//            fmt.Println(page)
1586//            return pageNum <= 3
1587//        })
1588//
1589func (c *ElasticsearchService) DescribeInboundCrossClusterSearchConnectionsPages(input *DescribeInboundCrossClusterSearchConnectionsInput, fn func(*DescribeInboundCrossClusterSearchConnectionsOutput, bool) bool) error {
1590	return c.DescribeInboundCrossClusterSearchConnectionsPagesWithContext(aws.BackgroundContext(), input, fn)
1591}
1592
1593// DescribeInboundCrossClusterSearchConnectionsPagesWithContext same as DescribeInboundCrossClusterSearchConnectionsPages except
1594// it takes a Context and allows setting request options on the pages.
1595//
1596// The context must be non-nil and will be used for request cancellation. If
1597// the context is nil a panic will occur. In the future the SDK may create
1598// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1599// for more information on using Contexts.
1600func (c *ElasticsearchService) DescribeInboundCrossClusterSearchConnectionsPagesWithContext(ctx aws.Context, input *DescribeInboundCrossClusterSearchConnectionsInput, fn func(*DescribeInboundCrossClusterSearchConnectionsOutput, bool) bool, opts ...request.Option) error {
1601	p := request.Pagination{
1602		NewRequest: func() (*request.Request, error) {
1603			var inCpy *DescribeInboundCrossClusterSearchConnectionsInput
1604			if input != nil {
1605				tmp := *input
1606				inCpy = &tmp
1607			}
1608			req, _ := c.DescribeInboundCrossClusterSearchConnectionsRequest(inCpy)
1609			req.SetContext(ctx)
1610			req.ApplyOptions(opts...)
1611			return req, nil
1612		},
1613	}
1614
1615	for p.Next() {
1616		if !fn(p.Page().(*DescribeInboundCrossClusterSearchConnectionsOutput), !p.HasNextPage()) {
1617			break
1618		}
1619	}
1620
1621	return p.Err()
1622}
1623
1624const opDescribeOutboundCrossClusterSearchConnections = "DescribeOutboundCrossClusterSearchConnections"
1625
1626// DescribeOutboundCrossClusterSearchConnectionsRequest generates a "aws/request.Request" representing the
1627// client's request for the DescribeOutboundCrossClusterSearchConnections operation. The "output" return
1628// value will be populated with the request's response once the request completes
1629// successfully.
1630//
1631// Use "Send" method on the returned Request to send the API call to the service.
1632// the "output" return value is not valid until after Send returns without error.
1633//
1634// See DescribeOutboundCrossClusterSearchConnections for more information on using the DescribeOutboundCrossClusterSearchConnections
1635// API call, and error handling.
1636//
1637// This method is useful when you want to inject custom logic or configuration
1638// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1639//
1640//
1641//    // Example sending a request using the DescribeOutboundCrossClusterSearchConnectionsRequest method.
1642//    req, resp := client.DescribeOutboundCrossClusterSearchConnectionsRequest(params)
1643//
1644//    err := req.Send()
1645//    if err == nil { // resp is now filled
1646//        fmt.Println(resp)
1647//    }
1648func (c *ElasticsearchService) DescribeOutboundCrossClusterSearchConnectionsRequest(input *DescribeOutboundCrossClusterSearchConnectionsInput) (req *request.Request, output *DescribeOutboundCrossClusterSearchConnectionsOutput) {
1649	op := &request.Operation{
1650		Name:       opDescribeOutboundCrossClusterSearchConnections,
1651		HTTPMethod: "POST",
1652		HTTPPath:   "/2015-01-01/es/ccs/outboundConnection/search",
1653		Paginator: &request.Paginator{
1654			InputTokens:     []string{"NextToken"},
1655			OutputTokens:    []string{"NextToken"},
1656			LimitToken:      "MaxResults",
1657			TruncationToken: "",
1658		},
1659	}
1660
1661	if input == nil {
1662		input = &DescribeOutboundCrossClusterSearchConnectionsInput{}
1663	}
1664
1665	output = &DescribeOutboundCrossClusterSearchConnectionsOutput{}
1666	req = c.newRequest(op, input, output)
1667	return
1668}
1669
1670// DescribeOutboundCrossClusterSearchConnections API operation for Amazon Elasticsearch Service.
1671//
1672// Lists all the outbound cross-cluster search connections for a source domain.
1673//
1674// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1675// with awserr.Error's Code and Message methods to get detailed information about
1676// the error.
1677//
1678// See the AWS API reference guide for Amazon Elasticsearch Service's
1679// API operation DescribeOutboundCrossClusterSearchConnections for usage and error information.
1680//
1681// Returned Error Types:
1682//   * InvalidPaginationTokenException
1683//   The request processing has failed because of invalid pagination token provided
1684//   by customer. Returns an HTTP status code of 400.
1685//
1686//   * DisabledOperationException
1687//   An error occured because the client wanted to access a not supported operation.
1688//   Gives http status code of 409.
1689//
1690func (c *ElasticsearchService) DescribeOutboundCrossClusterSearchConnections(input *DescribeOutboundCrossClusterSearchConnectionsInput) (*DescribeOutboundCrossClusterSearchConnectionsOutput, error) {
1691	req, out := c.DescribeOutboundCrossClusterSearchConnectionsRequest(input)
1692	return out, req.Send()
1693}
1694
1695// DescribeOutboundCrossClusterSearchConnectionsWithContext is the same as DescribeOutboundCrossClusterSearchConnections with the addition of
1696// the ability to pass a context and additional request options.
1697//
1698// See DescribeOutboundCrossClusterSearchConnections for details on how to use this API operation.
1699//
1700// The context must be non-nil and will be used for request cancellation. If
1701// the context is nil a panic will occur. In the future the SDK may create
1702// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1703// for more information on using Contexts.
1704func (c *ElasticsearchService) DescribeOutboundCrossClusterSearchConnectionsWithContext(ctx aws.Context, input *DescribeOutboundCrossClusterSearchConnectionsInput, opts ...request.Option) (*DescribeOutboundCrossClusterSearchConnectionsOutput, error) {
1705	req, out := c.DescribeOutboundCrossClusterSearchConnectionsRequest(input)
1706	req.SetContext(ctx)
1707	req.ApplyOptions(opts...)
1708	return out, req.Send()
1709}
1710
1711// DescribeOutboundCrossClusterSearchConnectionsPages iterates over the pages of a DescribeOutboundCrossClusterSearchConnections operation,
1712// calling the "fn" function with the response data for each page. To stop
1713// iterating, return false from the fn function.
1714//
1715// See DescribeOutboundCrossClusterSearchConnections method for more information on how to use this operation.
1716//
1717// Note: This operation can generate multiple requests to a service.
1718//
1719//    // Example iterating over at most 3 pages of a DescribeOutboundCrossClusterSearchConnections operation.
1720//    pageNum := 0
1721//    err := client.DescribeOutboundCrossClusterSearchConnectionsPages(params,
1722//        func(page *elasticsearchservice.DescribeOutboundCrossClusterSearchConnectionsOutput, lastPage bool) bool {
1723//            pageNum++
1724//            fmt.Println(page)
1725//            return pageNum <= 3
1726//        })
1727//
1728func (c *ElasticsearchService) DescribeOutboundCrossClusterSearchConnectionsPages(input *DescribeOutboundCrossClusterSearchConnectionsInput, fn func(*DescribeOutboundCrossClusterSearchConnectionsOutput, bool) bool) error {
1729	return c.DescribeOutboundCrossClusterSearchConnectionsPagesWithContext(aws.BackgroundContext(), input, fn)
1730}
1731
1732// DescribeOutboundCrossClusterSearchConnectionsPagesWithContext same as DescribeOutboundCrossClusterSearchConnectionsPages except
1733// it takes a Context and allows setting request options on the pages.
1734//
1735// The context must be non-nil and will be used for request cancellation. If
1736// the context is nil a panic will occur. In the future the SDK may create
1737// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1738// for more information on using Contexts.
1739func (c *ElasticsearchService) DescribeOutboundCrossClusterSearchConnectionsPagesWithContext(ctx aws.Context, input *DescribeOutboundCrossClusterSearchConnectionsInput, fn func(*DescribeOutboundCrossClusterSearchConnectionsOutput, bool) bool, opts ...request.Option) error {
1740	p := request.Pagination{
1741		NewRequest: func() (*request.Request, error) {
1742			var inCpy *DescribeOutboundCrossClusterSearchConnectionsInput
1743			if input != nil {
1744				tmp := *input
1745				inCpy = &tmp
1746			}
1747			req, _ := c.DescribeOutboundCrossClusterSearchConnectionsRequest(inCpy)
1748			req.SetContext(ctx)
1749			req.ApplyOptions(opts...)
1750			return req, nil
1751		},
1752	}
1753
1754	for p.Next() {
1755		if !fn(p.Page().(*DescribeOutboundCrossClusterSearchConnectionsOutput), !p.HasNextPage()) {
1756			break
1757		}
1758	}
1759
1760	return p.Err()
1761}
1762
1763const opDescribePackages = "DescribePackages"
1764
1765// DescribePackagesRequest generates a "aws/request.Request" representing the
1766// client's request for the DescribePackages operation. The "output" return
1767// value will be populated with the request's response once the request completes
1768// successfully.
1769//
1770// Use "Send" method on the returned Request to send the API call to the service.
1771// the "output" return value is not valid until after Send returns without error.
1772//
1773// See DescribePackages for more information on using the DescribePackages
1774// API call, and error handling.
1775//
1776// This method is useful when you want to inject custom logic or configuration
1777// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1778//
1779//
1780//    // Example sending a request using the DescribePackagesRequest method.
1781//    req, resp := client.DescribePackagesRequest(params)
1782//
1783//    err := req.Send()
1784//    if err == nil { // resp is now filled
1785//        fmt.Println(resp)
1786//    }
1787func (c *ElasticsearchService) DescribePackagesRequest(input *DescribePackagesInput) (req *request.Request, output *DescribePackagesOutput) {
1788	op := &request.Operation{
1789		Name:       opDescribePackages,
1790		HTTPMethod: "POST",
1791		HTTPPath:   "/2015-01-01/packages/describe",
1792		Paginator: &request.Paginator{
1793			InputTokens:     []string{"NextToken"},
1794			OutputTokens:    []string{"NextToken"},
1795			LimitToken:      "MaxResults",
1796			TruncationToken: "",
1797		},
1798	}
1799
1800	if input == nil {
1801		input = &DescribePackagesInput{}
1802	}
1803
1804	output = &DescribePackagesOutput{}
1805	req = c.newRequest(op, input, output)
1806	return
1807}
1808
1809// DescribePackages API operation for Amazon Elasticsearch Service.
1810//
1811// Describes all packages available to Amazon ES. Includes options for filtering,
1812// limiting the number of results, and pagination.
1813//
1814// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1815// with awserr.Error's Code and Message methods to get detailed information about
1816// the error.
1817//
1818// See the AWS API reference guide for Amazon Elasticsearch Service's
1819// API operation DescribePackages for usage and error information.
1820//
1821// Returned Error Types:
1822//   * BaseException
1823//   An error occurred while processing the request.
1824//
1825//   * InternalException
1826//   The request processing has failed because of an unknown error, exception
1827//   or failure (the failure is internal to the service) . Gives http status code
1828//   of 500.
1829//
1830//   * ResourceNotFoundException
1831//   An exception for accessing or deleting a resource that does not exist. Gives
1832//   http status code of 400.
1833//
1834//   * AccessDeniedException
1835//   An error occurred because user does not have permissions to access the resource.
1836//   Returns HTTP status code 403.
1837//
1838//   * ValidationException
1839//   An exception for missing / invalid input fields. Gives http status code of
1840//   400.
1841//
1842func (c *ElasticsearchService) DescribePackages(input *DescribePackagesInput) (*DescribePackagesOutput, error) {
1843	req, out := c.DescribePackagesRequest(input)
1844	return out, req.Send()
1845}
1846
1847// DescribePackagesWithContext is the same as DescribePackages with the addition of
1848// the ability to pass a context and additional request options.
1849//
1850// See DescribePackages for details on how to use this API operation.
1851//
1852// The context must be non-nil and will be used for request cancellation. If
1853// the context is nil a panic will occur. In the future the SDK may create
1854// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1855// for more information on using Contexts.
1856func (c *ElasticsearchService) DescribePackagesWithContext(ctx aws.Context, input *DescribePackagesInput, opts ...request.Option) (*DescribePackagesOutput, error) {
1857	req, out := c.DescribePackagesRequest(input)
1858	req.SetContext(ctx)
1859	req.ApplyOptions(opts...)
1860	return out, req.Send()
1861}
1862
1863// DescribePackagesPages iterates over the pages of a DescribePackages operation,
1864// calling the "fn" function with the response data for each page. To stop
1865// iterating, return false from the fn function.
1866//
1867// See DescribePackages method for more information on how to use this operation.
1868//
1869// Note: This operation can generate multiple requests to a service.
1870//
1871//    // Example iterating over at most 3 pages of a DescribePackages operation.
1872//    pageNum := 0
1873//    err := client.DescribePackagesPages(params,
1874//        func(page *elasticsearchservice.DescribePackagesOutput, lastPage bool) bool {
1875//            pageNum++
1876//            fmt.Println(page)
1877//            return pageNum <= 3
1878//        })
1879//
1880func (c *ElasticsearchService) DescribePackagesPages(input *DescribePackagesInput, fn func(*DescribePackagesOutput, bool) bool) error {
1881	return c.DescribePackagesPagesWithContext(aws.BackgroundContext(), input, fn)
1882}
1883
1884// DescribePackagesPagesWithContext same as DescribePackagesPages except
1885// it takes a Context and allows setting request options on the pages.
1886//
1887// The context must be non-nil and will be used for request cancellation. If
1888// the context is nil a panic will occur. In the future the SDK may create
1889// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1890// for more information on using Contexts.
1891func (c *ElasticsearchService) DescribePackagesPagesWithContext(ctx aws.Context, input *DescribePackagesInput, fn func(*DescribePackagesOutput, bool) bool, opts ...request.Option) error {
1892	p := request.Pagination{
1893		NewRequest: func() (*request.Request, error) {
1894			var inCpy *DescribePackagesInput
1895			if input != nil {
1896				tmp := *input
1897				inCpy = &tmp
1898			}
1899			req, _ := c.DescribePackagesRequest(inCpy)
1900			req.SetContext(ctx)
1901			req.ApplyOptions(opts...)
1902			return req, nil
1903		},
1904	}
1905
1906	for p.Next() {
1907		if !fn(p.Page().(*DescribePackagesOutput), !p.HasNextPage()) {
1908			break
1909		}
1910	}
1911
1912	return p.Err()
1913}
1914
1915const opDescribeReservedElasticsearchInstanceOfferings = "DescribeReservedElasticsearchInstanceOfferings"
1916
1917// DescribeReservedElasticsearchInstanceOfferingsRequest generates a "aws/request.Request" representing the
1918// client's request for the DescribeReservedElasticsearchInstanceOfferings operation. The "output" return
1919// value will be populated with the request's response once the request completes
1920// successfully.
1921//
1922// Use "Send" method on the returned Request to send the API call to the service.
1923// the "output" return value is not valid until after Send returns without error.
1924//
1925// See DescribeReservedElasticsearchInstanceOfferings for more information on using the DescribeReservedElasticsearchInstanceOfferings
1926// API call, and error handling.
1927//
1928// This method is useful when you want to inject custom logic or configuration
1929// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1930//
1931//
1932//    // Example sending a request using the DescribeReservedElasticsearchInstanceOfferingsRequest method.
1933//    req, resp := client.DescribeReservedElasticsearchInstanceOfferingsRequest(params)
1934//
1935//    err := req.Send()
1936//    if err == nil { // resp is now filled
1937//        fmt.Println(resp)
1938//    }
1939func (c *ElasticsearchService) DescribeReservedElasticsearchInstanceOfferingsRequest(input *DescribeReservedElasticsearchInstanceOfferingsInput) (req *request.Request, output *DescribeReservedElasticsearchInstanceOfferingsOutput) {
1940	op := &request.Operation{
1941		Name:       opDescribeReservedElasticsearchInstanceOfferings,
1942		HTTPMethod: "GET",
1943		HTTPPath:   "/2015-01-01/es/reservedInstanceOfferings",
1944		Paginator: &request.Paginator{
1945			InputTokens:     []string{"NextToken"},
1946			OutputTokens:    []string{"NextToken"},
1947			LimitToken:      "MaxResults",
1948			TruncationToken: "",
1949		},
1950	}
1951
1952	if input == nil {
1953		input = &DescribeReservedElasticsearchInstanceOfferingsInput{}
1954	}
1955
1956	output = &DescribeReservedElasticsearchInstanceOfferingsOutput{}
1957	req = c.newRequest(op, input, output)
1958	return
1959}
1960
1961// DescribeReservedElasticsearchInstanceOfferings API operation for Amazon Elasticsearch Service.
1962//
1963// Lists available reserved Elasticsearch instance offerings.
1964//
1965// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1966// with awserr.Error's Code and Message methods to get detailed information about
1967// the error.
1968//
1969// See the AWS API reference guide for Amazon Elasticsearch Service's
1970// API operation DescribeReservedElasticsearchInstanceOfferings for usage and error information.
1971//
1972// Returned Error Types:
1973//   * ResourceNotFoundException
1974//   An exception for accessing or deleting a resource that does not exist. Gives
1975//   http status code of 400.
1976//
1977//   * ValidationException
1978//   An exception for missing / invalid input fields. Gives http status code of
1979//   400.
1980//
1981//   * DisabledOperationException
1982//   An error occured because the client wanted to access a not supported operation.
1983//   Gives http status code of 409.
1984//
1985//   * InternalException
1986//   The request processing has failed because of an unknown error, exception
1987//   or failure (the failure is internal to the service) . Gives http status code
1988//   of 500.
1989//
1990func (c *ElasticsearchService) DescribeReservedElasticsearchInstanceOfferings(input *DescribeReservedElasticsearchInstanceOfferingsInput) (*DescribeReservedElasticsearchInstanceOfferingsOutput, error) {
1991	req, out := c.DescribeReservedElasticsearchInstanceOfferingsRequest(input)
1992	return out, req.Send()
1993}
1994
1995// DescribeReservedElasticsearchInstanceOfferingsWithContext is the same as DescribeReservedElasticsearchInstanceOfferings with the addition of
1996// the ability to pass a context and additional request options.
1997//
1998// See DescribeReservedElasticsearchInstanceOfferings 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) DescribeReservedElasticsearchInstanceOfferingsWithContext(ctx aws.Context, input *DescribeReservedElasticsearchInstanceOfferingsInput, opts ...request.Option) (*DescribeReservedElasticsearchInstanceOfferingsOutput, error) {
2005	req, out := c.DescribeReservedElasticsearchInstanceOfferingsRequest(input)
2006	req.SetContext(ctx)
2007	req.ApplyOptions(opts...)
2008	return out, req.Send()
2009}
2010
2011// DescribeReservedElasticsearchInstanceOfferingsPages iterates over the pages of a DescribeReservedElasticsearchInstanceOfferings 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 DescribeReservedElasticsearchInstanceOfferings 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 DescribeReservedElasticsearchInstanceOfferings operation.
2020//    pageNum := 0
2021//    err := client.DescribeReservedElasticsearchInstanceOfferingsPages(params,
2022//        func(page *elasticsearchservice.DescribeReservedElasticsearchInstanceOfferingsOutput, lastPage bool) bool {
2023//            pageNum++
2024//            fmt.Println(page)
2025//            return pageNum <= 3
2026//        })
2027//
2028func (c *ElasticsearchService) DescribeReservedElasticsearchInstanceOfferingsPages(input *DescribeReservedElasticsearchInstanceOfferingsInput, fn func(*DescribeReservedElasticsearchInstanceOfferingsOutput, bool) bool) error {
2029	return c.DescribeReservedElasticsearchInstanceOfferingsPagesWithContext(aws.BackgroundContext(), input, fn)
2030}
2031
2032// DescribeReservedElasticsearchInstanceOfferingsPagesWithContext same as DescribeReservedElasticsearchInstanceOfferingsPages 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) DescribeReservedElasticsearchInstanceOfferingsPagesWithContext(ctx aws.Context, input *DescribeReservedElasticsearchInstanceOfferingsInput, fn func(*DescribeReservedElasticsearchInstanceOfferingsOutput, bool) bool, opts ...request.Option) error {
2040	p := request.Pagination{
2041		NewRequest: func() (*request.Request, error) {
2042			var inCpy *DescribeReservedElasticsearchInstanceOfferingsInput
2043			if input != nil {
2044				tmp := *input
2045				inCpy = &tmp
2046			}
2047			req, _ := c.DescribeReservedElasticsearchInstanceOfferingsRequest(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().(*DescribeReservedElasticsearchInstanceOfferingsOutput), !p.HasNextPage()) {
2056			break
2057		}
2058	}
2059
2060	return p.Err()
2061}
2062
2063const opDescribeReservedElasticsearchInstances = "DescribeReservedElasticsearchInstances"
2064
2065// DescribeReservedElasticsearchInstancesRequest generates a "aws/request.Request" representing the
2066// client's request for the DescribeReservedElasticsearchInstances 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 DescribeReservedElasticsearchInstances for more information on using the DescribeReservedElasticsearchInstances
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 DescribeReservedElasticsearchInstancesRequest method.
2081//    req, resp := client.DescribeReservedElasticsearchInstancesRequest(params)
2082//
2083//    err := req.Send()
2084//    if err == nil { // resp is now filled
2085//        fmt.Println(resp)
2086//    }
2087func (c *ElasticsearchService) DescribeReservedElasticsearchInstancesRequest(input *DescribeReservedElasticsearchInstancesInput) (req *request.Request, output *DescribeReservedElasticsearchInstancesOutput) {
2088	op := &request.Operation{
2089		Name:       opDescribeReservedElasticsearchInstances,
2090		HTTPMethod: "GET",
2091		HTTPPath:   "/2015-01-01/es/reservedInstances",
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 = &DescribeReservedElasticsearchInstancesInput{}
2102	}
2103
2104	output = &DescribeReservedElasticsearchInstancesOutput{}
2105	req = c.newRequest(op, input, output)
2106	return
2107}
2108
2109// DescribeReservedElasticsearchInstances API operation for Amazon Elasticsearch Service.
2110//
2111// Returns information about reserved Elasticsearch instances for this account.
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 DescribeReservedElasticsearchInstances 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//   * InternalException
2126//   The request processing has failed because of an unknown error, exception
2127//   or failure (the failure is internal to the service) . Gives http status code
2128//   of 500.
2129//
2130//   * ValidationException
2131//   An exception for missing / invalid input fields. Gives http status code of
2132//   400.
2133//
2134//   * DisabledOperationException
2135//   An error occured because the client wanted to access a not supported operation.
2136//   Gives http status code of 409.
2137//
2138func (c *ElasticsearchService) DescribeReservedElasticsearchInstances(input *DescribeReservedElasticsearchInstancesInput) (*DescribeReservedElasticsearchInstancesOutput, error) {
2139	req, out := c.DescribeReservedElasticsearchInstancesRequest(input)
2140	return out, req.Send()
2141}
2142
2143// DescribeReservedElasticsearchInstancesWithContext is the same as DescribeReservedElasticsearchInstances with the addition of
2144// the ability to pass a context and additional request options.
2145//
2146// See DescribeReservedElasticsearchInstances 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) DescribeReservedElasticsearchInstancesWithContext(ctx aws.Context, input *DescribeReservedElasticsearchInstancesInput, opts ...request.Option) (*DescribeReservedElasticsearchInstancesOutput, error) {
2153	req, out := c.DescribeReservedElasticsearchInstancesRequest(input)
2154	req.SetContext(ctx)
2155	req.ApplyOptions(opts...)
2156	return out, req.Send()
2157}
2158
2159// DescribeReservedElasticsearchInstancesPages iterates over the pages of a DescribeReservedElasticsearchInstances 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 DescribeReservedElasticsearchInstances 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 DescribeReservedElasticsearchInstances operation.
2168//    pageNum := 0
2169//    err := client.DescribeReservedElasticsearchInstancesPages(params,
2170//        func(page *elasticsearchservice.DescribeReservedElasticsearchInstancesOutput, lastPage bool) bool {
2171//            pageNum++
2172//            fmt.Println(page)
2173//            return pageNum <= 3
2174//        })
2175//
2176func (c *ElasticsearchService) DescribeReservedElasticsearchInstancesPages(input *DescribeReservedElasticsearchInstancesInput, fn func(*DescribeReservedElasticsearchInstancesOutput, bool) bool) error {
2177	return c.DescribeReservedElasticsearchInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
2178}
2179
2180// DescribeReservedElasticsearchInstancesPagesWithContext same as DescribeReservedElasticsearchInstancesPages 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) DescribeReservedElasticsearchInstancesPagesWithContext(ctx aws.Context, input *DescribeReservedElasticsearchInstancesInput, fn func(*DescribeReservedElasticsearchInstancesOutput, bool) bool, opts ...request.Option) error {
2188	p := request.Pagination{
2189		NewRequest: func() (*request.Request, error) {
2190			var inCpy *DescribeReservedElasticsearchInstancesInput
2191			if input != nil {
2192				tmp := *input
2193				inCpy = &tmp
2194			}
2195			req, _ := c.DescribeReservedElasticsearchInstancesRequest(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().(*DescribeReservedElasticsearchInstancesOutput), !p.HasNextPage()) {
2204			break
2205		}
2206	}
2207
2208	return p.Err()
2209}
2210
2211const opDissociatePackage = "DissociatePackage"
2212
2213// DissociatePackageRequest generates a "aws/request.Request" representing the
2214// client's request for the DissociatePackage 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 DissociatePackage for more information on using the DissociatePackage
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 DissociatePackageRequest method.
2229//    req, resp := client.DissociatePackageRequest(params)
2230//
2231//    err := req.Send()
2232//    if err == nil { // resp is now filled
2233//        fmt.Println(resp)
2234//    }
2235func (c *ElasticsearchService) DissociatePackageRequest(input *DissociatePackageInput) (req *request.Request, output *DissociatePackageOutput) {
2236	op := &request.Operation{
2237		Name:       opDissociatePackage,
2238		HTTPMethod: "POST",
2239		HTTPPath:   "/2015-01-01/packages/dissociate/{PackageID}/{DomainName}",
2240	}
2241
2242	if input == nil {
2243		input = &DissociatePackageInput{}
2244	}
2245
2246	output = &DissociatePackageOutput{}
2247	req = c.newRequest(op, input, output)
2248	return
2249}
2250
2251// DissociatePackage API operation for Amazon Elasticsearch Service.
2252//
2253// Dissociates a package from the Amazon ES domain.
2254//
2255// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2256// with awserr.Error's Code and Message methods to get detailed information about
2257// the error.
2258//
2259// See the AWS API reference guide for Amazon Elasticsearch Service's
2260// API operation DissociatePackage for usage and error information.
2261//
2262// Returned Error Types:
2263//   * BaseException
2264//   An error occurred while processing the request.
2265//
2266//   * InternalException
2267//   The request processing has failed because of an unknown error, exception
2268//   or failure (the failure is internal to the service) . Gives http status code
2269//   of 500.
2270//
2271//   * ResourceNotFoundException
2272//   An exception for accessing or deleting a resource that does not exist. Gives
2273//   http status code of 400.
2274//
2275//   * AccessDeniedException
2276//   An error occurred because user does not have permissions to access the resource.
2277//   Returns HTTP status code 403.
2278//
2279//   * ValidationException
2280//   An exception for missing / invalid input fields. Gives http status code of
2281//   400.
2282//
2283//   * ConflictException
2284//   An error occurred because the client attempts to remove a resource that is
2285//   currently in use. Returns HTTP status code 409.
2286//
2287func (c *ElasticsearchService) DissociatePackage(input *DissociatePackageInput) (*DissociatePackageOutput, error) {
2288	req, out := c.DissociatePackageRequest(input)
2289	return out, req.Send()
2290}
2291
2292// DissociatePackageWithContext is the same as DissociatePackage with the addition of
2293// the ability to pass a context and additional request options.
2294//
2295// See DissociatePackage for details on how to use this API operation.
2296//
2297// The context must be non-nil and will be used for request cancellation. If
2298// the context is nil a panic will occur. In the future the SDK may create
2299// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2300// for more information on using Contexts.
2301func (c *ElasticsearchService) DissociatePackageWithContext(ctx aws.Context, input *DissociatePackageInput, opts ...request.Option) (*DissociatePackageOutput, error) {
2302	req, out := c.DissociatePackageRequest(input)
2303	req.SetContext(ctx)
2304	req.ApplyOptions(opts...)
2305	return out, req.Send()
2306}
2307
2308const opGetCompatibleElasticsearchVersions = "GetCompatibleElasticsearchVersions"
2309
2310// GetCompatibleElasticsearchVersionsRequest generates a "aws/request.Request" representing the
2311// client's request for the GetCompatibleElasticsearchVersions operation. The "output" return
2312// value will be populated with the request's response once the request completes
2313// successfully.
2314//
2315// Use "Send" method on the returned Request to send the API call to the service.
2316// the "output" return value is not valid until after Send returns without error.
2317//
2318// See GetCompatibleElasticsearchVersions for more information on using the GetCompatibleElasticsearchVersions
2319// API call, and error handling.
2320//
2321// This method is useful when you want to inject custom logic or configuration
2322// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2323//
2324//
2325//    // Example sending a request using the GetCompatibleElasticsearchVersionsRequest method.
2326//    req, resp := client.GetCompatibleElasticsearchVersionsRequest(params)
2327//
2328//    err := req.Send()
2329//    if err == nil { // resp is now filled
2330//        fmt.Println(resp)
2331//    }
2332func (c *ElasticsearchService) GetCompatibleElasticsearchVersionsRequest(input *GetCompatibleElasticsearchVersionsInput) (req *request.Request, output *GetCompatibleElasticsearchVersionsOutput) {
2333	op := &request.Operation{
2334		Name:       opGetCompatibleElasticsearchVersions,
2335		HTTPMethod: "GET",
2336		HTTPPath:   "/2015-01-01/es/compatibleVersions",
2337	}
2338
2339	if input == nil {
2340		input = &GetCompatibleElasticsearchVersionsInput{}
2341	}
2342
2343	output = &GetCompatibleElasticsearchVersionsOutput{}
2344	req = c.newRequest(op, input, output)
2345	return
2346}
2347
2348// GetCompatibleElasticsearchVersions API operation for Amazon Elasticsearch Service.
2349//
2350// Returns a list of upgrade compatible Elastisearch versions. You can optionally
2351// pass a DomainName to get all upgrade compatible Elasticsearch versions for
2352// that specific domain.
2353//
2354// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2355// with awserr.Error's Code and Message methods to get detailed information about
2356// the error.
2357//
2358// See the AWS API reference guide for Amazon Elasticsearch Service's
2359// API operation GetCompatibleElasticsearchVersions for usage and error information.
2360//
2361// Returned Error Types:
2362//   * BaseException
2363//   An error occurred while processing the request.
2364//
2365//   * ResourceNotFoundException
2366//   An exception for accessing or deleting a resource that does not exist. Gives
2367//   http status code of 400.
2368//
2369//   * DisabledOperationException
2370//   An error occured because the client wanted to access a not supported operation.
2371//   Gives http status code of 409.
2372//
2373//   * ValidationException
2374//   An exception for missing / invalid input fields. Gives http status code of
2375//   400.
2376//
2377//   * InternalException
2378//   The request processing has failed because of an unknown error, exception
2379//   or failure (the failure is internal to the service) . Gives http status code
2380//   of 500.
2381//
2382func (c *ElasticsearchService) GetCompatibleElasticsearchVersions(input *GetCompatibleElasticsearchVersionsInput) (*GetCompatibleElasticsearchVersionsOutput, error) {
2383	req, out := c.GetCompatibleElasticsearchVersionsRequest(input)
2384	return out, req.Send()
2385}
2386
2387// GetCompatibleElasticsearchVersionsWithContext is the same as GetCompatibleElasticsearchVersions with the addition of
2388// the ability to pass a context and additional request options.
2389//
2390// See GetCompatibleElasticsearchVersions for details on how to use this API operation.
2391//
2392// The context must be non-nil and will be used for request cancellation. If
2393// the context is nil a panic will occur. In the future the SDK may create
2394// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2395// for more information on using Contexts.
2396func (c *ElasticsearchService) GetCompatibleElasticsearchVersionsWithContext(ctx aws.Context, input *GetCompatibleElasticsearchVersionsInput, opts ...request.Option) (*GetCompatibleElasticsearchVersionsOutput, error) {
2397	req, out := c.GetCompatibleElasticsearchVersionsRequest(input)
2398	req.SetContext(ctx)
2399	req.ApplyOptions(opts...)
2400	return out, req.Send()
2401}
2402
2403const opGetUpgradeHistory = "GetUpgradeHistory"
2404
2405// GetUpgradeHistoryRequest generates a "aws/request.Request" representing the
2406// client's request for the GetUpgradeHistory operation. The "output" return
2407// value will be populated with the request's response once the request completes
2408// successfully.
2409//
2410// Use "Send" method on the returned Request to send the API call to the service.
2411// the "output" return value is not valid until after Send returns without error.
2412//
2413// See GetUpgradeHistory for more information on using the GetUpgradeHistory
2414// API call, and error handling.
2415//
2416// This method is useful when you want to inject custom logic or configuration
2417// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2418//
2419//
2420//    // Example sending a request using the GetUpgradeHistoryRequest method.
2421//    req, resp := client.GetUpgradeHistoryRequest(params)
2422//
2423//    err := req.Send()
2424//    if err == nil { // resp is now filled
2425//        fmt.Println(resp)
2426//    }
2427func (c *ElasticsearchService) GetUpgradeHistoryRequest(input *GetUpgradeHistoryInput) (req *request.Request, output *GetUpgradeHistoryOutput) {
2428	op := &request.Operation{
2429		Name:       opGetUpgradeHistory,
2430		HTTPMethod: "GET",
2431		HTTPPath:   "/2015-01-01/es/upgradeDomain/{DomainName}/history",
2432		Paginator: &request.Paginator{
2433			InputTokens:     []string{"NextToken"},
2434			OutputTokens:    []string{"NextToken"},
2435			LimitToken:      "MaxResults",
2436			TruncationToken: "",
2437		},
2438	}
2439
2440	if input == nil {
2441		input = &GetUpgradeHistoryInput{}
2442	}
2443
2444	output = &GetUpgradeHistoryOutput{}
2445	req = c.newRequest(op, input, output)
2446	return
2447}
2448
2449// GetUpgradeHistory API operation for Amazon Elasticsearch Service.
2450//
2451// Retrieves the complete history of the last 10 upgrades that were performed
2452// on the domain.
2453//
2454// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2455// with awserr.Error's Code and Message methods to get detailed information about
2456// the error.
2457//
2458// See the AWS API reference guide for Amazon Elasticsearch Service's
2459// API operation GetUpgradeHistory for usage and error information.
2460//
2461// Returned Error Types:
2462//   * BaseException
2463//   An error occurred while processing the request.
2464//
2465//   * ResourceNotFoundException
2466//   An exception for accessing or deleting a resource that does not exist. Gives
2467//   http status code of 400.
2468//
2469//   * DisabledOperationException
2470//   An error occured because the client wanted to access a not supported operation.
2471//   Gives http status code of 409.
2472//
2473//   * ValidationException
2474//   An exception for missing / invalid input fields. Gives http status code of
2475//   400.
2476//
2477//   * InternalException
2478//   The request processing has failed because of an unknown error, exception
2479//   or failure (the failure is internal to the service) . Gives http status code
2480//   of 500.
2481//
2482func (c *ElasticsearchService) GetUpgradeHistory(input *GetUpgradeHistoryInput) (*GetUpgradeHistoryOutput, error) {
2483	req, out := c.GetUpgradeHistoryRequest(input)
2484	return out, req.Send()
2485}
2486
2487// GetUpgradeHistoryWithContext is the same as GetUpgradeHistory with the addition of
2488// the ability to pass a context and additional request options.
2489//
2490// See GetUpgradeHistory for details on how to use this API operation.
2491//
2492// The context must be non-nil and will be used for request cancellation. If
2493// the context is nil a panic will occur. In the future the SDK may create
2494// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2495// for more information on using Contexts.
2496func (c *ElasticsearchService) GetUpgradeHistoryWithContext(ctx aws.Context, input *GetUpgradeHistoryInput, opts ...request.Option) (*GetUpgradeHistoryOutput, error) {
2497	req, out := c.GetUpgradeHistoryRequest(input)
2498	req.SetContext(ctx)
2499	req.ApplyOptions(opts...)
2500	return out, req.Send()
2501}
2502
2503// GetUpgradeHistoryPages iterates over the pages of a GetUpgradeHistory operation,
2504// calling the "fn" function with the response data for each page. To stop
2505// iterating, return false from the fn function.
2506//
2507// See GetUpgradeHistory method for more information on how to use this operation.
2508//
2509// Note: This operation can generate multiple requests to a service.
2510//
2511//    // Example iterating over at most 3 pages of a GetUpgradeHistory operation.
2512//    pageNum := 0
2513//    err := client.GetUpgradeHistoryPages(params,
2514//        func(page *elasticsearchservice.GetUpgradeHistoryOutput, lastPage bool) bool {
2515//            pageNum++
2516//            fmt.Println(page)
2517//            return pageNum <= 3
2518//        })
2519//
2520func (c *ElasticsearchService) GetUpgradeHistoryPages(input *GetUpgradeHistoryInput, fn func(*GetUpgradeHistoryOutput, bool) bool) error {
2521	return c.GetUpgradeHistoryPagesWithContext(aws.BackgroundContext(), input, fn)
2522}
2523
2524// GetUpgradeHistoryPagesWithContext same as GetUpgradeHistoryPages except
2525// it takes a Context and allows setting request options on the pages.
2526//
2527// The context must be non-nil and will be used for request cancellation. If
2528// the context is nil a panic will occur. In the future the SDK may create
2529// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2530// for more information on using Contexts.
2531func (c *ElasticsearchService) GetUpgradeHistoryPagesWithContext(ctx aws.Context, input *GetUpgradeHistoryInput, fn func(*GetUpgradeHistoryOutput, bool) bool, opts ...request.Option) error {
2532	p := request.Pagination{
2533		NewRequest: func() (*request.Request, error) {
2534			var inCpy *GetUpgradeHistoryInput
2535			if input != nil {
2536				tmp := *input
2537				inCpy = &tmp
2538			}
2539			req, _ := c.GetUpgradeHistoryRequest(inCpy)
2540			req.SetContext(ctx)
2541			req.ApplyOptions(opts...)
2542			return req, nil
2543		},
2544	}
2545
2546	for p.Next() {
2547		if !fn(p.Page().(*GetUpgradeHistoryOutput), !p.HasNextPage()) {
2548			break
2549		}
2550	}
2551
2552	return p.Err()
2553}
2554
2555const opGetUpgradeStatus = "GetUpgradeStatus"
2556
2557// GetUpgradeStatusRequest generates a "aws/request.Request" representing the
2558// client's request for the GetUpgradeStatus operation. The "output" return
2559// value will be populated with the request's response once the request completes
2560// successfully.
2561//
2562// Use "Send" method on the returned Request to send the API call to the service.
2563// the "output" return value is not valid until after Send returns without error.
2564//
2565// See GetUpgradeStatus for more information on using the GetUpgradeStatus
2566// API call, and error handling.
2567//
2568// This method is useful when you want to inject custom logic or configuration
2569// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2570//
2571//
2572//    // Example sending a request using the GetUpgradeStatusRequest method.
2573//    req, resp := client.GetUpgradeStatusRequest(params)
2574//
2575//    err := req.Send()
2576//    if err == nil { // resp is now filled
2577//        fmt.Println(resp)
2578//    }
2579func (c *ElasticsearchService) GetUpgradeStatusRequest(input *GetUpgradeStatusInput) (req *request.Request, output *GetUpgradeStatusOutput) {
2580	op := &request.Operation{
2581		Name:       opGetUpgradeStatus,
2582		HTTPMethod: "GET",
2583		HTTPPath:   "/2015-01-01/es/upgradeDomain/{DomainName}/status",
2584	}
2585
2586	if input == nil {
2587		input = &GetUpgradeStatusInput{}
2588	}
2589
2590	output = &GetUpgradeStatusOutput{}
2591	req = c.newRequest(op, input, output)
2592	return
2593}
2594
2595// GetUpgradeStatus API operation for Amazon Elasticsearch Service.
2596//
2597// Retrieves the latest status of the last upgrade or upgrade eligibility check
2598// that was performed on the domain.
2599//
2600// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2601// with awserr.Error's Code and Message methods to get detailed information about
2602// the error.
2603//
2604// See the AWS API reference guide for Amazon Elasticsearch Service's
2605// API operation GetUpgradeStatus for usage and error information.
2606//
2607// Returned Error Types:
2608//   * BaseException
2609//   An error occurred while processing the request.
2610//
2611//   * ResourceNotFoundException
2612//   An exception for accessing or deleting a resource that does not exist. Gives
2613//   http status code of 400.
2614//
2615//   * DisabledOperationException
2616//   An error occured because the client wanted to access a not supported operation.
2617//   Gives http status code of 409.
2618//
2619//   * ValidationException
2620//   An exception for missing / invalid input fields. Gives http status code of
2621//   400.
2622//
2623//   * InternalException
2624//   The request processing has failed because of an unknown error, exception
2625//   or failure (the failure is internal to the service) . Gives http status code
2626//   of 500.
2627//
2628func (c *ElasticsearchService) GetUpgradeStatus(input *GetUpgradeStatusInput) (*GetUpgradeStatusOutput, error) {
2629	req, out := c.GetUpgradeStatusRequest(input)
2630	return out, req.Send()
2631}
2632
2633// GetUpgradeStatusWithContext is the same as GetUpgradeStatus with the addition of
2634// the ability to pass a context and additional request options.
2635//
2636// See GetUpgradeStatus for details on how to use this API operation.
2637//
2638// The context must be non-nil and will be used for request cancellation. If
2639// the context is nil a panic will occur. In the future the SDK may create
2640// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2641// for more information on using Contexts.
2642func (c *ElasticsearchService) GetUpgradeStatusWithContext(ctx aws.Context, input *GetUpgradeStatusInput, opts ...request.Option) (*GetUpgradeStatusOutput, error) {
2643	req, out := c.GetUpgradeStatusRequest(input)
2644	req.SetContext(ctx)
2645	req.ApplyOptions(opts...)
2646	return out, req.Send()
2647}
2648
2649const opListDomainNames = "ListDomainNames"
2650
2651// ListDomainNamesRequest generates a "aws/request.Request" representing the
2652// client's request for the ListDomainNames operation. The "output" return
2653// value will be populated with the request's response once the request completes
2654// successfully.
2655//
2656// Use "Send" method on the returned Request to send the API call to the service.
2657// the "output" return value is not valid until after Send returns without error.
2658//
2659// See ListDomainNames for more information on using the ListDomainNames
2660// API call, and error handling.
2661//
2662// This method is useful when you want to inject custom logic or configuration
2663// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2664//
2665//
2666//    // Example sending a request using the ListDomainNamesRequest method.
2667//    req, resp := client.ListDomainNamesRequest(params)
2668//
2669//    err := req.Send()
2670//    if err == nil { // resp is now filled
2671//        fmt.Println(resp)
2672//    }
2673func (c *ElasticsearchService) ListDomainNamesRequest(input *ListDomainNamesInput) (req *request.Request, output *ListDomainNamesOutput) {
2674	op := &request.Operation{
2675		Name:       opListDomainNames,
2676		HTTPMethod: "GET",
2677		HTTPPath:   "/2015-01-01/domain",
2678	}
2679
2680	if input == nil {
2681		input = &ListDomainNamesInput{}
2682	}
2683
2684	output = &ListDomainNamesOutput{}
2685	req = c.newRequest(op, input, output)
2686	return
2687}
2688
2689// ListDomainNames API operation for Amazon Elasticsearch Service.
2690//
2691// Returns the name of all Elasticsearch domains owned by the current user's
2692// account.
2693//
2694// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2695// with awserr.Error's Code and Message methods to get detailed information about
2696// the error.
2697//
2698// See the AWS API reference guide for Amazon Elasticsearch Service's
2699// API operation ListDomainNames for usage and error information.
2700//
2701// Returned Error Types:
2702//   * BaseException
2703//   An error occurred while processing the request.
2704//
2705//   * ValidationException
2706//   An exception for missing / invalid input fields. Gives http status code of
2707//   400.
2708//
2709func (c *ElasticsearchService) ListDomainNames(input *ListDomainNamesInput) (*ListDomainNamesOutput, error) {
2710	req, out := c.ListDomainNamesRequest(input)
2711	return out, req.Send()
2712}
2713
2714// ListDomainNamesWithContext is the same as ListDomainNames with the addition of
2715// the ability to pass a context and additional request options.
2716//
2717// See ListDomainNames for details on how to use this API operation.
2718//
2719// The context must be non-nil and will be used for request cancellation. If
2720// the context is nil a panic will occur. In the future the SDK may create
2721// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2722// for more information on using Contexts.
2723func (c *ElasticsearchService) ListDomainNamesWithContext(ctx aws.Context, input *ListDomainNamesInput, opts ...request.Option) (*ListDomainNamesOutput, error) {
2724	req, out := c.ListDomainNamesRequest(input)
2725	req.SetContext(ctx)
2726	req.ApplyOptions(opts...)
2727	return out, req.Send()
2728}
2729
2730const opListDomainsForPackage = "ListDomainsForPackage"
2731
2732// ListDomainsForPackageRequest generates a "aws/request.Request" representing the
2733// client's request for the ListDomainsForPackage operation. The "output" return
2734// value will be populated with the request's response once the request completes
2735// successfully.
2736//
2737// Use "Send" method on the returned Request to send the API call to the service.
2738// the "output" return value is not valid until after Send returns without error.
2739//
2740// See ListDomainsForPackage for more information on using the ListDomainsForPackage
2741// API call, and error handling.
2742//
2743// This method is useful when you want to inject custom logic or configuration
2744// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2745//
2746//
2747//    // Example sending a request using the ListDomainsForPackageRequest method.
2748//    req, resp := client.ListDomainsForPackageRequest(params)
2749//
2750//    err := req.Send()
2751//    if err == nil { // resp is now filled
2752//        fmt.Println(resp)
2753//    }
2754func (c *ElasticsearchService) ListDomainsForPackageRequest(input *ListDomainsForPackageInput) (req *request.Request, output *ListDomainsForPackageOutput) {
2755	op := &request.Operation{
2756		Name:       opListDomainsForPackage,
2757		HTTPMethod: "GET",
2758		HTTPPath:   "/2015-01-01/packages/{PackageID}/domains",
2759		Paginator: &request.Paginator{
2760			InputTokens:     []string{"NextToken"},
2761			OutputTokens:    []string{"NextToken"},
2762			LimitToken:      "MaxResults",
2763			TruncationToken: "",
2764		},
2765	}
2766
2767	if input == nil {
2768		input = &ListDomainsForPackageInput{}
2769	}
2770
2771	output = &ListDomainsForPackageOutput{}
2772	req = c.newRequest(op, input, output)
2773	return
2774}
2775
2776// ListDomainsForPackage API operation for Amazon Elasticsearch Service.
2777//
2778// Lists all Amazon ES domains associated with the package.
2779//
2780// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2781// with awserr.Error's Code and Message methods to get detailed information about
2782// the error.
2783//
2784// See the AWS API reference guide for Amazon Elasticsearch Service's
2785// API operation ListDomainsForPackage for usage and error information.
2786//
2787// Returned Error Types:
2788//   * BaseException
2789//   An error occurred while processing the request.
2790//
2791//   * InternalException
2792//   The request processing has failed because of an unknown error, exception
2793//   or failure (the failure is internal to the service) . Gives http status code
2794//   of 500.
2795//
2796//   * ResourceNotFoundException
2797//   An exception for accessing or deleting a resource that does not exist. Gives
2798//   http status code of 400.
2799//
2800//   * AccessDeniedException
2801//   An error occurred because user does not have permissions to access the resource.
2802//   Returns HTTP status code 403.
2803//
2804//   * ValidationException
2805//   An exception for missing / invalid input fields. Gives http status code of
2806//   400.
2807//
2808func (c *ElasticsearchService) ListDomainsForPackage(input *ListDomainsForPackageInput) (*ListDomainsForPackageOutput, error) {
2809	req, out := c.ListDomainsForPackageRequest(input)
2810	return out, req.Send()
2811}
2812
2813// ListDomainsForPackageWithContext is the same as ListDomainsForPackage with the addition of
2814// the ability to pass a context and additional request options.
2815//
2816// See ListDomainsForPackage for details on how to use this API operation.
2817//
2818// The context must be non-nil and will be used for request cancellation. If
2819// the context is nil a panic will occur. In the future the SDK may create
2820// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2821// for more information on using Contexts.
2822func (c *ElasticsearchService) ListDomainsForPackageWithContext(ctx aws.Context, input *ListDomainsForPackageInput, opts ...request.Option) (*ListDomainsForPackageOutput, error) {
2823	req, out := c.ListDomainsForPackageRequest(input)
2824	req.SetContext(ctx)
2825	req.ApplyOptions(opts...)
2826	return out, req.Send()
2827}
2828
2829// ListDomainsForPackagePages iterates over the pages of a ListDomainsForPackage operation,
2830// calling the "fn" function with the response data for each page. To stop
2831// iterating, return false from the fn function.
2832//
2833// See ListDomainsForPackage method for more information on how to use this operation.
2834//
2835// Note: This operation can generate multiple requests to a service.
2836//
2837//    // Example iterating over at most 3 pages of a ListDomainsForPackage operation.
2838//    pageNum := 0
2839//    err := client.ListDomainsForPackagePages(params,
2840//        func(page *elasticsearchservice.ListDomainsForPackageOutput, lastPage bool) bool {
2841//            pageNum++
2842//            fmt.Println(page)
2843//            return pageNum <= 3
2844//        })
2845//
2846func (c *ElasticsearchService) ListDomainsForPackagePages(input *ListDomainsForPackageInput, fn func(*ListDomainsForPackageOutput, bool) bool) error {
2847	return c.ListDomainsForPackagePagesWithContext(aws.BackgroundContext(), input, fn)
2848}
2849
2850// ListDomainsForPackagePagesWithContext same as ListDomainsForPackagePages except
2851// it takes a Context and allows setting request options on the pages.
2852//
2853// The context must be non-nil and will be used for request cancellation. If
2854// the context is nil a panic will occur. In the future the SDK may create
2855// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2856// for more information on using Contexts.
2857func (c *ElasticsearchService) ListDomainsForPackagePagesWithContext(ctx aws.Context, input *ListDomainsForPackageInput, fn func(*ListDomainsForPackageOutput, bool) bool, opts ...request.Option) error {
2858	p := request.Pagination{
2859		NewRequest: func() (*request.Request, error) {
2860			var inCpy *ListDomainsForPackageInput
2861			if input != nil {
2862				tmp := *input
2863				inCpy = &tmp
2864			}
2865			req, _ := c.ListDomainsForPackageRequest(inCpy)
2866			req.SetContext(ctx)
2867			req.ApplyOptions(opts...)
2868			return req, nil
2869		},
2870	}
2871
2872	for p.Next() {
2873		if !fn(p.Page().(*ListDomainsForPackageOutput), !p.HasNextPage()) {
2874			break
2875		}
2876	}
2877
2878	return p.Err()
2879}
2880
2881const opListElasticsearchInstanceTypes = "ListElasticsearchInstanceTypes"
2882
2883// ListElasticsearchInstanceTypesRequest generates a "aws/request.Request" representing the
2884// client's request for the ListElasticsearchInstanceTypes operation. The "output" return
2885// value will be populated with the request's response once the request completes
2886// successfully.
2887//
2888// Use "Send" method on the returned Request to send the API call to the service.
2889// the "output" return value is not valid until after Send returns without error.
2890//
2891// See ListElasticsearchInstanceTypes for more information on using the ListElasticsearchInstanceTypes
2892// API call, and error handling.
2893//
2894// This method is useful when you want to inject custom logic or configuration
2895// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2896//
2897//
2898//    // Example sending a request using the ListElasticsearchInstanceTypesRequest method.
2899//    req, resp := client.ListElasticsearchInstanceTypesRequest(params)
2900//
2901//    err := req.Send()
2902//    if err == nil { // resp is now filled
2903//        fmt.Println(resp)
2904//    }
2905func (c *ElasticsearchService) ListElasticsearchInstanceTypesRequest(input *ListElasticsearchInstanceTypesInput) (req *request.Request, output *ListElasticsearchInstanceTypesOutput) {
2906	op := &request.Operation{
2907		Name:       opListElasticsearchInstanceTypes,
2908		HTTPMethod: "GET",
2909		HTTPPath:   "/2015-01-01/es/instanceTypes/{ElasticsearchVersion}",
2910		Paginator: &request.Paginator{
2911			InputTokens:     []string{"NextToken"},
2912			OutputTokens:    []string{"NextToken"},
2913			LimitToken:      "MaxResults",
2914			TruncationToken: "",
2915		},
2916	}
2917
2918	if input == nil {
2919		input = &ListElasticsearchInstanceTypesInput{}
2920	}
2921
2922	output = &ListElasticsearchInstanceTypesOutput{}
2923	req = c.newRequest(op, input, output)
2924	return
2925}
2926
2927// ListElasticsearchInstanceTypes API operation for Amazon Elasticsearch Service.
2928//
2929// List all Elasticsearch instance types that are supported for given ElasticsearchVersion
2930//
2931// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2932// with awserr.Error's Code and Message methods to get detailed information about
2933// the error.
2934//
2935// See the AWS API reference guide for Amazon Elasticsearch Service's
2936// API operation ListElasticsearchInstanceTypes for usage and error information.
2937//
2938// Returned Error Types:
2939//   * BaseException
2940//   An error occurred while processing the request.
2941//
2942//   * InternalException
2943//   The request processing has failed because of an unknown error, exception
2944//   or failure (the failure is internal to the service) . Gives http status code
2945//   of 500.
2946//
2947//   * ResourceNotFoundException
2948//   An exception for accessing or deleting a resource that does not exist. Gives
2949//   http status code of 400.
2950//
2951//   * ValidationException
2952//   An exception for missing / invalid input fields. Gives http status code of
2953//   400.
2954//
2955func (c *ElasticsearchService) ListElasticsearchInstanceTypes(input *ListElasticsearchInstanceTypesInput) (*ListElasticsearchInstanceTypesOutput, error) {
2956	req, out := c.ListElasticsearchInstanceTypesRequest(input)
2957	return out, req.Send()
2958}
2959
2960// ListElasticsearchInstanceTypesWithContext is the same as ListElasticsearchInstanceTypes with the addition of
2961// the ability to pass a context and additional request options.
2962//
2963// See ListElasticsearchInstanceTypes for details on how to use this API operation.
2964//
2965// The context must be non-nil and will be used for request cancellation. If
2966// the context is nil a panic will occur. In the future the SDK may create
2967// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2968// for more information on using Contexts.
2969func (c *ElasticsearchService) ListElasticsearchInstanceTypesWithContext(ctx aws.Context, input *ListElasticsearchInstanceTypesInput, opts ...request.Option) (*ListElasticsearchInstanceTypesOutput, error) {
2970	req, out := c.ListElasticsearchInstanceTypesRequest(input)
2971	req.SetContext(ctx)
2972	req.ApplyOptions(opts...)
2973	return out, req.Send()
2974}
2975
2976// ListElasticsearchInstanceTypesPages iterates over the pages of a ListElasticsearchInstanceTypes operation,
2977// calling the "fn" function with the response data for each page. To stop
2978// iterating, return false from the fn function.
2979//
2980// See ListElasticsearchInstanceTypes method for more information on how to use this operation.
2981//
2982// Note: This operation can generate multiple requests to a service.
2983//
2984//    // Example iterating over at most 3 pages of a ListElasticsearchInstanceTypes operation.
2985//    pageNum := 0
2986//    err := client.ListElasticsearchInstanceTypesPages(params,
2987//        func(page *elasticsearchservice.ListElasticsearchInstanceTypesOutput, lastPage bool) bool {
2988//            pageNum++
2989//            fmt.Println(page)
2990//            return pageNum <= 3
2991//        })
2992//
2993func (c *ElasticsearchService) ListElasticsearchInstanceTypesPages(input *ListElasticsearchInstanceTypesInput, fn func(*ListElasticsearchInstanceTypesOutput, bool) bool) error {
2994	return c.ListElasticsearchInstanceTypesPagesWithContext(aws.BackgroundContext(), input, fn)
2995}
2996
2997// ListElasticsearchInstanceTypesPagesWithContext same as ListElasticsearchInstanceTypesPages except
2998// it takes a Context and allows setting request options on the pages.
2999//
3000// The context must be non-nil and will be used for request cancellation. If
3001// the context is nil a panic will occur. In the future the SDK may create
3002// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3003// for more information on using Contexts.
3004func (c *ElasticsearchService) ListElasticsearchInstanceTypesPagesWithContext(ctx aws.Context, input *ListElasticsearchInstanceTypesInput, fn func(*ListElasticsearchInstanceTypesOutput, bool) bool, opts ...request.Option) error {
3005	p := request.Pagination{
3006		NewRequest: func() (*request.Request, error) {
3007			var inCpy *ListElasticsearchInstanceTypesInput
3008			if input != nil {
3009				tmp := *input
3010				inCpy = &tmp
3011			}
3012			req, _ := c.ListElasticsearchInstanceTypesRequest(inCpy)
3013			req.SetContext(ctx)
3014			req.ApplyOptions(opts...)
3015			return req, nil
3016		},
3017	}
3018
3019	for p.Next() {
3020		if !fn(p.Page().(*ListElasticsearchInstanceTypesOutput), !p.HasNextPage()) {
3021			break
3022		}
3023	}
3024
3025	return p.Err()
3026}
3027
3028const opListElasticsearchVersions = "ListElasticsearchVersions"
3029
3030// ListElasticsearchVersionsRequest generates a "aws/request.Request" representing the
3031// client's request for the ListElasticsearchVersions operation. The "output" return
3032// value will be populated with the request's response once the request completes
3033// successfully.
3034//
3035// Use "Send" method on the returned Request to send the API call to the service.
3036// the "output" return value is not valid until after Send returns without error.
3037//
3038// See ListElasticsearchVersions for more information on using the ListElasticsearchVersions
3039// API call, and error handling.
3040//
3041// This method is useful when you want to inject custom logic or configuration
3042// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3043//
3044//
3045//    // Example sending a request using the ListElasticsearchVersionsRequest method.
3046//    req, resp := client.ListElasticsearchVersionsRequest(params)
3047//
3048//    err := req.Send()
3049//    if err == nil { // resp is now filled
3050//        fmt.Println(resp)
3051//    }
3052func (c *ElasticsearchService) ListElasticsearchVersionsRequest(input *ListElasticsearchVersionsInput) (req *request.Request, output *ListElasticsearchVersionsOutput) {
3053	op := &request.Operation{
3054		Name:       opListElasticsearchVersions,
3055		HTTPMethod: "GET",
3056		HTTPPath:   "/2015-01-01/es/versions",
3057		Paginator: &request.Paginator{
3058			InputTokens:     []string{"NextToken"},
3059			OutputTokens:    []string{"NextToken"},
3060			LimitToken:      "MaxResults",
3061			TruncationToken: "",
3062		},
3063	}
3064
3065	if input == nil {
3066		input = &ListElasticsearchVersionsInput{}
3067	}
3068
3069	output = &ListElasticsearchVersionsOutput{}
3070	req = c.newRequest(op, input, output)
3071	return
3072}
3073
3074// ListElasticsearchVersions API operation for Amazon Elasticsearch Service.
3075//
3076// List all supported Elasticsearch versions
3077//
3078// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3079// with awserr.Error's Code and Message methods to get detailed information about
3080// the error.
3081//
3082// See the AWS API reference guide for Amazon Elasticsearch Service's
3083// API operation ListElasticsearchVersions for usage and error information.
3084//
3085// Returned Error Types:
3086//   * BaseException
3087//   An error occurred while processing the request.
3088//
3089//   * InternalException
3090//   The request processing has failed because of an unknown error, exception
3091//   or failure (the failure is internal to the service) . Gives http status code
3092//   of 500.
3093//
3094//   * ResourceNotFoundException
3095//   An exception for accessing or deleting a resource that does not exist. Gives
3096//   http status code of 400.
3097//
3098//   * ValidationException
3099//   An exception for missing / invalid input fields. Gives http status code of
3100//   400.
3101//
3102func (c *ElasticsearchService) ListElasticsearchVersions(input *ListElasticsearchVersionsInput) (*ListElasticsearchVersionsOutput, error) {
3103	req, out := c.ListElasticsearchVersionsRequest(input)
3104	return out, req.Send()
3105}
3106
3107// ListElasticsearchVersionsWithContext is the same as ListElasticsearchVersions with the addition of
3108// the ability to pass a context and additional request options.
3109//
3110// See ListElasticsearchVersions for details on how to use this API operation.
3111//
3112// The context must be non-nil and will be used for request cancellation. If
3113// the context is nil a panic will occur. In the future the SDK may create
3114// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3115// for more information on using Contexts.
3116func (c *ElasticsearchService) ListElasticsearchVersionsWithContext(ctx aws.Context, input *ListElasticsearchVersionsInput, opts ...request.Option) (*ListElasticsearchVersionsOutput, error) {
3117	req, out := c.ListElasticsearchVersionsRequest(input)
3118	req.SetContext(ctx)
3119	req.ApplyOptions(opts...)
3120	return out, req.Send()
3121}
3122
3123// ListElasticsearchVersionsPages iterates over the pages of a ListElasticsearchVersions operation,
3124// calling the "fn" function with the response data for each page. To stop
3125// iterating, return false from the fn function.
3126//
3127// See ListElasticsearchVersions method for more information on how to use this operation.
3128//
3129// Note: This operation can generate multiple requests to a service.
3130//
3131//    // Example iterating over at most 3 pages of a ListElasticsearchVersions operation.
3132//    pageNum := 0
3133//    err := client.ListElasticsearchVersionsPages(params,
3134//        func(page *elasticsearchservice.ListElasticsearchVersionsOutput, lastPage bool) bool {
3135//            pageNum++
3136//            fmt.Println(page)
3137//            return pageNum <= 3
3138//        })
3139//
3140func (c *ElasticsearchService) ListElasticsearchVersionsPages(input *ListElasticsearchVersionsInput, fn func(*ListElasticsearchVersionsOutput, bool) bool) error {
3141	return c.ListElasticsearchVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
3142}
3143
3144// ListElasticsearchVersionsPagesWithContext same as ListElasticsearchVersionsPages except
3145// it takes a Context and allows setting request options on the pages.
3146//
3147// The context must be non-nil and will be used for request cancellation. If
3148// the context is nil a panic will occur. In the future the SDK may create
3149// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3150// for more information on using Contexts.
3151func (c *ElasticsearchService) ListElasticsearchVersionsPagesWithContext(ctx aws.Context, input *ListElasticsearchVersionsInput, fn func(*ListElasticsearchVersionsOutput, bool) bool, opts ...request.Option) error {
3152	p := request.Pagination{
3153		NewRequest: func() (*request.Request, error) {
3154			var inCpy *ListElasticsearchVersionsInput
3155			if input != nil {
3156				tmp := *input
3157				inCpy = &tmp
3158			}
3159			req, _ := c.ListElasticsearchVersionsRequest(inCpy)
3160			req.SetContext(ctx)
3161			req.ApplyOptions(opts...)
3162			return req, nil
3163		},
3164	}
3165
3166	for p.Next() {
3167		if !fn(p.Page().(*ListElasticsearchVersionsOutput), !p.HasNextPage()) {
3168			break
3169		}
3170	}
3171
3172	return p.Err()
3173}
3174
3175const opListPackagesForDomain = "ListPackagesForDomain"
3176
3177// ListPackagesForDomainRequest generates a "aws/request.Request" representing the
3178// client's request for the ListPackagesForDomain operation. The "output" return
3179// value will be populated with the request's response once the request completes
3180// successfully.
3181//
3182// Use "Send" method on the returned Request to send the API call to the service.
3183// the "output" return value is not valid until after Send returns without error.
3184//
3185// See ListPackagesForDomain for more information on using the ListPackagesForDomain
3186// API call, and error handling.
3187//
3188// This method is useful when you want to inject custom logic or configuration
3189// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3190//
3191//
3192//    // Example sending a request using the ListPackagesForDomainRequest method.
3193//    req, resp := client.ListPackagesForDomainRequest(params)
3194//
3195//    err := req.Send()
3196//    if err == nil { // resp is now filled
3197//        fmt.Println(resp)
3198//    }
3199func (c *ElasticsearchService) ListPackagesForDomainRequest(input *ListPackagesForDomainInput) (req *request.Request, output *ListPackagesForDomainOutput) {
3200	op := &request.Operation{
3201		Name:       opListPackagesForDomain,
3202		HTTPMethod: "GET",
3203		HTTPPath:   "/2015-01-01/domain/{DomainName}/packages",
3204		Paginator: &request.Paginator{
3205			InputTokens:     []string{"NextToken"},
3206			OutputTokens:    []string{"NextToken"},
3207			LimitToken:      "MaxResults",
3208			TruncationToken: "",
3209		},
3210	}
3211
3212	if input == nil {
3213		input = &ListPackagesForDomainInput{}
3214	}
3215
3216	output = &ListPackagesForDomainOutput{}
3217	req = c.newRequest(op, input, output)
3218	return
3219}
3220
3221// ListPackagesForDomain API operation for Amazon Elasticsearch Service.
3222//
3223// Lists all packages associated with the Amazon ES domain.
3224//
3225// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3226// with awserr.Error's Code and Message methods to get detailed information about
3227// the error.
3228//
3229// See the AWS API reference guide for Amazon Elasticsearch Service's
3230// API operation ListPackagesForDomain for usage and error information.
3231//
3232// Returned Error Types:
3233//   * BaseException
3234//   An error occurred while processing the request.
3235//
3236//   * InternalException
3237//   The request processing has failed because of an unknown error, exception
3238//   or failure (the failure is internal to the service) . Gives http status code
3239//   of 500.
3240//
3241//   * ResourceNotFoundException
3242//   An exception for accessing or deleting a resource that does not exist. Gives
3243//   http status code of 400.
3244//
3245//   * AccessDeniedException
3246//   An error occurred because user does not have permissions to access the resource.
3247//   Returns HTTP status code 403.
3248//
3249//   * ValidationException
3250//   An exception for missing / invalid input fields. Gives http status code of
3251//   400.
3252//
3253func (c *ElasticsearchService) ListPackagesForDomain(input *ListPackagesForDomainInput) (*ListPackagesForDomainOutput, error) {
3254	req, out := c.ListPackagesForDomainRequest(input)
3255	return out, req.Send()
3256}
3257
3258// ListPackagesForDomainWithContext is the same as ListPackagesForDomain with the addition of
3259// the ability to pass a context and additional request options.
3260//
3261// See ListPackagesForDomain for details on how to use this API operation.
3262//
3263// The context must be non-nil and will be used for request cancellation. If
3264// the context is nil a panic will occur. In the future the SDK may create
3265// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3266// for more information on using Contexts.
3267func (c *ElasticsearchService) ListPackagesForDomainWithContext(ctx aws.Context, input *ListPackagesForDomainInput, opts ...request.Option) (*ListPackagesForDomainOutput, error) {
3268	req, out := c.ListPackagesForDomainRequest(input)
3269	req.SetContext(ctx)
3270	req.ApplyOptions(opts...)
3271	return out, req.Send()
3272}
3273
3274// ListPackagesForDomainPages iterates over the pages of a ListPackagesForDomain operation,
3275// calling the "fn" function with the response data for each page. To stop
3276// iterating, return false from the fn function.
3277//
3278// See ListPackagesForDomain method for more information on how to use this operation.
3279//
3280// Note: This operation can generate multiple requests to a service.
3281//
3282//    // Example iterating over at most 3 pages of a ListPackagesForDomain operation.
3283//    pageNum := 0
3284//    err := client.ListPackagesForDomainPages(params,
3285//        func(page *elasticsearchservice.ListPackagesForDomainOutput, lastPage bool) bool {
3286//            pageNum++
3287//            fmt.Println(page)
3288//            return pageNum <= 3
3289//        })
3290//
3291func (c *ElasticsearchService) ListPackagesForDomainPages(input *ListPackagesForDomainInput, fn func(*ListPackagesForDomainOutput, bool) bool) error {
3292	return c.ListPackagesForDomainPagesWithContext(aws.BackgroundContext(), input, fn)
3293}
3294
3295// ListPackagesForDomainPagesWithContext same as ListPackagesForDomainPages except
3296// it takes a Context and allows setting request options on the pages.
3297//
3298// The context must be non-nil and will be used for request cancellation. If
3299// the context is nil a panic will occur. In the future the SDK may create
3300// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3301// for more information on using Contexts.
3302func (c *ElasticsearchService) ListPackagesForDomainPagesWithContext(ctx aws.Context, input *ListPackagesForDomainInput, fn func(*ListPackagesForDomainOutput, bool) bool, opts ...request.Option) error {
3303	p := request.Pagination{
3304		NewRequest: func() (*request.Request, error) {
3305			var inCpy *ListPackagesForDomainInput
3306			if input != nil {
3307				tmp := *input
3308				inCpy = &tmp
3309			}
3310			req, _ := c.ListPackagesForDomainRequest(inCpy)
3311			req.SetContext(ctx)
3312			req.ApplyOptions(opts...)
3313			return req, nil
3314		},
3315	}
3316
3317	for p.Next() {
3318		if !fn(p.Page().(*ListPackagesForDomainOutput), !p.HasNextPage()) {
3319			break
3320		}
3321	}
3322
3323	return p.Err()
3324}
3325
3326const opListTags = "ListTags"
3327
3328// ListTagsRequest generates a "aws/request.Request" representing the
3329// client's request for the ListTags operation. The "output" return
3330// value will be populated with the request's response once the request completes
3331// successfully.
3332//
3333// Use "Send" method on the returned Request to send the API call to the service.
3334// the "output" return value is not valid until after Send returns without error.
3335//
3336// See ListTags for more information on using the ListTags
3337// API call, and error handling.
3338//
3339// This method is useful when you want to inject custom logic or configuration
3340// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3341//
3342//
3343//    // Example sending a request using the ListTagsRequest method.
3344//    req, resp := client.ListTagsRequest(params)
3345//
3346//    err := req.Send()
3347//    if err == nil { // resp is now filled
3348//        fmt.Println(resp)
3349//    }
3350func (c *ElasticsearchService) ListTagsRequest(input *ListTagsInput) (req *request.Request, output *ListTagsOutput) {
3351	op := &request.Operation{
3352		Name:       opListTags,
3353		HTTPMethod: "GET",
3354		HTTPPath:   "/2015-01-01/tags/",
3355	}
3356
3357	if input == nil {
3358		input = &ListTagsInput{}
3359	}
3360
3361	output = &ListTagsOutput{}
3362	req = c.newRequest(op, input, output)
3363	return
3364}
3365
3366// ListTags API operation for Amazon Elasticsearch Service.
3367//
3368// Returns all tags for the given Elasticsearch domain.
3369//
3370// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3371// with awserr.Error's Code and Message methods to get detailed information about
3372// the error.
3373//
3374// See the AWS API reference guide for Amazon Elasticsearch Service's
3375// API operation ListTags for usage and error information.
3376//
3377// Returned Error Types:
3378//   * BaseException
3379//   An error occurred while processing the request.
3380//
3381//   * ResourceNotFoundException
3382//   An exception for accessing or deleting a resource that does not exist. Gives
3383//   http status code of 400.
3384//
3385//   * ValidationException
3386//   An exception for missing / invalid input fields. Gives http status code of
3387//   400.
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//
3394func (c *ElasticsearchService) ListTags(input *ListTagsInput) (*ListTagsOutput, error) {
3395	req, out := c.ListTagsRequest(input)
3396	return out, req.Send()
3397}
3398
3399// ListTagsWithContext is the same as ListTags with the addition of
3400// the ability to pass a context and additional request options.
3401//
3402// See ListTags for details on how to use this API operation.
3403//
3404// The context must be non-nil and will be used for request cancellation. If
3405// the context is nil a panic will occur. In the future the SDK may create
3406// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3407// for more information on using Contexts.
3408func (c *ElasticsearchService) ListTagsWithContext(ctx aws.Context, input *ListTagsInput, opts ...request.Option) (*ListTagsOutput, error) {
3409	req, out := c.ListTagsRequest(input)
3410	req.SetContext(ctx)
3411	req.ApplyOptions(opts...)
3412	return out, req.Send()
3413}
3414
3415const opPurchaseReservedElasticsearchInstanceOffering = "PurchaseReservedElasticsearchInstanceOffering"
3416
3417// PurchaseReservedElasticsearchInstanceOfferingRequest generates a "aws/request.Request" representing the
3418// client's request for the PurchaseReservedElasticsearchInstanceOffering operation. The "output" return
3419// value will be populated with the request's response once the request completes
3420// successfully.
3421//
3422// Use "Send" method on the returned Request to send the API call to the service.
3423// the "output" return value is not valid until after Send returns without error.
3424//
3425// See PurchaseReservedElasticsearchInstanceOffering for more information on using the PurchaseReservedElasticsearchInstanceOffering
3426// API call, and error handling.
3427//
3428// This method is useful when you want to inject custom logic or configuration
3429// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3430//
3431//
3432//    // Example sending a request using the PurchaseReservedElasticsearchInstanceOfferingRequest method.
3433//    req, resp := client.PurchaseReservedElasticsearchInstanceOfferingRequest(params)
3434//
3435//    err := req.Send()
3436//    if err == nil { // resp is now filled
3437//        fmt.Println(resp)
3438//    }
3439func (c *ElasticsearchService) PurchaseReservedElasticsearchInstanceOfferingRequest(input *PurchaseReservedElasticsearchInstanceOfferingInput) (req *request.Request, output *PurchaseReservedElasticsearchInstanceOfferingOutput) {
3440	op := &request.Operation{
3441		Name:       opPurchaseReservedElasticsearchInstanceOffering,
3442		HTTPMethod: "POST",
3443		HTTPPath:   "/2015-01-01/es/purchaseReservedInstanceOffering",
3444	}
3445
3446	if input == nil {
3447		input = &PurchaseReservedElasticsearchInstanceOfferingInput{}
3448	}
3449
3450	output = &PurchaseReservedElasticsearchInstanceOfferingOutput{}
3451	req = c.newRequest(op, input, output)
3452	return
3453}
3454
3455// PurchaseReservedElasticsearchInstanceOffering API operation for Amazon Elasticsearch Service.
3456//
3457// Allows you to purchase reserved Elasticsearch instances.
3458//
3459// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3460// with awserr.Error's Code and Message methods to get detailed information about
3461// the error.
3462//
3463// See the AWS API reference guide for Amazon Elasticsearch Service's
3464// API operation PurchaseReservedElasticsearchInstanceOffering for usage and error information.
3465//
3466// Returned Error Types:
3467//   * ResourceNotFoundException
3468//   An exception for accessing or deleting a resource that does not exist. Gives
3469//   http status code of 400.
3470//
3471//   * ResourceAlreadyExistsException
3472//   An exception for creating a resource that already exists. Gives http status
3473//   code of 400.
3474//
3475//   * LimitExceededException
3476//   An exception for trying to create more than allowed resources or sub-resources.
3477//   Gives http status code of 409.
3478//
3479//   * DisabledOperationException
3480//   An error occured because the client wanted to access a not supported operation.
3481//   Gives http status code of 409.
3482//
3483//   * ValidationException
3484//   An exception for missing / invalid input fields. Gives http status code of
3485//   400.
3486//
3487//   * InternalException
3488//   The request processing has failed because of an unknown error, exception
3489//   or failure (the failure is internal to the service) . Gives http status code
3490//   of 500.
3491//
3492func (c *ElasticsearchService) PurchaseReservedElasticsearchInstanceOffering(input *PurchaseReservedElasticsearchInstanceOfferingInput) (*PurchaseReservedElasticsearchInstanceOfferingOutput, error) {
3493	req, out := c.PurchaseReservedElasticsearchInstanceOfferingRequest(input)
3494	return out, req.Send()
3495}
3496
3497// PurchaseReservedElasticsearchInstanceOfferingWithContext is the same as PurchaseReservedElasticsearchInstanceOffering with the addition of
3498// the ability to pass a context and additional request options.
3499//
3500// See PurchaseReservedElasticsearchInstanceOffering for details on how to use this API operation.
3501//
3502// The context must be non-nil and will be used for request cancellation. If
3503// the context is nil a panic will occur. In the future the SDK may create
3504// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3505// for more information on using Contexts.
3506func (c *ElasticsearchService) PurchaseReservedElasticsearchInstanceOfferingWithContext(ctx aws.Context, input *PurchaseReservedElasticsearchInstanceOfferingInput, opts ...request.Option) (*PurchaseReservedElasticsearchInstanceOfferingOutput, error) {
3507	req, out := c.PurchaseReservedElasticsearchInstanceOfferingRequest(input)
3508	req.SetContext(ctx)
3509	req.ApplyOptions(opts...)
3510	return out, req.Send()
3511}
3512
3513const opRejectInboundCrossClusterSearchConnection = "RejectInboundCrossClusterSearchConnection"
3514
3515// RejectInboundCrossClusterSearchConnectionRequest generates a "aws/request.Request" representing the
3516// client's request for the RejectInboundCrossClusterSearchConnection operation. The "output" return
3517// value will be populated with the request's response once the request completes
3518// successfully.
3519//
3520// Use "Send" method on the returned Request to send the API call to the service.
3521// the "output" return value is not valid until after Send returns without error.
3522//
3523// See RejectInboundCrossClusterSearchConnection for more information on using the RejectInboundCrossClusterSearchConnection
3524// API call, and error handling.
3525//
3526// This method is useful when you want to inject custom logic or configuration
3527// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3528//
3529//
3530//    // Example sending a request using the RejectInboundCrossClusterSearchConnectionRequest method.
3531//    req, resp := client.RejectInboundCrossClusterSearchConnectionRequest(params)
3532//
3533//    err := req.Send()
3534//    if err == nil { // resp is now filled
3535//        fmt.Println(resp)
3536//    }
3537func (c *ElasticsearchService) RejectInboundCrossClusterSearchConnectionRequest(input *RejectInboundCrossClusterSearchConnectionInput) (req *request.Request, output *RejectInboundCrossClusterSearchConnectionOutput) {
3538	op := &request.Operation{
3539		Name:       opRejectInboundCrossClusterSearchConnection,
3540		HTTPMethod: "PUT",
3541		HTTPPath:   "/2015-01-01/es/ccs/inboundConnection/{ConnectionId}/reject",
3542	}
3543
3544	if input == nil {
3545		input = &RejectInboundCrossClusterSearchConnectionInput{}
3546	}
3547
3548	output = &RejectInboundCrossClusterSearchConnectionOutput{}
3549	req = c.newRequest(op, input, output)
3550	return
3551}
3552
3553// RejectInboundCrossClusterSearchConnection API operation for Amazon Elasticsearch Service.
3554//
3555// Allows the destination domain owner to reject an inbound cross-cluster search
3556// connection request.
3557//
3558// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3559// with awserr.Error's Code and Message methods to get detailed information about
3560// the error.
3561//
3562// See the AWS API reference guide for Amazon Elasticsearch Service's
3563// API operation RejectInboundCrossClusterSearchConnection for usage and error information.
3564//
3565// Returned Error Types:
3566//   * ResourceNotFoundException
3567//   An exception for accessing or deleting a resource that does not exist. Gives
3568//   http status code of 400.
3569//
3570//   * DisabledOperationException
3571//   An error occured because the client wanted to access a not supported operation.
3572//   Gives http status code of 409.
3573//
3574func (c *ElasticsearchService) RejectInboundCrossClusterSearchConnection(input *RejectInboundCrossClusterSearchConnectionInput) (*RejectInboundCrossClusterSearchConnectionOutput, error) {
3575	req, out := c.RejectInboundCrossClusterSearchConnectionRequest(input)
3576	return out, req.Send()
3577}
3578
3579// RejectInboundCrossClusterSearchConnectionWithContext is the same as RejectInboundCrossClusterSearchConnection with the addition of
3580// the ability to pass a context and additional request options.
3581//
3582// See RejectInboundCrossClusterSearchConnection for details on how to use this API operation.
3583//
3584// The context must be non-nil and will be used for request cancellation. If
3585// the context is nil a panic will occur. In the future the SDK may create
3586// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3587// for more information on using Contexts.
3588func (c *ElasticsearchService) RejectInboundCrossClusterSearchConnectionWithContext(ctx aws.Context, input *RejectInboundCrossClusterSearchConnectionInput, opts ...request.Option) (*RejectInboundCrossClusterSearchConnectionOutput, error) {
3589	req, out := c.RejectInboundCrossClusterSearchConnectionRequest(input)
3590	req.SetContext(ctx)
3591	req.ApplyOptions(opts...)
3592	return out, req.Send()
3593}
3594
3595const opRemoveTags = "RemoveTags"
3596
3597// RemoveTagsRequest generates a "aws/request.Request" representing the
3598// client's request for the RemoveTags operation. The "output" return
3599// value will be populated with the request's response once the request completes
3600// successfully.
3601//
3602// Use "Send" method on the returned Request to send the API call to the service.
3603// the "output" return value is not valid until after Send returns without error.
3604//
3605// See RemoveTags for more information on using the RemoveTags
3606// API call, and error handling.
3607//
3608// This method is useful when you want to inject custom logic or configuration
3609// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3610//
3611//
3612//    // Example sending a request using the RemoveTagsRequest method.
3613//    req, resp := client.RemoveTagsRequest(params)
3614//
3615//    err := req.Send()
3616//    if err == nil { // resp is now filled
3617//        fmt.Println(resp)
3618//    }
3619func (c *ElasticsearchService) RemoveTagsRequest(input *RemoveTagsInput) (req *request.Request, output *RemoveTagsOutput) {
3620	op := &request.Operation{
3621		Name:       opRemoveTags,
3622		HTTPMethod: "POST",
3623		HTTPPath:   "/2015-01-01/tags-removal",
3624	}
3625
3626	if input == nil {
3627		input = &RemoveTagsInput{}
3628	}
3629
3630	output = &RemoveTagsOutput{}
3631	req = c.newRequest(op, input, output)
3632	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3633	return
3634}
3635
3636// RemoveTags API operation for Amazon Elasticsearch Service.
3637//
3638// Removes the specified set of tags from the specified Elasticsearch domain.
3639//
3640// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3641// with awserr.Error's Code and Message methods to get detailed information about
3642// the error.
3643//
3644// See the AWS API reference guide for Amazon Elasticsearch Service's
3645// API operation RemoveTags for usage and error information.
3646//
3647// Returned Error Types:
3648//   * BaseException
3649//   An error occurred while processing the request.
3650//
3651//   * ValidationException
3652//   An exception for missing / invalid input fields. Gives http status code of
3653//   400.
3654//
3655//   * InternalException
3656//   The request processing has failed because of an unknown error, exception
3657//   or failure (the failure is internal to the service) . Gives http status code
3658//   of 500.
3659//
3660func (c *ElasticsearchService) RemoveTags(input *RemoveTagsInput) (*RemoveTagsOutput, error) {
3661	req, out := c.RemoveTagsRequest(input)
3662	return out, req.Send()
3663}
3664
3665// RemoveTagsWithContext is the same as RemoveTags with the addition of
3666// the ability to pass a context and additional request options.
3667//
3668// See RemoveTags for details on how to use this API operation.
3669//
3670// The context must be non-nil and will be used for request cancellation. If
3671// the context is nil a panic will occur. In the future the SDK may create
3672// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3673// for more information on using Contexts.
3674func (c *ElasticsearchService) RemoveTagsWithContext(ctx aws.Context, input *RemoveTagsInput, opts ...request.Option) (*RemoveTagsOutput, error) {
3675	req, out := c.RemoveTagsRequest(input)
3676	req.SetContext(ctx)
3677	req.ApplyOptions(opts...)
3678	return out, req.Send()
3679}
3680
3681const opStartElasticsearchServiceSoftwareUpdate = "StartElasticsearchServiceSoftwareUpdate"
3682
3683// StartElasticsearchServiceSoftwareUpdateRequest generates a "aws/request.Request" representing the
3684// client's request for the StartElasticsearchServiceSoftwareUpdate operation. The "output" return
3685// value will be populated with the request's response once the request completes
3686// successfully.
3687//
3688// Use "Send" method on the returned Request to send the API call to the service.
3689// the "output" return value is not valid until after Send returns without error.
3690//
3691// See StartElasticsearchServiceSoftwareUpdate for more information on using the StartElasticsearchServiceSoftwareUpdate
3692// API call, and error handling.
3693//
3694// This method is useful when you want to inject custom logic or configuration
3695// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3696//
3697//
3698//    // Example sending a request using the StartElasticsearchServiceSoftwareUpdateRequest method.
3699//    req, resp := client.StartElasticsearchServiceSoftwareUpdateRequest(params)
3700//
3701//    err := req.Send()
3702//    if err == nil { // resp is now filled
3703//        fmt.Println(resp)
3704//    }
3705func (c *ElasticsearchService) StartElasticsearchServiceSoftwareUpdateRequest(input *StartElasticsearchServiceSoftwareUpdateInput) (req *request.Request, output *StartElasticsearchServiceSoftwareUpdateOutput) {
3706	op := &request.Operation{
3707		Name:       opStartElasticsearchServiceSoftwareUpdate,
3708		HTTPMethod: "POST",
3709		HTTPPath:   "/2015-01-01/es/serviceSoftwareUpdate/start",
3710	}
3711
3712	if input == nil {
3713		input = &StartElasticsearchServiceSoftwareUpdateInput{}
3714	}
3715
3716	output = &StartElasticsearchServiceSoftwareUpdateOutput{}
3717	req = c.newRequest(op, input, output)
3718	return
3719}
3720
3721// StartElasticsearchServiceSoftwareUpdate API operation for Amazon Elasticsearch Service.
3722//
3723// Schedules a service software update for an Amazon ES domain.
3724//
3725// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3726// with awserr.Error's Code and Message methods to get detailed information about
3727// the error.
3728//
3729// See the AWS API reference guide for Amazon Elasticsearch Service's
3730// API operation StartElasticsearchServiceSoftwareUpdate for usage and error information.
3731//
3732// Returned Error Types:
3733//   * BaseException
3734//   An error occurred while processing the request.
3735//
3736//   * InternalException
3737//   The request processing has failed because of an unknown error, exception
3738//   or failure (the failure is internal to the service) . Gives http status code
3739//   of 500.
3740//
3741//   * ResourceNotFoundException
3742//   An exception for accessing or deleting a resource that does not exist. Gives
3743//   http status code of 400.
3744//
3745//   * ValidationException
3746//   An exception for missing / invalid input fields. Gives http status code of
3747//   400.
3748//
3749func (c *ElasticsearchService) StartElasticsearchServiceSoftwareUpdate(input *StartElasticsearchServiceSoftwareUpdateInput) (*StartElasticsearchServiceSoftwareUpdateOutput, error) {
3750	req, out := c.StartElasticsearchServiceSoftwareUpdateRequest(input)
3751	return out, req.Send()
3752}
3753
3754// StartElasticsearchServiceSoftwareUpdateWithContext is the same as StartElasticsearchServiceSoftwareUpdate with the addition of
3755// the ability to pass a context and additional request options.
3756//
3757// See StartElasticsearchServiceSoftwareUpdate for details on how to use this API operation.
3758//
3759// The context must be non-nil and will be used for request cancellation. If
3760// the context is nil a panic will occur. In the future the SDK may create
3761// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3762// for more information on using Contexts.
3763func (c *ElasticsearchService) StartElasticsearchServiceSoftwareUpdateWithContext(ctx aws.Context, input *StartElasticsearchServiceSoftwareUpdateInput, opts ...request.Option) (*StartElasticsearchServiceSoftwareUpdateOutput, error) {
3764	req, out := c.StartElasticsearchServiceSoftwareUpdateRequest(input)
3765	req.SetContext(ctx)
3766	req.ApplyOptions(opts...)
3767	return out, req.Send()
3768}
3769
3770const opUpdateElasticsearchDomainConfig = "UpdateElasticsearchDomainConfig"
3771
3772// UpdateElasticsearchDomainConfigRequest generates a "aws/request.Request" representing the
3773// client's request for the UpdateElasticsearchDomainConfig operation. The "output" return
3774// value will be populated with the request's response once the request completes
3775// successfully.
3776//
3777// Use "Send" method on the returned Request to send the API call to the service.
3778// the "output" return value is not valid until after Send returns without error.
3779//
3780// See UpdateElasticsearchDomainConfig for more information on using the UpdateElasticsearchDomainConfig
3781// API call, and error handling.
3782//
3783// This method is useful when you want to inject custom logic or configuration
3784// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3785//
3786//
3787//    // Example sending a request using the UpdateElasticsearchDomainConfigRequest method.
3788//    req, resp := client.UpdateElasticsearchDomainConfigRequest(params)
3789//
3790//    err := req.Send()
3791//    if err == nil { // resp is now filled
3792//        fmt.Println(resp)
3793//    }
3794func (c *ElasticsearchService) UpdateElasticsearchDomainConfigRequest(input *UpdateElasticsearchDomainConfigInput) (req *request.Request, output *UpdateElasticsearchDomainConfigOutput) {
3795	op := &request.Operation{
3796		Name:       opUpdateElasticsearchDomainConfig,
3797		HTTPMethod: "POST",
3798		HTTPPath:   "/2015-01-01/es/domain/{DomainName}/config",
3799	}
3800
3801	if input == nil {
3802		input = &UpdateElasticsearchDomainConfigInput{}
3803	}
3804
3805	output = &UpdateElasticsearchDomainConfigOutput{}
3806	req = c.newRequest(op, input, output)
3807	return
3808}
3809
3810// UpdateElasticsearchDomainConfig API operation for Amazon Elasticsearch Service.
3811//
3812// Modifies the cluster configuration of the specified Elasticsearch domain,
3813// setting as setting the instance type and the number of instances.
3814//
3815// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3816// with awserr.Error's Code and Message methods to get detailed information about
3817// the error.
3818//
3819// See the AWS API reference guide for Amazon Elasticsearch Service's
3820// API operation UpdateElasticsearchDomainConfig for usage and error information.
3821//
3822// Returned Error Types:
3823//   * BaseException
3824//   An error occurred while processing the request.
3825//
3826//   * InternalException
3827//   The request processing has failed because of an unknown error, exception
3828//   or failure (the failure is internal to the service) . Gives http status code
3829//   of 500.
3830//
3831//   * InvalidTypeException
3832//   An exception for trying to create or access sub-resource that is either invalid
3833//   or not supported. Gives http status code of 409.
3834//
3835//   * LimitExceededException
3836//   An exception for trying to create more than allowed resources or sub-resources.
3837//   Gives http status code of 409.
3838//
3839//   * ResourceNotFoundException
3840//   An exception for accessing or deleting a resource that does not exist. Gives
3841//   http status code of 400.
3842//
3843//   * ValidationException
3844//   An exception for missing / invalid input fields. Gives http status code of
3845//   400.
3846//
3847func (c *ElasticsearchService) UpdateElasticsearchDomainConfig(input *UpdateElasticsearchDomainConfigInput) (*UpdateElasticsearchDomainConfigOutput, error) {
3848	req, out := c.UpdateElasticsearchDomainConfigRequest(input)
3849	return out, req.Send()
3850}
3851
3852// UpdateElasticsearchDomainConfigWithContext is the same as UpdateElasticsearchDomainConfig with the addition of
3853// the ability to pass a context and additional request options.
3854//
3855// See UpdateElasticsearchDomainConfig for details on how to use this API operation.
3856//
3857// The context must be non-nil and will be used for request cancellation. If
3858// the context is nil a panic will occur. In the future the SDK may create
3859// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3860// for more information on using Contexts.
3861func (c *ElasticsearchService) UpdateElasticsearchDomainConfigWithContext(ctx aws.Context, input *UpdateElasticsearchDomainConfigInput, opts ...request.Option) (*UpdateElasticsearchDomainConfigOutput, error) {
3862	req, out := c.UpdateElasticsearchDomainConfigRequest(input)
3863	req.SetContext(ctx)
3864	req.ApplyOptions(opts...)
3865	return out, req.Send()
3866}
3867
3868const opUpgradeElasticsearchDomain = "UpgradeElasticsearchDomain"
3869
3870// UpgradeElasticsearchDomainRequest generates a "aws/request.Request" representing the
3871// client's request for the UpgradeElasticsearchDomain operation. The "output" return
3872// value will be populated with the request's response once the request completes
3873// successfully.
3874//
3875// Use "Send" method on the returned Request to send the API call to the service.
3876// the "output" return value is not valid until after Send returns without error.
3877//
3878// See UpgradeElasticsearchDomain for more information on using the UpgradeElasticsearchDomain
3879// API call, and error handling.
3880//
3881// This method is useful when you want to inject custom logic or configuration
3882// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3883//
3884//
3885//    // Example sending a request using the UpgradeElasticsearchDomainRequest method.
3886//    req, resp := client.UpgradeElasticsearchDomainRequest(params)
3887//
3888//    err := req.Send()
3889//    if err == nil { // resp is now filled
3890//        fmt.Println(resp)
3891//    }
3892func (c *ElasticsearchService) UpgradeElasticsearchDomainRequest(input *UpgradeElasticsearchDomainInput) (req *request.Request, output *UpgradeElasticsearchDomainOutput) {
3893	op := &request.Operation{
3894		Name:       opUpgradeElasticsearchDomain,
3895		HTTPMethod: "POST",
3896		HTTPPath:   "/2015-01-01/es/upgradeDomain",
3897	}
3898
3899	if input == nil {
3900		input = &UpgradeElasticsearchDomainInput{}
3901	}
3902
3903	output = &UpgradeElasticsearchDomainOutput{}
3904	req = c.newRequest(op, input, output)
3905	return
3906}
3907
3908// UpgradeElasticsearchDomain API operation for Amazon Elasticsearch Service.
3909//
3910// Allows you to either upgrade your domain or perform an Upgrade eligibility
3911// check to a compatible Elasticsearch version.
3912//
3913// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3914// with awserr.Error's Code and Message methods to get detailed information about
3915// the error.
3916//
3917// See the AWS API reference guide for Amazon Elasticsearch Service's
3918// API operation UpgradeElasticsearchDomain for usage and error information.
3919//
3920// Returned Error Types:
3921//   * BaseException
3922//   An error occurred while processing the request.
3923//
3924//   * ResourceNotFoundException
3925//   An exception for accessing or deleting a resource that does not exist. Gives
3926//   http status code of 400.
3927//
3928//   * ResourceAlreadyExistsException
3929//   An exception for creating a resource that already exists. Gives http status
3930//   code of 400.
3931//
3932//   * DisabledOperationException
3933//   An error occured because the client wanted to access a not supported operation.
3934//   Gives http status code of 409.
3935//
3936//   * ValidationException
3937//   An exception for missing / invalid input fields. Gives http status code of
3938//   400.
3939//
3940//   * InternalException
3941//   The request processing has failed because of an unknown error, exception
3942//   or failure (the failure is internal to the service) . Gives http status code
3943//   of 500.
3944//
3945func (c *ElasticsearchService) UpgradeElasticsearchDomain(input *UpgradeElasticsearchDomainInput) (*UpgradeElasticsearchDomainOutput, error) {
3946	req, out := c.UpgradeElasticsearchDomainRequest(input)
3947	return out, req.Send()
3948}
3949
3950// UpgradeElasticsearchDomainWithContext is the same as UpgradeElasticsearchDomain with the addition of
3951// the ability to pass a context and additional request options.
3952//
3953// See UpgradeElasticsearchDomain for details on how to use this API operation.
3954//
3955// The context must be non-nil and will be used for request cancellation. If
3956// the context is nil a panic will occur. In the future the SDK may create
3957// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3958// for more information on using Contexts.
3959func (c *ElasticsearchService) UpgradeElasticsearchDomainWithContext(ctx aws.Context, input *UpgradeElasticsearchDomainInput, opts ...request.Option) (*UpgradeElasticsearchDomainOutput, error) {
3960	req, out := c.UpgradeElasticsearchDomainRequest(input)
3961	req.SetContext(ctx)
3962	req.ApplyOptions(opts...)
3963	return out, req.Send()
3964}
3965
3966// Container for the parameters to the AcceptInboundCrossClusterSearchConnection
3967// operation.
3968type AcceptInboundCrossClusterSearchConnectionInput struct {
3969	_ struct{} `type:"structure"`
3970
3971	// The id of the inbound connection that you want to accept.
3972	//
3973	// CrossClusterSearchConnectionId is a required field
3974	CrossClusterSearchConnectionId *string `location:"uri" locationName:"ConnectionId" type:"string" required:"true"`
3975}
3976
3977// String returns the string representation
3978func (s AcceptInboundCrossClusterSearchConnectionInput) String() string {
3979	return awsutil.Prettify(s)
3980}
3981
3982// GoString returns the string representation
3983func (s AcceptInboundCrossClusterSearchConnectionInput) GoString() string {
3984	return s.String()
3985}
3986
3987// Validate inspects the fields of the type to determine if they are valid.
3988func (s *AcceptInboundCrossClusterSearchConnectionInput) Validate() error {
3989	invalidParams := request.ErrInvalidParams{Context: "AcceptInboundCrossClusterSearchConnectionInput"}
3990	if s.CrossClusterSearchConnectionId == nil {
3991		invalidParams.Add(request.NewErrParamRequired("CrossClusterSearchConnectionId"))
3992	}
3993	if s.CrossClusterSearchConnectionId != nil && len(*s.CrossClusterSearchConnectionId) < 1 {
3994		invalidParams.Add(request.NewErrParamMinLen("CrossClusterSearchConnectionId", 1))
3995	}
3996
3997	if invalidParams.Len() > 0 {
3998		return invalidParams
3999	}
4000	return nil
4001}
4002
4003// SetCrossClusterSearchConnectionId sets the CrossClusterSearchConnectionId field's value.
4004func (s *AcceptInboundCrossClusterSearchConnectionInput) SetCrossClusterSearchConnectionId(v string) *AcceptInboundCrossClusterSearchConnectionInput {
4005	s.CrossClusterSearchConnectionId = &v
4006	return s
4007}
4008
4009// The result of a AcceptInboundCrossClusterSearchConnection operation. Contains
4010// details of accepted inbound connection.
4011type AcceptInboundCrossClusterSearchConnectionOutput struct {
4012	_ struct{} `type:"structure"`
4013
4014	// Specifies the InboundCrossClusterSearchConnection of accepted inbound connection.
4015	CrossClusterSearchConnection *InboundCrossClusterSearchConnection `type:"structure"`
4016}
4017
4018// String returns the string representation
4019func (s AcceptInboundCrossClusterSearchConnectionOutput) String() string {
4020	return awsutil.Prettify(s)
4021}
4022
4023// GoString returns the string representation
4024func (s AcceptInboundCrossClusterSearchConnectionOutput) GoString() string {
4025	return s.String()
4026}
4027
4028// SetCrossClusterSearchConnection sets the CrossClusterSearchConnection field's value.
4029func (s *AcceptInboundCrossClusterSearchConnectionOutput) SetCrossClusterSearchConnection(v *InboundCrossClusterSearchConnection) *AcceptInboundCrossClusterSearchConnectionOutput {
4030	s.CrossClusterSearchConnection = v
4031	return s
4032}
4033
4034// An error occurred because user does not have permissions to access the resource.
4035// Returns HTTP status code 403.
4036type AccessDeniedException struct {
4037	_            struct{}                  `type:"structure"`
4038	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4039
4040	Message_ *string `locationName:"message" type:"string"`
4041}
4042
4043// String returns the string representation
4044func (s AccessDeniedException) String() string {
4045	return awsutil.Prettify(s)
4046}
4047
4048// GoString returns the string representation
4049func (s AccessDeniedException) GoString() string {
4050	return s.String()
4051}
4052
4053func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
4054	return &AccessDeniedException{
4055		RespMetadata: v,
4056	}
4057}
4058
4059// Code returns the exception type name.
4060func (s *AccessDeniedException) Code() string {
4061	return "AccessDeniedException"
4062}
4063
4064// Message returns the exception's message.
4065func (s *AccessDeniedException) Message() string {
4066	if s.Message_ != nil {
4067		return *s.Message_
4068	}
4069	return ""
4070}
4071
4072// OrigErr always returns nil, satisfies awserr.Error interface.
4073func (s *AccessDeniedException) OrigErr() error {
4074	return nil
4075}
4076
4077func (s *AccessDeniedException) Error() string {
4078	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4079}
4080
4081// Status code returns the HTTP status code for the request's response error.
4082func (s *AccessDeniedException) StatusCode() int {
4083	return s.RespMetadata.StatusCode
4084}
4085
4086// RequestID returns the service's response RequestID for request.
4087func (s *AccessDeniedException) RequestID() string {
4088	return s.RespMetadata.RequestID
4089}
4090
4091// The configured access rules for the domain's document and search endpoints,
4092// and the current status of those rules.
4093type AccessPoliciesStatus struct {
4094	_ struct{} `type:"structure"`
4095
4096	// The access policy configured for the Elasticsearch domain. Access policies
4097	// may be resource-based, IP-based, or IAM-based. See Configuring Access Policies
4098	// (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomain-configure-access-policies)for
4099	// more information.
4100	//
4101	// Options is a required field
4102	Options *string `type:"string" required:"true"`
4103
4104	// The status of the access policy for the Elasticsearch domain. See OptionStatus
4105	// for the status information that's included.
4106	//
4107	// Status is a required field
4108	Status *OptionStatus `type:"structure" required:"true"`
4109}
4110
4111// String returns the string representation
4112func (s AccessPoliciesStatus) String() string {
4113	return awsutil.Prettify(s)
4114}
4115
4116// GoString returns the string representation
4117func (s AccessPoliciesStatus) GoString() string {
4118	return s.String()
4119}
4120
4121// SetOptions sets the Options field's value.
4122func (s *AccessPoliciesStatus) SetOptions(v string) *AccessPoliciesStatus {
4123	s.Options = &v
4124	return s
4125}
4126
4127// SetStatus sets the Status field's value.
4128func (s *AccessPoliciesStatus) SetStatus(v *OptionStatus) *AccessPoliciesStatus {
4129	s.Status = v
4130	return s
4131}
4132
4133// Container for the parameters to the AddTags operation. Specify the tags that
4134// you want to attach to the Elasticsearch domain.
4135type AddTagsInput struct {
4136	_ struct{} `type:"structure"`
4137
4138	// Specify the ARN for which you want to add the tags.
4139	//
4140	// ARN is a required field
4141	ARN *string `type:"string" required:"true"`
4142
4143	// List of Tag that need to be added for the Elasticsearch domain.
4144	//
4145	// TagList is a required field
4146	TagList []*Tag `type:"list" required:"true"`
4147}
4148
4149// String returns the string representation
4150func (s AddTagsInput) String() string {
4151	return awsutil.Prettify(s)
4152}
4153
4154// GoString returns the string representation
4155func (s AddTagsInput) GoString() string {
4156	return s.String()
4157}
4158
4159// Validate inspects the fields of the type to determine if they are valid.
4160func (s *AddTagsInput) Validate() error {
4161	invalidParams := request.ErrInvalidParams{Context: "AddTagsInput"}
4162	if s.ARN == nil {
4163		invalidParams.Add(request.NewErrParamRequired("ARN"))
4164	}
4165	if s.TagList == nil {
4166		invalidParams.Add(request.NewErrParamRequired("TagList"))
4167	}
4168	if s.TagList != nil {
4169		for i, v := range s.TagList {
4170			if v == nil {
4171				continue
4172			}
4173			if err := v.Validate(); err != nil {
4174				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TagList", i), err.(request.ErrInvalidParams))
4175			}
4176		}
4177	}
4178
4179	if invalidParams.Len() > 0 {
4180		return invalidParams
4181	}
4182	return nil
4183}
4184
4185// SetARN sets the ARN field's value.
4186func (s *AddTagsInput) SetARN(v string) *AddTagsInput {
4187	s.ARN = &v
4188	return s
4189}
4190
4191// SetTagList sets the TagList field's value.
4192func (s *AddTagsInput) SetTagList(v []*Tag) *AddTagsInput {
4193	s.TagList = v
4194	return s
4195}
4196
4197type AddTagsOutput struct {
4198	_ struct{} `type:"structure"`
4199}
4200
4201// String returns the string representation
4202func (s AddTagsOutput) String() string {
4203	return awsutil.Prettify(s)
4204}
4205
4206// GoString returns the string representation
4207func (s AddTagsOutput) GoString() string {
4208	return s.String()
4209}
4210
4211// List of limits that are specific to a given InstanceType and for each of
4212// it's InstanceRole .
4213type AdditionalLimit struct {
4214	_ struct{} `type:"structure"`
4215
4216	// Name of Additional Limit is specific to a given InstanceType and for each
4217	// of it's InstanceRole etc. Attributes and their details:
4218	//    * MaximumNumberOfDataNodesSupported
4219	//
4220	//    * MaximumNumberOfDataNodesWithoutMasterNode
4221	LimitName *string `type:"string"`
4222
4223	// Value for given AdditionalLimit$LimitName .
4224	LimitValues []*string `type:"list"`
4225}
4226
4227// String returns the string representation
4228func (s AdditionalLimit) String() string {
4229	return awsutil.Prettify(s)
4230}
4231
4232// GoString returns the string representation
4233func (s AdditionalLimit) GoString() string {
4234	return s.String()
4235}
4236
4237// SetLimitName sets the LimitName field's value.
4238func (s *AdditionalLimit) SetLimitName(v string) *AdditionalLimit {
4239	s.LimitName = &v
4240	return s
4241}
4242
4243// SetLimitValues sets the LimitValues field's value.
4244func (s *AdditionalLimit) SetLimitValues(v []*string) *AdditionalLimit {
4245	s.LimitValues = v
4246	return s
4247}
4248
4249// Status of the advanced options for the specified Elasticsearch domain. Currently,
4250// the following advanced options are available:
4251//
4252//    * Option to allow references to indices in an HTTP request body. Must
4253//    be false when configuring access to individual sub-resources. By default,
4254//    the value is true. See Configuration Advanced Options for more information.
4255//
4256//    * Option to specify the percentage of heap space that is allocated to
4257//    field data. By default, this setting is unbounded.
4258//
4259// For more information, see Configuring Advanced Options (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomain-configure-advanced-options).
4260type AdvancedOptionsStatus struct {
4261	_ struct{} `type:"structure"`
4262
4263	// Specifies the status of advanced options for the specified Elasticsearch
4264	// domain.
4265	//
4266	// Options is a required field
4267	Options map[string]*string `type:"map" required:"true"`
4268
4269	// Specifies the status of OptionStatus for advanced options for the specified
4270	// Elasticsearch domain.
4271	//
4272	// Status is a required field
4273	Status *OptionStatus `type:"structure" required:"true"`
4274}
4275
4276// String returns the string representation
4277func (s AdvancedOptionsStatus) String() string {
4278	return awsutil.Prettify(s)
4279}
4280
4281// GoString returns the string representation
4282func (s AdvancedOptionsStatus) GoString() string {
4283	return s.String()
4284}
4285
4286// SetOptions sets the Options field's value.
4287func (s *AdvancedOptionsStatus) SetOptions(v map[string]*string) *AdvancedOptionsStatus {
4288	s.Options = v
4289	return s
4290}
4291
4292// SetStatus sets the Status field's value.
4293func (s *AdvancedOptionsStatus) SetStatus(v *OptionStatus) *AdvancedOptionsStatus {
4294	s.Status = v
4295	return s
4296}
4297
4298// Specifies the advanced security configuration: whether advanced security
4299// is enabled, whether the internal database option is enabled.
4300type AdvancedSecurityOptions struct {
4301	_ struct{} `type:"structure"`
4302
4303	// True if advanced security is enabled.
4304	Enabled *bool `type:"boolean"`
4305
4306	// True if the internal user database is enabled.
4307	InternalUserDatabaseEnabled *bool `type:"boolean"`
4308}
4309
4310// String returns the string representation
4311func (s AdvancedSecurityOptions) String() string {
4312	return awsutil.Prettify(s)
4313}
4314
4315// GoString returns the string representation
4316func (s AdvancedSecurityOptions) GoString() string {
4317	return s.String()
4318}
4319
4320// SetEnabled sets the Enabled field's value.
4321func (s *AdvancedSecurityOptions) SetEnabled(v bool) *AdvancedSecurityOptions {
4322	s.Enabled = &v
4323	return s
4324}
4325
4326// SetInternalUserDatabaseEnabled sets the InternalUserDatabaseEnabled field's value.
4327func (s *AdvancedSecurityOptions) SetInternalUserDatabaseEnabled(v bool) *AdvancedSecurityOptions {
4328	s.InternalUserDatabaseEnabled = &v
4329	return s
4330}
4331
4332// Specifies the advanced security configuration: whether advanced security
4333// is enabled, whether the internal database option is enabled, master username
4334// and password (if internal database is enabled), and master user ARN (if IAM
4335// is enabled).
4336type AdvancedSecurityOptionsInput struct {
4337	_ struct{} `type:"structure"`
4338
4339	// True if advanced security is enabled.
4340	Enabled *bool `type:"boolean"`
4341
4342	// True if the internal user database is enabled.
4343	InternalUserDatabaseEnabled *bool `type:"boolean"`
4344
4345	// Credentials for the master user: username and password, ARN, or both.
4346	MasterUserOptions *MasterUserOptions `type:"structure"`
4347}
4348
4349// String returns the string representation
4350func (s AdvancedSecurityOptionsInput) String() string {
4351	return awsutil.Prettify(s)
4352}
4353
4354// GoString returns the string representation
4355func (s AdvancedSecurityOptionsInput) GoString() string {
4356	return s.String()
4357}
4358
4359// Validate inspects the fields of the type to determine if they are valid.
4360func (s *AdvancedSecurityOptionsInput) Validate() error {
4361	invalidParams := request.ErrInvalidParams{Context: "AdvancedSecurityOptionsInput"}
4362	if s.MasterUserOptions != nil {
4363		if err := s.MasterUserOptions.Validate(); err != nil {
4364			invalidParams.AddNested("MasterUserOptions", err.(request.ErrInvalidParams))
4365		}
4366	}
4367
4368	if invalidParams.Len() > 0 {
4369		return invalidParams
4370	}
4371	return nil
4372}
4373
4374// SetEnabled sets the Enabled field's value.
4375func (s *AdvancedSecurityOptionsInput) SetEnabled(v bool) *AdvancedSecurityOptionsInput {
4376	s.Enabled = &v
4377	return s
4378}
4379
4380// SetInternalUserDatabaseEnabled sets the InternalUserDatabaseEnabled field's value.
4381func (s *AdvancedSecurityOptionsInput) SetInternalUserDatabaseEnabled(v bool) *AdvancedSecurityOptionsInput {
4382	s.InternalUserDatabaseEnabled = &v
4383	return s
4384}
4385
4386// SetMasterUserOptions sets the MasterUserOptions field's value.
4387func (s *AdvancedSecurityOptionsInput) SetMasterUserOptions(v *MasterUserOptions) *AdvancedSecurityOptionsInput {
4388	s.MasterUserOptions = v
4389	return s
4390}
4391
4392// Specifies the status of advanced security options for the specified Elasticsearch
4393// domain.
4394type AdvancedSecurityOptionsStatus struct {
4395	_ struct{} `type:"structure"`
4396
4397	// Specifies advanced security options for the specified Elasticsearch domain.
4398	//
4399	// Options is a required field
4400	Options *AdvancedSecurityOptions `type:"structure" required:"true"`
4401
4402	// Status of the advanced security options for the specified Elasticsearch domain.
4403	//
4404	// Status is a required field
4405	Status *OptionStatus `type:"structure" required:"true"`
4406}
4407
4408// String returns the string representation
4409func (s AdvancedSecurityOptionsStatus) String() string {
4410	return awsutil.Prettify(s)
4411}
4412
4413// GoString returns the string representation
4414func (s AdvancedSecurityOptionsStatus) GoString() string {
4415	return s.String()
4416}
4417
4418// SetOptions sets the Options field's value.
4419func (s *AdvancedSecurityOptionsStatus) SetOptions(v *AdvancedSecurityOptions) *AdvancedSecurityOptionsStatus {
4420	s.Options = v
4421	return s
4422}
4423
4424// SetStatus sets the Status field's value.
4425func (s *AdvancedSecurityOptionsStatus) SetStatus(v *OptionStatus) *AdvancedSecurityOptionsStatus {
4426	s.Status = v
4427	return s
4428}
4429
4430// Container for request parameters to AssociatePackage operation.
4431type AssociatePackageInput struct {
4432	_ struct{} `type:"structure"`
4433
4434	// Name of the domain that you want to associate the package with.
4435	//
4436	// DomainName is a required field
4437	DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"`
4438
4439	// Internal ID of the package that you want to associate with a domain. Use
4440	// DescribePackages to find this value.
4441	//
4442	// PackageID is a required field
4443	PackageID *string `location:"uri" locationName:"PackageID" type:"string" required:"true"`
4444}
4445
4446// String returns the string representation
4447func (s AssociatePackageInput) String() string {
4448	return awsutil.Prettify(s)
4449}
4450
4451// GoString returns the string representation
4452func (s AssociatePackageInput) GoString() string {
4453	return s.String()
4454}
4455
4456// Validate inspects the fields of the type to determine if they are valid.
4457func (s *AssociatePackageInput) Validate() error {
4458	invalidParams := request.ErrInvalidParams{Context: "AssociatePackageInput"}
4459	if s.DomainName == nil {
4460		invalidParams.Add(request.NewErrParamRequired("DomainName"))
4461	}
4462	if s.DomainName != nil && len(*s.DomainName) < 3 {
4463		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
4464	}
4465	if s.PackageID == nil {
4466		invalidParams.Add(request.NewErrParamRequired("PackageID"))
4467	}
4468	if s.PackageID != nil && len(*s.PackageID) < 1 {
4469		invalidParams.Add(request.NewErrParamMinLen("PackageID", 1))
4470	}
4471
4472	if invalidParams.Len() > 0 {
4473		return invalidParams
4474	}
4475	return nil
4476}
4477
4478// SetDomainName sets the DomainName field's value.
4479func (s *AssociatePackageInput) SetDomainName(v string) *AssociatePackageInput {
4480	s.DomainName = &v
4481	return s
4482}
4483
4484// SetPackageID sets the PackageID field's value.
4485func (s *AssociatePackageInput) SetPackageID(v string) *AssociatePackageInput {
4486	s.PackageID = &v
4487	return s
4488}
4489
4490// Container for response returned by AssociatePackage operation.
4491type AssociatePackageOutput struct {
4492	_ struct{} `type:"structure"`
4493
4494	// DomainPackageDetails
4495	DomainPackageDetails *DomainPackageDetails `type:"structure"`
4496}
4497
4498// String returns the string representation
4499func (s AssociatePackageOutput) String() string {
4500	return awsutil.Prettify(s)
4501}
4502
4503// GoString returns the string representation
4504func (s AssociatePackageOutput) GoString() string {
4505	return s.String()
4506}
4507
4508// SetDomainPackageDetails sets the DomainPackageDetails field's value.
4509func (s *AssociatePackageOutput) SetDomainPackageDetails(v *DomainPackageDetails) *AssociatePackageOutput {
4510	s.DomainPackageDetails = v
4511	return s
4512}
4513
4514// An error occurred while processing the request.
4515type BaseException struct {
4516	_            struct{}                  `type:"structure"`
4517	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4518
4519	// A description of the error.
4520	Message_ *string `locationName:"message" type:"string"`
4521}
4522
4523// String returns the string representation
4524func (s BaseException) String() string {
4525	return awsutil.Prettify(s)
4526}
4527
4528// GoString returns the string representation
4529func (s BaseException) GoString() string {
4530	return s.String()
4531}
4532
4533func newErrorBaseException(v protocol.ResponseMetadata) error {
4534	return &BaseException{
4535		RespMetadata: v,
4536	}
4537}
4538
4539// Code returns the exception type name.
4540func (s *BaseException) Code() string {
4541	return "BaseException"
4542}
4543
4544// Message returns the exception's message.
4545func (s *BaseException) Message() string {
4546	if s.Message_ != nil {
4547		return *s.Message_
4548	}
4549	return ""
4550}
4551
4552// OrigErr always returns nil, satisfies awserr.Error interface.
4553func (s *BaseException) OrigErr() error {
4554	return nil
4555}
4556
4557func (s *BaseException) Error() string {
4558	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4559}
4560
4561// Status code returns the HTTP status code for the request's response error.
4562func (s *BaseException) StatusCode() int {
4563	return s.RespMetadata.StatusCode
4564}
4565
4566// RequestID returns the service's response RequestID for request.
4567func (s *BaseException) RequestID() string {
4568	return s.RespMetadata.RequestID
4569}
4570
4571// Container for the parameters to the CancelElasticsearchServiceSoftwareUpdate
4572// operation. Specifies the name of the Elasticsearch domain that you wish to
4573// cancel a service software update on.
4574type CancelElasticsearchServiceSoftwareUpdateInput struct {
4575	_ struct{} `type:"structure"`
4576
4577	// The name of the domain that you want to stop the latest service software
4578	// update on.
4579	//
4580	// DomainName is a required field
4581	DomainName *string `min:"3" type:"string" required:"true"`
4582}
4583
4584// String returns the string representation
4585func (s CancelElasticsearchServiceSoftwareUpdateInput) String() string {
4586	return awsutil.Prettify(s)
4587}
4588
4589// GoString returns the string representation
4590func (s CancelElasticsearchServiceSoftwareUpdateInput) GoString() string {
4591	return s.String()
4592}
4593
4594// Validate inspects the fields of the type to determine if they are valid.
4595func (s *CancelElasticsearchServiceSoftwareUpdateInput) Validate() error {
4596	invalidParams := request.ErrInvalidParams{Context: "CancelElasticsearchServiceSoftwareUpdateInput"}
4597	if s.DomainName == nil {
4598		invalidParams.Add(request.NewErrParamRequired("DomainName"))
4599	}
4600	if s.DomainName != nil && len(*s.DomainName) < 3 {
4601		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
4602	}
4603
4604	if invalidParams.Len() > 0 {
4605		return invalidParams
4606	}
4607	return nil
4608}
4609
4610// SetDomainName sets the DomainName field's value.
4611func (s *CancelElasticsearchServiceSoftwareUpdateInput) SetDomainName(v string) *CancelElasticsearchServiceSoftwareUpdateInput {
4612	s.DomainName = &v
4613	return s
4614}
4615
4616// The result of a CancelElasticsearchServiceSoftwareUpdate operation. Contains
4617// the status of the update.
4618type CancelElasticsearchServiceSoftwareUpdateOutput struct {
4619	_ struct{} `type:"structure"`
4620
4621	// The current status of the Elasticsearch service software update.
4622	ServiceSoftwareOptions *ServiceSoftwareOptions `type:"structure"`
4623}
4624
4625// String returns the string representation
4626func (s CancelElasticsearchServiceSoftwareUpdateOutput) String() string {
4627	return awsutil.Prettify(s)
4628}
4629
4630// GoString returns the string representation
4631func (s CancelElasticsearchServiceSoftwareUpdateOutput) GoString() string {
4632	return s.String()
4633}
4634
4635// SetServiceSoftwareOptions sets the ServiceSoftwareOptions field's value.
4636func (s *CancelElasticsearchServiceSoftwareUpdateOutput) SetServiceSoftwareOptions(v *ServiceSoftwareOptions) *CancelElasticsearchServiceSoftwareUpdateOutput {
4637	s.ServiceSoftwareOptions = v
4638	return s
4639}
4640
4641// Options to specify the Cognito user and identity pools for Kibana authentication.
4642// For more information, see Amazon Cognito Authentication for Kibana (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-cognito-auth.html).
4643type CognitoOptions struct {
4644	_ struct{} `type:"structure"`
4645
4646	// Specifies the option to enable Cognito for Kibana authentication.
4647	Enabled *bool `type:"boolean"`
4648
4649	// Specifies the Cognito identity pool ID for Kibana authentication.
4650	IdentityPoolId *string `min:"1" type:"string"`
4651
4652	// Specifies the role ARN that provides Elasticsearch permissions for accessing
4653	// Cognito resources.
4654	RoleArn *string `min:"20" type:"string"`
4655
4656	// Specifies the Cognito user pool ID for Kibana authentication.
4657	UserPoolId *string `min:"1" type:"string"`
4658}
4659
4660// String returns the string representation
4661func (s CognitoOptions) String() string {
4662	return awsutil.Prettify(s)
4663}
4664
4665// GoString returns the string representation
4666func (s CognitoOptions) GoString() string {
4667	return s.String()
4668}
4669
4670// Validate inspects the fields of the type to determine if they are valid.
4671func (s *CognitoOptions) Validate() error {
4672	invalidParams := request.ErrInvalidParams{Context: "CognitoOptions"}
4673	if s.IdentityPoolId != nil && len(*s.IdentityPoolId) < 1 {
4674		invalidParams.Add(request.NewErrParamMinLen("IdentityPoolId", 1))
4675	}
4676	if s.RoleArn != nil && len(*s.RoleArn) < 20 {
4677		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20))
4678	}
4679	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
4680		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
4681	}
4682
4683	if invalidParams.Len() > 0 {
4684		return invalidParams
4685	}
4686	return nil
4687}
4688
4689// SetEnabled sets the Enabled field's value.
4690func (s *CognitoOptions) SetEnabled(v bool) *CognitoOptions {
4691	s.Enabled = &v
4692	return s
4693}
4694
4695// SetIdentityPoolId sets the IdentityPoolId field's value.
4696func (s *CognitoOptions) SetIdentityPoolId(v string) *CognitoOptions {
4697	s.IdentityPoolId = &v
4698	return s
4699}
4700
4701// SetRoleArn sets the RoleArn field's value.
4702func (s *CognitoOptions) SetRoleArn(v string) *CognitoOptions {
4703	s.RoleArn = &v
4704	return s
4705}
4706
4707// SetUserPoolId sets the UserPoolId field's value.
4708func (s *CognitoOptions) SetUserPoolId(v string) *CognitoOptions {
4709	s.UserPoolId = &v
4710	return s
4711}
4712
4713// Status of the Cognito options for the specified Elasticsearch domain.
4714type CognitoOptionsStatus struct {
4715	_ struct{} `type:"structure"`
4716
4717	// Specifies the Cognito options for the specified Elasticsearch domain.
4718	//
4719	// Options is a required field
4720	Options *CognitoOptions `type:"structure" required:"true"`
4721
4722	// Specifies the status of the Cognito options for the specified Elasticsearch
4723	// domain.
4724	//
4725	// Status is a required field
4726	Status *OptionStatus `type:"structure" required:"true"`
4727}
4728
4729// String returns the string representation
4730func (s CognitoOptionsStatus) String() string {
4731	return awsutil.Prettify(s)
4732}
4733
4734// GoString returns the string representation
4735func (s CognitoOptionsStatus) GoString() string {
4736	return s.String()
4737}
4738
4739// SetOptions sets the Options field's value.
4740func (s *CognitoOptionsStatus) SetOptions(v *CognitoOptions) *CognitoOptionsStatus {
4741	s.Options = v
4742	return s
4743}
4744
4745// SetStatus sets the Status field's value.
4746func (s *CognitoOptionsStatus) SetStatus(v *OptionStatus) *CognitoOptionsStatus {
4747	s.Status = v
4748	return s
4749}
4750
4751// A map from an ElasticsearchVersion to a list of compatible ElasticsearchVersion
4752// s to which the domain can be upgraded.
4753type CompatibleVersionsMap struct {
4754	_ struct{} `type:"structure"`
4755
4756	// The current version of Elasticsearch on which a domain is.
4757	SourceVersion *string `type:"string"`
4758
4759	// List of supported elastic search versions.
4760	TargetVersions []*string `type:"list"`
4761}
4762
4763// String returns the string representation
4764func (s CompatibleVersionsMap) String() string {
4765	return awsutil.Prettify(s)
4766}
4767
4768// GoString returns the string representation
4769func (s CompatibleVersionsMap) GoString() string {
4770	return s.String()
4771}
4772
4773// SetSourceVersion sets the SourceVersion field's value.
4774func (s *CompatibleVersionsMap) SetSourceVersion(v string) *CompatibleVersionsMap {
4775	s.SourceVersion = &v
4776	return s
4777}
4778
4779// SetTargetVersions sets the TargetVersions field's value.
4780func (s *CompatibleVersionsMap) SetTargetVersions(v []*string) *CompatibleVersionsMap {
4781	s.TargetVersions = v
4782	return s
4783}
4784
4785// An error occurred because the client attempts to remove a resource that is
4786// currently in use. Returns HTTP status code 409.
4787type ConflictException struct {
4788	_            struct{}                  `type:"structure"`
4789	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4790
4791	Message_ *string `locationName:"message" type:"string"`
4792}
4793
4794// String returns the string representation
4795func (s ConflictException) String() string {
4796	return awsutil.Prettify(s)
4797}
4798
4799// GoString returns the string representation
4800func (s ConflictException) GoString() string {
4801	return s.String()
4802}
4803
4804func newErrorConflictException(v protocol.ResponseMetadata) error {
4805	return &ConflictException{
4806		RespMetadata: v,
4807	}
4808}
4809
4810// Code returns the exception type name.
4811func (s *ConflictException) Code() string {
4812	return "ConflictException"
4813}
4814
4815// Message returns the exception's message.
4816func (s *ConflictException) Message() string {
4817	if s.Message_ != nil {
4818		return *s.Message_
4819	}
4820	return ""
4821}
4822
4823// OrigErr always returns nil, satisfies awserr.Error interface.
4824func (s *ConflictException) OrigErr() error {
4825	return nil
4826}
4827
4828func (s *ConflictException) Error() string {
4829	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4830}
4831
4832// Status code returns the HTTP status code for the request's response error.
4833func (s *ConflictException) StatusCode() int {
4834	return s.RespMetadata.StatusCode
4835}
4836
4837// RequestID returns the service's response RequestID for request.
4838func (s *ConflictException) RequestID() string {
4839	return s.RespMetadata.RequestID
4840}
4841
4842type CreateElasticsearchDomainInput struct {
4843	_ struct{} `type:"structure"`
4844
4845	// IAM access policy as a JSON-formatted string.
4846	AccessPolicies *string `type:"string"`
4847
4848	// Option to allow references to indices in an HTTP request body. Must be false
4849	// when configuring access to individual sub-resources. By default, the value
4850	// is true. See Configuration Advanced Options (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomain-configure-advanced-options)
4851	// for more information.
4852	AdvancedOptions map[string]*string `type:"map"`
4853
4854	// Specifies advanced security options.
4855	AdvancedSecurityOptions *AdvancedSecurityOptionsInput `type:"structure"`
4856
4857	// Options to specify the Cognito user and identity pools for Kibana authentication.
4858	// For more information, see Amazon Cognito Authentication for Kibana (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-cognito-auth.html).
4859	CognitoOptions *CognitoOptions `type:"structure"`
4860
4861	// Options to specify configuration that will be applied to the domain endpoint.
4862	DomainEndpointOptions *DomainEndpointOptions `type:"structure"`
4863
4864	// The name of the Elasticsearch domain that you are creating. Domain names
4865	// are unique across the domains owned by an account within an AWS region. Domain
4866	// names must start with a lowercase letter and can contain the following characters:
4867	// a-z (lowercase), 0-9, and - (hyphen).
4868	//
4869	// DomainName is a required field
4870	DomainName *string `min:"3" type:"string" required:"true"`
4871
4872	// Options to enable, disable and specify the type and size of EBS storage volumes.
4873	EBSOptions *EBSOptions `type:"structure"`
4874
4875	// Configuration options for an Elasticsearch domain. Specifies the instance
4876	// type and number of instances in the domain cluster.
4877	ElasticsearchClusterConfig *ElasticsearchClusterConfig `type:"structure"`
4878
4879	// String of format X.Y to specify version for the Elasticsearch domain eg.
4880	// "1.5" or "2.3". For more information, see Creating Elasticsearch Domains
4881	// (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomains)
4882	// in the Amazon Elasticsearch Service Developer Guide.
4883	ElasticsearchVersion *string `type:"string"`
4884
4885	// Specifies the Encryption At Rest Options.
4886	EncryptionAtRestOptions *EncryptionAtRestOptions `type:"structure"`
4887
4888	// Map of LogType and LogPublishingOption, each containing options to publish
4889	// a given type of Elasticsearch log.
4890	LogPublishingOptions map[string]*LogPublishingOption `type:"map"`
4891
4892	// Specifies the NodeToNodeEncryptionOptions.
4893	NodeToNodeEncryptionOptions *NodeToNodeEncryptionOptions `type:"structure"`
4894
4895	// Option to set time, in UTC format, of the daily automated snapshot. Default
4896	// value is 0 hours.
4897	SnapshotOptions *SnapshotOptions `type:"structure"`
4898
4899	// Options to specify the subnets and security groups for VPC endpoint. For
4900	// more information, see Creating a VPC (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-vpc.html#es-creating-vpc)
4901	// in VPC Endpoints for Amazon Elasticsearch Service Domains
4902	VPCOptions *VPCOptions `type:"structure"`
4903}
4904
4905// String returns the string representation
4906func (s CreateElasticsearchDomainInput) String() string {
4907	return awsutil.Prettify(s)
4908}
4909
4910// GoString returns the string representation
4911func (s CreateElasticsearchDomainInput) GoString() string {
4912	return s.String()
4913}
4914
4915// Validate inspects the fields of the type to determine if they are valid.
4916func (s *CreateElasticsearchDomainInput) Validate() error {
4917	invalidParams := request.ErrInvalidParams{Context: "CreateElasticsearchDomainInput"}
4918	if s.DomainName == nil {
4919		invalidParams.Add(request.NewErrParamRequired("DomainName"))
4920	}
4921	if s.DomainName != nil && len(*s.DomainName) < 3 {
4922		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
4923	}
4924	if s.AdvancedSecurityOptions != nil {
4925		if err := s.AdvancedSecurityOptions.Validate(); err != nil {
4926			invalidParams.AddNested("AdvancedSecurityOptions", err.(request.ErrInvalidParams))
4927		}
4928	}
4929	if s.CognitoOptions != nil {
4930		if err := s.CognitoOptions.Validate(); err != nil {
4931			invalidParams.AddNested("CognitoOptions", err.(request.ErrInvalidParams))
4932		}
4933	}
4934	if s.EncryptionAtRestOptions != nil {
4935		if err := s.EncryptionAtRestOptions.Validate(); err != nil {
4936			invalidParams.AddNested("EncryptionAtRestOptions", err.(request.ErrInvalidParams))
4937		}
4938	}
4939
4940	if invalidParams.Len() > 0 {
4941		return invalidParams
4942	}
4943	return nil
4944}
4945
4946// SetAccessPolicies sets the AccessPolicies field's value.
4947func (s *CreateElasticsearchDomainInput) SetAccessPolicies(v string) *CreateElasticsearchDomainInput {
4948	s.AccessPolicies = &v
4949	return s
4950}
4951
4952// SetAdvancedOptions sets the AdvancedOptions field's value.
4953func (s *CreateElasticsearchDomainInput) SetAdvancedOptions(v map[string]*string) *CreateElasticsearchDomainInput {
4954	s.AdvancedOptions = v
4955	return s
4956}
4957
4958// SetAdvancedSecurityOptions sets the AdvancedSecurityOptions field's value.
4959func (s *CreateElasticsearchDomainInput) SetAdvancedSecurityOptions(v *AdvancedSecurityOptionsInput) *CreateElasticsearchDomainInput {
4960	s.AdvancedSecurityOptions = v
4961	return s
4962}
4963
4964// SetCognitoOptions sets the CognitoOptions field's value.
4965func (s *CreateElasticsearchDomainInput) SetCognitoOptions(v *CognitoOptions) *CreateElasticsearchDomainInput {
4966	s.CognitoOptions = v
4967	return s
4968}
4969
4970// SetDomainEndpointOptions sets the DomainEndpointOptions field's value.
4971func (s *CreateElasticsearchDomainInput) SetDomainEndpointOptions(v *DomainEndpointOptions) *CreateElasticsearchDomainInput {
4972	s.DomainEndpointOptions = v
4973	return s
4974}
4975
4976// SetDomainName sets the DomainName field's value.
4977func (s *CreateElasticsearchDomainInput) SetDomainName(v string) *CreateElasticsearchDomainInput {
4978	s.DomainName = &v
4979	return s
4980}
4981
4982// SetEBSOptions sets the EBSOptions field's value.
4983func (s *CreateElasticsearchDomainInput) SetEBSOptions(v *EBSOptions) *CreateElasticsearchDomainInput {
4984	s.EBSOptions = v
4985	return s
4986}
4987
4988// SetElasticsearchClusterConfig sets the ElasticsearchClusterConfig field's value.
4989func (s *CreateElasticsearchDomainInput) SetElasticsearchClusterConfig(v *ElasticsearchClusterConfig) *CreateElasticsearchDomainInput {
4990	s.ElasticsearchClusterConfig = v
4991	return s
4992}
4993
4994// SetElasticsearchVersion sets the ElasticsearchVersion field's value.
4995func (s *CreateElasticsearchDomainInput) SetElasticsearchVersion(v string) *CreateElasticsearchDomainInput {
4996	s.ElasticsearchVersion = &v
4997	return s
4998}
4999
5000// SetEncryptionAtRestOptions sets the EncryptionAtRestOptions field's value.
5001func (s *CreateElasticsearchDomainInput) SetEncryptionAtRestOptions(v *EncryptionAtRestOptions) *CreateElasticsearchDomainInput {
5002	s.EncryptionAtRestOptions = v
5003	return s
5004}
5005
5006// SetLogPublishingOptions sets the LogPublishingOptions field's value.
5007func (s *CreateElasticsearchDomainInput) SetLogPublishingOptions(v map[string]*LogPublishingOption) *CreateElasticsearchDomainInput {
5008	s.LogPublishingOptions = v
5009	return s
5010}
5011
5012// SetNodeToNodeEncryptionOptions sets the NodeToNodeEncryptionOptions field's value.
5013func (s *CreateElasticsearchDomainInput) SetNodeToNodeEncryptionOptions(v *NodeToNodeEncryptionOptions) *CreateElasticsearchDomainInput {
5014	s.NodeToNodeEncryptionOptions = v
5015	return s
5016}
5017
5018// SetSnapshotOptions sets the SnapshotOptions field's value.
5019func (s *CreateElasticsearchDomainInput) SetSnapshotOptions(v *SnapshotOptions) *CreateElasticsearchDomainInput {
5020	s.SnapshotOptions = v
5021	return s
5022}
5023
5024// SetVPCOptions sets the VPCOptions field's value.
5025func (s *CreateElasticsearchDomainInput) SetVPCOptions(v *VPCOptions) *CreateElasticsearchDomainInput {
5026	s.VPCOptions = v
5027	return s
5028}
5029
5030// The result of a CreateElasticsearchDomain operation. Contains the status
5031// of the newly created Elasticsearch domain.
5032type CreateElasticsearchDomainOutput struct {
5033	_ struct{} `type:"structure"`
5034
5035	// The status of the newly created Elasticsearch domain.
5036	DomainStatus *ElasticsearchDomainStatus `type:"structure"`
5037}
5038
5039// String returns the string representation
5040func (s CreateElasticsearchDomainOutput) String() string {
5041	return awsutil.Prettify(s)
5042}
5043
5044// GoString returns the string representation
5045func (s CreateElasticsearchDomainOutput) GoString() string {
5046	return s.String()
5047}
5048
5049// SetDomainStatus sets the DomainStatus field's value.
5050func (s *CreateElasticsearchDomainOutput) SetDomainStatus(v *ElasticsearchDomainStatus) *CreateElasticsearchDomainOutput {
5051	s.DomainStatus = v
5052	return s
5053}
5054
5055// Container for the parameters to the CreateOutboundCrossClusterSearchConnection
5056// operation.
5057type CreateOutboundCrossClusterSearchConnectionInput struct {
5058	_ struct{} `type:"structure"`
5059
5060	// Specifies the connection alias that will be used by the customer for this
5061	// connection.
5062	//
5063	// ConnectionAlias is a required field
5064	ConnectionAlias *string `type:"string" required:"true"`
5065
5066	// Specifies the DomainInformation for the destination Elasticsearch domain.
5067	//
5068	// DestinationDomainInfo is a required field
5069	DestinationDomainInfo *DomainInformation `type:"structure" required:"true"`
5070
5071	// Specifies the DomainInformation for the source Elasticsearch domain.
5072	//
5073	// SourceDomainInfo is a required field
5074	SourceDomainInfo *DomainInformation `type:"structure" required:"true"`
5075}
5076
5077// String returns the string representation
5078func (s CreateOutboundCrossClusterSearchConnectionInput) String() string {
5079	return awsutil.Prettify(s)
5080}
5081
5082// GoString returns the string representation
5083func (s CreateOutboundCrossClusterSearchConnectionInput) GoString() string {
5084	return s.String()
5085}
5086
5087// Validate inspects the fields of the type to determine if they are valid.
5088func (s *CreateOutboundCrossClusterSearchConnectionInput) Validate() error {
5089	invalidParams := request.ErrInvalidParams{Context: "CreateOutboundCrossClusterSearchConnectionInput"}
5090	if s.ConnectionAlias == nil {
5091		invalidParams.Add(request.NewErrParamRequired("ConnectionAlias"))
5092	}
5093	if s.DestinationDomainInfo == nil {
5094		invalidParams.Add(request.NewErrParamRequired("DestinationDomainInfo"))
5095	}
5096	if s.SourceDomainInfo == nil {
5097		invalidParams.Add(request.NewErrParamRequired("SourceDomainInfo"))
5098	}
5099	if s.DestinationDomainInfo != nil {
5100		if err := s.DestinationDomainInfo.Validate(); err != nil {
5101			invalidParams.AddNested("DestinationDomainInfo", err.(request.ErrInvalidParams))
5102		}
5103	}
5104	if s.SourceDomainInfo != nil {
5105		if err := s.SourceDomainInfo.Validate(); err != nil {
5106			invalidParams.AddNested("SourceDomainInfo", err.(request.ErrInvalidParams))
5107		}
5108	}
5109
5110	if invalidParams.Len() > 0 {
5111		return invalidParams
5112	}
5113	return nil
5114}
5115
5116// SetConnectionAlias sets the ConnectionAlias field's value.
5117func (s *CreateOutboundCrossClusterSearchConnectionInput) SetConnectionAlias(v string) *CreateOutboundCrossClusterSearchConnectionInput {
5118	s.ConnectionAlias = &v
5119	return s
5120}
5121
5122// SetDestinationDomainInfo sets the DestinationDomainInfo field's value.
5123func (s *CreateOutboundCrossClusterSearchConnectionInput) SetDestinationDomainInfo(v *DomainInformation) *CreateOutboundCrossClusterSearchConnectionInput {
5124	s.DestinationDomainInfo = v
5125	return s
5126}
5127
5128// SetSourceDomainInfo sets the SourceDomainInfo field's value.
5129func (s *CreateOutboundCrossClusterSearchConnectionInput) SetSourceDomainInfo(v *DomainInformation) *CreateOutboundCrossClusterSearchConnectionInput {
5130	s.SourceDomainInfo = v
5131	return s
5132}
5133
5134// The result of a CreateOutboundCrossClusterSearchConnection request. Contains
5135// the details of the newly created cross-cluster search connection.
5136type CreateOutboundCrossClusterSearchConnectionOutput struct {
5137	_ struct{} `type:"structure"`
5138
5139	// Specifies the connection alias provided during the create connection request.
5140	ConnectionAlias *string `type:"string"`
5141
5142	// Specifies the OutboundCrossClusterSearchConnectionStatus for the newly created
5143	// connection.
5144	ConnectionStatus *OutboundCrossClusterSearchConnectionStatus `type:"structure"`
5145
5146	// Unique id for the created outbound connection, which is used for subsequent
5147	// operations on connection.
5148	CrossClusterSearchConnectionId *string `type:"string"`
5149
5150	// Specifies the DomainInformation for the destination Elasticsearch domain.
5151	DestinationDomainInfo *DomainInformation `type:"structure"`
5152
5153	// Specifies the DomainInformation for the source Elasticsearch domain.
5154	SourceDomainInfo *DomainInformation `type:"structure"`
5155}
5156
5157// String returns the string representation
5158func (s CreateOutboundCrossClusterSearchConnectionOutput) String() string {
5159	return awsutil.Prettify(s)
5160}
5161
5162// GoString returns the string representation
5163func (s CreateOutboundCrossClusterSearchConnectionOutput) GoString() string {
5164	return s.String()
5165}
5166
5167// SetConnectionAlias sets the ConnectionAlias field's value.
5168func (s *CreateOutboundCrossClusterSearchConnectionOutput) SetConnectionAlias(v string) *CreateOutboundCrossClusterSearchConnectionOutput {
5169	s.ConnectionAlias = &v
5170	return s
5171}
5172
5173// SetConnectionStatus sets the ConnectionStatus field's value.
5174func (s *CreateOutboundCrossClusterSearchConnectionOutput) SetConnectionStatus(v *OutboundCrossClusterSearchConnectionStatus) *CreateOutboundCrossClusterSearchConnectionOutput {
5175	s.ConnectionStatus = v
5176	return s
5177}
5178
5179// SetCrossClusterSearchConnectionId sets the CrossClusterSearchConnectionId field's value.
5180func (s *CreateOutboundCrossClusterSearchConnectionOutput) SetCrossClusterSearchConnectionId(v string) *CreateOutboundCrossClusterSearchConnectionOutput {
5181	s.CrossClusterSearchConnectionId = &v
5182	return s
5183}
5184
5185// SetDestinationDomainInfo sets the DestinationDomainInfo field's value.
5186func (s *CreateOutboundCrossClusterSearchConnectionOutput) SetDestinationDomainInfo(v *DomainInformation) *CreateOutboundCrossClusterSearchConnectionOutput {
5187	s.DestinationDomainInfo = v
5188	return s
5189}
5190
5191// SetSourceDomainInfo sets the SourceDomainInfo field's value.
5192func (s *CreateOutboundCrossClusterSearchConnectionOutput) SetSourceDomainInfo(v *DomainInformation) *CreateOutboundCrossClusterSearchConnectionOutput {
5193	s.SourceDomainInfo = v
5194	return s
5195}
5196
5197// Container for request parameters to CreatePackage operation.
5198type CreatePackageInput struct {
5199	_ struct{} `type:"structure"`
5200
5201	// Description of the package.
5202	PackageDescription *string `type:"string"`
5203
5204	// Unique identifier for the package.
5205	//
5206	// PackageName is a required field
5207	PackageName *string `min:"3" type:"string" required:"true"`
5208
5209	// The customer S3 location PackageSource for importing the package.
5210	//
5211	// PackageSource is a required field
5212	PackageSource *PackageSource `type:"structure" required:"true"`
5213
5214	// Type of package. Currently supports only TXT-DICTIONARY.
5215	//
5216	// PackageType is a required field
5217	PackageType *string `type:"string" required:"true" enum:"PackageType"`
5218}
5219
5220// String returns the string representation
5221func (s CreatePackageInput) String() string {
5222	return awsutil.Prettify(s)
5223}
5224
5225// GoString returns the string representation
5226func (s CreatePackageInput) GoString() string {
5227	return s.String()
5228}
5229
5230// Validate inspects the fields of the type to determine if they are valid.
5231func (s *CreatePackageInput) Validate() error {
5232	invalidParams := request.ErrInvalidParams{Context: "CreatePackageInput"}
5233	if s.PackageName == nil {
5234		invalidParams.Add(request.NewErrParamRequired("PackageName"))
5235	}
5236	if s.PackageName != nil && len(*s.PackageName) < 3 {
5237		invalidParams.Add(request.NewErrParamMinLen("PackageName", 3))
5238	}
5239	if s.PackageSource == nil {
5240		invalidParams.Add(request.NewErrParamRequired("PackageSource"))
5241	}
5242	if s.PackageType == nil {
5243		invalidParams.Add(request.NewErrParamRequired("PackageType"))
5244	}
5245	if s.PackageSource != nil {
5246		if err := s.PackageSource.Validate(); err != nil {
5247			invalidParams.AddNested("PackageSource", err.(request.ErrInvalidParams))
5248		}
5249	}
5250
5251	if invalidParams.Len() > 0 {
5252		return invalidParams
5253	}
5254	return nil
5255}
5256
5257// SetPackageDescription sets the PackageDescription field's value.
5258func (s *CreatePackageInput) SetPackageDescription(v string) *CreatePackageInput {
5259	s.PackageDescription = &v
5260	return s
5261}
5262
5263// SetPackageName sets the PackageName field's value.
5264func (s *CreatePackageInput) SetPackageName(v string) *CreatePackageInput {
5265	s.PackageName = &v
5266	return s
5267}
5268
5269// SetPackageSource sets the PackageSource field's value.
5270func (s *CreatePackageInput) SetPackageSource(v *PackageSource) *CreatePackageInput {
5271	s.PackageSource = v
5272	return s
5273}
5274
5275// SetPackageType sets the PackageType field's value.
5276func (s *CreatePackageInput) SetPackageType(v string) *CreatePackageInput {
5277	s.PackageType = &v
5278	return s
5279}
5280
5281// Container for response returned by CreatePackage operation.
5282type CreatePackageOutput struct {
5283	_ struct{} `type:"structure"`
5284
5285	// Information about the package PackageDetails.
5286	PackageDetails *PackageDetails `type:"structure"`
5287}
5288
5289// String returns the string representation
5290func (s CreatePackageOutput) String() string {
5291	return awsutil.Prettify(s)
5292}
5293
5294// GoString returns the string representation
5295func (s CreatePackageOutput) GoString() string {
5296	return s.String()
5297}
5298
5299// SetPackageDetails sets the PackageDetails field's value.
5300func (s *CreatePackageOutput) SetPackageDetails(v *PackageDetails) *CreatePackageOutput {
5301	s.PackageDetails = v
5302	return s
5303}
5304
5305// Container for the parameters to the DeleteElasticsearchDomain operation.
5306// Specifies the name of the Elasticsearch domain that you want to delete.
5307type DeleteElasticsearchDomainInput struct {
5308	_ struct{} `type:"structure"`
5309
5310	// The name of the Elasticsearch domain that you want to permanently delete.
5311	//
5312	// DomainName is a required field
5313	DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"`
5314}
5315
5316// String returns the string representation
5317func (s DeleteElasticsearchDomainInput) String() string {
5318	return awsutil.Prettify(s)
5319}
5320
5321// GoString returns the string representation
5322func (s DeleteElasticsearchDomainInput) GoString() string {
5323	return s.String()
5324}
5325
5326// Validate inspects the fields of the type to determine if they are valid.
5327func (s *DeleteElasticsearchDomainInput) Validate() error {
5328	invalidParams := request.ErrInvalidParams{Context: "DeleteElasticsearchDomainInput"}
5329	if s.DomainName == nil {
5330		invalidParams.Add(request.NewErrParamRequired("DomainName"))
5331	}
5332	if s.DomainName != nil && len(*s.DomainName) < 3 {
5333		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
5334	}
5335
5336	if invalidParams.Len() > 0 {
5337		return invalidParams
5338	}
5339	return nil
5340}
5341
5342// SetDomainName sets the DomainName field's value.
5343func (s *DeleteElasticsearchDomainInput) SetDomainName(v string) *DeleteElasticsearchDomainInput {
5344	s.DomainName = &v
5345	return s
5346}
5347
5348// The result of a DeleteElasticsearchDomain request. Contains the status of
5349// the pending deletion, or no status if the domain and all of its resources
5350// have been deleted.
5351type DeleteElasticsearchDomainOutput struct {
5352	_ struct{} `type:"structure"`
5353
5354	// The status of the Elasticsearch domain being deleted.
5355	DomainStatus *ElasticsearchDomainStatus `type:"structure"`
5356}
5357
5358// String returns the string representation
5359func (s DeleteElasticsearchDomainOutput) String() string {
5360	return awsutil.Prettify(s)
5361}
5362
5363// GoString returns the string representation
5364func (s DeleteElasticsearchDomainOutput) GoString() string {
5365	return s.String()
5366}
5367
5368// SetDomainStatus sets the DomainStatus field's value.
5369func (s *DeleteElasticsearchDomainOutput) SetDomainStatus(v *ElasticsearchDomainStatus) *DeleteElasticsearchDomainOutput {
5370	s.DomainStatus = v
5371	return s
5372}
5373
5374type DeleteElasticsearchServiceRoleInput struct {
5375	_ struct{} `type:"structure"`
5376}
5377
5378// String returns the string representation
5379func (s DeleteElasticsearchServiceRoleInput) String() string {
5380	return awsutil.Prettify(s)
5381}
5382
5383// GoString returns the string representation
5384func (s DeleteElasticsearchServiceRoleInput) GoString() string {
5385	return s.String()
5386}
5387
5388type DeleteElasticsearchServiceRoleOutput struct {
5389	_ struct{} `type:"structure"`
5390}
5391
5392// String returns the string representation
5393func (s DeleteElasticsearchServiceRoleOutput) String() string {
5394	return awsutil.Prettify(s)
5395}
5396
5397// GoString returns the string representation
5398func (s DeleteElasticsearchServiceRoleOutput) GoString() string {
5399	return s.String()
5400}
5401
5402// Container for the parameters to the DeleteInboundCrossClusterSearchConnection
5403// operation.
5404type DeleteInboundCrossClusterSearchConnectionInput struct {
5405	_ struct{} `type:"structure"`
5406
5407	// The id of the inbound connection that you want to permanently delete.
5408	//
5409	// CrossClusterSearchConnectionId is a required field
5410	CrossClusterSearchConnectionId *string `location:"uri" locationName:"ConnectionId" type:"string" required:"true"`
5411}
5412
5413// String returns the string representation
5414func (s DeleteInboundCrossClusterSearchConnectionInput) String() string {
5415	return awsutil.Prettify(s)
5416}
5417
5418// GoString returns the string representation
5419func (s DeleteInboundCrossClusterSearchConnectionInput) GoString() string {
5420	return s.String()
5421}
5422
5423// Validate inspects the fields of the type to determine if they are valid.
5424func (s *DeleteInboundCrossClusterSearchConnectionInput) Validate() error {
5425	invalidParams := request.ErrInvalidParams{Context: "DeleteInboundCrossClusterSearchConnectionInput"}
5426	if s.CrossClusterSearchConnectionId == nil {
5427		invalidParams.Add(request.NewErrParamRequired("CrossClusterSearchConnectionId"))
5428	}
5429	if s.CrossClusterSearchConnectionId != nil && len(*s.CrossClusterSearchConnectionId) < 1 {
5430		invalidParams.Add(request.NewErrParamMinLen("CrossClusterSearchConnectionId", 1))
5431	}
5432
5433	if invalidParams.Len() > 0 {
5434		return invalidParams
5435	}
5436	return nil
5437}
5438
5439// SetCrossClusterSearchConnectionId sets the CrossClusterSearchConnectionId field's value.
5440func (s *DeleteInboundCrossClusterSearchConnectionInput) SetCrossClusterSearchConnectionId(v string) *DeleteInboundCrossClusterSearchConnectionInput {
5441	s.CrossClusterSearchConnectionId = &v
5442	return s
5443}
5444
5445// The result of a DeleteInboundCrossClusterSearchConnection operation. Contains
5446// details of deleted inbound connection.
5447type DeleteInboundCrossClusterSearchConnectionOutput struct {
5448	_ struct{} `type:"structure"`
5449
5450	// Specifies the InboundCrossClusterSearchConnection of deleted inbound connection.
5451	CrossClusterSearchConnection *InboundCrossClusterSearchConnection `type:"structure"`
5452}
5453
5454// String returns the string representation
5455func (s DeleteInboundCrossClusterSearchConnectionOutput) String() string {
5456	return awsutil.Prettify(s)
5457}
5458
5459// GoString returns the string representation
5460func (s DeleteInboundCrossClusterSearchConnectionOutput) GoString() string {
5461	return s.String()
5462}
5463
5464// SetCrossClusterSearchConnection sets the CrossClusterSearchConnection field's value.
5465func (s *DeleteInboundCrossClusterSearchConnectionOutput) SetCrossClusterSearchConnection(v *InboundCrossClusterSearchConnection) *DeleteInboundCrossClusterSearchConnectionOutput {
5466	s.CrossClusterSearchConnection = v
5467	return s
5468}
5469
5470// Container for the parameters to the DeleteOutboundCrossClusterSearchConnection
5471// operation.
5472type DeleteOutboundCrossClusterSearchConnectionInput struct {
5473	_ struct{} `type:"structure"`
5474
5475	// The id of the outbound connection that you want to permanently delete.
5476	//
5477	// CrossClusterSearchConnectionId is a required field
5478	CrossClusterSearchConnectionId *string `location:"uri" locationName:"ConnectionId" type:"string" required:"true"`
5479}
5480
5481// String returns the string representation
5482func (s DeleteOutboundCrossClusterSearchConnectionInput) String() string {
5483	return awsutil.Prettify(s)
5484}
5485
5486// GoString returns the string representation
5487func (s DeleteOutboundCrossClusterSearchConnectionInput) GoString() string {
5488	return s.String()
5489}
5490
5491// Validate inspects the fields of the type to determine if they are valid.
5492func (s *DeleteOutboundCrossClusterSearchConnectionInput) Validate() error {
5493	invalidParams := request.ErrInvalidParams{Context: "DeleteOutboundCrossClusterSearchConnectionInput"}
5494	if s.CrossClusterSearchConnectionId == nil {
5495		invalidParams.Add(request.NewErrParamRequired("CrossClusterSearchConnectionId"))
5496	}
5497	if s.CrossClusterSearchConnectionId != nil && len(*s.CrossClusterSearchConnectionId) < 1 {
5498		invalidParams.Add(request.NewErrParamMinLen("CrossClusterSearchConnectionId", 1))
5499	}
5500
5501	if invalidParams.Len() > 0 {
5502		return invalidParams
5503	}
5504	return nil
5505}
5506
5507// SetCrossClusterSearchConnectionId sets the CrossClusterSearchConnectionId field's value.
5508func (s *DeleteOutboundCrossClusterSearchConnectionInput) SetCrossClusterSearchConnectionId(v string) *DeleteOutboundCrossClusterSearchConnectionInput {
5509	s.CrossClusterSearchConnectionId = &v
5510	return s
5511}
5512
5513// The result of a DeleteOutboundCrossClusterSearchConnection operation. Contains
5514// details of deleted outbound connection.
5515type DeleteOutboundCrossClusterSearchConnectionOutput struct {
5516	_ struct{} `type:"structure"`
5517
5518	// Specifies the OutboundCrossClusterSearchConnection of deleted outbound connection.
5519	CrossClusterSearchConnection *OutboundCrossClusterSearchConnection `type:"structure"`
5520}
5521
5522// String returns the string representation
5523func (s DeleteOutboundCrossClusterSearchConnectionOutput) String() string {
5524	return awsutil.Prettify(s)
5525}
5526
5527// GoString returns the string representation
5528func (s DeleteOutboundCrossClusterSearchConnectionOutput) GoString() string {
5529	return s.String()
5530}
5531
5532// SetCrossClusterSearchConnection sets the CrossClusterSearchConnection field's value.
5533func (s *DeleteOutboundCrossClusterSearchConnectionOutput) SetCrossClusterSearchConnection(v *OutboundCrossClusterSearchConnection) *DeleteOutboundCrossClusterSearchConnectionOutput {
5534	s.CrossClusterSearchConnection = v
5535	return s
5536}
5537
5538// Container for request parameters to DeletePackage operation.
5539type DeletePackageInput struct {
5540	_ struct{} `type:"structure"`
5541
5542	// Internal ID of the package that you want to delete. Use DescribePackages
5543	// to find this value.
5544	//
5545	// PackageID is a required field
5546	PackageID *string `location:"uri" locationName:"PackageID" type:"string" required:"true"`
5547}
5548
5549// String returns the string representation
5550func (s DeletePackageInput) String() string {
5551	return awsutil.Prettify(s)
5552}
5553
5554// GoString returns the string representation
5555func (s DeletePackageInput) GoString() string {
5556	return s.String()
5557}
5558
5559// Validate inspects the fields of the type to determine if they are valid.
5560func (s *DeletePackageInput) Validate() error {
5561	invalidParams := request.ErrInvalidParams{Context: "DeletePackageInput"}
5562	if s.PackageID == nil {
5563		invalidParams.Add(request.NewErrParamRequired("PackageID"))
5564	}
5565	if s.PackageID != nil && len(*s.PackageID) < 1 {
5566		invalidParams.Add(request.NewErrParamMinLen("PackageID", 1))
5567	}
5568
5569	if invalidParams.Len() > 0 {
5570		return invalidParams
5571	}
5572	return nil
5573}
5574
5575// SetPackageID sets the PackageID field's value.
5576func (s *DeletePackageInput) SetPackageID(v string) *DeletePackageInput {
5577	s.PackageID = &v
5578	return s
5579}
5580
5581// Container for response parameters to DeletePackage operation.
5582type DeletePackageOutput struct {
5583	_ struct{} `type:"structure"`
5584
5585	// PackageDetails
5586	PackageDetails *PackageDetails `type:"structure"`
5587}
5588
5589// String returns the string representation
5590func (s DeletePackageOutput) String() string {
5591	return awsutil.Prettify(s)
5592}
5593
5594// GoString returns the string representation
5595func (s DeletePackageOutput) GoString() string {
5596	return s.String()
5597}
5598
5599// SetPackageDetails sets the PackageDetails field's value.
5600func (s *DeletePackageOutput) SetPackageDetails(v *PackageDetails) *DeletePackageOutput {
5601	s.PackageDetails = v
5602	return s
5603}
5604
5605// Container for the parameters to the DescribeElasticsearchDomainConfig operation.
5606// Specifies the domain name for which you want configuration information.
5607type DescribeElasticsearchDomainConfigInput struct {
5608	_ struct{} `type:"structure"`
5609
5610	// The Elasticsearch domain that you want to get information about.
5611	//
5612	// DomainName is a required field
5613	DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"`
5614}
5615
5616// String returns the string representation
5617func (s DescribeElasticsearchDomainConfigInput) String() string {
5618	return awsutil.Prettify(s)
5619}
5620
5621// GoString returns the string representation
5622func (s DescribeElasticsearchDomainConfigInput) GoString() string {
5623	return s.String()
5624}
5625
5626// Validate inspects the fields of the type to determine if they are valid.
5627func (s *DescribeElasticsearchDomainConfigInput) Validate() error {
5628	invalidParams := request.ErrInvalidParams{Context: "DescribeElasticsearchDomainConfigInput"}
5629	if s.DomainName == nil {
5630		invalidParams.Add(request.NewErrParamRequired("DomainName"))
5631	}
5632	if s.DomainName != nil && len(*s.DomainName) < 3 {
5633		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
5634	}
5635
5636	if invalidParams.Len() > 0 {
5637		return invalidParams
5638	}
5639	return nil
5640}
5641
5642// SetDomainName sets the DomainName field's value.
5643func (s *DescribeElasticsearchDomainConfigInput) SetDomainName(v string) *DescribeElasticsearchDomainConfigInput {
5644	s.DomainName = &v
5645	return s
5646}
5647
5648// The result of a DescribeElasticsearchDomainConfig request. Contains the configuration
5649// information of the requested domain.
5650type DescribeElasticsearchDomainConfigOutput struct {
5651	_ struct{} `type:"structure"`
5652
5653	// The configuration information of the domain requested in the DescribeElasticsearchDomainConfig
5654	// request.
5655	//
5656	// DomainConfig is a required field
5657	DomainConfig *ElasticsearchDomainConfig `type:"structure" required:"true"`
5658}
5659
5660// String returns the string representation
5661func (s DescribeElasticsearchDomainConfigOutput) String() string {
5662	return awsutil.Prettify(s)
5663}
5664
5665// GoString returns the string representation
5666func (s DescribeElasticsearchDomainConfigOutput) GoString() string {
5667	return s.String()
5668}
5669
5670// SetDomainConfig sets the DomainConfig field's value.
5671func (s *DescribeElasticsearchDomainConfigOutput) SetDomainConfig(v *ElasticsearchDomainConfig) *DescribeElasticsearchDomainConfigOutput {
5672	s.DomainConfig = v
5673	return s
5674}
5675
5676// Container for the parameters to the DescribeElasticsearchDomain operation.
5677type DescribeElasticsearchDomainInput struct {
5678	_ struct{} `type:"structure"`
5679
5680	// The name of the Elasticsearch domain for which you want information.
5681	//
5682	// DomainName is a required field
5683	DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"`
5684}
5685
5686// String returns the string representation
5687func (s DescribeElasticsearchDomainInput) String() string {
5688	return awsutil.Prettify(s)
5689}
5690
5691// GoString returns the string representation
5692func (s DescribeElasticsearchDomainInput) GoString() string {
5693	return s.String()
5694}
5695
5696// Validate inspects the fields of the type to determine if they are valid.
5697func (s *DescribeElasticsearchDomainInput) Validate() error {
5698	invalidParams := request.ErrInvalidParams{Context: "DescribeElasticsearchDomainInput"}
5699	if s.DomainName == nil {
5700		invalidParams.Add(request.NewErrParamRequired("DomainName"))
5701	}
5702	if s.DomainName != nil && len(*s.DomainName) < 3 {
5703		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
5704	}
5705
5706	if invalidParams.Len() > 0 {
5707		return invalidParams
5708	}
5709	return nil
5710}
5711
5712// SetDomainName sets the DomainName field's value.
5713func (s *DescribeElasticsearchDomainInput) SetDomainName(v string) *DescribeElasticsearchDomainInput {
5714	s.DomainName = &v
5715	return s
5716}
5717
5718// The result of a DescribeElasticsearchDomain request. Contains the status
5719// of the domain specified in the request.
5720type DescribeElasticsearchDomainOutput struct {
5721	_ struct{} `type:"structure"`
5722
5723	// The current status of the Elasticsearch domain.
5724	//
5725	// DomainStatus is a required field
5726	DomainStatus *ElasticsearchDomainStatus `type:"structure" required:"true"`
5727}
5728
5729// String returns the string representation
5730func (s DescribeElasticsearchDomainOutput) String() string {
5731	return awsutil.Prettify(s)
5732}
5733
5734// GoString returns the string representation
5735func (s DescribeElasticsearchDomainOutput) GoString() string {
5736	return s.String()
5737}
5738
5739// SetDomainStatus sets the DomainStatus field's value.
5740func (s *DescribeElasticsearchDomainOutput) SetDomainStatus(v *ElasticsearchDomainStatus) *DescribeElasticsearchDomainOutput {
5741	s.DomainStatus = v
5742	return s
5743}
5744
5745// Container for the parameters to the DescribeElasticsearchDomains operation.
5746// By default, the API returns the status of all Elasticsearch domains.
5747type DescribeElasticsearchDomainsInput struct {
5748	_ struct{} `type:"structure"`
5749
5750	// The Elasticsearch domains for which you want information.
5751	//
5752	// DomainNames is a required field
5753	DomainNames []*string `type:"list" required:"true"`
5754}
5755
5756// String returns the string representation
5757func (s DescribeElasticsearchDomainsInput) String() string {
5758	return awsutil.Prettify(s)
5759}
5760
5761// GoString returns the string representation
5762func (s DescribeElasticsearchDomainsInput) GoString() string {
5763	return s.String()
5764}
5765
5766// Validate inspects the fields of the type to determine if they are valid.
5767func (s *DescribeElasticsearchDomainsInput) Validate() error {
5768	invalidParams := request.ErrInvalidParams{Context: "DescribeElasticsearchDomainsInput"}
5769	if s.DomainNames == nil {
5770		invalidParams.Add(request.NewErrParamRequired("DomainNames"))
5771	}
5772
5773	if invalidParams.Len() > 0 {
5774		return invalidParams
5775	}
5776	return nil
5777}
5778
5779// SetDomainNames sets the DomainNames field's value.
5780func (s *DescribeElasticsearchDomainsInput) SetDomainNames(v []*string) *DescribeElasticsearchDomainsInput {
5781	s.DomainNames = v
5782	return s
5783}
5784
5785// The result of a DescribeElasticsearchDomains request. Contains the status
5786// of the specified domains or all domains owned by the account.
5787type DescribeElasticsearchDomainsOutput struct {
5788	_ struct{} `type:"structure"`
5789
5790	// The status of the domains requested in the DescribeElasticsearchDomains request.
5791	//
5792	// DomainStatusList is a required field
5793	DomainStatusList []*ElasticsearchDomainStatus `type:"list" required:"true"`
5794}
5795
5796// String returns the string representation
5797func (s DescribeElasticsearchDomainsOutput) String() string {
5798	return awsutil.Prettify(s)
5799}
5800
5801// GoString returns the string representation
5802func (s DescribeElasticsearchDomainsOutput) GoString() string {
5803	return s.String()
5804}
5805
5806// SetDomainStatusList sets the DomainStatusList field's value.
5807func (s *DescribeElasticsearchDomainsOutput) SetDomainStatusList(v []*ElasticsearchDomainStatus) *DescribeElasticsearchDomainsOutput {
5808	s.DomainStatusList = v
5809	return s
5810}
5811
5812// Container for the parameters to DescribeElasticsearchInstanceTypeLimits operation.
5813type DescribeElasticsearchInstanceTypeLimitsInput struct {
5814	_ struct{} `type:"structure"`
5815
5816	// DomainName represents the name of the Domain that we are trying to modify.
5817	// This should be present only if we are querying for Elasticsearch Limits for
5818	// existing domain.
5819	DomainName *string `location:"querystring" locationName:"domainName" min:"3" type:"string"`
5820
5821	// Version of Elasticsearch for which Limits are needed.
5822	//
5823	// ElasticsearchVersion is a required field
5824	ElasticsearchVersion *string `location:"uri" locationName:"ElasticsearchVersion" type:"string" required:"true"`
5825
5826	// The instance type for an Elasticsearch cluster for which Elasticsearch Limits
5827	// are needed.
5828	//
5829	// InstanceType is a required field
5830	InstanceType *string `location:"uri" locationName:"InstanceType" type:"string" required:"true" enum:"ESPartitionInstanceType"`
5831}
5832
5833// String returns the string representation
5834func (s DescribeElasticsearchInstanceTypeLimitsInput) String() string {
5835	return awsutil.Prettify(s)
5836}
5837
5838// GoString returns the string representation
5839func (s DescribeElasticsearchInstanceTypeLimitsInput) GoString() string {
5840	return s.String()
5841}
5842
5843// Validate inspects the fields of the type to determine if they are valid.
5844func (s *DescribeElasticsearchInstanceTypeLimitsInput) Validate() error {
5845	invalidParams := request.ErrInvalidParams{Context: "DescribeElasticsearchInstanceTypeLimitsInput"}
5846	if s.DomainName != nil && len(*s.DomainName) < 3 {
5847		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
5848	}
5849	if s.ElasticsearchVersion == nil {
5850		invalidParams.Add(request.NewErrParamRequired("ElasticsearchVersion"))
5851	}
5852	if s.ElasticsearchVersion != nil && len(*s.ElasticsearchVersion) < 1 {
5853		invalidParams.Add(request.NewErrParamMinLen("ElasticsearchVersion", 1))
5854	}
5855	if s.InstanceType == nil {
5856		invalidParams.Add(request.NewErrParamRequired("InstanceType"))
5857	}
5858	if s.InstanceType != nil && len(*s.InstanceType) < 1 {
5859		invalidParams.Add(request.NewErrParamMinLen("InstanceType", 1))
5860	}
5861
5862	if invalidParams.Len() > 0 {
5863		return invalidParams
5864	}
5865	return nil
5866}
5867
5868// SetDomainName sets the DomainName field's value.
5869func (s *DescribeElasticsearchInstanceTypeLimitsInput) SetDomainName(v string) *DescribeElasticsearchInstanceTypeLimitsInput {
5870	s.DomainName = &v
5871	return s
5872}
5873
5874// SetElasticsearchVersion sets the ElasticsearchVersion field's value.
5875func (s *DescribeElasticsearchInstanceTypeLimitsInput) SetElasticsearchVersion(v string) *DescribeElasticsearchInstanceTypeLimitsInput {
5876	s.ElasticsearchVersion = &v
5877	return s
5878}
5879
5880// SetInstanceType sets the InstanceType field's value.
5881func (s *DescribeElasticsearchInstanceTypeLimitsInput) SetInstanceType(v string) *DescribeElasticsearchInstanceTypeLimitsInput {
5882	s.InstanceType = &v
5883	return s
5884}
5885
5886// Container for the parameters received from DescribeElasticsearchInstanceTypeLimits
5887// operation.
5888type DescribeElasticsearchInstanceTypeLimitsOutput struct {
5889	_ struct{} `type:"structure"`
5890
5891	// Map of Role of the Instance and Limits that are applicable. Role performed
5892	// by given Instance in Elasticsearch can be one of the following:
5893	//    * data: If the given InstanceType is used as data node
5894	//
5895	//    * master: If the given InstanceType is used as master node
5896	//
5897	//    * ultra_warm: If the given InstanceType is used as warm node
5898	LimitsByRole map[string]*Limits `type:"map"`
5899}
5900
5901// String returns the string representation
5902func (s DescribeElasticsearchInstanceTypeLimitsOutput) String() string {
5903	return awsutil.Prettify(s)
5904}
5905
5906// GoString returns the string representation
5907func (s DescribeElasticsearchInstanceTypeLimitsOutput) GoString() string {
5908	return s.String()
5909}
5910
5911// SetLimitsByRole sets the LimitsByRole field's value.
5912func (s *DescribeElasticsearchInstanceTypeLimitsOutput) SetLimitsByRole(v map[string]*Limits) *DescribeElasticsearchInstanceTypeLimitsOutput {
5913	s.LimitsByRole = v
5914	return s
5915}
5916
5917// Container for the parameters to the DescribeInboundCrossClusterSearchConnections
5918// operation.
5919type DescribeInboundCrossClusterSearchConnectionsInput struct {
5920	_ struct{} `type:"structure"`
5921
5922	// A list of filters used to match properties for inbound cross-cluster search
5923	// connection. Available Filter names for this operation are:
5924	//    * cross-cluster-search-connection-id
5925	//
5926	//    * source-domain-info.domain-name
5927	//
5928	//    * source-domain-info.owner-id
5929	//
5930	//    * source-domain-info.region
5931	//
5932	//    * destination-domain-info.domain-name
5933	Filters []*Filter `type:"list"`
5934
5935	// Set this value to limit the number of results returned. If not specified,
5936	// defaults to 100.
5937	MaxResults *int64 `type:"integer"`
5938
5939	// NextToken is sent in case the earlier API call results contain the NextToken.
5940	// It is used for pagination.
5941	NextToken *string `type:"string"`
5942}
5943
5944// String returns the string representation
5945func (s DescribeInboundCrossClusterSearchConnectionsInput) String() string {
5946	return awsutil.Prettify(s)
5947}
5948
5949// GoString returns the string representation
5950func (s DescribeInboundCrossClusterSearchConnectionsInput) GoString() string {
5951	return s.String()
5952}
5953
5954// Validate inspects the fields of the type to determine if they are valid.
5955func (s *DescribeInboundCrossClusterSearchConnectionsInput) Validate() error {
5956	invalidParams := request.ErrInvalidParams{Context: "DescribeInboundCrossClusterSearchConnectionsInput"}
5957	if s.Filters != nil {
5958		for i, v := range s.Filters {
5959			if v == nil {
5960				continue
5961			}
5962			if err := v.Validate(); err != nil {
5963				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
5964			}
5965		}
5966	}
5967
5968	if invalidParams.Len() > 0 {
5969		return invalidParams
5970	}
5971	return nil
5972}
5973
5974// SetFilters sets the Filters field's value.
5975func (s *DescribeInboundCrossClusterSearchConnectionsInput) SetFilters(v []*Filter) *DescribeInboundCrossClusterSearchConnectionsInput {
5976	s.Filters = v
5977	return s
5978}
5979
5980// SetMaxResults sets the MaxResults field's value.
5981func (s *DescribeInboundCrossClusterSearchConnectionsInput) SetMaxResults(v int64) *DescribeInboundCrossClusterSearchConnectionsInput {
5982	s.MaxResults = &v
5983	return s
5984}
5985
5986// SetNextToken sets the NextToken field's value.
5987func (s *DescribeInboundCrossClusterSearchConnectionsInput) SetNextToken(v string) *DescribeInboundCrossClusterSearchConnectionsInput {
5988	s.NextToken = &v
5989	return s
5990}
5991
5992// The result of a DescribeInboundCrossClusterSearchConnections request. Contains
5993// the list of connections matching the filter criteria.
5994type DescribeInboundCrossClusterSearchConnectionsOutput struct {
5995	_ struct{} `type:"structure"`
5996
5997	// Consists of list of InboundCrossClusterSearchConnection matching the specified
5998	// filter criteria.
5999	CrossClusterSearchConnections []*InboundCrossClusterSearchConnection `type:"list"`
6000
6001	// If more results are available and NextToken is present, make the next request
6002	// to the same API with the received NextToken to paginate the remaining results.
6003	NextToken *string `type:"string"`
6004}
6005
6006// String returns the string representation
6007func (s DescribeInboundCrossClusterSearchConnectionsOutput) String() string {
6008	return awsutil.Prettify(s)
6009}
6010
6011// GoString returns the string representation
6012func (s DescribeInboundCrossClusterSearchConnectionsOutput) GoString() string {
6013	return s.String()
6014}
6015
6016// SetCrossClusterSearchConnections sets the CrossClusterSearchConnections field's value.
6017func (s *DescribeInboundCrossClusterSearchConnectionsOutput) SetCrossClusterSearchConnections(v []*InboundCrossClusterSearchConnection) *DescribeInboundCrossClusterSearchConnectionsOutput {
6018	s.CrossClusterSearchConnections = v
6019	return s
6020}
6021
6022// SetNextToken sets the NextToken field's value.
6023func (s *DescribeInboundCrossClusterSearchConnectionsOutput) SetNextToken(v string) *DescribeInboundCrossClusterSearchConnectionsOutput {
6024	s.NextToken = &v
6025	return s
6026}
6027
6028// Container for the parameters to the DescribeOutboundCrossClusterSearchConnections
6029// operation.
6030type DescribeOutboundCrossClusterSearchConnectionsInput struct {
6031	_ struct{} `type:"structure"`
6032
6033	// A list of filters used to match properties for outbound cross-cluster search
6034	// connection. Available Filter names for this operation are:
6035	//    * cross-cluster-search-connection-id
6036	//
6037	//    * destination-domain-info.domain-name
6038	//
6039	//    * destination-domain-info.owner-id
6040	//
6041	//    * destination-domain-info.region
6042	//
6043	//    * source-domain-info.domain-name
6044	Filters []*Filter `type:"list"`
6045
6046	// Set this value to limit the number of results returned. If not specified,
6047	// defaults to 100.
6048	MaxResults *int64 `type:"integer"`
6049
6050	// NextToken is sent in case the earlier API call results contain the NextToken.
6051	// It is used for pagination.
6052	NextToken *string `type:"string"`
6053}
6054
6055// String returns the string representation
6056func (s DescribeOutboundCrossClusterSearchConnectionsInput) String() string {
6057	return awsutil.Prettify(s)
6058}
6059
6060// GoString returns the string representation
6061func (s DescribeOutboundCrossClusterSearchConnectionsInput) GoString() string {
6062	return s.String()
6063}
6064
6065// Validate inspects the fields of the type to determine if they are valid.
6066func (s *DescribeOutboundCrossClusterSearchConnectionsInput) Validate() error {
6067	invalidParams := request.ErrInvalidParams{Context: "DescribeOutboundCrossClusterSearchConnectionsInput"}
6068	if s.Filters != nil {
6069		for i, v := range s.Filters {
6070			if v == nil {
6071				continue
6072			}
6073			if err := v.Validate(); err != nil {
6074				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
6075			}
6076		}
6077	}
6078
6079	if invalidParams.Len() > 0 {
6080		return invalidParams
6081	}
6082	return nil
6083}
6084
6085// SetFilters sets the Filters field's value.
6086func (s *DescribeOutboundCrossClusterSearchConnectionsInput) SetFilters(v []*Filter) *DescribeOutboundCrossClusterSearchConnectionsInput {
6087	s.Filters = v
6088	return s
6089}
6090
6091// SetMaxResults sets the MaxResults field's value.
6092func (s *DescribeOutboundCrossClusterSearchConnectionsInput) SetMaxResults(v int64) *DescribeOutboundCrossClusterSearchConnectionsInput {
6093	s.MaxResults = &v
6094	return s
6095}
6096
6097// SetNextToken sets the NextToken field's value.
6098func (s *DescribeOutboundCrossClusterSearchConnectionsInput) SetNextToken(v string) *DescribeOutboundCrossClusterSearchConnectionsInput {
6099	s.NextToken = &v
6100	return s
6101}
6102
6103// The result of a DescribeOutboundCrossClusterSearchConnections request. Contains
6104// the list of connections matching the filter criteria.
6105type DescribeOutboundCrossClusterSearchConnectionsOutput struct {
6106	_ struct{} `type:"structure"`
6107
6108	// Consists of list of OutboundCrossClusterSearchConnection matching the specified
6109	// filter criteria.
6110	CrossClusterSearchConnections []*OutboundCrossClusterSearchConnection `type:"list"`
6111
6112	// If more results are available and NextToken is present, make the next request
6113	// to the same API with the received NextToken to paginate the remaining results.
6114	NextToken *string `type:"string"`
6115}
6116
6117// String returns the string representation
6118func (s DescribeOutboundCrossClusterSearchConnectionsOutput) String() string {
6119	return awsutil.Prettify(s)
6120}
6121
6122// GoString returns the string representation
6123func (s DescribeOutboundCrossClusterSearchConnectionsOutput) GoString() string {
6124	return s.String()
6125}
6126
6127// SetCrossClusterSearchConnections sets the CrossClusterSearchConnections field's value.
6128func (s *DescribeOutboundCrossClusterSearchConnectionsOutput) SetCrossClusterSearchConnections(v []*OutboundCrossClusterSearchConnection) *DescribeOutboundCrossClusterSearchConnectionsOutput {
6129	s.CrossClusterSearchConnections = v
6130	return s
6131}
6132
6133// SetNextToken sets the NextToken field's value.
6134func (s *DescribeOutboundCrossClusterSearchConnectionsOutput) SetNextToken(v string) *DescribeOutboundCrossClusterSearchConnectionsOutput {
6135	s.NextToken = &v
6136	return s
6137}
6138
6139// Filter to apply in DescribePackage response.
6140type DescribePackagesFilter struct {
6141	_ struct{} `type:"structure"`
6142
6143	// Any field from PackageDetails.
6144	Name *string `type:"string" enum:"DescribePackagesFilterName"`
6145
6146	// A list of values for the specified field.
6147	Value []*string `type:"list"`
6148}
6149
6150// String returns the string representation
6151func (s DescribePackagesFilter) String() string {
6152	return awsutil.Prettify(s)
6153}
6154
6155// GoString returns the string representation
6156func (s DescribePackagesFilter) GoString() string {
6157	return s.String()
6158}
6159
6160// SetName sets the Name field's value.
6161func (s *DescribePackagesFilter) SetName(v string) *DescribePackagesFilter {
6162	s.Name = &v
6163	return s
6164}
6165
6166// SetValue sets the Value field's value.
6167func (s *DescribePackagesFilter) SetValue(v []*string) *DescribePackagesFilter {
6168	s.Value = v
6169	return s
6170}
6171
6172// Container for request parameters to DescribePackage operation.
6173type DescribePackagesInput struct {
6174	_ struct{} `type:"structure"`
6175
6176	// Only returns packages that match the DescribePackagesFilterList values.
6177	Filters []*DescribePackagesFilter `type:"list"`
6178
6179	// Limits results to a maximum number of packages.
6180	MaxResults *int64 `type:"integer"`
6181
6182	// Used for pagination. Only necessary if a previous API call includes a non-null
6183	// NextToken value. If provided, returns results for the next page.
6184	NextToken *string `type:"string"`
6185}
6186
6187// String returns the string representation
6188func (s DescribePackagesInput) String() string {
6189	return awsutil.Prettify(s)
6190}
6191
6192// GoString returns the string representation
6193func (s DescribePackagesInput) GoString() string {
6194	return s.String()
6195}
6196
6197// SetFilters sets the Filters field's value.
6198func (s *DescribePackagesInput) SetFilters(v []*DescribePackagesFilter) *DescribePackagesInput {
6199	s.Filters = v
6200	return s
6201}
6202
6203// SetMaxResults sets the MaxResults field's value.
6204func (s *DescribePackagesInput) SetMaxResults(v int64) *DescribePackagesInput {
6205	s.MaxResults = &v
6206	return s
6207}
6208
6209// SetNextToken sets the NextToken field's value.
6210func (s *DescribePackagesInput) SetNextToken(v string) *DescribePackagesInput {
6211	s.NextToken = &v
6212	return s
6213}
6214
6215// Container for response returned by DescribePackages operation.
6216type DescribePackagesOutput struct {
6217	_ struct{} `type:"structure"`
6218
6219	NextToken *string `type:"string"`
6220
6221	// List of PackageDetails objects.
6222	PackageDetailsList []*PackageDetails `type:"list"`
6223}
6224
6225// String returns the string representation
6226func (s DescribePackagesOutput) String() string {
6227	return awsutil.Prettify(s)
6228}
6229
6230// GoString returns the string representation
6231func (s DescribePackagesOutput) GoString() string {
6232	return s.String()
6233}
6234
6235// SetNextToken sets the NextToken field's value.
6236func (s *DescribePackagesOutput) SetNextToken(v string) *DescribePackagesOutput {
6237	s.NextToken = &v
6238	return s
6239}
6240
6241// SetPackageDetailsList sets the PackageDetailsList field's value.
6242func (s *DescribePackagesOutput) SetPackageDetailsList(v []*PackageDetails) *DescribePackagesOutput {
6243	s.PackageDetailsList = v
6244	return s
6245}
6246
6247// Container for parameters to DescribeReservedElasticsearchInstanceOfferings
6248type DescribeReservedElasticsearchInstanceOfferingsInput struct {
6249	_ struct{} `type:"structure"`
6250
6251	// Set this value to limit the number of results returned. If not specified,
6252	// defaults to 100.
6253	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
6254
6255	// NextToken should be sent in case if earlier API call produced result containing
6256	// NextToken. It is used for pagination.
6257	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
6258
6259	// The offering identifier filter value. Use this parameter to show only the
6260	// available offering that matches the specified reservation identifier.
6261	ReservedElasticsearchInstanceOfferingId *string `location:"querystring" locationName:"offeringId" type:"string"`
6262}
6263
6264// String returns the string representation
6265func (s DescribeReservedElasticsearchInstanceOfferingsInput) String() string {
6266	return awsutil.Prettify(s)
6267}
6268
6269// GoString returns the string representation
6270func (s DescribeReservedElasticsearchInstanceOfferingsInput) GoString() string {
6271	return s.String()
6272}
6273
6274// SetMaxResults sets the MaxResults field's value.
6275func (s *DescribeReservedElasticsearchInstanceOfferingsInput) SetMaxResults(v int64) *DescribeReservedElasticsearchInstanceOfferingsInput {
6276	s.MaxResults = &v
6277	return s
6278}
6279
6280// SetNextToken sets the NextToken field's value.
6281func (s *DescribeReservedElasticsearchInstanceOfferingsInput) SetNextToken(v string) *DescribeReservedElasticsearchInstanceOfferingsInput {
6282	s.NextToken = &v
6283	return s
6284}
6285
6286// SetReservedElasticsearchInstanceOfferingId sets the ReservedElasticsearchInstanceOfferingId field's value.
6287func (s *DescribeReservedElasticsearchInstanceOfferingsInput) SetReservedElasticsearchInstanceOfferingId(v string) *DescribeReservedElasticsearchInstanceOfferingsInput {
6288	s.ReservedElasticsearchInstanceOfferingId = &v
6289	return s
6290}
6291
6292// Container for results from DescribeReservedElasticsearchInstanceOfferings
6293type DescribeReservedElasticsearchInstanceOfferingsOutput struct {
6294	_ struct{} `type:"structure"`
6295
6296	// Provides an identifier to allow retrieval of paginated results.
6297	NextToken *string `type:"string"`
6298
6299	// List of reserved Elasticsearch instance offerings
6300	ReservedElasticsearchInstanceOfferings []*ReservedElasticsearchInstanceOffering `type:"list"`
6301}
6302
6303// String returns the string representation
6304func (s DescribeReservedElasticsearchInstanceOfferingsOutput) String() string {
6305	return awsutil.Prettify(s)
6306}
6307
6308// GoString returns the string representation
6309func (s DescribeReservedElasticsearchInstanceOfferingsOutput) GoString() string {
6310	return s.String()
6311}
6312
6313// SetNextToken sets the NextToken field's value.
6314func (s *DescribeReservedElasticsearchInstanceOfferingsOutput) SetNextToken(v string) *DescribeReservedElasticsearchInstanceOfferingsOutput {
6315	s.NextToken = &v
6316	return s
6317}
6318
6319// SetReservedElasticsearchInstanceOfferings sets the ReservedElasticsearchInstanceOfferings field's value.
6320func (s *DescribeReservedElasticsearchInstanceOfferingsOutput) SetReservedElasticsearchInstanceOfferings(v []*ReservedElasticsearchInstanceOffering) *DescribeReservedElasticsearchInstanceOfferingsOutput {
6321	s.ReservedElasticsearchInstanceOfferings = v
6322	return s
6323}
6324
6325// Container for parameters to DescribeReservedElasticsearchInstances
6326type DescribeReservedElasticsearchInstancesInput struct {
6327	_ struct{} `type:"structure"`
6328
6329	// Set this value to limit the number of results returned. If not specified,
6330	// defaults to 100.
6331	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
6332
6333	// NextToken should be sent in case if earlier API call produced result containing
6334	// NextToken. It is used for pagination.
6335	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
6336
6337	// The reserved instance identifier filter value. Use this parameter to show
6338	// only the reservation that matches the specified reserved Elasticsearch instance
6339	// ID.
6340	ReservedElasticsearchInstanceId *string `location:"querystring" locationName:"reservationId" type:"string"`
6341}
6342
6343// String returns the string representation
6344func (s DescribeReservedElasticsearchInstancesInput) String() string {
6345	return awsutil.Prettify(s)
6346}
6347
6348// GoString returns the string representation
6349func (s DescribeReservedElasticsearchInstancesInput) GoString() string {
6350	return s.String()
6351}
6352
6353// SetMaxResults sets the MaxResults field's value.
6354func (s *DescribeReservedElasticsearchInstancesInput) SetMaxResults(v int64) *DescribeReservedElasticsearchInstancesInput {
6355	s.MaxResults = &v
6356	return s
6357}
6358
6359// SetNextToken sets the NextToken field's value.
6360func (s *DescribeReservedElasticsearchInstancesInput) SetNextToken(v string) *DescribeReservedElasticsearchInstancesInput {
6361	s.NextToken = &v
6362	return s
6363}
6364
6365// SetReservedElasticsearchInstanceId sets the ReservedElasticsearchInstanceId field's value.
6366func (s *DescribeReservedElasticsearchInstancesInput) SetReservedElasticsearchInstanceId(v string) *DescribeReservedElasticsearchInstancesInput {
6367	s.ReservedElasticsearchInstanceId = &v
6368	return s
6369}
6370
6371// Container for results from DescribeReservedElasticsearchInstances
6372type DescribeReservedElasticsearchInstancesOutput struct {
6373	_ struct{} `type:"structure"`
6374
6375	// Provides an identifier to allow retrieval of paginated results.
6376	NextToken *string `type:"string"`
6377
6378	// List of reserved Elasticsearch instances.
6379	ReservedElasticsearchInstances []*ReservedElasticsearchInstance `type:"list"`
6380}
6381
6382// String returns the string representation
6383func (s DescribeReservedElasticsearchInstancesOutput) String() string {
6384	return awsutil.Prettify(s)
6385}
6386
6387// GoString returns the string representation
6388func (s DescribeReservedElasticsearchInstancesOutput) GoString() string {
6389	return s.String()
6390}
6391
6392// SetNextToken sets the NextToken field's value.
6393func (s *DescribeReservedElasticsearchInstancesOutput) SetNextToken(v string) *DescribeReservedElasticsearchInstancesOutput {
6394	s.NextToken = &v
6395	return s
6396}
6397
6398// SetReservedElasticsearchInstances sets the ReservedElasticsearchInstances field's value.
6399func (s *DescribeReservedElasticsearchInstancesOutput) SetReservedElasticsearchInstances(v []*ReservedElasticsearchInstance) *DescribeReservedElasticsearchInstancesOutput {
6400	s.ReservedElasticsearchInstances = v
6401	return s
6402}
6403
6404// An error occured because the client wanted to access a not supported operation.
6405// Gives http status code of 409.
6406type DisabledOperationException struct {
6407	_            struct{}                  `type:"structure"`
6408	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6409
6410	Message_ *string `locationName:"message" type:"string"`
6411}
6412
6413// String returns the string representation
6414func (s DisabledOperationException) String() string {
6415	return awsutil.Prettify(s)
6416}
6417
6418// GoString returns the string representation
6419func (s DisabledOperationException) GoString() string {
6420	return s.String()
6421}
6422
6423func newErrorDisabledOperationException(v protocol.ResponseMetadata) error {
6424	return &DisabledOperationException{
6425		RespMetadata: v,
6426	}
6427}
6428
6429// Code returns the exception type name.
6430func (s *DisabledOperationException) Code() string {
6431	return "DisabledOperationException"
6432}
6433
6434// Message returns the exception's message.
6435func (s *DisabledOperationException) Message() string {
6436	if s.Message_ != nil {
6437		return *s.Message_
6438	}
6439	return ""
6440}
6441
6442// OrigErr always returns nil, satisfies awserr.Error interface.
6443func (s *DisabledOperationException) OrigErr() error {
6444	return nil
6445}
6446
6447func (s *DisabledOperationException) Error() string {
6448	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
6449}
6450
6451// Status code returns the HTTP status code for the request's response error.
6452func (s *DisabledOperationException) StatusCode() int {
6453	return s.RespMetadata.StatusCode
6454}
6455
6456// RequestID returns the service's response RequestID for request.
6457func (s *DisabledOperationException) RequestID() string {
6458	return s.RespMetadata.RequestID
6459}
6460
6461// Container for request parameters to DissociatePackage operation.
6462type DissociatePackageInput struct {
6463	_ struct{} `type:"structure"`
6464
6465	// Name of the domain that you want to associate the package with.
6466	//
6467	// DomainName is a required field
6468	DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"`
6469
6470	// Internal ID of the package that you want to associate with a domain. Use
6471	// DescribePackages to find this value.
6472	//
6473	// PackageID is a required field
6474	PackageID *string `location:"uri" locationName:"PackageID" type:"string" required:"true"`
6475}
6476
6477// String returns the string representation
6478func (s DissociatePackageInput) String() string {
6479	return awsutil.Prettify(s)
6480}
6481
6482// GoString returns the string representation
6483func (s DissociatePackageInput) GoString() string {
6484	return s.String()
6485}
6486
6487// Validate inspects the fields of the type to determine if they are valid.
6488func (s *DissociatePackageInput) Validate() error {
6489	invalidParams := request.ErrInvalidParams{Context: "DissociatePackageInput"}
6490	if s.DomainName == nil {
6491		invalidParams.Add(request.NewErrParamRequired("DomainName"))
6492	}
6493	if s.DomainName != nil && len(*s.DomainName) < 3 {
6494		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
6495	}
6496	if s.PackageID == nil {
6497		invalidParams.Add(request.NewErrParamRequired("PackageID"))
6498	}
6499	if s.PackageID != nil && len(*s.PackageID) < 1 {
6500		invalidParams.Add(request.NewErrParamMinLen("PackageID", 1))
6501	}
6502
6503	if invalidParams.Len() > 0 {
6504		return invalidParams
6505	}
6506	return nil
6507}
6508
6509// SetDomainName sets the DomainName field's value.
6510func (s *DissociatePackageInput) SetDomainName(v string) *DissociatePackageInput {
6511	s.DomainName = &v
6512	return s
6513}
6514
6515// SetPackageID sets the PackageID field's value.
6516func (s *DissociatePackageInput) SetPackageID(v string) *DissociatePackageInput {
6517	s.PackageID = &v
6518	return s
6519}
6520
6521// Container for response returned by DissociatePackage operation.
6522type DissociatePackageOutput struct {
6523	_ struct{} `type:"structure"`
6524
6525	// DomainPackageDetails
6526	DomainPackageDetails *DomainPackageDetails `type:"structure"`
6527}
6528
6529// String returns the string representation
6530func (s DissociatePackageOutput) String() string {
6531	return awsutil.Prettify(s)
6532}
6533
6534// GoString returns the string representation
6535func (s DissociatePackageOutput) GoString() string {
6536	return s.String()
6537}
6538
6539// SetDomainPackageDetails sets the DomainPackageDetails field's value.
6540func (s *DissociatePackageOutput) SetDomainPackageDetails(v *DomainPackageDetails) *DissociatePackageOutput {
6541	s.DomainPackageDetails = v
6542	return s
6543}
6544
6545// Options to configure endpoint for the Elasticsearch domain.
6546type DomainEndpointOptions struct {
6547	_ struct{} `type:"structure"`
6548
6549	// Specify if only HTTPS endpoint should be enabled for the Elasticsearch domain.
6550	EnforceHTTPS *bool `type:"boolean"`
6551
6552	// Specify the TLS security policy that needs to be applied to the HTTPS endpoint
6553	// of Elasticsearch domain. It can be one of the following values:
6554	//    * Policy-Min-TLS-1-0-2019-07: TLS security policy which supports TLSv1.0
6555	//    and higher.
6556	//
6557	//    * Policy-Min-TLS-1-2-2019-07: TLS security policy which supports only
6558	//    TLSv1.2
6559	TLSSecurityPolicy *string `type:"string" enum:"TLSSecurityPolicy"`
6560}
6561
6562// String returns the string representation
6563func (s DomainEndpointOptions) String() string {
6564	return awsutil.Prettify(s)
6565}
6566
6567// GoString returns the string representation
6568func (s DomainEndpointOptions) GoString() string {
6569	return s.String()
6570}
6571
6572// SetEnforceHTTPS sets the EnforceHTTPS field's value.
6573func (s *DomainEndpointOptions) SetEnforceHTTPS(v bool) *DomainEndpointOptions {
6574	s.EnforceHTTPS = &v
6575	return s
6576}
6577
6578// SetTLSSecurityPolicy sets the TLSSecurityPolicy field's value.
6579func (s *DomainEndpointOptions) SetTLSSecurityPolicy(v string) *DomainEndpointOptions {
6580	s.TLSSecurityPolicy = &v
6581	return s
6582}
6583
6584// The configured endpoint options for the domain and their current status.
6585type DomainEndpointOptionsStatus struct {
6586	_ struct{} `type:"structure"`
6587
6588	// Options to configure endpoint for the Elasticsearch domain.
6589	//
6590	// Options is a required field
6591	Options *DomainEndpointOptions `type:"structure" required:"true"`
6592
6593	// The status of the endpoint options for the Elasticsearch domain. See OptionStatus
6594	// for the status information that's included.
6595	//
6596	// Status is a required field
6597	Status *OptionStatus `type:"structure" required:"true"`
6598}
6599
6600// String returns the string representation
6601func (s DomainEndpointOptionsStatus) String() string {
6602	return awsutil.Prettify(s)
6603}
6604
6605// GoString returns the string representation
6606func (s DomainEndpointOptionsStatus) GoString() string {
6607	return s.String()
6608}
6609
6610// SetOptions sets the Options field's value.
6611func (s *DomainEndpointOptionsStatus) SetOptions(v *DomainEndpointOptions) *DomainEndpointOptionsStatus {
6612	s.Options = v
6613	return s
6614}
6615
6616// SetStatus sets the Status field's value.
6617func (s *DomainEndpointOptionsStatus) SetStatus(v *OptionStatus) *DomainEndpointOptionsStatus {
6618	s.Status = v
6619	return s
6620}
6621
6622type DomainInfo struct {
6623	_ struct{} `type:"structure"`
6624
6625	// Specifies the DomainName.
6626	DomainName *string `min:"3" type:"string"`
6627}
6628
6629// String returns the string representation
6630func (s DomainInfo) String() string {
6631	return awsutil.Prettify(s)
6632}
6633
6634// GoString returns the string representation
6635func (s DomainInfo) GoString() string {
6636	return s.String()
6637}
6638
6639// SetDomainName sets the DomainName field's value.
6640func (s *DomainInfo) SetDomainName(v string) *DomainInfo {
6641	s.DomainName = &v
6642	return s
6643}
6644
6645type DomainInformation struct {
6646	_ struct{} `type:"structure"`
6647
6648	// The name of an Elasticsearch domain. Domain names are unique across the domains
6649	// owned by an account within an AWS region. Domain names start with a letter
6650	// or number and can contain the following characters: a-z (lowercase), 0-9,
6651	// and - (hyphen).
6652	//
6653	// DomainName is a required field
6654	DomainName *string `min:"3" type:"string" required:"true"`
6655
6656	OwnerId *string `min:"12" type:"string"`
6657
6658	Region *string `type:"string"`
6659}
6660
6661// String returns the string representation
6662func (s DomainInformation) String() string {
6663	return awsutil.Prettify(s)
6664}
6665
6666// GoString returns the string representation
6667func (s DomainInformation) GoString() string {
6668	return s.String()
6669}
6670
6671// Validate inspects the fields of the type to determine if they are valid.
6672func (s *DomainInformation) Validate() error {
6673	invalidParams := request.ErrInvalidParams{Context: "DomainInformation"}
6674	if s.DomainName == nil {
6675		invalidParams.Add(request.NewErrParamRequired("DomainName"))
6676	}
6677	if s.DomainName != nil && len(*s.DomainName) < 3 {
6678		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
6679	}
6680	if s.OwnerId != nil && len(*s.OwnerId) < 12 {
6681		invalidParams.Add(request.NewErrParamMinLen("OwnerId", 12))
6682	}
6683
6684	if invalidParams.Len() > 0 {
6685		return invalidParams
6686	}
6687	return nil
6688}
6689
6690// SetDomainName sets the DomainName field's value.
6691func (s *DomainInformation) SetDomainName(v string) *DomainInformation {
6692	s.DomainName = &v
6693	return s
6694}
6695
6696// SetOwnerId sets the OwnerId field's value.
6697func (s *DomainInformation) SetOwnerId(v string) *DomainInformation {
6698	s.OwnerId = &v
6699	return s
6700}
6701
6702// SetRegion sets the Region field's value.
6703func (s *DomainInformation) SetRegion(v string) *DomainInformation {
6704	s.Region = &v
6705	return s
6706}
6707
6708// Information on a package that is associated with a domain.
6709type DomainPackageDetails struct {
6710	_ struct{} `type:"structure"`
6711
6712	// Name of the domain you've associated a package with.
6713	DomainName *string `min:"3" type:"string"`
6714
6715	// State of the association. Values are ASSOCIATING/ASSOCIATION_FAILED/ACTIVE/DISSOCIATING/DISSOCIATION_FAILED.
6716	DomainPackageStatus *string `type:"string" enum:"DomainPackageStatus"`
6717
6718	// Additional information if the package is in an error state. Null otherwise.
6719	ErrorDetails *ErrorDetails `type:"structure"`
6720
6721	// Timestamp of the most-recent update to the association status.
6722	LastUpdated *time.Time `type:"timestamp"`
6723
6724	// Internal ID of the package.
6725	PackageID *string `type:"string"`
6726
6727	// User specified name of the package.
6728	PackageName *string `min:"3" type:"string"`
6729
6730	// Currently supports only TXT-DICTIONARY.
6731	PackageType *string `type:"string" enum:"PackageType"`
6732
6733	// The relative path on Amazon ES nodes, which can be used as synonym_path when
6734	// the package is synonym file.
6735	ReferencePath *string `type:"string"`
6736}
6737
6738// String returns the string representation
6739func (s DomainPackageDetails) String() string {
6740	return awsutil.Prettify(s)
6741}
6742
6743// GoString returns the string representation
6744func (s DomainPackageDetails) GoString() string {
6745	return s.String()
6746}
6747
6748// SetDomainName sets the DomainName field's value.
6749func (s *DomainPackageDetails) SetDomainName(v string) *DomainPackageDetails {
6750	s.DomainName = &v
6751	return s
6752}
6753
6754// SetDomainPackageStatus sets the DomainPackageStatus field's value.
6755func (s *DomainPackageDetails) SetDomainPackageStatus(v string) *DomainPackageDetails {
6756	s.DomainPackageStatus = &v
6757	return s
6758}
6759
6760// SetErrorDetails sets the ErrorDetails field's value.
6761func (s *DomainPackageDetails) SetErrorDetails(v *ErrorDetails) *DomainPackageDetails {
6762	s.ErrorDetails = v
6763	return s
6764}
6765
6766// SetLastUpdated sets the LastUpdated field's value.
6767func (s *DomainPackageDetails) SetLastUpdated(v time.Time) *DomainPackageDetails {
6768	s.LastUpdated = &v
6769	return s
6770}
6771
6772// SetPackageID sets the PackageID field's value.
6773func (s *DomainPackageDetails) SetPackageID(v string) *DomainPackageDetails {
6774	s.PackageID = &v
6775	return s
6776}
6777
6778// SetPackageName sets the PackageName field's value.
6779func (s *DomainPackageDetails) SetPackageName(v string) *DomainPackageDetails {
6780	s.PackageName = &v
6781	return s
6782}
6783
6784// SetPackageType sets the PackageType field's value.
6785func (s *DomainPackageDetails) SetPackageType(v string) *DomainPackageDetails {
6786	s.PackageType = &v
6787	return s
6788}
6789
6790// SetReferencePath sets the ReferencePath field's value.
6791func (s *DomainPackageDetails) SetReferencePath(v string) *DomainPackageDetails {
6792	s.ReferencePath = &v
6793	return s
6794}
6795
6796// Options to enable, disable, and specify the properties of EBS storage volumes.
6797// For more information, see Configuring EBS-based Storage (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomain-configure-ebs).
6798type EBSOptions struct {
6799	_ struct{} `type:"structure"`
6800
6801	// Specifies whether EBS-based storage is enabled.
6802	EBSEnabled *bool `type:"boolean"`
6803
6804	// Specifies the IOPD for a Provisioned IOPS EBS volume (SSD).
6805	Iops *int64 `type:"integer"`
6806
6807	// Integer to specify the size of an EBS volume.
6808	VolumeSize *int64 `type:"integer"`
6809
6810	// Specifies the volume type for EBS-based storage.
6811	VolumeType *string `type:"string" enum:"VolumeType"`
6812}
6813
6814// String returns the string representation
6815func (s EBSOptions) String() string {
6816	return awsutil.Prettify(s)
6817}
6818
6819// GoString returns the string representation
6820func (s EBSOptions) GoString() string {
6821	return s.String()
6822}
6823
6824// SetEBSEnabled sets the EBSEnabled field's value.
6825func (s *EBSOptions) SetEBSEnabled(v bool) *EBSOptions {
6826	s.EBSEnabled = &v
6827	return s
6828}
6829
6830// SetIops sets the Iops field's value.
6831func (s *EBSOptions) SetIops(v int64) *EBSOptions {
6832	s.Iops = &v
6833	return s
6834}
6835
6836// SetVolumeSize sets the VolumeSize field's value.
6837func (s *EBSOptions) SetVolumeSize(v int64) *EBSOptions {
6838	s.VolumeSize = &v
6839	return s
6840}
6841
6842// SetVolumeType sets the VolumeType field's value.
6843func (s *EBSOptions) SetVolumeType(v string) *EBSOptions {
6844	s.VolumeType = &v
6845	return s
6846}
6847
6848// Status of the EBS options for the specified Elasticsearch domain.
6849type EBSOptionsStatus struct {
6850	_ struct{} `type:"structure"`
6851
6852	// Specifies the EBS options for the specified Elasticsearch domain.
6853	//
6854	// Options is a required field
6855	Options *EBSOptions `type:"structure" required:"true"`
6856
6857	// Specifies the status of the EBS options for the specified Elasticsearch domain.
6858	//
6859	// Status is a required field
6860	Status *OptionStatus `type:"structure" required:"true"`
6861}
6862
6863// String returns the string representation
6864func (s EBSOptionsStatus) String() string {
6865	return awsutil.Prettify(s)
6866}
6867
6868// GoString returns the string representation
6869func (s EBSOptionsStatus) GoString() string {
6870	return s.String()
6871}
6872
6873// SetOptions sets the Options field's value.
6874func (s *EBSOptionsStatus) SetOptions(v *EBSOptions) *EBSOptionsStatus {
6875	s.Options = v
6876	return s
6877}
6878
6879// SetStatus sets the Status field's value.
6880func (s *EBSOptionsStatus) SetStatus(v *OptionStatus) *EBSOptionsStatus {
6881	s.Status = v
6882	return s
6883}
6884
6885// Specifies the configuration for the domain cluster, such as the type and
6886// number of instances.
6887type ElasticsearchClusterConfig struct {
6888	_ struct{} `type:"structure"`
6889
6890	// Total number of dedicated master nodes, active and on standby, for the cluster.
6891	DedicatedMasterCount *int64 `type:"integer"`
6892
6893	// A boolean value to indicate whether a dedicated master node is enabled. See
6894	// About Dedicated Master Nodes (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-managedomains.html#es-managedomains-dedicatedmasternodes)
6895	// for more information.
6896	DedicatedMasterEnabled *bool `type:"boolean"`
6897
6898	// The instance type for a dedicated master node.
6899	DedicatedMasterType *string `type:"string" enum:"ESPartitionInstanceType"`
6900
6901	// The number of instances in the specified domain cluster.
6902	InstanceCount *int64 `type:"integer"`
6903
6904	// The instance type for an Elasticsearch cluster. UltraWarm instance types
6905	// are not supported for data instances.
6906	InstanceType *string `type:"string" enum:"ESPartitionInstanceType"`
6907
6908	// The number of warm nodes in the cluster.
6909	WarmCount *int64 `type:"integer"`
6910
6911	// True to enable warm storage.
6912	WarmEnabled *bool `type:"boolean"`
6913
6914	// The instance type for the Elasticsearch cluster's warm nodes.
6915	WarmType *string `type:"string" enum:"ESWarmPartitionInstanceType"`
6916
6917	// Specifies the zone awareness configuration for a domain when zone awareness
6918	// is enabled.
6919	ZoneAwarenessConfig *ZoneAwarenessConfig `type:"structure"`
6920
6921	// A boolean value to indicate whether zone awareness is enabled. See About
6922	// Zone Awareness (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-managedomains.html#es-managedomains-zoneawareness)
6923	// for more information.
6924	ZoneAwarenessEnabled *bool `type:"boolean"`
6925}
6926
6927// String returns the string representation
6928func (s ElasticsearchClusterConfig) String() string {
6929	return awsutil.Prettify(s)
6930}
6931
6932// GoString returns the string representation
6933func (s ElasticsearchClusterConfig) GoString() string {
6934	return s.String()
6935}
6936
6937// SetDedicatedMasterCount sets the DedicatedMasterCount field's value.
6938func (s *ElasticsearchClusterConfig) SetDedicatedMasterCount(v int64) *ElasticsearchClusterConfig {
6939	s.DedicatedMasterCount = &v
6940	return s
6941}
6942
6943// SetDedicatedMasterEnabled sets the DedicatedMasterEnabled field's value.
6944func (s *ElasticsearchClusterConfig) SetDedicatedMasterEnabled(v bool) *ElasticsearchClusterConfig {
6945	s.DedicatedMasterEnabled = &v
6946	return s
6947}
6948
6949// SetDedicatedMasterType sets the DedicatedMasterType field's value.
6950func (s *ElasticsearchClusterConfig) SetDedicatedMasterType(v string) *ElasticsearchClusterConfig {
6951	s.DedicatedMasterType = &v
6952	return s
6953}
6954
6955// SetInstanceCount sets the InstanceCount field's value.
6956func (s *ElasticsearchClusterConfig) SetInstanceCount(v int64) *ElasticsearchClusterConfig {
6957	s.InstanceCount = &v
6958	return s
6959}
6960
6961// SetInstanceType sets the InstanceType field's value.
6962func (s *ElasticsearchClusterConfig) SetInstanceType(v string) *ElasticsearchClusterConfig {
6963	s.InstanceType = &v
6964	return s
6965}
6966
6967// SetWarmCount sets the WarmCount field's value.
6968func (s *ElasticsearchClusterConfig) SetWarmCount(v int64) *ElasticsearchClusterConfig {
6969	s.WarmCount = &v
6970	return s
6971}
6972
6973// SetWarmEnabled sets the WarmEnabled field's value.
6974func (s *ElasticsearchClusterConfig) SetWarmEnabled(v bool) *ElasticsearchClusterConfig {
6975	s.WarmEnabled = &v
6976	return s
6977}
6978
6979// SetWarmType sets the WarmType field's value.
6980func (s *ElasticsearchClusterConfig) SetWarmType(v string) *ElasticsearchClusterConfig {
6981	s.WarmType = &v
6982	return s
6983}
6984
6985// SetZoneAwarenessConfig sets the ZoneAwarenessConfig field's value.
6986func (s *ElasticsearchClusterConfig) SetZoneAwarenessConfig(v *ZoneAwarenessConfig) *ElasticsearchClusterConfig {
6987	s.ZoneAwarenessConfig = v
6988	return s
6989}
6990
6991// SetZoneAwarenessEnabled sets the ZoneAwarenessEnabled field's value.
6992func (s *ElasticsearchClusterConfig) SetZoneAwarenessEnabled(v bool) *ElasticsearchClusterConfig {
6993	s.ZoneAwarenessEnabled = &v
6994	return s
6995}
6996
6997// Specifies the configuration status for the specified Elasticsearch domain.
6998type ElasticsearchClusterConfigStatus struct {
6999	_ struct{} `type:"structure"`
7000
7001	// Specifies the cluster configuration for the specified Elasticsearch domain.
7002	//
7003	// Options is a required field
7004	Options *ElasticsearchClusterConfig `type:"structure" required:"true"`
7005
7006	// Specifies the status of the configuration for the specified Elasticsearch
7007	// domain.
7008	//
7009	// Status is a required field
7010	Status *OptionStatus `type:"structure" required:"true"`
7011}
7012
7013// String returns the string representation
7014func (s ElasticsearchClusterConfigStatus) String() string {
7015	return awsutil.Prettify(s)
7016}
7017
7018// GoString returns the string representation
7019func (s ElasticsearchClusterConfigStatus) GoString() string {
7020	return s.String()
7021}
7022
7023// SetOptions sets the Options field's value.
7024func (s *ElasticsearchClusterConfigStatus) SetOptions(v *ElasticsearchClusterConfig) *ElasticsearchClusterConfigStatus {
7025	s.Options = v
7026	return s
7027}
7028
7029// SetStatus sets the Status field's value.
7030func (s *ElasticsearchClusterConfigStatus) SetStatus(v *OptionStatus) *ElasticsearchClusterConfigStatus {
7031	s.Status = v
7032	return s
7033}
7034
7035// The configuration of an Elasticsearch domain.
7036type ElasticsearchDomainConfig struct {
7037	_ struct{} `type:"structure"`
7038
7039	// IAM access policy as a JSON-formatted string.
7040	AccessPolicies *AccessPoliciesStatus `type:"structure"`
7041
7042	// Specifies the AdvancedOptions for the domain. See Configuring Advanced Options
7043	// (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomain-configure-advanced-options)
7044	// for more information.
7045	AdvancedOptions *AdvancedOptionsStatus `type:"structure"`
7046
7047	// Specifies AdvancedSecurityOptions for the domain.
7048	AdvancedSecurityOptions *AdvancedSecurityOptionsStatus `type:"structure"`
7049
7050	// The CognitoOptions for the specified domain. For more information, see Amazon
7051	// Cognito Authentication for Kibana (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-cognito-auth.html).
7052	CognitoOptions *CognitoOptionsStatus `type:"structure"`
7053
7054	// Specifies the DomainEndpointOptions for the Elasticsearch domain.
7055	DomainEndpointOptions *DomainEndpointOptionsStatus `type:"structure"`
7056
7057	// Specifies the EBSOptions for the Elasticsearch domain.
7058	EBSOptions *EBSOptionsStatus `type:"structure"`
7059
7060	// Specifies the ElasticsearchClusterConfig for the Elasticsearch domain.
7061	ElasticsearchClusterConfig *ElasticsearchClusterConfigStatus `type:"structure"`
7062
7063	// String of format X.Y to specify version for the Elasticsearch domain.
7064	ElasticsearchVersion *ElasticsearchVersionStatus `type:"structure"`
7065
7066	// Specifies the EncryptionAtRestOptions for the Elasticsearch domain.
7067	EncryptionAtRestOptions *EncryptionAtRestOptionsStatus `type:"structure"`
7068
7069	// Log publishing options for the given domain.
7070	LogPublishingOptions *LogPublishingOptionsStatus `type:"structure"`
7071
7072	// Specifies the NodeToNodeEncryptionOptions for the Elasticsearch domain.
7073	NodeToNodeEncryptionOptions *NodeToNodeEncryptionOptionsStatus `type:"structure"`
7074
7075	// Specifies the SnapshotOptions for the Elasticsearch domain.
7076	SnapshotOptions *SnapshotOptionsStatus `type:"structure"`
7077
7078	// The VPCOptions for the specified domain. For more information, see VPC Endpoints
7079	// for Amazon Elasticsearch Service Domains (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-vpc.html).
7080	VPCOptions *VPCDerivedInfoStatus `type:"structure"`
7081}
7082
7083// String returns the string representation
7084func (s ElasticsearchDomainConfig) String() string {
7085	return awsutil.Prettify(s)
7086}
7087
7088// GoString returns the string representation
7089func (s ElasticsearchDomainConfig) GoString() string {
7090	return s.String()
7091}
7092
7093// SetAccessPolicies sets the AccessPolicies field's value.
7094func (s *ElasticsearchDomainConfig) SetAccessPolicies(v *AccessPoliciesStatus) *ElasticsearchDomainConfig {
7095	s.AccessPolicies = v
7096	return s
7097}
7098
7099// SetAdvancedOptions sets the AdvancedOptions field's value.
7100func (s *ElasticsearchDomainConfig) SetAdvancedOptions(v *AdvancedOptionsStatus) *ElasticsearchDomainConfig {
7101	s.AdvancedOptions = v
7102	return s
7103}
7104
7105// SetAdvancedSecurityOptions sets the AdvancedSecurityOptions field's value.
7106func (s *ElasticsearchDomainConfig) SetAdvancedSecurityOptions(v *AdvancedSecurityOptionsStatus) *ElasticsearchDomainConfig {
7107	s.AdvancedSecurityOptions = v
7108	return s
7109}
7110
7111// SetCognitoOptions sets the CognitoOptions field's value.
7112func (s *ElasticsearchDomainConfig) SetCognitoOptions(v *CognitoOptionsStatus) *ElasticsearchDomainConfig {
7113	s.CognitoOptions = v
7114	return s
7115}
7116
7117// SetDomainEndpointOptions sets the DomainEndpointOptions field's value.
7118func (s *ElasticsearchDomainConfig) SetDomainEndpointOptions(v *DomainEndpointOptionsStatus) *ElasticsearchDomainConfig {
7119	s.DomainEndpointOptions = v
7120	return s
7121}
7122
7123// SetEBSOptions sets the EBSOptions field's value.
7124func (s *ElasticsearchDomainConfig) SetEBSOptions(v *EBSOptionsStatus) *ElasticsearchDomainConfig {
7125	s.EBSOptions = v
7126	return s
7127}
7128
7129// SetElasticsearchClusterConfig sets the ElasticsearchClusterConfig field's value.
7130func (s *ElasticsearchDomainConfig) SetElasticsearchClusterConfig(v *ElasticsearchClusterConfigStatus) *ElasticsearchDomainConfig {
7131	s.ElasticsearchClusterConfig = v
7132	return s
7133}
7134
7135// SetElasticsearchVersion sets the ElasticsearchVersion field's value.
7136func (s *ElasticsearchDomainConfig) SetElasticsearchVersion(v *ElasticsearchVersionStatus) *ElasticsearchDomainConfig {
7137	s.ElasticsearchVersion = v
7138	return s
7139}
7140
7141// SetEncryptionAtRestOptions sets the EncryptionAtRestOptions field's value.
7142func (s *ElasticsearchDomainConfig) SetEncryptionAtRestOptions(v *EncryptionAtRestOptionsStatus) *ElasticsearchDomainConfig {
7143	s.EncryptionAtRestOptions = v
7144	return s
7145}
7146
7147// SetLogPublishingOptions sets the LogPublishingOptions field's value.
7148func (s *ElasticsearchDomainConfig) SetLogPublishingOptions(v *LogPublishingOptionsStatus) *ElasticsearchDomainConfig {
7149	s.LogPublishingOptions = v
7150	return s
7151}
7152
7153// SetNodeToNodeEncryptionOptions sets the NodeToNodeEncryptionOptions field's value.
7154func (s *ElasticsearchDomainConfig) SetNodeToNodeEncryptionOptions(v *NodeToNodeEncryptionOptionsStatus) *ElasticsearchDomainConfig {
7155	s.NodeToNodeEncryptionOptions = v
7156	return s
7157}
7158
7159// SetSnapshotOptions sets the SnapshotOptions field's value.
7160func (s *ElasticsearchDomainConfig) SetSnapshotOptions(v *SnapshotOptionsStatus) *ElasticsearchDomainConfig {
7161	s.SnapshotOptions = v
7162	return s
7163}
7164
7165// SetVPCOptions sets the VPCOptions field's value.
7166func (s *ElasticsearchDomainConfig) SetVPCOptions(v *VPCDerivedInfoStatus) *ElasticsearchDomainConfig {
7167	s.VPCOptions = v
7168	return s
7169}
7170
7171// The current status of an Elasticsearch domain.
7172type ElasticsearchDomainStatus struct {
7173	_ struct{} `type:"structure"`
7174
7175	// The Amazon resource name (ARN) of an Elasticsearch domain. See Identifiers
7176	// for IAM Entities (http://docs.aws.amazon.com/IAM/latest/UserGuide/index.html?Using_Identifiers.html)
7177	// in Using AWS Identity and Access Management for more information.
7178	//
7179	// ARN is a required field
7180	ARN *string `type:"string" required:"true"`
7181
7182	// IAM access policy as a JSON-formatted string.
7183	AccessPolicies *string `type:"string"`
7184
7185	// Specifies the status of the AdvancedOptions
7186	AdvancedOptions map[string]*string `type:"map"`
7187
7188	// The current status of the Elasticsearch domain's advanced security options.
7189	AdvancedSecurityOptions *AdvancedSecurityOptions `type:"structure"`
7190
7191	// The CognitoOptions for the specified domain. For more information, see Amazon
7192	// Cognito Authentication for Kibana (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-cognito-auth.html).
7193	CognitoOptions *CognitoOptions `type:"structure"`
7194
7195	// The domain creation status. True if the creation of an Elasticsearch domain
7196	// is complete. False if domain creation is still in progress.
7197	Created *bool `type:"boolean"`
7198
7199	// The domain deletion status. True if a delete request has been received for
7200	// the domain but resource cleanup is still in progress. False if the domain
7201	// has not been deleted. Once domain deletion is complete, the status of the
7202	// domain is no longer returned.
7203	Deleted *bool `type:"boolean"`
7204
7205	// The current status of the Elasticsearch domain's endpoint options.
7206	DomainEndpointOptions *DomainEndpointOptions `type:"structure"`
7207
7208	// The unique identifier for the specified Elasticsearch domain.
7209	//
7210	// DomainId is a required field
7211	DomainId *string `min:"1" type:"string" required:"true"`
7212
7213	// The name of an Elasticsearch domain. Domain names are unique across the domains
7214	// owned by an account within an AWS region. Domain names start with a letter
7215	// or number and can contain the following characters: a-z (lowercase), 0-9,
7216	// and - (hyphen).
7217	//
7218	// DomainName is a required field
7219	DomainName *string `min:"3" type:"string" required:"true"`
7220
7221	// The EBSOptions for the specified domain. See Configuring EBS-based Storage
7222	// (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomain-configure-ebs)
7223	// for more information.
7224	EBSOptions *EBSOptions `type:"structure"`
7225
7226	// The type and number of instances in the domain cluster.
7227	//
7228	// ElasticsearchClusterConfig is a required field
7229	ElasticsearchClusterConfig *ElasticsearchClusterConfig `type:"structure" required:"true"`
7230
7231	ElasticsearchVersion *string `type:"string"`
7232
7233	// Specifies the status of the EncryptionAtRestOptions.
7234	EncryptionAtRestOptions *EncryptionAtRestOptions `type:"structure"`
7235
7236	// The Elasticsearch domain endpoint that you use to submit index and search
7237	// requests.
7238	Endpoint *string `type:"string"`
7239
7240	// Map containing the Elasticsearch domain endpoints used to submit index and
7241	// search requests. Example key, value: 'vpc','vpc-endpoint-h2dsd34efgyghrtguk5gt6j2foh4.us-east-1.es.amazonaws.com'.
7242	Endpoints map[string]*string `type:"map"`
7243
7244	// Log publishing options for the given domain.
7245	LogPublishingOptions map[string]*LogPublishingOption `type:"map"`
7246
7247	// Specifies the status of the NodeToNodeEncryptionOptions.
7248	NodeToNodeEncryptionOptions *NodeToNodeEncryptionOptions `type:"structure"`
7249
7250	// The status of the Elasticsearch domain configuration. True if Amazon Elasticsearch
7251	// Service is processing configuration changes. False if the configuration is
7252	// active.
7253	Processing *bool `type:"boolean"`
7254
7255	// The current status of the Elasticsearch domain's service software.
7256	ServiceSoftwareOptions *ServiceSoftwareOptions `type:"structure"`
7257
7258	// Specifies the status of the SnapshotOptions
7259	SnapshotOptions *SnapshotOptions `type:"structure"`
7260
7261	// The status of an Elasticsearch domain version upgrade. True if Amazon Elasticsearch
7262	// Service is undergoing a version upgrade. False if the configuration is active.
7263	UpgradeProcessing *bool `type:"boolean"`
7264
7265	// The VPCOptions for the specified domain. For more information, see VPC Endpoints
7266	// for Amazon Elasticsearch Service Domains (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-vpc.html).
7267	VPCOptions *VPCDerivedInfo `type:"structure"`
7268}
7269
7270// String returns the string representation
7271func (s ElasticsearchDomainStatus) String() string {
7272	return awsutil.Prettify(s)
7273}
7274
7275// GoString returns the string representation
7276func (s ElasticsearchDomainStatus) GoString() string {
7277	return s.String()
7278}
7279
7280// SetARN sets the ARN field's value.
7281func (s *ElasticsearchDomainStatus) SetARN(v string) *ElasticsearchDomainStatus {
7282	s.ARN = &v
7283	return s
7284}
7285
7286// SetAccessPolicies sets the AccessPolicies field's value.
7287func (s *ElasticsearchDomainStatus) SetAccessPolicies(v string) *ElasticsearchDomainStatus {
7288	s.AccessPolicies = &v
7289	return s
7290}
7291
7292// SetAdvancedOptions sets the AdvancedOptions field's value.
7293func (s *ElasticsearchDomainStatus) SetAdvancedOptions(v map[string]*string) *ElasticsearchDomainStatus {
7294	s.AdvancedOptions = v
7295	return s
7296}
7297
7298// SetAdvancedSecurityOptions sets the AdvancedSecurityOptions field's value.
7299func (s *ElasticsearchDomainStatus) SetAdvancedSecurityOptions(v *AdvancedSecurityOptions) *ElasticsearchDomainStatus {
7300	s.AdvancedSecurityOptions = v
7301	return s
7302}
7303
7304// SetCognitoOptions sets the CognitoOptions field's value.
7305func (s *ElasticsearchDomainStatus) SetCognitoOptions(v *CognitoOptions) *ElasticsearchDomainStatus {
7306	s.CognitoOptions = v
7307	return s
7308}
7309
7310// SetCreated sets the Created field's value.
7311func (s *ElasticsearchDomainStatus) SetCreated(v bool) *ElasticsearchDomainStatus {
7312	s.Created = &v
7313	return s
7314}
7315
7316// SetDeleted sets the Deleted field's value.
7317func (s *ElasticsearchDomainStatus) SetDeleted(v bool) *ElasticsearchDomainStatus {
7318	s.Deleted = &v
7319	return s
7320}
7321
7322// SetDomainEndpointOptions sets the DomainEndpointOptions field's value.
7323func (s *ElasticsearchDomainStatus) SetDomainEndpointOptions(v *DomainEndpointOptions) *ElasticsearchDomainStatus {
7324	s.DomainEndpointOptions = v
7325	return s
7326}
7327
7328// SetDomainId sets the DomainId field's value.
7329func (s *ElasticsearchDomainStatus) SetDomainId(v string) *ElasticsearchDomainStatus {
7330	s.DomainId = &v
7331	return s
7332}
7333
7334// SetDomainName sets the DomainName field's value.
7335func (s *ElasticsearchDomainStatus) SetDomainName(v string) *ElasticsearchDomainStatus {
7336	s.DomainName = &v
7337	return s
7338}
7339
7340// SetEBSOptions sets the EBSOptions field's value.
7341func (s *ElasticsearchDomainStatus) SetEBSOptions(v *EBSOptions) *ElasticsearchDomainStatus {
7342	s.EBSOptions = v
7343	return s
7344}
7345
7346// SetElasticsearchClusterConfig sets the ElasticsearchClusterConfig field's value.
7347func (s *ElasticsearchDomainStatus) SetElasticsearchClusterConfig(v *ElasticsearchClusterConfig) *ElasticsearchDomainStatus {
7348	s.ElasticsearchClusterConfig = v
7349	return s
7350}
7351
7352// SetElasticsearchVersion sets the ElasticsearchVersion field's value.
7353func (s *ElasticsearchDomainStatus) SetElasticsearchVersion(v string) *ElasticsearchDomainStatus {
7354	s.ElasticsearchVersion = &v
7355	return s
7356}
7357
7358// SetEncryptionAtRestOptions sets the EncryptionAtRestOptions field's value.
7359func (s *ElasticsearchDomainStatus) SetEncryptionAtRestOptions(v *EncryptionAtRestOptions) *ElasticsearchDomainStatus {
7360	s.EncryptionAtRestOptions = v
7361	return s
7362}
7363
7364// SetEndpoint sets the Endpoint field's value.
7365func (s *ElasticsearchDomainStatus) SetEndpoint(v string) *ElasticsearchDomainStatus {
7366	s.Endpoint = &v
7367	return s
7368}
7369
7370// SetEndpoints sets the Endpoints field's value.
7371func (s *ElasticsearchDomainStatus) SetEndpoints(v map[string]*string) *ElasticsearchDomainStatus {
7372	s.Endpoints = v
7373	return s
7374}
7375
7376// SetLogPublishingOptions sets the LogPublishingOptions field's value.
7377func (s *ElasticsearchDomainStatus) SetLogPublishingOptions(v map[string]*LogPublishingOption) *ElasticsearchDomainStatus {
7378	s.LogPublishingOptions = v
7379	return s
7380}
7381
7382// SetNodeToNodeEncryptionOptions sets the NodeToNodeEncryptionOptions field's value.
7383func (s *ElasticsearchDomainStatus) SetNodeToNodeEncryptionOptions(v *NodeToNodeEncryptionOptions) *ElasticsearchDomainStatus {
7384	s.NodeToNodeEncryptionOptions = v
7385	return s
7386}
7387
7388// SetProcessing sets the Processing field's value.
7389func (s *ElasticsearchDomainStatus) SetProcessing(v bool) *ElasticsearchDomainStatus {
7390	s.Processing = &v
7391	return s
7392}
7393
7394// SetServiceSoftwareOptions sets the ServiceSoftwareOptions field's value.
7395func (s *ElasticsearchDomainStatus) SetServiceSoftwareOptions(v *ServiceSoftwareOptions) *ElasticsearchDomainStatus {
7396	s.ServiceSoftwareOptions = v
7397	return s
7398}
7399
7400// SetSnapshotOptions sets the SnapshotOptions field's value.
7401func (s *ElasticsearchDomainStatus) SetSnapshotOptions(v *SnapshotOptions) *ElasticsearchDomainStatus {
7402	s.SnapshotOptions = v
7403	return s
7404}
7405
7406// SetUpgradeProcessing sets the UpgradeProcessing field's value.
7407func (s *ElasticsearchDomainStatus) SetUpgradeProcessing(v bool) *ElasticsearchDomainStatus {
7408	s.UpgradeProcessing = &v
7409	return s
7410}
7411
7412// SetVPCOptions sets the VPCOptions field's value.
7413func (s *ElasticsearchDomainStatus) SetVPCOptions(v *VPCDerivedInfo) *ElasticsearchDomainStatus {
7414	s.VPCOptions = v
7415	return s
7416}
7417
7418// Status of the Elasticsearch version options for the specified Elasticsearch
7419// domain.
7420type ElasticsearchVersionStatus struct {
7421	_ struct{} `type:"structure"`
7422
7423	// Specifies the Elasticsearch version for the specified Elasticsearch domain.
7424	//
7425	// Options is a required field
7426	Options *string `type:"string" required:"true"`
7427
7428	// Specifies the status of the Elasticsearch version options for the specified
7429	// Elasticsearch domain.
7430	//
7431	// Status is a required field
7432	Status *OptionStatus `type:"structure" required:"true"`
7433}
7434
7435// String returns the string representation
7436func (s ElasticsearchVersionStatus) String() string {
7437	return awsutil.Prettify(s)
7438}
7439
7440// GoString returns the string representation
7441func (s ElasticsearchVersionStatus) GoString() string {
7442	return s.String()
7443}
7444
7445// SetOptions sets the Options field's value.
7446func (s *ElasticsearchVersionStatus) SetOptions(v string) *ElasticsearchVersionStatus {
7447	s.Options = &v
7448	return s
7449}
7450
7451// SetStatus sets the Status field's value.
7452func (s *ElasticsearchVersionStatus) SetStatus(v *OptionStatus) *ElasticsearchVersionStatus {
7453	s.Status = v
7454	return s
7455}
7456
7457// Specifies the Encryption At Rest Options.
7458type EncryptionAtRestOptions struct {
7459	_ struct{} `type:"structure"`
7460
7461	// Specifies the option to enable Encryption At Rest.
7462	Enabled *bool `type:"boolean"`
7463
7464	// Specifies the KMS Key ID for Encryption At Rest options.
7465	KmsKeyId *string `min:"1" type:"string"`
7466}
7467
7468// String returns the string representation
7469func (s EncryptionAtRestOptions) String() string {
7470	return awsutil.Prettify(s)
7471}
7472
7473// GoString returns the string representation
7474func (s EncryptionAtRestOptions) GoString() string {
7475	return s.String()
7476}
7477
7478// Validate inspects the fields of the type to determine if they are valid.
7479func (s *EncryptionAtRestOptions) Validate() error {
7480	invalidParams := request.ErrInvalidParams{Context: "EncryptionAtRestOptions"}
7481	if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 {
7482		invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1))
7483	}
7484
7485	if invalidParams.Len() > 0 {
7486		return invalidParams
7487	}
7488	return nil
7489}
7490
7491// SetEnabled sets the Enabled field's value.
7492func (s *EncryptionAtRestOptions) SetEnabled(v bool) *EncryptionAtRestOptions {
7493	s.Enabled = &v
7494	return s
7495}
7496
7497// SetKmsKeyId sets the KmsKeyId field's value.
7498func (s *EncryptionAtRestOptions) SetKmsKeyId(v string) *EncryptionAtRestOptions {
7499	s.KmsKeyId = &v
7500	return s
7501}
7502
7503// Status of the Encryption At Rest options for the specified Elasticsearch
7504// domain.
7505type EncryptionAtRestOptionsStatus struct {
7506	_ struct{} `type:"structure"`
7507
7508	// Specifies the Encryption At Rest options for the specified Elasticsearch
7509	// domain.
7510	//
7511	// Options is a required field
7512	Options *EncryptionAtRestOptions `type:"structure" required:"true"`
7513
7514	// Specifies the status of the Encryption At Rest options for the specified
7515	// Elasticsearch domain.
7516	//
7517	// Status is a required field
7518	Status *OptionStatus `type:"structure" required:"true"`
7519}
7520
7521// String returns the string representation
7522func (s EncryptionAtRestOptionsStatus) String() string {
7523	return awsutil.Prettify(s)
7524}
7525
7526// GoString returns the string representation
7527func (s EncryptionAtRestOptionsStatus) GoString() string {
7528	return s.String()
7529}
7530
7531// SetOptions sets the Options field's value.
7532func (s *EncryptionAtRestOptionsStatus) SetOptions(v *EncryptionAtRestOptions) *EncryptionAtRestOptionsStatus {
7533	s.Options = v
7534	return s
7535}
7536
7537// SetStatus sets the Status field's value.
7538func (s *EncryptionAtRestOptionsStatus) SetStatus(v *OptionStatus) *EncryptionAtRestOptionsStatus {
7539	s.Status = v
7540	return s
7541}
7542
7543type ErrorDetails struct {
7544	_ struct{} `type:"structure"`
7545
7546	ErrorMessage *string `type:"string"`
7547
7548	ErrorType *string `type:"string"`
7549}
7550
7551// String returns the string representation
7552func (s ErrorDetails) String() string {
7553	return awsutil.Prettify(s)
7554}
7555
7556// GoString returns the string representation
7557func (s ErrorDetails) GoString() string {
7558	return s.String()
7559}
7560
7561// SetErrorMessage sets the ErrorMessage field's value.
7562func (s *ErrorDetails) SetErrorMessage(v string) *ErrorDetails {
7563	s.ErrorMessage = &v
7564	return s
7565}
7566
7567// SetErrorType sets the ErrorType field's value.
7568func (s *ErrorDetails) SetErrorType(v string) *ErrorDetails {
7569	s.ErrorType = &v
7570	return s
7571}
7572
7573// A filter used to limit results when describing inbound or outbound cross-cluster
7574// search connections. Multiple values can be specified per filter. A cross-cluster
7575// search connection must match at least one of the specified values for it
7576// to be returned from an operation.
7577type Filter struct {
7578	_ struct{} `type:"structure"`
7579
7580	// Specifies the name of the filter.
7581	Name *string `min:"1" type:"string"`
7582
7583	// Contains one or more values for the filter.
7584	Values []*string `min:"1" type:"list"`
7585}
7586
7587// String returns the string representation
7588func (s Filter) String() string {
7589	return awsutil.Prettify(s)
7590}
7591
7592// GoString returns the string representation
7593func (s Filter) GoString() string {
7594	return s.String()
7595}
7596
7597// Validate inspects the fields of the type to determine if they are valid.
7598func (s *Filter) Validate() error {
7599	invalidParams := request.ErrInvalidParams{Context: "Filter"}
7600	if s.Name != nil && len(*s.Name) < 1 {
7601		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
7602	}
7603	if s.Values != nil && len(s.Values) < 1 {
7604		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
7605	}
7606
7607	if invalidParams.Len() > 0 {
7608		return invalidParams
7609	}
7610	return nil
7611}
7612
7613// SetName sets the Name field's value.
7614func (s *Filter) SetName(v string) *Filter {
7615	s.Name = &v
7616	return s
7617}
7618
7619// SetValues sets the Values field's value.
7620func (s *Filter) SetValues(v []*string) *Filter {
7621	s.Values = v
7622	return s
7623}
7624
7625// Container for request parameters to GetCompatibleElasticsearchVersions operation.
7626type GetCompatibleElasticsearchVersionsInput struct {
7627	_ struct{} `type:"structure"`
7628
7629	// The name of an Elasticsearch domain. Domain names are unique across the domains
7630	// owned by an account within an AWS region. Domain names start with a letter
7631	// or number and can contain the following characters: a-z (lowercase), 0-9,
7632	// and - (hyphen).
7633	DomainName *string `location:"querystring" locationName:"domainName" min:"3" type:"string"`
7634}
7635
7636// String returns the string representation
7637func (s GetCompatibleElasticsearchVersionsInput) String() string {
7638	return awsutil.Prettify(s)
7639}
7640
7641// GoString returns the string representation
7642func (s GetCompatibleElasticsearchVersionsInput) GoString() string {
7643	return s.String()
7644}
7645
7646// Validate inspects the fields of the type to determine if they are valid.
7647func (s *GetCompatibleElasticsearchVersionsInput) Validate() error {
7648	invalidParams := request.ErrInvalidParams{Context: "GetCompatibleElasticsearchVersionsInput"}
7649	if s.DomainName != nil && len(*s.DomainName) < 3 {
7650		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
7651	}
7652
7653	if invalidParams.Len() > 0 {
7654		return invalidParams
7655	}
7656	return nil
7657}
7658
7659// SetDomainName sets the DomainName field's value.
7660func (s *GetCompatibleElasticsearchVersionsInput) SetDomainName(v string) *GetCompatibleElasticsearchVersionsInput {
7661	s.DomainName = &v
7662	return s
7663}
7664
7665// Container for response returned by GetCompatibleElasticsearchVersions operation.
7666type GetCompatibleElasticsearchVersionsOutput struct {
7667	_ struct{} `type:"structure"`
7668
7669	// A map of compatible Elasticsearch versions returned as part of the GetCompatibleElasticsearchVersions
7670	// operation.
7671	CompatibleElasticsearchVersions []*CompatibleVersionsMap `type:"list"`
7672}
7673
7674// String returns the string representation
7675func (s GetCompatibleElasticsearchVersionsOutput) String() string {
7676	return awsutil.Prettify(s)
7677}
7678
7679// GoString returns the string representation
7680func (s GetCompatibleElasticsearchVersionsOutput) GoString() string {
7681	return s.String()
7682}
7683
7684// SetCompatibleElasticsearchVersions sets the CompatibleElasticsearchVersions field's value.
7685func (s *GetCompatibleElasticsearchVersionsOutput) SetCompatibleElasticsearchVersions(v []*CompatibleVersionsMap) *GetCompatibleElasticsearchVersionsOutput {
7686	s.CompatibleElasticsearchVersions = v
7687	return s
7688}
7689
7690// Container for request parameters to GetUpgradeHistory operation.
7691type GetUpgradeHistoryInput struct {
7692	_ struct{} `type:"structure"`
7693
7694	// The name of an Elasticsearch domain. Domain names are unique across the domains
7695	// owned by an account within an AWS region. Domain names start with a letter
7696	// or number and can contain the following characters: a-z (lowercase), 0-9,
7697	// and - (hyphen).
7698	//
7699	// DomainName is a required field
7700	DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"`
7701
7702	// Set this value to limit the number of results returned.
7703	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
7704
7705	// Paginated APIs accepts NextToken input to returns next page results and provides
7706	// a NextToken output in the response which can be used by the client to retrieve
7707	// more results.
7708	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
7709}
7710
7711// String returns the string representation
7712func (s GetUpgradeHistoryInput) String() string {
7713	return awsutil.Prettify(s)
7714}
7715
7716// GoString returns the string representation
7717func (s GetUpgradeHistoryInput) GoString() string {
7718	return s.String()
7719}
7720
7721// Validate inspects the fields of the type to determine if they are valid.
7722func (s *GetUpgradeHistoryInput) Validate() error {
7723	invalidParams := request.ErrInvalidParams{Context: "GetUpgradeHistoryInput"}
7724	if s.DomainName == nil {
7725		invalidParams.Add(request.NewErrParamRequired("DomainName"))
7726	}
7727	if s.DomainName != nil && len(*s.DomainName) < 3 {
7728		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
7729	}
7730
7731	if invalidParams.Len() > 0 {
7732		return invalidParams
7733	}
7734	return nil
7735}
7736
7737// SetDomainName sets the DomainName field's value.
7738func (s *GetUpgradeHistoryInput) SetDomainName(v string) *GetUpgradeHistoryInput {
7739	s.DomainName = &v
7740	return s
7741}
7742
7743// SetMaxResults sets the MaxResults field's value.
7744func (s *GetUpgradeHistoryInput) SetMaxResults(v int64) *GetUpgradeHistoryInput {
7745	s.MaxResults = &v
7746	return s
7747}
7748
7749// SetNextToken sets the NextToken field's value.
7750func (s *GetUpgradeHistoryInput) SetNextToken(v string) *GetUpgradeHistoryInput {
7751	s.NextToken = &v
7752	return s
7753}
7754
7755// Container for response returned by GetUpgradeHistory operation.
7756type GetUpgradeHistoryOutput struct {
7757	_ struct{} `type:"structure"`
7758
7759	// Pagination token that needs to be supplied to the next call to get the next
7760	// page of results
7761	NextToken *string `type:"string"`
7762
7763	// A list of UpgradeHistory objects corresponding to each Upgrade or Upgrade
7764	// Eligibility Check performed on a domain returned as part of GetUpgradeHistoryResponse
7765	// object.
7766	UpgradeHistories []*UpgradeHistory `type:"list"`
7767}
7768
7769// String returns the string representation
7770func (s GetUpgradeHistoryOutput) String() string {
7771	return awsutil.Prettify(s)
7772}
7773
7774// GoString returns the string representation
7775func (s GetUpgradeHistoryOutput) GoString() string {
7776	return s.String()
7777}
7778
7779// SetNextToken sets the NextToken field's value.
7780func (s *GetUpgradeHistoryOutput) SetNextToken(v string) *GetUpgradeHistoryOutput {
7781	s.NextToken = &v
7782	return s
7783}
7784
7785// SetUpgradeHistories sets the UpgradeHistories field's value.
7786func (s *GetUpgradeHistoryOutput) SetUpgradeHistories(v []*UpgradeHistory) *GetUpgradeHistoryOutput {
7787	s.UpgradeHistories = v
7788	return s
7789}
7790
7791// Container for request parameters to GetUpgradeStatus operation.
7792type GetUpgradeStatusInput struct {
7793	_ struct{} `type:"structure"`
7794
7795	// The name of an Elasticsearch domain. Domain names are unique across the domains
7796	// owned by an account within an AWS region. Domain names start with a letter
7797	// or number and can contain the following characters: a-z (lowercase), 0-9,
7798	// and - (hyphen).
7799	//
7800	// DomainName is a required field
7801	DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"`
7802}
7803
7804// String returns the string representation
7805func (s GetUpgradeStatusInput) String() string {
7806	return awsutil.Prettify(s)
7807}
7808
7809// GoString returns the string representation
7810func (s GetUpgradeStatusInput) GoString() string {
7811	return s.String()
7812}
7813
7814// Validate inspects the fields of the type to determine if they are valid.
7815func (s *GetUpgradeStatusInput) Validate() error {
7816	invalidParams := request.ErrInvalidParams{Context: "GetUpgradeStatusInput"}
7817	if s.DomainName == nil {
7818		invalidParams.Add(request.NewErrParamRequired("DomainName"))
7819	}
7820	if s.DomainName != nil && len(*s.DomainName) < 3 {
7821		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
7822	}
7823
7824	if invalidParams.Len() > 0 {
7825		return invalidParams
7826	}
7827	return nil
7828}
7829
7830// SetDomainName sets the DomainName field's value.
7831func (s *GetUpgradeStatusInput) SetDomainName(v string) *GetUpgradeStatusInput {
7832	s.DomainName = &v
7833	return s
7834}
7835
7836// Container for response returned by GetUpgradeStatus operation.
7837type GetUpgradeStatusOutput struct {
7838	_ struct{} `type:"structure"`
7839
7840	// One of 4 statuses that a step can go through returned as part of the GetUpgradeStatusResponse
7841	// object. The status can take one of the following values:
7842	//    * In Progress
7843	//
7844	//    * Succeeded
7845	//
7846	//    * Succeeded with Issues
7847	//
7848	//    * Failed
7849	StepStatus *string `type:"string" enum:"UpgradeStatus"`
7850
7851	// A string that describes the update briefly
7852	UpgradeName *string `type:"string"`
7853
7854	// Represents one of 3 steps that an Upgrade or Upgrade Eligibility Check does
7855	// through:
7856	//    * PreUpgradeCheck
7857	//
7858	//    * Snapshot
7859	//
7860	//    * Upgrade
7861	UpgradeStep *string `type:"string" enum:"UpgradeStep"`
7862}
7863
7864// String returns the string representation
7865func (s GetUpgradeStatusOutput) String() string {
7866	return awsutil.Prettify(s)
7867}
7868
7869// GoString returns the string representation
7870func (s GetUpgradeStatusOutput) GoString() string {
7871	return s.String()
7872}
7873
7874// SetStepStatus sets the StepStatus field's value.
7875func (s *GetUpgradeStatusOutput) SetStepStatus(v string) *GetUpgradeStatusOutput {
7876	s.StepStatus = &v
7877	return s
7878}
7879
7880// SetUpgradeName sets the UpgradeName field's value.
7881func (s *GetUpgradeStatusOutput) SetUpgradeName(v string) *GetUpgradeStatusOutput {
7882	s.UpgradeName = &v
7883	return s
7884}
7885
7886// SetUpgradeStep sets the UpgradeStep field's value.
7887func (s *GetUpgradeStatusOutput) SetUpgradeStep(v string) *GetUpgradeStatusOutput {
7888	s.UpgradeStep = &v
7889	return s
7890}
7891
7892// Specifies details of an inbound connection.
7893type InboundCrossClusterSearchConnection struct {
7894	_ struct{} `type:"structure"`
7895
7896	// Specifies the InboundCrossClusterSearchConnectionStatus for the outbound
7897	// connection.
7898	ConnectionStatus *InboundCrossClusterSearchConnectionStatus `type:"structure"`
7899
7900	// Specifies the connection id for the inbound cross-cluster search connection.
7901	CrossClusterSearchConnectionId *string `type:"string"`
7902
7903	// Specifies the DomainInformation for the destination Elasticsearch domain.
7904	DestinationDomainInfo *DomainInformation `type:"structure"`
7905
7906	// Specifies the DomainInformation for the source Elasticsearch domain.
7907	SourceDomainInfo *DomainInformation `type:"structure"`
7908}
7909
7910// String returns the string representation
7911func (s InboundCrossClusterSearchConnection) String() string {
7912	return awsutil.Prettify(s)
7913}
7914
7915// GoString returns the string representation
7916func (s InboundCrossClusterSearchConnection) GoString() string {
7917	return s.String()
7918}
7919
7920// SetConnectionStatus sets the ConnectionStatus field's value.
7921func (s *InboundCrossClusterSearchConnection) SetConnectionStatus(v *InboundCrossClusterSearchConnectionStatus) *InboundCrossClusterSearchConnection {
7922	s.ConnectionStatus = v
7923	return s
7924}
7925
7926// SetCrossClusterSearchConnectionId sets the CrossClusterSearchConnectionId field's value.
7927func (s *InboundCrossClusterSearchConnection) SetCrossClusterSearchConnectionId(v string) *InboundCrossClusterSearchConnection {
7928	s.CrossClusterSearchConnectionId = &v
7929	return s
7930}
7931
7932// SetDestinationDomainInfo sets the DestinationDomainInfo field's value.
7933func (s *InboundCrossClusterSearchConnection) SetDestinationDomainInfo(v *DomainInformation) *InboundCrossClusterSearchConnection {
7934	s.DestinationDomainInfo = v
7935	return s
7936}
7937
7938// SetSourceDomainInfo sets the SourceDomainInfo field's value.
7939func (s *InboundCrossClusterSearchConnection) SetSourceDomainInfo(v *DomainInformation) *InboundCrossClusterSearchConnection {
7940	s.SourceDomainInfo = v
7941	return s
7942}
7943
7944// Specifies the coonection status of an inbound cross-cluster search connection.
7945type InboundCrossClusterSearchConnectionStatus struct {
7946	_ struct{} `type:"structure"`
7947
7948	// Specifies verbose information for the inbound connection status.
7949	Message *string `type:"string"`
7950
7951	// The state code for inbound connection. This can be one of the following:
7952	//
7953	//    * PENDING_ACCEPTANCE: Inbound connection is not yet accepted by destination
7954	//    domain owner.
7955	//
7956	//    * APPROVED: Inbound connection is pending acceptance by destination domain
7957	//    owner.
7958	//
7959	//    * REJECTING: Inbound connection rejection is in process.
7960	//
7961	//    * REJECTED: Inbound connection is rejected.
7962	//
7963	//    * DELETING: Inbound connection deletion is in progress.
7964	//
7965	//    * DELETED: Inbound connection is deleted and cannot be used further.
7966	StatusCode *string `type:"string" enum:"InboundCrossClusterSearchConnectionStatusCode"`
7967}
7968
7969// String returns the string representation
7970func (s InboundCrossClusterSearchConnectionStatus) String() string {
7971	return awsutil.Prettify(s)
7972}
7973
7974// GoString returns the string representation
7975func (s InboundCrossClusterSearchConnectionStatus) GoString() string {
7976	return s.String()
7977}
7978
7979// SetMessage sets the Message field's value.
7980func (s *InboundCrossClusterSearchConnectionStatus) SetMessage(v string) *InboundCrossClusterSearchConnectionStatus {
7981	s.Message = &v
7982	return s
7983}
7984
7985// SetStatusCode sets the StatusCode field's value.
7986func (s *InboundCrossClusterSearchConnectionStatus) SetStatusCode(v string) *InboundCrossClusterSearchConnectionStatus {
7987	s.StatusCode = &v
7988	return s
7989}
7990
7991// InstanceCountLimits represents the limits on number of instances that be
7992// created in Amazon Elasticsearch for given InstanceType.
7993type InstanceCountLimits struct {
7994	_ struct{} `type:"structure"`
7995
7996	// Maximum number of Instances that can be instantiated for given InstanceType.
7997	MaximumInstanceCount *int64 `type:"integer"`
7998
7999	// Minimum number of Instances that can be instantiated for given InstanceType.
8000	MinimumInstanceCount *int64 `type:"integer"`
8001}
8002
8003// String returns the string representation
8004func (s InstanceCountLimits) String() string {
8005	return awsutil.Prettify(s)
8006}
8007
8008// GoString returns the string representation
8009func (s InstanceCountLimits) GoString() string {
8010	return s.String()
8011}
8012
8013// SetMaximumInstanceCount sets the MaximumInstanceCount field's value.
8014func (s *InstanceCountLimits) SetMaximumInstanceCount(v int64) *InstanceCountLimits {
8015	s.MaximumInstanceCount = &v
8016	return s
8017}
8018
8019// SetMinimumInstanceCount sets the MinimumInstanceCount field's value.
8020func (s *InstanceCountLimits) SetMinimumInstanceCount(v int64) *InstanceCountLimits {
8021	s.MinimumInstanceCount = &v
8022	return s
8023}
8024
8025// InstanceLimits represents the list of instance related attributes that are
8026// available for given InstanceType.
8027type InstanceLimits struct {
8028	_ struct{} `type:"structure"`
8029
8030	// InstanceCountLimits represents the limits on number of instances that be
8031	// created in Amazon Elasticsearch for given InstanceType.
8032	InstanceCountLimits *InstanceCountLimits `type:"structure"`
8033}
8034
8035// String returns the string representation
8036func (s InstanceLimits) String() string {
8037	return awsutil.Prettify(s)
8038}
8039
8040// GoString returns the string representation
8041func (s InstanceLimits) GoString() string {
8042	return s.String()
8043}
8044
8045// SetInstanceCountLimits sets the InstanceCountLimits field's value.
8046func (s *InstanceLimits) SetInstanceCountLimits(v *InstanceCountLimits) *InstanceLimits {
8047	s.InstanceCountLimits = v
8048	return s
8049}
8050
8051// The request processing has failed because of an unknown error, exception
8052// or failure (the failure is internal to the service) . Gives http status code
8053// of 500.
8054type InternalException struct {
8055	_            struct{}                  `type:"structure"`
8056	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8057
8058	Message_ *string `locationName:"message" type:"string"`
8059}
8060
8061// String returns the string representation
8062func (s InternalException) String() string {
8063	return awsutil.Prettify(s)
8064}
8065
8066// GoString returns the string representation
8067func (s InternalException) GoString() string {
8068	return s.String()
8069}
8070
8071func newErrorInternalException(v protocol.ResponseMetadata) error {
8072	return &InternalException{
8073		RespMetadata: v,
8074	}
8075}
8076
8077// Code returns the exception type name.
8078func (s *InternalException) Code() string {
8079	return "InternalException"
8080}
8081
8082// Message returns the exception's message.
8083func (s *InternalException) Message() string {
8084	if s.Message_ != nil {
8085		return *s.Message_
8086	}
8087	return ""
8088}
8089
8090// OrigErr always returns nil, satisfies awserr.Error interface.
8091func (s *InternalException) OrigErr() error {
8092	return nil
8093}
8094
8095func (s *InternalException) Error() string {
8096	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
8097}
8098
8099// Status code returns the HTTP status code for the request's response error.
8100func (s *InternalException) StatusCode() int {
8101	return s.RespMetadata.StatusCode
8102}
8103
8104// RequestID returns the service's response RequestID for request.
8105func (s *InternalException) RequestID() string {
8106	return s.RespMetadata.RequestID
8107}
8108
8109// The request processing has failed because of invalid pagination token provided
8110// by customer. Returns an HTTP status code of 400.
8111type InvalidPaginationTokenException struct {
8112	_            struct{}                  `type:"structure"`
8113	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8114
8115	Message_ *string `locationName:"message" type:"string"`
8116}
8117
8118// String returns the string representation
8119func (s InvalidPaginationTokenException) String() string {
8120	return awsutil.Prettify(s)
8121}
8122
8123// GoString returns the string representation
8124func (s InvalidPaginationTokenException) GoString() string {
8125	return s.String()
8126}
8127
8128func newErrorInvalidPaginationTokenException(v protocol.ResponseMetadata) error {
8129	return &InvalidPaginationTokenException{
8130		RespMetadata: v,
8131	}
8132}
8133
8134// Code returns the exception type name.
8135func (s *InvalidPaginationTokenException) Code() string {
8136	return "InvalidPaginationTokenException"
8137}
8138
8139// Message returns the exception's message.
8140func (s *InvalidPaginationTokenException) Message() string {
8141	if s.Message_ != nil {
8142		return *s.Message_
8143	}
8144	return ""
8145}
8146
8147// OrigErr always returns nil, satisfies awserr.Error interface.
8148func (s *InvalidPaginationTokenException) OrigErr() error {
8149	return nil
8150}
8151
8152func (s *InvalidPaginationTokenException) Error() string {
8153	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
8154}
8155
8156// Status code returns the HTTP status code for the request's response error.
8157func (s *InvalidPaginationTokenException) StatusCode() int {
8158	return s.RespMetadata.StatusCode
8159}
8160
8161// RequestID returns the service's response RequestID for request.
8162func (s *InvalidPaginationTokenException) RequestID() string {
8163	return s.RespMetadata.RequestID
8164}
8165
8166// An exception for trying to create or access sub-resource that is either invalid
8167// or not supported. Gives http status code of 409.
8168type InvalidTypeException struct {
8169	_            struct{}                  `type:"structure"`
8170	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8171
8172	Message_ *string `locationName:"message" type:"string"`
8173}
8174
8175// String returns the string representation
8176func (s InvalidTypeException) String() string {
8177	return awsutil.Prettify(s)
8178}
8179
8180// GoString returns the string representation
8181func (s InvalidTypeException) GoString() string {
8182	return s.String()
8183}
8184
8185func newErrorInvalidTypeException(v protocol.ResponseMetadata) error {
8186	return &InvalidTypeException{
8187		RespMetadata: v,
8188	}
8189}
8190
8191// Code returns the exception type name.
8192func (s *InvalidTypeException) Code() string {
8193	return "InvalidTypeException"
8194}
8195
8196// Message returns the exception's message.
8197func (s *InvalidTypeException) Message() string {
8198	if s.Message_ != nil {
8199		return *s.Message_
8200	}
8201	return ""
8202}
8203
8204// OrigErr always returns nil, satisfies awserr.Error interface.
8205func (s *InvalidTypeException) OrigErr() error {
8206	return nil
8207}
8208
8209func (s *InvalidTypeException) Error() string {
8210	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
8211}
8212
8213// Status code returns the HTTP status code for the request's response error.
8214func (s *InvalidTypeException) StatusCode() int {
8215	return s.RespMetadata.StatusCode
8216}
8217
8218// RequestID returns the service's response RequestID for request.
8219func (s *InvalidTypeException) RequestID() string {
8220	return s.RespMetadata.RequestID
8221}
8222
8223// An exception for trying to create more than allowed resources or sub-resources.
8224// Gives http status code of 409.
8225type LimitExceededException struct {
8226	_            struct{}                  `type:"structure"`
8227	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8228
8229	Message_ *string `locationName:"message" type:"string"`
8230}
8231
8232// String returns the string representation
8233func (s LimitExceededException) String() string {
8234	return awsutil.Prettify(s)
8235}
8236
8237// GoString returns the string representation
8238func (s LimitExceededException) GoString() string {
8239	return s.String()
8240}
8241
8242func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
8243	return &LimitExceededException{
8244		RespMetadata: v,
8245	}
8246}
8247
8248// Code returns the exception type name.
8249func (s *LimitExceededException) Code() string {
8250	return "LimitExceededException"
8251}
8252
8253// Message returns the exception's message.
8254func (s *LimitExceededException) Message() string {
8255	if s.Message_ != nil {
8256		return *s.Message_
8257	}
8258	return ""
8259}
8260
8261// OrigErr always returns nil, satisfies awserr.Error interface.
8262func (s *LimitExceededException) OrigErr() error {
8263	return nil
8264}
8265
8266func (s *LimitExceededException) Error() string {
8267	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
8268}
8269
8270// Status code returns the HTTP status code for the request's response error.
8271func (s *LimitExceededException) StatusCode() int {
8272	return s.RespMetadata.StatusCode
8273}
8274
8275// RequestID returns the service's response RequestID for request.
8276func (s *LimitExceededException) RequestID() string {
8277	return s.RespMetadata.RequestID
8278}
8279
8280// Limits for given InstanceType and for each of it's role. Limits contains
8281// following StorageTypes, InstanceLimits and AdditionalLimits
8282type Limits struct {
8283	_ struct{} `type:"structure"`
8284
8285	// List of additional limits that are specific to a given InstanceType and for
8286	// each of it's InstanceRole .
8287	AdditionalLimits []*AdditionalLimit `type:"list"`
8288
8289	// InstanceLimits represents the list of instance related attributes that are
8290	// available for given InstanceType.
8291	InstanceLimits *InstanceLimits `type:"structure"`
8292
8293	// StorageType represents the list of storage related types and attributes that
8294	// are available for given InstanceType.
8295	StorageTypes []*StorageType `type:"list"`
8296}
8297
8298// String returns the string representation
8299func (s Limits) String() string {
8300	return awsutil.Prettify(s)
8301}
8302
8303// GoString returns the string representation
8304func (s Limits) GoString() string {
8305	return s.String()
8306}
8307
8308// SetAdditionalLimits sets the AdditionalLimits field's value.
8309func (s *Limits) SetAdditionalLimits(v []*AdditionalLimit) *Limits {
8310	s.AdditionalLimits = v
8311	return s
8312}
8313
8314// SetInstanceLimits sets the InstanceLimits field's value.
8315func (s *Limits) SetInstanceLimits(v *InstanceLimits) *Limits {
8316	s.InstanceLimits = v
8317	return s
8318}
8319
8320// SetStorageTypes sets the StorageTypes field's value.
8321func (s *Limits) SetStorageTypes(v []*StorageType) *Limits {
8322	s.StorageTypes = v
8323	return s
8324}
8325
8326type ListDomainNamesInput struct {
8327	_ struct{} `type:"structure"`
8328}
8329
8330// String returns the string representation
8331func (s ListDomainNamesInput) String() string {
8332	return awsutil.Prettify(s)
8333}
8334
8335// GoString returns the string representation
8336func (s ListDomainNamesInput) GoString() string {
8337	return s.String()
8338}
8339
8340// The result of a ListDomainNames operation. Contains the names of all Elasticsearch
8341// domains owned by this account.
8342type ListDomainNamesOutput struct {
8343	_ struct{} `type:"structure"`
8344
8345	// List of Elasticsearch domain names.
8346	DomainNames []*DomainInfo `type:"list"`
8347}
8348
8349// String returns the string representation
8350func (s ListDomainNamesOutput) String() string {
8351	return awsutil.Prettify(s)
8352}
8353
8354// GoString returns the string representation
8355func (s ListDomainNamesOutput) GoString() string {
8356	return s.String()
8357}
8358
8359// SetDomainNames sets the DomainNames field's value.
8360func (s *ListDomainNamesOutput) SetDomainNames(v []*DomainInfo) *ListDomainNamesOutput {
8361	s.DomainNames = v
8362	return s
8363}
8364
8365// Container for request parameters to ListDomainsForPackage operation.
8366type ListDomainsForPackageInput struct {
8367	_ struct{} `type:"structure"`
8368
8369	// Limits results to a maximum number of domains.
8370	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
8371
8372	// Used for pagination. Only necessary if a previous API call includes a non-null
8373	// NextToken value. If provided, returns results for the next page.
8374	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
8375
8376	// The package for which to list domains.
8377	//
8378	// PackageID is a required field
8379	PackageID *string `location:"uri" locationName:"PackageID" type:"string" required:"true"`
8380}
8381
8382// String returns the string representation
8383func (s ListDomainsForPackageInput) String() string {
8384	return awsutil.Prettify(s)
8385}
8386
8387// GoString returns the string representation
8388func (s ListDomainsForPackageInput) GoString() string {
8389	return s.String()
8390}
8391
8392// Validate inspects the fields of the type to determine if they are valid.
8393func (s *ListDomainsForPackageInput) Validate() error {
8394	invalidParams := request.ErrInvalidParams{Context: "ListDomainsForPackageInput"}
8395	if s.PackageID == nil {
8396		invalidParams.Add(request.NewErrParamRequired("PackageID"))
8397	}
8398	if s.PackageID != nil && len(*s.PackageID) < 1 {
8399		invalidParams.Add(request.NewErrParamMinLen("PackageID", 1))
8400	}
8401
8402	if invalidParams.Len() > 0 {
8403		return invalidParams
8404	}
8405	return nil
8406}
8407
8408// SetMaxResults sets the MaxResults field's value.
8409func (s *ListDomainsForPackageInput) SetMaxResults(v int64) *ListDomainsForPackageInput {
8410	s.MaxResults = &v
8411	return s
8412}
8413
8414// SetNextToken sets the NextToken field's value.
8415func (s *ListDomainsForPackageInput) SetNextToken(v string) *ListDomainsForPackageInput {
8416	s.NextToken = &v
8417	return s
8418}
8419
8420// SetPackageID sets the PackageID field's value.
8421func (s *ListDomainsForPackageInput) SetPackageID(v string) *ListDomainsForPackageInput {
8422	s.PackageID = &v
8423	return s
8424}
8425
8426// Container for response parameters to ListDomainsForPackage operation.
8427type ListDomainsForPackageOutput struct {
8428	_ struct{} `type:"structure"`
8429
8430	// List of DomainPackageDetails objects.
8431	DomainPackageDetailsList []*DomainPackageDetails `type:"list"`
8432
8433	NextToken *string `type:"string"`
8434}
8435
8436// String returns the string representation
8437func (s ListDomainsForPackageOutput) String() string {
8438	return awsutil.Prettify(s)
8439}
8440
8441// GoString returns the string representation
8442func (s ListDomainsForPackageOutput) GoString() string {
8443	return s.String()
8444}
8445
8446// SetDomainPackageDetailsList sets the DomainPackageDetailsList field's value.
8447func (s *ListDomainsForPackageOutput) SetDomainPackageDetailsList(v []*DomainPackageDetails) *ListDomainsForPackageOutput {
8448	s.DomainPackageDetailsList = v
8449	return s
8450}
8451
8452// SetNextToken sets the NextToken field's value.
8453func (s *ListDomainsForPackageOutput) SetNextToken(v string) *ListDomainsForPackageOutput {
8454	s.NextToken = &v
8455	return s
8456}
8457
8458// Container for the parameters to the ListElasticsearchInstanceTypes operation.
8459type ListElasticsearchInstanceTypesInput struct {
8460	_ struct{} `type:"structure"`
8461
8462	// DomainName represents the name of the Domain that we are trying to modify.
8463	// This should be present only if we are querying for list of available Elasticsearch
8464	// instance types when modifying existing domain.
8465	DomainName *string `location:"querystring" locationName:"domainName" min:"3" type:"string"`
8466
8467	// Version of Elasticsearch for which list of supported elasticsearch instance
8468	// types are needed.
8469	//
8470	// ElasticsearchVersion is a required field
8471	ElasticsearchVersion *string `location:"uri" locationName:"ElasticsearchVersion" type:"string" required:"true"`
8472
8473	// Set this value to limit the number of results returned. Value provided must
8474	// be greater than 30 else it wont be honored.
8475	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
8476
8477	// NextToken should be sent in case if earlier API call produced result containing
8478	// NextToken. It is used for pagination.
8479	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
8480}
8481
8482// String returns the string representation
8483func (s ListElasticsearchInstanceTypesInput) String() string {
8484	return awsutil.Prettify(s)
8485}
8486
8487// GoString returns the string representation
8488func (s ListElasticsearchInstanceTypesInput) GoString() string {
8489	return s.String()
8490}
8491
8492// Validate inspects the fields of the type to determine if they are valid.
8493func (s *ListElasticsearchInstanceTypesInput) Validate() error {
8494	invalidParams := request.ErrInvalidParams{Context: "ListElasticsearchInstanceTypesInput"}
8495	if s.DomainName != nil && len(*s.DomainName) < 3 {
8496		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
8497	}
8498	if s.ElasticsearchVersion == nil {
8499		invalidParams.Add(request.NewErrParamRequired("ElasticsearchVersion"))
8500	}
8501	if s.ElasticsearchVersion != nil && len(*s.ElasticsearchVersion) < 1 {
8502		invalidParams.Add(request.NewErrParamMinLen("ElasticsearchVersion", 1))
8503	}
8504
8505	if invalidParams.Len() > 0 {
8506		return invalidParams
8507	}
8508	return nil
8509}
8510
8511// SetDomainName sets the DomainName field's value.
8512func (s *ListElasticsearchInstanceTypesInput) SetDomainName(v string) *ListElasticsearchInstanceTypesInput {
8513	s.DomainName = &v
8514	return s
8515}
8516
8517// SetElasticsearchVersion sets the ElasticsearchVersion field's value.
8518func (s *ListElasticsearchInstanceTypesInput) SetElasticsearchVersion(v string) *ListElasticsearchInstanceTypesInput {
8519	s.ElasticsearchVersion = &v
8520	return s
8521}
8522
8523// SetMaxResults sets the MaxResults field's value.
8524func (s *ListElasticsearchInstanceTypesInput) SetMaxResults(v int64) *ListElasticsearchInstanceTypesInput {
8525	s.MaxResults = &v
8526	return s
8527}
8528
8529// SetNextToken sets the NextToken field's value.
8530func (s *ListElasticsearchInstanceTypesInput) SetNextToken(v string) *ListElasticsearchInstanceTypesInput {
8531	s.NextToken = &v
8532	return s
8533}
8534
8535// Container for the parameters returned by ListElasticsearchInstanceTypes operation.
8536type ListElasticsearchInstanceTypesOutput struct {
8537	_ struct{} `type:"structure"`
8538
8539	// List of instance types supported by Amazon Elasticsearch service for given
8540	// ElasticsearchVersion
8541	ElasticsearchInstanceTypes []*string `type:"list"`
8542
8543	// In case if there are more results available NextToken would be present, make
8544	// further request to the same API with received NextToken to paginate remaining
8545	// results.
8546	NextToken *string `type:"string"`
8547}
8548
8549// String returns the string representation
8550func (s ListElasticsearchInstanceTypesOutput) String() string {
8551	return awsutil.Prettify(s)
8552}
8553
8554// GoString returns the string representation
8555func (s ListElasticsearchInstanceTypesOutput) GoString() string {
8556	return s.String()
8557}
8558
8559// SetElasticsearchInstanceTypes sets the ElasticsearchInstanceTypes field's value.
8560func (s *ListElasticsearchInstanceTypesOutput) SetElasticsearchInstanceTypes(v []*string) *ListElasticsearchInstanceTypesOutput {
8561	s.ElasticsearchInstanceTypes = v
8562	return s
8563}
8564
8565// SetNextToken sets the NextToken field's value.
8566func (s *ListElasticsearchInstanceTypesOutput) SetNextToken(v string) *ListElasticsearchInstanceTypesOutput {
8567	s.NextToken = &v
8568	return s
8569}
8570
8571// Container for the parameters to the ListElasticsearchVersions operation.
8572// Use MaxResults to control the maximum number of results to retrieve in a
8573// single call.
8574//
8575// Use NextToken in response to retrieve more results. If the received response
8576// does not contain a NextToken, then there are no more results to retrieve.
8577type ListElasticsearchVersionsInput struct {
8578	_ struct{} `type:"structure"`
8579
8580	// Set this value to limit the number of results returned. Value provided must
8581	// be greater than 10 else it wont be honored.
8582	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
8583
8584	// Paginated APIs accepts NextToken input to returns next page results and provides
8585	// a NextToken output in the response which can be used by the client to retrieve
8586	// more results.
8587	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
8588}
8589
8590// String returns the string representation
8591func (s ListElasticsearchVersionsInput) String() string {
8592	return awsutil.Prettify(s)
8593}
8594
8595// GoString returns the string representation
8596func (s ListElasticsearchVersionsInput) GoString() string {
8597	return s.String()
8598}
8599
8600// SetMaxResults sets the MaxResults field's value.
8601func (s *ListElasticsearchVersionsInput) SetMaxResults(v int64) *ListElasticsearchVersionsInput {
8602	s.MaxResults = &v
8603	return s
8604}
8605
8606// SetNextToken sets the NextToken field's value.
8607func (s *ListElasticsearchVersionsInput) SetNextToken(v string) *ListElasticsearchVersionsInput {
8608	s.NextToken = &v
8609	return s
8610}
8611
8612// Container for the parameters for response received from ListElasticsearchVersions
8613// operation.
8614type ListElasticsearchVersionsOutput struct {
8615	_ struct{} `type:"structure"`
8616
8617	// List of supported elastic search versions.
8618	ElasticsearchVersions []*string `type:"list"`
8619
8620	// Paginated APIs accepts NextToken input to returns next page results and provides
8621	// a NextToken output in the response which can be used by the client to retrieve
8622	// more results.
8623	NextToken *string `type:"string"`
8624}
8625
8626// String returns the string representation
8627func (s ListElasticsearchVersionsOutput) String() string {
8628	return awsutil.Prettify(s)
8629}
8630
8631// GoString returns the string representation
8632func (s ListElasticsearchVersionsOutput) GoString() string {
8633	return s.String()
8634}
8635
8636// SetElasticsearchVersions sets the ElasticsearchVersions field's value.
8637func (s *ListElasticsearchVersionsOutput) SetElasticsearchVersions(v []*string) *ListElasticsearchVersionsOutput {
8638	s.ElasticsearchVersions = v
8639	return s
8640}
8641
8642// SetNextToken sets the NextToken field's value.
8643func (s *ListElasticsearchVersionsOutput) SetNextToken(v string) *ListElasticsearchVersionsOutput {
8644	s.NextToken = &v
8645	return s
8646}
8647
8648// Container for request parameters to ListPackagesForDomain operation.
8649type ListPackagesForDomainInput struct {
8650	_ struct{} `type:"structure"`
8651
8652	// The name of the domain for which you want to list associated packages.
8653	//
8654	// DomainName is a required field
8655	DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"`
8656
8657	// Limits results to a maximum number of packages.
8658	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
8659
8660	// Used for pagination. Only necessary if a previous API call includes a non-null
8661	// NextToken value. If provided, returns results for the next page.
8662	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
8663}
8664
8665// String returns the string representation
8666func (s ListPackagesForDomainInput) String() string {
8667	return awsutil.Prettify(s)
8668}
8669
8670// GoString returns the string representation
8671func (s ListPackagesForDomainInput) GoString() string {
8672	return s.String()
8673}
8674
8675// Validate inspects the fields of the type to determine if they are valid.
8676func (s *ListPackagesForDomainInput) Validate() error {
8677	invalidParams := request.ErrInvalidParams{Context: "ListPackagesForDomainInput"}
8678	if s.DomainName == nil {
8679		invalidParams.Add(request.NewErrParamRequired("DomainName"))
8680	}
8681	if s.DomainName != nil && len(*s.DomainName) < 3 {
8682		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
8683	}
8684
8685	if invalidParams.Len() > 0 {
8686		return invalidParams
8687	}
8688	return nil
8689}
8690
8691// SetDomainName sets the DomainName field's value.
8692func (s *ListPackagesForDomainInput) SetDomainName(v string) *ListPackagesForDomainInput {
8693	s.DomainName = &v
8694	return s
8695}
8696
8697// SetMaxResults sets the MaxResults field's value.
8698func (s *ListPackagesForDomainInput) SetMaxResults(v int64) *ListPackagesForDomainInput {
8699	s.MaxResults = &v
8700	return s
8701}
8702
8703// SetNextToken sets the NextToken field's value.
8704func (s *ListPackagesForDomainInput) SetNextToken(v string) *ListPackagesForDomainInput {
8705	s.NextToken = &v
8706	return s
8707}
8708
8709// Container for response parameters to ListPackagesForDomain operation.
8710type ListPackagesForDomainOutput struct {
8711	_ struct{} `type:"structure"`
8712
8713	// List of DomainPackageDetails objects.
8714	DomainPackageDetailsList []*DomainPackageDetails `type:"list"`
8715
8716	// Pagination token that needs to be supplied to the next call to get the next
8717	// page of results.
8718	NextToken *string `type:"string"`
8719}
8720
8721// String returns the string representation
8722func (s ListPackagesForDomainOutput) String() string {
8723	return awsutil.Prettify(s)
8724}
8725
8726// GoString returns the string representation
8727func (s ListPackagesForDomainOutput) GoString() string {
8728	return s.String()
8729}
8730
8731// SetDomainPackageDetailsList sets the DomainPackageDetailsList field's value.
8732func (s *ListPackagesForDomainOutput) SetDomainPackageDetailsList(v []*DomainPackageDetails) *ListPackagesForDomainOutput {
8733	s.DomainPackageDetailsList = v
8734	return s
8735}
8736
8737// SetNextToken sets the NextToken field's value.
8738func (s *ListPackagesForDomainOutput) SetNextToken(v string) *ListPackagesForDomainOutput {
8739	s.NextToken = &v
8740	return s
8741}
8742
8743// Container for the parameters to the ListTags operation. Specify the ARN for
8744// the Elasticsearch domain to which the tags are attached that you want to
8745// view are attached.
8746type ListTagsInput struct {
8747	_ struct{} `type:"structure"`
8748
8749	// Specify the ARN for the Elasticsearch domain to which the tags are attached
8750	// that you want to view.
8751	//
8752	// ARN is a required field
8753	ARN *string `location:"querystring" locationName:"arn" type:"string" required:"true"`
8754}
8755
8756// String returns the string representation
8757func (s ListTagsInput) String() string {
8758	return awsutil.Prettify(s)
8759}
8760
8761// GoString returns the string representation
8762func (s ListTagsInput) GoString() string {
8763	return s.String()
8764}
8765
8766// Validate inspects the fields of the type to determine if they are valid.
8767func (s *ListTagsInput) Validate() error {
8768	invalidParams := request.ErrInvalidParams{Context: "ListTagsInput"}
8769	if s.ARN == nil {
8770		invalidParams.Add(request.NewErrParamRequired("ARN"))
8771	}
8772
8773	if invalidParams.Len() > 0 {
8774		return invalidParams
8775	}
8776	return nil
8777}
8778
8779// SetARN sets the ARN field's value.
8780func (s *ListTagsInput) SetARN(v string) *ListTagsInput {
8781	s.ARN = &v
8782	return s
8783}
8784
8785// The result of a ListTags operation. Contains tags for all requested Elasticsearch
8786// domains.
8787type ListTagsOutput struct {
8788	_ struct{} `type:"structure"`
8789
8790	// List of Tag for the requested Elasticsearch domain.
8791	TagList []*Tag `type:"list"`
8792}
8793
8794// String returns the string representation
8795func (s ListTagsOutput) String() string {
8796	return awsutil.Prettify(s)
8797}
8798
8799// GoString returns the string representation
8800func (s ListTagsOutput) GoString() string {
8801	return s.String()
8802}
8803
8804// SetTagList sets the TagList field's value.
8805func (s *ListTagsOutput) SetTagList(v []*Tag) *ListTagsOutput {
8806	s.TagList = v
8807	return s
8808}
8809
8810// Log Publishing option that is set for given domain. Attributes and their
8811// details:
8812//    * CloudWatchLogsLogGroupArn: ARN of the Cloudwatch log group to which
8813//    log needs to be published.
8814//
8815//    * Enabled: Whether the log publishing for given log type is enabled or
8816//    not
8817type LogPublishingOption struct {
8818	_ struct{} `type:"structure"`
8819
8820	// ARN of the Cloudwatch log group to which log needs to be published.
8821	CloudWatchLogsLogGroupArn *string `type:"string"`
8822
8823	// Specifies whether given log publishing option is enabled or not.
8824	Enabled *bool `type:"boolean"`
8825}
8826
8827// String returns the string representation
8828func (s LogPublishingOption) String() string {
8829	return awsutil.Prettify(s)
8830}
8831
8832// GoString returns the string representation
8833func (s LogPublishingOption) GoString() string {
8834	return s.String()
8835}
8836
8837// SetCloudWatchLogsLogGroupArn sets the CloudWatchLogsLogGroupArn field's value.
8838func (s *LogPublishingOption) SetCloudWatchLogsLogGroupArn(v string) *LogPublishingOption {
8839	s.CloudWatchLogsLogGroupArn = &v
8840	return s
8841}
8842
8843// SetEnabled sets the Enabled field's value.
8844func (s *LogPublishingOption) SetEnabled(v bool) *LogPublishingOption {
8845	s.Enabled = &v
8846	return s
8847}
8848
8849// The configured log publishing options for the domain and their current status.
8850type LogPublishingOptionsStatus struct {
8851	_ struct{} `type:"structure"`
8852
8853	// The log publishing options configured for the Elasticsearch domain.
8854	Options map[string]*LogPublishingOption `type:"map"`
8855
8856	// The status of the log publishing options for the Elasticsearch domain. See
8857	// OptionStatus for the status information that's included.
8858	Status *OptionStatus `type:"structure"`
8859}
8860
8861// String returns the string representation
8862func (s LogPublishingOptionsStatus) String() string {
8863	return awsutil.Prettify(s)
8864}
8865
8866// GoString returns the string representation
8867func (s LogPublishingOptionsStatus) GoString() string {
8868	return s.String()
8869}
8870
8871// SetOptions sets the Options field's value.
8872func (s *LogPublishingOptionsStatus) SetOptions(v map[string]*LogPublishingOption) *LogPublishingOptionsStatus {
8873	s.Options = v
8874	return s
8875}
8876
8877// SetStatus sets the Status field's value.
8878func (s *LogPublishingOptionsStatus) SetStatus(v *OptionStatus) *LogPublishingOptionsStatus {
8879	s.Status = v
8880	return s
8881}
8882
8883// Credentials for the master user: username and password, ARN, or both.
8884type MasterUserOptions struct {
8885	_ struct{} `type:"structure"`
8886
8887	// ARN for the master user (if IAM is enabled).
8888	MasterUserARN *string `type:"string"`
8889
8890	// The master user's username, which is stored in the Amazon Elasticsearch Service
8891	// domain's internal database.
8892	MasterUserName *string `min:"1" type:"string" sensitive:"true"`
8893
8894	// The master user's password, which is stored in the Amazon Elasticsearch Service
8895	// domain's internal database.
8896	MasterUserPassword *string `min:"8" type:"string" sensitive:"true"`
8897}
8898
8899// String returns the string representation
8900func (s MasterUserOptions) String() string {
8901	return awsutil.Prettify(s)
8902}
8903
8904// GoString returns the string representation
8905func (s MasterUserOptions) GoString() string {
8906	return s.String()
8907}
8908
8909// Validate inspects the fields of the type to determine if they are valid.
8910func (s *MasterUserOptions) Validate() error {
8911	invalidParams := request.ErrInvalidParams{Context: "MasterUserOptions"}
8912	if s.MasterUserName != nil && len(*s.MasterUserName) < 1 {
8913		invalidParams.Add(request.NewErrParamMinLen("MasterUserName", 1))
8914	}
8915	if s.MasterUserPassword != nil && len(*s.MasterUserPassword) < 8 {
8916		invalidParams.Add(request.NewErrParamMinLen("MasterUserPassword", 8))
8917	}
8918
8919	if invalidParams.Len() > 0 {
8920		return invalidParams
8921	}
8922	return nil
8923}
8924
8925// SetMasterUserARN sets the MasterUserARN field's value.
8926func (s *MasterUserOptions) SetMasterUserARN(v string) *MasterUserOptions {
8927	s.MasterUserARN = &v
8928	return s
8929}
8930
8931// SetMasterUserName sets the MasterUserName field's value.
8932func (s *MasterUserOptions) SetMasterUserName(v string) *MasterUserOptions {
8933	s.MasterUserName = &v
8934	return s
8935}
8936
8937// SetMasterUserPassword sets the MasterUserPassword field's value.
8938func (s *MasterUserOptions) SetMasterUserPassword(v string) *MasterUserOptions {
8939	s.MasterUserPassword = &v
8940	return s
8941}
8942
8943// Specifies the node-to-node encryption options.
8944type NodeToNodeEncryptionOptions struct {
8945	_ struct{} `type:"structure"`
8946
8947	// Specify true to enable node-to-node encryption.
8948	Enabled *bool `type:"boolean"`
8949}
8950
8951// String returns the string representation
8952func (s NodeToNodeEncryptionOptions) String() string {
8953	return awsutil.Prettify(s)
8954}
8955
8956// GoString returns the string representation
8957func (s NodeToNodeEncryptionOptions) GoString() string {
8958	return s.String()
8959}
8960
8961// SetEnabled sets the Enabled field's value.
8962func (s *NodeToNodeEncryptionOptions) SetEnabled(v bool) *NodeToNodeEncryptionOptions {
8963	s.Enabled = &v
8964	return s
8965}
8966
8967// Status of the node-to-node encryption options for the specified Elasticsearch
8968// domain.
8969type NodeToNodeEncryptionOptionsStatus struct {
8970	_ struct{} `type:"structure"`
8971
8972	// Specifies the node-to-node encryption options for the specified Elasticsearch
8973	// domain.
8974	//
8975	// Options is a required field
8976	Options *NodeToNodeEncryptionOptions `type:"structure" required:"true"`
8977
8978	// Specifies the status of the node-to-node encryption options for the specified
8979	// Elasticsearch domain.
8980	//
8981	// Status is a required field
8982	Status *OptionStatus `type:"structure" required:"true"`
8983}
8984
8985// String returns the string representation
8986func (s NodeToNodeEncryptionOptionsStatus) String() string {
8987	return awsutil.Prettify(s)
8988}
8989
8990// GoString returns the string representation
8991func (s NodeToNodeEncryptionOptionsStatus) GoString() string {
8992	return s.String()
8993}
8994
8995// SetOptions sets the Options field's value.
8996func (s *NodeToNodeEncryptionOptionsStatus) SetOptions(v *NodeToNodeEncryptionOptions) *NodeToNodeEncryptionOptionsStatus {
8997	s.Options = v
8998	return s
8999}
9000
9001// SetStatus sets the Status field's value.
9002func (s *NodeToNodeEncryptionOptionsStatus) SetStatus(v *OptionStatus) *NodeToNodeEncryptionOptionsStatus {
9003	s.Status = v
9004	return s
9005}
9006
9007// Provides the current status of the entity.
9008type OptionStatus struct {
9009	_ struct{} `type:"structure"`
9010
9011	// Timestamp which tells the creation date for the entity.
9012	//
9013	// CreationDate is a required field
9014	CreationDate *time.Time `type:"timestamp" required:"true"`
9015
9016	// Indicates whether the Elasticsearch domain is being deleted.
9017	PendingDeletion *bool `type:"boolean"`
9018
9019	// Provides the OptionState for the Elasticsearch domain.
9020	//
9021	// State is a required field
9022	State *string `type:"string" required:"true" enum:"OptionState"`
9023
9024	// Timestamp which tells the last updated time for the entity.
9025	//
9026	// UpdateDate is a required field
9027	UpdateDate *time.Time `type:"timestamp" required:"true"`
9028
9029	// Specifies the latest version for the entity.
9030	UpdateVersion *int64 `type:"integer"`
9031}
9032
9033// String returns the string representation
9034func (s OptionStatus) String() string {
9035	return awsutil.Prettify(s)
9036}
9037
9038// GoString returns the string representation
9039func (s OptionStatus) GoString() string {
9040	return s.String()
9041}
9042
9043// SetCreationDate sets the CreationDate field's value.
9044func (s *OptionStatus) SetCreationDate(v time.Time) *OptionStatus {
9045	s.CreationDate = &v
9046	return s
9047}
9048
9049// SetPendingDeletion sets the PendingDeletion field's value.
9050func (s *OptionStatus) SetPendingDeletion(v bool) *OptionStatus {
9051	s.PendingDeletion = &v
9052	return s
9053}
9054
9055// SetState sets the State field's value.
9056func (s *OptionStatus) SetState(v string) *OptionStatus {
9057	s.State = &v
9058	return s
9059}
9060
9061// SetUpdateDate sets the UpdateDate field's value.
9062func (s *OptionStatus) SetUpdateDate(v time.Time) *OptionStatus {
9063	s.UpdateDate = &v
9064	return s
9065}
9066
9067// SetUpdateVersion sets the UpdateVersion field's value.
9068func (s *OptionStatus) SetUpdateVersion(v int64) *OptionStatus {
9069	s.UpdateVersion = &v
9070	return s
9071}
9072
9073// Specifies details of an outbound connection.
9074type OutboundCrossClusterSearchConnection struct {
9075	_ struct{} `type:"structure"`
9076
9077	// Specifies the connection alias for the outbound cross-cluster search connection.
9078	ConnectionAlias *string `type:"string"`
9079
9080	// Specifies the OutboundCrossClusterSearchConnectionStatus for the outbound
9081	// connection.
9082	ConnectionStatus *OutboundCrossClusterSearchConnectionStatus `type:"structure"`
9083
9084	// Specifies the connection id for the outbound cross-cluster search connection.
9085	CrossClusterSearchConnectionId *string `type:"string"`
9086
9087	// Specifies the DomainInformation for the destination Elasticsearch domain.
9088	DestinationDomainInfo *DomainInformation `type:"structure"`
9089
9090	// Specifies the DomainInformation for the source Elasticsearch domain.
9091	SourceDomainInfo *DomainInformation `type:"structure"`
9092}
9093
9094// String returns the string representation
9095func (s OutboundCrossClusterSearchConnection) String() string {
9096	return awsutil.Prettify(s)
9097}
9098
9099// GoString returns the string representation
9100func (s OutboundCrossClusterSearchConnection) GoString() string {
9101	return s.String()
9102}
9103
9104// SetConnectionAlias sets the ConnectionAlias field's value.
9105func (s *OutboundCrossClusterSearchConnection) SetConnectionAlias(v string) *OutboundCrossClusterSearchConnection {
9106	s.ConnectionAlias = &v
9107	return s
9108}
9109
9110// SetConnectionStatus sets the ConnectionStatus field's value.
9111func (s *OutboundCrossClusterSearchConnection) SetConnectionStatus(v *OutboundCrossClusterSearchConnectionStatus) *OutboundCrossClusterSearchConnection {
9112	s.ConnectionStatus = v
9113	return s
9114}
9115
9116// SetCrossClusterSearchConnectionId sets the CrossClusterSearchConnectionId field's value.
9117func (s *OutboundCrossClusterSearchConnection) SetCrossClusterSearchConnectionId(v string) *OutboundCrossClusterSearchConnection {
9118	s.CrossClusterSearchConnectionId = &v
9119	return s
9120}
9121
9122// SetDestinationDomainInfo sets the DestinationDomainInfo field's value.
9123func (s *OutboundCrossClusterSearchConnection) SetDestinationDomainInfo(v *DomainInformation) *OutboundCrossClusterSearchConnection {
9124	s.DestinationDomainInfo = v
9125	return s
9126}
9127
9128// SetSourceDomainInfo sets the SourceDomainInfo field's value.
9129func (s *OutboundCrossClusterSearchConnection) SetSourceDomainInfo(v *DomainInformation) *OutboundCrossClusterSearchConnection {
9130	s.SourceDomainInfo = v
9131	return s
9132}
9133
9134// Specifies the connection status of an outbound cross-cluster search connection.
9135type OutboundCrossClusterSearchConnectionStatus struct {
9136	_ struct{} `type:"structure"`
9137
9138	// Specifies verbose information for the outbound connection status.
9139	Message *string `type:"string"`
9140
9141	// The state code for outbound connection. This can be one of the following:
9142	//
9143	//    * VALIDATING: The outbound connection request is being validated.
9144	//
9145	//    * VALIDATION_FAILED: Validation failed for the connection request.
9146	//
9147	//    * PENDING_ACCEPTANCE: Outbound connection request is validated and is
9148	//    not yet accepted by destination domain owner.
9149	//
9150	//    * PROVISIONING: Outbound connection request is in process.
9151	//
9152	//    * ACTIVE: Outbound connection is active and ready to use.
9153	//
9154	//    * REJECTED: Outbound connection request is rejected by destination domain
9155	//    owner.
9156	//
9157	//    * DELETING: Outbound connection deletion is in progress.
9158	//
9159	//    * DELETED: Outbound connection is deleted and cannot be used further.
9160	StatusCode *string `type:"string" enum:"OutboundCrossClusterSearchConnectionStatusCode"`
9161}
9162
9163// String returns the string representation
9164func (s OutboundCrossClusterSearchConnectionStatus) String() string {
9165	return awsutil.Prettify(s)
9166}
9167
9168// GoString returns the string representation
9169func (s OutboundCrossClusterSearchConnectionStatus) GoString() string {
9170	return s.String()
9171}
9172
9173// SetMessage sets the Message field's value.
9174func (s *OutboundCrossClusterSearchConnectionStatus) SetMessage(v string) *OutboundCrossClusterSearchConnectionStatus {
9175	s.Message = &v
9176	return s
9177}
9178
9179// SetStatusCode sets the StatusCode field's value.
9180func (s *OutboundCrossClusterSearchConnectionStatus) SetStatusCode(v string) *OutboundCrossClusterSearchConnectionStatus {
9181	s.StatusCode = &v
9182	return s
9183}
9184
9185// Basic information about a package.
9186type PackageDetails struct {
9187	_ struct{} `type:"structure"`
9188
9189	// Timestamp which tells creation date of the package.
9190	CreatedAt *time.Time `type:"timestamp"`
9191
9192	// Additional information if the package is in an error state. Null otherwise.
9193	ErrorDetails *ErrorDetails `type:"structure"`
9194
9195	// User-specified description of the package.
9196	PackageDescription *string `type:"string"`
9197
9198	// Internal ID of the package.
9199	PackageID *string `type:"string"`
9200
9201	// User specified name of the package.
9202	PackageName *string `min:"3" type:"string"`
9203
9204	// Current state of the package. Values are COPYING/COPY_FAILED/AVAILABLE/DELETING/DELETE_FAILED
9205	PackageStatus *string `type:"string" enum:"PackageStatus"`
9206
9207	// Currently supports only TXT-DICTIONARY.
9208	PackageType *string `type:"string" enum:"PackageType"`
9209}
9210
9211// String returns the string representation
9212func (s PackageDetails) String() string {
9213	return awsutil.Prettify(s)
9214}
9215
9216// GoString returns the string representation
9217func (s PackageDetails) GoString() string {
9218	return s.String()
9219}
9220
9221// SetCreatedAt sets the CreatedAt field's value.
9222func (s *PackageDetails) SetCreatedAt(v time.Time) *PackageDetails {
9223	s.CreatedAt = &v
9224	return s
9225}
9226
9227// SetErrorDetails sets the ErrorDetails field's value.
9228func (s *PackageDetails) SetErrorDetails(v *ErrorDetails) *PackageDetails {
9229	s.ErrorDetails = v
9230	return s
9231}
9232
9233// SetPackageDescription sets the PackageDescription field's value.
9234func (s *PackageDetails) SetPackageDescription(v string) *PackageDetails {
9235	s.PackageDescription = &v
9236	return s
9237}
9238
9239// SetPackageID sets the PackageID field's value.
9240func (s *PackageDetails) SetPackageID(v string) *PackageDetails {
9241	s.PackageID = &v
9242	return s
9243}
9244
9245// SetPackageName sets the PackageName field's value.
9246func (s *PackageDetails) SetPackageName(v string) *PackageDetails {
9247	s.PackageName = &v
9248	return s
9249}
9250
9251// SetPackageStatus sets the PackageStatus field's value.
9252func (s *PackageDetails) SetPackageStatus(v string) *PackageDetails {
9253	s.PackageStatus = &v
9254	return s
9255}
9256
9257// SetPackageType sets the PackageType field's value.
9258func (s *PackageDetails) SetPackageType(v string) *PackageDetails {
9259	s.PackageType = &v
9260	return s
9261}
9262
9263// The S3 location for importing the package specified as S3BucketName and S3Key
9264type PackageSource struct {
9265	_ struct{} `type:"structure"`
9266
9267	// Name of the bucket containing the package.
9268	S3BucketName *string `min:"3" type:"string"`
9269
9270	// Key (file name) of the package.
9271	S3Key *string `type:"string"`
9272}
9273
9274// String returns the string representation
9275func (s PackageSource) String() string {
9276	return awsutil.Prettify(s)
9277}
9278
9279// GoString returns the string representation
9280func (s PackageSource) GoString() string {
9281	return s.String()
9282}
9283
9284// Validate inspects the fields of the type to determine if they are valid.
9285func (s *PackageSource) Validate() error {
9286	invalidParams := request.ErrInvalidParams{Context: "PackageSource"}
9287	if s.S3BucketName != nil && len(*s.S3BucketName) < 3 {
9288		invalidParams.Add(request.NewErrParamMinLen("S3BucketName", 3))
9289	}
9290
9291	if invalidParams.Len() > 0 {
9292		return invalidParams
9293	}
9294	return nil
9295}
9296
9297// SetS3BucketName sets the S3BucketName field's value.
9298func (s *PackageSource) SetS3BucketName(v string) *PackageSource {
9299	s.S3BucketName = &v
9300	return s
9301}
9302
9303// SetS3Key sets the S3Key field's value.
9304func (s *PackageSource) SetS3Key(v string) *PackageSource {
9305	s.S3Key = &v
9306	return s
9307}
9308
9309// Container for parameters to PurchaseReservedElasticsearchInstanceOffering
9310type PurchaseReservedElasticsearchInstanceOfferingInput struct {
9311	_ struct{} `type:"structure"`
9312
9313	// The number of Elasticsearch instances to reserve.
9314	InstanceCount *int64 `min:"1" type:"integer"`
9315
9316	// A customer-specified identifier to track this reservation.
9317	//
9318	// ReservationName is a required field
9319	ReservationName *string `min:"5" type:"string" required:"true"`
9320
9321	// The ID of the reserved Elasticsearch instance offering to purchase.
9322	//
9323	// ReservedElasticsearchInstanceOfferingId is a required field
9324	ReservedElasticsearchInstanceOfferingId *string `type:"string" required:"true"`
9325}
9326
9327// String returns the string representation
9328func (s PurchaseReservedElasticsearchInstanceOfferingInput) String() string {
9329	return awsutil.Prettify(s)
9330}
9331
9332// GoString returns the string representation
9333func (s PurchaseReservedElasticsearchInstanceOfferingInput) GoString() string {
9334	return s.String()
9335}
9336
9337// Validate inspects the fields of the type to determine if they are valid.
9338func (s *PurchaseReservedElasticsearchInstanceOfferingInput) Validate() error {
9339	invalidParams := request.ErrInvalidParams{Context: "PurchaseReservedElasticsearchInstanceOfferingInput"}
9340	if s.InstanceCount != nil && *s.InstanceCount < 1 {
9341		invalidParams.Add(request.NewErrParamMinValue("InstanceCount", 1))
9342	}
9343	if s.ReservationName == nil {
9344		invalidParams.Add(request.NewErrParamRequired("ReservationName"))
9345	}
9346	if s.ReservationName != nil && len(*s.ReservationName) < 5 {
9347		invalidParams.Add(request.NewErrParamMinLen("ReservationName", 5))
9348	}
9349	if s.ReservedElasticsearchInstanceOfferingId == nil {
9350		invalidParams.Add(request.NewErrParamRequired("ReservedElasticsearchInstanceOfferingId"))
9351	}
9352
9353	if invalidParams.Len() > 0 {
9354		return invalidParams
9355	}
9356	return nil
9357}
9358
9359// SetInstanceCount sets the InstanceCount field's value.
9360func (s *PurchaseReservedElasticsearchInstanceOfferingInput) SetInstanceCount(v int64) *PurchaseReservedElasticsearchInstanceOfferingInput {
9361	s.InstanceCount = &v
9362	return s
9363}
9364
9365// SetReservationName sets the ReservationName field's value.
9366func (s *PurchaseReservedElasticsearchInstanceOfferingInput) SetReservationName(v string) *PurchaseReservedElasticsearchInstanceOfferingInput {
9367	s.ReservationName = &v
9368	return s
9369}
9370
9371// SetReservedElasticsearchInstanceOfferingId sets the ReservedElasticsearchInstanceOfferingId field's value.
9372func (s *PurchaseReservedElasticsearchInstanceOfferingInput) SetReservedElasticsearchInstanceOfferingId(v string) *PurchaseReservedElasticsearchInstanceOfferingInput {
9373	s.ReservedElasticsearchInstanceOfferingId = &v
9374	return s
9375}
9376
9377// Represents the output of a PurchaseReservedElasticsearchInstanceOffering
9378// operation.
9379type PurchaseReservedElasticsearchInstanceOfferingOutput struct {
9380	_ struct{} `type:"structure"`
9381
9382	// The customer-specified identifier used to track this reservation.
9383	ReservationName *string `min:"5" type:"string"`
9384
9385	// Details of the reserved Elasticsearch instance which was purchased.
9386	ReservedElasticsearchInstanceId *string `type:"string"`
9387}
9388
9389// String returns the string representation
9390func (s PurchaseReservedElasticsearchInstanceOfferingOutput) String() string {
9391	return awsutil.Prettify(s)
9392}
9393
9394// GoString returns the string representation
9395func (s PurchaseReservedElasticsearchInstanceOfferingOutput) GoString() string {
9396	return s.String()
9397}
9398
9399// SetReservationName sets the ReservationName field's value.
9400func (s *PurchaseReservedElasticsearchInstanceOfferingOutput) SetReservationName(v string) *PurchaseReservedElasticsearchInstanceOfferingOutput {
9401	s.ReservationName = &v
9402	return s
9403}
9404
9405// SetReservedElasticsearchInstanceId sets the ReservedElasticsearchInstanceId field's value.
9406func (s *PurchaseReservedElasticsearchInstanceOfferingOutput) SetReservedElasticsearchInstanceId(v string) *PurchaseReservedElasticsearchInstanceOfferingOutput {
9407	s.ReservedElasticsearchInstanceId = &v
9408	return s
9409}
9410
9411// Contains the specific price and frequency of a recurring charges for a reserved
9412// Elasticsearch instance, or for a reserved Elasticsearch instance offering.
9413type RecurringCharge struct {
9414	_ struct{} `type:"structure"`
9415
9416	// The monetary amount of the recurring charge.
9417	RecurringChargeAmount *float64 `type:"double"`
9418
9419	// The frequency of the recurring charge.
9420	RecurringChargeFrequency *string `type:"string"`
9421}
9422
9423// String returns the string representation
9424func (s RecurringCharge) String() string {
9425	return awsutil.Prettify(s)
9426}
9427
9428// GoString returns the string representation
9429func (s RecurringCharge) GoString() string {
9430	return s.String()
9431}
9432
9433// SetRecurringChargeAmount sets the RecurringChargeAmount field's value.
9434func (s *RecurringCharge) SetRecurringChargeAmount(v float64) *RecurringCharge {
9435	s.RecurringChargeAmount = &v
9436	return s
9437}
9438
9439// SetRecurringChargeFrequency sets the RecurringChargeFrequency field's value.
9440func (s *RecurringCharge) SetRecurringChargeFrequency(v string) *RecurringCharge {
9441	s.RecurringChargeFrequency = &v
9442	return s
9443}
9444
9445// Container for the parameters to the RejectInboundCrossClusterSearchConnection
9446// operation.
9447type RejectInboundCrossClusterSearchConnectionInput struct {
9448	_ struct{} `type:"structure"`
9449
9450	// The id of the inbound connection that you want to reject.
9451	//
9452	// CrossClusterSearchConnectionId is a required field
9453	CrossClusterSearchConnectionId *string `location:"uri" locationName:"ConnectionId" type:"string" required:"true"`
9454}
9455
9456// String returns the string representation
9457func (s RejectInboundCrossClusterSearchConnectionInput) String() string {
9458	return awsutil.Prettify(s)
9459}
9460
9461// GoString returns the string representation
9462func (s RejectInboundCrossClusterSearchConnectionInput) GoString() string {
9463	return s.String()
9464}
9465
9466// Validate inspects the fields of the type to determine if they are valid.
9467func (s *RejectInboundCrossClusterSearchConnectionInput) Validate() error {
9468	invalidParams := request.ErrInvalidParams{Context: "RejectInboundCrossClusterSearchConnectionInput"}
9469	if s.CrossClusterSearchConnectionId == nil {
9470		invalidParams.Add(request.NewErrParamRequired("CrossClusterSearchConnectionId"))
9471	}
9472	if s.CrossClusterSearchConnectionId != nil && len(*s.CrossClusterSearchConnectionId) < 1 {
9473		invalidParams.Add(request.NewErrParamMinLen("CrossClusterSearchConnectionId", 1))
9474	}
9475
9476	if invalidParams.Len() > 0 {
9477		return invalidParams
9478	}
9479	return nil
9480}
9481
9482// SetCrossClusterSearchConnectionId sets the CrossClusterSearchConnectionId field's value.
9483func (s *RejectInboundCrossClusterSearchConnectionInput) SetCrossClusterSearchConnectionId(v string) *RejectInboundCrossClusterSearchConnectionInput {
9484	s.CrossClusterSearchConnectionId = &v
9485	return s
9486}
9487
9488// The result of a RejectInboundCrossClusterSearchConnection operation. Contains
9489// details of rejected inbound connection.
9490type RejectInboundCrossClusterSearchConnectionOutput struct {
9491	_ struct{} `type:"structure"`
9492
9493	// Specifies the InboundCrossClusterSearchConnection of rejected inbound connection.
9494	CrossClusterSearchConnection *InboundCrossClusterSearchConnection `type:"structure"`
9495}
9496
9497// String returns the string representation
9498func (s RejectInboundCrossClusterSearchConnectionOutput) String() string {
9499	return awsutil.Prettify(s)
9500}
9501
9502// GoString returns the string representation
9503func (s RejectInboundCrossClusterSearchConnectionOutput) GoString() string {
9504	return s.String()
9505}
9506
9507// SetCrossClusterSearchConnection sets the CrossClusterSearchConnection field's value.
9508func (s *RejectInboundCrossClusterSearchConnectionOutput) SetCrossClusterSearchConnection(v *InboundCrossClusterSearchConnection) *RejectInboundCrossClusterSearchConnectionOutput {
9509	s.CrossClusterSearchConnection = v
9510	return s
9511}
9512
9513// Container for the parameters to the RemoveTags operation. Specify the ARN
9514// for the Elasticsearch domain from which you want to remove the specified
9515// TagKey.
9516type RemoveTagsInput struct {
9517	_ struct{} `type:"structure"`
9518
9519	// Specifies the ARN for the Elasticsearch domain from which you want to delete
9520	// the specified tags.
9521	//
9522	// ARN is a required field
9523	ARN *string `type:"string" required:"true"`
9524
9525	// Specifies the TagKey list which you want to remove from the Elasticsearch
9526	// domain.
9527	//
9528	// TagKeys is a required field
9529	TagKeys []*string `type:"list" required:"true"`
9530}
9531
9532// String returns the string representation
9533func (s RemoveTagsInput) String() string {
9534	return awsutil.Prettify(s)
9535}
9536
9537// GoString returns the string representation
9538func (s RemoveTagsInput) GoString() string {
9539	return s.String()
9540}
9541
9542// Validate inspects the fields of the type to determine if they are valid.
9543func (s *RemoveTagsInput) Validate() error {
9544	invalidParams := request.ErrInvalidParams{Context: "RemoveTagsInput"}
9545	if s.ARN == nil {
9546		invalidParams.Add(request.NewErrParamRequired("ARN"))
9547	}
9548	if s.TagKeys == nil {
9549		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
9550	}
9551
9552	if invalidParams.Len() > 0 {
9553		return invalidParams
9554	}
9555	return nil
9556}
9557
9558// SetARN sets the ARN field's value.
9559func (s *RemoveTagsInput) SetARN(v string) *RemoveTagsInput {
9560	s.ARN = &v
9561	return s
9562}
9563
9564// SetTagKeys sets the TagKeys field's value.
9565func (s *RemoveTagsInput) SetTagKeys(v []*string) *RemoveTagsInput {
9566	s.TagKeys = v
9567	return s
9568}
9569
9570type RemoveTagsOutput struct {
9571	_ struct{} `type:"structure"`
9572}
9573
9574// String returns the string representation
9575func (s RemoveTagsOutput) String() string {
9576	return awsutil.Prettify(s)
9577}
9578
9579// GoString returns the string representation
9580func (s RemoveTagsOutput) GoString() string {
9581	return s.String()
9582}
9583
9584// Details of a reserved Elasticsearch instance.
9585type ReservedElasticsearchInstance struct {
9586	_ struct{} `type:"structure"`
9587
9588	// The currency code for the reserved Elasticsearch instance offering.
9589	CurrencyCode *string `type:"string"`
9590
9591	// The duration, in seconds, for which the Elasticsearch instance is reserved.
9592	Duration *int64 `type:"integer"`
9593
9594	// The number of Elasticsearch instances that have been reserved.
9595	ElasticsearchInstanceCount *int64 `type:"integer"`
9596
9597	// The Elasticsearch instance type offered by the reserved instance offering.
9598	ElasticsearchInstanceType *string `type:"string" enum:"ESPartitionInstanceType"`
9599
9600	// The upfront fixed charge you will paid to purchase the specific reserved
9601	// Elasticsearch instance offering.
9602	FixedPrice *float64 `type:"double"`
9603
9604	// The payment option as defined in the reserved Elasticsearch instance offering.
9605	PaymentOption *string `type:"string" enum:"ReservedElasticsearchInstancePaymentOption"`
9606
9607	// The charge to your account regardless of whether you are creating any domains
9608	// using the instance offering.
9609	RecurringCharges []*RecurringCharge `type:"list"`
9610
9611	// The customer-specified identifier to track this reservation.
9612	ReservationName *string `min:"5" type:"string"`
9613
9614	// The unique identifier for the reservation.
9615	ReservedElasticsearchInstanceId *string `type:"string"`
9616
9617	// The offering identifier.
9618	ReservedElasticsearchInstanceOfferingId *string `type:"string"`
9619
9620	// The time the reservation started.
9621	StartTime *time.Time `type:"timestamp"`
9622
9623	// The state of the reserved Elasticsearch instance.
9624	State *string `type:"string"`
9625
9626	// The rate you are charged for each hour for the domain that is using this
9627	// reserved instance.
9628	UsagePrice *float64 `type:"double"`
9629}
9630
9631// String returns the string representation
9632func (s ReservedElasticsearchInstance) String() string {
9633	return awsutil.Prettify(s)
9634}
9635
9636// GoString returns the string representation
9637func (s ReservedElasticsearchInstance) GoString() string {
9638	return s.String()
9639}
9640
9641// SetCurrencyCode sets the CurrencyCode field's value.
9642func (s *ReservedElasticsearchInstance) SetCurrencyCode(v string) *ReservedElasticsearchInstance {
9643	s.CurrencyCode = &v
9644	return s
9645}
9646
9647// SetDuration sets the Duration field's value.
9648func (s *ReservedElasticsearchInstance) SetDuration(v int64) *ReservedElasticsearchInstance {
9649	s.Duration = &v
9650	return s
9651}
9652
9653// SetElasticsearchInstanceCount sets the ElasticsearchInstanceCount field's value.
9654func (s *ReservedElasticsearchInstance) SetElasticsearchInstanceCount(v int64) *ReservedElasticsearchInstance {
9655	s.ElasticsearchInstanceCount = &v
9656	return s
9657}
9658
9659// SetElasticsearchInstanceType sets the ElasticsearchInstanceType field's value.
9660func (s *ReservedElasticsearchInstance) SetElasticsearchInstanceType(v string) *ReservedElasticsearchInstance {
9661	s.ElasticsearchInstanceType = &v
9662	return s
9663}
9664
9665// SetFixedPrice sets the FixedPrice field's value.
9666func (s *ReservedElasticsearchInstance) SetFixedPrice(v float64) *ReservedElasticsearchInstance {
9667	s.FixedPrice = &v
9668	return s
9669}
9670
9671// SetPaymentOption sets the PaymentOption field's value.
9672func (s *ReservedElasticsearchInstance) SetPaymentOption(v string) *ReservedElasticsearchInstance {
9673	s.PaymentOption = &v
9674	return s
9675}
9676
9677// SetRecurringCharges sets the RecurringCharges field's value.
9678func (s *ReservedElasticsearchInstance) SetRecurringCharges(v []*RecurringCharge) *ReservedElasticsearchInstance {
9679	s.RecurringCharges = v
9680	return s
9681}
9682
9683// SetReservationName sets the ReservationName field's value.
9684func (s *ReservedElasticsearchInstance) SetReservationName(v string) *ReservedElasticsearchInstance {
9685	s.ReservationName = &v
9686	return s
9687}
9688
9689// SetReservedElasticsearchInstanceId sets the ReservedElasticsearchInstanceId field's value.
9690func (s *ReservedElasticsearchInstance) SetReservedElasticsearchInstanceId(v string) *ReservedElasticsearchInstance {
9691	s.ReservedElasticsearchInstanceId = &v
9692	return s
9693}
9694
9695// SetReservedElasticsearchInstanceOfferingId sets the ReservedElasticsearchInstanceOfferingId field's value.
9696func (s *ReservedElasticsearchInstance) SetReservedElasticsearchInstanceOfferingId(v string) *ReservedElasticsearchInstance {
9697	s.ReservedElasticsearchInstanceOfferingId = &v
9698	return s
9699}
9700
9701// SetStartTime sets the StartTime field's value.
9702func (s *ReservedElasticsearchInstance) SetStartTime(v time.Time) *ReservedElasticsearchInstance {
9703	s.StartTime = &v
9704	return s
9705}
9706
9707// SetState sets the State field's value.
9708func (s *ReservedElasticsearchInstance) SetState(v string) *ReservedElasticsearchInstance {
9709	s.State = &v
9710	return s
9711}
9712
9713// SetUsagePrice sets the UsagePrice field's value.
9714func (s *ReservedElasticsearchInstance) SetUsagePrice(v float64) *ReservedElasticsearchInstance {
9715	s.UsagePrice = &v
9716	return s
9717}
9718
9719// Details of a reserved Elasticsearch instance offering.
9720type ReservedElasticsearchInstanceOffering struct {
9721	_ struct{} `type:"structure"`
9722
9723	// The currency code for the reserved Elasticsearch instance offering.
9724	CurrencyCode *string `type:"string"`
9725
9726	// The duration, in seconds, for which the offering will reserve the Elasticsearch
9727	// instance.
9728	Duration *int64 `type:"integer"`
9729
9730	// The Elasticsearch instance type offered by the reserved instance offering.
9731	ElasticsearchInstanceType *string `type:"string" enum:"ESPartitionInstanceType"`
9732
9733	// The upfront fixed charge you will pay to purchase the specific reserved Elasticsearch
9734	// instance offering.
9735	FixedPrice *float64 `type:"double"`
9736
9737	// Payment option for the reserved Elasticsearch instance offering
9738	PaymentOption *string `type:"string" enum:"ReservedElasticsearchInstancePaymentOption"`
9739
9740	// The charge to your account regardless of whether you are creating any domains
9741	// using the instance offering.
9742	RecurringCharges []*RecurringCharge `type:"list"`
9743
9744	// The Elasticsearch reserved instance offering identifier.
9745	ReservedElasticsearchInstanceOfferingId *string `type:"string"`
9746
9747	// The rate you are charged for each hour the domain that is using the offering
9748	// is running.
9749	UsagePrice *float64 `type:"double"`
9750}
9751
9752// String returns the string representation
9753func (s ReservedElasticsearchInstanceOffering) String() string {
9754	return awsutil.Prettify(s)
9755}
9756
9757// GoString returns the string representation
9758func (s ReservedElasticsearchInstanceOffering) GoString() string {
9759	return s.String()
9760}
9761
9762// SetCurrencyCode sets the CurrencyCode field's value.
9763func (s *ReservedElasticsearchInstanceOffering) SetCurrencyCode(v string) *ReservedElasticsearchInstanceOffering {
9764	s.CurrencyCode = &v
9765	return s
9766}
9767
9768// SetDuration sets the Duration field's value.
9769func (s *ReservedElasticsearchInstanceOffering) SetDuration(v int64) *ReservedElasticsearchInstanceOffering {
9770	s.Duration = &v
9771	return s
9772}
9773
9774// SetElasticsearchInstanceType sets the ElasticsearchInstanceType field's value.
9775func (s *ReservedElasticsearchInstanceOffering) SetElasticsearchInstanceType(v string) *ReservedElasticsearchInstanceOffering {
9776	s.ElasticsearchInstanceType = &v
9777	return s
9778}
9779
9780// SetFixedPrice sets the FixedPrice field's value.
9781func (s *ReservedElasticsearchInstanceOffering) SetFixedPrice(v float64) *ReservedElasticsearchInstanceOffering {
9782	s.FixedPrice = &v
9783	return s
9784}
9785
9786// SetPaymentOption sets the PaymentOption field's value.
9787func (s *ReservedElasticsearchInstanceOffering) SetPaymentOption(v string) *ReservedElasticsearchInstanceOffering {
9788	s.PaymentOption = &v
9789	return s
9790}
9791
9792// SetRecurringCharges sets the RecurringCharges field's value.
9793func (s *ReservedElasticsearchInstanceOffering) SetRecurringCharges(v []*RecurringCharge) *ReservedElasticsearchInstanceOffering {
9794	s.RecurringCharges = v
9795	return s
9796}
9797
9798// SetReservedElasticsearchInstanceOfferingId sets the ReservedElasticsearchInstanceOfferingId field's value.
9799func (s *ReservedElasticsearchInstanceOffering) SetReservedElasticsearchInstanceOfferingId(v string) *ReservedElasticsearchInstanceOffering {
9800	s.ReservedElasticsearchInstanceOfferingId = &v
9801	return s
9802}
9803
9804// SetUsagePrice sets the UsagePrice field's value.
9805func (s *ReservedElasticsearchInstanceOffering) SetUsagePrice(v float64) *ReservedElasticsearchInstanceOffering {
9806	s.UsagePrice = &v
9807	return s
9808}
9809
9810// An exception for creating a resource that already exists. Gives http status
9811// code of 400.
9812type ResourceAlreadyExistsException struct {
9813	_            struct{}                  `type:"structure"`
9814	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9815
9816	Message_ *string `locationName:"message" type:"string"`
9817}
9818
9819// String returns the string representation
9820func (s ResourceAlreadyExistsException) String() string {
9821	return awsutil.Prettify(s)
9822}
9823
9824// GoString returns the string representation
9825func (s ResourceAlreadyExistsException) GoString() string {
9826	return s.String()
9827}
9828
9829func newErrorResourceAlreadyExistsException(v protocol.ResponseMetadata) error {
9830	return &ResourceAlreadyExistsException{
9831		RespMetadata: v,
9832	}
9833}
9834
9835// Code returns the exception type name.
9836func (s *ResourceAlreadyExistsException) Code() string {
9837	return "ResourceAlreadyExistsException"
9838}
9839
9840// Message returns the exception's message.
9841func (s *ResourceAlreadyExistsException) Message() string {
9842	if s.Message_ != nil {
9843		return *s.Message_
9844	}
9845	return ""
9846}
9847
9848// OrigErr always returns nil, satisfies awserr.Error interface.
9849func (s *ResourceAlreadyExistsException) OrigErr() error {
9850	return nil
9851}
9852
9853func (s *ResourceAlreadyExistsException) Error() string {
9854	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9855}
9856
9857// Status code returns the HTTP status code for the request's response error.
9858func (s *ResourceAlreadyExistsException) StatusCode() int {
9859	return s.RespMetadata.StatusCode
9860}
9861
9862// RequestID returns the service's response RequestID for request.
9863func (s *ResourceAlreadyExistsException) RequestID() string {
9864	return s.RespMetadata.RequestID
9865}
9866
9867// An exception for accessing or deleting a resource that does not exist. Gives
9868// http status code of 400.
9869type ResourceNotFoundException struct {
9870	_            struct{}                  `type:"structure"`
9871	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9872
9873	Message_ *string `locationName:"message" type:"string"`
9874}
9875
9876// String returns the string representation
9877func (s ResourceNotFoundException) String() string {
9878	return awsutil.Prettify(s)
9879}
9880
9881// GoString returns the string representation
9882func (s ResourceNotFoundException) GoString() string {
9883	return s.String()
9884}
9885
9886func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
9887	return &ResourceNotFoundException{
9888		RespMetadata: v,
9889	}
9890}
9891
9892// Code returns the exception type name.
9893func (s *ResourceNotFoundException) Code() string {
9894	return "ResourceNotFoundException"
9895}
9896
9897// Message returns the exception's message.
9898func (s *ResourceNotFoundException) Message() string {
9899	if s.Message_ != nil {
9900		return *s.Message_
9901	}
9902	return ""
9903}
9904
9905// OrigErr always returns nil, satisfies awserr.Error interface.
9906func (s *ResourceNotFoundException) OrigErr() error {
9907	return nil
9908}
9909
9910func (s *ResourceNotFoundException) Error() string {
9911	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9912}
9913
9914// Status code returns the HTTP status code for the request's response error.
9915func (s *ResourceNotFoundException) StatusCode() int {
9916	return s.RespMetadata.StatusCode
9917}
9918
9919// RequestID returns the service's response RequestID for request.
9920func (s *ResourceNotFoundException) RequestID() string {
9921	return s.RespMetadata.RequestID
9922}
9923
9924// The current options of an Elasticsearch domain service software options.
9925type ServiceSoftwareOptions struct {
9926	_ struct{} `type:"structure"`
9927
9928	// Timestamp, in Epoch time, until which you can manually request a service
9929	// software update. After this date, we automatically update your service software.
9930	AutomatedUpdateDate *time.Time `type:"timestamp"`
9931
9932	// True if you are able to cancel your service software version update. False
9933	// if you are not able to cancel your service software version.
9934	Cancellable *bool `type:"boolean"`
9935
9936	// The current service software version that is present on the domain.
9937	CurrentVersion *string `type:"string"`
9938
9939	// The description of the UpdateStatus.
9940	Description *string `type:"string"`
9941
9942	// The new service software version if one is available.
9943	NewVersion *string `type:"string"`
9944
9945	// True if a service software is never automatically updated. False if a service
9946	// software is automatically updated after AutomatedUpdateDate.
9947	OptionalDeployment *bool `type:"boolean"`
9948
9949	// True if you are able to update you service software version. False if you
9950	// are not able to update your service software version.
9951	UpdateAvailable *bool `type:"boolean"`
9952
9953	// The status of your service software update. This field can take the following
9954	// values: ELIGIBLE, PENDING_UPDATE, IN_PROGRESS, COMPLETED, and NOT_ELIGIBLE.
9955	UpdateStatus *string `type:"string" enum:"DeploymentStatus"`
9956}
9957
9958// String returns the string representation
9959func (s ServiceSoftwareOptions) String() string {
9960	return awsutil.Prettify(s)
9961}
9962
9963// GoString returns the string representation
9964func (s ServiceSoftwareOptions) GoString() string {
9965	return s.String()
9966}
9967
9968// SetAutomatedUpdateDate sets the AutomatedUpdateDate field's value.
9969func (s *ServiceSoftwareOptions) SetAutomatedUpdateDate(v time.Time) *ServiceSoftwareOptions {
9970	s.AutomatedUpdateDate = &v
9971	return s
9972}
9973
9974// SetCancellable sets the Cancellable field's value.
9975func (s *ServiceSoftwareOptions) SetCancellable(v bool) *ServiceSoftwareOptions {
9976	s.Cancellable = &v
9977	return s
9978}
9979
9980// SetCurrentVersion sets the CurrentVersion field's value.
9981func (s *ServiceSoftwareOptions) SetCurrentVersion(v string) *ServiceSoftwareOptions {
9982	s.CurrentVersion = &v
9983	return s
9984}
9985
9986// SetDescription sets the Description field's value.
9987func (s *ServiceSoftwareOptions) SetDescription(v string) *ServiceSoftwareOptions {
9988	s.Description = &v
9989	return s
9990}
9991
9992// SetNewVersion sets the NewVersion field's value.
9993func (s *ServiceSoftwareOptions) SetNewVersion(v string) *ServiceSoftwareOptions {
9994	s.NewVersion = &v
9995	return s
9996}
9997
9998// SetOptionalDeployment sets the OptionalDeployment field's value.
9999func (s *ServiceSoftwareOptions) SetOptionalDeployment(v bool) *ServiceSoftwareOptions {
10000	s.OptionalDeployment = &v
10001	return s
10002}
10003
10004// SetUpdateAvailable sets the UpdateAvailable field's value.
10005func (s *ServiceSoftwareOptions) SetUpdateAvailable(v bool) *ServiceSoftwareOptions {
10006	s.UpdateAvailable = &v
10007	return s
10008}
10009
10010// SetUpdateStatus sets the UpdateStatus field's value.
10011func (s *ServiceSoftwareOptions) SetUpdateStatus(v string) *ServiceSoftwareOptions {
10012	s.UpdateStatus = &v
10013	return s
10014}
10015
10016// Specifies the time, in UTC format, when the service takes a daily automated
10017// snapshot of the specified Elasticsearch domain. Default value is 0 hours.
10018type SnapshotOptions struct {
10019	_ struct{} `type:"structure"`
10020
10021	// Specifies the time, in UTC format, when the service takes a daily automated
10022	// snapshot of the specified Elasticsearch domain. Default value is 0 hours.
10023	AutomatedSnapshotStartHour *int64 `type:"integer"`
10024}
10025
10026// String returns the string representation
10027func (s SnapshotOptions) String() string {
10028	return awsutil.Prettify(s)
10029}
10030
10031// GoString returns the string representation
10032func (s SnapshotOptions) GoString() string {
10033	return s.String()
10034}
10035
10036// SetAutomatedSnapshotStartHour sets the AutomatedSnapshotStartHour field's value.
10037func (s *SnapshotOptions) SetAutomatedSnapshotStartHour(v int64) *SnapshotOptions {
10038	s.AutomatedSnapshotStartHour = &v
10039	return s
10040}
10041
10042// Status of a daily automated snapshot.
10043type SnapshotOptionsStatus struct {
10044	_ struct{} `type:"structure"`
10045
10046	// Specifies the daily snapshot options specified for the Elasticsearch domain.
10047	//
10048	// Options is a required field
10049	Options *SnapshotOptions `type:"structure" required:"true"`
10050
10051	// Specifies the status of a daily automated snapshot.
10052	//
10053	// Status is a required field
10054	Status *OptionStatus `type:"structure" required:"true"`
10055}
10056
10057// String returns the string representation
10058func (s SnapshotOptionsStatus) String() string {
10059	return awsutil.Prettify(s)
10060}
10061
10062// GoString returns the string representation
10063func (s SnapshotOptionsStatus) GoString() string {
10064	return s.String()
10065}
10066
10067// SetOptions sets the Options field's value.
10068func (s *SnapshotOptionsStatus) SetOptions(v *SnapshotOptions) *SnapshotOptionsStatus {
10069	s.Options = v
10070	return s
10071}
10072
10073// SetStatus sets the Status field's value.
10074func (s *SnapshotOptionsStatus) SetStatus(v *OptionStatus) *SnapshotOptionsStatus {
10075	s.Status = v
10076	return s
10077}
10078
10079// Container for the parameters to the StartElasticsearchServiceSoftwareUpdate
10080// operation. Specifies the name of the Elasticsearch domain that you wish to
10081// schedule a service software update on.
10082type StartElasticsearchServiceSoftwareUpdateInput struct {
10083	_ struct{} `type:"structure"`
10084
10085	// The name of the domain that you want to update to the latest service software.
10086	//
10087	// DomainName is a required field
10088	DomainName *string `min:"3" type:"string" required:"true"`
10089}
10090
10091// String returns the string representation
10092func (s StartElasticsearchServiceSoftwareUpdateInput) String() string {
10093	return awsutil.Prettify(s)
10094}
10095
10096// GoString returns the string representation
10097func (s StartElasticsearchServiceSoftwareUpdateInput) GoString() string {
10098	return s.String()
10099}
10100
10101// Validate inspects the fields of the type to determine if they are valid.
10102func (s *StartElasticsearchServiceSoftwareUpdateInput) Validate() error {
10103	invalidParams := request.ErrInvalidParams{Context: "StartElasticsearchServiceSoftwareUpdateInput"}
10104	if s.DomainName == nil {
10105		invalidParams.Add(request.NewErrParamRequired("DomainName"))
10106	}
10107	if s.DomainName != nil && len(*s.DomainName) < 3 {
10108		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
10109	}
10110
10111	if invalidParams.Len() > 0 {
10112		return invalidParams
10113	}
10114	return nil
10115}
10116
10117// SetDomainName sets the DomainName field's value.
10118func (s *StartElasticsearchServiceSoftwareUpdateInput) SetDomainName(v string) *StartElasticsearchServiceSoftwareUpdateInput {
10119	s.DomainName = &v
10120	return s
10121}
10122
10123// The result of a StartElasticsearchServiceSoftwareUpdate operation. Contains
10124// the status of the update.
10125type StartElasticsearchServiceSoftwareUpdateOutput struct {
10126	_ struct{} `type:"structure"`
10127
10128	// The current status of the Elasticsearch service software update.
10129	ServiceSoftwareOptions *ServiceSoftwareOptions `type:"structure"`
10130}
10131
10132// String returns the string representation
10133func (s StartElasticsearchServiceSoftwareUpdateOutput) String() string {
10134	return awsutil.Prettify(s)
10135}
10136
10137// GoString returns the string representation
10138func (s StartElasticsearchServiceSoftwareUpdateOutput) GoString() string {
10139	return s.String()
10140}
10141
10142// SetServiceSoftwareOptions sets the ServiceSoftwareOptions field's value.
10143func (s *StartElasticsearchServiceSoftwareUpdateOutput) SetServiceSoftwareOptions(v *ServiceSoftwareOptions) *StartElasticsearchServiceSoftwareUpdateOutput {
10144	s.ServiceSoftwareOptions = v
10145	return s
10146}
10147
10148// StorageTypes represents the list of storage related types and their attributes
10149// that are available for given InstanceType.
10150type StorageType struct {
10151	_ struct{} `type:"structure"`
10152
10153	// SubType of the given storage type. List of available sub-storage options:
10154	// For "instance" storageType we wont have any storageSubType, in case of "ebs"
10155	// storageType we will have following valid storageSubTypes standard gp2 io1
10156	// Refer VolumeType for more information regarding above EBS storage options.
10157	StorageSubTypeName *string `type:"string"`
10158
10159	// List of limits that are applicable for given storage type.
10160	StorageTypeLimits []*StorageTypeLimit `type:"list"`
10161
10162	// Type of the storage. List of available storage options: instance Inbuilt
10163	// storage available for the given Instance ebs Elastic block storage that would
10164	// be attached to the given Instance
10165	StorageTypeName *string `type:"string"`
10166}
10167
10168// String returns the string representation
10169func (s StorageType) String() string {
10170	return awsutil.Prettify(s)
10171}
10172
10173// GoString returns the string representation
10174func (s StorageType) GoString() string {
10175	return s.String()
10176}
10177
10178// SetStorageSubTypeName sets the StorageSubTypeName field's value.
10179func (s *StorageType) SetStorageSubTypeName(v string) *StorageType {
10180	s.StorageSubTypeName = &v
10181	return s
10182}
10183
10184// SetStorageTypeLimits sets the StorageTypeLimits field's value.
10185func (s *StorageType) SetStorageTypeLimits(v []*StorageTypeLimit) *StorageType {
10186	s.StorageTypeLimits = v
10187	return s
10188}
10189
10190// SetStorageTypeName sets the StorageTypeName field's value.
10191func (s *StorageType) SetStorageTypeName(v string) *StorageType {
10192	s.StorageTypeName = &v
10193	return s
10194}
10195
10196// Limits that are applicable for given storage type.
10197type StorageTypeLimit struct {
10198	_ struct{} `type:"structure"`
10199
10200	// Name of storage limits that are applicable for given storage type. If StorageType
10201	// is ebs, following storage options are applicable MinimumVolumeSize Minimum
10202	// amount of volume size that is applicable for given storage type.It can be
10203	// empty if it is not applicable. MaximumVolumeSize Maximum amount of volume
10204	// size that is applicable for given storage type.It can be empty if it is not
10205	// applicable. MaximumIops Maximum amount of Iops that is applicable for given
10206	// storage type.It can be empty if it is not applicable. MinimumIops Minimum
10207	// amount of Iops that is applicable for given storage type.It can be empty
10208	// if it is not applicable.
10209	LimitName *string `type:"string"`
10210
10211	// Values for the StorageTypeLimit$LimitName .
10212	LimitValues []*string `type:"list"`
10213}
10214
10215// String returns the string representation
10216func (s StorageTypeLimit) String() string {
10217	return awsutil.Prettify(s)
10218}
10219
10220// GoString returns the string representation
10221func (s StorageTypeLimit) GoString() string {
10222	return s.String()
10223}
10224
10225// SetLimitName sets the LimitName field's value.
10226func (s *StorageTypeLimit) SetLimitName(v string) *StorageTypeLimit {
10227	s.LimitName = &v
10228	return s
10229}
10230
10231// SetLimitValues sets the LimitValues field's value.
10232func (s *StorageTypeLimit) SetLimitValues(v []*string) *StorageTypeLimit {
10233	s.LimitValues = v
10234	return s
10235}
10236
10237// Specifies a key value pair for a resource tag.
10238type Tag struct {
10239	_ struct{} `type:"structure"`
10240
10241	// Specifies the TagKey, the name of the tag. Tag keys must be unique for the
10242	// Elasticsearch domain to which they are attached.
10243	//
10244	// Key is a required field
10245	Key *string `min:"1" type:"string" required:"true"`
10246
10247	// Specifies the TagValue, the value assigned to the corresponding tag key.
10248	// Tag values can be null and do not have to be unique in a tag set. For example,
10249	// you can have a key value pair in a tag set of project : Trinity and cost-center
10250	// : Trinity
10251	//
10252	// Value is a required field
10253	Value *string `type:"string" required:"true"`
10254}
10255
10256// String returns the string representation
10257func (s Tag) String() string {
10258	return awsutil.Prettify(s)
10259}
10260
10261// GoString returns the string representation
10262func (s Tag) GoString() string {
10263	return s.String()
10264}
10265
10266// Validate inspects the fields of the type to determine if they are valid.
10267func (s *Tag) Validate() error {
10268	invalidParams := request.ErrInvalidParams{Context: "Tag"}
10269	if s.Key == nil {
10270		invalidParams.Add(request.NewErrParamRequired("Key"))
10271	}
10272	if s.Key != nil && len(*s.Key) < 1 {
10273		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
10274	}
10275	if s.Value == nil {
10276		invalidParams.Add(request.NewErrParamRequired("Value"))
10277	}
10278
10279	if invalidParams.Len() > 0 {
10280		return invalidParams
10281	}
10282	return nil
10283}
10284
10285// SetKey sets the Key field's value.
10286func (s *Tag) SetKey(v string) *Tag {
10287	s.Key = &v
10288	return s
10289}
10290
10291// SetValue sets the Value field's value.
10292func (s *Tag) SetValue(v string) *Tag {
10293	s.Value = &v
10294	return s
10295}
10296
10297// Container for the parameters to the UpdateElasticsearchDomain operation.
10298// Specifies the type and number of instances in the domain cluster.
10299type UpdateElasticsearchDomainConfigInput struct {
10300	_ struct{} `type:"structure"`
10301
10302	// IAM access policy as a JSON-formatted string.
10303	AccessPolicies *string `type:"string"`
10304
10305	// Modifies the advanced option to allow references to indices in an HTTP request
10306	// body. Must be false when configuring access to individual sub-resources.
10307	// 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)
10308	// for more information.
10309	AdvancedOptions map[string]*string `type:"map"`
10310
10311	// Specifies advanced security options.
10312	AdvancedSecurityOptions *AdvancedSecurityOptionsInput `type:"structure"`
10313
10314	// Options to specify the Cognito user and identity pools for Kibana authentication.
10315	// For more information, see Amazon Cognito Authentication for Kibana (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-cognito-auth.html).
10316	CognitoOptions *CognitoOptions `type:"structure"`
10317
10318	// Options to specify configuration that will be applied to the domain endpoint.
10319	DomainEndpointOptions *DomainEndpointOptions `type:"structure"`
10320
10321	// The name of the Elasticsearch domain that you are updating.
10322	//
10323	// DomainName is a required field
10324	DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"`
10325
10326	// Specify the type and size of the EBS volume that you want to use.
10327	EBSOptions *EBSOptions `type:"structure"`
10328
10329	// The type and number of instances to instantiate for the domain cluster.
10330	ElasticsearchClusterConfig *ElasticsearchClusterConfig `type:"structure"`
10331
10332	// Map of LogType and LogPublishingOption, each containing options to publish
10333	// a given type of Elasticsearch log.
10334	LogPublishingOptions map[string]*LogPublishingOption `type:"map"`
10335
10336	// Option to set the time, in UTC format, for the daily automated snapshot.
10337	// Default value is 0 hours.
10338	SnapshotOptions *SnapshotOptions `type:"structure"`
10339
10340	// Options to specify the subnets and security groups for VPC endpoint. For
10341	// more information, see Creating a VPC (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-vpc.html#es-creating-vpc)
10342	// in VPC Endpoints for Amazon Elasticsearch Service Domains
10343	VPCOptions *VPCOptions `type:"structure"`
10344}
10345
10346// String returns the string representation
10347func (s UpdateElasticsearchDomainConfigInput) String() string {
10348	return awsutil.Prettify(s)
10349}
10350
10351// GoString returns the string representation
10352func (s UpdateElasticsearchDomainConfigInput) GoString() string {
10353	return s.String()
10354}
10355
10356// Validate inspects the fields of the type to determine if they are valid.
10357func (s *UpdateElasticsearchDomainConfigInput) Validate() error {
10358	invalidParams := request.ErrInvalidParams{Context: "UpdateElasticsearchDomainConfigInput"}
10359	if s.DomainName == nil {
10360		invalidParams.Add(request.NewErrParamRequired("DomainName"))
10361	}
10362	if s.DomainName != nil && len(*s.DomainName) < 3 {
10363		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
10364	}
10365	if s.AdvancedSecurityOptions != nil {
10366		if err := s.AdvancedSecurityOptions.Validate(); err != nil {
10367			invalidParams.AddNested("AdvancedSecurityOptions", err.(request.ErrInvalidParams))
10368		}
10369	}
10370	if s.CognitoOptions != nil {
10371		if err := s.CognitoOptions.Validate(); err != nil {
10372			invalidParams.AddNested("CognitoOptions", err.(request.ErrInvalidParams))
10373		}
10374	}
10375
10376	if invalidParams.Len() > 0 {
10377		return invalidParams
10378	}
10379	return nil
10380}
10381
10382// SetAccessPolicies sets the AccessPolicies field's value.
10383func (s *UpdateElasticsearchDomainConfigInput) SetAccessPolicies(v string) *UpdateElasticsearchDomainConfigInput {
10384	s.AccessPolicies = &v
10385	return s
10386}
10387
10388// SetAdvancedOptions sets the AdvancedOptions field's value.
10389func (s *UpdateElasticsearchDomainConfigInput) SetAdvancedOptions(v map[string]*string) *UpdateElasticsearchDomainConfigInput {
10390	s.AdvancedOptions = v
10391	return s
10392}
10393
10394// SetAdvancedSecurityOptions sets the AdvancedSecurityOptions field's value.
10395func (s *UpdateElasticsearchDomainConfigInput) SetAdvancedSecurityOptions(v *AdvancedSecurityOptionsInput) *UpdateElasticsearchDomainConfigInput {
10396	s.AdvancedSecurityOptions = v
10397	return s
10398}
10399
10400// SetCognitoOptions sets the CognitoOptions field's value.
10401func (s *UpdateElasticsearchDomainConfigInput) SetCognitoOptions(v *CognitoOptions) *UpdateElasticsearchDomainConfigInput {
10402	s.CognitoOptions = v
10403	return s
10404}
10405
10406// SetDomainEndpointOptions sets the DomainEndpointOptions field's value.
10407func (s *UpdateElasticsearchDomainConfigInput) SetDomainEndpointOptions(v *DomainEndpointOptions) *UpdateElasticsearchDomainConfigInput {
10408	s.DomainEndpointOptions = v
10409	return s
10410}
10411
10412// SetDomainName sets the DomainName field's value.
10413func (s *UpdateElasticsearchDomainConfigInput) SetDomainName(v string) *UpdateElasticsearchDomainConfigInput {
10414	s.DomainName = &v
10415	return s
10416}
10417
10418// SetEBSOptions sets the EBSOptions field's value.
10419func (s *UpdateElasticsearchDomainConfigInput) SetEBSOptions(v *EBSOptions) *UpdateElasticsearchDomainConfigInput {
10420	s.EBSOptions = v
10421	return s
10422}
10423
10424// SetElasticsearchClusterConfig sets the ElasticsearchClusterConfig field's value.
10425func (s *UpdateElasticsearchDomainConfigInput) SetElasticsearchClusterConfig(v *ElasticsearchClusterConfig) *UpdateElasticsearchDomainConfigInput {
10426	s.ElasticsearchClusterConfig = v
10427	return s
10428}
10429
10430// SetLogPublishingOptions sets the LogPublishingOptions field's value.
10431func (s *UpdateElasticsearchDomainConfigInput) SetLogPublishingOptions(v map[string]*LogPublishingOption) *UpdateElasticsearchDomainConfigInput {
10432	s.LogPublishingOptions = v
10433	return s
10434}
10435
10436// SetSnapshotOptions sets the SnapshotOptions field's value.
10437func (s *UpdateElasticsearchDomainConfigInput) SetSnapshotOptions(v *SnapshotOptions) *UpdateElasticsearchDomainConfigInput {
10438	s.SnapshotOptions = v
10439	return s
10440}
10441
10442// SetVPCOptions sets the VPCOptions field's value.
10443func (s *UpdateElasticsearchDomainConfigInput) SetVPCOptions(v *VPCOptions) *UpdateElasticsearchDomainConfigInput {
10444	s.VPCOptions = v
10445	return s
10446}
10447
10448// The result of an UpdateElasticsearchDomain request. Contains the status of
10449// the Elasticsearch domain being updated.
10450type UpdateElasticsearchDomainConfigOutput struct {
10451	_ struct{} `type:"structure"`
10452
10453	// The status of the updated Elasticsearch domain.
10454	//
10455	// DomainConfig is a required field
10456	DomainConfig *ElasticsearchDomainConfig `type:"structure" required:"true"`
10457}
10458
10459// String returns the string representation
10460func (s UpdateElasticsearchDomainConfigOutput) String() string {
10461	return awsutil.Prettify(s)
10462}
10463
10464// GoString returns the string representation
10465func (s UpdateElasticsearchDomainConfigOutput) GoString() string {
10466	return s.String()
10467}
10468
10469// SetDomainConfig sets the DomainConfig field's value.
10470func (s *UpdateElasticsearchDomainConfigOutput) SetDomainConfig(v *ElasticsearchDomainConfig) *UpdateElasticsearchDomainConfigOutput {
10471	s.DomainConfig = v
10472	return s
10473}
10474
10475// Container for request parameters to UpgradeElasticsearchDomain operation.
10476type UpgradeElasticsearchDomainInput struct {
10477	_ struct{} `type:"structure"`
10478
10479	// The name of an Elasticsearch domain. Domain names are unique across the domains
10480	// owned by an account within an AWS region. Domain names start with a letter
10481	// or number and can contain the following characters: a-z (lowercase), 0-9,
10482	// and - (hyphen).
10483	//
10484	// DomainName is a required field
10485	DomainName *string `min:"3" type:"string" required:"true"`
10486
10487	// This flag, when set to True, indicates that an Upgrade Eligibility Check
10488	// needs to be performed. This will not actually perform the Upgrade.
10489	PerformCheckOnly *bool `type:"boolean"`
10490
10491	// The version of Elasticsearch that you intend to upgrade the domain to.
10492	//
10493	// TargetVersion is a required field
10494	TargetVersion *string `type:"string" required:"true"`
10495}
10496
10497// String returns the string representation
10498func (s UpgradeElasticsearchDomainInput) String() string {
10499	return awsutil.Prettify(s)
10500}
10501
10502// GoString returns the string representation
10503func (s UpgradeElasticsearchDomainInput) GoString() string {
10504	return s.String()
10505}
10506
10507// Validate inspects the fields of the type to determine if they are valid.
10508func (s *UpgradeElasticsearchDomainInput) Validate() error {
10509	invalidParams := request.ErrInvalidParams{Context: "UpgradeElasticsearchDomainInput"}
10510	if s.DomainName == nil {
10511		invalidParams.Add(request.NewErrParamRequired("DomainName"))
10512	}
10513	if s.DomainName != nil && len(*s.DomainName) < 3 {
10514		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
10515	}
10516	if s.TargetVersion == nil {
10517		invalidParams.Add(request.NewErrParamRequired("TargetVersion"))
10518	}
10519
10520	if invalidParams.Len() > 0 {
10521		return invalidParams
10522	}
10523	return nil
10524}
10525
10526// SetDomainName sets the DomainName field's value.
10527func (s *UpgradeElasticsearchDomainInput) SetDomainName(v string) *UpgradeElasticsearchDomainInput {
10528	s.DomainName = &v
10529	return s
10530}
10531
10532// SetPerformCheckOnly sets the PerformCheckOnly field's value.
10533func (s *UpgradeElasticsearchDomainInput) SetPerformCheckOnly(v bool) *UpgradeElasticsearchDomainInput {
10534	s.PerformCheckOnly = &v
10535	return s
10536}
10537
10538// SetTargetVersion sets the TargetVersion field's value.
10539func (s *UpgradeElasticsearchDomainInput) SetTargetVersion(v string) *UpgradeElasticsearchDomainInput {
10540	s.TargetVersion = &v
10541	return s
10542}
10543
10544// Container for response returned by UpgradeElasticsearchDomain operation.
10545type UpgradeElasticsearchDomainOutput struct {
10546	_ struct{} `type:"structure"`
10547
10548	// The name of an Elasticsearch domain. Domain names are unique across the domains
10549	// owned by an account within an AWS region. Domain names start with a letter
10550	// or number and can contain the following characters: a-z (lowercase), 0-9,
10551	// and - (hyphen).
10552	DomainName *string `min:"3" type:"string"`
10553
10554	// This flag, when set to True, indicates that an Upgrade Eligibility Check
10555	// needs to be performed. This will not actually perform the Upgrade.
10556	PerformCheckOnly *bool `type:"boolean"`
10557
10558	// The version of Elasticsearch that you intend to upgrade the domain to.
10559	TargetVersion *string `type:"string"`
10560}
10561
10562// String returns the string representation
10563func (s UpgradeElasticsearchDomainOutput) String() string {
10564	return awsutil.Prettify(s)
10565}
10566
10567// GoString returns the string representation
10568func (s UpgradeElasticsearchDomainOutput) GoString() string {
10569	return s.String()
10570}
10571
10572// SetDomainName sets the DomainName field's value.
10573func (s *UpgradeElasticsearchDomainOutput) SetDomainName(v string) *UpgradeElasticsearchDomainOutput {
10574	s.DomainName = &v
10575	return s
10576}
10577
10578// SetPerformCheckOnly sets the PerformCheckOnly field's value.
10579func (s *UpgradeElasticsearchDomainOutput) SetPerformCheckOnly(v bool) *UpgradeElasticsearchDomainOutput {
10580	s.PerformCheckOnly = &v
10581	return s
10582}
10583
10584// SetTargetVersion sets the TargetVersion field's value.
10585func (s *UpgradeElasticsearchDomainOutput) SetTargetVersion(v string) *UpgradeElasticsearchDomainOutput {
10586	s.TargetVersion = &v
10587	return s
10588}
10589
10590// History of the last 10 Upgrades and Upgrade Eligibility Checks.
10591type UpgradeHistory struct {
10592	_ struct{} `type:"structure"`
10593
10594	// UTC Timestamp at which the Upgrade API call was made in "yyyy-MM-ddTHH:mm:ssZ"
10595	// format.
10596	StartTimestamp *time.Time `type:"timestamp"`
10597
10598	// A list of UpgradeStepItem s representing information about each step performed
10599	// as pard of a specific Upgrade or Upgrade Eligibility Check.
10600	StepsList []*UpgradeStepItem `type:"list"`
10601
10602	// A string that describes the update briefly
10603	UpgradeName *string `type:"string"`
10604
10605	// The overall status of the update. The status can take one of the following
10606	// values:
10607	//    * In Progress
10608	//
10609	//    * Succeeded
10610	//
10611	//    * Succeeded with Issues
10612	//
10613	//    * Failed
10614	UpgradeStatus *string `type:"string" enum:"UpgradeStatus"`
10615}
10616
10617// String returns the string representation
10618func (s UpgradeHistory) String() string {
10619	return awsutil.Prettify(s)
10620}
10621
10622// GoString returns the string representation
10623func (s UpgradeHistory) GoString() string {
10624	return s.String()
10625}
10626
10627// SetStartTimestamp sets the StartTimestamp field's value.
10628func (s *UpgradeHistory) SetStartTimestamp(v time.Time) *UpgradeHistory {
10629	s.StartTimestamp = &v
10630	return s
10631}
10632
10633// SetStepsList sets the StepsList field's value.
10634func (s *UpgradeHistory) SetStepsList(v []*UpgradeStepItem) *UpgradeHistory {
10635	s.StepsList = v
10636	return s
10637}
10638
10639// SetUpgradeName sets the UpgradeName field's value.
10640func (s *UpgradeHistory) SetUpgradeName(v string) *UpgradeHistory {
10641	s.UpgradeName = &v
10642	return s
10643}
10644
10645// SetUpgradeStatus sets the UpgradeStatus field's value.
10646func (s *UpgradeHistory) SetUpgradeStatus(v string) *UpgradeHistory {
10647	s.UpgradeStatus = &v
10648	return s
10649}
10650
10651// Represents a single step of the Upgrade or Upgrade Eligibility Check workflow.
10652type UpgradeStepItem struct {
10653	_ struct{} `type:"structure"`
10654
10655	// A list of strings containing detailed information about the errors encountered
10656	// in a particular step.
10657	Issues []*string `type:"list"`
10658
10659	// The Floating point value representing progress percentage of a particular
10660	// step.
10661	ProgressPercent *float64 `type:"double"`
10662
10663	// Represents one of 3 steps that an Upgrade or Upgrade Eligibility Check does
10664	// through:
10665	//    * PreUpgradeCheck
10666	//
10667	//    * Snapshot
10668	//
10669	//    * Upgrade
10670	UpgradeStep *string `type:"string" enum:"UpgradeStep"`
10671
10672	// The status of a particular step during an upgrade. The status can take one
10673	// of the following values:
10674	//    * In Progress
10675	//
10676	//    * Succeeded
10677	//
10678	//    * Succeeded with Issues
10679	//
10680	//    * Failed
10681	UpgradeStepStatus *string `type:"string" enum:"UpgradeStatus"`
10682}
10683
10684// String returns the string representation
10685func (s UpgradeStepItem) String() string {
10686	return awsutil.Prettify(s)
10687}
10688
10689// GoString returns the string representation
10690func (s UpgradeStepItem) GoString() string {
10691	return s.String()
10692}
10693
10694// SetIssues sets the Issues field's value.
10695func (s *UpgradeStepItem) SetIssues(v []*string) *UpgradeStepItem {
10696	s.Issues = v
10697	return s
10698}
10699
10700// SetProgressPercent sets the ProgressPercent field's value.
10701func (s *UpgradeStepItem) SetProgressPercent(v float64) *UpgradeStepItem {
10702	s.ProgressPercent = &v
10703	return s
10704}
10705
10706// SetUpgradeStep sets the UpgradeStep field's value.
10707func (s *UpgradeStepItem) SetUpgradeStep(v string) *UpgradeStepItem {
10708	s.UpgradeStep = &v
10709	return s
10710}
10711
10712// SetUpgradeStepStatus sets the UpgradeStepStatus field's value.
10713func (s *UpgradeStepItem) SetUpgradeStepStatus(v string) *UpgradeStepItem {
10714	s.UpgradeStepStatus = &v
10715	return s
10716}
10717
10718// Options to specify the subnets and security groups for VPC endpoint. For
10719// more information, see VPC Endpoints for Amazon Elasticsearch Service Domains
10720// (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-vpc.html).
10721type VPCDerivedInfo struct {
10722	_ struct{} `type:"structure"`
10723
10724	// The availability zones for the Elasticsearch domain. Exists only if the domain
10725	// was created with VPCOptions.
10726	AvailabilityZones []*string `type:"list"`
10727
10728	// Specifies the security groups for VPC endpoint.
10729	SecurityGroupIds []*string `type:"list"`
10730
10731	// Specifies the subnets for VPC endpoint.
10732	SubnetIds []*string `type:"list"`
10733
10734	// The VPC Id for the Elasticsearch domain. Exists only if the domain was created
10735	// with VPCOptions.
10736	VPCId *string `type:"string"`
10737}
10738
10739// String returns the string representation
10740func (s VPCDerivedInfo) String() string {
10741	return awsutil.Prettify(s)
10742}
10743
10744// GoString returns the string representation
10745func (s VPCDerivedInfo) GoString() string {
10746	return s.String()
10747}
10748
10749// SetAvailabilityZones sets the AvailabilityZones field's value.
10750func (s *VPCDerivedInfo) SetAvailabilityZones(v []*string) *VPCDerivedInfo {
10751	s.AvailabilityZones = v
10752	return s
10753}
10754
10755// SetSecurityGroupIds sets the SecurityGroupIds field's value.
10756func (s *VPCDerivedInfo) SetSecurityGroupIds(v []*string) *VPCDerivedInfo {
10757	s.SecurityGroupIds = v
10758	return s
10759}
10760
10761// SetSubnetIds sets the SubnetIds field's value.
10762func (s *VPCDerivedInfo) SetSubnetIds(v []*string) *VPCDerivedInfo {
10763	s.SubnetIds = v
10764	return s
10765}
10766
10767// SetVPCId sets the VPCId field's value.
10768func (s *VPCDerivedInfo) SetVPCId(v string) *VPCDerivedInfo {
10769	s.VPCId = &v
10770	return s
10771}
10772
10773// Status of the VPC options for the specified Elasticsearch domain.
10774type VPCDerivedInfoStatus struct {
10775	_ struct{} `type:"structure"`
10776
10777	// Specifies the VPC options for the specified Elasticsearch domain.
10778	//
10779	// Options is a required field
10780	Options *VPCDerivedInfo `type:"structure" required:"true"`
10781
10782	// Specifies the status of the VPC options for the specified Elasticsearch domain.
10783	//
10784	// Status is a required field
10785	Status *OptionStatus `type:"structure" required:"true"`
10786}
10787
10788// String returns the string representation
10789func (s VPCDerivedInfoStatus) String() string {
10790	return awsutil.Prettify(s)
10791}
10792
10793// GoString returns the string representation
10794func (s VPCDerivedInfoStatus) GoString() string {
10795	return s.String()
10796}
10797
10798// SetOptions sets the Options field's value.
10799func (s *VPCDerivedInfoStatus) SetOptions(v *VPCDerivedInfo) *VPCDerivedInfoStatus {
10800	s.Options = v
10801	return s
10802}
10803
10804// SetStatus sets the Status field's value.
10805func (s *VPCDerivedInfoStatus) SetStatus(v *OptionStatus) *VPCDerivedInfoStatus {
10806	s.Status = v
10807	return s
10808}
10809
10810// Options to specify the subnets and security groups for VPC endpoint. For
10811// more information, see VPC Endpoints for Amazon Elasticsearch Service Domains
10812// (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-vpc.html).
10813type VPCOptions struct {
10814	_ struct{} `type:"structure"`
10815
10816	// Specifies the security groups for VPC endpoint.
10817	SecurityGroupIds []*string `type:"list"`
10818
10819	// Specifies the subnets for VPC endpoint.
10820	SubnetIds []*string `type:"list"`
10821}
10822
10823// String returns the string representation
10824func (s VPCOptions) String() string {
10825	return awsutil.Prettify(s)
10826}
10827
10828// GoString returns the string representation
10829func (s VPCOptions) GoString() string {
10830	return s.String()
10831}
10832
10833// SetSecurityGroupIds sets the SecurityGroupIds field's value.
10834func (s *VPCOptions) SetSecurityGroupIds(v []*string) *VPCOptions {
10835	s.SecurityGroupIds = v
10836	return s
10837}
10838
10839// SetSubnetIds sets the SubnetIds field's value.
10840func (s *VPCOptions) SetSubnetIds(v []*string) *VPCOptions {
10841	s.SubnetIds = v
10842	return s
10843}
10844
10845// An exception for missing / invalid input fields. Gives http status code of
10846// 400.
10847type ValidationException struct {
10848	_            struct{}                  `type:"structure"`
10849	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10850
10851	Message_ *string `locationName:"message" type:"string"`
10852}
10853
10854// String returns the string representation
10855func (s ValidationException) String() string {
10856	return awsutil.Prettify(s)
10857}
10858
10859// GoString returns the string representation
10860func (s ValidationException) GoString() string {
10861	return s.String()
10862}
10863
10864func newErrorValidationException(v protocol.ResponseMetadata) error {
10865	return &ValidationException{
10866		RespMetadata: v,
10867	}
10868}
10869
10870// Code returns the exception type name.
10871func (s *ValidationException) Code() string {
10872	return "ValidationException"
10873}
10874
10875// Message returns the exception's message.
10876func (s *ValidationException) Message() string {
10877	if s.Message_ != nil {
10878		return *s.Message_
10879	}
10880	return ""
10881}
10882
10883// OrigErr always returns nil, satisfies awserr.Error interface.
10884func (s *ValidationException) OrigErr() error {
10885	return nil
10886}
10887
10888func (s *ValidationException) Error() string {
10889	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
10890}
10891
10892// Status code returns the HTTP status code for the request's response error.
10893func (s *ValidationException) StatusCode() int {
10894	return s.RespMetadata.StatusCode
10895}
10896
10897// RequestID returns the service's response RequestID for request.
10898func (s *ValidationException) RequestID() string {
10899	return s.RespMetadata.RequestID
10900}
10901
10902// Specifies the zone awareness configuration for the domain cluster, such as
10903// the number of availability zones.
10904type ZoneAwarenessConfig struct {
10905	_ struct{} `type:"structure"`
10906
10907	// An integer value to indicate the number of availability zones for a domain
10908	// when zone awareness is enabled. This should be equal to number of subnets
10909	// if VPC endpoints is enabled
10910	AvailabilityZoneCount *int64 `type:"integer"`
10911}
10912
10913// String returns the string representation
10914func (s ZoneAwarenessConfig) String() string {
10915	return awsutil.Prettify(s)
10916}
10917
10918// GoString returns the string representation
10919func (s ZoneAwarenessConfig) GoString() string {
10920	return s.String()
10921}
10922
10923// SetAvailabilityZoneCount sets the AvailabilityZoneCount field's value.
10924func (s *ZoneAwarenessConfig) SetAvailabilityZoneCount(v int64) *ZoneAwarenessConfig {
10925	s.AvailabilityZoneCount = &v
10926	return s
10927}
10928
10929const (
10930	// DeploymentStatusPendingUpdate is a DeploymentStatus enum value
10931	DeploymentStatusPendingUpdate = "PENDING_UPDATE"
10932
10933	// DeploymentStatusInProgress is a DeploymentStatus enum value
10934	DeploymentStatusInProgress = "IN_PROGRESS"
10935
10936	// DeploymentStatusCompleted is a DeploymentStatus enum value
10937	DeploymentStatusCompleted = "COMPLETED"
10938
10939	// DeploymentStatusNotEligible is a DeploymentStatus enum value
10940	DeploymentStatusNotEligible = "NOT_ELIGIBLE"
10941
10942	// DeploymentStatusEligible is a DeploymentStatus enum value
10943	DeploymentStatusEligible = "ELIGIBLE"
10944)
10945
10946const (
10947	// DescribePackagesFilterNamePackageId is a DescribePackagesFilterName enum value
10948	DescribePackagesFilterNamePackageId = "PackageID"
10949
10950	// DescribePackagesFilterNamePackageName is a DescribePackagesFilterName enum value
10951	DescribePackagesFilterNamePackageName = "PackageName"
10952
10953	// DescribePackagesFilterNamePackageStatus is a DescribePackagesFilterName enum value
10954	DescribePackagesFilterNamePackageStatus = "PackageStatus"
10955)
10956
10957const (
10958	// DomainPackageStatusAssociating is a DomainPackageStatus enum value
10959	DomainPackageStatusAssociating = "ASSOCIATING"
10960
10961	// DomainPackageStatusAssociationFailed is a DomainPackageStatus enum value
10962	DomainPackageStatusAssociationFailed = "ASSOCIATION_FAILED"
10963
10964	// DomainPackageStatusActive is a DomainPackageStatus enum value
10965	DomainPackageStatusActive = "ACTIVE"
10966
10967	// DomainPackageStatusDissociating is a DomainPackageStatus enum value
10968	DomainPackageStatusDissociating = "DISSOCIATING"
10969
10970	// DomainPackageStatusDissociationFailed is a DomainPackageStatus enum value
10971	DomainPackageStatusDissociationFailed = "DISSOCIATION_FAILED"
10972)
10973
10974const (
10975	// ESPartitionInstanceTypeM3MediumElasticsearch is a ESPartitionInstanceType enum value
10976	ESPartitionInstanceTypeM3MediumElasticsearch = "m3.medium.elasticsearch"
10977
10978	// ESPartitionInstanceTypeM3LargeElasticsearch is a ESPartitionInstanceType enum value
10979	ESPartitionInstanceTypeM3LargeElasticsearch = "m3.large.elasticsearch"
10980
10981	// ESPartitionInstanceTypeM3XlargeElasticsearch is a ESPartitionInstanceType enum value
10982	ESPartitionInstanceTypeM3XlargeElasticsearch = "m3.xlarge.elasticsearch"
10983
10984	// ESPartitionInstanceTypeM32xlargeElasticsearch is a ESPartitionInstanceType enum value
10985	ESPartitionInstanceTypeM32xlargeElasticsearch = "m3.2xlarge.elasticsearch"
10986
10987	// ESPartitionInstanceTypeM4LargeElasticsearch is a ESPartitionInstanceType enum value
10988	ESPartitionInstanceTypeM4LargeElasticsearch = "m4.large.elasticsearch"
10989
10990	// ESPartitionInstanceTypeM4XlargeElasticsearch is a ESPartitionInstanceType enum value
10991	ESPartitionInstanceTypeM4XlargeElasticsearch = "m4.xlarge.elasticsearch"
10992
10993	// ESPartitionInstanceTypeM42xlargeElasticsearch is a ESPartitionInstanceType enum value
10994	ESPartitionInstanceTypeM42xlargeElasticsearch = "m4.2xlarge.elasticsearch"
10995
10996	// ESPartitionInstanceTypeM44xlargeElasticsearch is a ESPartitionInstanceType enum value
10997	ESPartitionInstanceTypeM44xlargeElasticsearch = "m4.4xlarge.elasticsearch"
10998
10999	// ESPartitionInstanceTypeM410xlargeElasticsearch is a ESPartitionInstanceType enum value
11000	ESPartitionInstanceTypeM410xlargeElasticsearch = "m4.10xlarge.elasticsearch"
11001
11002	// ESPartitionInstanceTypeM5LargeElasticsearch is a ESPartitionInstanceType enum value
11003	ESPartitionInstanceTypeM5LargeElasticsearch = "m5.large.elasticsearch"
11004
11005	// ESPartitionInstanceTypeM5XlargeElasticsearch is a ESPartitionInstanceType enum value
11006	ESPartitionInstanceTypeM5XlargeElasticsearch = "m5.xlarge.elasticsearch"
11007
11008	// ESPartitionInstanceTypeM52xlargeElasticsearch is a ESPartitionInstanceType enum value
11009	ESPartitionInstanceTypeM52xlargeElasticsearch = "m5.2xlarge.elasticsearch"
11010
11011	// ESPartitionInstanceTypeM54xlargeElasticsearch is a ESPartitionInstanceType enum value
11012	ESPartitionInstanceTypeM54xlargeElasticsearch = "m5.4xlarge.elasticsearch"
11013
11014	// ESPartitionInstanceTypeM512xlargeElasticsearch is a ESPartitionInstanceType enum value
11015	ESPartitionInstanceTypeM512xlargeElasticsearch = "m5.12xlarge.elasticsearch"
11016
11017	// ESPartitionInstanceTypeR5LargeElasticsearch is a ESPartitionInstanceType enum value
11018	ESPartitionInstanceTypeR5LargeElasticsearch = "r5.large.elasticsearch"
11019
11020	// ESPartitionInstanceTypeR5XlargeElasticsearch is a ESPartitionInstanceType enum value
11021	ESPartitionInstanceTypeR5XlargeElasticsearch = "r5.xlarge.elasticsearch"
11022
11023	// ESPartitionInstanceTypeR52xlargeElasticsearch is a ESPartitionInstanceType enum value
11024	ESPartitionInstanceTypeR52xlargeElasticsearch = "r5.2xlarge.elasticsearch"
11025
11026	// ESPartitionInstanceTypeR54xlargeElasticsearch is a ESPartitionInstanceType enum value
11027	ESPartitionInstanceTypeR54xlargeElasticsearch = "r5.4xlarge.elasticsearch"
11028
11029	// ESPartitionInstanceTypeR512xlargeElasticsearch is a ESPartitionInstanceType enum value
11030	ESPartitionInstanceTypeR512xlargeElasticsearch = "r5.12xlarge.elasticsearch"
11031
11032	// ESPartitionInstanceTypeC5LargeElasticsearch is a ESPartitionInstanceType enum value
11033	ESPartitionInstanceTypeC5LargeElasticsearch = "c5.large.elasticsearch"
11034
11035	// ESPartitionInstanceTypeC5XlargeElasticsearch is a ESPartitionInstanceType enum value
11036	ESPartitionInstanceTypeC5XlargeElasticsearch = "c5.xlarge.elasticsearch"
11037
11038	// ESPartitionInstanceTypeC52xlargeElasticsearch is a ESPartitionInstanceType enum value
11039	ESPartitionInstanceTypeC52xlargeElasticsearch = "c5.2xlarge.elasticsearch"
11040
11041	// ESPartitionInstanceTypeC54xlargeElasticsearch is a ESPartitionInstanceType enum value
11042	ESPartitionInstanceTypeC54xlargeElasticsearch = "c5.4xlarge.elasticsearch"
11043
11044	// ESPartitionInstanceTypeC59xlargeElasticsearch is a ESPartitionInstanceType enum value
11045	ESPartitionInstanceTypeC59xlargeElasticsearch = "c5.9xlarge.elasticsearch"
11046
11047	// ESPartitionInstanceTypeC518xlargeElasticsearch is a ESPartitionInstanceType enum value
11048	ESPartitionInstanceTypeC518xlargeElasticsearch = "c5.18xlarge.elasticsearch"
11049
11050	// ESPartitionInstanceTypeUltrawarm1MediumElasticsearch is a ESPartitionInstanceType enum value
11051	ESPartitionInstanceTypeUltrawarm1MediumElasticsearch = "ultrawarm1.medium.elasticsearch"
11052
11053	// ESPartitionInstanceTypeUltrawarm1LargeElasticsearch is a ESPartitionInstanceType enum value
11054	ESPartitionInstanceTypeUltrawarm1LargeElasticsearch = "ultrawarm1.large.elasticsearch"
11055
11056	// ESPartitionInstanceTypeT2MicroElasticsearch is a ESPartitionInstanceType enum value
11057	ESPartitionInstanceTypeT2MicroElasticsearch = "t2.micro.elasticsearch"
11058
11059	// ESPartitionInstanceTypeT2SmallElasticsearch is a ESPartitionInstanceType enum value
11060	ESPartitionInstanceTypeT2SmallElasticsearch = "t2.small.elasticsearch"
11061
11062	// ESPartitionInstanceTypeT2MediumElasticsearch is a ESPartitionInstanceType enum value
11063	ESPartitionInstanceTypeT2MediumElasticsearch = "t2.medium.elasticsearch"
11064
11065	// ESPartitionInstanceTypeR3LargeElasticsearch is a ESPartitionInstanceType enum value
11066	ESPartitionInstanceTypeR3LargeElasticsearch = "r3.large.elasticsearch"
11067
11068	// ESPartitionInstanceTypeR3XlargeElasticsearch is a ESPartitionInstanceType enum value
11069	ESPartitionInstanceTypeR3XlargeElasticsearch = "r3.xlarge.elasticsearch"
11070
11071	// ESPartitionInstanceTypeR32xlargeElasticsearch is a ESPartitionInstanceType enum value
11072	ESPartitionInstanceTypeR32xlargeElasticsearch = "r3.2xlarge.elasticsearch"
11073
11074	// ESPartitionInstanceTypeR34xlargeElasticsearch is a ESPartitionInstanceType enum value
11075	ESPartitionInstanceTypeR34xlargeElasticsearch = "r3.4xlarge.elasticsearch"
11076
11077	// ESPartitionInstanceTypeR38xlargeElasticsearch is a ESPartitionInstanceType enum value
11078	ESPartitionInstanceTypeR38xlargeElasticsearch = "r3.8xlarge.elasticsearch"
11079
11080	// ESPartitionInstanceTypeI2XlargeElasticsearch is a ESPartitionInstanceType enum value
11081	ESPartitionInstanceTypeI2XlargeElasticsearch = "i2.xlarge.elasticsearch"
11082
11083	// ESPartitionInstanceTypeI22xlargeElasticsearch is a ESPartitionInstanceType enum value
11084	ESPartitionInstanceTypeI22xlargeElasticsearch = "i2.2xlarge.elasticsearch"
11085
11086	// ESPartitionInstanceTypeD2XlargeElasticsearch is a ESPartitionInstanceType enum value
11087	ESPartitionInstanceTypeD2XlargeElasticsearch = "d2.xlarge.elasticsearch"
11088
11089	// ESPartitionInstanceTypeD22xlargeElasticsearch is a ESPartitionInstanceType enum value
11090	ESPartitionInstanceTypeD22xlargeElasticsearch = "d2.2xlarge.elasticsearch"
11091
11092	// ESPartitionInstanceTypeD24xlargeElasticsearch is a ESPartitionInstanceType enum value
11093	ESPartitionInstanceTypeD24xlargeElasticsearch = "d2.4xlarge.elasticsearch"
11094
11095	// ESPartitionInstanceTypeD28xlargeElasticsearch is a ESPartitionInstanceType enum value
11096	ESPartitionInstanceTypeD28xlargeElasticsearch = "d2.8xlarge.elasticsearch"
11097
11098	// ESPartitionInstanceTypeC4LargeElasticsearch is a ESPartitionInstanceType enum value
11099	ESPartitionInstanceTypeC4LargeElasticsearch = "c4.large.elasticsearch"
11100
11101	// ESPartitionInstanceTypeC4XlargeElasticsearch is a ESPartitionInstanceType enum value
11102	ESPartitionInstanceTypeC4XlargeElasticsearch = "c4.xlarge.elasticsearch"
11103
11104	// ESPartitionInstanceTypeC42xlargeElasticsearch is a ESPartitionInstanceType enum value
11105	ESPartitionInstanceTypeC42xlargeElasticsearch = "c4.2xlarge.elasticsearch"
11106
11107	// ESPartitionInstanceTypeC44xlargeElasticsearch is a ESPartitionInstanceType enum value
11108	ESPartitionInstanceTypeC44xlargeElasticsearch = "c4.4xlarge.elasticsearch"
11109
11110	// ESPartitionInstanceTypeC48xlargeElasticsearch is a ESPartitionInstanceType enum value
11111	ESPartitionInstanceTypeC48xlargeElasticsearch = "c4.8xlarge.elasticsearch"
11112
11113	// ESPartitionInstanceTypeR4LargeElasticsearch is a ESPartitionInstanceType enum value
11114	ESPartitionInstanceTypeR4LargeElasticsearch = "r4.large.elasticsearch"
11115
11116	// ESPartitionInstanceTypeR4XlargeElasticsearch is a ESPartitionInstanceType enum value
11117	ESPartitionInstanceTypeR4XlargeElasticsearch = "r4.xlarge.elasticsearch"
11118
11119	// ESPartitionInstanceTypeR42xlargeElasticsearch is a ESPartitionInstanceType enum value
11120	ESPartitionInstanceTypeR42xlargeElasticsearch = "r4.2xlarge.elasticsearch"
11121
11122	// ESPartitionInstanceTypeR44xlargeElasticsearch is a ESPartitionInstanceType enum value
11123	ESPartitionInstanceTypeR44xlargeElasticsearch = "r4.4xlarge.elasticsearch"
11124
11125	// ESPartitionInstanceTypeR48xlargeElasticsearch is a ESPartitionInstanceType enum value
11126	ESPartitionInstanceTypeR48xlargeElasticsearch = "r4.8xlarge.elasticsearch"
11127
11128	// ESPartitionInstanceTypeR416xlargeElasticsearch is a ESPartitionInstanceType enum value
11129	ESPartitionInstanceTypeR416xlargeElasticsearch = "r4.16xlarge.elasticsearch"
11130
11131	// ESPartitionInstanceTypeI3LargeElasticsearch is a ESPartitionInstanceType enum value
11132	ESPartitionInstanceTypeI3LargeElasticsearch = "i3.large.elasticsearch"
11133
11134	// ESPartitionInstanceTypeI3XlargeElasticsearch is a ESPartitionInstanceType enum value
11135	ESPartitionInstanceTypeI3XlargeElasticsearch = "i3.xlarge.elasticsearch"
11136
11137	// ESPartitionInstanceTypeI32xlargeElasticsearch is a ESPartitionInstanceType enum value
11138	ESPartitionInstanceTypeI32xlargeElasticsearch = "i3.2xlarge.elasticsearch"
11139
11140	// ESPartitionInstanceTypeI34xlargeElasticsearch is a ESPartitionInstanceType enum value
11141	ESPartitionInstanceTypeI34xlargeElasticsearch = "i3.4xlarge.elasticsearch"
11142
11143	// ESPartitionInstanceTypeI38xlargeElasticsearch is a ESPartitionInstanceType enum value
11144	ESPartitionInstanceTypeI38xlargeElasticsearch = "i3.8xlarge.elasticsearch"
11145
11146	// ESPartitionInstanceTypeI316xlargeElasticsearch is a ESPartitionInstanceType enum value
11147	ESPartitionInstanceTypeI316xlargeElasticsearch = "i3.16xlarge.elasticsearch"
11148)
11149
11150const (
11151	// ESWarmPartitionInstanceTypeUltrawarm1MediumElasticsearch is a ESWarmPartitionInstanceType enum value
11152	ESWarmPartitionInstanceTypeUltrawarm1MediumElasticsearch = "ultrawarm1.medium.elasticsearch"
11153
11154	// ESWarmPartitionInstanceTypeUltrawarm1LargeElasticsearch is a ESWarmPartitionInstanceType enum value
11155	ESWarmPartitionInstanceTypeUltrawarm1LargeElasticsearch = "ultrawarm1.large.elasticsearch"
11156)
11157
11158const (
11159	// InboundCrossClusterSearchConnectionStatusCodePendingAcceptance is a InboundCrossClusterSearchConnectionStatusCode enum value
11160	InboundCrossClusterSearchConnectionStatusCodePendingAcceptance = "PENDING_ACCEPTANCE"
11161
11162	// InboundCrossClusterSearchConnectionStatusCodeApproved is a InboundCrossClusterSearchConnectionStatusCode enum value
11163	InboundCrossClusterSearchConnectionStatusCodeApproved = "APPROVED"
11164
11165	// InboundCrossClusterSearchConnectionStatusCodeRejecting is a InboundCrossClusterSearchConnectionStatusCode enum value
11166	InboundCrossClusterSearchConnectionStatusCodeRejecting = "REJECTING"
11167
11168	// InboundCrossClusterSearchConnectionStatusCodeRejected is a InboundCrossClusterSearchConnectionStatusCode enum value
11169	InboundCrossClusterSearchConnectionStatusCodeRejected = "REJECTED"
11170
11171	// InboundCrossClusterSearchConnectionStatusCodeDeleting is a InboundCrossClusterSearchConnectionStatusCode enum value
11172	InboundCrossClusterSearchConnectionStatusCodeDeleting = "DELETING"
11173
11174	// InboundCrossClusterSearchConnectionStatusCodeDeleted is a InboundCrossClusterSearchConnectionStatusCode enum value
11175	InboundCrossClusterSearchConnectionStatusCodeDeleted = "DELETED"
11176)
11177
11178// Type of Log File, it can be one of the following:
11179//    * INDEX_SLOW_LOGS: Index slow logs contain insert requests that took more
11180//    time than configured index query log threshold to execute.
11181//
11182//    * SEARCH_SLOW_LOGS: Search slow logs contain search queries that took
11183//    more time than configured search query log threshold to execute.
11184//
11185//    * ES_APPLICATION_LOGS: Elasticsearch application logs contain information
11186//    about errors and warnings raised during the operation of the service and
11187//    can be useful for troubleshooting.
11188const (
11189	// LogTypeIndexSlowLogs is a LogType enum value
11190	LogTypeIndexSlowLogs = "INDEX_SLOW_LOGS"
11191
11192	// LogTypeSearchSlowLogs is a LogType enum value
11193	LogTypeSearchSlowLogs = "SEARCH_SLOW_LOGS"
11194
11195	// LogTypeEsApplicationLogs is a LogType enum value
11196	LogTypeEsApplicationLogs = "ES_APPLICATION_LOGS"
11197)
11198
11199// The state of a requested change. One of the following:
11200//
11201//    * Processing: The request change is still in-process.
11202//
11203//    * Active: The request change is processed and deployed to the Elasticsearch
11204//    domain.
11205const (
11206	// OptionStateRequiresIndexDocuments is a OptionState enum value
11207	OptionStateRequiresIndexDocuments = "RequiresIndexDocuments"
11208
11209	// OptionStateProcessing is a OptionState enum value
11210	OptionStateProcessing = "Processing"
11211
11212	// OptionStateActive is a OptionState enum value
11213	OptionStateActive = "Active"
11214)
11215
11216const (
11217	// OutboundCrossClusterSearchConnectionStatusCodePendingAcceptance is a OutboundCrossClusterSearchConnectionStatusCode enum value
11218	OutboundCrossClusterSearchConnectionStatusCodePendingAcceptance = "PENDING_ACCEPTANCE"
11219
11220	// OutboundCrossClusterSearchConnectionStatusCodeValidating is a OutboundCrossClusterSearchConnectionStatusCode enum value
11221	OutboundCrossClusterSearchConnectionStatusCodeValidating = "VALIDATING"
11222
11223	// OutboundCrossClusterSearchConnectionStatusCodeValidationFailed is a OutboundCrossClusterSearchConnectionStatusCode enum value
11224	OutboundCrossClusterSearchConnectionStatusCodeValidationFailed = "VALIDATION_FAILED"
11225
11226	// OutboundCrossClusterSearchConnectionStatusCodeProvisioning is a OutboundCrossClusterSearchConnectionStatusCode enum value
11227	OutboundCrossClusterSearchConnectionStatusCodeProvisioning = "PROVISIONING"
11228
11229	// OutboundCrossClusterSearchConnectionStatusCodeActive is a OutboundCrossClusterSearchConnectionStatusCode enum value
11230	OutboundCrossClusterSearchConnectionStatusCodeActive = "ACTIVE"
11231
11232	// OutboundCrossClusterSearchConnectionStatusCodeRejected is a OutboundCrossClusterSearchConnectionStatusCode enum value
11233	OutboundCrossClusterSearchConnectionStatusCodeRejected = "REJECTED"
11234
11235	// OutboundCrossClusterSearchConnectionStatusCodeDeleting is a OutboundCrossClusterSearchConnectionStatusCode enum value
11236	OutboundCrossClusterSearchConnectionStatusCodeDeleting = "DELETING"
11237
11238	// OutboundCrossClusterSearchConnectionStatusCodeDeleted is a OutboundCrossClusterSearchConnectionStatusCode enum value
11239	OutboundCrossClusterSearchConnectionStatusCodeDeleted = "DELETED"
11240)
11241
11242const (
11243	// PackageStatusCopying is a PackageStatus enum value
11244	PackageStatusCopying = "COPYING"
11245
11246	// PackageStatusCopyFailed is a PackageStatus enum value
11247	PackageStatusCopyFailed = "COPY_FAILED"
11248
11249	// PackageStatusValidating is a PackageStatus enum value
11250	PackageStatusValidating = "VALIDATING"
11251
11252	// PackageStatusValidationFailed is a PackageStatus enum value
11253	PackageStatusValidationFailed = "VALIDATION_FAILED"
11254
11255	// PackageStatusAvailable is a PackageStatus enum value
11256	PackageStatusAvailable = "AVAILABLE"
11257
11258	// PackageStatusDeleting is a PackageStatus enum value
11259	PackageStatusDeleting = "DELETING"
11260
11261	// PackageStatusDeleted is a PackageStatus enum value
11262	PackageStatusDeleted = "DELETED"
11263
11264	// PackageStatusDeleteFailed is a PackageStatus enum value
11265	PackageStatusDeleteFailed = "DELETE_FAILED"
11266)
11267
11268const (
11269	// PackageTypeTxtDictionary is a PackageType enum value
11270	PackageTypeTxtDictionary = "TXT-DICTIONARY"
11271)
11272
11273const (
11274	// ReservedElasticsearchInstancePaymentOptionAllUpfront is a ReservedElasticsearchInstancePaymentOption enum value
11275	ReservedElasticsearchInstancePaymentOptionAllUpfront = "ALL_UPFRONT"
11276
11277	// ReservedElasticsearchInstancePaymentOptionPartialUpfront is a ReservedElasticsearchInstancePaymentOption enum value
11278	ReservedElasticsearchInstancePaymentOptionPartialUpfront = "PARTIAL_UPFRONT"
11279
11280	// ReservedElasticsearchInstancePaymentOptionNoUpfront is a ReservedElasticsearchInstancePaymentOption enum value
11281	ReservedElasticsearchInstancePaymentOptionNoUpfront = "NO_UPFRONT"
11282)
11283
11284const (
11285	// TLSSecurityPolicyPolicyMinTls10201907 is a TLSSecurityPolicy enum value
11286	TLSSecurityPolicyPolicyMinTls10201907 = "Policy-Min-TLS-1-0-2019-07"
11287
11288	// TLSSecurityPolicyPolicyMinTls12201907 is a TLSSecurityPolicy enum value
11289	TLSSecurityPolicyPolicyMinTls12201907 = "Policy-Min-TLS-1-2-2019-07"
11290)
11291
11292const (
11293	// UpgradeStatusInProgress is a UpgradeStatus enum value
11294	UpgradeStatusInProgress = "IN_PROGRESS"
11295
11296	// UpgradeStatusSucceeded is a UpgradeStatus enum value
11297	UpgradeStatusSucceeded = "SUCCEEDED"
11298
11299	// UpgradeStatusSucceededWithIssues is a UpgradeStatus enum value
11300	UpgradeStatusSucceededWithIssues = "SUCCEEDED_WITH_ISSUES"
11301
11302	// UpgradeStatusFailed is a UpgradeStatus enum value
11303	UpgradeStatusFailed = "FAILED"
11304)
11305
11306const (
11307	// UpgradeStepPreUpgradeCheck is a UpgradeStep enum value
11308	UpgradeStepPreUpgradeCheck = "PRE_UPGRADE_CHECK"
11309
11310	// UpgradeStepSnapshot is a UpgradeStep enum value
11311	UpgradeStepSnapshot = "SNAPSHOT"
11312
11313	// UpgradeStepUpgrade is a UpgradeStep enum value
11314	UpgradeStepUpgrade = "UPGRADE"
11315)
11316
11317// The type of EBS volume, standard, gp2, or io1. See Configuring EBS-based
11318// Storage (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomain-configure-ebs)for
11319// more information.
11320const (
11321	// VolumeTypeStandard is a VolumeType enum value
11322	VolumeTypeStandard = "standard"
11323
11324	// VolumeTypeGp2 is a VolumeType enum value
11325	VolumeTypeGp2 = "gp2"
11326
11327	// VolumeTypeIo1 is a VolumeType enum value
11328	VolumeTypeIo1 = "io1"
11329)
11330