1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package cloudsearch
4
5import (
6	"time"
7
8	"github.com/aws/aws-sdk-go/aws"
9	"github.com/aws/aws-sdk-go/aws/awsutil"
10	"github.com/aws/aws-sdk-go/aws/request"
11)
12
13const opBuildSuggesters = "BuildSuggesters"
14
15// BuildSuggestersRequest generates a "aws/request.Request" representing the
16// client's request for the BuildSuggesters operation. The "output" return
17// value will be populated with the request's response once the request completes
18// successfully.
19//
20// Use "Send" method on the returned Request to send the API call to the service.
21// the "output" return value is not valid until after Send returns without error.
22//
23// See BuildSuggesters for more information on using the BuildSuggesters
24// API call, and error handling.
25//
26// This method is useful when you want to inject custom logic or configuration
27// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28//
29//
30//    // Example sending a request using the BuildSuggestersRequest method.
31//    req, resp := client.BuildSuggestersRequest(params)
32//
33//    err := req.Send()
34//    if err == nil { // resp is now filled
35//        fmt.Println(resp)
36//    }
37func (c *CloudSearch) BuildSuggestersRequest(input *BuildSuggestersInput) (req *request.Request, output *BuildSuggestersOutput) {
38	op := &request.Operation{
39		Name:       opBuildSuggesters,
40		HTTPMethod: "POST",
41		HTTPPath:   "/",
42	}
43
44	if input == nil {
45		input = &BuildSuggestersInput{}
46	}
47
48	output = &BuildSuggestersOutput{}
49	req = c.newRequest(op, input, output)
50	return
51}
52
53// BuildSuggesters API operation for Amazon CloudSearch.
54//
55// Indexes the search suggestions. For more information, see Configuring Suggesters
56// (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/getting-suggestions.html#configuring-suggesters)
57// in the Amazon CloudSearch Developer Guide.
58//
59// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
60// with awserr.Error's Code and Message methods to get detailed information about
61// the error.
62//
63// See the AWS API reference guide for Amazon CloudSearch's
64// API operation BuildSuggesters for usage and error information.
65//
66// Returned Error Codes:
67//   * ErrCodeBaseException "BaseException"
68//   An error occurred while processing the request.
69//
70//   * ErrCodeInternalException "InternalException"
71//   An internal error occurred while processing the request. If this problem
72//   persists, report an issue from the Service Health Dashboard (http://status.aws.amazon.com/).
73//
74//   * ErrCodeResourceNotFoundException "ResourceNotFound"
75//   The request was rejected because it attempted to reference a resource that
76//   does not exist.
77//
78//   * ErrCodeValidationException "ValidationException"
79//   The request was rejected because it has invalid parameters.
80//
81func (c *CloudSearch) BuildSuggesters(input *BuildSuggestersInput) (*BuildSuggestersOutput, error) {
82	req, out := c.BuildSuggestersRequest(input)
83	return out, req.Send()
84}
85
86// BuildSuggestersWithContext is the same as BuildSuggesters with the addition of
87// the ability to pass a context and additional request options.
88//
89// See BuildSuggesters 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 *CloudSearch) BuildSuggestersWithContext(ctx aws.Context, input *BuildSuggestersInput, opts ...request.Option) (*BuildSuggestersOutput, error) {
96	req, out := c.BuildSuggestersRequest(input)
97	req.SetContext(ctx)
98	req.ApplyOptions(opts...)
99	return out, req.Send()
100}
101
102const opCreateDomain = "CreateDomain"
103
104// CreateDomainRequest generates a "aws/request.Request" representing the
105// client's request for the CreateDomain 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 CreateDomain for more information on using the CreateDomain
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 CreateDomainRequest method.
120//    req, resp := client.CreateDomainRequest(params)
121//
122//    err := req.Send()
123//    if err == nil { // resp is now filled
124//        fmt.Println(resp)
125//    }
126func (c *CloudSearch) CreateDomainRequest(input *CreateDomainInput) (req *request.Request, output *CreateDomainOutput) {
127	op := &request.Operation{
128		Name:       opCreateDomain,
129		HTTPMethod: "POST",
130		HTTPPath:   "/",
131	}
132
133	if input == nil {
134		input = &CreateDomainInput{}
135	}
136
137	output = &CreateDomainOutput{}
138	req = c.newRequest(op, input, output)
139	return
140}
141
142// CreateDomain API operation for Amazon CloudSearch.
143//
144// Creates a new search domain. For more information, see Creating a Search
145// Domain (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/creating-domains.html)
146// in the Amazon CloudSearch Developer Guide.
147//
148// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
149// with awserr.Error's Code and Message methods to get detailed information about
150// the error.
151//
152// See the AWS API reference guide for Amazon CloudSearch's
153// API operation CreateDomain for usage and error information.
154//
155// Returned Error Codes:
156//   * ErrCodeBaseException "BaseException"
157//   An error occurred while processing the request.
158//
159//   * ErrCodeInternalException "InternalException"
160//   An internal error occurred while processing the request. If this problem
161//   persists, report an issue from the Service Health Dashboard (http://status.aws.amazon.com/).
162//
163//   * ErrCodeLimitExceededException "LimitExceeded"
164//   The request was rejected because a resource limit has already been met.
165//
166//   * ErrCodeResourceAlreadyExistsException "ResourceAlreadyExists"
167//   The request was rejected because it attempted to create a resource that already
168//   exists.
169//
170//   * ErrCodeValidationException "ValidationException"
171//   The request was rejected because it has invalid parameters.
172//
173func (c *CloudSearch) CreateDomain(input *CreateDomainInput) (*CreateDomainOutput, error) {
174	req, out := c.CreateDomainRequest(input)
175	return out, req.Send()
176}
177
178// CreateDomainWithContext is the same as CreateDomain with the addition of
179// the ability to pass a context and additional request options.
180//
181// See CreateDomain 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 *CloudSearch) CreateDomainWithContext(ctx aws.Context, input *CreateDomainInput, opts ...request.Option) (*CreateDomainOutput, error) {
188	req, out := c.CreateDomainRequest(input)
189	req.SetContext(ctx)
190	req.ApplyOptions(opts...)
191	return out, req.Send()
192}
193
194const opDefineAnalysisScheme = "DefineAnalysisScheme"
195
196// DefineAnalysisSchemeRequest generates a "aws/request.Request" representing the
197// client's request for the DefineAnalysisScheme 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 DefineAnalysisScheme for more information on using the DefineAnalysisScheme
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 DefineAnalysisSchemeRequest method.
212//    req, resp := client.DefineAnalysisSchemeRequest(params)
213//
214//    err := req.Send()
215//    if err == nil { // resp is now filled
216//        fmt.Println(resp)
217//    }
218func (c *CloudSearch) DefineAnalysisSchemeRequest(input *DefineAnalysisSchemeInput) (req *request.Request, output *DefineAnalysisSchemeOutput) {
219	op := &request.Operation{
220		Name:       opDefineAnalysisScheme,
221		HTTPMethod: "POST",
222		HTTPPath:   "/",
223	}
224
225	if input == nil {
226		input = &DefineAnalysisSchemeInput{}
227	}
228
229	output = &DefineAnalysisSchemeOutput{}
230	req = c.newRequest(op, input, output)
231	return
232}
233
234// DefineAnalysisScheme API operation for Amazon CloudSearch.
235//
236// Configures an analysis scheme that can be applied to a text or text-array
237// field to define language-specific text processing options. For more information,
238// see Configuring Analysis Schemes (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-analysis-schemes.html)
239// in the Amazon CloudSearch Developer Guide.
240//
241// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
242// with awserr.Error's Code and Message methods to get detailed information about
243// the error.
244//
245// See the AWS API reference guide for Amazon CloudSearch's
246// API operation DefineAnalysisScheme for usage and error information.
247//
248// Returned Error Codes:
249//   * ErrCodeBaseException "BaseException"
250//   An error occurred while processing the request.
251//
252//   * ErrCodeInternalException "InternalException"
253//   An internal error occurred while processing the request. If this problem
254//   persists, report an issue from the Service Health Dashboard (http://status.aws.amazon.com/).
255//
256//   * ErrCodeLimitExceededException "LimitExceeded"
257//   The request was rejected because a resource limit has already been met.
258//
259//   * ErrCodeInvalidTypeException "InvalidType"
260//   The request was rejected because it specified an invalid type definition.
261//
262//   * ErrCodeResourceNotFoundException "ResourceNotFound"
263//   The request was rejected because it attempted to reference a resource that
264//   does not exist.
265//
266//   * ErrCodeValidationException "ValidationException"
267//   The request was rejected because it has invalid parameters.
268//
269func (c *CloudSearch) DefineAnalysisScheme(input *DefineAnalysisSchemeInput) (*DefineAnalysisSchemeOutput, error) {
270	req, out := c.DefineAnalysisSchemeRequest(input)
271	return out, req.Send()
272}
273
274// DefineAnalysisSchemeWithContext is the same as DefineAnalysisScheme with the addition of
275// the ability to pass a context and additional request options.
276//
277// See DefineAnalysisScheme for details on how to use this API operation.
278//
279// The context must be non-nil and will be used for request cancellation. If
280// the context is nil a panic will occur. In the future the SDK may create
281// sub-contexts for http.Requests. See https://golang.org/pkg/context/
282// for more information on using Contexts.
283func (c *CloudSearch) DefineAnalysisSchemeWithContext(ctx aws.Context, input *DefineAnalysisSchemeInput, opts ...request.Option) (*DefineAnalysisSchemeOutput, error) {
284	req, out := c.DefineAnalysisSchemeRequest(input)
285	req.SetContext(ctx)
286	req.ApplyOptions(opts...)
287	return out, req.Send()
288}
289
290const opDefineExpression = "DefineExpression"
291
292// DefineExpressionRequest generates a "aws/request.Request" representing the
293// client's request for the DefineExpression operation. The "output" return
294// value will be populated with the request's response once the request completes
295// successfully.
296//
297// Use "Send" method on the returned Request to send the API call to the service.
298// the "output" return value is not valid until after Send returns without error.
299//
300// See DefineExpression for more information on using the DefineExpression
301// API call, and error handling.
302//
303// This method is useful when you want to inject custom logic or configuration
304// into the SDK's request lifecycle. Such as custom headers, or retry logic.
305//
306//
307//    // Example sending a request using the DefineExpressionRequest method.
308//    req, resp := client.DefineExpressionRequest(params)
309//
310//    err := req.Send()
311//    if err == nil { // resp is now filled
312//        fmt.Println(resp)
313//    }
314func (c *CloudSearch) DefineExpressionRequest(input *DefineExpressionInput) (req *request.Request, output *DefineExpressionOutput) {
315	op := &request.Operation{
316		Name:       opDefineExpression,
317		HTTPMethod: "POST",
318		HTTPPath:   "/",
319	}
320
321	if input == nil {
322		input = &DefineExpressionInput{}
323	}
324
325	output = &DefineExpressionOutput{}
326	req = c.newRequest(op, input, output)
327	return
328}
329
330// DefineExpression API operation for Amazon CloudSearch.
331//
332// Configures an Expression for the search domain. Used to create new expressions
333// and modify existing ones. If the expression exists, the new configuration
334// replaces the old one. For more information, see Configuring Expressions (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-expressions.html)
335// in the Amazon CloudSearch Developer Guide.
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 CloudSearch's
342// API operation DefineExpression for usage and error information.
343//
344// Returned Error Codes:
345//   * ErrCodeBaseException "BaseException"
346//   An error occurred while processing the request.
347//
348//   * ErrCodeInternalException "InternalException"
349//   An internal error occurred while processing the request. If this problem
350//   persists, report an issue from the Service Health Dashboard (http://status.aws.amazon.com/).
351//
352//   * ErrCodeLimitExceededException "LimitExceeded"
353//   The request was rejected because a resource limit has already been met.
354//
355//   * ErrCodeInvalidTypeException "InvalidType"
356//   The request was rejected because it specified an invalid type definition.
357//
358//   * ErrCodeResourceNotFoundException "ResourceNotFound"
359//   The request was rejected because it attempted to reference a resource that
360//   does not exist.
361//
362//   * ErrCodeValidationException "ValidationException"
363//   The request was rejected because it has invalid parameters.
364//
365func (c *CloudSearch) DefineExpression(input *DefineExpressionInput) (*DefineExpressionOutput, error) {
366	req, out := c.DefineExpressionRequest(input)
367	return out, req.Send()
368}
369
370// DefineExpressionWithContext is the same as DefineExpression with the addition of
371// the ability to pass a context and additional request options.
372//
373// See DefineExpression for details on how to use this API operation.
374//
375// The context must be non-nil and will be used for request cancellation. If
376// the context is nil a panic will occur. In the future the SDK may create
377// sub-contexts for http.Requests. See https://golang.org/pkg/context/
378// for more information on using Contexts.
379func (c *CloudSearch) DefineExpressionWithContext(ctx aws.Context, input *DefineExpressionInput, opts ...request.Option) (*DefineExpressionOutput, error) {
380	req, out := c.DefineExpressionRequest(input)
381	req.SetContext(ctx)
382	req.ApplyOptions(opts...)
383	return out, req.Send()
384}
385
386const opDefineIndexField = "DefineIndexField"
387
388// DefineIndexFieldRequest generates a "aws/request.Request" representing the
389// client's request for the DefineIndexField operation. The "output" return
390// value will be populated with the request's response once the request completes
391// successfully.
392//
393// Use "Send" method on the returned Request to send the API call to the service.
394// the "output" return value is not valid until after Send returns without error.
395//
396// See DefineIndexField for more information on using the DefineIndexField
397// API call, and error handling.
398//
399// This method is useful when you want to inject custom logic or configuration
400// into the SDK's request lifecycle. Such as custom headers, or retry logic.
401//
402//
403//    // Example sending a request using the DefineIndexFieldRequest method.
404//    req, resp := client.DefineIndexFieldRequest(params)
405//
406//    err := req.Send()
407//    if err == nil { // resp is now filled
408//        fmt.Println(resp)
409//    }
410func (c *CloudSearch) DefineIndexFieldRequest(input *DefineIndexFieldInput) (req *request.Request, output *DefineIndexFieldOutput) {
411	op := &request.Operation{
412		Name:       opDefineIndexField,
413		HTTPMethod: "POST",
414		HTTPPath:   "/",
415	}
416
417	if input == nil {
418		input = &DefineIndexFieldInput{}
419	}
420
421	output = &DefineIndexFieldOutput{}
422	req = c.newRequest(op, input, output)
423	return
424}
425
426// DefineIndexField API operation for Amazon CloudSearch.
427//
428// Configures an IndexField for the search domain. Used to create new fields
429// and modify existing ones. You must specify the name of the domain you are
430// configuring and an index field configuration. The index field configuration
431// specifies a unique name, the index field type, and the options you want to
432// configure for the field. The options you can specify depend on the IndexFieldType.
433// If the field exists, the new configuration replaces the old one. For more
434// information, see Configuring Index Fields (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-index-fields.html)
435// in the Amazon CloudSearch Developer Guide.
436//
437// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
438// with awserr.Error's Code and Message methods to get detailed information about
439// the error.
440//
441// See the AWS API reference guide for Amazon CloudSearch's
442// API operation DefineIndexField for usage and error information.
443//
444// Returned Error Codes:
445//   * ErrCodeBaseException "BaseException"
446//   An error occurred while processing the request.
447//
448//   * ErrCodeInternalException "InternalException"
449//   An internal error occurred while processing the request. If this problem
450//   persists, report an issue from the Service Health Dashboard (http://status.aws.amazon.com/).
451//
452//   * ErrCodeLimitExceededException "LimitExceeded"
453//   The request was rejected because a resource limit has already been met.
454//
455//   * ErrCodeInvalidTypeException "InvalidType"
456//   The request was rejected because it specified an invalid type definition.
457//
458//   * ErrCodeResourceNotFoundException "ResourceNotFound"
459//   The request was rejected because it attempted to reference a resource that
460//   does not exist.
461//
462//   * ErrCodeValidationException "ValidationException"
463//   The request was rejected because it has invalid parameters.
464//
465func (c *CloudSearch) DefineIndexField(input *DefineIndexFieldInput) (*DefineIndexFieldOutput, error) {
466	req, out := c.DefineIndexFieldRequest(input)
467	return out, req.Send()
468}
469
470// DefineIndexFieldWithContext is the same as DefineIndexField with the addition of
471// the ability to pass a context and additional request options.
472//
473// See DefineIndexField for details on how to use this API operation.
474//
475// The context must be non-nil and will be used for request cancellation. If
476// the context is nil a panic will occur. In the future the SDK may create
477// sub-contexts for http.Requests. See https://golang.org/pkg/context/
478// for more information on using Contexts.
479func (c *CloudSearch) DefineIndexFieldWithContext(ctx aws.Context, input *DefineIndexFieldInput, opts ...request.Option) (*DefineIndexFieldOutput, error) {
480	req, out := c.DefineIndexFieldRequest(input)
481	req.SetContext(ctx)
482	req.ApplyOptions(opts...)
483	return out, req.Send()
484}
485
486const opDefineSuggester = "DefineSuggester"
487
488// DefineSuggesterRequest generates a "aws/request.Request" representing the
489// client's request for the DefineSuggester operation. The "output" return
490// value will be populated with the request's response once the request completes
491// successfully.
492//
493// Use "Send" method on the returned Request to send the API call to the service.
494// the "output" return value is not valid until after Send returns without error.
495//
496// See DefineSuggester for more information on using the DefineSuggester
497// API call, and error handling.
498//
499// This method is useful when you want to inject custom logic or configuration
500// into the SDK's request lifecycle. Such as custom headers, or retry logic.
501//
502//
503//    // Example sending a request using the DefineSuggesterRequest method.
504//    req, resp := client.DefineSuggesterRequest(params)
505//
506//    err := req.Send()
507//    if err == nil { // resp is now filled
508//        fmt.Println(resp)
509//    }
510func (c *CloudSearch) DefineSuggesterRequest(input *DefineSuggesterInput) (req *request.Request, output *DefineSuggesterOutput) {
511	op := &request.Operation{
512		Name:       opDefineSuggester,
513		HTTPMethod: "POST",
514		HTTPPath:   "/",
515	}
516
517	if input == nil {
518		input = &DefineSuggesterInput{}
519	}
520
521	output = &DefineSuggesterOutput{}
522	req = c.newRequest(op, input, output)
523	return
524}
525
526// DefineSuggester API operation for Amazon CloudSearch.
527//
528// Configures a suggester for a domain. A suggester enables you to display possible
529// matches before users finish typing their queries. When you configure a suggester,
530// you must specify the name of the text field you want to search for possible
531// matches and a unique name for the suggester. For more information, see Getting
532// Search Suggestions (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/getting-suggestions.html)
533// in the Amazon CloudSearch Developer Guide.
534//
535// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
536// with awserr.Error's Code and Message methods to get detailed information about
537// the error.
538//
539// See the AWS API reference guide for Amazon CloudSearch's
540// API operation DefineSuggester for usage and error information.
541//
542// Returned Error Codes:
543//   * ErrCodeBaseException "BaseException"
544//   An error occurred while processing the request.
545//
546//   * ErrCodeInternalException "InternalException"
547//   An internal error occurred while processing the request. If this problem
548//   persists, report an issue from the Service Health Dashboard (http://status.aws.amazon.com/).
549//
550//   * ErrCodeLimitExceededException "LimitExceeded"
551//   The request was rejected because a resource limit has already been met.
552//
553//   * ErrCodeInvalidTypeException "InvalidType"
554//   The request was rejected because it specified an invalid type definition.
555//
556//   * ErrCodeResourceNotFoundException "ResourceNotFound"
557//   The request was rejected because it attempted to reference a resource that
558//   does not exist.
559//
560//   * ErrCodeValidationException "ValidationException"
561//   The request was rejected because it has invalid parameters.
562//
563func (c *CloudSearch) DefineSuggester(input *DefineSuggesterInput) (*DefineSuggesterOutput, error) {
564	req, out := c.DefineSuggesterRequest(input)
565	return out, req.Send()
566}
567
568// DefineSuggesterWithContext is the same as DefineSuggester with the addition of
569// the ability to pass a context and additional request options.
570//
571// See DefineSuggester for details on how to use this API operation.
572//
573// The context must be non-nil and will be used for request cancellation. If
574// the context is nil a panic will occur. In the future the SDK may create
575// sub-contexts for http.Requests. See https://golang.org/pkg/context/
576// for more information on using Contexts.
577func (c *CloudSearch) DefineSuggesterWithContext(ctx aws.Context, input *DefineSuggesterInput, opts ...request.Option) (*DefineSuggesterOutput, error) {
578	req, out := c.DefineSuggesterRequest(input)
579	req.SetContext(ctx)
580	req.ApplyOptions(opts...)
581	return out, req.Send()
582}
583
584const opDeleteAnalysisScheme = "DeleteAnalysisScheme"
585
586// DeleteAnalysisSchemeRequest generates a "aws/request.Request" representing the
587// client's request for the DeleteAnalysisScheme operation. The "output" return
588// value will be populated with the request's response once the request completes
589// successfully.
590//
591// Use "Send" method on the returned Request to send the API call to the service.
592// the "output" return value is not valid until after Send returns without error.
593//
594// See DeleteAnalysisScheme for more information on using the DeleteAnalysisScheme
595// API call, and error handling.
596//
597// This method is useful when you want to inject custom logic or configuration
598// into the SDK's request lifecycle. Such as custom headers, or retry logic.
599//
600//
601//    // Example sending a request using the DeleteAnalysisSchemeRequest method.
602//    req, resp := client.DeleteAnalysisSchemeRequest(params)
603//
604//    err := req.Send()
605//    if err == nil { // resp is now filled
606//        fmt.Println(resp)
607//    }
608func (c *CloudSearch) DeleteAnalysisSchemeRequest(input *DeleteAnalysisSchemeInput) (req *request.Request, output *DeleteAnalysisSchemeOutput) {
609	op := &request.Operation{
610		Name:       opDeleteAnalysisScheme,
611		HTTPMethod: "POST",
612		HTTPPath:   "/",
613	}
614
615	if input == nil {
616		input = &DeleteAnalysisSchemeInput{}
617	}
618
619	output = &DeleteAnalysisSchemeOutput{}
620	req = c.newRequest(op, input, output)
621	return
622}
623
624// DeleteAnalysisScheme API operation for Amazon CloudSearch.
625//
626// Deletes an analysis scheme. For more information, see Configuring Analysis
627// Schemes (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-analysis-schemes.html)
628// in the Amazon CloudSearch Developer Guide.
629//
630// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
631// with awserr.Error's Code and Message methods to get detailed information about
632// the error.
633//
634// See the AWS API reference guide for Amazon CloudSearch's
635// API operation DeleteAnalysisScheme for usage and error information.
636//
637// Returned Error Codes:
638//   * ErrCodeBaseException "BaseException"
639//   An error occurred while processing the request.
640//
641//   * ErrCodeInternalException "InternalException"
642//   An internal error occurred while processing the request. If this problem
643//   persists, report an issue from the Service Health Dashboard (http://status.aws.amazon.com/).
644//
645//   * ErrCodeInvalidTypeException "InvalidType"
646//   The request was rejected because it specified an invalid type definition.
647//
648//   * ErrCodeResourceNotFoundException "ResourceNotFound"
649//   The request was rejected because it attempted to reference a resource that
650//   does not exist.
651//
652//   * ErrCodeValidationException "ValidationException"
653//   The request was rejected because it has invalid parameters.
654//
655func (c *CloudSearch) DeleteAnalysisScheme(input *DeleteAnalysisSchemeInput) (*DeleteAnalysisSchemeOutput, error) {
656	req, out := c.DeleteAnalysisSchemeRequest(input)
657	return out, req.Send()
658}
659
660// DeleteAnalysisSchemeWithContext is the same as DeleteAnalysisScheme with the addition of
661// the ability to pass a context and additional request options.
662//
663// See DeleteAnalysisScheme for details on how to use this API operation.
664//
665// The context must be non-nil and will be used for request cancellation. If
666// the context is nil a panic will occur. In the future the SDK may create
667// sub-contexts for http.Requests. See https://golang.org/pkg/context/
668// for more information on using Contexts.
669func (c *CloudSearch) DeleteAnalysisSchemeWithContext(ctx aws.Context, input *DeleteAnalysisSchemeInput, opts ...request.Option) (*DeleteAnalysisSchemeOutput, error) {
670	req, out := c.DeleteAnalysisSchemeRequest(input)
671	req.SetContext(ctx)
672	req.ApplyOptions(opts...)
673	return out, req.Send()
674}
675
676const opDeleteDomain = "DeleteDomain"
677
678// DeleteDomainRequest generates a "aws/request.Request" representing the
679// client's request for the DeleteDomain operation. The "output" return
680// value will be populated with the request's response once the request completes
681// successfully.
682//
683// Use "Send" method on the returned Request to send the API call to the service.
684// the "output" return value is not valid until after Send returns without error.
685//
686// See DeleteDomain for more information on using the DeleteDomain
687// API call, and error handling.
688//
689// This method is useful when you want to inject custom logic or configuration
690// into the SDK's request lifecycle. Such as custom headers, or retry logic.
691//
692//
693//    // Example sending a request using the DeleteDomainRequest method.
694//    req, resp := client.DeleteDomainRequest(params)
695//
696//    err := req.Send()
697//    if err == nil { // resp is now filled
698//        fmt.Println(resp)
699//    }
700func (c *CloudSearch) DeleteDomainRequest(input *DeleteDomainInput) (req *request.Request, output *DeleteDomainOutput) {
701	op := &request.Operation{
702		Name:       opDeleteDomain,
703		HTTPMethod: "POST",
704		HTTPPath:   "/",
705	}
706
707	if input == nil {
708		input = &DeleteDomainInput{}
709	}
710
711	output = &DeleteDomainOutput{}
712	req = c.newRequest(op, input, output)
713	return
714}
715
716// DeleteDomain API operation for Amazon CloudSearch.
717//
718// Permanently deletes a search domain and all of its data. Once a domain has
719// been deleted, it cannot be recovered. For more information, see Deleting
720// a Search Domain (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/deleting-domains.html)
721// in the Amazon CloudSearch Developer Guide.
722//
723// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
724// with awserr.Error's Code and Message methods to get detailed information about
725// the error.
726//
727// See the AWS API reference guide for Amazon CloudSearch's
728// API operation DeleteDomain for usage and error information.
729//
730// Returned Error Codes:
731//   * ErrCodeBaseException "BaseException"
732//   An error occurred while processing the request.
733//
734//   * ErrCodeInternalException "InternalException"
735//   An internal error occurred while processing the request. If this problem
736//   persists, report an issue from the Service Health Dashboard (http://status.aws.amazon.com/).
737//
738func (c *CloudSearch) DeleteDomain(input *DeleteDomainInput) (*DeleteDomainOutput, error) {
739	req, out := c.DeleteDomainRequest(input)
740	return out, req.Send()
741}
742
743// DeleteDomainWithContext is the same as DeleteDomain with the addition of
744// the ability to pass a context and additional request options.
745//
746// See DeleteDomain for details on how to use this API operation.
747//
748// The context must be non-nil and will be used for request cancellation. If
749// the context is nil a panic will occur. In the future the SDK may create
750// sub-contexts for http.Requests. See https://golang.org/pkg/context/
751// for more information on using Contexts.
752func (c *CloudSearch) DeleteDomainWithContext(ctx aws.Context, input *DeleteDomainInput, opts ...request.Option) (*DeleteDomainOutput, error) {
753	req, out := c.DeleteDomainRequest(input)
754	req.SetContext(ctx)
755	req.ApplyOptions(opts...)
756	return out, req.Send()
757}
758
759const opDeleteExpression = "DeleteExpression"
760
761// DeleteExpressionRequest generates a "aws/request.Request" representing the
762// client's request for the DeleteExpression operation. The "output" return
763// value will be populated with the request's response once the request completes
764// successfully.
765//
766// Use "Send" method on the returned Request to send the API call to the service.
767// the "output" return value is not valid until after Send returns without error.
768//
769// See DeleteExpression for more information on using the DeleteExpression
770// API call, and error handling.
771//
772// This method is useful when you want to inject custom logic or configuration
773// into the SDK's request lifecycle. Such as custom headers, or retry logic.
774//
775//
776//    // Example sending a request using the DeleteExpressionRequest method.
777//    req, resp := client.DeleteExpressionRequest(params)
778//
779//    err := req.Send()
780//    if err == nil { // resp is now filled
781//        fmt.Println(resp)
782//    }
783func (c *CloudSearch) DeleteExpressionRequest(input *DeleteExpressionInput) (req *request.Request, output *DeleteExpressionOutput) {
784	op := &request.Operation{
785		Name:       opDeleteExpression,
786		HTTPMethod: "POST",
787		HTTPPath:   "/",
788	}
789
790	if input == nil {
791		input = &DeleteExpressionInput{}
792	}
793
794	output = &DeleteExpressionOutput{}
795	req = c.newRequest(op, input, output)
796	return
797}
798
799// DeleteExpression API operation for Amazon CloudSearch.
800//
801// Removes an Expression from the search domain. For more information, see Configuring
802// Expressions (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-expressions.html)
803// in the Amazon CloudSearch Developer Guide.
804//
805// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
806// with awserr.Error's Code and Message methods to get detailed information about
807// the error.
808//
809// See the AWS API reference guide for Amazon CloudSearch's
810// API operation DeleteExpression for usage and error information.
811//
812// Returned Error Codes:
813//   * ErrCodeBaseException "BaseException"
814//   An error occurred while processing the request.
815//
816//   * ErrCodeInternalException "InternalException"
817//   An internal error occurred while processing the request. If this problem
818//   persists, report an issue from the Service Health Dashboard (http://status.aws.amazon.com/).
819//
820//   * ErrCodeInvalidTypeException "InvalidType"
821//   The request was rejected because it specified an invalid type definition.
822//
823//   * ErrCodeResourceNotFoundException "ResourceNotFound"
824//   The request was rejected because it attempted to reference a resource that
825//   does not exist.
826//
827//   * ErrCodeValidationException "ValidationException"
828//   The request was rejected because it has invalid parameters.
829//
830func (c *CloudSearch) DeleteExpression(input *DeleteExpressionInput) (*DeleteExpressionOutput, error) {
831	req, out := c.DeleteExpressionRequest(input)
832	return out, req.Send()
833}
834
835// DeleteExpressionWithContext is the same as DeleteExpression with the addition of
836// the ability to pass a context and additional request options.
837//
838// See DeleteExpression for details on how to use this API operation.
839//
840// The context must be non-nil and will be used for request cancellation. If
841// the context is nil a panic will occur. In the future the SDK may create
842// sub-contexts for http.Requests. See https://golang.org/pkg/context/
843// for more information on using Contexts.
844func (c *CloudSearch) DeleteExpressionWithContext(ctx aws.Context, input *DeleteExpressionInput, opts ...request.Option) (*DeleteExpressionOutput, error) {
845	req, out := c.DeleteExpressionRequest(input)
846	req.SetContext(ctx)
847	req.ApplyOptions(opts...)
848	return out, req.Send()
849}
850
851const opDeleteIndexField = "DeleteIndexField"
852
853// DeleteIndexFieldRequest generates a "aws/request.Request" representing the
854// client's request for the DeleteIndexField operation. The "output" return
855// value will be populated with the request's response once the request completes
856// successfully.
857//
858// Use "Send" method on the returned Request to send the API call to the service.
859// the "output" return value is not valid until after Send returns without error.
860//
861// See DeleteIndexField for more information on using the DeleteIndexField
862// API call, and error handling.
863//
864// This method is useful when you want to inject custom logic or configuration
865// into the SDK's request lifecycle. Such as custom headers, or retry logic.
866//
867//
868//    // Example sending a request using the DeleteIndexFieldRequest method.
869//    req, resp := client.DeleteIndexFieldRequest(params)
870//
871//    err := req.Send()
872//    if err == nil { // resp is now filled
873//        fmt.Println(resp)
874//    }
875func (c *CloudSearch) DeleteIndexFieldRequest(input *DeleteIndexFieldInput) (req *request.Request, output *DeleteIndexFieldOutput) {
876	op := &request.Operation{
877		Name:       opDeleteIndexField,
878		HTTPMethod: "POST",
879		HTTPPath:   "/",
880	}
881
882	if input == nil {
883		input = &DeleteIndexFieldInput{}
884	}
885
886	output = &DeleteIndexFieldOutput{}
887	req = c.newRequest(op, input, output)
888	return
889}
890
891// DeleteIndexField API operation for Amazon CloudSearch.
892//
893// Removes an IndexField from the search domain. For more information, see Configuring
894// Index Fields (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-index-fields.html)
895// in the Amazon CloudSearch Developer Guide.
896//
897// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
898// with awserr.Error's Code and Message methods to get detailed information about
899// the error.
900//
901// See the AWS API reference guide for Amazon CloudSearch's
902// API operation DeleteIndexField for usage and error information.
903//
904// Returned Error Codes:
905//   * ErrCodeBaseException "BaseException"
906//   An error occurred while processing the request.
907//
908//   * ErrCodeInternalException "InternalException"
909//   An internal error occurred while processing the request. If this problem
910//   persists, report an issue from the Service Health Dashboard (http://status.aws.amazon.com/).
911//
912//   * ErrCodeInvalidTypeException "InvalidType"
913//   The request was rejected because it specified an invalid type definition.
914//
915//   * ErrCodeResourceNotFoundException "ResourceNotFound"
916//   The request was rejected because it attempted to reference a resource that
917//   does not exist.
918//
919//   * ErrCodeValidationException "ValidationException"
920//   The request was rejected because it has invalid parameters.
921//
922func (c *CloudSearch) DeleteIndexField(input *DeleteIndexFieldInput) (*DeleteIndexFieldOutput, error) {
923	req, out := c.DeleteIndexFieldRequest(input)
924	return out, req.Send()
925}
926
927// DeleteIndexFieldWithContext is the same as DeleteIndexField with the addition of
928// the ability to pass a context and additional request options.
929//
930// See DeleteIndexField for details on how to use this API operation.
931//
932// The context must be non-nil and will be used for request cancellation. If
933// the context is nil a panic will occur. In the future the SDK may create
934// sub-contexts for http.Requests. See https://golang.org/pkg/context/
935// for more information on using Contexts.
936func (c *CloudSearch) DeleteIndexFieldWithContext(ctx aws.Context, input *DeleteIndexFieldInput, opts ...request.Option) (*DeleteIndexFieldOutput, error) {
937	req, out := c.DeleteIndexFieldRequest(input)
938	req.SetContext(ctx)
939	req.ApplyOptions(opts...)
940	return out, req.Send()
941}
942
943const opDeleteSuggester = "DeleteSuggester"
944
945// DeleteSuggesterRequest generates a "aws/request.Request" representing the
946// client's request for the DeleteSuggester operation. The "output" return
947// value will be populated with the request's response once the request completes
948// successfully.
949//
950// Use "Send" method on the returned Request to send the API call to the service.
951// the "output" return value is not valid until after Send returns without error.
952//
953// See DeleteSuggester for more information on using the DeleteSuggester
954// API call, and error handling.
955//
956// This method is useful when you want to inject custom logic or configuration
957// into the SDK's request lifecycle. Such as custom headers, or retry logic.
958//
959//
960//    // Example sending a request using the DeleteSuggesterRequest method.
961//    req, resp := client.DeleteSuggesterRequest(params)
962//
963//    err := req.Send()
964//    if err == nil { // resp is now filled
965//        fmt.Println(resp)
966//    }
967func (c *CloudSearch) DeleteSuggesterRequest(input *DeleteSuggesterInput) (req *request.Request, output *DeleteSuggesterOutput) {
968	op := &request.Operation{
969		Name:       opDeleteSuggester,
970		HTTPMethod: "POST",
971		HTTPPath:   "/",
972	}
973
974	if input == nil {
975		input = &DeleteSuggesterInput{}
976	}
977
978	output = &DeleteSuggesterOutput{}
979	req = c.newRequest(op, input, output)
980	return
981}
982
983// DeleteSuggester API operation for Amazon CloudSearch.
984//
985// Deletes a suggester. For more information, see Getting Search Suggestions
986// (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/getting-suggestions.html)
987// in the Amazon CloudSearch Developer Guide.
988//
989// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
990// with awserr.Error's Code and Message methods to get detailed information about
991// the error.
992//
993// See the AWS API reference guide for Amazon CloudSearch's
994// API operation DeleteSuggester for usage and error information.
995//
996// Returned Error Codes:
997//   * ErrCodeBaseException "BaseException"
998//   An error occurred while processing the request.
999//
1000//   * ErrCodeInternalException "InternalException"
1001//   An internal error occurred while processing the request. If this problem
1002//   persists, report an issue from the Service Health Dashboard (http://status.aws.amazon.com/).
1003//
1004//   * ErrCodeInvalidTypeException "InvalidType"
1005//   The request was rejected because it specified an invalid type definition.
1006//
1007//   * ErrCodeResourceNotFoundException "ResourceNotFound"
1008//   The request was rejected because it attempted to reference a resource that
1009//   does not exist.
1010//
1011//   * ErrCodeValidationException "ValidationException"
1012//   The request was rejected because it has invalid parameters.
1013//
1014func (c *CloudSearch) DeleteSuggester(input *DeleteSuggesterInput) (*DeleteSuggesterOutput, error) {
1015	req, out := c.DeleteSuggesterRequest(input)
1016	return out, req.Send()
1017}
1018
1019// DeleteSuggesterWithContext is the same as DeleteSuggester with the addition of
1020// the ability to pass a context and additional request options.
1021//
1022// See DeleteSuggester for details on how to use this API operation.
1023//
1024// The context must be non-nil and will be used for request cancellation. If
1025// the context is nil a panic will occur. In the future the SDK may create
1026// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1027// for more information on using Contexts.
1028func (c *CloudSearch) DeleteSuggesterWithContext(ctx aws.Context, input *DeleteSuggesterInput, opts ...request.Option) (*DeleteSuggesterOutput, error) {
1029	req, out := c.DeleteSuggesterRequest(input)
1030	req.SetContext(ctx)
1031	req.ApplyOptions(opts...)
1032	return out, req.Send()
1033}
1034
1035const opDescribeAnalysisSchemes = "DescribeAnalysisSchemes"
1036
1037// DescribeAnalysisSchemesRequest generates a "aws/request.Request" representing the
1038// client's request for the DescribeAnalysisSchemes operation. The "output" return
1039// value will be populated with the request's response once the request completes
1040// successfully.
1041//
1042// Use "Send" method on the returned Request to send the API call to the service.
1043// the "output" return value is not valid until after Send returns without error.
1044//
1045// See DescribeAnalysisSchemes for more information on using the DescribeAnalysisSchemes
1046// API call, and error handling.
1047//
1048// This method is useful when you want to inject custom logic or configuration
1049// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1050//
1051//
1052//    // Example sending a request using the DescribeAnalysisSchemesRequest method.
1053//    req, resp := client.DescribeAnalysisSchemesRequest(params)
1054//
1055//    err := req.Send()
1056//    if err == nil { // resp is now filled
1057//        fmt.Println(resp)
1058//    }
1059func (c *CloudSearch) DescribeAnalysisSchemesRequest(input *DescribeAnalysisSchemesInput) (req *request.Request, output *DescribeAnalysisSchemesOutput) {
1060	op := &request.Operation{
1061		Name:       opDescribeAnalysisSchemes,
1062		HTTPMethod: "POST",
1063		HTTPPath:   "/",
1064	}
1065
1066	if input == nil {
1067		input = &DescribeAnalysisSchemesInput{}
1068	}
1069
1070	output = &DescribeAnalysisSchemesOutput{}
1071	req = c.newRequest(op, input, output)
1072	return
1073}
1074
1075// DescribeAnalysisSchemes API operation for Amazon CloudSearch.
1076//
1077// Gets the analysis schemes configured for a domain. An analysis scheme defines
1078// language-specific text processing options for a text field. Can be limited
1079// to specific analysis schemes by name. By default, shows all analysis schemes
1080// and includes any pending changes to the configuration. Set the Deployed option
1081// to true to show the active configuration and exclude pending changes. For
1082// more information, see Configuring Analysis Schemes (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-analysis-schemes.html)
1083// in the Amazon CloudSearch Developer Guide.
1084//
1085// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1086// with awserr.Error's Code and Message methods to get detailed information about
1087// the error.
1088//
1089// See the AWS API reference guide for Amazon CloudSearch's
1090// API operation DescribeAnalysisSchemes for usage and error information.
1091//
1092// Returned Error Codes:
1093//   * ErrCodeBaseException "BaseException"
1094//   An error occurred while processing the request.
1095//
1096//   * ErrCodeInternalException "InternalException"
1097//   An internal error occurred while processing the request. If this problem
1098//   persists, report an issue from the Service Health Dashboard (http://status.aws.amazon.com/).
1099//
1100//   * ErrCodeResourceNotFoundException "ResourceNotFound"
1101//   The request was rejected because it attempted to reference a resource that
1102//   does not exist.
1103//
1104func (c *CloudSearch) DescribeAnalysisSchemes(input *DescribeAnalysisSchemesInput) (*DescribeAnalysisSchemesOutput, error) {
1105	req, out := c.DescribeAnalysisSchemesRequest(input)
1106	return out, req.Send()
1107}
1108
1109// DescribeAnalysisSchemesWithContext is the same as DescribeAnalysisSchemes with the addition of
1110// the ability to pass a context and additional request options.
1111//
1112// See DescribeAnalysisSchemes for details on how to use this API operation.
1113//
1114// The context must be non-nil and will be used for request cancellation. If
1115// the context is nil a panic will occur. In the future the SDK may create
1116// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1117// for more information on using Contexts.
1118func (c *CloudSearch) DescribeAnalysisSchemesWithContext(ctx aws.Context, input *DescribeAnalysisSchemesInput, opts ...request.Option) (*DescribeAnalysisSchemesOutput, error) {
1119	req, out := c.DescribeAnalysisSchemesRequest(input)
1120	req.SetContext(ctx)
1121	req.ApplyOptions(opts...)
1122	return out, req.Send()
1123}
1124
1125const opDescribeAvailabilityOptions = "DescribeAvailabilityOptions"
1126
1127// DescribeAvailabilityOptionsRequest generates a "aws/request.Request" representing the
1128// client's request for the DescribeAvailabilityOptions operation. The "output" return
1129// value will be populated with the request's response once the request completes
1130// successfully.
1131//
1132// Use "Send" method on the returned Request to send the API call to the service.
1133// the "output" return value is not valid until after Send returns without error.
1134//
1135// See DescribeAvailabilityOptions for more information on using the DescribeAvailabilityOptions
1136// API call, and error handling.
1137//
1138// This method is useful when you want to inject custom logic or configuration
1139// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1140//
1141//
1142//    // Example sending a request using the DescribeAvailabilityOptionsRequest method.
1143//    req, resp := client.DescribeAvailabilityOptionsRequest(params)
1144//
1145//    err := req.Send()
1146//    if err == nil { // resp is now filled
1147//        fmt.Println(resp)
1148//    }
1149func (c *CloudSearch) DescribeAvailabilityOptionsRequest(input *DescribeAvailabilityOptionsInput) (req *request.Request, output *DescribeAvailabilityOptionsOutput) {
1150	op := &request.Operation{
1151		Name:       opDescribeAvailabilityOptions,
1152		HTTPMethod: "POST",
1153		HTTPPath:   "/",
1154	}
1155
1156	if input == nil {
1157		input = &DescribeAvailabilityOptionsInput{}
1158	}
1159
1160	output = &DescribeAvailabilityOptionsOutput{}
1161	req = c.newRequest(op, input, output)
1162	return
1163}
1164
1165// DescribeAvailabilityOptions API operation for Amazon CloudSearch.
1166//
1167// Gets the availability options configured for a domain. By default, shows
1168// the configuration with any pending changes. Set the Deployed option to true
1169// to show the active configuration and exclude pending changes. For more information,
1170// see Configuring Availability Options (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-availability-options.html)
1171// in the Amazon CloudSearch Developer Guide.
1172//
1173// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1174// with awserr.Error's Code and Message methods to get detailed information about
1175// the error.
1176//
1177// See the AWS API reference guide for Amazon CloudSearch's
1178// API operation DescribeAvailabilityOptions for usage and error information.
1179//
1180// Returned Error Codes:
1181//   * ErrCodeBaseException "BaseException"
1182//   An error occurred while processing the request.
1183//
1184//   * ErrCodeInternalException "InternalException"
1185//   An internal error occurred while processing the request. If this problem
1186//   persists, report an issue from the Service Health Dashboard (http://status.aws.amazon.com/).
1187//
1188//   * ErrCodeInvalidTypeException "InvalidType"
1189//   The request was rejected because it specified an invalid type definition.
1190//
1191//   * ErrCodeLimitExceededException "LimitExceeded"
1192//   The request was rejected because a resource limit has already been met.
1193//
1194//   * ErrCodeResourceNotFoundException "ResourceNotFound"
1195//   The request was rejected because it attempted to reference a resource that
1196//   does not exist.
1197//
1198//   * ErrCodeDisabledOperationException "DisabledAction"
1199//   The request was rejected because it attempted an operation which is not enabled.
1200//
1201func (c *CloudSearch) DescribeAvailabilityOptions(input *DescribeAvailabilityOptionsInput) (*DescribeAvailabilityOptionsOutput, error) {
1202	req, out := c.DescribeAvailabilityOptionsRequest(input)
1203	return out, req.Send()
1204}
1205
1206// DescribeAvailabilityOptionsWithContext is the same as DescribeAvailabilityOptions with the addition of
1207// the ability to pass a context and additional request options.
1208//
1209// See DescribeAvailabilityOptions for details on how to use this API operation.
1210//
1211// The context must be non-nil and will be used for request cancellation. If
1212// the context is nil a panic will occur. In the future the SDK may create
1213// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1214// for more information on using Contexts.
1215func (c *CloudSearch) DescribeAvailabilityOptionsWithContext(ctx aws.Context, input *DescribeAvailabilityOptionsInput, opts ...request.Option) (*DescribeAvailabilityOptionsOutput, error) {
1216	req, out := c.DescribeAvailabilityOptionsRequest(input)
1217	req.SetContext(ctx)
1218	req.ApplyOptions(opts...)
1219	return out, req.Send()
1220}
1221
1222const opDescribeDomainEndpointOptions = "DescribeDomainEndpointOptions"
1223
1224// DescribeDomainEndpointOptionsRequest generates a "aws/request.Request" representing the
1225// client's request for the DescribeDomainEndpointOptions operation. The "output" return
1226// value will be populated with the request's response once the request completes
1227// successfully.
1228//
1229// Use "Send" method on the returned Request to send the API call to the service.
1230// the "output" return value is not valid until after Send returns without error.
1231//
1232// See DescribeDomainEndpointOptions for more information on using the DescribeDomainEndpointOptions
1233// API call, and error handling.
1234//
1235// This method is useful when you want to inject custom logic or configuration
1236// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1237//
1238//
1239//    // Example sending a request using the DescribeDomainEndpointOptionsRequest method.
1240//    req, resp := client.DescribeDomainEndpointOptionsRequest(params)
1241//
1242//    err := req.Send()
1243//    if err == nil { // resp is now filled
1244//        fmt.Println(resp)
1245//    }
1246func (c *CloudSearch) DescribeDomainEndpointOptionsRequest(input *DescribeDomainEndpointOptionsInput) (req *request.Request, output *DescribeDomainEndpointOptionsOutput) {
1247	op := &request.Operation{
1248		Name:       opDescribeDomainEndpointOptions,
1249		HTTPMethod: "POST",
1250		HTTPPath:   "/",
1251	}
1252
1253	if input == nil {
1254		input = &DescribeDomainEndpointOptionsInput{}
1255	}
1256
1257	output = &DescribeDomainEndpointOptionsOutput{}
1258	req = c.newRequest(op, input, output)
1259	return
1260}
1261
1262// DescribeDomainEndpointOptions API operation for Amazon CloudSearch.
1263//
1264// Returns the domain's endpoint options, specifically whether all requests
1265// to the domain must arrive over HTTPS. For more information, see Configuring
1266// Domain Endpoint Options (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-domain-endpoint-options.html)
1267// in the Amazon CloudSearch Developer Guide.
1268//
1269// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1270// with awserr.Error's Code and Message methods to get detailed information about
1271// the error.
1272//
1273// See the AWS API reference guide for Amazon CloudSearch's
1274// API operation DescribeDomainEndpointOptions for usage and error information.
1275//
1276// Returned Error Codes:
1277//   * ErrCodeBaseException "BaseException"
1278//   An error occurred while processing the request.
1279//
1280//   * ErrCodeInternalException "InternalException"
1281//   An internal error occurred while processing the request. If this problem
1282//   persists, report an issue from the Service Health Dashboard (http://status.aws.amazon.com/).
1283//
1284//   * ErrCodeLimitExceededException "LimitExceeded"
1285//   The request was rejected because a resource limit has already been met.
1286//
1287//   * ErrCodeResourceNotFoundException "ResourceNotFound"
1288//   The request was rejected because it attempted to reference a resource that
1289//   does not exist.
1290//
1291//   * ErrCodeDisabledOperationException "DisabledAction"
1292//   The request was rejected because it attempted an operation which is not enabled.
1293//
1294func (c *CloudSearch) DescribeDomainEndpointOptions(input *DescribeDomainEndpointOptionsInput) (*DescribeDomainEndpointOptionsOutput, error) {
1295	req, out := c.DescribeDomainEndpointOptionsRequest(input)
1296	return out, req.Send()
1297}
1298
1299// DescribeDomainEndpointOptionsWithContext is the same as DescribeDomainEndpointOptions with the addition of
1300// the ability to pass a context and additional request options.
1301//
1302// See DescribeDomainEndpointOptions for details on how to use this API operation.
1303//
1304// The context must be non-nil and will be used for request cancellation. If
1305// the context is nil a panic will occur. In the future the SDK may create
1306// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1307// for more information on using Contexts.
1308func (c *CloudSearch) DescribeDomainEndpointOptionsWithContext(ctx aws.Context, input *DescribeDomainEndpointOptionsInput, opts ...request.Option) (*DescribeDomainEndpointOptionsOutput, error) {
1309	req, out := c.DescribeDomainEndpointOptionsRequest(input)
1310	req.SetContext(ctx)
1311	req.ApplyOptions(opts...)
1312	return out, req.Send()
1313}
1314
1315const opDescribeDomains = "DescribeDomains"
1316
1317// DescribeDomainsRequest generates a "aws/request.Request" representing the
1318// client's request for the DescribeDomains operation. The "output" return
1319// value will be populated with the request's response once the request completes
1320// successfully.
1321//
1322// Use "Send" method on the returned Request to send the API call to the service.
1323// the "output" return value is not valid until after Send returns without error.
1324//
1325// See DescribeDomains for more information on using the DescribeDomains
1326// API call, and error handling.
1327//
1328// This method is useful when you want to inject custom logic or configuration
1329// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1330//
1331//
1332//    // Example sending a request using the DescribeDomainsRequest method.
1333//    req, resp := client.DescribeDomainsRequest(params)
1334//
1335//    err := req.Send()
1336//    if err == nil { // resp is now filled
1337//        fmt.Println(resp)
1338//    }
1339func (c *CloudSearch) DescribeDomainsRequest(input *DescribeDomainsInput) (req *request.Request, output *DescribeDomainsOutput) {
1340	op := &request.Operation{
1341		Name:       opDescribeDomains,
1342		HTTPMethod: "POST",
1343		HTTPPath:   "/",
1344	}
1345
1346	if input == nil {
1347		input = &DescribeDomainsInput{}
1348	}
1349
1350	output = &DescribeDomainsOutput{}
1351	req = c.newRequest(op, input, output)
1352	return
1353}
1354
1355// DescribeDomains API operation for Amazon CloudSearch.
1356//
1357// Gets information about the search domains owned by this account. Can be limited
1358// to specific domains. Shows all domains by default. To get the number of searchable
1359// documents in a domain, use the console or submit a matchall request to your
1360// domain's search endpoint: q=matchall&q.parser=structured&size=0.
1361// For more information, see Getting Information about a Search Domain (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/getting-domain-info.html)
1362// in the Amazon CloudSearch Developer Guide.
1363//
1364// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1365// with awserr.Error's Code and Message methods to get detailed information about
1366// the error.
1367//
1368// See the AWS API reference guide for Amazon CloudSearch's
1369// API operation DescribeDomains for usage and error information.
1370//
1371// Returned Error Codes:
1372//   * ErrCodeBaseException "BaseException"
1373//   An error occurred while processing the request.
1374//
1375//   * ErrCodeInternalException "InternalException"
1376//   An internal error occurred while processing the request. If this problem
1377//   persists, report an issue from the Service Health Dashboard (http://status.aws.amazon.com/).
1378//
1379func (c *CloudSearch) DescribeDomains(input *DescribeDomainsInput) (*DescribeDomainsOutput, error) {
1380	req, out := c.DescribeDomainsRequest(input)
1381	return out, req.Send()
1382}
1383
1384// DescribeDomainsWithContext is the same as DescribeDomains with the addition of
1385// the ability to pass a context and additional request options.
1386//
1387// See DescribeDomains for details on how to use this API operation.
1388//
1389// The context must be non-nil and will be used for request cancellation. If
1390// the context is nil a panic will occur. In the future the SDK may create
1391// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1392// for more information on using Contexts.
1393func (c *CloudSearch) DescribeDomainsWithContext(ctx aws.Context, input *DescribeDomainsInput, opts ...request.Option) (*DescribeDomainsOutput, error) {
1394	req, out := c.DescribeDomainsRequest(input)
1395	req.SetContext(ctx)
1396	req.ApplyOptions(opts...)
1397	return out, req.Send()
1398}
1399
1400const opDescribeExpressions = "DescribeExpressions"
1401
1402// DescribeExpressionsRequest generates a "aws/request.Request" representing the
1403// client's request for the DescribeExpressions operation. The "output" return
1404// value will be populated with the request's response once the request completes
1405// successfully.
1406//
1407// Use "Send" method on the returned Request to send the API call to the service.
1408// the "output" return value is not valid until after Send returns without error.
1409//
1410// See DescribeExpressions for more information on using the DescribeExpressions
1411// API call, and error handling.
1412//
1413// This method is useful when you want to inject custom logic or configuration
1414// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1415//
1416//
1417//    // Example sending a request using the DescribeExpressionsRequest method.
1418//    req, resp := client.DescribeExpressionsRequest(params)
1419//
1420//    err := req.Send()
1421//    if err == nil { // resp is now filled
1422//        fmt.Println(resp)
1423//    }
1424func (c *CloudSearch) DescribeExpressionsRequest(input *DescribeExpressionsInput) (req *request.Request, output *DescribeExpressionsOutput) {
1425	op := &request.Operation{
1426		Name:       opDescribeExpressions,
1427		HTTPMethod: "POST",
1428		HTTPPath:   "/",
1429	}
1430
1431	if input == nil {
1432		input = &DescribeExpressionsInput{}
1433	}
1434
1435	output = &DescribeExpressionsOutput{}
1436	req = c.newRequest(op, input, output)
1437	return
1438}
1439
1440// DescribeExpressions API operation for Amazon CloudSearch.
1441//
1442// Gets the expressions configured for the search domain. Can be limited to
1443// specific expressions by name. By default, shows all expressions and includes
1444// any pending changes to the configuration. Set the Deployed option to true
1445// to show the active configuration and exclude pending changes. For more information,
1446// see Configuring Expressions (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-expressions.html)
1447// in the Amazon CloudSearch Developer Guide.
1448//
1449// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1450// with awserr.Error's Code and Message methods to get detailed information about
1451// the error.
1452//
1453// See the AWS API reference guide for Amazon CloudSearch's
1454// API operation DescribeExpressions for usage and error information.
1455//
1456// Returned Error Codes:
1457//   * ErrCodeBaseException "BaseException"
1458//   An error occurred while processing the request.
1459//
1460//   * ErrCodeInternalException "InternalException"
1461//   An internal error occurred while processing the request. If this problem
1462//   persists, report an issue from the Service Health Dashboard (http://status.aws.amazon.com/).
1463//
1464//   * ErrCodeResourceNotFoundException "ResourceNotFound"
1465//   The request was rejected because it attempted to reference a resource that
1466//   does not exist.
1467//
1468func (c *CloudSearch) DescribeExpressions(input *DescribeExpressionsInput) (*DescribeExpressionsOutput, error) {
1469	req, out := c.DescribeExpressionsRequest(input)
1470	return out, req.Send()
1471}
1472
1473// DescribeExpressionsWithContext is the same as DescribeExpressions with the addition of
1474// the ability to pass a context and additional request options.
1475//
1476// See DescribeExpressions for details on how to use this API operation.
1477//
1478// The context must be non-nil and will be used for request cancellation. If
1479// the context is nil a panic will occur. In the future the SDK may create
1480// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1481// for more information on using Contexts.
1482func (c *CloudSearch) DescribeExpressionsWithContext(ctx aws.Context, input *DescribeExpressionsInput, opts ...request.Option) (*DescribeExpressionsOutput, error) {
1483	req, out := c.DescribeExpressionsRequest(input)
1484	req.SetContext(ctx)
1485	req.ApplyOptions(opts...)
1486	return out, req.Send()
1487}
1488
1489const opDescribeIndexFields = "DescribeIndexFields"
1490
1491// DescribeIndexFieldsRequest generates a "aws/request.Request" representing the
1492// client's request for the DescribeIndexFields operation. The "output" return
1493// value will be populated with the request's response once the request completes
1494// successfully.
1495//
1496// Use "Send" method on the returned Request to send the API call to the service.
1497// the "output" return value is not valid until after Send returns without error.
1498//
1499// See DescribeIndexFields for more information on using the DescribeIndexFields
1500// API call, and error handling.
1501//
1502// This method is useful when you want to inject custom logic or configuration
1503// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1504//
1505//
1506//    // Example sending a request using the DescribeIndexFieldsRequest method.
1507//    req, resp := client.DescribeIndexFieldsRequest(params)
1508//
1509//    err := req.Send()
1510//    if err == nil { // resp is now filled
1511//        fmt.Println(resp)
1512//    }
1513func (c *CloudSearch) DescribeIndexFieldsRequest(input *DescribeIndexFieldsInput) (req *request.Request, output *DescribeIndexFieldsOutput) {
1514	op := &request.Operation{
1515		Name:       opDescribeIndexFields,
1516		HTTPMethod: "POST",
1517		HTTPPath:   "/",
1518	}
1519
1520	if input == nil {
1521		input = &DescribeIndexFieldsInput{}
1522	}
1523
1524	output = &DescribeIndexFieldsOutput{}
1525	req = c.newRequest(op, input, output)
1526	return
1527}
1528
1529// DescribeIndexFields API operation for Amazon CloudSearch.
1530//
1531// Gets information about the index fields configured for the search domain.
1532// Can be limited to specific fields by name. By default, shows all fields and
1533// includes any pending changes to the configuration. Set the Deployed option
1534// to true to show the active configuration and exclude pending changes. For
1535// more information, see Getting Domain Information (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/getting-domain-info.html)
1536// in the Amazon CloudSearch Developer Guide.
1537//
1538// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1539// with awserr.Error's Code and Message methods to get detailed information about
1540// the error.
1541//
1542// See the AWS API reference guide for Amazon CloudSearch's
1543// API operation DescribeIndexFields for usage and error information.
1544//
1545// Returned Error Codes:
1546//   * ErrCodeBaseException "BaseException"
1547//   An error occurred while processing the request.
1548//
1549//   * ErrCodeInternalException "InternalException"
1550//   An internal error occurred while processing the request. If this problem
1551//   persists, report an issue from the Service Health Dashboard (http://status.aws.amazon.com/).
1552//
1553//   * ErrCodeResourceNotFoundException "ResourceNotFound"
1554//   The request was rejected because it attempted to reference a resource that
1555//   does not exist.
1556//
1557func (c *CloudSearch) DescribeIndexFields(input *DescribeIndexFieldsInput) (*DescribeIndexFieldsOutput, error) {
1558	req, out := c.DescribeIndexFieldsRequest(input)
1559	return out, req.Send()
1560}
1561
1562// DescribeIndexFieldsWithContext is the same as DescribeIndexFields with the addition of
1563// the ability to pass a context and additional request options.
1564//
1565// See DescribeIndexFields for details on how to use this API operation.
1566//
1567// The context must be non-nil and will be used for request cancellation. If
1568// the context is nil a panic will occur. In the future the SDK may create
1569// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1570// for more information on using Contexts.
1571func (c *CloudSearch) DescribeIndexFieldsWithContext(ctx aws.Context, input *DescribeIndexFieldsInput, opts ...request.Option) (*DescribeIndexFieldsOutput, error) {
1572	req, out := c.DescribeIndexFieldsRequest(input)
1573	req.SetContext(ctx)
1574	req.ApplyOptions(opts...)
1575	return out, req.Send()
1576}
1577
1578const opDescribeScalingParameters = "DescribeScalingParameters"
1579
1580// DescribeScalingParametersRequest generates a "aws/request.Request" representing the
1581// client's request for the DescribeScalingParameters operation. The "output" return
1582// value will be populated with the request's response once the request completes
1583// successfully.
1584//
1585// Use "Send" method on the returned Request to send the API call to the service.
1586// the "output" return value is not valid until after Send returns without error.
1587//
1588// See DescribeScalingParameters for more information on using the DescribeScalingParameters
1589// API call, and error handling.
1590//
1591// This method is useful when you want to inject custom logic or configuration
1592// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1593//
1594//
1595//    // Example sending a request using the DescribeScalingParametersRequest method.
1596//    req, resp := client.DescribeScalingParametersRequest(params)
1597//
1598//    err := req.Send()
1599//    if err == nil { // resp is now filled
1600//        fmt.Println(resp)
1601//    }
1602func (c *CloudSearch) DescribeScalingParametersRequest(input *DescribeScalingParametersInput) (req *request.Request, output *DescribeScalingParametersOutput) {
1603	op := &request.Operation{
1604		Name:       opDescribeScalingParameters,
1605		HTTPMethod: "POST",
1606		HTTPPath:   "/",
1607	}
1608
1609	if input == nil {
1610		input = &DescribeScalingParametersInput{}
1611	}
1612
1613	output = &DescribeScalingParametersOutput{}
1614	req = c.newRequest(op, input, output)
1615	return
1616}
1617
1618// DescribeScalingParameters API operation for Amazon CloudSearch.
1619//
1620// Gets the scaling parameters configured for a domain. A domain's scaling parameters
1621// specify the desired search instance type and replication count. For more
1622// information, see Configuring Scaling Options (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-scaling-options.html)
1623// in the Amazon CloudSearch Developer Guide.
1624//
1625// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1626// with awserr.Error's Code and Message methods to get detailed information about
1627// the error.
1628//
1629// See the AWS API reference guide for Amazon CloudSearch's
1630// API operation DescribeScalingParameters for usage and error information.
1631//
1632// Returned Error Codes:
1633//   * ErrCodeBaseException "BaseException"
1634//   An error occurred while processing the request.
1635//
1636//   * ErrCodeInternalException "InternalException"
1637//   An internal error occurred while processing the request. If this problem
1638//   persists, report an issue from the Service Health Dashboard (http://status.aws.amazon.com/).
1639//
1640//   * ErrCodeResourceNotFoundException "ResourceNotFound"
1641//   The request was rejected because it attempted to reference a resource that
1642//   does not exist.
1643//
1644func (c *CloudSearch) DescribeScalingParameters(input *DescribeScalingParametersInput) (*DescribeScalingParametersOutput, error) {
1645	req, out := c.DescribeScalingParametersRequest(input)
1646	return out, req.Send()
1647}
1648
1649// DescribeScalingParametersWithContext is the same as DescribeScalingParameters with the addition of
1650// the ability to pass a context and additional request options.
1651//
1652// See DescribeScalingParameters for details on how to use this API operation.
1653//
1654// The context must be non-nil and will be used for request cancellation. If
1655// the context is nil a panic will occur. In the future the SDK may create
1656// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1657// for more information on using Contexts.
1658func (c *CloudSearch) DescribeScalingParametersWithContext(ctx aws.Context, input *DescribeScalingParametersInput, opts ...request.Option) (*DescribeScalingParametersOutput, error) {
1659	req, out := c.DescribeScalingParametersRequest(input)
1660	req.SetContext(ctx)
1661	req.ApplyOptions(opts...)
1662	return out, req.Send()
1663}
1664
1665const opDescribeServiceAccessPolicies = "DescribeServiceAccessPolicies"
1666
1667// DescribeServiceAccessPoliciesRequest generates a "aws/request.Request" representing the
1668// client's request for the DescribeServiceAccessPolicies operation. The "output" return
1669// value will be populated with the request's response once the request completes
1670// successfully.
1671//
1672// Use "Send" method on the returned Request to send the API call to the service.
1673// the "output" return value is not valid until after Send returns without error.
1674//
1675// See DescribeServiceAccessPolicies for more information on using the DescribeServiceAccessPolicies
1676// API call, and error handling.
1677//
1678// This method is useful when you want to inject custom logic or configuration
1679// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1680//
1681//
1682//    // Example sending a request using the DescribeServiceAccessPoliciesRequest method.
1683//    req, resp := client.DescribeServiceAccessPoliciesRequest(params)
1684//
1685//    err := req.Send()
1686//    if err == nil { // resp is now filled
1687//        fmt.Println(resp)
1688//    }
1689func (c *CloudSearch) DescribeServiceAccessPoliciesRequest(input *DescribeServiceAccessPoliciesInput) (req *request.Request, output *DescribeServiceAccessPoliciesOutput) {
1690	op := &request.Operation{
1691		Name:       opDescribeServiceAccessPolicies,
1692		HTTPMethod: "POST",
1693		HTTPPath:   "/",
1694	}
1695
1696	if input == nil {
1697		input = &DescribeServiceAccessPoliciesInput{}
1698	}
1699
1700	output = &DescribeServiceAccessPoliciesOutput{}
1701	req = c.newRequest(op, input, output)
1702	return
1703}
1704
1705// DescribeServiceAccessPolicies API operation for Amazon CloudSearch.
1706//
1707// Gets information about the access policies that control access to the domain's
1708// document and search endpoints. By default, shows the configuration with any
1709// pending changes. Set the Deployed option to true to show the active configuration
1710// and exclude pending changes. For more information, see Configuring Access
1711// for a Search Domain (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-access.html)
1712// in the Amazon CloudSearch Developer Guide.
1713//
1714// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1715// with awserr.Error's Code and Message methods to get detailed information about
1716// the error.
1717//
1718// See the AWS API reference guide for Amazon CloudSearch's
1719// API operation DescribeServiceAccessPolicies for usage and error information.
1720//
1721// Returned Error Codes:
1722//   * ErrCodeBaseException "BaseException"
1723//   An error occurred while processing the request.
1724//
1725//   * ErrCodeInternalException "InternalException"
1726//   An internal error occurred while processing the request. If this problem
1727//   persists, report an issue from the Service Health Dashboard (http://status.aws.amazon.com/).
1728//
1729//   * ErrCodeResourceNotFoundException "ResourceNotFound"
1730//   The request was rejected because it attempted to reference a resource that
1731//   does not exist.
1732//
1733func (c *CloudSearch) DescribeServiceAccessPolicies(input *DescribeServiceAccessPoliciesInput) (*DescribeServiceAccessPoliciesOutput, error) {
1734	req, out := c.DescribeServiceAccessPoliciesRequest(input)
1735	return out, req.Send()
1736}
1737
1738// DescribeServiceAccessPoliciesWithContext is the same as DescribeServiceAccessPolicies with the addition of
1739// the ability to pass a context and additional request options.
1740//
1741// See DescribeServiceAccessPolicies for details on how to use this API operation.
1742//
1743// The context must be non-nil and will be used for request cancellation. If
1744// the context is nil a panic will occur. In the future the SDK may create
1745// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1746// for more information on using Contexts.
1747func (c *CloudSearch) DescribeServiceAccessPoliciesWithContext(ctx aws.Context, input *DescribeServiceAccessPoliciesInput, opts ...request.Option) (*DescribeServiceAccessPoliciesOutput, error) {
1748	req, out := c.DescribeServiceAccessPoliciesRequest(input)
1749	req.SetContext(ctx)
1750	req.ApplyOptions(opts...)
1751	return out, req.Send()
1752}
1753
1754const opDescribeSuggesters = "DescribeSuggesters"
1755
1756// DescribeSuggestersRequest generates a "aws/request.Request" representing the
1757// client's request for the DescribeSuggesters operation. The "output" return
1758// value will be populated with the request's response once the request completes
1759// successfully.
1760//
1761// Use "Send" method on the returned Request to send the API call to the service.
1762// the "output" return value is not valid until after Send returns without error.
1763//
1764// See DescribeSuggesters for more information on using the DescribeSuggesters
1765// API call, and error handling.
1766//
1767// This method is useful when you want to inject custom logic or configuration
1768// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1769//
1770//
1771//    // Example sending a request using the DescribeSuggestersRequest method.
1772//    req, resp := client.DescribeSuggestersRequest(params)
1773//
1774//    err := req.Send()
1775//    if err == nil { // resp is now filled
1776//        fmt.Println(resp)
1777//    }
1778func (c *CloudSearch) DescribeSuggestersRequest(input *DescribeSuggestersInput) (req *request.Request, output *DescribeSuggestersOutput) {
1779	op := &request.Operation{
1780		Name:       opDescribeSuggesters,
1781		HTTPMethod: "POST",
1782		HTTPPath:   "/",
1783	}
1784
1785	if input == nil {
1786		input = &DescribeSuggestersInput{}
1787	}
1788
1789	output = &DescribeSuggestersOutput{}
1790	req = c.newRequest(op, input, output)
1791	return
1792}
1793
1794// DescribeSuggesters API operation for Amazon CloudSearch.
1795//
1796// Gets the suggesters configured for a domain. A suggester enables you to display
1797// possible matches before users finish typing their queries. Can be limited
1798// to specific suggesters by name. By default, shows all suggesters and includes
1799// any pending changes to the configuration. Set the Deployed option to true
1800// to show the active configuration and exclude pending changes. For more information,
1801// see Getting Search Suggestions (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/getting-suggestions.html)
1802// in the Amazon CloudSearch Developer Guide.
1803//
1804// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1805// with awserr.Error's Code and Message methods to get detailed information about
1806// the error.
1807//
1808// See the AWS API reference guide for Amazon CloudSearch's
1809// API operation DescribeSuggesters for usage and error information.
1810//
1811// Returned Error Codes:
1812//   * ErrCodeBaseException "BaseException"
1813//   An error occurred while processing the request.
1814//
1815//   * ErrCodeInternalException "InternalException"
1816//   An internal error occurred while processing the request. If this problem
1817//   persists, report an issue from the Service Health Dashboard (http://status.aws.amazon.com/).
1818//
1819//   * ErrCodeResourceNotFoundException "ResourceNotFound"
1820//   The request was rejected because it attempted to reference a resource that
1821//   does not exist.
1822//
1823func (c *CloudSearch) DescribeSuggesters(input *DescribeSuggestersInput) (*DescribeSuggestersOutput, error) {
1824	req, out := c.DescribeSuggestersRequest(input)
1825	return out, req.Send()
1826}
1827
1828// DescribeSuggestersWithContext is the same as DescribeSuggesters with the addition of
1829// the ability to pass a context and additional request options.
1830//
1831// See DescribeSuggesters for details on how to use this API operation.
1832//
1833// The context must be non-nil and will be used for request cancellation. If
1834// the context is nil a panic will occur. In the future the SDK may create
1835// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1836// for more information on using Contexts.
1837func (c *CloudSearch) DescribeSuggestersWithContext(ctx aws.Context, input *DescribeSuggestersInput, opts ...request.Option) (*DescribeSuggestersOutput, error) {
1838	req, out := c.DescribeSuggestersRequest(input)
1839	req.SetContext(ctx)
1840	req.ApplyOptions(opts...)
1841	return out, req.Send()
1842}
1843
1844const opIndexDocuments = "IndexDocuments"
1845
1846// IndexDocumentsRequest generates a "aws/request.Request" representing the
1847// client's request for the IndexDocuments operation. The "output" return
1848// value will be populated with the request's response once the request completes
1849// successfully.
1850//
1851// Use "Send" method on the returned Request to send the API call to the service.
1852// the "output" return value is not valid until after Send returns without error.
1853//
1854// See IndexDocuments for more information on using the IndexDocuments
1855// API call, and error handling.
1856//
1857// This method is useful when you want to inject custom logic or configuration
1858// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1859//
1860//
1861//    // Example sending a request using the IndexDocumentsRequest method.
1862//    req, resp := client.IndexDocumentsRequest(params)
1863//
1864//    err := req.Send()
1865//    if err == nil { // resp is now filled
1866//        fmt.Println(resp)
1867//    }
1868func (c *CloudSearch) IndexDocumentsRequest(input *IndexDocumentsInput) (req *request.Request, output *IndexDocumentsOutput) {
1869	op := &request.Operation{
1870		Name:       opIndexDocuments,
1871		HTTPMethod: "POST",
1872		HTTPPath:   "/",
1873	}
1874
1875	if input == nil {
1876		input = &IndexDocumentsInput{}
1877	}
1878
1879	output = &IndexDocumentsOutput{}
1880	req = c.newRequest(op, input, output)
1881	return
1882}
1883
1884// IndexDocuments API operation for Amazon CloudSearch.
1885//
1886// Tells the search domain to start indexing its documents using the latest
1887// indexing options. This operation must be invoked to activate options whose
1888// OptionStatus is RequiresIndexDocuments.
1889//
1890// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1891// with awserr.Error's Code and Message methods to get detailed information about
1892// the error.
1893//
1894// See the AWS API reference guide for Amazon CloudSearch's
1895// API operation IndexDocuments for usage and error information.
1896//
1897// Returned Error Codes:
1898//   * ErrCodeBaseException "BaseException"
1899//   An error occurred while processing the request.
1900//
1901//   * ErrCodeInternalException "InternalException"
1902//   An internal error occurred while processing the request. If this problem
1903//   persists, report an issue from the Service Health Dashboard (http://status.aws.amazon.com/).
1904//
1905//   * ErrCodeResourceNotFoundException "ResourceNotFound"
1906//   The request was rejected because it attempted to reference a resource that
1907//   does not exist.
1908//
1909//   * ErrCodeValidationException "ValidationException"
1910//   The request was rejected because it has invalid parameters.
1911//
1912func (c *CloudSearch) IndexDocuments(input *IndexDocumentsInput) (*IndexDocumentsOutput, error) {
1913	req, out := c.IndexDocumentsRequest(input)
1914	return out, req.Send()
1915}
1916
1917// IndexDocumentsWithContext is the same as IndexDocuments with the addition of
1918// the ability to pass a context and additional request options.
1919//
1920// See IndexDocuments for details on how to use this API operation.
1921//
1922// The context must be non-nil and will be used for request cancellation. If
1923// the context is nil a panic will occur. In the future the SDK may create
1924// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1925// for more information on using Contexts.
1926func (c *CloudSearch) IndexDocumentsWithContext(ctx aws.Context, input *IndexDocumentsInput, opts ...request.Option) (*IndexDocumentsOutput, error) {
1927	req, out := c.IndexDocumentsRequest(input)
1928	req.SetContext(ctx)
1929	req.ApplyOptions(opts...)
1930	return out, req.Send()
1931}
1932
1933const opListDomainNames = "ListDomainNames"
1934
1935// ListDomainNamesRequest generates a "aws/request.Request" representing the
1936// client's request for the ListDomainNames operation. The "output" return
1937// value will be populated with the request's response once the request completes
1938// successfully.
1939//
1940// Use "Send" method on the returned Request to send the API call to the service.
1941// the "output" return value is not valid until after Send returns without error.
1942//
1943// See ListDomainNames for more information on using the ListDomainNames
1944// API call, and error handling.
1945//
1946// This method is useful when you want to inject custom logic or configuration
1947// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1948//
1949//
1950//    // Example sending a request using the ListDomainNamesRequest method.
1951//    req, resp := client.ListDomainNamesRequest(params)
1952//
1953//    err := req.Send()
1954//    if err == nil { // resp is now filled
1955//        fmt.Println(resp)
1956//    }
1957func (c *CloudSearch) ListDomainNamesRequest(input *ListDomainNamesInput) (req *request.Request, output *ListDomainNamesOutput) {
1958	op := &request.Operation{
1959		Name:       opListDomainNames,
1960		HTTPMethod: "POST",
1961		HTTPPath:   "/",
1962	}
1963
1964	if input == nil {
1965		input = &ListDomainNamesInput{}
1966	}
1967
1968	output = &ListDomainNamesOutput{}
1969	req = c.newRequest(op, input, output)
1970	return
1971}
1972
1973// ListDomainNames API operation for Amazon CloudSearch.
1974//
1975// Lists all search domains owned by an account.
1976//
1977// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1978// with awserr.Error's Code and Message methods to get detailed information about
1979// the error.
1980//
1981// See the AWS API reference guide for Amazon CloudSearch's
1982// API operation ListDomainNames for usage and error information.
1983//
1984// Returned Error Codes:
1985//   * ErrCodeBaseException "BaseException"
1986//   An error occurred while processing the request.
1987//
1988func (c *CloudSearch) ListDomainNames(input *ListDomainNamesInput) (*ListDomainNamesOutput, error) {
1989	req, out := c.ListDomainNamesRequest(input)
1990	return out, req.Send()
1991}
1992
1993// ListDomainNamesWithContext is the same as ListDomainNames with the addition of
1994// the ability to pass a context and additional request options.
1995//
1996// See ListDomainNames for details on how to use this API operation.
1997//
1998// The context must be non-nil and will be used for request cancellation. If
1999// the context is nil a panic will occur. In the future the SDK may create
2000// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2001// for more information on using Contexts.
2002func (c *CloudSearch) ListDomainNamesWithContext(ctx aws.Context, input *ListDomainNamesInput, opts ...request.Option) (*ListDomainNamesOutput, error) {
2003	req, out := c.ListDomainNamesRequest(input)
2004	req.SetContext(ctx)
2005	req.ApplyOptions(opts...)
2006	return out, req.Send()
2007}
2008
2009const opUpdateAvailabilityOptions = "UpdateAvailabilityOptions"
2010
2011// UpdateAvailabilityOptionsRequest generates a "aws/request.Request" representing the
2012// client's request for the UpdateAvailabilityOptions operation. The "output" return
2013// value will be populated with the request's response once the request completes
2014// successfully.
2015//
2016// Use "Send" method on the returned Request to send the API call to the service.
2017// the "output" return value is not valid until after Send returns without error.
2018//
2019// See UpdateAvailabilityOptions for more information on using the UpdateAvailabilityOptions
2020// API call, and error handling.
2021//
2022// This method is useful when you want to inject custom logic or configuration
2023// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2024//
2025//
2026//    // Example sending a request using the UpdateAvailabilityOptionsRequest method.
2027//    req, resp := client.UpdateAvailabilityOptionsRequest(params)
2028//
2029//    err := req.Send()
2030//    if err == nil { // resp is now filled
2031//        fmt.Println(resp)
2032//    }
2033func (c *CloudSearch) UpdateAvailabilityOptionsRequest(input *UpdateAvailabilityOptionsInput) (req *request.Request, output *UpdateAvailabilityOptionsOutput) {
2034	op := &request.Operation{
2035		Name:       opUpdateAvailabilityOptions,
2036		HTTPMethod: "POST",
2037		HTTPPath:   "/",
2038	}
2039
2040	if input == nil {
2041		input = &UpdateAvailabilityOptionsInput{}
2042	}
2043
2044	output = &UpdateAvailabilityOptionsOutput{}
2045	req = c.newRequest(op, input, output)
2046	return
2047}
2048
2049// UpdateAvailabilityOptions API operation for Amazon CloudSearch.
2050//
2051// Configures the availability options for a domain. Enabling the Multi-AZ option
2052// expands an Amazon CloudSearch domain to an additional Availability Zone in
2053// the same Region to increase fault tolerance in the event of a service disruption.
2054// Changes to the Multi-AZ option can take about half an hour to become active.
2055// For more information, see Configuring Availability Options (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-availability-options.html)
2056// in the Amazon CloudSearch Developer Guide.
2057//
2058// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2059// with awserr.Error's Code and Message methods to get detailed information about
2060// the error.
2061//
2062// See the AWS API reference guide for Amazon CloudSearch's
2063// API operation UpdateAvailabilityOptions for usage and error information.
2064//
2065// Returned Error Codes:
2066//   * ErrCodeBaseException "BaseException"
2067//   An error occurred while processing the request.
2068//
2069//   * ErrCodeInternalException "InternalException"
2070//   An internal error occurred while processing the request. If this problem
2071//   persists, report an issue from the Service Health Dashboard (http://status.aws.amazon.com/).
2072//
2073//   * ErrCodeInvalidTypeException "InvalidType"
2074//   The request was rejected because it specified an invalid type definition.
2075//
2076//   * ErrCodeLimitExceededException "LimitExceeded"
2077//   The request was rejected because a resource limit has already been met.
2078//
2079//   * ErrCodeResourceNotFoundException "ResourceNotFound"
2080//   The request was rejected because it attempted to reference a resource that
2081//   does not exist.
2082//
2083//   * ErrCodeDisabledOperationException "DisabledAction"
2084//   The request was rejected because it attempted an operation which is not enabled.
2085//
2086//   * ErrCodeValidationException "ValidationException"
2087//   The request was rejected because it has invalid parameters.
2088//
2089func (c *CloudSearch) UpdateAvailabilityOptions(input *UpdateAvailabilityOptionsInput) (*UpdateAvailabilityOptionsOutput, error) {
2090	req, out := c.UpdateAvailabilityOptionsRequest(input)
2091	return out, req.Send()
2092}
2093
2094// UpdateAvailabilityOptionsWithContext is the same as UpdateAvailabilityOptions with the addition of
2095// the ability to pass a context and additional request options.
2096//
2097// See UpdateAvailabilityOptions for details on how to use this API operation.
2098//
2099// The context must be non-nil and will be used for request cancellation. If
2100// the context is nil a panic will occur. In the future the SDK may create
2101// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2102// for more information on using Contexts.
2103func (c *CloudSearch) UpdateAvailabilityOptionsWithContext(ctx aws.Context, input *UpdateAvailabilityOptionsInput, opts ...request.Option) (*UpdateAvailabilityOptionsOutput, error) {
2104	req, out := c.UpdateAvailabilityOptionsRequest(input)
2105	req.SetContext(ctx)
2106	req.ApplyOptions(opts...)
2107	return out, req.Send()
2108}
2109
2110const opUpdateDomainEndpointOptions = "UpdateDomainEndpointOptions"
2111
2112// UpdateDomainEndpointOptionsRequest generates a "aws/request.Request" representing the
2113// client's request for the UpdateDomainEndpointOptions operation. The "output" return
2114// value will be populated with the request's response once the request completes
2115// successfully.
2116//
2117// Use "Send" method on the returned Request to send the API call to the service.
2118// the "output" return value is not valid until after Send returns without error.
2119//
2120// See UpdateDomainEndpointOptions for more information on using the UpdateDomainEndpointOptions
2121// API call, and error handling.
2122//
2123// This method is useful when you want to inject custom logic or configuration
2124// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2125//
2126//
2127//    // Example sending a request using the UpdateDomainEndpointOptionsRequest method.
2128//    req, resp := client.UpdateDomainEndpointOptionsRequest(params)
2129//
2130//    err := req.Send()
2131//    if err == nil { // resp is now filled
2132//        fmt.Println(resp)
2133//    }
2134func (c *CloudSearch) UpdateDomainEndpointOptionsRequest(input *UpdateDomainEndpointOptionsInput) (req *request.Request, output *UpdateDomainEndpointOptionsOutput) {
2135	op := &request.Operation{
2136		Name:       opUpdateDomainEndpointOptions,
2137		HTTPMethod: "POST",
2138		HTTPPath:   "/",
2139	}
2140
2141	if input == nil {
2142		input = &UpdateDomainEndpointOptionsInput{}
2143	}
2144
2145	output = &UpdateDomainEndpointOptionsOutput{}
2146	req = c.newRequest(op, input, output)
2147	return
2148}
2149
2150// UpdateDomainEndpointOptions API operation for Amazon CloudSearch.
2151//
2152// Updates the domain's endpoint options, specifically whether all requests
2153// to the domain must arrive over HTTPS. For more information, see Configuring
2154// Domain Endpoint Options (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-domain-endpoint-options.html)
2155// in the Amazon CloudSearch Developer Guide.
2156//
2157// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2158// with awserr.Error's Code and Message methods to get detailed information about
2159// the error.
2160//
2161// See the AWS API reference guide for Amazon CloudSearch's
2162// API operation UpdateDomainEndpointOptions for usage and error information.
2163//
2164// Returned Error Codes:
2165//   * ErrCodeBaseException "BaseException"
2166//   An error occurred while processing the request.
2167//
2168//   * ErrCodeInternalException "InternalException"
2169//   An internal error occurred while processing the request. If this problem
2170//   persists, report an issue from the Service Health Dashboard (http://status.aws.amazon.com/).
2171//
2172//   * ErrCodeInvalidTypeException "InvalidType"
2173//   The request was rejected because it specified an invalid type definition.
2174//
2175//   * ErrCodeLimitExceededException "LimitExceeded"
2176//   The request was rejected because a resource limit has already been met.
2177//
2178//   * ErrCodeResourceNotFoundException "ResourceNotFound"
2179//   The request was rejected because it attempted to reference a resource that
2180//   does not exist.
2181//
2182//   * ErrCodeDisabledOperationException "DisabledAction"
2183//   The request was rejected because it attempted an operation which is not enabled.
2184//
2185//   * ErrCodeValidationException "ValidationException"
2186//   The request was rejected because it has invalid parameters.
2187//
2188func (c *CloudSearch) UpdateDomainEndpointOptions(input *UpdateDomainEndpointOptionsInput) (*UpdateDomainEndpointOptionsOutput, error) {
2189	req, out := c.UpdateDomainEndpointOptionsRequest(input)
2190	return out, req.Send()
2191}
2192
2193// UpdateDomainEndpointOptionsWithContext is the same as UpdateDomainEndpointOptions with the addition of
2194// the ability to pass a context and additional request options.
2195//
2196// See UpdateDomainEndpointOptions for details on how to use this API operation.
2197//
2198// The context must be non-nil and will be used for request cancellation. If
2199// the context is nil a panic will occur. In the future the SDK may create
2200// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2201// for more information on using Contexts.
2202func (c *CloudSearch) UpdateDomainEndpointOptionsWithContext(ctx aws.Context, input *UpdateDomainEndpointOptionsInput, opts ...request.Option) (*UpdateDomainEndpointOptionsOutput, error) {
2203	req, out := c.UpdateDomainEndpointOptionsRequest(input)
2204	req.SetContext(ctx)
2205	req.ApplyOptions(opts...)
2206	return out, req.Send()
2207}
2208
2209const opUpdateScalingParameters = "UpdateScalingParameters"
2210
2211// UpdateScalingParametersRequest generates a "aws/request.Request" representing the
2212// client's request for the UpdateScalingParameters operation. The "output" return
2213// value will be populated with the request's response once the request completes
2214// successfully.
2215//
2216// Use "Send" method on the returned Request to send the API call to the service.
2217// the "output" return value is not valid until after Send returns without error.
2218//
2219// See UpdateScalingParameters for more information on using the UpdateScalingParameters
2220// API call, and error handling.
2221//
2222// This method is useful when you want to inject custom logic or configuration
2223// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2224//
2225//
2226//    // Example sending a request using the UpdateScalingParametersRequest method.
2227//    req, resp := client.UpdateScalingParametersRequest(params)
2228//
2229//    err := req.Send()
2230//    if err == nil { // resp is now filled
2231//        fmt.Println(resp)
2232//    }
2233func (c *CloudSearch) UpdateScalingParametersRequest(input *UpdateScalingParametersInput) (req *request.Request, output *UpdateScalingParametersOutput) {
2234	op := &request.Operation{
2235		Name:       opUpdateScalingParameters,
2236		HTTPMethod: "POST",
2237		HTTPPath:   "/",
2238	}
2239
2240	if input == nil {
2241		input = &UpdateScalingParametersInput{}
2242	}
2243
2244	output = &UpdateScalingParametersOutput{}
2245	req = c.newRequest(op, input, output)
2246	return
2247}
2248
2249// UpdateScalingParameters API operation for Amazon CloudSearch.
2250//
2251// Configures scaling parameters for a domain. A domain's scaling parameters
2252// specify the desired search instance type and replication count. Amazon CloudSearch
2253// will still automatically scale your domain based on the volume of data and
2254// traffic, but not below the desired instance type and replication count. If
2255// the Multi-AZ option is enabled, these values control the resources used per
2256// Availability Zone. For more information, see Configuring Scaling Options
2257// (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-scaling-options.html)
2258// in the Amazon CloudSearch Developer Guide.
2259//
2260// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2261// with awserr.Error's Code and Message methods to get detailed information about
2262// the error.
2263//
2264// See the AWS API reference guide for Amazon CloudSearch's
2265// API operation UpdateScalingParameters for usage and error information.
2266//
2267// Returned Error Codes:
2268//   * ErrCodeBaseException "BaseException"
2269//   An error occurred while processing the request.
2270//
2271//   * ErrCodeInternalException "InternalException"
2272//   An internal error occurred while processing the request. If this problem
2273//   persists, report an issue from the Service Health Dashboard (http://status.aws.amazon.com/).
2274//
2275//   * ErrCodeLimitExceededException "LimitExceeded"
2276//   The request was rejected because a resource limit has already been met.
2277//
2278//   * ErrCodeResourceNotFoundException "ResourceNotFound"
2279//   The request was rejected because it attempted to reference a resource that
2280//   does not exist.
2281//
2282//   * ErrCodeInvalidTypeException "InvalidType"
2283//   The request was rejected because it specified an invalid type definition.
2284//
2285//   * ErrCodeValidationException "ValidationException"
2286//   The request was rejected because it has invalid parameters.
2287//
2288func (c *CloudSearch) UpdateScalingParameters(input *UpdateScalingParametersInput) (*UpdateScalingParametersOutput, error) {
2289	req, out := c.UpdateScalingParametersRequest(input)
2290	return out, req.Send()
2291}
2292
2293// UpdateScalingParametersWithContext is the same as UpdateScalingParameters with the addition of
2294// the ability to pass a context and additional request options.
2295//
2296// See UpdateScalingParameters for details on how to use this API operation.
2297//
2298// The context must be non-nil and will be used for request cancellation. If
2299// the context is nil a panic will occur. In the future the SDK may create
2300// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2301// for more information on using Contexts.
2302func (c *CloudSearch) UpdateScalingParametersWithContext(ctx aws.Context, input *UpdateScalingParametersInput, opts ...request.Option) (*UpdateScalingParametersOutput, error) {
2303	req, out := c.UpdateScalingParametersRequest(input)
2304	req.SetContext(ctx)
2305	req.ApplyOptions(opts...)
2306	return out, req.Send()
2307}
2308
2309const opUpdateServiceAccessPolicies = "UpdateServiceAccessPolicies"
2310
2311// UpdateServiceAccessPoliciesRequest generates a "aws/request.Request" representing the
2312// client's request for the UpdateServiceAccessPolicies operation. The "output" return
2313// value will be populated with the request's response once the request completes
2314// successfully.
2315//
2316// Use "Send" method on the returned Request to send the API call to the service.
2317// the "output" return value is not valid until after Send returns without error.
2318//
2319// See UpdateServiceAccessPolicies for more information on using the UpdateServiceAccessPolicies
2320// API call, and error handling.
2321//
2322// This method is useful when you want to inject custom logic or configuration
2323// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2324//
2325//
2326//    // Example sending a request using the UpdateServiceAccessPoliciesRequest method.
2327//    req, resp := client.UpdateServiceAccessPoliciesRequest(params)
2328//
2329//    err := req.Send()
2330//    if err == nil { // resp is now filled
2331//        fmt.Println(resp)
2332//    }
2333func (c *CloudSearch) UpdateServiceAccessPoliciesRequest(input *UpdateServiceAccessPoliciesInput) (req *request.Request, output *UpdateServiceAccessPoliciesOutput) {
2334	op := &request.Operation{
2335		Name:       opUpdateServiceAccessPolicies,
2336		HTTPMethod: "POST",
2337		HTTPPath:   "/",
2338	}
2339
2340	if input == nil {
2341		input = &UpdateServiceAccessPoliciesInput{}
2342	}
2343
2344	output = &UpdateServiceAccessPoliciesOutput{}
2345	req = c.newRequest(op, input, output)
2346	return
2347}
2348
2349// UpdateServiceAccessPolicies API operation for Amazon CloudSearch.
2350//
2351// Configures the access rules that control access to the domain's document
2352// and search endpoints. For more information, see Configuring Access for an
2353// Amazon CloudSearch Domain (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-access.html).
2354//
2355// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2356// with awserr.Error's Code and Message methods to get detailed information about
2357// the error.
2358//
2359// See the AWS API reference guide for Amazon CloudSearch's
2360// API operation UpdateServiceAccessPolicies for usage and error information.
2361//
2362// Returned Error Codes:
2363//   * ErrCodeBaseException "BaseException"
2364//   An error occurred while processing the request.
2365//
2366//   * ErrCodeInternalException "InternalException"
2367//   An internal error occurred while processing the request. If this problem
2368//   persists, report an issue from the Service Health Dashboard (http://status.aws.amazon.com/).
2369//
2370//   * ErrCodeLimitExceededException "LimitExceeded"
2371//   The request was rejected because a resource limit has already been met.
2372//
2373//   * ErrCodeResourceNotFoundException "ResourceNotFound"
2374//   The request was rejected because it attempted to reference a resource that
2375//   does not exist.
2376//
2377//   * ErrCodeInvalidTypeException "InvalidType"
2378//   The request was rejected because it specified an invalid type definition.
2379//
2380//   * ErrCodeValidationException "ValidationException"
2381//   The request was rejected because it has invalid parameters.
2382//
2383func (c *CloudSearch) UpdateServiceAccessPolicies(input *UpdateServiceAccessPoliciesInput) (*UpdateServiceAccessPoliciesOutput, error) {
2384	req, out := c.UpdateServiceAccessPoliciesRequest(input)
2385	return out, req.Send()
2386}
2387
2388// UpdateServiceAccessPoliciesWithContext is the same as UpdateServiceAccessPolicies with the addition of
2389// the ability to pass a context and additional request options.
2390//
2391// See UpdateServiceAccessPolicies for details on how to use this API operation.
2392//
2393// The context must be non-nil and will be used for request cancellation. If
2394// the context is nil a panic will occur. In the future the SDK may create
2395// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2396// for more information on using Contexts.
2397func (c *CloudSearch) UpdateServiceAccessPoliciesWithContext(ctx aws.Context, input *UpdateServiceAccessPoliciesInput, opts ...request.Option) (*UpdateServiceAccessPoliciesOutput, error) {
2398	req, out := c.UpdateServiceAccessPoliciesRequest(input)
2399	req.SetContext(ctx)
2400	req.ApplyOptions(opts...)
2401	return out, req.Send()
2402}
2403
2404// The configured access rules for the domain's document and search endpoints,
2405// and the current status of those rules.
2406type AccessPoliciesStatus struct {
2407	_ struct{} `type:"structure"`
2408
2409	// Access rules for a domain's document or search service endpoints. For more
2410	// information, see Configuring Access for a Search Domain (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-access.html)
2411	// in the Amazon CloudSearch Developer Guide. The maximum size of a policy document
2412	// is 100 KB.
2413	//
2414	// Options is a required field
2415	Options *string `type:"string" required:"true"`
2416
2417	// The status of domain configuration option.
2418	//
2419	// Status is a required field
2420	Status *OptionStatus `type:"structure" required:"true"`
2421}
2422
2423// String returns the string representation.
2424//
2425// API parameter values that are decorated as "sensitive" in the API will not
2426// be included in the string output. The member name will be present, but the
2427// value will be replaced with "sensitive".
2428func (s AccessPoliciesStatus) String() string {
2429	return awsutil.Prettify(s)
2430}
2431
2432// GoString returns the string representation.
2433//
2434// API parameter values that are decorated as "sensitive" in the API will not
2435// be included in the string output. The member name will be present, but the
2436// value will be replaced with "sensitive".
2437func (s AccessPoliciesStatus) GoString() string {
2438	return s.String()
2439}
2440
2441// SetOptions sets the Options field's value.
2442func (s *AccessPoliciesStatus) SetOptions(v string) *AccessPoliciesStatus {
2443	s.Options = &v
2444	return s
2445}
2446
2447// SetStatus sets the Status field's value.
2448func (s *AccessPoliciesStatus) SetStatus(v *OptionStatus) *AccessPoliciesStatus {
2449	s.Status = v
2450	return s
2451}
2452
2453// Synonyms, stopwords, and stemming options for an analysis scheme. Includes
2454// tokenization dictionary for Japanese.
2455type AnalysisOptions struct {
2456	_ struct{} `type:"structure"`
2457
2458	// The level of algorithmic stemming to perform: none, minimal, light, or full.
2459	// The available levels vary depending on the language. For more information,
2460	// see Language Specific Text Processing Settings (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/text-processing.html#text-processing-settings)
2461	// in the Amazon CloudSearch Developer Guide
2462	AlgorithmicStemming *string `type:"string" enum:"AlgorithmicStemming"`
2463
2464	// A JSON array that contains a collection of terms, tokens, readings and part
2465	// of speech for Japanese Tokenizaiton. The Japanese tokenization dictionary
2466	// enables you to override the default tokenization for selected terms. This
2467	// is only valid for Japanese language fields.
2468	JapaneseTokenizationDictionary *string `type:"string"`
2469
2470	// A JSON object that contains a collection of string:value pairs that each
2471	// map a term to its stem. For example, {"term1": "stem1", "term2": "stem2",
2472	// "term3": "stem3"}. The stemming dictionary is applied in addition to any
2473	// algorithmic stemming. This enables you to override the results of the algorithmic
2474	// stemming to correct specific cases of overstemming or understemming. The
2475	// maximum size of a stemming dictionary is 500 KB.
2476	StemmingDictionary *string `type:"string"`
2477
2478	// A JSON array of terms to ignore during indexing and searching. For example,
2479	// ["a", "an", "the", "of"]. The stopwords dictionary must explicitly list each
2480	// word you want to ignore. Wildcards and regular expressions are not supported.
2481	Stopwords *string `type:"string"`
2482
2483	// A JSON object that defines synonym groups and aliases. A synonym group is
2484	// an array of arrays, where each sub-array is a group of terms where each term
2485	// in the group is considered a synonym of every other term in the group. The
2486	// aliases value is an object that contains a collection of string:value pairs
2487	// where the string specifies a term and the array of values specifies each
2488	// of the aliases for that term. An alias is considered a synonym of the specified
2489	// term, but the term is not considered a synonym of the alias. For more information
2490	// about specifying synonyms, see Synonyms (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-analysis-schemes.html#synonyms)
2491	// in the Amazon CloudSearch Developer Guide.
2492	Synonyms *string `type:"string"`
2493}
2494
2495// String returns the string representation.
2496//
2497// API parameter values that are decorated as "sensitive" in the API will not
2498// be included in the string output. The member name will be present, but the
2499// value will be replaced with "sensitive".
2500func (s AnalysisOptions) String() string {
2501	return awsutil.Prettify(s)
2502}
2503
2504// GoString returns the string representation.
2505//
2506// API parameter values that are decorated as "sensitive" in the API will not
2507// be included in the string output. The member name will be present, but the
2508// value will be replaced with "sensitive".
2509func (s AnalysisOptions) GoString() string {
2510	return s.String()
2511}
2512
2513// SetAlgorithmicStemming sets the AlgorithmicStemming field's value.
2514func (s *AnalysisOptions) SetAlgorithmicStemming(v string) *AnalysisOptions {
2515	s.AlgorithmicStemming = &v
2516	return s
2517}
2518
2519// SetJapaneseTokenizationDictionary sets the JapaneseTokenizationDictionary field's value.
2520func (s *AnalysisOptions) SetJapaneseTokenizationDictionary(v string) *AnalysisOptions {
2521	s.JapaneseTokenizationDictionary = &v
2522	return s
2523}
2524
2525// SetStemmingDictionary sets the StemmingDictionary field's value.
2526func (s *AnalysisOptions) SetStemmingDictionary(v string) *AnalysisOptions {
2527	s.StemmingDictionary = &v
2528	return s
2529}
2530
2531// SetStopwords sets the Stopwords field's value.
2532func (s *AnalysisOptions) SetStopwords(v string) *AnalysisOptions {
2533	s.Stopwords = &v
2534	return s
2535}
2536
2537// SetSynonyms sets the Synonyms field's value.
2538func (s *AnalysisOptions) SetSynonyms(v string) *AnalysisOptions {
2539	s.Synonyms = &v
2540	return s
2541}
2542
2543// Configuration information for an analysis scheme. Each analysis scheme has
2544// a unique name and specifies the language of the text to be processed. The
2545// following options can be configured for an analysis scheme: Synonyms, Stopwords,
2546// StemmingDictionary, JapaneseTokenizationDictionary and AlgorithmicStemming.
2547type AnalysisScheme struct {
2548	_ struct{} `type:"structure"`
2549
2550	// Synonyms, stopwords, and stemming options for an analysis scheme. Includes
2551	// tokenization dictionary for Japanese.
2552	AnalysisOptions *AnalysisOptions `type:"structure"`
2553
2554	// An IETF RFC 4646 (http://tools.ietf.org/html/rfc4646) language code or mul
2555	// for multiple languages.
2556	//
2557	// AnalysisSchemeLanguage is a required field
2558	AnalysisSchemeLanguage *string `type:"string" required:"true" enum:"AnalysisSchemeLanguage"`
2559
2560	// Names must begin with a letter and can contain the following characters:
2561	// a-z (lowercase), 0-9, and _ (underscore).
2562	//
2563	// AnalysisSchemeName is a required field
2564	AnalysisSchemeName *string `min:"1" type:"string" required:"true"`
2565}
2566
2567// String returns the string representation.
2568//
2569// API parameter values that are decorated as "sensitive" in the API will not
2570// be included in the string output. The member name will be present, but the
2571// value will be replaced with "sensitive".
2572func (s AnalysisScheme) String() string {
2573	return awsutil.Prettify(s)
2574}
2575
2576// GoString returns the string representation.
2577//
2578// API parameter values that are decorated as "sensitive" in the API will not
2579// be included in the string output. The member name will be present, but the
2580// value will be replaced with "sensitive".
2581func (s AnalysisScheme) GoString() string {
2582	return s.String()
2583}
2584
2585// Validate inspects the fields of the type to determine if they are valid.
2586func (s *AnalysisScheme) Validate() error {
2587	invalidParams := request.ErrInvalidParams{Context: "AnalysisScheme"}
2588	if s.AnalysisSchemeLanguage == nil {
2589		invalidParams.Add(request.NewErrParamRequired("AnalysisSchemeLanguage"))
2590	}
2591	if s.AnalysisSchemeName == nil {
2592		invalidParams.Add(request.NewErrParamRequired("AnalysisSchemeName"))
2593	}
2594	if s.AnalysisSchemeName != nil && len(*s.AnalysisSchemeName) < 1 {
2595		invalidParams.Add(request.NewErrParamMinLen("AnalysisSchemeName", 1))
2596	}
2597
2598	if invalidParams.Len() > 0 {
2599		return invalidParams
2600	}
2601	return nil
2602}
2603
2604// SetAnalysisOptions sets the AnalysisOptions field's value.
2605func (s *AnalysisScheme) SetAnalysisOptions(v *AnalysisOptions) *AnalysisScheme {
2606	s.AnalysisOptions = v
2607	return s
2608}
2609
2610// SetAnalysisSchemeLanguage sets the AnalysisSchemeLanguage field's value.
2611func (s *AnalysisScheme) SetAnalysisSchemeLanguage(v string) *AnalysisScheme {
2612	s.AnalysisSchemeLanguage = &v
2613	return s
2614}
2615
2616// SetAnalysisSchemeName sets the AnalysisSchemeName field's value.
2617func (s *AnalysisScheme) SetAnalysisSchemeName(v string) *AnalysisScheme {
2618	s.AnalysisSchemeName = &v
2619	return s
2620}
2621
2622// The status and configuration of an AnalysisScheme.
2623type AnalysisSchemeStatus struct {
2624	_ struct{} `type:"structure"`
2625
2626	// Configuration information for an analysis scheme. Each analysis scheme has
2627	// a unique name and specifies the language of the text to be processed. The
2628	// following options can be configured for an analysis scheme: Synonyms, Stopwords,
2629	// StemmingDictionary, JapaneseTokenizationDictionary and AlgorithmicStemming.
2630	//
2631	// Options is a required field
2632	Options *AnalysisScheme `type:"structure" required:"true"`
2633
2634	// The status of domain configuration option.
2635	//
2636	// Status is a required field
2637	Status *OptionStatus `type:"structure" required:"true"`
2638}
2639
2640// String returns the string representation.
2641//
2642// API parameter values that are decorated as "sensitive" in the API will not
2643// be included in the string output. The member name will be present, but the
2644// value will be replaced with "sensitive".
2645func (s AnalysisSchemeStatus) String() string {
2646	return awsutil.Prettify(s)
2647}
2648
2649// GoString returns the string representation.
2650//
2651// API parameter values that are decorated as "sensitive" in the API will not
2652// be included in the string output. The member name will be present, but the
2653// value will be replaced with "sensitive".
2654func (s AnalysisSchemeStatus) GoString() string {
2655	return s.String()
2656}
2657
2658// SetOptions sets the Options field's value.
2659func (s *AnalysisSchemeStatus) SetOptions(v *AnalysisScheme) *AnalysisSchemeStatus {
2660	s.Options = v
2661	return s
2662}
2663
2664// SetStatus sets the Status field's value.
2665func (s *AnalysisSchemeStatus) SetStatus(v *OptionStatus) *AnalysisSchemeStatus {
2666	s.Status = v
2667	return s
2668}
2669
2670// The status and configuration of the domain's availability options.
2671type AvailabilityOptionsStatus struct {
2672	_ struct{} `type:"structure"`
2673
2674	// The availability options configured for the domain.
2675	//
2676	// Options is a required field
2677	Options *bool `type:"boolean" required:"true"`
2678
2679	// The status of domain configuration option.
2680	//
2681	// Status is a required field
2682	Status *OptionStatus `type:"structure" required:"true"`
2683}
2684
2685// String returns the string representation.
2686//
2687// API parameter values that are decorated as "sensitive" in the API will not
2688// be included in the string output. The member name will be present, but the
2689// value will be replaced with "sensitive".
2690func (s AvailabilityOptionsStatus) String() string {
2691	return awsutil.Prettify(s)
2692}
2693
2694// GoString returns the string representation.
2695//
2696// API parameter values that are decorated as "sensitive" in the API will not
2697// be included in the string output. The member name will be present, but the
2698// value will be replaced with "sensitive".
2699func (s AvailabilityOptionsStatus) GoString() string {
2700	return s.String()
2701}
2702
2703// SetOptions sets the Options field's value.
2704func (s *AvailabilityOptionsStatus) SetOptions(v bool) *AvailabilityOptionsStatus {
2705	s.Options = &v
2706	return s
2707}
2708
2709// SetStatus sets the Status field's value.
2710func (s *AvailabilityOptionsStatus) SetStatus(v *OptionStatus) *AvailabilityOptionsStatus {
2711	s.Status = v
2712	return s
2713}
2714
2715// Container for the parameters to the BuildSuggester operation. Specifies the
2716// name of the domain you want to update.
2717type BuildSuggestersInput struct {
2718	_ struct{} `type:"structure"`
2719
2720	// A string that represents the name of a domain. Domain names are unique across
2721	// the domains owned by an account within an AWS region. Domain names start
2722	// with a letter or number and can contain the following characters: a-z (lowercase),
2723	// 0-9, and - (hyphen).
2724	//
2725	// DomainName is a required field
2726	DomainName *string `min:"3" type:"string" required:"true"`
2727}
2728
2729// String returns the string representation.
2730//
2731// API parameter values that are decorated as "sensitive" in the API will not
2732// be included in the string output. The member name will be present, but the
2733// value will be replaced with "sensitive".
2734func (s BuildSuggestersInput) String() string {
2735	return awsutil.Prettify(s)
2736}
2737
2738// GoString returns the string representation.
2739//
2740// API parameter values that are decorated as "sensitive" in the API will not
2741// be included in the string output. The member name will be present, but the
2742// value will be replaced with "sensitive".
2743func (s BuildSuggestersInput) GoString() string {
2744	return s.String()
2745}
2746
2747// Validate inspects the fields of the type to determine if they are valid.
2748func (s *BuildSuggestersInput) Validate() error {
2749	invalidParams := request.ErrInvalidParams{Context: "BuildSuggestersInput"}
2750	if s.DomainName == nil {
2751		invalidParams.Add(request.NewErrParamRequired("DomainName"))
2752	}
2753	if s.DomainName != nil && len(*s.DomainName) < 3 {
2754		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
2755	}
2756
2757	if invalidParams.Len() > 0 {
2758		return invalidParams
2759	}
2760	return nil
2761}
2762
2763// SetDomainName sets the DomainName field's value.
2764func (s *BuildSuggestersInput) SetDomainName(v string) *BuildSuggestersInput {
2765	s.DomainName = &v
2766	return s
2767}
2768
2769// The result of a BuildSuggester request. Contains a list of the fields used
2770// for suggestions.
2771type BuildSuggestersOutput struct {
2772	_ struct{} `type:"structure"`
2773
2774	// A list of field names.
2775	FieldNames []*string `type:"list"`
2776}
2777
2778// String returns the string representation.
2779//
2780// API parameter values that are decorated as "sensitive" in the API will not
2781// be included in the string output. The member name will be present, but the
2782// value will be replaced with "sensitive".
2783func (s BuildSuggestersOutput) String() string {
2784	return awsutil.Prettify(s)
2785}
2786
2787// GoString returns the string representation.
2788//
2789// API parameter values that are decorated as "sensitive" in the API will not
2790// be included in the string output. The member name will be present, but the
2791// value will be replaced with "sensitive".
2792func (s BuildSuggestersOutput) GoString() string {
2793	return s.String()
2794}
2795
2796// SetFieldNames sets the FieldNames field's value.
2797func (s *BuildSuggestersOutput) SetFieldNames(v []*string) *BuildSuggestersOutput {
2798	s.FieldNames = v
2799	return s
2800}
2801
2802// Container for the parameters to the CreateDomain operation. Specifies a name
2803// for the new search domain.
2804type CreateDomainInput struct {
2805	_ struct{} `type:"structure"`
2806
2807	// A name for the domain you are creating. Allowed characters are a-z (lower-case
2808	// letters), 0-9, and hyphen (-). Domain names must start with a letter or number
2809	// and be at least 3 and no more than 28 characters long.
2810	//
2811	// DomainName is a required field
2812	DomainName *string `min:"3" type:"string" required:"true"`
2813}
2814
2815// String returns the string representation.
2816//
2817// API parameter values that are decorated as "sensitive" in the API will not
2818// be included in the string output. The member name will be present, but the
2819// value will be replaced with "sensitive".
2820func (s CreateDomainInput) String() string {
2821	return awsutil.Prettify(s)
2822}
2823
2824// GoString returns the string representation.
2825//
2826// API parameter values that are decorated as "sensitive" in the API will not
2827// be included in the string output. The member name will be present, but the
2828// value will be replaced with "sensitive".
2829func (s CreateDomainInput) GoString() string {
2830	return s.String()
2831}
2832
2833// Validate inspects the fields of the type to determine if they are valid.
2834func (s *CreateDomainInput) Validate() error {
2835	invalidParams := request.ErrInvalidParams{Context: "CreateDomainInput"}
2836	if s.DomainName == nil {
2837		invalidParams.Add(request.NewErrParamRequired("DomainName"))
2838	}
2839	if s.DomainName != nil && len(*s.DomainName) < 3 {
2840		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
2841	}
2842
2843	if invalidParams.Len() > 0 {
2844		return invalidParams
2845	}
2846	return nil
2847}
2848
2849// SetDomainName sets the DomainName field's value.
2850func (s *CreateDomainInput) SetDomainName(v string) *CreateDomainInput {
2851	s.DomainName = &v
2852	return s
2853}
2854
2855// The result of a CreateDomainRequest. Contains the status of a newly created
2856// domain.
2857type CreateDomainOutput struct {
2858	_ struct{} `type:"structure"`
2859
2860	// The current status of the search domain.
2861	DomainStatus *DomainStatus `type:"structure"`
2862}
2863
2864// String returns the string representation.
2865//
2866// API parameter values that are decorated as "sensitive" in the API will not
2867// be included in the string output. The member name will be present, but the
2868// value will be replaced with "sensitive".
2869func (s CreateDomainOutput) String() string {
2870	return awsutil.Prettify(s)
2871}
2872
2873// GoString returns the string representation.
2874//
2875// API parameter values that are decorated as "sensitive" in the API will not
2876// be included in the string output. The member name will be present, but the
2877// value will be replaced with "sensitive".
2878func (s CreateDomainOutput) GoString() string {
2879	return s.String()
2880}
2881
2882// SetDomainStatus sets the DomainStatus field's value.
2883func (s *CreateDomainOutput) SetDomainStatus(v *DomainStatus) *CreateDomainOutput {
2884	s.DomainStatus = v
2885	return s
2886}
2887
2888// Options for a field that contains an array of dates. Present if IndexFieldType
2889// specifies the field is of type date-array. All options are enabled by default.
2890type DateArrayOptions struct {
2891	_ struct{} `type:"structure"`
2892
2893	// A value to use for the field if the field isn't specified for a document.
2894	DefaultValue *string `type:"string"`
2895
2896	// Whether facet information can be returned for the field.
2897	FacetEnabled *bool `type:"boolean"`
2898
2899	// Whether the contents of the field can be returned in the search results.
2900	ReturnEnabled *bool `type:"boolean"`
2901
2902	// Whether the contents of the field are searchable.
2903	SearchEnabled *bool `type:"boolean"`
2904
2905	// A list of source fields to map to the field.
2906	SourceFields *string `type:"string"`
2907}
2908
2909// String returns the string representation.
2910//
2911// API parameter values that are decorated as "sensitive" in the API will not
2912// be included in the string output. The member name will be present, but the
2913// value will be replaced with "sensitive".
2914func (s DateArrayOptions) String() string {
2915	return awsutil.Prettify(s)
2916}
2917
2918// GoString returns the string representation.
2919//
2920// API parameter values that are decorated as "sensitive" in the API will not
2921// be included in the string output. The member name will be present, but the
2922// value will be replaced with "sensitive".
2923func (s DateArrayOptions) GoString() string {
2924	return s.String()
2925}
2926
2927// SetDefaultValue sets the DefaultValue field's value.
2928func (s *DateArrayOptions) SetDefaultValue(v string) *DateArrayOptions {
2929	s.DefaultValue = &v
2930	return s
2931}
2932
2933// SetFacetEnabled sets the FacetEnabled field's value.
2934func (s *DateArrayOptions) SetFacetEnabled(v bool) *DateArrayOptions {
2935	s.FacetEnabled = &v
2936	return s
2937}
2938
2939// SetReturnEnabled sets the ReturnEnabled field's value.
2940func (s *DateArrayOptions) SetReturnEnabled(v bool) *DateArrayOptions {
2941	s.ReturnEnabled = &v
2942	return s
2943}
2944
2945// SetSearchEnabled sets the SearchEnabled field's value.
2946func (s *DateArrayOptions) SetSearchEnabled(v bool) *DateArrayOptions {
2947	s.SearchEnabled = &v
2948	return s
2949}
2950
2951// SetSourceFields sets the SourceFields field's value.
2952func (s *DateArrayOptions) SetSourceFields(v string) *DateArrayOptions {
2953	s.SourceFields = &v
2954	return s
2955}
2956
2957// Options for a date field. Dates and times are specified in UTC (Coordinated
2958// Universal Time) according to IETF RFC3339: yyyy-mm-ddT00:00:00Z. Present
2959// if IndexFieldType specifies the field is of type date. All options are enabled
2960// by default.
2961type DateOptions struct {
2962	_ struct{} `type:"structure"`
2963
2964	// A value to use for the field if the field isn't specified for a document.
2965	DefaultValue *string `type:"string"`
2966
2967	// Whether facet information can be returned for the field.
2968	FacetEnabled *bool `type:"boolean"`
2969
2970	// Whether the contents of the field can be returned in the search results.
2971	ReturnEnabled *bool `type:"boolean"`
2972
2973	// Whether the contents of the field are searchable.
2974	SearchEnabled *bool `type:"boolean"`
2975
2976	// Whether the field can be used to sort the search results.
2977	SortEnabled *bool `type:"boolean"`
2978
2979	// A string that represents the name of an index field. CloudSearch supports
2980	// regular index fields as well as dynamic fields. A dynamic field's name defines
2981	// a pattern that begins or ends with a wildcard. Any document fields that don't
2982	// map to a regular index field but do match a dynamic field's pattern are configured
2983	// with the dynamic field's indexing options.
2984	//
2985	// Regular field names begin with a letter and can contain the following characters:
2986	// a-z (lowercase), 0-9, and _ (underscore). Dynamic field names must begin
2987	// or end with a wildcard (*). The wildcard can also be the only character in
2988	// a dynamic field name. Multiple wildcards, and wildcards embedded within a
2989	// string are not supported.
2990	//
2991	// The name score is reserved and cannot be used as a field name. To reference
2992	// a document's ID, you can use the name _id.
2993	SourceField *string `min:"1" type:"string"`
2994}
2995
2996// String returns the string representation.
2997//
2998// API parameter values that are decorated as "sensitive" in the API will not
2999// be included in the string output. The member name will be present, but the
3000// value will be replaced with "sensitive".
3001func (s DateOptions) String() string {
3002	return awsutil.Prettify(s)
3003}
3004
3005// GoString returns the string representation.
3006//
3007// API parameter values that are decorated as "sensitive" in the API will not
3008// be included in the string output. The member name will be present, but the
3009// value will be replaced with "sensitive".
3010func (s DateOptions) GoString() string {
3011	return s.String()
3012}
3013
3014// Validate inspects the fields of the type to determine if they are valid.
3015func (s *DateOptions) Validate() error {
3016	invalidParams := request.ErrInvalidParams{Context: "DateOptions"}
3017	if s.SourceField != nil && len(*s.SourceField) < 1 {
3018		invalidParams.Add(request.NewErrParamMinLen("SourceField", 1))
3019	}
3020
3021	if invalidParams.Len() > 0 {
3022		return invalidParams
3023	}
3024	return nil
3025}
3026
3027// SetDefaultValue sets the DefaultValue field's value.
3028func (s *DateOptions) SetDefaultValue(v string) *DateOptions {
3029	s.DefaultValue = &v
3030	return s
3031}
3032
3033// SetFacetEnabled sets the FacetEnabled field's value.
3034func (s *DateOptions) SetFacetEnabled(v bool) *DateOptions {
3035	s.FacetEnabled = &v
3036	return s
3037}
3038
3039// SetReturnEnabled sets the ReturnEnabled field's value.
3040func (s *DateOptions) SetReturnEnabled(v bool) *DateOptions {
3041	s.ReturnEnabled = &v
3042	return s
3043}
3044
3045// SetSearchEnabled sets the SearchEnabled field's value.
3046func (s *DateOptions) SetSearchEnabled(v bool) *DateOptions {
3047	s.SearchEnabled = &v
3048	return s
3049}
3050
3051// SetSortEnabled sets the SortEnabled field's value.
3052func (s *DateOptions) SetSortEnabled(v bool) *DateOptions {
3053	s.SortEnabled = &v
3054	return s
3055}
3056
3057// SetSourceField sets the SourceField field's value.
3058func (s *DateOptions) SetSourceField(v string) *DateOptions {
3059	s.SourceField = &v
3060	return s
3061}
3062
3063// Container for the parameters to the DefineAnalysisScheme operation. Specifies
3064// the name of the domain you want to update and the analysis scheme configuration.
3065type DefineAnalysisSchemeInput struct {
3066	_ struct{} `type:"structure"`
3067
3068	// Configuration information for an analysis scheme. Each analysis scheme has
3069	// a unique name and specifies the language of the text to be processed. The
3070	// following options can be configured for an analysis scheme: Synonyms, Stopwords,
3071	// StemmingDictionary, JapaneseTokenizationDictionary and AlgorithmicStemming.
3072	//
3073	// AnalysisScheme is a required field
3074	AnalysisScheme *AnalysisScheme `type:"structure" required:"true"`
3075
3076	// A string that represents the name of a domain. Domain names are unique across
3077	// the domains owned by an account within an AWS region. Domain names start
3078	// with a letter or number and can contain the following characters: a-z (lowercase),
3079	// 0-9, and - (hyphen).
3080	//
3081	// DomainName is a required field
3082	DomainName *string `min:"3" type:"string" required:"true"`
3083}
3084
3085// String returns the string representation.
3086//
3087// API parameter values that are decorated as "sensitive" in the API will not
3088// be included in the string output. The member name will be present, but the
3089// value will be replaced with "sensitive".
3090func (s DefineAnalysisSchemeInput) String() string {
3091	return awsutil.Prettify(s)
3092}
3093
3094// GoString returns the string representation.
3095//
3096// API parameter values that are decorated as "sensitive" in the API will not
3097// be included in the string output. The member name will be present, but the
3098// value will be replaced with "sensitive".
3099func (s DefineAnalysisSchemeInput) GoString() string {
3100	return s.String()
3101}
3102
3103// Validate inspects the fields of the type to determine if they are valid.
3104func (s *DefineAnalysisSchemeInput) Validate() error {
3105	invalidParams := request.ErrInvalidParams{Context: "DefineAnalysisSchemeInput"}
3106	if s.AnalysisScheme == nil {
3107		invalidParams.Add(request.NewErrParamRequired("AnalysisScheme"))
3108	}
3109	if s.DomainName == nil {
3110		invalidParams.Add(request.NewErrParamRequired("DomainName"))
3111	}
3112	if s.DomainName != nil && len(*s.DomainName) < 3 {
3113		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
3114	}
3115	if s.AnalysisScheme != nil {
3116		if err := s.AnalysisScheme.Validate(); err != nil {
3117			invalidParams.AddNested("AnalysisScheme", err.(request.ErrInvalidParams))
3118		}
3119	}
3120
3121	if invalidParams.Len() > 0 {
3122		return invalidParams
3123	}
3124	return nil
3125}
3126
3127// SetAnalysisScheme sets the AnalysisScheme field's value.
3128func (s *DefineAnalysisSchemeInput) SetAnalysisScheme(v *AnalysisScheme) *DefineAnalysisSchemeInput {
3129	s.AnalysisScheme = v
3130	return s
3131}
3132
3133// SetDomainName sets the DomainName field's value.
3134func (s *DefineAnalysisSchemeInput) SetDomainName(v string) *DefineAnalysisSchemeInput {
3135	s.DomainName = &v
3136	return s
3137}
3138
3139// The result of a DefineAnalysisScheme request. Contains the status of the
3140// newly-configured analysis scheme.
3141type DefineAnalysisSchemeOutput struct {
3142	_ struct{} `type:"structure"`
3143
3144	// The status and configuration of an AnalysisScheme.
3145	//
3146	// AnalysisScheme is a required field
3147	AnalysisScheme *AnalysisSchemeStatus `type:"structure" required:"true"`
3148}
3149
3150// String returns the string representation.
3151//
3152// API parameter values that are decorated as "sensitive" in the API will not
3153// be included in the string output. The member name will be present, but the
3154// value will be replaced with "sensitive".
3155func (s DefineAnalysisSchemeOutput) String() string {
3156	return awsutil.Prettify(s)
3157}
3158
3159// GoString returns the string representation.
3160//
3161// API parameter values that are decorated as "sensitive" in the API will not
3162// be included in the string output. The member name will be present, but the
3163// value will be replaced with "sensitive".
3164func (s DefineAnalysisSchemeOutput) GoString() string {
3165	return s.String()
3166}
3167
3168// SetAnalysisScheme sets the AnalysisScheme field's value.
3169func (s *DefineAnalysisSchemeOutput) SetAnalysisScheme(v *AnalysisSchemeStatus) *DefineAnalysisSchemeOutput {
3170	s.AnalysisScheme = v
3171	return s
3172}
3173
3174// Container for the parameters to the DefineExpression operation. Specifies
3175// the name of the domain you want to update and the expression you want to
3176// configure.
3177type DefineExpressionInput struct {
3178	_ struct{} `type:"structure"`
3179
3180	// A string that represents the name of a domain. Domain names are unique across
3181	// the domains owned by an account within an AWS region. Domain names start
3182	// with a letter or number and can contain the following characters: a-z (lowercase),
3183	// 0-9, and - (hyphen).
3184	//
3185	// DomainName is a required field
3186	DomainName *string `min:"3" type:"string" required:"true"`
3187
3188	// A named expression that can be evaluated at search time. Can be used to sort
3189	// the search results, define other expressions, or return computed information
3190	// in the search results.
3191	//
3192	// Expression is a required field
3193	Expression *Expression `type:"structure" required:"true"`
3194}
3195
3196// String returns the string representation.
3197//
3198// API parameter values that are decorated as "sensitive" in the API will not
3199// be included in the string output. The member name will be present, but the
3200// value will be replaced with "sensitive".
3201func (s DefineExpressionInput) String() string {
3202	return awsutil.Prettify(s)
3203}
3204
3205// GoString returns the string representation.
3206//
3207// API parameter values that are decorated as "sensitive" in the API will not
3208// be included in the string output. The member name will be present, but the
3209// value will be replaced with "sensitive".
3210func (s DefineExpressionInput) GoString() string {
3211	return s.String()
3212}
3213
3214// Validate inspects the fields of the type to determine if they are valid.
3215func (s *DefineExpressionInput) Validate() error {
3216	invalidParams := request.ErrInvalidParams{Context: "DefineExpressionInput"}
3217	if s.DomainName == nil {
3218		invalidParams.Add(request.NewErrParamRequired("DomainName"))
3219	}
3220	if s.DomainName != nil && len(*s.DomainName) < 3 {
3221		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
3222	}
3223	if s.Expression == nil {
3224		invalidParams.Add(request.NewErrParamRequired("Expression"))
3225	}
3226	if s.Expression != nil {
3227		if err := s.Expression.Validate(); err != nil {
3228			invalidParams.AddNested("Expression", err.(request.ErrInvalidParams))
3229		}
3230	}
3231
3232	if invalidParams.Len() > 0 {
3233		return invalidParams
3234	}
3235	return nil
3236}
3237
3238// SetDomainName sets the DomainName field's value.
3239func (s *DefineExpressionInput) SetDomainName(v string) *DefineExpressionInput {
3240	s.DomainName = &v
3241	return s
3242}
3243
3244// SetExpression sets the Expression field's value.
3245func (s *DefineExpressionInput) SetExpression(v *Expression) *DefineExpressionInput {
3246	s.Expression = v
3247	return s
3248}
3249
3250// The result of a DefineExpression request. Contains the status of the newly-configured
3251// expression.
3252type DefineExpressionOutput struct {
3253	_ struct{} `type:"structure"`
3254
3255	// The value of an Expression and its current status.
3256	//
3257	// Expression is a required field
3258	Expression *ExpressionStatus `type:"structure" required:"true"`
3259}
3260
3261// String returns the string representation.
3262//
3263// API parameter values that are decorated as "sensitive" in the API will not
3264// be included in the string output. The member name will be present, but the
3265// value will be replaced with "sensitive".
3266func (s DefineExpressionOutput) String() string {
3267	return awsutil.Prettify(s)
3268}
3269
3270// GoString returns the string representation.
3271//
3272// API parameter values that are decorated as "sensitive" in the API will not
3273// be included in the string output. The member name will be present, but the
3274// value will be replaced with "sensitive".
3275func (s DefineExpressionOutput) GoString() string {
3276	return s.String()
3277}
3278
3279// SetExpression sets the Expression field's value.
3280func (s *DefineExpressionOutput) SetExpression(v *ExpressionStatus) *DefineExpressionOutput {
3281	s.Expression = v
3282	return s
3283}
3284
3285// Container for the parameters to the DefineIndexField operation. Specifies
3286// the name of the domain you want to update and the index field configuration.
3287type DefineIndexFieldInput struct {
3288	_ struct{} `type:"structure"`
3289
3290	// A string that represents the name of a domain. Domain names are unique across
3291	// the domains owned by an account within an AWS region. Domain names start
3292	// with a letter or number and can contain the following characters: a-z (lowercase),
3293	// 0-9, and - (hyphen).
3294	//
3295	// DomainName is a required field
3296	DomainName *string `min:"3" type:"string" required:"true"`
3297
3298	// The index field and field options you want to configure.
3299	//
3300	// IndexField is a required field
3301	IndexField *IndexField `type:"structure" required:"true"`
3302}
3303
3304// String returns the string representation.
3305//
3306// API parameter values that are decorated as "sensitive" in the API will not
3307// be included in the string output. The member name will be present, but the
3308// value will be replaced with "sensitive".
3309func (s DefineIndexFieldInput) String() string {
3310	return awsutil.Prettify(s)
3311}
3312
3313// GoString returns the string representation.
3314//
3315// API parameter values that are decorated as "sensitive" in the API will not
3316// be included in the string output. The member name will be present, but the
3317// value will be replaced with "sensitive".
3318func (s DefineIndexFieldInput) GoString() string {
3319	return s.String()
3320}
3321
3322// Validate inspects the fields of the type to determine if they are valid.
3323func (s *DefineIndexFieldInput) Validate() error {
3324	invalidParams := request.ErrInvalidParams{Context: "DefineIndexFieldInput"}
3325	if s.DomainName == nil {
3326		invalidParams.Add(request.NewErrParamRequired("DomainName"))
3327	}
3328	if s.DomainName != nil && len(*s.DomainName) < 3 {
3329		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
3330	}
3331	if s.IndexField == nil {
3332		invalidParams.Add(request.NewErrParamRequired("IndexField"))
3333	}
3334	if s.IndexField != nil {
3335		if err := s.IndexField.Validate(); err != nil {
3336			invalidParams.AddNested("IndexField", err.(request.ErrInvalidParams))
3337		}
3338	}
3339
3340	if invalidParams.Len() > 0 {
3341		return invalidParams
3342	}
3343	return nil
3344}
3345
3346// SetDomainName sets the DomainName field's value.
3347func (s *DefineIndexFieldInput) SetDomainName(v string) *DefineIndexFieldInput {
3348	s.DomainName = &v
3349	return s
3350}
3351
3352// SetIndexField sets the IndexField field's value.
3353func (s *DefineIndexFieldInput) SetIndexField(v *IndexField) *DefineIndexFieldInput {
3354	s.IndexField = v
3355	return s
3356}
3357
3358// The result of a DefineIndexField request. Contains the status of the newly-configured
3359// index field.
3360type DefineIndexFieldOutput struct {
3361	_ struct{} `type:"structure"`
3362
3363	// The value of an IndexField and its current status.
3364	//
3365	// IndexField is a required field
3366	IndexField *IndexFieldStatus `type:"structure" required:"true"`
3367}
3368
3369// String returns the string representation.
3370//
3371// API parameter values that are decorated as "sensitive" in the API will not
3372// be included in the string output. The member name will be present, but the
3373// value will be replaced with "sensitive".
3374func (s DefineIndexFieldOutput) String() string {
3375	return awsutil.Prettify(s)
3376}
3377
3378// GoString returns the string representation.
3379//
3380// API parameter values that are decorated as "sensitive" in the API will not
3381// be included in the string output. The member name will be present, but the
3382// value will be replaced with "sensitive".
3383func (s DefineIndexFieldOutput) GoString() string {
3384	return s.String()
3385}
3386
3387// SetIndexField sets the IndexField field's value.
3388func (s *DefineIndexFieldOutput) SetIndexField(v *IndexFieldStatus) *DefineIndexFieldOutput {
3389	s.IndexField = v
3390	return s
3391}
3392
3393// Container for the parameters to the DefineSuggester operation. Specifies
3394// the name of the domain you want to update and the suggester configuration.
3395type DefineSuggesterInput struct {
3396	_ struct{} `type:"structure"`
3397
3398	// A string that represents the name of a domain. Domain names are unique across
3399	// the domains owned by an account within an AWS region. Domain names start
3400	// with a letter or number and can contain the following characters: a-z (lowercase),
3401	// 0-9, and - (hyphen).
3402	//
3403	// DomainName is a required field
3404	DomainName *string `min:"3" type:"string" required:"true"`
3405
3406	// Configuration information for a search suggester. Each suggester has a unique
3407	// name and specifies the text field you want to use for suggestions. The following
3408	// options can be configured for a suggester: FuzzyMatching, SortExpression.
3409	//
3410	// Suggester is a required field
3411	Suggester *Suggester `type:"structure" required:"true"`
3412}
3413
3414// String returns the string representation.
3415//
3416// API parameter values that are decorated as "sensitive" in the API will not
3417// be included in the string output. The member name will be present, but the
3418// value will be replaced with "sensitive".
3419func (s DefineSuggesterInput) String() string {
3420	return awsutil.Prettify(s)
3421}
3422
3423// GoString returns the string representation.
3424//
3425// API parameter values that are decorated as "sensitive" in the API will not
3426// be included in the string output. The member name will be present, but the
3427// value will be replaced with "sensitive".
3428func (s DefineSuggesterInput) GoString() string {
3429	return s.String()
3430}
3431
3432// Validate inspects the fields of the type to determine if they are valid.
3433func (s *DefineSuggesterInput) Validate() error {
3434	invalidParams := request.ErrInvalidParams{Context: "DefineSuggesterInput"}
3435	if s.DomainName == nil {
3436		invalidParams.Add(request.NewErrParamRequired("DomainName"))
3437	}
3438	if s.DomainName != nil && len(*s.DomainName) < 3 {
3439		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
3440	}
3441	if s.Suggester == nil {
3442		invalidParams.Add(request.NewErrParamRequired("Suggester"))
3443	}
3444	if s.Suggester != nil {
3445		if err := s.Suggester.Validate(); err != nil {
3446			invalidParams.AddNested("Suggester", err.(request.ErrInvalidParams))
3447		}
3448	}
3449
3450	if invalidParams.Len() > 0 {
3451		return invalidParams
3452	}
3453	return nil
3454}
3455
3456// SetDomainName sets the DomainName field's value.
3457func (s *DefineSuggesterInput) SetDomainName(v string) *DefineSuggesterInput {
3458	s.DomainName = &v
3459	return s
3460}
3461
3462// SetSuggester sets the Suggester field's value.
3463func (s *DefineSuggesterInput) SetSuggester(v *Suggester) *DefineSuggesterInput {
3464	s.Suggester = v
3465	return s
3466}
3467
3468// The result of a DefineSuggester request. Contains the status of the newly-configured
3469// suggester.
3470type DefineSuggesterOutput struct {
3471	_ struct{} `type:"structure"`
3472
3473	// The value of a Suggester and its current status.
3474	//
3475	// Suggester is a required field
3476	Suggester *SuggesterStatus `type:"structure" required:"true"`
3477}
3478
3479// String returns the string representation.
3480//
3481// API parameter values that are decorated as "sensitive" in the API will not
3482// be included in the string output. The member name will be present, but the
3483// value will be replaced with "sensitive".
3484func (s DefineSuggesterOutput) String() string {
3485	return awsutil.Prettify(s)
3486}
3487
3488// GoString returns the string representation.
3489//
3490// API parameter values that are decorated as "sensitive" in the API will not
3491// be included in the string output. The member name will be present, but the
3492// value will be replaced with "sensitive".
3493func (s DefineSuggesterOutput) GoString() string {
3494	return s.String()
3495}
3496
3497// SetSuggester sets the Suggester field's value.
3498func (s *DefineSuggesterOutput) SetSuggester(v *SuggesterStatus) *DefineSuggesterOutput {
3499	s.Suggester = v
3500	return s
3501}
3502
3503// Container for the parameters to the DeleteAnalysisScheme operation. Specifies
3504// the name of the domain you want to update and the analysis scheme you want
3505// to delete.
3506type DeleteAnalysisSchemeInput struct {
3507	_ struct{} `type:"structure"`
3508
3509	// The name of the analysis scheme you want to delete.
3510	//
3511	// AnalysisSchemeName is a required field
3512	AnalysisSchemeName *string `min:"1" type:"string" required:"true"`
3513
3514	// A string that represents the name of a domain. Domain names are unique across
3515	// the domains owned by an account within an AWS region. Domain names start
3516	// with a letter or number and can contain the following characters: a-z (lowercase),
3517	// 0-9, and - (hyphen).
3518	//
3519	// DomainName is a required field
3520	DomainName *string `min:"3" type:"string" required:"true"`
3521}
3522
3523// String returns the string representation.
3524//
3525// API parameter values that are decorated as "sensitive" in the API will not
3526// be included in the string output. The member name will be present, but the
3527// value will be replaced with "sensitive".
3528func (s DeleteAnalysisSchemeInput) String() string {
3529	return awsutil.Prettify(s)
3530}
3531
3532// GoString returns the string representation.
3533//
3534// API parameter values that are decorated as "sensitive" in the API will not
3535// be included in the string output. The member name will be present, but the
3536// value will be replaced with "sensitive".
3537func (s DeleteAnalysisSchemeInput) GoString() string {
3538	return s.String()
3539}
3540
3541// Validate inspects the fields of the type to determine if they are valid.
3542func (s *DeleteAnalysisSchemeInput) Validate() error {
3543	invalidParams := request.ErrInvalidParams{Context: "DeleteAnalysisSchemeInput"}
3544	if s.AnalysisSchemeName == nil {
3545		invalidParams.Add(request.NewErrParamRequired("AnalysisSchemeName"))
3546	}
3547	if s.AnalysisSchemeName != nil && len(*s.AnalysisSchemeName) < 1 {
3548		invalidParams.Add(request.NewErrParamMinLen("AnalysisSchemeName", 1))
3549	}
3550	if s.DomainName == nil {
3551		invalidParams.Add(request.NewErrParamRequired("DomainName"))
3552	}
3553	if s.DomainName != nil && len(*s.DomainName) < 3 {
3554		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
3555	}
3556
3557	if invalidParams.Len() > 0 {
3558		return invalidParams
3559	}
3560	return nil
3561}
3562
3563// SetAnalysisSchemeName sets the AnalysisSchemeName field's value.
3564func (s *DeleteAnalysisSchemeInput) SetAnalysisSchemeName(v string) *DeleteAnalysisSchemeInput {
3565	s.AnalysisSchemeName = &v
3566	return s
3567}
3568
3569// SetDomainName sets the DomainName field's value.
3570func (s *DeleteAnalysisSchemeInput) SetDomainName(v string) *DeleteAnalysisSchemeInput {
3571	s.DomainName = &v
3572	return s
3573}
3574
3575// The result of a DeleteAnalysisScheme request. Contains the status of the
3576// deleted analysis scheme.
3577type DeleteAnalysisSchemeOutput struct {
3578	_ struct{} `type:"structure"`
3579
3580	// The status of the analysis scheme being deleted.
3581	//
3582	// AnalysisScheme is a required field
3583	AnalysisScheme *AnalysisSchemeStatus `type:"structure" required:"true"`
3584}
3585
3586// String returns the string representation.
3587//
3588// API parameter values that are decorated as "sensitive" in the API will not
3589// be included in the string output. The member name will be present, but the
3590// value will be replaced with "sensitive".
3591func (s DeleteAnalysisSchemeOutput) String() string {
3592	return awsutil.Prettify(s)
3593}
3594
3595// GoString returns the string representation.
3596//
3597// API parameter values that are decorated as "sensitive" in the API will not
3598// be included in the string output. The member name will be present, but the
3599// value will be replaced with "sensitive".
3600func (s DeleteAnalysisSchemeOutput) GoString() string {
3601	return s.String()
3602}
3603
3604// SetAnalysisScheme sets the AnalysisScheme field's value.
3605func (s *DeleteAnalysisSchemeOutput) SetAnalysisScheme(v *AnalysisSchemeStatus) *DeleteAnalysisSchemeOutput {
3606	s.AnalysisScheme = v
3607	return s
3608}
3609
3610// Container for the parameters to the DeleteDomain operation. Specifies the
3611// name of the domain you want to delete.
3612type DeleteDomainInput struct {
3613	_ struct{} `type:"structure"`
3614
3615	// The name of the domain you want to permanently delete.
3616	//
3617	// DomainName is a required field
3618	DomainName *string `min:"3" type:"string" required:"true"`
3619}
3620
3621// String returns the string representation.
3622//
3623// API parameter values that are decorated as "sensitive" in the API will not
3624// be included in the string output. The member name will be present, but the
3625// value will be replaced with "sensitive".
3626func (s DeleteDomainInput) String() string {
3627	return awsutil.Prettify(s)
3628}
3629
3630// GoString returns the string representation.
3631//
3632// API parameter values that are decorated as "sensitive" in the API will not
3633// be included in the string output. The member name will be present, but the
3634// value will be replaced with "sensitive".
3635func (s DeleteDomainInput) GoString() string {
3636	return s.String()
3637}
3638
3639// Validate inspects the fields of the type to determine if they are valid.
3640func (s *DeleteDomainInput) Validate() error {
3641	invalidParams := request.ErrInvalidParams{Context: "DeleteDomainInput"}
3642	if s.DomainName == nil {
3643		invalidParams.Add(request.NewErrParamRequired("DomainName"))
3644	}
3645	if s.DomainName != nil && len(*s.DomainName) < 3 {
3646		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
3647	}
3648
3649	if invalidParams.Len() > 0 {
3650		return invalidParams
3651	}
3652	return nil
3653}
3654
3655// SetDomainName sets the DomainName field's value.
3656func (s *DeleteDomainInput) SetDomainName(v string) *DeleteDomainInput {
3657	s.DomainName = &v
3658	return s
3659}
3660
3661// The result of a DeleteDomain request. Contains the status of a newly deleted
3662// domain, or no status if the domain has already been completely deleted.
3663type DeleteDomainOutput struct {
3664	_ struct{} `type:"structure"`
3665
3666	// The current status of the search domain.
3667	DomainStatus *DomainStatus `type:"structure"`
3668}
3669
3670// String returns the string representation.
3671//
3672// API parameter values that are decorated as "sensitive" in the API will not
3673// be included in the string output. The member name will be present, but the
3674// value will be replaced with "sensitive".
3675func (s DeleteDomainOutput) String() string {
3676	return awsutil.Prettify(s)
3677}
3678
3679// GoString returns the string representation.
3680//
3681// API parameter values that are decorated as "sensitive" in the API will not
3682// be included in the string output. The member name will be present, but the
3683// value will be replaced with "sensitive".
3684func (s DeleteDomainOutput) GoString() string {
3685	return s.String()
3686}
3687
3688// SetDomainStatus sets the DomainStatus field's value.
3689func (s *DeleteDomainOutput) SetDomainStatus(v *DomainStatus) *DeleteDomainOutput {
3690	s.DomainStatus = v
3691	return s
3692}
3693
3694// Container for the parameters to the DeleteExpression operation. Specifies
3695// the name of the domain you want to update and the name of the expression
3696// you want to delete.
3697type DeleteExpressionInput struct {
3698	_ struct{} `type:"structure"`
3699
3700	// A string that represents the name of a domain. Domain names are unique across
3701	// the domains owned by an account within an AWS region. Domain names start
3702	// with a letter or number and can contain the following characters: a-z (lowercase),
3703	// 0-9, and - (hyphen).
3704	//
3705	// DomainName is a required field
3706	DomainName *string `min:"3" type:"string" required:"true"`
3707
3708	// The name of the Expression to delete.
3709	//
3710	// ExpressionName is a required field
3711	ExpressionName *string `min:"1" type:"string" required:"true"`
3712}
3713
3714// String returns the string representation.
3715//
3716// API parameter values that are decorated as "sensitive" in the API will not
3717// be included in the string output. The member name will be present, but the
3718// value will be replaced with "sensitive".
3719func (s DeleteExpressionInput) String() string {
3720	return awsutil.Prettify(s)
3721}
3722
3723// GoString returns the string representation.
3724//
3725// API parameter values that are decorated as "sensitive" in the API will not
3726// be included in the string output. The member name will be present, but the
3727// value will be replaced with "sensitive".
3728func (s DeleteExpressionInput) GoString() string {
3729	return s.String()
3730}
3731
3732// Validate inspects the fields of the type to determine if they are valid.
3733func (s *DeleteExpressionInput) Validate() error {
3734	invalidParams := request.ErrInvalidParams{Context: "DeleteExpressionInput"}
3735	if s.DomainName == nil {
3736		invalidParams.Add(request.NewErrParamRequired("DomainName"))
3737	}
3738	if s.DomainName != nil && len(*s.DomainName) < 3 {
3739		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
3740	}
3741	if s.ExpressionName == nil {
3742		invalidParams.Add(request.NewErrParamRequired("ExpressionName"))
3743	}
3744	if s.ExpressionName != nil && len(*s.ExpressionName) < 1 {
3745		invalidParams.Add(request.NewErrParamMinLen("ExpressionName", 1))
3746	}
3747
3748	if invalidParams.Len() > 0 {
3749		return invalidParams
3750	}
3751	return nil
3752}
3753
3754// SetDomainName sets the DomainName field's value.
3755func (s *DeleteExpressionInput) SetDomainName(v string) *DeleteExpressionInput {
3756	s.DomainName = &v
3757	return s
3758}
3759
3760// SetExpressionName sets the ExpressionName field's value.
3761func (s *DeleteExpressionInput) SetExpressionName(v string) *DeleteExpressionInput {
3762	s.ExpressionName = &v
3763	return s
3764}
3765
3766// The result of a DeleteExpression request. Specifies the expression being
3767// deleted.
3768type DeleteExpressionOutput struct {
3769	_ struct{} `type:"structure"`
3770
3771	// The status of the expression being deleted.
3772	//
3773	// Expression is a required field
3774	Expression *ExpressionStatus `type:"structure" required:"true"`
3775}
3776
3777// String returns the string representation.
3778//
3779// API parameter values that are decorated as "sensitive" in the API will not
3780// be included in the string output. The member name will be present, but the
3781// value will be replaced with "sensitive".
3782func (s DeleteExpressionOutput) String() string {
3783	return awsutil.Prettify(s)
3784}
3785
3786// GoString returns the string representation.
3787//
3788// API parameter values that are decorated as "sensitive" in the API will not
3789// be included in the string output. The member name will be present, but the
3790// value will be replaced with "sensitive".
3791func (s DeleteExpressionOutput) GoString() string {
3792	return s.String()
3793}
3794
3795// SetExpression sets the Expression field's value.
3796func (s *DeleteExpressionOutput) SetExpression(v *ExpressionStatus) *DeleteExpressionOutput {
3797	s.Expression = v
3798	return s
3799}
3800
3801// Container for the parameters to the DeleteIndexField operation. Specifies
3802// the name of the domain you want to update and the name of the index field
3803// you want to delete.
3804type DeleteIndexFieldInput struct {
3805	_ struct{} `type:"structure"`
3806
3807	// A string that represents the name of a domain. Domain names are unique across
3808	// the domains owned by an account within an AWS region. Domain names start
3809	// with a letter or number and can contain the following characters: a-z (lowercase),
3810	// 0-9, and - (hyphen).
3811	//
3812	// DomainName is a required field
3813	DomainName *string `min:"3" type:"string" required:"true"`
3814
3815	// The name of the index field your want to remove from the domain's indexing
3816	// options.
3817	//
3818	// IndexFieldName is a required field
3819	IndexFieldName *string `min:"1" type:"string" required:"true"`
3820}
3821
3822// String returns the string representation.
3823//
3824// API parameter values that are decorated as "sensitive" in the API will not
3825// be included in the string output. The member name will be present, but the
3826// value will be replaced with "sensitive".
3827func (s DeleteIndexFieldInput) String() string {
3828	return awsutil.Prettify(s)
3829}
3830
3831// GoString returns the string representation.
3832//
3833// API parameter values that are decorated as "sensitive" in the API will not
3834// be included in the string output. The member name will be present, but the
3835// value will be replaced with "sensitive".
3836func (s DeleteIndexFieldInput) GoString() string {
3837	return s.String()
3838}
3839
3840// Validate inspects the fields of the type to determine if they are valid.
3841func (s *DeleteIndexFieldInput) Validate() error {
3842	invalidParams := request.ErrInvalidParams{Context: "DeleteIndexFieldInput"}
3843	if s.DomainName == nil {
3844		invalidParams.Add(request.NewErrParamRequired("DomainName"))
3845	}
3846	if s.DomainName != nil && len(*s.DomainName) < 3 {
3847		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
3848	}
3849	if s.IndexFieldName == nil {
3850		invalidParams.Add(request.NewErrParamRequired("IndexFieldName"))
3851	}
3852	if s.IndexFieldName != nil && len(*s.IndexFieldName) < 1 {
3853		invalidParams.Add(request.NewErrParamMinLen("IndexFieldName", 1))
3854	}
3855
3856	if invalidParams.Len() > 0 {
3857		return invalidParams
3858	}
3859	return nil
3860}
3861
3862// SetDomainName sets the DomainName field's value.
3863func (s *DeleteIndexFieldInput) SetDomainName(v string) *DeleteIndexFieldInput {
3864	s.DomainName = &v
3865	return s
3866}
3867
3868// SetIndexFieldName sets the IndexFieldName field's value.
3869func (s *DeleteIndexFieldInput) SetIndexFieldName(v string) *DeleteIndexFieldInput {
3870	s.IndexFieldName = &v
3871	return s
3872}
3873
3874// The result of a DeleteIndexField request.
3875type DeleteIndexFieldOutput struct {
3876	_ struct{} `type:"structure"`
3877
3878	// The status of the index field being deleted.
3879	//
3880	// IndexField is a required field
3881	IndexField *IndexFieldStatus `type:"structure" required:"true"`
3882}
3883
3884// String returns the string representation.
3885//
3886// API parameter values that are decorated as "sensitive" in the API will not
3887// be included in the string output. The member name will be present, but the
3888// value will be replaced with "sensitive".
3889func (s DeleteIndexFieldOutput) String() string {
3890	return awsutil.Prettify(s)
3891}
3892
3893// GoString returns the string representation.
3894//
3895// API parameter values that are decorated as "sensitive" in the API will not
3896// be included in the string output. The member name will be present, but the
3897// value will be replaced with "sensitive".
3898func (s DeleteIndexFieldOutput) GoString() string {
3899	return s.String()
3900}
3901
3902// SetIndexField sets the IndexField field's value.
3903func (s *DeleteIndexFieldOutput) SetIndexField(v *IndexFieldStatus) *DeleteIndexFieldOutput {
3904	s.IndexField = v
3905	return s
3906}
3907
3908// Container for the parameters to the DeleteSuggester operation. Specifies
3909// the name of the domain you want to update and name of the suggester you want
3910// to delete.
3911type DeleteSuggesterInput struct {
3912	_ struct{} `type:"structure"`
3913
3914	// A string that represents the name of a domain. Domain names are unique across
3915	// the domains owned by an account within an AWS region. Domain names start
3916	// with a letter or number and can contain the following characters: a-z (lowercase),
3917	// 0-9, and - (hyphen).
3918	//
3919	// DomainName is a required field
3920	DomainName *string `min:"3" type:"string" required:"true"`
3921
3922	// Specifies the name of the suggester you want to delete.
3923	//
3924	// SuggesterName is a required field
3925	SuggesterName *string `min:"1" type:"string" required:"true"`
3926}
3927
3928// String returns the string representation.
3929//
3930// API parameter values that are decorated as "sensitive" in the API will not
3931// be included in the string output. The member name will be present, but the
3932// value will be replaced with "sensitive".
3933func (s DeleteSuggesterInput) String() string {
3934	return awsutil.Prettify(s)
3935}
3936
3937// GoString returns the string representation.
3938//
3939// API parameter values that are decorated as "sensitive" in the API will not
3940// be included in the string output. The member name will be present, but the
3941// value will be replaced with "sensitive".
3942func (s DeleteSuggesterInput) GoString() string {
3943	return s.String()
3944}
3945
3946// Validate inspects the fields of the type to determine if they are valid.
3947func (s *DeleteSuggesterInput) Validate() error {
3948	invalidParams := request.ErrInvalidParams{Context: "DeleteSuggesterInput"}
3949	if s.DomainName == nil {
3950		invalidParams.Add(request.NewErrParamRequired("DomainName"))
3951	}
3952	if s.DomainName != nil && len(*s.DomainName) < 3 {
3953		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
3954	}
3955	if s.SuggesterName == nil {
3956		invalidParams.Add(request.NewErrParamRequired("SuggesterName"))
3957	}
3958	if s.SuggesterName != nil && len(*s.SuggesterName) < 1 {
3959		invalidParams.Add(request.NewErrParamMinLen("SuggesterName", 1))
3960	}
3961
3962	if invalidParams.Len() > 0 {
3963		return invalidParams
3964	}
3965	return nil
3966}
3967
3968// SetDomainName sets the DomainName field's value.
3969func (s *DeleteSuggesterInput) SetDomainName(v string) *DeleteSuggesterInput {
3970	s.DomainName = &v
3971	return s
3972}
3973
3974// SetSuggesterName sets the SuggesterName field's value.
3975func (s *DeleteSuggesterInput) SetSuggesterName(v string) *DeleteSuggesterInput {
3976	s.SuggesterName = &v
3977	return s
3978}
3979
3980// The result of a DeleteSuggester request. Contains the status of the deleted
3981// suggester.
3982type DeleteSuggesterOutput struct {
3983	_ struct{} `type:"structure"`
3984
3985	// The status of the suggester being deleted.
3986	//
3987	// Suggester is a required field
3988	Suggester *SuggesterStatus `type:"structure" required:"true"`
3989}
3990
3991// String returns the string representation.
3992//
3993// API parameter values that are decorated as "sensitive" in the API will not
3994// be included in the string output. The member name will be present, but the
3995// value will be replaced with "sensitive".
3996func (s DeleteSuggesterOutput) String() string {
3997	return awsutil.Prettify(s)
3998}
3999
4000// GoString returns the string representation.
4001//
4002// API parameter values that are decorated as "sensitive" in the API will not
4003// be included in the string output. The member name will be present, but the
4004// value will be replaced with "sensitive".
4005func (s DeleteSuggesterOutput) GoString() string {
4006	return s.String()
4007}
4008
4009// SetSuggester sets the Suggester field's value.
4010func (s *DeleteSuggesterOutput) SetSuggester(v *SuggesterStatus) *DeleteSuggesterOutput {
4011	s.Suggester = v
4012	return s
4013}
4014
4015// Container for the parameters to the DescribeAnalysisSchemes operation. Specifies
4016// the name of the domain you want to describe. To limit the response to particular
4017// analysis schemes, specify the names of the analysis schemes you want to describe.
4018// To show the active configuration and exclude any pending changes, set the
4019// Deployed option to true.
4020type DescribeAnalysisSchemesInput struct {
4021	_ struct{} `type:"structure"`
4022
4023	// The analysis schemes you want to describe.
4024	AnalysisSchemeNames []*string `type:"list"`
4025
4026	// Whether to display the deployed configuration (true) or include any pending
4027	// changes (false). Defaults to false.
4028	Deployed *bool `type:"boolean"`
4029
4030	// The name of the domain you want to describe.
4031	//
4032	// DomainName is a required field
4033	DomainName *string `min:"3" type:"string" required:"true"`
4034}
4035
4036// String returns the string representation.
4037//
4038// API parameter values that are decorated as "sensitive" in the API will not
4039// be included in the string output. The member name will be present, but the
4040// value will be replaced with "sensitive".
4041func (s DescribeAnalysisSchemesInput) String() string {
4042	return awsutil.Prettify(s)
4043}
4044
4045// GoString returns the string representation.
4046//
4047// API parameter values that are decorated as "sensitive" in the API will not
4048// be included in the string output. The member name will be present, but the
4049// value will be replaced with "sensitive".
4050func (s DescribeAnalysisSchemesInput) GoString() string {
4051	return s.String()
4052}
4053
4054// Validate inspects the fields of the type to determine if they are valid.
4055func (s *DescribeAnalysisSchemesInput) Validate() error {
4056	invalidParams := request.ErrInvalidParams{Context: "DescribeAnalysisSchemesInput"}
4057	if s.DomainName == nil {
4058		invalidParams.Add(request.NewErrParamRequired("DomainName"))
4059	}
4060	if s.DomainName != nil && len(*s.DomainName) < 3 {
4061		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
4062	}
4063
4064	if invalidParams.Len() > 0 {
4065		return invalidParams
4066	}
4067	return nil
4068}
4069
4070// SetAnalysisSchemeNames sets the AnalysisSchemeNames field's value.
4071func (s *DescribeAnalysisSchemesInput) SetAnalysisSchemeNames(v []*string) *DescribeAnalysisSchemesInput {
4072	s.AnalysisSchemeNames = v
4073	return s
4074}
4075
4076// SetDeployed sets the Deployed field's value.
4077func (s *DescribeAnalysisSchemesInput) SetDeployed(v bool) *DescribeAnalysisSchemesInput {
4078	s.Deployed = &v
4079	return s
4080}
4081
4082// SetDomainName sets the DomainName field's value.
4083func (s *DescribeAnalysisSchemesInput) SetDomainName(v string) *DescribeAnalysisSchemesInput {
4084	s.DomainName = &v
4085	return s
4086}
4087
4088// The result of a DescribeAnalysisSchemes request. Contains the analysis schemes
4089// configured for the domain specified in the request.
4090type DescribeAnalysisSchemesOutput struct {
4091	_ struct{} `type:"structure"`
4092
4093	// The analysis scheme descriptions.
4094	//
4095	// AnalysisSchemes is a required field
4096	AnalysisSchemes []*AnalysisSchemeStatus `type:"list" required:"true"`
4097}
4098
4099// String returns the string representation.
4100//
4101// API parameter values that are decorated as "sensitive" in the API will not
4102// be included in the string output. The member name will be present, but the
4103// value will be replaced with "sensitive".
4104func (s DescribeAnalysisSchemesOutput) String() string {
4105	return awsutil.Prettify(s)
4106}
4107
4108// GoString returns the string representation.
4109//
4110// API parameter values that are decorated as "sensitive" in the API will not
4111// be included in the string output. The member name will be present, but the
4112// value will be replaced with "sensitive".
4113func (s DescribeAnalysisSchemesOutput) GoString() string {
4114	return s.String()
4115}
4116
4117// SetAnalysisSchemes sets the AnalysisSchemes field's value.
4118func (s *DescribeAnalysisSchemesOutput) SetAnalysisSchemes(v []*AnalysisSchemeStatus) *DescribeAnalysisSchemesOutput {
4119	s.AnalysisSchemes = v
4120	return s
4121}
4122
4123// Container for the parameters to the DescribeAvailabilityOptions operation.
4124// Specifies the name of the domain you want to describe. To show the active
4125// configuration and exclude any pending changes, set the Deployed option to
4126// true.
4127type DescribeAvailabilityOptionsInput struct {
4128	_ struct{} `type:"structure"`
4129
4130	// Whether to display the deployed configuration (true) or include any pending
4131	// changes (false). Defaults to false.
4132	Deployed *bool `type:"boolean"`
4133
4134	// The name of the domain you want to describe.
4135	//
4136	// DomainName is a required field
4137	DomainName *string `min:"3" type:"string" required:"true"`
4138}
4139
4140// String returns the string representation.
4141//
4142// API parameter values that are decorated as "sensitive" in the API will not
4143// be included in the string output. The member name will be present, but the
4144// value will be replaced with "sensitive".
4145func (s DescribeAvailabilityOptionsInput) String() string {
4146	return awsutil.Prettify(s)
4147}
4148
4149// GoString returns the string representation.
4150//
4151// API parameter values that are decorated as "sensitive" in the API will not
4152// be included in the string output. The member name will be present, but the
4153// value will be replaced with "sensitive".
4154func (s DescribeAvailabilityOptionsInput) GoString() string {
4155	return s.String()
4156}
4157
4158// Validate inspects the fields of the type to determine if they are valid.
4159func (s *DescribeAvailabilityOptionsInput) Validate() error {
4160	invalidParams := request.ErrInvalidParams{Context: "DescribeAvailabilityOptionsInput"}
4161	if s.DomainName == nil {
4162		invalidParams.Add(request.NewErrParamRequired("DomainName"))
4163	}
4164	if s.DomainName != nil && len(*s.DomainName) < 3 {
4165		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
4166	}
4167
4168	if invalidParams.Len() > 0 {
4169		return invalidParams
4170	}
4171	return nil
4172}
4173
4174// SetDeployed sets the Deployed field's value.
4175func (s *DescribeAvailabilityOptionsInput) SetDeployed(v bool) *DescribeAvailabilityOptionsInput {
4176	s.Deployed = &v
4177	return s
4178}
4179
4180// SetDomainName sets the DomainName field's value.
4181func (s *DescribeAvailabilityOptionsInput) SetDomainName(v string) *DescribeAvailabilityOptionsInput {
4182	s.DomainName = &v
4183	return s
4184}
4185
4186// The result of a DescribeAvailabilityOptions request. Indicates whether or
4187// not the Multi-AZ option is enabled for the domain specified in the request.
4188type DescribeAvailabilityOptionsOutput struct {
4189	_ struct{} `type:"structure"`
4190
4191	// The availability options configured for the domain. Indicates whether Multi-AZ
4192	// is enabled for the domain.
4193	AvailabilityOptions *AvailabilityOptionsStatus `type:"structure"`
4194}
4195
4196// String returns the string representation.
4197//
4198// API parameter values that are decorated as "sensitive" in the API will not
4199// be included in the string output. The member name will be present, but the
4200// value will be replaced with "sensitive".
4201func (s DescribeAvailabilityOptionsOutput) String() string {
4202	return awsutil.Prettify(s)
4203}
4204
4205// GoString returns the string representation.
4206//
4207// API parameter values that are decorated as "sensitive" in the API will not
4208// be included in the string output. The member name will be present, but the
4209// value will be replaced with "sensitive".
4210func (s DescribeAvailabilityOptionsOutput) GoString() string {
4211	return s.String()
4212}
4213
4214// SetAvailabilityOptions sets the AvailabilityOptions field's value.
4215func (s *DescribeAvailabilityOptionsOutput) SetAvailabilityOptions(v *AvailabilityOptionsStatus) *DescribeAvailabilityOptionsOutput {
4216	s.AvailabilityOptions = v
4217	return s
4218}
4219
4220// Container for the parameters to the DescribeDomainEndpointOptions operation.
4221// Specify the name of the domain you want to describe. To show the active configuration
4222// and exclude any pending changes, set the Deployed option to true.
4223type DescribeDomainEndpointOptionsInput struct {
4224	_ struct{} `type:"structure"`
4225
4226	// Whether to retrieve the latest configuration (which might be in a Processing
4227	// state) or the current, active configuration. Defaults to false.
4228	Deployed *bool `type:"boolean"`
4229
4230	// A string that represents the name of a domain.
4231	//
4232	// DomainName is a required field
4233	DomainName *string `min:"3" type:"string" required:"true"`
4234}
4235
4236// String returns the string representation.
4237//
4238// API parameter values that are decorated as "sensitive" in the API will not
4239// be included in the string output. The member name will be present, but the
4240// value will be replaced with "sensitive".
4241func (s DescribeDomainEndpointOptionsInput) String() string {
4242	return awsutil.Prettify(s)
4243}
4244
4245// GoString returns the string representation.
4246//
4247// API parameter values that are decorated as "sensitive" in the API will not
4248// be included in the string output. The member name will be present, but the
4249// value will be replaced with "sensitive".
4250func (s DescribeDomainEndpointOptionsInput) GoString() string {
4251	return s.String()
4252}
4253
4254// Validate inspects the fields of the type to determine if they are valid.
4255func (s *DescribeDomainEndpointOptionsInput) Validate() error {
4256	invalidParams := request.ErrInvalidParams{Context: "DescribeDomainEndpointOptionsInput"}
4257	if s.DomainName == nil {
4258		invalidParams.Add(request.NewErrParamRequired("DomainName"))
4259	}
4260	if s.DomainName != nil && len(*s.DomainName) < 3 {
4261		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
4262	}
4263
4264	if invalidParams.Len() > 0 {
4265		return invalidParams
4266	}
4267	return nil
4268}
4269
4270// SetDeployed sets the Deployed field's value.
4271func (s *DescribeDomainEndpointOptionsInput) SetDeployed(v bool) *DescribeDomainEndpointOptionsInput {
4272	s.Deployed = &v
4273	return s
4274}
4275
4276// SetDomainName sets the DomainName field's value.
4277func (s *DescribeDomainEndpointOptionsInput) SetDomainName(v string) *DescribeDomainEndpointOptionsInput {
4278	s.DomainName = &v
4279	return s
4280}
4281
4282// The result of a DescribeDomainEndpointOptions request. Contains the status
4283// and configuration of a search domain's endpoint options.
4284type DescribeDomainEndpointOptionsOutput struct {
4285	_ struct{} `type:"structure"`
4286
4287	// The status and configuration of a search domain's endpoint options.
4288	DomainEndpointOptions *DomainEndpointOptionsStatus `type:"structure"`
4289}
4290
4291// String returns the string representation.
4292//
4293// API parameter values that are decorated as "sensitive" in the API will not
4294// be included in the string output. The member name will be present, but the
4295// value will be replaced with "sensitive".
4296func (s DescribeDomainEndpointOptionsOutput) String() string {
4297	return awsutil.Prettify(s)
4298}
4299
4300// GoString returns the string representation.
4301//
4302// API parameter values that are decorated as "sensitive" in the API will not
4303// be included in the string output. The member name will be present, but the
4304// value will be replaced with "sensitive".
4305func (s DescribeDomainEndpointOptionsOutput) GoString() string {
4306	return s.String()
4307}
4308
4309// SetDomainEndpointOptions sets the DomainEndpointOptions field's value.
4310func (s *DescribeDomainEndpointOptionsOutput) SetDomainEndpointOptions(v *DomainEndpointOptionsStatus) *DescribeDomainEndpointOptionsOutput {
4311	s.DomainEndpointOptions = v
4312	return s
4313}
4314
4315// Container for the parameters to the DescribeDomains operation. By default
4316// shows the status of all domains. To restrict the response to particular domains,
4317// specify the names of the domains you want to describe.
4318type DescribeDomainsInput struct {
4319	_ struct{} `type:"structure"`
4320
4321	// The names of the domains you want to include in the response.
4322	DomainNames []*string `type:"list"`
4323}
4324
4325// String returns the string representation.
4326//
4327// API parameter values that are decorated as "sensitive" in the API will not
4328// be included in the string output. The member name will be present, but the
4329// value will be replaced with "sensitive".
4330func (s DescribeDomainsInput) String() string {
4331	return awsutil.Prettify(s)
4332}
4333
4334// GoString returns the string representation.
4335//
4336// API parameter values that are decorated as "sensitive" in the API will not
4337// be included in the string output. The member name will be present, but the
4338// value will be replaced with "sensitive".
4339func (s DescribeDomainsInput) GoString() string {
4340	return s.String()
4341}
4342
4343// SetDomainNames sets the DomainNames field's value.
4344func (s *DescribeDomainsInput) SetDomainNames(v []*string) *DescribeDomainsInput {
4345	s.DomainNames = v
4346	return s
4347}
4348
4349// The result of a DescribeDomains request. Contains the status of the domains
4350// specified in the request or all domains owned by the account.
4351type DescribeDomainsOutput struct {
4352	_ struct{} `type:"structure"`
4353
4354	// A list that contains the status of each requested domain.
4355	//
4356	// DomainStatusList is a required field
4357	DomainStatusList []*DomainStatus `type:"list" required:"true"`
4358}
4359
4360// String returns the string representation.
4361//
4362// API parameter values that are decorated as "sensitive" in the API will not
4363// be included in the string output. The member name will be present, but the
4364// value will be replaced with "sensitive".
4365func (s DescribeDomainsOutput) String() string {
4366	return awsutil.Prettify(s)
4367}
4368
4369// GoString returns the string representation.
4370//
4371// API parameter values that are decorated as "sensitive" in the API will not
4372// be included in the string output. The member name will be present, but the
4373// value will be replaced with "sensitive".
4374func (s DescribeDomainsOutput) GoString() string {
4375	return s.String()
4376}
4377
4378// SetDomainStatusList sets the DomainStatusList field's value.
4379func (s *DescribeDomainsOutput) SetDomainStatusList(v []*DomainStatus) *DescribeDomainsOutput {
4380	s.DomainStatusList = v
4381	return s
4382}
4383
4384// Container for the parameters to the DescribeDomains operation. Specifies
4385// the name of the domain you want to describe. To restrict the response to
4386// particular expressions, specify the names of the expressions you want to
4387// describe. To show the active configuration and exclude any pending changes,
4388// set the Deployed option to true.
4389type DescribeExpressionsInput struct {
4390	_ struct{} `type:"structure"`
4391
4392	// Whether to display the deployed configuration (true) or include any pending
4393	// changes (false). Defaults to false.
4394	Deployed *bool `type:"boolean"`
4395
4396	// The name of the domain you want to describe.
4397	//
4398	// DomainName is a required field
4399	DomainName *string `min:"3" type:"string" required:"true"`
4400
4401	// Limits the DescribeExpressions response to the specified expressions. If
4402	// not specified, all expressions are shown.
4403	ExpressionNames []*string `type:"list"`
4404}
4405
4406// String returns the string representation.
4407//
4408// API parameter values that are decorated as "sensitive" in the API will not
4409// be included in the string output. The member name will be present, but the
4410// value will be replaced with "sensitive".
4411func (s DescribeExpressionsInput) String() string {
4412	return awsutil.Prettify(s)
4413}
4414
4415// GoString returns the string representation.
4416//
4417// API parameter values that are decorated as "sensitive" in the API will not
4418// be included in the string output. The member name will be present, but the
4419// value will be replaced with "sensitive".
4420func (s DescribeExpressionsInput) GoString() string {
4421	return s.String()
4422}
4423
4424// Validate inspects the fields of the type to determine if they are valid.
4425func (s *DescribeExpressionsInput) Validate() error {
4426	invalidParams := request.ErrInvalidParams{Context: "DescribeExpressionsInput"}
4427	if s.DomainName == nil {
4428		invalidParams.Add(request.NewErrParamRequired("DomainName"))
4429	}
4430	if s.DomainName != nil && len(*s.DomainName) < 3 {
4431		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
4432	}
4433
4434	if invalidParams.Len() > 0 {
4435		return invalidParams
4436	}
4437	return nil
4438}
4439
4440// SetDeployed sets the Deployed field's value.
4441func (s *DescribeExpressionsInput) SetDeployed(v bool) *DescribeExpressionsInput {
4442	s.Deployed = &v
4443	return s
4444}
4445
4446// SetDomainName sets the DomainName field's value.
4447func (s *DescribeExpressionsInput) SetDomainName(v string) *DescribeExpressionsInput {
4448	s.DomainName = &v
4449	return s
4450}
4451
4452// SetExpressionNames sets the ExpressionNames field's value.
4453func (s *DescribeExpressionsInput) SetExpressionNames(v []*string) *DescribeExpressionsInput {
4454	s.ExpressionNames = v
4455	return s
4456}
4457
4458// The result of a DescribeExpressions request. Contains the expressions configured
4459// for the domain specified in the request.
4460type DescribeExpressionsOutput struct {
4461	_ struct{} `type:"structure"`
4462
4463	// The expressions configured for the domain.
4464	//
4465	// Expressions is a required field
4466	Expressions []*ExpressionStatus `type:"list" required:"true"`
4467}
4468
4469// String returns the string representation.
4470//
4471// API parameter values that are decorated as "sensitive" in the API will not
4472// be included in the string output. The member name will be present, but the
4473// value will be replaced with "sensitive".
4474func (s DescribeExpressionsOutput) String() string {
4475	return awsutil.Prettify(s)
4476}
4477
4478// GoString returns the string representation.
4479//
4480// API parameter values that are decorated as "sensitive" in the API will not
4481// be included in the string output. The member name will be present, but the
4482// value will be replaced with "sensitive".
4483func (s DescribeExpressionsOutput) GoString() string {
4484	return s.String()
4485}
4486
4487// SetExpressions sets the Expressions field's value.
4488func (s *DescribeExpressionsOutput) SetExpressions(v []*ExpressionStatus) *DescribeExpressionsOutput {
4489	s.Expressions = v
4490	return s
4491}
4492
4493// Container for the parameters to the DescribeIndexFields operation. Specifies
4494// the name of the domain you want to describe. To restrict the response to
4495// particular index fields, specify the names of the index fields you want to
4496// describe. To show the active configuration and exclude any pending changes,
4497// set the Deployed option to true.
4498type DescribeIndexFieldsInput struct {
4499	_ struct{} `type:"structure"`
4500
4501	// Whether to display the deployed configuration (true) or include any pending
4502	// changes (false). Defaults to false.
4503	Deployed *bool `type:"boolean"`
4504
4505	// The name of the domain you want to describe.
4506	//
4507	// DomainName is a required field
4508	DomainName *string `min:"3" type:"string" required:"true"`
4509
4510	// A list of the index fields you want to describe. If not specified, information
4511	// is returned for all configured index fields.
4512	FieldNames []*string `type:"list"`
4513}
4514
4515// String returns the string representation.
4516//
4517// API parameter values that are decorated as "sensitive" in the API will not
4518// be included in the string output. The member name will be present, but the
4519// value will be replaced with "sensitive".
4520func (s DescribeIndexFieldsInput) String() string {
4521	return awsutil.Prettify(s)
4522}
4523
4524// GoString returns the string representation.
4525//
4526// API parameter values that are decorated as "sensitive" in the API will not
4527// be included in the string output. The member name will be present, but the
4528// value will be replaced with "sensitive".
4529func (s DescribeIndexFieldsInput) GoString() string {
4530	return s.String()
4531}
4532
4533// Validate inspects the fields of the type to determine if they are valid.
4534func (s *DescribeIndexFieldsInput) Validate() error {
4535	invalidParams := request.ErrInvalidParams{Context: "DescribeIndexFieldsInput"}
4536	if s.DomainName == nil {
4537		invalidParams.Add(request.NewErrParamRequired("DomainName"))
4538	}
4539	if s.DomainName != nil && len(*s.DomainName) < 3 {
4540		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
4541	}
4542
4543	if invalidParams.Len() > 0 {
4544		return invalidParams
4545	}
4546	return nil
4547}
4548
4549// SetDeployed sets the Deployed field's value.
4550func (s *DescribeIndexFieldsInput) SetDeployed(v bool) *DescribeIndexFieldsInput {
4551	s.Deployed = &v
4552	return s
4553}
4554
4555// SetDomainName sets the DomainName field's value.
4556func (s *DescribeIndexFieldsInput) SetDomainName(v string) *DescribeIndexFieldsInput {
4557	s.DomainName = &v
4558	return s
4559}
4560
4561// SetFieldNames sets the FieldNames field's value.
4562func (s *DescribeIndexFieldsInput) SetFieldNames(v []*string) *DescribeIndexFieldsInput {
4563	s.FieldNames = v
4564	return s
4565}
4566
4567// The result of a DescribeIndexFields request. Contains the index fields configured
4568// for the domain specified in the request.
4569type DescribeIndexFieldsOutput struct {
4570	_ struct{} `type:"structure"`
4571
4572	// The index fields configured for the domain.
4573	//
4574	// IndexFields is a required field
4575	IndexFields []*IndexFieldStatus `type:"list" required:"true"`
4576}
4577
4578// String returns the string representation.
4579//
4580// API parameter values that are decorated as "sensitive" in the API will not
4581// be included in the string output. The member name will be present, but the
4582// value will be replaced with "sensitive".
4583func (s DescribeIndexFieldsOutput) String() string {
4584	return awsutil.Prettify(s)
4585}
4586
4587// GoString returns the string representation.
4588//
4589// API parameter values that are decorated as "sensitive" in the API will not
4590// be included in the string output. The member name will be present, but the
4591// value will be replaced with "sensitive".
4592func (s DescribeIndexFieldsOutput) GoString() string {
4593	return s.String()
4594}
4595
4596// SetIndexFields sets the IndexFields field's value.
4597func (s *DescribeIndexFieldsOutput) SetIndexFields(v []*IndexFieldStatus) *DescribeIndexFieldsOutput {
4598	s.IndexFields = v
4599	return s
4600}
4601
4602// Container for the parameters to the DescribeScalingParameters operation.
4603// Specifies the name of the domain you want to describe.
4604type DescribeScalingParametersInput struct {
4605	_ struct{} `type:"structure"`
4606
4607	// A string that represents the name of a domain. Domain names are unique across
4608	// the domains owned by an account within an AWS region. Domain names start
4609	// with a letter or number and can contain the following characters: a-z (lowercase),
4610	// 0-9, and - (hyphen).
4611	//
4612	// DomainName is a required field
4613	DomainName *string `min:"3" type:"string" required:"true"`
4614}
4615
4616// String returns the string representation.
4617//
4618// API parameter values that are decorated as "sensitive" in the API will not
4619// be included in the string output. The member name will be present, but the
4620// value will be replaced with "sensitive".
4621func (s DescribeScalingParametersInput) String() string {
4622	return awsutil.Prettify(s)
4623}
4624
4625// GoString returns the string representation.
4626//
4627// API parameter values that are decorated as "sensitive" in the API will not
4628// be included in the string output. The member name will be present, but the
4629// value will be replaced with "sensitive".
4630func (s DescribeScalingParametersInput) GoString() string {
4631	return s.String()
4632}
4633
4634// Validate inspects the fields of the type to determine if they are valid.
4635func (s *DescribeScalingParametersInput) Validate() error {
4636	invalidParams := request.ErrInvalidParams{Context: "DescribeScalingParametersInput"}
4637	if s.DomainName == nil {
4638		invalidParams.Add(request.NewErrParamRequired("DomainName"))
4639	}
4640	if s.DomainName != nil && len(*s.DomainName) < 3 {
4641		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
4642	}
4643
4644	if invalidParams.Len() > 0 {
4645		return invalidParams
4646	}
4647	return nil
4648}
4649
4650// SetDomainName sets the DomainName field's value.
4651func (s *DescribeScalingParametersInput) SetDomainName(v string) *DescribeScalingParametersInput {
4652	s.DomainName = &v
4653	return s
4654}
4655
4656// The result of a DescribeScalingParameters request. Contains the scaling parameters
4657// configured for the domain specified in the request.
4658type DescribeScalingParametersOutput struct {
4659	_ struct{} `type:"structure"`
4660
4661	// The status and configuration of a search domain's scaling parameters.
4662	//
4663	// ScalingParameters is a required field
4664	ScalingParameters *ScalingParametersStatus `type:"structure" required:"true"`
4665}
4666
4667// String returns the string representation.
4668//
4669// API parameter values that are decorated as "sensitive" in the API will not
4670// be included in the string output. The member name will be present, but the
4671// value will be replaced with "sensitive".
4672func (s DescribeScalingParametersOutput) String() string {
4673	return awsutil.Prettify(s)
4674}
4675
4676// GoString returns the string representation.
4677//
4678// API parameter values that are decorated as "sensitive" in the API will not
4679// be included in the string output. The member name will be present, but the
4680// value will be replaced with "sensitive".
4681func (s DescribeScalingParametersOutput) GoString() string {
4682	return s.String()
4683}
4684
4685// SetScalingParameters sets the ScalingParameters field's value.
4686func (s *DescribeScalingParametersOutput) SetScalingParameters(v *ScalingParametersStatus) *DescribeScalingParametersOutput {
4687	s.ScalingParameters = v
4688	return s
4689}
4690
4691// Container for the parameters to the DescribeServiceAccessPolicies operation.
4692// Specifies the name of the domain you want to describe. To show the active
4693// configuration and exclude any pending changes, set the Deployed option to
4694// true.
4695type DescribeServiceAccessPoliciesInput struct {
4696	_ struct{} `type:"structure"`
4697
4698	// Whether to display the deployed configuration (true) or include any pending
4699	// changes (false). Defaults to false.
4700	Deployed *bool `type:"boolean"`
4701
4702	// The name of the domain you want to describe.
4703	//
4704	// DomainName is a required field
4705	DomainName *string `min:"3" type:"string" required:"true"`
4706}
4707
4708// String returns the string representation.
4709//
4710// API parameter values that are decorated as "sensitive" in the API will not
4711// be included in the string output. The member name will be present, but the
4712// value will be replaced with "sensitive".
4713func (s DescribeServiceAccessPoliciesInput) String() string {
4714	return awsutil.Prettify(s)
4715}
4716
4717// GoString returns the string representation.
4718//
4719// API parameter values that are decorated as "sensitive" in the API will not
4720// be included in the string output. The member name will be present, but the
4721// value will be replaced with "sensitive".
4722func (s DescribeServiceAccessPoliciesInput) GoString() string {
4723	return s.String()
4724}
4725
4726// Validate inspects the fields of the type to determine if they are valid.
4727func (s *DescribeServiceAccessPoliciesInput) Validate() error {
4728	invalidParams := request.ErrInvalidParams{Context: "DescribeServiceAccessPoliciesInput"}
4729	if s.DomainName == nil {
4730		invalidParams.Add(request.NewErrParamRequired("DomainName"))
4731	}
4732	if s.DomainName != nil && len(*s.DomainName) < 3 {
4733		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
4734	}
4735
4736	if invalidParams.Len() > 0 {
4737		return invalidParams
4738	}
4739	return nil
4740}
4741
4742// SetDeployed sets the Deployed field's value.
4743func (s *DescribeServiceAccessPoliciesInput) SetDeployed(v bool) *DescribeServiceAccessPoliciesInput {
4744	s.Deployed = &v
4745	return s
4746}
4747
4748// SetDomainName sets the DomainName field's value.
4749func (s *DescribeServiceAccessPoliciesInput) SetDomainName(v string) *DescribeServiceAccessPoliciesInput {
4750	s.DomainName = &v
4751	return s
4752}
4753
4754// The result of a DescribeServiceAccessPolicies request.
4755type DescribeServiceAccessPoliciesOutput struct {
4756	_ struct{} `type:"structure"`
4757
4758	// The access rules configured for the domain specified in the request.
4759	//
4760	// AccessPolicies is a required field
4761	AccessPolicies *AccessPoliciesStatus `type:"structure" required:"true"`
4762}
4763
4764// String returns the string representation.
4765//
4766// API parameter values that are decorated as "sensitive" in the API will not
4767// be included in the string output. The member name will be present, but the
4768// value will be replaced with "sensitive".
4769func (s DescribeServiceAccessPoliciesOutput) String() string {
4770	return awsutil.Prettify(s)
4771}
4772
4773// GoString returns the string representation.
4774//
4775// API parameter values that are decorated as "sensitive" in the API will not
4776// be included in the string output. The member name will be present, but the
4777// value will be replaced with "sensitive".
4778func (s DescribeServiceAccessPoliciesOutput) GoString() string {
4779	return s.String()
4780}
4781
4782// SetAccessPolicies sets the AccessPolicies field's value.
4783func (s *DescribeServiceAccessPoliciesOutput) SetAccessPolicies(v *AccessPoliciesStatus) *DescribeServiceAccessPoliciesOutput {
4784	s.AccessPolicies = v
4785	return s
4786}
4787
4788// Container for the parameters to the DescribeSuggester operation. Specifies
4789// the name of the domain you want to describe. To restrict the response to
4790// particular suggesters, specify the names of the suggesters you want to describe.
4791// To show the active configuration and exclude any pending changes, set the
4792// Deployed option to true.
4793type DescribeSuggestersInput struct {
4794	_ struct{} `type:"structure"`
4795
4796	// Whether to display the deployed configuration (true) or include any pending
4797	// changes (false). Defaults to false.
4798	Deployed *bool `type:"boolean"`
4799
4800	// The name of the domain you want to describe.
4801	//
4802	// DomainName is a required field
4803	DomainName *string `min:"3" type:"string" required:"true"`
4804
4805	// The suggesters you want to describe.
4806	SuggesterNames []*string `type:"list"`
4807}
4808
4809// String returns the string representation.
4810//
4811// API parameter values that are decorated as "sensitive" in the API will not
4812// be included in the string output. The member name will be present, but the
4813// value will be replaced with "sensitive".
4814func (s DescribeSuggestersInput) String() string {
4815	return awsutil.Prettify(s)
4816}
4817
4818// GoString returns the string representation.
4819//
4820// API parameter values that are decorated as "sensitive" in the API will not
4821// be included in the string output. The member name will be present, but the
4822// value will be replaced with "sensitive".
4823func (s DescribeSuggestersInput) GoString() string {
4824	return s.String()
4825}
4826
4827// Validate inspects the fields of the type to determine if they are valid.
4828func (s *DescribeSuggestersInput) Validate() error {
4829	invalidParams := request.ErrInvalidParams{Context: "DescribeSuggestersInput"}
4830	if s.DomainName == nil {
4831		invalidParams.Add(request.NewErrParamRequired("DomainName"))
4832	}
4833	if s.DomainName != nil && len(*s.DomainName) < 3 {
4834		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
4835	}
4836
4837	if invalidParams.Len() > 0 {
4838		return invalidParams
4839	}
4840	return nil
4841}
4842
4843// SetDeployed sets the Deployed field's value.
4844func (s *DescribeSuggestersInput) SetDeployed(v bool) *DescribeSuggestersInput {
4845	s.Deployed = &v
4846	return s
4847}
4848
4849// SetDomainName sets the DomainName field's value.
4850func (s *DescribeSuggestersInput) SetDomainName(v string) *DescribeSuggestersInput {
4851	s.DomainName = &v
4852	return s
4853}
4854
4855// SetSuggesterNames sets the SuggesterNames field's value.
4856func (s *DescribeSuggestersInput) SetSuggesterNames(v []*string) *DescribeSuggestersInput {
4857	s.SuggesterNames = v
4858	return s
4859}
4860
4861// The result of a DescribeSuggesters request.
4862type DescribeSuggestersOutput struct {
4863	_ struct{} `type:"structure"`
4864
4865	// The suggesters configured for the domain specified in the request.
4866	//
4867	// Suggesters is a required field
4868	Suggesters []*SuggesterStatus `type:"list" required:"true"`
4869}
4870
4871// String returns the string representation.
4872//
4873// API parameter values that are decorated as "sensitive" in the API will not
4874// be included in the string output. The member name will be present, but the
4875// value will be replaced with "sensitive".
4876func (s DescribeSuggestersOutput) String() string {
4877	return awsutil.Prettify(s)
4878}
4879
4880// GoString returns the string representation.
4881//
4882// API parameter values that are decorated as "sensitive" in the API will not
4883// be included in the string output. The member name will be present, but the
4884// value will be replaced with "sensitive".
4885func (s DescribeSuggestersOutput) GoString() string {
4886	return s.String()
4887}
4888
4889// SetSuggesters sets the Suggesters field's value.
4890func (s *DescribeSuggestersOutput) SetSuggesters(v []*SuggesterStatus) *DescribeSuggestersOutput {
4891	s.Suggesters = v
4892	return s
4893}
4894
4895// Options for a search suggester.
4896type DocumentSuggesterOptions struct {
4897	_ struct{} `type:"structure"`
4898
4899	// The level of fuzziness allowed when suggesting matches for a string: none,
4900	// low, or high. With none, the specified string is treated as an exact prefix.
4901	// With low, suggestions must differ from the specified string by no more than
4902	// one character. With high, suggestions can differ by up to two characters.
4903	// The default is none.
4904	FuzzyMatching *string `type:"string" enum:"SuggesterFuzzyMatching"`
4905
4906	// An expression that computes a score for each suggestion to control how they
4907	// are sorted. The scores are rounded to the nearest integer, with a floor of
4908	// 0 and a ceiling of 2^31-1. A document's relevance score is not computed for
4909	// suggestions, so sort expressions cannot reference the _score value. To sort
4910	// suggestions using a numeric field or existing expression, simply specify
4911	// the name of the field or expression. If no expression is configured for the
4912	// suggester, the suggestions are sorted with the closest matches listed first.
4913	SortExpression *string `type:"string"`
4914
4915	// The name of the index field you want to use for suggestions.
4916	//
4917	// SourceField is a required field
4918	SourceField *string `min:"1" type:"string" required:"true"`
4919}
4920
4921// String returns the string representation.
4922//
4923// API parameter values that are decorated as "sensitive" in the API will not
4924// be included in the string output. The member name will be present, but the
4925// value will be replaced with "sensitive".
4926func (s DocumentSuggesterOptions) String() string {
4927	return awsutil.Prettify(s)
4928}
4929
4930// GoString returns the string representation.
4931//
4932// API parameter values that are decorated as "sensitive" in the API will not
4933// be included in the string output. The member name will be present, but the
4934// value will be replaced with "sensitive".
4935func (s DocumentSuggesterOptions) GoString() string {
4936	return s.String()
4937}
4938
4939// Validate inspects the fields of the type to determine if they are valid.
4940func (s *DocumentSuggesterOptions) Validate() error {
4941	invalidParams := request.ErrInvalidParams{Context: "DocumentSuggesterOptions"}
4942	if s.SourceField == nil {
4943		invalidParams.Add(request.NewErrParamRequired("SourceField"))
4944	}
4945	if s.SourceField != nil && len(*s.SourceField) < 1 {
4946		invalidParams.Add(request.NewErrParamMinLen("SourceField", 1))
4947	}
4948
4949	if invalidParams.Len() > 0 {
4950		return invalidParams
4951	}
4952	return nil
4953}
4954
4955// SetFuzzyMatching sets the FuzzyMatching field's value.
4956func (s *DocumentSuggesterOptions) SetFuzzyMatching(v string) *DocumentSuggesterOptions {
4957	s.FuzzyMatching = &v
4958	return s
4959}
4960
4961// SetSortExpression sets the SortExpression field's value.
4962func (s *DocumentSuggesterOptions) SetSortExpression(v string) *DocumentSuggesterOptions {
4963	s.SortExpression = &v
4964	return s
4965}
4966
4967// SetSourceField sets the SourceField field's value.
4968func (s *DocumentSuggesterOptions) SetSourceField(v string) *DocumentSuggesterOptions {
4969	s.SourceField = &v
4970	return s
4971}
4972
4973// The domain's endpoint options.
4974type DomainEndpointOptions struct {
4975	_ struct{} `type:"structure"`
4976
4977	// Whether the domain is HTTPS only enabled.
4978	EnforceHTTPS *bool `type:"boolean"`
4979
4980	// The minimum required TLS version
4981	TLSSecurityPolicy *string `type:"string" enum:"TLSSecurityPolicy"`
4982}
4983
4984// String returns the string representation.
4985//
4986// API parameter values that are decorated as "sensitive" in the API will not
4987// be included in the string output. The member name will be present, but the
4988// value will be replaced with "sensitive".
4989func (s DomainEndpointOptions) String() string {
4990	return awsutil.Prettify(s)
4991}
4992
4993// GoString returns the string representation.
4994//
4995// API parameter values that are decorated as "sensitive" in the API will not
4996// be included in the string output. The member name will be present, but the
4997// value will be replaced with "sensitive".
4998func (s DomainEndpointOptions) GoString() string {
4999	return s.String()
5000}
5001
5002// SetEnforceHTTPS sets the EnforceHTTPS field's value.
5003func (s *DomainEndpointOptions) SetEnforceHTTPS(v bool) *DomainEndpointOptions {
5004	s.EnforceHTTPS = &v
5005	return s
5006}
5007
5008// SetTLSSecurityPolicy sets the TLSSecurityPolicy field's value.
5009func (s *DomainEndpointOptions) SetTLSSecurityPolicy(v string) *DomainEndpointOptions {
5010	s.TLSSecurityPolicy = &v
5011	return s
5012}
5013
5014// The configuration and status of the domain's endpoint options.
5015type DomainEndpointOptionsStatus struct {
5016	_ struct{} `type:"structure"`
5017
5018	// The domain endpoint options configured for the domain.
5019	//
5020	// Options is a required field
5021	Options *DomainEndpointOptions `type:"structure" required:"true"`
5022
5023	// The status of the configured domain endpoint options.
5024	//
5025	// Status is a required field
5026	Status *OptionStatus `type:"structure" required:"true"`
5027}
5028
5029// String returns the string representation.
5030//
5031// API parameter values that are decorated as "sensitive" in the API will not
5032// be included in the string output. The member name will be present, but the
5033// value will be replaced with "sensitive".
5034func (s DomainEndpointOptionsStatus) String() string {
5035	return awsutil.Prettify(s)
5036}
5037
5038// GoString returns the string representation.
5039//
5040// API parameter values that are decorated as "sensitive" in the API will not
5041// be included in the string output. The member name will be present, but the
5042// value will be replaced with "sensitive".
5043func (s DomainEndpointOptionsStatus) GoString() string {
5044	return s.String()
5045}
5046
5047// SetOptions sets the Options field's value.
5048func (s *DomainEndpointOptionsStatus) SetOptions(v *DomainEndpointOptions) *DomainEndpointOptionsStatus {
5049	s.Options = v
5050	return s
5051}
5052
5053// SetStatus sets the Status field's value.
5054func (s *DomainEndpointOptionsStatus) SetStatus(v *OptionStatus) *DomainEndpointOptionsStatus {
5055	s.Status = v
5056	return s
5057}
5058
5059// The current status of the search domain.
5060type DomainStatus struct {
5061	_ struct{} `type:"structure"`
5062
5063	// The Amazon Resource Name (ARN) of the search domain. See Identifiers for
5064	// IAM Entities (http://docs.aws.amazon.com/IAM/latest/UserGuide/index.html?Using_Identifiers.html)
5065	// in Using AWS Identity and Access Management for more information.
5066	ARN *string `type:"string"`
5067
5068	// True if the search domain is created. It can take several minutes to initialize
5069	// a domain when CreateDomain is called. Newly created search domains are returned
5070	// from DescribeDomains with a false value for Created until domain creation
5071	// is complete.
5072	Created *bool `type:"boolean"`
5073
5074	// True if the search domain has been deleted. The system must clean up resources
5075	// dedicated to the search domain when DeleteDomain is called. Newly deleted
5076	// search domains are returned from DescribeDomains with a true value for IsDeleted
5077	// for several minutes until resource cleanup is complete.
5078	Deleted *bool `type:"boolean"`
5079
5080	// The service endpoint for updating documents in a search domain.
5081	DocService *ServiceEndpoint `type:"structure"`
5082
5083	// An internally generated unique identifier for a domain.
5084	//
5085	// DomainId is a required field
5086	DomainId *string `min:"1" type:"string" required:"true"`
5087
5088	// A string that represents the name of a domain. Domain names are unique across
5089	// the domains owned by an account within an AWS region. Domain names start
5090	// with a letter or number and can contain the following characters: a-z (lowercase),
5091	// 0-9, and - (hyphen).
5092	//
5093	// DomainName is a required field
5094	DomainName *string `min:"3" type:"string" required:"true"`
5095
5096	Limits *Limits `type:"structure"`
5097
5098	// True if processing is being done to activate the current domain configuration.
5099	Processing *bool `type:"boolean"`
5100
5101	// True if IndexDocuments needs to be called to activate the current domain
5102	// configuration.
5103	//
5104	// RequiresIndexDocuments is a required field
5105	RequiresIndexDocuments *bool `type:"boolean" required:"true"`
5106
5107	// The number of search instances that are available to process search requests.
5108	SearchInstanceCount *int64 `min:"1" type:"integer"`
5109
5110	// The instance type that is being used to process search requests.
5111	SearchInstanceType *string `type:"string"`
5112
5113	// The number of partitions across which the search index is spread.
5114	SearchPartitionCount *int64 `min:"1" type:"integer"`
5115
5116	// The service endpoint for requesting search results from a search domain.
5117	SearchService *ServiceEndpoint `type:"structure"`
5118}
5119
5120// String returns the string representation.
5121//
5122// API parameter values that are decorated as "sensitive" in the API will not
5123// be included in the string output. The member name will be present, but the
5124// value will be replaced with "sensitive".
5125func (s DomainStatus) String() string {
5126	return awsutil.Prettify(s)
5127}
5128
5129// GoString returns the string representation.
5130//
5131// API parameter values that are decorated as "sensitive" in the API will not
5132// be included in the string output. The member name will be present, but the
5133// value will be replaced with "sensitive".
5134func (s DomainStatus) GoString() string {
5135	return s.String()
5136}
5137
5138// SetARN sets the ARN field's value.
5139func (s *DomainStatus) SetARN(v string) *DomainStatus {
5140	s.ARN = &v
5141	return s
5142}
5143
5144// SetCreated sets the Created field's value.
5145func (s *DomainStatus) SetCreated(v bool) *DomainStatus {
5146	s.Created = &v
5147	return s
5148}
5149
5150// SetDeleted sets the Deleted field's value.
5151func (s *DomainStatus) SetDeleted(v bool) *DomainStatus {
5152	s.Deleted = &v
5153	return s
5154}
5155
5156// SetDocService sets the DocService field's value.
5157func (s *DomainStatus) SetDocService(v *ServiceEndpoint) *DomainStatus {
5158	s.DocService = v
5159	return s
5160}
5161
5162// SetDomainId sets the DomainId field's value.
5163func (s *DomainStatus) SetDomainId(v string) *DomainStatus {
5164	s.DomainId = &v
5165	return s
5166}
5167
5168// SetDomainName sets the DomainName field's value.
5169func (s *DomainStatus) SetDomainName(v string) *DomainStatus {
5170	s.DomainName = &v
5171	return s
5172}
5173
5174// SetLimits sets the Limits field's value.
5175func (s *DomainStatus) SetLimits(v *Limits) *DomainStatus {
5176	s.Limits = v
5177	return s
5178}
5179
5180// SetProcessing sets the Processing field's value.
5181func (s *DomainStatus) SetProcessing(v bool) *DomainStatus {
5182	s.Processing = &v
5183	return s
5184}
5185
5186// SetRequiresIndexDocuments sets the RequiresIndexDocuments field's value.
5187func (s *DomainStatus) SetRequiresIndexDocuments(v bool) *DomainStatus {
5188	s.RequiresIndexDocuments = &v
5189	return s
5190}
5191
5192// SetSearchInstanceCount sets the SearchInstanceCount field's value.
5193func (s *DomainStatus) SetSearchInstanceCount(v int64) *DomainStatus {
5194	s.SearchInstanceCount = &v
5195	return s
5196}
5197
5198// SetSearchInstanceType sets the SearchInstanceType field's value.
5199func (s *DomainStatus) SetSearchInstanceType(v string) *DomainStatus {
5200	s.SearchInstanceType = &v
5201	return s
5202}
5203
5204// SetSearchPartitionCount sets the SearchPartitionCount field's value.
5205func (s *DomainStatus) SetSearchPartitionCount(v int64) *DomainStatus {
5206	s.SearchPartitionCount = &v
5207	return s
5208}
5209
5210// SetSearchService sets the SearchService field's value.
5211func (s *DomainStatus) SetSearchService(v *ServiceEndpoint) *DomainStatus {
5212	s.SearchService = v
5213	return s
5214}
5215
5216// Options for a field that contains an array of double-precision 64-bit floating
5217// point values. Present if IndexFieldType specifies the field is of type double-array.
5218// All options are enabled by default.
5219type DoubleArrayOptions struct {
5220	_ struct{} `type:"structure"`
5221
5222	// A value to use for the field if the field isn't specified for a document.
5223	DefaultValue *float64 `type:"double"`
5224
5225	// Whether facet information can be returned for the field.
5226	FacetEnabled *bool `type:"boolean"`
5227
5228	// Whether the contents of the field can be returned in the search results.
5229	ReturnEnabled *bool `type:"boolean"`
5230
5231	// Whether the contents of the field are searchable.
5232	SearchEnabled *bool `type:"boolean"`
5233
5234	// A list of source fields to map to the field.
5235	SourceFields *string `type:"string"`
5236}
5237
5238// String returns the string representation.
5239//
5240// API parameter values that are decorated as "sensitive" in the API will not
5241// be included in the string output. The member name will be present, but the
5242// value will be replaced with "sensitive".
5243func (s DoubleArrayOptions) String() string {
5244	return awsutil.Prettify(s)
5245}
5246
5247// GoString returns the string representation.
5248//
5249// API parameter values that are decorated as "sensitive" in the API will not
5250// be included in the string output. The member name will be present, but the
5251// value will be replaced with "sensitive".
5252func (s DoubleArrayOptions) GoString() string {
5253	return s.String()
5254}
5255
5256// SetDefaultValue sets the DefaultValue field's value.
5257func (s *DoubleArrayOptions) SetDefaultValue(v float64) *DoubleArrayOptions {
5258	s.DefaultValue = &v
5259	return s
5260}
5261
5262// SetFacetEnabled sets the FacetEnabled field's value.
5263func (s *DoubleArrayOptions) SetFacetEnabled(v bool) *DoubleArrayOptions {
5264	s.FacetEnabled = &v
5265	return s
5266}
5267
5268// SetReturnEnabled sets the ReturnEnabled field's value.
5269func (s *DoubleArrayOptions) SetReturnEnabled(v bool) *DoubleArrayOptions {
5270	s.ReturnEnabled = &v
5271	return s
5272}
5273
5274// SetSearchEnabled sets the SearchEnabled field's value.
5275func (s *DoubleArrayOptions) SetSearchEnabled(v bool) *DoubleArrayOptions {
5276	s.SearchEnabled = &v
5277	return s
5278}
5279
5280// SetSourceFields sets the SourceFields field's value.
5281func (s *DoubleArrayOptions) SetSourceFields(v string) *DoubleArrayOptions {
5282	s.SourceFields = &v
5283	return s
5284}
5285
5286// Options for a double-precision 64-bit floating point field. Present if IndexFieldType
5287// specifies the field is of type double. All options are enabled by default.
5288type DoubleOptions struct {
5289	_ struct{} `type:"structure"`
5290
5291	// A value to use for the field if the field isn't specified for a document.
5292	// This can be important if you are using the field in an expression and that
5293	// field is not present in every document.
5294	DefaultValue *float64 `type:"double"`
5295
5296	// Whether facet information can be returned for the field.
5297	FacetEnabled *bool `type:"boolean"`
5298
5299	// Whether the contents of the field can be returned in the search results.
5300	ReturnEnabled *bool `type:"boolean"`
5301
5302	// Whether the contents of the field are searchable.
5303	SearchEnabled *bool `type:"boolean"`
5304
5305	// Whether the field can be used to sort the search results.
5306	SortEnabled *bool `type:"boolean"`
5307
5308	// The name of the source field to map to the field.
5309	SourceField *string `min:"1" type:"string"`
5310}
5311
5312// String returns the string representation.
5313//
5314// API parameter values that are decorated as "sensitive" in the API will not
5315// be included in the string output. The member name will be present, but the
5316// value will be replaced with "sensitive".
5317func (s DoubleOptions) String() string {
5318	return awsutil.Prettify(s)
5319}
5320
5321// GoString returns the string representation.
5322//
5323// API parameter values that are decorated as "sensitive" in the API will not
5324// be included in the string output. The member name will be present, but the
5325// value will be replaced with "sensitive".
5326func (s DoubleOptions) GoString() string {
5327	return s.String()
5328}
5329
5330// Validate inspects the fields of the type to determine if they are valid.
5331func (s *DoubleOptions) Validate() error {
5332	invalidParams := request.ErrInvalidParams{Context: "DoubleOptions"}
5333	if s.SourceField != nil && len(*s.SourceField) < 1 {
5334		invalidParams.Add(request.NewErrParamMinLen("SourceField", 1))
5335	}
5336
5337	if invalidParams.Len() > 0 {
5338		return invalidParams
5339	}
5340	return nil
5341}
5342
5343// SetDefaultValue sets the DefaultValue field's value.
5344func (s *DoubleOptions) SetDefaultValue(v float64) *DoubleOptions {
5345	s.DefaultValue = &v
5346	return s
5347}
5348
5349// SetFacetEnabled sets the FacetEnabled field's value.
5350func (s *DoubleOptions) SetFacetEnabled(v bool) *DoubleOptions {
5351	s.FacetEnabled = &v
5352	return s
5353}
5354
5355// SetReturnEnabled sets the ReturnEnabled field's value.
5356func (s *DoubleOptions) SetReturnEnabled(v bool) *DoubleOptions {
5357	s.ReturnEnabled = &v
5358	return s
5359}
5360
5361// SetSearchEnabled sets the SearchEnabled field's value.
5362func (s *DoubleOptions) SetSearchEnabled(v bool) *DoubleOptions {
5363	s.SearchEnabled = &v
5364	return s
5365}
5366
5367// SetSortEnabled sets the SortEnabled field's value.
5368func (s *DoubleOptions) SetSortEnabled(v bool) *DoubleOptions {
5369	s.SortEnabled = &v
5370	return s
5371}
5372
5373// SetSourceField sets the SourceField field's value.
5374func (s *DoubleOptions) SetSourceField(v string) *DoubleOptions {
5375	s.SourceField = &v
5376	return s
5377}
5378
5379// A named expression that can be evaluated at search time. Can be used to sort
5380// the search results, define other expressions, or return computed information
5381// in the search results.
5382type Expression struct {
5383	_ struct{} `type:"structure"`
5384
5385	// Names must begin with a letter and can contain the following characters:
5386	// a-z (lowercase), 0-9, and _ (underscore).
5387	//
5388	// ExpressionName is a required field
5389	ExpressionName *string `min:"1" type:"string" required:"true"`
5390
5391	// The expression to evaluate for sorting while processing a search request.
5392	// The Expression syntax is based on JavaScript expressions. For more information,
5393	// see Configuring Expressions (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-expressions.html)
5394	// in the Amazon CloudSearch Developer Guide.
5395	//
5396	// ExpressionValue is a required field
5397	ExpressionValue *string `min:"1" type:"string" required:"true"`
5398}
5399
5400// String returns the string representation.
5401//
5402// API parameter values that are decorated as "sensitive" in the API will not
5403// be included in the string output. The member name will be present, but the
5404// value will be replaced with "sensitive".
5405func (s Expression) String() string {
5406	return awsutil.Prettify(s)
5407}
5408
5409// GoString returns the string representation.
5410//
5411// API parameter values that are decorated as "sensitive" in the API will not
5412// be included in the string output. The member name will be present, but the
5413// value will be replaced with "sensitive".
5414func (s Expression) GoString() string {
5415	return s.String()
5416}
5417
5418// Validate inspects the fields of the type to determine if they are valid.
5419func (s *Expression) Validate() error {
5420	invalidParams := request.ErrInvalidParams{Context: "Expression"}
5421	if s.ExpressionName == nil {
5422		invalidParams.Add(request.NewErrParamRequired("ExpressionName"))
5423	}
5424	if s.ExpressionName != nil && len(*s.ExpressionName) < 1 {
5425		invalidParams.Add(request.NewErrParamMinLen("ExpressionName", 1))
5426	}
5427	if s.ExpressionValue == nil {
5428		invalidParams.Add(request.NewErrParamRequired("ExpressionValue"))
5429	}
5430	if s.ExpressionValue != nil && len(*s.ExpressionValue) < 1 {
5431		invalidParams.Add(request.NewErrParamMinLen("ExpressionValue", 1))
5432	}
5433
5434	if invalidParams.Len() > 0 {
5435		return invalidParams
5436	}
5437	return nil
5438}
5439
5440// SetExpressionName sets the ExpressionName field's value.
5441func (s *Expression) SetExpressionName(v string) *Expression {
5442	s.ExpressionName = &v
5443	return s
5444}
5445
5446// SetExpressionValue sets the ExpressionValue field's value.
5447func (s *Expression) SetExpressionValue(v string) *Expression {
5448	s.ExpressionValue = &v
5449	return s
5450}
5451
5452// The value of an Expression and its current status.
5453type ExpressionStatus struct {
5454	_ struct{} `type:"structure"`
5455
5456	// The expression that is evaluated for sorting while processing a search request.
5457	//
5458	// Options is a required field
5459	Options *Expression `type:"structure" required:"true"`
5460
5461	// The status of domain configuration option.
5462	//
5463	// Status is a required field
5464	Status *OptionStatus `type:"structure" required:"true"`
5465}
5466
5467// String returns the string representation.
5468//
5469// API parameter values that are decorated as "sensitive" in the API will not
5470// be included in the string output. The member name will be present, but the
5471// value will be replaced with "sensitive".
5472func (s ExpressionStatus) String() string {
5473	return awsutil.Prettify(s)
5474}
5475
5476// GoString returns the string representation.
5477//
5478// API parameter values that are decorated as "sensitive" in the API will not
5479// be included in the string output. The member name will be present, but the
5480// value will be replaced with "sensitive".
5481func (s ExpressionStatus) GoString() string {
5482	return s.String()
5483}
5484
5485// SetOptions sets the Options field's value.
5486func (s *ExpressionStatus) SetOptions(v *Expression) *ExpressionStatus {
5487	s.Options = v
5488	return s
5489}
5490
5491// SetStatus sets the Status field's value.
5492func (s *ExpressionStatus) SetStatus(v *OptionStatus) *ExpressionStatus {
5493	s.Status = v
5494	return s
5495}
5496
5497// Container for the parameters to the IndexDocuments operation. Specifies the
5498// name of the domain you want to re-index.
5499type IndexDocumentsInput struct {
5500	_ struct{} `type:"structure"`
5501
5502	// A string that represents the name of a domain. Domain names are unique across
5503	// the domains owned by an account within an AWS region. Domain names start
5504	// with a letter or number and can contain the following characters: a-z (lowercase),
5505	// 0-9, and - (hyphen).
5506	//
5507	// DomainName is a required field
5508	DomainName *string `min:"3" type:"string" required:"true"`
5509}
5510
5511// String returns the string representation.
5512//
5513// API parameter values that are decorated as "sensitive" in the API will not
5514// be included in the string output. The member name will be present, but the
5515// value will be replaced with "sensitive".
5516func (s IndexDocumentsInput) String() string {
5517	return awsutil.Prettify(s)
5518}
5519
5520// GoString returns the string representation.
5521//
5522// API parameter values that are decorated as "sensitive" in the API will not
5523// be included in the string output. The member name will be present, but the
5524// value will be replaced with "sensitive".
5525func (s IndexDocumentsInput) GoString() string {
5526	return s.String()
5527}
5528
5529// Validate inspects the fields of the type to determine if they are valid.
5530func (s *IndexDocumentsInput) Validate() error {
5531	invalidParams := request.ErrInvalidParams{Context: "IndexDocumentsInput"}
5532	if s.DomainName == nil {
5533		invalidParams.Add(request.NewErrParamRequired("DomainName"))
5534	}
5535	if s.DomainName != nil && len(*s.DomainName) < 3 {
5536		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
5537	}
5538
5539	if invalidParams.Len() > 0 {
5540		return invalidParams
5541	}
5542	return nil
5543}
5544
5545// SetDomainName sets the DomainName field's value.
5546func (s *IndexDocumentsInput) SetDomainName(v string) *IndexDocumentsInput {
5547	s.DomainName = &v
5548	return s
5549}
5550
5551// The result of an IndexDocuments request. Contains the status of the indexing
5552// operation, including the fields being indexed.
5553type IndexDocumentsOutput struct {
5554	_ struct{} `type:"structure"`
5555
5556	// The names of the fields that are currently being indexed.
5557	FieldNames []*string `type:"list"`
5558}
5559
5560// String returns the string representation.
5561//
5562// API parameter values that are decorated as "sensitive" in the API will not
5563// be included in the string output. The member name will be present, but the
5564// value will be replaced with "sensitive".
5565func (s IndexDocumentsOutput) String() string {
5566	return awsutil.Prettify(s)
5567}
5568
5569// GoString returns the string representation.
5570//
5571// API parameter values that are decorated as "sensitive" in the API will not
5572// be included in the string output. The member name will be present, but the
5573// value will be replaced with "sensitive".
5574func (s IndexDocumentsOutput) GoString() string {
5575	return s.String()
5576}
5577
5578// SetFieldNames sets the FieldNames field's value.
5579func (s *IndexDocumentsOutput) SetFieldNames(v []*string) *IndexDocumentsOutput {
5580	s.FieldNames = v
5581	return s
5582}
5583
5584// Configuration information for a field in the index, including its name, type,
5585// and options. The supported options depend on the IndexFieldType.
5586type IndexField struct {
5587	_ struct{} `type:"structure"`
5588
5589	// Options for a field that contains an array of dates. Present if IndexFieldType
5590	// specifies the field is of type date-array. All options are enabled by default.
5591	DateArrayOptions *DateArrayOptions `type:"structure"`
5592
5593	// Options for a date field. Dates and times are specified in UTC (Coordinated
5594	// Universal Time) according to IETF RFC3339: yyyy-mm-ddT00:00:00Z. Present
5595	// if IndexFieldType specifies the field is of type date. All options are enabled
5596	// by default.
5597	DateOptions *DateOptions `type:"structure"`
5598
5599	// Options for a field that contains an array of double-precision 64-bit floating
5600	// point values. Present if IndexFieldType specifies the field is of type double-array.
5601	// All options are enabled by default.
5602	DoubleArrayOptions *DoubleArrayOptions `type:"structure"`
5603
5604	// Options for a double-precision 64-bit floating point field. Present if IndexFieldType
5605	// specifies the field is of type double. All options are enabled by default.
5606	DoubleOptions *DoubleOptions `type:"structure"`
5607
5608	// A string that represents the name of an index field. CloudSearch supports
5609	// regular index fields as well as dynamic fields. A dynamic field's name defines
5610	// a pattern that begins or ends with a wildcard. Any document fields that don't
5611	// map to a regular index field but do match a dynamic field's pattern are configured
5612	// with the dynamic field's indexing options.
5613	//
5614	// Regular field names begin with a letter and can contain the following characters:
5615	// a-z (lowercase), 0-9, and _ (underscore). Dynamic field names must begin
5616	// or end with a wildcard (*). The wildcard can also be the only character in
5617	// a dynamic field name. Multiple wildcards, and wildcards embedded within a
5618	// string are not supported.
5619	//
5620	// The name score is reserved and cannot be used as a field name. To reference
5621	// a document's ID, you can use the name _id.
5622	//
5623	// IndexFieldName is a required field
5624	IndexFieldName *string `min:"1" type:"string" required:"true"`
5625
5626	// The type of field. The valid options for a field depend on the field type.
5627	// For more information about the supported field types, see Configuring Index
5628	// Fields (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-index-fields.html)
5629	// in the Amazon CloudSearch Developer Guide.
5630	//
5631	// IndexFieldType is a required field
5632	IndexFieldType *string `type:"string" required:"true" enum:"IndexFieldType"`
5633
5634	// Options for a field that contains an array of 64-bit signed integers. Present
5635	// if IndexFieldType specifies the field is of type int-array. All options are
5636	// enabled by default.
5637	IntArrayOptions *IntArrayOptions `type:"structure"`
5638
5639	// Options for a 64-bit signed integer field. Present if IndexFieldType specifies
5640	// the field is of type int. All options are enabled by default.
5641	IntOptions *IntOptions `type:"structure"`
5642
5643	// Options for a latlon field. A latlon field contains a location stored as
5644	// a latitude and longitude value pair. Present if IndexFieldType specifies
5645	// the field is of type latlon. All options are enabled by default.
5646	LatLonOptions *LatLonOptions `type:"structure"`
5647
5648	// Options for a field that contains an array of literal strings. Present if
5649	// IndexFieldType specifies the field is of type literal-array. All options
5650	// are enabled by default.
5651	LiteralArrayOptions *LiteralArrayOptions `type:"structure"`
5652
5653	// Options for literal field. Present if IndexFieldType specifies the field
5654	// is of type literal. All options are enabled by default.
5655	LiteralOptions *LiteralOptions `type:"structure"`
5656
5657	// Options for a field that contains an array of text strings. Present if IndexFieldType
5658	// specifies the field is of type text-array. A text-array field is always searchable.
5659	// All options are enabled by default.
5660	TextArrayOptions *TextArrayOptions `type:"structure"`
5661
5662	// Options for text field. Present if IndexFieldType specifies the field is
5663	// of type text. A text field is always searchable. All options are enabled
5664	// by default.
5665	TextOptions *TextOptions `type:"structure"`
5666}
5667
5668// String returns the string representation.
5669//
5670// API parameter values that are decorated as "sensitive" in the API will not
5671// be included in the string output. The member name will be present, but the
5672// value will be replaced with "sensitive".
5673func (s IndexField) String() string {
5674	return awsutil.Prettify(s)
5675}
5676
5677// GoString returns the string representation.
5678//
5679// API parameter values that are decorated as "sensitive" in the API will not
5680// be included in the string output. The member name will be present, but the
5681// value will be replaced with "sensitive".
5682func (s IndexField) GoString() string {
5683	return s.String()
5684}
5685
5686// Validate inspects the fields of the type to determine if they are valid.
5687func (s *IndexField) Validate() error {
5688	invalidParams := request.ErrInvalidParams{Context: "IndexField"}
5689	if s.IndexFieldName == nil {
5690		invalidParams.Add(request.NewErrParamRequired("IndexFieldName"))
5691	}
5692	if s.IndexFieldName != nil && len(*s.IndexFieldName) < 1 {
5693		invalidParams.Add(request.NewErrParamMinLen("IndexFieldName", 1))
5694	}
5695	if s.IndexFieldType == nil {
5696		invalidParams.Add(request.NewErrParamRequired("IndexFieldType"))
5697	}
5698	if s.DateOptions != nil {
5699		if err := s.DateOptions.Validate(); err != nil {
5700			invalidParams.AddNested("DateOptions", err.(request.ErrInvalidParams))
5701		}
5702	}
5703	if s.DoubleOptions != nil {
5704		if err := s.DoubleOptions.Validate(); err != nil {
5705			invalidParams.AddNested("DoubleOptions", err.(request.ErrInvalidParams))
5706		}
5707	}
5708	if s.IntOptions != nil {
5709		if err := s.IntOptions.Validate(); err != nil {
5710			invalidParams.AddNested("IntOptions", err.(request.ErrInvalidParams))
5711		}
5712	}
5713	if s.LatLonOptions != nil {
5714		if err := s.LatLonOptions.Validate(); err != nil {
5715			invalidParams.AddNested("LatLonOptions", err.(request.ErrInvalidParams))
5716		}
5717	}
5718	if s.LiteralOptions != nil {
5719		if err := s.LiteralOptions.Validate(); err != nil {
5720			invalidParams.AddNested("LiteralOptions", err.(request.ErrInvalidParams))
5721		}
5722	}
5723	if s.TextOptions != nil {
5724		if err := s.TextOptions.Validate(); err != nil {
5725			invalidParams.AddNested("TextOptions", err.(request.ErrInvalidParams))
5726		}
5727	}
5728
5729	if invalidParams.Len() > 0 {
5730		return invalidParams
5731	}
5732	return nil
5733}
5734
5735// SetDateArrayOptions sets the DateArrayOptions field's value.
5736func (s *IndexField) SetDateArrayOptions(v *DateArrayOptions) *IndexField {
5737	s.DateArrayOptions = v
5738	return s
5739}
5740
5741// SetDateOptions sets the DateOptions field's value.
5742func (s *IndexField) SetDateOptions(v *DateOptions) *IndexField {
5743	s.DateOptions = v
5744	return s
5745}
5746
5747// SetDoubleArrayOptions sets the DoubleArrayOptions field's value.
5748func (s *IndexField) SetDoubleArrayOptions(v *DoubleArrayOptions) *IndexField {
5749	s.DoubleArrayOptions = v
5750	return s
5751}
5752
5753// SetDoubleOptions sets the DoubleOptions field's value.
5754func (s *IndexField) SetDoubleOptions(v *DoubleOptions) *IndexField {
5755	s.DoubleOptions = v
5756	return s
5757}
5758
5759// SetIndexFieldName sets the IndexFieldName field's value.
5760func (s *IndexField) SetIndexFieldName(v string) *IndexField {
5761	s.IndexFieldName = &v
5762	return s
5763}
5764
5765// SetIndexFieldType sets the IndexFieldType field's value.
5766func (s *IndexField) SetIndexFieldType(v string) *IndexField {
5767	s.IndexFieldType = &v
5768	return s
5769}
5770
5771// SetIntArrayOptions sets the IntArrayOptions field's value.
5772func (s *IndexField) SetIntArrayOptions(v *IntArrayOptions) *IndexField {
5773	s.IntArrayOptions = v
5774	return s
5775}
5776
5777// SetIntOptions sets the IntOptions field's value.
5778func (s *IndexField) SetIntOptions(v *IntOptions) *IndexField {
5779	s.IntOptions = v
5780	return s
5781}
5782
5783// SetLatLonOptions sets the LatLonOptions field's value.
5784func (s *IndexField) SetLatLonOptions(v *LatLonOptions) *IndexField {
5785	s.LatLonOptions = v
5786	return s
5787}
5788
5789// SetLiteralArrayOptions sets the LiteralArrayOptions field's value.
5790func (s *IndexField) SetLiteralArrayOptions(v *LiteralArrayOptions) *IndexField {
5791	s.LiteralArrayOptions = v
5792	return s
5793}
5794
5795// SetLiteralOptions sets the LiteralOptions field's value.
5796func (s *IndexField) SetLiteralOptions(v *LiteralOptions) *IndexField {
5797	s.LiteralOptions = v
5798	return s
5799}
5800
5801// SetTextArrayOptions sets the TextArrayOptions field's value.
5802func (s *IndexField) SetTextArrayOptions(v *TextArrayOptions) *IndexField {
5803	s.TextArrayOptions = v
5804	return s
5805}
5806
5807// SetTextOptions sets the TextOptions field's value.
5808func (s *IndexField) SetTextOptions(v *TextOptions) *IndexField {
5809	s.TextOptions = v
5810	return s
5811}
5812
5813// The value of an IndexField and its current status.
5814type IndexFieldStatus struct {
5815	_ struct{} `type:"structure"`
5816
5817	// Configuration information for a field in the index, including its name, type,
5818	// and options. The supported options depend on the IndexFieldType.
5819	//
5820	// Options is a required field
5821	Options *IndexField `type:"structure" required:"true"`
5822
5823	// The status of domain configuration option.
5824	//
5825	// Status is a required field
5826	Status *OptionStatus `type:"structure" required:"true"`
5827}
5828
5829// String returns the string representation.
5830//
5831// API parameter values that are decorated as "sensitive" in the API will not
5832// be included in the string output. The member name will be present, but the
5833// value will be replaced with "sensitive".
5834func (s IndexFieldStatus) String() string {
5835	return awsutil.Prettify(s)
5836}
5837
5838// GoString returns the string representation.
5839//
5840// API parameter values that are decorated as "sensitive" in the API will not
5841// be included in the string output. The member name will be present, but the
5842// value will be replaced with "sensitive".
5843func (s IndexFieldStatus) GoString() string {
5844	return s.String()
5845}
5846
5847// SetOptions sets the Options field's value.
5848func (s *IndexFieldStatus) SetOptions(v *IndexField) *IndexFieldStatus {
5849	s.Options = v
5850	return s
5851}
5852
5853// SetStatus sets the Status field's value.
5854func (s *IndexFieldStatus) SetStatus(v *OptionStatus) *IndexFieldStatus {
5855	s.Status = v
5856	return s
5857}
5858
5859// Options for a field that contains an array of 64-bit signed integers. Present
5860// if IndexFieldType specifies the field is of type int-array. All options are
5861// enabled by default.
5862type IntArrayOptions struct {
5863	_ struct{} `type:"structure"`
5864
5865	// A value to use for the field if the field isn't specified for a document.
5866	DefaultValue *int64 `type:"long"`
5867
5868	// Whether facet information can be returned for the field.
5869	FacetEnabled *bool `type:"boolean"`
5870
5871	// Whether the contents of the field can be returned in the search results.
5872	ReturnEnabled *bool `type:"boolean"`
5873
5874	// Whether the contents of the field are searchable.
5875	SearchEnabled *bool `type:"boolean"`
5876
5877	// A list of source fields to map to the field.
5878	SourceFields *string `type:"string"`
5879}
5880
5881// String returns the string representation.
5882//
5883// API parameter values that are decorated as "sensitive" in the API will not
5884// be included in the string output. The member name will be present, but the
5885// value will be replaced with "sensitive".
5886func (s IntArrayOptions) String() string {
5887	return awsutil.Prettify(s)
5888}
5889
5890// GoString returns the string representation.
5891//
5892// API parameter values that are decorated as "sensitive" in the API will not
5893// be included in the string output. The member name will be present, but the
5894// value will be replaced with "sensitive".
5895func (s IntArrayOptions) GoString() string {
5896	return s.String()
5897}
5898
5899// SetDefaultValue sets the DefaultValue field's value.
5900func (s *IntArrayOptions) SetDefaultValue(v int64) *IntArrayOptions {
5901	s.DefaultValue = &v
5902	return s
5903}
5904
5905// SetFacetEnabled sets the FacetEnabled field's value.
5906func (s *IntArrayOptions) SetFacetEnabled(v bool) *IntArrayOptions {
5907	s.FacetEnabled = &v
5908	return s
5909}
5910
5911// SetReturnEnabled sets the ReturnEnabled field's value.
5912func (s *IntArrayOptions) SetReturnEnabled(v bool) *IntArrayOptions {
5913	s.ReturnEnabled = &v
5914	return s
5915}
5916
5917// SetSearchEnabled sets the SearchEnabled field's value.
5918func (s *IntArrayOptions) SetSearchEnabled(v bool) *IntArrayOptions {
5919	s.SearchEnabled = &v
5920	return s
5921}
5922
5923// SetSourceFields sets the SourceFields field's value.
5924func (s *IntArrayOptions) SetSourceFields(v string) *IntArrayOptions {
5925	s.SourceFields = &v
5926	return s
5927}
5928
5929// Options for a 64-bit signed integer field. Present if IndexFieldType specifies
5930// the field is of type int. All options are enabled by default.
5931type IntOptions struct {
5932	_ struct{} `type:"structure"`
5933
5934	// A value to use for the field if the field isn't specified for a document.
5935	// This can be important if you are using the field in an expression and that
5936	// field is not present in every document.
5937	DefaultValue *int64 `type:"long"`
5938
5939	// Whether facet information can be returned for the field.
5940	FacetEnabled *bool `type:"boolean"`
5941
5942	// Whether the contents of the field can be returned in the search results.
5943	ReturnEnabled *bool `type:"boolean"`
5944
5945	// Whether the contents of the field are searchable.
5946	SearchEnabled *bool `type:"boolean"`
5947
5948	// Whether the field can be used to sort the search results.
5949	SortEnabled *bool `type:"boolean"`
5950
5951	// The name of the source field to map to the field.
5952	SourceField *string `min:"1" type:"string"`
5953}
5954
5955// String returns the string representation.
5956//
5957// API parameter values that are decorated as "sensitive" in the API will not
5958// be included in the string output. The member name will be present, but the
5959// value will be replaced with "sensitive".
5960func (s IntOptions) String() string {
5961	return awsutil.Prettify(s)
5962}
5963
5964// GoString returns the string representation.
5965//
5966// API parameter values that are decorated as "sensitive" in the API will not
5967// be included in the string output. The member name will be present, but the
5968// value will be replaced with "sensitive".
5969func (s IntOptions) GoString() string {
5970	return s.String()
5971}
5972
5973// Validate inspects the fields of the type to determine if they are valid.
5974func (s *IntOptions) Validate() error {
5975	invalidParams := request.ErrInvalidParams{Context: "IntOptions"}
5976	if s.SourceField != nil && len(*s.SourceField) < 1 {
5977		invalidParams.Add(request.NewErrParamMinLen("SourceField", 1))
5978	}
5979
5980	if invalidParams.Len() > 0 {
5981		return invalidParams
5982	}
5983	return nil
5984}
5985
5986// SetDefaultValue sets the DefaultValue field's value.
5987func (s *IntOptions) SetDefaultValue(v int64) *IntOptions {
5988	s.DefaultValue = &v
5989	return s
5990}
5991
5992// SetFacetEnabled sets the FacetEnabled field's value.
5993func (s *IntOptions) SetFacetEnabled(v bool) *IntOptions {
5994	s.FacetEnabled = &v
5995	return s
5996}
5997
5998// SetReturnEnabled sets the ReturnEnabled field's value.
5999func (s *IntOptions) SetReturnEnabled(v bool) *IntOptions {
6000	s.ReturnEnabled = &v
6001	return s
6002}
6003
6004// SetSearchEnabled sets the SearchEnabled field's value.
6005func (s *IntOptions) SetSearchEnabled(v bool) *IntOptions {
6006	s.SearchEnabled = &v
6007	return s
6008}
6009
6010// SetSortEnabled sets the SortEnabled field's value.
6011func (s *IntOptions) SetSortEnabled(v bool) *IntOptions {
6012	s.SortEnabled = &v
6013	return s
6014}
6015
6016// SetSourceField sets the SourceField field's value.
6017func (s *IntOptions) SetSourceField(v string) *IntOptions {
6018	s.SourceField = &v
6019	return s
6020}
6021
6022// Options for a latlon field. A latlon field contains a location stored as
6023// a latitude and longitude value pair. Present if IndexFieldType specifies
6024// the field is of type latlon. All options are enabled by default.
6025type LatLonOptions struct {
6026	_ struct{} `type:"structure"`
6027
6028	// A value to use for the field if the field isn't specified for a document.
6029	DefaultValue *string `type:"string"`
6030
6031	// Whether facet information can be returned for the field.
6032	FacetEnabled *bool `type:"boolean"`
6033
6034	// Whether the contents of the field can be returned in the search results.
6035	ReturnEnabled *bool `type:"boolean"`
6036
6037	// Whether the contents of the field are searchable.
6038	SearchEnabled *bool `type:"boolean"`
6039
6040	// Whether the field can be used to sort the search results.
6041	SortEnabled *bool `type:"boolean"`
6042
6043	// A string that represents the name of an index field. CloudSearch supports
6044	// regular index fields as well as dynamic fields. A dynamic field's name defines
6045	// a pattern that begins or ends with a wildcard. Any document fields that don't
6046	// map to a regular index field but do match a dynamic field's pattern are configured
6047	// with the dynamic field's indexing options.
6048	//
6049	// Regular field names begin with a letter and can contain the following characters:
6050	// a-z (lowercase), 0-9, and _ (underscore). Dynamic field names must begin
6051	// or end with a wildcard (*). The wildcard can also be the only character in
6052	// a dynamic field name. Multiple wildcards, and wildcards embedded within a
6053	// string are not supported.
6054	//
6055	// The name score is reserved and cannot be used as a field name. To reference
6056	// a document's ID, you can use the name _id.
6057	SourceField *string `min:"1" type:"string"`
6058}
6059
6060// String returns the string representation.
6061//
6062// API parameter values that are decorated as "sensitive" in the API will not
6063// be included in the string output. The member name will be present, but the
6064// value will be replaced with "sensitive".
6065func (s LatLonOptions) String() string {
6066	return awsutil.Prettify(s)
6067}
6068
6069// GoString returns the string representation.
6070//
6071// API parameter values that are decorated as "sensitive" in the API will not
6072// be included in the string output. The member name will be present, but the
6073// value will be replaced with "sensitive".
6074func (s LatLonOptions) GoString() string {
6075	return s.String()
6076}
6077
6078// Validate inspects the fields of the type to determine if they are valid.
6079func (s *LatLonOptions) Validate() error {
6080	invalidParams := request.ErrInvalidParams{Context: "LatLonOptions"}
6081	if s.SourceField != nil && len(*s.SourceField) < 1 {
6082		invalidParams.Add(request.NewErrParamMinLen("SourceField", 1))
6083	}
6084
6085	if invalidParams.Len() > 0 {
6086		return invalidParams
6087	}
6088	return nil
6089}
6090
6091// SetDefaultValue sets the DefaultValue field's value.
6092func (s *LatLonOptions) SetDefaultValue(v string) *LatLonOptions {
6093	s.DefaultValue = &v
6094	return s
6095}
6096
6097// SetFacetEnabled sets the FacetEnabled field's value.
6098func (s *LatLonOptions) SetFacetEnabled(v bool) *LatLonOptions {
6099	s.FacetEnabled = &v
6100	return s
6101}
6102
6103// SetReturnEnabled sets the ReturnEnabled field's value.
6104func (s *LatLonOptions) SetReturnEnabled(v bool) *LatLonOptions {
6105	s.ReturnEnabled = &v
6106	return s
6107}
6108
6109// SetSearchEnabled sets the SearchEnabled field's value.
6110func (s *LatLonOptions) SetSearchEnabled(v bool) *LatLonOptions {
6111	s.SearchEnabled = &v
6112	return s
6113}
6114
6115// SetSortEnabled sets the SortEnabled field's value.
6116func (s *LatLonOptions) SetSortEnabled(v bool) *LatLonOptions {
6117	s.SortEnabled = &v
6118	return s
6119}
6120
6121// SetSourceField sets the SourceField field's value.
6122func (s *LatLonOptions) SetSourceField(v string) *LatLonOptions {
6123	s.SourceField = &v
6124	return s
6125}
6126
6127type Limits struct {
6128	_ struct{} `type:"structure"`
6129
6130	// MaximumPartitionCount is a required field
6131	MaximumPartitionCount *int64 `min:"1" type:"integer" required:"true"`
6132
6133	// MaximumReplicationCount is a required field
6134	MaximumReplicationCount *int64 `min:"1" type:"integer" required:"true"`
6135}
6136
6137// String returns the string representation.
6138//
6139// API parameter values that are decorated as "sensitive" in the API will not
6140// be included in the string output. The member name will be present, but the
6141// value will be replaced with "sensitive".
6142func (s Limits) String() string {
6143	return awsutil.Prettify(s)
6144}
6145
6146// GoString returns the string representation.
6147//
6148// API parameter values that are decorated as "sensitive" in the API will not
6149// be included in the string output. The member name will be present, but the
6150// value will be replaced with "sensitive".
6151func (s Limits) GoString() string {
6152	return s.String()
6153}
6154
6155// SetMaximumPartitionCount sets the MaximumPartitionCount field's value.
6156func (s *Limits) SetMaximumPartitionCount(v int64) *Limits {
6157	s.MaximumPartitionCount = &v
6158	return s
6159}
6160
6161// SetMaximumReplicationCount sets the MaximumReplicationCount field's value.
6162func (s *Limits) SetMaximumReplicationCount(v int64) *Limits {
6163	s.MaximumReplicationCount = &v
6164	return s
6165}
6166
6167type ListDomainNamesInput struct {
6168	_ struct{} `type:"structure"`
6169}
6170
6171// String returns the string representation.
6172//
6173// API parameter values that are decorated as "sensitive" in the API will not
6174// be included in the string output. The member name will be present, but the
6175// value will be replaced with "sensitive".
6176func (s ListDomainNamesInput) String() string {
6177	return awsutil.Prettify(s)
6178}
6179
6180// GoString returns the string representation.
6181//
6182// API parameter values that are decorated as "sensitive" in the API will not
6183// be included in the string output. The member name will be present, but the
6184// value will be replaced with "sensitive".
6185func (s ListDomainNamesInput) GoString() string {
6186	return s.String()
6187}
6188
6189// The result of a ListDomainNames request. Contains a list of the domains owned
6190// by an account.
6191type ListDomainNamesOutput struct {
6192	_ struct{} `type:"structure"`
6193
6194	// The names of the search domains owned by an account.
6195	DomainNames map[string]*string `type:"map"`
6196}
6197
6198// String returns the string representation.
6199//
6200// API parameter values that are decorated as "sensitive" in the API will not
6201// be included in the string output. The member name will be present, but the
6202// value will be replaced with "sensitive".
6203func (s ListDomainNamesOutput) String() string {
6204	return awsutil.Prettify(s)
6205}
6206
6207// GoString returns the string representation.
6208//
6209// API parameter values that are decorated as "sensitive" in the API will not
6210// be included in the string output. The member name will be present, but the
6211// value will be replaced with "sensitive".
6212func (s ListDomainNamesOutput) GoString() string {
6213	return s.String()
6214}
6215
6216// SetDomainNames sets the DomainNames field's value.
6217func (s *ListDomainNamesOutput) SetDomainNames(v map[string]*string) *ListDomainNamesOutput {
6218	s.DomainNames = v
6219	return s
6220}
6221
6222// Options for a field that contains an array of literal strings. Present if
6223// IndexFieldType specifies the field is of type literal-array. All options
6224// are enabled by default.
6225type LiteralArrayOptions struct {
6226	_ struct{} `type:"structure"`
6227
6228	// A value to use for the field if the field isn't specified for a document.
6229	DefaultValue *string `type:"string"`
6230
6231	// Whether facet information can be returned for the field.
6232	FacetEnabled *bool `type:"boolean"`
6233
6234	// Whether the contents of the field can be returned in the search results.
6235	ReturnEnabled *bool `type:"boolean"`
6236
6237	// Whether the contents of the field are searchable.
6238	SearchEnabled *bool `type:"boolean"`
6239
6240	// A list of source fields to map to the field.
6241	SourceFields *string `type:"string"`
6242}
6243
6244// String returns the string representation.
6245//
6246// API parameter values that are decorated as "sensitive" in the API will not
6247// be included in the string output. The member name will be present, but the
6248// value will be replaced with "sensitive".
6249func (s LiteralArrayOptions) String() string {
6250	return awsutil.Prettify(s)
6251}
6252
6253// GoString returns the string representation.
6254//
6255// API parameter values that are decorated as "sensitive" in the API will not
6256// be included in the string output. The member name will be present, but the
6257// value will be replaced with "sensitive".
6258func (s LiteralArrayOptions) GoString() string {
6259	return s.String()
6260}
6261
6262// SetDefaultValue sets the DefaultValue field's value.
6263func (s *LiteralArrayOptions) SetDefaultValue(v string) *LiteralArrayOptions {
6264	s.DefaultValue = &v
6265	return s
6266}
6267
6268// SetFacetEnabled sets the FacetEnabled field's value.
6269func (s *LiteralArrayOptions) SetFacetEnabled(v bool) *LiteralArrayOptions {
6270	s.FacetEnabled = &v
6271	return s
6272}
6273
6274// SetReturnEnabled sets the ReturnEnabled field's value.
6275func (s *LiteralArrayOptions) SetReturnEnabled(v bool) *LiteralArrayOptions {
6276	s.ReturnEnabled = &v
6277	return s
6278}
6279
6280// SetSearchEnabled sets the SearchEnabled field's value.
6281func (s *LiteralArrayOptions) SetSearchEnabled(v bool) *LiteralArrayOptions {
6282	s.SearchEnabled = &v
6283	return s
6284}
6285
6286// SetSourceFields sets the SourceFields field's value.
6287func (s *LiteralArrayOptions) SetSourceFields(v string) *LiteralArrayOptions {
6288	s.SourceFields = &v
6289	return s
6290}
6291
6292// Options for literal field. Present if IndexFieldType specifies the field
6293// is of type literal. All options are enabled by default.
6294type LiteralOptions struct {
6295	_ struct{} `type:"structure"`
6296
6297	// A value to use for the field if the field isn't specified for a document.
6298	DefaultValue *string `type:"string"`
6299
6300	// Whether facet information can be returned for the field.
6301	FacetEnabled *bool `type:"boolean"`
6302
6303	// Whether the contents of the field can be returned in the search results.
6304	ReturnEnabled *bool `type:"boolean"`
6305
6306	// Whether the contents of the field are searchable.
6307	SearchEnabled *bool `type:"boolean"`
6308
6309	// Whether the field can be used to sort the search results.
6310	SortEnabled *bool `type:"boolean"`
6311
6312	// A string that represents the name of an index field. CloudSearch supports
6313	// regular index fields as well as dynamic fields. A dynamic field's name defines
6314	// a pattern that begins or ends with a wildcard. Any document fields that don't
6315	// map to a regular index field but do match a dynamic field's pattern are configured
6316	// with the dynamic field's indexing options.
6317	//
6318	// Regular field names begin with a letter and can contain the following characters:
6319	// a-z (lowercase), 0-9, and _ (underscore). Dynamic field names must begin
6320	// or end with a wildcard (*). The wildcard can also be the only character in
6321	// a dynamic field name. Multiple wildcards, and wildcards embedded within a
6322	// string are not supported.
6323	//
6324	// The name score is reserved and cannot be used as a field name. To reference
6325	// a document's ID, you can use the name _id.
6326	SourceField *string `min:"1" type:"string"`
6327}
6328
6329// String returns the string representation.
6330//
6331// API parameter values that are decorated as "sensitive" in the API will not
6332// be included in the string output. The member name will be present, but the
6333// value will be replaced with "sensitive".
6334func (s LiteralOptions) String() string {
6335	return awsutil.Prettify(s)
6336}
6337
6338// GoString returns the string representation.
6339//
6340// API parameter values that are decorated as "sensitive" in the API will not
6341// be included in the string output. The member name will be present, but the
6342// value will be replaced with "sensitive".
6343func (s LiteralOptions) GoString() string {
6344	return s.String()
6345}
6346
6347// Validate inspects the fields of the type to determine if they are valid.
6348func (s *LiteralOptions) Validate() error {
6349	invalidParams := request.ErrInvalidParams{Context: "LiteralOptions"}
6350	if s.SourceField != nil && len(*s.SourceField) < 1 {
6351		invalidParams.Add(request.NewErrParamMinLen("SourceField", 1))
6352	}
6353
6354	if invalidParams.Len() > 0 {
6355		return invalidParams
6356	}
6357	return nil
6358}
6359
6360// SetDefaultValue sets the DefaultValue field's value.
6361func (s *LiteralOptions) SetDefaultValue(v string) *LiteralOptions {
6362	s.DefaultValue = &v
6363	return s
6364}
6365
6366// SetFacetEnabled sets the FacetEnabled field's value.
6367func (s *LiteralOptions) SetFacetEnabled(v bool) *LiteralOptions {
6368	s.FacetEnabled = &v
6369	return s
6370}
6371
6372// SetReturnEnabled sets the ReturnEnabled field's value.
6373func (s *LiteralOptions) SetReturnEnabled(v bool) *LiteralOptions {
6374	s.ReturnEnabled = &v
6375	return s
6376}
6377
6378// SetSearchEnabled sets the SearchEnabled field's value.
6379func (s *LiteralOptions) SetSearchEnabled(v bool) *LiteralOptions {
6380	s.SearchEnabled = &v
6381	return s
6382}
6383
6384// SetSortEnabled sets the SortEnabled field's value.
6385func (s *LiteralOptions) SetSortEnabled(v bool) *LiteralOptions {
6386	s.SortEnabled = &v
6387	return s
6388}
6389
6390// SetSourceField sets the SourceField field's value.
6391func (s *LiteralOptions) SetSourceField(v string) *LiteralOptions {
6392	s.SourceField = &v
6393	return s
6394}
6395
6396// The status of domain configuration option.
6397type OptionStatus struct {
6398	_ struct{} `type:"structure"`
6399
6400	// A timestamp for when this option was created.
6401	//
6402	// CreationDate is a required field
6403	CreationDate *time.Time `type:"timestamp" required:"true"`
6404
6405	// Indicates that the option will be deleted once processing is complete.
6406	PendingDeletion *bool `type:"boolean"`
6407
6408	// The state of processing a change to an option. Possible values:
6409	//
6410	//    * RequiresIndexDocuments: the option's latest value will not be deployed
6411	//    until IndexDocuments has been called and indexing is complete.
6412	//
6413	//    * Processing: the option's latest value is in the process of being activated.
6414	//
6415	//    * Active: the option's latest value is completely deployed.
6416	//
6417	//    * FailedToValidate: the option value is not compatible with the domain's
6418	//    data and cannot be used to index the data. You must either modify the
6419	//    option value or update or remove the incompatible documents.
6420	//
6421	// State is a required field
6422	State *string `type:"string" required:"true" enum:"OptionState"`
6423
6424	// A timestamp for when this option was last updated.
6425	//
6426	// UpdateDate is a required field
6427	UpdateDate *time.Time `type:"timestamp" required:"true"`
6428
6429	// A unique integer that indicates when this option was last updated.
6430	UpdateVersion *int64 `type:"integer"`
6431}
6432
6433// String returns the string representation.
6434//
6435// API parameter values that are decorated as "sensitive" in the API will not
6436// be included in the string output. The member name will be present, but the
6437// value will be replaced with "sensitive".
6438func (s OptionStatus) String() string {
6439	return awsutil.Prettify(s)
6440}
6441
6442// GoString returns the string representation.
6443//
6444// API parameter values that are decorated as "sensitive" in the API will not
6445// be included in the string output. The member name will be present, but the
6446// value will be replaced with "sensitive".
6447func (s OptionStatus) GoString() string {
6448	return s.String()
6449}
6450
6451// SetCreationDate sets the CreationDate field's value.
6452func (s *OptionStatus) SetCreationDate(v time.Time) *OptionStatus {
6453	s.CreationDate = &v
6454	return s
6455}
6456
6457// SetPendingDeletion sets the PendingDeletion field's value.
6458func (s *OptionStatus) SetPendingDeletion(v bool) *OptionStatus {
6459	s.PendingDeletion = &v
6460	return s
6461}
6462
6463// SetState sets the State field's value.
6464func (s *OptionStatus) SetState(v string) *OptionStatus {
6465	s.State = &v
6466	return s
6467}
6468
6469// SetUpdateDate sets the UpdateDate field's value.
6470func (s *OptionStatus) SetUpdateDate(v time.Time) *OptionStatus {
6471	s.UpdateDate = &v
6472	return s
6473}
6474
6475// SetUpdateVersion sets the UpdateVersion field's value.
6476func (s *OptionStatus) SetUpdateVersion(v int64) *OptionStatus {
6477	s.UpdateVersion = &v
6478	return s
6479}
6480
6481// The desired instance type and desired number of replicas of each index partition.
6482type ScalingParameters struct {
6483	_ struct{} `type:"structure"`
6484
6485	// The instance type that you want to preconfigure for your domain. For example,
6486	// search.m1.small.
6487	DesiredInstanceType *string `type:"string" enum:"PartitionInstanceType"`
6488
6489	// The number of partitions you want to preconfigure for your domain. Only valid
6490	// when you select m2.2xlarge as the desired instance type.
6491	DesiredPartitionCount *int64 `type:"integer"`
6492
6493	// The number of replicas you want to preconfigure for each index partition.
6494	DesiredReplicationCount *int64 `type:"integer"`
6495}
6496
6497// String returns the string representation.
6498//
6499// API parameter values that are decorated as "sensitive" in the API will not
6500// be included in the string output. The member name will be present, but the
6501// value will be replaced with "sensitive".
6502func (s ScalingParameters) String() string {
6503	return awsutil.Prettify(s)
6504}
6505
6506// GoString returns the string representation.
6507//
6508// API parameter values that are decorated as "sensitive" in the API will not
6509// be included in the string output. The member name will be present, but the
6510// value will be replaced with "sensitive".
6511func (s ScalingParameters) GoString() string {
6512	return s.String()
6513}
6514
6515// SetDesiredInstanceType sets the DesiredInstanceType field's value.
6516func (s *ScalingParameters) SetDesiredInstanceType(v string) *ScalingParameters {
6517	s.DesiredInstanceType = &v
6518	return s
6519}
6520
6521// SetDesiredPartitionCount sets the DesiredPartitionCount field's value.
6522func (s *ScalingParameters) SetDesiredPartitionCount(v int64) *ScalingParameters {
6523	s.DesiredPartitionCount = &v
6524	return s
6525}
6526
6527// SetDesiredReplicationCount sets the DesiredReplicationCount field's value.
6528func (s *ScalingParameters) SetDesiredReplicationCount(v int64) *ScalingParameters {
6529	s.DesiredReplicationCount = &v
6530	return s
6531}
6532
6533// The status and configuration of a search domain's scaling parameters.
6534type ScalingParametersStatus struct {
6535	_ struct{} `type:"structure"`
6536
6537	// The desired instance type and desired number of replicas of each index partition.
6538	//
6539	// Options is a required field
6540	Options *ScalingParameters `type:"structure" required:"true"`
6541
6542	// The status of domain configuration option.
6543	//
6544	// Status is a required field
6545	Status *OptionStatus `type:"structure" required:"true"`
6546}
6547
6548// String returns the string representation.
6549//
6550// API parameter values that are decorated as "sensitive" in the API will not
6551// be included in the string output. The member name will be present, but the
6552// value will be replaced with "sensitive".
6553func (s ScalingParametersStatus) String() string {
6554	return awsutil.Prettify(s)
6555}
6556
6557// GoString returns the string representation.
6558//
6559// API parameter values that are decorated as "sensitive" in the API will not
6560// be included in the string output. The member name will be present, but the
6561// value will be replaced with "sensitive".
6562func (s ScalingParametersStatus) GoString() string {
6563	return s.String()
6564}
6565
6566// SetOptions sets the Options field's value.
6567func (s *ScalingParametersStatus) SetOptions(v *ScalingParameters) *ScalingParametersStatus {
6568	s.Options = v
6569	return s
6570}
6571
6572// SetStatus sets the Status field's value.
6573func (s *ScalingParametersStatus) SetStatus(v *OptionStatus) *ScalingParametersStatus {
6574	s.Status = v
6575	return s
6576}
6577
6578// The endpoint to which service requests can be submitted.
6579type ServiceEndpoint struct {
6580	_ struct{} `type:"structure"`
6581
6582	// The endpoint to which service requests can be submitted. For example, search-imdb-movies-oopcnjfn6ugofer3zx5iadxxca.eu-west-1.cloudsearch.amazonaws.com
6583	// or doc-imdb-movies-oopcnjfn6ugofer3zx5iadxxca.eu-west-1.cloudsearch.amazonaws.com.
6584	Endpoint *string `type:"string"`
6585}
6586
6587// String returns the string representation.
6588//
6589// API parameter values that are decorated as "sensitive" in the API will not
6590// be included in the string output. The member name will be present, but the
6591// value will be replaced with "sensitive".
6592func (s ServiceEndpoint) String() string {
6593	return awsutil.Prettify(s)
6594}
6595
6596// GoString returns the string representation.
6597//
6598// API parameter values that are decorated as "sensitive" in the API will not
6599// be included in the string output. The member name will be present, but the
6600// value will be replaced with "sensitive".
6601func (s ServiceEndpoint) GoString() string {
6602	return s.String()
6603}
6604
6605// SetEndpoint sets the Endpoint field's value.
6606func (s *ServiceEndpoint) SetEndpoint(v string) *ServiceEndpoint {
6607	s.Endpoint = &v
6608	return s
6609}
6610
6611// Configuration information for a search suggester. Each suggester has a unique
6612// name and specifies the text field you want to use for suggestions. The following
6613// options can be configured for a suggester: FuzzyMatching, SortExpression.
6614type Suggester struct {
6615	_ struct{} `type:"structure"`
6616
6617	// Options for a search suggester.
6618	//
6619	// DocumentSuggesterOptions is a required field
6620	DocumentSuggesterOptions *DocumentSuggesterOptions `type:"structure" required:"true"`
6621
6622	// Names must begin with a letter and can contain the following characters:
6623	// a-z (lowercase), 0-9, and _ (underscore).
6624	//
6625	// SuggesterName is a required field
6626	SuggesterName *string `min:"1" type:"string" required:"true"`
6627}
6628
6629// String returns the string representation.
6630//
6631// API parameter values that are decorated as "sensitive" in the API will not
6632// be included in the string output. The member name will be present, but the
6633// value will be replaced with "sensitive".
6634func (s Suggester) String() string {
6635	return awsutil.Prettify(s)
6636}
6637
6638// GoString returns the string representation.
6639//
6640// API parameter values that are decorated as "sensitive" in the API will not
6641// be included in the string output. The member name will be present, but the
6642// value will be replaced with "sensitive".
6643func (s Suggester) GoString() string {
6644	return s.String()
6645}
6646
6647// Validate inspects the fields of the type to determine if they are valid.
6648func (s *Suggester) Validate() error {
6649	invalidParams := request.ErrInvalidParams{Context: "Suggester"}
6650	if s.DocumentSuggesterOptions == nil {
6651		invalidParams.Add(request.NewErrParamRequired("DocumentSuggesterOptions"))
6652	}
6653	if s.SuggesterName == nil {
6654		invalidParams.Add(request.NewErrParamRequired("SuggesterName"))
6655	}
6656	if s.SuggesterName != nil && len(*s.SuggesterName) < 1 {
6657		invalidParams.Add(request.NewErrParamMinLen("SuggesterName", 1))
6658	}
6659	if s.DocumentSuggesterOptions != nil {
6660		if err := s.DocumentSuggesterOptions.Validate(); err != nil {
6661			invalidParams.AddNested("DocumentSuggesterOptions", err.(request.ErrInvalidParams))
6662		}
6663	}
6664
6665	if invalidParams.Len() > 0 {
6666		return invalidParams
6667	}
6668	return nil
6669}
6670
6671// SetDocumentSuggesterOptions sets the DocumentSuggesterOptions field's value.
6672func (s *Suggester) SetDocumentSuggesterOptions(v *DocumentSuggesterOptions) *Suggester {
6673	s.DocumentSuggesterOptions = v
6674	return s
6675}
6676
6677// SetSuggesterName sets the SuggesterName field's value.
6678func (s *Suggester) SetSuggesterName(v string) *Suggester {
6679	s.SuggesterName = &v
6680	return s
6681}
6682
6683// The value of a Suggester and its current status.
6684type SuggesterStatus struct {
6685	_ struct{} `type:"structure"`
6686
6687	// Configuration information for a search suggester. Each suggester has a unique
6688	// name and specifies the text field you want to use for suggestions. The following
6689	// options can be configured for a suggester: FuzzyMatching, SortExpression.
6690	//
6691	// Options is a required field
6692	Options *Suggester `type:"structure" required:"true"`
6693
6694	// The status of domain configuration option.
6695	//
6696	// Status is a required field
6697	Status *OptionStatus `type:"structure" required:"true"`
6698}
6699
6700// String returns the string representation.
6701//
6702// API parameter values that are decorated as "sensitive" in the API will not
6703// be included in the string output. The member name will be present, but the
6704// value will be replaced with "sensitive".
6705func (s SuggesterStatus) String() string {
6706	return awsutil.Prettify(s)
6707}
6708
6709// GoString returns the string representation.
6710//
6711// API parameter values that are decorated as "sensitive" in the API will not
6712// be included in the string output. The member name will be present, but the
6713// value will be replaced with "sensitive".
6714func (s SuggesterStatus) GoString() string {
6715	return s.String()
6716}
6717
6718// SetOptions sets the Options field's value.
6719func (s *SuggesterStatus) SetOptions(v *Suggester) *SuggesterStatus {
6720	s.Options = v
6721	return s
6722}
6723
6724// SetStatus sets the Status field's value.
6725func (s *SuggesterStatus) SetStatus(v *OptionStatus) *SuggesterStatus {
6726	s.Status = v
6727	return s
6728}
6729
6730// Options for a field that contains an array of text strings. Present if IndexFieldType
6731// specifies the field is of type text-array. A text-array field is always searchable.
6732// All options are enabled by default.
6733type TextArrayOptions struct {
6734	_ struct{} `type:"structure"`
6735
6736	// The name of an analysis scheme for a text-array field.
6737	AnalysisScheme *string `type:"string"`
6738
6739	// A value to use for the field if the field isn't specified for a document.
6740	DefaultValue *string `type:"string"`
6741
6742	// Whether highlights can be returned for the field.
6743	HighlightEnabled *bool `type:"boolean"`
6744
6745	// Whether the contents of the field can be returned in the search results.
6746	ReturnEnabled *bool `type:"boolean"`
6747
6748	// A list of source fields to map to the field.
6749	SourceFields *string `type:"string"`
6750}
6751
6752// String returns the string representation.
6753//
6754// API parameter values that are decorated as "sensitive" in the API will not
6755// be included in the string output. The member name will be present, but the
6756// value will be replaced with "sensitive".
6757func (s TextArrayOptions) String() string {
6758	return awsutil.Prettify(s)
6759}
6760
6761// GoString returns the string representation.
6762//
6763// API parameter values that are decorated as "sensitive" in the API will not
6764// be included in the string output. The member name will be present, but the
6765// value will be replaced with "sensitive".
6766func (s TextArrayOptions) GoString() string {
6767	return s.String()
6768}
6769
6770// SetAnalysisScheme sets the AnalysisScheme field's value.
6771func (s *TextArrayOptions) SetAnalysisScheme(v string) *TextArrayOptions {
6772	s.AnalysisScheme = &v
6773	return s
6774}
6775
6776// SetDefaultValue sets the DefaultValue field's value.
6777func (s *TextArrayOptions) SetDefaultValue(v string) *TextArrayOptions {
6778	s.DefaultValue = &v
6779	return s
6780}
6781
6782// SetHighlightEnabled sets the HighlightEnabled field's value.
6783func (s *TextArrayOptions) SetHighlightEnabled(v bool) *TextArrayOptions {
6784	s.HighlightEnabled = &v
6785	return s
6786}
6787
6788// SetReturnEnabled sets the ReturnEnabled field's value.
6789func (s *TextArrayOptions) SetReturnEnabled(v bool) *TextArrayOptions {
6790	s.ReturnEnabled = &v
6791	return s
6792}
6793
6794// SetSourceFields sets the SourceFields field's value.
6795func (s *TextArrayOptions) SetSourceFields(v string) *TextArrayOptions {
6796	s.SourceFields = &v
6797	return s
6798}
6799
6800// Options for text field. Present if IndexFieldType specifies the field is
6801// of type text. A text field is always searchable. All options are enabled
6802// by default.
6803type TextOptions struct {
6804	_ struct{} `type:"structure"`
6805
6806	// The name of an analysis scheme for a text field.
6807	AnalysisScheme *string `type:"string"`
6808
6809	// A value to use for the field if the field isn't specified for a document.
6810	DefaultValue *string `type:"string"`
6811
6812	// Whether highlights can be returned for the field.
6813	HighlightEnabled *bool `type:"boolean"`
6814
6815	// Whether the contents of the field can be returned in the search results.
6816	ReturnEnabled *bool `type:"boolean"`
6817
6818	// Whether the field can be used to sort the search results.
6819	SortEnabled *bool `type:"boolean"`
6820
6821	// A string that represents the name of an index field. CloudSearch supports
6822	// regular index fields as well as dynamic fields. A dynamic field's name defines
6823	// a pattern that begins or ends with a wildcard. Any document fields that don't
6824	// map to a regular index field but do match a dynamic field's pattern are configured
6825	// with the dynamic field's indexing options.
6826	//
6827	// Regular field names begin with a letter and can contain the following characters:
6828	// a-z (lowercase), 0-9, and _ (underscore). Dynamic field names must begin
6829	// or end with a wildcard (*). The wildcard can also be the only character in
6830	// a dynamic field name. Multiple wildcards, and wildcards embedded within a
6831	// string are not supported.
6832	//
6833	// The name score is reserved and cannot be used as a field name. To reference
6834	// a document's ID, you can use the name _id.
6835	SourceField *string `min:"1" type:"string"`
6836}
6837
6838// String returns the string representation.
6839//
6840// API parameter values that are decorated as "sensitive" in the API will not
6841// be included in the string output. The member name will be present, but the
6842// value will be replaced with "sensitive".
6843func (s TextOptions) String() string {
6844	return awsutil.Prettify(s)
6845}
6846
6847// GoString returns the string representation.
6848//
6849// API parameter values that are decorated as "sensitive" in the API will not
6850// be included in the string output. The member name will be present, but the
6851// value will be replaced with "sensitive".
6852func (s TextOptions) GoString() string {
6853	return s.String()
6854}
6855
6856// Validate inspects the fields of the type to determine if they are valid.
6857func (s *TextOptions) Validate() error {
6858	invalidParams := request.ErrInvalidParams{Context: "TextOptions"}
6859	if s.SourceField != nil && len(*s.SourceField) < 1 {
6860		invalidParams.Add(request.NewErrParamMinLen("SourceField", 1))
6861	}
6862
6863	if invalidParams.Len() > 0 {
6864		return invalidParams
6865	}
6866	return nil
6867}
6868
6869// SetAnalysisScheme sets the AnalysisScheme field's value.
6870func (s *TextOptions) SetAnalysisScheme(v string) *TextOptions {
6871	s.AnalysisScheme = &v
6872	return s
6873}
6874
6875// SetDefaultValue sets the DefaultValue field's value.
6876func (s *TextOptions) SetDefaultValue(v string) *TextOptions {
6877	s.DefaultValue = &v
6878	return s
6879}
6880
6881// SetHighlightEnabled sets the HighlightEnabled field's value.
6882func (s *TextOptions) SetHighlightEnabled(v bool) *TextOptions {
6883	s.HighlightEnabled = &v
6884	return s
6885}
6886
6887// SetReturnEnabled sets the ReturnEnabled field's value.
6888func (s *TextOptions) SetReturnEnabled(v bool) *TextOptions {
6889	s.ReturnEnabled = &v
6890	return s
6891}
6892
6893// SetSortEnabled sets the SortEnabled field's value.
6894func (s *TextOptions) SetSortEnabled(v bool) *TextOptions {
6895	s.SortEnabled = &v
6896	return s
6897}
6898
6899// SetSourceField sets the SourceField field's value.
6900func (s *TextOptions) SetSourceField(v string) *TextOptions {
6901	s.SourceField = &v
6902	return s
6903}
6904
6905// Container for the parameters to the UpdateAvailabilityOptions operation.
6906// Specifies the name of the domain you want to update and the Multi-AZ availability
6907// option.
6908type UpdateAvailabilityOptionsInput struct {
6909	_ struct{} `type:"structure"`
6910
6911	// A string that represents the name of a domain. Domain names are unique across
6912	// the domains owned by an account within an AWS region. Domain names start
6913	// with a letter or number and can contain the following characters: a-z (lowercase),
6914	// 0-9, and - (hyphen).
6915	//
6916	// DomainName is a required field
6917	DomainName *string `min:"3" type:"string" required:"true"`
6918
6919	// You expand an existing search domain to a second Availability Zone by setting
6920	// the Multi-AZ option to true. Similarly, you can turn off the Multi-AZ option
6921	// to downgrade the domain to a single Availability Zone by setting the Multi-AZ
6922	// option to false.
6923	//
6924	// MultiAZ is a required field
6925	MultiAZ *bool `type:"boolean" required:"true"`
6926}
6927
6928// String returns the string representation.
6929//
6930// API parameter values that are decorated as "sensitive" in the API will not
6931// be included in the string output. The member name will be present, but the
6932// value will be replaced with "sensitive".
6933func (s UpdateAvailabilityOptionsInput) String() string {
6934	return awsutil.Prettify(s)
6935}
6936
6937// GoString returns the string representation.
6938//
6939// API parameter values that are decorated as "sensitive" in the API will not
6940// be included in the string output. The member name will be present, but the
6941// value will be replaced with "sensitive".
6942func (s UpdateAvailabilityOptionsInput) GoString() string {
6943	return s.String()
6944}
6945
6946// Validate inspects the fields of the type to determine if they are valid.
6947func (s *UpdateAvailabilityOptionsInput) Validate() error {
6948	invalidParams := request.ErrInvalidParams{Context: "UpdateAvailabilityOptionsInput"}
6949	if s.DomainName == nil {
6950		invalidParams.Add(request.NewErrParamRequired("DomainName"))
6951	}
6952	if s.DomainName != nil && len(*s.DomainName) < 3 {
6953		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
6954	}
6955	if s.MultiAZ == nil {
6956		invalidParams.Add(request.NewErrParamRequired("MultiAZ"))
6957	}
6958
6959	if invalidParams.Len() > 0 {
6960		return invalidParams
6961	}
6962	return nil
6963}
6964
6965// SetDomainName sets the DomainName field's value.
6966func (s *UpdateAvailabilityOptionsInput) SetDomainName(v string) *UpdateAvailabilityOptionsInput {
6967	s.DomainName = &v
6968	return s
6969}
6970
6971// SetMultiAZ sets the MultiAZ field's value.
6972func (s *UpdateAvailabilityOptionsInput) SetMultiAZ(v bool) *UpdateAvailabilityOptionsInput {
6973	s.MultiAZ = &v
6974	return s
6975}
6976
6977// The result of a UpdateAvailabilityOptions request. Contains the status of
6978// the domain's availability options.
6979type UpdateAvailabilityOptionsOutput struct {
6980	_ struct{} `type:"structure"`
6981
6982	// The newly-configured availability options. Indicates whether Multi-AZ is
6983	// enabled for the domain.
6984	AvailabilityOptions *AvailabilityOptionsStatus `type:"structure"`
6985}
6986
6987// String returns the string representation.
6988//
6989// API parameter values that are decorated as "sensitive" in the API will not
6990// be included in the string output. The member name will be present, but the
6991// value will be replaced with "sensitive".
6992func (s UpdateAvailabilityOptionsOutput) String() string {
6993	return awsutil.Prettify(s)
6994}
6995
6996// GoString returns the string representation.
6997//
6998// API parameter values that are decorated as "sensitive" in the API will not
6999// be included in the string output. The member name will be present, but the
7000// value will be replaced with "sensitive".
7001func (s UpdateAvailabilityOptionsOutput) GoString() string {
7002	return s.String()
7003}
7004
7005// SetAvailabilityOptions sets the AvailabilityOptions field's value.
7006func (s *UpdateAvailabilityOptionsOutput) SetAvailabilityOptions(v *AvailabilityOptionsStatus) *UpdateAvailabilityOptionsOutput {
7007	s.AvailabilityOptions = v
7008	return s
7009}
7010
7011// Container for the parameters to the UpdateDomainEndpointOptions operation.
7012// Specifies the name of the domain you want to update and the domain endpoint
7013// options.
7014type UpdateDomainEndpointOptionsInput struct {
7015	_ struct{} `type:"structure"`
7016
7017	// Whether to require that all requests to the domain arrive over HTTPS. We
7018	// recommend Policy-Min-TLS-1-2-2019-07 for TLSSecurityPolicy. For compatibility
7019	// with older clients, the default is Policy-Min-TLS-1-0-2019-07.
7020	//
7021	// DomainEndpointOptions is a required field
7022	DomainEndpointOptions *DomainEndpointOptions `type:"structure" required:"true"`
7023
7024	// A string that represents the name of a domain.
7025	//
7026	// DomainName is a required field
7027	DomainName *string `min:"3" type:"string" required:"true"`
7028}
7029
7030// String returns the string representation.
7031//
7032// API parameter values that are decorated as "sensitive" in the API will not
7033// be included in the string output. The member name will be present, but the
7034// value will be replaced with "sensitive".
7035func (s UpdateDomainEndpointOptionsInput) String() string {
7036	return awsutil.Prettify(s)
7037}
7038
7039// GoString returns the string representation.
7040//
7041// API parameter values that are decorated as "sensitive" in the API will not
7042// be included in the string output. The member name will be present, but the
7043// value will be replaced with "sensitive".
7044func (s UpdateDomainEndpointOptionsInput) GoString() string {
7045	return s.String()
7046}
7047
7048// Validate inspects the fields of the type to determine if they are valid.
7049func (s *UpdateDomainEndpointOptionsInput) Validate() error {
7050	invalidParams := request.ErrInvalidParams{Context: "UpdateDomainEndpointOptionsInput"}
7051	if s.DomainEndpointOptions == nil {
7052		invalidParams.Add(request.NewErrParamRequired("DomainEndpointOptions"))
7053	}
7054	if s.DomainName == nil {
7055		invalidParams.Add(request.NewErrParamRequired("DomainName"))
7056	}
7057	if s.DomainName != nil && len(*s.DomainName) < 3 {
7058		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
7059	}
7060
7061	if invalidParams.Len() > 0 {
7062		return invalidParams
7063	}
7064	return nil
7065}
7066
7067// SetDomainEndpointOptions sets the DomainEndpointOptions field's value.
7068func (s *UpdateDomainEndpointOptionsInput) SetDomainEndpointOptions(v *DomainEndpointOptions) *UpdateDomainEndpointOptionsInput {
7069	s.DomainEndpointOptions = v
7070	return s
7071}
7072
7073// SetDomainName sets the DomainName field's value.
7074func (s *UpdateDomainEndpointOptionsInput) SetDomainName(v string) *UpdateDomainEndpointOptionsInput {
7075	s.DomainName = &v
7076	return s
7077}
7078
7079// The result of a UpdateDomainEndpointOptions request. Contains the configuration
7080// and status of the domain's endpoint options.
7081type UpdateDomainEndpointOptionsOutput struct {
7082	_ struct{} `type:"structure"`
7083
7084	// The newly-configured domain endpoint options.
7085	DomainEndpointOptions *DomainEndpointOptionsStatus `type:"structure"`
7086}
7087
7088// String returns the string representation.
7089//
7090// API parameter values that are decorated as "sensitive" in the API will not
7091// be included in the string output. The member name will be present, but the
7092// value will be replaced with "sensitive".
7093func (s UpdateDomainEndpointOptionsOutput) String() string {
7094	return awsutil.Prettify(s)
7095}
7096
7097// GoString returns the string representation.
7098//
7099// API parameter values that are decorated as "sensitive" in the API will not
7100// be included in the string output. The member name will be present, but the
7101// value will be replaced with "sensitive".
7102func (s UpdateDomainEndpointOptionsOutput) GoString() string {
7103	return s.String()
7104}
7105
7106// SetDomainEndpointOptions sets the DomainEndpointOptions field's value.
7107func (s *UpdateDomainEndpointOptionsOutput) SetDomainEndpointOptions(v *DomainEndpointOptionsStatus) *UpdateDomainEndpointOptionsOutput {
7108	s.DomainEndpointOptions = v
7109	return s
7110}
7111
7112// Container for the parameters to the UpdateScalingParameters operation. Specifies
7113// the name of the domain you want to update and the scaling parameters you
7114// want to configure.
7115type UpdateScalingParametersInput struct {
7116	_ struct{} `type:"structure"`
7117
7118	// A string that represents the name of a domain. Domain names are unique across
7119	// the domains owned by an account within an AWS region. Domain names start
7120	// with a letter or number and can contain the following characters: a-z (lowercase),
7121	// 0-9, and - (hyphen).
7122	//
7123	// DomainName is a required field
7124	DomainName *string `min:"3" type:"string" required:"true"`
7125
7126	// The desired instance type and desired number of replicas of each index partition.
7127	//
7128	// ScalingParameters is a required field
7129	ScalingParameters *ScalingParameters `type:"structure" required:"true"`
7130}
7131
7132// String returns the string representation.
7133//
7134// API parameter values that are decorated as "sensitive" in the API will not
7135// be included in the string output. The member name will be present, but the
7136// value will be replaced with "sensitive".
7137func (s UpdateScalingParametersInput) String() string {
7138	return awsutil.Prettify(s)
7139}
7140
7141// GoString returns the string representation.
7142//
7143// API parameter values that are decorated as "sensitive" in the API will not
7144// be included in the string output. The member name will be present, but the
7145// value will be replaced with "sensitive".
7146func (s UpdateScalingParametersInput) GoString() string {
7147	return s.String()
7148}
7149
7150// Validate inspects the fields of the type to determine if they are valid.
7151func (s *UpdateScalingParametersInput) Validate() error {
7152	invalidParams := request.ErrInvalidParams{Context: "UpdateScalingParametersInput"}
7153	if s.DomainName == nil {
7154		invalidParams.Add(request.NewErrParamRequired("DomainName"))
7155	}
7156	if s.DomainName != nil && len(*s.DomainName) < 3 {
7157		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
7158	}
7159	if s.ScalingParameters == nil {
7160		invalidParams.Add(request.NewErrParamRequired("ScalingParameters"))
7161	}
7162
7163	if invalidParams.Len() > 0 {
7164		return invalidParams
7165	}
7166	return nil
7167}
7168
7169// SetDomainName sets the DomainName field's value.
7170func (s *UpdateScalingParametersInput) SetDomainName(v string) *UpdateScalingParametersInput {
7171	s.DomainName = &v
7172	return s
7173}
7174
7175// SetScalingParameters sets the ScalingParameters field's value.
7176func (s *UpdateScalingParametersInput) SetScalingParameters(v *ScalingParameters) *UpdateScalingParametersInput {
7177	s.ScalingParameters = v
7178	return s
7179}
7180
7181// The result of a UpdateScalingParameters request. Contains the status of the
7182// newly-configured scaling parameters.
7183type UpdateScalingParametersOutput struct {
7184	_ struct{} `type:"structure"`
7185
7186	// The status and configuration of a search domain's scaling parameters.
7187	//
7188	// ScalingParameters is a required field
7189	ScalingParameters *ScalingParametersStatus `type:"structure" required:"true"`
7190}
7191
7192// String returns the string representation.
7193//
7194// API parameter values that are decorated as "sensitive" in the API will not
7195// be included in the string output. The member name will be present, but the
7196// value will be replaced with "sensitive".
7197func (s UpdateScalingParametersOutput) String() string {
7198	return awsutil.Prettify(s)
7199}
7200
7201// GoString returns the string representation.
7202//
7203// API parameter values that are decorated as "sensitive" in the API will not
7204// be included in the string output. The member name will be present, but the
7205// value will be replaced with "sensitive".
7206func (s UpdateScalingParametersOutput) GoString() string {
7207	return s.String()
7208}
7209
7210// SetScalingParameters sets the ScalingParameters field's value.
7211func (s *UpdateScalingParametersOutput) SetScalingParameters(v *ScalingParametersStatus) *UpdateScalingParametersOutput {
7212	s.ScalingParameters = v
7213	return s
7214}
7215
7216// Container for the parameters to the UpdateServiceAccessPolicies operation.
7217// Specifies the name of the domain you want to update and the access rules
7218// you want to configure.
7219type UpdateServiceAccessPoliciesInput struct {
7220	_ struct{} `type:"structure"`
7221
7222	// The access rules you want to configure. These rules replace any existing
7223	// rules.
7224	//
7225	// AccessPolicies is a required field
7226	AccessPolicies *string `type:"string" required:"true"`
7227
7228	// A string that represents the name of a domain. Domain names are unique across
7229	// the domains owned by an account within an AWS region. Domain names start
7230	// with a letter or number and can contain the following characters: a-z (lowercase),
7231	// 0-9, and - (hyphen).
7232	//
7233	// DomainName is a required field
7234	DomainName *string `min:"3" type:"string" required:"true"`
7235}
7236
7237// String returns the string representation.
7238//
7239// API parameter values that are decorated as "sensitive" in the API will not
7240// be included in the string output. The member name will be present, but the
7241// value will be replaced with "sensitive".
7242func (s UpdateServiceAccessPoliciesInput) String() string {
7243	return awsutil.Prettify(s)
7244}
7245
7246// GoString returns the string representation.
7247//
7248// API parameter values that are decorated as "sensitive" in the API will not
7249// be included in the string output. The member name will be present, but the
7250// value will be replaced with "sensitive".
7251func (s UpdateServiceAccessPoliciesInput) GoString() string {
7252	return s.String()
7253}
7254
7255// Validate inspects the fields of the type to determine if they are valid.
7256func (s *UpdateServiceAccessPoliciesInput) Validate() error {
7257	invalidParams := request.ErrInvalidParams{Context: "UpdateServiceAccessPoliciesInput"}
7258	if s.AccessPolicies == nil {
7259		invalidParams.Add(request.NewErrParamRequired("AccessPolicies"))
7260	}
7261	if s.DomainName == nil {
7262		invalidParams.Add(request.NewErrParamRequired("DomainName"))
7263	}
7264	if s.DomainName != nil && len(*s.DomainName) < 3 {
7265		invalidParams.Add(request.NewErrParamMinLen("DomainName", 3))
7266	}
7267
7268	if invalidParams.Len() > 0 {
7269		return invalidParams
7270	}
7271	return nil
7272}
7273
7274// SetAccessPolicies sets the AccessPolicies field's value.
7275func (s *UpdateServiceAccessPoliciesInput) SetAccessPolicies(v string) *UpdateServiceAccessPoliciesInput {
7276	s.AccessPolicies = &v
7277	return s
7278}
7279
7280// SetDomainName sets the DomainName field's value.
7281func (s *UpdateServiceAccessPoliciesInput) SetDomainName(v string) *UpdateServiceAccessPoliciesInput {
7282	s.DomainName = &v
7283	return s
7284}
7285
7286// The result of an UpdateServiceAccessPolicies request. Contains the new access
7287// policies.
7288type UpdateServiceAccessPoliciesOutput struct {
7289	_ struct{} `type:"structure"`
7290
7291	// The access rules configured for the domain.
7292	//
7293	// AccessPolicies is a required field
7294	AccessPolicies *AccessPoliciesStatus `type:"structure" required:"true"`
7295}
7296
7297// String returns the string representation.
7298//
7299// API parameter values that are decorated as "sensitive" in the API will not
7300// be included in the string output. The member name will be present, but the
7301// value will be replaced with "sensitive".
7302func (s UpdateServiceAccessPoliciesOutput) String() string {
7303	return awsutil.Prettify(s)
7304}
7305
7306// GoString returns the string representation.
7307//
7308// API parameter values that are decorated as "sensitive" in the API will not
7309// be included in the string output. The member name will be present, but the
7310// value will be replaced with "sensitive".
7311func (s UpdateServiceAccessPoliciesOutput) GoString() string {
7312	return s.String()
7313}
7314
7315// SetAccessPolicies sets the AccessPolicies field's value.
7316func (s *UpdateServiceAccessPoliciesOutput) SetAccessPolicies(v *AccessPoliciesStatus) *UpdateServiceAccessPoliciesOutput {
7317	s.AccessPolicies = v
7318	return s
7319}
7320
7321const (
7322	// AlgorithmicStemmingNone is a AlgorithmicStemming enum value
7323	AlgorithmicStemmingNone = "none"
7324
7325	// AlgorithmicStemmingMinimal is a AlgorithmicStemming enum value
7326	AlgorithmicStemmingMinimal = "minimal"
7327
7328	// AlgorithmicStemmingLight is a AlgorithmicStemming enum value
7329	AlgorithmicStemmingLight = "light"
7330
7331	// AlgorithmicStemmingFull is a AlgorithmicStemming enum value
7332	AlgorithmicStemmingFull = "full"
7333)
7334
7335// AlgorithmicStemming_Values returns all elements of the AlgorithmicStemming enum
7336func AlgorithmicStemming_Values() []string {
7337	return []string{
7338		AlgorithmicStemmingNone,
7339		AlgorithmicStemmingMinimal,
7340		AlgorithmicStemmingLight,
7341		AlgorithmicStemmingFull,
7342	}
7343}
7344
7345// An IETF RFC 4646 (http://tools.ietf.org/html/rfc4646) language code or mul
7346// for multiple languages.
7347const (
7348	// AnalysisSchemeLanguageAr is a AnalysisSchemeLanguage enum value
7349	AnalysisSchemeLanguageAr = "ar"
7350
7351	// AnalysisSchemeLanguageBg is a AnalysisSchemeLanguage enum value
7352	AnalysisSchemeLanguageBg = "bg"
7353
7354	// AnalysisSchemeLanguageCa is a AnalysisSchemeLanguage enum value
7355	AnalysisSchemeLanguageCa = "ca"
7356
7357	// AnalysisSchemeLanguageCs is a AnalysisSchemeLanguage enum value
7358	AnalysisSchemeLanguageCs = "cs"
7359
7360	// AnalysisSchemeLanguageDa is a AnalysisSchemeLanguage enum value
7361	AnalysisSchemeLanguageDa = "da"
7362
7363	// AnalysisSchemeLanguageDe is a AnalysisSchemeLanguage enum value
7364	AnalysisSchemeLanguageDe = "de"
7365
7366	// AnalysisSchemeLanguageEl is a AnalysisSchemeLanguage enum value
7367	AnalysisSchemeLanguageEl = "el"
7368
7369	// AnalysisSchemeLanguageEn is a AnalysisSchemeLanguage enum value
7370	AnalysisSchemeLanguageEn = "en"
7371
7372	// AnalysisSchemeLanguageEs is a AnalysisSchemeLanguage enum value
7373	AnalysisSchemeLanguageEs = "es"
7374
7375	// AnalysisSchemeLanguageEu is a AnalysisSchemeLanguage enum value
7376	AnalysisSchemeLanguageEu = "eu"
7377
7378	// AnalysisSchemeLanguageFa is a AnalysisSchemeLanguage enum value
7379	AnalysisSchemeLanguageFa = "fa"
7380
7381	// AnalysisSchemeLanguageFi is a AnalysisSchemeLanguage enum value
7382	AnalysisSchemeLanguageFi = "fi"
7383
7384	// AnalysisSchemeLanguageFr is a AnalysisSchemeLanguage enum value
7385	AnalysisSchemeLanguageFr = "fr"
7386
7387	// AnalysisSchemeLanguageGa is a AnalysisSchemeLanguage enum value
7388	AnalysisSchemeLanguageGa = "ga"
7389
7390	// AnalysisSchemeLanguageGl is a AnalysisSchemeLanguage enum value
7391	AnalysisSchemeLanguageGl = "gl"
7392
7393	// AnalysisSchemeLanguageHe is a AnalysisSchemeLanguage enum value
7394	AnalysisSchemeLanguageHe = "he"
7395
7396	// AnalysisSchemeLanguageHi is a AnalysisSchemeLanguage enum value
7397	AnalysisSchemeLanguageHi = "hi"
7398
7399	// AnalysisSchemeLanguageHu is a AnalysisSchemeLanguage enum value
7400	AnalysisSchemeLanguageHu = "hu"
7401
7402	// AnalysisSchemeLanguageHy is a AnalysisSchemeLanguage enum value
7403	AnalysisSchemeLanguageHy = "hy"
7404
7405	// AnalysisSchemeLanguageId is a AnalysisSchemeLanguage enum value
7406	AnalysisSchemeLanguageId = "id"
7407
7408	// AnalysisSchemeLanguageIt is a AnalysisSchemeLanguage enum value
7409	AnalysisSchemeLanguageIt = "it"
7410
7411	// AnalysisSchemeLanguageJa is a AnalysisSchemeLanguage enum value
7412	AnalysisSchemeLanguageJa = "ja"
7413
7414	// AnalysisSchemeLanguageKo is a AnalysisSchemeLanguage enum value
7415	AnalysisSchemeLanguageKo = "ko"
7416
7417	// AnalysisSchemeLanguageLv is a AnalysisSchemeLanguage enum value
7418	AnalysisSchemeLanguageLv = "lv"
7419
7420	// AnalysisSchemeLanguageMul is a AnalysisSchemeLanguage enum value
7421	AnalysisSchemeLanguageMul = "mul"
7422
7423	// AnalysisSchemeLanguageNl is a AnalysisSchemeLanguage enum value
7424	AnalysisSchemeLanguageNl = "nl"
7425
7426	// AnalysisSchemeLanguageNo is a AnalysisSchemeLanguage enum value
7427	AnalysisSchemeLanguageNo = "no"
7428
7429	// AnalysisSchemeLanguagePt is a AnalysisSchemeLanguage enum value
7430	AnalysisSchemeLanguagePt = "pt"
7431
7432	// AnalysisSchemeLanguageRo is a AnalysisSchemeLanguage enum value
7433	AnalysisSchemeLanguageRo = "ro"
7434
7435	// AnalysisSchemeLanguageRu is a AnalysisSchemeLanguage enum value
7436	AnalysisSchemeLanguageRu = "ru"
7437
7438	// AnalysisSchemeLanguageSv is a AnalysisSchemeLanguage enum value
7439	AnalysisSchemeLanguageSv = "sv"
7440
7441	// AnalysisSchemeLanguageTh is a AnalysisSchemeLanguage enum value
7442	AnalysisSchemeLanguageTh = "th"
7443
7444	// AnalysisSchemeLanguageTr is a AnalysisSchemeLanguage enum value
7445	AnalysisSchemeLanguageTr = "tr"
7446
7447	// AnalysisSchemeLanguageZhHans is a AnalysisSchemeLanguage enum value
7448	AnalysisSchemeLanguageZhHans = "zh-Hans"
7449
7450	// AnalysisSchemeLanguageZhHant is a AnalysisSchemeLanguage enum value
7451	AnalysisSchemeLanguageZhHant = "zh-Hant"
7452)
7453
7454// AnalysisSchemeLanguage_Values returns all elements of the AnalysisSchemeLanguage enum
7455func AnalysisSchemeLanguage_Values() []string {
7456	return []string{
7457		AnalysisSchemeLanguageAr,
7458		AnalysisSchemeLanguageBg,
7459		AnalysisSchemeLanguageCa,
7460		AnalysisSchemeLanguageCs,
7461		AnalysisSchemeLanguageDa,
7462		AnalysisSchemeLanguageDe,
7463		AnalysisSchemeLanguageEl,
7464		AnalysisSchemeLanguageEn,
7465		AnalysisSchemeLanguageEs,
7466		AnalysisSchemeLanguageEu,
7467		AnalysisSchemeLanguageFa,
7468		AnalysisSchemeLanguageFi,
7469		AnalysisSchemeLanguageFr,
7470		AnalysisSchemeLanguageGa,
7471		AnalysisSchemeLanguageGl,
7472		AnalysisSchemeLanguageHe,
7473		AnalysisSchemeLanguageHi,
7474		AnalysisSchemeLanguageHu,
7475		AnalysisSchemeLanguageHy,
7476		AnalysisSchemeLanguageId,
7477		AnalysisSchemeLanguageIt,
7478		AnalysisSchemeLanguageJa,
7479		AnalysisSchemeLanguageKo,
7480		AnalysisSchemeLanguageLv,
7481		AnalysisSchemeLanguageMul,
7482		AnalysisSchemeLanguageNl,
7483		AnalysisSchemeLanguageNo,
7484		AnalysisSchemeLanguagePt,
7485		AnalysisSchemeLanguageRo,
7486		AnalysisSchemeLanguageRu,
7487		AnalysisSchemeLanguageSv,
7488		AnalysisSchemeLanguageTh,
7489		AnalysisSchemeLanguageTr,
7490		AnalysisSchemeLanguageZhHans,
7491		AnalysisSchemeLanguageZhHant,
7492	}
7493}
7494
7495// The type of field. The valid options for a field depend on the field type.
7496// For more information about the supported field types, see Configuring Index
7497// Fields (http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-index-fields.html)
7498// in the Amazon CloudSearch Developer Guide.
7499const (
7500	// IndexFieldTypeInt is a IndexFieldType enum value
7501	IndexFieldTypeInt = "int"
7502
7503	// IndexFieldTypeDouble is a IndexFieldType enum value
7504	IndexFieldTypeDouble = "double"
7505
7506	// IndexFieldTypeLiteral is a IndexFieldType enum value
7507	IndexFieldTypeLiteral = "literal"
7508
7509	// IndexFieldTypeText is a IndexFieldType enum value
7510	IndexFieldTypeText = "text"
7511
7512	// IndexFieldTypeDate is a IndexFieldType enum value
7513	IndexFieldTypeDate = "date"
7514
7515	// IndexFieldTypeLatlon is a IndexFieldType enum value
7516	IndexFieldTypeLatlon = "latlon"
7517
7518	// IndexFieldTypeIntArray is a IndexFieldType enum value
7519	IndexFieldTypeIntArray = "int-array"
7520
7521	// IndexFieldTypeDoubleArray is a IndexFieldType enum value
7522	IndexFieldTypeDoubleArray = "double-array"
7523
7524	// IndexFieldTypeLiteralArray is a IndexFieldType enum value
7525	IndexFieldTypeLiteralArray = "literal-array"
7526
7527	// IndexFieldTypeTextArray is a IndexFieldType enum value
7528	IndexFieldTypeTextArray = "text-array"
7529
7530	// IndexFieldTypeDateArray is a IndexFieldType enum value
7531	IndexFieldTypeDateArray = "date-array"
7532)
7533
7534// IndexFieldType_Values returns all elements of the IndexFieldType enum
7535func IndexFieldType_Values() []string {
7536	return []string{
7537		IndexFieldTypeInt,
7538		IndexFieldTypeDouble,
7539		IndexFieldTypeLiteral,
7540		IndexFieldTypeText,
7541		IndexFieldTypeDate,
7542		IndexFieldTypeLatlon,
7543		IndexFieldTypeIntArray,
7544		IndexFieldTypeDoubleArray,
7545		IndexFieldTypeLiteralArray,
7546		IndexFieldTypeTextArray,
7547		IndexFieldTypeDateArray,
7548	}
7549}
7550
7551// The state of processing a change to an option. One of:
7552//
7553//    * RequiresIndexDocuments: The option's latest value will not be deployed
7554//    until IndexDocuments has been called and indexing is complete.
7555//
7556//    * Processing: The option's latest value is in the process of being activated.
7557//
7558//    * Active: The option's latest value is fully deployed.
7559//
7560//    * FailedToValidate: The option value is not compatible with the domain's
7561//    data and cannot be used to index the data. You must either modify the
7562//    option value or update or remove the incompatible documents.
7563const (
7564	// OptionStateRequiresIndexDocuments is a OptionState enum value
7565	OptionStateRequiresIndexDocuments = "RequiresIndexDocuments"
7566
7567	// OptionStateProcessing is a OptionState enum value
7568	OptionStateProcessing = "Processing"
7569
7570	// OptionStateActive is a OptionState enum value
7571	OptionStateActive = "Active"
7572
7573	// OptionStateFailedToValidate is a OptionState enum value
7574	OptionStateFailedToValidate = "FailedToValidate"
7575)
7576
7577// OptionState_Values returns all elements of the OptionState enum
7578func OptionState_Values() []string {
7579	return []string{
7580		OptionStateRequiresIndexDocuments,
7581		OptionStateProcessing,
7582		OptionStateActive,
7583		OptionStateFailedToValidate,
7584	}
7585}
7586
7587// The instance type (such as search.m1.small) on which an index partition is
7588// hosted.
7589const (
7590	// PartitionInstanceTypeSearchM1Small is a PartitionInstanceType enum value
7591	PartitionInstanceTypeSearchM1Small = "search.m1.small"
7592
7593	// PartitionInstanceTypeSearchM1Large is a PartitionInstanceType enum value
7594	PartitionInstanceTypeSearchM1Large = "search.m1.large"
7595
7596	// PartitionInstanceTypeSearchM2Xlarge is a PartitionInstanceType enum value
7597	PartitionInstanceTypeSearchM2Xlarge = "search.m2.xlarge"
7598
7599	// PartitionInstanceTypeSearchM22xlarge is a PartitionInstanceType enum value
7600	PartitionInstanceTypeSearchM22xlarge = "search.m2.2xlarge"
7601
7602	// PartitionInstanceTypeSearchM3Medium is a PartitionInstanceType enum value
7603	PartitionInstanceTypeSearchM3Medium = "search.m3.medium"
7604
7605	// PartitionInstanceTypeSearchM3Large is a PartitionInstanceType enum value
7606	PartitionInstanceTypeSearchM3Large = "search.m3.large"
7607
7608	// PartitionInstanceTypeSearchM3Xlarge is a PartitionInstanceType enum value
7609	PartitionInstanceTypeSearchM3Xlarge = "search.m3.xlarge"
7610
7611	// PartitionInstanceTypeSearchM32xlarge is a PartitionInstanceType enum value
7612	PartitionInstanceTypeSearchM32xlarge = "search.m3.2xlarge"
7613
7614	// PartitionInstanceTypeSearchSmall is a PartitionInstanceType enum value
7615	PartitionInstanceTypeSearchSmall = "search.small"
7616
7617	// PartitionInstanceTypeSearchMedium is a PartitionInstanceType enum value
7618	PartitionInstanceTypeSearchMedium = "search.medium"
7619
7620	// PartitionInstanceTypeSearchLarge is a PartitionInstanceType enum value
7621	PartitionInstanceTypeSearchLarge = "search.large"
7622
7623	// PartitionInstanceTypeSearchXlarge is a PartitionInstanceType enum value
7624	PartitionInstanceTypeSearchXlarge = "search.xlarge"
7625
7626	// PartitionInstanceTypeSearch2xlarge is a PartitionInstanceType enum value
7627	PartitionInstanceTypeSearch2xlarge = "search.2xlarge"
7628
7629	// PartitionInstanceTypeSearchPreviousgenerationSmall is a PartitionInstanceType enum value
7630	PartitionInstanceTypeSearchPreviousgenerationSmall = "search.previousgeneration.small"
7631
7632	// PartitionInstanceTypeSearchPreviousgenerationLarge is a PartitionInstanceType enum value
7633	PartitionInstanceTypeSearchPreviousgenerationLarge = "search.previousgeneration.large"
7634
7635	// PartitionInstanceTypeSearchPreviousgenerationXlarge is a PartitionInstanceType enum value
7636	PartitionInstanceTypeSearchPreviousgenerationXlarge = "search.previousgeneration.xlarge"
7637
7638	// PartitionInstanceTypeSearchPreviousgeneration2xlarge is a PartitionInstanceType enum value
7639	PartitionInstanceTypeSearchPreviousgeneration2xlarge = "search.previousgeneration.2xlarge"
7640)
7641
7642// PartitionInstanceType_Values returns all elements of the PartitionInstanceType enum
7643func PartitionInstanceType_Values() []string {
7644	return []string{
7645		PartitionInstanceTypeSearchM1Small,
7646		PartitionInstanceTypeSearchM1Large,
7647		PartitionInstanceTypeSearchM2Xlarge,
7648		PartitionInstanceTypeSearchM22xlarge,
7649		PartitionInstanceTypeSearchM3Medium,
7650		PartitionInstanceTypeSearchM3Large,
7651		PartitionInstanceTypeSearchM3Xlarge,
7652		PartitionInstanceTypeSearchM32xlarge,
7653		PartitionInstanceTypeSearchSmall,
7654		PartitionInstanceTypeSearchMedium,
7655		PartitionInstanceTypeSearchLarge,
7656		PartitionInstanceTypeSearchXlarge,
7657		PartitionInstanceTypeSearch2xlarge,
7658		PartitionInstanceTypeSearchPreviousgenerationSmall,
7659		PartitionInstanceTypeSearchPreviousgenerationLarge,
7660		PartitionInstanceTypeSearchPreviousgenerationXlarge,
7661		PartitionInstanceTypeSearchPreviousgeneration2xlarge,
7662	}
7663}
7664
7665const (
7666	// SuggesterFuzzyMatchingNone is a SuggesterFuzzyMatching enum value
7667	SuggesterFuzzyMatchingNone = "none"
7668
7669	// SuggesterFuzzyMatchingLow is a SuggesterFuzzyMatching enum value
7670	SuggesterFuzzyMatchingLow = "low"
7671
7672	// SuggesterFuzzyMatchingHigh is a SuggesterFuzzyMatching enum value
7673	SuggesterFuzzyMatchingHigh = "high"
7674)
7675
7676// SuggesterFuzzyMatching_Values returns all elements of the SuggesterFuzzyMatching enum
7677func SuggesterFuzzyMatching_Values() []string {
7678	return []string{
7679		SuggesterFuzzyMatchingNone,
7680		SuggesterFuzzyMatchingLow,
7681		SuggesterFuzzyMatchingHigh,
7682	}
7683}
7684
7685// The minimum required TLS version.
7686const (
7687	// TLSSecurityPolicyPolicyMinTls10201907 is a TLSSecurityPolicy enum value
7688	TLSSecurityPolicyPolicyMinTls10201907 = "Policy-Min-TLS-1-0-2019-07"
7689
7690	// TLSSecurityPolicyPolicyMinTls12201907 is a TLSSecurityPolicy enum value
7691	TLSSecurityPolicyPolicyMinTls12201907 = "Policy-Min-TLS-1-2-2019-07"
7692)
7693
7694// TLSSecurityPolicy_Values returns all elements of the TLSSecurityPolicy enum
7695func TLSSecurityPolicy_Values() []string {
7696	return []string{
7697		TLSSecurityPolicyPolicyMinTls10201907,
7698		TLSSecurityPolicyPolicyMinTls12201907,
7699	}
7700}
7701