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