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.
2087//
2088// API parameter values that are decorated as "sensitive" in the API will not
2089// be included in the string output. The member name will be present, but the
2090// value will be replaced with "sensitive".
2091func (s Cluster) String() string {
2092	return awsutil.Prettify(s)
2093}
2094
2095// GoString returns the string representation.
2096//
2097// API parameter values that are decorated as "sensitive" in the API will not
2098// be included in the string output. The member name will be present, but the
2099// value will be replaced with "sensitive".
2100func (s Cluster) GoString() string {
2101	return s.String()
2102}
2103
2104// SetActiveNodes sets the ActiveNodes field's value.
2105func (s *Cluster) SetActiveNodes(v int64) *Cluster {
2106	s.ActiveNodes = &v
2107	return s
2108}
2109
2110// SetClusterArn sets the ClusterArn field's value.
2111func (s *Cluster) SetClusterArn(v string) *Cluster {
2112	s.ClusterArn = &v
2113	return s
2114}
2115
2116// SetClusterDiscoveryEndpoint sets the ClusterDiscoveryEndpoint field's value.
2117func (s *Cluster) SetClusterDiscoveryEndpoint(v *Endpoint) *Cluster {
2118	s.ClusterDiscoveryEndpoint = v
2119	return s
2120}
2121
2122// SetClusterEndpointEncryptionType sets the ClusterEndpointEncryptionType field's value.
2123func (s *Cluster) SetClusterEndpointEncryptionType(v string) *Cluster {
2124	s.ClusterEndpointEncryptionType = &v
2125	return s
2126}
2127
2128// SetClusterName sets the ClusterName field's value.
2129func (s *Cluster) SetClusterName(v string) *Cluster {
2130	s.ClusterName = &v
2131	return s
2132}
2133
2134// SetDescription sets the Description field's value.
2135func (s *Cluster) SetDescription(v string) *Cluster {
2136	s.Description = &v
2137	return s
2138}
2139
2140// SetIamRoleArn sets the IamRoleArn field's value.
2141func (s *Cluster) SetIamRoleArn(v string) *Cluster {
2142	s.IamRoleArn = &v
2143	return s
2144}
2145
2146// SetNodeIdsToRemove sets the NodeIdsToRemove field's value.
2147func (s *Cluster) SetNodeIdsToRemove(v []*string) *Cluster {
2148	s.NodeIdsToRemove = v
2149	return s
2150}
2151
2152// SetNodeType sets the NodeType field's value.
2153func (s *Cluster) SetNodeType(v string) *Cluster {
2154	s.NodeType = &v
2155	return s
2156}
2157
2158// SetNodes sets the Nodes field's value.
2159func (s *Cluster) SetNodes(v []*Node) *Cluster {
2160	s.Nodes = v
2161	return s
2162}
2163
2164// SetNotificationConfiguration sets the NotificationConfiguration field's value.
2165func (s *Cluster) SetNotificationConfiguration(v *NotificationConfiguration) *Cluster {
2166	s.NotificationConfiguration = v
2167	return s
2168}
2169
2170// SetParameterGroup sets the ParameterGroup field's value.
2171func (s *Cluster) SetParameterGroup(v *ParameterGroupStatus) *Cluster {
2172	s.ParameterGroup = v
2173	return s
2174}
2175
2176// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
2177func (s *Cluster) SetPreferredMaintenanceWindow(v string) *Cluster {
2178	s.PreferredMaintenanceWindow = &v
2179	return s
2180}
2181
2182// SetSSEDescription sets the SSEDescription field's value.
2183func (s *Cluster) SetSSEDescription(v *SSEDescription) *Cluster {
2184	s.SSEDescription = v
2185	return s
2186}
2187
2188// SetSecurityGroups sets the SecurityGroups field's value.
2189func (s *Cluster) SetSecurityGroups(v []*SecurityGroupMembership) *Cluster {
2190	s.SecurityGroups = v
2191	return s
2192}
2193
2194// SetStatus sets the Status field's value.
2195func (s *Cluster) SetStatus(v string) *Cluster {
2196	s.Status = &v
2197	return s
2198}
2199
2200// SetSubnetGroup sets the SubnetGroup field's value.
2201func (s *Cluster) SetSubnetGroup(v string) *Cluster {
2202	s.SubnetGroup = &v
2203	return s
2204}
2205
2206// SetTotalNodes sets the TotalNodes field's value.
2207func (s *Cluster) SetTotalNodes(v int64) *Cluster {
2208	s.TotalNodes = &v
2209	return s
2210}
2211
2212// You already have a DAX cluster with the given identifier.
2213type ClusterAlreadyExistsFault struct {
2214	_            struct{}                  `type:"structure"`
2215	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
2216
2217	Message_ *string `locationName:"message" type:"string"`
2218}
2219
2220// String returns the string representation.
2221//
2222// API parameter values that are decorated as "sensitive" in the API will not
2223// be included in the string output. The member name will be present, but the
2224// value will be replaced with "sensitive".
2225func (s ClusterAlreadyExistsFault) String() string {
2226	return awsutil.Prettify(s)
2227}
2228
2229// GoString returns the string representation.
2230//
2231// API parameter values that are decorated as "sensitive" in the API will not
2232// be included in the string output. The member name will be present, but the
2233// value will be replaced with "sensitive".
2234func (s ClusterAlreadyExistsFault) GoString() string {
2235	return s.String()
2236}
2237
2238func newErrorClusterAlreadyExistsFault(v protocol.ResponseMetadata) error {
2239	return &ClusterAlreadyExistsFault{
2240		RespMetadata: v,
2241	}
2242}
2243
2244// Code returns the exception type name.
2245func (s *ClusterAlreadyExistsFault) Code() string {
2246	return "ClusterAlreadyExistsFault"
2247}
2248
2249// Message returns the exception's message.
2250func (s *ClusterAlreadyExistsFault) Message() string {
2251	if s.Message_ != nil {
2252		return *s.Message_
2253	}
2254	return ""
2255}
2256
2257// OrigErr always returns nil, satisfies awserr.Error interface.
2258func (s *ClusterAlreadyExistsFault) OrigErr() error {
2259	return nil
2260}
2261
2262func (s *ClusterAlreadyExistsFault) Error() string {
2263	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
2264}
2265
2266// Status code returns the HTTP status code for the request's response error.
2267func (s *ClusterAlreadyExistsFault) StatusCode() int {
2268	return s.RespMetadata.StatusCode
2269}
2270
2271// RequestID returns the service's response RequestID for request.
2272func (s *ClusterAlreadyExistsFault) RequestID() string {
2273	return s.RespMetadata.RequestID
2274}
2275
2276// The requested cluster ID does not refer to an existing DAX cluster.
2277type ClusterNotFoundFault struct {
2278	_            struct{}                  `type:"structure"`
2279	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
2280
2281	Message_ *string `locationName:"message" type:"string"`
2282}
2283
2284// String returns the string representation.
2285//
2286// API parameter values that are decorated as "sensitive" in the API will not
2287// be included in the string output. The member name will be present, but the
2288// value will be replaced with "sensitive".
2289func (s ClusterNotFoundFault) String() string {
2290	return awsutil.Prettify(s)
2291}
2292
2293// GoString returns the string representation.
2294//
2295// API parameter values that are decorated as "sensitive" in the API will not
2296// be included in the string output. The member name will be present, but the
2297// value will be replaced with "sensitive".
2298func (s ClusterNotFoundFault) GoString() string {
2299	return s.String()
2300}
2301
2302func newErrorClusterNotFoundFault(v protocol.ResponseMetadata) error {
2303	return &ClusterNotFoundFault{
2304		RespMetadata: v,
2305	}
2306}
2307
2308// Code returns the exception type name.
2309func (s *ClusterNotFoundFault) Code() string {
2310	return "ClusterNotFoundFault"
2311}
2312
2313// Message returns the exception's message.
2314func (s *ClusterNotFoundFault) Message() string {
2315	if s.Message_ != nil {
2316		return *s.Message_
2317	}
2318	return ""
2319}
2320
2321// OrigErr always returns nil, satisfies awserr.Error interface.
2322func (s *ClusterNotFoundFault) OrigErr() error {
2323	return nil
2324}
2325
2326func (s *ClusterNotFoundFault) Error() string {
2327	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
2328}
2329
2330// Status code returns the HTTP status code for the request's response error.
2331func (s *ClusterNotFoundFault) StatusCode() int {
2332	return s.RespMetadata.StatusCode
2333}
2334
2335// RequestID returns the service's response RequestID for request.
2336func (s *ClusterNotFoundFault) RequestID() string {
2337	return s.RespMetadata.RequestID
2338}
2339
2340// You have attempted to exceed the maximum number of DAX clusters for your
2341// AWS account.
2342type ClusterQuotaForCustomerExceededFault struct {
2343	_            struct{}                  `type:"structure"`
2344	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
2345
2346	Message_ *string `locationName:"message" type:"string"`
2347}
2348
2349// String returns the string representation.
2350//
2351// API parameter values that are decorated as "sensitive" in the API will not
2352// be included in the string output. The member name will be present, but the
2353// value will be replaced with "sensitive".
2354func (s ClusterQuotaForCustomerExceededFault) String() string {
2355	return awsutil.Prettify(s)
2356}
2357
2358// GoString returns the string representation.
2359//
2360// API parameter values that are decorated as "sensitive" in the API will not
2361// be included in the string output. The member name will be present, but the
2362// value will be replaced with "sensitive".
2363func (s ClusterQuotaForCustomerExceededFault) GoString() string {
2364	return s.String()
2365}
2366
2367func newErrorClusterQuotaForCustomerExceededFault(v protocol.ResponseMetadata) error {
2368	return &ClusterQuotaForCustomerExceededFault{
2369		RespMetadata: v,
2370	}
2371}
2372
2373// Code returns the exception type name.
2374func (s *ClusterQuotaForCustomerExceededFault) Code() string {
2375	return "ClusterQuotaForCustomerExceededFault"
2376}
2377
2378// Message returns the exception's message.
2379func (s *ClusterQuotaForCustomerExceededFault) Message() string {
2380	if s.Message_ != nil {
2381		return *s.Message_
2382	}
2383	return ""
2384}
2385
2386// OrigErr always returns nil, satisfies awserr.Error interface.
2387func (s *ClusterQuotaForCustomerExceededFault) OrigErr() error {
2388	return nil
2389}
2390
2391func (s *ClusterQuotaForCustomerExceededFault) Error() string {
2392	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
2393}
2394
2395// Status code returns the HTTP status code for the request's response error.
2396func (s *ClusterQuotaForCustomerExceededFault) StatusCode() int {
2397	return s.RespMetadata.StatusCode
2398}
2399
2400// RequestID returns the service's response RequestID for request.
2401func (s *ClusterQuotaForCustomerExceededFault) RequestID() string {
2402	return s.RespMetadata.RequestID
2403}
2404
2405type CreateClusterInput struct {
2406	_ struct{} `type:"structure"`
2407
2408	// The Availability Zones (AZs) in which the cluster nodes will reside after
2409	// the cluster has been created or updated. If provided, the length of this
2410	// list must equal the ReplicationFactor parameter. If you omit this parameter,
2411	// DAX will spread the nodes across Availability Zones for the highest availability.
2412	AvailabilityZones []*string `type:"list"`
2413
2414	// The type of encryption the cluster's endpoint should support. Values are:
2415	//
2416	//    * NONE for no encryption
2417	//
2418	//    * TLS for Transport Layer Security
2419	ClusterEndpointEncryptionType *string `type:"string" enum:"ClusterEndpointEncryptionType"`
2420
2421	// The cluster identifier. This parameter is stored as a lowercase string.
2422	//
2423	// Constraints:
2424	//
2425	//    * A name must contain from 1 to 20 alphanumeric characters or hyphens.
2426	//
2427	//    * The first character must be a letter.
2428	//
2429	//    * A name cannot end with a hyphen or contain two consecutive hyphens.
2430	//
2431	// ClusterName is a required field
2432	ClusterName *string `type:"string" required:"true"`
2433
2434	// A description of the cluster.
2435	Description *string `type:"string"`
2436
2437	// A valid Amazon Resource Name (ARN) that identifies an IAM role. At runtime,
2438	// DAX will assume this role and use the role's permissions to access DynamoDB
2439	// on your behalf.
2440	//
2441	// IamRoleArn is a required field
2442	IamRoleArn *string `type:"string" required:"true"`
2443
2444	// The compute and memory capacity of the nodes in the cluster.
2445	//
2446	// NodeType is a required field
2447	NodeType *string `type:"string" required:"true"`
2448
2449	// The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications
2450	// will be sent.
2451	//
2452	// The Amazon SNS topic owner must be same as the DAX cluster owner.
2453	NotificationTopicArn *string `type:"string"`
2454
2455	// The parameter group to be associated with the DAX cluster.
2456	ParameterGroupName *string `type:"string"`
2457
2458	// Specifies the weekly time range during which maintenance on the DAX cluster
2459	// is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi
2460	// (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid
2461	// values for ddd are:
2462	//
2463	//    * sun
2464	//
2465	//    * mon
2466	//
2467	//    * tue
2468	//
2469	//    * wed
2470	//
2471	//    * thu
2472	//
2473	//    * fri
2474	//
2475	//    * sat
2476	//
2477	// Example: sun:05:00-sun:09:00
2478	//
2479	// If you don't specify a preferred maintenance window when you create or modify
2480	// a cache cluster, DAX assigns a 60-minute maintenance window on a randomly
2481	// selected day of the week.
2482	PreferredMaintenanceWindow *string `type:"string"`
2483
2484	// The number of nodes in the DAX cluster. A replication factor of 1 will create
2485	// a single-node cluster, without any read replicas. For additional fault tolerance,
2486	// you can create a multiple node cluster with one or more read replicas. To
2487	// do this, set ReplicationFactor to a number between 3 (one primary and two
2488	// read replicas) and 10 (one primary and nine read replicas). If the AvailabilityZones
2489	// parameter is provided, its length must equal the ReplicationFactor.
2490	//
2491	// AWS recommends that you have at least two read replicas per cluster.
2492	//
2493	// ReplicationFactor is a required field
2494	ReplicationFactor *int64 `type:"integer" required:"true"`
2495
2496	// Represents the settings used to enable server-side encryption on the cluster.
2497	SSESpecification *SSESpecification `type:"structure"`
2498
2499	// A list of security group IDs to be assigned to each node in the DAX cluster.
2500	// (Each of the security group ID is system-generated.)
2501	//
2502	// If this parameter is not specified, DAX assigns the default VPC security
2503	// group to each node.
2504	SecurityGroupIds []*string `type:"list"`
2505
2506	// The name of the subnet group to be used for the replication group.
2507	//
2508	// DAX clusters can only run in an Amazon VPC environment. All of the subnets
2509	// that you specify in a subnet group must exist in the same VPC.
2510	SubnetGroupName *string `type:"string"`
2511
2512	// A set of tags to associate with the DAX cluster.
2513	Tags []*Tag `type:"list"`
2514}
2515
2516// String returns the string representation.
2517//
2518// API parameter values that are decorated as "sensitive" in the API will not
2519// be included in the string output. The member name will be present, but the
2520// value will be replaced with "sensitive".
2521func (s CreateClusterInput) String() string {
2522	return awsutil.Prettify(s)
2523}
2524
2525// GoString returns the string representation.
2526//
2527// API parameter values that are decorated as "sensitive" in the API will not
2528// be included in the string output. The member name will be present, but the
2529// value will be replaced with "sensitive".
2530func (s CreateClusterInput) GoString() string {
2531	return s.String()
2532}
2533
2534// Validate inspects the fields of the type to determine if they are valid.
2535func (s *CreateClusterInput) Validate() error {
2536	invalidParams := request.ErrInvalidParams{Context: "CreateClusterInput"}
2537	if s.ClusterName == nil {
2538		invalidParams.Add(request.NewErrParamRequired("ClusterName"))
2539	}
2540	if s.IamRoleArn == nil {
2541		invalidParams.Add(request.NewErrParamRequired("IamRoleArn"))
2542	}
2543	if s.NodeType == nil {
2544		invalidParams.Add(request.NewErrParamRequired("NodeType"))
2545	}
2546	if s.ReplicationFactor == nil {
2547		invalidParams.Add(request.NewErrParamRequired("ReplicationFactor"))
2548	}
2549	if s.SSESpecification != nil {
2550		if err := s.SSESpecification.Validate(); err != nil {
2551			invalidParams.AddNested("SSESpecification", err.(request.ErrInvalidParams))
2552		}
2553	}
2554
2555	if invalidParams.Len() > 0 {
2556		return invalidParams
2557	}
2558	return nil
2559}
2560
2561// SetAvailabilityZones sets the AvailabilityZones field's value.
2562func (s *CreateClusterInput) SetAvailabilityZones(v []*string) *CreateClusterInput {
2563	s.AvailabilityZones = v
2564	return s
2565}
2566
2567// SetClusterEndpointEncryptionType sets the ClusterEndpointEncryptionType field's value.
2568func (s *CreateClusterInput) SetClusterEndpointEncryptionType(v string) *CreateClusterInput {
2569	s.ClusterEndpointEncryptionType = &v
2570	return s
2571}
2572
2573// SetClusterName sets the ClusterName field's value.
2574func (s *CreateClusterInput) SetClusterName(v string) *CreateClusterInput {
2575	s.ClusterName = &v
2576	return s
2577}
2578
2579// SetDescription sets the Description field's value.
2580func (s *CreateClusterInput) SetDescription(v string) *CreateClusterInput {
2581	s.Description = &v
2582	return s
2583}
2584
2585// SetIamRoleArn sets the IamRoleArn field's value.
2586func (s *CreateClusterInput) SetIamRoleArn(v string) *CreateClusterInput {
2587	s.IamRoleArn = &v
2588	return s
2589}
2590
2591// SetNodeType sets the NodeType field's value.
2592func (s *CreateClusterInput) SetNodeType(v string) *CreateClusterInput {
2593	s.NodeType = &v
2594	return s
2595}
2596
2597// SetNotificationTopicArn sets the NotificationTopicArn field's value.
2598func (s *CreateClusterInput) SetNotificationTopicArn(v string) *CreateClusterInput {
2599	s.NotificationTopicArn = &v
2600	return s
2601}
2602
2603// SetParameterGroupName sets the ParameterGroupName field's value.
2604func (s *CreateClusterInput) SetParameterGroupName(v string) *CreateClusterInput {
2605	s.ParameterGroupName = &v
2606	return s
2607}
2608
2609// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
2610func (s *CreateClusterInput) SetPreferredMaintenanceWindow(v string) *CreateClusterInput {
2611	s.PreferredMaintenanceWindow = &v
2612	return s
2613}
2614
2615// SetReplicationFactor sets the ReplicationFactor field's value.
2616func (s *CreateClusterInput) SetReplicationFactor(v int64) *CreateClusterInput {
2617	s.ReplicationFactor = &v
2618	return s
2619}
2620
2621// SetSSESpecification sets the SSESpecification field's value.
2622func (s *CreateClusterInput) SetSSESpecification(v *SSESpecification) *CreateClusterInput {
2623	s.SSESpecification = v
2624	return s
2625}
2626
2627// SetSecurityGroupIds sets the SecurityGroupIds field's value.
2628func (s *CreateClusterInput) SetSecurityGroupIds(v []*string) *CreateClusterInput {
2629	s.SecurityGroupIds = v
2630	return s
2631}
2632
2633// SetSubnetGroupName sets the SubnetGroupName field's value.
2634func (s *CreateClusterInput) SetSubnetGroupName(v string) *CreateClusterInput {
2635	s.SubnetGroupName = &v
2636	return s
2637}
2638
2639// SetTags sets the Tags field's value.
2640func (s *CreateClusterInput) SetTags(v []*Tag) *CreateClusterInput {
2641	s.Tags = v
2642	return s
2643}
2644
2645type CreateClusterOutput struct {
2646	_ struct{} `type:"structure"`
2647
2648	// A description of the DAX cluster that you have created.
2649	Cluster *Cluster `type:"structure"`
2650}
2651
2652// String returns the string representation.
2653//
2654// API parameter values that are decorated as "sensitive" in the API will not
2655// be included in the string output. The member name will be present, but the
2656// value will be replaced with "sensitive".
2657func (s CreateClusterOutput) String() string {
2658	return awsutil.Prettify(s)
2659}
2660
2661// GoString returns the string representation.
2662//
2663// API parameter values that are decorated as "sensitive" in the API will not
2664// be included in the string output. The member name will be present, but the
2665// value will be replaced with "sensitive".
2666func (s CreateClusterOutput) GoString() string {
2667	return s.String()
2668}
2669
2670// SetCluster sets the Cluster field's value.
2671func (s *CreateClusterOutput) SetCluster(v *Cluster) *CreateClusterOutput {
2672	s.Cluster = v
2673	return s
2674}
2675
2676type CreateParameterGroupInput struct {
2677	_ struct{} `type:"structure"`
2678
2679	// A description of the parameter group.
2680	Description *string `type:"string"`
2681
2682	// The name of the parameter group to apply to all of the clusters in this replication
2683	// group.
2684	//
2685	// ParameterGroupName is a required field
2686	ParameterGroupName *string `type:"string" required:"true"`
2687}
2688
2689// String returns the string representation.
2690//
2691// API parameter values that are decorated as "sensitive" in the API will not
2692// be included in the string output. The member name will be present, but the
2693// value will be replaced with "sensitive".
2694func (s CreateParameterGroupInput) String() string {
2695	return awsutil.Prettify(s)
2696}
2697
2698// GoString returns the string representation.
2699//
2700// API parameter values that are decorated as "sensitive" in the API will not
2701// be included in the string output. The member name will be present, but the
2702// value will be replaced with "sensitive".
2703func (s CreateParameterGroupInput) GoString() string {
2704	return s.String()
2705}
2706
2707// Validate inspects the fields of the type to determine if they are valid.
2708func (s *CreateParameterGroupInput) Validate() error {
2709	invalidParams := request.ErrInvalidParams{Context: "CreateParameterGroupInput"}
2710	if s.ParameterGroupName == nil {
2711		invalidParams.Add(request.NewErrParamRequired("ParameterGroupName"))
2712	}
2713
2714	if invalidParams.Len() > 0 {
2715		return invalidParams
2716	}
2717	return nil
2718}
2719
2720// SetDescription sets the Description field's value.
2721func (s *CreateParameterGroupInput) SetDescription(v string) *CreateParameterGroupInput {
2722	s.Description = &v
2723	return s
2724}
2725
2726// SetParameterGroupName sets the ParameterGroupName field's value.
2727func (s *CreateParameterGroupInput) SetParameterGroupName(v string) *CreateParameterGroupInput {
2728	s.ParameterGroupName = &v
2729	return s
2730}
2731
2732type CreateParameterGroupOutput struct {
2733	_ struct{} `type:"structure"`
2734
2735	// Represents the output of a CreateParameterGroup action.
2736	ParameterGroup *ParameterGroup `type:"structure"`
2737}
2738
2739// String returns the string representation.
2740//
2741// API parameter values that are decorated as "sensitive" in the API will not
2742// be included in the string output. The member name will be present, but the
2743// value will be replaced with "sensitive".
2744func (s CreateParameterGroupOutput) String() string {
2745	return awsutil.Prettify(s)
2746}
2747
2748// GoString returns the string representation.
2749//
2750// API parameter values that are decorated as "sensitive" in the API will not
2751// be included in the string output. The member name will be present, but the
2752// value will be replaced with "sensitive".
2753func (s CreateParameterGroupOutput) GoString() string {
2754	return s.String()
2755}
2756
2757// SetParameterGroup sets the ParameterGroup field's value.
2758func (s *CreateParameterGroupOutput) SetParameterGroup(v *ParameterGroup) *CreateParameterGroupOutput {
2759	s.ParameterGroup = v
2760	return s
2761}
2762
2763type CreateSubnetGroupInput struct {
2764	_ struct{} `type:"structure"`
2765
2766	// A description for the subnet group
2767	Description *string `type:"string"`
2768
2769	// A name for the subnet group. This value is stored as a lowercase string.
2770	//
2771	// SubnetGroupName is a required field
2772	SubnetGroupName *string `type:"string" required:"true"`
2773
2774	// A list of VPC subnet IDs for the subnet group.
2775	//
2776	// SubnetIds is a required field
2777	SubnetIds []*string `type:"list" required:"true"`
2778}
2779
2780// String returns the string representation.
2781//
2782// API parameter values that are decorated as "sensitive" in the API will not
2783// be included in the string output. The member name will be present, but the
2784// value will be replaced with "sensitive".
2785func (s CreateSubnetGroupInput) String() string {
2786	return awsutil.Prettify(s)
2787}
2788
2789// GoString returns the string representation.
2790//
2791// API parameter values that are decorated as "sensitive" in the API will not
2792// be included in the string output. The member name will be present, but the
2793// value will be replaced with "sensitive".
2794func (s CreateSubnetGroupInput) GoString() string {
2795	return s.String()
2796}
2797
2798// Validate inspects the fields of the type to determine if they are valid.
2799func (s *CreateSubnetGroupInput) Validate() error {
2800	invalidParams := request.ErrInvalidParams{Context: "CreateSubnetGroupInput"}
2801	if s.SubnetGroupName == nil {
2802		invalidParams.Add(request.NewErrParamRequired("SubnetGroupName"))
2803	}
2804	if s.SubnetIds == nil {
2805		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
2806	}
2807
2808	if invalidParams.Len() > 0 {
2809		return invalidParams
2810	}
2811	return nil
2812}
2813
2814// SetDescription sets the Description field's value.
2815func (s *CreateSubnetGroupInput) SetDescription(v string) *CreateSubnetGroupInput {
2816	s.Description = &v
2817	return s
2818}
2819
2820// SetSubnetGroupName sets the SubnetGroupName field's value.
2821func (s *CreateSubnetGroupInput) SetSubnetGroupName(v string) *CreateSubnetGroupInput {
2822	s.SubnetGroupName = &v
2823	return s
2824}
2825
2826// SetSubnetIds sets the SubnetIds field's value.
2827func (s *CreateSubnetGroupInput) SetSubnetIds(v []*string) *CreateSubnetGroupInput {
2828	s.SubnetIds = v
2829	return s
2830}
2831
2832type CreateSubnetGroupOutput struct {
2833	_ struct{} `type:"structure"`
2834
2835	// Represents the output of a CreateSubnetGroup operation.
2836	SubnetGroup *SubnetGroup `type:"structure"`
2837}
2838
2839// String returns the string representation.
2840//
2841// API parameter values that are decorated as "sensitive" in the API will not
2842// be included in the string output. The member name will be present, but the
2843// value will be replaced with "sensitive".
2844func (s CreateSubnetGroupOutput) String() string {
2845	return awsutil.Prettify(s)
2846}
2847
2848// GoString returns the string representation.
2849//
2850// API parameter values that are decorated as "sensitive" in the API will not
2851// be included in the string output. The member name will be present, but the
2852// value will be replaced with "sensitive".
2853func (s CreateSubnetGroupOutput) GoString() string {
2854	return s.String()
2855}
2856
2857// SetSubnetGroup sets the SubnetGroup field's value.
2858func (s *CreateSubnetGroupOutput) SetSubnetGroup(v *SubnetGroup) *CreateSubnetGroupOutput {
2859	s.SubnetGroup = v
2860	return s
2861}
2862
2863type DecreaseReplicationFactorInput struct {
2864	_ struct{} `type:"structure"`
2865
2866	// The Availability Zone(s) from which to remove nodes.
2867	AvailabilityZones []*string `type:"list"`
2868
2869	// The name of the DAX cluster from which you want to remove nodes.
2870	//
2871	// ClusterName is a required field
2872	ClusterName *string `type:"string" required:"true"`
2873
2874	// The new number of nodes for the DAX cluster.
2875	//
2876	// NewReplicationFactor is a required field
2877	NewReplicationFactor *int64 `type:"integer" required:"true"`
2878
2879	// The unique identifiers of the nodes to be removed from the cluster.
2880	NodeIdsToRemove []*string `type:"list"`
2881}
2882
2883// String returns the string representation.
2884//
2885// API parameter values that are decorated as "sensitive" in the API will not
2886// be included in the string output. The member name will be present, but the
2887// value will be replaced with "sensitive".
2888func (s DecreaseReplicationFactorInput) String() string {
2889	return awsutil.Prettify(s)
2890}
2891
2892// GoString returns the string representation.
2893//
2894// API parameter values that are decorated as "sensitive" in the API will not
2895// be included in the string output. The member name will be present, but the
2896// value will be replaced with "sensitive".
2897func (s DecreaseReplicationFactorInput) GoString() string {
2898	return s.String()
2899}
2900
2901// Validate inspects the fields of the type to determine if they are valid.
2902func (s *DecreaseReplicationFactorInput) Validate() error {
2903	invalidParams := request.ErrInvalidParams{Context: "DecreaseReplicationFactorInput"}
2904	if s.ClusterName == nil {
2905		invalidParams.Add(request.NewErrParamRequired("ClusterName"))
2906	}
2907	if s.NewReplicationFactor == nil {
2908		invalidParams.Add(request.NewErrParamRequired("NewReplicationFactor"))
2909	}
2910
2911	if invalidParams.Len() > 0 {
2912		return invalidParams
2913	}
2914	return nil
2915}
2916
2917// SetAvailabilityZones sets the AvailabilityZones field's value.
2918func (s *DecreaseReplicationFactorInput) SetAvailabilityZones(v []*string) *DecreaseReplicationFactorInput {
2919	s.AvailabilityZones = v
2920	return s
2921}
2922
2923// SetClusterName sets the ClusterName field's value.
2924func (s *DecreaseReplicationFactorInput) SetClusterName(v string) *DecreaseReplicationFactorInput {
2925	s.ClusterName = &v
2926	return s
2927}
2928
2929// SetNewReplicationFactor sets the NewReplicationFactor field's value.
2930func (s *DecreaseReplicationFactorInput) SetNewReplicationFactor(v int64) *DecreaseReplicationFactorInput {
2931	s.NewReplicationFactor = &v
2932	return s
2933}
2934
2935// SetNodeIdsToRemove sets the NodeIdsToRemove field's value.
2936func (s *DecreaseReplicationFactorInput) SetNodeIdsToRemove(v []*string) *DecreaseReplicationFactorInput {
2937	s.NodeIdsToRemove = v
2938	return s
2939}
2940
2941type DecreaseReplicationFactorOutput struct {
2942	_ struct{} `type:"structure"`
2943
2944	// A description of the DAX cluster, after you have decreased its replication
2945	// factor.
2946	Cluster *Cluster `type:"structure"`
2947}
2948
2949// String returns the string representation.
2950//
2951// API parameter values that are decorated as "sensitive" in the API will not
2952// be included in the string output. The member name will be present, but the
2953// value will be replaced with "sensitive".
2954func (s DecreaseReplicationFactorOutput) String() string {
2955	return awsutil.Prettify(s)
2956}
2957
2958// GoString returns the string representation.
2959//
2960// API parameter values that are decorated as "sensitive" in the API will not
2961// be included in the string output. The member name will be present, but the
2962// value will be replaced with "sensitive".
2963func (s DecreaseReplicationFactorOutput) GoString() string {
2964	return s.String()
2965}
2966
2967// SetCluster sets the Cluster field's value.
2968func (s *DecreaseReplicationFactorOutput) SetCluster(v *Cluster) *DecreaseReplicationFactorOutput {
2969	s.Cluster = v
2970	return s
2971}
2972
2973type DeleteClusterInput struct {
2974	_ struct{} `type:"structure"`
2975
2976	// The name of the cluster to be deleted.
2977	//
2978	// ClusterName is a required field
2979	ClusterName *string `type:"string" required:"true"`
2980}
2981
2982// String returns the string representation.
2983//
2984// API parameter values that are decorated as "sensitive" in the API will not
2985// be included in the string output. The member name will be present, but the
2986// value will be replaced with "sensitive".
2987func (s DeleteClusterInput) String() string {
2988	return awsutil.Prettify(s)
2989}
2990
2991// GoString returns the string representation.
2992//
2993// API parameter values that are decorated as "sensitive" in the API will not
2994// be included in the string output. The member name will be present, but the
2995// value will be replaced with "sensitive".
2996func (s DeleteClusterInput) GoString() string {
2997	return s.String()
2998}
2999
3000// Validate inspects the fields of the type to determine if they are valid.
3001func (s *DeleteClusterInput) Validate() error {
3002	invalidParams := request.ErrInvalidParams{Context: "DeleteClusterInput"}
3003	if s.ClusterName == nil {
3004		invalidParams.Add(request.NewErrParamRequired("ClusterName"))
3005	}
3006
3007	if invalidParams.Len() > 0 {
3008		return invalidParams
3009	}
3010	return nil
3011}
3012
3013// SetClusterName sets the ClusterName field's value.
3014func (s *DeleteClusterInput) SetClusterName(v string) *DeleteClusterInput {
3015	s.ClusterName = &v
3016	return s
3017}
3018
3019type DeleteClusterOutput struct {
3020	_ struct{} `type:"structure"`
3021
3022	// A description of the DAX cluster that is being deleted.
3023	Cluster *Cluster `type:"structure"`
3024}
3025
3026// String returns the string representation.
3027//
3028// API parameter values that are decorated as "sensitive" in the API will not
3029// be included in the string output. The member name will be present, but the
3030// value will be replaced with "sensitive".
3031func (s DeleteClusterOutput) String() string {
3032	return awsutil.Prettify(s)
3033}
3034
3035// GoString returns the string representation.
3036//
3037// API parameter values that are decorated as "sensitive" in the API will not
3038// be included in the string output. The member name will be present, but the
3039// value will be replaced with "sensitive".
3040func (s DeleteClusterOutput) GoString() string {
3041	return s.String()
3042}
3043
3044// SetCluster sets the Cluster field's value.
3045func (s *DeleteClusterOutput) SetCluster(v *Cluster) *DeleteClusterOutput {
3046	s.Cluster = v
3047	return s
3048}
3049
3050type DeleteParameterGroupInput struct {
3051	_ struct{} `type:"structure"`
3052
3053	// The name of the parameter group to delete.
3054	//
3055	// ParameterGroupName is a required field
3056	ParameterGroupName *string `type:"string" required:"true"`
3057}
3058
3059// String returns the string representation.
3060//
3061// API parameter values that are decorated as "sensitive" in the API will not
3062// be included in the string output. The member name will be present, but the
3063// value will be replaced with "sensitive".
3064func (s DeleteParameterGroupInput) String() string {
3065	return awsutil.Prettify(s)
3066}
3067
3068// GoString returns the string representation.
3069//
3070// API parameter values that are decorated as "sensitive" in the API will not
3071// be included in the string output. The member name will be present, but the
3072// value will be replaced with "sensitive".
3073func (s DeleteParameterGroupInput) GoString() string {
3074	return s.String()
3075}
3076
3077// Validate inspects the fields of the type to determine if they are valid.
3078func (s *DeleteParameterGroupInput) Validate() error {
3079	invalidParams := request.ErrInvalidParams{Context: "DeleteParameterGroupInput"}
3080	if s.ParameterGroupName == nil {
3081		invalidParams.Add(request.NewErrParamRequired("ParameterGroupName"))
3082	}
3083
3084	if invalidParams.Len() > 0 {
3085		return invalidParams
3086	}
3087	return nil
3088}
3089
3090// SetParameterGroupName sets the ParameterGroupName field's value.
3091func (s *DeleteParameterGroupInput) SetParameterGroupName(v string) *DeleteParameterGroupInput {
3092	s.ParameterGroupName = &v
3093	return s
3094}
3095
3096type DeleteParameterGroupOutput struct {
3097	_ struct{} `type:"structure"`
3098
3099	// A user-specified message for this action (i.e., a reason for deleting the
3100	// parameter group).
3101	DeletionMessage *string `type:"string"`
3102}
3103
3104// String returns the string representation.
3105//
3106// API parameter values that are decorated as "sensitive" in the API will not
3107// be included in the string output. The member name will be present, but the
3108// value will be replaced with "sensitive".
3109func (s DeleteParameterGroupOutput) String() string {
3110	return awsutil.Prettify(s)
3111}
3112
3113// GoString returns the string representation.
3114//
3115// API parameter values that are decorated as "sensitive" in the API will not
3116// be included in the string output. The member name will be present, but the
3117// value will be replaced with "sensitive".
3118func (s DeleteParameterGroupOutput) GoString() string {
3119	return s.String()
3120}
3121
3122// SetDeletionMessage sets the DeletionMessage field's value.
3123func (s *DeleteParameterGroupOutput) SetDeletionMessage(v string) *DeleteParameterGroupOutput {
3124	s.DeletionMessage = &v
3125	return s
3126}
3127
3128type DeleteSubnetGroupInput struct {
3129	_ struct{} `type:"structure"`
3130
3131	// The name of the subnet group to delete.
3132	//
3133	// SubnetGroupName is a required field
3134	SubnetGroupName *string `type:"string" required:"true"`
3135}
3136
3137// String returns the string representation.
3138//
3139// API parameter values that are decorated as "sensitive" in the API will not
3140// be included in the string output. The member name will be present, but the
3141// value will be replaced with "sensitive".
3142func (s DeleteSubnetGroupInput) String() string {
3143	return awsutil.Prettify(s)
3144}
3145
3146// GoString returns the string representation.
3147//
3148// API parameter values that are decorated as "sensitive" in the API will not
3149// be included in the string output. The member name will be present, but the
3150// value will be replaced with "sensitive".
3151func (s DeleteSubnetGroupInput) GoString() string {
3152	return s.String()
3153}
3154
3155// Validate inspects the fields of the type to determine if they are valid.
3156func (s *DeleteSubnetGroupInput) Validate() error {
3157	invalidParams := request.ErrInvalidParams{Context: "DeleteSubnetGroupInput"}
3158	if s.SubnetGroupName == nil {
3159		invalidParams.Add(request.NewErrParamRequired("SubnetGroupName"))
3160	}
3161
3162	if invalidParams.Len() > 0 {
3163		return invalidParams
3164	}
3165	return nil
3166}
3167
3168// SetSubnetGroupName sets the SubnetGroupName field's value.
3169func (s *DeleteSubnetGroupInput) SetSubnetGroupName(v string) *DeleteSubnetGroupInput {
3170	s.SubnetGroupName = &v
3171	return s
3172}
3173
3174type DeleteSubnetGroupOutput struct {
3175	_ struct{} `type:"structure"`
3176
3177	// A user-specified message for this action (i.e., a reason for deleting the
3178	// subnet group).
3179	DeletionMessage *string `type:"string"`
3180}
3181
3182// String returns the string representation.
3183//
3184// API parameter values that are decorated as "sensitive" in the API will not
3185// be included in the string output. The member name will be present, but the
3186// value will be replaced with "sensitive".
3187func (s DeleteSubnetGroupOutput) String() string {
3188	return awsutil.Prettify(s)
3189}
3190
3191// GoString returns the string representation.
3192//
3193// API parameter values that are decorated as "sensitive" in the API will not
3194// be included in the string output. The member name will be present, but the
3195// value will be replaced with "sensitive".
3196func (s DeleteSubnetGroupOutput) GoString() string {
3197	return s.String()
3198}
3199
3200// SetDeletionMessage sets the DeletionMessage field's value.
3201func (s *DeleteSubnetGroupOutput) SetDeletionMessage(v string) *DeleteSubnetGroupOutput {
3202	s.DeletionMessage = &v
3203	return s
3204}
3205
3206type DescribeClustersInput struct {
3207	_ struct{} `type:"structure"`
3208
3209	// The names of the DAX clusters being described.
3210	ClusterNames []*string `type:"list"`
3211
3212	// The maximum number of results to include in the response. If more results
3213	// exist than the specified MaxResults value, a token is included in the response
3214	// so that the remaining results can be retrieved.
3215	//
3216	// The value for MaxResults must be between 20 and 100.
3217	MaxResults *int64 `type:"integer"`
3218
3219	// An optional token returned from a prior request. Use this token for pagination
3220	// of results from this action. If this parameter is specified, the response
3221	// includes only results beyond the token, up to the value specified by MaxResults.
3222	NextToken *string `type:"string"`
3223}
3224
3225// String returns the string representation.
3226//
3227// API parameter values that are decorated as "sensitive" in the API will not
3228// be included in the string output. The member name will be present, but the
3229// value will be replaced with "sensitive".
3230func (s DescribeClustersInput) String() string {
3231	return awsutil.Prettify(s)
3232}
3233
3234// GoString returns the string representation.
3235//
3236// API parameter values that are decorated as "sensitive" in the API will not
3237// be included in the string output. The member name will be present, but the
3238// value will be replaced with "sensitive".
3239func (s DescribeClustersInput) GoString() string {
3240	return s.String()
3241}
3242
3243// SetClusterNames sets the ClusterNames field's value.
3244func (s *DescribeClustersInput) SetClusterNames(v []*string) *DescribeClustersInput {
3245	s.ClusterNames = v
3246	return s
3247}
3248
3249// SetMaxResults sets the MaxResults field's value.
3250func (s *DescribeClustersInput) SetMaxResults(v int64) *DescribeClustersInput {
3251	s.MaxResults = &v
3252	return s
3253}
3254
3255// SetNextToken sets the NextToken field's value.
3256func (s *DescribeClustersInput) SetNextToken(v string) *DescribeClustersInput {
3257	s.NextToken = &v
3258	return s
3259}
3260
3261type DescribeClustersOutput struct {
3262	_ struct{} `type:"structure"`
3263
3264	// The descriptions of your DAX clusters, in response to a DescribeClusters
3265	// request.
3266	Clusters []*Cluster `type:"list"`
3267
3268	// Provides an identifier to allow retrieval of paginated results.
3269	NextToken *string `type:"string"`
3270}
3271
3272// String returns the string representation.
3273//
3274// API parameter values that are decorated as "sensitive" in the API will not
3275// be included in the string output. The member name will be present, but the
3276// value will be replaced with "sensitive".
3277func (s DescribeClustersOutput) String() string {
3278	return awsutil.Prettify(s)
3279}
3280
3281// GoString returns the string representation.
3282//
3283// API parameter values that are decorated as "sensitive" in the API will not
3284// be included in the string output. The member name will be present, but the
3285// value will be replaced with "sensitive".
3286func (s DescribeClustersOutput) GoString() string {
3287	return s.String()
3288}
3289
3290// SetClusters sets the Clusters field's value.
3291func (s *DescribeClustersOutput) SetClusters(v []*Cluster) *DescribeClustersOutput {
3292	s.Clusters = v
3293	return s
3294}
3295
3296// SetNextToken sets the NextToken field's value.
3297func (s *DescribeClustersOutput) SetNextToken(v string) *DescribeClustersOutput {
3298	s.NextToken = &v
3299	return s
3300}
3301
3302type DescribeDefaultParametersInput struct {
3303	_ struct{} `type:"structure"`
3304
3305	// The maximum number of results to include in the response. If more results
3306	// exist than the specified MaxResults value, a token is included in the response
3307	// so that the remaining results can be retrieved.
3308	//
3309	// The value for MaxResults must be between 20 and 100.
3310	MaxResults *int64 `type:"integer"`
3311
3312	// An optional token returned from a prior request. Use this token for pagination
3313	// of results from this action. If this parameter is specified, the response
3314	// includes only results beyond the token, up to the value specified by MaxResults.
3315	NextToken *string `type:"string"`
3316}
3317
3318// String returns the string representation.
3319//
3320// API parameter values that are decorated as "sensitive" in the API will not
3321// be included in the string output. The member name will be present, but the
3322// value will be replaced with "sensitive".
3323func (s DescribeDefaultParametersInput) String() string {
3324	return awsutil.Prettify(s)
3325}
3326
3327// GoString returns the string representation.
3328//
3329// API parameter values that are decorated as "sensitive" in the API will not
3330// be included in the string output. The member name will be present, but the
3331// value will be replaced with "sensitive".
3332func (s DescribeDefaultParametersInput) GoString() string {
3333	return s.String()
3334}
3335
3336// SetMaxResults sets the MaxResults field's value.
3337func (s *DescribeDefaultParametersInput) SetMaxResults(v int64) *DescribeDefaultParametersInput {
3338	s.MaxResults = &v
3339	return s
3340}
3341
3342// SetNextToken sets the NextToken field's value.
3343func (s *DescribeDefaultParametersInput) SetNextToken(v string) *DescribeDefaultParametersInput {
3344	s.NextToken = &v
3345	return s
3346}
3347
3348type DescribeDefaultParametersOutput struct {
3349	_ struct{} `type:"structure"`
3350
3351	// Provides an identifier to allow retrieval of paginated results.
3352	NextToken *string `type:"string"`
3353
3354	// A list of parameters. Each element in the list represents one parameter.
3355	Parameters []*Parameter `type:"list"`
3356}
3357
3358// String returns the string representation.
3359//
3360// API parameter values that are decorated as "sensitive" in the API will not
3361// be included in the string output. The member name will be present, but the
3362// value will be replaced with "sensitive".
3363func (s DescribeDefaultParametersOutput) String() string {
3364	return awsutil.Prettify(s)
3365}
3366
3367// GoString returns the string representation.
3368//
3369// API parameter values that are decorated as "sensitive" in the API will not
3370// be included in the string output. The member name will be present, but the
3371// value will be replaced with "sensitive".
3372func (s DescribeDefaultParametersOutput) GoString() string {
3373	return s.String()
3374}
3375
3376// SetNextToken sets the NextToken field's value.
3377func (s *DescribeDefaultParametersOutput) SetNextToken(v string) *DescribeDefaultParametersOutput {
3378	s.NextToken = &v
3379	return s
3380}
3381
3382// SetParameters sets the Parameters field's value.
3383func (s *DescribeDefaultParametersOutput) SetParameters(v []*Parameter) *DescribeDefaultParametersOutput {
3384	s.Parameters = v
3385	return s
3386}
3387
3388type DescribeEventsInput struct {
3389	_ struct{} `type:"structure"`
3390
3391	// The number of minutes' worth of events to retrieve.
3392	Duration *int64 `type:"integer"`
3393
3394	// The end of the time interval for which to retrieve events, specified in ISO
3395	// 8601 format.
3396	EndTime *time.Time `type:"timestamp"`
3397
3398	// The maximum number of results to include in the response. If more results
3399	// exist than the specified MaxResults value, a token is included in the response
3400	// so that the remaining results can be retrieved.
3401	//
3402	// The value for MaxResults must be between 20 and 100.
3403	MaxResults *int64 `type:"integer"`
3404
3405	// An optional token returned from a prior request. Use this token for pagination
3406	// of results from this action. If this parameter is specified, the response
3407	// includes only results beyond the token, up to the value specified by MaxResults.
3408	NextToken *string `type:"string"`
3409
3410	// The identifier of the event source for which events will be returned. If
3411	// not specified, then all sources are included in the response.
3412	SourceName *string `type:"string"`
3413
3414	// The event source to retrieve events for. If no value is specified, all events
3415	// are returned.
3416	SourceType *string `type:"string" enum:"SourceType"`
3417
3418	// The beginning of the time interval to retrieve events for, specified in ISO
3419	// 8601 format.
3420	StartTime *time.Time `type:"timestamp"`
3421}
3422
3423// String returns the string representation.
3424//
3425// API parameter values that are decorated as "sensitive" in the API will not
3426// be included in the string output. The member name will be present, but the
3427// value will be replaced with "sensitive".
3428func (s DescribeEventsInput) String() string {
3429	return awsutil.Prettify(s)
3430}
3431
3432// GoString returns the string representation.
3433//
3434// API parameter values that are decorated as "sensitive" in the API will not
3435// be included in the string output. The member name will be present, but the
3436// value will be replaced with "sensitive".
3437func (s DescribeEventsInput) GoString() string {
3438	return s.String()
3439}
3440
3441// SetDuration sets the Duration field's value.
3442func (s *DescribeEventsInput) SetDuration(v int64) *DescribeEventsInput {
3443	s.Duration = &v
3444	return s
3445}
3446
3447// SetEndTime sets the EndTime field's value.
3448func (s *DescribeEventsInput) SetEndTime(v time.Time) *DescribeEventsInput {
3449	s.EndTime = &v
3450	return s
3451}
3452
3453// SetMaxResults sets the MaxResults field's value.
3454func (s *DescribeEventsInput) SetMaxResults(v int64) *DescribeEventsInput {
3455	s.MaxResults = &v
3456	return s
3457}
3458
3459// SetNextToken sets the NextToken field's value.
3460func (s *DescribeEventsInput) SetNextToken(v string) *DescribeEventsInput {
3461	s.NextToken = &v
3462	return s
3463}
3464
3465// SetSourceName sets the SourceName field's value.
3466func (s *DescribeEventsInput) SetSourceName(v string) *DescribeEventsInput {
3467	s.SourceName = &v
3468	return s
3469}
3470
3471// SetSourceType sets the SourceType field's value.
3472func (s *DescribeEventsInput) SetSourceType(v string) *DescribeEventsInput {
3473	s.SourceType = &v
3474	return s
3475}
3476
3477// SetStartTime sets the StartTime field's value.
3478func (s *DescribeEventsInput) SetStartTime(v time.Time) *DescribeEventsInput {
3479	s.StartTime = &v
3480	return s
3481}
3482
3483type DescribeEventsOutput struct {
3484	_ struct{} `type:"structure"`
3485
3486	// An array of events. Each element in the array represents one event.
3487	Events []*Event `type:"list"`
3488
3489	// Provides an identifier to allow retrieval of paginated results.
3490	NextToken *string `type:"string"`
3491}
3492
3493// String returns the string representation.
3494//
3495// API parameter values that are decorated as "sensitive" in the API will not
3496// be included in the string output. The member name will be present, but the
3497// value will be replaced with "sensitive".
3498func (s DescribeEventsOutput) String() string {
3499	return awsutil.Prettify(s)
3500}
3501
3502// GoString returns the string representation.
3503//
3504// API parameter values that are decorated as "sensitive" in the API will not
3505// be included in the string output. The member name will be present, but the
3506// value will be replaced with "sensitive".
3507func (s DescribeEventsOutput) GoString() string {
3508	return s.String()
3509}
3510
3511// SetEvents sets the Events field's value.
3512func (s *DescribeEventsOutput) SetEvents(v []*Event) *DescribeEventsOutput {
3513	s.Events = v
3514	return s
3515}
3516
3517// SetNextToken sets the NextToken field's value.
3518func (s *DescribeEventsOutput) SetNextToken(v string) *DescribeEventsOutput {
3519	s.NextToken = &v
3520	return s
3521}
3522
3523type DescribeParameterGroupsInput struct {
3524	_ struct{} `type:"structure"`
3525
3526	// The maximum number of results to include in the response. If more results
3527	// exist than the specified MaxResults value, a token is included in the response
3528	// so that the remaining results can be retrieved.
3529	//
3530	// The value for MaxResults must be between 20 and 100.
3531	MaxResults *int64 `type:"integer"`
3532
3533	// An optional token returned from a prior request. Use this token for pagination
3534	// of results from this action. If this parameter is specified, the response
3535	// includes only results beyond the token, up to the value specified by MaxResults.
3536	NextToken *string `type:"string"`
3537
3538	// The names of the parameter groups.
3539	ParameterGroupNames []*string `type:"list"`
3540}
3541
3542// String returns the string representation.
3543//
3544// API parameter values that are decorated as "sensitive" in the API will not
3545// be included in the string output. The member name will be present, but the
3546// value will be replaced with "sensitive".
3547func (s DescribeParameterGroupsInput) String() string {
3548	return awsutil.Prettify(s)
3549}
3550
3551// GoString returns the string representation.
3552//
3553// API parameter values that are decorated as "sensitive" in the API will not
3554// be included in the string output. The member name will be present, but the
3555// value will be replaced with "sensitive".
3556func (s DescribeParameterGroupsInput) GoString() string {
3557	return s.String()
3558}
3559
3560// SetMaxResults sets the MaxResults field's value.
3561func (s *DescribeParameterGroupsInput) SetMaxResults(v int64) *DescribeParameterGroupsInput {
3562	s.MaxResults = &v
3563	return s
3564}
3565
3566// SetNextToken sets the NextToken field's value.
3567func (s *DescribeParameterGroupsInput) SetNextToken(v string) *DescribeParameterGroupsInput {
3568	s.NextToken = &v
3569	return s
3570}
3571
3572// SetParameterGroupNames sets the ParameterGroupNames field's value.
3573func (s *DescribeParameterGroupsInput) SetParameterGroupNames(v []*string) *DescribeParameterGroupsInput {
3574	s.ParameterGroupNames = v
3575	return s
3576}
3577
3578type DescribeParameterGroupsOutput struct {
3579	_ struct{} `type:"structure"`
3580
3581	// Provides an identifier to allow retrieval of paginated results.
3582	NextToken *string `type:"string"`
3583
3584	// An array of parameter groups. Each element in the array represents one parameter
3585	// group.
3586	ParameterGroups []*ParameterGroup `type:"list"`
3587}
3588
3589// String returns the string representation.
3590//
3591// API parameter values that are decorated as "sensitive" in the API will not
3592// be included in the string output. The member name will be present, but the
3593// value will be replaced with "sensitive".
3594func (s DescribeParameterGroupsOutput) String() string {
3595	return awsutil.Prettify(s)
3596}
3597
3598// GoString returns the string representation.
3599//
3600// API parameter values that are decorated as "sensitive" in the API will not
3601// be included in the string output. The member name will be present, but the
3602// value will be replaced with "sensitive".
3603func (s DescribeParameterGroupsOutput) GoString() string {
3604	return s.String()
3605}
3606
3607// SetNextToken sets the NextToken field's value.
3608func (s *DescribeParameterGroupsOutput) SetNextToken(v string) *DescribeParameterGroupsOutput {
3609	s.NextToken = &v
3610	return s
3611}
3612
3613// SetParameterGroups sets the ParameterGroups field's value.
3614func (s *DescribeParameterGroupsOutput) SetParameterGroups(v []*ParameterGroup) *DescribeParameterGroupsOutput {
3615	s.ParameterGroups = v
3616	return s
3617}
3618
3619type DescribeParametersInput struct {
3620	_ struct{} `type:"structure"`
3621
3622	// The maximum number of results to include in the response. If more results
3623	// exist than the specified MaxResults value, a token is included in the response
3624	// so that the remaining results can be retrieved.
3625	//
3626	// The value for MaxResults must be between 20 and 100.
3627	MaxResults *int64 `type:"integer"`
3628
3629	// An optional token returned from a prior request. Use this token for pagination
3630	// of results from this action. If this parameter is specified, the response
3631	// includes only results beyond the token, up to the value specified by MaxResults.
3632	NextToken *string `type:"string"`
3633
3634	// The name of the parameter group.
3635	//
3636	// ParameterGroupName is a required field
3637	ParameterGroupName *string `type:"string" required:"true"`
3638
3639	// How the parameter is defined. For example, system denotes a system-defined
3640	// parameter.
3641	Source *string `type:"string"`
3642}
3643
3644// String returns the string representation.
3645//
3646// API parameter values that are decorated as "sensitive" in the API will not
3647// be included in the string output. The member name will be present, but the
3648// value will be replaced with "sensitive".
3649func (s DescribeParametersInput) String() string {
3650	return awsutil.Prettify(s)
3651}
3652
3653// GoString returns the string representation.
3654//
3655// API parameter values that are decorated as "sensitive" in the API will not
3656// be included in the string output. The member name will be present, but the
3657// value will be replaced with "sensitive".
3658func (s DescribeParametersInput) GoString() string {
3659	return s.String()
3660}
3661
3662// Validate inspects the fields of the type to determine if they are valid.
3663func (s *DescribeParametersInput) Validate() error {
3664	invalidParams := request.ErrInvalidParams{Context: "DescribeParametersInput"}
3665	if s.ParameterGroupName == nil {
3666		invalidParams.Add(request.NewErrParamRequired("ParameterGroupName"))
3667	}
3668
3669	if invalidParams.Len() > 0 {
3670		return invalidParams
3671	}
3672	return nil
3673}
3674
3675// SetMaxResults sets the MaxResults field's value.
3676func (s *DescribeParametersInput) SetMaxResults(v int64) *DescribeParametersInput {
3677	s.MaxResults = &v
3678	return s
3679}
3680
3681// SetNextToken sets the NextToken field's value.
3682func (s *DescribeParametersInput) SetNextToken(v string) *DescribeParametersInput {
3683	s.NextToken = &v
3684	return s
3685}
3686
3687// SetParameterGroupName sets the ParameterGroupName field's value.
3688func (s *DescribeParametersInput) SetParameterGroupName(v string) *DescribeParametersInput {
3689	s.ParameterGroupName = &v
3690	return s
3691}
3692
3693// SetSource sets the Source field's value.
3694func (s *DescribeParametersInput) SetSource(v string) *DescribeParametersInput {
3695	s.Source = &v
3696	return s
3697}
3698
3699type DescribeParametersOutput struct {
3700	_ struct{} `type:"structure"`
3701
3702	// Provides an identifier to allow retrieval of paginated results.
3703	NextToken *string `type:"string"`
3704
3705	// A list of parameters within a parameter group. Each element in the list represents
3706	// one parameter.
3707	Parameters []*Parameter `type:"list"`
3708}
3709
3710// String returns the string representation.
3711//
3712// API parameter values that are decorated as "sensitive" in the API will not
3713// be included in the string output. The member name will be present, but the
3714// value will be replaced with "sensitive".
3715func (s DescribeParametersOutput) String() string {
3716	return awsutil.Prettify(s)
3717}
3718
3719// GoString returns the string representation.
3720//
3721// API parameter values that are decorated as "sensitive" in the API will not
3722// be included in the string output. The member name will be present, but the
3723// value will be replaced with "sensitive".
3724func (s DescribeParametersOutput) GoString() string {
3725	return s.String()
3726}
3727
3728// SetNextToken sets the NextToken field's value.
3729func (s *DescribeParametersOutput) SetNextToken(v string) *DescribeParametersOutput {
3730	s.NextToken = &v
3731	return s
3732}
3733
3734// SetParameters sets the Parameters field's value.
3735func (s *DescribeParametersOutput) SetParameters(v []*Parameter) *DescribeParametersOutput {
3736	s.Parameters = v
3737	return s
3738}
3739
3740type DescribeSubnetGroupsInput struct {
3741	_ struct{} `type:"structure"`
3742
3743	// The maximum number of results to include in the response. If more results
3744	// exist than the specified MaxResults value, a token is included in the response
3745	// so that the remaining results can be retrieved.
3746	//
3747	// The value for MaxResults must be between 20 and 100.
3748	MaxResults *int64 `type:"integer"`
3749
3750	// An optional token returned from a prior request. Use this token for pagination
3751	// of results from this action. If this parameter is specified, the response
3752	// includes only results beyond the token, up to the value specified by MaxResults.
3753	NextToken *string `type:"string"`
3754
3755	// The name of the subnet group.
3756	SubnetGroupNames []*string `type:"list"`
3757}
3758
3759// String returns the string representation.
3760//
3761// API parameter values that are decorated as "sensitive" in the API will not
3762// be included in the string output. The member name will be present, but the
3763// value will be replaced with "sensitive".
3764func (s DescribeSubnetGroupsInput) String() string {
3765	return awsutil.Prettify(s)
3766}
3767
3768// GoString returns the string representation.
3769//
3770// API parameter values that are decorated as "sensitive" in the API will not
3771// be included in the string output. The member name will be present, but the
3772// value will be replaced with "sensitive".
3773func (s DescribeSubnetGroupsInput) GoString() string {
3774	return s.String()
3775}
3776
3777// SetMaxResults sets the MaxResults field's value.
3778func (s *DescribeSubnetGroupsInput) SetMaxResults(v int64) *DescribeSubnetGroupsInput {
3779	s.MaxResults = &v
3780	return s
3781}
3782
3783// SetNextToken sets the NextToken field's value.
3784func (s *DescribeSubnetGroupsInput) SetNextToken(v string) *DescribeSubnetGroupsInput {
3785	s.NextToken = &v
3786	return s
3787}
3788
3789// SetSubnetGroupNames sets the SubnetGroupNames field's value.
3790func (s *DescribeSubnetGroupsInput) SetSubnetGroupNames(v []*string) *DescribeSubnetGroupsInput {
3791	s.SubnetGroupNames = v
3792	return s
3793}
3794
3795type DescribeSubnetGroupsOutput struct {
3796	_ struct{} `type:"structure"`
3797
3798	// Provides an identifier to allow retrieval of paginated results.
3799	NextToken *string `type:"string"`
3800
3801	// An array of subnet groups. Each element in the array represents a single
3802	// subnet group.
3803	SubnetGroups []*SubnetGroup `type:"list"`
3804}
3805
3806// String returns the string representation.
3807//
3808// API parameter values that are decorated as "sensitive" in the API will not
3809// be included in the string output. The member name will be present, but the
3810// value will be replaced with "sensitive".
3811func (s DescribeSubnetGroupsOutput) String() string {
3812	return awsutil.Prettify(s)
3813}
3814
3815// GoString returns the string representation.
3816//
3817// API parameter values that are decorated as "sensitive" in the API will not
3818// be included in the string output. The member name will be present, but the
3819// value will be replaced with "sensitive".
3820func (s DescribeSubnetGroupsOutput) GoString() string {
3821	return s.String()
3822}
3823
3824// SetNextToken sets the NextToken field's value.
3825func (s *DescribeSubnetGroupsOutput) SetNextToken(v string) *DescribeSubnetGroupsOutput {
3826	s.NextToken = &v
3827	return s
3828}
3829
3830// SetSubnetGroups sets the SubnetGroups field's value.
3831func (s *DescribeSubnetGroupsOutput) SetSubnetGroups(v []*SubnetGroup) *DescribeSubnetGroupsOutput {
3832	s.SubnetGroups = v
3833	return s
3834}
3835
3836// Represents the information required for client programs to connect to the
3837// endpoint for a DAX cluster.
3838type Endpoint struct {
3839	_ struct{} `type:"structure"`
3840
3841	// The DNS hostname of the endpoint.
3842	Address *string `type:"string"`
3843
3844	// The port number that applications should use to connect to the endpoint.
3845	Port *int64 `type:"integer"`
3846
3847	// The URL that applications should use to connect to the endpoint. The default
3848	// ports are 8111 for the "dax" protocol and 9111 for the "daxs" protocol.
3849	URL *string `type:"string"`
3850}
3851
3852// String returns the string representation.
3853//
3854// API parameter values that are decorated as "sensitive" in the API will not
3855// be included in the string output. The member name will be present, but the
3856// value will be replaced with "sensitive".
3857func (s Endpoint) String() string {
3858	return awsutil.Prettify(s)
3859}
3860
3861// GoString returns the string representation.
3862//
3863// API parameter values that are decorated as "sensitive" in the API will not
3864// be included in the string output. The member name will be present, but the
3865// value will be replaced with "sensitive".
3866func (s Endpoint) GoString() string {
3867	return s.String()
3868}
3869
3870// SetAddress sets the Address field's value.
3871func (s *Endpoint) SetAddress(v string) *Endpoint {
3872	s.Address = &v
3873	return s
3874}
3875
3876// SetPort sets the Port field's value.
3877func (s *Endpoint) SetPort(v int64) *Endpoint {
3878	s.Port = &v
3879	return s
3880}
3881
3882// SetURL sets the URL field's value.
3883func (s *Endpoint) SetURL(v string) *Endpoint {
3884	s.URL = &v
3885	return s
3886}
3887
3888// Represents a single occurrence of something interesting within the system.
3889// Some examples of events are creating a DAX cluster, adding or removing a
3890// node, or rebooting a node.
3891type Event struct {
3892	_ struct{} `type:"structure"`
3893
3894	// The date and time when the event occurred.
3895	Date *time.Time `type:"timestamp"`
3896
3897	// A user-defined message associated with the event.
3898	Message *string `type:"string"`
3899
3900	// The source of the event. For example, if the event occurred at the node level,
3901	// the source would be the node ID.
3902	SourceName *string `type:"string"`
3903
3904	// Specifies the origin of this event - a cluster, a parameter group, a node
3905	// ID, etc.
3906	SourceType *string `type:"string" enum:"SourceType"`
3907}
3908
3909// String returns the string representation.
3910//
3911// API parameter values that are decorated as "sensitive" in the API will not
3912// be included in the string output. The member name will be present, but the
3913// value will be replaced with "sensitive".
3914func (s Event) String() string {
3915	return awsutil.Prettify(s)
3916}
3917
3918// GoString returns the string representation.
3919//
3920// API parameter values that are decorated as "sensitive" in the API will not
3921// be included in the string output. The member name will be present, but the
3922// value will be replaced with "sensitive".
3923func (s Event) GoString() string {
3924	return s.String()
3925}
3926
3927// SetDate sets the Date field's value.
3928func (s *Event) SetDate(v time.Time) *Event {
3929	s.Date = &v
3930	return s
3931}
3932
3933// SetMessage sets the Message field's value.
3934func (s *Event) SetMessage(v string) *Event {
3935	s.Message = &v
3936	return s
3937}
3938
3939// SetSourceName sets the SourceName field's value.
3940func (s *Event) SetSourceName(v string) *Event {
3941	s.SourceName = &v
3942	return s
3943}
3944
3945// SetSourceType sets the SourceType field's value.
3946func (s *Event) SetSourceType(v string) *Event {
3947	s.SourceType = &v
3948	return s
3949}
3950
3951type IncreaseReplicationFactorInput struct {
3952	_ struct{} `type:"structure"`
3953
3954	// The Availability Zones (AZs) in which the cluster nodes will be created.
3955	// All nodes belonging to the cluster are placed in these Availability Zones.
3956	// Use this parameter if you want to distribute the nodes across multiple AZs.
3957	AvailabilityZones []*string `type:"list"`
3958
3959	// The name of the DAX cluster that will receive additional nodes.
3960	//
3961	// ClusterName is a required field
3962	ClusterName *string `type:"string" required:"true"`
3963
3964	// The new number of nodes for the DAX cluster.
3965	//
3966	// NewReplicationFactor is a required field
3967	NewReplicationFactor *int64 `type:"integer" required:"true"`
3968}
3969
3970// String returns the string representation.
3971//
3972// API parameter values that are decorated as "sensitive" in the API will not
3973// be included in the string output. The member name will be present, but the
3974// value will be replaced with "sensitive".
3975func (s IncreaseReplicationFactorInput) String() string {
3976	return awsutil.Prettify(s)
3977}
3978
3979// GoString returns the string representation.
3980//
3981// API parameter values that are decorated as "sensitive" in the API will not
3982// be included in the string output. The member name will be present, but the
3983// value will be replaced with "sensitive".
3984func (s IncreaseReplicationFactorInput) GoString() string {
3985	return s.String()
3986}
3987
3988// Validate inspects the fields of the type to determine if they are valid.
3989func (s *IncreaseReplicationFactorInput) Validate() error {
3990	invalidParams := request.ErrInvalidParams{Context: "IncreaseReplicationFactorInput"}
3991	if s.ClusterName == nil {
3992		invalidParams.Add(request.NewErrParamRequired("ClusterName"))
3993	}
3994	if s.NewReplicationFactor == nil {
3995		invalidParams.Add(request.NewErrParamRequired("NewReplicationFactor"))
3996	}
3997
3998	if invalidParams.Len() > 0 {
3999		return invalidParams
4000	}
4001	return nil
4002}
4003
4004// SetAvailabilityZones sets the AvailabilityZones field's value.
4005func (s *IncreaseReplicationFactorInput) SetAvailabilityZones(v []*string) *IncreaseReplicationFactorInput {
4006	s.AvailabilityZones = v
4007	return s
4008}
4009
4010// SetClusterName sets the ClusterName field's value.
4011func (s *IncreaseReplicationFactorInput) SetClusterName(v string) *IncreaseReplicationFactorInput {
4012	s.ClusterName = &v
4013	return s
4014}
4015
4016// SetNewReplicationFactor sets the NewReplicationFactor field's value.
4017func (s *IncreaseReplicationFactorInput) SetNewReplicationFactor(v int64) *IncreaseReplicationFactorInput {
4018	s.NewReplicationFactor = &v
4019	return s
4020}
4021
4022type IncreaseReplicationFactorOutput struct {
4023	_ struct{} `type:"structure"`
4024
4025	// A description of the DAX cluster. with its new replication factor.
4026	Cluster *Cluster `type:"structure"`
4027}
4028
4029// String returns the string representation.
4030//
4031// API parameter values that are decorated as "sensitive" in the API will not
4032// be included in the string output. The member name will be present, but the
4033// value will be replaced with "sensitive".
4034func (s IncreaseReplicationFactorOutput) String() string {
4035	return awsutil.Prettify(s)
4036}
4037
4038// GoString returns the string representation.
4039//
4040// API parameter values that are decorated as "sensitive" in the API will not
4041// be included in the string output. The member name will be present, but the
4042// value will be replaced with "sensitive".
4043func (s IncreaseReplicationFactorOutput) GoString() string {
4044	return s.String()
4045}
4046
4047// SetCluster sets the Cluster field's value.
4048func (s *IncreaseReplicationFactorOutput) SetCluster(v *Cluster) *IncreaseReplicationFactorOutput {
4049	s.Cluster = v
4050	return s
4051}
4052
4053// There are not enough system resources to create the cluster you requested
4054// (or to resize an already-existing cluster).
4055type InsufficientClusterCapacityFault struct {
4056	_            struct{}                  `type:"structure"`
4057	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4058
4059	Message_ *string `locationName:"message" type:"string"`
4060}
4061
4062// String returns the string representation.
4063//
4064// API parameter values that are decorated as "sensitive" in the API will not
4065// be included in the string output. The member name will be present, but the
4066// value will be replaced with "sensitive".
4067func (s InsufficientClusterCapacityFault) String() string {
4068	return awsutil.Prettify(s)
4069}
4070
4071// GoString returns the string representation.
4072//
4073// API parameter values that are decorated as "sensitive" in the API will not
4074// be included in the string output. The member name will be present, but the
4075// value will be replaced with "sensitive".
4076func (s InsufficientClusterCapacityFault) GoString() string {
4077	return s.String()
4078}
4079
4080func newErrorInsufficientClusterCapacityFault(v protocol.ResponseMetadata) error {
4081	return &InsufficientClusterCapacityFault{
4082		RespMetadata: v,
4083	}
4084}
4085
4086// Code returns the exception type name.
4087func (s *InsufficientClusterCapacityFault) Code() string {
4088	return "InsufficientClusterCapacityFault"
4089}
4090
4091// Message returns the exception's message.
4092func (s *InsufficientClusterCapacityFault) 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 *InsufficientClusterCapacityFault) OrigErr() error {
4101	return nil
4102}
4103
4104func (s *InsufficientClusterCapacityFault) 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 *InsufficientClusterCapacityFault) StatusCode() int {
4110	return s.RespMetadata.StatusCode
4111}
4112
4113// RequestID returns the service's response RequestID for request.
4114func (s *InsufficientClusterCapacityFault) RequestID() string {
4115	return s.RespMetadata.RequestID
4116}
4117
4118// The Amazon Resource Name (ARN) supplied in the request is not valid.
4119type InvalidARNFault 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.
4127//
4128// API parameter values that are decorated as "sensitive" in the API will not
4129// be included in the string output. The member name will be present, but the
4130// value will be replaced with "sensitive".
4131func (s InvalidARNFault) String() string {
4132	return awsutil.Prettify(s)
4133}
4134
4135// GoString returns the string representation.
4136//
4137// API parameter values that are decorated as "sensitive" in the API will not
4138// be included in the string output. The member name will be present, but the
4139// value will be replaced with "sensitive".
4140func (s InvalidARNFault) GoString() string {
4141	return s.String()
4142}
4143
4144func newErrorInvalidARNFault(v protocol.ResponseMetadata) error {
4145	return &InvalidARNFault{
4146		RespMetadata: v,
4147	}
4148}
4149
4150// Code returns the exception type name.
4151func (s *InvalidARNFault) Code() string {
4152	return "InvalidARNFault"
4153}
4154
4155// Message returns the exception's message.
4156func (s *InvalidARNFault) Message() string {
4157	if s.Message_ != nil {
4158		return *s.Message_
4159	}
4160	return ""
4161}
4162
4163// OrigErr always returns nil, satisfies awserr.Error interface.
4164func (s *InvalidARNFault) OrigErr() error {
4165	return nil
4166}
4167
4168func (s *InvalidARNFault) Error() string {
4169	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4170}
4171
4172// Status code returns the HTTP status code for the request's response error.
4173func (s *InvalidARNFault) StatusCode() int {
4174	return s.RespMetadata.StatusCode
4175}
4176
4177// RequestID returns the service's response RequestID for request.
4178func (s *InvalidARNFault) RequestID() string {
4179	return s.RespMetadata.RequestID
4180}
4181
4182// The requested DAX cluster is not in the available state.
4183type InvalidClusterStateFault struct {
4184	_            struct{}                  `type:"structure"`
4185	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4186
4187	Message_ *string `locationName:"message" type:"string"`
4188}
4189
4190// String returns the string representation.
4191//
4192// API parameter values that are decorated as "sensitive" in the API will not
4193// be included in the string output. The member name will be present, but the
4194// value will be replaced with "sensitive".
4195func (s InvalidClusterStateFault) String() string {
4196	return awsutil.Prettify(s)
4197}
4198
4199// GoString returns the string representation.
4200//
4201// API parameter values that are decorated as "sensitive" in the API will not
4202// be included in the string output. The member name will be present, but the
4203// value will be replaced with "sensitive".
4204func (s InvalidClusterStateFault) GoString() string {
4205	return s.String()
4206}
4207
4208func newErrorInvalidClusterStateFault(v protocol.ResponseMetadata) error {
4209	return &InvalidClusterStateFault{
4210		RespMetadata: v,
4211	}
4212}
4213
4214// Code returns the exception type name.
4215func (s *InvalidClusterStateFault) Code() string {
4216	return "InvalidClusterStateFault"
4217}
4218
4219// Message returns the exception's message.
4220func (s *InvalidClusterStateFault) Message() string {
4221	if s.Message_ != nil {
4222		return *s.Message_
4223	}
4224	return ""
4225}
4226
4227// OrigErr always returns nil, satisfies awserr.Error interface.
4228func (s *InvalidClusterStateFault) OrigErr() error {
4229	return nil
4230}
4231
4232func (s *InvalidClusterStateFault) Error() string {
4233	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4234}
4235
4236// Status code returns the HTTP status code for the request's response error.
4237func (s *InvalidClusterStateFault) StatusCode() int {
4238	return s.RespMetadata.StatusCode
4239}
4240
4241// RequestID returns the service's response RequestID for request.
4242func (s *InvalidClusterStateFault) RequestID() string {
4243	return s.RespMetadata.RequestID
4244}
4245
4246// Two or more incompatible parameters were specified.
4247type InvalidParameterCombinationException struct {
4248	_            struct{}                  `type:"structure"`
4249	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4250
4251	Message_ *string `locationName:"message" type:"string"`
4252}
4253
4254// String returns the string representation.
4255//
4256// API parameter values that are decorated as "sensitive" in the API will not
4257// be included in the string output. The member name will be present, but the
4258// value will be replaced with "sensitive".
4259func (s InvalidParameterCombinationException) String() string {
4260	return awsutil.Prettify(s)
4261}
4262
4263// GoString returns the string representation.
4264//
4265// API parameter values that are decorated as "sensitive" in the API will not
4266// be included in the string output. The member name will be present, but the
4267// value will be replaced with "sensitive".
4268func (s InvalidParameterCombinationException) GoString() string {
4269	return s.String()
4270}
4271
4272func newErrorInvalidParameterCombinationException(v protocol.ResponseMetadata) error {
4273	return &InvalidParameterCombinationException{
4274		RespMetadata: v,
4275	}
4276}
4277
4278// Code returns the exception type name.
4279func (s *InvalidParameterCombinationException) Code() string {
4280	return "InvalidParameterCombinationException"
4281}
4282
4283// Message returns the exception's message.
4284func (s *InvalidParameterCombinationException) Message() string {
4285	if s.Message_ != nil {
4286		return *s.Message_
4287	}
4288	return ""
4289}
4290
4291// OrigErr always returns nil, satisfies awserr.Error interface.
4292func (s *InvalidParameterCombinationException) OrigErr() error {
4293	return nil
4294}
4295
4296func (s *InvalidParameterCombinationException) Error() string {
4297	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4298}
4299
4300// Status code returns the HTTP status code for the request's response error.
4301func (s *InvalidParameterCombinationException) StatusCode() int {
4302	return s.RespMetadata.StatusCode
4303}
4304
4305// RequestID returns the service's response RequestID for request.
4306func (s *InvalidParameterCombinationException) RequestID() string {
4307	return s.RespMetadata.RequestID
4308}
4309
4310// One or more parameters in a parameter group are in an invalid state.
4311type InvalidParameterGroupStateFault struct {
4312	_            struct{}                  `type:"structure"`
4313	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4314
4315	Message_ *string `locationName:"message" type:"string"`
4316}
4317
4318// String returns the string representation.
4319//
4320// API parameter values that are decorated as "sensitive" in the API will not
4321// be included in the string output. The member name will be present, but the
4322// value will be replaced with "sensitive".
4323func (s InvalidParameterGroupStateFault) String() string {
4324	return awsutil.Prettify(s)
4325}
4326
4327// GoString returns the string representation.
4328//
4329// API parameter values that are decorated as "sensitive" in the API will not
4330// be included in the string output. The member name will be present, but the
4331// value will be replaced with "sensitive".
4332func (s InvalidParameterGroupStateFault) GoString() string {
4333	return s.String()
4334}
4335
4336func newErrorInvalidParameterGroupStateFault(v protocol.ResponseMetadata) error {
4337	return &InvalidParameterGroupStateFault{
4338		RespMetadata: v,
4339	}
4340}
4341
4342// Code returns the exception type name.
4343func (s *InvalidParameterGroupStateFault) Code() string {
4344	return "InvalidParameterGroupStateFault"
4345}
4346
4347// Message returns the exception's message.
4348func (s *InvalidParameterGroupStateFault) Message() string {
4349	if s.Message_ != nil {
4350		return *s.Message_
4351	}
4352	return ""
4353}
4354
4355// OrigErr always returns nil, satisfies awserr.Error interface.
4356func (s *InvalidParameterGroupStateFault) OrigErr() error {
4357	return nil
4358}
4359
4360func (s *InvalidParameterGroupStateFault) Error() string {
4361	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4362}
4363
4364// Status code returns the HTTP status code for the request's response error.
4365func (s *InvalidParameterGroupStateFault) StatusCode() int {
4366	return s.RespMetadata.StatusCode
4367}
4368
4369// RequestID returns the service's response RequestID for request.
4370func (s *InvalidParameterGroupStateFault) RequestID() string {
4371	return s.RespMetadata.RequestID
4372}
4373
4374// The value for a parameter is invalid.
4375type InvalidParameterValueException struct {
4376	_            struct{}                  `type:"structure"`
4377	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4378
4379	Message_ *string `locationName:"message" type:"string"`
4380}
4381
4382// String returns the string representation.
4383//
4384// API parameter values that are decorated as "sensitive" in the API will not
4385// be included in the string output. The member name will be present, but the
4386// value will be replaced with "sensitive".
4387func (s InvalidParameterValueException) String() string {
4388	return awsutil.Prettify(s)
4389}
4390
4391// GoString returns the string representation.
4392//
4393// API parameter values that are decorated as "sensitive" in the API will not
4394// be included in the string output. The member name will be present, but the
4395// value will be replaced with "sensitive".
4396func (s InvalidParameterValueException) GoString() string {
4397	return s.String()
4398}
4399
4400func newErrorInvalidParameterValueException(v protocol.ResponseMetadata) error {
4401	return &InvalidParameterValueException{
4402		RespMetadata: v,
4403	}
4404}
4405
4406// Code returns the exception type name.
4407func (s *InvalidParameterValueException) Code() string {
4408	return "InvalidParameterValueException"
4409}
4410
4411// Message returns the exception's message.
4412func (s *InvalidParameterValueException) Message() string {
4413	if s.Message_ != nil {
4414		return *s.Message_
4415	}
4416	return ""
4417}
4418
4419// OrigErr always returns nil, satisfies awserr.Error interface.
4420func (s *InvalidParameterValueException) OrigErr() error {
4421	return nil
4422}
4423
4424func (s *InvalidParameterValueException) Error() string {
4425	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4426}
4427
4428// Status code returns the HTTP status code for the request's response error.
4429func (s *InvalidParameterValueException) StatusCode() int {
4430	return s.RespMetadata.StatusCode
4431}
4432
4433// RequestID returns the service's response RequestID for request.
4434func (s *InvalidParameterValueException) RequestID() string {
4435	return s.RespMetadata.RequestID
4436}
4437
4438// An invalid subnet identifier was specified.
4439type InvalidSubnet struct {
4440	_            struct{}                  `type:"structure"`
4441	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4442
4443	Message_ *string `locationName:"message" type:"string"`
4444}
4445
4446// String returns the string representation.
4447//
4448// API parameter values that are decorated as "sensitive" in the API will not
4449// be included in the string output. The member name will be present, but the
4450// value will be replaced with "sensitive".
4451func (s InvalidSubnet) String() string {
4452	return awsutil.Prettify(s)
4453}
4454
4455// GoString returns the string representation.
4456//
4457// API parameter values that are decorated as "sensitive" in the API will not
4458// be included in the string output. The member name will be present, but the
4459// value will be replaced with "sensitive".
4460func (s InvalidSubnet) GoString() string {
4461	return s.String()
4462}
4463
4464func newErrorInvalidSubnet(v protocol.ResponseMetadata) error {
4465	return &InvalidSubnet{
4466		RespMetadata: v,
4467	}
4468}
4469
4470// Code returns the exception type name.
4471func (s *InvalidSubnet) Code() string {
4472	return "InvalidSubnet"
4473}
4474
4475// Message returns the exception's message.
4476func (s *InvalidSubnet) Message() string {
4477	if s.Message_ != nil {
4478		return *s.Message_
4479	}
4480	return ""
4481}
4482
4483// OrigErr always returns nil, satisfies awserr.Error interface.
4484func (s *InvalidSubnet) OrigErr() error {
4485	return nil
4486}
4487
4488func (s *InvalidSubnet) Error() string {
4489	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4490}
4491
4492// Status code returns the HTTP status code for the request's response error.
4493func (s *InvalidSubnet) StatusCode() int {
4494	return s.RespMetadata.StatusCode
4495}
4496
4497// RequestID returns the service's response RequestID for request.
4498func (s *InvalidSubnet) RequestID() string {
4499	return s.RespMetadata.RequestID
4500}
4501
4502// The VPC network is in an invalid state.
4503type InvalidVPCNetworkStateFault struct {
4504	_            struct{}                  `type:"structure"`
4505	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4506
4507	Message_ *string `locationName:"message" type:"string"`
4508}
4509
4510// String returns the string representation.
4511//
4512// API parameter values that are decorated as "sensitive" in the API will not
4513// be included in the string output. The member name will be present, but the
4514// value will be replaced with "sensitive".
4515func (s InvalidVPCNetworkStateFault) String() string {
4516	return awsutil.Prettify(s)
4517}
4518
4519// GoString returns the string representation.
4520//
4521// API parameter values that are decorated as "sensitive" in the API will not
4522// be included in the string output. The member name will be present, but the
4523// value will be replaced with "sensitive".
4524func (s InvalidVPCNetworkStateFault) GoString() string {
4525	return s.String()
4526}
4527
4528func newErrorInvalidVPCNetworkStateFault(v protocol.ResponseMetadata) error {
4529	return &InvalidVPCNetworkStateFault{
4530		RespMetadata: v,
4531	}
4532}
4533
4534// Code returns the exception type name.
4535func (s *InvalidVPCNetworkStateFault) Code() string {
4536	return "InvalidVPCNetworkStateFault"
4537}
4538
4539// Message returns the exception's message.
4540func (s *InvalidVPCNetworkStateFault) Message() string {
4541	if s.Message_ != nil {
4542		return *s.Message_
4543	}
4544	return ""
4545}
4546
4547// OrigErr always returns nil, satisfies awserr.Error interface.
4548func (s *InvalidVPCNetworkStateFault) OrigErr() error {
4549	return nil
4550}
4551
4552func (s *InvalidVPCNetworkStateFault) Error() string {
4553	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4554}
4555
4556// Status code returns the HTTP status code for the request's response error.
4557func (s *InvalidVPCNetworkStateFault) StatusCode() int {
4558	return s.RespMetadata.StatusCode
4559}
4560
4561// RequestID returns the service's response RequestID for request.
4562func (s *InvalidVPCNetworkStateFault) RequestID() string {
4563	return s.RespMetadata.RequestID
4564}
4565
4566type ListTagsInput struct {
4567	_ struct{} `type:"structure"`
4568
4569	// An optional token returned from a prior request. Use this token for pagination
4570	// of results from this action. If this parameter is specified, the response
4571	// includes only results beyond the token.
4572	NextToken *string `type:"string"`
4573
4574	// The name of the DAX resource to which the tags belong.
4575	//
4576	// ResourceName is a required field
4577	ResourceName *string `type:"string" required:"true"`
4578}
4579
4580// String returns the string representation.
4581//
4582// API parameter values that are decorated as "sensitive" in the API will not
4583// be included in the string output. The member name will be present, but the
4584// value will be replaced with "sensitive".
4585func (s ListTagsInput) String() string {
4586	return awsutil.Prettify(s)
4587}
4588
4589// GoString returns the string representation.
4590//
4591// API parameter values that are decorated as "sensitive" in the API will not
4592// be included in the string output. The member name will be present, but the
4593// value will be replaced with "sensitive".
4594func (s ListTagsInput) GoString() string {
4595	return s.String()
4596}
4597
4598// Validate inspects the fields of the type to determine if they are valid.
4599func (s *ListTagsInput) Validate() error {
4600	invalidParams := request.ErrInvalidParams{Context: "ListTagsInput"}
4601	if s.ResourceName == nil {
4602		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
4603	}
4604
4605	if invalidParams.Len() > 0 {
4606		return invalidParams
4607	}
4608	return nil
4609}
4610
4611// SetNextToken sets the NextToken field's value.
4612func (s *ListTagsInput) SetNextToken(v string) *ListTagsInput {
4613	s.NextToken = &v
4614	return s
4615}
4616
4617// SetResourceName sets the ResourceName field's value.
4618func (s *ListTagsInput) SetResourceName(v string) *ListTagsInput {
4619	s.ResourceName = &v
4620	return s
4621}
4622
4623type ListTagsOutput struct {
4624	_ struct{} `type:"structure"`
4625
4626	// If this value is present, there are additional results to be displayed. To
4627	// retrieve them, call ListTags again, with NextToken set to this value.
4628	NextToken *string `type:"string"`
4629
4630	// A list of tags currently associated with the DAX cluster.
4631	Tags []*Tag `type:"list"`
4632}
4633
4634// String returns the string representation.
4635//
4636// API parameter values that are decorated as "sensitive" in the API will not
4637// be included in the string output. The member name will be present, but the
4638// value will be replaced with "sensitive".
4639func (s ListTagsOutput) String() string {
4640	return awsutil.Prettify(s)
4641}
4642
4643// GoString returns the string representation.
4644//
4645// API parameter values that are decorated as "sensitive" in the API will not
4646// be included in the string output. The member name will be present, but the
4647// value will be replaced with "sensitive".
4648func (s ListTagsOutput) GoString() string {
4649	return s.String()
4650}
4651
4652// SetNextToken sets the NextToken field's value.
4653func (s *ListTagsOutput) SetNextToken(v string) *ListTagsOutput {
4654	s.NextToken = &v
4655	return s
4656}
4657
4658// SetTags sets the Tags field's value.
4659func (s *ListTagsOutput) SetTags(v []*Tag) *ListTagsOutput {
4660	s.Tags = v
4661	return s
4662}
4663
4664// Represents an individual node within a DAX cluster.
4665type Node struct {
4666	_ struct{} `type:"structure"`
4667
4668	// The Availability Zone (AZ) in which the node has been deployed.
4669	AvailabilityZone *string `type:"string"`
4670
4671	// The endpoint for the node, consisting of a DNS name and a port number. Client
4672	// applications can connect directly to a node endpoint, if desired (as an alternative
4673	// to allowing DAX client software to intelligently route requests and responses
4674	// to nodes in the DAX cluster.
4675	Endpoint *Endpoint `type:"structure"`
4676
4677	// The date and time (in UNIX epoch format) when the node was launched.
4678	NodeCreateTime *time.Time `type:"timestamp"`
4679
4680	// A system-generated identifier for the node.
4681	NodeId *string `type:"string"`
4682
4683	// The current status of the node. For example: available.
4684	NodeStatus *string `type:"string"`
4685
4686	// The status of the parameter group associated with this node. For example,
4687	// in-sync.
4688	ParameterGroupStatus *string `type:"string"`
4689}
4690
4691// String returns the string representation.
4692//
4693// API parameter values that are decorated as "sensitive" in the API will not
4694// be included in the string output. The member name will be present, but the
4695// value will be replaced with "sensitive".
4696func (s Node) String() string {
4697	return awsutil.Prettify(s)
4698}
4699
4700// GoString returns the string representation.
4701//
4702// API parameter values that are decorated as "sensitive" in the API will not
4703// be included in the string output. The member name will be present, but the
4704// value will be replaced with "sensitive".
4705func (s Node) GoString() string {
4706	return s.String()
4707}
4708
4709// SetAvailabilityZone sets the AvailabilityZone field's value.
4710func (s *Node) SetAvailabilityZone(v string) *Node {
4711	s.AvailabilityZone = &v
4712	return s
4713}
4714
4715// SetEndpoint sets the Endpoint field's value.
4716func (s *Node) SetEndpoint(v *Endpoint) *Node {
4717	s.Endpoint = v
4718	return s
4719}
4720
4721// SetNodeCreateTime sets the NodeCreateTime field's value.
4722func (s *Node) SetNodeCreateTime(v time.Time) *Node {
4723	s.NodeCreateTime = &v
4724	return s
4725}
4726
4727// SetNodeId sets the NodeId field's value.
4728func (s *Node) SetNodeId(v string) *Node {
4729	s.NodeId = &v
4730	return s
4731}
4732
4733// SetNodeStatus sets the NodeStatus field's value.
4734func (s *Node) SetNodeStatus(v string) *Node {
4735	s.NodeStatus = &v
4736	return s
4737}
4738
4739// SetParameterGroupStatus sets the ParameterGroupStatus field's value.
4740func (s *Node) SetParameterGroupStatus(v string) *Node {
4741	s.ParameterGroupStatus = &v
4742	return s
4743}
4744
4745// None of the nodes in the cluster have the given node ID.
4746type NodeNotFoundFault struct {
4747	_            struct{}                  `type:"structure"`
4748	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4749
4750	Message_ *string `locationName:"message" type:"string"`
4751}
4752
4753// String returns the string representation.
4754//
4755// API parameter values that are decorated as "sensitive" in the API will not
4756// be included in the string output. The member name will be present, but the
4757// value will be replaced with "sensitive".
4758func (s NodeNotFoundFault) String() string {
4759	return awsutil.Prettify(s)
4760}
4761
4762// GoString returns the string representation.
4763//
4764// API parameter values that are decorated as "sensitive" in the API will not
4765// be included in the string output. The member name will be present, but the
4766// value will be replaced with "sensitive".
4767func (s NodeNotFoundFault) GoString() string {
4768	return s.String()
4769}
4770
4771func newErrorNodeNotFoundFault(v protocol.ResponseMetadata) error {
4772	return &NodeNotFoundFault{
4773		RespMetadata: v,
4774	}
4775}
4776
4777// Code returns the exception type name.
4778func (s *NodeNotFoundFault) Code() string {
4779	return "NodeNotFoundFault"
4780}
4781
4782// Message returns the exception's message.
4783func (s *NodeNotFoundFault) Message() string {
4784	if s.Message_ != nil {
4785		return *s.Message_
4786	}
4787	return ""
4788}
4789
4790// OrigErr always returns nil, satisfies awserr.Error interface.
4791func (s *NodeNotFoundFault) OrigErr() error {
4792	return nil
4793}
4794
4795func (s *NodeNotFoundFault) Error() string {
4796	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4797}
4798
4799// Status code returns the HTTP status code for the request's response error.
4800func (s *NodeNotFoundFault) StatusCode() int {
4801	return s.RespMetadata.StatusCode
4802}
4803
4804// RequestID returns the service's response RequestID for request.
4805func (s *NodeNotFoundFault) RequestID() string {
4806	return s.RespMetadata.RequestID
4807}
4808
4809// You have attempted to exceed the maximum number of nodes for a DAX cluster.
4810type NodeQuotaForClusterExceededFault struct {
4811	_            struct{}                  `type:"structure"`
4812	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4813
4814	Message_ *string `locationName:"message" type:"string"`
4815}
4816
4817// String returns the string representation.
4818//
4819// API parameter values that are decorated as "sensitive" in the API will not
4820// be included in the string output. The member name will be present, but the
4821// value will be replaced with "sensitive".
4822func (s NodeQuotaForClusterExceededFault) String() string {
4823	return awsutil.Prettify(s)
4824}
4825
4826// GoString returns the string representation.
4827//
4828// API parameter values that are decorated as "sensitive" in the API will not
4829// be included in the string output. The member name will be present, but the
4830// value will be replaced with "sensitive".
4831func (s NodeQuotaForClusterExceededFault) GoString() string {
4832	return s.String()
4833}
4834
4835func newErrorNodeQuotaForClusterExceededFault(v protocol.ResponseMetadata) error {
4836	return &NodeQuotaForClusterExceededFault{
4837		RespMetadata: v,
4838	}
4839}
4840
4841// Code returns the exception type name.
4842func (s *NodeQuotaForClusterExceededFault) Code() string {
4843	return "NodeQuotaForClusterExceededFault"
4844}
4845
4846// Message returns the exception's message.
4847func (s *NodeQuotaForClusterExceededFault) Message() string {
4848	if s.Message_ != nil {
4849		return *s.Message_
4850	}
4851	return ""
4852}
4853
4854// OrigErr always returns nil, satisfies awserr.Error interface.
4855func (s *NodeQuotaForClusterExceededFault) OrigErr() error {
4856	return nil
4857}
4858
4859func (s *NodeQuotaForClusterExceededFault) Error() string {
4860	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4861}
4862
4863// Status code returns the HTTP status code for the request's response error.
4864func (s *NodeQuotaForClusterExceededFault) StatusCode() int {
4865	return s.RespMetadata.StatusCode
4866}
4867
4868// RequestID returns the service's response RequestID for request.
4869func (s *NodeQuotaForClusterExceededFault) RequestID() string {
4870	return s.RespMetadata.RequestID
4871}
4872
4873// You have attempted to exceed the maximum number of nodes for your AWS account.
4874type NodeQuotaForCustomerExceededFault struct {
4875	_            struct{}                  `type:"structure"`
4876	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4877
4878	Message_ *string `locationName:"message" type:"string"`
4879}
4880
4881// String returns the string representation.
4882//
4883// API parameter values that are decorated as "sensitive" in the API will not
4884// be included in the string output. The member name will be present, but the
4885// value will be replaced with "sensitive".
4886func (s NodeQuotaForCustomerExceededFault) String() string {
4887	return awsutil.Prettify(s)
4888}
4889
4890// GoString returns the string representation.
4891//
4892// API parameter values that are decorated as "sensitive" in the API will not
4893// be included in the string output. The member name will be present, but the
4894// value will be replaced with "sensitive".
4895func (s NodeQuotaForCustomerExceededFault) GoString() string {
4896	return s.String()
4897}
4898
4899func newErrorNodeQuotaForCustomerExceededFault(v protocol.ResponseMetadata) error {
4900	return &NodeQuotaForCustomerExceededFault{
4901		RespMetadata: v,
4902	}
4903}
4904
4905// Code returns the exception type name.
4906func (s *NodeQuotaForCustomerExceededFault) Code() string {
4907	return "NodeQuotaForCustomerExceededFault"
4908}
4909
4910// Message returns the exception's message.
4911func (s *NodeQuotaForCustomerExceededFault) Message() string {
4912	if s.Message_ != nil {
4913		return *s.Message_
4914	}
4915	return ""
4916}
4917
4918// OrigErr always returns nil, satisfies awserr.Error interface.
4919func (s *NodeQuotaForCustomerExceededFault) OrigErr() error {
4920	return nil
4921}
4922
4923func (s *NodeQuotaForCustomerExceededFault) Error() string {
4924	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4925}
4926
4927// Status code returns the HTTP status code for the request's response error.
4928func (s *NodeQuotaForCustomerExceededFault) StatusCode() int {
4929	return s.RespMetadata.StatusCode
4930}
4931
4932// RequestID returns the service's response RequestID for request.
4933func (s *NodeQuotaForCustomerExceededFault) RequestID() string {
4934	return s.RespMetadata.RequestID
4935}
4936
4937// Represents a parameter value that is applicable to a particular node type.
4938type NodeTypeSpecificValue struct {
4939	_ struct{} `type:"structure"`
4940
4941	// A node type to which the parameter value applies.
4942	NodeType *string `type:"string"`
4943
4944	// The parameter value for this node type.
4945	Value *string `type:"string"`
4946}
4947
4948// String returns the string representation.
4949//
4950// API parameter values that are decorated as "sensitive" in the API will not
4951// be included in the string output. The member name will be present, but the
4952// value will be replaced with "sensitive".
4953func (s NodeTypeSpecificValue) String() string {
4954	return awsutil.Prettify(s)
4955}
4956
4957// GoString returns the string representation.
4958//
4959// API parameter values that are decorated as "sensitive" in the API will not
4960// be included in the string output. The member name will be present, but the
4961// value will be replaced with "sensitive".
4962func (s NodeTypeSpecificValue) GoString() string {
4963	return s.String()
4964}
4965
4966// SetNodeType sets the NodeType field's value.
4967func (s *NodeTypeSpecificValue) SetNodeType(v string) *NodeTypeSpecificValue {
4968	s.NodeType = &v
4969	return s
4970}
4971
4972// SetValue sets the Value field's value.
4973func (s *NodeTypeSpecificValue) SetValue(v string) *NodeTypeSpecificValue {
4974	s.Value = &v
4975	return s
4976}
4977
4978// Describes a notification topic and its status. Notification topics are used
4979// for publishing DAX events to subscribers using Amazon Simple Notification
4980// Service (SNS).
4981type NotificationConfiguration struct {
4982	_ struct{} `type:"structure"`
4983
4984	// The Amazon Resource Name (ARN) that identifies the topic.
4985	TopicArn *string `type:"string"`
4986
4987	// The current state of the topic. A value of “active” means that notifications
4988	// will be sent to the topic. A value of “inactive” means that notifications
4989	// will not be sent to the topic.
4990	TopicStatus *string `type:"string"`
4991}
4992
4993// String returns the string representation.
4994//
4995// API parameter values that are decorated as "sensitive" in the API will not
4996// be included in the string output. The member name will be present, but the
4997// value will be replaced with "sensitive".
4998func (s NotificationConfiguration) String() string {
4999	return awsutil.Prettify(s)
5000}
5001
5002// GoString returns the string representation.
5003//
5004// API parameter values that are decorated as "sensitive" in the API will not
5005// be included in the string output. The member name will be present, but the
5006// value will be replaced with "sensitive".
5007func (s NotificationConfiguration) GoString() string {
5008	return s.String()
5009}
5010
5011// SetTopicArn sets the TopicArn field's value.
5012func (s *NotificationConfiguration) SetTopicArn(v string) *NotificationConfiguration {
5013	s.TopicArn = &v
5014	return s
5015}
5016
5017// SetTopicStatus sets the TopicStatus field's value.
5018func (s *NotificationConfiguration) SetTopicStatus(v string) *NotificationConfiguration {
5019	s.TopicStatus = &v
5020	return s
5021}
5022
5023// Describes an individual setting that controls some aspect of DAX behavior.
5024type Parameter struct {
5025	_ struct{} `type:"structure"`
5026
5027	// A range of values within which the parameter can be set.
5028	AllowedValues *string `type:"string"`
5029
5030	// The conditions under which changes to this parameter can be applied. For
5031	// example, requires-reboot indicates that a new value for this parameter will
5032	// only take effect if a node is rebooted.
5033	ChangeType *string `type:"string" enum:"ChangeType"`
5034
5035	// The data type of the parameter. For example, integer:
5036	DataType *string `type:"string"`
5037
5038	// A description of the parameter
5039	Description *string `type:"string"`
5040
5041	// Whether the customer is allowed to modify the parameter.
5042	IsModifiable *string `type:"string" enum:"IsModifiable"`
5043
5044	// A list of node types, and specific parameter values for each node.
5045	NodeTypeSpecificValues []*NodeTypeSpecificValue `type:"list"`
5046
5047	// The name of the parameter.
5048	ParameterName *string `type:"string"`
5049
5050	// Determines whether the parameter can be applied to any nodes, or only nodes
5051	// of a particular type.
5052	ParameterType *string `type:"string" enum:"ParameterType"`
5053
5054	// The value for the parameter.
5055	ParameterValue *string `type:"string"`
5056
5057	// How the parameter is defined. For example, system denotes a system-defined
5058	// parameter.
5059	Source *string `type:"string"`
5060}
5061
5062// String returns the string representation.
5063//
5064// API parameter values that are decorated as "sensitive" in the API will not
5065// be included in the string output. The member name will be present, but the
5066// value will be replaced with "sensitive".
5067func (s Parameter) String() string {
5068	return awsutil.Prettify(s)
5069}
5070
5071// GoString returns the string representation.
5072//
5073// API parameter values that are decorated as "sensitive" in the API will not
5074// be included in the string output. The member name will be present, but the
5075// value will be replaced with "sensitive".
5076func (s Parameter) GoString() string {
5077	return s.String()
5078}
5079
5080// SetAllowedValues sets the AllowedValues field's value.
5081func (s *Parameter) SetAllowedValues(v string) *Parameter {
5082	s.AllowedValues = &v
5083	return s
5084}
5085
5086// SetChangeType sets the ChangeType field's value.
5087func (s *Parameter) SetChangeType(v string) *Parameter {
5088	s.ChangeType = &v
5089	return s
5090}
5091
5092// SetDataType sets the DataType field's value.
5093func (s *Parameter) SetDataType(v string) *Parameter {
5094	s.DataType = &v
5095	return s
5096}
5097
5098// SetDescription sets the Description field's value.
5099func (s *Parameter) SetDescription(v string) *Parameter {
5100	s.Description = &v
5101	return s
5102}
5103
5104// SetIsModifiable sets the IsModifiable field's value.
5105func (s *Parameter) SetIsModifiable(v string) *Parameter {
5106	s.IsModifiable = &v
5107	return s
5108}
5109
5110// SetNodeTypeSpecificValues sets the NodeTypeSpecificValues field's value.
5111func (s *Parameter) SetNodeTypeSpecificValues(v []*NodeTypeSpecificValue) *Parameter {
5112	s.NodeTypeSpecificValues = v
5113	return s
5114}
5115
5116// SetParameterName sets the ParameterName field's value.
5117func (s *Parameter) SetParameterName(v string) *Parameter {
5118	s.ParameterName = &v
5119	return s
5120}
5121
5122// SetParameterType sets the ParameterType field's value.
5123func (s *Parameter) SetParameterType(v string) *Parameter {
5124	s.ParameterType = &v
5125	return s
5126}
5127
5128// SetParameterValue sets the ParameterValue field's value.
5129func (s *Parameter) SetParameterValue(v string) *Parameter {
5130	s.ParameterValue = &v
5131	return s
5132}
5133
5134// SetSource sets the Source field's value.
5135func (s *Parameter) SetSource(v string) *Parameter {
5136	s.Source = &v
5137	return s
5138}
5139
5140// A named set of parameters that are applied to all of the nodes in a DAX cluster.
5141type ParameterGroup struct {
5142	_ struct{} `type:"structure"`
5143
5144	// A description of the parameter group.
5145	Description *string `type:"string"`
5146
5147	// The name of the parameter group.
5148	ParameterGroupName *string `type:"string"`
5149}
5150
5151// String returns the string representation.
5152//
5153// API parameter values that are decorated as "sensitive" in the API will not
5154// be included in the string output. The member name will be present, but the
5155// value will be replaced with "sensitive".
5156func (s ParameterGroup) String() string {
5157	return awsutil.Prettify(s)
5158}
5159
5160// GoString returns the string representation.
5161//
5162// API parameter values that are decorated as "sensitive" in the API will not
5163// be included in the string output. The member name will be present, but the
5164// value will be replaced with "sensitive".
5165func (s ParameterGroup) GoString() string {
5166	return s.String()
5167}
5168
5169// SetDescription sets the Description field's value.
5170func (s *ParameterGroup) SetDescription(v string) *ParameterGroup {
5171	s.Description = &v
5172	return s
5173}
5174
5175// SetParameterGroupName sets the ParameterGroupName field's value.
5176func (s *ParameterGroup) SetParameterGroupName(v string) *ParameterGroup {
5177	s.ParameterGroupName = &v
5178	return s
5179}
5180
5181// The specified parameter group already exists.
5182type ParameterGroupAlreadyExistsFault struct {
5183	_            struct{}                  `type:"structure"`
5184	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5185
5186	Message_ *string `locationName:"message" type:"string"`
5187}
5188
5189// String returns the string representation.
5190//
5191// API parameter values that are decorated as "sensitive" in the API will not
5192// be included in the string output. The member name will be present, but the
5193// value will be replaced with "sensitive".
5194func (s ParameterGroupAlreadyExistsFault) String() string {
5195	return awsutil.Prettify(s)
5196}
5197
5198// GoString returns the string representation.
5199//
5200// API parameter values that are decorated as "sensitive" in the API will not
5201// be included in the string output. The member name will be present, but the
5202// value will be replaced with "sensitive".
5203func (s ParameterGroupAlreadyExistsFault) GoString() string {
5204	return s.String()
5205}
5206
5207func newErrorParameterGroupAlreadyExistsFault(v protocol.ResponseMetadata) error {
5208	return &ParameterGroupAlreadyExistsFault{
5209		RespMetadata: v,
5210	}
5211}
5212
5213// Code returns the exception type name.
5214func (s *ParameterGroupAlreadyExistsFault) Code() string {
5215	return "ParameterGroupAlreadyExistsFault"
5216}
5217
5218// Message returns the exception's message.
5219func (s *ParameterGroupAlreadyExistsFault) 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 *ParameterGroupAlreadyExistsFault) OrigErr() error {
5228	return nil
5229}
5230
5231func (s *ParameterGroupAlreadyExistsFault) 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 *ParameterGroupAlreadyExistsFault) StatusCode() int {
5237	return s.RespMetadata.StatusCode
5238}
5239
5240// RequestID returns the service's response RequestID for request.
5241func (s *ParameterGroupAlreadyExistsFault) RequestID() string {
5242	return s.RespMetadata.RequestID
5243}
5244
5245// The specified parameter group does not exist.
5246type ParameterGroupNotFoundFault struct {
5247	_            struct{}                  `type:"structure"`
5248	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5249
5250	Message_ *string `locationName:"message" type:"string"`
5251}
5252
5253// String returns the string representation.
5254//
5255// API parameter values that are decorated as "sensitive" in the API will not
5256// be included in the string output. The member name will be present, but the
5257// value will be replaced with "sensitive".
5258func (s ParameterGroupNotFoundFault) String() string {
5259	return awsutil.Prettify(s)
5260}
5261
5262// GoString returns the string representation.
5263//
5264// API parameter values that are decorated as "sensitive" in the API will not
5265// be included in the string output. The member name will be present, but the
5266// value will be replaced with "sensitive".
5267func (s ParameterGroupNotFoundFault) GoString() string {
5268	return s.String()
5269}
5270
5271func newErrorParameterGroupNotFoundFault(v protocol.ResponseMetadata) error {
5272	return &ParameterGroupNotFoundFault{
5273		RespMetadata: v,
5274	}
5275}
5276
5277// Code returns the exception type name.
5278func (s *ParameterGroupNotFoundFault) Code() string {
5279	return "ParameterGroupNotFoundFault"
5280}
5281
5282// Message returns the exception's message.
5283func (s *ParameterGroupNotFoundFault) Message() string {
5284	if s.Message_ != nil {
5285		return *s.Message_
5286	}
5287	return ""
5288}
5289
5290// OrigErr always returns nil, satisfies awserr.Error interface.
5291func (s *ParameterGroupNotFoundFault) OrigErr() error {
5292	return nil
5293}
5294
5295func (s *ParameterGroupNotFoundFault) Error() string {
5296	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5297}
5298
5299// Status code returns the HTTP status code for the request's response error.
5300func (s *ParameterGroupNotFoundFault) StatusCode() int {
5301	return s.RespMetadata.StatusCode
5302}
5303
5304// RequestID returns the service's response RequestID for request.
5305func (s *ParameterGroupNotFoundFault) RequestID() string {
5306	return s.RespMetadata.RequestID
5307}
5308
5309// You have attempted to exceed the maximum number of parameter groups.
5310type ParameterGroupQuotaExceededFault struct {
5311	_            struct{}                  `type:"structure"`
5312	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5313
5314	Message_ *string `locationName:"message" type:"string"`
5315}
5316
5317// String returns the string representation.
5318//
5319// API parameter values that are decorated as "sensitive" in the API will not
5320// be included in the string output. The member name will be present, but the
5321// value will be replaced with "sensitive".
5322func (s ParameterGroupQuotaExceededFault) String() string {
5323	return awsutil.Prettify(s)
5324}
5325
5326// GoString returns the string representation.
5327//
5328// API parameter values that are decorated as "sensitive" in the API will not
5329// be included in the string output. The member name will be present, but the
5330// value will be replaced with "sensitive".
5331func (s ParameterGroupQuotaExceededFault) GoString() string {
5332	return s.String()
5333}
5334
5335func newErrorParameterGroupQuotaExceededFault(v protocol.ResponseMetadata) error {
5336	return &ParameterGroupQuotaExceededFault{
5337		RespMetadata: v,
5338	}
5339}
5340
5341// Code returns the exception type name.
5342func (s *ParameterGroupQuotaExceededFault) Code() string {
5343	return "ParameterGroupQuotaExceededFault"
5344}
5345
5346// Message returns the exception's message.
5347func (s *ParameterGroupQuotaExceededFault) Message() string {
5348	if s.Message_ != nil {
5349		return *s.Message_
5350	}
5351	return ""
5352}
5353
5354// OrigErr always returns nil, satisfies awserr.Error interface.
5355func (s *ParameterGroupQuotaExceededFault) OrigErr() error {
5356	return nil
5357}
5358
5359func (s *ParameterGroupQuotaExceededFault) Error() string {
5360	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5361}
5362
5363// Status code returns the HTTP status code for the request's response error.
5364func (s *ParameterGroupQuotaExceededFault) StatusCode() int {
5365	return s.RespMetadata.StatusCode
5366}
5367
5368// RequestID returns the service's response RequestID for request.
5369func (s *ParameterGroupQuotaExceededFault) RequestID() string {
5370	return s.RespMetadata.RequestID
5371}
5372
5373// The status of a parameter group.
5374type ParameterGroupStatus struct {
5375	_ struct{} `type:"structure"`
5376
5377	// The node IDs of one or more nodes to be rebooted.
5378	NodeIdsToReboot []*string `type:"list"`
5379
5380	// The status of parameter updates.
5381	ParameterApplyStatus *string `type:"string"`
5382
5383	// The name of the parameter group.
5384	ParameterGroupName *string `type:"string"`
5385}
5386
5387// String returns the string representation.
5388//
5389// API parameter values that are decorated as "sensitive" in the API will not
5390// be included in the string output. The member name will be present, but the
5391// value will be replaced with "sensitive".
5392func (s ParameterGroupStatus) String() string {
5393	return awsutil.Prettify(s)
5394}
5395
5396// GoString returns the string representation.
5397//
5398// API parameter values that are decorated as "sensitive" in the API will not
5399// be included in the string output. The member name will be present, but the
5400// value will be replaced with "sensitive".
5401func (s ParameterGroupStatus) GoString() string {
5402	return s.String()
5403}
5404
5405// SetNodeIdsToReboot sets the NodeIdsToReboot field's value.
5406func (s *ParameterGroupStatus) SetNodeIdsToReboot(v []*string) *ParameterGroupStatus {
5407	s.NodeIdsToReboot = v
5408	return s
5409}
5410
5411// SetParameterApplyStatus sets the ParameterApplyStatus field's value.
5412func (s *ParameterGroupStatus) SetParameterApplyStatus(v string) *ParameterGroupStatus {
5413	s.ParameterApplyStatus = &v
5414	return s
5415}
5416
5417// SetParameterGroupName sets the ParameterGroupName field's value.
5418func (s *ParameterGroupStatus) SetParameterGroupName(v string) *ParameterGroupStatus {
5419	s.ParameterGroupName = &v
5420	return s
5421}
5422
5423// An individual DAX parameter.
5424type ParameterNameValue struct {
5425	_ struct{} `type:"structure"`
5426
5427	// The name of the parameter.
5428	ParameterName *string `type:"string"`
5429
5430	// The value of the parameter.
5431	ParameterValue *string `type:"string"`
5432}
5433
5434// String returns the string representation.
5435//
5436// API parameter values that are decorated as "sensitive" in the API will not
5437// be included in the string output. The member name will be present, but the
5438// value will be replaced with "sensitive".
5439func (s ParameterNameValue) String() string {
5440	return awsutil.Prettify(s)
5441}
5442
5443// GoString returns the string representation.
5444//
5445// API parameter values that are decorated as "sensitive" in the API will not
5446// be included in the string output. The member name will be present, but the
5447// value will be replaced with "sensitive".
5448func (s ParameterNameValue) GoString() string {
5449	return s.String()
5450}
5451
5452// SetParameterName sets the ParameterName field's value.
5453func (s *ParameterNameValue) SetParameterName(v string) *ParameterNameValue {
5454	s.ParameterName = &v
5455	return s
5456}
5457
5458// SetParameterValue sets the ParameterValue field's value.
5459func (s *ParameterNameValue) SetParameterValue(v string) *ParameterNameValue {
5460	s.ParameterValue = &v
5461	return s
5462}
5463
5464type RebootNodeInput struct {
5465	_ struct{} `type:"structure"`
5466
5467	// The name of the DAX cluster containing the node to be rebooted.
5468	//
5469	// ClusterName is a required field
5470	ClusterName *string `type:"string" required:"true"`
5471
5472	// The system-assigned ID of the node to be rebooted.
5473	//
5474	// NodeId is a required field
5475	NodeId *string `type:"string" required:"true"`
5476}
5477
5478// String returns the string representation.
5479//
5480// API parameter values that are decorated as "sensitive" in the API will not
5481// be included in the string output. The member name will be present, but the
5482// value will be replaced with "sensitive".
5483func (s RebootNodeInput) String() string {
5484	return awsutil.Prettify(s)
5485}
5486
5487// GoString returns the string representation.
5488//
5489// API parameter values that are decorated as "sensitive" in the API will not
5490// be included in the string output. The member name will be present, but the
5491// value will be replaced with "sensitive".
5492func (s RebootNodeInput) GoString() string {
5493	return s.String()
5494}
5495
5496// Validate inspects the fields of the type to determine if they are valid.
5497func (s *RebootNodeInput) Validate() error {
5498	invalidParams := request.ErrInvalidParams{Context: "RebootNodeInput"}
5499	if s.ClusterName == nil {
5500		invalidParams.Add(request.NewErrParamRequired("ClusterName"))
5501	}
5502	if s.NodeId == nil {
5503		invalidParams.Add(request.NewErrParamRequired("NodeId"))
5504	}
5505
5506	if invalidParams.Len() > 0 {
5507		return invalidParams
5508	}
5509	return nil
5510}
5511
5512// SetClusterName sets the ClusterName field's value.
5513func (s *RebootNodeInput) SetClusterName(v string) *RebootNodeInput {
5514	s.ClusterName = &v
5515	return s
5516}
5517
5518// SetNodeId sets the NodeId field's value.
5519func (s *RebootNodeInput) SetNodeId(v string) *RebootNodeInput {
5520	s.NodeId = &v
5521	return s
5522}
5523
5524type RebootNodeOutput struct {
5525	_ struct{} `type:"structure"`
5526
5527	// A description of the DAX cluster after a node has been rebooted.
5528	Cluster *Cluster `type:"structure"`
5529}
5530
5531// String returns the string representation.
5532//
5533// API parameter values that are decorated as "sensitive" in the API will not
5534// be included in the string output. The member name will be present, but the
5535// value will be replaced with "sensitive".
5536func (s RebootNodeOutput) String() string {
5537	return awsutil.Prettify(s)
5538}
5539
5540// GoString returns the string representation.
5541//
5542// API parameter values that are decorated as "sensitive" in the API will not
5543// be included in the string output. The member name will be present, but the
5544// value will be replaced with "sensitive".
5545func (s RebootNodeOutput) GoString() string {
5546	return s.String()
5547}
5548
5549// SetCluster sets the Cluster field's value.
5550func (s *RebootNodeOutput) SetCluster(v *Cluster) *RebootNodeOutput {
5551	s.Cluster = v
5552	return s
5553}
5554
5555// The description of the server-side encryption status on the specified DAX
5556// cluster.
5557type SSEDescription struct {
5558	_ struct{} `type:"structure"`
5559
5560	// The current state of server-side encryption:
5561	//
5562	//    * ENABLING - Server-side encryption is being enabled.
5563	//
5564	//    * ENABLED - Server-side encryption is enabled.
5565	//
5566	//    * DISABLING - Server-side encryption is being disabled.
5567	//
5568	//    * DISABLED - Server-side encryption is disabled.
5569	Status *string `type:"string" enum:"SSEStatus"`
5570}
5571
5572// String returns the string representation.
5573//
5574// API parameter values that are decorated as "sensitive" in the API will not
5575// be included in the string output. The member name will be present, but the
5576// value will be replaced with "sensitive".
5577func (s SSEDescription) String() string {
5578	return awsutil.Prettify(s)
5579}
5580
5581// GoString returns the string representation.
5582//
5583// API parameter values that are decorated as "sensitive" in the API will not
5584// be included in the string output. The member name will be present, but the
5585// value will be replaced with "sensitive".
5586func (s SSEDescription) GoString() string {
5587	return s.String()
5588}
5589
5590// SetStatus sets the Status field's value.
5591func (s *SSEDescription) SetStatus(v string) *SSEDescription {
5592	s.Status = &v
5593	return s
5594}
5595
5596// Represents the settings used to enable server-side encryption.
5597type SSESpecification struct {
5598	_ struct{} `type:"structure"`
5599
5600	// Indicates whether server-side encryption is enabled (true) or disabled (false)
5601	// on the cluster.
5602	//
5603	// Enabled is a required field
5604	Enabled *bool `type:"boolean" required:"true"`
5605}
5606
5607// String returns the string representation.
5608//
5609// API parameter values that are decorated as "sensitive" in the API will not
5610// be included in the string output. The member name will be present, but the
5611// value will be replaced with "sensitive".
5612func (s SSESpecification) String() string {
5613	return awsutil.Prettify(s)
5614}
5615
5616// GoString returns the string representation.
5617//
5618// API parameter values that are decorated as "sensitive" in the API will not
5619// be included in the string output. The member name will be present, but the
5620// value will be replaced with "sensitive".
5621func (s SSESpecification) GoString() string {
5622	return s.String()
5623}
5624
5625// Validate inspects the fields of the type to determine if they are valid.
5626func (s *SSESpecification) Validate() error {
5627	invalidParams := request.ErrInvalidParams{Context: "SSESpecification"}
5628	if s.Enabled == nil {
5629		invalidParams.Add(request.NewErrParamRequired("Enabled"))
5630	}
5631
5632	if invalidParams.Len() > 0 {
5633		return invalidParams
5634	}
5635	return nil
5636}
5637
5638// SetEnabled sets the Enabled field's value.
5639func (s *SSESpecification) SetEnabled(v bool) *SSESpecification {
5640	s.Enabled = &v
5641	return s
5642}
5643
5644// An individual VPC security group and its status.
5645type SecurityGroupMembership struct {
5646	_ struct{} `type:"structure"`
5647
5648	// The unique ID for this security group.
5649	SecurityGroupIdentifier *string `type:"string"`
5650
5651	// The status of this security group.
5652	Status *string `type:"string"`
5653}
5654
5655// String returns the string representation.
5656//
5657// API parameter values that are decorated as "sensitive" in the API will not
5658// be included in the string output. The member name will be present, but the
5659// value will be replaced with "sensitive".
5660func (s SecurityGroupMembership) String() string {
5661	return awsutil.Prettify(s)
5662}
5663
5664// GoString returns the string representation.
5665//
5666// API parameter values that are decorated as "sensitive" in the API will not
5667// be included in the string output. The member name will be present, but the
5668// value will be replaced with "sensitive".
5669func (s SecurityGroupMembership) GoString() string {
5670	return s.String()
5671}
5672
5673// SetSecurityGroupIdentifier sets the SecurityGroupIdentifier field's value.
5674func (s *SecurityGroupMembership) SetSecurityGroupIdentifier(v string) *SecurityGroupMembership {
5675	s.SecurityGroupIdentifier = &v
5676	return s
5677}
5678
5679// SetStatus sets the Status field's value.
5680func (s *SecurityGroupMembership) SetStatus(v string) *SecurityGroupMembership {
5681	s.Status = &v
5682	return s
5683}
5684
5685// The specified service linked role (SLR) was not found.
5686type ServiceLinkedRoleNotFoundFault struct {
5687	_            struct{}                  `type:"structure"`
5688	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5689
5690	Message_ *string `locationName:"message" type:"string"`
5691}
5692
5693// String returns the string representation.
5694//
5695// API parameter values that are decorated as "sensitive" in the API will not
5696// be included in the string output. The member name will be present, but the
5697// value will be replaced with "sensitive".
5698func (s ServiceLinkedRoleNotFoundFault) String() string {
5699	return awsutil.Prettify(s)
5700}
5701
5702// GoString returns the string representation.
5703//
5704// API parameter values that are decorated as "sensitive" in the API will not
5705// be included in the string output. The member name will be present, but the
5706// value will be replaced with "sensitive".
5707func (s ServiceLinkedRoleNotFoundFault) GoString() string {
5708	return s.String()
5709}
5710
5711func newErrorServiceLinkedRoleNotFoundFault(v protocol.ResponseMetadata) error {
5712	return &ServiceLinkedRoleNotFoundFault{
5713		RespMetadata: v,
5714	}
5715}
5716
5717// Code returns the exception type name.
5718func (s *ServiceLinkedRoleNotFoundFault) Code() string {
5719	return "ServiceLinkedRoleNotFoundFault"
5720}
5721
5722// Message returns the exception's message.
5723func (s *ServiceLinkedRoleNotFoundFault) Message() string {
5724	if s.Message_ != nil {
5725		return *s.Message_
5726	}
5727	return ""
5728}
5729
5730// OrigErr always returns nil, satisfies awserr.Error interface.
5731func (s *ServiceLinkedRoleNotFoundFault) OrigErr() error {
5732	return nil
5733}
5734
5735func (s *ServiceLinkedRoleNotFoundFault) Error() string {
5736	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5737}
5738
5739// Status code returns the HTTP status code for the request's response error.
5740func (s *ServiceLinkedRoleNotFoundFault) StatusCode() int {
5741	return s.RespMetadata.StatusCode
5742}
5743
5744// RequestID returns the service's response RequestID for request.
5745func (s *ServiceLinkedRoleNotFoundFault) RequestID() string {
5746	return s.RespMetadata.RequestID
5747}
5748
5749// You have reached the maximum number of x509 certificates that can be created
5750// for encrypted clusters in a 30 day period. Contact AWS customer support to
5751// discuss options for continuing to create encrypted clusters.
5752type ServiceQuotaExceededException struct {
5753	_            struct{}                  `type:"structure"`
5754	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5755
5756	Message_ *string `locationName:"message" type:"string"`
5757}
5758
5759// String returns the string representation.
5760//
5761// API parameter values that are decorated as "sensitive" in the API will not
5762// be included in the string output. The member name will be present, but the
5763// value will be replaced with "sensitive".
5764func (s ServiceQuotaExceededException) String() string {
5765	return awsutil.Prettify(s)
5766}
5767
5768// GoString returns the string representation.
5769//
5770// API parameter values that are decorated as "sensitive" in the API will not
5771// be included in the string output. The member name will be present, but the
5772// value will be replaced with "sensitive".
5773func (s ServiceQuotaExceededException) GoString() string {
5774	return s.String()
5775}
5776
5777func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error {
5778	return &ServiceQuotaExceededException{
5779		RespMetadata: v,
5780	}
5781}
5782
5783// Code returns the exception type name.
5784func (s *ServiceQuotaExceededException) Code() string {
5785	return "ServiceQuotaExceededException"
5786}
5787
5788// Message returns the exception's message.
5789func (s *ServiceQuotaExceededException) Message() string {
5790	if s.Message_ != nil {
5791		return *s.Message_
5792	}
5793	return ""
5794}
5795
5796// OrigErr always returns nil, satisfies awserr.Error interface.
5797func (s *ServiceQuotaExceededException) OrigErr() error {
5798	return nil
5799}
5800
5801func (s *ServiceQuotaExceededException) Error() string {
5802	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5803}
5804
5805// Status code returns the HTTP status code for the request's response error.
5806func (s *ServiceQuotaExceededException) StatusCode() int {
5807	return s.RespMetadata.StatusCode
5808}
5809
5810// RequestID returns the service's response RequestID for request.
5811func (s *ServiceQuotaExceededException) RequestID() string {
5812	return s.RespMetadata.RequestID
5813}
5814
5815// Represents the subnet associated with a DAX cluster. This parameter refers
5816// to subnets defined in Amazon Virtual Private Cloud (Amazon VPC) and used
5817// with DAX.
5818type Subnet struct {
5819	_ struct{} `type:"structure"`
5820
5821	// The Availability Zone (AZ) for the subnet.
5822	SubnetAvailabilityZone *string `type:"string"`
5823
5824	// The system-assigned identifier for the subnet.
5825	SubnetIdentifier *string `type:"string"`
5826}
5827
5828// String returns the string representation.
5829//
5830// API parameter values that are decorated as "sensitive" in the API will not
5831// be included in the string output. The member name will be present, but the
5832// value will be replaced with "sensitive".
5833func (s Subnet) String() string {
5834	return awsutil.Prettify(s)
5835}
5836
5837// GoString returns the string representation.
5838//
5839// API parameter values that are decorated as "sensitive" in the API will not
5840// be included in the string output. The member name will be present, but the
5841// value will be replaced with "sensitive".
5842func (s Subnet) GoString() string {
5843	return s.String()
5844}
5845
5846// SetSubnetAvailabilityZone sets the SubnetAvailabilityZone field's value.
5847func (s *Subnet) SetSubnetAvailabilityZone(v string) *Subnet {
5848	s.SubnetAvailabilityZone = &v
5849	return s
5850}
5851
5852// SetSubnetIdentifier sets the SubnetIdentifier field's value.
5853func (s *Subnet) SetSubnetIdentifier(v string) *Subnet {
5854	s.SubnetIdentifier = &v
5855	return s
5856}
5857
5858// Represents the output of one of the following actions:
5859//
5860//    * CreateSubnetGroup
5861//
5862//    * ModifySubnetGroup
5863type SubnetGroup struct {
5864	_ struct{} `type:"structure"`
5865
5866	// The description of the subnet group.
5867	Description *string `type:"string"`
5868
5869	// The name of the subnet group.
5870	SubnetGroupName *string `type:"string"`
5871
5872	// A list of subnets associated with the subnet group.
5873	Subnets []*Subnet `type:"list"`
5874
5875	// The Amazon Virtual Private Cloud identifier (VPC ID) of the subnet group.
5876	VpcId *string `type:"string"`
5877}
5878
5879// String returns the string representation.
5880//
5881// API parameter values that are decorated as "sensitive" in the API will not
5882// be included in the string output. The member name will be present, but the
5883// value will be replaced with "sensitive".
5884func (s SubnetGroup) String() string {
5885	return awsutil.Prettify(s)
5886}
5887
5888// GoString returns the string representation.
5889//
5890// API parameter values that are decorated as "sensitive" in the API will not
5891// be included in the string output. The member name will be present, but the
5892// value will be replaced with "sensitive".
5893func (s SubnetGroup) GoString() string {
5894	return s.String()
5895}
5896
5897// SetDescription sets the Description field's value.
5898func (s *SubnetGroup) SetDescription(v string) *SubnetGroup {
5899	s.Description = &v
5900	return s
5901}
5902
5903// SetSubnetGroupName sets the SubnetGroupName field's value.
5904func (s *SubnetGroup) SetSubnetGroupName(v string) *SubnetGroup {
5905	s.SubnetGroupName = &v
5906	return s
5907}
5908
5909// SetSubnets sets the Subnets field's value.
5910func (s *SubnetGroup) SetSubnets(v []*Subnet) *SubnetGroup {
5911	s.Subnets = v
5912	return s
5913}
5914
5915// SetVpcId sets the VpcId field's value.
5916func (s *SubnetGroup) SetVpcId(v string) *SubnetGroup {
5917	s.VpcId = &v
5918	return s
5919}
5920
5921// The specified subnet group already exists.
5922type SubnetGroupAlreadyExistsFault struct {
5923	_            struct{}                  `type:"structure"`
5924	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5925
5926	Message_ *string `locationName:"message" type:"string"`
5927}
5928
5929// String returns the string representation.
5930//
5931// API parameter values that are decorated as "sensitive" in the API will not
5932// be included in the string output. The member name will be present, but the
5933// value will be replaced with "sensitive".
5934func (s SubnetGroupAlreadyExistsFault) String() string {
5935	return awsutil.Prettify(s)
5936}
5937
5938// GoString returns the string representation.
5939//
5940// API parameter values that are decorated as "sensitive" in the API will not
5941// be included in the string output. The member name will be present, but the
5942// value will be replaced with "sensitive".
5943func (s SubnetGroupAlreadyExistsFault) GoString() string {
5944	return s.String()
5945}
5946
5947func newErrorSubnetGroupAlreadyExistsFault(v protocol.ResponseMetadata) error {
5948	return &SubnetGroupAlreadyExistsFault{
5949		RespMetadata: v,
5950	}
5951}
5952
5953// Code returns the exception type name.
5954func (s *SubnetGroupAlreadyExistsFault) Code() string {
5955	return "SubnetGroupAlreadyExistsFault"
5956}
5957
5958// Message returns the exception's message.
5959func (s *SubnetGroupAlreadyExistsFault) Message() string {
5960	if s.Message_ != nil {
5961		return *s.Message_
5962	}
5963	return ""
5964}
5965
5966// OrigErr always returns nil, satisfies awserr.Error interface.
5967func (s *SubnetGroupAlreadyExistsFault) OrigErr() error {
5968	return nil
5969}
5970
5971func (s *SubnetGroupAlreadyExistsFault) Error() string {
5972	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5973}
5974
5975// Status code returns the HTTP status code for the request's response error.
5976func (s *SubnetGroupAlreadyExistsFault) StatusCode() int {
5977	return s.RespMetadata.StatusCode
5978}
5979
5980// RequestID returns the service's response RequestID for request.
5981func (s *SubnetGroupAlreadyExistsFault) RequestID() string {
5982	return s.RespMetadata.RequestID
5983}
5984
5985// The specified subnet group is currently in use.
5986type SubnetGroupInUseFault struct {
5987	_            struct{}                  `type:"structure"`
5988	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5989
5990	Message_ *string `locationName:"message" type:"string"`
5991}
5992
5993// String returns the string representation.
5994//
5995// API parameter values that are decorated as "sensitive" in the API will not
5996// be included in the string output. The member name will be present, but the
5997// value will be replaced with "sensitive".
5998func (s SubnetGroupInUseFault) String() string {
5999	return awsutil.Prettify(s)
6000}
6001
6002// GoString returns the string representation.
6003//
6004// API parameter values that are decorated as "sensitive" in the API will not
6005// be included in the string output. The member name will be present, but the
6006// value will be replaced with "sensitive".
6007func (s SubnetGroupInUseFault) GoString() string {
6008	return s.String()
6009}
6010
6011func newErrorSubnetGroupInUseFault(v protocol.ResponseMetadata) error {
6012	return &SubnetGroupInUseFault{
6013		RespMetadata: v,
6014	}
6015}
6016
6017// Code returns the exception type name.
6018func (s *SubnetGroupInUseFault) Code() string {
6019	return "SubnetGroupInUseFault"
6020}
6021
6022// Message returns the exception's message.
6023func (s *SubnetGroupInUseFault) Message() string {
6024	if s.Message_ != nil {
6025		return *s.Message_
6026	}
6027	return ""
6028}
6029
6030// OrigErr always returns nil, satisfies awserr.Error interface.
6031func (s *SubnetGroupInUseFault) OrigErr() error {
6032	return nil
6033}
6034
6035func (s *SubnetGroupInUseFault) Error() string {
6036	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
6037}
6038
6039// Status code returns the HTTP status code for the request's response error.
6040func (s *SubnetGroupInUseFault) StatusCode() int {
6041	return s.RespMetadata.StatusCode
6042}
6043
6044// RequestID returns the service's response RequestID for request.
6045func (s *SubnetGroupInUseFault) RequestID() string {
6046	return s.RespMetadata.RequestID
6047}
6048
6049// The requested subnet group name does not refer to an existing subnet group.
6050type SubnetGroupNotFoundFault struct {
6051	_            struct{}                  `type:"structure"`
6052	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6053
6054	Message_ *string `locationName:"message" type:"string"`
6055}
6056
6057// String returns the string representation.
6058//
6059// API parameter values that are decorated as "sensitive" in the API will not
6060// be included in the string output. The member name will be present, but the
6061// value will be replaced with "sensitive".
6062func (s SubnetGroupNotFoundFault) String() string {
6063	return awsutil.Prettify(s)
6064}
6065
6066// GoString returns the string representation.
6067//
6068// API parameter values that are decorated as "sensitive" in the API will not
6069// be included in the string output. The member name will be present, but the
6070// value will be replaced with "sensitive".
6071func (s SubnetGroupNotFoundFault) GoString() string {
6072	return s.String()
6073}
6074
6075func newErrorSubnetGroupNotFoundFault(v protocol.ResponseMetadata) error {
6076	return &SubnetGroupNotFoundFault{
6077		RespMetadata: v,
6078	}
6079}
6080
6081// Code returns the exception type name.
6082func (s *SubnetGroupNotFoundFault) Code() string {
6083	return "SubnetGroupNotFoundFault"
6084}
6085
6086// Message returns the exception's message.
6087func (s *SubnetGroupNotFoundFault) Message() string {
6088	if s.Message_ != nil {
6089		return *s.Message_
6090	}
6091	return ""
6092}
6093
6094// OrigErr always returns nil, satisfies awserr.Error interface.
6095func (s *SubnetGroupNotFoundFault) OrigErr() error {
6096	return nil
6097}
6098
6099func (s *SubnetGroupNotFoundFault) Error() string {
6100	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
6101}
6102
6103// Status code returns the HTTP status code for the request's response error.
6104func (s *SubnetGroupNotFoundFault) StatusCode() int {
6105	return s.RespMetadata.StatusCode
6106}
6107
6108// RequestID returns the service's response RequestID for request.
6109func (s *SubnetGroupNotFoundFault) RequestID() string {
6110	return s.RespMetadata.RequestID
6111}
6112
6113// The request cannot be processed because it would exceed the allowed number
6114// of subnets in a subnet group.
6115type SubnetGroupQuotaExceededFault struct {
6116	_            struct{}                  `type:"structure"`
6117	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6118
6119	Message_ *string `locationName:"message" type:"string"`
6120}
6121
6122// String returns the string representation.
6123//
6124// API parameter values that are decorated as "sensitive" in the API will not
6125// be included in the string output. The member name will be present, but the
6126// value will be replaced with "sensitive".
6127func (s SubnetGroupQuotaExceededFault) String() string {
6128	return awsutil.Prettify(s)
6129}
6130
6131// GoString returns the string representation.
6132//
6133// API parameter values that are decorated as "sensitive" in the API will not
6134// be included in the string output. The member name will be present, but the
6135// value will be replaced with "sensitive".
6136func (s SubnetGroupQuotaExceededFault) GoString() string {
6137	return s.String()
6138}
6139
6140func newErrorSubnetGroupQuotaExceededFault(v protocol.ResponseMetadata) error {
6141	return &SubnetGroupQuotaExceededFault{
6142		RespMetadata: v,
6143	}
6144}
6145
6146// Code returns the exception type name.
6147func (s *SubnetGroupQuotaExceededFault) Code() string {
6148	return "SubnetGroupQuotaExceededFault"
6149}
6150
6151// Message returns the exception's message.
6152func (s *SubnetGroupQuotaExceededFault) Message() string {
6153	if s.Message_ != nil {
6154		return *s.Message_
6155	}
6156	return ""
6157}
6158
6159// OrigErr always returns nil, satisfies awserr.Error interface.
6160func (s *SubnetGroupQuotaExceededFault) OrigErr() error {
6161	return nil
6162}
6163
6164func (s *SubnetGroupQuotaExceededFault) Error() string {
6165	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
6166}
6167
6168// Status code returns the HTTP status code for the request's response error.
6169func (s *SubnetGroupQuotaExceededFault) StatusCode() int {
6170	return s.RespMetadata.StatusCode
6171}
6172
6173// RequestID returns the service's response RequestID for request.
6174func (s *SubnetGroupQuotaExceededFault) RequestID() string {
6175	return s.RespMetadata.RequestID
6176}
6177
6178// The requested subnet is being used by another subnet group.
6179type SubnetInUse struct {
6180	_            struct{}                  `type:"structure"`
6181	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6182
6183	Message_ *string `locationName:"message" type:"string"`
6184}
6185
6186// String returns the string representation.
6187//
6188// API parameter values that are decorated as "sensitive" in the API will not
6189// be included in the string output. The member name will be present, but the
6190// value will be replaced with "sensitive".
6191func (s SubnetInUse) String() string {
6192	return awsutil.Prettify(s)
6193}
6194
6195// GoString returns the string representation.
6196//
6197// API parameter values that are decorated as "sensitive" in the API will not
6198// be included in the string output. The member name will be present, but the
6199// value will be replaced with "sensitive".
6200func (s SubnetInUse) GoString() string {
6201	return s.String()
6202}
6203
6204func newErrorSubnetInUse(v protocol.ResponseMetadata) error {
6205	return &SubnetInUse{
6206		RespMetadata: v,
6207	}
6208}
6209
6210// Code returns the exception type name.
6211func (s *SubnetInUse) Code() string {
6212	return "SubnetInUse"
6213}
6214
6215// Message returns the exception's message.
6216func (s *SubnetInUse) Message() string {
6217	if s.Message_ != nil {
6218		return *s.Message_
6219	}
6220	return ""
6221}
6222
6223// OrigErr always returns nil, satisfies awserr.Error interface.
6224func (s *SubnetInUse) OrigErr() error {
6225	return nil
6226}
6227
6228func (s *SubnetInUse) Error() string {
6229	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
6230}
6231
6232// Status code returns the HTTP status code for the request's response error.
6233func (s *SubnetInUse) StatusCode() int {
6234	return s.RespMetadata.StatusCode
6235}
6236
6237// RequestID returns the service's response RequestID for request.
6238func (s *SubnetInUse) RequestID() string {
6239	return s.RespMetadata.RequestID
6240}
6241
6242// The request cannot be processed because it would exceed the allowed number
6243// of subnets in a subnet group.
6244type SubnetQuotaExceededFault struct {
6245	_            struct{}                  `type:"structure"`
6246	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6247
6248	Message_ *string `locationName:"message" type:"string"`
6249}
6250
6251// String returns the string representation.
6252//
6253// API parameter values that are decorated as "sensitive" in the API will not
6254// be included in the string output. The member name will be present, but the
6255// value will be replaced with "sensitive".
6256func (s SubnetQuotaExceededFault) String() string {
6257	return awsutil.Prettify(s)
6258}
6259
6260// GoString returns the string representation.
6261//
6262// API parameter values that are decorated as "sensitive" in the API will not
6263// be included in the string output. The member name will be present, but the
6264// value will be replaced with "sensitive".
6265func (s SubnetQuotaExceededFault) GoString() string {
6266	return s.String()
6267}
6268
6269func newErrorSubnetQuotaExceededFault(v protocol.ResponseMetadata) error {
6270	return &SubnetQuotaExceededFault{
6271		RespMetadata: v,
6272	}
6273}
6274
6275// Code returns the exception type name.
6276func (s *SubnetQuotaExceededFault) Code() string {
6277	return "SubnetQuotaExceededFault"
6278}
6279
6280// Message returns the exception's message.
6281func (s *SubnetQuotaExceededFault) Message() string {
6282	if s.Message_ != nil {
6283		return *s.Message_
6284	}
6285	return ""
6286}
6287
6288// OrigErr always returns nil, satisfies awserr.Error interface.
6289func (s *SubnetQuotaExceededFault) OrigErr() error {
6290	return nil
6291}
6292
6293func (s *SubnetQuotaExceededFault) Error() string {
6294	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
6295}
6296
6297// Status code returns the HTTP status code for the request's response error.
6298func (s *SubnetQuotaExceededFault) StatusCode() int {
6299	return s.RespMetadata.StatusCode
6300}
6301
6302// RequestID returns the service's response RequestID for request.
6303func (s *SubnetQuotaExceededFault) RequestID() string {
6304	return s.RespMetadata.RequestID
6305}
6306
6307// A description of a tag. Every tag is a key-value pair. You can add up to
6308// 50 tags to a single DAX cluster.
6309//
6310// AWS-assigned tag names and values are automatically assigned the aws: prefix,
6311// which the user cannot assign. AWS-assigned tag names do not count towards
6312// the tag limit of 50. User-assigned tag names have the prefix user:.
6313//
6314// You cannot backdate the application of a tag.
6315type Tag struct {
6316	_ struct{} `type:"structure"`
6317
6318	// The key for the tag. Tag keys are case sensitive. Every DAX cluster can only
6319	// have one tag with the same key. If you try to add an existing tag (same key),
6320	// the existing tag value will be updated to the new value.
6321	Key *string `type:"string"`
6322
6323	// The value of the tag. Tag values are case-sensitive and can be null.
6324	Value *string `type:"string"`
6325}
6326
6327// String returns the string representation.
6328//
6329// API parameter values that are decorated as "sensitive" in the API will not
6330// be included in the string output. The member name will be present, but the
6331// value will be replaced with "sensitive".
6332func (s Tag) String() string {
6333	return awsutil.Prettify(s)
6334}
6335
6336// GoString returns the string representation.
6337//
6338// API parameter values that are decorated as "sensitive" in the API will not
6339// be included in the string output. The member name will be present, but the
6340// value will be replaced with "sensitive".
6341func (s Tag) GoString() string {
6342	return s.String()
6343}
6344
6345// SetKey sets the Key field's value.
6346func (s *Tag) SetKey(v string) *Tag {
6347	s.Key = &v
6348	return s
6349}
6350
6351// SetValue sets the Value field's value.
6352func (s *Tag) SetValue(v string) *Tag {
6353	s.Value = &v
6354	return s
6355}
6356
6357// The tag does not exist.
6358type TagNotFoundFault struct {
6359	_            struct{}                  `type:"structure"`
6360	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6361
6362	Message_ *string `locationName:"message" type:"string"`
6363}
6364
6365// String returns the string representation.
6366//
6367// API parameter values that are decorated as "sensitive" in the API will not
6368// be included in the string output. The member name will be present, but the
6369// value will be replaced with "sensitive".
6370func (s TagNotFoundFault) String() string {
6371	return awsutil.Prettify(s)
6372}
6373
6374// GoString returns the string representation.
6375//
6376// API parameter values that are decorated as "sensitive" in the API will not
6377// be included in the string output. The member name will be present, but the
6378// value will be replaced with "sensitive".
6379func (s TagNotFoundFault) GoString() string {
6380	return s.String()
6381}
6382
6383func newErrorTagNotFoundFault(v protocol.ResponseMetadata) error {
6384	return &TagNotFoundFault{
6385		RespMetadata: v,
6386	}
6387}
6388
6389// Code returns the exception type name.
6390func (s *TagNotFoundFault) Code() string {
6391	return "TagNotFoundFault"
6392}
6393
6394// Message returns the exception's message.
6395func (s *TagNotFoundFault) Message() string {
6396	if s.Message_ != nil {
6397		return *s.Message_
6398	}
6399	return ""
6400}
6401
6402// OrigErr always returns nil, satisfies awserr.Error interface.
6403func (s *TagNotFoundFault) OrigErr() error {
6404	return nil
6405}
6406
6407func (s *TagNotFoundFault) Error() string {
6408	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
6409}
6410
6411// Status code returns the HTTP status code for the request's response error.
6412func (s *TagNotFoundFault) StatusCode() int {
6413	return s.RespMetadata.StatusCode
6414}
6415
6416// RequestID returns the service's response RequestID for request.
6417func (s *TagNotFoundFault) RequestID() string {
6418	return s.RespMetadata.RequestID
6419}
6420
6421// You have exceeded the maximum number of tags for this DAX cluster.
6422type TagQuotaPerResourceExceeded struct {
6423	_            struct{}                  `type:"structure"`
6424	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6425
6426	Message_ *string `locationName:"message" type:"string"`
6427}
6428
6429// String returns the string representation.
6430//
6431// API parameter values that are decorated as "sensitive" in the API will not
6432// be included in the string output. The member name will be present, but the
6433// value will be replaced with "sensitive".
6434func (s TagQuotaPerResourceExceeded) String() string {
6435	return awsutil.Prettify(s)
6436}
6437
6438// GoString returns the string representation.
6439//
6440// API parameter values that are decorated as "sensitive" in the API will not
6441// be included in the string output. The member name will be present, but the
6442// value will be replaced with "sensitive".
6443func (s TagQuotaPerResourceExceeded) GoString() string {
6444	return s.String()
6445}
6446
6447func newErrorTagQuotaPerResourceExceeded(v protocol.ResponseMetadata) error {
6448	return &TagQuotaPerResourceExceeded{
6449		RespMetadata: v,
6450	}
6451}
6452
6453// Code returns the exception type name.
6454func (s *TagQuotaPerResourceExceeded) Code() string {
6455	return "TagQuotaPerResourceExceeded"
6456}
6457
6458// Message returns the exception's message.
6459func (s *TagQuotaPerResourceExceeded) Message() string {
6460	if s.Message_ != nil {
6461		return *s.Message_
6462	}
6463	return ""
6464}
6465
6466// OrigErr always returns nil, satisfies awserr.Error interface.
6467func (s *TagQuotaPerResourceExceeded) OrigErr() error {
6468	return nil
6469}
6470
6471func (s *TagQuotaPerResourceExceeded) Error() string {
6472	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
6473}
6474
6475// Status code returns the HTTP status code for the request's response error.
6476func (s *TagQuotaPerResourceExceeded) StatusCode() int {
6477	return s.RespMetadata.StatusCode
6478}
6479
6480// RequestID returns the service's response RequestID for request.
6481func (s *TagQuotaPerResourceExceeded) RequestID() string {
6482	return s.RespMetadata.RequestID
6483}
6484
6485type TagResourceInput struct {
6486	_ struct{} `type:"structure"`
6487
6488	// The name of the DAX resource to which tags should be added.
6489	//
6490	// ResourceName is a required field
6491	ResourceName *string `type:"string" required:"true"`
6492
6493	// The tags to be assigned to the DAX resource.
6494	//
6495	// Tags is a required field
6496	Tags []*Tag `type:"list" required:"true"`
6497}
6498
6499// String returns the string representation.
6500//
6501// API parameter values that are decorated as "sensitive" in the API will not
6502// be included in the string output. The member name will be present, but the
6503// value will be replaced with "sensitive".
6504func (s TagResourceInput) String() string {
6505	return awsutil.Prettify(s)
6506}
6507
6508// GoString returns the string representation.
6509//
6510// API parameter values that are decorated as "sensitive" in the API will not
6511// be included in the string output. The member name will be present, but the
6512// value will be replaced with "sensitive".
6513func (s TagResourceInput) GoString() string {
6514	return s.String()
6515}
6516
6517// Validate inspects the fields of the type to determine if they are valid.
6518func (s *TagResourceInput) Validate() error {
6519	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
6520	if s.ResourceName == nil {
6521		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
6522	}
6523	if s.Tags == nil {
6524		invalidParams.Add(request.NewErrParamRequired("Tags"))
6525	}
6526
6527	if invalidParams.Len() > 0 {
6528		return invalidParams
6529	}
6530	return nil
6531}
6532
6533// SetResourceName sets the ResourceName field's value.
6534func (s *TagResourceInput) SetResourceName(v string) *TagResourceInput {
6535	s.ResourceName = &v
6536	return s
6537}
6538
6539// SetTags sets the Tags field's value.
6540func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
6541	s.Tags = v
6542	return s
6543}
6544
6545type TagResourceOutput struct {
6546	_ struct{} `type:"structure"`
6547
6548	// The list of tags that are associated with the DAX resource.
6549	Tags []*Tag `type:"list"`
6550}
6551
6552// String returns the string representation.
6553//
6554// API parameter values that are decorated as "sensitive" in the API will not
6555// be included in the string output. The member name will be present, but the
6556// value will be replaced with "sensitive".
6557func (s TagResourceOutput) String() string {
6558	return awsutil.Prettify(s)
6559}
6560
6561// GoString returns the string representation.
6562//
6563// API parameter values that are decorated as "sensitive" in the API will not
6564// be included in the string output. The member name will be present, but the
6565// value will be replaced with "sensitive".
6566func (s TagResourceOutput) GoString() string {
6567	return s.String()
6568}
6569
6570// SetTags sets the Tags field's value.
6571func (s *TagResourceOutput) SetTags(v []*Tag) *TagResourceOutput {
6572	s.Tags = v
6573	return s
6574}
6575
6576type UntagResourceInput struct {
6577	_ struct{} `type:"structure"`
6578
6579	// The name of the DAX resource from which the tags should be removed.
6580	//
6581	// ResourceName is a required field
6582	ResourceName *string `type:"string" required:"true"`
6583
6584	// A list of tag keys. If the DAX cluster has any tags with these keys, then
6585	// the tags are removed from the cluster.
6586	//
6587	// TagKeys is a required field
6588	TagKeys []*string `type:"list" required:"true"`
6589}
6590
6591// String returns the string representation.
6592//
6593// API parameter values that are decorated as "sensitive" in the API will not
6594// be included in the string output. The member name will be present, but the
6595// value will be replaced with "sensitive".
6596func (s UntagResourceInput) String() string {
6597	return awsutil.Prettify(s)
6598}
6599
6600// GoString returns the string representation.
6601//
6602// API parameter values that are decorated as "sensitive" in the API will not
6603// be included in the string output. The member name will be present, but the
6604// value will be replaced with "sensitive".
6605func (s UntagResourceInput) GoString() string {
6606	return s.String()
6607}
6608
6609// Validate inspects the fields of the type to determine if they are valid.
6610func (s *UntagResourceInput) Validate() error {
6611	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
6612	if s.ResourceName == nil {
6613		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
6614	}
6615	if s.TagKeys == nil {
6616		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
6617	}
6618
6619	if invalidParams.Len() > 0 {
6620		return invalidParams
6621	}
6622	return nil
6623}
6624
6625// SetResourceName sets the ResourceName field's value.
6626func (s *UntagResourceInput) SetResourceName(v string) *UntagResourceInput {
6627	s.ResourceName = &v
6628	return s
6629}
6630
6631// SetTagKeys sets the TagKeys field's value.
6632func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
6633	s.TagKeys = v
6634	return s
6635}
6636
6637type UntagResourceOutput struct {
6638	_ struct{} `type:"structure"`
6639
6640	// The tag keys that have been removed from the cluster.
6641	Tags []*Tag `type:"list"`
6642}
6643
6644// String returns the string representation.
6645//
6646// API parameter values that are decorated as "sensitive" in the API will not
6647// be included in the string output. The member name will be present, but the
6648// value will be replaced with "sensitive".
6649func (s UntagResourceOutput) String() string {
6650	return awsutil.Prettify(s)
6651}
6652
6653// GoString returns the string representation.
6654//
6655// API parameter values that are decorated as "sensitive" in the API will not
6656// be included in the string output. The member name will be present, but the
6657// value will be replaced with "sensitive".
6658func (s UntagResourceOutput) GoString() string {
6659	return s.String()
6660}
6661
6662// SetTags sets the Tags field's value.
6663func (s *UntagResourceOutput) SetTags(v []*Tag) *UntagResourceOutput {
6664	s.Tags = v
6665	return s
6666}
6667
6668type UpdateClusterInput struct {
6669	_ struct{} `type:"structure"`
6670
6671	// The name of the DAX cluster to be modified.
6672	//
6673	// ClusterName is a required field
6674	ClusterName *string `type:"string" required:"true"`
6675
6676	// A description of the changes being made to the cluster.
6677	Description *string `type:"string"`
6678
6679	// The Amazon Resource Name (ARN) that identifies the topic.
6680	NotificationTopicArn *string `type:"string"`
6681
6682	// The current state of the topic. A value of “active” means that notifications
6683	// will be sent to the topic. A value of “inactive” means that notifications
6684	// will not be sent to the topic.
6685	NotificationTopicStatus *string `type:"string"`
6686
6687	// The name of a parameter group for this cluster.
6688	ParameterGroupName *string `type:"string"`
6689
6690	// A range of time when maintenance of DAX cluster software will be performed.
6691	// For example: sun:01:00-sun:09:00. Cluster maintenance normally takes less
6692	// than 30 minutes, and is performed automatically within the maintenance window.
6693	PreferredMaintenanceWindow *string `type:"string"`
6694
6695	// A list of user-specified security group IDs to be assigned to each node in
6696	// the DAX cluster. If this parameter is not specified, DAX assigns the default
6697	// VPC security group to each node.
6698	SecurityGroupIds []*string `type:"list"`
6699}
6700
6701// String returns the string representation.
6702//
6703// API parameter values that are decorated as "sensitive" in the API will not
6704// be included in the string output. The member name will be present, but the
6705// value will be replaced with "sensitive".
6706func (s UpdateClusterInput) String() string {
6707	return awsutil.Prettify(s)
6708}
6709
6710// GoString returns the string representation.
6711//
6712// API parameter values that are decorated as "sensitive" in the API will not
6713// be included in the string output. The member name will be present, but the
6714// value will be replaced with "sensitive".
6715func (s UpdateClusterInput) GoString() string {
6716	return s.String()
6717}
6718
6719// Validate inspects the fields of the type to determine if they are valid.
6720func (s *UpdateClusterInput) Validate() error {
6721	invalidParams := request.ErrInvalidParams{Context: "UpdateClusterInput"}
6722	if s.ClusterName == nil {
6723		invalidParams.Add(request.NewErrParamRequired("ClusterName"))
6724	}
6725
6726	if invalidParams.Len() > 0 {
6727		return invalidParams
6728	}
6729	return nil
6730}
6731
6732// SetClusterName sets the ClusterName field's value.
6733func (s *UpdateClusterInput) SetClusterName(v string) *UpdateClusterInput {
6734	s.ClusterName = &v
6735	return s
6736}
6737
6738// SetDescription sets the Description field's value.
6739func (s *UpdateClusterInput) SetDescription(v string) *UpdateClusterInput {
6740	s.Description = &v
6741	return s
6742}
6743
6744// SetNotificationTopicArn sets the NotificationTopicArn field's value.
6745func (s *UpdateClusterInput) SetNotificationTopicArn(v string) *UpdateClusterInput {
6746	s.NotificationTopicArn = &v
6747	return s
6748}
6749
6750// SetNotificationTopicStatus sets the NotificationTopicStatus field's value.
6751func (s *UpdateClusterInput) SetNotificationTopicStatus(v string) *UpdateClusterInput {
6752	s.NotificationTopicStatus = &v
6753	return s
6754}
6755
6756// SetParameterGroupName sets the ParameterGroupName field's value.
6757func (s *UpdateClusterInput) SetParameterGroupName(v string) *UpdateClusterInput {
6758	s.ParameterGroupName = &v
6759	return s
6760}
6761
6762// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
6763func (s *UpdateClusterInput) SetPreferredMaintenanceWindow(v string) *UpdateClusterInput {
6764	s.PreferredMaintenanceWindow = &v
6765	return s
6766}
6767
6768// SetSecurityGroupIds sets the SecurityGroupIds field's value.
6769func (s *UpdateClusterInput) SetSecurityGroupIds(v []*string) *UpdateClusterInput {
6770	s.SecurityGroupIds = v
6771	return s
6772}
6773
6774type UpdateClusterOutput struct {
6775	_ struct{} `type:"structure"`
6776
6777	// A description of the DAX cluster, after it has been modified.
6778	Cluster *Cluster `type:"structure"`
6779}
6780
6781// String returns the string representation.
6782//
6783// API parameter values that are decorated as "sensitive" in the API will not
6784// be included in the string output. The member name will be present, but the
6785// value will be replaced with "sensitive".
6786func (s UpdateClusterOutput) String() string {
6787	return awsutil.Prettify(s)
6788}
6789
6790// GoString returns the string representation.
6791//
6792// API parameter values that are decorated as "sensitive" in the API will not
6793// be included in the string output. The member name will be present, but the
6794// value will be replaced with "sensitive".
6795func (s UpdateClusterOutput) GoString() string {
6796	return s.String()
6797}
6798
6799// SetCluster sets the Cluster field's value.
6800func (s *UpdateClusterOutput) SetCluster(v *Cluster) *UpdateClusterOutput {
6801	s.Cluster = v
6802	return s
6803}
6804
6805type UpdateParameterGroupInput struct {
6806	_ struct{} `type:"structure"`
6807
6808	// The name of the parameter group.
6809	//
6810	// ParameterGroupName is a required field
6811	ParameterGroupName *string `type:"string" required:"true"`
6812
6813	// An array of name-value pairs for the parameters in the group. Each element
6814	// in the array represents a single parameter.
6815	//
6816	// record-ttl-millis and query-ttl-millis are the only supported parameter names.
6817	// 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).
6818	//
6819	// ParameterNameValues is a required field
6820	ParameterNameValues []*ParameterNameValue `type:"list" required:"true"`
6821}
6822
6823// String returns the string representation.
6824//
6825// API parameter values that are decorated as "sensitive" in the API will not
6826// be included in the string output. The member name will be present, but the
6827// value will be replaced with "sensitive".
6828func (s UpdateParameterGroupInput) String() string {
6829	return awsutil.Prettify(s)
6830}
6831
6832// GoString returns the string representation.
6833//
6834// API parameter values that are decorated as "sensitive" in the API will not
6835// be included in the string output. The member name will be present, but the
6836// value will be replaced with "sensitive".
6837func (s UpdateParameterGroupInput) GoString() string {
6838	return s.String()
6839}
6840
6841// Validate inspects the fields of the type to determine if they are valid.
6842func (s *UpdateParameterGroupInput) Validate() error {
6843	invalidParams := request.ErrInvalidParams{Context: "UpdateParameterGroupInput"}
6844	if s.ParameterGroupName == nil {
6845		invalidParams.Add(request.NewErrParamRequired("ParameterGroupName"))
6846	}
6847	if s.ParameterNameValues == nil {
6848		invalidParams.Add(request.NewErrParamRequired("ParameterNameValues"))
6849	}
6850
6851	if invalidParams.Len() > 0 {
6852		return invalidParams
6853	}
6854	return nil
6855}
6856
6857// SetParameterGroupName sets the ParameterGroupName field's value.
6858func (s *UpdateParameterGroupInput) SetParameterGroupName(v string) *UpdateParameterGroupInput {
6859	s.ParameterGroupName = &v
6860	return s
6861}
6862
6863// SetParameterNameValues sets the ParameterNameValues field's value.
6864func (s *UpdateParameterGroupInput) SetParameterNameValues(v []*ParameterNameValue) *UpdateParameterGroupInput {
6865	s.ParameterNameValues = v
6866	return s
6867}
6868
6869type UpdateParameterGroupOutput struct {
6870	_ struct{} `type:"structure"`
6871
6872	// The parameter group that has been modified.
6873	ParameterGroup *ParameterGroup `type:"structure"`
6874}
6875
6876// String returns the string representation.
6877//
6878// API parameter values that are decorated as "sensitive" in the API will not
6879// be included in the string output. The member name will be present, but the
6880// value will be replaced with "sensitive".
6881func (s UpdateParameterGroupOutput) String() string {
6882	return awsutil.Prettify(s)
6883}
6884
6885// GoString returns the string representation.
6886//
6887// API parameter values that are decorated as "sensitive" in the API will not
6888// be included in the string output. The member name will be present, but the
6889// value will be replaced with "sensitive".
6890func (s UpdateParameterGroupOutput) GoString() string {
6891	return s.String()
6892}
6893
6894// SetParameterGroup sets the ParameterGroup field's value.
6895func (s *UpdateParameterGroupOutput) SetParameterGroup(v *ParameterGroup) *UpdateParameterGroupOutput {
6896	s.ParameterGroup = v
6897	return s
6898}
6899
6900type UpdateSubnetGroupInput struct {
6901	_ struct{} `type:"structure"`
6902
6903	// A description of the subnet group.
6904	Description *string `type:"string"`
6905
6906	// The name of the subnet group.
6907	//
6908	// SubnetGroupName is a required field
6909	SubnetGroupName *string `type:"string" required:"true"`
6910
6911	// A list of subnet IDs in the subnet group.
6912	SubnetIds []*string `type:"list"`
6913}
6914
6915// String returns the string representation.
6916//
6917// API parameter values that are decorated as "sensitive" in the API will not
6918// be included in the string output. The member name will be present, but the
6919// value will be replaced with "sensitive".
6920func (s UpdateSubnetGroupInput) String() string {
6921	return awsutil.Prettify(s)
6922}
6923
6924// GoString returns the string representation.
6925//
6926// API parameter values that are decorated as "sensitive" in the API will not
6927// be included in the string output. The member name will be present, but the
6928// value will be replaced with "sensitive".
6929func (s UpdateSubnetGroupInput) GoString() string {
6930	return s.String()
6931}
6932
6933// Validate inspects the fields of the type to determine if they are valid.
6934func (s *UpdateSubnetGroupInput) Validate() error {
6935	invalidParams := request.ErrInvalidParams{Context: "UpdateSubnetGroupInput"}
6936	if s.SubnetGroupName == nil {
6937		invalidParams.Add(request.NewErrParamRequired("SubnetGroupName"))
6938	}
6939
6940	if invalidParams.Len() > 0 {
6941		return invalidParams
6942	}
6943	return nil
6944}
6945
6946// SetDescription sets the Description field's value.
6947func (s *UpdateSubnetGroupInput) SetDescription(v string) *UpdateSubnetGroupInput {
6948	s.Description = &v
6949	return s
6950}
6951
6952// SetSubnetGroupName sets the SubnetGroupName field's value.
6953func (s *UpdateSubnetGroupInput) SetSubnetGroupName(v string) *UpdateSubnetGroupInput {
6954	s.SubnetGroupName = &v
6955	return s
6956}
6957
6958// SetSubnetIds sets the SubnetIds field's value.
6959func (s *UpdateSubnetGroupInput) SetSubnetIds(v []*string) *UpdateSubnetGroupInput {
6960	s.SubnetIds = v
6961	return s
6962}
6963
6964type UpdateSubnetGroupOutput struct {
6965	_ struct{} `type:"structure"`
6966
6967	// The subnet group that has been modified.
6968	SubnetGroup *SubnetGroup `type:"structure"`
6969}
6970
6971// String returns the string representation.
6972//
6973// API parameter values that are decorated as "sensitive" in the API will not
6974// be included in the string output. The member name will be present, but the
6975// value will be replaced with "sensitive".
6976func (s UpdateSubnetGroupOutput) String() string {
6977	return awsutil.Prettify(s)
6978}
6979
6980// GoString returns the string representation.
6981//
6982// API parameter values that are decorated as "sensitive" in the API will not
6983// be included in the string output. The member name will be present, but the
6984// value will be replaced with "sensitive".
6985func (s UpdateSubnetGroupOutput) GoString() string {
6986	return s.String()
6987}
6988
6989// SetSubnetGroup sets the SubnetGroup field's value.
6990func (s *UpdateSubnetGroupOutput) SetSubnetGroup(v *SubnetGroup) *UpdateSubnetGroupOutput {
6991	s.SubnetGroup = v
6992	return s
6993}
6994
6995const (
6996	// ChangeTypeImmediate is a ChangeType enum value
6997	ChangeTypeImmediate = "IMMEDIATE"
6998
6999	// ChangeTypeRequiresReboot is a ChangeType enum value
7000	ChangeTypeRequiresReboot = "REQUIRES_REBOOT"
7001)
7002
7003// ChangeType_Values returns all elements of the ChangeType enum
7004func ChangeType_Values() []string {
7005	return []string{
7006		ChangeTypeImmediate,
7007		ChangeTypeRequiresReboot,
7008	}
7009}
7010
7011const (
7012	// ClusterEndpointEncryptionTypeNone is a ClusterEndpointEncryptionType enum value
7013	ClusterEndpointEncryptionTypeNone = "NONE"
7014
7015	// ClusterEndpointEncryptionTypeTls is a ClusterEndpointEncryptionType enum value
7016	ClusterEndpointEncryptionTypeTls = "TLS"
7017)
7018
7019// ClusterEndpointEncryptionType_Values returns all elements of the ClusterEndpointEncryptionType enum
7020func ClusterEndpointEncryptionType_Values() []string {
7021	return []string{
7022		ClusterEndpointEncryptionTypeNone,
7023		ClusterEndpointEncryptionTypeTls,
7024	}
7025}
7026
7027const (
7028	// IsModifiableTrue is a IsModifiable enum value
7029	IsModifiableTrue = "TRUE"
7030
7031	// IsModifiableFalse is a IsModifiable enum value
7032	IsModifiableFalse = "FALSE"
7033
7034	// IsModifiableConditional is a IsModifiable enum value
7035	IsModifiableConditional = "CONDITIONAL"
7036)
7037
7038// IsModifiable_Values returns all elements of the IsModifiable enum
7039func IsModifiable_Values() []string {
7040	return []string{
7041		IsModifiableTrue,
7042		IsModifiableFalse,
7043		IsModifiableConditional,
7044	}
7045}
7046
7047const (
7048	// ParameterTypeDefault is a ParameterType enum value
7049	ParameterTypeDefault = "DEFAULT"
7050
7051	// ParameterTypeNodeTypeSpecific is a ParameterType enum value
7052	ParameterTypeNodeTypeSpecific = "NODE_TYPE_SPECIFIC"
7053)
7054
7055// ParameterType_Values returns all elements of the ParameterType enum
7056func ParameterType_Values() []string {
7057	return []string{
7058		ParameterTypeDefault,
7059		ParameterTypeNodeTypeSpecific,
7060	}
7061}
7062
7063const (
7064	// SSEStatusEnabling is a SSEStatus enum value
7065	SSEStatusEnabling = "ENABLING"
7066
7067	// SSEStatusEnabled is a SSEStatus enum value
7068	SSEStatusEnabled = "ENABLED"
7069
7070	// SSEStatusDisabling is a SSEStatus enum value
7071	SSEStatusDisabling = "DISABLING"
7072
7073	// SSEStatusDisabled is a SSEStatus enum value
7074	SSEStatusDisabled = "DISABLED"
7075)
7076
7077// SSEStatus_Values returns all elements of the SSEStatus enum
7078func SSEStatus_Values() []string {
7079	return []string{
7080		SSEStatusEnabling,
7081		SSEStatusEnabled,
7082		SSEStatusDisabling,
7083		SSEStatusDisabled,
7084	}
7085}
7086
7087const (
7088	// SourceTypeCluster is a SourceType enum value
7089	SourceTypeCluster = "CLUSTER"
7090
7091	// SourceTypeParameterGroup is a SourceType enum value
7092	SourceTypeParameterGroup = "PARAMETER_GROUP"
7093
7094	// SourceTypeSubnetGroup is a SourceType enum value
7095	SourceTypeSubnetGroup = "SUBNET_GROUP"
7096)
7097
7098// SourceType_Values returns all elements of the SourceType enum
7099func SourceType_Values() []string {
7100	return []string{
7101		SourceTypeCluster,
7102		SourceTypeParameterGroup,
7103		SourceTypeSubnetGroup,
7104	}
7105}
7106