1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package dax
4
5import (
6	"fmt"
7	"time"
8
9	"github.com/aws/aws-sdk-go/aws"
10	"github.com/aws/aws-sdk-go/aws/awsutil"
11	"github.com/aws/aws-sdk-go/aws/request"
12	"github.com/aws/aws-sdk-go/private/protocol"
13)
14
15const opCreateCluster = "CreateCluster"
16
17// CreateClusterRequest generates a "aws/request.Request" representing the
18// client's request for the CreateCluster operation. The "output" return
19// value will be populated with the request's response once the request completes
20// successfully.
21//
22// Use "Send" method on the returned Request to send the API call to the service.
23// the "output" return value is not valid until after Send returns without error.
24//
25// See CreateCluster for more information on using the CreateCluster
26// API call, and error handling.
27//
28// This method is useful when you want to inject custom logic or configuration
29// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30//
31//
32//    // Example sending a request using the CreateClusterRequest method.
33//    req, resp := client.CreateClusterRequest(params)
34//
35//    err := req.Send()
36//    if err == nil { // resp is now filled
37//        fmt.Println(resp)
38//    }
39//
40// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/CreateCluster
41func (c *DAX) CreateClusterRequest(input *CreateClusterInput) (req *request.Request, output *CreateClusterOutput) {
42	op := &request.Operation{
43		Name:       opCreateCluster,
44		HTTPMethod: "POST",
45		HTTPPath:   "/",
46	}
47
48	if input == nil {
49		input = &CreateClusterInput{}
50	}
51
52	output = &CreateClusterOutput{}
53	req = c.newRequest(op, input, output)
54	return
55}
56
57// CreateCluster API operation for Amazon DynamoDB Accelerator (DAX).
58//
59// Creates a DAX cluster. All nodes in the cluster run the same DAX caching
60// software.
61//
62// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
63// with awserr.Error's Code and Message methods to get detailed information about
64// the error.
65//
66// See the AWS API reference guide for Amazon DynamoDB Accelerator (DAX)'s
67// API operation CreateCluster for usage and error information.
68//
69// Returned Error Types:
70//   * ClusterAlreadyExistsFault
71//   You already have a DAX cluster with the given identifier.
72//
73//   * InvalidClusterStateFault
74//   The requested DAX cluster is not in the available state.
75//
76//   * InsufficientClusterCapacityFault
77//   There are not enough system resources to create the cluster you requested
78//   (or to resize an already-existing cluster).
79//
80//   * SubnetGroupNotFoundFault
81//   The requested subnet group name does not refer to an existing subnet group.
82//
83//   * InvalidParameterGroupStateFault
84//   One or more parameters in a parameter group are in an invalid state.
85//
86//   * ParameterGroupNotFoundFault
87//   The specified parameter group does not exist.
88//
89//   * ClusterQuotaForCustomerExceededFault
90//   You have attempted to exceed the maximum number of DAX clusters for your
91//   AWS account.
92//
93//   * NodeQuotaForClusterExceededFault
94//   You have attempted to exceed the maximum number of nodes for a DAX cluster.
95//
96//   * NodeQuotaForCustomerExceededFault
97//   You have attempted to exceed the maximum number of nodes for your AWS account.
98//
99//   * InvalidVPCNetworkStateFault
100//   The VPC network is in an invalid state.
101//
102//   * TagQuotaPerResourceExceeded
103//   You have exceeded the maximum number of tags for this DAX cluster.
104//
105//   * ServiceLinkedRoleNotFoundFault
106//   The specified service linked role (SLR) was not found.
107//
108//   * InvalidParameterValueException
109//   The value for a parameter is invalid.
110//
111//   * InvalidParameterCombinationException
112//   Two or more incompatible parameters were specified.
113//
114// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/CreateCluster
115func (c *DAX) CreateCluster(input *CreateClusterInput) (*CreateClusterOutput, error) {
116	req, out := c.CreateClusterRequest(input)
117	return out, req.Send()
118}
119
120// CreateClusterWithContext is the same as CreateCluster with the addition of
121// the ability to pass a context and additional request options.
122//
123// See CreateCluster for details on how to use this API operation.
124//
125// The context must be non-nil and will be used for request cancellation. If
126// the context is nil a panic will occur. In the future the SDK may create
127// sub-contexts for http.Requests. See https://golang.org/pkg/context/
128// for more information on using Contexts.
129func (c *DAX) CreateClusterWithContext(ctx aws.Context, input *CreateClusterInput, opts ...request.Option) (*CreateClusterOutput, error) {
130	req, out := c.CreateClusterRequest(input)
131	req.SetContext(ctx)
132	req.ApplyOptions(opts...)
133	return out, req.Send()
134}
135
136const opCreateParameterGroup = "CreateParameterGroup"
137
138// CreateParameterGroupRequest generates a "aws/request.Request" representing the
139// client's request for the CreateParameterGroup operation. The "output" return
140// value will be populated with the request's response once the request completes
141// successfully.
142//
143// Use "Send" method on the returned Request to send the API call to the service.
144// the "output" return value is not valid until after Send returns without error.
145//
146// See CreateParameterGroup for more information on using the CreateParameterGroup
147// API call, and error handling.
148//
149// This method is useful when you want to inject custom logic or configuration
150// into the SDK's request lifecycle. Such as custom headers, or retry logic.
151//
152//
153//    // Example sending a request using the CreateParameterGroupRequest method.
154//    req, resp := client.CreateParameterGroupRequest(params)
155//
156//    err := req.Send()
157//    if err == nil { // resp is now filled
158//        fmt.Println(resp)
159//    }
160//
161// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/CreateParameterGroup
162func (c *DAX) CreateParameterGroupRequest(input *CreateParameterGroupInput) (req *request.Request, output *CreateParameterGroupOutput) {
163	op := &request.Operation{
164		Name:       opCreateParameterGroup,
165		HTTPMethod: "POST",
166		HTTPPath:   "/",
167	}
168
169	if input == nil {
170		input = &CreateParameterGroupInput{}
171	}
172
173	output = &CreateParameterGroupOutput{}
174	req = c.newRequest(op, input, output)
175	return
176}
177
178// CreateParameterGroup API operation for Amazon DynamoDB Accelerator (DAX).
179//
180// Creates a new parameter group. A parameter group is a collection of parameters
181// that you apply to all of the nodes in a DAX cluster.
182//
183// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
184// with awserr.Error's Code and Message methods to get detailed information about
185// the error.
186//
187// See the AWS API reference guide for Amazon DynamoDB Accelerator (DAX)'s
188// API operation CreateParameterGroup for usage and error information.
189//
190// Returned Error Types:
191//   * ParameterGroupQuotaExceededFault
192//   You have attempted to exceed the maximum number of parameter groups.
193//
194//   * ParameterGroupAlreadyExistsFault
195//   The specified parameter group already exists.
196//
197//   * InvalidParameterGroupStateFault
198//   One or more parameters in a parameter group are in an invalid state.
199//
200//   * ServiceLinkedRoleNotFoundFault
201//   The specified service linked role (SLR) was not found.
202//
203//   * InvalidParameterValueException
204//   The value for a parameter is invalid.
205//
206//   * InvalidParameterCombinationException
207//   Two or more incompatible parameters were specified.
208//
209// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/CreateParameterGroup
210func (c *DAX) CreateParameterGroup(input *CreateParameterGroupInput) (*CreateParameterGroupOutput, error) {
211	req, out := c.CreateParameterGroupRequest(input)
212	return out, req.Send()
213}
214
215// CreateParameterGroupWithContext is the same as CreateParameterGroup with the addition of
216// the ability to pass a context and additional request options.
217//
218// See CreateParameterGroup for details on how to use this API operation.
219//
220// The context must be non-nil and will be used for request cancellation. If
221// the context is nil a panic will occur. In the future the SDK may create
222// sub-contexts for http.Requests. See https://golang.org/pkg/context/
223// for more information on using Contexts.
224func (c *DAX) CreateParameterGroupWithContext(ctx aws.Context, input *CreateParameterGroupInput, opts ...request.Option) (*CreateParameterGroupOutput, error) {
225	req, out := c.CreateParameterGroupRequest(input)
226	req.SetContext(ctx)
227	req.ApplyOptions(opts...)
228	return out, req.Send()
229}
230
231const opCreateSubnetGroup = "CreateSubnetGroup"
232
233// CreateSubnetGroupRequest generates a "aws/request.Request" representing the
234// client's request for the CreateSubnetGroup operation. The "output" return
235// value will be populated with the request's response once the request completes
236// successfully.
237//
238// Use "Send" method on the returned Request to send the API call to the service.
239// the "output" return value is not valid until after Send returns without error.
240//
241// See CreateSubnetGroup for more information on using the CreateSubnetGroup
242// API call, and error handling.
243//
244// This method is useful when you want to inject custom logic or configuration
245// into the SDK's request lifecycle. Such as custom headers, or retry logic.
246//
247//
248//    // Example sending a request using the CreateSubnetGroupRequest method.
249//    req, resp := client.CreateSubnetGroupRequest(params)
250//
251//    err := req.Send()
252//    if err == nil { // resp is now filled
253//        fmt.Println(resp)
254//    }
255//
256// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/CreateSubnetGroup
257func (c *DAX) CreateSubnetGroupRequest(input *CreateSubnetGroupInput) (req *request.Request, output *CreateSubnetGroupOutput) {
258	op := &request.Operation{
259		Name:       opCreateSubnetGroup,
260		HTTPMethod: "POST",
261		HTTPPath:   "/",
262	}
263
264	if input == nil {
265		input = &CreateSubnetGroupInput{}
266	}
267
268	output = &CreateSubnetGroupOutput{}
269	req = c.newRequest(op, input, output)
270	return
271}
272
273// CreateSubnetGroup API operation for Amazon DynamoDB Accelerator (DAX).
274//
275// Creates a new subnet group.
276//
277// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
278// with awserr.Error's Code and Message methods to get detailed information about
279// the error.
280//
281// See the AWS API reference guide for Amazon DynamoDB Accelerator (DAX)'s
282// API operation CreateSubnetGroup for usage and error information.
283//
284// Returned Error Types:
285//   * SubnetGroupAlreadyExistsFault
286//   The specified subnet group already exists.
287//
288//   * SubnetGroupQuotaExceededFault
289//   The request cannot be processed because it would exceed the allowed number
290//   of subnets in a subnet group.
291//
292//   * SubnetQuotaExceededFault
293//   The request cannot be processed because it would exceed the allowed number
294//   of subnets in a subnet group.
295//
296//   * InvalidSubnet
297//   An invalid subnet identifier was specified.
298//
299//   * ServiceLinkedRoleNotFoundFault
300//   The specified service linked role (SLR) was not found.
301//
302// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/CreateSubnetGroup
303func (c *DAX) CreateSubnetGroup(input *CreateSubnetGroupInput) (*CreateSubnetGroupOutput, error) {
304	req, out := c.CreateSubnetGroupRequest(input)
305	return out, req.Send()
306}
307
308// CreateSubnetGroupWithContext is the same as CreateSubnetGroup with the addition of
309// the ability to pass a context and additional request options.
310//
311// See CreateSubnetGroup for details on how to use this API operation.
312//
313// The context must be non-nil and will be used for request cancellation. If
314// the context is nil a panic will occur. In the future the SDK may create
315// sub-contexts for http.Requests. See https://golang.org/pkg/context/
316// for more information on using Contexts.
317func (c *DAX) CreateSubnetGroupWithContext(ctx aws.Context, input *CreateSubnetGroupInput, opts ...request.Option) (*CreateSubnetGroupOutput, error) {
318	req, out := c.CreateSubnetGroupRequest(input)
319	req.SetContext(ctx)
320	req.ApplyOptions(opts...)
321	return out, req.Send()
322}
323
324const opDecreaseReplicationFactor = "DecreaseReplicationFactor"
325
326// DecreaseReplicationFactorRequest generates a "aws/request.Request" representing the
327// client's request for the DecreaseReplicationFactor operation. The "output" return
328// value will be populated with the request's response once the request completes
329// successfully.
330//
331// Use "Send" method on the returned Request to send the API call to the service.
332// the "output" return value is not valid until after Send returns without error.
333//
334// See DecreaseReplicationFactor for more information on using the DecreaseReplicationFactor
335// API call, and error handling.
336//
337// This method is useful when you want to inject custom logic or configuration
338// into the SDK's request lifecycle. Such as custom headers, or retry logic.
339//
340//
341//    // Example sending a request using the DecreaseReplicationFactorRequest method.
342//    req, resp := client.DecreaseReplicationFactorRequest(params)
343//
344//    err := req.Send()
345//    if err == nil { // resp is now filled
346//        fmt.Println(resp)
347//    }
348//
349// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DecreaseReplicationFactor
350func (c *DAX) DecreaseReplicationFactorRequest(input *DecreaseReplicationFactorInput) (req *request.Request, output *DecreaseReplicationFactorOutput) {
351	op := &request.Operation{
352		Name:       opDecreaseReplicationFactor,
353		HTTPMethod: "POST",
354		HTTPPath:   "/",
355	}
356
357	if input == nil {
358		input = &DecreaseReplicationFactorInput{}
359	}
360
361	output = &DecreaseReplicationFactorOutput{}
362	req = c.newRequest(op, input, output)
363	return
364}
365
366// DecreaseReplicationFactor API operation for Amazon DynamoDB Accelerator (DAX).
367//
368// Removes one or more nodes from a DAX cluster.
369//
370// You cannot use DecreaseReplicationFactor to remove the last node in a DAX
371// cluster. If you need to do this, use DeleteCluster instead.
372//
373// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
374// with awserr.Error's Code and Message methods to get detailed information about
375// the error.
376//
377// See the AWS API reference guide for Amazon DynamoDB Accelerator (DAX)'s
378// API operation DecreaseReplicationFactor for usage and error information.
379//
380// Returned Error Types:
381//   * ClusterNotFoundFault
382//   The requested cluster ID does not refer to an existing DAX cluster.
383//
384//   * NodeNotFoundFault
385//   None of the nodes in the cluster have the given node ID.
386//
387//   * InvalidClusterStateFault
388//   The requested DAX cluster is not in the available state.
389//
390//   * ServiceLinkedRoleNotFoundFault
391//   The specified service linked role (SLR) was not found.
392//
393//   * InvalidParameterValueException
394//   The value for a parameter is invalid.
395//
396//   * InvalidParameterCombinationException
397//   Two or more incompatible parameters were specified.
398//
399// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DecreaseReplicationFactor
400func (c *DAX) DecreaseReplicationFactor(input *DecreaseReplicationFactorInput) (*DecreaseReplicationFactorOutput, error) {
401	req, out := c.DecreaseReplicationFactorRequest(input)
402	return out, req.Send()
403}
404
405// DecreaseReplicationFactorWithContext is the same as DecreaseReplicationFactor with the addition of
406// the ability to pass a context and additional request options.
407//
408// See DecreaseReplicationFactor for details on how to use this API operation.
409//
410// The context must be non-nil and will be used for request cancellation. If
411// the context is nil a panic will occur. In the future the SDK may create
412// sub-contexts for http.Requests. See https://golang.org/pkg/context/
413// for more information on using Contexts.
414func (c *DAX) DecreaseReplicationFactorWithContext(ctx aws.Context, input *DecreaseReplicationFactorInput, opts ...request.Option) (*DecreaseReplicationFactorOutput, error) {
415	req, out := c.DecreaseReplicationFactorRequest(input)
416	req.SetContext(ctx)
417	req.ApplyOptions(opts...)
418	return out, req.Send()
419}
420
421const opDeleteCluster = "DeleteCluster"
422
423// DeleteClusterRequest generates a "aws/request.Request" representing the
424// client's request for the DeleteCluster operation. The "output" return
425// value will be populated with the request's response once the request completes
426// successfully.
427//
428// Use "Send" method on the returned Request to send the API call to the service.
429// the "output" return value is not valid until after Send returns without error.
430//
431// See DeleteCluster for more information on using the DeleteCluster
432// API call, and error handling.
433//
434// This method is useful when you want to inject custom logic or configuration
435// into the SDK's request lifecycle. Such as custom headers, or retry logic.
436//
437//
438//    // Example sending a request using the DeleteClusterRequest method.
439//    req, resp := client.DeleteClusterRequest(params)
440//
441//    err := req.Send()
442//    if err == nil { // resp is now filled
443//        fmt.Println(resp)
444//    }
445//
446// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DeleteCluster
447func (c *DAX) DeleteClusterRequest(input *DeleteClusterInput) (req *request.Request, output *DeleteClusterOutput) {
448	op := &request.Operation{
449		Name:       opDeleteCluster,
450		HTTPMethod: "POST",
451		HTTPPath:   "/",
452	}
453
454	if input == nil {
455		input = &DeleteClusterInput{}
456	}
457
458	output = &DeleteClusterOutput{}
459	req = c.newRequest(op, input, output)
460	return
461}
462
463// DeleteCluster API operation for Amazon DynamoDB Accelerator (DAX).
464//
465// Deletes a previously provisioned DAX cluster. DeleteCluster deletes all associated
466// nodes, node endpoints and the DAX cluster itself. When you receive a successful
467// response from this action, DAX immediately begins deleting the cluster; you
468// cannot cancel or revert this action.
469//
470// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
471// with awserr.Error's Code and Message methods to get detailed information about
472// the error.
473//
474// See the AWS API reference guide for Amazon DynamoDB Accelerator (DAX)'s
475// API operation DeleteCluster for usage and error information.
476//
477// Returned Error Types:
478//   * ClusterNotFoundFault
479//   The requested cluster ID does not refer to an existing DAX cluster.
480//
481//   * InvalidClusterStateFault
482//   The requested DAX cluster is not in the available state.
483//
484//   * ServiceLinkedRoleNotFoundFault
485//   The specified service linked role (SLR) was not found.
486//
487//   * InvalidParameterValueException
488//   The value for a parameter is invalid.
489//
490//   * InvalidParameterCombinationException
491//   Two or more incompatible parameters were specified.
492//
493// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DeleteCluster
494func (c *DAX) DeleteCluster(input *DeleteClusterInput) (*DeleteClusterOutput, error) {
495	req, out := c.DeleteClusterRequest(input)
496	return out, req.Send()
497}
498
499// DeleteClusterWithContext is the same as DeleteCluster with the addition of
500// the ability to pass a context and additional request options.
501//
502// See DeleteCluster for details on how to use this API operation.
503//
504// The context must be non-nil and will be used for request cancellation. If
505// the context is nil a panic will occur. In the future the SDK may create
506// sub-contexts for http.Requests. See https://golang.org/pkg/context/
507// for more information on using Contexts.
508func (c *DAX) DeleteClusterWithContext(ctx aws.Context, input *DeleteClusterInput, opts ...request.Option) (*DeleteClusterOutput, error) {
509	req, out := c.DeleteClusterRequest(input)
510	req.SetContext(ctx)
511	req.ApplyOptions(opts...)
512	return out, req.Send()
513}
514
515const opDeleteParameterGroup = "DeleteParameterGroup"
516
517// DeleteParameterGroupRequest generates a "aws/request.Request" representing the
518// client's request for the DeleteParameterGroup operation. The "output" return
519// value will be populated with the request's response once the request completes
520// successfully.
521//
522// Use "Send" method on the returned Request to send the API call to the service.
523// the "output" return value is not valid until after Send returns without error.
524//
525// See DeleteParameterGroup for more information on using the DeleteParameterGroup
526// API call, and error handling.
527//
528// This method is useful when you want to inject custom logic or configuration
529// into the SDK's request lifecycle. Such as custom headers, or retry logic.
530//
531//
532//    // Example sending a request using the DeleteParameterGroupRequest method.
533//    req, resp := client.DeleteParameterGroupRequest(params)
534//
535//    err := req.Send()
536//    if err == nil { // resp is now filled
537//        fmt.Println(resp)
538//    }
539//
540// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DeleteParameterGroup
541func (c *DAX) DeleteParameterGroupRequest(input *DeleteParameterGroupInput) (req *request.Request, output *DeleteParameterGroupOutput) {
542	op := &request.Operation{
543		Name:       opDeleteParameterGroup,
544		HTTPMethod: "POST",
545		HTTPPath:   "/",
546	}
547
548	if input == nil {
549		input = &DeleteParameterGroupInput{}
550	}
551
552	output = &DeleteParameterGroupOutput{}
553	req = c.newRequest(op, input, output)
554	return
555}
556
557// DeleteParameterGroup API operation for Amazon DynamoDB Accelerator (DAX).
558//
559// Deletes the specified parameter group. You cannot delete a parameter group
560// if it is associated with any DAX clusters.
561//
562// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
563// with awserr.Error's Code and Message methods to get detailed information about
564// the error.
565//
566// See the AWS API reference guide for Amazon DynamoDB Accelerator (DAX)'s
567// API operation DeleteParameterGroup for usage and error information.
568//
569// Returned Error Types:
570//   * InvalidParameterGroupStateFault
571//   One or more parameters in a parameter group are in an invalid state.
572//
573//   * ParameterGroupNotFoundFault
574//   The specified parameter group does not exist.
575//
576//   * ServiceLinkedRoleNotFoundFault
577//   The specified service linked role (SLR) was not found.
578//
579//   * InvalidParameterValueException
580//   The value for a parameter is invalid.
581//
582//   * InvalidParameterCombinationException
583//   Two or more incompatible parameters were specified.
584//
585// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DeleteParameterGroup
586func (c *DAX) DeleteParameterGroup(input *DeleteParameterGroupInput) (*DeleteParameterGroupOutput, error) {
587	req, out := c.DeleteParameterGroupRequest(input)
588	return out, req.Send()
589}
590
591// DeleteParameterGroupWithContext is the same as DeleteParameterGroup with the addition of
592// the ability to pass a context and additional request options.
593//
594// See DeleteParameterGroup for details on how to use this API operation.
595//
596// The context must be non-nil and will be used for request cancellation. If
597// the context is nil a panic will occur. In the future the SDK may create
598// sub-contexts for http.Requests. See https://golang.org/pkg/context/
599// for more information on using Contexts.
600func (c *DAX) DeleteParameterGroupWithContext(ctx aws.Context, input *DeleteParameterGroupInput, opts ...request.Option) (*DeleteParameterGroupOutput, error) {
601	req, out := c.DeleteParameterGroupRequest(input)
602	req.SetContext(ctx)
603	req.ApplyOptions(opts...)
604	return out, req.Send()
605}
606
607const opDeleteSubnetGroup = "DeleteSubnetGroup"
608
609// DeleteSubnetGroupRequest generates a "aws/request.Request" representing the
610// client's request for the DeleteSubnetGroup operation. The "output" return
611// value will be populated with the request's response once the request completes
612// successfully.
613//
614// Use "Send" method on the returned Request to send the API call to the service.
615// the "output" return value is not valid until after Send returns without error.
616//
617// See DeleteSubnetGroup for more information on using the DeleteSubnetGroup
618// API call, and error handling.
619//
620// This method is useful when you want to inject custom logic or configuration
621// into the SDK's request lifecycle. Such as custom headers, or retry logic.
622//
623//
624//    // Example sending a request using the DeleteSubnetGroupRequest method.
625//    req, resp := client.DeleteSubnetGroupRequest(params)
626//
627//    err := req.Send()
628//    if err == nil { // resp is now filled
629//        fmt.Println(resp)
630//    }
631//
632// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DeleteSubnetGroup
633func (c *DAX) DeleteSubnetGroupRequest(input *DeleteSubnetGroupInput) (req *request.Request, output *DeleteSubnetGroupOutput) {
634	op := &request.Operation{
635		Name:       opDeleteSubnetGroup,
636		HTTPMethod: "POST",
637		HTTPPath:   "/",
638	}
639
640	if input == nil {
641		input = &DeleteSubnetGroupInput{}
642	}
643
644	output = &DeleteSubnetGroupOutput{}
645	req = c.newRequest(op, input, output)
646	return
647}
648
649// DeleteSubnetGroup API operation for Amazon DynamoDB Accelerator (DAX).
650//
651// Deletes a subnet group.
652//
653// You cannot delete a subnet group if it is associated with any DAX clusters.
654//
655// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
656// with awserr.Error's Code and Message methods to get detailed information about
657// the error.
658//
659// See the AWS API reference guide for Amazon DynamoDB Accelerator (DAX)'s
660// API operation DeleteSubnetGroup for usage and error information.
661//
662// Returned Error Types:
663//   * SubnetGroupInUseFault
664//   The specified subnet group is currently in use.
665//
666//   * SubnetGroupNotFoundFault
667//   The requested subnet group name does not refer to an existing subnet group.
668//
669//   * ServiceLinkedRoleNotFoundFault
670//   The specified service linked role (SLR) was not found.
671//
672// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DeleteSubnetGroup
673func (c *DAX) DeleteSubnetGroup(input *DeleteSubnetGroupInput) (*DeleteSubnetGroupOutput, error) {
674	req, out := c.DeleteSubnetGroupRequest(input)
675	return out, req.Send()
676}
677
678// DeleteSubnetGroupWithContext is the same as DeleteSubnetGroup with the addition of
679// the ability to pass a context and additional request options.
680//
681// See DeleteSubnetGroup for details on how to use this API operation.
682//
683// The context must be non-nil and will be used for request cancellation. If
684// the context is nil a panic will occur. In the future the SDK may create
685// sub-contexts for http.Requests. See https://golang.org/pkg/context/
686// for more information on using Contexts.
687func (c *DAX) DeleteSubnetGroupWithContext(ctx aws.Context, input *DeleteSubnetGroupInput, opts ...request.Option) (*DeleteSubnetGroupOutput, error) {
688	req, out := c.DeleteSubnetGroupRequest(input)
689	req.SetContext(ctx)
690	req.ApplyOptions(opts...)
691	return out, req.Send()
692}
693
694const opDescribeClusters = "DescribeClusters"
695
696// DescribeClustersRequest generates a "aws/request.Request" representing the
697// client's request for the DescribeClusters operation. The "output" return
698// value will be populated with the request's response once the request completes
699// successfully.
700//
701// Use "Send" method on the returned Request to send the API call to the service.
702// the "output" return value is not valid until after Send returns without error.
703//
704// See DescribeClusters for more information on using the DescribeClusters
705// API call, and error handling.
706//
707// This method is useful when you want to inject custom logic or configuration
708// into the SDK's request lifecycle. Such as custom headers, or retry logic.
709//
710//
711//    // Example sending a request using the DescribeClustersRequest method.
712//    req, resp := client.DescribeClustersRequest(params)
713//
714//    err := req.Send()
715//    if err == nil { // resp is now filled
716//        fmt.Println(resp)
717//    }
718//
719// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DescribeClusters
720func (c *DAX) DescribeClustersRequest(input *DescribeClustersInput) (req *request.Request, output *DescribeClustersOutput) {
721	op := &request.Operation{
722		Name:       opDescribeClusters,
723		HTTPMethod: "POST",
724		HTTPPath:   "/",
725	}
726
727	if input == nil {
728		input = &DescribeClustersInput{}
729	}
730
731	output = &DescribeClustersOutput{}
732	req = c.newRequest(op, input, output)
733	return
734}
735
736// DescribeClusters API operation for Amazon DynamoDB Accelerator (DAX).
737//
738// Returns information about all provisioned DAX clusters if no cluster identifier
739// is specified, or about a specific DAX cluster if a cluster identifier is
740// supplied.
741//
742// If the cluster is in the CREATING state, only cluster level information will
743// be displayed until all of the nodes are successfully provisioned.
744//
745// If the cluster is in the DELETING state, only cluster level information will
746// be displayed.
747//
748// If nodes are currently being added to the DAX cluster, node endpoint information
749// and creation time for the additional nodes will not be displayed until they
750// are completely provisioned. When the DAX cluster state is available, the
751// cluster is ready for use.
752//
753// If nodes are currently being removed from the DAX cluster, no endpoint information
754// for the removed nodes is displayed.
755//
756// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
757// with awserr.Error's Code and Message methods to get detailed information about
758// the error.
759//
760// See the AWS API reference guide for Amazon DynamoDB Accelerator (DAX)'s
761// API operation DescribeClusters for usage and error information.
762//
763// Returned Error Types:
764//   * ClusterNotFoundFault
765//   The requested cluster ID does not refer to an existing DAX cluster.
766//
767//   * ServiceLinkedRoleNotFoundFault
768//   The specified service linked role (SLR) was not found.
769//
770//   * InvalidParameterValueException
771//   The value for a parameter is invalid.
772//
773//   * InvalidParameterCombinationException
774//   Two or more incompatible parameters were specified.
775//
776// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DescribeClusters
777func (c *DAX) DescribeClusters(input *DescribeClustersInput) (*DescribeClustersOutput, error) {
778	req, out := c.DescribeClustersRequest(input)
779	return out, req.Send()
780}
781
782// DescribeClustersWithContext is the same as DescribeClusters with the addition of
783// the ability to pass a context and additional request options.
784//
785// See DescribeClusters for details on how to use this API operation.
786//
787// The context must be non-nil and will be used for request cancellation. If
788// the context is nil a panic will occur. In the future the SDK may create
789// sub-contexts for http.Requests. See https://golang.org/pkg/context/
790// for more information on using Contexts.
791func (c *DAX) DescribeClustersWithContext(ctx aws.Context, input *DescribeClustersInput, opts ...request.Option) (*DescribeClustersOutput, error) {
792	req, out := c.DescribeClustersRequest(input)
793	req.SetContext(ctx)
794	req.ApplyOptions(opts...)
795	return out, req.Send()
796}
797
798const opDescribeDefaultParameters = "DescribeDefaultParameters"
799
800// DescribeDefaultParametersRequest generates a "aws/request.Request" representing the
801// client's request for the DescribeDefaultParameters operation. The "output" return
802// value will be populated with the request's response once the request completes
803// successfully.
804//
805// Use "Send" method on the returned Request to send the API call to the service.
806// the "output" return value is not valid until after Send returns without error.
807//
808// See DescribeDefaultParameters for more information on using the DescribeDefaultParameters
809// API call, and error handling.
810//
811// This method is useful when you want to inject custom logic or configuration
812// into the SDK's request lifecycle. Such as custom headers, or retry logic.
813//
814//
815//    // Example sending a request using the DescribeDefaultParametersRequest method.
816//    req, resp := client.DescribeDefaultParametersRequest(params)
817//
818//    err := req.Send()
819//    if err == nil { // resp is now filled
820//        fmt.Println(resp)
821//    }
822//
823// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DescribeDefaultParameters
824func (c *DAX) DescribeDefaultParametersRequest(input *DescribeDefaultParametersInput) (req *request.Request, output *DescribeDefaultParametersOutput) {
825	op := &request.Operation{
826		Name:       opDescribeDefaultParameters,
827		HTTPMethod: "POST",
828		HTTPPath:   "/",
829	}
830
831	if input == nil {
832		input = &DescribeDefaultParametersInput{}
833	}
834
835	output = &DescribeDefaultParametersOutput{}
836	req = c.newRequest(op, input, output)
837	return
838}
839
840// DescribeDefaultParameters API operation for Amazon DynamoDB Accelerator (DAX).
841//
842// Returns the default system parameter information for the DAX caching software.
843//
844// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
845// with awserr.Error's Code and Message methods to get detailed information about
846// the error.
847//
848// See the AWS API reference guide for Amazon DynamoDB Accelerator (DAX)'s
849// API operation DescribeDefaultParameters for usage and error information.
850//
851// Returned Error Types:
852//   * ServiceLinkedRoleNotFoundFault
853//   The specified service linked role (SLR) was not found.
854//
855//   * InvalidParameterValueException
856//   The value for a parameter is invalid.
857//
858//   * InvalidParameterCombinationException
859//   Two or more incompatible parameters were specified.
860//
861// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DescribeDefaultParameters
862func (c *DAX) DescribeDefaultParameters(input *DescribeDefaultParametersInput) (*DescribeDefaultParametersOutput, error) {
863	req, out := c.DescribeDefaultParametersRequest(input)
864	return out, req.Send()
865}
866
867// DescribeDefaultParametersWithContext is the same as DescribeDefaultParameters with the addition of
868// the ability to pass a context and additional request options.
869//
870// See DescribeDefaultParameters for details on how to use this API operation.
871//
872// The context must be non-nil and will be used for request cancellation. If
873// the context is nil a panic will occur. In the future the SDK may create
874// sub-contexts for http.Requests. See https://golang.org/pkg/context/
875// for more information on using Contexts.
876func (c *DAX) DescribeDefaultParametersWithContext(ctx aws.Context, input *DescribeDefaultParametersInput, opts ...request.Option) (*DescribeDefaultParametersOutput, error) {
877	req, out := c.DescribeDefaultParametersRequest(input)
878	req.SetContext(ctx)
879	req.ApplyOptions(opts...)
880	return out, req.Send()
881}
882
883const opDescribeEvents = "DescribeEvents"
884
885// DescribeEventsRequest generates a "aws/request.Request" representing the
886// client's request for the DescribeEvents operation. The "output" return
887// value will be populated with the request's response once the request completes
888// successfully.
889//
890// Use "Send" method on the returned Request to send the API call to the service.
891// the "output" return value is not valid until after Send returns without error.
892//
893// See DescribeEvents for more information on using the DescribeEvents
894// API call, and error handling.
895//
896// This method is useful when you want to inject custom logic or configuration
897// into the SDK's request lifecycle. Such as custom headers, or retry logic.
898//
899//
900//    // Example sending a request using the DescribeEventsRequest method.
901//    req, resp := client.DescribeEventsRequest(params)
902//
903//    err := req.Send()
904//    if err == nil { // resp is now filled
905//        fmt.Println(resp)
906//    }
907//
908// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DescribeEvents
909func (c *DAX) DescribeEventsRequest(input *DescribeEventsInput) (req *request.Request, output *DescribeEventsOutput) {
910	op := &request.Operation{
911		Name:       opDescribeEvents,
912		HTTPMethod: "POST",
913		HTTPPath:   "/",
914	}
915
916	if input == nil {
917		input = &DescribeEventsInput{}
918	}
919
920	output = &DescribeEventsOutput{}
921	req = c.newRequest(op, input, output)
922	return
923}
924
925// DescribeEvents API operation for Amazon DynamoDB Accelerator (DAX).
926//
927// Returns events related to DAX clusters and parameter groups. You can obtain
928// events specific to a particular DAX cluster or parameter group by providing
929// the name as a parameter.
930//
931// By default, only the events occurring within the last 24 hours are returned;
932// however, you can retrieve up to 14 days' worth of events if necessary.
933//
934// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
935// with awserr.Error's Code and Message methods to get detailed information about
936// the error.
937//
938// See the AWS API reference guide for Amazon DynamoDB Accelerator (DAX)'s
939// API operation DescribeEvents for usage and error information.
940//
941// Returned Error Types:
942//   * ServiceLinkedRoleNotFoundFault
943//   The specified service linked role (SLR) was not found.
944//
945//   * InvalidParameterValueException
946//   The value for a parameter is invalid.
947//
948//   * InvalidParameterCombinationException
949//   Two or more incompatible parameters were specified.
950//
951// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DescribeEvents
952func (c *DAX) DescribeEvents(input *DescribeEventsInput) (*DescribeEventsOutput, error) {
953	req, out := c.DescribeEventsRequest(input)
954	return out, req.Send()
955}
956
957// DescribeEventsWithContext is the same as DescribeEvents with the addition of
958// the ability to pass a context and additional request options.
959//
960// See DescribeEvents for details on how to use this API operation.
961//
962// The context must be non-nil and will be used for request cancellation. If
963// the context is nil a panic will occur. In the future the SDK may create
964// sub-contexts for http.Requests. See https://golang.org/pkg/context/
965// for more information on using Contexts.
966func (c *DAX) DescribeEventsWithContext(ctx aws.Context, input *DescribeEventsInput, opts ...request.Option) (*DescribeEventsOutput, error) {
967	req, out := c.DescribeEventsRequest(input)
968	req.SetContext(ctx)
969	req.ApplyOptions(opts...)
970	return out, req.Send()
971}
972
973const opDescribeParameterGroups = "DescribeParameterGroups"
974
975// DescribeParameterGroupsRequest generates a "aws/request.Request" representing the
976// client's request for the DescribeParameterGroups operation. The "output" return
977// value will be populated with the request's response once the request completes
978// successfully.
979//
980// Use "Send" method on the returned Request to send the API call to the service.
981// the "output" return value is not valid until after Send returns without error.
982//
983// See DescribeParameterGroups for more information on using the DescribeParameterGroups
984// API call, and error handling.
985//
986// This method is useful when you want to inject custom logic or configuration
987// into the SDK's request lifecycle. Such as custom headers, or retry logic.
988//
989//
990//    // Example sending a request using the DescribeParameterGroupsRequest method.
991//    req, resp := client.DescribeParameterGroupsRequest(params)
992//
993//    err := req.Send()
994//    if err == nil { // resp is now filled
995//        fmt.Println(resp)
996//    }
997//
998// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DescribeParameterGroups
999func (c *DAX) DescribeParameterGroupsRequest(input *DescribeParameterGroupsInput) (req *request.Request, output *DescribeParameterGroupsOutput) {
1000	op := &request.Operation{
1001		Name:       opDescribeParameterGroups,
1002		HTTPMethod: "POST",
1003		HTTPPath:   "/",
1004	}
1005
1006	if input == nil {
1007		input = &DescribeParameterGroupsInput{}
1008	}
1009
1010	output = &DescribeParameterGroupsOutput{}
1011	req = c.newRequest(op, input, output)
1012	return
1013}
1014
1015// DescribeParameterGroups API operation for Amazon DynamoDB Accelerator (DAX).
1016//
1017// Returns a list of parameter group descriptions. If a parameter group name
1018// is specified, the list will contain only the descriptions for that group.
1019//
1020// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1021// with awserr.Error's Code and Message methods to get detailed information about
1022// the error.
1023//
1024// See the AWS API reference guide for Amazon DynamoDB Accelerator (DAX)'s
1025// API operation DescribeParameterGroups for usage and error information.
1026//
1027// Returned Error Types:
1028//   * ParameterGroupNotFoundFault
1029//   The specified parameter group does not exist.
1030//
1031//   * ServiceLinkedRoleNotFoundFault
1032//   The specified service linked role (SLR) was not found.
1033//
1034//   * InvalidParameterValueException
1035//   The value for a parameter is invalid.
1036//
1037//   * InvalidParameterCombinationException
1038//   Two or more incompatible parameters were specified.
1039//
1040// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DescribeParameterGroups
1041func (c *DAX) DescribeParameterGroups(input *DescribeParameterGroupsInput) (*DescribeParameterGroupsOutput, error) {
1042	req, out := c.DescribeParameterGroupsRequest(input)
1043	return out, req.Send()
1044}
1045
1046// DescribeParameterGroupsWithContext is the same as DescribeParameterGroups with the addition of
1047// the ability to pass a context and additional request options.
1048//
1049// See DescribeParameterGroups for details on how to use this API operation.
1050//
1051// The context must be non-nil and will be used for request cancellation. If
1052// the context is nil a panic will occur. In the future the SDK may create
1053// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1054// for more information on using Contexts.
1055func (c *DAX) DescribeParameterGroupsWithContext(ctx aws.Context, input *DescribeParameterGroupsInput, opts ...request.Option) (*DescribeParameterGroupsOutput, error) {
1056	req, out := c.DescribeParameterGroupsRequest(input)
1057	req.SetContext(ctx)
1058	req.ApplyOptions(opts...)
1059	return out, req.Send()
1060}
1061
1062const opDescribeParameters = "DescribeParameters"
1063
1064// DescribeParametersRequest generates a "aws/request.Request" representing the
1065// client's request for the DescribeParameters operation. The "output" return
1066// value will be populated with the request's response once the request completes
1067// successfully.
1068//
1069// Use "Send" method on the returned Request to send the API call to the service.
1070// the "output" return value is not valid until after Send returns without error.
1071//
1072// See DescribeParameters for more information on using the DescribeParameters
1073// API call, and error handling.
1074//
1075// This method is useful when you want to inject custom logic or configuration
1076// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1077//
1078//
1079//    // Example sending a request using the DescribeParametersRequest method.
1080//    req, resp := client.DescribeParametersRequest(params)
1081//
1082//    err := req.Send()
1083//    if err == nil { // resp is now filled
1084//        fmt.Println(resp)
1085//    }
1086//
1087// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DescribeParameters
1088func (c *DAX) DescribeParametersRequest(input *DescribeParametersInput) (req *request.Request, output *DescribeParametersOutput) {
1089	op := &request.Operation{
1090		Name:       opDescribeParameters,
1091		HTTPMethod: "POST",
1092		HTTPPath:   "/",
1093	}
1094
1095	if input == nil {
1096		input = &DescribeParametersInput{}
1097	}
1098
1099	output = &DescribeParametersOutput{}
1100	req = c.newRequest(op, input, output)
1101	return
1102}
1103
1104// DescribeParameters API operation for Amazon DynamoDB Accelerator (DAX).
1105//
1106// Returns the detailed parameter list for a particular parameter group.
1107//
1108// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1109// with awserr.Error's Code and Message methods to get detailed information about
1110// the error.
1111//
1112// See the AWS API reference guide for Amazon DynamoDB Accelerator (DAX)'s
1113// API operation DescribeParameters for usage and error information.
1114//
1115// Returned Error Types:
1116//   * ParameterGroupNotFoundFault
1117//   The specified parameter group does not exist.
1118//
1119//   * ServiceLinkedRoleNotFoundFault
1120//   The specified service linked role (SLR) was not found.
1121//
1122//   * InvalidParameterValueException
1123//   The value for a parameter is invalid.
1124//
1125//   * InvalidParameterCombinationException
1126//   Two or more incompatible parameters were specified.
1127//
1128// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DescribeParameters
1129func (c *DAX) DescribeParameters(input *DescribeParametersInput) (*DescribeParametersOutput, error) {
1130	req, out := c.DescribeParametersRequest(input)
1131	return out, req.Send()
1132}
1133
1134// DescribeParametersWithContext is the same as DescribeParameters with the addition of
1135// the ability to pass a context and additional request options.
1136//
1137// See DescribeParameters for details on how to use this API operation.
1138//
1139// The context must be non-nil and will be used for request cancellation. If
1140// the context is nil a panic will occur. In the future the SDK may create
1141// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1142// for more information on using Contexts.
1143func (c *DAX) DescribeParametersWithContext(ctx aws.Context, input *DescribeParametersInput, opts ...request.Option) (*DescribeParametersOutput, error) {
1144	req, out := c.DescribeParametersRequest(input)
1145	req.SetContext(ctx)
1146	req.ApplyOptions(opts...)
1147	return out, req.Send()
1148}
1149
1150const opDescribeSubnetGroups = "DescribeSubnetGroups"
1151
1152// DescribeSubnetGroupsRequest generates a "aws/request.Request" representing the
1153// client's request for the DescribeSubnetGroups operation. The "output" return
1154// value will be populated with the request's response once the request completes
1155// successfully.
1156//
1157// Use "Send" method on the returned Request to send the API call to the service.
1158// the "output" return value is not valid until after Send returns without error.
1159//
1160// See DescribeSubnetGroups for more information on using the DescribeSubnetGroups
1161// API call, and error handling.
1162//
1163// This method is useful when you want to inject custom logic or configuration
1164// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1165//
1166//
1167//    // Example sending a request using the DescribeSubnetGroupsRequest method.
1168//    req, resp := client.DescribeSubnetGroupsRequest(params)
1169//
1170//    err := req.Send()
1171//    if err == nil { // resp is now filled
1172//        fmt.Println(resp)
1173//    }
1174//
1175// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DescribeSubnetGroups
1176func (c *DAX) DescribeSubnetGroupsRequest(input *DescribeSubnetGroupsInput) (req *request.Request, output *DescribeSubnetGroupsOutput) {
1177	op := &request.Operation{
1178		Name:       opDescribeSubnetGroups,
1179		HTTPMethod: "POST",
1180		HTTPPath:   "/",
1181	}
1182
1183	if input == nil {
1184		input = &DescribeSubnetGroupsInput{}
1185	}
1186
1187	output = &DescribeSubnetGroupsOutput{}
1188	req = c.newRequest(op, input, output)
1189	return
1190}
1191
1192// DescribeSubnetGroups API operation for Amazon DynamoDB Accelerator (DAX).
1193//
1194// Returns a list of subnet group descriptions. If a subnet group name is specified,
1195// the list will contain only the description of that group.
1196//
1197// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1198// with awserr.Error's Code and Message methods to get detailed information about
1199// the error.
1200//
1201// See the AWS API reference guide for Amazon DynamoDB Accelerator (DAX)'s
1202// API operation DescribeSubnetGroups for usage and error information.
1203//
1204// Returned Error Types:
1205//   * SubnetGroupNotFoundFault
1206//   The requested subnet group name does not refer to an existing subnet group.
1207//
1208//   * ServiceLinkedRoleNotFoundFault
1209//   The specified service linked role (SLR) was not found.
1210//
1211// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DescribeSubnetGroups
1212func (c *DAX) DescribeSubnetGroups(input *DescribeSubnetGroupsInput) (*DescribeSubnetGroupsOutput, error) {
1213	req, out := c.DescribeSubnetGroupsRequest(input)
1214	return out, req.Send()
1215}
1216
1217// DescribeSubnetGroupsWithContext is the same as DescribeSubnetGroups with the addition of
1218// the ability to pass a context and additional request options.
1219//
1220// See DescribeSubnetGroups for details on how to use this API operation.
1221//
1222// The context must be non-nil and will be used for request cancellation. If
1223// the context is nil a panic will occur. In the future the SDK may create
1224// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1225// for more information on using Contexts.
1226func (c *DAX) DescribeSubnetGroupsWithContext(ctx aws.Context, input *DescribeSubnetGroupsInput, opts ...request.Option) (*DescribeSubnetGroupsOutput, error) {
1227	req, out := c.DescribeSubnetGroupsRequest(input)
1228	req.SetContext(ctx)
1229	req.ApplyOptions(opts...)
1230	return out, req.Send()
1231}
1232
1233const opIncreaseReplicationFactor = "IncreaseReplicationFactor"
1234
1235// IncreaseReplicationFactorRequest generates a "aws/request.Request" representing the
1236// client's request for the IncreaseReplicationFactor operation. The "output" return
1237// value will be populated with the request's response once the request completes
1238// successfully.
1239//
1240// Use "Send" method on the returned Request to send the API call to the service.
1241// the "output" return value is not valid until after Send returns without error.
1242//
1243// See IncreaseReplicationFactor for more information on using the IncreaseReplicationFactor
1244// API call, and error handling.
1245//
1246// This method is useful when you want to inject custom logic or configuration
1247// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1248//
1249//
1250//    // Example sending a request using the IncreaseReplicationFactorRequest method.
1251//    req, resp := client.IncreaseReplicationFactorRequest(params)
1252//
1253//    err := req.Send()
1254//    if err == nil { // resp is now filled
1255//        fmt.Println(resp)
1256//    }
1257//
1258// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/IncreaseReplicationFactor
1259func (c *DAX) IncreaseReplicationFactorRequest(input *IncreaseReplicationFactorInput) (req *request.Request, output *IncreaseReplicationFactorOutput) {
1260	op := &request.Operation{
1261		Name:       opIncreaseReplicationFactor,
1262		HTTPMethod: "POST",
1263		HTTPPath:   "/",
1264	}
1265
1266	if input == nil {
1267		input = &IncreaseReplicationFactorInput{}
1268	}
1269
1270	output = &IncreaseReplicationFactorOutput{}
1271	req = c.newRequest(op, input, output)
1272	return
1273}
1274
1275// IncreaseReplicationFactor API operation for Amazon DynamoDB Accelerator (DAX).
1276//
1277// Adds one or more nodes to a DAX cluster.
1278//
1279// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1280// with awserr.Error's Code and Message methods to get detailed information about
1281// the error.
1282//
1283// See the AWS API reference guide for Amazon DynamoDB Accelerator (DAX)'s
1284// API operation IncreaseReplicationFactor for usage and error information.
1285//
1286// Returned Error Types:
1287//   * ClusterNotFoundFault
1288//   The requested cluster ID does not refer to an existing DAX cluster.
1289//
1290//   * InvalidClusterStateFault
1291//   The requested DAX cluster is not in the available state.
1292//
1293//   * InsufficientClusterCapacityFault
1294//   There are not enough system resources to create the cluster you requested
1295//   (or to resize an already-existing cluster).
1296//
1297//   * InvalidVPCNetworkStateFault
1298//   The VPC network is in an invalid state.
1299//
1300//   * NodeQuotaForClusterExceededFault
1301//   You have attempted to exceed the maximum number of nodes for a DAX cluster.
1302//
1303//   * NodeQuotaForCustomerExceededFault
1304//   You have attempted to exceed the maximum number of nodes for your AWS account.
1305//
1306//   * ServiceLinkedRoleNotFoundFault
1307//   The specified service linked role (SLR) was not found.
1308//
1309//   * InvalidParameterValueException
1310//   The value for a parameter is invalid.
1311//
1312//   * InvalidParameterCombinationException
1313//   Two or more incompatible parameters were specified.
1314//
1315// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/IncreaseReplicationFactor
1316func (c *DAX) IncreaseReplicationFactor(input *IncreaseReplicationFactorInput) (*IncreaseReplicationFactorOutput, error) {
1317	req, out := c.IncreaseReplicationFactorRequest(input)
1318	return out, req.Send()
1319}
1320
1321// IncreaseReplicationFactorWithContext is the same as IncreaseReplicationFactor with the addition of
1322// the ability to pass a context and additional request options.
1323//
1324// See IncreaseReplicationFactor for details on how to use this API operation.
1325//
1326// The context must be non-nil and will be used for request cancellation. If
1327// the context is nil a panic will occur. In the future the SDK may create
1328// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1329// for more information on using Contexts.
1330func (c *DAX) IncreaseReplicationFactorWithContext(ctx aws.Context, input *IncreaseReplicationFactorInput, opts ...request.Option) (*IncreaseReplicationFactorOutput, error) {
1331	req, out := c.IncreaseReplicationFactorRequest(input)
1332	req.SetContext(ctx)
1333	req.ApplyOptions(opts...)
1334	return out, req.Send()
1335}
1336
1337const opListTags = "ListTags"
1338
1339// ListTagsRequest generates a "aws/request.Request" representing the
1340// client's request for the ListTags operation. The "output" return
1341// value will be populated with the request's response once the request completes
1342// successfully.
1343//
1344// Use "Send" method on the returned Request to send the API call to the service.
1345// the "output" return value is not valid until after Send returns without error.
1346//
1347// See ListTags for more information on using the ListTags
1348// API call, and error handling.
1349//
1350// This method is useful when you want to inject custom logic or configuration
1351// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1352//
1353//
1354//    // Example sending a request using the ListTagsRequest method.
1355//    req, resp := client.ListTagsRequest(params)
1356//
1357//    err := req.Send()
1358//    if err == nil { // resp is now filled
1359//        fmt.Println(resp)
1360//    }
1361//
1362// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/ListTags
1363func (c *DAX) ListTagsRequest(input *ListTagsInput) (req *request.Request, output *ListTagsOutput) {
1364	op := &request.Operation{
1365		Name:       opListTags,
1366		HTTPMethod: "POST",
1367		HTTPPath:   "/",
1368	}
1369
1370	if input == nil {
1371		input = &ListTagsInput{}
1372	}
1373
1374	output = &ListTagsOutput{}
1375	req = c.newRequest(op, input, output)
1376	return
1377}
1378
1379// ListTags API operation for Amazon DynamoDB Accelerator (DAX).
1380//
1381// List all of the tags for a DAX cluster. You can call ListTags up to 10 times
1382// per second, per account.
1383//
1384// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1385// with awserr.Error's Code and Message methods to get detailed information about
1386// the error.
1387//
1388// See the AWS API reference guide for Amazon DynamoDB Accelerator (DAX)'s
1389// API operation ListTags for usage and error information.
1390//
1391// Returned Error Types:
1392//   * ClusterNotFoundFault
1393//   The requested cluster ID does not refer to an existing DAX cluster.
1394//
1395//   * InvalidARNFault
1396//   The Amazon Resource Name (ARN) supplied in the request is not valid.
1397//
1398//   * InvalidClusterStateFault
1399//   The requested DAX cluster is not in the available state.
1400//
1401//   * ServiceLinkedRoleNotFoundFault
1402//   The specified service linked role (SLR) was not found.
1403//
1404//   * InvalidParameterValueException
1405//   The value for a parameter is invalid.
1406//
1407//   * InvalidParameterCombinationException
1408//   Two or more incompatible parameters were specified.
1409//
1410// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/ListTags
1411func (c *DAX) ListTags(input *ListTagsInput) (*ListTagsOutput, error) {
1412	req, out := c.ListTagsRequest(input)
1413	return out, req.Send()
1414}
1415
1416// ListTagsWithContext is the same as ListTags with the addition of
1417// the ability to pass a context and additional request options.
1418//
1419// See ListTags for details on how to use this API operation.
1420//
1421// The context must be non-nil and will be used for request cancellation. If
1422// the context is nil a panic will occur. In the future the SDK may create
1423// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1424// for more information on using Contexts.
1425func (c *DAX) ListTagsWithContext(ctx aws.Context, input *ListTagsInput, opts ...request.Option) (*ListTagsOutput, error) {
1426	req, out := c.ListTagsRequest(input)
1427	req.SetContext(ctx)
1428	req.ApplyOptions(opts...)
1429	return out, req.Send()
1430}
1431
1432const opRebootNode = "RebootNode"
1433
1434// RebootNodeRequest generates a "aws/request.Request" representing the
1435// client's request for the RebootNode operation. The "output" return
1436// value will be populated with the request's response once the request completes
1437// successfully.
1438//
1439// Use "Send" method on the returned Request to send the API call to the service.
1440// the "output" return value is not valid until after Send returns without error.
1441//
1442// See RebootNode for more information on using the RebootNode
1443// API call, and error handling.
1444//
1445// This method is useful when you want to inject custom logic or configuration
1446// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1447//
1448//
1449//    // Example sending a request using the RebootNodeRequest method.
1450//    req, resp := client.RebootNodeRequest(params)
1451//
1452//    err := req.Send()
1453//    if err == nil { // resp is now filled
1454//        fmt.Println(resp)
1455//    }
1456//
1457// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/RebootNode
1458func (c *DAX) RebootNodeRequest(input *RebootNodeInput) (req *request.Request, output *RebootNodeOutput) {
1459	op := &request.Operation{
1460		Name:       opRebootNode,
1461		HTTPMethod: "POST",
1462		HTTPPath:   "/",
1463	}
1464
1465	if input == nil {
1466		input = &RebootNodeInput{}
1467	}
1468
1469	output = &RebootNodeOutput{}
1470	req = c.newRequest(op, input, output)
1471	return
1472}
1473
1474// RebootNode API operation for Amazon DynamoDB Accelerator (DAX).
1475//
1476// Reboots a single node of a DAX cluster. The reboot action takes place as
1477// soon as possible. During the reboot, the node status is set to REBOOTING.
1478//
1479// RebootNode restarts the DAX engine process and does not remove the contents
1480// of the cache.
1481//
1482// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1483// with awserr.Error's Code and Message methods to get detailed information about
1484// the error.
1485//
1486// See the AWS API reference guide for Amazon DynamoDB Accelerator (DAX)'s
1487// API operation RebootNode for usage and error information.
1488//
1489// Returned Error Types:
1490//   * ClusterNotFoundFault
1491//   The requested cluster ID does not refer to an existing DAX cluster.
1492//
1493//   * NodeNotFoundFault
1494//   None of the nodes in the cluster have the given node ID.
1495//
1496//   * InvalidClusterStateFault
1497//   The requested DAX cluster is not in the available state.
1498//
1499//   * ServiceLinkedRoleNotFoundFault
1500//   The specified service linked role (SLR) was not found.
1501//
1502//   * InvalidParameterValueException
1503//   The value for a parameter is invalid.
1504//
1505//   * InvalidParameterCombinationException
1506//   Two or more incompatible parameters were specified.
1507//
1508// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/RebootNode
1509func (c *DAX) RebootNode(input *RebootNodeInput) (*RebootNodeOutput, error) {
1510	req, out := c.RebootNodeRequest(input)
1511	return out, req.Send()
1512}
1513
1514// RebootNodeWithContext is the same as RebootNode with the addition of
1515// the ability to pass a context and additional request options.
1516//
1517// See RebootNode for details on how to use this API operation.
1518//
1519// The context must be non-nil and will be used for request cancellation. If
1520// the context is nil a panic will occur. In the future the SDK may create
1521// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1522// for more information on using Contexts.
1523func (c *DAX) RebootNodeWithContext(ctx aws.Context, input *RebootNodeInput, opts ...request.Option) (*RebootNodeOutput, error) {
1524	req, out := c.RebootNodeRequest(input)
1525	req.SetContext(ctx)
1526	req.ApplyOptions(opts...)
1527	return out, req.Send()
1528}
1529
1530const opTagResource = "TagResource"
1531
1532// TagResourceRequest generates a "aws/request.Request" representing the
1533// client's request for the TagResource operation. The "output" return
1534// value will be populated with the request's response once the request completes
1535// successfully.
1536//
1537// Use "Send" method on the returned Request to send the API call to the service.
1538// the "output" return value is not valid until after Send returns without error.
1539//
1540// See TagResource for more information on using the TagResource
1541// API call, and error handling.
1542//
1543// This method is useful when you want to inject custom logic or configuration
1544// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1545//
1546//
1547//    // Example sending a request using the TagResourceRequest method.
1548//    req, resp := client.TagResourceRequest(params)
1549//
1550//    err := req.Send()
1551//    if err == nil { // resp is now filled
1552//        fmt.Println(resp)
1553//    }
1554//
1555// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/TagResource
1556func (c *DAX) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
1557	op := &request.Operation{
1558		Name:       opTagResource,
1559		HTTPMethod: "POST",
1560		HTTPPath:   "/",
1561	}
1562
1563	if input == nil {
1564		input = &TagResourceInput{}
1565	}
1566
1567	output = &TagResourceOutput{}
1568	req = c.newRequest(op, input, output)
1569	return
1570}
1571
1572// TagResource API operation for Amazon DynamoDB Accelerator (DAX).
1573//
1574// Associates a set of tags with a DAX resource. You can call TagResource up
1575// to 5 times per second, per account.
1576//
1577// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1578// with awserr.Error's Code and Message methods to get detailed information about
1579// the error.
1580//
1581// See the AWS API reference guide for Amazon DynamoDB Accelerator (DAX)'s
1582// API operation TagResource for usage and error information.
1583//
1584// Returned Error Types:
1585//   * ClusterNotFoundFault
1586//   The requested cluster ID does not refer to an existing DAX cluster.
1587//
1588//   * TagQuotaPerResourceExceeded
1589//   You have exceeded the maximum number of tags for this DAX cluster.
1590//
1591//   * InvalidARNFault
1592//   The Amazon Resource Name (ARN) supplied in the request is not valid.
1593//
1594//   * InvalidClusterStateFault
1595//   The requested DAX cluster is not in the available state.
1596//
1597//   * ServiceLinkedRoleNotFoundFault
1598//   The specified service linked role (SLR) was not found.
1599//
1600//   * InvalidParameterValueException
1601//   The value for a parameter is invalid.
1602//
1603//   * InvalidParameterCombinationException
1604//   Two or more incompatible parameters were specified.
1605//
1606// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/TagResource
1607func (c *DAX) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
1608	req, out := c.TagResourceRequest(input)
1609	return out, req.Send()
1610}
1611
1612// TagResourceWithContext is the same as TagResource with the addition of
1613// the ability to pass a context and additional request options.
1614//
1615// See TagResource for details on how to use this API operation.
1616//
1617// The context must be non-nil and will be used for request cancellation. If
1618// the context is nil a panic will occur. In the future the SDK may create
1619// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1620// for more information on using Contexts.
1621func (c *DAX) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
1622	req, out := c.TagResourceRequest(input)
1623	req.SetContext(ctx)
1624	req.ApplyOptions(opts...)
1625	return out, req.Send()
1626}
1627
1628const opUntagResource = "UntagResource"
1629
1630// UntagResourceRequest generates a "aws/request.Request" representing the
1631// client's request for the UntagResource operation. The "output" return
1632// value will be populated with the request's response once the request completes
1633// successfully.
1634//
1635// Use "Send" method on the returned Request to send the API call to the service.
1636// the "output" return value is not valid until after Send returns without error.
1637//
1638// See UntagResource for more information on using the UntagResource
1639// API call, and error handling.
1640//
1641// This method is useful when you want to inject custom logic or configuration
1642// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1643//
1644//
1645//    // Example sending a request using the UntagResourceRequest method.
1646//    req, resp := client.UntagResourceRequest(params)
1647//
1648//    err := req.Send()
1649//    if err == nil { // resp is now filled
1650//        fmt.Println(resp)
1651//    }
1652//
1653// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/UntagResource
1654func (c *DAX) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
1655	op := &request.Operation{
1656		Name:       opUntagResource,
1657		HTTPMethod: "POST",
1658		HTTPPath:   "/",
1659	}
1660
1661	if input == nil {
1662		input = &UntagResourceInput{}
1663	}
1664
1665	output = &UntagResourceOutput{}
1666	req = c.newRequest(op, input, output)
1667	return
1668}
1669
1670// UntagResource API operation for Amazon DynamoDB Accelerator (DAX).
1671//
1672// Removes the association of tags from a DAX resource. You can call UntagResource
1673// up to 5 times per second, per account.
1674//
1675// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1676// with awserr.Error's Code and Message methods to get detailed information about
1677// the error.
1678//
1679// See the AWS API reference guide for Amazon DynamoDB Accelerator (DAX)'s
1680// API operation UntagResource for usage and error information.
1681//
1682// Returned Error Types:
1683//   * ClusterNotFoundFault
1684//   The requested cluster ID does not refer to an existing DAX cluster.
1685//
1686//   * InvalidARNFault
1687//   The Amazon Resource Name (ARN) supplied in the request is not valid.
1688//
1689//   * TagNotFoundFault
1690//   The tag does not exist.
1691//
1692//   * InvalidClusterStateFault
1693//   The requested DAX cluster is not in the available state.
1694//
1695//   * ServiceLinkedRoleNotFoundFault
1696//   The specified service linked role (SLR) was not found.
1697//
1698//   * InvalidParameterValueException
1699//   The value for a parameter is invalid.
1700//
1701//   * InvalidParameterCombinationException
1702//   Two or more incompatible parameters were specified.
1703//
1704// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/UntagResource
1705func (c *DAX) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
1706	req, out := c.UntagResourceRequest(input)
1707	return out, req.Send()
1708}
1709
1710// UntagResourceWithContext is the same as UntagResource with the addition of
1711// the ability to pass a context and additional request options.
1712//
1713// See UntagResource for details on how to use this API operation.
1714//
1715// The context must be non-nil and will be used for request cancellation. If
1716// the context is nil a panic will occur. In the future the SDK may create
1717// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1718// for more information on using Contexts.
1719func (c *DAX) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
1720	req, out := c.UntagResourceRequest(input)
1721	req.SetContext(ctx)
1722	req.ApplyOptions(opts...)
1723	return out, req.Send()
1724}
1725
1726const opUpdateCluster = "UpdateCluster"
1727
1728// UpdateClusterRequest generates a "aws/request.Request" representing the
1729// client's request for the UpdateCluster operation. The "output" return
1730// value will be populated with the request's response once the request completes
1731// successfully.
1732//
1733// Use "Send" method on the returned Request to send the API call to the service.
1734// the "output" return value is not valid until after Send returns without error.
1735//
1736// See UpdateCluster for more information on using the UpdateCluster
1737// API call, and error handling.
1738//
1739// This method is useful when you want to inject custom logic or configuration
1740// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1741//
1742//
1743//    // Example sending a request using the UpdateClusterRequest method.
1744//    req, resp := client.UpdateClusterRequest(params)
1745//
1746//    err := req.Send()
1747//    if err == nil { // resp is now filled
1748//        fmt.Println(resp)
1749//    }
1750//
1751// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/UpdateCluster
1752func (c *DAX) UpdateClusterRequest(input *UpdateClusterInput) (req *request.Request, output *UpdateClusterOutput) {
1753	op := &request.Operation{
1754		Name:       opUpdateCluster,
1755		HTTPMethod: "POST",
1756		HTTPPath:   "/",
1757	}
1758
1759	if input == nil {
1760		input = &UpdateClusterInput{}
1761	}
1762
1763	output = &UpdateClusterOutput{}
1764	req = c.newRequest(op, input, output)
1765	return
1766}
1767
1768// UpdateCluster API operation for Amazon DynamoDB Accelerator (DAX).
1769//
1770// Modifies the settings for a DAX cluster. You can use this action to change
1771// one or more cluster configuration parameters by specifying the parameters
1772// and the new values.
1773//
1774// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1775// with awserr.Error's Code and Message methods to get detailed information about
1776// the error.
1777//
1778// See the AWS API reference guide for Amazon DynamoDB Accelerator (DAX)'s
1779// API operation UpdateCluster for usage and error information.
1780//
1781// Returned Error Types:
1782//   * InvalidClusterStateFault
1783//   The requested DAX cluster is not in the available state.
1784//
1785//   * ClusterNotFoundFault
1786//   The requested cluster ID does not refer to an existing DAX cluster.
1787//
1788//   * InvalidParameterGroupStateFault
1789//   One or more parameters in a parameter group are in an invalid state.
1790//
1791//   * ParameterGroupNotFoundFault
1792//   The specified parameter group does not exist.
1793//
1794//   * ServiceLinkedRoleNotFoundFault
1795//   The specified service linked role (SLR) was not found.
1796//
1797//   * InvalidParameterValueException
1798//   The value for a parameter is invalid.
1799//
1800//   * InvalidParameterCombinationException
1801//   Two or more incompatible parameters were specified.
1802//
1803// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/UpdateCluster
1804func (c *DAX) UpdateCluster(input *UpdateClusterInput) (*UpdateClusterOutput, error) {
1805	req, out := c.UpdateClusterRequest(input)
1806	return out, req.Send()
1807}
1808
1809// UpdateClusterWithContext is the same as UpdateCluster with the addition of
1810// the ability to pass a context and additional request options.
1811//
1812// See UpdateCluster for details on how to use this API operation.
1813//
1814// The context must be non-nil and will be used for request cancellation. If
1815// the context is nil a panic will occur. In the future the SDK may create
1816// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1817// for more information on using Contexts.
1818func (c *DAX) UpdateClusterWithContext(ctx aws.Context, input *UpdateClusterInput, opts ...request.Option) (*UpdateClusterOutput, error) {
1819	req, out := c.UpdateClusterRequest(input)
1820	req.SetContext(ctx)
1821	req.ApplyOptions(opts...)
1822	return out, req.Send()
1823}
1824
1825const opUpdateParameterGroup = "UpdateParameterGroup"
1826
1827// UpdateParameterGroupRequest generates a "aws/request.Request" representing the
1828// client's request for the UpdateParameterGroup operation. The "output" return
1829// value will be populated with the request's response once the request completes
1830// successfully.
1831//
1832// Use "Send" method on the returned Request to send the API call to the service.
1833// the "output" return value is not valid until after Send returns without error.
1834//
1835// See UpdateParameterGroup for more information on using the UpdateParameterGroup
1836// API call, and error handling.
1837//
1838// This method is useful when you want to inject custom logic or configuration
1839// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1840//
1841//
1842//    // Example sending a request using the UpdateParameterGroupRequest method.
1843//    req, resp := client.UpdateParameterGroupRequest(params)
1844//
1845//    err := req.Send()
1846//    if err == nil { // resp is now filled
1847//        fmt.Println(resp)
1848//    }
1849//
1850// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/UpdateParameterGroup
1851func (c *DAX) UpdateParameterGroupRequest(input *UpdateParameterGroupInput) (req *request.Request, output *UpdateParameterGroupOutput) {
1852	op := &request.Operation{
1853		Name:       opUpdateParameterGroup,
1854		HTTPMethod: "POST",
1855		HTTPPath:   "/",
1856	}
1857
1858	if input == nil {
1859		input = &UpdateParameterGroupInput{}
1860	}
1861
1862	output = &UpdateParameterGroupOutput{}
1863	req = c.newRequest(op, input, output)
1864	return
1865}
1866
1867// UpdateParameterGroup API operation for Amazon DynamoDB Accelerator (DAX).
1868//
1869// Modifies the parameters of a parameter group. You can modify up to 20 parameters
1870// in a single request by submitting a list parameter name and value pairs.
1871//
1872// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1873// with awserr.Error's Code and Message methods to get detailed information about
1874// the error.
1875//
1876// See the AWS API reference guide for Amazon DynamoDB Accelerator (DAX)'s
1877// API operation UpdateParameterGroup for usage and error information.
1878//
1879// Returned Error Types:
1880//   * InvalidParameterGroupStateFault
1881//   One or more parameters in a parameter group are in an invalid state.
1882//
1883//   * ParameterGroupNotFoundFault
1884//   The specified parameter group does not exist.
1885//
1886//   * ServiceLinkedRoleNotFoundFault
1887//   The specified service linked role (SLR) was not found.
1888//
1889//   * InvalidParameterValueException
1890//   The value for a parameter is invalid.
1891//
1892//   * InvalidParameterCombinationException
1893//   Two or more incompatible parameters were specified.
1894//
1895// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/UpdateParameterGroup
1896func (c *DAX) UpdateParameterGroup(input *UpdateParameterGroupInput) (*UpdateParameterGroupOutput, error) {
1897	req, out := c.UpdateParameterGroupRequest(input)
1898	return out, req.Send()
1899}
1900
1901// UpdateParameterGroupWithContext is the same as UpdateParameterGroup with the addition of
1902// the ability to pass a context and additional request options.
1903//
1904// See UpdateParameterGroup for details on how to use this API operation.
1905//
1906// The context must be non-nil and will be used for request cancellation. If
1907// the context is nil a panic will occur. In the future the SDK may create
1908// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1909// for more information on using Contexts.
1910func (c *DAX) UpdateParameterGroupWithContext(ctx aws.Context, input *UpdateParameterGroupInput, opts ...request.Option) (*UpdateParameterGroupOutput, error) {
1911	req, out := c.UpdateParameterGroupRequest(input)
1912	req.SetContext(ctx)
1913	req.ApplyOptions(opts...)
1914	return out, req.Send()
1915}
1916
1917const opUpdateSubnetGroup = "UpdateSubnetGroup"
1918
1919// UpdateSubnetGroupRequest generates a "aws/request.Request" representing the
1920// client's request for the UpdateSubnetGroup operation. The "output" return
1921// value will be populated with the request's response once the request completes
1922// successfully.
1923//
1924// Use "Send" method on the returned Request to send the API call to the service.
1925// the "output" return value is not valid until after Send returns without error.
1926//
1927// See UpdateSubnetGroup for more information on using the UpdateSubnetGroup
1928// API call, and error handling.
1929//
1930// This method is useful when you want to inject custom logic or configuration
1931// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1932//
1933//
1934//    // Example sending a request using the UpdateSubnetGroupRequest method.
1935//    req, resp := client.UpdateSubnetGroupRequest(params)
1936//
1937//    err := req.Send()
1938//    if err == nil { // resp is now filled
1939//        fmt.Println(resp)
1940//    }
1941//
1942// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/UpdateSubnetGroup
1943func (c *DAX) UpdateSubnetGroupRequest(input *UpdateSubnetGroupInput) (req *request.Request, output *UpdateSubnetGroupOutput) {
1944	op := &request.Operation{
1945		Name:       opUpdateSubnetGroup,
1946		HTTPMethod: "POST",
1947		HTTPPath:   "/",
1948	}
1949
1950	if input == nil {
1951		input = &UpdateSubnetGroupInput{}
1952	}
1953
1954	output = &UpdateSubnetGroupOutput{}
1955	req = c.newRequest(op, input, output)
1956	return
1957}
1958
1959// UpdateSubnetGroup API operation for Amazon DynamoDB Accelerator (DAX).
1960//
1961// Modifies an existing subnet group.
1962//
1963// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1964// with awserr.Error's Code and Message methods to get detailed information about
1965// the error.
1966//
1967// See the AWS API reference guide for Amazon DynamoDB Accelerator (DAX)'s
1968// API operation UpdateSubnetGroup for usage and error information.
1969//
1970// Returned Error Types:
1971//   * SubnetGroupNotFoundFault
1972//   The requested subnet group name does not refer to an existing subnet group.
1973//
1974//   * SubnetQuotaExceededFault
1975//   The request cannot be processed because it would exceed the allowed number
1976//   of subnets in a subnet group.
1977//
1978//   * SubnetInUse
1979//   The requested subnet is being used by another subnet group.
1980//
1981//   * InvalidSubnet
1982//   An invalid subnet identifier was specified.
1983//
1984//   * ServiceLinkedRoleNotFoundFault
1985//   The specified service linked role (SLR) was not found.
1986//
1987// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/UpdateSubnetGroup
1988func (c *DAX) UpdateSubnetGroup(input *UpdateSubnetGroupInput) (*UpdateSubnetGroupOutput, error) {
1989	req, out := c.UpdateSubnetGroupRequest(input)
1990	return out, req.Send()
1991}
1992
1993// UpdateSubnetGroupWithContext is the same as UpdateSubnetGroup with the addition of
1994// the ability to pass a context and additional request options.
1995//
1996// See UpdateSubnetGroup 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 *DAX) UpdateSubnetGroupWithContext(ctx aws.Context, input *UpdateSubnetGroupInput, opts ...request.Option) (*UpdateSubnetGroupOutput, error) {
2003	req, out := c.UpdateSubnetGroupRequest(input)
2004	req.SetContext(ctx)
2005	req.ApplyOptions(opts...)
2006	return out, req.Send()
2007}
2008
2009// Contains all of the attributes of a specific DAX cluster.
2010type Cluster struct {
2011	_ struct{} `type:"structure"`
2012
2013	// The number of nodes in the cluster that are active (i.e., capable of serving
2014	// requests).
2015	ActiveNodes *int64 `type:"integer"`
2016
2017	// The Amazon Resource Name (ARN) that uniquely identifies the cluster.
2018	ClusterArn *string `type:"string"`
2019
2020	// The configuration endpoint for this DAX cluster, consisting of a DNS name
2021	// and a port number. Client applications can specify this endpoint, rather
2022	// than an individual node endpoint, and allow the DAX client software to intelligently
2023	// route requests and responses to nodes in the DAX cluster.
2024	ClusterDiscoveryEndpoint *Endpoint `type:"structure"`
2025
2026	// The name of the DAX cluster.
2027	ClusterName *string `type:"string"`
2028
2029	// The description of the cluster.
2030	Description *string `type:"string"`
2031
2032	// A valid Amazon Resource Name (ARN) that identifies an IAM role. At runtime,
2033	// DAX will assume this role and use the role's permissions to access DynamoDB
2034	// on your behalf.
2035	IamRoleArn *string `type:"string"`
2036
2037	// A list of nodes to be removed from the cluster.
2038	NodeIdsToRemove []*string `type:"list"`
2039
2040	// The node type for the nodes in the cluster. (All nodes in a DAX cluster are
2041	// of the same type.)
2042	NodeType *string `type:"string"`
2043
2044	// A list of nodes that are currently in the cluster.
2045	Nodes []*Node `type:"list"`
2046
2047	// Describes a notification topic and its status. Notification topics are used
2048	// for publishing DAX events to subscribers using Amazon Simple Notification
2049	// Service (SNS).
2050	NotificationConfiguration *NotificationConfiguration `type:"structure"`
2051
2052	// The parameter group being used by nodes in the cluster.
2053	ParameterGroup *ParameterGroupStatus `type:"structure"`
2054
2055	// A range of time when maintenance of DAX cluster software will be performed.
2056	// For example: sun:01:00-sun:09:00. Cluster maintenance normally takes less
2057	// than 30 minutes, and is performed automatically within the maintenance window.
2058	PreferredMaintenanceWindow *string `type:"string"`
2059
2060	// The description of the server-side encryption status on the specified DAX
2061	// cluster.
2062	SSEDescription *SSEDescription `type:"structure"`
2063
2064	// A list of security groups, and the status of each, for the nodes in the cluster.
2065	SecurityGroups []*SecurityGroupMembership `type:"list"`
2066
2067	// The current status of the cluster.
2068	Status *string `type:"string"`
2069
2070	// The subnet group where the DAX cluster is running.
2071	SubnetGroup *string `type:"string"`
2072
2073	// The total number of nodes in the cluster.
2074	TotalNodes *int64 `type:"integer"`
2075}
2076
2077// String returns the string representation
2078func (s Cluster) String() string {
2079	return awsutil.Prettify(s)
2080}
2081
2082// GoString returns the string representation
2083func (s Cluster) GoString() string {
2084	return s.String()
2085}
2086
2087// SetActiveNodes sets the ActiveNodes field's value.
2088func (s *Cluster) SetActiveNodes(v int64) *Cluster {
2089	s.ActiveNodes = &v
2090	return s
2091}
2092
2093// SetClusterArn sets the ClusterArn field's value.
2094func (s *Cluster) SetClusterArn(v string) *Cluster {
2095	s.ClusterArn = &v
2096	return s
2097}
2098
2099// SetClusterDiscoveryEndpoint sets the ClusterDiscoveryEndpoint field's value.
2100func (s *Cluster) SetClusterDiscoveryEndpoint(v *Endpoint) *Cluster {
2101	s.ClusterDiscoveryEndpoint = v
2102	return s
2103}
2104
2105// SetClusterName sets the ClusterName field's value.
2106func (s *Cluster) SetClusterName(v string) *Cluster {
2107	s.ClusterName = &v
2108	return s
2109}
2110
2111// SetDescription sets the Description field's value.
2112func (s *Cluster) SetDescription(v string) *Cluster {
2113	s.Description = &v
2114	return s
2115}
2116
2117// SetIamRoleArn sets the IamRoleArn field's value.
2118func (s *Cluster) SetIamRoleArn(v string) *Cluster {
2119	s.IamRoleArn = &v
2120	return s
2121}
2122
2123// SetNodeIdsToRemove sets the NodeIdsToRemove field's value.
2124func (s *Cluster) SetNodeIdsToRemove(v []*string) *Cluster {
2125	s.NodeIdsToRemove = v
2126	return s
2127}
2128
2129// SetNodeType sets the NodeType field's value.
2130func (s *Cluster) SetNodeType(v string) *Cluster {
2131	s.NodeType = &v
2132	return s
2133}
2134
2135// SetNodes sets the Nodes field's value.
2136func (s *Cluster) SetNodes(v []*Node) *Cluster {
2137	s.Nodes = v
2138	return s
2139}
2140
2141// SetNotificationConfiguration sets the NotificationConfiguration field's value.
2142func (s *Cluster) SetNotificationConfiguration(v *NotificationConfiguration) *Cluster {
2143	s.NotificationConfiguration = v
2144	return s
2145}
2146
2147// SetParameterGroup sets the ParameterGroup field's value.
2148func (s *Cluster) SetParameterGroup(v *ParameterGroupStatus) *Cluster {
2149	s.ParameterGroup = v
2150	return s
2151}
2152
2153// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
2154func (s *Cluster) SetPreferredMaintenanceWindow(v string) *Cluster {
2155	s.PreferredMaintenanceWindow = &v
2156	return s
2157}
2158
2159// SetSSEDescription sets the SSEDescription field's value.
2160func (s *Cluster) SetSSEDescription(v *SSEDescription) *Cluster {
2161	s.SSEDescription = v
2162	return s
2163}
2164
2165// SetSecurityGroups sets the SecurityGroups field's value.
2166func (s *Cluster) SetSecurityGroups(v []*SecurityGroupMembership) *Cluster {
2167	s.SecurityGroups = v
2168	return s
2169}
2170
2171// SetStatus sets the Status field's value.
2172func (s *Cluster) SetStatus(v string) *Cluster {
2173	s.Status = &v
2174	return s
2175}
2176
2177// SetSubnetGroup sets the SubnetGroup field's value.
2178func (s *Cluster) SetSubnetGroup(v string) *Cluster {
2179	s.SubnetGroup = &v
2180	return s
2181}
2182
2183// SetTotalNodes sets the TotalNodes field's value.
2184func (s *Cluster) SetTotalNodes(v int64) *Cluster {
2185	s.TotalNodes = &v
2186	return s
2187}
2188
2189// You already have a DAX cluster with the given identifier.
2190type ClusterAlreadyExistsFault struct {
2191	_            struct{}                  `type:"structure"`
2192	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
2193
2194	Message_ *string `locationName:"message" type:"string"`
2195}
2196
2197// String returns the string representation
2198func (s ClusterAlreadyExistsFault) String() string {
2199	return awsutil.Prettify(s)
2200}
2201
2202// GoString returns the string representation
2203func (s ClusterAlreadyExistsFault) GoString() string {
2204	return s.String()
2205}
2206
2207func newErrorClusterAlreadyExistsFault(v protocol.ResponseMetadata) error {
2208	return &ClusterAlreadyExistsFault{
2209		RespMetadata: v,
2210	}
2211}
2212
2213// Code returns the exception type name.
2214func (s *ClusterAlreadyExistsFault) Code() string {
2215	return "ClusterAlreadyExistsFault"
2216}
2217
2218// Message returns the exception's message.
2219func (s *ClusterAlreadyExistsFault) Message() string {
2220	if s.Message_ != nil {
2221		return *s.Message_
2222	}
2223	return ""
2224}
2225
2226// OrigErr always returns nil, satisfies awserr.Error interface.
2227func (s *ClusterAlreadyExistsFault) OrigErr() error {
2228	return nil
2229}
2230
2231func (s *ClusterAlreadyExistsFault) Error() string {
2232	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
2233}
2234
2235// Status code returns the HTTP status code for the request's response error.
2236func (s *ClusterAlreadyExistsFault) StatusCode() int {
2237	return s.RespMetadata.StatusCode
2238}
2239
2240// RequestID returns the service's response RequestID for request.
2241func (s *ClusterAlreadyExistsFault) RequestID() string {
2242	return s.RespMetadata.RequestID
2243}
2244
2245// The requested cluster ID does not refer to an existing DAX cluster.
2246type ClusterNotFoundFault struct {
2247	_            struct{}                  `type:"structure"`
2248	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
2249
2250	Message_ *string `locationName:"message" type:"string"`
2251}
2252
2253// String returns the string representation
2254func (s ClusterNotFoundFault) String() string {
2255	return awsutil.Prettify(s)
2256}
2257
2258// GoString returns the string representation
2259func (s ClusterNotFoundFault) GoString() string {
2260	return s.String()
2261}
2262
2263func newErrorClusterNotFoundFault(v protocol.ResponseMetadata) error {
2264	return &ClusterNotFoundFault{
2265		RespMetadata: v,
2266	}
2267}
2268
2269// Code returns the exception type name.
2270func (s *ClusterNotFoundFault) Code() string {
2271	return "ClusterNotFoundFault"
2272}
2273
2274// Message returns the exception's message.
2275func (s *ClusterNotFoundFault) Message() string {
2276	if s.Message_ != nil {
2277		return *s.Message_
2278	}
2279	return ""
2280}
2281
2282// OrigErr always returns nil, satisfies awserr.Error interface.
2283func (s *ClusterNotFoundFault) OrigErr() error {
2284	return nil
2285}
2286
2287func (s *ClusterNotFoundFault) Error() string {
2288	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
2289}
2290
2291// Status code returns the HTTP status code for the request's response error.
2292func (s *ClusterNotFoundFault) StatusCode() int {
2293	return s.RespMetadata.StatusCode
2294}
2295
2296// RequestID returns the service's response RequestID for request.
2297func (s *ClusterNotFoundFault) RequestID() string {
2298	return s.RespMetadata.RequestID
2299}
2300
2301// You have attempted to exceed the maximum number of DAX clusters for your
2302// AWS account.
2303type ClusterQuotaForCustomerExceededFault struct {
2304	_            struct{}                  `type:"structure"`
2305	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
2306
2307	Message_ *string `locationName:"message" type:"string"`
2308}
2309
2310// String returns the string representation
2311func (s ClusterQuotaForCustomerExceededFault) String() string {
2312	return awsutil.Prettify(s)
2313}
2314
2315// GoString returns the string representation
2316func (s ClusterQuotaForCustomerExceededFault) GoString() string {
2317	return s.String()
2318}
2319
2320func newErrorClusterQuotaForCustomerExceededFault(v protocol.ResponseMetadata) error {
2321	return &ClusterQuotaForCustomerExceededFault{
2322		RespMetadata: v,
2323	}
2324}
2325
2326// Code returns the exception type name.
2327func (s *ClusterQuotaForCustomerExceededFault) Code() string {
2328	return "ClusterQuotaForCustomerExceededFault"
2329}
2330
2331// Message returns the exception's message.
2332func (s *ClusterQuotaForCustomerExceededFault) Message() string {
2333	if s.Message_ != nil {
2334		return *s.Message_
2335	}
2336	return ""
2337}
2338
2339// OrigErr always returns nil, satisfies awserr.Error interface.
2340func (s *ClusterQuotaForCustomerExceededFault) OrigErr() error {
2341	return nil
2342}
2343
2344func (s *ClusterQuotaForCustomerExceededFault) Error() string {
2345	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
2346}
2347
2348// Status code returns the HTTP status code for the request's response error.
2349func (s *ClusterQuotaForCustomerExceededFault) StatusCode() int {
2350	return s.RespMetadata.StatusCode
2351}
2352
2353// RequestID returns the service's response RequestID for request.
2354func (s *ClusterQuotaForCustomerExceededFault) RequestID() string {
2355	return s.RespMetadata.RequestID
2356}
2357
2358type CreateClusterInput struct {
2359	_ struct{} `type:"structure"`
2360
2361	// The Availability Zones (AZs) in which the cluster nodes will reside after
2362	// the cluster has been created or updated. If provided, the length of this
2363	// list must equal the ReplicationFactor parameter. If you omit this parameter,
2364	// DAX will spread the nodes across Availability Zones for the highest availability.
2365	AvailabilityZones []*string `type:"list"`
2366
2367	// The cluster identifier. This parameter is stored as a lowercase string.
2368	//
2369	// Constraints:
2370	//
2371	//    * A name must contain from 1 to 20 alphanumeric characters or hyphens.
2372	//
2373	//    * The first character must be a letter.
2374	//
2375	//    * A name cannot end with a hyphen or contain two consecutive hyphens.
2376	//
2377	// ClusterName is a required field
2378	ClusterName *string `type:"string" required:"true"`
2379
2380	// A description of the cluster.
2381	Description *string `type:"string"`
2382
2383	// A valid Amazon Resource Name (ARN) that identifies an IAM role. At runtime,
2384	// DAX will assume this role and use the role's permissions to access DynamoDB
2385	// on your behalf.
2386	//
2387	// IamRoleArn is a required field
2388	IamRoleArn *string `type:"string" required:"true"`
2389
2390	// The compute and memory capacity of the nodes in the cluster.
2391	//
2392	// NodeType is a required field
2393	NodeType *string `type:"string" required:"true"`
2394
2395	// The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications
2396	// will be sent.
2397	//
2398	// The Amazon SNS topic owner must be same as the DAX cluster owner.
2399	NotificationTopicArn *string `type:"string"`
2400
2401	// The parameter group to be associated with the DAX cluster.
2402	ParameterGroupName *string `type:"string"`
2403
2404	// Specifies the weekly time range during which maintenance on the DAX cluster
2405	// is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi
2406	// (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid
2407	// values for ddd are:
2408	//
2409	//    * sun
2410	//
2411	//    * mon
2412	//
2413	//    * tue
2414	//
2415	//    * wed
2416	//
2417	//    * thu
2418	//
2419	//    * fri
2420	//
2421	//    * sat
2422	//
2423	// Example: sun:05:00-sun:09:00
2424	//
2425	// If you don't specify a preferred maintenance window when you create or modify
2426	// a cache cluster, DAX assigns a 60-minute maintenance window on a randomly
2427	// selected day of the week.
2428	PreferredMaintenanceWindow *string `type:"string"`
2429
2430	// The number of nodes in the DAX cluster. A replication factor of 1 will create
2431	// a single-node cluster, without any read replicas. For additional fault tolerance,
2432	// you can create a multiple node cluster with one or more read replicas. To
2433	// do this, set ReplicationFactor to a number between 3 (one primary and two
2434	// read replicas) and 10 (one primary and nine read replicas). If the AvailabilityZones
2435	// parameter is provided, its length must equal the ReplicationFactor.
2436	//
2437	// AWS recommends that you have at least two read replicas per cluster.
2438	//
2439	// ReplicationFactor is a required field
2440	ReplicationFactor *int64 `type:"integer" required:"true"`
2441
2442	// Represents the settings used to enable server-side encryption on the cluster.
2443	SSESpecification *SSESpecification `type:"structure"`
2444
2445	// A list of security group IDs to be assigned to each node in the DAX cluster.
2446	// (Each of the security group ID is system-generated.)
2447	//
2448	// If this parameter is not specified, DAX assigns the default VPC security
2449	// group to each node.
2450	SecurityGroupIds []*string `type:"list"`
2451
2452	// The name of the subnet group to be used for the replication group.
2453	//
2454	// DAX clusters can only run in an Amazon VPC environment. All of the subnets
2455	// that you specify in a subnet group must exist in the same VPC.
2456	SubnetGroupName *string `type:"string"`
2457
2458	// A set of tags to associate with the DAX cluster.
2459	Tags []*Tag `type:"list"`
2460}
2461
2462// String returns the string representation
2463func (s CreateClusterInput) String() string {
2464	return awsutil.Prettify(s)
2465}
2466
2467// GoString returns the string representation
2468func (s CreateClusterInput) GoString() string {
2469	return s.String()
2470}
2471
2472// Validate inspects the fields of the type to determine if they are valid.
2473func (s *CreateClusterInput) Validate() error {
2474	invalidParams := request.ErrInvalidParams{Context: "CreateClusterInput"}
2475	if s.ClusterName == nil {
2476		invalidParams.Add(request.NewErrParamRequired("ClusterName"))
2477	}
2478	if s.IamRoleArn == nil {
2479		invalidParams.Add(request.NewErrParamRequired("IamRoleArn"))
2480	}
2481	if s.NodeType == nil {
2482		invalidParams.Add(request.NewErrParamRequired("NodeType"))
2483	}
2484	if s.ReplicationFactor == nil {
2485		invalidParams.Add(request.NewErrParamRequired("ReplicationFactor"))
2486	}
2487	if s.SSESpecification != nil {
2488		if err := s.SSESpecification.Validate(); err != nil {
2489			invalidParams.AddNested("SSESpecification", err.(request.ErrInvalidParams))
2490		}
2491	}
2492
2493	if invalidParams.Len() > 0 {
2494		return invalidParams
2495	}
2496	return nil
2497}
2498
2499// SetAvailabilityZones sets the AvailabilityZones field's value.
2500func (s *CreateClusterInput) SetAvailabilityZones(v []*string) *CreateClusterInput {
2501	s.AvailabilityZones = v
2502	return s
2503}
2504
2505// SetClusterName sets the ClusterName field's value.
2506func (s *CreateClusterInput) SetClusterName(v string) *CreateClusterInput {
2507	s.ClusterName = &v
2508	return s
2509}
2510
2511// SetDescription sets the Description field's value.
2512func (s *CreateClusterInput) SetDescription(v string) *CreateClusterInput {
2513	s.Description = &v
2514	return s
2515}
2516
2517// SetIamRoleArn sets the IamRoleArn field's value.
2518func (s *CreateClusterInput) SetIamRoleArn(v string) *CreateClusterInput {
2519	s.IamRoleArn = &v
2520	return s
2521}
2522
2523// SetNodeType sets the NodeType field's value.
2524func (s *CreateClusterInput) SetNodeType(v string) *CreateClusterInput {
2525	s.NodeType = &v
2526	return s
2527}
2528
2529// SetNotificationTopicArn sets the NotificationTopicArn field's value.
2530func (s *CreateClusterInput) SetNotificationTopicArn(v string) *CreateClusterInput {
2531	s.NotificationTopicArn = &v
2532	return s
2533}
2534
2535// SetParameterGroupName sets the ParameterGroupName field's value.
2536func (s *CreateClusterInput) SetParameterGroupName(v string) *CreateClusterInput {
2537	s.ParameterGroupName = &v
2538	return s
2539}
2540
2541// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
2542func (s *CreateClusterInput) SetPreferredMaintenanceWindow(v string) *CreateClusterInput {
2543	s.PreferredMaintenanceWindow = &v
2544	return s
2545}
2546
2547// SetReplicationFactor sets the ReplicationFactor field's value.
2548func (s *CreateClusterInput) SetReplicationFactor(v int64) *CreateClusterInput {
2549	s.ReplicationFactor = &v
2550	return s
2551}
2552
2553// SetSSESpecification sets the SSESpecification field's value.
2554func (s *CreateClusterInput) SetSSESpecification(v *SSESpecification) *CreateClusterInput {
2555	s.SSESpecification = v
2556	return s
2557}
2558
2559// SetSecurityGroupIds sets the SecurityGroupIds field's value.
2560func (s *CreateClusterInput) SetSecurityGroupIds(v []*string) *CreateClusterInput {
2561	s.SecurityGroupIds = v
2562	return s
2563}
2564
2565// SetSubnetGroupName sets the SubnetGroupName field's value.
2566func (s *CreateClusterInput) SetSubnetGroupName(v string) *CreateClusterInput {
2567	s.SubnetGroupName = &v
2568	return s
2569}
2570
2571// SetTags sets the Tags field's value.
2572func (s *CreateClusterInput) SetTags(v []*Tag) *CreateClusterInput {
2573	s.Tags = v
2574	return s
2575}
2576
2577type CreateClusterOutput struct {
2578	_ struct{} `type:"structure"`
2579
2580	// A description of the DAX cluster that you have created.
2581	Cluster *Cluster `type:"structure"`
2582}
2583
2584// String returns the string representation
2585func (s CreateClusterOutput) String() string {
2586	return awsutil.Prettify(s)
2587}
2588
2589// GoString returns the string representation
2590func (s CreateClusterOutput) GoString() string {
2591	return s.String()
2592}
2593
2594// SetCluster sets the Cluster field's value.
2595func (s *CreateClusterOutput) SetCluster(v *Cluster) *CreateClusterOutput {
2596	s.Cluster = v
2597	return s
2598}
2599
2600type CreateParameterGroupInput struct {
2601	_ struct{} `type:"structure"`
2602
2603	// A description of the parameter group.
2604	Description *string `type:"string"`
2605
2606	// The name of the parameter group to apply to all of the clusters in this replication
2607	// group.
2608	//
2609	// ParameterGroupName is a required field
2610	ParameterGroupName *string `type:"string" required:"true"`
2611}
2612
2613// String returns the string representation
2614func (s CreateParameterGroupInput) String() string {
2615	return awsutil.Prettify(s)
2616}
2617
2618// GoString returns the string representation
2619func (s CreateParameterGroupInput) GoString() string {
2620	return s.String()
2621}
2622
2623// Validate inspects the fields of the type to determine if they are valid.
2624func (s *CreateParameterGroupInput) Validate() error {
2625	invalidParams := request.ErrInvalidParams{Context: "CreateParameterGroupInput"}
2626	if s.ParameterGroupName == nil {
2627		invalidParams.Add(request.NewErrParamRequired("ParameterGroupName"))
2628	}
2629
2630	if invalidParams.Len() > 0 {
2631		return invalidParams
2632	}
2633	return nil
2634}
2635
2636// SetDescription sets the Description field's value.
2637func (s *CreateParameterGroupInput) SetDescription(v string) *CreateParameterGroupInput {
2638	s.Description = &v
2639	return s
2640}
2641
2642// SetParameterGroupName sets the ParameterGroupName field's value.
2643func (s *CreateParameterGroupInput) SetParameterGroupName(v string) *CreateParameterGroupInput {
2644	s.ParameterGroupName = &v
2645	return s
2646}
2647
2648type CreateParameterGroupOutput struct {
2649	_ struct{} `type:"structure"`
2650
2651	// Represents the output of a CreateParameterGroup action.
2652	ParameterGroup *ParameterGroup `type:"structure"`
2653}
2654
2655// String returns the string representation
2656func (s CreateParameterGroupOutput) String() string {
2657	return awsutil.Prettify(s)
2658}
2659
2660// GoString returns the string representation
2661func (s CreateParameterGroupOutput) GoString() string {
2662	return s.String()
2663}
2664
2665// SetParameterGroup sets the ParameterGroup field's value.
2666func (s *CreateParameterGroupOutput) SetParameterGroup(v *ParameterGroup) *CreateParameterGroupOutput {
2667	s.ParameterGroup = v
2668	return s
2669}
2670
2671type CreateSubnetGroupInput struct {
2672	_ struct{} `type:"structure"`
2673
2674	// A description for the subnet group
2675	Description *string `type:"string"`
2676
2677	// A name for the subnet group. This value is stored as a lowercase string.
2678	//
2679	// SubnetGroupName is a required field
2680	SubnetGroupName *string `type:"string" required:"true"`
2681
2682	// A list of VPC subnet IDs for the subnet group.
2683	//
2684	// SubnetIds is a required field
2685	SubnetIds []*string `type:"list" required:"true"`
2686}
2687
2688// String returns the string representation
2689func (s CreateSubnetGroupInput) String() string {
2690	return awsutil.Prettify(s)
2691}
2692
2693// GoString returns the string representation
2694func (s CreateSubnetGroupInput) GoString() string {
2695	return s.String()
2696}
2697
2698// Validate inspects the fields of the type to determine if they are valid.
2699func (s *CreateSubnetGroupInput) Validate() error {
2700	invalidParams := request.ErrInvalidParams{Context: "CreateSubnetGroupInput"}
2701	if s.SubnetGroupName == nil {
2702		invalidParams.Add(request.NewErrParamRequired("SubnetGroupName"))
2703	}
2704	if s.SubnetIds == nil {
2705		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
2706	}
2707
2708	if invalidParams.Len() > 0 {
2709		return invalidParams
2710	}
2711	return nil
2712}
2713
2714// SetDescription sets the Description field's value.
2715func (s *CreateSubnetGroupInput) SetDescription(v string) *CreateSubnetGroupInput {
2716	s.Description = &v
2717	return s
2718}
2719
2720// SetSubnetGroupName sets the SubnetGroupName field's value.
2721func (s *CreateSubnetGroupInput) SetSubnetGroupName(v string) *CreateSubnetGroupInput {
2722	s.SubnetGroupName = &v
2723	return s
2724}
2725
2726// SetSubnetIds sets the SubnetIds field's value.
2727func (s *CreateSubnetGroupInput) SetSubnetIds(v []*string) *CreateSubnetGroupInput {
2728	s.SubnetIds = v
2729	return s
2730}
2731
2732type CreateSubnetGroupOutput struct {
2733	_ struct{} `type:"structure"`
2734
2735	// Represents the output of a CreateSubnetGroup operation.
2736	SubnetGroup *SubnetGroup `type:"structure"`
2737}
2738
2739// String returns the string representation
2740func (s CreateSubnetGroupOutput) String() string {
2741	return awsutil.Prettify(s)
2742}
2743
2744// GoString returns the string representation
2745func (s CreateSubnetGroupOutput) GoString() string {
2746	return s.String()
2747}
2748
2749// SetSubnetGroup sets the SubnetGroup field's value.
2750func (s *CreateSubnetGroupOutput) SetSubnetGroup(v *SubnetGroup) *CreateSubnetGroupOutput {
2751	s.SubnetGroup = v
2752	return s
2753}
2754
2755type DecreaseReplicationFactorInput struct {
2756	_ struct{} `type:"structure"`
2757
2758	// The Availability Zone(s) from which to remove nodes.
2759	AvailabilityZones []*string `type:"list"`
2760
2761	// The name of the DAX cluster from which you want to remove nodes.
2762	//
2763	// ClusterName is a required field
2764	ClusterName *string `type:"string" required:"true"`
2765
2766	// The new number of nodes for the DAX cluster.
2767	//
2768	// NewReplicationFactor is a required field
2769	NewReplicationFactor *int64 `type:"integer" required:"true"`
2770
2771	// The unique identifiers of the nodes to be removed from the cluster.
2772	NodeIdsToRemove []*string `type:"list"`
2773}
2774
2775// String returns the string representation
2776func (s DecreaseReplicationFactorInput) String() string {
2777	return awsutil.Prettify(s)
2778}
2779
2780// GoString returns the string representation
2781func (s DecreaseReplicationFactorInput) GoString() string {
2782	return s.String()
2783}
2784
2785// Validate inspects the fields of the type to determine if they are valid.
2786func (s *DecreaseReplicationFactorInput) Validate() error {
2787	invalidParams := request.ErrInvalidParams{Context: "DecreaseReplicationFactorInput"}
2788	if s.ClusterName == nil {
2789		invalidParams.Add(request.NewErrParamRequired("ClusterName"))
2790	}
2791	if s.NewReplicationFactor == nil {
2792		invalidParams.Add(request.NewErrParamRequired("NewReplicationFactor"))
2793	}
2794
2795	if invalidParams.Len() > 0 {
2796		return invalidParams
2797	}
2798	return nil
2799}
2800
2801// SetAvailabilityZones sets the AvailabilityZones field's value.
2802func (s *DecreaseReplicationFactorInput) SetAvailabilityZones(v []*string) *DecreaseReplicationFactorInput {
2803	s.AvailabilityZones = v
2804	return s
2805}
2806
2807// SetClusterName sets the ClusterName field's value.
2808func (s *DecreaseReplicationFactorInput) SetClusterName(v string) *DecreaseReplicationFactorInput {
2809	s.ClusterName = &v
2810	return s
2811}
2812
2813// SetNewReplicationFactor sets the NewReplicationFactor field's value.
2814func (s *DecreaseReplicationFactorInput) SetNewReplicationFactor(v int64) *DecreaseReplicationFactorInput {
2815	s.NewReplicationFactor = &v
2816	return s
2817}
2818
2819// SetNodeIdsToRemove sets the NodeIdsToRemove field's value.
2820func (s *DecreaseReplicationFactorInput) SetNodeIdsToRemove(v []*string) *DecreaseReplicationFactorInput {
2821	s.NodeIdsToRemove = v
2822	return s
2823}
2824
2825type DecreaseReplicationFactorOutput struct {
2826	_ struct{} `type:"structure"`
2827
2828	// A description of the DAX cluster, after you have decreased its replication
2829	// factor.
2830	Cluster *Cluster `type:"structure"`
2831}
2832
2833// String returns the string representation
2834func (s DecreaseReplicationFactorOutput) String() string {
2835	return awsutil.Prettify(s)
2836}
2837
2838// GoString returns the string representation
2839func (s DecreaseReplicationFactorOutput) GoString() string {
2840	return s.String()
2841}
2842
2843// SetCluster sets the Cluster field's value.
2844func (s *DecreaseReplicationFactorOutput) SetCluster(v *Cluster) *DecreaseReplicationFactorOutput {
2845	s.Cluster = v
2846	return s
2847}
2848
2849type DeleteClusterInput struct {
2850	_ struct{} `type:"structure"`
2851
2852	// The name of the cluster to be deleted.
2853	//
2854	// ClusterName is a required field
2855	ClusterName *string `type:"string" required:"true"`
2856}
2857
2858// String returns the string representation
2859func (s DeleteClusterInput) String() string {
2860	return awsutil.Prettify(s)
2861}
2862
2863// GoString returns the string representation
2864func (s DeleteClusterInput) GoString() string {
2865	return s.String()
2866}
2867
2868// Validate inspects the fields of the type to determine if they are valid.
2869func (s *DeleteClusterInput) Validate() error {
2870	invalidParams := request.ErrInvalidParams{Context: "DeleteClusterInput"}
2871	if s.ClusterName == nil {
2872		invalidParams.Add(request.NewErrParamRequired("ClusterName"))
2873	}
2874
2875	if invalidParams.Len() > 0 {
2876		return invalidParams
2877	}
2878	return nil
2879}
2880
2881// SetClusterName sets the ClusterName field's value.
2882func (s *DeleteClusterInput) SetClusterName(v string) *DeleteClusterInput {
2883	s.ClusterName = &v
2884	return s
2885}
2886
2887type DeleteClusterOutput struct {
2888	_ struct{} `type:"structure"`
2889
2890	// A description of the DAX cluster that is being deleted.
2891	Cluster *Cluster `type:"structure"`
2892}
2893
2894// String returns the string representation
2895func (s DeleteClusterOutput) String() string {
2896	return awsutil.Prettify(s)
2897}
2898
2899// GoString returns the string representation
2900func (s DeleteClusterOutput) GoString() string {
2901	return s.String()
2902}
2903
2904// SetCluster sets the Cluster field's value.
2905func (s *DeleteClusterOutput) SetCluster(v *Cluster) *DeleteClusterOutput {
2906	s.Cluster = v
2907	return s
2908}
2909
2910type DeleteParameterGroupInput struct {
2911	_ struct{} `type:"structure"`
2912
2913	// The name of the parameter group to delete.
2914	//
2915	// ParameterGroupName is a required field
2916	ParameterGroupName *string `type:"string" required:"true"`
2917}
2918
2919// String returns the string representation
2920func (s DeleteParameterGroupInput) String() string {
2921	return awsutil.Prettify(s)
2922}
2923
2924// GoString returns the string representation
2925func (s DeleteParameterGroupInput) GoString() string {
2926	return s.String()
2927}
2928
2929// Validate inspects the fields of the type to determine if they are valid.
2930func (s *DeleteParameterGroupInput) Validate() error {
2931	invalidParams := request.ErrInvalidParams{Context: "DeleteParameterGroupInput"}
2932	if s.ParameterGroupName == nil {
2933		invalidParams.Add(request.NewErrParamRequired("ParameterGroupName"))
2934	}
2935
2936	if invalidParams.Len() > 0 {
2937		return invalidParams
2938	}
2939	return nil
2940}
2941
2942// SetParameterGroupName sets the ParameterGroupName field's value.
2943func (s *DeleteParameterGroupInput) SetParameterGroupName(v string) *DeleteParameterGroupInput {
2944	s.ParameterGroupName = &v
2945	return s
2946}
2947
2948type DeleteParameterGroupOutput struct {
2949	_ struct{} `type:"structure"`
2950
2951	// A user-specified message for this action (i.e., a reason for deleting the
2952	// parameter group).
2953	DeletionMessage *string `type:"string"`
2954}
2955
2956// String returns the string representation
2957func (s DeleteParameterGroupOutput) String() string {
2958	return awsutil.Prettify(s)
2959}
2960
2961// GoString returns the string representation
2962func (s DeleteParameterGroupOutput) GoString() string {
2963	return s.String()
2964}
2965
2966// SetDeletionMessage sets the DeletionMessage field's value.
2967func (s *DeleteParameterGroupOutput) SetDeletionMessage(v string) *DeleteParameterGroupOutput {
2968	s.DeletionMessage = &v
2969	return s
2970}
2971
2972type DeleteSubnetGroupInput struct {
2973	_ struct{} `type:"structure"`
2974
2975	// The name of the subnet group to delete.
2976	//
2977	// SubnetGroupName is a required field
2978	SubnetGroupName *string `type:"string" required:"true"`
2979}
2980
2981// String returns the string representation
2982func (s DeleteSubnetGroupInput) String() string {
2983	return awsutil.Prettify(s)
2984}
2985
2986// GoString returns the string representation
2987func (s DeleteSubnetGroupInput) GoString() string {
2988	return s.String()
2989}
2990
2991// Validate inspects the fields of the type to determine if they are valid.
2992func (s *DeleteSubnetGroupInput) Validate() error {
2993	invalidParams := request.ErrInvalidParams{Context: "DeleteSubnetGroupInput"}
2994	if s.SubnetGroupName == nil {
2995		invalidParams.Add(request.NewErrParamRequired("SubnetGroupName"))
2996	}
2997
2998	if invalidParams.Len() > 0 {
2999		return invalidParams
3000	}
3001	return nil
3002}
3003
3004// SetSubnetGroupName sets the SubnetGroupName field's value.
3005func (s *DeleteSubnetGroupInput) SetSubnetGroupName(v string) *DeleteSubnetGroupInput {
3006	s.SubnetGroupName = &v
3007	return s
3008}
3009
3010type DeleteSubnetGroupOutput struct {
3011	_ struct{} `type:"structure"`
3012
3013	// A user-specified message for this action (i.e., a reason for deleting the
3014	// subnet group).
3015	DeletionMessage *string `type:"string"`
3016}
3017
3018// String returns the string representation
3019func (s DeleteSubnetGroupOutput) String() string {
3020	return awsutil.Prettify(s)
3021}
3022
3023// GoString returns the string representation
3024func (s DeleteSubnetGroupOutput) GoString() string {
3025	return s.String()
3026}
3027
3028// SetDeletionMessage sets the DeletionMessage field's value.
3029func (s *DeleteSubnetGroupOutput) SetDeletionMessage(v string) *DeleteSubnetGroupOutput {
3030	s.DeletionMessage = &v
3031	return s
3032}
3033
3034type DescribeClustersInput struct {
3035	_ struct{} `type:"structure"`
3036
3037	// The names of the DAX clusters being described.
3038	ClusterNames []*string `type:"list"`
3039
3040	// The maximum number of results to include in the response. If more results
3041	// exist than the specified MaxResults value, a token is included in the response
3042	// so that the remaining results can be retrieved.
3043	//
3044	// The value for MaxResults must be between 20 and 100.
3045	MaxResults *int64 `type:"integer"`
3046
3047	// An optional token returned from a prior request. Use this token for pagination
3048	// of results from this action. If this parameter is specified, the response
3049	// includes only results beyond the token, up to the value specified by MaxResults.
3050	NextToken *string `type:"string"`
3051}
3052
3053// String returns the string representation
3054func (s DescribeClustersInput) String() string {
3055	return awsutil.Prettify(s)
3056}
3057
3058// GoString returns the string representation
3059func (s DescribeClustersInput) GoString() string {
3060	return s.String()
3061}
3062
3063// SetClusterNames sets the ClusterNames field's value.
3064func (s *DescribeClustersInput) SetClusterNames(v []*string) *DescribeClustersInput {
3065	s.ClusterNames = v
3066	return s
3067}
3068
3069// SetMaxResults sets the MaxResults field's value.
3070func (s *DescribeClustersInput) SetMaxResults(v int64) *DescribeClustersInput {
3071	s.MaxResults = &v
3072	return s
3073}
3074
3075// SetNextToken sets the NextToken field's value.
3076func (s *DescribeClustersInput) SetNextToken(v string) *DescribeClustersInput {
3077	s.NextToken = &v
3078	return s
3079}
3080
3081type DescribeClustersOutput struct {
3082	_ struct{} `type:"structure"`
3083
3084	// The descriptions of your DAX clusters, in response to a DescribeClusters
3085	// request.
3086	Clusters []*Cluster `type:"list"`
3087
3088	// Provides an identifier to allow retrieval of paginated results.
3089	NextToken *string `type:"string"`
3090}
3091
3092// String returns the string representation
3093func (s DescribeClustersOutput) String() string {
3094	return awsutil.Prettify(s)
3095}
3096
3097// GoString returns the string representation
3098func (s DescribeClustersOutput) GoString() string {
3099	return s.String()
3100}
3101
3102// SetClusters sets the Clusters field's value.
3103func (s *DescribeClustersOutput) SetClusters(v []*Cluster) *DescribeClustersOutput {
3104	s.Clusters = v
3105	return s
3106}
3107
3108// SetNextToken sets the NextToken field's value.
3109func (s *DescribeClustersOutput) SetNextToken(v string) *DescribeClustersOutput {
3110	s.NextToken = &v
3111	return s
3112}
3113
3114type DescribeDefaultParametersInput struct {
3115	_ struct{} `type:"structure"`
3116
3117	// The maximum number of results to include in the response. If more results
3118	// exist than the specified MaxResults value, a token is included in the response
3119	// so that the remaining results can be retrieved.
3120	//
3121	// The value for MaxResults must be between 20 and 100.
3122	MaxResults *int64 `type:"integer"`
3123
3124	// An optional token returned from a prior request. Use this token for pagination
3125	// of results from this action. If this parameter is specified, the response
3126	// includes only results beyond the token, up to the value specified by MaxResults.
3127	NextToken *string `type:"string"`
3128}
3129
3130// String returns the string representation
3131func (s DescribeDefaultParametersInput) String() string {
3132	return awsutil.Prettify(s)
3133}
3134
3135// GoString returns the string representation
3136func (s DescribeDefaultParametersInput) GoString() string {
3137	return s.String()
3138}
3139
3140// SetMaxResults sets the MaxResults field's value.
3141func (s *DescribeDefaultParametersInput) SetMaxResults(v int64) *DescribeDefaultParametersInput {
3142	s.MaxResults = &v
3143	return s
3144}
3145
3146// SetNextToken sets the NextToken field's value.
3147func (s *DescribeDefaultParametersInput) SetNextToken(v string) *DescribeDefaultParametersInput {
3148	s.NextToken = &v
3149	return s
3150}
3151
3152type DescribeDefaultParametersOutput struct {
3153	_ struct{} `type:"structure"`
3154
3155	// Provides an identifier to allow retrieval of paginated results.
3156	NextToken *string `type:"string"`
3157
3158	// A list of parameters. Each element in the list represents one parameter.
3159	Parameters []*Parameter `type:"list"`
3160}
3161
3162// String returns the string representation
3163func (s DescribeDefaultParametersOutput) String() string {
3164	return awsutil.Prettify(s)
3165}
3166
3167// GoString returns the string representation
3168func (s DescribeDefaultParametersOutput) GoString() string {
3169	return s.String()
3170}
3171
3172// SetNextToken sets the NextToken field's value.
3173func (s *DescribeDefaultParametersOutput) SetNextToken(v string) *DescribeDefaultParametersOutput {
3174	s.NextToken = &v
3175	return s
3176}
3177
3178// SetParameters sets the Parameters field's value.
3179func (s *DescribeDefaultParametersOutput) SetParameters(v []*Parameter) *DescribeDefaultParametersOutput {
3180	s.Parameters = v
3181	return s
3182}
3183
3184type DescribeEventsInput struct {
3185	_ struct{} `type:"structure"`
3186
3187	// The number of minutes' worth of events to retrieve.
3188	Duration *int64 `type:"integer"`
3189
3190	// The end of the time interval for which to retrieve events, specified in ISO
3191	// 8601 format.
3192	EndTime *time.Time `type:"timestamp"`
3193
3194	// The maximum number of results to include in the response. If more results
3195	// exist than the specified MaxResults value, a token is included in the response
3196	// so that the remaining results can be retrieved.
3197	//
3198	// The value for MaxResults must be between 20 and 100.
3199	MaxResults *int64 `type:"integer"`
3200
3201	// An optional token returned from a prior request. Use this token for pagination
3202	// of results from this action. If this parameter is specified, the response
3203	// includes only results beyond the token, up to the value specified by MaxResults.
3204	NextToken *string `type:"string"`
3205
3206	// The identifier of the event source for which events will be returned. If
3207	// not specified, then all sources are included in the response.
3208	SourceName *string `type:"string"`
3209
3210	// The event source to retrieve events for. If no value is specified, all events
3211	// are returned.
3212	SourceType *string `type:"string" enum:"SourceType"`
3213
3214	// The beginning of the time interval to retrieve events for, specified in ISO
3215	// 8601 format.
3216	StartTime *time.Time `type:"timestamp"`
3217}
3218
3219// String returns the string representation
3220func (s DescribeEventsInput) String() string {
3221	return awsutil.Prettify(s)
3222}
3223
3224// GoString returns the string representation
3225func (s DescribeEventsInput) GoString() string {
3226	return s.String()
3227}
3228
3229// SetDuration sets the Duration field's value.
3230func (s *DescribeEventsInput) SetDuration(v int64) *DescribeEventsInput {
3231	s.Duration = &v
3232	return s
3233}
3234
3235// SetEndTime sets the EndTime field's value.
3236func (s *DescribeEventsInput) SetEndTime(v time.Time) *DescribeEventsInput {
3237	s.EndTime = &v
3238	return s
3239}
3240
3241// SetMaxResults sets the MaxResults field's value.
3242func (s *DescribeEventsInput) SetMaxResults(v int64) *DescribeEventsInput {
3243	s.MaxResults = &v
3244	return s
3245}
3246
3247// SetNextToken sets the NextToken field's value.
3248func (s *DescribeEventsInput) SetNextToken(v string) *DescribeEventsInput {
3249	s.NextToken = &v
3250	return s
3251}
3252
3253// SetSourceName sets the SourceName field's value.
3254func (s *DescribeEventsInput) SetSourceName(v string) *DescribeEventsInput {
3255	s.SourceName = &v
3256	return s
3257}
3258
3259// SetSourceType sets the SourceType field's value.
3260func (s *DescribeEventsInput) SetSourceType(v string) *DescribeEventsInput {
3261	s.SourceType = &v
3262	return s
3263}
3264
3265// SetStartTime sets the StartTime field's value.
3266func (s *DescribeEventsInput) SetStartTime(v time.Time) *DescribeEventsInput {
3267	s.StartTime = &v
3268	return s
3269}
3270
3271type DescribeEventsOutput struct {
3272	_ struct{} `type:"structure"`
3273
3274	// An array of events. Each element in the array represents one event.
3275	Events []*Event `type:"list"`
3276
3277	// Provides an identifier to allow retrieval of paginated results.
3278	NextToken *string `type:"string"`
3279}
3280
3281// String returns the string representation
3282func (s DescribeEventsOutput) String() string {
3283	return awsutil.Prettify(s)
3284}
3285
3286// GoString returns the string representation
3287func (s DescribeEventsOutput) GoString() string {
3288	return s.String()
3289}
3290
3291// SetEvents sets the Events field's value.
3292func (s *DescribeEventsOutput) SetEvents(v []*Event) *DescribeEventsOutput {
3293	s.Events = v
3294	return s
3295}
3296
3297// SetNextToken sets the NextToken field's value.
3298func (s *DescribeEventsOutput) SetNextToken(v string) *DescribeEventsOutput {
3299	s.NextToken = &v
3300	return s
3301}
3302
3303type DescribeParameterGroupsInput struct {
3304	_ struct{} `type:"structure"`
3305
3306	// The maximum number of results to include in the response. If more results
3307	// exist than the specified MaxResults value, a token is included in the response
3308	// so that the remaining results can be retrieved.
3309	//
3310	// The value for MaxResults must be between 20 and 100.
3311	MaxResults *int64 `type:"integer"`
3312
3313	// An optional token returned from a prior request. Use this token for pagination
3314	// of results from this action. If this parameter is specified, the response
3315	// includes only results beyond the token, up to the value specified by MaxResults.
3316	NextToken *string `type:"string"`
3317
3318	// The names of the parameter groups.
3319	ParameterGroupNames []*string `type:"list"`
3320}
3321
3322// String returns the string representation
3323func (s DescribeParameterGroupsInput) String() string {
3324	return awsutil.Prettify(s)
3325}
3326
3327// GoString returns the string representation
3328func (s DescribeParameterGroupsInput) GoString() string {
3329	return s.String()
3330}
3331
3332// SetMaxResults sets the MaxResults field's value.
3333func (s *DescribeParameterGroupsInput) SetMaxResults(v int64) *DescribeParameterGroupsInput {
3334	s.MaxResults = &v
3335	return s
3336}
3337
3338// SetNextToken sets the NextToken field's value.
3339func (s *DescribeParameterGroupsInput) SetNextToken(v string) *DescribeParameterGroupsInput {
3340	s.NextToken = &v
3341	return s
3342}
3343
3344// SetParameterGroupNames sets the ParameterGroupNames field's value.
3345func (s *DescribeParameterGroupsInput) SetParameterGroupNames(v []*string) *DescribeParameterGroupsInput {
3346	s.ParameterGroupNames = v
3347	return s
3348}
3349
3350type DescribeParameterGroupsOutput struct {
3351	_ struct{} `type:"structure"`
3352
3353	// Provides an identifier to allow retrieval of paginated results.
3354	NextToken *string `type:"string"`
3355
3356	// An array of parameter groups. Each element in the array represents one parameter
3357	// group.
3358	ParameterGroups []*ParameterGroup `type:"list"`
3359}
3360
3361// String returns the string representation
3362func (s DescribeParameterGroupsOutput) String() string {
3363	return awsutil.Prettify(s)
3364}
3365
3366// GoString returns the string representation
3367func (s DescribeParameterGroupsOutput) GoString() string {
3368	return s.String()
3369}
3370
3371// SetNextToken sets the NextToken field's value.
3372func (s *DescribeParameterGroupsOutput) SetNextToken(v string) *DescribeParameterGroupsOutput {
3373	s.NextToken = &v
3374	return s
3375}
3376
3377// SetParameterGroups sets the ParameterGroups field's value.
3378func (s *DescribeParameterGroupsOutput) SetParameterGroups(v []*ParameterGroup) *DescribeParameterGroupsOutput {
3379	s.ParameterGroups = v
3380	return s
3381}
3382
3383type DescribeParametersInput struct {
3384	_ struct{} `type:"structure"`
3385
3386	// The maximum number of results to include in the response. If more results
3387	// exist than the specified MaxResults value, a token is included in the response
3388	// so that the remaining results can be retrieved.
3389	//
3390	// The value for MaxResults must be between 20 and 100.
3391	MaxResults *int64 `type:"integer"`
3392
3393	// An optional token returned from a prior request. Use this token for pagination
3394	// of results from this action. If this parameter is specified, the response
3395	// includes only results beyond the token, up to the value specified by MaxResults.
3396	NextToken *string `type:"string"`
3397
3398	// The name of the parameter group.
3399	//
3400	// ParameterGroupName is a required field
3401	ParameterGroupName *string `type:"string" required:"true"`
3402
3403	// How the parameter is defined. For example, system denotes a system-defined
3404	// parameter.
3405	Source *string `type:"string"`
3406}
3407
3408// String returns the string representation
3409func (s DescribeParametersInput) String() string {
3410	return awsutil.Prettify(s)
3411}
3412
3413// GoString returns the string representation
3414func (s DescribeParametersInput) GoString() string {
3415	return s.String()
3416}
3417
3418// Validate inspects the fields of the type to determine if they are valid.
3419func (s *DescribeParametersInput) Validate() error {
3420	invalidParams := request.ErrInvalidParams{Context: "DescribeParametersInput"}
3421	if s.ParameterGroupName == nil {
3422		invalidParams.Add(request.NewErrParamRequired("ParameterGroupName"))
3423	}
3424
3425	if invalidParams.Len() > 0 {
3426		return invalidParams
3427	}
3428	return nil
3429}
3430
3431// SetMaxResults sets the MaxResults field's value.
3432func (s *DescribeParametersInput) SetMaxResults(v int64) *DescribeParametersInput {
3433	s.MaxResults = &v
3434	return s
3435}
3436
3437// SetNextToken sets the NextToken field's value.
3438func (s *DescribeParametersInput) SetNextToken(v string) *DescribeParametersInput {
3439	s.NextToken = &v
3440	return s
3441}
3442
3443// SetParameterGroupName sets the ParameterGroupName field's value.
3444func (s *DescribeParametersInput) SetParameterGroupName(v string) *DescribeParametersInput {
3445	s.ParameterGroupName = &v
3446	return s
3447}
3448
3449// SetSource sets the Source field's value.
3450func (s *DescribeParametersInput) SetSource(v string) *DescribeParametersInput {
3451	s.Source = &v
3452	return s
3453}
3454
3455type DescribeParametersOutput struct {
3456	_ struct{} `type:"structure"`
3457
3458	// Provides an identifier to allow retrieval of paginated results.
3459	NextToken *string `type:"string"`
3460
3461	// A list of parameters within a parameter group. Each element in the list represents
3462	// one parameter.
3463	Parameters []*Parameter `type:"list"`
3464}
3465
3466// String returns the string representation
3467func (s DescribeParametersOutput) String() string {
3468	return awsutil.Prettify(s)
3469}
3470
3471// GoString returns the string representation
3472func (s DescribeParametersOutput) GoString() string {
3473	return s.String()
3474}
3475
3476// SetNextToken sets the NextToken field's value.
3477func (s *DescribeParametersOutput) SetNextToken(v string) *DescribeParametersOutput {
3478	s.NextToken = &v
3479	return s
3480}
3481
3482// SetParameters sets the Parameters field's value.
3483func (s *DescribeParametersOutput) SetParameters(v []*Parameter) *DescribeParametersOutput {
3484	s.Parameters = v
3485	return s
3486}
3487
3488type DescribeSubnetGroupsInput struct {
3489	_ struct{} `type:"structure"`
3490
3491	// The maximum number of results to include in the response. If more results
3492	// exist than the specified MaxResults value, a token is included in the response
3493	// so that the remaining results can be retrieved.
3494	//
3495	// The value for MaxResults must be between 20 and 100.
3496	MaxResults *int64 `type:"integer"`
3497
3498	// An optional token returned from a prior request. Use this token for pagination
3499	// of results from this action. If this parameter is specified, the response
3500	// includes only results beyond the token, up to the value specified by MaxResults.
3501	NextToken *string `type:"string"`
3502
3503	// The name of the subnet group.
3504	SubnetGroupNames []*string `type:"list"`
3505}
3506
3507// String returns the string representation
3508func (s DescribeSubnetGroupsInput) String() string {
3509	return awsutil.Prettify(s)
3510}
3511
3512// GoString returns the string representation
3513func (s DescribeSubnetGroupsInput) GoString() string {
3514	return s.String()
3515}
3516
3517// SetMaxResults sets the MaxResults field's value.
3518func (s *DescribeSubnetGroupsInput) SetMaxResults(v int64) *DescribeSubnetGroupsInput {
3519	s.MaxResults = &v
3520	return s
3521}
3522
3523// SetNextToken sets the NextToken field's value.
3524func (s *DescribeSubnetGroupsInput) SetNextToken(v string) *DescribeSubnetGroupsInput {
3525	s.NextToken = &v
3526	return s
3527}
3528
3529// SetSubnetGroupNames sets the SubnetGroupNames field's value.
3530func (s *DescribeSubnetGroupsInput) SetSubnetGroupNames(v []*string) *DescribeSubnetGroupsInput {
3531	s.SubnetGroupNames = v
3532	return s
3533}
3534
3535type DescribeSubnetGroupsOutput struct {
3536	_ struct{} `type:"structure"`
3537
3538	// Provides an identifier to allow retrieval of paginated results.
3539	NextToken *string `type:"string"`
3540
3541	// An array of subnet groups. Each element in the array represents a single
3542	// subnet group.
3543	SubnetGroups []*SubnetGroup `type:"list"`
3544}
3545
3546// String returns the string representation
3547func (s DescribeSubnetGroupsOutput) String() string {
3548	return awsutil.Prettify(s)
3549}
3550
3551// GoString returns the string representation
3552func (s DescribeSubnetGroupsOutput) GoString() string {
3553	return s.String()
3554}
3555
3556// SetNextToken sets the NextToken field's value.
3557func (s *DescribeSubnetGroupsOutput) SetNextToken(v string) *DescribeSubnetGroupsOutput {
3558	s.NextToken = &v
3559	return s
3560}
3561
3562// SetSubnetGroups sets the SubnetGroups field's value.
3563func (s *DescribeSubnetGroupsOutput) SetSubnetGroups(v []*SubnetGroup) *DescribeSubnetGroupsOutput {
3564	s.SubnetGroups = v
3565	return s
3566}
3567
3568// Represents the information required for client programs to connect to the
3569// configuration endpoint for a DAX cluster, or to an individual node within
3570// the cluster.
3571type Endpoint struct {
3572	_ struct{} `type:"structure"`
3573
3574	// The DNS hostname of the endpoint.
3575	Address *string `type:"string"`
3576
3577	// The port number that applications should use to connect to the endpoint.
3578	Port *int64 `type:"integer"`
3579}
3580
3581// String returns the string representation
3582func (s Endpoint) String() string {
3583	return awsutil.Prettify(s)
3584}
3585
3586// GoString returns the string representation
3587func (s Endpoint) GoString() string {
3588	return s.String()
3589}
3590
3591// SetAddress sets the Address field's value.
3592func (s *Endpoint) SetAddress(v string) *Endpoint {
3593	s.Address = &v
3594	return s
3595}
3596
3597// SetPort sets the Port field's value.
3598func (s *Endpoint) SetPort(v int64) *Endpoint {
3599	s.Port = &v
3600	return s
3601}
3602
3603// Represents a single occurrence of something interesting within the system.
3604// Some examples of events are creating a DAX cluster, adding or removing a
3605// node, or rebooting a node.
3606type Event struct {
3607	_ struct{} `type:"structure"`
3608
3609	// The date and time when the event occurred.
3610	Date *time.Time `type:"timestamp"`
3611
3612	// A user-defined message associated with the event.
3613	Message *string `type:"string"`
3614
3615	// The source of the event. For example, if the event occurred at the node level,
3616	// the source would be the node ID.
3617	SourceName *string `type:"string"`
3618
3619	// Specifies the origin of this event - a cluster, a parameter group, a node
3620	// ID, etc.
3621	SourceType *string `type:"string" enum:"SourceType"`
3622}
3623
3624// String returns the string representation
3625func (s Event) String() string {
3626	return awsutil.Prettify(s)
3627}
3628
3629// GoString returns the string representation
3630func (s Event) GoString() string {
3631	return s.String()
3632}
3633
3634// SetDate sets the Date field's value.
3635func (s *Event) SetDate(v time.Time) *Event {
3636	s.Date = &v
3637	return s
3638}
3639
3640// SetMessage sets the Message field's value.
3641func (s *Event) SetMessage(v string) *Event {
3642	s.Message = &v
3643	return s
3644}
3645
3646// SetSourceName sets the SourceName field's value.
3647func (s *Event) SetSourceName(v string) *Event {
3648	s.SourceName = &v
3649	return s
3650}
3651
3652// SetSourceType sets the SourceType field's value.
3653func (s *Event) SetSourceType(v string) *Event {
3654	s.SourceType = &v
3655	return s
3656}
3657
3658type IncreaseReplicationFactorInput struct {
3659	_ struct{} `type:"structure"`
3660
3661	// The Availability Zones (AZs) in which the cluster nodes will be created.
3662	// All nodes belonging to the cluster are placed in these Availability Zones.
3663	// Use this parameter if you want to distribute the nodes across multiple AZs.
3664	AvailabilityZones []*string `type:"list"`
3665
3666	// The name of the DAX cluster that will receive additional nodes.
3667	//
3668	// ClusterName is a required field
3669	ClusterName *string `type:"string" required:"true"`
3670
3671	// The new number of nodes for the DAX cluster.
3672	//
3673	// NewReplicationFactor is a required field
3674	NewReplicationFactor *int64 `type:"integer" required:"true"`
3675}
3676
3677// String returns the string representation
3678func (s IncreaseReplicationFactorInput) String() string {
3679	return awsutil.Prettify(s)
3680}
3681
3682// GoString returns the string representation
3683func (s IncreaseReplicationFactorInput) GoString() string {
3684	return s.String()
3685}
3686
3687// Validate inspects the fields of the type to determine if they are valid.
3688func (s *IncreaseReplicationFactorInput) Validate() error {
3689	invalidParams := request.ErrInvalidParams{Context: "IncreaseReplicationFactorInput"}
3690	if s.ClusterName == nil {
3691		invalidParams.Add(request.NewErrParamRequired("ClusterName"))
3692	}
3693	if s.NewReplicationFactor == nil {
3694		invalidParams.Add(request.NewErrParamRequired("NewReplicationFactor"))
3695	}
3696
3697	if invalidParams.Len() > 0 {
3698		return invalidParams
3699	}
3700	return nil
3701}
3702
3703// SetAvailabilityZones sets the AvailabilityZones field's value.
3704func (s *IncreaseReplicationFactorInput) SetAvailabilityZones(v []*string) *IncreaseReplicationFactorInput {
3705	s.AvailabilityZones = v
3706	return s
3707}
3708
3709// SetClusterName sets the ClusterName field's value.
3710func (s *IncreaseReplicationFactorInput) SetClusterName(v string) *IncreaseReplicationFactorInput {
3711	s.ClusterName = &v
3712	return s
3713}
3714
3715// SetNewReplicationFactor sets the NewReplicationFactor field's value.
3716func (s *IncreaseReplicationFactorInput) SetNewReplicationFactor(v int64) *IncreaseReplicationFactorInput {
3717	s.NewReplicationFactor = &v
3718	return s
3719}
3720
3721type IncreaseReplicationFactorOutput struct {
3722	_ struct{} `type:"structure"`
3723
3724	// A description of the DAX cluster. with its new replication factor.
3725	Cluster *Cluster `type:"structure"`
3726}
3727
3728// String returns the string representation
3729func (s IncreaseReplicationFactorOutput) String() string {
3730	return awsutil.Prettify(s)
3731}
3732
3733// GoString returns the string representation
3734func (s IncreaseReplicationFactorOutput) GoString() string {
3735	return s.String()
3736}
3737
3738// SetCluster sets the Cluster field's value.
3739func (s *IncreaseReplicationFactorOutput) SetCluster(v *Cluster) *IncreaseReplicationFactorOutput {
3740	s.Cluster = v
3741	return s
3742}
3743
3744// There are not enough system resources to create the cluster you requested
3745// (or to resize an already-existing cluster).
3746type InsufficientClusterCapacityFault struct {
3747	_            struct{}                  `type:"structure"`
3748	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
3749
3750	Message_ *string `locationName:"message" type:"string"`
3751}
3752
3753// String returns the string representation
3754func (s InsufficientClusterCapacityFault) String() string {
3755	return awsutil.Prettify(s)
3756}
3757
3758// GoString returns the string representation
3759func (s InsufficientClusterCapacityFault) GoString() string {
3760	return s.String()
3761}
3762
3763func newErrorInsufficientClusterCapacityFault(v protocol.ResponseMetadata) error {
3764	return &InsufficientClusterCapacityFault{
3765		RespMetadata: v,
3766	}
3767}
3768
3769// Code returns the exception type name.
3770func (s *InsufficientClusterCapacityFault) Code() string {
3771	return "InsufficientClusterCapacityFault"
3772}
3773
3774// Message returns the exception's message.
3775func (s *InsufficientClusterCapacityFault) Message() string {
3776	if s.Message_ != nil {
3777		return *s.Message_
3778	}
3779	return ""
3780}
3781
3782// OrigErr always returns nil, satisfies awserr.Error interface.
3783func (s *InsufficientClusterCapacityFault) OrigErr() error {
3784	return nil
3785}
3786
3787func (s *InsufficientClusterCapacityFault) Error() string {
3788	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
3789}
3790
3791// Status code returns the HTTP status code for the request's response error.
3792func (s *InsufficientClusterCapacityFault) StatusCode() int {
3793	return s.RespMetadata.StatusCode
3794}
3795
3796// RequestID returns the service's response RequestID for request.
3797func (s *InsufficientClusterCapacityFault) RequestID() string {
3798	return s.RespMetadata.RequestID
3799}
3800
3801// The Amazon Resource Name (ARN) supplied in the request is not valid.
3802type InvalidARNFault struct {
3803	_            struct{}                  `type:"structure"`
3804	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
3805
3806	Message_ *string `locationName:"message" type:"string"`
3807}
3808
3809// String returns the string representation
3810func (s InvalidARNFault) String() string {
3811	return awsutil.Prettify(s)
3812}
3813
3814// GoString returns the string representation
3815func (s InvalidARNFault) GoString() string {
3816	return s.String()
3817}
3818
3819func newErrorInvalidARNFault(v protocol.ResponseMetadata) error {
3820	return &InvalidARNFault{
3821		RespMetadata: v,
3822	}
3823}
3824
3825// Code returns the exception type name.
3826func (s *InvalidARNFault) Code() string {
3827	return "InvalidARNFault"
3828}
3829
3830// Message returns the exception's message.
3831func (s *InvalidARNFault) Message() string {
3832	if s.Message_ != nil {
3833		return *s.Message_
3834	}
3835	return ""
3836}
3837
3838// OrigErr always returns nil, satisfies awserr.Error interface.
3839func (s *InvalidARNFault) OrigErr() error {
3840	return nil
3841}
3842
3843func (s *InvalidARNFault) Error() string {
3844	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
3845}
3846
3847// Status code returns the HTTP status code for the request's response error.
3848func (s *InvalidARNFault) StatusCode() int {
3849	return s.RespMetadata.StatusCode
3850}
3851
3852// RequestID returns the service's response RequestID for request.
3853func (s *InvalidARNFault) RequestID() string {
3854	return s.RespMetadata.RequestID
3855}
3856
3857// The requested DAX cluster is not in the available state.
3858type InvalidClusterStateFault struct {
3859	_            struct{}                  `type:"structure"`
3860	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
3861
3862	Message_ *string `locationName:"message" type:"string"`
3863}
3864
3865// String returns the string representation
3866func (s InvalidClusterStateFault) String() string {
3867	return awsutil.Prettify(s)
3868}
3869
3870// GoString returns the string representation
3871func (s InvalidClusterStateFault) GoString() string {
3872	return s.String()
3873}
3874
3875func newErrorInvalidClusterStateFault(v protocol.ResponseMetadata) error {
3876	return &InvalidClusterStateFault{
3877		RespMetadata: v,
3878	}
3879}
3880
3881// Code returns the exception type name.
3882func (s *InvalidClusterStateFault) Code() string {
3883	return "InvalidClusterStateFault"
3884}
3885
3886// Message returns the exception's message.
3887func (s *InvalidClusterStateFault) Message() string {
3888	if s.Message_ != nil {
3889		return *s.Message_
3890	}
3891	return ""
3892}
3893
3894// OrigErr always returns nil, satisfies awserr.Error interface.
3895func (s *InvalidClusterStateFault) OrigErr() error {
3896	return nil
3897}
3898
3899func (s *InvalidClusterStateFault) Error() string {
3900	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
3901}
3902
3903// Status code returns the HTTP status code for the request's response error.
3904func (s *InvalidClusterStateFault) StatusCode() int {
3905	return s.RespMetadata.StatusCode
3906}
3907
3908// RequestID returns the service's response RequestID for request.
3909func (s *InvalidClusterStateFault) RequestID() string {
3910	return s.RespMetadata.RequestID
3911}
3912
3913// Two or more incompatible parameters were specified.
3914type InvalidParameterCombinationException struct {
3915	_            struct{}                  `type:"structure"`
3916	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
3917
3918	Message_ *string `locationName:"message" type:"string"`
3919}
3920
3921// String returns the string representation
3922func (s InvalidParameterCombinationException) String() string {
3923	return awsutil.Prettify(s)
3924}
3925
3926// GoString returns the string representation
3927func (s InvalidParameterCombinationException) GoString() string {
3928	return s.String()
3929}
3930
3931func newErrorInvalidParameterCombinationException(v protocol.ResponseMetadata) error {
3932	return &InvalidParameterCombinationException{
3933		RespMetadata: v,
3934	}
3935}
3936
3937// Code returns the exception type name.
3938func (s *InvalidParameterCombinationException) Code() string {
3939	return "InvalidParameterCombinationException"
3940}
3941
3942// Message returns the exception's message.
3943func (s *InvalidParameterCombinationException) Message() string {
3944	if s.Message_ != nil {
3945		return *s.Message_
3946	}
3947	return ""
3948}
3949
3950// OrigErr always returns nil, satisfies awserr.Error interface.
3951func (s *InvalidParameterCombinationException) OrigErr() error {
3952	return nil
3953}
3954
3955func (s *InvalidParameterCombinationException) Error() string {
3956	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
3957}
3958
3959// Status code returns the HTTP status code for the request's response error.
3960func (s *InvalidParameterCombinationException) StatusCode() int {
3961	return s.RespMetadata.StatusCode
3962}
3963
3964// RequestID returns the service's response RequestID for request.
3965func (s *InvalidParameterCombinationException) RequestID() string {
3966	return s.RespMetadata.RequestID
3967}
3968
3969// One or more parameters in a parameter group are in an invalid state.
3970type InvalidParameterGroupStateFault struct {
3971	_            struct{}                  `type:"structure"`
3972	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
3973
3974	Message_ *string `locationName:"message" type:"string"`
3975}
3976
3977// String returns the string representation
3978func (s InvalidParameterGroupStateFault) String() string {
3979	return awsutil.Prettify(s)
3980}
3981
3982// GoString returns the string representation
3983func (s InvalidParameterGroupStateFault) GoString() string {
3984	return s.String()
3985}
3986
3987func newErrorInvalidParameterGroupStateFault(v protocol.ResponseMetadata) error {
3988	return &InvalidParameterGroupStateFault{
3989		RespMetadata: v,
3990	}
3991}
3992
3993// Code returns the exception type name.
3994func (s *InvalidParameterGroupStateFault) Code() string {
3995	return "InvalidParameterGroupStateFault"
3996}
3997
3998// Message returns the exception's message.
3999func (s *InvalidParameterGroupStateFault) Message() string {
4000	if s.Message_ != nil {
4001		return *s.Message_
4002	}
4003	return ""
4004}
4005
4006// OrigErr always returns nil, satisfies awserr.Error interface.
4007func (s *InvalidParameterGroupStateFault) OrigErr() error {
4008	return nil
4009}
4010
4011func (s *InvalidParameterGroupStateFault) Error() string {
4012	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4013}
4014
4015// Status code returns the HTTP status code for the request's response error.
4016func (s *InvalidParameterGroupStateFault) StatusCode() int {
4017	return s.RespMetadata.StatusCode
4018}
4019
4020// RequestID returns the service's response RequestID for request.
4021func (s *InvalidParameterGroupStateFault) RequestID() string {
4022	return s.RespMetadata.RequestID
4023}
4024
4025// The value for a parameter is invalid.
4026type InvalidParameterValueException struct {
4027	_            struct{}                  `type:"structure"`
4028	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4029
4030	Message_ *string `locationName:"message" type:"string"`
4031}
4032
4033// String returns the string representation
4034func (s InvalidParameterValueException) String() string {
4035	return awsutil.Prettify(s)
4036}
4037
4038// GoString returns the string representation
4039func (s InvalidParameterValueException) GoString() string {
4040	return s.String()
4041}
4042
4043func newErrorInvalidParameterValueException(v protocol.ResponseMetadata) error {
4044	return &InvalidParameterValueException{
4045		RespMetadata: v,
4046	}
4047}
4048
4049// Code returns the exception type name.
4050func (s *InvalidParameterValueException) Code() string {
4051	return "InvalidParameterValueException"
4052}
4053
4054// Message returns the exception's message.
4055func (s *InvalidParameterValueException) Message() string {
4056	if s.Message_ != nil {
4057		return *s.Message_
4058	}
4059	return ""
4060}
4061
4062// OrigErr always returns nil, satisfies awserr.Error interface.
4063func (s *InvalidParameterValueException) OrigErr() error {
4064	return nil
4065}
4066
4067func (s *InvalidParameterValueException) Error() string {
4068	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4069}
4070
4071// Status code returns the HTTP status code for the request's response error.
4072func (s *InvalidParameterValueException) StatusCode() int {
4073	return s.RespMetadata.StatusCode
4074}
4075
4076// RequestID returns the service's response RequestID for request.
4077func (s *InvalidParameterValueException) RequestID() string {
4078	return s.RespMetadata.RequestID
4079}
4080
4081// An invalid subnet identifier was specified.
4082type InvalidSubnet struct {
4083	_            struct{}                  `type:"structure"`
4084	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4085
4086	Message_ *string `locationName:"message" type:"string"`
4087}
4088
4089// String returns the string representation
4090func (s InvalidSubnet) String() string {
4091	return awsutil.Prettify(s)
4092}
4093
4094// GoString returns the string representation
4095func (s InvalidSubnet) GoString() string {
4096	return s.String()
4097}
4098
4099func newErrorInvalidSubnet(v protocol.ResponseMetadata) error {
4100	return &InvalidSubnet{
4101		RespMetadata: v,
4102	}
4103}
4104
4105// Code returns the exception type name.
4106func (s *InvalidSubnet) Code() string {
4107	return "InvalidSubnet"
4108}
4109
4110// Message returns the exception's message.
4111func (s *InvalidSubnet) Message() string {
4112	if s.Message_ != nil {
4113		return *s.Message_
4114	}
4115	return ""
4116}
4117
4118// OrigErr always returns nil, satisfies awserr.Error interface.
4119func (s *InvalidSubnet) OrigErr() error {
4120	return nil
4121}
4122
4123func (s *InvalidSubnet) Error() string {
4124	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4125}
4126
4127// Status code returns the HTTP status code for the request's response error.
4128func (s *InvalidSubnet) StatusCode() int {
4129	return s.RespMetadata.StatusCode
4130}
4131
4132// RequestID returns the service's response RequestID for request.
4133func (s *InvalidSubnet) RequestID() string {
4134	return s.RespMetadata.RequestID
4135}
4136
4137// The VPC network is in an invalid state.
4138type InvalidVPCNetworkStateFault struct {
4139	_            struct{}                  `type:"structure"`
4140	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4141
4142	Message_ *string `locationName:"message" type:"string"`
4143}
4144
4145// String returns the string representation
4146func (s InvalidVPCNetworkStateFault) String() string {
4147	return awsutil.Prettify(s)
4148}
4149
4150// GoString returns the string representation
4151func (s InvalidVPCNetworkStateFault) GoString() string {
4152	return s.String()
4153}
4154
4155func newErrorInvalidVPCNetworkStateFault(v protocol.ResponseMetadata) error {
4156	return &InvalidVPCNetworkStateFault{
4157		RespMetadata: v,
4158	}
4159}
4160
4161// Code returns the exception type name.
4162func (s *InvalidVPCNetworkStateFault) Code() string {
4163	return "InvalidVPCNetworkStateFault"
4164}
4165
4166// Message returns the exception's message.
4167func (s *InvalidVPCNetworkStateFault) Message() string {
4168	if s.Message_ != nil {
4169		return *s.Message_
4170	}
4171	return ""
4172}
4173
4174// OrigErr always returns nil, satisfies awserr.Error interface.
4175func (s *InvalidVPCNetworkStateFault) OrigErr() error {
4176	return nil
4177}
4178
4179func (s *InvalidVPCNetworkStateFault) Error() string {
4180	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4181}
4182
4183// Status code returns the HTTP status code for the request's response error.
4184func (s *InvalidVPCNetworkStateFault) StatusCode() int {
4185	return s.RespMetadata.StatusCode
4186}
4187
4188// RequestID returns the service's response RequestID for request.
4189func (s *InvalidVPCNetworkStateFault) RequestID() string {
4190	return s.RespMetadata.RequestID
4191}
4192
4193type ListTagsInput struct {
4194	_ struct{} `type:"structure"`
4195
4196	// An optional token returned from a prior request. Use this token for pagination
4197	// of results from this action. If this parameter is specified, the response
4198	// includes only results beyond the token.
4199	NextToken *string `type:"string"`
4200
4201	// The name of the DAX resource to which the tags belong.
4202	//
4203	// ResourceName is a required field
4204	ResourceName *string `type:"string" required:"true"`
4205}
4206
4207// String returns the string representation
4208func (s ListTagsInput) String() string {
4209	return awsutil.Prettify(s)
4210}
4211
4212// GoString returns the string representation
4213func (s ListTagsInput) GoString() string {
4214	return s.String()
4215}
4216
4217// Validate inspects the fields of the type to determine if they are valid.
4218func (s *ListTagsInput) Validate() error {
4219	invalidParams := request.ErrInvalidParams{Context: "ListTagsInput"}
4220	if s.ResourceName == nil {
4221		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
4222	}
4223
4224	if invalidParams.Len() > 0 {
4225		return invalidParams
4226	}
4227	return nil
4228}
4229
4230// SetNextToken sets the NextToken field's value.
4231func (s *ListTagsInput) SetNextToken(v string) *ListTagsInput {
4232	s.NextToken = &v
4233	return s
4234}
4235
4236// SetResourceName sets the ResourceName field's value.
4237func (s *ListTagsInput) SetResourceName(v string) *ListTagsInput {
4238	s.ResourceName = &v
4239	return s
4240}
4241
4242type ListTagsOutput struct {
4243	_ struct{} `type:"structure"`
4244
4245	// If this value is present, there are additional results to be displayed. To
4246	// retrieve them, call ListTags again, with NextToken set to this value.
4247	NextToken *string `type:"string"`
4248
4249	// A list of tags currently associated with the DAX cluster.
4250	Tags []*Tag `type:"list"`
4251}
4252
4253// String returns the string representation
4254func (s ListTagsOutput) String() string {
4255	return awsutil.Prettify(s)
4256}
4257
4258// GoString returns the string representation
4259func (s ListTagsOutput) GoString() string {
4260	return s.String()
4261}
4262
4263// SetNextToken sets the NextToken field's value.
4264func (s *ListTagsOutput) SetNextToken(v string) *ListTagsOutput {
4265	s.NextToken = &v
4266	return s
4267}
4268
4269// SetTags sets the Tags field's value.
4270func (s *ListTagsOutput) SetTags(v []*Tag) *ListTagsOutput {
4271	s.Tags = v
4272	return s
4273}
4274
4275// Represents an individual node within a DAX cluster.
4276type Node struct {
4277	_ struct{} `type:"structure"`
4278
4279	// The Availability Zone (AZ) in which the node has been deployed.
4280	AvailabilityZone *string `type:"string"`
4281
4282	// The endpoint for the node, consisting of a DNS name and a port number. Client
4283	// applications can connect directly to a node endpoint, if desired (as an alternative
4284	// to allowing DAX client software to intelligently route requests and responses
4285	// to nodes in the DAX cluster.
4286	Endpoint *Endpoint `type:"structure"`
4287
4288	// The date and time (in UNIX epoch format) when the node was launched.
4289	NodeCreateTime *time.Time `type:"timestamp"`
4290
4291	// A system-generated identifier for the node.
4292	NodeId *string `type:"string"`
4293
4294	// The current status of the node. For example: available.
4295	NodeStatus *string `type:"string"`
4296
4297	// The status of the parameter group associated with this node. For example,
4298	// in-sync.
4299	ParameterGroupStatus *string `type:"string"`
4300}
4301
4302// String returns the string representation
4303func (s Node) String() string {
4304	return awsutil.Prettify(s)
4305}
4306
4307// GoString returns the string representation
4308func (s Node) GoString() string {
4309	return s.String()
4310}
4311
4312// SetAvailabilityZone sets the AvailabilityZone field's value.
4313func (s *Node) SetAvailabilityZone(v string) *Node {
4314	s.AvailabilityZone = &v
4315	return s
4316}
4317
4318// SetEndpoint sets the Endpoint field's value.
4319func (s *Node) SetEndpoint(v *Endpoint) *Node {
4320	s.Endpoint = v
4321	return s
4322}
4323
4324// SetNodeCreateTime sets the NodeCreateTime field's value.
4325func (s *Node) SetNodeCreateTime(v time.Time) *Node {
4326	s.NodeCreateTime = &v
4327	return s
4328}
4329
4330// SetNodeId sets the NodeId field's value.
4331func (s *Node) SetNodeId(v string) *Node {
4332	s.NodeId = &v
4333	return s
4334}
4335
4336// SetNodeStatus sets the NodeStatus field's value.
4337func (s *Node) SetNodeStatus(v string) *Node {
4338	s.NodeStatus = &v
4339	return s
4340}
4341
4342// SetParameterGroupStatus sets the ParameterGroupStatus field's value.
4343func (s *Node) SetParameterGroupStatus(v string) *Node {
4344	s.ParameterGroupStatus = &v
4345	return s
4346}
4347
4348// None of the nodes in the cluster have the given node ID.
4349type NodeNotFoundFault struct {
4350	_            struct{}                  `type:"structure"`
4351	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4352
4353	Message_ *string `locationName:"message" type:"string"`
4354}
4355
4356// String returns the string representation
4357func (s NodeNotFoundFault) String() string {
4358	return awsutil.Prettify(s)
4359}
4360
4361// GoString returns the string representation
4362func (s NodeNotFoundFault) GoString() string {
4363	return s.String()
4364}
4365
4366func newErrorNodeNotFoundFault(v protocol.ResponseMetadata) error {
4367	return &NodeNotFoundFault{
4368		RespMetadata: v,
4369	}
4370}
4371
4372// Code returns the exception type name.
4373func (s *NodeNotFoundFault) Code() string {
4374	return "NodeNotFoundFault"
4375}
4376
4377// Message returns the exception's message.
4378func (s *NodeNotFoundFault) Message() string {
4379	if s.Message_ != nil {
4380		return *s.Message_
4381	}
4382	return ""
4383}
4384
4385// OrigErr always returns nil, satisfies awserr.Error interface.
4386func (s *NodeNotFoundFault) OrigErr() error {
4387	return nil
4388}
4389
4390func (s *NodeNotFoundFault) Error() string {
4391	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4392}
4393
4394// Status code returns the HTTP status code for the request's response error.
4395func (s *NodeNotFoundFault) StatusCode() int {
4396	return s.RespMetadata.StatusCode
4397}
4398
4399// RequestID returns the service's response RequestID for request.
4400func (s *NodeNotFoundFault) RequestID() string {
4401	return s.RespMetadata.RequestID
4402}
4403
4404// You have attempted to exceed the maximum number of nodes for a DAX cluster.
4405type NodeQuotaForClusterExceededFault struct {
4406	_            struct{}                  `type:"structure"`
4407	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4408
4409	Message_ *string `locationName:"message" type:"string"`
4410}
4411
4412// String returns the string representation
4413func (s NodeQuotaForClusterExceededFault) String() string {
4414	return awsutil.Prettify(s)
4415}
4416
4417// GoString returns the string representation
4418func (s NodeQuotaForClusterExceededFault) GoString() string {
4419	return s.String()
4420}
4421
4422func newErrorNodeQuotaForClusterExceededFault(v protocol.ResponseMetadata) error {
4423	return &NodeQuotaForClusterExceededFault{
4424		RespMetadata: v,
4425	}
4426}
4427
4428// Code returns the exception type name.
4429func (s *NodeQuotaForClusterExceededFault) Code() string {
4430	return "NodeQuotaForClusterExceededFault"
4431}
4432
4433// Message returns the exception's message.
4434func (s *NodeQuotaForClusterExceededFault) Message() string {
4435	if s.Message_ != nil {
4436		return *s.Message_
4437	}
4438	return ""
4439}
4440
4441// OrigErr always returns nil, satisfies awserr.Error interface.
4442func (s *NodeQuotaForClusterExceededFault) OrigErr() error {
4443	return nil
4444}
4445
4446func (s *NodeQuotaForClusterExceededFault) Error() string {
4447	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4448}
4449
4450// Status code returns the HTTP status code for the request's response error.
4451func (s *NodeQuotaForClusterExceededFault) StatusCode() int {
4452	return s.RespMetadata.StatusCode
4453}
4454
4455// RequestID returns the service's response RequestID for request.
4456func (s *NodeQuotaForClusterExceededFault) RequestID() string {
4457	return s.RespMetadata.RequestID
4458}
4459
4460// You have attempted to exceed the maximum number of nodes for your AWS account.
4461type NodeQuotaForCustomerExceededFault struct {
4462	_            struct{}                  `type:"structure"`
4463	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4464
4465	Message_ *string `locationName:"message" type:"string"`
4466}
4467
4468// String returns the string representation
4469func (s NodeQuotaForCustomerExceededFault) String() string {
4470	return awsutil.Prettify(s)
4471}
4472
4473// GoString returns the string representation
4474func (s NodeQuotaForCustomerExceededFault) GoString() string {
4475	return s.String()
4476}
4477
4478func newErrorNodeQuotaForCustomerExceededFault(v protocol.ResponseMetadata) error {
4479	return &NodeQuotaForCustomerExceededFault{
4480		RespMetadata: v,
4481	}
4482}
4483
4484// Code returns the exception type name.
4485func (s *NodeQuotaForCustomerExceededFault) Code() string {
4486	return "NodeQuotaForCustomerExceededFault"
4487}
4488
4489// Message returns the exception's message.
4490func (s *NodeQuotaForCustomerExceededFault) Message() string {
4491	if s.Message_ != nil {
4492		return *s.Message_
4493	}
4494	return ""
4495}
4496
4497// OrigErr always returns nil, satisfies awserr.Error interface.
4498func (s *NodeQuotaForCustomerExceededFault) OrigErr() error {
4499	return nil
4500}
4501
4502func (s *NodeQuotaForCustomerExceededFault) Error() string {
4503	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4504}
4505
4506// Status code returns the HTTP status code for the request's response error.
4507func (s *NodeQuotaForCustomerExceededFault) StatusCode() int {
4508	return s.RespMetadata.StatusCode
4509}
4510
4511// RequestID returns the service's response RequestID for request.
4512func (s *NodeQuotaForCustomerExceededFault) RequestID() string {
4513	return s.RespMetadata.RequestID
4514}
4515
4516// Represents a parameter value that is applicable to a particular node type.
4517type NodeTypeSpecificValue struct {
4518	_ struct{} `type:"structure"`
4519
4520	// A node type to which the parameter value applies.
4521	NodeType *string `type:"string"`
4522
4523	// The parameter value for this node type.
4524	Value *string `type:"string"`
4525}
4526
4527// String returns the string representation
4528func (s NodeTypeSpecificValue) String() string {
4529	return awsutil.Prettify(s)
4530}
4531
4532// GoString returns the string representation
4533func (s NodeTypeSpecificValue) GoString() string {
4534	return s.String()
4535}
4536
4537// SetNodeType sets the NodeType field's value.
4538func (s *NodeTypeSpecificValue) SetNodeType(v string) *NodeTypeSpecificValue {
4539	s.NodeType = &v
4540	return s
4541}
4542
4543// SetValue sets the Value field's value.
4544func (s *NodeTypeSpecificValue) SetValue(v string) *NodeTypeSpecificValue {
4545	s.Value = &v
4546	return s
4547}
4548
4549// Describes a notification topic and its status. Notification topics are used
4550// for publishing DAX events to subscribers using Amazon Simple Notification
4551// Service (SNS).
4552type NotificationConfiguration struct {
4553	_ struct{} `type:"structure"`
4554
4555	// The Amazon Resource Name (ARN) that identifies the topic.
4556	TopicArn *string `type:"string"`
4557
4558	// The current state of the topic.
4559	TopicStatus *string `type:"string"`
4560}
4561
4562// String returns the string representation
4563func (s NotificationConfiguration) String() string {
4564	return awsutil.Prettify(s)
4565}
4566
4567// GoString returns the string representation
4568func (s NotificationConfiguration) GoString() string {
4569	return s.String()
4570}
4571
4572// SetTopicArn sets the TopicArn field's value.
4573func (s *NotificationConfiguration) SetTopicArn(v string) *NotificationConfiguration {
4574	s.TopicArn = &v
4575	return s
4576}
4577
4578// SetTopicStatus sets the TopicStatus field's value.
4579func (s *NotificationConfiguration) SetTopicStatus(v string) *NotificationConfiguration {
4580	s.TopicStatus = &v
4581	return s
4582}
4583
4584// Describes an individual setting that controls some aspect of DAX behavior.
4585type Parameter struct {
4586	_ struct{} `type:"structure"`
4587
4588	// A range of values within which the parameter can be set.
4589	AllowedValues *string `type:"string"`
4590
4591	// The conditions under which changes to this parameter can be applied. For
4592	// example, requires-reboot indicates that a new value for this parameter will
4593	// only take effect if a node is rebooted.
4594	ChangeType *string `type:"string" enum:"ChangeType"`
4595
4596	// The data type of the parameter. For example, integer:
4597	DataType *string `type:"string"`
4598
4599	// A description of the parameter
4600	Description *string `type:"string"`
4601
4602	// Whether the customer is allowed to modify the parameter.
4603	IsModifiable *string `type:"string" enum:"IsModifiable"`
4604
4605	// A list of node types, and specific parameter values for each node.
4606	NodeTypeSpecificValues []*NodeTypeSpecificValue `type:"list"`
4607
4608	// The name of the parameter.
4609	ParameterName *string `type:"string"`
4610
4611	// Determines whether the parameter can be applied to any nodes, or only nodes
4612	// of a particular type.
4613	ParameterType *string `type:"string" enum:"ParameterType"`
4614
4615	// The value for the parameter.
4616	ParameterValue *string `type:"string"`
4617
4618	// How the parameter is defined. For example, system denotes a system-defined
4619	// parameter.
4620	Source *string `type:"string"`
4621}
4622
4623// String returns the string representation
4624func (s Parameter) String() string {
4625	return awsutil.Prettify(s)
4626}
4627
4628// GoString returns the string representation
4629func (s Parameter) GoString() string {
4630	return s.String()
4631}
4632
4633// SetAllowedValues sets the AllowedValues field's value.
4634func (s *Parameter) SetAllowedValues(v string) *Parameter {
4635	s.AllowedValues = &v
4636	return s
4637}
4638
4639// SetChangeType sets the ChangeType field's value.
4640func (s *Parameter) SetChangeType(v string) *Parameter {
4641	s.ChangeType = &v
4642	return s
4643}
4644
4645// SetDataType sets the DataType field's value.
4646func (s *Parameter) SetDataType(v string) *Parameter {
4647	s.DataType = &v
4648	return s
4649}
4650
4651// SetDescription sets the Description field's value.
4652func (s *Parameter) SetDescription(v string) *Parameter {
4653	s.Description = &v
4654	return s
4655}
4656
4657// SetIsModifiable sets the IsModifiable field's value.
4658func (s *Parameter) SetIsModifiable(v string) *Parameter {
4659	s.IsModifiable = &v
4660	return s
4661}
4662
4663// SetNodeTypeSpecificValues sets the NodeTypeSpecificValues field's value.
4664func (s *Parameter) SetNodeTypeSpecificValues(v []*NodeTypeSpecificValue) *Parameter {
4665	s.NodeTypeSpecificValues = v
4666	return s
4667}
4668
4669// SetParameterName sets the ParameterName field's value.
4670func (s *Parameter) SetParameterName(v string) *Parameter {
4671	s.ParameterName = &v
4672	return s
4673}
4674
4675// SetParameterType sets the ParameterType field's value.
4676func (s *Parameter) SetParameterType(v string) *Parameter {
4677	s.ParameterType = &v
4678	return s
4679}
4680
4681// SetParameterValue sets the ParameterValue field's value.
4682func (s *Parameter) SetParameterValue(v string) *Parameter {
4683	s.ParameterValue = &v
4684	return s
4685}
4686
4687// SetSource sets the Source field's value.
4688func (s *Parameter) SetSource(v string) *Parameter {
4689	s.Source = &v
4690	return s
4691}
4692
4693// A named set of parameters that are applied to all of the nodes in a DAX cluster.
4694type ParameterGroup struct {
4695	_ struct{} `type:"structure"`
4696
4697	// A description of the parameter group.
4698	Description *string `type:"string"`
4699
4700	// The name of the parameter group.
4701	ParameterGroupName *string `type:"string"`
4702}
4703
4704// String returns the string representation
4705func (s ParameterGroup) String() string {
4706	return awsutil.Prettify(s)
4707}
4708
4709// GoString returns the string representation
4710func (s ParameterGroup) GoString() string {
4711	return s.String()
4712}
4713
4714// SetDescription sets the Description field's value.
4715func (s *ParameterGroup) SetDescription(v string) *ParameterGroup {
4716	s.Description = &v
4717	return s
4718}
4719
4720// SetParameterGroupName sets the ParameterGroupName field's value.
4721func (s *ParameterGroup) SetParameterGroupName(v string) *ParameterGroup {
4722	s.ParameterGroupName = &v
4723	return s
4724}
4725
4726// The specified parameter group already exists.
4727type ParameterGroupAlreadyExistsFault struct {
4728	_            struct{}                  `type:"structure"`
4729	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4730
4731	Message_ *string `locationName:"message" type:"string"`
4732}
4733
4734// String returns the string representation
4735func (s ParameterGroupAlreadyExistsFault) String() string {
4736	return awsutil.Prettify(s)
4737}
4738
4739// GoString returns the string representation
4740func (s ParameterGroupAlreadyExistsFault) GoString() string {
4741	return s.String()
4742}
4743
4744func newErrorParameterGroupAlreadyExistsFault(v protocol.ResponseMetadata) error {
4745	return &ParameterGroupAlreadyExistsFault{
4746		RespMetadata: v,
4747	}
4748}
4749
4750// Code returns the exception type name.
4751func (s *ParameterGroupAlreadyExistsFault) Code() string {
4752	return "ParameterGroupAlreadyExistsFault"
4753}
4754
4755// Message returns the exception's message.
4756func (s *ParameterGroupAlreadyExistsFault) Message() string {
4757	if s.Message_ != nil {
4758		return *s.Message_
4759	}
4760	return ""
4761}
4762
4763// OrigErr always returns nil, satisfies awserr.Error interface.
4764func (s *ParameterGroupAlreadyExistsFault) OrigErr() error {
4765	return nil
4766}
4767
4768func (s *ParameterGroupAlreadyExistsFault) Error() string {
4769	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4770}
4771
4772// Status code returns the HTTP status code for the request's response error.
4773func (s *ParameterGroupAlreadyExistsFault) StatusCode() int {
4774	return s.RespMetadata.StatusCode
4775}
4776
4777// RequestID returns the service's response RequestID for request.
4778func (s *ParameterGroupAlreadyExistsFault) RequestID() string {
4779	return s.RespMetadata.RequestID
4780}
4781
4782// The specified parameter group does not exist.
4783type ParameterGroupNotFoundFault struct {
4784	_            struct{}                  `type:"structure"`
4785	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4786
4787	Message_ *string `locationName:"message" type:"string"`
4788}
4789
4790// String returns the string representation
4791func (s ParameterGroupNotFoundFault) String() string {
4792	return awsutil.Prettify(s)
4793}
4794
4795// GoString returns the string representation
4796func (s ParameterGroupNotFoundFault) GoString() string {
4797	return s.String()
4798}
4799
4800func newErrorParameterGroupNotFoundFault(v protocol.ResponseMetadata) error {
4801	return &ParameterGroupNotFoundFault{
4802		RespMetadata: v,
4803	}
4804}
4805
4806// Code returns the exception type name.
4807func (s *ParameterGroupNotFoundFault) Code() string {
4808	return "ParameterGroupNotFoundFault"
4809}
4810
4811// Message returns the exception's message.
4812func (s *ParameterGroupNotFoundFault) Message() string {
4813	if s.Message_ != nil {
4814		return *s.Message_
4815	}
4816	return ""
4817}
4818
4819// OrigErr always returns nil, satisfies awserr.Error interface.
4820func (s *ParameterGroupNotFoundFault) OrigErr() error {
4821	return nil
4822}
4823
4824func (s *ParameterGroupNotFoundFault) Error() string {
4825	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4826}
4827
4828// Status code returns the HTTP status code for the request's response error.
4829func (s *ParameterGroupNotFoundFault) StatusCode() int {
4830	return s.RespMetadata.StatusCode
4831}
4832
4833// RequestID returns the service's response RequestID for request.
4834func (s *ParameterGroupNotFoundFault) RequestID() string {
4835	return s.RespMetadata.RequestID
4836}
4837
4838// You have attempted to exceed the maximum number of parameter groups.
4839type ParameterGroupQuotaExceededFault struct {
4840	_            struct{}                  `type:"structure"`
4841	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4842
4843	Message_ *string `locationName:"message" type:"string"`
4844}
4845
4846// String returns the string representation
4847func (s ParameterGroupQuotaExceededFault) String() string {
4848	return awsutil.Prettify(s)
4849}
4850
4851// GoString returns the string representation
4852func (s ParameterGroupQuotaExceededFault) GoString() string {
4853	return s.String()
4854}
4855
4856func newErrorParameterGroupQuotaExceededFault(v protocol.ResponseMetadata) error {
4857	return &ParameterGroupQuotaExceededFault{
4858		RespMetadata: v,
4859	}
4860}
4861
4862// Code returns the exception type name.
4863func (s *ParameterGroupQuotaExceededFault) Code() string {
4864	return "ParameterGroupQuotaExceededFault"
4865}
4866
4867// Message returns the exception's message.
4868func (s *ParameterGroupQuotaExceededFault) Message() string {
4869	if s.Message_ != nil {
4870		return *s.Message_
4871	}
4872	return ""
4873}
4874
4875// OrigErr always returns nil, satisfies awserr.Error interface.
4876func (s *ParameterGroupQuotaExceededFault) OrigErr() error {
4877	return nil
4878}
4879
4880func (s *ParameterGroupQuotaExceededFault) Error() string {
4881	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4882}
4883
4884// Status code returns the HTTP status code for the request's response error.
4885func (s *ParameterGroupQuotaExceededFault) StatusCode() int {
4886	return s.RespMetadata.StatusCode
4887}
4888
4889// RequestID returns the service's response RequestID for request.
4890func (s *ParameterGroupQuotaExceededFault) RequestID() string {
4891	return s.RespMetadata.RequestID
4892}
4893
4894// The status of a parameter group.
4895type ParameterGroupStatus struct {
4896	_ struct{} `type:"structure"`
4897
4898	// The node IDs of one or more nodes to be rebooted.
4899	NodeIdsToReboot []*string `type:"list"`
4900
4901	// The status of parameter updates.
4902	ParameterApplyStatus *string `type:"string"`
4903
4904	// The name of the parameter group.
4905	ParameterGroupName *string `type:"string"`
4906}
4907
4908// String returns the string representation
4909func (s ParameterGroupStatus) String() string {
4910	return awsutil.Prettify(s)
4911}
4912
4913// GoString returns the string representation
4914func (s ParameterGroupStatus) GoString() string {
4915	return s.String()
4916}
4917
4918// SetNodeIdsToReboot sets the NodeIdsToReboot field's value.
4919func (s *ParameterGroupStatus) SetNodeIdsToReboot(v []*string) *ParameterGroupStatus {
4920	s.NodeIdsToReboot = v
4921	return s
4922}
4923
4924// SetParameterApplyStatus sets the ParameterApplyStatus field's value.
4925func (s *ParameterGroupStatus) SetParameterApplyStatus(v string) *ParameterGroupStatus {
4926	s.ParameterApplyStatus = &v
4927	return s
4928}
4929
4930// SetParameterGroupName sets the ParameterGroupName field's value.
4931func (s *ParameterGroupStatus) SetParameterGroupName(v string) *ParameterGroupStatus {
4932	s.ParameterGroupName = &v
4933	return s
4934}
4935
4936// An individual DAX parameter.
4937type ParameterNameValue struct {
4938	_ struct{} `type:"structure"`
4939
4940	// The name of the parameter.
4941	ParameterName *string `type:"string"`
4942
4943	// The value of the parameter.
4944	ParameterValue *string `type:"string"`
4945}
4946
4947// String returns the string representation
4948func (s ParameterNameValue) String() string {
4949	return awsutil.Prettify(s)
4950}
4951
4952// GoString returns the string representation
4953func (s ParameterNameValue) GoString() string {
4954	return s.String()
4955}
4956
4957// SetParameterName sets the ParameterName field's value.
4958func (s *ParameterNameValue) SetParameterName(v string) *ParameterNameValue {
4959	s.ParameterName = &v
4960	return s
4961}
4962
4963// SetParameterValue sets the ParameterValue field's value.
4964func (s *ParameterNameValue) SetParameterValue(v string) *ParameterNameValue {
4965	s.ParameterValue = &v
4966	return s
4967}
4968
4969type RebootNodeInput struct {
4970	_ struct{} `type:"structure"`
4971
4972	// The name of the DAX cluster containing the node to be rebooted.
4973	//
4974	// ClusterName is a required field
4975	ClusterName *string `type:"string" required:"true"`
4976
4977	// The system-assigned ID of the node to be rebooted.
4978	//
4979	// NodeId is a required field
4980	NodeId *string `type:"string" required:"true"`
4981}
4982
4983// String returns the string representation
4984func (s RebootNodeInput) String() string {
4985	return awsutil.Prettify(s)
4986}
4987
4988// GoString returns the string representation
4989func (s RebootNodeInput) GoString() string {
4990	return s.String()
4991}
4992
4993// Validate inspects the fields of the type to determine if they are valid.
4994func (s *RebootNodeInput) Validate() error {
4995	invalidParams := request.ErrInvalidParams{Context: "RebootNodeInput"}
4996	if s.ClusterName == nil {
4997		invalidParams.Add(request.NewErrParamRequired("ClusterName"))
4998	}
4999	if s.NodeId == nil {
5000		invalidParams.Add(request.NewErrParamRequired("NodeId"))
5001	}
5002
5003	if invalidParams.Len() > 0 {
5004		return invalidParams
5005	}
5006	return nil
5007}
5008
5009// SetClusterName sets the ClusterName field's value.
5010func (s *RebootNodeInput) SetClusterName(v string) *RebootNodeInput {
5011	s.ClusterName = &v
5012	return s
5013}
5014
5015// SetNodeId sets the NodeId field's value.
5016func (s *RebootNodeInput) SetNodeId(v string) *RebootNodeInput {
5017	s.NodeId = &v
5018	return s
5019}
5020
5021type RebootNodeOutput struct {
5022	_ struct{} `type:"structure"`
5023
5024	// A description of the DAX cluster after a node has been rebooted.
5025	Cluster *Cluster `type:"structure"`
5026}
5027
5028// String returns the string representation
5029func (s RebootNodeOutput) String() string {
5030	return awsutil.Prettify(s)
5031}
5032
5033// GoString returns the string representation
5034func (s RebootNodeOutput) GoString() string {
5035	return s.String()
5036}
5037
5038// SetCluster sets the Cluster field's value.
5039func (s *RebootNodeOutput) SetCluster(v *Cluster) *RebootNodeOutput {
5040	s.Cluster = v
5041	return s
5042}
5043
5044// The description of the server-side encryption status on the specified DAX
5045// cluster.
5046type SSEDescription struct {
5047	_ struct{} `type:"structure"`
5048
5049	// The current state of server-side encryption:
5050	//
5051	//    * ENABLING - Server-side encryption is being enabled.
5052	//
5053	//    * ENABLED - Server-side encryption is enabled.
5054	//
5055	//    * DISABLING - Server-side encryption is being disabled.
5056	//
5057	//    * DISABLED - Server-side encryption is disabled.
5058	Status *string `type:"string" enum:"SSEStatus"`
5059}
5060
5061// String returns the string representation
5062func (s SSEDescription) String() string {
5063	return awsutil.Prettify(s)
5064}
5065
5066// GoString returns the string representation
5067func (s SSEDescription) GoString() string {
5068	return s.String()
5069}
5070
5071// SetStatus sets the Status field's value.
5072func (s *SSEDescription) SetStatus(v string) *SSEDescription {
5073	s.Status = &v
5074	return s
5075}
5076
5077// Represents the settings used to enable server-side encryption.
5078type SSESpecification struct {
5079	_ struct{} `type:"structure"`
5080
5081	// Indicates whether server-side encryption is enabled (true) or disabled (false)
5082	// on the cluster.
5083	//
5084	// Enabled is a required field
5085	Enabled *bool `type:"boolean" required:"true"`
5086}
5087
5088// String returns the string representation
5089func (s SSESpecification) String() string {
5090	return awsutil.Prettify(s)
5091}
5092
5093// GoString returns the string representation
5094func (s SSESpecification) GoString() string {
5095	return s.String()
5096}
5097
5098// Validate inspects the fields of the type to determine if they are valid.
5099func (s *SSESpecification) Validate() error {
5100	invalidParams := request.ErrInvalidParams{Context: "SSESpecification"}
5101	if s.Enabled == nil {
5102		invalidParams.Add(request.NewErrParamRequired("Enabled"))
5103	}
5104
5105	if invalidParams.Len() > 0 {
5106		return invalidParams
5107	}
5108	return nil
5109}
5110
5111// SetEnabled sets the Enabled field's value.
5112func (s *SSESpecification) SetEnabled(v bool) *SSESpecification {
5113	s.Enabled = &v
5114	return s
5115}
5116
5117// An individual VPC security group and its status.
5118type SecurityGroupMembership struct {
5119	_ struct{} `type:"structure"`
5120
5121	// The unique ID for this security group.
5122	SecurityGroupIdentifier *string `type:"string"`
5123
5124	// The status of this security group.
5125	Status *string `type:"string"`
5126}
5127
5128// String returns the string representation
5129func (s SecurityGroupMembership) String() string {
5130	return awsutil.Prettify(s)
5131}
5132
5133// GoString returns the string representation
5134func (s SecurityGroupMembership) GoString() string {
5135	return s.String()
5136}
5137
5138// SetSecurityGroupIdentifier sets the SecurityGroupIdentifier field's value.
5139func (s *SecurityGroupMembership) SetSecurityGroupIdentifier(v string) *SecurityGroupMembership {
5140	s.SecurityGroupIdentifier = &v
5141	return s
5142}
5143
5144// SetStatus sets the Status field's value.
5145func (s *SecurityGroupMembership) SetStatus(v string) *SecurityGroupMembership {
5146	s.Status = &v
5147	return s
5148}
5149
5150// The specified service linked role (SLR) was not found.
5151type ServiceLinkedRoleNotFoundFault struct {
5152	_            struct{}                  `type:"structure"`
5153	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5154
5155	Message_ *string `locationName:"message" type:"string"`
5156}
5157
5158// String returns the string representation
5159func (s ServiceLinkedRoleNotFoundFault) String() string {
5160	return awsutil.Prettify(s)
5161}
5162
5163// GoString returns the string representation
5164func (s ServiceLinkedRoleNotFoundFault) GoString() string {
5165	return s.String()
5166}
5167
5168func newErrorServiceLinkedRoleNotFoundFault(v protocol.ResponseMetadata) error {
5169	return &ServiceLinkedRoleNotFoundFault{
5170		RespMetadata: v,
5171	}
5172}
5173
5174// Code returns the exception type name.
5175func (s *ServiceLinkedRoleNotFoundFault) Code() string {
5176	return "ServiceLinkedRoleNotFoundFault"
5177}
5178
5179// Message returns the exception's message.
5180func (s *ServiceLinkedRoleNotFoundFault) Message() string {
5181	if s.Message_ != nil {
5182		return *s.Message_
5183	}
5184	return ""
5185}
5186
5187// OrigErr always returns nil, satisfies awserr.Error interface.
5188func (s *ServiceLinkedRoleNotFoundFault) OrigErr() error {
5189	return nil
5190}
5191
5192func (s *ServiceLinkedRoleNotFoundFault) Error() string {
5193	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5194}
5195
5196// Status code returns the HTTP status code for the request's response error.
5197func (s *ServiceLinkedRoleNotFoundFault) StatusCode() int {
5198	return s.RespMetadata.StatusCode
5199}
5200
5201// RequestID returns the service's response RequestID for request.
5202func (s *ServiceLinkedRoleNotFoundFault) RequestID() string {
5203	return s.RespMetadata.RequestID
5204}
5205
5206// Represents the subnet associated with a DAX cluster. This parameter refers
5207// to subnets defined in Amazon Virtual Private Cloud (Amazon VPC) and used
5208// with DAX.
5209type Subnet struct {
5210	_ struct{} `type:"structure"`
5211
5212	// The Availability Zone (AZ) for the subnet.
5213	SubnetAvailabilityZone *string `type:"string"`
5214
5215	// The system-assigned identifier for the subnet.
5216	SubnetIdentifier *string `type:"string"`
5217}
5218
5219// String returns the string representation
5220func (s Subnet) String() string {
5221	return awsutil.Prettify(s)
5222}
5223
5224// GoString returns the string representation
5225func (s Subnet) GoString() string {
5226	return s.String()
5227}
5228
5229// SetSubnetAvailabilityZone sets the SubnetAvailabilityZone field's value.
5230func (s *Subnet) SetSubnetAvailabilityZone(v string) *Subnet {
5231	s.SubnetAvailabilityZone = &v
5232	return s
5233}
5234
5235// SetSubnetIdentifier sets the SubnetIdentifier field's value.
5236func (s *Subnet) SetSubnetIdentifier(v string) *Subnet {
5237	s.SubnetIdentifier = &v
5238	return s
5239}
5240
5241// Represents the output of one of the following actions:
5242//
5243//    * CreateSubnetGroup
5244//
5245//    * ModifySubnetGroup
5246type SubnetGroup struct {
5247	_ struct{} `type:"structure"`
5248
5249	// The description of the subnet group.
5250	Description *string `type:"string"`
5251
5252	// The name of the subnet group.
5253	SubnetGroupName *string `type:"string"`
5254
5255	// A list of subnets associated with the subnet group.
5256	Subnets []*Subnet `type:"list"`
5257
5258	// The Amazon Virtual Private Cloud identifier (VPC ID) of the subnet group.
5259	VpcId *string `type:"string"`
5260}
5261
5262// String returns the string representation
5263func (s SubnetGroup) String() string {
5264	return awsutil.Prettify(s)
5265}
5266
5267// GoString returns the string representation
5268func (s SubnetGroup) GoString() string {
5269	return s.String()
5270}
5271
5272// SetDescription sets the Description field's value.
5273func (s *SubnetGroup) SetDescription(v string) *SubnetGroup {
5274	s.Description = &v
5275	return s
5276}
5277
5278// SetSubnetGroupName sets the SubnetGroupName field's value.
5279func (s *SubnetGroup) SetSubnetGroupName(v string) *SubnetGroup {
5280	s.SubnetGroupName = &v
5281	return s
5282}
5283
5284// SetSubnets sets the Subnets field's value.
5285func (s *SubnetGroup) SetSubnets(v []*Subnet) *SubnetGroup {
5286	s.Subnets = v
5287	return s
5288}
5289
5290// SetVpcId sets the VpcId field's value.
5291func (s *SubnetGroup) SetVpcId(v string) *SubnetGroup {
5292	s.VpcId = &v
5293	return s
5294}
5295
5296// The specified subnet group already exists.
5297type SubnetGroupAlreadyExistsFault struct {
5298	_            struct{}                  `type:"structure"`
5299	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5300
5301	Message_ *string `locationName:"message" type:"string"`
5302}
5303
5304// String returns the string representation
5305func (s SubnetGroupAlreadyExistsFault) String() string {
5306	return awsutil.Prettify(s)
5307}
5308
5309// GoString returns the string representation
5310func (s SubnetGroupAlreadyExistsFault) GoString() string {
5311	return s.String()
5312}
5313
5314func newErrorSubnetGroupAlreadyExistsFault(v protocol.ResponseMetadata) error {
5315	return &SubnetGroupAlreadyExistsFault{
5316		RespMetadata: v,
5317	}
5318}
5319
5320// Code returns the exception type name.
5321func (s *SubnetGroupAlreadyExistsFault) Code() string {
5322	return "SubnetGroupAlreadyExistsFault"
5323}
5324
5325// Message returns the exception's message.
5326func (s *SubnetGroupAlreadyExistsFault) Message() string {
5327	if s.Message_ != nil {
5328		return *s.Message_
5329	}
5330	return ""
5331}
5332
5333// OrigErr always returns nil, satisfies awserr.Error interface.
5334func (s *SubnetGroupAlreadyExistsFault) OrigErr() error {
5335	return nil
5336}
5337
5338func (s *SubnetGroupAlreadyExistsFault) Error() string {
5339	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5340}
5341
5342// Status code returns the HTTP status code for the request's response error.
5343func (s *SubnetGroupAlreadyExistsFault) StatusCode() int {
5344	return s.RespMetadata.StatusCode
5345}
5346
5347// RequestID returns the service's response RequestID for request.
5348func (s *SubnetGroupAlreadyExistsFault) RequestID() string {
5349	return s.RespMetadata.RequestID
5350}
5351
5352// The specified subnet group is currently in use.
5353type SubnetGroupInUseFault struct {
5354	_            struct{}                  `type:"structure"`
5355	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5356
5357	Message_ *string `locationName:"message" type:"string"`
5358}
5359
5360// String returns the string representation
5361func (s SubnetGroupInUseFault) String() string {
5362	return awsutil.Prettify(s)
5363}
5364
5365// GoString returns the string representation
5366func (s SubnetGroupInUseFault) GoString() string {
5367	return s.String()
5368}
5369
5370func newErrorSubnetGroupInUseFault(v protocol.ResponseMetadata) error {
5371	return &SubnetGroupInUseFault{
5372		RespMetadata: v,
5373	}
5374}
5375
5376// Code returns the exception type name.
5377func (s *SubnetGroupInUseFault) Code() string {
5378	return "SubnetGroupInUseFault"
5379}
5380
5381// Message returns the exception's message.
5382func (s *SubnetGroupInUseFault) Message() string {
5383	if s.Message_ != nil {
5384		return *s.Message_
5385	}
5386	return ""
5387}
5388
5389// OrigErr always returns nil, satisfies awserr.Error interface.
5390func (s *SubnetGroupInUseFault) OrigErr() error {
5391	return nil
5392}
5393
5394func (s *SubnetGroupInUseFault) Error() string {
5395	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5396}
5397
5398// Status code returns the HTTP status code for the request's response error.
5399func (s *SubnetGroupInUseFault) StatusCode() int {
5400	return s.RespMetadata.StatusCode
5401}
5402
5403// RequestID returns the service's response RequestID for request.
5404func (s *SubnetGroupInUseFault) RequestID() string {
5405	return s.RespMetadata.RequestID
5406}
5407
5408// The requested subnet group name does not refer to an existing subnet group.
5409type SubnetGroupNotFoundFault struct {
5410	_            struct{}                  `type:"structure"`
5411	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5412
5413	Message_ *string `locationName:"message" type:"string"`
5414}
5415
5416// String returns the string representation
5417func (s SubnetGroupNotFoundFault) String() string {
5418	return awsutil.Prettify(s)
5419}
5420
5421// GoString returns the string representation
5422func (s SubnetGroupNotFoundFault) GoString() string {
5423	return s.String()
5424}
5425
5426func newErrorSubnetGroupNotFoundFault(v protocol.ResponseMetadata) error {
5427	return &SubnetGroupNotFoundFault{
5428		RespMetadata: v,
5429	}
5430}
5431
5432// Code returns the exception type name.
5433func (s *SubnetGroupNotFoundFault) Code() string {
5434	return "SubnetGroupNotFoundFault"
5435}
5436
5437// Message returns the exception's message.
5438func (s *SubnetGroupNotFoundFault) Message() string {
5439	if s.Message_ != nil {
5440		return *s.Message_
5441	}
5442	return ""
5443}
5444
5445// OrigErr always returns nil, satisfies awserr.Error interface.
5446func (s *SubnetGroupNotFoundFault) OrigErr() error {
5447	return nil
5448}
5449
5450func (s *SubnetGroupNotFoundFault) Error() string {
5451	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5452}
5453
5454// Status code returns the HTTP status code for the request's response error.
5455func (s *SubnetGroupNotFoundFault) StatusCode() int {
5456	return s.RespMetadata.StatusCode
5457}
5458
5459// RequestID returns the service's response RequestID for request.
5460func (s *SubnetGroupNotFoundFault) RequestID() string {
5461	return s.RespMetadata.RequestID
5462}
5463
5464// The request cannot be processed because it would exceed the allowed number
5465// of subnets in a subnet group.
5466type SubnetGroupQuotaExceededFault struct {
5467	_            struct{}                  `type:"structure"`
5468	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5469
5470	Message_ *string `locationName:"message" type:"string"`
5471}
5472
5473// String returns the string representation
5474func (s SubnetGroupQuotaExceededFault) String() string {
5475	return awsutil.Prettify(s)
5476}
5477
5478// GoString returns the string representation
5479func (s SubnetGroupQuotaExceededFault) GoString() string {
5480	return s.String()
5481}
5482
5483func newErrorSubnetGroupQuotaExceededFault(v protocol.ResponseMetadata) error {
5484	return &SubnetGroupQuotaExceededFault{
5485		RespMetadata: v,
5486	}
5487}
5488
5489// Code returns the exception type name.
5490func (s *SubnetGroupQuotaExceededFault) Code() string {
5491	return "SubnetGroupQuotaExceededFault"
5492}
5493
5494// Message returns the exception's message.
5495func (s *SubnetGroupQuotaExceededFault) Message() string {
5496	if s.Message_ != nil {
5497		return *s.Message_
5498	}
5499	return ""
5500}
5501
5502// OrigErr always returns nil, satisfies awserr.Error interface.
5503func (s *SubnetGroupQuotaExceededFault) OrigErr() error {
5504	return nil
5505}
5506
5507func (s *SubnetGroupQuotaExceededFault) Error() string {
5508	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5509}
5510
5511// Status code returns the HTTP status code for the request's response error.
5512func (s *SubnetGroupQuotaExceededFault) StatusCode() int {
5513	return s.RespMetadata.StatusCode
5514}
5515
5516// RequestID returns the service's response RequestID for request.
5517func (s *SubnetGroupQuotaExceededFault) RequestID() string {
5518	return s.RespMetadata.RequestID
5519}
5520
5521// The requested subnet is being used by another subnet group.
5522type SubnetInUse struct {
5523	_            struct{}                  `type:"structure"`
5524	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5525
5526	Message_ *string `locationName:"message" type:"string"`
5527}
5528
5529// String returns the string representation
5530func (s SubnetInUse) String() string {
5531	return awsutil.Prettify(s)
5532}
5533
5534// GoString returns the string representation
5535func (s SubnetInUse) GoString() string {
5536	return s.String()
5537}
5538
5539func newErrorSubnetInUse(v protocol.ResponseMetadata) error {
5540	return &SubnetInUse{
5541		RespMetadata: v,
5542	}
5543}
5544
5545// Code returns the exception type name.
5546func (s *SubnetInUse) Code() string {
5547	return "SubnetInUse"
5548}
5549
5550// Message returns the exception's message.
5551func (s *SubnetInUse) Message() string {
5552	if s.Message_ != nil {
5553		return *s.Message_
5554	}
5555	return ""
5556}
5557
5558// OrigErr always returns nil, satisfies awserr.Error interface.
5559func (s *SubnetInUse) OrigErr() error {
5560	return nil
5561}
5562
5563func (s *SubnetInUse) Error() string {
5564	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5565}
5566
5567// Status code returns the HTTP status code for the request's response error.
5568func (s *SubnetInUse) StatusCode() int {
5569	return s.RespMetadata.StatusCode
5570}
5571
5572// RequestID returns the service's response RequestID for request.
5573func (s *SubnetInUse) RequestID() string {
5574	return s.RespMetadata.RequestID
5575}
5576
5577// The request cannot be processed because it would exceed the allowed number
5578// of subnets in a subnet group.
5579type SubnetQuotaExceededFault struct {
5580	_            struct{}                  `type:"structure"`
5581	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5582
5583	Message_ *string `locationName:"message" type:"string"`
5584}
5585
5586// String returns the string representation
5587func (s SubnetQuotaExceededFault) String() string {
5588	return awsutil.Prettify(s)
5589}
5590
5591// GoString returns the string representation
5592func (s SubnetQuotaExceededFault) GoString() string {
5593	return s.String()
5594}
5595
5596func newErrorSubnetQuotaExceededFault(v protocol.ResponseMetadata) error {
5597	return &SubnetQuotaExceededFault{
5598		RespMetadata: v,
5599	}
5600}
5601
5602// Code returns the exception type name.
5603func (s *SubnetQuotaExceededFault) Code() string {
5604	return "SubnetQuotaExceededFault"
5605}
5606
5607// Message returns the exception's message.
5608func (s *SubnetQuotaExceededFault) Message() string {
5609	if s.Message_ != nil {
5610		return *s.Message_
5611	}
5612	return ""
5613}
5614
5615// OrigErr always returns nil, satisfies awserr.Error interface.
5616func (s *SubnetQuotaExceededFault) OrigErr() error {
5617	return nil
5618}
5619
5620func (s *SubnetQuotaExceededFault) Error() string {
5621	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5622}
5623
5624// Status code returns the HTTP status code for the request's response error.
5625func (s *SubnetQuotaExceededFault) StatusCode() int {
5626	return s.RespMetadata.StatusCode
5627}
5628
5629// RequestID returns the service's response RequestID for request.
5630func (s *SubnetQuotaExceededFault) RequestID() string {
5631	return s.RespMetadata.RequestID
5632}
5633
5634// A description of a tag. Every tag is a key-value pair. You can add up to
5635// 50 tags to a single DAX cluster.
5636//
5637// AWS-assigned tag names and values are automatically assigned the aws: prefix,
5638// which the user cannot assign. AWS-assigned tag names do not count towards
5639// the tag limit of 50. User-assigned tag names have the prefix user:.
5640//
5641// You cannot backdate the application of a tag.
5642type Tag struct {
5643	_ struct{} `type:"structure"`
5644
5645	// The key for the tag. Tag keys are case sensitive. Every DAX cluster can only
5646	// have one tag with the same key. If you try to add an existing tag (same key),
5647	// the existing tag value will be updated to the new value.
5648	Key *string `type:"string"`
5649
5650	// The value of the tag. Tag values are case-sensitive and can be null.
5651	Value *string `type:"string"`
5652}
5653
5654// String returns the string representation
5655func (s Tag) String() string {
5656	return awsutil.Prettify(s)
5657}
5658
5659// GoString returns the string representation
5660func (s Tag) GoString() string {
5661	return s.String()
5662}
5663
5664// SetKey sets the Key field's value.
5665func (s *Tag) SetKey(v string) *Tag {
5666	s.Key = &v
5667	return s
5668}
5669
5670// SetValue sets the Value field's value.
5671func (s *Tag) SetValue(v string) *Tag {
5672	s.Value = &v
5673	return s
5674}
5675
5676// The tag does not exist.
5677type TagNotFoundFault struct {
5678	_            struct{}                  `type:"structure"`
5679	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5680
5681	Message_ *string `locationName:"message" type:"string"`
5682}
5683
5684// String returns the string representation
5685func (s TagNotFoundFault) String() string {
5686	return awsutil.Prettify(s)
5687}
5688
5689// GoString returns the string representation
5690func (s TagNotFoundFault) GoString() string {
5691	return s.String()
5692}
5693
5694func newErrorTagNotFoundFault(v protocol.ResponseMetadata) error {
5695	return &TagNotFoundFault{
5696		RespMetadata: v,
5697	}
5698}
5699
5700// Code returns the exception type name.
5701func (s *TagNotFoundFault) Code() string {
5702	return "TagNotFoundFault"
5703}
5704
5705// Message returns the exception's message.
5706func (s *TagNotFoundFault) Message() string {
5707	if s.Message_ != nil {
5708		return *s.Message_
5709	}
5710	return ""
5711}
5712
5713// OrigErr always returns nil, satisfies awserr.Error interface.
5714func (s *TagNotFoundFault) OrigErr() error {
5715	return nil
5716}
5717
5718func (s *TagNotFoundFault) Error() string {
5719	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5720}
5721
5722// Status code returns the HTTP status code for the request's response error.
5723func (s *TagNotFoundFault) StatusCode() int {
5724	return s.RespMetadata.StatusCode
5725}
5726
5727// RequestID returns the service's response RequestID for request.
5728func (s *TagNotFoundFault) RequestID() string {
5729	return s.RespMetadata.RequestID
5730}
5731
5732// You have exceeded the maximum number of tags for this DAX cluster.
5733type TagQuotaPerResourceExceeded struct {
5734	_            struct{}                  `type:"structure"`
5735	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5736
5737	Message_ *string `locationName:"message" type:"string"`
5738}
5739
5740// String returns the string representation
5741func (s TagQuotaPerResourceExceeded) String() string {
5742	return awsutil.Prettify(s)
5743}
5744
5745// GoString returns the string representation
5746func (s TagQuotaPerResourceExceeded) GoString() string {
5747	return s.String()
5748}
5749
5750func newErrorTagQuotaPerResourceExceeded(v protocol.ResponseMetadata) error {
5751	return &TagQuotaPerResourceExceeded{
5752		RespMetadata: v,
5753	}
5754}
5755
5756// Code returns the exception type name.
5757func (s *TagQuotaPerResourceExceeded) Code() string {
5758	return "TagQuotaPerResourceExceeded"
5759}
5760
5761// Message returns the exception's message.
5762func (s *TagQuotaPerResourceExceeded) Message() string {
5763	if s.Message_ != nil {
5764		return *s.Message_
5765	}
5766	return ""
5767}
5768
5769// OrigErr always returns nil, satisfies awserr.Error interface.
5770func (s *TagQuotaPerResourceExceeded) OrigErr() error {
5771	return nil
5772}
5773
5774func (s *TagQuotaPerResourceExceeded) Error() string {
5775	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5776}
5777
5778// Status code returns the HTTP status code for the request's response error.
5779func (s *TagQuotaPerResourceExceeded) StatusCode() int {
5780	return s.RespMetadata.StatusCode
5781}
5782
5783// RequestID returns the service's response RequestID for request.
5784func (s *TagQuotaPerResourceExceeded) RequestID() string {
5785	return s.RespMetadata.RequestID
5786}
5787
5788type TagResourceInput struct {
5789	_ struct{} `type:"structure"`
5790
5791	// The name of the DAX resource to which tags should be added.
5792	//
5793	// ResourceName is a required field
5794	ResourceName *string `type:"string" required:"true"`
5795
5796	// The tags to be assigned to the DAX resource.
5797	//
5798	// Tags is a required field
5799	Tags []*Tag `type:"list" required:"true"`
5800}
5801
5802// String returns the string representation
5803func (s TagResourceInput) String() string {
5804	return awsutil.Prettify(s)
5805}
5806
5807// GoString returns the string representation
5808func (s TagResourceInput) GoString() string {
5809	return s.String()
5810}
5811
5812// Validate inspects the fields of the type to determine if they are valid.
5813func (s *TagResourceInput) Validate() error {
5814	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
5815	if s.ResourceName == nil {
5816		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
5817	}
5818	if s.Tags == nil {
5819		invalidParams.Add(request.NewErrParamRequired("Tags"))
5820	}
5821
5822	if invalidParams.Len() > 0 {
5823		return invalidParams
5824	}
5825	return nil
5826}
5827
5828// SetResourceName sets the ResourceName field's value.
5829func (s *TagResourceInput) SetResourceName(v string) *TagResourceInput {
5830	s.ResourceName = &v
5831	return s
5832}
5833
5834// SetTags sets the Tags field's value.
5835func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
5836	s.Tags = v
5837	return s
5838}
5839
5840type TagResourceOutput struct {
5841	_ struct{} `type:"structure"`
5842
5843	// The list of tags that are associated with the DAX resource.
5844	Tags []*Tag `type:"list"`
5845}
5846
5847// String returns the string representation
5848func (s TagResourceOutput) String() string {
5849	return awsutil.Prettify(s)
5850}
5851
5852// GoString returns the string representation
5853func (s TagResourceOutput) GoString() string {
5854	return s.String()
5855}
5856
5857// SetTags sets the Tags field's value.
5858func (s *TagResourceOutput) SetTags(v []*Tag) *TagResourceOutput {
5859	s.Tags = v
5860	return s
5861}
5862
5863type UntagResourceInput struct {
5864	_ struct{} `type:"structure"`
5865
5866	// The name of the DAX resource from which the tags should be removed.
5867	//
5868	// ResourceName is a required field
5869	ResourceName *string `type:"string" required:"true"`
5870
5871	// A list of tag keys. If the DAX cluster has any tags with these keys, then
5872	// the tags are removed from the cluster.
5873	//
5874	// TagKeys is a required field
5875	TagKeys []*string `type:"list" required:"true"`
5876}
5877
5878// String returns the string representation
5879func (s UntagResourceInput) String() string {
5880	return awsutil.Prettify(s)
5881}
5882
5883// GoString returns the string representation
5884func (s UntagResourceInput) GoString() string {
5885	return s.String()
5886}
5887
5888// Validate inspects the fields of the type to determine if they are valid.
5889func (s *UntagResourceInput) Validate() error {
5890	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
5891	if s.ResourceName == nil {
5892		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
5893	}
5894	if s.TagKeys == nil {
5895		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
5896	}
5897
5898	if invalidParams.Len() > 0 {
5899		return invalidParams
5900	}
5901	return nil
5902}
5903
5904// SetResourceName sets the ResourceName field's value.
5905func (s *UntagResourceInput) SetResourceName(v string) *UntagResourceInput {
5906	s.ResourceName = &v
5907	return s
5908}
5909
5910// SetTagKeys sets the TagKeys field's value.
5911func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
5912	s.TagKeys = v
5913	return s
5914}
5915
5916type UntagResourceOutput struct {
5917	_ struct{} `type:"structure"`
5918
5919	// The tag keys that have been removed from the cluster.
5920	Tags []*Tag `type:"list"`
5921}
5922
5923// String returns the string representation
5924func (s UntagResourceOutput) String() string {
5925	return awsutil.Prettify(s)
5926}
5927
5928// GoString returns the string representation
5929func (s UntagResourceOutput) GoString() string {
5930	return s.String()
5931}
5932
5933// SetTags sets the Tags field's value.
5934func (s *UntagResourceOutput) SetTags(v []*Tag) *UntagResourceOutput {
5935	s.Tags = v
5936	return s
5937}
5938
5939type UpdateClusterInput struct {
5940	_ struct{} `type:"structure"`
5941
5942	// The name of the DAX cluster to be modified.
5943	//
5944	// ClusterName is a required field
5945	ClusterName *string `type:"string" required:"true"`
5946
5947	// A description of the changes being made to the cluster.
5948	Description *string `type:"string"`
5949
5950	// The Amazon Resource Name (ARN) that identifies the topic.
5951	NotificationTopicArn *string `type:"string"`
5952
5953	// The current state of the topic.
5954	NotificationTopicStatus *string `type:"string"`
5955
5956	// The name of a parameter group for this cluster.
5957	ParameterGroupName *string `type:"string"`
5958
5959	// A range of time when maintenance of DAX cluster software will be performed.
5960	// For example: sun:01:00-sun:09:00. Cluster maintenance normally takes less
5961	// than 30 minutes, and is performed automatically within the maintenance window.
5962	PreferredMaintenanceWindow *string `type:"string"`
5963
5964	// A list of user-specified security group IDs to be assigned to each node in
5965	// the DAX cluster. If this parameter is not specified, DAX assigns the default
5966	// VPC security group to each node.
5967	SecurityGroupIds []*string `type:"list"`
5968}
5969
5970// String returns the string representation
5971func (s UpdateClusterInput) String() string {
5972	return awsutil.Prettify(s)
5973}
5974
5975// GoString returns the string representation
5976func (s UpdateClusterInput) GoString() string {
5977	return s.String()
5978}
5979
5980// Validate inspects the fields of the type to determine if they are valid.
5981func (s *UpdateClusterInput) Validate() error {
5982	invalidParams := request.ErrInvalidParams{Context: "UpdateClusterInput"}
5983	if s.ClusterName == nil {
5984		invalidParams.Add(request.NewErrParamRequired("ClusterName"))
5985	}
5986
5987	if invalidParams.Len() > 0 {
5988		return invalidParams
5989	}
5990	return nil
5991}
5992
5993// SetClusterName sets the ClusterName field's value.
5994func (s *UpdateClusterInput) SetClusterName(v string) *UpdateClusterInput {
5995	s.ClusterName = &v
5996	return s
5997}
5998
5999// SetDescription sets the Description field's value.
6000func (s *UpdateClusterInput) SetDescription(v string) *UpdateClusterInput {
6001	s.Description = &v
6002	return s
6003}
6004
6005// SetNotificationTopicArn sets the NotificationTopicArn field's value.
6006func (s *UpdateClusterInput) SetNotificationTopicArn(v string) *UpdateClusterInput {
6007	s.NotificationTopicArn = &v
6008	return s
6009}
6010
6011// SetNotificationTopicStatus sets the NotificationTopicStatus field's value.
6012func (s *UpdateClusterInput) SetNotificationTopicStatus(v string) *UpdateClusterInput {
6013	s.NotificationTopicStatus = &v
6014	return s
6015}
6016
6017// SetParameterGroupName sets the ParameterGroupName field's value.
6018func (s *UpdateClusterInput) SetParameterGroupName(v string) *UpdateClusterInput {
6019	s.ParameterGroupName = &v
6020	return s
6021}
6022
6023// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
6024func (s *UpdateClusterInput) SetPreferredMaintenanceWindow(v string) *UpdateClusterInput {
6025	s.PreferredMaintenanceWindow = &v
6026	return s
6027}
6028
6029// SetSecurityGroupIds sets the SecurityGroupIds field's value.
6030func (s *UpdateClusterInput) SetSecurityGroupIds(v []*string) *UpdateClusterInput {
6031	s.SecurityGroupIds = v
6032	return s
6033}
6034
6035type UpdateClusterOutput struct {
6036	_ struct{} `type:"structure"`
6037
6038	// A description of the DAX cluster, after it has been modified.
6039	Cluster *Cluster `type:"structure"`
6040}
6041
6042// String returns the string representation
6043func (s UpdateClusterOutput) String() string {
6044	return awsutil.Prettify(s)
6045}
6046
6047// GoString returns the string representation
6048func (s UpdateClusterOutput) GoString() string {
6049	return s.String()
6050}
6051
6052// SetCluster sets the Cluster field's value.
6053func (s *UpdateClusterOutput) SetCluster(v *Cluster) *UpdateClusterOutput {
6054	s.Cluster = v
6055	return s
6056}
6057
6058type UpdateParameterGroupInput struct {
6059	_ struct{} `type:"structure"`
6060
6061	// The name of the parameter group.
6062	//
6063	// ParameterGroupName is a required field
6064	ParameterGroupName *string `type:"string" required:"true"`
6065
6066	// An array of name-value pairs for the parameters in the group. Each element
6067	// in the array represents a single parameter.
6068	//
6069	// ParameterNameValues is a required field
6070	ParameterNameValues []*ParameterNameValue `type:"list" required:"true"`
6071}
6072
6073// String returns the string representation
6074func (s UpdateParameterGroupInput) String() string {
6075	return awsutil.Prettify(s)
6076}
6077
6078// GoString returns the string representation
6079func (s UpdateParameterGroupInput) GoString() string {
6080	return s.String()
6081}
6082
6083// Validate inspects the fields of the type to determine if they are valid.
6084func (s *UpdateParameterGroupInput) Validate() error {
6085	invalidParams := request.ErrInvalidParams{Context: "UpdateParameterGroupInput"}
6086	if s.ParameterGroupName == nil {
6087		invalidParams.Add(request.NewErrParamRequired("ParameterGroupName"))
6088	}
6089	if s.ParameterNameValues == nil {
6090		invalidParams.Add(request.NewErrParamRequired("ParameterNameValues"))
6091	}
6092
6093	if invalidParams.Len() > 0 {
6094		return invalidParams
6095	}
6096	return nil
6097}
6098
6099// SetParameterGroupName sets the ParameterGroupName field's value.
6100func (s *UpdateParameterGroupInput) SetParameterGroupName(v string) *UpdateParameterGroupInput {
6101	s.ParameterGroupName = &v
6102	return s
6103}
6104
6105// SetParameterNameValues sets the ParameterNameValues field's value.
6106func (s *UpdateParameterGroupInput) SetParameterNameValues(v []*ParameterNameValue) *UpdateParameterGroupInput {
6107	s.ParameterNameValues = v
6108	return s
6109}
6110
6111type UpdateParameterGroupOutput struct {
6112	_ struct{} `type:"structure"`
6113
6114	// The parameter group that has been modified.
6115	ParameterGroup *ParameterGroup `type:"structure"`
6116}
6117
6118// String returns the string representation
6119func (s UpdateParameterGroupOutput) String() string {
6120	return awsutil.Prettify(s)
6121}
6122
6123// GoString returns the string representation
6124func (s UpdateParameterGroupOutput) GoString() string {
6125	return s.String()
6126}
6127
6128// SetParameterGroup sets the ParameterGroup field's value.
6129func (s *UpdateParameterGroupOutput) SetParameterGroup(v *ParameterGroup) *UpdateParameterGroupOutput {
6130	s.ParameterGroup = v
6131	return s
6132}
6133
6134type UpdateSubnetGroupInput struct {
6135	_ struct{} `type:"structure"`
6136
6137	// A description of the subnet group.
6138	Description *string `type:"string"`
6139
6140	// The name of the subnet group.
6141	//
6142	// SubnetGroupName is a required field
6143	SubnetGroupName *string `type:"string" required:"true"`
6144
6145	// A list of subnet IDs in the subnet group.
6146	SubnetIds []*string `type:"list"`
6147}
6148
6149// String returns the string representation
6150func (s UpdateSubnetGroupInput) String() string {
6151	return awsutil.Prettify(s)
6152}
6153
6154// GoString returns the string representation
6155func (s UpdateSubnetGroupInput) GoString() string {
6156	return s.String()
6157}
6158
6159// Validate inspects the fields of the type to determine if they are valid.
6160func (s *UpdateSubnetGroupInput) Validate() error {
6161	invalidParams := request.ErrInvalidParams{Context: "UpdateSubnetGroupInput"}
6162	if s.SubnetGroupName == nil {
6163		invalidParams.Add(request.NewErrParamRequired("SubnetGroupName"))
6164	}
6165
6166	if invalidParams.Len() > 0 {
6167		return invalidParams
6168	}
6169	return nil
6170}
6171
6172// SetDescription sets the Description field's value.
6173func (s *UpdateSubnetGroupInput) SetDescription(v string) *UpdateSubnetGroupInput {
6174	s.Description = &v
6175	return s
6176}
6177
6178// SetSubnetGroupName sets the SubnetGroupName field's value.
6179func (s *UpdateSubnetGroupInput) SetSubnetGroupName(v string) *UpdateSubnetGroupInput {
6180	s.SubnetGroupName = &v
6181	return s
6182}
6183
6184// SetSubnetIds sets the SubnetIds field's value.
6185func (s *UpdateSubnetGroupInput) SetSubnetIds(v []*string) *UpdateSubnetGroupInput {
6186	s.SubnetIds = v
6187	return s
6188}
6189
6190type UpdateSubnetGroupOutput struct {
6191	_ struct{} `type:"structure"`
6192
6193	// The subnet group that has been modified.
6194	SubnetGroup *SubnetGroup `type:"structure"`
6195}
6196
6197// String returns the string representation
6198func (s UpdateSubnetGroupOutput) String() string {
6199	return awsutil.Prettify(s)
6200}
6201
6202// GoString returns the string representation
6203func (s UpdateSubnetGroupOutput) GoString() string {
6204	return s.String()
6205}
6206
6207// SetSubnetGroup sets the SubnetGroup field's value.
6208func (s *UpdateSubnetGroupOutput) SetSubnetGroup(v *SubnetGroup) *UpdateSubnetGroupOutput {
6209	s.SubnetGroup = v
6210	return s
6211}
6212
6213const (
6214	// ChangeTypeImmediate is a ChangeType enum value
6215	ChangeTypeImmediate = "IMMEDIATE"
6216
6217	// ChangeTypeRequiresReboot is a ChangeType enum value
6218	ChangeTypeRequiresReboot = "REQUIRES_REBOOT"
6219)
6220
6221const (
6222	// IsModifiableTrue is a IsModifiable enum value
6223	IsModifiableTrue = "TRUE"
6224
6225	// IsModifiableFalse is a IsModifiable enum value
6226	IsModifiableFalse = "FALSE"
6227
6228	// IsModifiableConditional is a IsModifiable enum value
6229	IsModifiableConditional = "CONDITIONAL"
6230)
6231
6232const (
6233	// ParameterTypeDefault is a ParameterType enum value
6234	ParameterTypeDefault = "DEFAULT"
6235
6236	// ParameterTypeNodeTypeSpecific is a ParameterType enum value
6237	ParameterTypeNodeTypeSpecific = "NODE_TYPE_SPECIFIC"
6238)
6239
6240const (
6241	// SSEStatusEnabling is a SSEStatus enum value
6242	SSEStatusEnabling = "ENABLING"
6243
6244	// SSEStatusEnabled is a SSEStatus enum value
6245	SSEStatusEnabled = "ENABLED"
6246
6247	// SSEStatusDisabling is a SSEStatus enum value
6248	SSEStatusDisabling = "DISABLING"
6249
6250	// SSEStatusDisabled is a SSEStatus enum value
6251	SSEStatusDisabled = "DISABLED"
6252)
6253
6254const (
6255	// SourceTypeCluster is a SourceType enum value
6256	SourceTypeCluster = "CLUSTER"
6257
6258	// SourceTypeParameterGroup is a SourceType enum value
6259	SourceTypeParameterGroup = "PARAMETER_GROUP"
6260
6261	// SourceTypeSubnetGroup is a SourceType enum value
6262	SourceTypeSubnetGroup = "SUBNET_GROUP"
6263)
6264