1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package docdb
4
5import (
6	"fmt"
7	"time"
8
9	"github.com/aws/aws-sdk-go/aws"
10	"github.com/aws/aws-sdk-go/aws/awsutil"
11	"github.com/aws/aws-sdk-go/aws/request"
12	"github.com/aws/aws-sdk-go/private/protocol"
13	"github.com/aws/aws-sdk-go/private/protocol/query"
14)
15
16const opAddTagsToResource = "AddTagsToResource"
17
18// AddTagsToResourceRequest generates a "aws/request.Request" representing the
19// client's request for the AddTagsToResource operation. The "output" return
20// value will be populated with the request's response once the request completes
21// successfully.
22//
23// Use "Send" method on the returned Request to send the API call to the service.
24// the "output" return value is not valid until after Send returns without error.
25//
26// See AddTagsToResource for more information on using the AddTagsToResource
27// API call, and error handling.
28//
29// This method is useful when you want to inject custom logic or configuration
30// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31//
32//
33//    // Example sending a request using the AddTagsToResourceRequest method.
34//    req, resp := client.AddTagsToResourceRequest(params)
35//
36//    err := req.Send()
37//    if err == nil { // resp is now filled
38//        fmt.Println(resp)
39//    }
40//
41// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/AddTagsToResource
42func (c *DocDB) AddTagsToResourceRequest(input *AddTagsToResourceInput) (req *request.Request, output *AddTagsToResourceOutput) {
43	op := &request.Operation{
44		Name:       opAddTagsToResource,
45		HTTPMethod: "POST",
46		HTTPPath:   "/",
47	}
48
49	if input == nil {
50		input = &AddTagsToResourceInput{}
51	}
52
53	output = &AddTagsToResourceOutput{}
54	req = c.newRequest(op, input, output)
55	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
56	return
57}
58
59// AddTagsToResource API operation for Amazon DocumentDB with MongoDB compatibility.
60//
61// Adds metadata tags to an Amazon DocumentDB resource. You can use these tags
62// with cost allocation reporting to track costs that are associated with Amazon
63// DocumentDB resources. or in a Condition statement in an AWS Identity and
64// Access Management (IAM) policy for Amazon DocumentDB.
65//
66// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
67// with awserr.Error's Code and Message methods to get detailed information about
68// the error.
69//
70// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
71// API operation AddTagsToResource for usage and error information.
72//
73// Returned Error Codes:
74//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
75//   DBInstanceIdentifier doesn't refer to an existing instance.
76//
77//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
78//   DBSnapshotIdentifier doesn't refer to an existing snapshot.
79//
80//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
81//   DBClusterIdentifier doesn't refer to an existing cluster.
82//
83// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/AddTagsToResource
84func (c *DocDB) AddTagsToResource(input *AddTagsToResourceInput) (*AddTagsToResourceOutput, error) {
85	req, out := c.AddTagsToResourceRequest(input)
86	return out, req.Send()
87}
88
89// AddTagsToResourceWithContext is the same as AddTagsToResource with the addition of
90// the ability to pass a context and additional request options.
91//
92// See AddTagsToResource for details on how to use this API operation.
93//
94// The context must be non-nil and will be used for request cancellation. If
95// the context is nil a panic will occur. In the future the SDK may create
96// sub-contexts for http.Requests. See https://golang.org/pkg/context/
97// for more information on using Contexts.
98func (c *DocDB) AddTagsToResourceWithContext(ctx aws.Context, input *AddTagsToResourceInput, opts ...request.Option) (*AddTagsToResourceOutput, error) {
99	req, out := c.AddTagsToResourceRequest(input)
100	req.SetContext(ctx)
101	req.ApplyOptions(opts...)
102	return out, req.Send()
103}
104
105const opApplyPendingMaintenanceAction = "ApplyPendingMaintenanceAction"
106
107// ApplyPendingMaintenanceActionRequest generates a "aws/request.Request" representing the
108// client's request for the ApplyPendingMaintenanceAction operation. The "output" return
109// value will be populated with the request's response once the request completes
110// successfully.
111//
112// Use "Send" method on the returned Request to send the API call to the service.
113// the "output" return value is not valid until after Send returns without error.
114//
115// See ApplyPendingMaintenanceAction for more information on using the ApplyPendingMaintenanceAction
116// API call, and error handling.
117//
118// This method is useful when you want to inject custom logic or configuration
119// into the SDK's request lifecycle. Such as custom headers, or retry logic.
120//
121//
122//    // Example sending a request using the ApplyPendingMaintenanceActionRequest method.
123//    req, resp := client.ApplyPendingMaintenanceActionRequest(params)
124//
125//    err := req.Send()
126//    if err == nil { // resp is now filled
127//        fmt.Println(resp)
128//    }
129//
130// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ApplyPendingMaintenanceAction
131func (c *DocDB) ApplyPendingMaintenanceActionRequest(input *ApplyPendingMaintenanceActionInput) (req *request.Request, output *ApplyPendingMaintenanceActionOutput) {
132	op := &request.Operation{
133		Name:       opApplyPendingMaintenanceAction,
134		HTTPMethod: "POST",
135		HTTPPath:   "/",
136	}
137
138	if input == nil {
139		input = &ApplyPendingMaintenanceActionInput{}
140	}
141
142	output = &ApplyPendingMaintenanceActionOutput{}
143	req = c.newRequest(op, input, output)
144	return
145}
146
147// ApplyPendingMaintenanceAction API operation for Amazon DocumentDB with MongoDB compatibility.
148//
149// Applies a pending maintenance action to a resource (for example, to an Amazon
150// DocumentDB instance).
151//
152// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
153// with awserr.Error's Code and Message methods to get detailed information about
154// the error.
155//
156// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
157// API operation ApplyPendingMaintenanceAction for usage and error information.
158//
159// Returned Error Codes:
160//   * ErrCodeResourceNotFoundFault "ResourceNotFoundFault"
161//   The specified resource ID was not found.
162//
163//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
164//   The cluster isn't in a valid state.
165//
166//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
167//   The specified instance isn't in the available state.
168//
169// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ApplyPendingMaintenanceAction
170func (c *DocDB) ApplyPendingMaintenanceAction(input *ApplyPendingMaintenanceActionInput) (*ApplyPendingMaintenanceActionOutput, error) {
171	req, out := c.ApplyPendingMaintenanceActionRequest(input)
172	return out, req.Send()
173}
174
175// ApplyPendingMaintenanceActionWithContext is the same as ApplyPendingMaintenanceAction with the addition of
176// the ability to pass a context and additional request options.
177//
178// See ApplyPendingMaintenanceAction for details on how to use this API operation.
179//
180// The context must be non-nil and will be used for request cancellation. If
181// the context is nil a panic will occur. In the future the SDK may create
182// sub-contexts for http.Requests. See https://golang.org/pkg/context/
183// for more information on using Contexts.
184func (c *DocDB) ApplyPendingMaintenanceActionWithContext(ctx aws.Context, input *ApplyPendingMaintenanceActionInput, opts ...request.Option) (*ApplyPendingMaintenanceActionOutput, error) {
185	req, out := c.ApplyPendingMaintenanceActionRequest(input)
186	req.SetContext(ctx)
187	req.ApplyOptions(opts...)
188	return out, req.Send()
189}
190
191const opCopyDBClusterParameterGroup = "CopyDBClusterParameterGroup"
192
193// CopyDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
194// client's request for the CopyDBClusterParameterGroup operation. The "output" return
195// value will be populated with the request's response once the request completes
196// successfully.
197//
198// Use "Send" method on the returned Request to send the API call to the service.
199// the "output" return value is not valid until after Send returns without error.
200//
201// See CopyDBClusterParameterGroup for more information on using the CopyDBClusterParameterGroup
202// API call, and error handling.
203//
204// This method is useful when you want to inject custom logic or configuration
205// into the SDK's request lifecycle. Such as custom headers, or retry logic.
206//
207//
208//    // Example sending a request using the CopyDBClusterParameterGroupRequest method.
209//    req, resp := client.CopyDBClusterParameterGroupRequest(params)
210//
211//    err := req.Send()
212//    if err == nil { // resp is now filled
213//        fmt.Println(resp)
214//    }
215//
216// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CopyDBClusterParameterGroup
217func (c *DocDB) CopyDBClusterParameterGroupRequest(input *CopyDBClusterParameterGroupInput) (req *request.Request, output *CopyDBClusterParameterGroupOutput) {
218	op := &request.Operation{
219		Name:       opCopyDBClusterParameterGroup,
220		HTTPMethod: "POST",
221		HTTPPath:   "/",
222	}
223
224	if input == nil {
225		input = &CopyDBClusterParameterGroupInput{}
226	}
227
228	output = &CopyDBClusterParameterGroupOutput{}
229	req = c.newRequest(op, input, output)
230	return
231}
232
233// CopyDBClusterParameterGroup API operation for Amazon DocumentDB with MongoDB compatibility.
234//
235// Copies the specified cluster parameter group.
236//
237// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
238// with awserr.Error's Code and Message methods to get detailed information about
239// the error.
240//
241// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
242// API operation CopyDBClusterParameterGroup for usage and error information.
243//
244// Returned Error Codes:
245//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
246//   DBParameterGroupName doesn't refer to an existing parameter group.
247//
248//   * ErrCodeDBParameterGroupQuotaExceededFault "DBParameterGroupQuotaExceeded"
249//   This request would cause you to exceed the allowed number of parameter groups.
250//
251//   * ErrCodeDBParameterGroupAlreadyExistsFault "DBParameterGroupAlreadyExists"
252//   A parameter group with the same name already exists.
253//
254// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CopyDBClusterParameterGroup
255func (c *DocDB) CopyDBClusterParameterGroup(input *CopyDBClusterParameterGroupInput) (*CopyDBClusterParameterGroupOutput, error) {
256	req, out := c.CopyDBClusterParameterGroupRequest(input)
257	return out, req.Send()
258}
259
260// CopyDBClusterParameterGroupWithContext is the same as CopyDBClusterParameterGroup with the addition of
261// the ability to pass a context and additional request options.
262//
263// See CopyDBClusterParameterGroup for details on how to use this API operation.
264//
265// The context must be non-nil and will be used for request cancellation. If
266// the context is nil a panic will occur. In the future the SDK may create
267// sub-contexts for http.Requests. See https://golang.org/pkg/context/
268// for more information on using Contexts.
269func (c *DocDB) CopyDBClusterParameterGroupWithContext(ctx aws.Context, input *CopyDBClusterParameterGroupInput, opts ...request.Option) (*CopyDBClusterParameterGroupOutput, error) {
270	req, out := c.CopyDBClusterParameterGroupRequest(input)
271	req.SetContext(ctx)
272	req.ApplyOptions(opts...)
273	return out, req.Send()
274}
275
276const opCopyDBClusterSnapshot = "CopyDBClusterSnapshot"
277
278// CopyDBClusterSnapshotRequest generates a "aws/request.Request" representing the
279// client's request for the CopyDBClusterSnapshot operation. The "output" return
280// value will be populated with the request's response once the request completes
281// successfully.
282//
283// Use "Send" method on the returned Request to send the API call to the service.
284// the "output" return value is not valid until after Send returns without error.
285//
286// See CopyDBClusterSnapshot for more information on using the CopyDBClusterSnapshot
287// API call, and error handling.
288//
289// This method is useful when you want to inject custom logic or configuration
290// into the SDK's request lifecycle. Such as custom headers, or retry logic.
291//
292//
293//    // Example sending a request using the CopyDBClusterSnapshotRequest method.
294//    req, resp := client.CopyDBClusterSnapshotRequest(params)
295//
296//    err := req.Send()
297//    if err == nil { // resp is now filled
298//        fmt.Println(resp)
299//    }
300//
301// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CopyDBClusterSnapshot
302func (c *DocDB) CopyDBClusterSnapshotRequest(input *CopyDBClusterSnapshotInput) (req *request.Request, output *CopyDBClusterSnapshotOutput) {
303	op := &request.Operation{
304		Name:       opCopyDBClusterSnapshot,
305		HTTPMethod: "POST",
306		HTTPPath:   "/",
307	}
308
309	if input == nil {
310		input = &CopyDBClusterSnapshotInput{}
311	}
312
313	output = &CopyDBClusterSnapshotOutput{}
314	req = c.newRequest(op, input, output)
315	return
316}
317
318// CopyDBClusterSnapshot API operation for Amazon DocumentDB with MongoDB compatibility.
319//
320// Copies a snapshot of a cluster.
321//
322// To copy a cluster snapshot from a shared manual cluster snapshot, SourceDBClusterSnapshotIdentifier
323// must be the Amazon Resource Name (ARN) of the shared cluster snapshot. You
324// can only copy a shared DB cluster snapshot, whether encrypted or not, in
325// the same AWS Region.
326//
327// To cancel the copy operation after it is in progress, delete the target cluster
328// snapshot identified by TargetDBClusterSnapshotIdentifier while that cluster
329// snapshot is in the copying status.
330//
331// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
332// with awserr.Error's Code and Message methods to get detailed information about
333// the error.
334//
335// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
336// API operation CopyDBClusterSnapshot for usage and error information.
337//
338// Returned Error Codes:
339//   * ErrCodeDBClusterSnapshotAlreadyExistsFault "DBClusterSnapshotAlreadyExistsFault"
340//   You already have a cluster snapshot with the given identifier.
341//
342//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
343//   DBClusterSnapshotIdentifier doesn't refer to an existing cluster snapshot.
344//
345//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
346//   The cluster isn't in a valid state.
347//
348//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
349//   The provided value isn't a valid cluster snapshot state.
350//
351//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
352//   The request would cause you to exceed the allowed number of snapshots.
353//
354//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
355//   An error occurred when accessing an AWS KMS key.
356//
357// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CopyDBClusterSnapshot
358func (c *DocDB) CopyDBClusterSnapshot(input *CopyDBClusterSnapshotInput) (*CopyDBClusterSnapshotOutput, error) {
359	req, out := c.CopyDBClusterSnapshotRequest(input)
360	return out, req.Send()
361}
362
363// CopyDBClusterSnapshotWithContext is the same as CopyDBClusterSnapshot with the addition of
364// the ability to pass a context and additional request options.
365//
366// See CopyDBClusterSnapshot for details on how to use this API operation.
367//
368// The context must be non-nil and will be used for request cancellation. If
369// the context is nil a panic will occur. In the future the SDK may create
370// sub-contexts for http.Requests. See https://golang.org/pkg/context/
371// for more information on using Contexts.
372func (c *DocDB) CopyDBClusterSnapshotWithContext(ctx aws.Context, input *CopyDBClusterSnapshotInput, opts ...request.Option) (*CopyDBClusterSnapshotOutput, error) {
373	req, out := c.CopyDBClusterSnapshotRequest(input)
374	req.SetContext(ctx)
375	req.ApplyOptions(opts...)
376	return out, req.Send()
377}
378
379const opCreateDBCluster = "CreateDBCluster"
380
381// CreateDBClusterRequest generates a "aws/request.Request" representing the
382// client's request for the CreateDBCluster operation. The "output" return
383// value will be populated with the request's response once the request completes
384// successfully.
385//
386// Use "Send" method on the returned Request to send the API call to the service.
387// the "output" return value is not valid until after Send returns without error.
388//
389// See CreateDBCluster for more information on using the CreateDBCluster
390// API call, and error handling.
391//
392// This method is useful when you want to inject custom logic or configuration
393// into the SDK's request lifecycle. Such as custom headers, or retry logic.
394//
395//
396//    // Example sending a request using the CreateDBClusterRequest method.
397//    req, resp := client.CreateDBClusterRequest(params)
398//
399//    err := req.Send()
400//    if err == nil { // resp is now filled
401//        fmt.Println(resp)
402//    }
403//
404// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBCluster
405func (c *DocDB) CreateDBClusterRequest(input *CreateDBClusterInput) (req *request.Request, output *CreateDBClusterOutput) {
406	op := &request.Operation{
407		Name:       opCreateDBCluster,
408		HTTPMethod: "POST",
409		HTTPPath:   "/",
410	}
411
412	if input == nil {
413		input = &CreateDBClusterInput{}
414	}
415
416	output = &CreateDBClusterOutput{}
417	req = c.newRequest(op, input, output)
418	return
419}
420
421// CreateDBCluster API operation for Amazon DocumentDB with MongoDB compatibility.
422//
423// Creates a new Amazon DocumentDB cluster.
424//
425// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
426// with awserr.Error's Code and Message methods to get detailed information about
427// the error.
428//
429// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
430// API operation CreateDBCluster for usage and error information.
431//
432// Returned Error Codes:
433//   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
434//   You already have a cluster with the given identifier.
435//
436//   * ErrCodeInsufficientStorageClusterCapacityFault "InsufficientStorageClusterCapacity"
437//   There is not enough storage available for the current action. You might be
438//   able to resolve this error by updating your subnet group to use different
439//   Availability Zones that have more storage available.
440//
441//   * ErrCodeDBClusterQuotaExceededFault "DBClusterQuotaExceededFault"
442//   The cluster can't be created because you have reached the maximum allowed
443//   quota of clusters.
444//
445//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
446//   The request would cause you to exceed the allowed amount of storage available
447//   across all instances.
448//
449//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
450//   DBSubnetGroupName doesn't refer to an existing subnet group.
451//
452//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
453//   The subnet group doesn't cover all Availability Zones after it is created
454//   because of changes that were made.
455//
456//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
457//   The cluster isn't in a valid state.
458//
459//   * ErrCodeInvalidDBSubnetGroupStateFault "InvalidDBSubnetGroupStateFault"
460//   The subnet group can't be deleted because it's in use.
461//
462//   * ErrCodeInvalidSubnet "InvalidSubnet"
463//   The requested subnet is not valid, or multiple subnets were requested that
464//   are not all in a common virtual private cloud (VPC).
465//
466//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
467//   The specified instance isn't in the available state.
468//
469//   * ErrCodeDBClusterParameterGroupNotFoundFault "DBClusterParameterGroupNotFound"
470//   DBClusterParameterGroupName doesn't refer to an existing cluster parameter
471//   group.
472//
473//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
474//   An error occurred when accessing an AWS KMS key.
475//
476//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
477//   DBClusterIdentifier doesn't refer to an existing cluster.
478//
479//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
480//   DBInstanceIdentifier doesn't refer to an existing instance.
481//
482//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
483//   Subnets in the subnet group should cover at least two Availability Zones
484//   unless there is only one Availability Zone.
485//
486// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBCluster
487func (c *DocDB) CreateDBCluster(input *CreateDBClusterInput) (*CreateDBClusterOutput, error) {
488	req, out := c.CreateDBClusterRequest(input)
489	return out, req.Send()
490}
491
492// CreateDBClusterWithContext is the same as CreateDBCluster with the addition of
493// the ability to pass a context and additional request options.
494//
495// See CreateDBCluster for details on how to use this API operation.
496//
497// The context must be non-nil and will be used for request cancellation. If
498// the context is nil a panic will occur. In the future the SDK may create
499// sub-contexts for http.Requests. See https://golang.org/pkg/context/
500// for more information on using Contexts.
501func (c *DocDB) CreateDBClusterWithContext(ctx aws.Context, input *CreateDBClusterInput, opts ...request.Option) (*CreateDBClusterOutput, error) {
502	req, out := c.CreateDBClusterRequest(input)
503	req.SetContext(ctx)
504	req.ApplyOptions(opts...)
505	return out, req.Send()
506}
507
508const opCreateDBClusterParameterGroup = "CreateDBClusterParameterGroup"
509
510// CreateDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
511// client's request for the CreateDBClusterParameterGroup operation. The "output" return
512// value will be populated with the request's response once the request completes
513// successfully.
514//
515// Use "Send" method on the returned Request to send the API call to the service.
516// the "output" return value is not valid until after Send returns without error.
517//
518// See CreateDBClusterParameterGroup for more information on using the CreateDBClusterParameterGroup
519// API call, and error handling.
520//
521// This method is useful when you want to inject custom logic or configuration
522// into the SDK's request lifecycle. Such as custom headers, or retry logic.
523//
524//
525//    // Example sending a request using the CreateDBClusterParameterGroupRequest method.
526//    req, resp := client.CreateDBClusterParameterGroupRequest(params)
527//
528//    err := req.Send()
529//    if err == nil { // resp is now filled
530//        fmt.Println(resp)
531//    }
532//
533// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBClusterParameterGroup
534func (c *DocDB) CreateDBClusterParameterGroupRequest(input *CreateDBClusterParameterGroupInput) (req *request.Request, output *CreateDBClusterParameterGroupOutput) {
535	op := &request.Operation{
536		Name:       opCreateDBClusterParameterGroup,
537		HTTPMethod: "POST",
538		HTTPPath:   "/",
539	}
540
541	if input == nil {
542		input = &CreateDBClusterParameterGroupInput{}
543	}
544
545	output = &CreateDBClusterParameterGroupOutput{}
546	req = c.newRequest(op, input, output)
547	return
548}
549
550// CreateDBClusterParameterGroup API operation for Amazon DocumentDB with MongoDB compatibility.
551//
552// Creates a new cluster parameter group.
553//
554// Parameters in a cluster parameter group apply to all of the instances in
555// a cluster.
556//
557// A cluster parameter group is initially created with the default parameters
558// for the database engine used by instances in the cluster. In Amazon DocumentDB,
559// you cannot make modifications directly to the default.docdb3.6 cluster parameter
560// group. If your Amazon DocumentDB cluster is using the default cluster parameter
561// group and you want to modify a value in it, you must first create a new parameter
562// group (https://docs.aws.amazon.com/documentdb/latest/developerguide/cluster_parameter_group-create.html)
563// or copy an existing parameter group (https://docs.aws.amazon.com/documentdb/latest/developerguide/cluster_parameter_group-copy.html),
564// modify it, and then apply the modified parameter group to your cluster. For
565// the new cluster parameter group and associated settings to take effect, you
566// must then reboot the instances in the cluster without failover. For more
567// information, see Modifying Amazon DocumentDB Cluster Parameter Groups (https://docs.aws.amazon.com/documentdb/latest/developerguide/cluster_parameter_group-modify.html).
568//
569// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
570// with awserr.Error's Code and Message methods to get detailed information about
571// the error.
572//
573// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
574// API operation CreateDBClusterParameterGroup for usage and error information.
575//
576// Returned Error Codes:
577//   * ErrCodeDBParameterGroupQuotaExceededFault "DBParameterGroupQuotaExceeded"
578//   This request would cause you to exceed the allowed number of parameter groups.
579//
580//   * ErrCodeDBParameterGroupAlreadyExistsFault "DBParameterGroupAlreadyExists"
581//   A parameter group with the same name already exists.
582//
583// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBClusterParameterGroup
584func (c *DocDB) CreateDBClusterParameterGroup(input *CreateDBClusterParameterGroupInput) (*CreateDBClusterParameterGroupOutput, error) {
585	req, out := c.CreateDBClusterParameterGroupRequest(input)
586	return out, req.Send()
587}
588
589// CreateDBClusterParameterGroupWithContext is the same as CreateDBClusterParameterGroup with the addition of
590// the ability to pass a context and additional request options.
591//
592// See CreateDBClusterParameterGroup for details on how to use this API operation.
593//
594// The context must be non-nil and will be used for request cancellation. If
595// the context is nil a panic will occur. In the future the SDK may create
596// sub-contexts for http.Requests. See https://golang.org/pkg/context/
597// for more information on using Contexts.
598func (c *DocDB) CreateDBClusterParameterGroupWithContext(ctx aws.Context, input *CreateDBClusterParameterGroupInput, opts ...request.Option) (*CreateDBClusterParameterGroupOutput, error) {
599	req, out := c.CreateDBClusterParameterGroupRequest(input)
600	req.SetContext(ctx)
601	req.ApplyOptions(opts...)
602	return out, req.Send()
603}
604
605const opCreateDBClusterSnapshot = "CreateDBClusterSnapshot"
606
607// CreateDBClusterSnapshotRequest generates a "aws/request.Request" representing the
608// client's request for the CreateDBClusterSnapshot operation. The "output" return
609// value will be populated with the request's response once the request completes
610// successfully.
611//
612// Use "Send" method on the returned Request to send the API call to the service.
613// the "output" return value is not valid until after Send returns without error.
614//
615// See CreateDBClusterSnapshot for more information on using the CreateDBClusterSnapshot
616// API call, and error handling.
617//
618// This method is useful when you want to inject custom logic or configuration
619// into the SDK's request lifecycle. Such as custom headers, or retry logic.
620//
621//
622//    // Example sending a request using the CreateDBClusterSnapshotRequest method.
623//    req, resp := client.CreateDBClusterSnapshotRequest(params)
624//
625//    err := req.Send()
626//    if err == nil { // resp is now filled
627//        fmt.Println(resp)
628//    }
629//
630// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBClusterSnapshot
631func (c *DocDB) CreateDBClusterSnapshotRequest(input *CreateDBClusterSnapshotInput) (req *request.Request, output *CreateDBClusterSnapshotOutput) {
632	op := &request.Operation{
633		Name:       opCreateDBClusterSnapshot,
634		HTTPMethod: "POST",
635		HTTPPath:   "/",
636	}
637
638	if input == nil {
639		input = &CreateDBClusterSnapshotInput{}
640	}
641
642	output = &CreateDBClusterSnapshotOutput{}
643	req = c.newRequest(op, input, output)
644	return
645}
646
647// CreateDBClusterSnapshot API operation for Amazon DocumentDB with MongoDB compatibility.
648//
649// Creates a snapshot of a cluster.
650//
651// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
652// with awserr.Error's Code and Message methods to get detailed information about
653// the error.
654//
655// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
656// API operation CreateDBClusterSnapshot for usage and error information.
657//
658// Returned Error Codes:
659//   * ErrCodeDBClusterSnapshotAlreadyExistsFault "DBClusterSnapshotAlreadyExistsFault"
660//   You already have a cluster snapshot with the given identifier.
661//
662//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
663//   The cluster isn't in a valid state.
664//
665//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
666//   DBClusterIdentifier doesn't refer to an existing cluster.
667//
668//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
669//   The request would cause you to exceed the allowed number of snapshots.
670//
671//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
672//   The provided value isn't a valid cluster snapshot state.
673//
674// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBClusterSnapshot
675func (c *DocDB) CreateDBClusterSnapshot(input *CreateDBClusterSnapshotInput) (*CreateDBClusterSnapshotOutput, error) {
676	req, out := c.CreateDBClusterSnapshotRequest(input)
677	return out, req.Send()
678}
679
680// CreateDBClusterSnapshotWithContext is the same as CreateDBClusterSnapshot with the addition of
681// the ability to pass a context and additional request options.
682//
683// See CreateDBClusterSnapshot for details on how to use this API operation.
684//
685// The context must be non-nil and will be used for request cancellation. If
686// the context is nil a panic will occur. In the future the SDK may create
687// sub-contexts for http.Requests. See https://golang.org/pkg/context/
688// for more information on using Contexts.
689func (c *DocDB) CreateDBClusterSnapshotWithContext(ctx aws.Context, input *CreateDBClusterSnapshotInput, opts ...request.Option) (*CreateDBClusterSnapshotOutput, error) {
690	req, out := c.CreateDBClusterSnapshotRequest(input)
691	req.SetContext(ctx)
692	req.ApplyOptions(opts...)
693	return out, req.Send()
694}
695
696const opCreateDBInstance = "CreateDBInstance"
697
698// CreateDBInstanceRequest generates a "aws/request.Request" representing the
699// client's request for the CreateDBInstance operation. The "output" return
700// value will be populated with the request's response once the request completes
701// successfully.
702//
703// Use "Send" method on the returned Request to send the API call to the service.
704// the "output" return value is not valid until after Send returns without error.
705//
706// See CreateDBInstance for more information on using the CreateDBInstance
707// API call, and error handling.
708//
709// This method is useful when you want to inject custom logic or configuration
710// into the SDK's request lifecycle. Such as custom headers, or retry logic.
711//
712//
713//    // Example sending a request using the CreateDBInstanceRequest method.
714//    req, resp := client.CreateDBInstanceRequest(params)
715//
716//    err := req.Send()
717//    if err == nil { // resp is now filled
718//        fmt.Println(resp)
719//    }
720//
721// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBInstance
722func (c *DocDB) CreateDBInstanceRequest(input *CreateDBInstanceInput) (req *request.Request, output *CreateDBInstanceOutput) {
723	op := &request.Operation{
724		Name:       opCreateDBInstance,
725		HTTPMethod: "POST",
726		HTTPPath:   "/",
727	}
728
729	if input == nil {
730		input = &CreateDBInstanceInput{}
731	}
732
733	output = &CreateDBInstanceOutput{}
734	req = c.newRequest(op, input, output)
735	return
736}
737
738// CreateDBInstance API operation for Amazon DocumentDB with MongoDB compatibility.
739//
740// Creates a new instance.
741//
742// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
743// with awserr.Error's Code and Message methods to get detailed information about
744// the error.
745//
746// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
747// API operation CreateDBInstance for usage and error information.
748//
749// Returned Error Codes:
750//   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
751//   You already have a instance with the given identifier.
752//
753//   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
754//   The specified instance class isn't available in the specified Availability
755//   Zone.
756//
757//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
758//   DBParameterGroupName doesn't refer to an existing parameter group.
759//
760//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
761//   DBSecurityGroupName doesn't refer to an existing security group.
762//
763//   * ErrCodeInstanceQuotaExceededFault "InstanceQuotaExceeded"
764//   The request would cause you to exceed the allowed number of instances.
765//
766//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
767//   The request would cause you to exceed the allowed amount of storage available
768//   across all instances.
769//
770//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
771//   DBSubnetGroupName doesn't refer to an existing subnet group.
772//
773//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
774//   Subnets in the subnet group should cover at least two Availability Zones
775//   unless there is only one Availability Zone.
776//
777//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
778//   The cluster isn't in a valid state.
779//
780//   * ErrCodeInvalidSubnet "InvalidSubnet"
781//   The requested subnet is not valid, or multiple subnets were requested that
782//   are not all in a common virtual private cloud (VPC).
783//
784//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
785//   The subnet group doesn't cover all Availability Zones after it is created
786//   because of changes that were made.
787//
788//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
789//   DBClusterIdentifier doesn't refer to an existing cluster.
790//
791//   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
792//   Storage of the specified StorageType can't be associated with the DB instance.
793//
794//   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
795//   The specified CIDR IP or Amazon EC2 security group isn't authorized for the
796//   specified security group.
797//
798//   Amazon DocumentDB also might not be authorized to perform necessary actions
799//   on your behalf using IAM.
800//
801//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
802//   An error occurred when accessing an AWS KMS key.
803//
804// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBInstance
805func (c *DocDB) CreateDBInstance(input *CreateDBInstanceInput) (*CreateDBInstanceOutput, error) {
806	req, out := c.CreateDBInstanceRequest(input)
807	return out, req.Send()
808}
809
810// CreateDBInstanceWithContext is the same as CreateDBInstance with the addition of
811// the ability to pass a context and additional request options.
812//
813// See CreateDBInstance for details on how to use this API operation.
814//
815// The context must be non-nil and will be used for request cancellation. If
816// the context is nil a panic will occur. In the future the SDK may create
817// sub-contexts for http.Requests. See https://golang.org/pkg/context/
818// for more information on using Contexts.
819func (c *DocDB) CreateDBInstanceWithContext(ctx aws.Context, input *CreateDBInstanceInput, opts ...request.Option) (*CreateDBInstanceOutput, error) {
820	req, out := c.CreateDBInstanceRequest(input)
821	req.SetContext(ctx)
822	req.ApplyOptions(opts...)
823	return out, req.Send()
824}
825
826const opCreateDBSubnetGroup = "CreateDBSubnetGroup"
827
828// CreateDBSubnetGroupRequest generates a "aws/request.Request" representing the
829// client's request for the CreateDBSubnetGroup operation. The "output" return
830// value will be populated with the request's response once the request completes
831// successfully.
832//
833// Use "Send" method on the returned Request to send the API call to the service.
834// the "output" return value is not valid until after Send returns without error.
835//
836// See CreateDBSubnetGroup for more information on using the CreateDBSubnetGroup
837// API call, and error handling.
838//
839// This method is useful when you want to inject custom logic or configuration
840// into the SDK's request lifecycle. Such as custom headers, or retry logic.
841//
842//
843//    // Example sending a request using the CreateDBSubnetGroupRequest method.
844//    req, resp := client.CreateDBSubnetGroupRequest(params)
845//
846//    err := req.Send()
847//    if err == nil { // resp is now filled
848//        fmt.Println(resp)
849//    }
850//
851// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBSubnetGroup
852func (c *DocDB) CreateDBSubnetGroupRequest(input *CreateDBSubnetGroupInput) (req *request.Request, output *CreateDBSubnetGroupOutput) {
853	op := &request.Operation{
854		Name:       opCreateDBSubnetGroup,
855		HTTPMethod: "POST",
856		HTTPPath:   "/",
857	}
858
859	if input == nil {
860		input = &CreateDBSubnetGroupInput{}
861	}
862
863	output = &CreateDBSubnetGroupOutput{}
864	req = c.newRequest(op, input, output)
865	return
866}
867
868// CreateDBSubnetGroup API operation for Amazon DocumentDB with MongoDB compatibility.
869//
870// Creates a new subnet group. subnet groups must contain at least one subnet
871// in at least two Availability Zones in the AWS Region.
872//
873// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
874// with awserr.Error's Code and Message methods to get detailed information about
875// the error.
876//
877// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
878// API operation CreateDBSubnetGroup for usage and error information.
879//
880// Returned Error Codes:
881//   * ErrCodeDBSubnetGroupAlreadyExistsFault "DBSubnetGroupAlreadyExists"
882//   DBSubnetGroupName is already being used by an existing subnet group.
883//
884//   * ErrCodeDBSubnetGroupQuotaExceededFault "DBSubnetGroupQuotaExceeded"
885//   The request would cause you to exceed the allowed number of subnet groups.
886//
887//   * ErrCodeDBSubnetQuotaExceededFault "DBSubnetQuotaExceededFault"
888//   The request would cause you to exceed the allowed number of subnets in a
889//   subnet group.
890//
891//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
892//   Subnets in the subnet group should cover at least two Availability Zones
893//   unless there is only one Availability Zone.
894//
895//   * ErrCodeInvalidSubnet "InvalidSubnet"
896//   The requested subnet is not valid, or multiple subnets were requested that
897//   are not all in a common virtual private cloud (VPC).
898//
899// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBSubnetGroup
900func (c *DocDB) CreateDBSubnetGroup(input *CreateDBSubnetGroupInput) (*CreateDBSubnetGroupOutput, error) {
901	req, out := c.CreateDBSubnetGroupRequest(input)
902	return out, req.Send()
903}
904
905// CreateDBSubnetGroupWithContext is the same as CreateDBSubnetGroup with the addition of
906// the ability to pass a context and additional request options.
907//
908// See CreateDBSubnetGroup for details on how to use this API operation.
909//
910// The context must be non-nil and will be used for request cancellation. If
911// the context is nil a panic will occur. In the future the SDK may create
912// sub-contexts for http.Requests. See https://golang.org/pkg/context/
913// for more information on using Contexts.
914func (c *DocDB) CreateDBSubnetGroupWithContext(ctx aws.Context, input *CreateDBSubnetGroupInput, opts ...request.Option) (*CreateDBSubnetGroupOutput, error) {
915	req, out := c.CreateDBSubnetGroupRequest(input)
916	req.SetContext(ctx)
917	req.ApplyOptions(opts...)
918	return out, req.Send()
919}
920
921const opDeleteDBCluster = "DeleteDBCluster"
922
923// DeleteDBClusterRequest generates a "aws/request.Request" representing the
924// client's request for the DeleteDBCluster operation. The "output" return
925// value will be populated with the request's response once the request completes
926// successfully.
927//
928// Use "Send" method on the returned Request to send the API call to the service.
929// the "output" return value is not valid until after Send returns without error.
930//
931// See DeleteDBCluster for more information on using the DeleteDBCluster
932// API call, and error handling.
933//
934// This method is useful when you want to inject custom logic or configuration
935// into the SDK's request lifecycle. Such as custom headers, or retry logic.
936//
937//
938//    // Example sending a request using the DeleteDBClusterRequest method.
939//    req, resp := client.DeleteDBClusterRequest(params)
940//
941//    err := req.Send()
942//    if err == nil { // resp is now filled
943//        fmt.Println(resp)
944//    }
945//
946// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBCluster
947func (c *DocDB) DeleteDBClusterRequest(input *DeleteDBClusterInput) (req *request.Request, output *DeleteDBClusterOutput) {
948	op := &request.Operation{
949		Name:       opDeleteDBCluster,
950		HTTPMethod: "POST",
951		HTTPPath:   "/",
952	}
953
954	if input == nil {
955		input = &DeleteDBClusterInput{}
956	}
957
958	output = &DeleteDBClusterOutput{}
959	req = c.newRequest(op, input, output)
960	return
961}
962
963// DeleteDBCluster API operation for Amazon DocumentDB with MongoDB compatibility.
964//
965// Deletes a previously provisioned cluster. When you delete a cluster, all
966// automated backups for that cluster are deleted and can't be recovered. Manual
967// DB cluster snapshots of the specified cluster are not deleted.
968//
969// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
970// with awserr.Error's Code and Message methods to get detailed information about
971// the error.
972//
973// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
974// API operation DeleteDBCluster for usage and error information.
975//
976// Returned Error Codes:
977//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
978//   DBClusterIdentifier doesn't refer to an existing cluster.
979//
980//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
981//   The cluster isn't in a valid state.
982//
983//   * ErrCodeDBClusterSnapshotAlreadyExistsFault "DBClusterSnapshotAlreadyExistsFault"
984//   You already have a cluster snapshot with the given identifier.
985//
986//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
987//   The request would cause you to exceed the allowed number of snapshots.
988//
989//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
990//   The provided value isn't a valid cluster snapshot state.
991//
992// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBCluster
993func (c *DocDB) DeleteDBCluster(input *DeleteDBClusterInput) (*DeleteDBClusterOutput, error) {
994	req, out := c.DeleteDBClusterRequest(input)
995	return out, req.Send()
996}
997
998// DeleteDBClusterWithContext is the same as DeleteDBCluster with the addition of
999// the ability to pass a context and additional request options.
1000//
1001// See DeleteDBCluster for details on how to use this API operation.
1002//
1003// The context must be non-nil and will be used for request cancellation. If
1004// the context is nil a panic will occur. In the future the SDK may create
1005// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1006// for more information on using Contexts.
1007func (c *DocDB) DeleteDBClusterWithContext(ctx aws.Context, input *DeleteDBClusterInput, opts ...request.Option) (*DeleteDBClusterOutput, error) {
1008	req, out := c.DeleteDBClusterRequest(input)
1009	req.SetContext(ctx)
1010	req.ApplyOptions(opts...)
1011	return out, req.Send()
1012}
1013
1014const opDeleteDBClusterParameterGroup = "DeleteDBClusterParameterGroup"
1015
1016// DeleteDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
1017// client's request for the DeleteDBClusterParameterGroup operation. The "output" return
1018// value will be populated with the request's response once the request completes
1019// successfully.
1020//
1021// Use "Send" method on the returned Request to send the API call to the service.
1022// the "output" return value is not valid until after Send returns without error.
1023//
1024// See DeleteDBClusterParameterGroup for more information on using the DeleteDBClusterParameterGroup
1025// API call, and error handling.
1026//
1027// This method is useful when you want to inject custom logic or configuration
1028// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1029//
1030//
1031//    // Example sending a request using the DeleteDBClusterParameterGroupRequest method.
1032//    req, resp := client.DeleteDBClusterParameterGroupRequest(params)
1033//
1034//    err := req.Send()
1035//    if err == nil { // resp is now filled
1036//        fmt.Println(resp)
1037//    }
1038//
1039// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBClusterParameterGroup
1040func (c *DocDB) DeleteDBClusterParameterGroupRequest(input *DeleteDBClusterParameterGroupInput) (req *request.Request, output *DeleteDBClusterParameterGroupOutput) {
1041	op := &request.Operation{
1042		Name:       opDeleteDBClusterParameterGroup,
1043		HTTPMethod: "POST",
1044		HTTPPath:   "/",
1045	}
1046
1047	if input == nil {
1048		input = &DeleteDBClusterParameterGroupInput{}
1049	}
1050
1051	output = &DeleteDBClusterParameterGroupOutput{}
1052	req = c.newRequest(op, input, output)
1053	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1054	return
1055}
1056
1057// DeleteDBClusterParameterGroup API operation for Amazon DocumentDB with MongoDB compatibility.
1058//
1059// Deletes a specified cluster parameter group. The cluster parameter group
1060// to be deleted can't be associated with any clusters.
1061//
1062// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1063// with awserr.Error's Code and Message methods to get detailed information about
1064// the error.
1065//
1066// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
1067// API operation DeleteDBClusterParameterGroup for usage and error information.
1068//
1069// Returned Error Codes:
1070//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
1071//   The parameter group is in use, or it is in a state that is not valid. If
1072//   you are trying to delete the parameter group, you can't delete it when the
1073//   parameter group is in this state.
1074//
1075//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
1076//   DBParameterGroupName doesn't refer to an existing parameter group.
1077//
1078// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBClusterParameterGroup
1079func (c *DocDB) DeleteDBClusterParameterGroup(input *DeleteDBClusterParameterGroupInput) (*DeleteDBClusterParameterGroupOutput, error) {
1080	req, out := c.DeleteDBClusterParameterGroupRequest(input)
1081	return out, req.Send()
1082}
1083
1084// DeleteDBClusterParameterGroupWithContext is the same as DeleteDBClusterParameterGroup with the addition of
1085// the ability to pass a context and additional request options.
1086//
1087// See DeleteDBClusterParameterGroup for details on how to use this API operation.
1088//
1089// The context must be non-nil and will be used for request cancellation. If
1090// the context is nil a panic will occur. In the future the SDK may create
1091// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1092// for more information on using Contexts.
1093func (c *DocDB) DeleteDBClusterParameterGroupWithContext(ctx aws.Context, input *DeleteDBClusterParameterGroupInput, opts ...request.Option) (*DeleteDBClusterParameterGroupOutput, error) {
1094	req, out := c.DeleteDBClusterParameterGroupRequest(input)
1095	req.SetContext(ctx)
1096	req.ApplyOptions(opts...)
1097	return out, req.Send()
1098}
1099
1100const opDeleteDBClusterSnapshot = "DeleteDBClusterSnapshot"
1101
1102// DeleteDBClusterSnapshotRequest generates a "aws/request.Request" representing the
1103// client's request for the DeleteDBClusterSnapshot operation. The "output" return
1104// value will be populated with the request's response once the request completes
1105// successfully.
1106//
1107// Use "Send" method on the returned Request to send the API call to the service.
1108// the "output" return value is not valid until after Send returns without error.
1109//
1110// See DeleteDBClusterSnapshot for more information on using the DeleteDBClusterSnapshot
1111// API call, and error handling.
1112//
1113// This method is useful when you want to inject custom logic or configuration
1114// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1115//
1116//
1117//    // Example sending a request using the DeleteDBClusterSnapshotRequest method.
1118//    req, resp := client.DeleteDBClusterSnapshotRequest(params)
1119//
1120//    err := req.Send()
1121//    if err == nil { // resp is now filled
1122//        fmt.Println(resp)
1123//    }
1124//
1125// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBClusterSnapshot
1126func (c *DocDB) DeleteDBClusterSnapshotRequest(input *DeleteDBClusterSnapshotInput) (req *request.Request, output *DeleteDBClusterSnapshotOutput) {
1127	op := &request.Operation{
1128		Name:       opDeleteDBClusterSnapshot,
1129		HTTPMethod: "POST",
1130		HTTPPath:   "/",
1131	}
1132
1133	if input == nil {
1134		input = &DeleteDBClusterSnapshotInput{}
1135	}
1136
1137	output = &DeleteDBClusterSnapshotOutput{}
1138	req = c.newRequest(op, input, output)
1139	return
1140}
1141
1142// DeleteDBClusterSnapshot API operation for Amazon DocumentDB with MongoDB compatibility.
1143//
1144// Deletes a cluster snapshot. If the snapshot is being copied, the copy operation
1145// is terminated.
1146//
1147// The cluster snapshot must be in the available state to be deleted.
1148//
1149// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1150// with awserr.Error's Code and Message methods to get detailed information about
1151// the error.
1152//
1153// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
1154// API operation DeleteDBClusterSnapshot for usage and error information.
1155//
1156// Returned Error Codes:
1157//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
1158//   The provided value isn't a valid cluster snapshot state.
1159//
1160//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
1161//   DBClusterSnapshotIdentifier doesn't refer to an existing cluster snapshot.
1162//
1163// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBClusterSnapshot
1164func (c *DocDB) DeleteDBClusterSnapshot(input *DeleteDBClusterSnapshotInput) (*DeleteDBClusterSnapshotOutput, error) {
1165	req, out := c.DeleteDBClusterSnapshotRequest(input)
1166	return out, req.Send()
1167}
1168
1169// DeleteDBClusterSnapshotWithContext is the same as DeleteDBClusterSnapshot with the addition of
1170// the ability to pass a context and additional request options.
1171//
1172// See DeleteDBClusterSnapshot for details on how to use this API operation.
1173//
1174// The context must be non-nil and will be used for request cancellation. If
1175// the context is nil a panic will occur. In the future the SDK may create
1176// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1177// for more information on using Contexts.
1178func (c *DocDB) DeleteDBClusterSnapshotWithContext(ctx aws.Context, input *DeleteDBClusterSnapshotInput, opts ...request.Option) (*DeleteDBClusterSnapshotOutput, error) {
1179	req, out := c.DeleteDBClusterSnapshotRequest(input)
1180	req.SetContext(ctx)
1181	req.ApplyOptions(opts...)
1182	return out, req.Send()
1183}
1184
1185const opDeleteDBInstance = "DeleteDBInstance"
1186
1187// DeleteDBInstanceRequest generates a "aws/request.Request" representing the
1188// client's request for the DeleteDBInstance operation. The "output" return
1189// value will be populated with the request's response once the request completes
1190// successfully.
1191//
1192// Use "Send" method on the returned Request to send the API call to the service.
1193// the "output" return value is not valid until after Send returns without error.
1194//
1195// See DeleteDBInstance for more information on using the DeleteDBInstance
1196// API call, and error handling.
1197//
1198// This method is useful when you want to inject custom logic or configuration
1199// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1200//
1201//
1202//    // Example sending a request using the DeleteDBInstanceRequest method.
1203//    req, resp := client.DeleteDBInstanceRequest(params)
1204//
1205//    err := req.Send()
1206//    if err == nil { // resp is now filled
1207//        fmt.Println(resp)
1208//    }
1209//
1210// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBInstance
1211func (c *DocDB) DeleteDBInstanceRequest(input *DeleteDBInstanceInput) (req *request.Request, output *DeleteDBInstanceOutput) {
1212	op := &request.Operation{
1213		Name:       opDeleteDBInstance,
1214		HTTPMethod: "POST",
1215		HTTPPath:   "/",
1216	}
1217
1218	if input == nil {
1219		input = &DeleteDBInstanceInput{}
1220	}
1221
1222	output = &DeleteDBInstanceOutput{}
1223	req = c.newRequest(op, input, output)
1224	return
1225}
1226
1227// DeleteDBInstance API operation for Amazon DocumentDB with MongoDB compatibility.
1228//
1229// Deletes a previously provisioned instance.
1230//
1231// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1232// with awserr.Error's Code and Message methods to get detailed information about
1233// the error.
1234//
1235// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
1236// API operation DeleteDBInstance for usage and error information.
1237//
1238// Returned Error Codes:
1239//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
1240//   DBInstanceIdentifier doesn't refer to an existing instance.
1241//
1242//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
1243//   The specified instance isn't in the available state.
1244//
1245//   * ErrCodeDBSnapshotAlreadyExistsFault "DBSnapshotAlreadyExists"
1246//   DBSnapshotIdentifier is already being used by an existing snapshot.
1247//
1248//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
1249//   The request would cause you to exceed the allowed number of snapshots.
1250//
1251//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
1252//   The cluster isn't in a valid state.
1253//
1254// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBInstance
1255func (c *DocDB) DeleteDBInstance(input *DeleteDBInstanceInput) (*DeleteDBInstanceOutput, error) {
1256	req, out := c.DeleteDBInstanceRequest(input)
1257	return out, req.Send()
1258}
1259
1260// DeleteDBInstanceWithContext is the same as DeleteDBInstance with the addition of
1261// the ability to pass a context and additional request options.
1262//
1263// See DeleteDBInstance for details on how to use this API operation.
1264//
1265// The context must be non-nil and will be used for request cancellation. If
1266// the context is nil a panic will occur. In the future the SDK may create
1267// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1268// for more information on using Contexts.
1269func (c *DocDB) DeleteDBInstanceWithContext(ctx aws.Context, input *DeleteDBInstanceInput, opts ...request.Option) (*DeleteDBInstanceOutput, error) {
1270	req, out := c.DeleteDBInstanceRequest(input)
1271	req.SetContext(ctx)
1272	req.ApplyOptions(opts...)
1273	return out, req.Send()
1274}
1275
1276const opDeleteDBSubnetGroup = "DeleteDBSubnetGroup"
1277
1278// DeleteDBSubnetGroupRequest generates a "aws/request.Request" representing the
1279// client's request for the DeleteDBSubnetGroup operation. The "output" return
1280// value will be populated with the request's response once the request completes
1281// successfully.
1282//
1283// Use "Send" method on the returned Request to send the API call to the service.
1284// the "output" return value is not valid until after Send returns without error.
1285//
1286// See DeleteDBSubnetGroup for more information on using the DeleteDBSubnetGroup
1287// API call, and error handling.
1288//
1289// This method is useful when you want to inject custom logic or configuration
1290// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1291//
1292//
1293//    // Example sending a request using the DeleteDBSubnetGroupRequest method.
1294//    req, resp := client.DeleteDBSubnetGroupRequest(params)
1295//
1296//    err := req.Send()
1297//    if err == nil { // resp is now filled
1298//        fmt.Println(resp)
1299//    }
1300//
1301// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBSubnetGroup
1302func (c *DocDB) DeleteDBSubnetGroupRequest(input *DeleteDBSubnetGroupInput) (req *request.Request, output *DeleteDBSubnetGroupOutput) {
1303	op := &request.Operation{
1304		Name:       opDeleteDBSubnetGroup,
1305		HTTPMethod: "POST",
1306		HTTPPath:   "/",
1307	}
1308
1309	if input == nil {
1310		input = &DeleteDBSubnetGroupInput{}
1311	}
1312
1313	output = &DeleteDBSubnetGroupOutput{}
1314	req = c.newRequest(op, input, output)
1315	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1316	return
1317}
1318
1319// DeleteDBSubnetGroup API operation for Amazon DocumentDB with MongoDB compatibility.
1320//
1321// Deletes a subnet group.
1322//
1323// The specified database subnet group must not be associated with any DB instances.
1324//
1325// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1326// with awserr.Error's Code and Message methods to get detailed information about
1327// the error.
1328//
1329// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
1330// API operation DeleteDBSubnetGroup for usage and error information.
1331//
1332// Returned Error Codes:
1333//   * ErrCodeInvalidDBSubnetGroupStateFault "InvalidDBSubnetGroupStateFault"
1334//   The subnet group can't be deleted because it's in use.
1335//
1336//   * ErrCodeInvalidDBSubnetStateFault "InvalidDBSubnetStateFault"
1337//   The subnet isn't in the available state.
1338//
1339//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
1340//   DBSubnetGroupName doesn't refer to an existing subnet group.
1341//
1342// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBSubnetGroup
1343func (c *DocDB) DeleteDBSubnetGroup(input *DeleteDBSubnetGroupInput) (*DeleteDBSubnetGroupOutput, error) {
1344	req, out := c.DeleteDBSubnetGroupRequest(input)
1345	return out, req.Send()
1346}
1347
1348// DeleteDBSubnetGroupWithContext is the same as DeleteDBSubnetGroup with the addition of
1349// the ability to pass a context and additional request options.
1350//
1351// See DeleteDBSubnetGroup for details on how to use this API operation.
1352//
1353// The context must be non-nil and will be used for request cancellation. If
1354// the context is nil a panic will occur. In the future the SDK may create
1355// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1356// for more information on using Contexts.
1357func (c *DocDB) DeleteDBSubnetGroupWithContext(ctx aws.Context, input *DeleteDBSubnetGroupInput, opts ...request.Option) (*DeleteDBSubnetGroupOutput, error) {
1358	req, out := c.DeleteDBSubnetGroupRequest(input)
1359	req.SetContext(ctx)
1360	req.ApplyOptions(opts...)
1361	return out, req.Send()
1362}
1363
1364const opDescribeCertificates = "DescribeCertificates"
1365
1366// DescribeCertificatesRequest generates a "aws/request.Request" representing the
1367// client's request for the DescribeCertificates operation. The "output" return
1368// value will be populated with the request's response once the request completes
1369// successfully.
1370//
1371// Use "Send" method on the returned Request to send the API call to the service.
1372// the "output" return value is not valid until after Send returns without error.
1373//
1374// See DescribeCertificates for more information on using the DescribeCertificates
1375// API call, and error handling.
1376//
1377// This method is useful when you want to inject custom logic or configuration
1378// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1379//
1380//
1381//    // Example sending a request using the DescribeCertificatesRequest method.
1382//    req, resp := client.DescribeCertificatesRequest(params)
1383//
1384//    err := req.Send()
1385//    if err == nil { // resp is now filled
1386//        fmt.Println(resp)
1387//    }
1388//
1389// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeCertificates
1390func (c *DocDB) DescribeCertificatesRequest(input *DescribeCertificatesInput) (req *request.Request, output *DescribeCertificatesOutput) {
1391	op := &request.Operation{
1392		Name:       opDescribeCertificates,
1393		HTTPMethod: "POST",
1394		HTTPPath:   "/",
1395		Paginator: &request.Paginator{
1396			InputTokens:     []string{"Marker"},
1397			OutputTokens:    []string{"Marker"},
1398			LimitToken:      "MaxRecords",
1399			TruncationToken: "",
1400		},
1401	}
1402
1403	if input == nil {
1404		input = &DescribeCertificatesInput{}
1405	}
1406
1407	output = &DescribeCertificatesOutput{}
1408	req = c.newRequest(op, input, output)
1409	return
1410}
1411
1412// DescribeCertificates API operation for Amazon DocumentDB with MongoDB compatibility.
1413//
1414// Returns a list of certificate authority (CA) certificates provided by Amazon
1415// DocumentDB for this AWS account.
1416//
1417// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1418// with awserr.Error's Code and Message methods to get detailed information about
1419// the error.
1420//
1421// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
1422// API operation DescribeCertificates for usage and error information.
1423//
1424// Returned Error Codes:
1425//   * ErrCodeCertificateNotFoundFault "CertificateNotFound"
1426//   CertificateIdentifier doesn't refer to an existing certificate.
1427//
1428// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeCertificates
1429func (c *DocDB) DescribeCertificates(input *DescribeCertificatesInput) (*DescribeCertificatesOutput, error) {
1430	req, out := c.DescribeCertificatesRequest(input)
1431	return out, req.Send()
1432}
1433
1434// DescribeCertificatesWithContext is the same as DescribeCertificates with the addition of
1435// the ability to pass a context and additional request options.
1436//
1437// See DescribeCertificates for details on how to use this API operation.
1438//
1439// The context must be non-nil and will be used for request cancellation. If
1440// the context is nil a panic will occur. In the future the SDK may create
1441// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1442// for more information on using Contexts.
1443func (c *DocDB) DescribeCertificatesWithContext(ctx aws.Context, input *DescribeCertificatesInput, opts ...request.Option) (*DescribeCertificatesOutput, error) {
1444	req, out := c.DescribeCertificatesRequest(input)
1445	req.SetContext(ctx)
1446	req.ApplyOptions(opts...)
1447	return out, req.Send()
1448}
1449
1450// DescribeCertificatesPages iterates over the pages of a DescribeCertificates operation,
1451// calling the "fn" function with the response data for each page. To stop
1452// iterating, return false from the fn function.
1453//
1454// See DescribeCertificates method for more information on how to use this operation.
1455//
1456// Note: This operation can generate multiple requests to a service.
1457//
1458//    // Example iterating over at most 3 pages of a DescribeCertificates operation.
1459//    pageNum := 0
1460//    err := client.DescribeCertificatesPages(params,
1461//        func(page *docdb.DescribeCertificatesOutput, lastPage bool) bool {
1462//            pageNum++
1463//            fmt.Println(page)
1464//            return pageNum <= 3
1465//        })
1466//
1467func (c *DocDB) DescribeCertificatesPages(input *DescribeCertificatesInput, fn func(*DescribeCertificatesOutput, bool) bool) error {
1468	return c.DescribeCertificatesPagesWithContext(aws.BackgroundContext(), input, fn)
1469}
1470
1471// DescribeCertificatesPagesWithContext same as DescribeCertificatesPages except
1472// it takes a Context and allows setting request options on the pages.
1473//
1474// The context must be non-nil and will be used for request cancellation. If
1475// the context is nil a panic will occur. In the future the SDK may create
1476// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1477// for more information on using Contexts.
1478func (c *DocDB) DescribeCertificatesPagesWithContext(ctx aws.Context, input *DescribeCertificatesInput, fn func(*DescribeCertificatesOutput, bool) bool, opts ...request.Option) error {
1479	p := request.Pagination{
1480		NewRequest: func() (*request.Request, error) {
1481			var inCpy *DescribeCertificatesInput
1482			if input != nil {
1483				tmp := *input
1484				inCpy = &tmp
1485			}
1486			req, _ := c.DescribeCertificatesRequest(inCpy)
1487			req.SetContext(ctx)
1488			req.ApplyOptions(opts...)
1489			return req, nil
1490		},
1491	}
1492
1493	for p.Next() {
1494		if !fn(p.Page().(*DescribeCertificatesOutput), !p.HasNextPage()) {
1495			break
1496		}
1497	}
1498
1499	return p.Err()
1500}
1501
1502const opDescribeDBClusterParameterGroups = "DescribeDBClusterParameterGroups"
1503
1504// DescribeDBClusterParameterGroupsRequest generates a "aws/request.Request" representing the
1505// client's request for the DescribeDBClusterParameterGroups operation. The "output" return
1506// value will be populated with the request's response once the request completes
1507// successfully.
1508//
1509// Use "Send" method on the returned Request to send the API call to the service.
1510// the "output" return value is not valid until after Send returns without error.
1511//
1512// See DescribeDBClusterParameterGroups for more information on using the DescribeDBClusterParameterGroups
1513// API call, and error handling.
1514//
1515// This method is useful when you want to inject custom logic or configuration
1516// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1517//
1518//
1519//    // Example sending a request using the DescribeDBClusterParameterGroupsRequest method.
1520//    req, resp := client.DescribeDBClusterParameterGroupsRequest(params)
1521//
1522//    err := req.Send()
1523//    if err == nil { // resp is now filled
1524//        fmt.Println(resp)
1525//    }
1526//
1527// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusterParameterGroups
1528func (c *DocDB) DescribeDBClusterParameterGroupsRequest(input *DescribeDBClusterParameterGroupsInput) (req *request.Request, output *DescribeDBClusterParameterGroupsOutput) {
1529	op := &request.Operation{
1530		Name:       opDescribeDBClusterParameterGroups,
1531		HTTPMethod: "POST",
1532		HTTPPath:   "/",
1533		Paginator: &request.Paginator{
1534			InputTokens:     []string{"Marker"},
1535			OutputTokens:    []string{"Marker"},
1536			LimitToken:      "MaxRecords",
1537			TruncationToken: "",
1538		},
1539	}
1540
1541	if input == nil {
1542		input = &DescribeDBClusterParameterGroupsInput{}
1543	}
1544
1545	output = &DescribeDBClusterParameterGroupsOutput{}
1546	req = c.newRequest(op, input, output)
1547	return
1548}
1549
1550// DescribeDBClusterParameterGroups API operation for Amazon DocumentDB with MongoDB compatibility.
1551//
1552// Returns a list of DBClusterParameterGroup descriptions. If a DBClusterParameterGroupName
1553// parameter is specified, the list contains only the description of the specified
1554// cluster parameter group.
1555//
1556// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1557// with awserr.Error's Code and Message methods to get detailed information about
1558// the error.
1559//
1560// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
1561// API operation DescribeDBClusterParameterGroups for usage and error information.
1562//
1563// Returned Error Codes:
1564//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
1565//   DBParameterGroupName doesn't refer to an existing parameter group.
1566//
1567// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusterParameterGroups
1568func (c *DocDB) DescribeDBClusterParameterGroups(input *DescribeDBClusterParameterGroupsInput) (*DescribeDBClusterParameterGroupsOutput, error) {
1569	req, out := c.DescribeDBClusterParameterGroupsRequest(input)
1570	return out, req.Send()
1571}
1572
1573// DescribeDBClusterParameterGroupsWithContext is the same as DescribeDBClusterParameterGroups with the addition of
1574// the ability to pass a context and additional request options.
1575//
1576// See DescribeDBClusterParameterGroups for details on how to use this API operation.
1577//
1578// The context must be non-nil and will be used for request cancellation. If
1579// the context is nil a panic will occur. In the future the SDK may create
1580// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1581// for more information on using Contexts.
1582func (c *DocDB) DescribeDBClusterParameterGroupsWithContext(ctx aws.Context, input *DescribeDBClusterParameterGroupsInput, opts ...request.Option) (*DescribeDBClusterParameterGroupsOutput, error) {
1583	req, out := c.DescribeDBClusterParameterGroupsRequest(input)
1584	req.SetContext(ctx)
1585	req.ApplyOptions(opts...)
1586	return out, req.Send()
1587}
1588
1589// DescribeDBClusterParameterGroupsPages iterates over the pages of a DescribeDBClusterParameterGroups operation,
1590// calling the "fn" function with the response data for each page. To stop
1591// iterating, return false from the fn function.
1592//
1593// See DescribeDBClusterParameterGroups method for more information on how to use this operation.
1594//
1595// Note: This operation can generate multiple requests to a service.
1596//
1597//    // Example iterating over at most 3 pages of a DescribeDBClusterParameterGroups operation.
1598//    pageNum := 0
1599//    err := client.DescribeDBClusterParameterGroupsPages(params,
1600//        func(page *docdb.DescribeDBClusterParameterGroupsOutput, lastPage bool) bool {
1601//            pageNum++
1602//            fmt.Println(page)
1603//            return pageNum <= 3
1604//        })
1605//
1606func (c *DocDB) DescribeDBClusterParameterGroupsPages(input *DescribeDBClusterParameterGroupsInput, fn func(*DescribeDBClusterParameterGroupsOutput, bool) bool) error {
1607	return c.DescribeDBClusterParameterGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
1608}
1609
1610// DescribeDBClusterParameterGroupsPagesWithContext same as DescribeDBClusterParameterGroupsPages except
1611// it takes a Context and allows setting request options on the pages.
1612//
1613// The context must be non-nil and will be used for request cancellation. If
1614// the context is nil a panic will occur. In the future the SDK may create
1615// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1616// for more information on using Contexts.
1617func (c *DocDB) DescribeDBClusterParameterGroupsPagesWithContext(ctx aws.Context, input *DescribeDBClusterParameterGroupsInput, fn func(*DescribeDBClusterParameterGroupsOutput, bool) bool, opts ...request.Option) error {
1618	p := request.Pagination{
1619		NewRequest: func() (*request.Request, error) {
1620			var inCpy *DescribeDBClusterParameterGroupsInput
1621			if input != nil {
1622				tmp := *input
1623				inCpy = &tmp
1624			}
1625			req, _ := c.DescribeDBClusterParameterGroupsRequest(inCpy)
1626			req.SetContext(ctx)
1627			req.ApplyOptions(opts...)
1628			return req, nil
1629		},
1630	}
1631
1632	for p.Next() {
1633		if !fn(p.Page().(*DescribeDBClusterParameterGroupsOutput), !p.HasNextPage()) {
1634			break
1635		}
1636	}
1637
1638	return p.Err()
1639}
1640
1641const opDescribeDBClusterParameters = "DescribeDBClusterParameters"
1642
1643// DescribeDBClusterParametersRequest generates a "aws/request.Request" representing the
1644// client's request for the DescribeDBClusterParameters operation. The "output" return
1645// value will be populated with the request's response once the request completes
1646// successfully.
1647//
1648// Use "Send" method on the returned Request to send the API call to the service.
1649// the "output" return value is not valid until after Send returns without error.
1650//
1651// See DescribeDBClusterParameters for more information on using the DescribeDBClusterParameters
1652// API call, and error handling.
1653//
1654// This method is useful when you want to inject custom logic or configuration
1655// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1656//
1657//
1658//    // Example sending a request using the DescribeDBClusterParametersRequest method.
1659//    req, resp := client.DescribeDBClusterParametersRequest(params)
1660//
1661//    err := req.Send()
1662//    if err == nil { // resp is now filled
1663//        fmt.Println(resp)
1664//    }
1665//
1666// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusterParameters
1667func (c *DocDB) DescribeDBClusterParametersRequest(input *DescribeDBClusterParametersInput) (req *request.Request, output *DescribeDBClusterParametersOutput) {
1668	op := &request.Operation{
1669		Name:       opDescribeDBClusterParameters,
1670		HTTPMethod: "POST",
1671		HTTPPath:   "/",
1672		Paginator: &request.Paginator{
1673			InputTokens:     []string{"Marker"},
1674			OutputTokens:    []string{"Marker"},
1675			LimitToken:      "MaxRecords",
1676			TruncationToken: "",
1677		},
1678	}
1679
1680	if input == nil {
1681		input = &DescribeDBClusterParametersInput{}
1682	}
1683
1684	output = &DescribeDBClusterParametersOutput{}
1685	req = c.newRequest(op, input, output)
1686	return
1687}
1688
1689// DescribeDBClusterParameters API operation for Amazon DocumentDB with MongoDB compatibility.
1690//
1691// Returns the detailed parameter list for a particular cluster parameter group.
1692//
1693// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1694// with awserr.Error's Code and Message methods to get detailed information about
1695// the error.
1696//
1697// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
1698// API operation DescribeDBClusterParameters for usage and error information.
1699//
1700// Returned Error Codes:
1701//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
1702//   DBParameterGroupName doesn't refer to an existing parameter group.
1703//
1704// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusterParameters
1705func (c *DocDB) DescribeDBClusterParameters(input *DescribeDBClusterParametersInput) (*DescribeDBClusterParametersOutput, error) {
1706	req, out := c.DescribeDBClusterParametersRequest(input)
1707	return out, req.Send()
1708}
1709
1710// DescribeDBClusterParametersWithContext is the same as DescribeDBClusterParameters with the addition of
1711// the ability to pass a context and additional request options.
1712//
1713// See DescribeDBClusterParameters for details on how to use this API operation.
1714//
1715// The context must be non-nil and will be used for request cancellation. If
1716// the context is nil a panic will occur. In the future the SDK may create
1717// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1718// for more information on using Contexts.
1719func (c *DocDB) DescribeDBClusterParametersWithContext(ctx aws.Context, input *DescribeDBClusterParametersInput, opts ...request.Option) (*DescribeDBClusterParametersOutput, error) {
1720	req, out := c.DescribeDBClusterParametersRequest(input)
1721	req.SetContext(ctx)
1722	req.ApplyOptions(opts...)
1723	return out, req.Send()
1724}
1725
1726// DescribeDBClusterParametersPages iterates over the pages of a DescribeDBClusterParameters operation,
1727// calling the "fn" function with the response data for each page. To stop
1728// iterating, return false from the fn function.
1729//
1730// See DescribeDBClusterParameters method for more information on how to use this operation.
1731//
1732// Note: This operation can generate multiple requests to a service.
1733//
1734//    // Example iterating over at most 3 pages of a DescribeDBClusterParameters operation.
1735//    pageNum := 0
1736//    err := client.DescribeDBClusterParametersPages(params,
1737//        func(page *docdb.DescribeDBClusterParametersOutput, lastPage bool) bool {
1738//            pageNum++
1739//            fmt.Println(page)
1740//            return pageNum <= 3
1741//        })
1742//
1743func (c *DocDB) DescribeDBClusterParametersPages(input *DescribeDBClusterParametersInput, fn func(*DescribeDBClusterParametersOutput, bool) bool) error {
1744	return c.DescribeDBClusterParametersPagesWithContext(aws.BackgroundContext(), input, fn)
1745}
1746
1747// DescribeDBClusterParametersPagesWithContext same as DescribeDBClusterParametersPages except
1748// it takes a Context and allows setting request options on the pages.
1749//
1750// The context must be non-nil and will be used for request cancellation. If
1751// the context is nil a panic will occur. In the future the SDK may create
1752// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1753// for more information on using Contexts.
1754func (c *DocDB) DescribeDBClusterParametersPagesWithContext(ctx aws.Context, input *DescribeDBClusterParametersInput, fn func(*DescribeDBClusterParametersOutput, bool) bool, opts ...request.Option) error {
1755	p := request.Pagination{
1756		NewRequest: func() (*request.Request, error) {
1757			var inCpy *DescribeDBClusterParametersInput
1758			if input != nil {
1759				tmp := *input
1760				inCpy = &tmp
1761			}
1762			req, _ := c.DescribeDBClusterParametersRequest(inCpy)
1763			req.SetContext(ctx)
1764			req.ApplyOptions(opts...)
1765			return req, nil
1766		},
1767	}
1768
1769	for p.Next() {
1770		if !fn(p.Page().(*DescribeDBClusterParametersOutput), !p.HasNextPage()) {
1771			break
1772		}
1773	}
1774
1775	return p.Err()
1776}
1777
1778const opDescribeDBClusterSnapshotAttributes = "DescribeDBClusterSnapshotAttributes"
1779
1780// DescribeDBClusterSnapshotAttributesRequest generates a "aws/request.Request" representing the
1781// client's request for the DescribeDBClusterSnapshotAttributes operation. The "output" return
1782// value will be populated with the request's response once the request completes
1783// successfully.
1784//
1785// Use "Send" method on the returned Request to send the API call to the service.
1786// the "output" return value is not valid until after Send returns without error.
1787//
1788// See DescribeDBClusterSnapshotAttributes for more information on using the DescribeDBClusterSnapshotAttributes
1789// API call, and error handling.
1790//
1791// This method is useful when you want to inject custom logic or configuration
1792// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1793//
1794//
1795//    // Example sending a request using the DescribeDBClusterSnapshotAttributesRequest method.
1796//    req, resp := client.DescribeDBClusterSnapshotAttributesRequest(params)
1797//
1798//    err := req.Send()
1799//    if err == nil { // resp is now filled
1800//        fmt.Println(resp)
1801//    }
1802//
1803// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusterSnapshotAttributes
1804func (c *DocDB) DescribeDBClusterSnapshotAttributesRequest(input *DescribeDBClusterSnapshotAttributesInput) (req *request.Request, output *DescribeDBClusterSnapshotAttributesOutput) {
1805	op := &request.Operation{
1806		Name:       opDescribeDBClusterSnapshotAttributes,
1807		HTTPMethod: "POST",
1808		HTTPPath:   "/",
1809	}
1810
1811	if input == nil {
1812		input = &DescribeDBClusterSnapshotAttributesInput{}
1813	}
1814
1815	output = &DescribeDBClusterSnapshotAttributesOutput{}
1816	req = c.newRequest(op, input, output)
1817	return
1818}
1819
1820// DescribeDBClusterSnapshotAttributes API operation for Amazon DocumentDB with MongoDB compatibility.
1821//
1822// Returns a list of cluster snapshot attribute names and values for a manual
1823// DB cluster snapshot.
1824//
1825// When you share snapshots with other AWS accounts, DescribeDBClusterSnapshotAttributes
1826// returns the restore attribute and a list of IDs for the AWS accounts that
1827// are authorized to copy or restore the manual cluster snapshot. If all is
1828// included in the list of values for the restore attribute, then the manual
1829// cluster snapshot is public and can be copied or restored by all AWS accounts.
1830//
1831// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1832// with awserr.Error's Code and Message methods to get detailed information about
1833// the error.
1834//
1835// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
1836// API operation DescribeDBClusterSnapshotAttributes for usage and error information.
1837//
1838// Returned Error Codes:
1839//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
1840//   DBClusterSnapshotIdentifier doesn't refer to an existing cluster snapshot.
1841//
1842// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusterSnapshotAttributes
1843func (c *DocDB) DescribeDBClusterSnapshotAttributes(input *DescribeDBClusterSnapshotAttributesInput) (*DescribeDBClusterSnapshotAttributesOutput, error) {
1844	req, out := c.DescribeDBClusterSnapshotAttributesRequest(input)
1845	return out, req.Send()
1846}
1847
1848// DescribeDBClusterSnapshotAttributesWithContext is the same as DescribeDBClusterSnapshotAttributes with the addition of
1849// the ability to pass a context and additional request options.
1850//
1851// See DescribeDBClusterSnapshotAttributes for details on how to use this API operation.
1852//
1853// The context must be non-nil and will be used for request cancellation. If
1854// the context is nil a panic will occur. In the future the SDK may create
1855// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1856// for more information on using Contexts.
1857func (c *DocDB) DescribeDBClusterSnapshotAttributesWithContext(ctx aws.Context, input *DescribeDBClusterSnapshotAttributesInput, opts ...request.Option) (*DescribeDBClusterSnapshotAttributesOutput, error) {
1858	req, out := c.DescribeDBClusterSnapshotAttributesRequest(input)
1859	req.SetContext(ctx)
1860	req.ApplyOptions(opts...)
1861	return out, req.Send()
1862}
1863
1864const opDescribeDBClusterSnapshots = "DescribeDBClusterSnapshots"
1865
1866// DescribeDBClusterSnapshotsRequest generates a "aws/request.Request" representing the
1867// client's request for the DescribeDBClusterSnapshots operation. The "output" return
1868// value will be populated with the request's response once the request completes
1869// successfully.
1870//
1871// Use "Send" method on the returned Request to send the API call to the service.
1872// the "output" return value is not valid until after Send returns without error.
1873//
1874// See DescribeDBClusterSnapshots for more information on using the DescribeDBClusterSnapshots
1875// API call, and error handling.
1876//
1877// This method is useful when you want to inject custom logic or configuration
1878// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1879//
1880//
1881//    // Example sending a request using the DescribeDBClusterSnapshotsRequest method.
1882//    req, resp := client.DescribeDBClusterSnapshotsRequest(params)
1883//
1884//    err := req.Send()
1885//    if err == nil { // resp is now filled
1886//        fmt.Println(resp)
1887//    }
1888//
1889// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusterSnapshots
1890func (c *DocDB) DescribeDBClusterSnapshotsRequest(input *DescribeDBClusterSnapshotsInput) (req *request.Request, output *DescribeDBClusterSnapshotsOutput) {
1891	op := &request.Operation{
1892		Name:       opDescribeDBClusterSnapshots,
1893		HTTPMethod: "POST",
1894		HTTPPath:   "/",
1895		Paginator: &request.Paginator{
1896			InputTokens:     []string{"Marker"},
1897			OutputTokens:    []string{"Marker"},
1898			LimitToken:      "MaxRecords",
1899			TruncationToken: "",
1900		},
1901	}
1902
1903	if input == nil {
1904		input = &DescribeDBClusterSnapshotsInput{}
1905	}
1906
1907	output = &DescribeDBClusterSnapshotsOutput{}
1908	req = c.newRequest(op, input, output)
1909	return
1910}
1911
1912// DescribeDBClusterSnapshots API operation for Amazon DocumentDB with MongoDB compatibility.
1913//
1914// Returns information about cluster snapshots. This API operation supports
1915// pagination.
1916//
1917// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1918// with awserr.Error's Code and Message methods to get detailed information about
1919// the error.
1920//
1921// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
1922// API operation DescribeDBClusterSnapshots for usage and error information.
1923//
1924// Returned Error Codes:
1925//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
1926//   DBClusterSnapshotIdentifier doesn't refer to an existing cluster snapshot.
1927//
1928// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusterSnapshots
1929func (c *DocDB) DescribeDBClusterSnapshots(input *DescribeDBClusterSnapshotsInput) (*DescribeDBClusterSnapshotsOutput, error) {
1930	req, out := c.DescribeDBClusterSnapshotsRequest(input)
1931	return out, req.Send()
1932}
1933
1934// DescribeDBClusterSnapshotsWithContext is the same as DescribeDBClusterSnapshots with the addition of
1935// the ability to pass a context and additional request options.
1936//
1937// See DescribeDBClusterSnapshots for details on how to use this API operation.
1938//
1939// The context must be non-nil and will be used for request cancellation. If
1940// the context is nil a panic will occur. In the future the SDK may create
1941// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1942// for more information on using Contexts.
1943func (c *DocDB) DescribeDBClusterSnapshotsWithContext(ctx aws.Context, input *DescribeDBClusterSnapshotsInput, opts ...request.Option) (*DescribeDBClusterSnapshotsOutput, error) {
1944	req, out := c.DescribeDBClusterSnapshotsRequest(input)
1945	req.SetContext(ctx)
1946	req.ApplyOptions(opts...)
1947	return out, req.Send()
1948}
1949
1950// DescribeDBClusterSnapshotsPages iterates over the pages of a DescribeDBClusterSnapshots operation,
1951// calling the "fn" function with the response data for each page. To stop
1952// iterating, return false from the fn function.
1953//
1954// See DescribeDBClusterSnapshots method for more information on how to use this operation.
1955//
1956// Note: This operation can generate multiple requests to a service.
1957//
1958//    // Example iterating over at most 3 pages of a DescribeDBClusterSnapshots operation.
1959//    pageNum := 0
1960//    err := client.DescribeDBClusterSnapshotsPages(params,
1961//        func(page *docdb.DescribeDBClusterSnapshotsOutput, lastPage bool) bool {
1962//            pageNum++
1963//            fmt.Println(page)
1964//            return pageNum <= 3
1965//        })
1966//
1967func (c *DocDB) DescribeDBClusterSnapshotsPages(input *DescribeDBClusterSnapshotsInput, fn func(*DescribeDBClusterSnapshotsOutput, bool) bool) error {
1968	return c.DescribeDBClusterSnapshotsPagesWithContext(aws.BackgroundContext(), input, fn)
1969}
1970
1971// DescribeDBClusterSnapshotsPagesWithContext same as DescribeDBClusterSnapshotsPages except
1972// it takes a Context and allows setting request options on the pages.
1973//
1974// The context must be non-nil and will be used for request cancellation. If
1975// the context is nil a panic will occur. In the future the SDK may create
1976// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1977// for more information on using Contexts.
1978func (c *DocDB) DescribeDBClusterSnapshotsPagesWithContext(ctx aws.Context, input *DescribeDBClusterSnapshotsInput, fn func(*DescribeDBClusterSnapshotsOutput, bool) bool, opts ...request.Option) error {
1979	p := request.Pagination{
1980		NewRequest: func() (*request.Request, error) {
1981			var inCpy *DescribeDBClusterSnapshotsInput
1982			if input != nil {
1983				tmp := *input
1984				inCpy = &tmp
1985			}
1986			req, _ := c.DescribeDBClusterSnapshotsRequest(inCpy)
1987			req.SetContext(ctx)
1988			req.ApplyOptions(opts...)
1989			return req, nil
1990		},
1991	}
1992
1993	for p.Next() {
1994		if !fn(p.Page().(*DescribeDBClusterSnapshotsOutput), !p.HasNextPage()) {
1995			break
1996		}
1997	}
1998
1999	return p.Err()
2000}
2001
2002const opDescribeDBClusters = "DescribeDBClusters"
2003
2004// DescribeDBClustersRequest generates a "aws/request.Request" representing the
2005// client's request for the DescribeDBClusters operation. The "output" return
2006// value will be populated with the request's response once the request completes
2007// successfully.
2008//
2009// Use "Send" method on the returned Request to send the API call to the service.
2010// the "output" return value is not valid until after Send returns without error.
2011//
2012// See DescribeDBClusters for more information on using the DescribeDBClusters
2013// API call, and error handling.
2014//
2015// This method is useful when you want to inject custom logic or configuration
2016// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2017//
2018//
2019//    // Example sending a request using the DescribeDBClustersRequest method.
2020//    req, resp := client.DescribeDBClustersRequest(params)
2021//
2022//    err := req.Send()
2023//    if err == nil { // resp is now filled
2024//        fmt.Println(resp)
2025//    }
2026//
2027// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusters
2028func (c *DocDB) DescribeDBClustersRequest(input *DescribeDBClustersInput) (req *request.Request, output *DescribeDBClustersOutput) {
2029	op := &request.Operation{
2030		Name:       opDescribeDBClusters,
2031		HTTPMethod: "POST",
2032		HTTPPath:   "/",
2033		Paginator: &request.Paginator{
2034			InputTokens:     []string{"Marker"},
2035			OutputTokens:    []string{"Marker"},
2036			LimitToken:      "MaxRecords",
2037			TruncationToken: "",
2038		},
2039	}
2040
2041	if input == nil {
2042		input = &DescribeDBClustersInput{}
2043	}
2044
2045	output = &DescribeDBClustersOutput{}
2046	req = c.newRequest(op, input, output)
2047	return
2048}
2049
2050// DescribeDBClusters API operation for Amazon DocumentDB with MongoDB compatibility.
2051//
2052// Returns information about provisioned Amazon DocumentDB clusters. This API
2053// operation supports pagination. For certain management features such as cluster
2054// and instance lifecycle management, Amazon DocumentDB leverages operational
2055// technology that is shared with Amazon RDS and Amazon Neptune. Use the filterName=engine,Values=docdb
2056// filter parameter to return only Amazon DocumentDB clusters.
2057//
2058// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2059// with awserr.Error's Code and Message methods to get detailed information about
2060// the error.
2061//
2062// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
2063// API operation DescribeDBClusters for usage and error information.
2064//
2065// Returned Error Codes:
2066//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
2067//   DBClusterIdentifier doesn't refer to an existing cluster.
2068//
2069// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusters
2070func (c *DocDB) DescribeDBClusters(input *DescribeDBClustersInput) (*DescribeDBClustersOutput, error) {
2071	req, out := c.DescribeDBClustersRequest(input)
2072	return out, req.Send()
2073}
2074
2075// DescribeDBClustersWithContext is the same as DescribeDBClusters with the addition of
2076// the ability to pass a context and additional request options.
2077//
2078// See DescribeDBClusters for details on how to use this API operation.
2079//
2080// The context must be non-nil and will be used for request cancellation. If
2081// the context is nil a panic will occur. In the future the SDK may create
2082// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2083// for more information on using Contexts.
2084func (c *DocDB) DescribeDBClustersWithContext(ctx aws.Context, input *DescribeDBClustersInput, opts ...request.Option) (*DescribeDBClustersOutput, error) {
2085	req, out := c.DescribeDBClustersRequest(input)
2086	req.SetContext(ctx)
2087	req.ApplyOptions(opts...)
2088	return out, req.Send()
2089}
2090
2091// DescribeDBClustersPages iterates over the pages of a DescribeDBClusters operation,
2092// calling the "fn" function with the response data for each page. To stop
2093// iterating, return false from the fn function.
2094//
2095// See DescribeDBClusters method for more information on how to use this operation.
2096//
2097// Note: This operation can generate multiple requests to a service.
2098//
2099//    // Example iterating over at most 3 pages of a DescribeDBClusters operation.
2100//    pageNum := 0
2101//    err := client.DescribeDBClustersPages(params,
2102//        func(page *docdb.DescribeDBClustersOutput, lastPage bool) bool {
2103//            pageNum++
2104//            fmt.Println(page)
2105//            return pageNum <= 3
2106//        })
2107//
2108func (c *DocDB) DescribeDBClustersPages(input *DescribeDBClustersInput, fn func(*DescribeDBClustersOutput, bool) bool) error {
2109	return c.DescribeDBClustersPagesWithContext(aws.BackgroundContext(), input, fn)
2110}
2111
2112// DescribeDBClustersPagesWithContext same as DescribeDBClustersPages except
2113// it takes a Context and allows setting request options on the pages.
2114//
2115// The context must be non-nil and will be used for request cancellation. If
2116// the context is nil a panic will occur. In the future the SDK may create
2117// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2118// for more information on using Contexts.
2119func (c *DocDB) DescribeDBClustersPagesWithContext(ctx aws.Context, input *DescribeDBClustersInput, fn func(*DescribeDBClustersOutput, bool) bool, opts ...request.Option) error {
2120	p := request.Pagination{
2121		NewRequest: func() (*request.Request, error) {
2122			var inCpy *DescribeDBClustersInput
2123			if input != nil {
2124				tmp := *input
2125				inCpy = &tmp
2126			}
2127			req, _ := c.DescribeDBClustersRequest(inCpy)
2128			req.SetContext(ctx)
2129			req.ApplyOptions(opts...)
2130			return req, nil
2131		},
2132	}
2133
2134	for p.Next() {
2135		if !fn(p.Page().(*DescribeDBClustersOutput), !p.HasNextPage()) {
2136			break
2137		}
2138	}
2139
2140	return p.Err()
2141}
2142
2143const opDescribeDBEngineVersions = "DescribeDBEngineVersions"
2144
2145// DescribeDBEngineVersionsRequest generates a "aws/request.Request" representing the
2146// client's request for the DescribeDBEngineVersions operation. The "output" return
2147// value will be populated with the request's response once the request completes
2148// successfully.
2149//
2150// Use "Send" method on the returned Request to send the API call to the service.
2151// the "output" return value is not valid until after Send returns without error.
2152//
2153// See DescribeDBEngineVersions for more information on using the DescribeDBEngineVersions
2154// API call, and error handling.
2155//
2156// This method is useful when you want to inject custom logic or configuration
2157// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2158//
2159//
2160//    // Example sending a request using the DescribeDBEngineVersionsRequest method.
2161//    req, resp := client.DescribeDBEngineVersionsRequest(params)
2162//
2163//    err := req.Send()
2164//    if err == nil { // resp is now filled
2165//        fmt.Println(resp)
2166//    }
2167//
2168// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBEngineVersions
2169func (c *DocDB) DescribeDBEngineVersionsRequest(input *DescribeDBEngineVersionsInput) (req *request.Request, output *DescribeDBEngineVersionsOutput) {
2170	op := &request.Operation{
2171		Name:       opDescribeDBEngineVersions,
2172		HTTPMethod: "POST",
2173		HTTPPath:   "/",
2174		Paginator: &request.Paginator{
2175			InputTokens:     []string{"Marker"},
2176			OutputTokens:    []string{"Marker"},
2177			LimitToken:      "MaxRecords",
2178			TruncationToken: "",
2179		},
2180	}
2181
2182	if input == nil {
2183		input = &DescribeDBEngineVersionsInput{}
2184	}
2185
2186	output = &DescribeDBEngineVersionsOutput{}
2187	req = c.newRequest(op, input, output)
2188	return
2189}
2190
2191// DescribeDBEngineVersions API operation for Amazon DocumentDB with MongoDB compatibility.
2192//
2193// Returns a list of the available engines.
2194//
2195// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2196// with awserr.Error's Code and Message methods to get detailed information about
2197// the error.
2198//
2199// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
2200// API operation DescribeDBEngineVersions for usage and error information.
2201// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBEngineVersions
2202func (c *DocDB) DescribeDBEngineVersions(input *DescribeDBEngineVersionsInput) (*DescribeDBEngineVersionsOutput, error) {
2203	req, out := c.DescribeDBEngineVersionsRequest(input)
2204	return out, req.Send()
2205}
2206
2207// DescribeDBEngineVersionsWithContext is the same as DescribeDBEngineVersions with the addition of
2208// the ability to pass a context and additional request options.
2209//
2210// See DescribeDBEngineVersions for details on how to use this API operation.
2211//
2212// The context must be non-nil and will be used for request cancellation. If
2213// the context is nil a panic will occur. In the future the SDK may create
2214// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2215// for more information on using Contexts.
2216func (c *DocDB) DescribeDBEngineVersionsWithContext(ctx aws.Context, input *DescribeDBEngineVersionsInput, opts ...request.Option) (*DescribeDBEngineVersionsOutput, error) {
2217	req, out := c.DescribeDBEngineVersionsRequest(input)
2218	req.SetContext(ctx)
2219	req.ApplyOptions(opts...)
2220	return out, req.Send()
2221}
2222
2223// DescribeDBEngineVersionsPages iterates over the pages of a DescribeDBEngineVersions operation,
2224// calling the "fn" function with the response data for each page. To stop
2225// iterating, return false from the fn function.
2226//
2227// See DescribeDBEngineVersions method for more information on how to use this operation.
2228//
2229// Note: This operation can generate multiple requests to a service.
2230//
2231//    // Example iterating over at most 3 pages of a DescribeDBEngineVersions operation.
2232//    pageNum := 0
2233//    err := client.DescribeDBEngineVersionsPages(params,
2234//        func(page *docdb.DescribeDBEngineVersionsOutput, lastPage bool) bool {
2235//            pageNum++
2236//            fmt.Println(page)
2237//            return pageNum <= 3
2238//        })
2239//
2240func (c *DocDB) DescribeDBEngineVersionsPages(input *DescribeDBEngineVersionsInput, fn func(*DescribeDBEngineVersionsOutput, bool) bool) error {
2241	return c.DescribeDBEngineVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
2242}
2243
2244// DescribeDBEngineVersionsPagesWithContext same as DescribeDBEngineVersionsPages except
2245// it takes a Context and allows setting request options on the pages.
2246//
2247// The context must be non-nil and will be used for request cancellation. If
2248// the context is nil a panic will occur. In the future the SDK may create
2249// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2250// for more information on using Contexts.
2251func (c *DocDB) DescribeDBEngineVersionsPagesWithContext(ctx aws.Context, input *DescribeDBEngineVersionsInput, fn func(*DescribeDBEngineVersionsOutput, bool) bool, opts ...request.Option) error {
2252	p := request.Pagination{
2253		NewRequest: func() (*request.Request, error) {
2254			var inCpy *DescribeDBEngineVersionsInput
2255			if input != nil {
2256				tmp := *input
2257				inCpy = &tmp
2258			}
2259			req, _ := c.DescribeDBEngineVersionsRequest(inCpy)
2260			req.SetContext(ctx)
2261			req.ApplyOptions(opts...)
2262			return req, nil
2263		},
2264	}
2265
2266	for p.Next() {
2267		if !fn(p.Page().(*DescribeDBEngineVersionsOutput), !p.HasNextPage()) {
2268			break
2269		}
2270	}
2271
2272	return p.Err()
2273}
2274
2275const opDescribeDBInstances = "DescribeDBInstances"
2276
2277// DescribeDBInstancesRequest generates a "aws/request.Request" representing the
2278// client's request for the DescribeDBInstances operation. The "output" return
2279// value will be populated with the request's response once the request completes
2280// successfully.
2281//
2282// Use "Send" method on the returned Request to send the API call to the service.
2283// the "output" return value is not valid until after Send returns without error.
2284//
2285// See DescribeDBInstances for more information on using the DescribeDBInstances
2286// API call, and error handling.
2287//
2288// This method is useful when you want to inject custom logic or configuration
2289// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2290//
2291//
2292//    // Example sending a request using the DescribeDBInstancesRequest method.
2293//    req, resp := client.DescribeDBInstancesRequest(params)
2294//
2295//    err := req.Send()
2296//    if err == nil { // resp is now filled
2297//        fmt.Println(resp)
2298//    }
2299//
2300// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBInstances
2301func (c *DocDB) DescribeDBInstancesRequest(input *DescribeDBInstancesInput) (req *request.Request, output *DescribeDBInstancesOutput) {
2302	op := &request.Operation{
2303		Name:       opDescribeDBInstances,
2304		HTTPMethod: "POST",
2305		HTTPPath:   "/",
2306		Paginator: &request.Paginator{
2307			InputTokens:     []string{"Marker"},
2308			OutputTokens:    []string{"Marker"},
2309			LimitToken:      "MaxRecords",
2310			TruncationToken: "",
2311		},
2312	}
2313
2314	if input == nil {
2315		input = &DescribeDBInstancesInput{}
2316	}
2317
2318	output = &DescribeDBInstancesOutput{}
2319	req = c.newRequest(op, input, output)
2320	return
2321}
2322
2323// DescribeDBInstances API operation for Amazon DocumentDB with MongoDB compatibility.
2324//
2325// Returns information about provisioned Amazon DocumentDB instances. This API
2326// supports pagination.
2327//
2328// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2329// with awserr.Error's Code and Message methods to get detailed information about
2330// the error.
2331//
2332// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
2333// API operation DescribeDBInstances for usage and error information.
2334//
2335// Returned Error Codes:
2336//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
2337//   DBInstanceIdentifier doesn't refer to an existing instance.
2338//
2339// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBInstances
2340func (c *DocDB) DescribeDBInstances(input *DescribeDBInstancesInput) (*DescribeDBInstancesOutput, error) {
2341	req, out := c.DescribeDBInstancesRequest(input)
2342	return out, req.Send()
2343}
2344
2345// DescribeDBInstancesWithContext is the same as DescribeDBInstances with the addition of
2346// the ability to pass a context and additional request options.
2347//
2348// See DescribeDBInstances for details on how to use this API operation.
2349//
2350// The context must be non-nil and will be used for request cancellation. If
2351// the context is nil a panic will occur. In the future the SDK may create
2352// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2353// for more information on using Contexts.
2354func (c *DocDB) DescribeDBInstancesWithContext(ctx aws.Context, input *DescribeDBInstancesInput, opts ...request.Option) (*DescribeDBInstancesOutput, error) {
2355	req, out := c.DescribeDBInstancesRequest(input)
2356	req.SetContext(ctx)
2357	req.ApplyOptions(opts...)
2358	return out, req.Send()
2359}
2360
2361// DescribeDBInstancesPages iterates over the pages of a DescribeDBInstances operation,
2362// calling the "fn" function with the response data for each page. To stop
2363// iterating, return false from the fn function.
2364//
2365// See DescribeDBInstances method for more information on how to use this operation.
2366//
2367// Note: This operation can generate multiple requests to a service.
2368//
2369//    // Example iterating over at most 3 pages of a DescribeDBInstances operation.
2370//    pageNum := 0
2371//    err := client.DescribeDBInstancesPages(params,
2372//        func(page *docdb.DescribeDBInstancesOutput, lastPage bool) bool {
2373//            pageNum++
2374//            fmt.Println(page)
2375//            return pageNum <= 3
2376//        })
2377//
2378func (c *DocDB) DescribeDBInstancesPages(input *DescribeDBInstancesInput, fn func(*DescribeDBInstancesOutput, bool) bool) error {
2379	return c.DescribeDBInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
2380}
2381
2382// DescribeDBInstancesPagesWithContext same as DescribeDBInstancesPages except
2383// it takes a Context and allows setting request options on the pages.
2384//
2385// The context must be non-nil and will be used for request cancellation. If
2386// the context is nil a panic will occur. In the future the SDK may create
2387// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2388// for more information on using Contexts.
2389func (c *DocDB) DescribeDBInstancesPagesWithContext(ctx aws.Context, input *DescribeDBInstancesInput, fn func(*DescribeDBInstancesOutput, bool) bool, opts ...request.Option) error {
2390	p := request.Pagination{
2391		NewRequest: func() (*request.Request, error) {
2392			var inCpy *DescribeDBInstancesInput
2393			if input != nil {
2394				tmp := *input
2395				inCpy = &tmp
2396			}
2397			req, _ := c.DescribeDBInstancesRequest(inCpy)
2398			req.SetContext(ctx)
2399			req.ApplyOptions(opts...)
2400			return req, nil
2401		},
2402	}
2403
2404	for p.Next() {
2405		if !fn(p.Page().(*DescribeDBInstancesOutput), !p.HasNextPage()) {
2406			break
2407		}
2408	}
2409
2410	return p.Err()
2411}
2412
2413const opDescribeDBSubnetGroups = "DescribeDBSubnetGroups"
2414
2415// DescribeDBSubnetGroupsRequest generates a "aws/request.Request" representing the
2416// client's request for the DescribeDBSubnetGroups operation. The "output" return
2417// value will be populated with the request's response once the request completes
2418// successfully.
2419//
2420// Use "Send" method on the returned Request to send the API call to the service.
2421// the "output" return value is not valid until after Send returns without error.
2422//
2423// See DescribeDBSubnetGroups for more information on using the DescribeDBSubnetGroups
2424// API call, and error handling.
2425//
2426// This method is useful when you want to inject custom logic or configuration
2427// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2428//
2429//
2430//    // Example sending a request using the DescribeDBSubnetGroupsRequest method.
2431//    req, resp := client.DescribeDBSubnetGroupsRequest(params)
2432//
2433//    err := req.Send()
2434//    if err == nil { // resp is now filled
2435//        fmt.Println(resp)
2436//    }
2437//
2438// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBSubnetGroups
2439func (c *DocDB) DescribeDBSubnetGroupsRequest(input *DescribeDBSubnetGroupsInput) (req *request.Request, output *DescribeDBSubnetGroupsOutput) {
2440	op := &request.Operation{
2441		Name:       opDescribeDBSubnetGroups,
2442		HTTPMethod: "POST",
2443		HTTPPath:   "/",
2444		Paginator: &request.Paginator{
2445			InputTokens:     []string{"Marker"},
2446			OutputTokens:    []string{"Marker"},
2447			LimitToken:      "MaxRecords",
2448			TruncationToken: "",
2449		},
2450	}
2451
2452	if input == nil {
2453		input = &DescribeDBSubnetGroupsInput{}
2454	}
2455
2456	output = &DescribeDBSubnetGroupsOutput{}
2457	req = c.newRequest(op, input, output)
2458	return
2459}
2460
2461// DescribeDBSubnetGroups API operation for Amazon DocumentDB with MongoDB compatibility.
2462//
2463// Returns a list of DBSubnetGroup descriptions. If a DBSubnetGroupName is specified,
2464// the list will contain only the descriptions of the specified DBSubnetGroup.
2465//
2466// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2467// with awserr.Error's Code and Message methods to get detailed information about
2468// the error.
2469//
2470// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
2471// API operation DescribeDBSubnetGroups for usage and error information.
2472//
2473// Returned Error Codes:
2474//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
2475//   DBSubnetGroupName doesn't refer to an existing subnet group.
2476//
2477// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBSubnetGroups
2478func (c *DocDB) DescribeDBSubnetGroups(input *DescribeDBSubnetGroupsInput) (*DescribeDBSubnetGroupsOutput, error) {
2479	req, out := c.DescribeDBSubnetGroupsRequest(input)
2480	return out, req.Send()
2481}
2482
2483// DescribeDBSubnetGroupsWithContext is the same as DescribeDBSubnetGroups with the addition of
2484// the ability to pass a context and additional request options.
2485//
2486// See DescribeDBSubnetGroups for details on how to use this API operation.
2487//
2488// The context must be non-nil and will be used for request cancellation. If
2489// the context is nil a panic will occur. In the future the SDK may create
2490// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2491// for more information on using Contexts.
2492func (c *DocDB) DescribeDBSubnetGroupsWithContext(ctx aws.Context, input *DescribeDBSubnetGroupsInput, opts ...request.Option) (*DescribeDBSubnetGroupsOutput, error) {
2493	req, out := c.DescribeDBSubnetGroupsRequest(input)
2494	req.SetContext(ctx)
2495	req.ApplyOptions(opts...)
2496	return out, req.Send()
2497}
2498
2499// DescribeDBSubnetGroupsPages iterates over the pages of a DescribeDBSubnetGroups operation,
2500// calling the "fn" function with the response data for each page. To stop
2501// iterating, return false from the fn function.
2502//
2503// See DescribeDBSubnetGroups method for more information on how to use this operation.
2504//
2505// Note: This operation can generate multiple requests to a service.
2506//
2507//    // Example iterating over at most 3 pages of a DescribeDBSubnetGroups operation.
2508//    pageNum := 0
2509//    err := client.DescribeDBSubnetGroupsPages(params,
2510//        func(page *docdb.DescribeDBSubnetGroupsOutput, lastPage bool) bool {
2511//            pageNum++
2512//            fmt.Println(page)
2513//            return pageNum <= 3
2514//        })
2515//
2516func (c *DocDB) DescribeDBSubnetGroupsPages(input *DescribeDBSubnetGroupsInput, fn func(*DescribeDBSubnetGroupsOutput, bool) bool) error {
2517	return c.DescribeDBSubnetGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
2518}
2519
2520// DescribeDBSubnetGroupsPagesWithContext same as DescribeDBSubnetGroupsPages except
2521// it takes a Context and allows setting request options on the pages.
2522//
2523// The context must be non-nil and will be used for request cancellation. If
2524// the context is nil a panic will occur. In the future the SDK may create
2525// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2526// for more information on using Contexts.
2527func (c *DocDB) DescribeDBSubnetGroupsPagesWithContext(ctx aws.Context, input *DescribeDBSubnetGroupsInput, fn func(*DescribeDBSubnetGroupsOutput, bool) bool, opts ...request.Option) error {
2528	p := request.Pagination{
2529		NewRequest: func() (*request.Request, error) {
2530			var inCpy *DescribeDBSubnetGroupsInput
2531			if input != nil {
2532				tmp := *input
2533				inCpy = &tmp
2534			}
2535			req, _ := c.DescribeDBSubnetGroupsRequest(inCpy)
2536			req.SetContext(ctx)
2537			req.ApplyOptions(opts...)
2538			return req, nil
2539		},
2540	}
2541
2542	for p.Next() {
2543		if !fn(p.Page().(*DescribeDBSubnetGroupsOutput), !p.HasNextPage()) {
2544			break
2545		}
2546	}
2547
2548	return p.Err()
2549}
2550
2551const opDescribeEngineDefaultClusterParameters = "DescribeEngineDefaultClusterParameters"
2552
2553// DescribeEngineDefaultClusterParametersRequest generates a "aws/request.Request" representing the
2554// client's request for the DescribeEngineDefaultClusterParameters operation. The "output" return
2555// value will be populated with the request's response once the request completes
2556// successfully.
2557//
2558// Use "Send" method on the returned Request to send the API call to the service.
2559// the "output" return value is not valid until after Send returns without error.
2560//
2561// See DescribeEngineDefaultClusterParameters for more information on using the DescribeEngineDefaultClusterParameters
2562// API call, and error handling.
2563//
2564// This method is useful when you want to inject custom logic or configuration
2565// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2566//
2567//
2568//    // Example sending a request using the DescribeEngineDefaultClusterParametersRequest method.
2569//    req, resp := client.DescribeEngineDefaultClusterParametersRequest(params)
2570//
2571//    err := req.Send()
2572//    if err == nil { // resp is now filled
2573//        fmt.Println(resp)
2574//    }
2575//
2576// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeEngineDefaultClusterParameters
2577func (c *DocDB) DescribeEngineDefaultClusterParametersRequest(input *DescribeEngineDefaultClusterParametersInput) (req *request.Request, output *DescribeEngineDefaultClusterParametersOutput) {
2578	op := &request.Operation{
2579		Name:       opDescribeEngineDefaultClusterParameters,
2580		HTTPMethod: "POST",
2581		HTTPPath:   "/",
2582	}
2583
2584	if input == nil {
2585		input = &DescribeEngineDefaultClusterParametersInput{}
2586	}
2587
2588	output = &DescribeEngineDefaultClusterParametersOutput{}
2589	req = c.newRequest(op, input, output)
2590	return
2591}
2592
2593// DescribeEngineDefaultClusterParameters API operation for Amazon DocumentDB with MongoDB compatibility.
2594//
2595// Returns the default engine and system parameter information for the cluster
2596// database engine.
2597//
2598// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2599// with awserr.Error's Code and Message methods to get detailed information about
2600// the error.
2601//
2602// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
2603// API operation DescribeEngineDefaultClusterParameters for usage and error information.
2604// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeEngineDefaultClusterParameters
2605func (c *DocDB) DescribeEngineDefaultClusterParameters(input *DescribeEngineDefaultClusterParametersInput) (*DescribeEngineDefaultClusterParametersOutput, error) {
2606	req, out := c.DescribeEngineDefaultClusterParametersRequest(input)
2607	return out, req.Send()
2608}
2609
2610// DescribeEngineDefaultClusterParametersWithContext is the same as DescribeEngineDefaultClusterParameters with the addition of
2611// the ability to pass a context and additional request options.
2612//
2613// See DescribeEngineDefaultClusterParameters for details on how to use this API operation.
2614//
2615// The context must be non-nil and will be used for request cancellation. If
2616// the context is nil a panic will occur. In the future the SDK may create
2617// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2618// for more information on using Contexts.
2619func (c *DocDB) DescribeEngineDefaultClusterParametersWithContext(ctx aws.Context, input *DescribeEngineDefaultClusterParametersInput, opts ...request.Option) (*DescribeEngineDefaultClusterParametersOutput, error) {
2620	req, out := c.DescribeEngineDefaultClusterParametersRequest(input)
2621	req.SetContext(ctx)
2622	req.ApplyOptions(opts...)
2623	return out, req.Send()
2624}
2625
2626const opDescribeEventCategories = "DescribeEventCategories"
2627
2628// DescribeEventCategoriesRequest generates a "aws/request.Request" representing the
2629// client's request for the DescribeEventCategories operation. The "output" return
2630// value will be populated with the request's response once the request completes
2631// successfully.
2632//
2633// Use "Send" method on the returned Request to send the API call to the service.
2634// the "output" return value is not valid until after Send returns without error.
2635//
2636// See DescribeEventCategories for more information on using the DescribeEventCategories
2637// API call, and error handling.
2638//
2639// This method is useful when you want to inject custom logic or configuration
2640// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2641//
2642//
2643//    // Example sending a request using the DescribeEventCategoriesRequest method.
2644//    req, resp := client.DescribeEventCategoriesRequest(params)
2645//
2646//    err := req.Send()
2647//    if err == nil { // resp is now filled
2648//        fmt.Println(resp)
2649//    }
2650//
2651// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeEventCategories
2652func (c *DocDB) DescribeEventCategoriesRequest(input *DescribeEventCategoriesInput) (req *request.Request, output *DescribeEventCategoriesOutput) {
2653	op := &request.Operation{
2654		Name:       opDescribeEventCategories,
2655		HTTPMethod: "POST",
2656		HTTPPath:   "/",
2657	}
2658
2659	if input == nil {
2660		input = &DescribeEventCategoriesInput{}
2661	}
2662
2663	output = &DescribeEventCategoriesOutput{}
2664	req = c.newRequest(op, input, output)
2665	return
2666}
2667
2668// DescribeEventCategories API operation for Amazon DocumentDB with MongoDB compatibility.
2669//
2670// Displays a list of categories for all event source types, or, if specified,
2671// for a specified source type.
2672//
2673// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2674// with awserr.Error's Code and Message methods to get detailed information about
2675// the error.
2676//
2677// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
2678// API operation DescribeEventCategories for usage and error information.
2679// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeEventCategories
2680func (c *DocDB) DescribeEventCategories(input *DescribeEventCategoriesInput) (*DescribeEventCategoriesOutput, error) {
2681	req, out := c.DescribeEventCategoriesRequest(input)
2682	return out, req.Send()
2683}
2684
2685// DescribeEventCategoriesWithContext is the same as DescribeEventCategories with the addition of
2686// the ability to pass a context and additional request options.
2687//
2688// See DescribeEventCategories for details on how to use this API operation.
2689//
2690// The context must be non-nil and will be used for request cancellation. If
2691// the context is nil a panic will occur. In the future the SDK may create
2692// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2693// for more information on using Contexts.
2694func (c *DocDB) DescribeEventCategoriesWithContext(ctx aws.Context, input *DescribeEventCategoriesInput, opts ...request.Option) (*DescribeEventCategoriesOutput, error) {
2695	req, out := c.DescribeEventCategoriesRequest(input)
2696	req.SetContext(ctx)
2697	req.ApplyOptions(opts...)
2698	return out, req.Send()
2699}
2700
2701const opDescribeEvents = "DescribeEvents"
2702
2703// DescribeEventsRequest generates a "aws/request.Request" representing the
2704// client's request for the DescribeEvents operation. The "output" return
2705// value will be populated with the request's response once the request completes
2706// successfully.
2707//
2708// Use "Send" method on the returned Request to send the API call to the service.
2709// the "output" return value is not valid until after Send returns without error.
2710//
2711// See DescribeEvents for more information on using the DescribeEvents
2712// API call, and error handling.
2713//
2714// This method is useful when you want to inject custom logic or configuration
2715// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2716//
2717//
2718//    // Example sending a request using the DescribeEventsRequest method.
2719//    req, resp := client.DescribeEventsRequest(params)
2720//
2721//    err := req.Send()
2722//    if err == nil { // resp is now filled
2723//        fmt.Println(resp)
2724//    }
2725//
2726// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeEvents
2727func (c *DocDB) DescribeEventsRequest(input *DescribeEventsInput) (req *request.Request, output *DescribeEventsOutput) {
2728	op := &request.Operation{
2729		Name:       opDescribeEvents,
2730		HTTPMethod: "POST",
2731		HTTPPath:   "/",
2732		Paginator: &request.Paginator{
2733			InputTokens:     []string{"Marker"},
2734			OutputTokens:    []string{"Marker"},
2735			LimitToken:      "MaxRecords",
2736			TruncationToken: "",
2737		},
2738	}
2739
2740	if input == nil {
2741		input = &DescribeEventsInput{}
2742	}
2743
2744	output = &DescribeEventsOutput{}
2745	req = c.newRequest(op, input, output)
2746	return
2747}
2748
2749// DescribeEvents API operation for Amazon DocumentDB with MongoDB compatibility.
2750//
2751// Returns events related to instances, security groups, snapshots, and DB parameter
2752// groups for the past 14 days. You can obtain events specific to a particular
2753// DB instance, security group, snapshot, or parameter group by providing the
2754// name as a parameter. By default, the events of the past hour are returned.
2755//
2756// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2757// with awserr.Error's Code and Message methods to get detailed information about
2758// the error.
2759//
2760// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
2761// API operation DescribeEvents for usage and error information.
2762// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeEvents
2763func (c *DocDB) DescribeEvents(input *DescribeEventsInput) (*DescribeEventsOutput, error) {
2764	req, out := c.DescribeEventsRequest(input)
2765	return out, req.Send()
2766}
2767
2768// DescribeEventsWithContext is the same as DescribeEvents with the addition of
2769// the ability to pass a context and additional request options.
2770//
2771// See DescribeEvents for details on how to use this API operation.
2772//
2773// The context must be non-nil and will be used for request cancellation. If
2774// the context is nil a panic will occur. In the future the SDK may create
2775// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2776// for more information on using Contexts.
2777func (c *DocDB) DescribeEventsWithContext(ctx aws.Context, input *DescribeEventsInput, opts ...request.Option) (*DescribeEventsOutput, error) {
2778	req, out := c.DescribeEventsRequest(input)
2779	req.SetContext(ctx)
2780	req.ApplyOptions(opts...)
2781	return out, req.Send()
2782}
2783
2784// DescribeEventsPages iterates over the pages of a DescribeEvents operation,
2785// calling the "fn" function with the response data for each page. To stop
2786// iterating, return false from the fn function.
2787//
2788// See DescribeEvents method for more information on how to use this operation.
2789//
2790// Note: This operation can generate multiple requests to a service.
2791//
2792//    // Example iterating over at most 3 pages of a DescribeEvents operation.
2793//    pageNum := 0
2794//    err := client.DescribeEventsPages(params,
2795//        func(page *docdb.DescribeEventsOutput, lastPage bool) bool {
2796//            pageNum++
2797//            fmt.Println(page)
2798//            return pageNum <= 3
2799//        })
2800//
2801func (c *DocDB) DescribeEventsPages(input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool) error {
2802	return c.DescribeEventsPagesWithContext(aws.BackgroundContext(), input, fn)
2803}
2804
2805// DescribeEventsPagesWithContext same as DescribeEventsPages except
2806// it takes a Context and allows setting request options on the pages.
2807//
2808// The context must be non-nil and will be used for request cancellation. If
2809// the context is nil a panic will occur. In the future the SDK may create
2810// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2811// for more information on using Contexts.
2812func (c *DocDB) DescribeEventsPagesWithContext(ctx aws.Context, input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool, opts ...request.Option) error {
2813	p := request.Pagination{
2814		NewRequest: func() (*request.Request, error) {
2815			var inCpy *DescribeEventsInput
2816			if input != nil {
2817				tmp := *input
2818				inCpy = &tmp
2819			}
2820			req, _ := c.DescribeEventsRequest(inCpy)
2821			req.SetContext(ctx)
2822			req.ApplyOptions(opts...)
2823			return req, nil
2824		},
2825	}
2826
2827	for p.Next() {
2828		if !fn(p.Page().(*DescribeEventsOutput), !p.HasNextPage()) {
2829			break
2830		}
2831	}
2832
2833	return p.Err()
2834}
2835
2836const opDescribeOrderableDBInstanceOptions = "DescribeOrderableDBInstanceOptions"
2837
2838// DescribeOrderableDBInstanceOptionsRequest generates a "aws/request.Request" representing the
2839// client's request for the DescribeOrderableDBInstanceOptions operation. The "output" return
2840// value will be populated with the request's response once the request completes
2841// successfully.
2842//
2843// Use "Send" method on the returned Request to send the API call to the service.
2844// the "output" return value is not valid until after Send returns without error.
2845//
2846// See DescribeOrderableDBInstanceOptions for more information on using the DescribeOrderableDBInstanceOptions
2847// API call, and error handling.
2848//
2849// This method is useful when you want to inject custom logic or configuration
2850// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2851//
2852//
2853//    // Example sending a request using the DescribeOrderableDBInstanceOptionsRequest method.
2854//    req, resp := client.DescribeOrderableDBInstanceOptionsRequest(params)
2855//
2856//    err := req.Send()
2857//    if err == nil { // resp is now filled
2858//        fmt.Println(resp)
2859//    }
2860//
2861// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeOrderableDBInstanceOptions
2862func (c *DocDB) DescribeOrderableDBInstanceOptionsRequest(input *DescribeOrderableDBInstanceOptionsInput) (req *request.Request, output *DescribeOrderableDBInstanceOptionsOutput) {
2863	op := &request.Operation{
2864		Name:       opDescribeOrderableDBInstanceOptions,
2865		HTTPMethod: "POST",
2866		HTTPPath:   "/",
2867		Paginator: &request.Paginator{
2868			InputTokens:     []string{"Marker"},
2869			OutputTokens:    []string{"Marker"},
2870			LimitToken:      "MaxRecords",
2871			TruncationToken: "",
2872		},
2873	}
2874
2875	if input == nil {
2876		input = &DescribeOrderableDBInstanceOptionsInput{}
2877	}
2878
2879	output = &DescribeOrderableDBInstanceOptionsOutput{}
2880	req = c.newRequest(op, input, output)
2881	return
2882}
2883
2884// DescribeOrderableDBInstanceOptions API operation for Amazon DocumentDB with MongoDB compatibility.
2885//
2886// Returns a list of orderable instance options for the specified engine.
2887//
2888// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2889// with awserr.Error's Code and Message methods to get detailed information about
2890// the error.
2891//
2892// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
2893// API operation DescribeOrderableDBInstanceOptions for usage and error information.
2894// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeOrderableDBInstanceOptions
2895func (c *DocDB) DescribeOrderableDBInstanceOptions(input *DescribeOrderableDBInstanceOptionsInput) (*DescribeOrderableDBInstanceOptionsOutput, error) {
2896	req, out := c.DescribeOrderableDBInstanceOptionsRequest(input)
2897	return out, req.Send()
2898}
2899
2900// DescribeOrderableDBInstanceOptionsWithContext is the same as DescribeOrderableDBInstanceOptions with the addition of
2901// the ability to pass a context and additional request options.
2902//
2903// See DescribeOrderableDBInstanceOptions for details on how to use this API operation.
2904//
2905// The context must be non-nil and will be used for request cancellation. If
2906// the context is nil a panic will occur. In the future the SDK may create
2907// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2908// for more information on using Contexts.
2909func (c *DocDB) DescribeOrderableDBInstanceOptionsWithContext(ctx aws.Context, input *DescribeOrderableDBInstanceOptionsInput, opts ...request.Option) (*DescribeOrderableDBInstanceOptionsOutput, error) {
2910	req, out := c.DescribeOrderableDBInstanceOptionsRequest(input)
2911	req.SetContext(ctx)
2912	req.ApplyOptions(opts...)
2913	return out, req.Send()
2914}
2915
2916// DescribeOrderableDBInstanceOptionsPages iterates over the pages of a DescribeOrderableDBInstanceOptions operation,
2917// calling the "fn" function with the response data for each page. To stop
2918// iterating, return false from the fn function.
2919//
2920// See DescribeOrderableDBInstanceOptions method for more information on how to use this operation.
2921//
2922// Note: This operation can generate multiple requests to a service.
2923//
2924//    // Example iterating over at most 3 pages of a DescribeOrderableDBInstanceOptions operation.
2925//    pageNum := 0
2926//    err := client.DescribeOrderableDBInstanceOptionsPages(params,
2927//        func(page *docdb.DescribeOrderableDBInstanceOptionsOutput, lastPage bool) bool {
2928//            pageNum++
2929//            fmt.Println(page)
2930//            return pageNum <= 3
2931//        })
2932//
2933func (c *DocDB) DescribeOrderableDBInstanceOptionsPages(input *DescribeOrderableDBInstanceOptionsInput, fn func(*DescribeOrderableDBInstanceOptionsOutput, bool) bool) error {
2934	return c.DescribeOrderableDBInstanceOptionsPagesWithContext(aws.BackgroundContext(), input, fn)
2935}
2936
2937// DescribeOrderableDBInstanceOptionsPagesWithContext same as DescribeOrderableDBInstanceOptionsPages except
2938// it takes a Context and allows setting request options on the pages.
2939//
2940// The context must be non-nil and will be used for request cancellation. If
2941// the context is nil a panic will occur. In the future the SDK may create
2942// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2943// for more information on using Contexts.
2944func (c *DocDB) DescribeOrderableDBInstanceOptionsPagesWithContext(ctx aws.Context, input *DescribeOrderableDBInstanceOptionsInput, fn func(*DescribeOrderableDBInstanceOptionsOutput, bool) bool, opts ...request.Option) error {
2945	p := request.Pagination{
2946		NewRequest: func() (*request.Request, error) {
2947			var inCpy *DescribeOrderableDBInstanceOptionsInput
2948			if input != nil {
2949				tmp := *input
2950				inCpy = &tmp
2951			}
2952			req, _ := c.DescribeOrderableDBInstanceOptionsRequest(inCpy)
2953			req.SetContext(ctx)
2954			req.ApplyOptions(opts...)
2955			return req, nil
2956		},
2957	}
2958
2959	for p.Next() {
2960		if !fn(p.Page().(*DescribeOrderableDBInstanceOptionsOutput), !p.HasNextPage()) {
2961			break
2962		}
2963	}
2964
2965	return p.Err()
2966}
2967
2968const opDescribePendingMaintenanceActions = "DescribePendingMaintenanceActions"
2969
2970// DescribePendingMaintenanceActionsRequest generates a "aws/request.Request" representing the
2971// client's request for the DescribePendingMaintenanceActions operation. The "output" return
2972// value will be populated with the request's response once the request completes
2973// successfully.
2974//
2975// Use "Send" method on the returned Request to send the API call to the service.
2976// the "output" return value is not valid until after Send returns without error.
2977//
2978// See DescribePendingMaintenanceActions for more information on using the DescribePendingMaintenanceActions
2979// API call, and error handling.
2980//
2981// This method is useful when you want to inject custom logic or configuration
2982// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2983//
2984//
2985//    // Example sending a request using the DescribePendingMaintenanceActionsRequest method.
2986//    req, resp := client.DescribePendingMaintenanceActionsRequest(params)
2987//
2988//    err := req.Send()
2989//    if err == nil { // resp is now filled
2990//        fmt.Println(resp)
2991//    }
2992//
2993// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribePendingMaintenanceActions
2994func (c *DocDB) DescribePendingMaintenanceActionsRequest(input *DescribePendingMaintenanceActionsInput) (req *request.Request, output *DescribePendingMaintenanceActionsOutput) {
2995	op := &request.Operation{
2996		Name:       opDescribePendingMaintenanceActions,
2997		HTTPMethod: "POST",
2998		HTTPPath:   "/",
2999		Paginator: &request.Paginator{
3000			InputTokens:     []string{"Marker"},
3001			OutputTokens:    []string{"Marker"},
3002			LimitToken:      "MaxRecords",
3003			TruncationToken: "",
3004		},
3005	}
3006
3007	if input == nil {
3008		input = &DescribePendingMaintenanceActionsInput{}
3009	}
3010
3011	output = &DescribePendingMaintenanceActionsOutput{}
3012	req = c.newRequest(op, input, output)
3013	return
3014}
3015
3016// DescribePendingMaintenanceActions API operation for Amazon DocumentDB with MongoDB compatibility.
3017//
3018// Returns a list of resources (for example, instances) that have at least one
3019// pending maintenance action.
3020//
3021// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3022// with awserr.Error's Code and Message methods to get detailed information about
3023// the error.
3024//
3025// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
3026// API operation DescribePendingMaintenanceActions for usage and error information.
3027//
3028// Returned Error Codes:
3029//   * ErrCodeResourceNotFoundFault "ResourceNotFoundFault"
3030//   The specified resource ID was not found.
3031//
3032// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribePendingMaintenanceActions
3033func (c *DocDB) DescribePendingMaintenanceActions(input *DescribePendingMaintenanceActionsInput) (*DescribePendingMaintenanceActionsOutput, error) {
3034	req, out := c.DescribePendingMaintenanceActionsRequest(input)
3035	return out, req.Send()
3036}
3037
3038// DescribePendingMaintenanceActionsWithContext is the same as DescribePendingMaintenanceActions with the addition of
3039// the ability to pass a context and additional request options.
3040//
3041// See DescribePendingMaintenanceActions for details on how to use this API operation.
3042//
3043// The context must be non-nil and will be used for request cancellation. If
3044// the context is nil a panic will occur. In the future the SDK may create
3045// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3046// for more information on using Contexts.
3047func (c *DocDB) DescribePendingMaintenanceActionsWithContext(ctx aws.Context, input *DescribePendingMaintenanceActionsInput, opts ...request.Option) (*DescribePendingMaintenanceActionsOutput, error) {
3048	req, out := c.DescribePendingMaintenanceActionsRequest(input)
3049	req.SetContext(ctx)
3050	req.ApplyOptions(opts...)
3051	return out, req.Send()
3052}
3053
3054// DescribePendingMaintenanceActionsPages iterates over the pages of a DescribePendingMaintenanceActions operation,
3055// calling the "fn" function with the response data for each page. To stop
3056// iterating, return false from the fn function.
3057//
3058// See DescribePendingMaintenanceActions method for more information on how to use this operation.
3059//
3060// Note: This operation can generate multiple requests to a service.
3061//
3062//    // Example iterating over at most 3 pages of a DescribePendingMaintenanceActions operation.
3063//    pageNum := 0
3064//    err := client.DescribePendingMaintenanceActionsPages(params,
3065//        func(page *docdb.DescribePendingMaintenanceActionsOutput, lastPage bool) bool {
3066//            pageNum++
3067//            fmt.Println(page)
3068//            return pageNum <= 3
3069//        })
3070//
3071func (c *DocDB) DescribePendingMaintenanceActionsPages(input *DescribePendingMaintenanceActionsInput, fn func(*DescribePendingMaintenanceActionsOutput, bool) bool) error {
3072	return c.DescribePendingMaintenanceActionsPagesWithContext(aws.BackgroundContext(), input, fn)
3073}
3074
3075// DescribePendingMaintenanceActionsPagesWithContext same as DescribePendingMaintenanceActionsPages except
3076// it takes a Context and allows setting request options on the pages.
3077//
3078// The context must be non-nil and will be used for request cancellation. If
3079// the context is nil a panic will occur. In the future the SDK may create
3080// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3081// for more information on using Contexts.
3082func (c *DocDB) DescribePendingMaintenanceActionsPagesWithContext(ctx aws.Context, input *DescribePendingMaintenanceActionsInput, fn func(*DescribePendingMaintenanceActionsOutput, bool) bool, opts ...request.Option) error {
3083	p := request.Pagination{
3084		NewRequest: func() (*request.Request, error) {
3085			var inCpy *DescribePendingMaintenanceActionsInput
3086			if input != nil {
3087				tmp := *input
3088				inCpy = &tmp
3089			}
3090			req, _ := c.DescribePendingMaintenanceActionsRequest(inCpy)
3091			req.SetContext(ctx)
3092			req.ApplyOptions(opts...)
3093			return req, nil
3094		},
3095	}
3096
3097	for p.Next() {
3098		if !fn(p.Page().(*DescribePendingMaintenanceActionsOutput), !p.HasNextPage()) {
3099			break
3100		}
3101	}
3102
3103	return p.Err()
3104}
3105
3106const opFailoverDBCluster = "FailoverDBCluster"
3107
3108// FailoverDBClusterRequest generates a "aws/request.Request" representing the
3109// client's request for the FailoverDBCluster operation. The "output" return
3110// value will be populated with the request's response once the request completes
3111// successfully.
3112//
3113// Use "Send" method on the returned Request to send the API call to the service.
3114// the "output" return value is not valid until after Send returns without error.
3115//
3116// See FailoverDBCluster for more information on using the FailoverDBCluster
3117// API call, and error handling.
3118//
3119// This method is useful when you want to inject custom logic or configuration
3120// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3121//
3122//
3123//    // Example sending a request using the FailoverDBClusterRequest method.
3124//    req, resp := client.FailoverDBClusterRequest(params)
3125//
3126//    err := req.Send()
3127//    if err == nil { // resp is now filled
3128//        fmt.Println(resp)
3129//    }
3130//
3131// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/FailoverDBCluster
3132func (c *DocDB) FailoverDBClusterRequest(input *FailoverDBClusterInput) (req *request.Request, output *FailoverDBClusterOutput) {
3133	op := &request.Operation{
3134		Name:       opFailoverDBCluster,
3135		HTTPMethod: "POST",
3136		HTTPPath:   "/",
3137	}
3138
3139	if input == nil {
3140		input = &FailoverDBClusterInput{}
3141	}
3142
3143	output = &FailoverDBClusterOutput{}
3144	req = c.newRequest(op, input, output)
3145	return
3146}
3147
3148// FailoverDBCluster API operation for Amazon DocumentDB with MongoDB compatibility.
3149//
3150// Forces a failover for a cluster.
3151//
3152// A failover for a cluster promotes one of the Amazon DocumentDB replicas (read-only
3153// instances) in the cluster to be the primary instance (the cluster writer).
3154//
3155// If the primary instance fails, Amazon DocumentDB automatically fails over
3156// to an Amazon DocumentDB replica, if one exists. You can force a failover
3157// when you want to simulate a failure of a primary instance for testing.
3158//
3159// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3160// with awserr.Error's Code and Message methods to get detailed information about
3161// the error.
3162//
3163// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
3164// API operation FailoverDBCluster for usage and error information.
3165//
3166// Returned Error Codes:
3167//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
3168//   DBClusterIdentifier doesn't refer to an existing cluster.
3169//
3170//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
3171//   The cluster isn't in a valid state.
3172//
3173//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
3174//   The specified instance isn't in the available state.
3175//
3176// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/FailoverDBCluster
3177func (c *DocDB) FailoverDBCluster(input *FailoverDBClusterInput) (*FailoverDBClusterOutput, error) {
3178	req, out := c.FailoverDBClusterRequest(input)
3179	return out, req.Send()
3180}
3181
3182// FailoverDBClusterWithContext is the same as FailoverDBCluster with the addition of
3183// the ability to pass a context and additional request options.
3184//
3185// See FailoverDBCluster for details on how to use this API operation.
3186//
3187// The context must be non-nil and will be used for request cancellation. If
3188// the context is nil a panic will occur. In the future the SDK may create
3189// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3190// for more information on using Contexts.
3191func (c *DocDB) FailoverDBClusterWithContext(ctx aws.Context, input *FailoverDBClusterInput, opts ...request.Option) (*FailoverDBClusterOutput, error) {
3192	req, out := c.FailoverDBClusterRequest(input)
3193	req.SetContext(ctx)
3194	req.ApplyOptions(opts...)
3195	return out, req.Send()
3196}
3197
3198const opListTagsForResource = "ListTagsForResource"
3199
3200// ListTagsForResourceRequest generates a "aws/request.Request" representing the
3201// client's request for the ListTagsForResource operation. The "output" return
3202// value will be populated with the request's response once the request completes
3203// successfully.
3204//
3205// Use "Send" method on the returned Request to send the API call to the service.
3206// the "output" return value is not valid until after Send returns without error.
3207//
3208// See ListTagsForResource for more information on using the ListTagsForResource
3209// API call, and error handling.
3210//
3211// This method is useful when you want to inject custom logic or configuration
3212// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3213//
3214//
3215//    // Example sending a request using the ListTagsForResourceRequest method.
3216//    req, resp := client.ListTagsForResourceRequest(params)
3217//
3218//    err := req.Send()
3219//    if err == nil { // resp is now filled
3220//        fmt.Println(resp)
3221//    }
3222//
3223// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ListTagsForResource
3224func (c *DocDB) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
3225	op := &request.Operation{
3226		Name:       opListTagsForResource,
3227		HTTPMethod: "POST",
3228		HTTPPath:   "/",
3229	}
3230
3231	if input == nil {
3232		input = &ListTagsForResourceInput{}
3233	}
3234
3235	output = &ListTagsForResourceOutput{}
3236	req = c.newRequest(op, input, output)
3237	return
3238}
3239
3240// ListTagsForResource API operation for Amazon DocumentDB with MongoDB compatibility.
3241//
3242// Lists all tags on an Amazon DocumentDB resource.
3243//
3244// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3245// with awserr.Error's Code and Message methods to get detailed information about
3246// the error.
3247//
3248// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
3249// API operation ListTagsForResource for usage and error information.
3250//
3251// Returned Error Codes:
3252//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
3253//   DBInstanceIdentifier doesn't refer to an existing instance.
3254//
3255//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
3256//   DBSnapshotIdentifier doesn't refer to an existing snapshot.
3257//
3258//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
3259//   DBClusterIdentifier doesn't refer to an existing cluster.
3260//
3261// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ListTagsForResource
3262func (c *DocDB) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
3263	req, out := c.ListTagsForResourceRequest(input)
3264	return out, req.Send()
3265}
3266
3267// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
3268// the ability to pass a context and additional request options.
3269//
3270// See ListTagsForResource for details on how to use this API operation.
3271//
3272// The context must be non-nil and will be used for request cancellation. If
3273// the context is nil a panic will occur. In the future the SDK may create
3274// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3275// for more information on using Contexts.
3276func (c *DocDB) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
3277	req, out := c.ListTagsForResourceRequest(input)
3278	req.SetContext(ctx)
3279	req.ApplyOptions(opts...)
3280	return out, req.Send()
3281}
3282
3283const opModifyDBCluster = "ModifyDBCluster"
3284
3285// ModifyDBClusterRequest generates a "aws/request.Request" representing the
3286// client's request for the ModifyDBCluster operation. The "output" return
3287// value will be populated with the request's response once the request completes
3288// successfully.
3289//
3290// Use "Send" method on the returned Request to send the API call to the service.
3291// the "output" return value is not valid until after Send returns without error.
3292//
3293// See ModifyDBCluster for more information on using the ModifyDBCluster
3294// API call, and error handling.
3295//
3296// This method is useful when you want to inject custom logic or configuration
3297// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3298//
3299//
3300//    // Example sending a request using the ModifyDBClusterRequest method.
3301//    req, resp := client.ModifyDBClusterRequest(params)
3302//
3303//    err := req.Send()
3304//    if err == nil { // resp is now filled
3305//        fmt.Println(resp)
3306//    }
3307//
3308// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBCluster
3309func (c *DocDB) ModifyDBClusterRequest(input *ModifyDBClusterInput) (req *request.Request, output *ModifyDBClusterOutput) {
3310	op := &request.Operation{
3311		Name:       opModifyDBCluster,
3312		HTTPMethod: "POST",
3313		HTTPPath:   "/",
3314	}
3315
3316	if input == nil {
3317		input = &ModifyDBClusterInput{}
3318	}
3319
3320	output = &ModifyDBClusterOutput{}
3321	req = c.newRequest(op, input, output)
3322	return
3323}
3324
3325// ModifyDBCluster API operation for Amazon DocumentDB with MongoDB compatibility.
3326//
3327// Modifies a setting for an Amazon DocumentDB cluster. You can change one or
3328// more database configuration parameters by specifying these parameters and
3329// the new values in the request.
3330//
3331// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3332// with awserr.Error's Code and Message methods to get detailed information about
3333// the error.
3334//
3335// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
3336// API operation ModifyDBCluster for usage and error information.
3337//
3338// Returned Error Codes:
3339//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
3340//   DBClusterIdentifier doesn't refer to an existing cluster.
3341//
3342//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
3343//   The cluster isn't in a valid state.
3344//
3345//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
3346//   The request would cause you to exceed the allowed amount of storage available
3347//   across all instances.
3348//
3349//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
3350//   DBSubnetGroupName doesn't refer to an existing subnet group.
3351//
3352//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
3353//   The subnet group doesn't cover all Availability Zones after it is created
3354//   because of changes that were made.
3355//
3356//   * ErrCodeInvalidDBSubnetGroupStateFault "InvalidDBSubnetGroupStateFault"
3357//   The subnet group can't be deleted because it's in use.
3358//
3359//   * ErrCodeInvalidSubnet "InvalidSubnet"
3360//   The requested subnet is not valid, or multiple subnets were requested that
3361//   are not all in a common virtual private cloud (VPC).
3362//
3363//   * ErrCodeDBClusterParameterGroupNotFoundFault "DBClusterParameterGroupNotFound"
3364//   DBClusterParameterGroupName doesn't refer to an existing cluster parameter
3365//   group.
3366//
3367//   * ErrCodeInvalidDBSecurityGroupStateFault "InvalidDBSecurityGroupState"
3368//   The state of the security group doesn't allow deletion.
3369//
3370//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
3371//   The specified instance isn't in the available state.
3372//
3373//   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
3374//   You already have a cluster with the given identifier.
3375//
3376// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBCluster
3377func (c *DocDB) ModifyDBCluster(input *ModifyDBClusterInput) (*ModifyDBClusterOutput, error) {
3378	req, out := c.ModifyDBClusterRequest(input)
3379	return out, req.Send()
3380}
3381
3382// ModifyDBClusterWithContext is the same as ModifyDBCluster with the addition of
3383// the ability to pass a context and additional request options.
3384//
3385// See ModifyDBCluster for details on how to use this API operation.
3386//
3387// The context must be non-nil and will be used for request cancellation. If
3388// the context is nil a panic will occur. In the future the SDK may create
3389// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3390// for more information on using Contexts.
3391func (c *DocDB) ModifyDBClusterWithContext(ctx aws.Context, input *ModifyDBClusterInput, opts ...request.Option) (*ModifyDBClusterOutput, error) {
3392	req, out := c.ModifyDBClusterRequest(input)
3393	req.SetContext(ctx)
3394	req.ApplyOptions(opts...)
3395	return out, req.Send()
3396}
3397
3398const opModifyDBClusterParameterGroup = "ModifyDBClusterParameterGroup"
3399
3400// ModifyDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
3401// client's request for the ModifyDBClusterParameterGroup operation. The "output" return
3402// value will be populated with the request's response once the request completes
3403// successfully.
3404//
3405// Use "Send" method on the returned Request to send the API call to the service.
3406// the "output" return value is not valid until after Send returns without error.
3407//
3408// See ModifyDBClusterParameterGroup for more information on using the ModifyDBClusterParameterGroup
3409// API call, and error handling.
3410//
3411// This method is useful when you want to inject custom logic or configuration
3412// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3413//
3414//
3415//    // Example sending a request using the ModifyDBClusterParameterGroupRequest method.
3416//    req, resp := client.ModifyDBClusterParameterGroupRequest(params)
3417//
3418//    err := req.Send()
3419//    if err == nil { // resp is now filled
3420//        fmt.Println(resp)
3421//    }
3422//
3423// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBClusterParameterGroup
3424func (c *DocDB) ModifyDBClusterParameterGroupRequest(input *ModifyDBClusterParameterGroupInput) (req *request.Request, output *ModifyDBClusterParameterGroupOutput) {
3425	op := &request.Operation{
3426		Name:       opModifyDBClusterParameterGroup,
3427		HTTPMethod: "POST",
3428		HTTPPath:   "/",
3429	}
3430
3431	if input == nil {
3432		input = &ModifyDBClusterParameterGroupInput{}
3433	}
3434
3435	output = &ModifyDBClusterParameterGroupOutput{}
3436	req = c.newRequest(op, input, output)
3437	return
3438}
3439
3440// ModifyDBClusterParameterGroup API operation for Amazon DocumentDB with MongoDB compatibility.
3441//
3442// Modifies the parameters of a cluster parameter group. To modify more than
3443// one parameter, submit a list of the following: ParameterName, ParameterValue,
3444// and ApplyMethod. A maximum of 20 parameters can be modified in a single request.
3445//
3446// Changes to dynamic parameters are applied immediately. Changes to static
3447// parameters require a reboot or maintenance window before the change can take
3448// effect.
3449//
3450// After you create a cluster parameter group, you should wait at least 5 minutes
3451// before creating your first cluster that uses that cluster parameter group
3452// as the default parameter group. This allows Amazon DocumentDB to fully complete
3453// the create action before the parameter group is used as the default for a
3454// new cluster. This step is especially important for parameters that are critical
3455// when creating the default database for a cluster, such as the character set
3456// for the default database defined by the character_set_database parameter.
3457//
3458// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3459// with awserr.Error's Code and Message methods to get detailed information about
3460// the error.
3461//
3462// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
3463// API operation ModifyDBClusterParameterGroup for usage and error information.
3464//
3465// Returned Error Codes:
3466//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
3467//   DBParameterGroupName doesn't refer to an existing parameter group.
3468//
3469//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
3470//   The parameter group is in use, or it is in a state that is not valid. If
3471//   you are trying to delete the parameter group, you can't delete it when the
3472//   parameter group is in this state.
3473//
3474// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBClusterParameterGroup
3475func (c *DocDB) ModifyDBClusterParameterGroup(input *ModifyDBClusterParameterGroupInput) (*ModifyDBClusterParameterGroupOutput, error) {
3476	req, out := c.ModifyDBClusterParameterGroupRequest(input)
3477	return out, req.Send()
3478}
3479
3480// ModifyDBClusterParameterGroupWithContext is the same as ModifyDBClusterParameterGroup with the addition of
3481// the ability to pass a context and additional request options.
3482//
3483// See ModifyDBClusterParameterGroup for details on how to use this API operation.
3484//
3485// The context must be non-nil and will be used for request cancellation. If
3486// the context is nil a panic will occur. In the future the SDK may create
3487// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3488// for more information on using Contexts.
3489func (c *DocDB) ModifyDBClusterParameterGroupWithContext(ctx aws.Context, input *ModifyDBClusterParameterGroupInput, opts ...request.Option) (*ModifyDBClusterParameterGroupOutput, error) {
3490	req, out := c.ModifyDBClusterParameterGroupRequest(input)
3491	req.SetContext(ctx)
3492	req.ApplyOptions(opts...)
3493	return out, req.Send()
3494}
3495
3496const opModifyDBClusterSnapshotAttribute = "ModifyDBClusterSnapshotAttribute"
3497
3498// ModifyDBClusterSnapshotAttributeRequest generates a "aws/request.Request" representing the
3499// client's request for the ModifyDBClusterSnapshotAttribute operation. The "output" return
3500// value will be populated with the request's response once the request completes
3501// successfully.
3502//
3503// Use "Send" method on the returned Request to send the API call to the service.
3504// the "output" return value is not valid until after Send returns without error.
3505//
3506// See ModifyDBClusterSnapshotAttribute for more information on using the ModifyDBClusterSnapshotAttribute
3507// API call, and error handling.
3508//
3509// This method is useful when you want to inject custom logic or configuration
3510// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3511//
3512//
3513//    // Example sending a request using the ModifyDBClusterSnapshotAttributeRequest method.
3514//    req, resp := client.ModifyDBClusterSnapshotAttributeRequest(params)
3515//
3516//    err := req.Send()
3517//    if err == nil { // resp is now filled
3518//        fmt.Println(resp)
3519//    }
3520//
3521// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBClusterSnapshotAttribute
3522func (c *DocDB) ModifyDBClusterSnapshotAttributeRequest(input *ModifyDBClusterSnapshotAttributeInput) (req *request.Request, output *ModifyDBClusterSnapshotAttributeOutput) {
3523	op := &request.Operation{
3524		Name:       opModifyDBClusterSnapshotAttribute,
3525		HTTPMethod: "POST",
3526		HTTPPath:   "/",
3527	}
3528
3529	if input == nil {
3530		input = &ModifyDBClusterSnapshotAttributeInput{}
3531	}
3532
3533	output = &ModifyDBClusterSnapshotAttributeOutput{}
3534	req = c.newRequest(op, input, output)
3535	return
3536}
3537
3538// ModifyDBClusterSnapshotAttribute API operation for Amazon DocumentDB with MongoDB compatibility.
3539//
3540// Adds an attribute and values to, or removes an attribute and values from,
3541// a manual DB cluster snapshot.
3542//
3543// To share a manual cluster snapshot with other AWS accounts, specify restore
3544// as the AttributeName, and use the ValuesToAdd parameter to add a list of
3545// IDs of the AWS accounts that are authorized to restore the manual cluster
3546// snapshot. Use the value all to make the manual cluster snapshot public, which
3547// means that it can be copied or restored by all AWS accounts. Do not add the
3548// all value for any manual DB cluster snapshots that contain private information
3549// that you don't want available to all AWS accounts. If a manual cluster snapshot
3550// is encrypted, it can be shared, but only by specifying a list of authorized
3551// AWS account IDs for the ValuesToAdd parameter. You can't use all as a value
3552// for that parameter in this case.
3553//
3554// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3555// with awserr.Error's Code and Message methods to get detailed information about
3556// the error.
3557//
3558// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
3559// API operation ModifyDBClusterSnapshotAttribute for usage and error information.
3560//
3561// Returned Error Codes:
3562//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
3563//   DBClusterSnapshotIdentifier doesn't refer to an existing cluster snapshot.
3564//
3565//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
3566//   The provided value isn't a valid cluster snapshot state.
3567//
3568//   * ErrCodeSharedSnapshotQuotaExceededFault "SharedSnapshotQuotaExceeded"
3569//   You have exceeded the maximum number of accounts that you can share a manual
3570//   DB snapshot with.
3571//
3572// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBClusterSnapshotAttribute
3573func (c *DocDB) ModifyDBClusterSnapshotAttribute(input *ModifyDBClusterSnapshotAttributeInput) (*ModifyDBClusterSnapshotAttributeOutput, error) {
3574	req, out := c.ModifyDBClusterSnapshotAttributeRequest(input)
3575	return out, req.Send()
3576}
3577
3578// ModifyDBClusterSnapshotAttributeWithContext is the same as ModifyDBClusterSnapshotAttribute with the addition of
3579// the ability to pass a context and additional request options.
3580//
3581// See ModifyDBClusterSnapshotAttribute for details on how to use this API operation.
3582//
3583// The context must be non-nil and will be used for request cancellation. If
3584// the context is nil a panic will occur. In the future the SDK may create
3585// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3586// for more information on using Contexts.
3587func (c *DocDB) ModifyDBClusterSnapshotAttributeWithContext(ctx aws.Context, input *ModifyDBClusterSnapshotAttributeInput, opts ...request.Option) (*ModifyDBClusterSnapshotAttributeOutput, error) {
3588	req, out := c.ModifyDBClusterSnapshotAttributeRequest(input)
3589	req.SetContext(ctx)
3590	req.ApplyOptions(opts...)
3591	return out, req.Send()
3592}
3593
3594const opModifyDBInstance = "ModifyDBInstance"
3595
3596// ModifyDBInstanceRequest generates a "aws/request.Request" representing the
3597// client's request for the ModifyDBInstance operation. The "output" return
3598// value will be populated with the request's response once the request completes
3599// successfully.
3600//
3601// Use "Send" method on the returned Request to send the API call to the service.
3602// the "output" return value is not valid until after Send returns without error.
3603//
3604// See ModifyDBInstance for more information on using the ModifyDBInstance
3605// API call, and error handling.
3606//
3607// This method is useful when you want to inject custom logic or configuration
3608// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3609//
3610//
3611//    // Example sending a request using the ModifyDBInstanceRequest method.
3612//    req, resp := client.ModifyDBInstanceRequest(params)
3613//
3614//    err := req.Send()
3615//    if err == nil { // resp is now filled
3616//        fmt.Println(resp)
3617//    }
3618//
3619// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBInstance
3620func (c *DocDB) ModifyDBInstanceRequest(input *ModifyDBInstanceInput) (req *request.Request, output *ModifyDBInstanceOutput) {
3621	op := &request.Operation{
3622		Name:       opModifyDBInstance,
3623		HTTPMethod: "POST",
3624		HTTPPath:   "/",
3625	}
3626
3627	if input == nil {
3628		input = &ModifyDBInstanceInput{}
3629	}
3630
3631	output = &ModifyDBInstanceOutput{}
3632	req = c.newRequest(op, input, output)
3633	return
3634}
3635
3636// ModifyDBInstance API operation for Amazon DocumentDB with MongoDB compatibility.
3637//
3638// Modifies settings for an instance. You can change one or more database configuration
3639// parameters by specifying these parameters and the new values in the request.
3640//
3641// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3642// with awserr.Error's Code and Message methods to get detailed information about
3643// the error.
3644//
3645// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
3646// API operation ModifyDBInstance for usage and error information.
3647//
3648// Returned Error Codes:
3649//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
3650//   The specified instance isn't in the available state.
3651//
3652//   * ErrCodeInvalidDBSecurityGroupStateFault "InvalidDBSecurityGroupState"
3653//   The state of the security group doesn't allow deletion.
3654//
3655//   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
3656//   You already have a instance with the given identifier.
3657//
3658//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
3659//   DBInstanceIdentifier doesn't refer to an existing instance.
3660//
3661//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
3662//   DBSecurityGroupName doesn't refer to an existing security group.
3663//
3664//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
3665//   DBParameterGroupName doesn't refer to an existing parameter group.
3666//
3667//   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
3668//   The specified instance class isn't available in the specified Availability
3669//   Zone.
3670//
3671//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
3672//   The request would cause you to exceed the allowed amount of storage available
3673//   across all instances.
3674//
3675//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
3676//   The subnet group doesn't cover all Availability Zones after it is created
3677//   because of changes that were made.
3678//
3679//   * ErrCodeDBUpgradeDependencyFailureFault "DBUpgradeDependencyFailure"
3680//   The upgrade failed because a resource that the depends on can't be modified.
3681//
3682//   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
3683//   Storage of the specified StorageType can't be associated with the DB instance.
3684//
3685//   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
3686//   The specified CIDR IP or Amazon EC2 security group isn't authorized for the
3687//   specified security group.
3688//
3689//   Amazon DocumentDB also might not be authorized to perform necessary actions
3690//   on your behalf using IAM.
3691//
3692//   * ErrCodeCertificateNotFoundFault "CertificateNotFound"
3693//   CertificateIdentifier doesn't refer to an existing certificate.
3694//
3695// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBInstance
3696func (c *DocDB) ModifyDBInstance(input *ModifyDBInstanceInput) (*ModifyDBInstanceOutput, error) {
3697	req, out := c.ModifyDBInstanceRequest(input)
3698	return out, req.Send()
3699}
3700
3701// ModifyDBInstanceWithContext is the same as ModifyDBInstance with the addition of
3702// the ability to pass a context and additional request options.
3703//
3704// See ModifyDBInstance for details on how to use this API operation.
3705//
3706// The context must be non-nil and will be used for request cancellation. If
3707// the context is nil a panic will occur. In the future the SDK may create
3708// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3709// for more information on using Contexts.
3710func (c *DocDB) ModifyDBInstanceWithContext(ctx aws.Context, input *ModifyDBInstanceInput, opts ...request.Option) (*ModifyDBInstanceOutput, error) {
3711	req, out := c.ModifyDBInstanceRequest(input)
3712	req.SetContext(ctx)
3713	req.ApplyOptions(opts...)
3714	return out, req.Send()
3715}
3716
3717const opModifyDBSubnetGroup = "ModifyDBSubnetGroup"
3718
3719// ModifyDBSubnetGroupRequest generates a "aws/request.Request" representing the
3720// client's request for the ModifyDBSubnetGroup operation. The "output" return
3721// value will be populated with the request's response once the request completes
3722// successfully.
3723//
3724// Use "Send" method on the returned Request to send the API call to the service.
3725// the "output" return value is not valid until after Send returns without error.
3726//
3727// See ModifyDBSubnetGroup for more information on using the ModifyDBSubnetGroup
3728// API call, and error handling.
3729//
3730// This method is useful when you want to inject custom logic or configuration
3731// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3732//
3733//
3734//    // Example sending a request using the ModifyDBSubnetGroupRequest method.
3735//    req, resp := client.ModifyDBSubnetGroupRequest(params)
3736//
3737//    err := req.Send()
3738//    if err == nil { // resp is now filled
3739//        fmt.Println(resp)
3740//    }
3741//
3742// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBSubnetGroup
3743func (c *DocDB) ModifyDBSubnetGroupRequest(input *ModifyDBSubnetGroupInput) (req *request.Request, output *ModifyDBSubnetGroupOutput) {
3744	op := &request.Operation{
3745		Name:       opModifyDBSubnetGroup,
3746		HTTPMethod: "POST",
3747		HTTPPath:   "/",
3748	}
3749
3750	if input == nil {
3751		input = &ModifyDBSubnetGroupInput{}
3752	}
3753
3754	output = &ModifyDBSubnetGroupOutput{}
3755	req = c.newRequest(op, input, output)
3756	return
3757}
3758
3759// ModifyDBSubnetGroup API operation for Amazon DocumentDB with MongoDB compatibility.
3760//
3761// Modifies an existing subnet group. subnet groups must contain at least one
3762// subnet in at least two Availability Zones in the AWS Region.
3763//
3764// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3765// with awserr.Error's Code and Message methods to get detailed information about
3766// the error.
3767//
3768// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
3769// API operation ModifyDBSubnetGroup for usage and error information.
3770//
3771// Returned Error Codes:
3772//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
3773//   DBSubnetGroupName doesn't refer to an existing subnet group.
3774//
3775//   * ErrCodeDBSubnetQuotaExceededFault "DBSubnetQuotaExceededFault"
3776//   The request would cause you to exceed the allowed number of subnets in a
3777//   subnet group.
3778//
3779//   * ErrCodeSubnetAlreadyInUse "SubnetAlreadyInUse"
3780//   The subnet is already in use in the Availability Zone.
3781//
3782//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
3783//   Subnets in the subnet group should cover at least two Availability Zones
3784//   unless there is only one Availability Zone.
3785//
3786//   * ErrCodeInvalidSubnet "InvalidSubnet"
3787//   The requested subnet is not valid, or multiple subnets were requested that
3788//   are not all in a common virtual private cloud (VPC).
3789//
3790// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBSubnetGroup
3791func (c *DocDB) ModifyDBSubnetGroup(input *ModifyDBSubnetGroupInput) (*ModifyDBSubnetGroupOutput, error) {
3792	req, out := c.ModifyDBSubnetGroupRequest(input)
3793	return out, req.Send()
3794}
3795
3796// ModifyDBSubnetGroupWithContext is the same as ModifyDBSubnetGroup with the addition of
3797// the ability to pass a context and additional request options.
3798//
3799// See ModifyDBSubnetGroup for details on how to use this API operation.
3800//
3801// The context must be non-nil and will be used for request cancellation. If
3802// the context is nil a panic will occur. In the future the SDK may create
3803// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3804// for more information on using Contexts.
3805func (c *DocDB) ModifyDBSubnetGroupWithContext(ctx aws.Context, input *ModifyDBSubnetGroupInput, opts ...request.Option) (*ModifyDBSubnetGroupOutput, error) {
3806	req, out := c.ModifyDBSubnetGroupRequest(input)
3807	req.SetContext(ctx)
3808	req.ApplyOptions(opts...)
3809	return out, req.Send()
3810}
3811
3812const opRebootDBInstance = "RebootDBInstance"
3813
3814// RebootDBInstanceRequest generates a "aws/request.Request" representing the
3815// client's request for the RebootDBInstance operation. The "output" return
3816// value will be populated with the request's response once the request completes
3817// successfully.
3818//
3819// Use "Send" method on the returned Request to send the API call to the service.
3820// the "output" return value is not valid until after Send returns without error.
3821//
3822// See RebootDBInstance for more information on using the RebootDBInstance
3823// API call, and error handling.
3824//
3825// This method is useful when you want to inject custom logic or configuration
3826// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3827//
3828//
3829//    // Example sending a request using the RebootDBInstanceRequest method.
3830//    req, resp := client.RebootDBInstanceRequest(params)
3831//
3832//    err := req.Send()
3833//    if err == nil { // resp is now filled
3834//        fmt.Println(resp)
3835//    }
3836//
3837// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/RebootDBInstance
3838func (c *DocDB) RebootDBInstanceRequest(input *RebootDBInstanceInput) (req *request.Request, output *RebootDBInstanceOutput) {
3839	op := &request.Operation{
3840		Name:       opRebootDBInstance,
3841		HTTPMethod: "POST",
3842		HTTPPath:   "/",
3843	}
3844
3845	if input == nil {
3846		input = &RebootDBInstanceInput{}
3847	}
3848
3849	output = &RebootDBInstanceOutput{}
3850	req = c.newRequest(op, input, output)
3851	return
3852}
3853
3854// RebootDBInstance API operation for Amazon DocumentDB with MongoDB compatibility.
3855//
3856// You might need to reboot your instance, usually for maintenance reasons.
3857// For example, if you make certain changes, or if you change the cluster parameter
3858// group that is associated with the instance, you must reboot the instance
3859// for the changes to take effect.
3860//
3861// Rebooting an instance restarts the database engine service. Rebooting an
3862// instance results in a momentary outage, during which the instance status
3863// is set to rebooting.
3864//
3865// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3866// with awserr.Error's Code and Message methods to get detailed information about
3867// the error.
3868//
3869// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
3870// API operation RebootDBInstance for usage and error information.
3871//
3872// Returned Error Codes:
3873//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
3874//   The specified instance isn't in the available state.
3875//
3876//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
3877//   DBInstanceIdentifier doesn't refer to an existing instance.
3878//
3879// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/RebootDBInstance
3880func (c *DocDB) RebootDBInstance(input *RebootDBInstanceInput) (*RebootDBInstanceOutput, error) {
3881	req, out := c.RebootDBInstanceRequest(input)
3882	return out, req.Send()
3883}
3884
3885// RebootDBInstanceWithContext is the same as RebootDBInstance with the addition of
3886// the ability to pass a context and additional request options.
3887//
3888// See RebootDBInstance for details on how to use this API operation.
3889//
3890// The context must be non-nil and will be used for request cancellation. If
3891// the context is nil a panic will occur. In the future the SDK may create
3892// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3893// for more information on using Contexts.
3894func (c *DocDB) RebootDBInstanceWithContext(ctx aws.Context, input *RebootDBInstanceInput, opts ...request.Option) (*RebootDBInstanceOutput, error) {
3895	req, out := c.RebootDBInstanceRequest(input)
3896	req.SetContext(ctx)
3897	req.ApplyOptions(opts...)
3898	return out, req.Send()
3899}
3900
3901const opRemoveTagsFromResource = "RemoveTagsFromResource"
3902
3903// RemoveTagsFromResourceRequest generates a "aws/request.Request" representing the
3904// client's request for the RemoveTagsFromResource operation. The "output" return
3905// value will be populated with the request's response once the request completes
3906// successfully.
3907//
3908// Use "Send" method on the returned Request to send the API call to the service.
3909// the "output" return value is not valid until after Send returns without error.
3910//
3911// See RemoveTagsFromResource for more information on using the RemoveTagsFromResource
3912// API call, and error handling.
3913//
3914// This method is useful when you want to inject custom logic or configuration
3915// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3916//
3917//
3918//    // Example sending a request using the RemoveTagsFromResourceRequest method.
3919//    req, resp := client.RemoveTagsFromResourceRequest(params)
3920//
3921//    err := req.Send()
3922//    if err == nil { // resp is now filled
3923//        fmt.Println(resp)
3924//    }
3925//
3926// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/RemoveTagsFromResource
3927func (c *DocDB) RemoveTagsFromResourceRequest(input *RemoveTagsFromResourceInput) (req *request.Request, output *RemoveTagsFromResourceOutput) {
3928	op := &request.Operation{
3929		Name:       opRemoveTagsFromResource,
3930		HTTPMethod: "POST",
3931		HTTPPath:   "/",
3932	}
3933
3934	if input == nil {
3935		input = &RemoveTagsFromResourceInput{}
3936	}
3937
3938	output = &RemoveTagsFromResourceOutput{}
3939	req = c.newRequest(op, input, output)
3940	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3941	return
3942}
3943
3944// RemoveTagsFromResource API operation for Amazon DocumentDB with MongoDB compatibility.
3945//
3946// Removes metadata tags from an Amazon DocumentDB resource.
3947//
3948// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3949// with awserr.Error's Code and Message methods to get detailed information about
3950// the error.
3951//
3952// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
3953// API operation RemoveTagsFromResource for usage and error information.
3954//
3955// Returned Error Codes:
3956//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
3957//   DBInstanceIdentifier doesn't refer to an existing instance.
3958//
3959//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
3960//   DBSnapshotIdentifier doesn't refer to an existing snapshot.
3961//
3962//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
3963//   DBClusterIdentifier doesn't refer to an existing cluster.
3964//
3965// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/RemoveTagsFromResource
3966func (c *DocDB) RemoveTagsFromResource(input *RemoveTagsFromResourceInput) (*RemoveTagsFromResourceOutput, error) {
3967	req, out := c.RemoveTagsFromResourceRequest(input)
3968	return out, req.Send()
3969}
3970
3971// RemoveTagsFromResourceWithContext is the same as RemoveTagsFromResource with the addition of
3972// the ability to pass a context and additional request options.
3973//
3974// See RemoveTagsFromResource for details on how to use this API operation.
3975//
3976// The context must be non-nil and will be used for request cancellation. If
3977// the context is nil a panic will occur. In the future the SDK may create
3978// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3979// for more information on using Contexts.
3980func (c *DocDB) RemoveTagsFromResourceWithContext(ctx aws.Context, input *RemoveTagsFromResourceInput, opts ...request.Option) (*RemoveTagsFromResourceOutput, error) {
3981	req, out := c.RemoveTagsFromResourceRequest(input)
3982	req.SetContext(ctx)
3983	req.ApplyOptions(opts...)
3984	return out, req.Send()
3985}
3986
3987const opResetDBClusterParameterGroup = "ResetDBClusterParameterGroup"
3988
3989// ResetDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
3990// client's request for the ResetDBClusterParameterGroup operation. The "output" return
3991// value will be populated with the request's response once the request completes
3992// successfully.
3993//
3994// Use "Send" method on the returned Request to send the API call to the service.
3995// the "output" return value is not valid until after Send returns without error.
3996//
3997// See ResetDBClusterParameterGroup for more information on using the ResetDBClusterParameterGroup
3998// API call, and error handling.
3999//
4000// This method is useful when you want to inject custom logic or configuration
4001// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4002//
4003//
4004//    // Example sending a request using the ResetDBClusterParameterGroupRequest method.
4005//    req, resp := client.ResetDBClusterParameterGroupRequest(params)
4006//
4007//    err := req.Send()
4008//    if err == nil { // resp is now filled
4009//        fmt.Println(resp)
4010//    }
4011//
4012// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ResetDBClusterParameterGroup
4013func (c *DocDB) ResetDBClusterParameterGroupRequest(input *ResetDBClusterParameterGroupInput) (req *request.Request, output *ResetDBClusterParameterGroupOutput) {
4014	op := &request.Operation{
4015		Name:       opResetDBClusterParameterGroup,
4016		HTTPMethod: "POST",
4017		HTTPPath:   "/",
4018	}
4019
4020	if input == nil {
4021		input = &ResetDBClusterParameterGroupInput{}
4022	}
4023
4024	output = &ResetDBClusterParameterGroupOutput{}
4025	req = c.newRequest(op, input, output)
4026	return
4027}
4028
4029// ResetDBClusterParameterGroup API operation for Amazon DocumentDB with MongoDB compatibility.
4030//
4031// Modifies the parameters of a cluster parameter group to the default value.
4032// To reset specific parameters, submit a list of the following: ParameterName
4033// and ApplyMethod. To reset the entire cluster parameter group, specify the
4034// DBClusterParameterGroupName and ResetAllParameters parameters.
4035//
4036// When you reset the entire group, dynamic parameters are updated immediately
4037// and static parameters are set to pending-reboot to take effect on the next
4038// DB instance reboot.
4039//
4040// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4041// with awserr.Error's Code and Message methods to get detailed information about
4042// the error.
4043//
4044// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
4045// API operation ResetDBClusterParameterGroup for usage and error information.
4046//
4047// Returned Error Codes:
4048//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
4049//   The parameter group is in use, or it is in a state that is not valid. If
4050//   you are trying to delete the parameter group, you can't delete it when the
4051//   parameter group is in this state.
4052//
4053//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
4054//   DBParameterGroupName doesn't refer to an existing parameter group.
4055//
4056// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ResetDBClusterParameterGroup
4057func (c *DocDB) ResetDBClusterParameterGroup(input *ResetDBClusterParameterGroupInput) (*ResetDBClusterParameterGroupOutput, error) {
4058	req, out := c.ResetDBClusterParameterGroupRequest(input)
4059	return out, req.Send()
4060}
4061
4062// ResetDBClusterParameterGroupWithContext is the same as ResetDBClusterParameterGroup with the addition of
4063// the ability to pass a context and additional request options.
4064//
4065// See ResetDBClusterParameterGroup for details on how to use this API operation.
4066//
4067// The context must be non-nil and will be used for request cancellation. If
4068// the context is nil a panic will occur. In the future the SDK may create
4069// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4070// for more information on using Contexts.
4071func (c *DocDB) ResetDBClusterParameterGroupWithContext(ctx aws.Context, input *ResetDBClusterParameterGroupInput, opts ...request.Option) (*ResetDBClusterParameterGroupOutput, error) {
4072	req, out := c.ResetDBClusterParameterGroupRequest(input)
4073	req.SetContext(ctx)
4074	req.ApplyOptions(opts...)
4075	return out, req.Send()
4076}
4077
4078const opRestoreDBClusterFromSnapshot = "RestoreDBClusterFromSnapshot"
4079
4080// RestoreDBClusterFromSnapshotRequest generates a "aws/request.Request" representing the
4081// client's request for the RestoreDBClusterFromSnapshot operation. The "output" return
4082// value will be populated with the request's response once the request completes
4083// successfully.
4084//
4085// Use "Send" method on the returned Request to send the API call to the service.
4086// the "output" return value is not valid until after Send returns without error.
4087//
4088// See RestoreDBClusterFromSnapshot for more information on using the RestoreDBClusterFromSnapshot
4089// API call, and error handling.
4090//
4091// This method is useful when you want to inject custom logic or configuration
4092// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4093//
4094//
4095//    // Example sending a request using the RestoreDBClusterFromSnapshotRequest method.
4096//    req, resp := client.RestoreDBClusterFromSnapshotRequest(params)
4097//
4098//    err := req.Send()
4099//    if err == nil { // resp is now filled
4100//        fmt.Println(resp)
4101//    }
4102//
4103// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/RestoreDBClusterFromSnapshot
4104func (c *DocDB) RestoreDBClusterFromSnapshotRequest(input *RestoreDBClusterFromSnapshotInput) (req *request.Request, output *RestoreDBClusterFromSnapshotOutput) {
4105	op := &request.Operation{
4106		Name:       opRestoreDBClusterFromSnapshot,
4107		HTTPMethod: "POST",
4108		HTTPPath:   "/",
4109	}
4110
4111	if input == nil {
4112		input = &RestoreDBClusterFromSnapshotInput{}
4113	}
4114
4115	output = &RestoreDBClusterFromSnapshotOutput{}
4116	req = c.newRequest(op, input, output)
4117	return
4118}
4119
4120// RestoreDBClusterFromSnapshot API operation for Amazon DocumentDB with MongoDB compatibility.
4121//
4122// Creates a new cluster from a snapshot or cluster snapshot.
4123//
4124// If a snapshot is specified, the target cluster is created from the source
4125// DB snapshot with a default configuration and default security group.
4126//
4127// If a cluster snapshot is specified, the target cluster is created from the
4128// source cluster restore point with the same configuration as the original
4129// source DB cluster, except that the new cluster is created with the default
4130// security group.
4131//
4132// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4133// with awserr.Error's Code and Message methods to get detailed information about
4134// the error.
4135//
4136// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
4137// API operation RestoreDBClusterFromSnapshot for usage and error information.
4138//
4139// Returned Error Codes:
4140//   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
4141//   You already have a cluster with the given identifier.
4142//
4143//   * ErrCodeDBClusterQuotaExceededFault "DBClusterQuotaExceededFault"
4144//   The cluster can't be created because you have reached the maximum allowed
4145//   quota of clusters.
4146//
4147//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
4148//   The request would cause you to exceed the allowed amount of storage available
4149//   across all instances.
4150//
4151//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
4152//   DBSubnetGroupName doesn't refer to an existing subnet group.
4153//
4154//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
4155//   DBSnapshotIdentifier doesn't refer to an existing snapshot.
4156//
4157//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
4158//   DBClusterSnapshotIdentifier doesn't refer to an existing cluster snapshot.
4159//
4160//   * ErrCodeInsufficientDBClusterCapacityFault "InsufficientDBClusterCapacityFault"
4161//   The cluster doesn't have enough capacity for the current operation.
4162//
4163//   * ErrCodeInsufficientStorageClusterCapacityFault "InsufficientStorageClusterCapacity"
4164//   There is not enough storage available for the current action. You might be
4165//   able to resolve this error by updating your subnet group to use different
4166//   Availability Zones that have more storage available.
4167//
4168//   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
4169//   The state of the snapshot doesn't allow deletion.
4170//
4171//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
4172//   The provided value isn't a valid cluster snapshot state.
4173//
4174//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
4175//   The request would cause you to exceed the allowed amount of storage available
4176//   across all instances.
4177//
4178//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
4179//   The subnet group doesn't cover all Availability Zones after it is created
4180//   because of changes that were made.
4181//
4182//   * ErrCodeInvalidRestoreFault "InvalidRestoreFault"
4183//   You cannot restore from a virtual private cloud (VPC) backup to a non-VPC
4184//   DB instance.
4185//
4186//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
4187//   DBSubnetGroupName doesn't refer to an existing subnet group.
4188//
4189//   * ErrCodeInvalidSubnet "InvalidSubnet"
4190//   The requested subnet is not valid, or multiple subnets were requested that
4191//   are not all in a common virtual private cloud (VPC).
4192//
4193//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
4194//   An error occurred when accessing an AWS KMS key.
4195//
4196// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/RestoreDBClusterFromSnapshot
4197func (c *DocDB) RestoreDBClusterFromSnapshot(input *RestoreDBClusterFromSnapshotInput) (*RestoreDBClusterFromSnapshotOutput, error) {
4198	req, out := c.RestoreDBClusterFromSnapshotRequest(input)
4199	return out, req.Send()
4200}
4201
4202// RestoreDBClusterFromSnapshotWithContext is the same as RestoreDBClusterFromSnapshot with the addition of
4203// the ability to pass a context and additional request options.
4204//
4205// See RestoreDBClusterFromSnapshot for details on how to use this API operation.
4206//
4207// The context must be non-nil and will be used for request cancellation. If
4208// the context is nil a panic will occur. In the future the SDK may create
4209// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4210// for more information on using Contexts.
4211func (c *DocDB) RestoreDBClusterFromSnapshotWithContext(ctx aws.Context, input *RestoreDBClusterFromSnapshotInput, opts ...request.Option) (*RestoreDBClusterFromSnapshotOutput, error) {
4212	req, out := c.RestoreDBClusterFromSnapshotRequest(input)
4213	req.SetContext(ctx)
4214	req.ApplyOptions(opts...)
4215	return out, req.Send()
4216}
4217
4218const opRestoreDBClusterToPointInTime = "RestoreDBClusterToPointInTime"
4219
4220// RestoreDBClusterToPointInTimeRequest generates a "aws/request.Request" representing the
4221// client's request for the RestoreDBClusterToPointInTime operation. The "output" return
4222// value will be populated with the request's response once the request completes
4223// successfully.
4224//
4225// Use "Send" method on the returned Request to send the API call to the service.
4226// the "output" return value is not valid until after Send returns without error.
4227//
4228// See RestoreDBClusterToPointInTime for more information on using the RestoreDBClusterToPointInTime
4229// API call, and error handling.
4230//
4231// This method is useful when you want to inject custom logic or configuration
4232// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4233//
4234//
4235//    // Example sending a request using the RestoreDBClusterToPointInTimeRequest method.
4236//    req, resp := client.RestoreDBClusterToPointInTimeRequest(params)
4237//
4238//    err := req.Send()
4239//    if err == nil { // resp is now filled
4240//        fmt.Println(resp)
4241//    }
4242//
4243// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/RestoreDBClusterToPointInTime
4244func (c *DocDB) RestoreDBClusterToPointInTimeRequest(input *RestoreDBClusterToPointInTimeInput) (req *request.Request, output *RestoreDBClusterToPointInTimeOutput) {
4245	op := &request.Operation{
4246		Name:       opRestoreDBClusterToPointInTime,
4247		HTTPMethod: "POST",
4248		HTTPPath:   "/",
4249	}
4250
4251	if input == nil {
4252		input = &RestoreDBClusterToPointInTimeInput{}
4253	}
4254
4255	output = &RestoreDBClusterToPointInTimeOutput{}
4256	req = c.newRequest(op, input, output)
4257	return
4258}
4259
4260// RestoreDBClusterToPointInTime API operation for Amazon DocumentDB with MongoDB compatibility.
4261//
4262// Restores a cluster to an arbitrary point in time. Users can restore to any
4263// point in time before LatestRestorableTime for up to BackupRetentionPeriod
4264// days. The target cluster is created from the source cluster with the same
4265// configuration as the original cluster, except that the new cluster is created
4266// with the default security group.
4267//
4268// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4269// with awserr.Error's Code and Message methods to get detailed information about
4270// the error.
4271//
4272// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
4273// API operation RestoreDBClusterToPointInTime for usage and error information.
4274//
4275// Returned Error Codes:
4276//   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
4277//   You already have a cluster with the given identifier.
4278//
4279//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
4280//   DBClusterIdentifier doesn't refer to an existing cluster.
4281//
4282//   * ErrCodeDBClusterQuotaExceededFault "DBClusterQuotaExceededFault"
4283//   The cluster can't be created because you have reached the maximum allowed
4284//   quota of clusters.
4285//
4286//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
4287//   DBClusterSnapshotIdentifier doesn't refer to an existing cluster snapshot.
4288//
4289//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
4290//   DBSubnetGroupName doesn't refer to an existing subnet group.
4291//
4292//   * ErrCodeInsufficientDBClusterCapacityFault "InsufficientDBClusterCapacityFault"
4293//   The cluster doesn't have enough capacity for the current operation.
4294//
4295//   * ErrCodeInsufficientStorageClusterCapacityFault "InsufficientStorageClusterCapacity"
4296//   There is not enough storage available for the current action. You might be
4297//   able to resolve this error by updating your subnet group to use different
4298//   Availability Zones that have more storage available.
4299//
4300//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
4301//   The provided value isn't a valid cluster snapshot state.
4302//
4303//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
4304//   The cluster isn't in a valid state.
4305//
4306//   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
4307//   The state of the snapshot doesn't allow deletion.
4308//
4309//   * ErrCodeInvalidRestoreFault "InvalidRestoreFault"
4310//   You cannot restore from a virtual private cloud (VPC) backup to a non-VPC
4311//   DB instance.
4312//
4313//   * ErrCodeInvalidSubnet "InvalidSubnet"
4314//   The requested subnet is not valid, or multiple subnets were requested that
4315//   are not all in a common virtual private cloud (VPC).
4316//
4317//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
4318//   The subnet group doesn't cover all Availability Zones after it is created
4319//   because of changes that were made.
4320//
4321//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
4322//   An error occurred when accessing an AWS KMS key.
4323//
4324//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
4325//   The request would cause you to exceed the allowed amount of storage available
4326//   across all instances.
4327//
4328// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/RestoreDBClusterToPointInTime
4329func (c *DocDB) RestoreDBClusterToPointInTime(input *RestoreDBClusterToPointInTimeInput) (*RestoreDBClusterToPointInTimeOutput, error) {
4330	req, out := c.RestoreDBClusterToPointInTimeRequest(input)
4331	return out, req.Send()
4332}
4333
4334// RestoreDBClusterToPointInTimeWithContext is the same as RestoreDBClusterToPointInTime with the addition of
4335// the ability to pass a context and additional request options.
4336//
4337// See RestoreDBClusterToPointInTime for details on how to use this API operation.
4338//
4339// The context must be non-nil and will be used for request cancellation. If
4340// the context is nil a panic will occur. In the future the SDK may create
4341// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4342// for more information on using Contexts.
4343func (c *DocDB) RestoreDBClusterToPointInTimeWithContext(ctx aws.Context, input *RestoreDBClusterToPointInTimeInput, opts ...request.Option) (*RestoreDBClusterToPointInTimeOutput, error) {
4344	req, out := c.RestoreDBClusterToPointInTimeRequest(input)
4345	req.SetContext(ctx)
4346	req.ApplyOptions(opts...)
4347	return out, req.Send()
4348}
4349
4350const opStartDBCluster = "StartDBCluster"
4351
4352// StartDBClusterRequest generates a "aws/request.Request" representing the
4353// client's request for the StartDBCluster operation. The "output" return
4354// value will be populated with the request's response once the request completes
4355// successfully.
4356//
4357// Use "Send" method on the returned Request to send the API call to the service.
4358// the "output" return value is not valid until after Send returns without error.
4359//
4360// See StartDBCluster for more information on using the StartDBCluster
4361// API call, and error handling.
4362//
4363// This method is useful when you want to inject custom logic or configuration
4364// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4365//
4366//
4367//    // Example sending a request using the StartDBClusterRequest method.
4368//    req, resp := client.StartDBClusterRequest(params)
4369//
4370//    err := req.Send()
4371//    if err == nil { // resp is now filled
4372//        fmt.Println(resp)
4373//    }
4374//
4375// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/StartDBCluster
4376func (c *DocDB) StartDBClusterRequest(input *StartDBClusterInput) (req *request.Request, output *StartDBClusterOutput) {
4377	op := &request.Operation{
4378		Name:       opStartDBCluster,
4379		HTTPMethod: "POST",
4380		HTTPPath:   "/",
4381	}
4382
4383	if input == nil {
4384		input = &StartDBClusterInput{}
4385	}
4386
4387	output = &StartDBClusterOutput{}
4388	req = c.newRequest(op, input, output)
4389	return
4390}
4391
4392// StartDBCluster API operation for Amazon DocumentDB with MongoDB compatibility.
4393//
4394// Restarts the stopped cluster that is specified by DBClusterIdentifier. For
4395// more information, see Stopping and Starting an Amazon DocumentDB Cluster
4396// (https://docs.aws.amazon.com/documentdb/latest/developerguide/db-cluster-stop-start.html).
4397//
4398// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4399// with awserr.Error's Code and Message methods to get detailed information about
4400// the error.
4401//
4402// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
4403// API operation StartDBCluster for usage and error information.
4404//
4405// Returned Error Codes:
4406//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
4407//   DBClusterIdentifier doesn't refer to an existing cluster.
4408//
4409//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
4410//   The cluster isn't in a valid state.
4411//
4412//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
4413//   The specified instance isn't in the available state.
4414//
4415// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/StartDBCluster
4416func (c *DocDB) StartDBCluster(input *StartDBClusterInput) (*StartDBClusterOutput, error) {
4417	req, out := c.StartDBClusterRequest(input)
4418	return out, req.Send()
4419}
4420
4421// StartDBClusterWithContext is the same as StartDBCluster with the addition of
4422// the ability to pass a context and additional request options.
4423//
4424// See StartDBCluster for details on how to use this API operation.
4425//
4426// The context must be non-nil and will be used for request cancellation. If
4427// the context is nil a panic will occur. In the future the SDK may create
4428// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4429// for more information on using Contexts.
4430func (c *DocDB) StartDBClusterWithContext(ctx aws.Context, input *StartDBClusterInput, opts ...request.Option) (*StartDBClusterOutput, error) {
4431	req, out := c.StartDBClusterRequest(input)
4432	req.SetContext(ctx)
4433	req.ApplyOptions(opts...)
4434	return out, req.Send()
4435}
4436
4437const opStopDBCluster = "StopDBCluster"
4438
4439// StopDBClusterRequest generates a "aws/request.Request" representing the
4440// client's request for the StopDBCluster operation. The "output" return
4441// value will be populated with the request's response once the request completes
4442// successfully.
4443//
4444// Use "Send" method on the returned Request to send the API call to the service.
4445// the "output" return value is not valid until after Send returns without error.
4446//
4447// See StopDBCluster for more information on using the StopDBCluster
4448// API call, and error handling.
4449//
4450// This method is useful when you want to inject custom logic or configuration
4451// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4452//
4453//
4454//    // Example sending a request using the StopDBClusterRequest method.
4455//    req, resp := client.StopDBClusterRequest(params)
4456//
4457//    err := req.Send()
4458//    if err == nil { // resp is now filled
4459//        fmt.Println(resp)
4460//    }
4461//
4462// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/StopDBCluster
4463func (c *DocDB) StopDBClusterRequest(input *StopDBClusterInput) (req *request.Request, output *StopDBClusterOutput) {
4464	op := &request.Operation{
4465		Name:       opStopDBCluster,
4466		HTTPMethod: "POST",
4467		HTTPPath:   "/",
4468	}
4469
4470	if input == nil {
4471		input = &StopDBClusterInput{}
4472	}
4473
4474	output = &StopDBClusterOutput{}
4475	req = c.newRequest(op, input, output)
4476	return
4477}
4478
4479// StopDBCluster API operation for Amazon DocumentDB with MongoDB compatibility.
4480//
4481// Stops the running cluster that is specified by DBClusterIdentifier. The cluster
4482// must be in the available state. For more information, see Stopping and Starting
4483// an Amazon DocumentDB Cluster (https://docs.aws.amazon.com/documentdb/latest/developerguide/db-cluster-stop-start.html).
4484//
4485// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4486// with awserr.Error's Code and Message methods to get detailed information about
4487// the error.
4488//
4489// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
4490// API operation StopDBCluster for usage and error information.
4491//
4492// Returned Error Codes:
4493//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
4494//   DBClusterIdentifier doesn't refer to an existing cluster.
4495//
4496//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
4497//   The cluster isn't in a valid state.
4498//
4499//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
4500//   The specified instance isn't in the available state.
4501//
4502// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/StopDBCluster
4503func (c *DocDB) StopDBCluster(input *StopDBClusterInput) (*StopDBClusterOutput, error) {
4504	req, out := c.StopDBClusterRequest(input)
4505	return out, req.Send()
4506}
4507
4508// StopDBClusterWithContext is the same as StopDBCluster with the addition of
4509// the ability to pass a context and additional request options.
4510//
4511// See StopDBCluster for details on how to use this API operation.
4512//
4513// The context must be non-nil and will be used for request cancellation. If
4514// the context is nil a panic will occur. In the future the SDK may create
4515// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4516// for more information on using Contexts.
4517func (c *DocDB) StopDBClusterWithContext(ctx aws.Context, input *StopDBClusterInput, opts ...request.Option) (*StopDBClusterOutput, error) {
4518	req, out := c.StopDBClusterRequest(input)
4519	req.SetContext(ctx)
4520	req.ApplyOptions(opts...)
4521	return out, req.Send()
4522}
4523
4524// Represents the input to AddTagsToResource.
4525type AddTagsToResourceInput struct {
4526	_ struct{} `type:"structure"`
4527
4528	// The Amazon DocumentDB resource that the tags are added to. This value is
4529	// an Amazon Resource Name .
4530	//
4531	// ResourceName is a required field
4532	ResourceName *string `type:"string" required:"true"`
4533
4534	// The tags to be assigned to the Amazon DocumentDB resource.
4535	//
4536	// Tags is a required field
4537	Tags []*Tag `locationNameList:"Tag" type:"list" required:"true"`
4538}
4539
4540// String returns the string representation
4541func (s AddTagsToResourceInput) String() string {
4542	return awsutil.Prettify(s)
4543}
4544
4545// GoString returns the string representation
4546func (s AddTagsToResourceInput) GoString() string {
4547	return s.String()
4548}
4549
4550// Validate inspects the fields of the type to determine if they are valid.
4551func (s *AddTagsToResourceInput) Validate() error {
4552	invalidParams := request.ErrInvalidParams{Context: "AddTagsToResourceInput"}
4553	if s.ResourceName == nil {
4554		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
4555	}
4556	if s.Tags == nil {
4557		invalidParams.Add(request.NewErrParamRequired("Tags"))
4558	}
4559
4560	if invalidParams.Len() > 0 {
4561		return invalidParams
4562	}
4563	return nil
4564}
4565
4566// SetResourceName sets the ResourceName field's value.
4567func (s *AddTagsToResourceInput) SetResourceName(v string) *AddTagsToResourceInput {
4568	s.ResourceName = &v
4569	return s
4570}
4571
4572// SetTags sets the Tags field's value.
4573func (s *AddTagsToResourceInput) SetTags(v []*Tag) *AddTagsToResourceInput {
4574	s.Tags = v
4575	return s
4576}
4577
4578type AddTagsToResourceOutput struct {
4579	_ struct{} `type:"structure"`
4580}
4581
4582// String returns the string representation
4583func (s AddTagsToResourceOutput) String() string {
4584	return awsutil.Prettify(s)
4585}
4586
4587// GoString returns the string representation
4588func (s AddTagsToResourceOutput) GoString() string {
4589	return s.String()
4590}
4591
4592// Represents the input to ApplyPendingMaintenanceAction.
4593type ApplyPendingMaintenanceActionInput struct {
4594	_ struct{} `type:"structure"`
4595
4596	// The pending maintenance action to apply to this resource.
4597	//
4598	// Valid values: system-update, db-upgrade
4599	//
4600	// ApplyAction is a required field
4601	ApplyAction *string `type:"string" required:"true"`
4602
4603	// A value that specifies the type of opt-in request or undoes an opt-in request.
4604	// An opt-in request of type immediate can't be undone.
4605	//
4606	// Valid values:
4607	//
4608	//    * immediate - Apply the maintenance action immediately.
4609	//
4610	//    * next-maintenance - Apply the maintenance action during the next maintenance
4611	//    window for the resource.
4612	//
4613	//    * undo-opt-in - Cancel any existing next-maintenance opt-in requests.
4614	//
4615	// OptInType is a required field
4616	OptInType *string `type:"string" required:"true"`
4617
4618	// The Amazon Resource Name (ARN) of the resource that the pending maintenance
4619	// action applies to.
4620	//
4621	// ResourceIdentifier is a required field
4622	ResourceIdentifier *string `type:"string" required:"true"`
4623}
4624
4625// String returns the string representation
4626func (s ApplyPendingMaintenanceActionInput) String() string {
4627	return awsutil.Prettify(s)
4628}
4629
4630// GoString returns the string representation
4631func (s ApplyPendingMaintenanceActionInput) GoString() string {
4632	return s.String()
4633}
4634
4635// Validate inspects the fields of the type to determine if they are valid.
4636func (s *ApplyPendingMaintenanceActionInput) Validate() error {
4637	invalidParams := request.ErrInvalidParams{Context: "ApplyPendingMaintenanceActionInput"}
4638	if s.ApplyAction == nil {
4639		invalidParams.Add(request.NewErrParamRequired("ApplyAction"))
4640	}
4641	if s.OptInType == nil {
4642		invalidParams.Add(request.NewErrParamRequired("OptInType"))
4643	}
4644	if s.ResourceIdentifier == nil {
4645		invalidParams.Add(request.NewErrParamRequired("ResourceIdentifier"))
4646	}
4647
4648	if invalidParams.Len() > 0 {
4649		return invalidParams
4650	}
4651	return nil
4652}
4653
4654// SetApplyAction sets the ApplyAction field's value.
4655func (s *ApplyPendingMaintenanceActionInput) SetApplyAction(v string) *ApplyPendingMaintenanceActionInput {
4656	s.ApplyAction = &v
4657	return s
4658}
4659
4660// SetOptInType sets the OptInType field's value.
4661func (s *ApplyPendingMaintenanceActionInput) SetOptInType(v string) *ApplyPendingMaintenanceActionInput {
4662	s.OptInType = &v
4663	return s
4664}
4665
4666// SetResourceIdentifier sets the ResourceIdentifier field's value.
4667func (s *ApplyPendingMaintenanceActionInput) SetResourceIdentifier(v string) *ApplyPendingMaintenanceActionInput {
4668	s.ResourceIdentifier = &v
4669	return s
4670}
4671
4672type ApplyPendingMaintenanceActionOutput struct {
4673	_ struct{} `type:"structure"`
4674
4675	// Represents the output of ApplyPendingMaintenanceAction.
4676	ResourcePendingMaintenanceActions *ResourcePendingMaintenanceActions `type:"structure"`
4677}
4678
4679// String returns the string representation
4680func (s ApplyPendingMaintenanceActionOutput) String() string {
4681	return awsutil.Prettify(s)
4682}
4683
4684// GoString returns the string representation
4685func (s ApplyPendingMaintenanceActionOutput) GoString() string {
4686	return s.String()
4687}
4688
4689// SetResourcePendingMaintenanceActions sets the ResourcePendingMaintenanceActions field's value.
4690func (s *ApplyPendingMaintenanceActionOutput) SetResourcePendingMaintenanceActions(v *ResourcePendingMaintenanceActions) *ApplyPendingMaintenanceActionOutput {
4691	s.ResourcePendingMaintenanceActions = v
4692	return s
4693}
4694
4695// Information about an Availability Zone.
4696type AvailabilityZone struct {
4697	_ struct{} `type:"structure"`
4698
4699	// The name of the Availability Zone.
4700	Name *string `type:"string"`
4701}
4702
4703// String returns the string representation
4704func (s AvailabilityZone) String() string {
4705	return awsutil.Prettify(s)
4706}
4707
4708// GoString returns the string representation
4709func (s AvailabilityZone) GoString() string {
4710	return s.String()
4711}
4712
4713// SetName sets the Name field's value.
4714func (s *AvailabilityZone) SetName(v string) *AvailabilityZone {
4715	s.Name = &v
4716	return s
4717}
4718
4719// A certificate authority (CA) certificate for an AWS account.
4720type Certificate struct {
4721	_ struct{} `type:"structure"`
4722
4723	// The Amazon Resource Name (ARN) for the certificate.
4724	//
4725	// Example: arn:aws:rds:us-east-1::cert:rds-ca-2019
4726	CertificateArn *string `type:"string"`
4727
4728	// The unique key that identifies a certificate.
4729	//
4730	// Example: rds-ca-2019
4731	CertificateIdentifier *string `type:"string"`
4732
4733	// The type of the certificate.
4734	//
4735	// Example: CA
4736	CertificateType *string `type:"string"`
4737
4738	// The thumbprint of the certificate.
4739	Thumbprint *string `type:"string"`
4740
4741	// The starting date-time from which the certificate is valid.
4742	//
4743	// Example: 2019-07-31T17:57:09Z
4744	ValidFrom *time.Time `type:"timestamp"`
4745
4746	// The date-time after which the certificate is no longer valid.
4747	//
4748	// Example: 2024-07-31T17:57:09Z
4749	ValidTill *time.Time `type:"timestamp"`
4750}
4751
4752// String returns the string representation
4753func (s Certificate) String() string {
4754	return awsutil.Prettify(s)
4755}
4756
4757// GoString returns the string representation
4758func (s Certificate) GoString() string {
4759	return s.String()
4760}
4761
4762// SetCertificateArn sets the CertificateArn field's value.
4763func (s *Certificate) SetCertificateArn(v string) *Certificate {
4764	s.CertificateArn = &v
4765	return s
4766}
4767
4768// SetCertificateIdentifier sets the CertificateIdentifier field's value.
4769func (s *Certificate) SetCertificateIdentifier(v string) *Certificate {
4770	s.CertificateIdentifier = &v
4771	return s
4772}
4773
4774// SetCertificateType sets the CertificateType field's value.
4775func (s *Certificate) SetCertificateType(v string) *Certificate {
4776	s.CertificateType = &v
4777	return s
4778}
4779
4780// SetThumbprint sets the Thumbprint field's value.
4781func (s *Certificate) SetThumbprint(v string) *Certificate {
4782	s.Thumbprint = &v
4783	return s
4784}
4785
4786// SetValidFrom sets the ValidFrom field's value.
4787func (s *Certificate) SetValidFrom(v time.Time) *Certificate {
4788	s.ValidFrom = &v
4789	return s
4790}
4791
4792// SetValidTill sets the ValidTill field's value.
4793func (s *Certificate) SetValidTill(v time.Time) *Certificate {
4794	s.ValidTill = &v
4795	return s
4796}
4797
4798// The configuration setting for the log types to be enabled for export to Amazon
4799// CloudWatch Logs for a specific instance or cluster.
4800//
4801// The EnableLogTypes and DisableLogTypes arrays determine which logs are exported
4802// (or not exported) to CloudWatch Logs. The values within these arrays depend
4803// on the engine that is being used.
4804type CloudwatchLogsExportConfiguration struct {
4805	_ struct{} `type:"structure"`
4806
4807	// The list of log types to disable.
4808	DisableLogTypes []*string `type:"list"`
4809
4810	// The list of log types to enable.
4811	EnableLogTypes []*string `type:"list"`
4812}
4813
4814// String returns the string representation
4815func (s CloudwatchLogsExportConfiguration) String() string {
4816	return awsutil.Prettify(s)
4817}
4818
4819// GoString returns the string representation
4820func (s CloudwatchLogsExportConfiguration) GoString() string {
4821	return s.String()
4822}
4823
4824// SetDisableLogTypes sets the DisableLogTypes field's value.
4825func (s *CloudwatchLogsExportConfiguration) SetDisableLogTypes(v []*string) *CloudwatchLogsExportConfiguration {
4826	s.DisableLogTypes = v
4827	return s
4828}
4829
4830// SetEnableLogTypes sets the EnableLogTypes field's value.
4831func (s *CloudwatchLogsExportConfiguration) SetEnableLogTypes(v []*string) *CloudwatchLogsExportConfiguration {
4832	s.EnableLogTypes = v
4833	return s
4834}
4835
4836// Represents the input to CopyDBClusterParameterGroup.
4837type CopyDBClusterParameterGroupInput struct {
4838	_ struct{} `type:"structure"`
4839
4840	// The identifier or Amazon Resource Name (ARN) for the source cluster parameter
4841	// group.
4842	//
4843	// Constraints:
4844	//
4845	//    * Must specify a valid cluster parameter group.
4846	//
4847	//    * If the source cluster parameter group is in the same AWS Region as the
4848	//    copy, specify a valid parameter group identifier; for example, my-db-cluster-param-group,
4849	//    or a valid ARN.
4850	//
4851	//    * If the source parameter group is in a different AWS Region than the
4852	//    copy, specify a valid cluster parameter group ARN; for example, arn:aws:rds:us-east-1:123456789012:sample-cluster:sample-parameter-group.
4853	//
4854	// SourceDBClusterParameterGroupIdentifier is a required field
4855	SourceDBClusterParameterGroupIdentifier *string `type:"string" required:"true"`
4856
4857	// The tags that are to be assigned to the parameter group.
4858	Tags []*Tag `locationNameList:"Tag" type:"list"`
4859
4860	// A description for the copied cluster parameter group.
4861	//
4862	// TargetDBClusterParameterGroupDescription is a required field
4863	TargetDBClusterParameterGroupDescription *string `type:"string" required:"true"`
4864
4865	// The identifier for the copied cluster parameter group.
4866	//
4867	// Constraints:
4868	//
4869	//    * Cannot be null, empty, or blank.
4870	//
4871	//    * Must contain from 1 to 255 letters, numbers, or hyphens.
4872	//
4873	//    * The first character must be a letter.
4874	//
4875	//    * Cannot end with a hyphen or contain two consecutive hyphens.
4876	//
4877	// Example: my-cluster-param-group1
4878	//
4879	// TargetDBClusterParameterGroupIdentifier is a required field
4880	TargetDBClusterParameterGroupIdentifier *string `type:"string" required:"true"`
4881}
4882
4883// String returns the string representation
4884func (s CopyDBClusterParameterGroupInput) String() string {
4885	return awsutil.Prettify(s)
4886}
4887
4888// GoString returns the string representation
4889func (s CopyDBClusterParameterGroupInput) GoString() string {
4890	return s.String()
4891}
4892
4893// Validate inspects the fields of the type to determine if they are valid.
4894func (s *CopyDBClusterParameterGroupInput) Validate() error {
4895	invalidParams := request.ErrInvalidParams{Context: "CopyDBClusterParameterGroupInput"}
4896	if s.SourceDBClusterParameterGroupIdentifier == nil {
4897		invalidParams.Add(request.NewErrParamRequired("SourceDBClusterParameterGroupIdentifier"))
4898	}
4899	if s.TargetDBClusterParameterGroupDescription == nil {
4900		invalidParams.Add(request.NewErrParamRequired("TargetDBClusterParameterGroupDescription"))
4901	}
4902	if s.TargetDBClusterParameterGroupIdentifier == nil {
4903		invalidParams.Add(request.NewErrParamRequired("TargetDBClusterParameterGroupIdentifier"))
4904	}
4905
4906	if invalidParams.Len() > 0 {
4907		return invalidParams
4908	}
4909	return nil
4910}
4911
4912// SetSourceDBClusterParameterGroupIdentifier sets the SourceDBClusterParameterGroupIdentifier field's value.
4913func (s *CopyDBClusterParameterGroupInput) SetSourceDBClusterParameterGroupIdentifier(v string) *CopyDBClusterParameterGroupInput {
4914	s.SourceDBClusterParameterGroupIdentifier = &v
4915	return s
4916}
4917
4918// SetTags sets the Tags field's value.
4919func (s *CopyDBClusterParameterGroupInput) SetTags(v []*Tag) *CopyDBClusterParameterGroupInput {
4920	s.Tags = v
4921	return s
4922}
4923
4924// SetTargetDBClusterParameterGroupDescription sets the TargetDBClusterParameterGroupDescription field's value.
4925func (s *CopyDBClusterParameterGroupInput) SetTargetDBClusterParameterGroupDescription(v string) *CopyDBClusterParameterGroupInput {
4926	s.TargetDBClusterParameterGroupDescription = &v
4927	return s
4928}
4929
4930// SetTargetDBClusterParameterGroupIdentifier sets the TargetDBClusterParameterGroupIdentifier field's value.
4931func (s *CopyDBClusterParameterGroupInput) SetTargetDBClusterParameterGroupIdentifier(v string) *CopyDBClusterParameterGroupInput {
4932	s.TargetDBClusterParameterGroupIdentifier = &v
4933	return s
4934}
4935
4936type CopyDBClusterParameterGroupOutput struct {
4937	_ struct{} `type:"structure"`
4938
4939	// Detailed information about a cluster parameter group.
4940	DBClusterParameterGroup *DBClusterParameterGroup `type:"structure"`
4941}
4942
4943// String returns the string representation
4944func (s CopyDBClusterParameterGroupOutput) String() string {
4945	return awsutil.Prettify(s)
4946}
4947
4948// GoString returns the string representation
4949func (s CopyDBClusterParameterGroupOutput) GoString() string {
4950	return s.String()
4951}
4952
4953// SetDBClusterParameterGroup sets the DBClusterParameterGroup field's value.
4954func (s *CopyDBClusterParameterGroupOutput) SetDBClusterParameterGroup(v *DBClusterParameterGroup) *CopyDBClusterParameterGroupOutput {
4955	s.DBClusterParameterGroup = v
4956	return s
4957}
4958
4959// Represents the input to CopyDBClusterSnapshot.
4960type CopyDBClusterSnapshotInput struct {
4961	_ struct{} `type:"structure"`
4962
4963	// Set to true to copy all tags from the source cluster snapshot to the target
4964	// cluster snapshot, and otherwise false. The default is false.
4965	CopyTags *bool `type:"boolean"`
4966
4967	// DestinationRegion is used for presigning the request to a given region.
4968	DestinationRegion *string `type:"string"`
4969
4970	// The AWS KMS key ID for an encrypted cluster snapshot. The AWS KMS key ID
4971	// is the Amazon Resource Name (ARN), AWS KMS key identifier, or the AWS KMS
4972	// key alias for the AWS KMS encryption key.
4973	//
4974	// If you copy an encrypted cluster snapshot from your AWS account, you can
4975	// specify a value for KmsKeyId to encrypt the copy with a new AWS KMS encryption
4976	// key. If you don't specify a value for KmsKeyId, then the copy of the cluster
4977	// snapshot is encrypted with the same AWS KMS key as the source cluster snapshot.
4978	//
4979	// If you copy an encrypted cluster snapshot that is shared from another AWS
4980	// account, then you must specify a value for KmsKeyId.
4981	//
4982	// To copy an encrypted cluster snapshot to another AWS Region, set KmsKeyId
4983	// to the AWS KMS key ID that you want to use to encrypt the copy of the cluster
4984	// snapshot in the destination Region. AWS KMS encryption keys are specific
4985	// to the AWS Region that they are created in, and you can't use encryption
4986	// keys from one AWS Region in another AWS Region.
4987	//
4988	// If you copy an unencrypted cluster snapshot and specify a value for the KmsKeyId
4989	// parameter, an error is returned.
4990	KmsKeyId *string `type:"string"`
4991
4992	// The URL that contains a Signature Version 4 signed request for the CopyDBClusterSnapshot
4993	// API action in the AWS Region that contains the source cluster snapshot to
4994	// copy. You must use the PreSignedUrl parameter when copying a cluster snapshot
4995	// from another AWS Region.
4996	//
4997	// If you are using an AWS SDK tool or the AWS CLI, you can specify SourceRegion
4998	// (or --source-region for the AWS CLI) instead of specifying PreSignedUrl manually.
4999	// Specifying SourceRegion autogenerates a pre-signed URL that is a valid request
5000	// for the operation that can be executed in the source AWS Region.
5001	//
5002	// The presigned URL must be a valid request for the CopyDBClusterSnapshot API
5003	// action that can be executed in the source AWS Region that contains the cluster
5004	// snapshot to be copied. The presigned URL request must contain the following
5005	// parameter values:
5006	//
5007	//    * SourceRegion - The ID of the region that contains the snapshot to be
5008	//    copied.
5009	//
5010	//    * SourceDBClusterSnapshotIdentifier - The identifier for the the encrypted
5011	//    cluster snapshot to be copied. This identifier must be in the Amazon Resource
5012	//    Name (ARN) format for the source AWS Region. For example, if you are copying
5013	//    an encrypted cluster snapshot from the us-east-1 AWS Region, then your
5014	//    SourceDBClusterSnapshotIdentifier looks something like the following:
5015	//    arn:aws:rds:us-east-1:12345678012:sample-cluster:sample-cluster-snapshot.
5016	//
5017	//    * TargetDBClusterSnapshotIdentifier - The identifier for the new cluster
5018	//    snapshot to be created. This parameter isn't case sensitive.
5019	PreSignedUrl *string `type:"string"`
5020
5021	// The identifier of the cluster snapshot to copy. This parameter is not case
5022	// sensitive.
5023	//
5024	// Constraints:
5025	//
5026	//    * Must specify a valid system snapshot in the available state.
5027	//
5028	//    * If the source snapshot is in the same AWS Region as the copy, specify
5029	//    a valid snapshot identifier.
5030	//
5031	//    * If the source snapshot is in a different AWS Region than the copy, specify
5032	//    a valid cluster snapshot ARN.
5033	//
5034	// Example: my-cluster-snapshot1
5035	//
5036	// SourceDBClusterSnapshotIdentifier is a required field
5037	SourceDBClusterSnapshotIdentifier *string `type:"string" required:"true"`
5038
5039	// SourceRegion is the source region where the resource exists. This is not
5040	// sent over the wire and is only used for presigning. This value should always
5041	// have the same region as the source ARN.
5042	SourceRegion *string `type:"string" ignore:"true"`
5043
5044	// The tags to be assigned to the cluster snapshot.
5045	Tags []*Tag `locationNameList:"Tag" type:"list"`
5046
5047	// The identifier of the new cluster snapshot to create from the source cluster
5048	// snapshot. This parameter is not case sensitive.
5049	//
5050	// Constraints:
5051	//
5052	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
5053	//
5054	//    * The first character must be a letter.
5055	//
5056	//    * Cannot end with a hyphen or contain two consecutive hyphens.
5057	//
5058	// Example: my-cluster-snapshot2
5059	//
5060	// TargetDBClusterSnapshotIdentifier is a required field
5061	TargetDBClusterSnapshotIdentifier *string `type:"string" required:"true"`
5062}
5063
5064// String returns the string representation
5065func (s CopyDBClusterSnapshotInput) String() string {
5066	return awsutil.Prettify(s)
5067}
5068
5069// GoString returns the string representation
5070func (s CopyDBClusterSnapshotInput) GoString() string {
5071	return s.String()
5072}
5073
5074// Validate inspects the fields of the type to determine if they are valid.
5075func (s *CopyDBClusterSnapshotInput) Validate() error {
5076	invalidParams := request.ErrInvalidParams{Context: "CopyDBClusterSnapshotInput"}
5077	if s.SourceDBClusterSnapshotIdentifier == nil {
5078		invalidParams.Add(request.NewErrParamRequired("SourceDBClusterSnapshotIdentifier"))
5079	}
5080	if s.TargetDBClusterSnapshotIdentifier == nil {
5081		invalidParams.Add(request.NewErrParamRequired("TargetDBClusterSnapshotIdentifier"))
5082	}
5083
5084	if invalidParams.Len() > 0 {
5085		return invalidParams
5086	}
5087	return nil
5088}
5089
5090// SetCopyTags sets the CopyTags field's value.
5091func (s *CopyDBClusterSnapshotInput) SetCopyTags(v bool) *CopyDBClusterSnapshotInput {
5092	s.CopyTags = &v
5093	return s
5094}
5095
5096// SetDestinationRegion sets the DestinationRegion field's value.
5097func (s *CopyDBClusterSnapshotInput) SetDestinationRegion(v string) *CopyDBClusterSnapshotInput {
5098	s.DestinationRegion = &v
5099	return s
5100}
5101
5102// SetKmsKeyId sets the KmsKeyId field's value.
5103func (s *CopyDBClusterSnapshotInput) SetKmsKeyId(v string) *CopyDBClusterSnapshotInput {
5104	s.KmsKeyId = &v
5105	return s
5106}
5107
5108// SetPreSignedUrl sets the PreSignedUrl field's value.
5109func (s *CopyDBClusterSnapshotInput) SetPreSignedUrl(v string) *CopyDBClusterSnapshotInput {
5110	s.PreSignedUrl = &v
5111	return s
5112}
5113
5114// SetSourceDBClusterSnapshotIdentifier sets the SourceDBClusterSnapshotIdentifier field's value.
5115func (s *CopyDBClusterSnapshotInput) SetSourceDBClusterSnapshotIdentifier(v string) *CopyDBClusterSnapshotInput {
5116	s.SourceDBClusterSnapshotIdentifier = &v
5117	return s
5118}
5119
5120// SetSourceRegion sets the SourceRegion field's value.
5121func (s *CopyDBClusterSnapshotInput) SetSourceRegion(v string) *CopyDBClusterSnapshotInput {
5122	s.SourceRegion = &v
5123	return s
5124}
5125
5126// SetTags sets the Tags field's value.
5127func (s *CopyDBClusterSnapshotInput) SetTags(v []*Tag) *CopyDBClusterSnapshotInput {
5128	s.Tags = v
5129	return s
5130}
5131
5132// SetTargetDBClusterSnapshotIdentifier sets the TargetDBClusterSnapshotIdentifier field's value.
5133func (s *CopyDBClusterSnapshotInput) SetTargetDBClusterSnapshotIdentifier(v string) *CopyDBClusterSnapshotInput {
5134	s.TargetDBClusterSnapshotIdentifier = &v
5135	return s
5136}
5137
5138type CopyDBClusterSnapshotOutput struct {
5139	_ struct{} `type:"structure"`
5140
5141	// Detailed information about a cluster snapshot.
5142	DBClusterSnapshot *DBClusterSnapshot `type:"structure"`
5143}
5144
5145// String returns the string representation
5146func (s CopyDBClusterSnapshotOutput) String() string {
5147	return awsutil.Prettify(s)
5148}
5149
5150// GoString returns the string representation
5151func (s CopyDBClusterSnapshotOutput) GoString() string {
5152	return s.String()
5153}
5154
5155// SetDBClusterSnapshot sets the DBClusterSnapshot field's value.
5156func (s *CopyDBClusterSnapshotOutput) SetDBClusterSnapshot(v *DBClusterSnapshot) *CopyDBClusterSnapshotOutput {
5157	s.DBClusterSnapshot = v
5158	return s
5159}
5160
5161// Represents the input to CreateDBCluster.
5162type CreateDBClusterInput struct {
5163	_ struct{} `type:"structure"`
5164
5165	// A list of Amazon EC2 Availability Zones that instances in the cluster can
5166	// be created in.
5167	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
5168
5169	// The number of days for which automated backups are retained. You must specify
5170	// a minimum value of 1.
5171	//
5172	// Default: 1
5173	//
5174	// Constraints:
5175	//
5176	//    * Must be a value from 1 to 35.
5177	BackupRetentionPeriod *int64 `type:"integer"`
5178
5179	// The cluster identifier. This parameter is stored as a lowercase string.
5180	//
5181	// Constraints:
5182	//
5183	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
5184	//
5185	//    * The first character must be a letter.
5186	//
5187	//    * Cannot end with a hyphen or contain two consecutive hyphens.
5188	//
5189	// Example: my-cluster
5190	//
5191	// DBClusterIdentifier is a required field
5192	DBClusterIdentifier *string `type:"string" required:"true"`
5193
5194	// The name of the cluster parameter group to associate with this cluster.
5195	DBClusterParameterGroupName *string `type:"string"`
5196
5197	// A subnet group to associate with this cluster.
5198	//
5199	// Constraints: Must match the name of an existing DBSubnetGroup. Must not be
5200	// default.
5201	//
5202	// Example: mySubnetgroup
5203	DBSubnetGroupName *string `type:"string"`
5204
5205	// Specifies whether this cluster can be deleted. If DeletionProtection is enabled,
5206	// the cluster cannot be deleted unless it is modified and DeletionProtection
5207	// is disabled. DeletionProtection protects clusters from being accidentally
5208	// deleted.
5209	DeletionProtection *bool `type:"boolean"`
5210
5211	// DestinationRegion is used for presigning the request to a given region.
5212	DestinationRegion *string `type:"string"`
5213
5214	// A list of log types that need to be enabled for exporting to Amazon CloudWatch
5215	// Logs. You can enable audit logs or profiler logs. For more information, see
5216	// Auditing Amazon DocumentDB Events (https://docs.aws.amazon.com/documentdb/latest/developerguide/event-auditing.html)
5217	// and Profiling Amazon DocumentDB Operations (https://docs.aws.amazon.com/documentdb/latest/developerguide/profiling.html).
5218	EnableCloudwatchLogsExports []*string `type:"list"`
5219
5220	// The name of the database engine to be used for this cluster.
5221	//
5222	// Valid values: docdb
5223	//
5224	// Engine is a required field
5225	Engine *string `type:"string" required:"true"`
5226
5227	// The version number of the database engine to use. The --engine-version will
5228	// default to the latest major engine version. For production workloads, we
5229	// recommend explicitly declaring this parameter with the intended major engine
5230	// version.
5231	EngineVersion *string `type:"string"`
5232
5233	// The AWS KMS key identifier for an encrypted cluster.
5234	//
5235	// The AWS KMS key identifier is the Amazon Resource Name (ARN) for the AWS
5236	// KMS encryption key. If you are creating a cluster using the same AWS account
5237	// that owns the AWS KMS encryption key that is used to encrypt the new cluster,
5238	// you can use the AWS KMS key alias instead of the ARN for the AWS KMS encryption
5239	// key.
5240	//
5241	// If an encryption key is not specified in KmsKeyId:
5242	//
5243	//    * If the StorageEncrypted parameter is true, Amazon DocumentDB uses your
5244	//    default encryption key.
5245	//
5246	// AWS KMS creates the default encryption key for your AWS account. Your AWS
5247	// account has a different default encryption key for each AWS Region.
5248	KmsKeyId *string `type:"string"`
5249
5250	// The password for the master database user. This password can contain any
5251	// printable ASCII character except forward slash (/), double quote ("), or
5252	// the "at" symbol (@).
5253	//
5254	// Constraints: Must contain from 8 to 100 characters.
5255	//
5256	// MasterUserPassword is a required field
5257	MasterUserPassword *string `type:"string" required:"true"`
5258
5259	// The name of the master user for the cluster.
5260	//
5261	// Constraints:
5262	//
5263	//    * Must be from 1 to 63 letters or numbers.
5264	//
5265	//    * The first character must be a letter.
5266	//
5267	//    * Cannot be a reserved word for the chosen database engine.
5268	//
5269	// MasterUsername is a required field
5270	MasterUsername *string `type:"string" required:"true"`
5271
5272	// The port number on which the instances in the cluster accept connections.
5273	Port *int64 `type:"integer"`
5274
5275	// Not currently supported.
5276	PreSignedUrl *string `type:"string"`
5277
5278	// The daily time range during which automated backups are created if automated
5279	// backups are enabled using the BackupRetentionPeriod parameter.
5280	//
5281	// The default is a 30-minute window selected at random from an 8-hour block
5282	// of time for each AWS Region.
5283	//
5284	// Constraints:
5285	//
5286	//    * Must be in the format hh24:mi-hh24:mi.
5287	//
5288	//    * Must be in Universal Coordinated Time (UTC).
5289	//
5290	//    * Must not conflict with the preferred maintenance window.
5291	//
5292	//    * Must be at least 30 minutes.
5293	PreferredBackupWindow *string `type:"string"`
5294
5295	// The weekly time range during which system maintenance can occur, in Universal
5296	// Coordinated Time (UTC).
5297	//
5298	// Format: ddd:hh24:mi-ddd:hh24:mi
5299	//
5300	// The default is a 30-minute window selected at random from an 8-hour block
5301	// of time for each AWS Region, occurring on a random day of the week.
5302	//
5303	// Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun
5304	//
5305	// Constraints: Minimum 30-minute window.
5306	PreferredMaintenanceWindow *string `type:"string"`
5307
5308	// SourceRegion is the source region where the resource exists. This is not
5309	// sent over the wire and is only used for presigning. This value should always
5310	// have the same region as the source ARN.
5311	SourceRegion *string `type:"string" ignore:"true"`
5312
5313	// Specifies whether the cluster is encrypted.
5314	StorageEncrypted *bool `type:"boolean"`
5315
5316	// The tags to be assigned to the cluster.
5317	Tags []*Tag `locationNameList:"Tag" type:"list"`
5318
5319	// A list of EC2 VPC security groups to associate with this cluster.
5320	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
5321}
5322
5323// String returns the string representation
5324func (s CreateDBClusterInput) String() string {
5325	return awsutil.Prettify(s)
5326}
5327
5328// GoString returns the string representation
5329func (s CreateDBClusterInput) GoString() string {
5330	return s.String()
5331}
5332
5333// Validate inspects the fields of the type to determine if they are valid.
5334func (s *CreateDBClusterInput) Validate() error {
5335	invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterInput"}
5336	if s.DBClusterIdentifier == nil {
5337		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
5338	}
5339	if s.Engine == nil {
5340		invalidParams.Add(request.NewErrParamRequired("Engine"))
5341	}
5342	if s.MasterUserPassword == nil {
5343		invalidParams.Add(request.NewErrParamRequired("MasterUserPassword"))
5344	}
5345	if s.MasterUsername == nil {
5346		invalidParams.Add(request.NewErrParamRequired("MasterUsername"))
5347	}
5348
5349	if invalidParams.Len() > 0 {
5350		return invalidParams
5351	}
5352	return nil
5353}
5354
5355// SetAvailabilityZones sets the AvailabilityZones field's value.
5356func (s *CreateDBClusterInput) SetAvailabilityZones(v []*string) *CreateDBClusterInput {
5357	s.AvailabilityZones = v
5358	return s
5359}
5360
5361// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
5362func (s *CreateDBClusterInput) SetBackupRetentionPeriod(v int64) *CreateDBClusterInput {
5363	s.BackupRetentionPeriod = &v
5364	return s
5365}
5366
5367// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
5368func (s *CreateDBClusterInput) SetDBClusterIdentifier(v string) *CreateDBClusterInput {
5369	s.DBClusterIdentifier = &v
5370	return s
5371}
5372
5373// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
5374func (s *CreateDBClusterInput) SetDBClusterParameterGroupName(v string) *CreateDBClusterInput {
5375	s.DBClusterParameterGroupName = &v
5376	return s
5377}
5378
5379// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
5380func (s *CreateDBClusterInput) SetDBSubnetGroupName(v string) *CreateDBClusterInput {
5381	s.DBSubnetGroupName = &v
5382	return s
5383}
5384
5385// SetDeletionProtection sets the DeletionProtection field's value.
5386func (s *CreateDBClusterInput) SetDeletionProtection(v bool) *CreateDBClusterInput {
5387	s.DeletionProtection = &v
5388	return s
5389}
5390
5391// SetDestinationRegion sets the DestinationRegion field's value.
5392func (s *CreateDBClusterInput) SetDestinationRegion(v string) *CreateDBClusterInput {
5393	s.DestinationRegion = &v
5394	return s
5395}
5396
5397// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
5398func (s *CreateDBClusterInput) SetEnableCloudwatchLogsExports(v []*string) *CreateDBClusterInput {
5399	s.EnableCloudwatchLogsExports = v
5400	return s
5401}
5402
5403// SetEngine sets the Engine field's value.
5404func (s *CreateDBClusterInput) SetEngine(v string) *CreateDBClusterInput {
5405	s.Engine = &v
5406	return s
5407}
5408
5409// SetEngineVersion sets the EngineVersion field's value.
5410func (s *CreateDBClusterInput) SetEngineVersion(v string) *CreateDBClusterInput {
5411	s.EngineVersion = &v
5412	return s
5413}
5414
5415// SetKmsKeyId sets the KmsKeyId field's value.
5416func (s *CreateDBClusterInput) SetKmsKeyId(v string) *CreateDBClusterInput {
5417	s.KmsKeyId = &v
5418	return s
5419}
5420
5421// SetMasterUserPassword sets the MasterUserPassword field's value.
5422func (s *CreateDBClusterInput) SetMasterUserPassword(v string) *CreateDBClusterInput {
5423	s.MasterUserPassword = &v
5424	return s
5425}
5426
5427// SetMasterUsername sets the MasterUsername field's value.
5428func (s *CreateDBClusterInput) SetMasterUsername(v string) *CreateDBClusterInput {
5429	s.MasterUsername = &v
5430	return s
5431}
5432
5433// SetPort sets the Port field's value.
5434func (s *CreateDBClusterInput) SetPort(v int64) *CreateDBClusterInput {
5435	s.Port = &v
5436	return s
5437}
5438
5439// SetPreSignedUrl sets the PreSignedUrl field's value.
5440func (s *CreateDBClusterInput) SetPreSignedUrl(v string) *CreateDBClusterInput {
5441	s.PreSignedUrl = &v
5442	return s
5443}
5444
5445// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
5446func (s *CreateDBClusterInput) SetPreferredBackupWindow(v string) *CreateDBClusterInput {
5447	s.PreferredBackupWindow = &v
5448	return s
5449}
5450
5451// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
5452func (s *CreateDBClusterInput) SetPreferredMaintenanceWindow(v string) *CreateDBClusterInput {
5453	s.PreferredMaintenanceWindow = &v
5454	return s
5455}
5456
5457// SetSourceRegion sets the SourceRegion field's value.
5458func (s *CreateDBClusterInput) SetSourceRegion(v string) *CreateDBClusterInput {
5459	s.SourceRegion = &v
5460	return s
5461}
5462
5463// SetStorageEncrypted sets the StorageEncrypted field's value.
5464func (s *CreateDBClusterInput) SetStorageEncrypted(v bool) *CreateDBClusterInput {
5465	s.StorageEncrypted = &v
5466	return s
5467}
5468
5469// SetTags sets the Tags field's value.
5470func (s *CreateDBClusterInput) SetTags(v []*Tag) *CreateDBClusterInput {
5471	s.Tags = v
5472	return s
5473}
5474
5475// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
5476func (s *CreateDBClusterInput) SetVpcSecurityGroupIds(v []*string) *CreateDBClusterInput {
5477	s.VpcSecurityGroupIds = v
5478	return s
5479}
5480
5481type CreateDBClusterOutput struct {
5482	_ struct{} `type:"structure"`
5483
5484	// Detailed information about a cluster.
5485	DBCluster *DBCluster `type:"structure"`
5486}
5487
5488// String returns the string representation
5489func (s CreateDBClusterOutput) String() string {
5490	return awsutil.Prettify(s)
5491}
5492
5493// GoString returns the string representation
5494func (s CreateDBClusterOutput) GoString() string {
5495	return s.String()
5496}
5497
5498// SetDBCluster sets the DBCluster field's value.
5499func (s *CreateDBClusterOutput) SetDBCluster(v *DBCluster) *CreateDBClusterOutput {
5500	s.DBCluster = v
5501	return s
5502}
5503
5504// Represents the input of CreateDBClusterParameterGroup.
5505type CreateDBClusterParameterGroupInput struct {
5506	_ struct{} `type:"structure"`
5507
5508	// The name of the cluster parameter group.
5509	//
5510	// Constraints:
5511	//
5512	//    * Must not match the name of an existing DBClusterParameterGroup.
5513	//
5514	// This value is stored as a lowercase string.
5515	//
5516	// DBClusterParameterGroupName is a required field
5517	DBClusterParameterGroupName *string `type:"string" required:"true"`
5518
5519	// The cluster parameter group family name.
5520	//
5521	// DBParameterGroupFamily is a required field
5522	DBParameterGroupFamily *string `type:"string" required:"true"`
5523
5524	// The description for the cluster parameter group.
5525	//
5526	// Description is a required field
5527	Description *string `type:"string" required:"true"`
5528
5529	// The tags to be assigned to the cluster parameter group.
5530	Tags []*Tag `locationNameList:"Tag" type:"list"`
5531}
5532
5533// String returns the string representation
5534func (s CreateDBClusterParameterGroupInput) String() string {
5535	return awsutil.Prettify(s)
5536}
5537
5538// GoString returns the string representation
5539func (s CreateDBClusterParameterGroupInput) GoString() string {
5540	return s.String()
5541}
5542
5543// Validate inspects the fields of the type to determine if they are valid.
5544func (s *CreateDBClusterParameterGroupInput) Validate() error {
5545	invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterParameterGroupInput"}
5546	if s.DBClusterParameterGroupName == nil {
5547		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
5548	}
5549	if s.DBParameterGroupFamily == nil {
5550		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupFamily"))
5551	}
5552	if s.Description == nil {
5553		invalidParams.Add(request.NewErrParamRequired("Description"))
5554	}
5555
5556	if invalidParams.Len() > 0 {
5557		return invalidParams
5558	}
5559	return nil
5560}
5561
5562// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
5563func (s *CreateDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *CreateDBClusterParameterGroupInput {
5564	s.DBClusterParameterGroupName = &v
5565	return s
5566}
5567
5568// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
5569func (s *CreateDBClusterParameterGroupInput) SetDBParameterGroupFamily(v string) *CreateDBClusterParameterGroupInput {
5570	s.DBParameterGroupFamily = &v
5571	return s
5572}
5573
5574// SetDescription sets the Description field's value.
5575func (s *CreateDBClusterParameterGroupInput) SetDescription(v string) *CreateDBClusterParameterGroupInput {
5576	s.Description = &v
5577	return s
5578}
5579
5580// SetTags sets the Tags field's value.
5581func (s *CreateDBClusterParameterGroupInput) SetTags(v []*Tag) *CreateDBClusterParameterGroupInput {
5582	s.Tags = v
5583	return s
5584}
5585
5586type CreateDBClusterParameterGroupOutput struct {
5587	_ struct{} `type:"structure"`
5588
5589	// Detailed information about a cluster parameter group.
5590	DBClusterParameterGroup *DBClusterParameterGroup `type:"structure"`
5591}
5592
5593// String returns the string representation
5594func (s CreateDBClusterParameterGroupOutput) String() string {
5595	return awsutil.Prettify(s)
5596}
5597
5598// GoString returns the string representation
5599func (s CreateDBClusterParameterGroupOutput) GoString() string {
5600	return s.String()
5601}
5602
5603// SetDBClusterParameterGroup sets the DBClusterParameterGroup field's value.
5604func (s *CreateDBClusterParameterGroupOutput) SetDBClusterParameterGroup(v *DBClusterParameterGroup) *CreateDBClusterParameterGroupOutput {
5605	s.DBClusterParameterGroup = v
5606	return s
5607}
5608
5609// Represents the input of CreateDBClusterSnapshot.
5610type CreateDBClusterSnapshotInput struct {
5611	_ struct{} `type:"structure"`
5612
5613	// The identifier of the cluster to create a snapshot for. This parameter is
5614	// not case sensitive.
5615	//
5616	// Constraints:
5617	//
5618	//    * Must match the identifier of an existing DBCluster.
5619	//
5620	// Example: my-cluster
5621	//
5622	// DBClusterIdentifier is a required field
5623	DBClusterIdentifier *string `type:"string" required:"true"`
5624
5625	// The identifier of the cluster snapshot. This parameter is stored as a lowercase
5626	// string.
5627	//
5628	// Constraints:
5629	//
5630	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
5631	//
5632	//    * The first character must be a letter.
5633	//
5634	//    * Cannot end with a hyphen or contain two consecutive hyphens.
5635	//
5636	// Example: my-cluster-snapshot1
5637	//
5638	// DBClusterSnapshotIdentifier is a required field
5639	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
5640
5641	// The tags to be assigned to the cluster snapshot.
5642	Tags []*Tag `locationNameList:"Tag" type:"list"`
5643}
5644
5645// String returns the string representation
5646func (s CreateDBClusterSnapshotInput) String() string {
5647	return awsutil.Prettify(s)
5648}
5649
5650// GoString returns the string representation
5651func (s CreateDBClusterSnapshotInput) GoString() string {
5652	return s.String()
5653}
5654
5655// Validate inspects the fields of the type to determine if they are valid.
5656func (s *CreateDBClusterSnapshotInput) Validate() error {
5657	invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterSnapshotInput"}
5658	if s.DBClusterIdentifier == nil {
5659		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
5660	}
5661	if s.DBClusterSnapshotIdentifier == nil {
5662		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
5663	}
5664
5665	if invalidParams.Len() > 0 {
5666		return invalidParams
5667	}
5668	return nil
5669}
5670
5671// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
5672func (s *CreateDBClusterSnapshotInput) SetDBClusterIdentifier(v string) *CreateDBClusterSnapshotInput {
5673	s.DBClusterIdentifier = &v
5674	return s
5675}
5676
5677// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
5678func (s *CreateDBClusterSnapshotInput) SetDBClusterSnapshotIdentifier(v string) *CreateDBClusterSnapshotInput {
5679	s.DBClusterSnapshotIdentifier = &v
5680	return s
5681}
5682
5683// SetTags sets the Tags field's value.
5684func (s *CreateDBClusterSnapshotInput) SetTags(v []*Tag) *CreateDBClusterSnapshotInput {
5685	s.Tags = v
5686	return s
5687}
5688
5689type CreateDBClusterSnapshotOutput struct {
5690	_ struct{} `type:"structure"`
5691
5692	// Detailed information about a cluster snapshot.
5693	DBClusterSnapshot *DBClusterSnapshot `type:"structure"`
5694}
5695
5696// String returns the string representation
5697func (s CreateDBClusterSnapshotOutput) String() string {
5698	return awsutil.Prettify(s)
5699}
5700
5701// GoString returns the string representation
5702func (s CreateDBClusterSnapshotOutput) GoString() string {
5703	return s.String()
5704}
5705
5706// SetDBClusterSnapshot sets the DBClusterSnapshot field's value.
5707func (s *CreateDBClusterSnapshotOutput) SetDBClusterSnapshot(v *DBClusterSnapshot) *CreateDBClusterSnapshotOutput {
5708	s.DBClusterSnapshot = v
5709	return s
5710}
5711
5712// Represents the input to CreateDBInstance.
5713type CreateDBInstanceInput struct {
5714	_ struct{} `type:"structure"`
5715
5716	// Indicates that minor engine upgrades are applied automatically to the instance
5717	// during the maintenance window.
5718	//
5719	// Default: true
5720	AutoMinorVersionUpgrade *bool `type:"boolean"`
5721
5722	// The Amazon EC2 Availability Zone that the instance is created in.
5723	//
5724	// Default: A random, system-chosen Availability Zone in the endpoint's AWS
5725	// Region.
5726	//
5727	// Example: us-east-1d
5728	AvailabilityZone *string `type:"string"`
5729
5730	// The identifier of the cluster that the instance will belong to.
5731	//
5732	// DBClusterIdentifier is a required field
5733	DBClusterIdentifier *string `type:"string" required:"true"`
5734
5735	// The compute and memory capacity of the instance; for example, db.r5.large.
5736	//
5737	// DBInstanceClass is a required field
5738	DBInstanceClass *string `type:"string" required:"true"`
5739
5740	// The instance identifier. This parameter is stored as a lowercase string.
5741	//
5742	// Constraints:
5743	//
5744	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
5745	//
5746	//    * The first character must be a letter.
5747	//
5748	//    * Cannot end with a hyphen or contain two consecutive hyphens.
5749	//
5750	// Example: mydbinstance
5751	//
5752	// DBInstanceIdentifier is a required field
5753	DBInstanceIdentifier *string `type:"string" required:"true"`
5754
5755	// The name of the database engine to be used for this instance.
5756	//
5757	// Valid value: docdb
5758	//
5759	// Engine is a required field
5760	Engine *string `type:"string" required:"true"`
5761
5762	// The time range each week during which system maintenance can occur, in Universal
5763	// Coordinated Time (UTC).
5764	//
5765	// Format: ddd:hh24:mi-ddd:hh24:mi
5766	//
5767	// The default is a 30-minute window selected at random from an 8-hour block
5768	// of time for each AWS Region, occurring on a random day of the week.
5769	//
5770	// Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun
5771	//
5772	// Constraints: Minimum 30-minute window.
5773	PreferredMaintenanceWindow *string `type:"string"`
5774
5775	// A value that specifies the order in which an Amazon DocumentDB replica is
5776	// promoted to the primary instance after a failure of the existing primary
5777	// instance.
5778	//
5779	// Default: 1
5780	//
5781	// Valid values: 0-15
5782	PromotionTier *int64 `type:"integer"`
5783
5784	// The tags to be assigned to the instance. You can assign up to 10 tags to
5785	// an instance.
5786	Tags []*Tag `locationNameList:"Tag" type:"list"`
5787}
5788
5789// String returns the string representation
5790func (s CreateDBInstanceInput) String() string {
5791	return awsutil.Prettify(s)
5792}
5793
5794// GoString returns the string representation
5795func (s CreateDBInstanceInput) GoString() string {
5796	return s.String()
5797}
5798
5799// Validate inspects the fields of the type to determine if they are valid.
5800func (s *CreateDBInstanceInput) Validate() error {
5801	invalidParams := request.ErrInvalidParams{Context: "CreateDBInstanceInput"}
5802	if s.DBClusterIdentifier == nil {
5803		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
5804	}
5805	if s.DBInstanceClass == nil {
5806		invalidParams.Add(request.NewErrParamRequired("DBInstanceClass"))
5807	}
5808	if s.DBInstanceIdentifier == nil {
5809		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
5810	}
5811	if s.Engine == nil {
5812		invalidParams.Add(request.NewErrParamRequired("Engine"))
5813	}
5814
5815	if invalidParams.Len() > 0 {
5816		return invalidParams
5817	}
5818	return nil
5819}
5820
5821// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
5822func (s *CreateDBInstanceInput) SetAutoMinorVersionUpgrade(v bool) *CreateDBInstanceInput {
5823	s.AutoMinorVersionUpgrade = &v
5824	return s
5825}
5826
5827// SetAvailabilityZone sets the AvailabilityZone field's value.
5828func (s *CreateDBInstanceInput) SetAvailabilityZone(v string) *CreateDBInstanceInput {
5829	s.AvailabilityZone = &v
5830	return s
5831}
5832
5833// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
5834func (s *CreateDBInstanceInput) SetDBClusterIdentifier(v string) *CreateDBInstanceInput {
5835	s.DBClusterIdentifier = &v
5836	return s
5837}
5838
5839// SetDBInstanceClass sets the DBInstanceClass field's value.
5840func (s *CreateDBInstanceInput) SetDBInstanceClass(v string) *CreateDBInstanceInput {
5841	s.DBInstanceClass = &v
5842	return s
5843}
5844
5845// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
5846func (s *CreateDBInstanceInput) SetDBInstanceIdentifier(v string) *CreateDBInstanceInput {
5847	s.DBInstanceIdentifier = &v
5848	return s
5849}
5850
5851// SetEngine sets the Engine field's value.
5852func (s *CreateDBInstanceInput) SetEngine(v string) *CreateDBInstanceInput {
5853	s.Engine = &v
5854	return s
5855}
5856
5857// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
5858func (s *CreateDBInstanceInput) SetPreferredMaintenanceWindow(v string) *CreateDBInstanceInput {
5859	s.PreferredMaintenanceWindow = &v
5860	return s
5861}
5862
5863// SetPromotionTier sets the PromotionTier field's value.
5864func (s *CreateDBInstanceInput) SetPromotionTier(v int64) *CreateDBInstanceInput {
5865	s.PromotionTier = &v
5866	return s
5867}
5868
5869// SetTags sets the Tags field's value.
5870func (s *CreateDBInstanceInput) SetTags(v []*Tag) *CreateDBInstanceInput {
5871	s.Tags = v
5872	return s
5873}
5874
5875type CreateDBInstanceOutput struct {
5876	_ struct{} `type:"structure"`
5877
5878	// Detailed information about an instance.
5879	DBInstance *DBInstance `type:"structure"`
5880}
5881
5882// String returns the string representation
5883func (s CreateDBInstanceOutput) String() string {
5884	return awsutil.Prettify(s)
5885}
5886
5887// GoString returns the string representation
5888func (s CreateDBInstanceOutput) GoString() string {
5889	return s.String()
5890}
5891
5892// SetDBInstance sets the DBInstance field's value.
5893func (s *CreateDBInstanceOutput) SetDBInstance(v *DBInstance) *CreateDBInstanceOutput {
5894	s.DBInstance = v
5895	return s
5896}
5897
5898// Represents the input to CreateDBSubnetGroup.
5899type CreateDBSubnetGroupInput struct {
5900	_ struct{} `type:"structure"`
5901
5902	// The description for the subnet group.
5903	//
5904	// DBSubnetGroupDescription is a required field
5905	DBSubnetGroupDescription *string `type:"string" required:"true"`
5906
5907	// The name for the subnet group. This value is stored as a lowercase string.
5908	//
5909	// Constraints: Must contain no more than 255 letters, numbers, periods, underscores,
5910	// spaces, or hyphens. Must not be default.
5911	//
5912	// Example: mySubnetgroup
5913	//
5914	// DBSubnetGroupName is a required field
5915	DBSubnetGroupName *string `type:"string" required:"true"`
5916
5917	// The Amazon EC2 subnet IDs for the subnet group.
5918	//
5919	// SubnetIds is a required field
5920	SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list" required:"true"`
5921
5922	// The tags to be assigned to the subnet group.
5923	Tags []*Tag `locationNameList:"Tag" type:"list"`
5924}
5925
5926// String returns the string representation
5927func (s CreateDBSubnetGroupInput) String() string {
5928	return awsutil.Prettify(s)
5929}
5930
5931// GoString returns the string representation
5932func (s CreateDBSubnetGroupInput) GoString() string {
5933	return s.String()
5934}
5935
5936// Validate inspects the fields of the type to determine if they are valid.
5937func (s *CreateDBSubnetGroupInput) Validate() error {
5938	invalidParams := request.ErrInvalidParams{Context: "CreateDBSubnetGroupInput"}
5939	if s.DBSubnetGroupDescription == nil {
5940		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupDescription"))
5941	}
5942	if s.DBSubnetGroupName == nil {
5943		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupName"))
5944	}
5945	if s.SubnetIds == nil {
5946		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
5947	}
5948
5949	if invalidParams.Len() > 0 {
5950		return invalidParams
5951	}
5952	return nil
5953}
5954
5955// SetDBSubnetGroupDescription sets the DBSubnetGroupDescription field's value.
5956func (s *CreateDBSubnetGroupInput) SetDBSubnetGroupDescription(v string) *CreateDBSubnetGroupInput {
5957	s.DBSubnetGroupDescription = &v
5958	return s
5959}
5960
5961// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
5962func (s *CreateDBSubnetGroupInput) SetDBSubnetGroupName(v string) *CreateDBSubnetGroupInput {
5963	s.DBSubnetGroupName = &v
5964	return s
5965}
5966
5967// SetSubnetIds sets the SubnetIds field's value.
5968func (s *CreateDBSubnetGroupInput) SetSubnetIds(v []*string) *CreateDBSubnetGroupInput {
5969	s.SubnetIds = v
5970	return s
5971}
5972
5973// SetTags sets the Tags field's value.
5974func (s *CreateDBSubnetGroupInput) SetTags(v []*Tag) *CreateDBSubnetGroupInput {
5975	s.Tags = v
5976	return s
5977}
5978
5979type CreateDBSubnetGroupOutput struct {
5980	_ struct{} `type:"structure"`
5981
5982	// Detailed information about a subnet group.
5983	DBSubnetGroup *DBSubnetGroup `type:"structure"`
5984}
5985
5986// String returns the string representation
5987func (s CreateDBSubnetGroupOutput) String() string {
5988	return awsutil.Prettify(s)
5989}
5990
5991// GoString returns the string representation
5992func (s CreateDBSubnetGroupOutput) GoString() string {
5993	return s.String()
5994}
5995
5996// SetDBSubnetGroup sets the DBSubnetGroup field's value.
5997func (s *CreateDBSubnetGroupOutput) SetDBSubnetGroup(v *DBSubnetGroup) *CreateDBSubnetGroupOutput {
5998	s.DBSubnetGroup = v
5999	return s
6000}
6001
6002// Detailed information about a cluster.
6003type DBCluster struct {
6004	_ struct{} `type:"structure"`
6005
6006	// Provides a list of the AWS Identity and Access Management (IAM) roles that
6007	// are associated with the cluster. IAM roles that are associated with a cluster
6008	// grant permission for the cluster to access other AWS services on your behalf.
6009	AssociatedRoles []*DBClusterRole `locationNameList:"DBClusterRole" type:"list"`
6010
6011	// Provides the list of Amazon EC2 Availability Zones that instances in the
6012	// cluster can be created in.
6013	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
6014
6015	// Specifies the number of days for which automatic snapshots are retained.
6016	BackupRetentionPeriod *int64 `type:"integer"`
6017
6018	// Specifies the time when the cluster was created, in Universal Coordinated
6019	// Time (UTC).
6020	ClusterCreateTime *time.Time `type:"timestamp"`
6021
6022	// The Amazon Resource Name (ARN) for the cluster.
6023	DBClusterArn *string `type:"string"`
6024
6025	// Contains a user-supplied cluster identifier. This identifier is the unique
6026	// key that identifies a cluster.
6027	DBClusterIdentifier *string `type:"string"`
6028
6029	// Provides the list of instances that make up the cluster.
6030	DBClusterMembers []*DBClusterMember `locationNameList:"DBClusterMember" type:"list"`
6031
6032	// Specifies the name of the cluster parameter group for the cluster.
6033	DBClusterParameterGroup *string `type:"string"`
6034
6035	// Specifies information on the subnet group that is associated with the cluster,
6036	// including the name, description, and subnets in the subnet group.
6037	DBSubnetGroup *string `type:"string"`
6038
6039	// The AWS Region-unique, immutable identifier for the cluster. This identifier
6040	// is found in AWS CloudTrail log entries whenever the AWS KMS key for the cluster
6041	// is accessed.
6042	DbClusterResourceId *string `type:"string"`
6043
6044	// Specifies whether this cluster can be deleted. If DeletionProtection is enabled,
6045	// the cluster cannot be deleted unless it is modified and DeletionProtection
6046	// is disabled. DeletionProtection protects clusters from being accidentally
6047	// deleted.
6048	DeletionProtection *bool `type:"boolean"`
6049
6050	// The earliest time to which a database can be restored with point-in-time
6051	// restore.
6052	EarliestRestorableTime *time.Time `type:"timestamp"`
6053
6054	// A list of log types that this cluster is configured to export to Amazon CloudWatch
6055	// Logs.
6056	EnabledCloudwatchLogsExports []*string `type:"list"`
6057
6058	// Specifies the connection endpoint for the primary instance of the cluster.
6059	Endpoint *string `type:"string"`
6060
6061	// Provides the name of the database engine to be used for this cluster.
6062	Engine *string `type:"string"`
6063
6064	// Indicates the database engine version.
6065	EngineVersion *string `type:"string"`
6066
6067	// Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.
6068	HostedZoneId *string `type:"string"`
6069
6070	// If StorageEncrypted is true, the AWS KMS key identifier for the encrypted
6071	// cluster.
6072	KmsKeyId *string `type:"string"`
6073
6074	// Specifies the latest time to which a database can be restored with point-in-time
6075	// restore.
6076	LatestRestorableTime *time.Time `type:"timestamp"`
6077
6078	// Contains the master user name for the cluster.
6079	MasterUsername *string `type:"string"`
6080
6081	// Specifies whether the cluster has instances in multiple Availability Zones.
6082	MultiAZ *bool `type:"boolean"`
6083
6084	// Specifies the progress of the operation as a percentage.
6085	PercentProgress *string `type:"string"`
6086
6087	// Specifies the port that the database engine is listening on.
6088	Port *int64 `type:"integer"`
6089
6090	// Specifies the daily time range during which automated backups are created
6091	// if automated backups are enabled, as determined by the BackupRetentionPeriod.
6092	PreferredBackupWindow *string `type:"string"`
6093
6094	// Specifies the weekly time range during which system maintenance can occur,
6095	// in Universal Coordinated Time (UTC).
6096	PreferredMaintenanceWindow *string `type:"string"`
6097
6098	// The reader endpoint for the cluster. The reader endpoint for a cluster load
6099	// balances connections across the Amazon DocumentDB replicas that are available
6100	// in a cluster. As clients request new connections to the reader endpoint,
6101	// Amazon DocumentDB distributes the connection requests among the Amazon DocumentDB
6102	// replicas in the cluster. This functionality can help balance your read workload
6103	// across multiple Amazon DocumentDB replicas in your cluster.
6104	//
6105	// If a failover occurs, and the Amazon DocumentDB replica that you are connected
6106	// to is promoted to be the primary instance, your connection is dropped. To
6107	// continue sending your read workload to other Amazon DocumentDB replicas in
6108	// the cluster, you can then reconnect to the reader endpoint.
6109	ReaderEndpoint *string `type:"string"`
6110
6111	// Specifies the current state of this cluster.
6112	Status *string `type:"string"`
6113
6114	// Specifies whether the cluster is encrypted.
6115	StorageEncrypted *bool `type:"boolean"`
6116
6117	// Provides a list of virtual private cloud (VPC) security groups that the cluster
6118	// belongs to.
6119	VpcSecurityGroups []*VpcSecurityGroupMembership `locationNameList:"VpcSecurityGroupMembership" type:"list"`
6120}
6121
6122// String returns the string representation
6123func (s DBCluster) String() string {
6124	return awsutil.Prettify(s)
6125}
6126
6127// GoString returns the string representation
6128func (s DBCluster) GoString() string {
6129	return s.String()
6130}
6131
6132// SetAssociatedRoles sets the AssociatedRoles field's value.
6133func (s *DBCluster) SetAssociatedRoles(v []*DBClusterRole) *DBCluster {
6134	s.AssociatedRoles = v
6135	return s
6136}
6137
6138// SetAvailabilityZones sets the AvailabilityZones field's value.
6139func (s *DBCluster) SetAvailabilityZones(v []*string) *DBCluster {
6140	s.AvailabilityZones = v
6141	return s
6142}
6143
6144// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
6145func (s *DBCluster) SetBackupRetentionPeriod(v int64) *DBCluster {
6146	s.BackupRetentionPeriod = &v
6147	return s
6148}
6149
6150// SetClusterCreateTime sets the ClusterCreateTime field's value.
6151func (s *DBCluster) SetClusterCreateTime(v time.Time) *DBCluster {
6152	s.ClusterCreateTime = &v
6153	return s
6154}
6155
6156// SetDBClusterArn sets the DBClusterArn field's value.
6157func (s *DBCluster) SetDBClusterArn(v string) *DBCluster {
6158	s.DBClusterArn = &v
6159	return s
6160}
6161
6162// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
6163func (s *DBCluster) SetDBClusterIdentifier(v string) *DBCluster {
6164	s.DBClusterIdentifier = &v
6165	return s
6166}
6167
6168// SetDBClusterMembers sets the DBClusterMembers field's value.
6169func (s *DBCluster) SetDBClusterMembers(v []*DBClusterMember) *DBCluster {
6170	s.DBClusterMembers = v
6171	return s
6172}
6173
6174// SetDBClusterParameterGroup sets the DBClusterParameterGroup field's value.
6175func (s *DBCluster) SetDBClusterParameterGroup(v string) *DBCluster {
6176	s.DBClusterParameterGroup = &v
6177	return s
6178}
6179
6180// SetDBSubnetGroup sets the DBSubnetGroup field's value.
6181func (s *DBCluster) SetDBSubnetGroup(v string) *DBCluster {
6182	s.DBSubnetGroup = &v
6183	return s
6184}
6185
6186// SetDbClusterResourceId sets the DbClusterResourceId field's value.
6187func (s *DBCluster) SetDbClusterResourceId(v string) *DBCluster {
6188	s.DbClusterResourceId = &v
6189	return s
6190}
6191
6192// SetDeletionProtection sets the DeletionProtection field's value.
6193func (s *DBCluster) SetDeletionProtection(v bool) *DBCluster {
6194	s.DeletionProtection = &v
6195	return s
6196}
6197
6198// SetEarliestRestorableTime sets the EarliestRestorableTime field's value.
6199func (s *DBCluster) SetEarliestRestorableTime(v time.Time) *DBCluster {
6200	s.EarliestRestorableTime = &v
6201	return s
6202}
6203
6204// SetEnabledCloudwatchLogsExports sets the EnabledCloudwatchLogsExports field's value.
6205func (s *DBCluster) SetEnabledCloudwatchLogsExports(v []*string) *DBCluster {
6206	s.EnabledCloudwatchLogsExports = v
6207	return s
6208}
6209
6210// SetEndpoint sets the Endpoint field's value.
6211func (s *DBCluster) SetEndpoint(v string) *DBCluster {
6212	s.Endpoint = &v
6213	return s
6214}
6215
6216// SetEngine sets the Engine field's value.
6217func (s *DBCluster) SetEngine(v string) *DBCluster {
6218	s.Engine = &v
6219	return s
6220}
6221
6222// SetEngineVersion sets the EngineVersion field's value.
6223func (s *DBCluster) SetEngineVersion(v string) *DBCluster {
6224	s.EngineVersion = &v
6225	return s
6226}
6227
6228// SetHostedZoneId sets the HostedZoneId field's value.
6229func (s *DBCluster) SetHostedZoneId(v string) *DBCluster {
6230	s.HostedZoneId = &v
6231	return s
6232}
6233
6234// SetKmsKeyId sets the KmsKeyId field's value.
6235func (s *DBCluster) SetKmsKeyId(v string) *DBCluster {
6236	s.KmsKeyId = &v
6237	return s
6238}
6239
6240// SetLatestRestorableTime sets the LatestRestorableTime field's value.
6241func (s *DBCluster) SetLatestRestorableTime(v time.Time) *DBCluster {
6242	s.LatestRestorableTime = &v
6243	return s
6244}
6245
6246// SetMasterUsername sets the MasterUsername field's value.
6247func (s *DBCluster) SetMasterUsername(v string) *DBCluster {
6248	s.MasterUsername = &v
6249	return s
6250}
6251
6252// SetMultiAZ sets the MultiAZ field's value.
6253func (s *DBCluster) SetMultiAZ(v bool) *DBCluster {
6254	s.MultiAZ = &v
6255	return s
6256}
6257
6258// SetPercentProgress sets the PercentProgress field's value.
6259func (s *DBCluster) SetPercentProgress(v string) *DBCluster {
6260	s.PercentProgress = &v
6261	return s
6262}
6263
6264// SetPort sets the Port field's value.
6265func (s *DBCluster) SetPort(v int64) *DBCluster {
6266	s.Port = &v
6267	return s
6268}
6269
6270// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
6271func (s *DBCluster) SetPreferredBackupWindow(v string) *DBCluster {
6272	s.PreferredBackupWindow = &v
6273	return s
6274}
6275
6276// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
6277func (s *DBCluster) SetPreferredMaintenanceWindow(v string) *DBCluster {
6278	s.PreferredMaintenanceWindow = &v
6279	return s
6280}
6281
6282// SetReaderEndpoint sets the ReaderEndpoint field's value.
6283func (s *DBCluster) SetReaderEndpoint(v string) *DBCluster {
6284	s.ReaderEndpoint = &v
6285	return s
6286}
6287
6288// SetStatus sets the Status field's value.
6289func (s *DBCluster) SetStatus(v string) *DBCluster {
6290	s.Status = &v
6291	return s
6292}
6293
6294// SetStorageEncrypted sets the StorageEncrypted field's value.
6295func (s *DBCluster) SetStorageEncrypted(v bool) *DBCluster {
6296	s.StorageEncrypted = &v
6297	return s
6298}
6299
6300// SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
6301func (s *DBCluster) SetVpcSecurityGroups(v []*VpcSecurityGroupMembership) *DBCluster {
6302	s.VpcSecurityGroups = v
6303	return s
6304}
6305
6306// Contains information about an instance that is part of a cluster.
6307type DBClusterMember struct {
6308	_ struct{} `type:"structure"`
6309
6310	// Specifies the status of the cluster parameter group for this member of the
6311	// DB cluster.
6312	DBClusterParameterGroupStatus *string `type:"string"`
6313
6314	// Specifies the instance identifier for this member of the cluster.
6315	DBInstanceIdentifier *string `type:"string"`
6316
6317	// A value that is true if the cluster member is the primary instance for the
6318	// cluster and false otherwise.
6319	IsClusterWriter *bool `type:"boolean"`
6320
6321	// A value that specifies the order in which an Amazon DocumentDB replica is
6322	// promoted to the primary instance after a failure of the existing primary
6323	// instance.
6324	PromotionTier *int64 `type:"integer"`
6325}
6326
6327// String returns the string representation
6328func (s DBClusterMember) String() string {
6329	return awsutil.Prettify(s)
6330}
6331
6332// GoString returns the string representation
6333func (s DBClusterMember) GoString() string {
6334	return s.String()
6335}
6336
6337// SetDBClusterParameterGroupStatus sets the DBClusterParameterGroupStatus field's value.
6338func (s *DBClusterMember) SetDBClusterParameterGroupStatus(v string) *DBClusterMember {
6339	s.DBClusterParameterGroupStatus = &v
6340	return s
6341}
6342
6343// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
6344func (s *DBClusterMember) SetDBInstanceIdentifier(v string) *DBClusterMember {
6345	s.DBInstanceIdentifier = &v
6346	return s
6347}
6348
6349// SetIsClusterWriter sets the IsClusterWriter field's value.
6350func (s *DBClusterMember) SetIsClusterWriter(v bool) *DBClusterMember {
6351	s.IsClusterWriter = &v
6352	return s
6353}
6354
6355// SetPromotionTier sets the PromotionTier field's value.
6356func (s *DBClusterMember) SetPromotionTier(v int64) *DBClusterMember {
6357	s.PromotionTier = &v
6358	return s
6359}
6360
6361// Detailed information about a cluster parameter group.
6362type DBClusterParameterGroup struct {
6363	_ struct{} `type:"structure"`
6364
6365	// The Amazon Resource Name (ARN) for the cluster parameter group.
6366	DBClusterParameterGroupArn *string `type:"string"`
6367
6368	// Provides the name of the cluster parameter group.
6369	DBClusterParameterGroupName *string `type:"string"`
6370
6371	// Provides the name of the parameter group family that this cluster parameter
6372	// group is compatible with.
6373	DBParameterGroupFamily *string `type:"string"`
6374
6375	// Provides the customer-specified description for this cluster parameter group.
6376	Description *string `type:"string"`
6377}
6378
6379// String returns the string representation
6380func (s DBClusterParameterGroup) String() string {
6381	return awsutil.Prettify(s)
6382}
6383
6384// GoString returns the string representation
6385func (s DBClusterParameterGroup) GoString() string {
6386	return s.String()
6387}
6388
6389// SetDBClusterParameterGroupArn sets the DBClusterParameterGroupArn field's value.
6390func (s *DBClusterParameterGroup) SetDBClusterParameterGroupArn(v string) *DBClusterParameterGroup {
6391	s.DBClusterParameterGroupArn = &v
6392	return s
6393}
6394
6395// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
6396func (s *DBClusterParameterGroup) SetDBClusterParameterGroupName(v string) *DBClusterParameterGroup {
6397	s.DBClusterParameterGroupName = &v
6398	return s
6399}
6400
6401// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
6402func (s *DBClusterParameterGroup) SetDBParameterGroupFamily(v string) *DBClusterParameterGroup {
6403	s.DBParameterGroupFamily = &v
6404	return s
6405}
6406
6407// SetDescription sets the Description field's value.
6408func (s *DBClusterParameterGroup) SetDescription(v string) *DBClusterParameterGroup {
6409	s.Description = &v
6410	return s
6411}
6412
6413// Describes an AWS Identity and Access Management (IAM) role that is associated
6414// with a cluster.
6415type DBClusterRole struct {
6416	_ struct{} `type:"structure"`
6417
6418	// The Amazon Resource Name (ARN) of the IAM role that is associated with the
6419	// DB cluster.
6420	RoleArn *string `type:"string"`
6421
6422	// Describes the state of association between the IAM role and the cluster.
6423	// The Status property returns one of the following values:
6424	//
6425	//    * ACTIVE - The IAM role ARN is associated with the cluster and can be
6426	//    used to access other AWS services on your behalf.
6427	//
6428	//    * PENDING - The IAM role ARN is being associated with the DB cluster.
6429	//
6430	//    * INVALID - The IAM role ARN is associated with the cluster, but the cluster
6431	//    cannot assume the IAM role to access other AWS services on your behalf.
6432	Status *string `type:"string"`
6433}
6434
6435// String returns the string representation
6436func (s DBClusterRole) String() string {
6437	return awsutil.Prettify(s)
6438}
6439
6440// GoString returns the string representation
6441func (s DBClusterRole) GoString() string {
6442	return s.String()
6443}
6444
6445// SetRoleArn sets the RoleArn field's value.
6446func (s *DBClusterRole) SetRoleArn(v string) *DBClusterRole {
6447	s.RoleArn = &v
6448	return s
6449}
6450
6451// SetStatus sets the Status field's value.
6452func (s *DBClusterRole) SetStatus(v string) *DBClusterRole {
6453	s.Status = &v
6454	return s
6455}
6456
6457// Detailed information about a cluster snapshot.
6458type DBClusterSnapshot struct {
6459	_ struct{} `type:"structure"`
6460
6461	// Provides the list of Amazon EC2 Availability Zones that instances in the
6462	// cluster snapshot can be restored in.
6463	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
6464
6465	// Specifies the time when the cluster was created, in Universal Coordinated
6466	// Time (UTC).
6467	ClusterCreateTime *time.Time `type:"timestamp"`
6468
6469	// Specifies the cluster identifier of the cluster that this cluster snapshot
6470	// was created from.
6471	DBClusterIdentifier *string `type:"string"`
6472
6473	// The Amazon Resource Name (ARN) for the cluster snapshot.
6474	DBClusterSnapshotArn *string `type:"string"`
6475
6476	// Specifies the identifier for the cluster snapshot.
6477	DBClusterSnapshotIdentifier *string `type:"string"`
6478
6479	// Specifies the name of the database engine.
6480	Engine *string `type:"string"`
6481
6482	// Provides the version of the database engine for this cluster snapshot.
6483	EngineVersion *string `type:"string"`
6484
6485	// If StorageEncrypted is true, the AWS KMS key identifier for the encrypted
6486	// cluster snapshot.
6487	KmsKeyId *string `type:"string"`
6488
6489	// Provides the master user name for the cluster snapshot.
6490	MasterUsername *string `type:"string"`
6491
6492	// Specifies the percentage of the estimated data that has been transferred.
6493	PercentProgress *int64 `type:"integer"`
6494
6495	// Specifies the port that the cluster was listening on at the time of the snapshot.
6496	Port *int64 `type:"integer"`
6497
6498	// Provides the time when the snapshot was taken, in UTC.
6499	SnapshotCreateTime *time.Time `type:"timestamp"`
6500
6501	// Provides the type of the cluster snapshot.
6502	SnapshotType *string `type:"string"`
6503
6504	// If the cluster snapshot was copied from a source cluster snapshot, the ARN
6505	// for the source cluster snapshot; otherwise, a null value.
6506	SourceDBClusterSnapshotArn *string `type:"string"`
6507
6508	// Specifies the status of this cluster snapshot.
6509	Status *string `type:"string"`
6510
6511	// Specifies whether the cluster snapshot is encrypted.
6512	StorageEncrypted *bool `type:"boolean"`
6513
6514	// Provides the virtual private cloud (VPC) ID that is associated with the cluster
6515	// snapshot.
6516	VpcId *string `type:"string"`
6517}
6518
6519// String returns the string representation
6520func (s DBClusterSnapshot) String() string {
6521	return awsutil.Prettify(s)
6522}
6523
6524// GoString returns the string representation
6525func (s DBClusterSnapshot) GoString() string {
6526	return s.String()
6527}
6528
6529// SetAvailabilityZones sets the AvailabilityZones field's value.
6530func (s *DBClusterSnapshot) SetAvailabilityZones(v []*string) *DBClusterSnapshot {
6531	s.AvailabilityZones = v
6532	return s
6533}
6534
6535// SetClusterCreateTime sets the ClusterCreateTime field's value.
6536func (s *DBClusterSnapshot) SetClusterCreateTime(v time.Time) *DBClusterSnapshot {
6537	s.ClusterCreateTime = &v
6538	return s
6539}
6540
6541// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
6542func (s *DBClusterSnapshot) SetDBClusterIdentifier(v string) *DBClusterSnapshot {
6543	s.DBClusterIdentifier = &v
6544	return s
6545}
6546
6547// SetDBClusterSnapshotArn sets the DBClusterSnapshotArn field's value.
6548func (s *DBClusterSnapshot) SetDBClusterSnapshotArn(v string) *DBClusterSnapshot {
6549	s.DBClusterSnapshotArn = &v
6550	return s
6551}
6552
6553// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
6554func (s *DBClusterSnapshot) SetDBClusterSnapshotIdentifier(v string) *DBClusterSnapshot {
6555	s.DBClusterSnapshotIdentifier = &v
6556	return s
6557}
6558
6559// SetEngine sets the Engine field's value.
6560func (s *DBClusterSnapshot) SetEngine(v string) *DBClusterSnapshot {
6561	s.Engine = &v
6562	return s
6563}
6564
6565// SetEngineVersion sets the EngineVersion field's value.
6566func (s *DBClusterSnapshot) SetEngineVersion(v string) *DBClusterSnapshot {
6567	s.EngineVersion = &v
6568	return s
6569}
6570
6571// SetKmsKeyId sets the KmsKeyId field's value.
6572func (s *DBClusterSnapshot) SetKmsKeyId(v string) *DBClusterSnapshot {
6573	s.KmsKeyId = &v
6574	return s
6575}
6576
6577// SetMasterUsername sets the MasterUsername field's value.
6578func (s *DBClusterSnapshot) SetMasterUsername(v string) *DBClusterSnapshot {
6579	s.MasterUsername = &v
6580	return s
6581}
6582
6583// SetPercentProgress sets the PercentProgress field's value.
6584func (s *DBClusterSnapshot) SetPercentProgress(v int64) *DBClusterSnapshot {
6585	s.PercentProgress = &v
6586	return s
6587}
6588
6589// SetPort sets the Port field's value.
6590func (s *DBClusterSnapshot) SetPort(v int64) *DBClusterSnapshot {
6591	s.Port = &v
6592	return s
6593}
6594
6595// SetSnapshotCreateTime sets the SnapshotCreateTime field's value.
6596func (s *DBClusterSnapshot) SetSnapshotCreateTime(v time.Time) *DBClusterSnapshot {
6597	s.SnapshotCreateTime = &v
6598	return s
6599}
6600
6601// SetSnapshotType sets the SnapshotType field's value.
6602func (s *DBClusterSnapshot) SetSnapshotType(v string) *DBClusterSnapshot {
6603	s.SnapshotType = &v
6604	return s
6605}
6606
6607// SetSourceDBClusterSnapshotArn sets the SourceDBClusterSnapshotArn field's value.
6608func (s *DBClusterSnapshot) SetSourceDBClusterSnapshotArn(v string) *DBClusterSnapshot {
6609	s.SourceDBClusterSnapshotArn = &v
6610	return s
6611}
6612
6613// SetStatus sets the Status field's value.
6614func (s *DBClusterSnapshot) SetStatus(v string) *DBClusterSnapshot {
6615	s.Status = &v
6616	return s
6617}
6618
6619// SetStorageEncrypted sets the StorageEncrypted field's value.
6620func (s *DBClusterSnapshot) SetStorageEncrypted(v bool) *DBClusterSnapshot {
6621	s.StorageEncrypted = &v
6622	return s
6623}
6624
6625// SetVpcId sets the VpcId field's value.
6626func (s *DBClusterSnapshot) SetVpcId(v string) *DBClusterSnapshot {
6627	s.VpcId = &v
6628	return s
6629}
6630
6631// Contains the name and values of a manual cluster snapshot attribute.
6632//
6633// Manual cluster snapshot attributes are used to authorize other AWS accounts
6634// to restore a manual cluster snapshot.
6635type DBClusterSnapshotAttribute struct {
6636	_ struct{} `type:"structure"`
6637
6638	// The name of the manual cluster snapshot attribute.
6639	//
6640	// The attribute named restore refers to the list of AWS accounts that have
6641	// permission to copy or restore the manual cluster snapshot.
6642	AttributeName *string `type:"string"`
6643
6644	// The values for the manual cluster snapshot attribute.
6645	//
6646	// If the AttributeName field is set to restore, then this element returns a
6647	// list of IDs of the AWS accounts that are authorized to copy or restore the
6648	// manual cluster snapshot. If a value of all is in the list, then the manual
6649	// cluster snapshot is public and available for any AWS account to copy or restore.
6650	AttributeValues []*string `locationNameList:"AttributeValue" type:"list"`
6651}
6652
6653// String returns the string representation
6654func (s DBClusterSnapshotAttribute) String() string {
6655	return awsutil.Prettify(s)
6656}
6657
6658// GoString returns the string representation
6659func (s DBClusterSnapshotAttribute) GoString() string {
6660	return s.String()
6661}
6662
6663// SetAttributeName sets the AttributeName field's value.
6664func (s *DBClusterSnapshotAttribute) SetAttributeName(v string) *DBClusterSnapshotAttribute {
6665	s.AttributeName = &v
6666	return s
6667}
6668
6669// SetAttributeValues sets the AttributeValues field's value.
6670func (s *DBClusterSnapshotAttribute) SetAttributeValues(v []*string) *DBClusterSnapshotAttribute {
6671	s.AttributeValues = v
6672	return s
6673}
6674
6675// Detailed information about the attributes that are associated with a cluster
6676// snapshot.
6677type DBClusterSnapshotAttributesResult struct {
6678	_ struct{} `type:"structure"`
6679
6680	// The list of attributes and values for the cluster snapshot.
6681	DBClusterSnapshotAttributes []*DBClusterSnapshotAttribute `locationNameList:"DBClusterSnapshotAttribute" type:"list"`
6682
6683	// The identifier of the cluster snapshot that the attributes apply to.
6684	DBClusterSnapshotIdentifier *string `type:"string"`
6685}
6686
6687// String returns the string representation
6688func (s DBClusterSnapshotAttributesResult) String() string {
6689	return awsutil.Prettify(s)
6690}
6691
6692// GoString returns the string representation
6693func (s DBClusterSnapshotAttributesResult) GoString() string {
6694	return s.String()
6695}
6696
6697// SetDBClusterSnapshotAttributes sets the DBClusterSnapshotAttributes field's value.
6698func (s *DBClusterSnapshotAttributesResult) SetDBClusterSnapshotAttributes(v []*DBClusterSnapshotAttribute) *DBClusterSnapshotAttributesResult {
6699	s.DBClusterSnapshotAttributes = v
6700	return s
6701}
6702
6703// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
6704func (s *DBClusterSnapshotAttributesResult) SetDBClusterSnapshotIdentifier(v string) *DBClusterSnapshotAttributesResult {
6705	s.DBClusterSnapshotIdentifier = &v
6706	return s
6707}
6708
6709// Detailed information about an engine version.
6710type DBEngineVersion struct {
6711	_ struct{} `type:"structure"`
6712
6713	// The description of the database engine.
6714	DBEngineDescription *string `type:"string"`
6715
6716	// The description of the database engine version.
6717	DBEngineVersionDescription *string `type:"string"`
6718
6719	// The name of the parameter group family for the database engine.
6720	DBParameterGroupFamily *string `type:"string"`
6721
6722	// The name of the database engine.
6723	Engine *string `type:"string"`
6724
6725	// The version number of the database engine.
6726	EngineVersion *string `type:"string"`
6727
6728	// The types of logs that the database engine has available for export to Amazon
6729	// CloudWatch Logs.
6730	ExportableLogTypes []*string `type:"list"`
6731
6732	// A value that indicates whether the engine version supports exporting the
6733	// log types specified by ExportableLogTypes to CloudWatch Logs.
6734	SupportsLogExportsToCloudwatchLogs *bool `type:"boolean"`
6735
6736	// A list of engine versions that this database engine version can be upgraded
6737	// to.
6738	ValidUpgradeTarget []*UpgradeTarget `locationNameList:"UpgradeTarget" type:"list"`
6739}
6740
6741// String returns the string representation
6742func (s DBEngineVersion) String() string {
6743	return awsutil.Prettify(s)
6744}
6745
6746// GoString returns the string representation
6747func (s DBEngineVersion) GoString() string {
6748	return s.String()
6749}
6750
6751// SetDBEngineDescription sets the DBEngineDescription field's value.
6752func (s *DBEngineVersion) SetDBEngineDescription(v string) *DBEngineVersion {
6753	s.DBEngineDescription = &v
6754	return s
6755}
6756
6757// SetDBEngineVersionDescription sets the DBEngineVersionDescription field's value.
6758func (s *DBEngineVersion) SetDBEngineVersionDescription(v string) *DBEngineVersion {
6759	s.DBEngineVersionDescription = &v
6760	return s
6761}
6762
6763// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
6764func (s *DBEngineVersion) SetDBParameterGroupFamily(v string) *DBEngineVersion {
6765	s.DBParameterGroupFamily = &v
6766	return s
6767}
6768
6769// SetEngine sets the Engine field's value.
6770func (s *DBEngineVersion) SetEngine(v string) *DBEngineVersion {
6771	s.Engine = &v
6772	return s
6773}
6774
6775// SetEngineVersion sets the EngineVersion field's value.
6776func (s *DBEngineVersion) SetEngineVersion(v string) *DBEngineVersion {
6777	s.EngineVersion = &v
6778	return s
6779}
6780
6781// SetExportableLogTypes sets the ExportableLogTypes field's value.
6782func (s *DBEngineVersion) SetExportableLogTypes(v []*string) *DBEngineVersion {
6783	s.ExportableLogTypes = v
6784	return s
6785}
6786
6787// SetSupportsLogExportsToCloudwatchLogs sets the SupportsLogExportsToCloudwatchLogs field's value.
6788func (s *DBEngineVersion) SetSupportsLogExportsToCloudwatchLogs(v bool) *DBEngineVersion {
6789	s.SupportsLogExportsToCloudwatchLogs = &v
6790	return s
6791}
6792
6793// SetValidUpgradeTarget sets the ValidUpgradeTarget field's value.
6794func (s *DBEngineVersion) SetValidUpgradeTarget(v []*UpgradeTarget) *DBEngineVersion {
6795	s.ValidUpgradeTarget = v
6796	return s
6797}
6798
6799// Detailed information about an instance.
6800type DBInstance struct {
6801	_ struct{} `type:"structure"`
6802
6803	// Indicates that minor version patches are applied automatically.
6804	AutoMinorVersionUpgrade *bool `type:"boolean"`
6805
6806	// Specifies the name of the Availability Zone that the instance is located
6807	// in.
6808	AvailabilityZone *string `type:"string"`
6809
6810	// Specifies the number of days for which automatic snapshots are retained.
6811	BackupRetentionPeriod *int64 `type:"integer"`
6812
6813	// The identifier of the CA certificate for this DB instance.
6814	CACertificateIdentifier *string `type:"string"`
6815
6816	// Contains the name of the cluster that the instance is a member of if the
6817	// instance is a member of a cluster.
6818	DBClusterIdentifier *string `type:"string"`
6819
6820	// The Amazon Resource Name (ARN) for the instance.
6821	DBInstanceArn *string `type:"string"`
6822
6823	// Contains the name of the compute and memory capacity class of the instance.
6824	DBInstanceClass *string `type:"string"`
6825
6826	// Contains a user-provided database identifier. This identifier is the unique
6827	// key that identifies an instance.
6828	DBInstanceIdentifier *string `type:"string"`
6829
6830	// Specifies the current state of this database.
6831	DBInstanceStatus *string `type:"string"`
6832
6833	// Specifies information on the subnet group that is associated with the instance,
6834	// including the name, description, and subnets in the subnet group.
6835	DBSubnetGroup *DBSubnetGroup `type:"structure"`
6836
6837	// The AWS Region-unique, immutable identifier for the instance. This identifier
6838	// is found in AWS CloudTrail log entries whenever the AWS KMS key for the instance
6839	// is accessed.
6840	DbiResourceId *string `type:"string"`
6841
6842	// A list of log types that this instance is configured to export to Amazon
6843	// CloudWatch Logs.
6844	EnabledCloudwatchLogsExports []*string `type:"list"`
6845
6846	// Specifies the connection endpoint.
6847	Endpoint *Endpoint `type:"structure"`
6848
6849	// Provides the name of the database engine to be used for this instance.
6850	Engine *string `type:"string"`
6851
6852	// Indicates the database engine version.
6853	EngineVersion *string `type:"string"`
6854
6855	// Provides the date and time that the instance was created.
6856	InstanceCreateTime *time.Time `type:"timestamp"`
6857
6858	// If StorageEncrypted is true, the AWS KMS key identifier for the encrypted
6859	// instance.
6860	KmsKeyId *string `type:"string"`
6861
6862	// Specifies the latest time to which a database can be restored with point-in-time
6863	// restore.
6864	LatestRestorableTime *time.Time `type:"timestamp"`
6865
6866	// Specifies that changes to the instance are pending. This element is included
6867	// only when changes are pending. Specific changes are identified by subelements.
6868	PendingModifiedValues *PendingModifiedValues `type:"structure"`
6869
6870	// Specifies the daily time range during which automated backups are created
6871	// if automated backups are enabled, as determined by the BackupRetentionPeriod.
6872	PreferredBackupWindow *string `type:"string"`
6873
6874	// Specifies the weekly time range during which system maintenance can occur,
6875	// in Universal Coordinated Time (UTC).
6876	PreferredMaintenanceWindow *string `type:"string"`
6877
6878	// A value that specifies the order in which an Amazon DocumentDB replica is
6879	// promoted to the primary instance after a failure of the existing primary
6880	// instance.
6881	PromotionTier *int64 `type:"integer"`
6882
6883	// Not supported. Amazon DocumentDB does not currently support public endpoints.
6884	// The value of PubliclyAccessible is always false.
6885	PubliclyAccessible *bool `type:"boolean"`
6886
6887	// The status of a read replica. If the instance is not a read replica, this
6888	// is blank.
6889	StatusInfos []*DBInstanceStatusInfo `locationNameList:"DBInstanceStatusInfo" type:"list"`
6890
6891	// Specifies whether or not the instance is encrypted.
6892	StorageEncrypted *bool `type:"boolean"`
6893
6894	// Provides a list of VPC security group elements that the instance belongs
6895	// to.
6896	VpcSecurityGroups []*VpcSecurityGroupMembership `locationNameList:"VpcSecurityGroupMembership" type:"list"`
6897}
6898
6899// String returns the string representation
6900func (s DBInstance) String() string {
6901	return awsutil.Prettify(s)
6902}
6903
6904// GoString returns the string representation
6905func (s DBInstance) GoString() string {
6906	return s.String()
6907}
6908
6909// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
6910func (s *DBInstance) SetAutoMinorVersionUpgrade(v bool) *DBInstance {
6911	s.AutoMinorVersionUpgrade = &v
6912	return s
6913}
6914
6915// SetAvailabilityZone sets the AvailabilityZone field's value.
6916func (s *DBInstance) SetAvailabilityZone(v string) *DBInstance {
6917	s.AvailabilityZone = &v
6918	return s
6919}
6920
6921// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
6922func (s *DBInstance) SetBackupRetentionPeriod(v int64) *DBInstance {
6923	s.BackupRetentionPeriod = &v
6924	return s
6925}
6926
6927// SetCACertificateIdentifier sets the CACertificateIdentifier field's value.
6928func (s *DBInstance) SetCACertificateIdentifier(v string) *DBInstance {
6929	s.CACertificateIdentifier = &v
6930	return s
6931}
6932
6933// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
6934func (s *DBInstance) SetDBClusterIdentifier(v string) *DBInstance {
6935	s.DBClusterIdentifier = &v
6936	return s
6937}
6938
6939// SetDBInstanceArn sets the DBInstanceArn field's value.
6940func (s *DBInstance) SetDBInstanceArn(v string) *DBInstance {
6941	s.DBInstanceArn = &v
6942	return s
6943}
6944
6945// SetDBInstanceClass sets the DBInstanceClass field's value.
6946func (s *DBInstance) SetDBInstanceClass(v string) *DBInstance {
6947	s.DBInstanceClass = &v
6948	return s
6949}
6950
6951// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
6952func (s *DBInstance) SetDBInstanceIdentifier(v string) *DBInstance {
6953	s.DBInstanceIdentifier = &v
6954	return s
6955}
6956
6957// SetDBInstanceStatus sets the DBInstanceStatus field's value.
6958func (s *DBInstance) SetDBInstanceStatus(v string) *DBInstance {
6959	s.DBInstanceStatus = &v
6960	return s
6961}
6962
6963// SetDBSubnetGroup sets the DBSubnetGroup field's value.
6964func (s *DBInstance) SetDBSubnetGroup(v *DBSubnetGroup) *DBInstance {
6965	s.DBSubnetGroup = v
6966	return s
6967}
6968
6969// SetDbiResourceId sets the DbiResourceId field's value.
6970func (s *DBInstance) SetDbiResourceId(v string) *DBInstance {
6971	s.DbiResourceId = &v
6972	return s
6973}
6974
6975// SetEnabledCloudwatchLogsExports sets the EnabledCloudwatchLogsExports field's value.
6976func (s *DBInstance) SetEnabledCloudwatchLogsExports(v []*string) *DBInstance {
6977	s.EnabledCloudwatchLogsExports = v
6978	return s
6979}
6980
6981// SetEndpoint sets the Endpoint field's value.
6982func (s *DBInstance) SetEndpoint(v *Endpoint) *DBInstance {
6983	s.Endpoint = v
6984	return s
6985}
6986
6987// SetEngine sets the Engine field's value.
6988func (s *DBInstance) SetEngine(v string) *DBInstance {
6989	s.Engine = &v
6990	return s
6991}
6992
6993// SetEngineVersion sets the EngineVersion field's value.
6994func (s *DBInstance) SetEngineVersion(v string) *DBInstance {
6995	s.EngineVersion = &v
6996	return s
6997}
6998
6999// SetInstanceCreateTime sets the InstanceCreateTime field's value.
7000func (s *DBInstance) SetInstanceCreateTime(v time.Time) *DBInstance {
7001	s.InstanceCreateTime = &v
7002	return s
7003}
7004
7005// SetKmsKeyId sets the KmsKeyId field's value.
7006func (s *DBInstance) SetKmsKeyId(v string) *DBInstance {
7007	s.KmsKeyId = &v
7008	return s
7009}
7010
7011// SetLatestRestorableTime sets the LatestRestorableTime field's value.
7012func (s *DBInstance) SetLatestRestorableTime(v time.Time) *DBInstance {
7013	s.LatestRestorableTime = &v
7014	return s
7015}
7016
7017// SetPendingModifiedValues sets the PendingModifiedValues field's value.
7018func (s *DBInstance) SetPendingModifiedValues(v *PendingModifiedValues) *DBInstance {
7019	s.PendingModifiedValues = v
7020	return s
7021}
7022
7023// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
7024func (s *DBInstance) SetPreferredBackupWindow(v string) *DBInstance {
7025	s.PreferredBackupWindow = &v
7026	return s
7027}
7028
7029// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
7030func (s *DBInstance) SetPreferredMaintenanceWindow(v string) *DBInstance {
7031	s.PreferredMaintenanceWindow = &v
7032	return s
7033}
7034
7035// SetPromotionTier sets the PromotionTier field's value.
7036func (s *DBInstance) SetPromotionTier(v int64) *DBInstance {
7037	s.PromotionTier = &v
7038	return s
7039}
7040
7041// SetPubliclyAccessible sets the PubliclyAccessible field's value.
7042func (s *DBInstance) SetPubliclyAccessible(v bool) *DBInstance {
7043	s.PubliclyAccessible = &v
7044	return s
7045}
7046
7047// SetStatusInfos sets the StatusInfos field's value.
7048func (s *DBInstance) SetStatusInfos(v []*DBInstanceStatusInfo) *DBInstance {
7049	s.StatusInfos = v
7050	return s
7051}
7052
7053// SetStorageEncrypted sets the StorageEncrypted field's value.
7054func (s *DBInstance) SetStorageEncrypted(v bool) *DBInstance {
7055	s.StorageEncrypted = &v
7056	return s
7057}
7058
7059// SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
7060func (s *DBInstance) SetVpcSecurityGroups(v []*VpcSecurityGroupMembership) *DBInstance {
7061	s.VpcSecurityGroups = v
7062	return s
7063}
7064
7065// Provides a list of status information for an instance.
7066type DBInstanceStatusInfo struct {
7067	_ struct{} `type:"structure"`
7068
7069	// Details of the error if there is an error for the instance. If the instance
7070	// is not in an error state, this value is blank.
7071	Message *string `type:"string"`
7072
7073	// A Boolean value that is true if the instance is operating normally, or false
7074	// if the instance is in an error state.
7075	Normal *bool `type:"boolean"`
7076
7077	// Status of the instance. For a StatusType of read replica, the values can
7078	// be replicating, error, stopped, or terminated.
7079	Status *string `type:"string"`
7080
7081	// This value is currently "read replication."
7082	StatusType *string `type:"string"`
7083}
7084
7085// String returns the string representation
7086func (s DBInstanceStatusInfo) String() string {
7087	return awsutil.Prettify(s)
7088}
7089
7090// GoString returns the string representation
7091func (s DBInstanceStatusInfo) GoString() string {
7092	return s.String()
7093}
7094
7095// SetMessage sets the Message field's value.
7096func (s *DBInstanceStatusInfo) SetMessage(v string) *DBInstanceStatusInfo {
7097	s.Message = &v
7098	return s
7099}
7100
7101// SetNormal sets the Normal field's value.
7102func (s *DBInstanceStatusInfo) SetNormal(v bool) *DBInstanceStatusInfo {
7103	s.Normal = &v
7104	return s
7105}
7106
7107// SetStatus sets the Status field's value.
7108func (s *DBInstanceStatusInfo) SetStatus(v string) *DBInstanceStatusInfo {
7109	s.Status = &v
7110	return s
7111}
7112
7113// SetStatusType sets the StatusType field's value.
7114func (s *DBInstanceStatusInfo) SetStatusType(v string) *DBInstanceStatusInfo {
7115	s.StatusType = &v
7116	return s
7117}
7118
7119// Detailed information about a subnet group.
7120type DBSubnetGroup struct {
7121	_ struct{} `type:"structure"`
7122
7123	// The Amazon Resource Name (ARN) for the DB subnet group.
7124	DBSubnetGroupArn *string `type:"string"`
7125
7126	// Provides the description of the subnet group.
7127	DBSubnetGroupDescription *string `type:"string"`
7128
7129	// The name of the subnet group.
7130	DBSubnetGroupName *string `type:"string"`
7131
7132	// Provides the status of the subnet group.
7133	SubnetGroupStatus *string `type:"string"`
7134
7135	// Detailed information about one or more subnets within a subnet group.
7136	Subnets []*Subnet `locationNameList:"Subnet" type:"list"`
7137
7138	// Provides the virtual private cloud (VPC) ID of the subnet group.
7139	VpcId *string `type:"string"`
7140}
7141
7142// String returns the string representation
7143func (s DBSubnetGroup) String() string {
7144	return awsutil.Prettify(s)
7145}
7146
7147// GoString returns the string representation
7148func (s DBSubnetGroup) GoString() string {
7149	return s.String()
7150}
7151
7152// SetDBSubnetGroupArn sets the DBSubnetGroupArn field's value.
7153func (s *DBSubnetGroup) SetDBSubnetGroupArn(v string) *DBSubnetGroup {
7154	s.DBSubnetGroupArn = &v
7155	return s
7156}
7157
7158// SetDBSubnetGroupDescription sets the DBSubnetGroupDescription field's value.
7159func (s *DBSubnetGroup) SetDBSubnetGroupDescription(v string) *DBSubnetGroup {
7160	s.DBSubnetGroupDescription = &v
7161	return s
7162}
7163
7164// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
7165func (s *DBSubnetGroup) SetDBSubnetGroupName(v string) *DBSubnetGroup {
7166	s.DBSubnetGroupName = &v
7167	return s
7168}
7169
7170// SetSubnetGroupStatus sets the SubnetGroupStatus field's value.
7171func (s *DBSubnetGroup) SetSubnetGroupStatus(v string) *DBSubnetGroup {
7172	s.SubnetGroupStatus = &v
7173	return s
7174}
7175
7176// SetSubnets sets the Subnets field's value.
7177func (s *DBSubnetGroup) SetSubnets(v []*Subnet) *DBSubnetGroup {
7178	s.Subnets = v
7179	return s
7180}
7181
7182// SetVpcId sets the VpcId field's value.
7183func (s *DBSubnetGroup) SetVpcId(v string) *DBSubnetGroup {
7184	s.VpcId = &v
7185	return s
7186}
7187
7188// Represents the input to DeleteDBCluster.
7189type DeleteDBClusterInput struct {
7190	_ struct{} `type:"structure"`
7191
7192	// The cluster identifier for the cluster to be deleted. This parameter isn't
7193	// case sensitive.
7194	//
7195	// Constraints:
7196	//
7197	//    * Must match an existing DBClusterIdentifier.
7198	//
7199	// DBClusterIdentifier is a required field
7200	DBClusterIdentifier *string `type:"string" required:"true"`
7201
7202	// The cluster snapshot identifier of the new cluster snapshot created when
7203	// SkipFinalSnapshot is set to false.
7204	//
7205	// Specifying this parameter and also setting the SkipFinalShapshot parameter
7206	// to true results in an error.
7207	//
7208	// Constraints:
7209	//
7210	//    * Must be from 1 to 255 letters, numbers, or hyphens.
7211	//
7212	//    * The first character must be a letter.
7213	//
7214	//    * Cannot end with a hyphen or contain two consecutive hyphens.
7215	FinalDBSnapshotIdentifier *string `type:"string"`
7216
7217	// Determines whether a final cluster snapshot is created before the cluster
7218	// is deleted. If true is specified, no cluster snapshot is created. If false
7219	// is specified, a cluster snapshot is created before the DB cluster is deleted.
7220	//
7221	// If SkipFinalSnapshot is false, you must specify a FinalDBSnapshotIdentifier
7222	// parameter.
7223	//
7224	// Default: false
7225	SkipFinalSnapshot *bool `type:"boolean"`
7226}
7227
7228// String returns the string representation
7229func (s DeleteDBClusterInput) String() string {
7230	return awsutil.Prettify(s)
7231}
7232
7233// GoString returns the string representation
7234func (s DeleteDBClusterInput) GoString() string {
7235	return s.String()
7236}
7237
7238// Validate inspects the fields of the type to determine if they are valid.
7239func (s *DeleteDBClusterInput) Validate() error {
7240	invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterInput"}
7241	if s.DBClusterIdentifier == nil {
7242		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
7243	}
7244
7245	if invalidParams.Len() > 0 {
7246		return invalidParams
7247	}
7248	return nil
7249}
7250
7251// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
7252func (s *DeleteDBClusterInput) SetDBClusterIdentifier(v string) *DeleteDBClusterInput {
7253	s.DBClusterIdentifier = &v
7254	return s
7255}
7256
7257// SetFinalDBSnapshotIdentifier sets the FinalDBSnapshotIdentifier field's value.
7258func (s *DeleteDBClusterInput) SetFinalDBSnapshotIdentifier(v string) *DeleteDBClusterInput {
7259	s.FinalDBSnapshotIdentifier = &v
7260	return s
7261}
7262
7263// SetSkipFinalSnapshot sets the SkipFinalSnapshot field's value.
7264func (s *DeleteDBClusterInput) SetSkipFinalSnapshot(v bool) *DeleteDBClusterInput {
7265	s.SkipFinalSnapshot = &v
7266	return s
7267}
7268
7269type DeleteDBClusterOutput struct {
7270	_ struct{} `type:"structure"`
7271
7272	// Detailed information about a cluster.
7273	DBCluster *DBCluster `type:"structure"`
7274}
7275
7276// String returns the string representation
7277func (s DeleteDBClusterOutput) String() string {
7278	return awsutil.Prettify(s)
7279}
7280
7281// GoString returns the string representation
7282func (s DeleteDBClusterOutput) GoString() string {
7283	return s.String()
7284}
7285
7286// SetDBCluster sets the DBCluster field's value.
7287func (s *DeleteDBClusterOutput) SetDBCluster(v *DBCluster) *DeleteDBClusterOutput {
7288	s.DBCluster = v
7289	return s
7290}
7291
7292// Represents the input to DeleteDBClusterParameterGroup.
7293type DeleteDBClusterParameterGroupInput struct {
7294	_ struct{} `type:"structure"`
7295
7296	// The name of the cluster parameter group.
7297	//
7298	// Constraints:
7299	//
7300	//    * Must be the name of an existing cluster parameter group.
7301	//
7302	//    * You can't delete a default cluster parameter group.
7303	//
7304	//    * Cannot be associated with any clusters.
7305	//
7306	// DBClusterParameterGroupName is a required field
7307	DBClusterParameterGroupName *string `type:"string" required:"true"`
7308}
7309
7310// String returns the string representation
7311func (s DeleteDBClusterParameterGroupInput) String() string {
7312	return awsutil.Prettify(s)
7313}
7314
7315// GoString returns the string representation
7316func (s DeleteDBClusterParameterGroupInput) GoString() string {
7317	return s.String()
7318}
7319
7320// Validate inspects the fields of the type to determine if they are valid.
7321func (s *DeleteDBClusterParameterGroupInput) Validate() error {
7322	invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterParameterGroupInput"}
7323	if s.DBClusterParameterGroupName == nil {
7324		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
7325	}
7326
7327	if invalidParams.Len() > 0 {
7328		return invalidParams
7329	}
7330	return nil
7331}
7332
7333// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
7334func (s *DeleteDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *DeleteDBClusterParameterGroupInput {
7335	s.DBClusterParameterGroupName = &v
7336	return s
7337}
7338
7339type DeleteDBClusterParameterGroupOutput struct {
7340	_ struct{} `type:"structure"`
7341}
7342
7343// String returns the string representation
7344func (s DeleteDBClusterParameterGroupOutput) String() string {
7345	return awsutil.Prettify(s)
7346}
7347
7348// GoString returns the string representation
7349func (s DeleteDBClusterParameterGroupOutput) GoString() string {
7350	return s.String()
7351}
7352
7353// Represents the input to DeleteDBClusterSnapshot.
7354type DeleteDBClusterSnapshotInput struct {
7355	_ struct{} `type:"structure"`
7356
7357	// The identifier of the cluster snapshot to delete.
7358	//
7359	// Constraints: Must be the name of an existing cluster snapshot in the available
7360	// state.
7361	//
7362	// DBClusterSnapshotIdentifier is a required field
7363	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
7364}
7365
7366// String returns the string representation
7367func (s DeleteDBClusterSnapshotInput) String() string {
7368	return awsutil.Prettify(s)
7369}
7370
7371// GoString returns the string representation
7372func (s DeleteDBClusterSnapshotInput) GoString() string {
7373	return s.String()
7374}
7375
7376// Validate inspects the fields of the type to determine if they are valid.
7377func (s *DeleteDBClusterSnapshotInput) Validate() error {
7378	invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterSnapshotInput"}
7379	if s.DBClusterSnapshotIdentifier == nil {
7380		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
7381	}
7382
7383	if invalidParams.Len() > 0 {
7384		return invalidParams
7385	}
7386	return nil
7387}
7388
7389// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
7390func (s *DeleteDBClusterSnapshotInput) SetDBClusterSnapshotIdentifier(v string) *DeleteDBClusterSnapshotInput {
7391	s.DBClusterSnapshotIdentifier = &v
7392	return s
7393}
7394
7395type DeleteDBClusterSnapshotOutput struct {
7396	_ struct{} `type:"structure"`
7397
7398	// Detailed information about a cluster snapshot.
7399	DBClusterSnapshot *DBClusterSnapshot `type:"structure"`
7400}
7401
7402// String returns the string representation
7403func (s DeleteDBClusterSnapshotOutput) String() string {
7404	return awsutil.Prettify(s)
7405}
7406
7407// GoString returns the string representation
7408func (s DeleteDBClusterSnapshotOutput) GoString() string {
7409	return s.String()
7410}
7411
7412// SetDBClusterSnapshot sets the DBClusterSnapshot field's value.
7413func (s *DeleteDBClusterSnapshotOutput) SetDBClusterSnapshot(v *DBClusterSnapshot) *DeleteDBClusterSnapshotOutput {
7414	s.DBClusterSnapshot = v
7415	return s
7416}
7417
7418// Represents the input to DeleteDBInstance.
7419type DeleteDBInstanceInput struct {
7420	_ struct{} `type:"structure"`
7421
7422	// The instance identifier for the instance to be deleted. This parameter isn't
7423	// case sensitive.
7424	//
7425	// Constraints:
7426	//
7427	//    * Must match the name of an existing instance.
7428	//
7429	// DBInstanceIdentifier is a required field
7430	DBInstanceIdentifier *string `type:"string" required:"true"`
7431}
7432
7433// String returns the string representation
7434func (s DeleteDBInstanceInput) String() string {
7435	return awsutil.Prettify(s)
7436}
7437
7438// GoString returns the string representation
7439func (s DeleteDBInstanceInput) GoString() string {
7440	return s.String()
7441}
7442
7443// Validate inspects the fields of the type to determine if they are valid.
7444func (s *DeleteDBInstanceInput) Validate() error {
7445	invalidParams := request.ErrInvalidParams{Context: "DeleteDBInstanceInput"}
7446	if s.DBInstanceIdentifier == nil {
7447		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
7448	}
7449
7450	if invalidParams.Len() > 0 {
7451		return invalidParams
7452	}
7453	return nil
7454}
7455
7456// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
7457func (s *DeleteDBInstanceInput) SetDBInstanceIdentifier(v string) *DeleteDBInstanceInput {
7458	s.DBInstanceIdentifier = &v
7459	return s
7460}
7461
7462type DeleteDBInstanceOutput struct {
7463	_ struct{} `type:"structure"`
7464
7465	// Detailed information about an instance.
7466	DBInstance *DBInstance `type:"structure"`
7467}
7468
7469// String returns the string representation
7470func (s DeleteDBInstanceOutput) String() string {
7471	return awsutil.Prettify(s)
7472}
7473
7474// GoString returns the string representation
7475func (s DeleteDBInstanceOutput) GoString() string {
7476	return s.String()
7477}
7478
7479// SetDBInstance sets the DBInstance field's value.
7480func (s *DeleteDBInstanceOutput) SetDBInstance(v *DBInstance) *DeleteDBInstanceOutput {
7481	s.DBInstance = v
7482	return s
7483}
7484
7485// Represents the input to DeleteDBSubnetGroup.
7486type DeleteDBSubnetGroupInput struct {
7487	_ struct{} `type:"structure"`
7488
7489	// The name of the database subnet group to delete.
7490	//
7491	// You can't delete the default subnet group.
7492	//
7493	// Constraints:
7494	//
7495	// Must match the name of an existing DBSubnetGroup. Must not be default.
7496	//
7497	// Example: mySubnetgroup
7498	//
7499	// DBSubnetGroupName is a required field
7500	DBSubnetGroupName *string `type:"string" required:"true"`
7501}
7502
7503// String returns the string representation
7504func (s DeleteDBSubnetGroupInput) String() string {
7505	return awsutil.Prettify(s)
7506}
7507
7508// GoString returns the string representation
7509func (s DeleteDBSubnetGroupInput) GoString() string {
7510	return s.String()
7511}
7512
7513// Validate inspects the fields of the type to determine if they are valid.
7514func (s *DeleteDBSubnetGroupInput) Validate() error {
7515	invalidParams := request.ErrInvalidParams{Context: "DeleteDBSubnetGroupInput"}
7516	if s.DBSubnetGroupName == nil {
7517		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupName"))
7518	}
7519
7520	if invalidParams.Len() > 0 {
7521		return invalidParams
7522	}
7523	return nil
7524}
7525
7526// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
7527func (s *DeleteDBSubnetGroupInput) SetDBSubnetGroupName(v string) *DeleteDBSubnetGroupInput {
7528	s.DBSubnetGroupName = &v
7529	return s
7530}
7531
7532type DeleteDBSubnetGroupOutput struct {
7533	_ struct{} `type:"structure"`
7534}
7535
7536// String returns the string representation
7537func (s DeleteDBSubnetGroupOutput) String() string {
7538	return awsutil.Prettify(s)
7539}
7540
7541// GoString returns the string representation
7542func (s DeleteDBSubnetGroupOutput) GoString() string {
7543	return s.String()
7544}
7545
7546type DescribeCertificatesInput struct {
7547	_ struct{} `type:"structure"`
7548
7549	// The user-supplied certificate identifier. If this parameter is specified,
7550	// information for only the specified certificate is returned. If this parameter
7551	// is omitted, a list of up to MaxRecords certificates is returned. This parameter
7552	// is not case sensitive.
7553	//
7554	// Constraints
7555	//
7556	//    * Must match an existing CertificateIdentifier.
7557	CertificateIdentifier *string `type:"string"`
7558
7559	// This parameter is not currently supported.
7560	Filters []*Filter `locationNameList:"Filter" type:"list"`
7561
7562	// An optional pagination token provided by a previous DescribeCertificates
7563	// request. If this parameter is specified, the response includes only records
7564	// beyond the marker, up to the value specified by MaxRecords.
7565	Marker *string `type:"string"`
7566
7567	// The maximum number of records to include in the response. If more records
7568	// exist than the specified MaxRecords value, a pagination token called a marker
7569	// is included in the response so that the remaining results can be retrieved.
7570	//
7571	// Default: 100
7572	//
7573	// Constraints:
7574	//
7575	//    * Minimum: 20
7576	//
7577	//    * Maximum: 100
7578	MaxRecords *int64 `type:"integer"`
7579}
7580
7581// String returns the string representation
7582func (s DescribeCertificatesInput) String() string {
7583	return awsutil.Prettify(s)
7584}
7585
7586// GoString returns the string representation
7587func (s DescribeCertificatesInput) GoString() string {
7588	return s.String()
7589}
7590
7591// Validate inspects the fields of the type to determine if they are valid.
7592func (s *DescribeCertificatesInput) Validate() error {
7593	invalidParams := request.ErrInvalidParams{Context: "DescribeCertificatesInput"}
7594	if s.Filters != nil {
7595		for i, v := range s.Filters {
7596			if v == nil {
7597				continue
7598			}
7599			if err := v.Validate(); err != nil {
7600				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
7601			}
7602		}
7603	}
7604
7605	if invalidParams.Len() > 0 {
7606		return invalidParams
7607	}
7608	return nil
7609}
7610
7611// SetCertificateIdentifier sets the CertificateIdentifier field's value.
7612func (s *DescribeCertificatesInput) SetCertificateIdentifier(v string) *DescribeCertificatesInput {
7613	s.CertificateIdentifier = &v
7614	return s
7615}
7616
7617// SetFilters sets the Filters field's value.
7618func (s *DescribeCertificatesInput) SetFilters(v []*Filter) *DescribeCertificatesInput {
7619	s.Filters = v
7620	return s
7621}
7622
7623// SetMarker sets the Marker field's value.
7624func (s *DescribeCertificatesInput) SetMarker(v string) *DescribeCertificatesInput {
7625	s.Marker = &v
7626	return s
7627}
7628
7629// SetMaxRecords sets the MaxRecords field's value.
7630func (s *DescribeCertificatesInput) SetMaxRecords(v int64) *DescribeCertificatesInput {
7631	s.MaxRecords = &v
7632	return s
7633}
7634
7635type DescribeCertificatesOutput struct {
7636	_ struct{} `type:"structure"`
7637
7638	// A list of certificates for this AWS account.
7639	Certificates []*Certificate `locationNameList:"Certificate" type:"list"`
7640
7641	// An optional pagination token provided if the number of records retrieved
7642	// is greater than MaxRecords. If this parameter is specified, the marker specifies
7643	// the next record in the list. Including the value of Marker in the next call
7644	// to DescribeCertificates results in the next page of certificates.
7645	Marker *string `type:"string"`
7646}
7647
7648// String returns the string representation
7649func (s DescribeCertificatesOutput) String() string {
7650	return awsutil.Prettify(s)
7651}
7652
7653// GoString returns the string representation
7654func (s DescribeCertificatesOutput) GoString() string {
7655	return s.String()
7656}
7657
7658// SetCertificates sets the Certificates field's value.
7659func (s *DescribeCertificatesOutput) SetCertificates(v []*Certificate) *DescribeCertificatesOutput {
7660	s.Certificates = v
7661	return s
7662}
7663
7664// SetMarker sets the Marker field's value.
7665func (s *DescribeCertificatesOutput) SetMarker(v string) *DescribeCertificatesOutput {
7666	s.Marker = &v
7667	return s
7668}
7669
7670// Represents the input to DescribeDBClusterParameterGroups.
7671type DescribeDBClusterParameterGroupsInput struct {
7672	_ struct{} `type:"structure"`
7673
7674	// The name of a specific cluster parameter group to return details for.
7675	//
7676	// Constraints:
7677	//
7678	//    * If provided, must match the name of an existing DBClusterParameterGroup.
7679	DBClusterParameterGroupName *string `type:"string"`
7680
7681	// This parameter is not currently supported.
7682	Filters []*Filter `locationNameList:"Filter" type:"list"`
7683
7684	// An optional pagination token provided by a previous request. If this parameter
7685	// is specified, the response includes only records beyond the marker, up to
7686	// the value specified by MaxRecords.
7687	Marker *string `type:"string"`
7688
7689	// The maximum number of records to include in the response. If more records
7690	// exist than the specified MaxRecords value, a pagination token (marker) is
7691	// included in the response so that the remaining results can be retrieved.
7692	//
7693	// Default: 100
7694	//
7695	// Constraints: Minimum 20, maximum 100.
7696	MaxRecords *int64 `type:"integer"`
7697}
7698
7699// String returns the string representation
7700func (s DescribeDBClusterParameterGroupsInput) String() string {
7701	return awsutil.Prettify(s)
7702}
7703
7704// GoString returns the string representation
7705func (s DescribeDBClusterParameterGroupsInput) GoString() string {
7706	return s.String()
7707}
7708
7709// Validate inspects the fields of the type to determine if they are valid.
7710func (s *DescribeDBClusterParameterGroupsInput) Validate() error {
7711	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterParameterGroupsInput"}
7712	if s.Filters != nil {
7713		for i, v := range s.Filters {
7714			if v == nil {
7715				continue
7716			}
7717			if err := v.Validate(); err != nil {
7718				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
7719			}
7720		}
7721	}
7722
7723	if invalidParams.Len() > 0 {
7724		return invalidParams
7725	}
7726	return nil
7727}
7728
7729// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
7730func (s *DescribeDBClusterParameterGroupsInput) SetDBClusterParameterGroupName(v string) *DescribeDBClusterParameterGroupsInput {
7731	s.DBClusterParameterGroupName = &v
7732	return s
7733}
7734
7735// SetFilters sets the Filters field's value.
7736func (s *DescribeDBClusterParameterGroupsInput) SetFilters(v []*Filter) *DescribeDBClusterParameterGroupsInput {
7737	s.Filters = v
7738	return s
7739}
7740
7741// SetMarker sets the Marker field's value.
7742func (s *DescribeDBClusterParameterGroupsInput) SetMarker(v string) *DescribeDBClusterParameterGroupsInput {
7743	s.Marker = &v
7744	return s
7745}
7746
7747// SetMaxRecords sets the MaxRecords field's value.
7748func (s *DescribeDBClusterParameterGroupsInput) SetMaxRecords(v int64) *DescribeDBClusterParameterGroupsInput {
7749	s.MaxRecords = &v
7750	return s
7751}
7752
7753// Represents the output of DBClusterParameterGroups.
7754type DescribeDBClusterParameterGroupsOutput struct {
7755	_ struct{} `type:"structure"`
7756
7757	// A list of cluster parameter groups.
7758	DBClusterParameterGroups []*DBClusterParameterGroup `locationNameList:"DBClusterParameterGroup" type:"list"`
7759
7760	// An optional pagination token provided by a previous request. If this parameter
7761	// is specified, the response includes only records beyond the marker, up to
7762	// the value specified by MaxRecords.
7763	Marker *string `type:"string"`
7764}
7765
7766// String returns the string representation
7767func (s DescribeDBClusterParameterGroupsOutput) String() string {
7768	return awsutil.Prettify(s)
7769}
7770
7771// GoString returns the string representation
7772func (s DescribeDBClusterParameterGroupsOutput) GoString() string {
7773	return s.String()
7774}
7775
7776// SetDBClusterParameterGroups sets the DBClusterParameterGroups field's value.
7777func (s *DescribeDBClusterParameterGroupsOutput) SetDBClusterParameterGroups(v []*DBClusterParameterGroup) *DescribeDBClusterParameterGroupsOutput {
7778	s.DBClusterParameterGroups = v
7779	return s
7780}
7781
7782// SetMarker sets the Marker field's value.
7783func (s *DescribeDBClusterParameterGroupsOutput) SetMarker(v string) *DescribeDBClusterParameterGroupsOutput {
7784	s.Marker = &v
7785	return s
7786}
7787
7788// Represents the input to DescribeDBClusterParameters.
7789type DescribeDBClusterParametersInput struct {
7790	_ struct{} `type:"structure"`
7791
7792	// The name of a specific cluster parameter group to return parameter details
7793	// for.
7794	//
7795	// Constraints:
7796	//
7797	//    * If provided, must match the name of an existing DBClusterParameterGroup.
7798	//
7799	// DBClusterParameterGroupName is a required field
7800	DBClusterParameterGroupName *string `type:"string" required:"true"`
7801
7802	// This parameter is not currently supported.
7803	Filters []*Filter `locationNameList:"Filter" type:"list"`
7804
7805	// An optional pagination token provided by a previous request. If this parameter
7806	// is specified, the response includes only records beyond the marker, up to
7807	// the value specified by MaxRecords.
7808	Marker *string `type:"string"`
7809
7810	// The maximum number of records to include in the response. If more records
7811	// exist than the specified MaxRecords value, a pagination token (marker) is
7812	// included in the response so that the remaining results can be retrieved.
7813	//
7814	// Default: 100
7815	//
7816	// Constraints: Minimum 20, maximum 100.
7817	MaxRecords *int64 `type:"integer"`
7818
7819	// A value that indicates to return only parameters for a specific source. Parameter
7820	// sources can be engine, service, or customer.
7821	Source *string `type:"string"`
7822}
7823
7824// String returns the string representation
7825func (s DescribeDBClusterParametersInput) String() string {
7826	return awsutil.Prettify(s)
7827}
7828
7829// GoString returns the string representation
7830func (s DescribeDBClusterParametersInput) GoString() string {
7831	return s.String()
7832}
7833
7834// Validate inspects the fields of the type to determine if they are valid.
7835func (s *DescribeDBClusterParametersInput) Validate() error {
7836	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterParametersInput"}
7837	if s.DBClusterParameterGroupName == nil {
7838		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
7839	}
7840	if s.Filters != nil {
7841		for i, v := range s.Filters {
7842			if v == nil {
7843				continue
7844			}
7845			if err := v.Validate(); err != nil {
7846				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
7847			}
7848		}
7849	}
7850
7851	if invalidParams.Len() > 0 {
7852		return invalidParams
7853	}
7854	return nil
7855}
7856
7857// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
7858func (s *DescribeDBClusterParametersInput) SetDBClusterParameterGroupName(v string) *DescribeDBClusterParametersInput {
7859	s.DBClusterParameterGroupName = &v
7860	return s
7861}
7862
7863// SetFilters sets the Filters field's value.
7864func (s *DescribeDBClusterParametersInput) SetFilters(v []*Filter) *DescribeDBClusterParametersInput {
7865	s.Filters = v
7866	return s
7867}
7868
7869// SetMarker sets the Marker field's value.
7870func (s *DescribeDBClusterParametersInput) SetMarker(v string) *DescribeDBClusterParametersInput {
7871	s.Marker = &v
7872	return s
7873}
7874
7875// SetMaxRecords sets the MaxRecords field's value.
7876func (s *DescribeDBClusterParametersInput) SetMaxRecords(v int64) *DescribeDBClusterParametersInput {
7877	s.MaxRecords = &v
7878	return s
7879}
7880
7881// SetSource sets the Source field's value.
7882func (s *DescribeDBClusterParametersInput) SetSource(v string) *DescribeDBClusterParametersInput {
7883	s.Source = &v
7884	return s
7885}
7886
7887// Represents the output of DBClusterParameterGroup.
7888type DescribeDBClusterParametersOutput struct {
7889	_ struct{} `type:"structure"`
7890
7891	// An optional pagination token provided by a previous request. If this parameter
7892	// is specified, the response includes only records beyond the marker, up to
7893	// the value specified by MaxRecords.
7894	Marker *string `type:"string"`
7895
7896	// Provides a list of parameters for the cluster parameter group.
7897	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
7898}
7899
7900// String returns the string representation
7901func (s DescribeDBClusterParametersOutput) String() string {
7902	return awsutil.Prettify(s)
7903}
7904
7905// GoString returns the string representation
7906func (s DescribeDBClusterParametersOutput) GoString() string {
7907	return s.String()
7908}
7909
7910// SetMarker sets the Marker field's value.
7911func (s *DescribeDBClusterParametersOutput) SetMarker(v string) *DescribeDBClusterParametersOutput {
7912	s.Marker = &v
7913	return s
7914}
7915
7916// SetParameters sets the Parameters field's value.
7917func (s *DescribeDBClusterParametersOutput) SetParameters(v []*Parameter) *DescribeDBClusterParametersOutput {
7918	s.Parameters = v
7919	return s
7920}
7921
7922// Represents the input to DescribeDBClusterSnapshotAttributes.
7923type DescribeDBClusterSnapshotAttributesInput struct {
7924	_ struct{} `type:"structure"`
7925
7926	// The identifier for the cluster snapshot to describe the attributes for.
7927	//
7928	// DBClusterSnapshotIdentifier is a required field
7929	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
7930}
7931
7932// String returns the string representation
7933func (s DescribeDBClusterSnapshotAttributesInput) String() string {
7934	return awsutil.Prettify(s)
7935}
7936
7937// GoString returns the string representation
7938func (s DescribeDBClusterSnapshotAttributesInput) GoString() string {
7939	return s.String()
7940}
7941
7942// Validate inspects the fields of the type to determine if they are valid.
7943func (s *DescribeDBClusterSnapshotAttributesInput) Validate() error {
7944	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterSnapshotAttributesInput"}
7945	if s.DBClusterSnapshotIdentifier == nil {
7946		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
7947	}
7948
7949	if invalidParams.Len() > 0 {
7950		return invalidParams
7951	}
7952	return nil
7953}
7954
7955// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
7956func (s *DescribeDBClusterSnapshotAttributesInput) SetDBClusterSnapshotIdentifier(v string) *DescribeDBClusterSnapshotAttributesInput {
7957	s.DBClusterSnapshotIdentifier = &v
7958	return s
7959}
7960
7961type DescribeDBClusterSnapshotAttributesOutput struct {
7962	_ struct{} `type:"structure"`
7963
7964	// Detailed information about the attributes that are associated with a cluster
7965	// snapshot.
7966	DBClusterSnapshotAttributesResult *DBClusterSnapshotAttributesResult `type:"structure"`
7967}
7968
7969// String returns the string representation
7970func (s DescribeDBClusterSnapshotAttributesOutput) String() string {
7971	return awsutil.Prettify(s)
7972}
7973
7974// GoString returns the string representation
7975func (s DescribeDBClusterSnapshotAttributesOutput) GoString() string {
7976	return s.String()
7977}
7978
7979// SetDBClusterSnapshotAttributesResult sets the DBClusterSnapshotAttributesResult field's value.
7980func (s *DescribeDBClusterSnapshotAttributesOutput) SetDBClusterSnapshotAttributesResult(v *DBClusterSnapshotAttributesResult) *DescribeDBClusterSnapshotAttributesOutput {
7981	s.DBClusterSnapshotAttributesResult = v
7982	return s
7983}
7984
7985// Represents the input to DescribeDBClusterSnapshots.
7986type DescribeDBClusterSnapshotsInput struct {
7987	_ struct{} `type:"structure"`
7988
7989	// The ID of the cluster to retrieve the list of cluster snapshots for. This
7990	// parameter can't be used with the DBClusterSnapshotIdentifier parameter. This
7991	// parameter is not case sensitive.
7992	//
7993	// Constraints:
7994	//
7995	//    * If provided, must match the identifier of an existing DBCluster.
7996	DBClusterIdentifier *string `type:"string"`
7997
7998	// A specific cluster snapshot identifier to describe. This parameter can't
7999	// be used with the DBClusterIdentifier parameter. This value is stored as a
8000	// lowercase string.
8001	//
8002	// Constraints:
8003	//
8004	//    * If provided, must match the identifier of an existing DBClusterSnapshot.
8005	//
8006	//    * If this identifier is for an automated snapshot, the SnapshotType parameter
8007	//    must also be specified.
8008	DBClusterSnapshotIdentifier *string `type:"string"`
8009
8010	// This parameter is not currently supported.
8011	Filters []*Filter `locationNameList:"Filter" type:"list"`
8012
8013	// Set to true to include manual cluster snapshots that are public and can be
8014	// copied or restored by any AWS account, and otherwise false. The default is
8015	// false.
8016	IncludePublic *bool `type:"boolean"`
8017
8018	// Set to true to include shared manual cluster snapshots from other AWS accounts
8019	// that this AWS account has been given permission to copy or restore, and otherwise
8020	// false. The default is false.
8021	IncludeShared *bool `type:"boolean"`
8022
8023	// An optional pagination token provided by a previous request. If this parameter
8024	// is specified, the response includes only records beyond the marker, up to
8025	// the value specified by MaxRecords.
8026	Marker *string `type:"string"`
8027
8028	// The maximum number of records to include in the response. If more records
8029	// exist than the specified MaxRecords value, a pagination token (marker) is
8030	// included in the response so that the remaining results can be retrieved.
8031	//
8032	// Default: 100
8033	//
8034	// Constraints: Minimum 20, maximum 100.
8035	MaxRecords *int64 `type:"integer"`
8036
8037	// The type of cluster snapshots to be returned. You can specify one of the
8038	// following values:
8039	//
8040	//    * automated - Return all cluster snapshots that Amazon DocumentDB has
8041	//    automatically created for your AWS account.
8042	//
8043	//    * manual - Return all cluster snapshots that you have manually created
8044	//    for your AWS account.
8045	//
8046	//    * shared - Return all manual cluster snapshots that have been shared to
8047	//    your AWS account.
8048	//
8049	//    * public - Return all cluster snapshots that have been marked as public.
8050	//
8051	// If you don't specify a SnapshotType value, then both automated and manual
8052	// cluster snapshots are returned. You can include shared cluster snapshots
8053	// with these results by setting the IncludeShared parameter to true. You can
8054	// include public cluster snapshots with these results by setting the IncludePublic
8055	// parameter to true.
8056	//
8057	// The IncludeShared and IncludePublic parameters don't apply for SnapshotType
8058	// values of manual or automated. The IncludePublic parameter doesn't apply
8059	// when SnapshotType is set to shared. The IncludeShared parameter doesn't apply
8060	// when SnapshotType is set to public.
8061	SnapshotType *string `type:"string"`
8062}
8063
8064// String returns the string representation
8065func (s DescribeDBClusterSnapshotsInput) String() string {
8066	return awsutil.Prettify(s)
8067}
8068
8069// GoString returns the string representation
8070func (s DescribeDBClusterSnapshotsInput) GoString() string {
8071	return s.String()
8072}
8073
8074// Validate inspects the fields of the type to determine if they are valid.
8075func (s *DescribeDBClusterSnapshotsInput) Validate() error {
8076	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterSnapshotsInput"}
8077	if s.Filters != nil {
8078		for i, v := range s.Filters {
8079			if v == nil {
8080				continue
8081			}
8082			if err := v.Validate(); err != nil {
8083				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
8084			}
8085		}
8086	}
8087
8088	if invalidParams.Len() > 0 {
8089		return invalidParams
8090	}
8091	return nil
8092}
8093
8094// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
8095func (s *DescribeDBClusterSnapshotsInput) SetDBClusterIdentifier(v string) *DescribeDBClusterSnapshotsInput {
8096	s.DBClusterIdentifier = &v
8097	return s
8098}
8099
8100// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
8101func (s *DescribeDBClusterSnapshotsInput) SetDBClusterSnapshotIdentifier(v string) *DescribeDBClusterSnapshotsInput {
8102	s.DBClusterSnapshotIdentifier = &v
8103	return s
8104}
8105
8106// SetFilters sets the Filters field's value.
8107func (s *DescribeDBClusterSnapshotsInput) SetFilters(v []*Filter) *DescribeDBClusterSnapshotsInput {
8108	s.Filters = v
8109	return s
8110}
8111
8112// SetIncludePublic sets the IncludePublic field's value.
8113func (s *DescribeDBClusterSnapshotsInput) SetIncludePublic(v bool) *DescribeDBClusterSnapshotsInput {
8114	s.IncludePublic = &v
8115	return s
8116}
8117
8118// SetIncludeShared sets the IncludeShared field's value.
8119func (s *DescribeDBClusterSnapshotsInput) SetIncludeShared(v bool) *DescribeDBClusterSnapshotsInput {
8120	s.IncludeShared = &v
8121	return s
8122}
8123
8124// SetMarker sets the Marker field's value.
8125func (s *DescribeDBClusterSnapshotsInput) SetMarker(v string) *DescribeDBClusterSnapshotsInput {
8126	s.Marker = &v
8127	return s
8128}
8129
8130// SetMaxRecords sets the MaxRecords field's value.
8131func (s *DescribeDBClusterSnapshotsInput) SetMaxRecords(v int64) *DescribeDBClusterSnapshotsInput {
8132	s.MaxRecords = &v
8133	return s
8134}
8135
8136// SetSnapshotType sets the SnapshotType field's value.
8137func (s *DescribeDBClusterSnapshotsInput) SetSnapshotType(v string) *DescribeDBClusterSnapshotsInput {
8138	s.SnapshotType = &v
8139	return s
8140}
8141
8142// Represents the output of DescribeDBClusterSnapshots.
8143type DescribeDBClusterSnapshotsOutput struct {
8144	_ struct{} `type:"structure"`
8145
8146	// Provides a list of cluster snapshots.
8147	DBClusterSnapshots []*DBClusterSnapshot `locationNameList:"DBClusterSnapshot" type:"list"`
8148
8149	// An optional pagination token provided by a previous request. If this parameter
8150	// is specified, the response includes only records beyond the marker, up to
8151	// the value specified by MaxRecords.
8152	Marker *string `type:"string"`
8153}
8154
8155// String returns the string representation
8156func (s DescribeDBClusterSnapshotsOutput) String() string {
8157	return awsutil.Prettify(s)
8158}
8159
8160// GoString returns the string representation
8161func (s DescribeDBClusterSnapshotsOutput) GoString() string {
8162	return s.String()
8163}
8164
8165// SetDBClusterSnapshots sets the DBClusterSnapshots field's value.
8166func (s *DescribeDBClusterSnapshotsOutput) SetDBClusterSnapshots(v []*DBClusterSnapshot) *DescribeDBClusterSnapshotsOutput {
8167	s.DBClusterSnapshots = v
8168	return s
8169}
8170
8171// SetMarker sets the Marker field's value.
8172func (s *DescribeDBClusterSnapshotsOutput) SetMarker(v string) *DescribeDBClusterSnapshotsOutput {
8173	s.Marker = &v
8174	return s
8175}
8176
8177// Represents the input to DescribeDBClusters.
8178type DescribeDBClustersInput struct {
8179	_ struct{} `type:"structure"`
8180
8181	// The user-provided cluster identifier. If this parameter is specified, information
8182	// from only the specific cluster is returned. This parameter isn't case sensitive.
8183	//
8184	// Constraints:
8185	//
8186	//    * If provided, must match an existing DBClusterIdentifier.
8187	DBClusterIdentifier *string `type:"string"`
8188
8189	// A filter that specifies one or more clusters to describe.
8190	//
8191	// Supported filters:
8192	//
8193	//    * db-cluster-id - Accepts cluster identifiers and cluster Amazon Resource
8194	//    Names (ARNs). The results list only includes information about the clusters
8195	//    identified by these ARNs.
8196	Filters []*Filter `locationNameList:"Filter" type:"list"`
8197
8198	// An optional pagination token provided by a previous request. If this parameter
8199	// is specified, the response includes only records beyond the marker, up to
8200	// the value specified by MaxRecords.
8201	Marker *string `type:"string"`
8202
8203	// The maximum number of records to include in the response. If more records
8204	// exist than the specified MaxRecords value, a pagination token (marker) is
8205	// included in the response so that the remaining results can be retrieved.
8206	//
8207	// Default: 100
8208	//
8209	// Constraints: Minimum 20, maximum 100.
8210	MaxRecords *int64 `type:"integer"`
8211}
8212
8213// String returns the string representation
8214func (s DescribeDBClustersInput) String() string {
8215	return awsutil.Prettify(s)
8216}
8217
8218// GoString returns the string representation
8219func (s DescribeDBClustersInput) GoString() string {
8220	return s.String()
8221}
8222
8223// Validate inspects the fields of the type to determine if they are valid.
8224func (s *DescribeDBClustersInput) Validate() error {
8225	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClustersInput"}
8226	if s.Filters != nil {
8227		for i, v := range s.Filters {
8228			if v == nil {
8229				continue
8230			}
8231			if err := v.Validate(); err != nil {
8232				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
8233			}
8234		}
8235	}
8236
8237	if invalidParams.Len() > 0 {
8238		return invalidParams
8239	}
8240	return nil
8241}
8242
8243// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
8244func (s *DescribeDBClustersInput) SetDBClusterIdentifier(v string) *DescribeDBClustersInput {
8245	s.DBClusterIdentifier = &v
8246	return s
8247}
8248
8249// SetFilters sets the Filters field's value.
8250func (s *DescribeDBClustersInput) SetFilters(v []*Filter) *DescribeDBClustersInput {
8251	s.Filters = v
8252	return s
8253}
8254
8255// SetMarker sets the Marker field's value.
8256func (s *DescribeDBClustersInput) SetMarker(v string) *DescribeDBClustersInput {
8257	s.Marker = &v
8258	return s
8259}
8260
8261// SetMaxRecords sets the MaxRecords field's value.
8262func (s *DescribeDBClustersInput) SetMaxRecords(v int64) *DescribeDBClustersInput {
8263	s.MaxRecords = &v
8264	return s
8265}
8266
8267// Represents the output of DescribeDBClusters.
8268type DescribeDBClustersOutput struct {
8269	_ struct{} `type:"structure"`
8270
8271	// A list of clusters.
8272	DBClusters []*DBCluster `locationNameList:"DBCluster" type:"list"`
8273
8274	// An optional pagination token provided by a previous request. If this parameter
8275	// is specified, the response includes only records beyond the marker, up to
8276	// the value specified by MaxRecords.
8277	Marker *string `type:"string"`
8278}
8279
8280// String returns the string representation
8281func (s DescribeDBClustersOutput) String() string {
8282	return awsutil.Prettify(s)
8283}
8284
8285// GoString returns the string representation
8286func (s DescribeDBClustersOutput) GoString() string {
8287	return s.String()
8288}
8289
8290// SetDBClusters sets the DBClusters field's value.
8291func (s *DescribeDBClustersOutput) SetDBClusters(v []*DBCluster) *DescribeDBClustersOutput {
8292	s.DBClusters = v
8293	return s
8294}
8295
8296// SetMarker sets the Marker field's value.
8297func (s *DescribeDBClustersOutput) SetMarker(v string) *DescribeDBClustersOutput {
8298	s.Marker = &v
8299	return s
8300}
8301
8302// Represents the input to DescribeDBEngineVersions.
8303type DescribeDBEngineVersionsInput struct {
8304	_ struct{} `type:"structure"`
8305
8306	// The name of a specific parameter group family to return details for.
8307	//
8308	// Constraints:
8309	//
8310	//    * If provided, must match an existing DBParameterGroupFamily.
8311	DBParameterGroupFamily *string `type:"string"`
8312
8313	// Indicates that only the default version of the specified engine or engine
8314	// and major version combination is returned.
8315	DefaultOnly *bool `type:"boolean"`
8316
8317	// The database engine to return.
8318	Engine *string `type:"string"`
8319
8320	// The database engine version to return.
8321	//
8322	// Example: 3.6.0
8323	EngineVersion *string `type:"string"`
8324
8325	// This parameter is not currently supported.
8326	Filters []*Filter `locationNameList:"Filter" type:"list"`
8327
8328	// If this parameter is specified and the requested engine supports the CharacterSetName
8329	// parameter for CreateDBInstance, the response includes a list of supported
8330	// character sets for each engine version.
8331	ListSupportedCharacterSets *bool `type:"boolean"`
8332
8333	// If this parameter is specified and the requested engine supports the TimeZone
8334	// parameter for CreateDBInstance, the response includes a list of supported
8335	// time zones for each engine version.
8336	ListSupportedTimezones *bool `type:"boolean"`
8337
8338	// An optional pagination token provided by a previous request. If this parameter
8339	// is specified, the response includes only records beyond the marker, up to
8340	// the value specified by MaxRecords.
8341	Marker *string `type:"string"`
8342
8343	// The maximum number of records to include in the response. If more records
8344	// exist than the specified MaxRecords value, a pagination token (marker) is
8345	// included in the response so that the remaining results can be retrieved.
8346	//
8347	// Default: 100
8348	//
8349	// Constraints: Minimum 20, maximum 100.
8350	MaxRecords *int64 `type:"integer"`
8351}
8352
8353// String returns the string representation
8354func (s DescribeDBEngineVersionsInput) String() string {
8355	return awsutil.Prettify(s)
8356}
8357
8358// GoString returns the string representation
8359func (s DescribeDBEngineVersionsInput) GoString() string {
8360	return s.String()
8361}
8362
8363// Validate inspects the fields of the type to determine if they are valid.
8364func (s *DescribeDBEngineVersionsInput) Validate() error {
8365	invalidParams := request.ErrInvalidParams{Context: "DescribeDBEngineVersionsInput"}
8366	if s.Filters != nil {
8367		for i, v := range s.Filters {
8368			if v == nil {
8369				continue
8370			}
8371			if err := v.Validate(); err != nil {
8372				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
8373			}
8374		}
8375	}
8376
8377	if invalidParams.Len() > 0 {
8378		return invalidParams
8379	}
8380	return nil
8381}
8382
8383// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
8384func (s *DescribeDBEngineVersionsInput) SetDBParameterGroupFamily(v string) *DescribeDBEngineVersionsInput {
8385	s.DBParameterGroupFamily = &v
8386	return s
8387}
8388
8389// SetDefaultOnly sets the DefaultOnly field's value.
8390func (s *DescribeDBEngineVersionsInput) SetDefaultOnly(v bool) *DescribeDBEngineVersionsInput {
8391	s.DefaultOnly = &v
8392	return s
8393}
8394
8395// SetEngine sets the Engine field's value.
8396func (s *DescribeDBEngineVersionsInput) SetEngine(v string) *DescribeDBEngineVersionsInput {
8397	s.Engine = &v
8398	return s
8399}
8400
8401// SetEngineVersion sets the EngineVersion field's value.
8402func (s *DescribeDBEngineVersionsInput) SetEngineVersion(v string) *DescribeDBEngineVersionsInput {
8403	s.EngineVersion = &v
8404	return s
8405}
8406
8407// SetFilters sets the Filters field's value.
8408func (s *DescribeDBEngineVersionsInput) SetFilters(v []*Filter) *DescribeDBEngineVersionsInput {
8409	s.Filters = v
8410	return s
8411}
8412
8413// SetListSupportedCharacterSets sets the ListSupportedCharacterSets field's value.
8414func (s *DescribeDBEngineVersionsInput) SetListSupportedCharacterSets(v bool) *DescribeDBEngineVersionsInput {
8415	s.ListSupportedCharacterSets = &v
8416	return s
8417}
8418
8419// SetListSupportedTimezones sets the ListSupportedTimezones field's value.
8420func (s *DescribeDBEngineVersionsInput) SetListSupportedTimezones(v bool) *DescribeDBEngineVersionsInput {
8421	s.ListSupportedTimezones = &v
8422	return s
8423}
8424
8425// SetMarker sets the Marker field's value.
8426func (s *DescribeDBEngineVersionsInput) SetMarker(v string) *DescribeDBEngineVersionsInput {
8427	s.Marker = &v
8428	return s
8429}
8430
8431// SetMaxRecords sets the MaxRecords field's value.
8432func (s *DescribeDBEngineVersionsInput) SetMaxRecords(v int64) *DescribeDBEngineVersionsInput {
8433	s.MaxRecords = &v
8434	return s
8435}
8436
8437// Represents the output of DescribeDBEngineVersions.
8438type DescribeDBEngineVersionsOutput struct {
8439	_ struct{} `type:"structure"`
8440
8441	// Detailed information about one or more engine versions.
8442	DBEngineVersions []*DBEngineVersion `locationNameList:"DBEngineVersion" type:"list"`
8443
8444	// An optional pagination token provided by a previous request. If this parameter
8445	// is specified, the response includes only records beyond the marker, up to
8446	// the value specified by MaxRecords.
8447	Marker *string `type:"string"`
8448}
8449
8450// String returns the string representation
8451func (s DescribeDBEngineVersionsOutput) String() string {
8452	return awsutil.Prettify(s)
8453}
8454
8455// GoString returns the string representation
8456func (s DescribeDBEngineVersionsOutput) GoString() string {
8457	return s.String()
8458}
8459
8460// SetDBEngineVersions sets the DBEngineVersions field's value.
8461func (s *DescribeDBEngineVersionsOutput) SetDBEngineVersions(v []*DBEngineVersion) *DescribeDBEngineVersionsOutput {
8462	s.DBEngineVersions = v
8463	return s
8464}
8465
8466// SetMarker sets the Marker field's value.
8467func (s *DescribeDBEngineVersionsOutput) SetMarker(v string) *DescribeDBEngineVersionsOutput {
8468	s.Marker = &v
8469	return s
8470}
8471
8472// Represents the input to DescribeDBInstances.
8473type DescribeDBInstancesInput struct {
8474	_ struct{} `type:"structure"`
8475
8476	// The user-provided instance identifier. If this parameter is specified, information
8477	// from only the specific instance is returned. This parameter isn't case sensitive.
8478	//
8479	// Constraints:
8480	//
8481	//    * If provided, must match the identifier of an existing DBInstance.
8482	DBInstanceIdentifier *string `type:"string"`
8483
8484	// A filter that specifies one or more instances to describe.
8485	//
8486	// Supported filters:
8487	//
8488	//    * db-cluster-id - Accepts cluster identifiers and cluster Amazon Resource
8489	//    Names (ARNs). The results list includes only the information about the
8490	//    instances that are associated with the clusters that are identified by
8491	//    these ARNs.
8492	//
8493	//    * db-instance-id - Accepts instance identifiers and instance ARNs. The
8494	//    results list includes only the information about the instances that are
8495	//    identified by these ARNs.
8496	Filters []*Filter `locationNameList:"Filter" type:"list"`
8497
8498	// An optional pagination token provided by a previous request. If this parameter
8499	// is specified, the response includes only records beyond the marker, up to
8500	// the value specified by MaxRecords.
8501	Marker *string `type:"string"`
8502
8503	// The maximum number of records to include in the response. If more records
8504	// exist than the specified MaxRecords value, a pagination token (marker) is
8505	// included in the response so that the remaining results can be retrieved.
8506	//
8507	// Default: 100
8508	//
8509	// Constraints: Minimum 20, maximum 100.
8510	MaxRecords *int64 `type:"integer"`
8511}
8512
8513// String returns the string representation
8514func (s DescribeDBInstancesInput) String() string {
8515	return awsutil.Prettify(s)
8516}
8517
8518// GoString returns the string representation
8519func (s DescribeDBInstancesInput) GoString() string {
8520	return s.String()
8521}
8522
8523// Validate inspects the fields of the type to determine if they are valid.
8524func (s *DescribeDBInstancesInput) Validate() error {
8525	invalidParams := request.ErrInvalidParams{Context: "DescribeDBInstancesInput"}
8526	if s.Filters != nil {
8527		for i, v := range s.Filters {
8528			if v == nil {
8529				continue
8530			}
8531			if err := v.Validate(); err != nil {
8532				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
8533			}
8534		}
8535	}
8536
8537	if invalidParams.Len() > 0 {
8538		return invalidParams
8539	}
8540	return nil
8541}
8542
8543// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
8544func (s *DescribeDBInstancesInput) SetDBInstanceIdentifier(v string) *DescribeDBInstancesInput {
8545	s.DBInstanceIdentifier = &v
8546	return s
8547}
8548
8549// SetFilters sets the Filters field's value.
8550func (s *DescribeDBInstancesInput) SetFilters(v []*Filter) *DescribeDBInstancesInput {
8551	s.Filters = v
8552	return s
8553}
8554
8555// SetMarker sets the Marker field's value.
8556func (s *DescribeDBInstancesInput) SetMarker(v string) *DescribeDBInstancesInput {
8557	s.Marker = &v
8558	return s
8559}
8560
8561// SetMaxRecords sets the MaxRecords field's value.
8562func (s *DescribeDBInstancesInput) SetMaxRecords(v int64) *DescribeDBInstancesInput {
8563	s.MaxRecords = &v
8564	return s
8565}
8566
8567// Represents the output of DescribeDBInstances.
8568type DescribeDBInstancesOutput struct {
8569	_ struct{} `type:"structure"`
8570
8571	// Detailed information about one or more instances.
8572	DBInstances []*DBInstance `locationNameList:"DBInstance" type:"list"`
8573
8574	// An optional pagination token provided by a previous request. If this parameter
8575	// is specified, the response includes only records beyond the marker, up to
8576	// the value specified by MaxRecords.
8577	Marker *string `type:"string"`
8578}
8579
8580// String returns the string representation
8581func (s DescribeDBInstancesOutput) String() string {
8582	return awsutil.Prettify(s)
8583}
8584
8585// GoString returns the string representation
8586func (s DescribeDBInstancesOutput) GoString() string {
8587	return s.String()
8588}
8589
8590// SetDBInstances sets the DBInstances field's value.
8591func (s *DescribeDBInstancesOutput) SetDBInstances(v []*DBInstance) *DescribeDBInstancesOutput {
8592	s.DBInstances = v
8593	return s
8594}
8595
8596// SetMarker sets the Marker field's value.
8597func (s *DescribeDBInstancesOutput) SetMarker(v string) *DescribeDBInstancesOutput {
8598	s.Marker = &v
8599	return s
8600}
8601
8602// Represents the input to DescribeDBSubnetGroups.
8603type DescribeDBSubnetGroupsInput struct {
8604	_ struct{} `type:"structure"`
8605
8606	// The name of the subnet group to return details for.
8607	DBSubnetGroupName *string `type:"string"`
8608
8609	// This parameter is not currently supported.
8610	Filters []*Filter `locationNameList:"Filter" type:"list"`
8611
8612	// An optional pagination token provided by a previous request. If this parameter
8613	// is specified, the response includes only records beyond the marker, up to
8614	// the value specified by MaxRecords.
8615	Marker *string `type:"string"`
8616
8617	// The maximum number of records to include in the response. If more records
8618	// exist than the specified MaxRecords value, a pagination token (marker) is
8619	// included in the response so that the remaining results can be retrieved.
8620	//
8621	// Default: 100
8622	//
8623	// Constraints: Minimum 20, maximum 100.
8624	MaxRecords *int64 `type:"integer"`
8625}
8626
8627// String returns the string representation
8628func (s DescribeDBSubnetGroupsInput) String() string {
8629	return awsutil.Prettify(s)
8630}
8631
8632// GoString returns the string representation
8633func (s DescribeDBSubnetGroupsInput) GoString() string {
8634	return s.String()
8635}
8636
8637// Validate inspects the fields of the type to determine if they are valid.
8638func (s *DescribeDBSubnetGroupsInput) Validate() error {
8639	invalidParams := request.ErrInvalidParams{Context: "DescribeDBSubnetGroupsInput"}
8640	if s.Filters != nil {
8641		for i, v := range s.Filters {
8642			if v == nil {
8643				continue
8644			}
8645			if err := v.Validate(); err != nil {
8646				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
8647			}
8648		}
8649	}
8650
8651	if invalidParams.Len() > 0 {
8652		return invalidParams
8653	}
8654	return nil
8655}
8656
8657// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
8658func (s *DescribeDBSubnetGroupsInput) SetDBSubnetGroupName(v string) *DescribeDBSubnetGroupsInput {
8659	s.DBSubnetGroupName = &v
8660	return s
8661}
8662
8663// SetFilters sets the Filters field's value.
8664func (s *DescribeDBSubnetGroupsInput) SetFilters(v []*Filter) *DescribeDBSubnetGroupsInput {
8665	s.Filters = v
8666	return s
8667}
8668
8669// SetMarker sets the Marker field's value.
8670func (s *DescribeDBSubnetGroupsInput) SetMarker(v string) *DescribeDBSubnetGroupsInput {
8671	s.Marker = &v
8672	return s
8673}
8674
8675// SetMaxRecords sets the MaxRecords field's value.
8676func (s *DescribeDBSubnetGroupsInput) SetMaxRecords(v int64) *DescribeDBSubnetGroupsInput {
8677	s.MaxRecords = &v
8678	return s
8679}
8680
8681// Represents the output of DescribeDBSubnetGroups.
8682type DescribeDBSubnetGroupsOutput struct {
8683	_ struct{} `type:"structure"`
8684
8685	// Detailed information about one or more subnet groups.
8686	DBSubnetGroups []*DBSubnetGroup `locationNameList:"DBSubnetGroup" type:"list"`
8687
8688	// An optional pagination token provided by a previous request. If this parameter
8689	// is specified, the response includes only records beyond the marker, up to
8690	// the value specified by MaxRecords.
8691	Marker *string `type:"string"`
8692}
8693
8694// String returns the string representation
8695func (s DescribeDBSubnetGroupsOutput) String() string {
8696	return awsutil.Prettify(s)
8697}
8698
8699// GoString returns the string representation
8700func (s DescribeDBSubnetGroupsOutput) GoString() string {
8701	return s.String()
8702}
8703
8704// SetDBSubnetGroups sets the DBSubnetGroups field's value.
8705func (s *DescribeDBSubnetGroupsOutput) SetDBSubnetGroups(v []*DBSubnetGroup) *DescribeDBSubnetGroupsOutput {
8706	s.DBSubnetGroups = v
8707	return s
8708}
8709
8710// SetMarker sets the Marker field's value.
8711func (s *DescribeDBSubnetGroupsOutput) SetMarker(v string) *DescribeDBSubnetGroupsOutput {
8712	s.Marker = &v
8713	return s
8714}
8715
8716// Represents the input to DescribeEngineDefaultClusterParameters.
8717type DescribeEngineDefaultClusterParametersInput struct {
8718	_ struct{} `type:"structure"`
8719
8720	// The name of the cluster parameter group family to return the engine parameter
8721	// information for.
8722	//
8723	// DBParameterGroupFamily is a required field
8724	DBParameterGroupFamily *string `type:"string" required:"true"`
8725
8726	// This parameter is not currently supported.
8727	Filters []*Filter `locationNameList:"Filter" type:"list"`
8728
8729	// An optional pagination token provided by a previous request. If this parameter
8730	// is specified, the response includes only records beyond the marker, up to
8731	// the value specified by MaxRecords.
8732	Marker *string `type:"string"`
8733
8734	// The maximum number of records to include in the response. If more records
8735	// exist than the specified MaxRecords value, a pagination token (marker) is
8736	// included in the response so that the remaining results can be retrieved.
8737	//
8738	// Default: 100
8739	//
8740	// Constraints: Minimum 20, maximum 100.
8741	MaxRecords *int64 `type:"integer"`
8742}
8743
8744// String returns the string representation
8745func (s DescribeEngineDefaultClusterParametersInput) String() string {
8746	return awsutil.Prettify(s)
8747}
8748
8749// GoString returns the string representation
8750func (s DescribeEngineDefaultClusterParametersInput) GoString() string {
8751	return s.String()
8752}
8753
8754// Validate inspects the fields of the type to determine if they are valid.
8755func (s *DescribeEngineDefaultClusterParametersInput) Validate() error {
8756	invalidParams := request.ErrInvalidParams{Context: "DescribeEngineDefaultClusterParametersInput"}
8757	if s.DBParameterGroupFamily == nil {
8758		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupFamily"))
8759	}
8760	if s.Filters != nil {
8761		for i, v := range s.Filters {
8762			if v == nil {
8763				continue
8764			}
8765			if err := v.Validate(); err != nil {
8766				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
8767			}
8768		}
8769	}
8770
8771	if invalidParams.Len() > 0 {
8772		return invalidParams
8773	}
8774	return nil
8775}
8776
8777// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
8778func (s *DescribeEngineDefaultClusterParametersInput) SetDBParameterGroupFamily(v string) *DescribeEngineDefaultClusterParametersInput {
8779	s.DBParameterGroupFamily = &v
8780	return s
8781}
8782
8783// SetFilters sets the Filters field's value.
8784func (s *DescribeEngineDefaultClusterParametersInput) SetFilters(v []*Filter) *DescribeEngineDefaultClusterParametersInput {
8785	s.Filters = v
8786	return s
8787}
8788
8789// SetMarker sets the Marker field's value.
8790func (s *DescribeEngineDefaultClusterParametersInput) SetMarker(v string) *DescribeEngineDefaultClusterParametersInput {
8791	s.Marker = &v
8792	return s
8793}
8794
8795// SetMaxRecords sets the MaxRecords field's value.
8796func (s *DescribeEngineDefaultClusterParametersInput) SetMaxRecords(v int64) *DescribeEngineDefaultClusterParametersInput {
8797	s.MaxRecords = &v
8798	return s
8799}
8800
8801type DescribeEngineDefaultClusterParametersOutput struct {
8802	_ struct{} `type:"structure"`
8803
8804	// Contains the result of a successful invocation of the DescribeEngineDefaultClusterParameters
8805	// operation.
8806	EngineDefaults *EngineDefaults `type:"structure"`
8807}
8808
8809// String returns the string representation
8810func (s DescribeEngineDefaultClusterParametersOutput) String() string {
8811	return awsutil.Prettify(s)
8812}
8813
8814// GoString returns the string representation
8815func (s DescribeEngineDefaultClusterParametersOutput) GoString() string {
8816	return s.String()
8817}
8818
8819// SetEngineDefaults sets the EngineDefaults field's value.
8820func (s *DescribeEngineDefaultClusterParametersOutput) SetEngineDefaults(v *EngineDefaults) *DescribeEngineDefaultClusterParametersOutput {
8821	s.EngineDefaults = v
8822	return s
8823}
8824
8825// Represents the input to DescribeEventCategories.
8826type DescribeEventCategoriesInput struct {
8827	_ struct{} `type:"structure"`
8828
8829	// This parameter is not currently supported.
8830	Filters []*Filter `locationNameList:"Filter" type:"list"`
8831
8832	// The type of source that is generating the events.
8833	//
8834	// Valid values: db-instance, db-parameter-group, db-security-group, db-snapshot
8835	SourceType *string `type:"string"`
8836}
8837
8838// String returns the string representation
8839func (s DescribeEventCategoriesInput) String() string {
8840	return awsutil.Prettify(s)
8841}
8842
8843// GoString returns the string representation
8844func (s DescribeEventCategoriesInput) GoString() string {
8845	return s.String()
8846}
8847
8848// Validate inspects the fields of the type to determine if they are valid.
8849func (s *DescribeEventCategoriesInput) Validate() error {
8850	invalidParams := request.ErrInvalidParams{Context: "DescribeEventCategoriesInput"}
8851	if s.Filters != nil {
8852		for i, v := range s.Filters {
8853			if v == nil {
8854				continue
8855			}
8856			if err := v.Validate(); err != nil {
8857				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
8858			}
8859		}
8860	}
8861
8862	if invalidParams.Len() > 0 {
8863		return invalidParams
8864	}
8865	return nil
8866}
8867
8868// SetFilters sets the Filters field's value.
8869func (s *DescribeEventCategoriesInput) SetFilters(v []*Filter) *DescribeEventCategoriesInput {
8870	s.Filters = v
8871	return s
8872}
8873
8874// SetSourceType sets the SourceType field's value.
8875func (s *DescribeEventCategoriesInput) SetSourceType(v string) *DescribeEventCategoriesInput {
8876	s.SourceType = &v
8877	return s
8878}
8879
8880// Represents the output of DescribeEventCategories.
8881type DescribeEventCategoriesOutput struct {
8882	_ struct{} `type:"structure"`
8883
8884	// A list of event category maps.
8885	EventCategoriesMapList []*EventCategoriesMap `locationNameList:"EventCategoriesMap" type:"list"`
8886}
8887
8888// String returns the string representation
8889func (s DescribeEventCategoriesOutput) String() string {
8890	return awsutil.Prettify(s)
8891}
8892
8893// GoString returns the string representation
8894func (s DescribeEventCategoriesOutput) GoString() string {
8895	return s.String()
8896}
8897
8898// SetEventCategoriesMapList sets the EventCategoriesMapList field's value.
8899func (s *DescribeEventCategoriesOutput) SetEventCategoriesMapList(v []*EventCategoriesMap) *DescribeEventCategoriesOutput {
8900	s.EventCategoriesMapList = v
8901	return s
8902}
8903
8904// Represents the input to DescribeEvents.
8905type DescribeEventsInput struct {
8906	_ struct{} `type:"structure"`
8907
8908	// The number of minutes to retrieve events for.
8909	//
8910	// Default: 60
8911	Duration *int64 `type:"integer"`
8912
8913	// The end of the time interval for which to retrieve events, specified in ISO
8914	// 8601 format.
8915	//
8916	// Example: 2009-07-08T18:00Z
8917	EndTime *time.Time `type:"timestamp"`
8918
8919	// A list of event categories that trigger notifications for an event notification
8920	// subscription.
8921	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
8922
8923	// This parameter is not currently supported.
8924	Filters []*Filter `locationNameList:"Filter" type:"list"`
8925
8926	// An optional pagination token provided by a previous request. If this parameter
8927	// is specified, the response includes only records beyond the marker, up to
8928	// the value specified by MaxRecords.
8929	Marker *string `type:"string"`
8930
8931	// The maximum number of records to include in the response. If more records
8932	// exist than the specified MaxRecords value, a pagination token (marker) is
8933	// included in the response so that the remaining results can be retrieved.
8934	//
8935	// Default: 100
8936	//
8937	// Constraints: Minimum 20, maximum 100.
8938	MaxRecords *int64 `type:"integer"`
8939
8940	// The identifier of the event source for which events are returned. If not
8941	// specified, then all sources are included in the response.
8942	//
8943	// Constraints:
8944	//
8945	//    * If SourceIdentifier is provided, SourceType must also be provided.
8946	//
8947	//    * If the source type is DBInstance, a DBInstanceIdentifier must be provided.
8948	//
8949	//    * If the source type is DBSecurityGroup, a DBSecurityGroupName must be
8950	//    provided.
8951	//
8952	//    * If the source type is DBParameterGroup, a DBParameterGroupName must
8953	//    be provided.
8954	//
8955	//    * If the source type is DBSnapshot, a DBSnapshotIdentifier must be provided.
8956	//
8957	//    * Cannot end with a hyphen or contain two consecutive hyphens.
8958	SourceIdentifier *string `type:"string"`
8959
8960	// The event source to retrieve events for. If no value is specified, all events
8961	// are returned.
8962	SourceType *string `type:"string" enum:"SourceType"`
8963
8964	// The beginning of the time interval to retrieve events for, specified in ISO
8965	// 8601 format.
8966	//
8967	// Example: 2009-07-08T18:00Z
8968	StartTime *time.Time `type:"timestamp"`
8969}
8970
8971// String returns the string representation
8972func (s DescribeEventsInput) String() string {
8973	return awsutil.Prettify(s)
8974}
8975
8976// GoString returns the string representation
8977func (s DescribeEventsInput) GoString() string {
8978	return s.String()
8979}
8980
8981// Validate inspects the fields of the type to determine if they are valid.
8982func (s *DescribeEventsInput) Validate() error {
8983	invalidParams := request.ErrInvalidParams{Context: "DescribeEventsInput"}
8984	if s.Filters != nil {
8985		for i, v := range s.Filters {
8986			if v == nil {
8987				continue
8988			}
8989			if err := v.Validate(); err != nil {
8990				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
8991			}
8992		}
8993	}
8994
8995	if invalidParams.Len() > 0 {
8996		return invalidParams
8997	}
8998	return nil
8999}
9000
9001// SetDuration sets the Duration field's value.
9002func (s *DescribeEventsInput) SetDuration(v int64) *DescribeEventsInput {
9003	s.Duration = &v
9004	return s
9005}
9006
9007// SetEndTime sets the EndTime field's value.
9008func (s *DescribeEventsInput) SetEndTime(v time.Time) *DescribeEventsInput {
9009	s.EndTime = &v
9010	return s
9011}
9012
9013// SetEventCategories sets the EventCategories field's value.
9014func (s *DescribeEventsInput) SetEventCategories(v []*string) *DescribeEventsInput {
9015	s.EventCategories = v
9016	return s
9017}
9018
9019// SetFilters sets the Filters field's value.
9020func (s *DescribeEventsInput) SetFilters(v []*Filter) *DescribeEventsInput {
9021	s.Filters = v
9022	return s
9023}
9024
9025// SetMarker sets the Marker field's value.
9026func (s *DescribeEventsInput) SetMarker(v string) *DescribeEventsInput {
9027	s.Marker = &v
9028	return s
9029}
9030
9031// SetMaxRecords sets the MaxRecords field's value.
9032func (s *DescribeEventsInput) SetMaxRecords(v int64) *DescribeEventsInput {
9033	s.MaxRecords = &v
9034	return s
9035}
9036
9037// SetSourceIdentifier sets the SourceIdentifier field's value.
9038func (s *DescribeEventsInput) SetSourceIdentifier(v string) *DescribeEventsInput {
9039	s.SourceIdentifier = &v
9040	return s
9041}
9042
9043// SetSourceType sets the SourceType field's value.
9044func (s *DescribeEventsInput) SetSourceType(v string) *DescribeEventsInput {
9045	s.SourceType = &v
9046	return s
9047}
9048
9049// SetStartTime sets the StartTime field's value.
9050func (s *DescribeEventsInput) SetStartTime(v time.Time) *DescribeEventsInput {
9051	s.StartTime = &v
9052	return s
9053}
9054
9055// Represents the output of DescribeEvents.
9056type DescribeEventsOutput struct {
9057	_ struct{} `type:"structure"`
9058
9059	// Detailed information about one or more events.
9060	Events []*Event `locationNameList:"Event" type:"list"`
9061
9062	// An optional pagination token provided by a previous request. If this parameter
9063	// is specified, the response includes only records beyond the marker, up to
9064	// the value specified by MaxRecords.
9065	Marker *string `type:"string"`
9066}
9067
9068// String returns the string representation
9069func (s DescribeEventsOutput) String() string {
9070	return awsutil.Prettify(s)
9071}
9072
9073// GoString returns the string representation
9074func (s DescribeEventsOutput) GoString() string {
9075	return s.String()
9076}
9077
9078// SetEvents sets the Events field's value.
9079func (s *DescribeEventsOutput) SetEvents(v []*Event) *DescribeEventsOutput {
9080	s.Events = v
9081	return s
9082}
9083
9084// SetMarker sets the Marker field's value.
9085func (s *DescribeEventsOutput) SetMarker(v string) *DescribeEventsOutput {
9086	s.Marker = &v
9087	return s
9088}
9089
9090// Represents the input to DescribeOrderableDBInstanceOptions.
9091type DescribeOrderableDBInstanceOptionsInput struct {
9092	_ struct{} `type:"structure"`
9093
9094	// The instance class filter value. Specify this parameter to show only the
9095	// available offerings that match the specified instance class.
9096	DBInstanceClass *string `type:"string"`
9097
9098	// The name of the engine to retrieve instance options for.
9099	//
9100	// Engine is a required field
9101	Engine *string `type:"string" required:"true"`
9102
9103	// The engine version filter value. Specify this parameter to show only the
9104	// available offerings that match the specified engine version.
9105	EngineVersion *string `type:"string"`
9106
9107	// This parameter is not currently supported.
9108	Filters []*Filter `locationNameList:"Filter" type:"list"`
9109
9110	// The license model filter value. Specify this parameter to show only the available
9111	// offerings that match the specified license model.
9112	LicenseModel *string `type:"string"`
9113
9114	// An optional pagination token provided by a previous request. If this parameter
9115	// is specified, the response includes only records beyond the marker, up to
9116	// the value specified by MaxRecords.
9117	Marker *string `type:"string"`
9118
9119	// The maximum number of records to include in the response. If more records
9120	// exist than the specified MaxRecords value, a pagination token (marker) is
9121	// included in the response so that the remaining results can be retrieved.
9122	//
9123	// Default: 100
9124	//
9125	// Constraints: Minimum 20, maximum 100.
9126	MaxRecords *int64 `type:"integer"`
9127
9128	// The virtual private cloud (VPC) filter value. Specify this parameter to show
9129	// only the available VPC or non-VPC offerings.
9130	Vpc *bool `type:"boolean"`
9131}
9132
9133// String returns the string representation
9134func (s DescribeOrderableDBInstanceOptionsInput) String() string {
9135	return awsutil.Prettify(s)
9136}
9137
9138// GoString returns the string representation
9139func (s DescribeOrderableDBInstanceOptionsInput) GoString() string {
9140	return s.String()
9141}
9142
9143// Validate inspects the fields of the type to determine if they are valid.
9144func (s *DescribeOrderableDBInstanceOptionsInput) Validate() error {
9145	invalidParams := request.ErrInvalidParams{Context: "DescribeOrderableDBInstanceOptionsInput"}
9146	if s.Engine == nil {
9147		invalidParams.Add(request.NewErrParamRequired("Engine"))
9148	}
9149	if s.Filters != nil {
9150		for i, v := range s.Filters {
9151			if v == nil {
9152				continue
9153			}
9154			if err := v.Validate(); err != nil {
9155				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
9156			}
9157		}
9158	}
9159
9160	if invalidParams.Len() > 0 {
9161		return invalidParams
9162	}
9163	return nil
9164}
9165
9166// SetDBInstanceClass sets the DBInstanceClass field's value.
9167func (s *DescribeOrderableDBInstanceOptionsInput) SetDBInstanceClass(v string) *DescribeOrderableDBInstanceOptionsInput {
9168	s.DBInstanceClass = &v
9169	return s
9170}
9171
9172// SetEngine sets the Engine field's value.
9173func (s *DescribeOrderableDBInstanceOptionsInput) SetEngine(v string) *DescribeOrderableDBInstanceOptionsInput {
9174	s.Engine = &v
9175	return s
9176}
9177
9178// SetEngineVersion sets the EngineVersion field's value.
9179func (s *DescribeOrderableDBInstanceOptionsInput) SetEngineVersion(v string) *DescribeOrderableDBInstanceOptionsInput {
9180	s.EngineVersion = &v
9181	return s
9182}
9183
9184// SetFilters sets the Filters field's value.
9185func (s *DescribeOrderableDBInstanceOptionsInput) SetFilters(v []*Filter) *DescribeOrderableDBInstanceOptionsInput {
9186	s.Filters = v
9187	return s
9188}
9189
9190// SetLicenseModel sets the LicenseModel field's value.
9191func (s *DescribeOrderableDBInstanceOptionsInput) SetLicenseModel(v string) *DescribeOrderableDBInstanceOptionsInput {
9192	s.LicenseModel = &v
9193	return s
9194}
9195
9196// SetMarker sets the Marker field's value.
9197func (s *DescribeOrderableDBInstanceOptionsInput) SetMarker(v string) *DescribeOrderableDBInstanceOptionsInput {
9198	s.Marker = &v
9199	return s
9200}
9201
9202// SetMaxRecords sets the MaxRecords field's value.
9203func (s *DescribeOrderableDBInstanceOptionsInput) SetMaxRecords(v int64) *DescribeOrderableDBInstanceOptionsInput {
9204	s.MaxRecords = &v
9205	return s
9206}
9207
9208// SetVpc sets the Vpc field's value.
9209func (s *DescribeOrderableDBInstanceOptionsInput) SetVpc(v bool) *DescribeOrderableDBInstanceOptionsInput {
9210	s.Vpc = &v
9211	return s
9212}
9213
9214// Represents the output of DescribeOrderableDBInstanceOptions.
9215type DescribeOrderableDBInstanceOptionsOutput struct {
9216	_ struct{} `type:"structure"`
9217
9218	// An optional pagination token provided by a previous request. If this parameter
9219	// is specified, the response includes only records beyond the marker, up to
9220	// the value specified by MaxRecords.
9221	Marker *string `type:"string"`
9222
9223	// The options that are available for a particular orderable instance.
9224	OrderableDBInstanceOptions []*OrderableDBInstanceOption `locationNameList:"OrderableDBInstanceOption" type:"list"`
9225}
9226
9227// String returns the string representation
9228func (s DescribeOrderableDBInstanceOptionsOutput) String() string {
9229	return awsutil.Prettify(s)
9230}
9231
9232// GoString returns the string representation
9233func (s DescribeOrderableDBInstanceOptionsOutput) GoString() string {
9234	return s.String()
9235}
9236
9237// SetMarker sets the Marker field's value.
9238func (s *DescribeOrderableDBInstanceOptionsOutput) SetMarker(v string) *DescribeOrderableDBInstanceOptionsOutput {
9239	s.Marker = &v
9240	return s
9241}
9242
9243// SetOrderableDBInstanceOptions sets the OrderableDBInstanceOptions field's value.
9244func (s *DescribeOrderableDBInstanceOptionsOutput) SetOrderableDBInstanceOptions(v []*OrderableDBInstanceOption) *DescribeOrderableDBInstanceOptionsOutput {
9245	s.OrderableDBInstanceOptions = v
9246	return s
9247}
9248
9249// Represents the input to DescribePendingMaintenanceActions.
9250type DescribePendingMaintenanceActionsInput struct {
9251	_ struct{} `type:"structure"`
9252
9253	// A filter that specifies one or more resources to return pending maintenance
9254	// actions for.
9255	//
9256	// Supported filters:
9257	//
9258	//    * db-cluster-id - Accepts cluster identifiers and cluster Amazon Resource
9259	//    Names (ARNs). The results list includes only pending maintenance actions
9260	//    for the clusters identified by these ARNs.
9261	//
9262	//    * db-instance-id - Accepts instance identifiers and instance ARNs. The
9263	//    results list includes only pending maintenance actions for the DB instances
9264	//    identified by these ARNs.
9265	Filters []*Filter `locationNameList:"Filter" type:"list"`
9266
9267	// An optional pagination token provided by a previous request. If this parameter
9268	// is specified, the response includes only records beyond the marker, up to
9269	// the value specified by MaxRecords.
9270	Marker *string `type:"string"`
9271
9272	// The maximum number of records to include in the response. If more records
9273	// exist than the specified MaxRecords value, a pagination token (marker) is
9274	// included in the response so that the remaining results can be retrieved.
9275	//
9276	// Default: 100
9277	//
9278	// Constraints: Minimum 20, maximum 100.
9279	MaxRecords *int64 `type:"integer"`
9280
9281	// The ARN of a resource to return pending maintenance actions for.
9282	ResourceIdentifier *string `type:"string"`
9283}
9284
9285// String returns the string representation
9286func (s DescribePendingMaintenanceActionsInput) String() string {
9287	return awsutil.Prettify(s)
9288}
9289
9290// GoString returns the string representation
9291func (s DescribePendingMaintenanceActionsInput) GoString() string {
9292	return s.String()
9293}
9294
9295// Validate inspects the fields of the type to determine if they are valid.
9296func (s *DescribePendingMaintenanceActionsInput) Validate() error {
9297	invalidParams := request.ErrInvalidParams{Context: "DescribePendingMaintenanceActionsInput"}
9298	if s.Filters != nil {
9299		for i, v := range s.Filters {
9300			if v == nil {
9301				continue
9302			}
9303			if err := v.Validate(); err != nil {
9304				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
9305			}
9306		}
9307	}
9308
9309	if invalidParams.Len() > 0 {
9310		return invalidParams
9311	}
9312	return nil
9313}
9314
9315// SetFilters sets the Filters field's value.
9316func (s *DescribePendingMaintenanceActionsInput) SetFilters(v []*Filter) *DescribePendingMaintenanceActionsInput {
9317	s.Filters = v
9318	return s
9319}
9320
9321// SetMarker sets the Marker field's value.
9322func (s *DescribePendingMaintenanceActionsInput) SetMarker(v string) *DescribePendingMaintenanceActionsInput {
9323	s.Marker = &v
9324	return s
9325}
9326
9327// SetMaxRecords sets the MaxRecords field's value.
9328func (s *DescribePendingMaintenanceActionsInput) SetMaxRecords(v int64) *DescribePendingMaintenanceActionsInput {
9329	s.MaxRecords = &v
9330	return s
9331}
9332
9333// SetResourceIdentifier sets the ResourceIdentifier field's value.
9334func (s *DescribePendingMaintenanceActionsInput) SetResourceIdentifier(v string) *DescribePendingMaintenanceActionsInput {
9335	s.ResourceIdentifier = &v
9336	return s
9337}
9338
9339// Represents the output of DescribePendingMaintenanceActions.
9340type DescribePendingMaintenanceActionsOutput struct {
9341	_ struct{} `type:"structure"`
9342
9343	// An optional pagination token provided by a previous request. If this parameter
9344	// is specified, the response includes only records beyond the marker, up to
9345	// the value specified by MaxRecords.
9346	Marker *string `type:"string"`
9347
9348	// The maintenance actions to be applied.
9349	PendingMaintenanceActions []*ResourcePendingMaintenanceActions `locationNameList:"ResourcePendingMaintenanceActions" type:"list"`
9350}
9351
9352// String returns the string representation
9353func (s DescribePendingMaintenanceActionsOutput) String() string {
9354	return awsutil.Prettify(s)
9355}
9356
9357// GoString returns the string representation
9358func (s DescribePendingMaintenanceActionsOutput) GoString() string {
9359	return s.String()
9360}
9361
9362// SetMarker sets the Marker field's value.
9363func (s *DescribePendingMaintenanceActionsOutput) SetMarker(v string) *DescribePendingMaintenanceActionsOutput {
9364	s.Marker = &v
9365	return s
9366}
9367
9368// SetPendingMaintenanceActions sets the PendingMaintenanceActions field's value.
9369func (s *DescribePendingMaintenanceActionsOutput) SetPendingMaintenanceActions(v []*ResourcePendingMaintenanceActions) *DescribePendingMaintenanceActionsOutput {
9370	s.PendingMaintenanceActions = v
9371	return s
9372}
9373
9374// Network information for accessing a cluster or instance. Client programs
9375// must specify a valid endpoint to access these Amazon DocumentDB resources.
9376type Endpoint struct {
9377	_ struct{} `type:"structure"`
9378
9379	// Specifies the DNS address of the instance.
9380	Address *string `type:"string"`
9381
9382	// Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.
9383	HostedZoneId *string `type:"string"`
9384
9385	// Specifies the port that the database engine is listening on.
9386	Port *int64 `type:"integer"`
9387}
9388
9389// String returns the string representation
9390func (s Endpoint) String() string {
9391	return awsutil.Prettify(s)
9392}
9393
9394// GoString returns the string representation
9395func (s Endpoint) GoString() string {
9396	return s.String()
9397}
9398
9399// SetAddress sets the Address field's value.
9400func (s *Endpoint) SetAddress(v string) *Endpoint {
9401	s.Address = &v
9402	return s
9403}
9404
9405// SetHostedZoneId sets the HostedZoneId field's value.
9406func (s *Endpoint) SetHostedZoneId(v string) *Endpoint {
9407	s.HostedZoneId = &v
9408	return s
9409}
9410
9411// SetPort sets the Port field's value.
9412func (s *Endpoint) SetPort(v int64) *Endpoint {
9413	s.Port = &v
9414	return s
9415}
9416
9417// Contains the result of a successful invocation of the DescribeEngineDefaultClusterParameters
9418// operation.
9419type EngineDefaults struct {
9420	_ struct{} `type:"structure"`
9421
9422	// The name of the cluster parameter group family to return the engine parameter
9423	// information for.
9424	DBParameterGroupFamily *string `type:"string"`
9425
9426	// An optional pagination token provided by a previous request. If this parameter
9427	// is specified, the response includes only records beyond the marker, up to
9428	// the value specified by MaxRecords.
9429	Marker *string `type:"string"`
9430
9431	// The parameters of a particular cluster parameter group family.
9432	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
9433}
9434
9435// String returns the string representation
9436func (s EngineDefaults) String() string {
9437	return awsutil.Prettify(s)
9438}
9439
9440// GoString returns the string representation
9441func (s EngineDefaults) GoString() string {
9442	return s.String()
9443}
9444
9445// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
9446func (s *EngineDefaults) SetDBParameterGroupFamily(v string) *EngineDefaults {
9447	s.DBParameterGroupFamily = &v
9448	return s
9449}
9450
9451// SetMarker sets the Marker field's value.
9452func (s *EngineDefaults) SetMarker(v string) *EngineDefaults {
9453	s.Marker = &v
9454	return s
9455}
9456
9457// SetParameters sets the Parameters field's value.
9458func (s *EngineDefaults) SetParameters(v []*Parameter) *EngineDefaults {
9459	s.Parameters = v
9460	return s
9461}
9462
9463// Detailed information about an event.
9464type Event struct {
9465	_ struct{} `type:"structure"`
9466
9467	// Specifies the date and time of the event.
9468	Date *time.Time `type:"timestamp"`
9469
9470	// Specifies the category for the event.
9471	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
9472
9473	// Provides the text of this event.
9474	Message *string `type:"string"`
9475
9476	// The Amazon Resource Name (ARN) for the event.
9477	SourceArn *string `type:"string"`
9478
9479	// Provides the identifier for the source of the event.
9480	SourceIdentifier *string `type:"string"`
9481
9482	// Specifies the source type for this event.
9483	SourceType *string `type:"string" enum:"SourceType"`
9484}
9485
9486// String returns the string representation
9487func (s Event) String() string {
9488	return awsutil.Prettify(s)
9489}
9490
9491// GoString returns the string representation
9492func (s Event) GoString() string {
9493	return s.String()
9494}
9495
9496// SetDate sets the Date field's value.
9497func (s *Event) SetDate(v time.Time) *Event {
9498	s.Date = &v
9499	return s
9500}
9501
9502// SetEventCategories sets the EventCategories field's value.
9503func (s *Event) SetEventCategories(v []*string) *Event {
9504	s.EventCategories = v
9505	return s
9506}
9507
9508// SetMessage sets the Message field's value.
9509func (s *Event) SetMessage(v string) *Event {
9510	s.Message = &v
9511	return s
9512}
9513
9514// SetSourceArn sets the SourceArn field's value.
9515func (s *Event) SetSourceArn(v string) *Event {
9516	s.SourceArn = &v
9517	return s
9518}
9519
9520// SetSourceIdentifier sets the SourceIdentifier field's value.
9521func (s *Event) SetSourceIdentifier(v string) *Event {
9522	s.SourceIdentifier = &v
9523	return s
9524}
9525
9526// SetSourceType sets the SourceType field's value.
9527func (s *Event) SetSourceType(v string) *Event {
9528	s.SourceType = &v
9529	return s
9530}
9531
9532// An event source type, accompanied by one or more event category names.
9533type EventCategoriesMap struct {
9534	_ struct{} `type:"structure"`
9535
9536	// The event categories for the specified source type.
9537	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
9538
9539	// The source type that the returned categories belong to.
9540	SourceType *string `type:"string"`
9541}
9542
9543// String returns the string representation
9544func (s EventCategoriesMap) String() string {
9545	return awsutil.Prettify(s)
9546}
9547
9548// GoString returns the string representation
9549func (s EventCategoriesMap) GoString() string {
9550	return s.String()
9551}
9552
9553// SetEventCategories sets the EventCategories field's value.
9554func (s *EventCategoriesMap) SetEventCategories(v []*string) *EventCategoriesMap {
9555	s.EventCategories = v
9556	return s
9557}
9558
9559// SetSourceType sets the SourceType field's value.
9560func (s *EventCategoriesMap) SetSourceType(v string) *EventCategoriesMap {
9561	s.SourceType = &v
9562	return s
9563}
9564
9565// Represents the input to FailoverDBCluster.
9566type FailoverDBClusterInput struct {
9567	_ struct{} `type:"structure"`
9568
9569	// A cluster identifier to force a failover for. This parameter is not case
9570	// sensitive.
9571	//
9572	// Constraints:
9573	//
9574	//    * Must match the identifier of an existing DBCluster.
9575	DBClusterIdentifier *string `type:"string"`
9576
9577	// The name of the instance to promote to the primary instance.
9578	//
9579	// You must specify the instance identifier for an Amazon DocumentDB replica
9580	// in the cluster. For example, mydbcluster-replica1.
9581	TargetDBInstanceIdentifier *string `type:"string"`
9582}
9583
9584// String returns the string representation
9585func (s FailoverDBClusterInput) String() string {
9586	return awsutil.Prettify(s)
9587}
9588
9589// GoString returns the string representation
9590func (s FailoverDBClusterInput) GoString() string {
9591	return s.String()
9592}
9593
9594// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
9595func (s *FailoverDBClusterInput) SetDBClusterIdentifier(v string) *FailoverDBClusterInput {
9596	s.DBClusterIdentifier = &v
9597	return s
9598}
9599
9600// SetTargetDBInstanceIdentifier sets the TargetDBInstanceIdentifier field's value.
9601func (s *FailoverDBClusterInput) SetTargetDBInstanceIdentifier(v string) *FailoverDBClusterInput {
9602	s.TargetDBInstanceIdentifier = &v
9603	return s
9604}
9605
9606type FailoverDBClusterOutput struct {
9607	_ struct{} `type:"structure"`
9608
9609	// Detailed information about a cluster.
9610	DBCluster *DBCluster `type:"structure"`
9611}
9612
9613// String returns the string representation
9614func (s FailoverDBClusterOutput) String() string {
9615	return awsutil.Prettify(s)
9616}
9617
9618// GoString returns the string representation
9619func (s FailoverDBClusterOutput) GoString() string {
9620	return s.String()
9621}
9622
9623// SetDBCluster sets the DBCluster field's value.
9624func (s *FailoverDBClusterOutput) SetDBCluster(v *DBCluster) *FailoverDBClusterOutput {
9625	s.DBCluster = v
9626	return s
9627}
9628
9629// A named set of filter values, used to return a more specific list of results.
9630// You can use a filter to match a set of resources by specific criteria, such
9631// as IDs.
9632//
9633// Wildcards are not supported in filters.
9634type Filter struct {
9635	_ struct{} `type:"structure"`
9636
9637	// The name of the filter. Filter names are case sensitive.
9638	//
9639	// Name is a required field
9640	Name *string `type:"string" required:"true"`
9641
9642	// One or more filter values. Filter values are case sensitive.
9643	//
9644	// Values is a required field
9645	Values []*string `locationNameList:"Value" type:"list" required:"true"`
9646}
9647
9648// String returns the string representation
9649func (s Filter) String() string {
9650	return awsutil.Prettify(s)
9651}
9652
9653// GoString returns the string representation
9654func (s Filter) GoString() string {
9655	return s.String()
9656}
9657
9658// Validate inspects the fields of the type to determine if they are valid.
9659func (s *Filter) Validate() error {
9660	invalidParams := request.ErrInvalidParams{Context: "Filter"}
9661	if s.Name == nil {
9662		invalidParams.Add(request.NewErrParamRequired("Name"))
9663	}
9664	if s.Values == nil {
9665		invalidParams.Add(request.NewErrParamRequired("Values"))
9666	}
9667
9668	if invalidParams.Len() > 0 {
9669		return invalidParams
9670	}
9671	return nil
9672}
9673
9674// SetName sets the Name field's value.
9675func (s *Filter) SetName(v string) *Filter {
9676	s.Name = &v
9677	return s
9678}
9679
9680// SetValues sets the Values field's value.
9681func (s *Filter) SetValues(v []*string) *Filter {
9682	s.Values = v
9683	return s
9684}
9685
9686// Represents the input to ListTagsForResource.
9687type ListTagsForResourceInput struct {
9688	_ struct{} `type:"structure"`
9689
9690	// This parameter is not currently supported.
9691	Filters []*Filter `locationNameList:"Filter" type:"list"`
9692
9693	// The Amazon DocumentDB resource with tags to be listed. This value is an Amazon
9694	// Resource Name (ARN).
9695	//
9696	// ResourceName is a required field
9697	ResourceName *string `type:"string" required:"true"`
9698}
9699
9700// String returns the string representation
9701func (s ListTagsForResourceInput) String() string {
9702	return awsutil.Prettify(s)
9703}
9704
9705// GoString returns the string representation
9706func (s ListTagsForResourceInput) GoString() string {
9707	return s.String()
9708}
9709
9710// Validate inspects the fields of the type to determine if they are valid.
9711func (s *ListTagsForResourceInput) Validate() error {
9712	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
9713	if s.ResourceName == nil {
9714		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
9715	}
9716	if s.Filters != nil {
9717		for i, v := range s.Filters {
9718			if v == nil {
9719				continue
9720			}
9721			if err := v.Validate(); err != nil {
9722				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
9723			}
9724		}
9725	}
9726
9727	if invalidParams.Len() > 0 {
9728		return invalidParams
9729	}
9730	return nil
9731}
9732
9733// SetFilters sets the Filters field's value.
9734func (s *ListTagsForResourceInput) SetFilters(v []*Filter) *ListTagsForResourceInput {
9735	s.Filters = v
9736	return s
9737}
9738
9739// SetResourceName sets the ResourceName field's value.
9740func (s *ListTagsForResourceInput) SetResourceName(v string) *ListTagsForResourceInput {
9741	s.ResourceName = &v
9742	return s
9743}
9744
9745// Represents the output of ListTagsForResource.
9746type ListTagsForResourceOutput struct {
9747	_ struct{} `type:"structure"`
9748
9749	// A list of one or more tags.
9750	TagList []*Tag `locationNameList:"Tag" type:"list"`
9751}
9752
9753// String returns the string representation
9754func (s ListTagsForResourceOutput) String() string {
9755	return awsutil.Prettify(s)
9756}
9757
9758// GoString returns the string representation
9759func (s ListTagsForResourceOutput) GoString() string {
9760	return s.String()
9761}
9762
9763// SetTagList sets the TagList field's value.
9764func (s *ListTagsForResourceOutput) SetTagList(v []*Tag) *ListTagsForResourceOutput {
9765	s.TagList = v
9766	return s
9767}
9768
9769// Represents the input to ModifyDBCluster.
9770type ModifyDBClusterInput struct {
9771	_ struct{} `type:"structure"`
9772
9773	// A value that specifies whether the changes in this request and any pending
9774	// changes are asynchronously applied as soon as possible, regardless of the
9775	// PreferredMaintenanceWindow setting for the cluster. If this parameter is
9776	// set to false, changes to the cluster are applied during the next maintenance
9777	// window.
9778	//
9779	// The ApplyImmediately parameter affects only the NewDBClusterIdentifier and
9780	// MasterUserPassword values. If you set this parameter value to false, the
9781	// changes to the NewDBClusterIdentifier and MasterUserPassword values are applied
9782	// during the next maintenance window. All other changes are applied immediately,
9783	// regardless of the value of the ApplyImmediately parameter.
9784	//
9785	// Default: false
9786	ApplyImmediately *bool `type:"boolean"`
9787
9788	// The number of days for which automated backups are retained. You must specify
9789	// a minimum value of 1.
9790	//
9791	// Default: 1
9792	//
9793	// Constraints:
9794	//
9795	//    * Must be a value from 1 to 35.
9796	BackupRetentionPeriod *int64 `type:"integer"`
9797
9798	// The configuration setting for the log types to be enabled for export to Amazon
9799	// CloudWatch Logs for a specific instance or cluster. The EnableLogTypes and
9800	// DisableLogTypes arrays determine which logs are exported (or not exported)
9801	// to CloudWatch Logs.
9802	CloudwatchLogsExportConfiguration *CloudwatchLogsExportConfiguration `type:"structure"`
9803
9804	// The cluster identifier for the cluster that is being modified. This parameter
9805	// is not case sensitive.
9806	//
9807	// Constraints:
9808	//
9809	//    * Must match the identifier of an existing DBCluster.
9810	//
9811	// DBClusterIdentifier is a required field
9812	DBClusterIdentifier *string `type:"string" required:"true"`
9813
9814	// The name of the cluster parameter group to use for the cluster.
9815	DBClusterParameterGroupName *string `type:"string"`
9816
9817	// Specifies whether this cluster can be deleted. If DeletionProtection is enabled,
9818	// the cluster cannot be deleted unless it is modified and DeletionProtection
9819	// is disabled. DeletionProtection protects clusters from being accidentally
9820	// deleted.
9821	DeletionProtection *bool `type:"boolean"`
9822
9823	// The version number of the database engine to which you want to upgrade. Changing
9824	// this parameter results in an outage. The change is applied during the next
9825	// maintenance window unless the ApplyImmediately parameter is set to true.
9826	EngineVersion *string `type:"string"`
9827
9828	// The password for the master database user. This password can contain any
9829	// printable ASCII character except forward slash (/), double quote ("), or
9830	// the "at" symbol (@).
9831	//
9832	// Constraints: Must contain from 8 to 100 characters.
9833	MasterUserPassword *string `type:"string"`
9834
9835	// The new cluster identifier for the cluster when renaming a cluster. This
9836	// value is stored as a lowercase string.
9837	//
9838	// Constraints:
9839	//
9840	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
9841	//
9842	//    * The first character must be a letter.
9843	//
9844	//    * Cannot end with a hyphen or contain two consecutive hyphens.
9845	//
9846	// Example: my-cluster2
9847	NewDBClusterIdentifier *string `type:"string"`
9848
9849	// The port number on which the cluster accepts connections.
9850	//
9851	// Constraints: Must be a value from 1150 to 65535.
9852	//
9853	// Default: The same port as the original cluster.
9854	Port *int64 `type:"integer"`
9855
9856	// The daily time range during which automated backups are created if automated
9857	// backups are enabled, using the BackupRetentionPeriod parameter.
9858	//
9859	// The default is a 30-minute window selected at random from an 8-hour block
9860	// of time for each AWS Region.
9861	//
9862	// Constraints:
9863	//
9864	//    * Must be in the format hh24:mi-hh24:mi.
9865	//
9866	//    * Must be in Universal Coordinated Time (UTC).
9867	//
9868	//    * Must not conflict with the preferred maintenance window.
9869	//
9870	//    * Must be at least 30 minutes.
9871	PreferredBackupWindow *string `type:"string"`
9872
9873	// The weekly time range during which system maintenance can occur, in Universal
9874	// Coordinated Time (UTC).
9875	//
9876	// Format: ddd:hh24:mi-ddd:hh24:mi
9877	//
9878	// The default is a 30-minute window selected at random from an 8-hour block
9879	// of time for each AWS Region, occurring on a random day of the week.
9880	//
9881	// Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun
9882	//
9883	// Constraints: Minimum 30-minute window.
9884	PreferredMaintenanceWindow *string `type:"string"`
9885
9886	// A list of virtual private cloud (VPC) security groups that the cluster will
9887	// belong to.
9888	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
9889}
9890
9891// String returns the string representation
9892func (s ModifyDBClusterInput) String() string {
9893	return awsutil.Prettify(s)
9894}
9895
9896// GoString returns the string representation
9897func (s ModifyDBClusterInput) GoString() string {
9898	return s.String()
9899}
9900
9901// Validate inspects the fields of the type to determine if they are valid.
9902func (s *ModifyDBClusterInput) Validate() error {
9903	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterInput"}
9904	if s.DBClusterIdentifier == nil {
9905		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
9906	}
9907
9908	if invalidParams.Len() > 0 {
9909		return invalidParams
9910	}
9911	return nil
9912}
9913
9914// SetApplyImmediately sets the ApplyImmediately field's value.
9915func (s *ModifyDBClusterInput) SetApplyImmediately(v bool) *ModifyDBClusterInput {
9916	s.ApplyImmediately = &v
9917	return s
9918}
9919
9920// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
9921func (s *ModifyDBClusterInput) SetBackupRetentionPeriod(v int64) *ModifyDBClusterInput {
9922	s.BackupRetentionPeriod = &v
9923	return s
9924}
9925
9926// SetCloudwatchLogsExportConfiguration sets the CloudwatchLogsExportConfiguration field's value.
9927func (s *ModifyDBClusterInput) SetCloudwatchLogsExportConfiguration(v *CloudwatchLogsExportConfiguration) *ModifyDBClusterInput {
9928	s.CloudwatchLogsExportConfiguration = v
9929	return s
9930}
9931
9932// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
9933func (s *ModifyDBClusterInput) SetDBClusterIdentifier(v string) *ModifyDBClusterInput {
9934	s.DBClusterIdentifier = &v
9935	return s
9936}
9937
9938// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
9939func (s *ModifyDBClusterInput) SetDBClusterParameterGroupName(v string) *ModifyDBClusterInput {
9940	s.DBClusterParameterGroupName = &v
9941	return s
9942}
9943
9944// SetDeletionProtection sets the DeletionProtection field's value.
9945func (s *ModifyDBClusterInput) SetDeletionProtection(v bool) *ModifyDBClusterInput {
9946	s.DeletionProtection = &v
9947	return s
9948}
9949
9950// SetEngineVersion sets the EngineVersion field's value.
9951func (s *ModifyDBClusterInput) SetEngineVersion(v string) *ModifyDBClusterInput {
9952	s.EngineVersion = &v
9953	return s
9954}
9955
9956// SetMasterUserPassword sets the MasterUserPassword field's value.
9957func (s *ModifyDBClusterInput) SetMasterUserPassword(v string) *ModifyDBClusterInput {
9958	s.MasterUserPassword = &v
9959	return s
9960}
9961
9962// SetNewDBClusterIdentifier sets the NewDBClusterIdentifier field's value.
9963func (s *ModifyDBClusterInput) SetNewDBClusterIdentifier(v string) *ModifyDBClusterInput {
9964	s.NewDBClusterIdentifier = &v
9965	return s
9966}
9967
9968// SetPort sets the Port field's value.
9969func (s *ModifyDBClusterInput) SetPort(v int64) *ModifyDBClusterInput {
9970	s.Port = &v
9971	return s
9972}
9973
9974// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
9975func (s *ModifyDBClusterInput) SetPreferredBackupWindow(v string) *ModifyDBClusterInput {
9976	s.PreferredBackupWindow = &v
9977	return s
9978}
9979
9980// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
9981func (s *ModifyDBClusterInput) SetPreferredMaintenanceWindow(v string) *ModifyDBClusterInput {
9982	s.PreferredMaintenanceWindow = &v
9983	return s
9984}
9985
9986// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
9987func (s *ModifyDBClusterInput) SetVpcSecurityGroupIds(v []*string) *ModifyDBClusterInput {
9988	s.VpcSecurityGroupIds = v
9989	return s
9990}
9991
9992type ModifyDBClusterOutput struct {
9993	_ struct{} `type:"structure"`
9994
9995	// Detailed information about a cluster.
9996	DBCluster *DBCluster `type:"structure"`
9997}
9998
9999// String returns the string representation
10000func (s ModifyDBClusterOutput) String() string {
10001	return awsutil.Prettify(s)
10002}
10003
10004// GoString returns the string representation
10005func (s ModifyDBClusterOutput) GoString() string {
10006	return s.String()
10007}
10008
10009// SetDBCluster sets the DBCluster field's value.
10010func (s *ModifyDBClusterOutput) SetDBCluster(v *DBCluster) *ModifyDBClusterOutput {
10011	s.DBCluster = v
10012	return s
10013}
10014
10015// Represents the input to ModifyDBClusterParameterGroup.
10016type ModifyDBClusterParameterGroupInput struct {
10017	_ struct{} `type:"structure"`
10018
10019	// The name of the cluster parameter group to modify.
10020	//
10021	// DBClusterParameterGroupName is a required field
10022	DBClusterParameterGroupName *string `type:"string" required:"true"`
10023
10024	// A list of parameters in the cluster parameter group to modify.
10025	//
10026	// Parameters is a required field
10027	Parameters []*Parameter `locationNameList:"Parameter" type:"list" required:"true"`
10028}
10029
10030// String returns the string representation
10031func (s ModifyDBClusterParameterGroupInput) String() string {
10032	return awsutil.Prettify(s)
10033}
10034
10035// GoString returns the string representation
10036func (s ModifyDBClusterParameterGroupInput) GoString() string {
10037	return s.String()
10038}
10039
10040// Validate inspects the fields of the type to determine if they are valid.
10041func (s *ModifyDBClusterParameterGroupInput) Validate() error {
10042	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterParameterGroupInput"}
10043	if s.DBClusterParameterGroupName == nil {
10044		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
10045	}
10046	if s.Parameters == nil {
10047		invalidParams.Add(request.NewErrParamRequired("Parameters"))
10048	}
10049
10050	if invalidParams.Len() > 0 {
10051		return invalidParams
10052	}
10053	return nil
10054}
10055
10056// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
10057func (s *ModifyDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *ModifyDBClusterParameterGroupInput {
10058	s.DBClusterParameterGroupName = &v
10059	return s
10060}
10061
10062// SetParameters sets the Parameters field's value.
10063func (s *ModifyDBClusterParameterGroupInput) SetParameters(v []*Parameter) *ModifyDBClusterParameterGroupInput {
10064	s.Parameters = v
10065	return s
10066}
10067
10068// Contains the name of a cluster parameter group.
10069type ModifyDBClusterParameterGroupOutput struct {
10070	_ struct{} `type:"structure"`
10071
10072	// The name of a cluster parameter group.
10073	//
10074	// Constraints:
10075	//
10076	//    * Must be from 1 to 255 letters or numbers.
10077	//
10078	//    * The first character must be a letter.
10079	//
10080	//    * Cannot end with a hyphen or contain two consecutive hyphens.
10081	//
10082	// This value is stored as a lowercase string.
10083	DBClusterParameterGroupName *string `type:"string"`
10084}
10085
10086// String returns the string representation
10087func (s ModifyDBClusterParameterGroupOutput) String() string {
10088	return awsutil.Prettify(s)
10089}
10090
10091// GoString returns the string representation
10092func (s ModifyDBClusterParameterGroupOutput) GoString() string {
10093	return s.String()
10094}
10095
10096// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
10097func (s *ModifyDBClusterParameterGroupOutput) SetDBClusterParameterGroupName(v string) *ModifyDBClusterParameterGroupOutput {
10098	s.DBClusterParameterGroupName = &v
10099	return s
10100}
10101
10102// Represents the input to ModifyDBClusterSnapshotAttribute.
10103type ModifyDBClusterSnapshotAttributeInput struct {
10104	_ struct{} `type:"structure"`
10105
10106	// The name of the cluster snapshot attribute to modify.
10107	//
10108	// To manage authorization for other AWS accounts to copy or restore a manual
10109	// cluster snapshot, set this value to restore.
10110	//
10111	// AttributeName is a required field
10112	AttributeName *string `type:"string" required:"true"`
10113
10114	// The identifier for the cluster snapshot to modify the attributes for.
10115	//
10116	// DBClusterSnapshotIdentifier is a required field
10117	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
10118
10119	// A list of cluster snapshot attributes to add to the attribute specified by
10120	// AttributeName.
10121	//
10122	// To authorize other AWS accounts to copy or restore a manual cluster snapshot,
10123	// set this list to include one or more AWS account IDs. To make the manual
10124	// cluster snapshot restorable by any AWS account, set it to all. Do not add
10125	// the all value for any manual cluster snapshots that contain private information
10126	// that you don't want to be available to all AWS accounts.
10127	ValuesToAdd []*string `locationNameList:"AttributeValue" type:"list"`
10128
10129	// A list of cluster snapshot attributes to remove from the attribute specified
10130	// by AttributeName.
10131	//
10132	// To remove authorization for other AWS accounts to copy or restore a manual
10133	// cluster snapshot, set this list to include one or more AWS account identifiers.
10134	// To remove authorization for any AWS account to copy or restore the cluster
10135	// snapshot, set it to all . If you specify all, an AWS account whose account
10136	// ID is explicitly added to the restore attribute can still copy or restore
10137	// a manual cluster snapshot.
10138	ValuesToRemove []*string `locationNameList:"AttributeValue" type:"list"`
10139}
10140
10141// String returns the string representation
10142func (s ModifyDBClusterSnapshotAttributeInput) String() string {
10143	return awsutil.Prettify(s)
10144}
10145
10146// GoString returns the string representation
10147func (s ModifyDBClusterSnapshotAttributeInput) GoString() string {
10148	return s.String()
10149}
10150
10151// Validate inspects the fields of the type to determine if they are valid.
10152func (s *ModifyDBClusterSnapshotAttributeInput) Validate() error {
10153	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterSnapshotAttributeInput"}
10154	if s.AttributeName == nil {
10155		invalidParams.Add(request.NewErrParamRequired("AttributeName"))
10156	}
10157	if s.DBClusterSnapshotIdentifier == nil {
10158		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
10159	}
10160
10161	if invalidParams.Len() > 0 {
10162		return invalidParams
10163	}
10164	return nil
10165}
10166
10167// SetAttributeName sets the AttributeName field's value.
10168func (s *ModifyDBClusterSnapshotAttributeInput) SetAttributeName(v string) *ModifyDBClusterSnapshotAttributeInput {
10169	s.AttributeName = &v
10170	return s
10171}
10172
10173// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
10174func (s *ModifyDBClusterSnapshotAttributeInput) SetDBClusterSnapshotIdentifier(v string) *ModifyDBClusterSnapshotAttributeInput {
10175	s.DBClusterSnapshotIdentifier = &v
10176	return s
10177}
10178
10179// SetValuesToAdd sets the ValuesToAdd field's value.
10180func (s *ModifyDBClusterSnapshotAttributeInput) SetValuesToAdd(v []*string) *ModifyDBClusterSnapshotAttributeInput {
10181	s.ValuesToAdd = v
10182	return s
10183}
10184
10185// SetValuesToRemove sets the ValuesToRemove field's value.
10186func (s *ModifyDBClusterSnapshotAttributeInput) SetValuesToRemove(v []*string) *ModifyDBClusterSnapshotAttributeInput {
10187	s.ValuesToRemove = v
10188	return s
10189}
10190
10191type ModifyDBClusterSnapshotAttributeOutput struct {
10192	_ struct{} `type:"structure"`
10193
10194	// Detailed information about the attributes that are associated with a cluster
10195	// snapshot.
10196	DBClusterSnapshotAttributesResult *DBClusterSnapshotAttributesResult `type:"structure"`
10197}
10198
10199// String returns the string representation
10200func (s ModifyDBClusterSnapshotAttributeOutput) String() string {
10201	return awsutil.Prettify(s)
10202}
10203
10204// GoString returns the string representation
10205func (s ModifyDBClusterSnapshotAttributeOutput) GoString() string {
10206	return s.String()
10207}
10208
10209// SetDBClusterSnapshotAttributesResult sets the DBClusterSnapshotAttributesResult field's value.
10210func (s *ModifyDBClusterSnapshotAttributeOutput) SetDBClusterSnapshotAttributesResult(v *DBClusterSnapshotAttributesResult) *ModifyDBClusterSnapshotAttributeOutput {
10211	s.DBClusterSnapshotAttributesResult = v
10212	return s
10213}
10214
10215// Represents the input to ModifyDBInstance.
10216type ModifyDBInstanceInput struct {
10217	_ struct{} `type:"structure"`
10218
10219	// Specifies whether the modifications in this request and any pending modifications
10220	// are asynchronously applied as soon as possible, regardless of the PreferredMaintenanceWindow
10221	// setting for the instance.
10222	//
10223	// If this parameter is set to false, changes to the instance are applied during
10224	// the next maintenance window. Some parameter changes can cause an outage and
10225	// are applied on the next reboot.
10226	//
10227	// Default: false
10228	ApplyImmediately *bool `type:"boolean"`
10229
10230	// Indicates that minor version upgrades are applied automatically to the instance
10231	// during the maintenance window. Changing this parameter doesn't result in
10232	// an outage except in the following case, and the change is asynchronously
10233	// applied as soon as possible. An outage results if this parameter is set to
10234	// true during the maintenance window, and a newer minor version is available,
10235	// and Amazon DocumentDB has enabled automatic patching for that engine version.
10236	AutoMinorVersionUpgrade *bool `type:"boolean"`
10237
10238	// Indicates the certificate that needs to be associated with the instance.
10239	CACertificateIdentifier *string `type:"string"`
10240
10241	// The new compute and memory capacity of the instance; for example, db.r5.large.
10242	// Not all instance classes are available in all AWS Regions.
10243	//
10244	// If you modify the instance class, an outage occurs during the change. The
10245	// change is applied during the next maintenance window, unless ApplyImmediately
10246	// is specified as true for this request.
10247	//
10248	// Default: Uses existing setting.
10249	DBInstanceClass *string `type:"string"`
10250
10251	// The instance identifier. This value is stored as a lowercase string.
10252	//
10253	// Constraints:
10254	//
10255	//    * Must match the identifier of an existing DBInstance.
10256	//
10257	// DBInstanceIdentifier is a required field
10258	DBInstanceIdentifier *string `type:"string" required:"true"`
10259
10260	// The new instance identifier for the instance when renaming an instance. When
10261	// you change the instance identifier, an instance reboot occurs immediately
10262	// if you set Apply Immediately to true. It occurs during the next maintenance
10263	// window if you set Apply Immediately to false. This value is stored as a lowercase
10264	// string.
10265	//
10266	// Constraints:
10267	//
10268	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
10269	//
10270	//    * The first character must be a letter.
10271	//
10272	//    * Cannot end with a hyphen or contain two consecutive hyphens.
10273	//
10274	// Example: mydbinstance
10275	NewDBInstanceIdentifier *string `type:"string"`
10276
10277	// The weekly time range (in UTC) during which system maintenance can occur,
10278	// which might result in an outage. Changing this parameter doesn't result in
10279	// an outage except in the following situation, and the change is asynchronously
10280	// applied as soon as possible. If there are pending actions that cause a reboot,
10281	// and the maintenance window is changed to include the current time, changing
10282	// this parameter causes a reboot of the instance. If you are moving this window
10283	// to the current time, there must be at least 30 minutes between the current
10284	// time and end of the window to ensure that pending changes are applied.
10285	//
10286	// Default: Uses existing setting.
10287	//
10288	// Format: ddd:hh24:mi-ddd:hh24:mi
10289	//
10290	// Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun
10291	//
10292	// Constraints: Must be at least 30 minutes.
10293	PreferredMaintenanceWindow *string `type:"string"`
10294
10295	// A value that specifies the order in which an Amazon DocumentDB replica is
10296	// promoted to the primary instance after a failure of the existing primary
10297	// instance.
10298	//
10299	// Default: 1
10300	//
10301	// Valid values: 0-15
10302	PromotionTier *int64 `type:"integer"`
10303}
10304
10305// String returns the string representation
10306func (s ModifyDBInstanceInput) String() string {
10307	return awsutil.Prettify(s)
10308}
10309
10310// GoString returns the string representation
10311func (s ModifyDBInstanceInput) GoString() string {
10312	return s.String()
10313}
10314
10315// Validate inspects the fields of the type to determine if they are valid.
10316func (s *ModifyDBInstanceInput) Validate() error {
10317	invalidParams := request.ErrInvalidParams{Context: "ModifyDBInstanceInput"}
10318	if s.DBInstanceIdentifier == nil {
10319		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
10320	}
10321
10322	if invalidParams.Len() > 0 {
10323		return invalidParams
10324	}
10325	return nil
10326}
10327
10328// SetApplyImmediately sets the ApplyImmediately field's value.
10329func (s *ModifyDBInstanceInput) SetApplyImmediately(v bool) *ModifyDBInstanceInput {
10330	s.ApplyImmediately = &v
10331	return s
10332}
10333
10334// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
10335func (s *ModifyDBInstanceInput) SetAutoMinorVersionUpgrade(v bool) *ModifyDBInstanceInput {
10336	s.AutoMinorVersionUpgrade = &v
10337	return s
10338}
10339
10340// SetCACertificateIdentifier sets the CACertificateIdentifier field's value.
10341func (s *ModifyDBInstanceInput) SetCACertificateIdentifier(v string) *ModifyDBInstanceInput {
10342	s.CACertificateIdentifier = &v
10343	return s
10344}
10345
10346// SetDBInstanceClass sets the DBInstanceClass field's value.
10347func (s *ModifyDBInstanceInput) SetDBInstanceClass(v string) *ModifyDBInstanceInput {
10348	s.DBInstanceClass = &v
10349	return s
10350}
10351
10352// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
10353func (s *ModifyDBInstanceInput) SetDBInstanceIdentifier(v string) *ModifyDBInstanceInput {
10354	s.DBInstanceIdentifier = &v
10355	return s
10356}
10357
10358// SetNewDBInstanceIdentifier sets the NewDBInstanceIdentifier field's value.
10359func (s *ModifyDBInstanceInput) SetNewDBInstanceIdentifier(v string) *ModifyDBInstanceInput {
10360	s.NewDBInstanceIdentifier = &v
10361	return s
10362}
10363
10364// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
10365func (s *ModifyDBInstanceInput) SetPreferredMaintenanceWindow(v string) *ModifyDBInstanceInput {
10366	s.PreferredMaintenanceWindow = &v
10367	return s
10368}
10369
10370// SetPromotionTier sets the PromotionTier field's value.
10371func (s *ModifyDBInstanceInput) SetPromotionTier(v int64) *ModifyDBInstanceInput {
10372	s.PromotionTier = &v
10373	return s
10374}
10375
10376type ModifyDBInstanceOutput struct {
10377	_ struct{} `type:"structure"`
10378
10379	// Detailed information about an instance.
10380	DBInstance *DBInstance `type:"structure"`
10381}
10382
10383// String returns the string representation
10384func (s ModifyDBInstanceOutput) String() string {
10385	return awsutil.Prettify(s)
10386}
10387
10388// GoString returns the string representation
10389func (s ModifyDBInstanceOutput) GoString() string {
10390	return s.String()
10391}
10392
10393// SetDBInstance sets the DBInstance field's value.
10394func (s *ModifyDBInstanceOutput) SetDBInstance(v *DBInstance) *ModifyDBInstanceOutput {
10395	s.DBInstance = v
10396	return s
10397}
10398
10399// Represents the input to ModifyDBSubnetGroup.
10400type ModifyDBSubnetGroupInput struct {
10401	_ struct{} `type:"structure"`
10402
10403	// The description for the subnet group.
10404	DBSubnetGroupDescription *string `type:"string"`
10405
10406	// The name for the subnet group. This value is stored as a lowercase string.
10407	// You can't modify the default subnet group.
10408	//
10409	// Constraints: Must match the name of an existing DBSubnetGroup. Must not be
10410	// default.
10411	//
10412	// Example: mySubnetgroup
10413	//
10414	// DBSubnetGroupName is a required field
10415	DBSubnetGroupName *string `type:"string" required:"true"`
10416
10417	// The Amazon EC2 subnet IDs for the subnet group.
10418	//
10419	// SubnetIds is a required field
10420	SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list" required:"true"`
10421}
10422
10423// String returns the string representation
10424func (s ModifyDBSubnetGroupInput) String() string {
10425	return awsutil.Prettify(s)
10426}
10427
10428// GoString returns the string representation
10429func (s ModifyDBSubnetGroupInput) GoString() string {
10430	return s.String()
10431}
10432
10433// Validate inspects the fields of the type to determine if they are valid.
10434func (s *ModifyDBSubnetGroupInput) Validate() error {
10435	invalidParams := request.ErrInvalidParams{Context: "ModifyDBSubnetGroupInput"}
10436	if s.DBSubnetGroupName == nil {
10437		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupName"))
10438	}
10439	if s.SubnetIds == nil {
10440		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
10441	}
10442
10443	if invalidParams.Len() > 0 {
10444		return invalidParams
10445	}
10446	return nil
10447}
10448
10449// SetDBSubnetGroupDescription sets the DBSubnetGroupDescription field's value.
10450func (s *ModifyDBSubnetGroupInput) SetDBSubnetGroupDescription(v string) *ModifyDBSubnetGroupInput {
10451	s.DBSubnetGroupDescription = &v
10452	return s
10453}
10454
10455// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
10456func (s *ModifyDBSubnetGroupInput) SetDBSubnetGroupName(v string) *ModifyDBSubnetGroupInput {
10457	s.DBSubnetGroupName = &v
10458	return s
10459}
10460
10461// SetSubnetIds sets the SubnetIds field's value.
10462func (s *ModifyDBSubnetGroupInput) SetSubnetIds(v []*string) *ModifyDBSubnetGroupInput {
10463	s.SubnetIds = v
10464	return s
10465}
10466
10467type ModifyDBSubnetGroupOutput struct {
10468	_ struct{} `type:"structure"`
10469
10470	// Detailed information about a subnet group.
10471	DBSubnetGroup *DBSubnetGroup `type:"structure"`
10472}
10473
10474// String returns the string representation
10475func (s ModifyDBSubnetGroupOutput) String() string {
10476	return awsutil.Prettify(s)
10477}
10478
10479// GoString returns the string representation
10480func (s ModifyDBSubnetGroupOutput) GoString() string {
10481	return s.String()
10482}
10483
10484// SetDBSubnetGroup sets the DBSubnetGroup field's value.
10485func (s *ModifyDBSubnetGroupOutput) SetDBSubnetGroup(v *DBSubnetGroup) *ModifyDBSubnetGroupOutput {
10486	s.DBSubnetGroup = v
10487	return s
10488}
10489
10490// The options that are available for an instance.
10491type OrderableDBInstanceOption struct {
10492	_ struct{} `type:"structure"`
10493
10494	// A list of Availability Zones for an instance.
10495	AvailabilityZones []*AvailabilityZone `locationNameList:"AvailabilityZone" type:"list"`
10496
10497	// The instance class for an instance.
10498	DBInstanceClass *string `type:"string"`
10499
10500	// The engine type of an instance.
10501	Engine *string `type:"string"`
10502
10503	// The engine version of an instance.
10504	EngineVersion *string `type:"string"`
10505
10506	// The license model for an instance.
10507	LicenseModel *string `type:"string"`
10508
10509	// Indicates whether an instance is in a virtual private cloud (VPC).
10510	Vpc *bool `type:"boolean"`
10511}
10512
10513// String returns the string representation
10514func (s OrderableDBInstanceOption) String() string {
10515	return awsutil.Prettify(s)
10516}
10517
10518// GoString returns the string representation
10519func (s OrderableDBInstanceOption) GoString() string {
10520	return s.String()
10521}
10522
10523// SetAvailabilityZones sets the AvailabilityZones field's value.
10524func (s *OrderableDBInstanceOption) SetAvailabilityZones(v []*AvailabilityZone) *OrderableDBInstanceOption {
10525	s.AvailabilityZones = v
10526	return s
10527}
10528
10529// SetDBInstanceClass sets the DBInstanceClass field's value.
10530func (s *OrderableDBInstanceOption) SetDBInstanceClass(v string) *OrderableDBInstanceOption {
10531	s.DBInstanceClass = &v
10532	return s
10533}
10534
10535// SetEngine sets the Engine field's value.
10536func (s *OrderableDBInstanceOption) SetEngine(v string) *OrderableDBInstanceOption {
10537	s.Engine = &v
10538	return s
10539}
10540
10541// SetEngineVersion sets the EngineVersion field's value.
10542func (s *OrderableDBInstanceOption) SetEngineVersion(v string) *OrderableDBInstanceOption {
10543	s.EngineVersion = &v
10544	return s
10545}
10546
10547// SetLicenseModel sets the LicenseModel field's value.
10548func (s *OrderableDBInstanceOption) SetLicenseModel(v string) *OrderableDBInstanceOption {
10549	s.LicenseModel = &v
10550	return s
10551}
10552
10553// SetVpc sets the Vpc field's value.
10554func (s *OrderableDBInstanceOption) SetVpc(v bool) *OrderableDBInstanceOption {
10555	s.Vpc = &v
10556	return s
10557}
10558
10559// Detailed information about an individual parameter.
10560type Parameter struct {
10561	_ struct{} `type:"structure"`
10562
10563	// Specifies the valid range of values for the parameter.
10564	AllowedValues *string `type:"string"`
10565
10566	// Indicates when to apply parameter updates.
10567	ApplyMethod *string `type:"string" enum:"ApplyMethod"`
10568
10569	// Specifies the engine-specific parameters type.
10570	ApplyType *string `type:"string"`
10571
10572	// Specifies the valid data type for the parameter.
10573	DataType *string `type:"string"`
10574
10575	// Provides a description of the parameter.
10576	Description *string `type:"string"`
10577
10578	// Indicates whether (true) or not (false) the parameter can be modified. Some
10579	// parameters have security or operational implications that prevent them from
10580	// being changed.
10581	IsModifiable *bool `type:"boolean"`
10582
10583	// The earliest engine version to which the parameter can apply.
10584	MinimumEngineVersion *string `type:"string"`
10585
10586	// Specifies the name of the parameter.
10587	ParameterName *string `type:"string"`
10588
10589	// Specifies the value of the parameter.
10590	ParameterValue *string `type:"string"`
10591
10592	// Indicates the source of the parameter value.
10593	Source *string `type:"string"`
10594}
10595
10596// String returns the string representation
10597func (s Parameter) String() string {
10598	return awsutil.Prettify(s)
10599}
10600
10601// GoString returns the string representation
10602func (s Parameter) GoString() string {
10603	return s.String()
10604}
10605
10606// SetAllowedValues sets the AllowedValues field's value.
10607func (s *Parameter) SetAllowedValues(v string) *Parameter {
10608	s.AllowedValues = &v
10609	return s
10610}
10611
10612// SetApplyMethod sets the ApplyMethod field's value.
10613func (s *Parameter) SetApplyMethod(v string) *Parameter {
10614	s.ApplyMethod = &v
10615	return s
10616}
10617
10618// SetApplyType sets the ApplyType field's value.
10619func (s *Parameter) SetApplyType(v string) *Parameter {
10620	s.ApplyType = &v
10621	return s
10622}
10623
10624// SetDataType sets the DataType field's value.
10625func (s *Parameter) SetDataType(v string) *Parameter {
10626	s.DataType = &v
10627	return s
10628}
10629
10630// SetDescription sets the Description field's value.
10631func (s *Parameter) SetDescription(v string) *Parameter {
10632	s.Description = &v
10633	return s
10634}
10635
10636// SetIsModifiable sets the IsModifiable field's value.
10637func (s *Parameter) SetIsModifiable(v bool) *Parameter {
10638	s.IsModifiable = &v
10639	return s
10640}
10641
10642// SetMinimumEngineVersion sets the MinimumEngineVersion field's value.
10643func (s *Parameter) SetMinimumEngineVersion(v string) *Parameter {
10644	s.MinimumEngineVersion = &v
10645	return s
10646}
10647
10648// SetParameterName sets the ParameterName field's value.
10649func (s *Parameter) SetParameterName(v string) *Parameter {
10650	s.ParameterName = &v
10651	return s
10652}
10653
10654// SetParameterValue sets the ParameterValue field's value.
10655func (s *Parameter) SetParameterValue(v string) *Parameter {
10656	s.ParameterValue = &v
10657	return s
10658}
10659
10660// SetSource sets the Source field's value.
10661func (s *Parameter) SetSource(v string) *Parameter {
10662	s.Source = &v
10663	return s
10664}
10665
10666// A list of the log types whose configuration is still pending. These log types
10667// are in the process of being activated or deactivated.
10668type PendingCloudwatchLogsExports struct {
10669	_ struct{} `type:"structure"`
10670
10671	// Log types that are in the process of being enabled. After they are enabled,
10672	// these log types are exported to Amazon CloudWatch Logs.
10673	LogTypesToDisable []*string `type:"list"`
10674
10675	// Log types that are in the process of being deactivated. After they are deactivated,
10676	// these log types aren't exported to CloudWatch Logs.
10677	LogTypesToEnable []*string `type:"list"`
10678}
10679
10680// String returns the string representation
10681func (s PendingCloudwatchLogsExports) String() string {
10682	return awsutil.Prettify(s)
10683}
10684
10685// GoString returns the string representation
10686func (s PendingCloudwatchLogsExports) GoString() string {
10687	return s.String()
10688}
10689
10690// SetLogTypesToDisable sets the LogTypesToDisable field's value.
10691func (s *PendingCloudwatchLogsExports) SetLogTypesToDisable(v []*string) *PendingCloudwatchLogsExports {
10692	s.LogTypesToDisable = v
10693	return s
10694}
10695
10696// SetLogTypesToEnable sets the LogTypesToEnable field's value.
10697func (s *PendingCloudwatchLogsExports) SetLogTypesToEnable(v []*string) *PendingCloudwatchLogsExports {
10698	s.LogTypesToEnable = v
10699	return s
10700}
10701
10702// Provides information about a pending maintenance action for a resource.
10703type PendingMaintenanceAction struct {
10704	_ struct{} `type:"structure"`
10705
10706	// The type of pending maintenance action that is available for the resource.
10707	Action *string `type:"string"`
10708
10709	// The date of the maintenance window when the action is applied. The maintenance
10710	// action is applied to the resource during its first maintenance window after
10711	// this date. If this date is specified, any next-maintenance opt-in requests
10712	// are ignored.
10713	AutoAppliedAfterDate *time.Time `type:"timestamp"`
10714
10715	// The effective date when the pending maintenance action is applied to the
10716	// resource.
10717	CurrentApplyDate *time.Time `type:"timestamp"`
10718
10719	// A description providing more detail about the maintenance action.
10720	Description *string `type:"string"`
10721
10722	// The date when the maintenance action is automatically applied. The maintenance
10723	// action is applied to the resource on this date regardless of the maintenance
10724	// window for the resource. If this date is specified, any immediate opt-in
10725	// requests are ignored.
10726	ForcedApplyDate *time.Time `type:"timestamp"`
10727
10728	// Indicates the type of opt-in request that has been received for the resource.
10729	OptInStatus *string `type:"string"`
10730}
10731
10732// String returns the string representation
10733func (s PendingMaintenanceAction) String() string {
10734	return awsutil.Prettify(s)
10735}
10736
10737// GoString returns the string representation
10738func (s PendingMaintenanceAction) GoString() string {
10739	return s.String()
10740}
10741
10742// SetAction sets the Action field's value.
10743func (s *PendingMaintenanceAction) SetAction(v string) *PendingMaintenanceAction {
10744	s.Action = &v
10745	return s
10746}
10747
10748// SetAutoAppliedAfterDate sets the AutoAppliedAfterDate field's value.
10749func (s *PendingMaintenanceAction) SetAutoAppliedAfterDate(v time.Time) *PendingMaintenanceAction {
10750	s.AutoAppliedAfterDate = &v
10751	return s
10752}
10753
10754// SetCurrentApplyDate sets the CurrentApplyDate field's value.
10755func (s *PendingMaintenanceAction) SetCurrentApplyDate(v time.Time) *PendingMaintenanceAction {
10756	s.CurrentApplyDate = &v
10757	return s
10758}
10759
10760// SetDescription sets the Description field's value.
10761func (s *PendingMaintenanceAction) SetDescription(v string) *PendingMaintenanceAction {
10762	s.Description = &v
10763	return s
10764}
10765
10766// SetForcedApplyDate sets the ForcedApplyDate field's value.
10767func (s *PendingMaintenanceAction) SetForcedApplyDate(v time.Time) *PendingMaintenanceAction {
10768	s.ForcedApplyDate = &v
10769	return s
10770}
10771
10772// SetOptInStatus sets the OptInStatus field's value.
10773func (s *PendingMaintenanceAction) SetOptInStatus(v string) *PendingMaintenanceAction {
10774	s.OptInStatus = &v
10775	return s
10776}
10777
10778// One or more modified settings for an instance. These modified settings have
10779// been requested, but haven't been applied yet.
10780type PendingModifiedValues struct {
10781	_ struct{} `type:"structure"`
10782
10783	// Contains the new AllocatedStorage size for then instance that will be applied
10784	// or is currently being applied.
10785	AllocatedStorage *int64 `type:"integer"`
10786
10787	// Specifies the pending number of days for which automated backups are retained.
10788	BackupRetentionPeriod *int64 `type:"integer"`
10789
10790	// Specifies the identifier of the certificate authority (CA) certificate for
10791	// the DB instance.
10792	CACertificateIdentifier *string `type:"string"`
10793
10794	// Contains the new DBInstanceClass for the instance that will be applied or
10795	// is currently being applied.
10796	DBInstanceClass *string `type:"string"`
10797
10798	// Contains the new DBInstanceIdentifier for the instance that will be applied
10799	// or is currently being applied.
10800	DBInstanceIdentifier *string `type:"string"`
10801
10802	// The new subnet group for the instance.
10803	DBSubnetGroupName *string `type:"string"`
10804
10805	// Indicates the database engine version.
10806	EngineVersion *string `type:"string"`
10807
10808	// Specifies the new Provisioned IOPS value for the instance that will be applied
10809	// or is currently being applied.
10810	Iops *int64 `type:"integer"`
10811
10812	// The license model for the instance.
10813	//
10814	// Valid values: license-included, bring-your-own-license, general-public-license
10815	LicenseModel *string `type:"string"`
10816
10817	// Contains the pending or currently in-progress change of the master credentials
10818	// for the instance.
10819	MasterUserPassword *string `type:"string"`
10820
10821	// Indicates that the Single-AZ instance is to change to a Multi-AZ deployment.
10822	MultiAZ *bool `type:"boolean"`
10823
10824	// A list of the log types whose configuration is still pending. These log types
10825	// are in the process of being activated or deactivated.
10826	PendingCloudwatchLogsExports *PendingCloudwatchLogsExports `type:"structure"`
10827
10828	// Specifies the pending port for the instance.
10829	Port *int64 `type:"integer"`
10830
10831	// Specifies the storage type to be associated with the instance.
10832	StorageType *string `type:"string"`
10833}
10834
10835// String returns the string representation
10836func (s PendingModifiedValues) String() string {
10837	return awsutil.Prettify(s)
10838}
10839
10840// GoString returns the string representation
10841func (s PendingModifiedValues) GoString() string {
10842	return s.String()
10843}
10844
10845// SetAllocatedStorage sets the AllocatedStorage field's value.
10846func (s *PendingModifiedValues) SetAllocatedStorage(v int64) *PendingModifiedValues {
10847	s.AllocatedStorage = &v
10848	return s
10849}
10850
10851// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
10852func (s *PendingModifiedValues) SetBackupRetentionPeriod(v int64) *PendingModifiedValues {
10853	s.BackupRetentionPeriod = &v
10854	return s
10855}
10856
10857// SetCACertificateIdentifier sets the CACertificateIdentifier field's value.
10858func (s *PendingModifiedValues) SetCACertificateIdentifier(v string) *PendingModifiedValues {
10859	s.CACertificateIdentifier = &v
10860	return s
10861}
10862
10863// SetDBInstanceClass sets the DBInstanceClass field's value.
10864func (s *PendingModifiedValues) SetDBInstanceClass(v string) *PendingModifiedValues {
10865	s.DBInstanceClass = &v
10866	return s
10867}
10868
10869// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
10870func (s *PendingModifiedValues) SetDBInstanceIdentifier(v string) *PendingModifiedValues {
10871	s.DBInstanceIdentifier = &v
10872	return s
10873}
10874
10875// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
10876func (s *PendingModifiedValues) SetDBSubnetGroupName(v string) *PendingModifiedValues {
10877	s.DBSubnetGroupName = &v
10878	return s
10879}
10880
10881// SetEngineVersion sets the EngineVersion field's value.
10882func (s *PendingModifiedValues) SetEngineVersion(v string) *PendingModifiedValues {
10883	s.EngineVersion = &v
10884	return s
10885}
10886
10887// SetIops sets the Iops field's value.
10888func (s *PendingModifiedValues) SetIops(v int64) *PendingModifiedValues {
10889	s.Iops = &v
10890	return s
10891}
10892
10893// SetLicenseModel sets the LicenseModel field's value.
10894func (s *PendingModifiedValues) SetLicenseModel(v string) *PendingModifiedValues {
10895	s.LicenseModel = &v
10896	return s
10897}
10898
10899// SetMasterUserPassword sets the MasterUserPassword field's value.
10900func (s *PendingModifiedValues) SetMasterUserPassword(v string) *PendingModifiedValues {
10901	s.MasterUserPassword = &v
10902	return s
10903}
10904
10905// SetMultiAZ sets the MultiAZ field's value.
10906func (s *PendingModifiedValues) SetMultiAZ(v bool) *PendingModifiedValues {
10907	s.MultiAZ = &v
10908	return s
10909}
10910
10911// SetPendingCloudwatchLogsExports sets the PendingCloudwatchLogsExports field's value.
10912func (s *PendingModifiedValues) SetPendingCloudwatchLogsExports(v *PendingCloudwatchLogsExports) *PendingModifiedValues {
10913	s.PendingCloudwatchLogsExports = v
10914	return s
10915}
10916
10917// SetPort sets the Port field's value.
10918func (s *PendingModifiedValues) SetPort(v int64) *PendingModifiedValues {
10919	s.Port = &v
10920	return s
10921}
10922
10923// SetStorageType sets the StorageType field's value.
10924func (s *PendingModifiedValues) SetStorageType(v string) *PendingModifiedValues {
10925	s.StorageType = &v
10926	return s
10927}
10928
10929// Represents the input to RebootDBInstance.
10930type RebootDBInstanceInput struct {
10931	_ struct{} `type:"structure"`
10932
10933	// The instance identifier. This parameter is stored as a lowercase string.
10934	//
10935	// Constraints:
10936	//
10937	//    * Must match the identifier of an existing DBInstance.
10938	//
10939	// DBInstanceIdentifier is a required field
10940	DBInstanceIdentifier *string `type:"string" required:"true"`
10941
10942	// When true, the reboot is conducted through a Multi-AZ failover.
10943	//
10944	// Constraint: You can't specify true if the instance is not configured for
10945	// Multi-AZ.
10946	ForceFailover *bool `type:"boolean"`
10947}
10948
10949// String returns the string representation
10950func (s RebootDBInstanceInput) String() string {
10951	return awsutil.Prettify(s)
10952}
10953
10954// GoString returns the string representation
10955func (s RebootDBInstanceInput) GoString() string {
10956	return s.String()
10957}
10958
10959// Validate inspects the fields of the type to determine if they are valid.
10960func (s *RebootDBInstanceInput) Validate() error {
10961	invalidParams := request.ErrInvalidParams{Context: "RebootDBInstanceInput"}
10962	if s.DBInstanceIdentifier == nil {
10963		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
10964	}
10965
10966	if invalidParams.Len() > 0 {
10967		return invalidParams
10968	}
10969	return nil
10970}
10971
10972// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
10973func (s *RebootDBInstanceInput) SetDBInstanceIdentifier(v string) *RebootDBInstanceInput {
10974	s.DBInstanceIdentifier = &v
10975	return s
10976}
10977
10978// SetForceFailover sets the ForceFailover field's value.
10979func (s *RebootDBInstanceInput) SetForceFailover(v bool) *RebootDBInstanceInput {
10980	s.ForceFailover = &v
10981	return s
10982}
10983
10984type RebootDBInstanceOutput struct {
10985	_ struct{} `type:"structure"`
10986
10987	// Detailed information about an instance.
10988	DBInstance *DBInstance `type:"structure"`
10989}
10990
10991// String returns the string representation
10992func (s RebootDBInstanceOutput) String() string {
10993	return awsutil.Prettify(s)
10994}
10995
10996// GoString returns the string representation
10997func (s RebootDBInstanceOutput) GoString() string {
10998	return s.String()
10999}
11000
11001// SetDBInstance sets the DBInstance field's value.
11002func (s *RebootDBInstanceOutput) SetDBInstance(v *DBInstance) *RebootDBInstanceOutput {
11003	s.DBInstance = v
11004	return s
11005}
11006
11007// Represents the input to RemoveTagsFromResource.
11008type RemoveTagsFromResourceInput struct {
11009	_ struct{} `type:"structure"`
11010
11011	// The Amazon DocumentDB resource that the tags are removed from. This value
11012	// is an Amazon Resource Name (ARN).
11013	//
11014	// ResourceName is a required field
11015	ResourceName *string `type:"string" required:"true"`
11016
11017	// The tag key (name) of the tag to be removed.
11018	//
11019	// TagKeys is a required field
11020	TagKeys []*string `type:"list" required:"true"`
11021}
11022
11023// String returns the string representation
11024func (s RemoveTagsFromResourceInput) String() string {
11025	return awsutil.Prettify(s)
11026}
11027
11028// GoString returns the string representation
11029func (s RemoveTagsFromResourceInput) GoString() string {
11030	return s.String()
11031}
11032
11033// Validate inspects the fields of the type to determine if they are valid.
11034func (s *RemoveTagsFromResourceInput) Validate() error {
11035	invalidParams := request.ErrInvalidParams{Context: "RemoveTagsFromResourceInput"}
11036	if s.ResourceName == nil {
11037		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
11038	}
11039	if s.TagKeys == nil {
11040		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
11041	}
11042
11043	if invalidParams.Len() > 0 {
11044		return invalidParams
11045	}
11046	return nil
11047}
11048
11049// SetResourceName sets the ResourceName field's value.
11050func (s *RemoveTagsFromResourceInput) SetResourceName(v string) *RemoveTagsFromResourceInput {
11051	s.ResourceName = &v
11052	return s
11053}
11054
11055// SetTagKeys sets the TagKeys field's value.
11056func (s *RemoveTagsFromResourceInput) SetTagKeys(v []*string) *RemoveTagsFromResourceInput {
11057	s.TagKeys = v
11058	return s
11059}
11060
11061type RemoveTagsFromResourceOutput struct {
11062	_ struct{} `type:"structure"`
11063}
11064
11065// String returns the string representation
11066func (s RemoveTagsFromResourceOutput) String() string {
11067	return awsutil.Prettify(s)
11068}
11069
11070// GoString returns the string representation
11071func (s RemoveTagsFromResourceOutput) GoString() string {
11072	return s.String()
11073}
11074
11075// Represents the input to ResetDBClusterParameterGroup.
11076type ResetDBClusterParameterGroupInput struct {
11077	_ struct{} `type:"structure"`
11078
11079	// The name of the cluster parameter group to reset.
11080	//
11081	// DBClusterParameterGroupName is a required field
11082	DBClusterParameterGroupName *string `type:"string" required:"true"`
11083
11084	// A list of parameter names in the cluster parameter group to reset to the
11085	// default values. You can't use this parameter if the ResetAllParameters parameter
11086	// is set to true.
11087	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
11088
11089	// A value that is set to true to reset all parameters in the cluster parameter
11090	// group to their default values, and false otherwise. You can't use this parameter
11091	// if there is a list of parameter names specified for the Parameters parameter.
11092	ResetAllParameters *bool `type:"boolean"`
11093}
11094
11095// String returns the string representation
11096func (s ResetDBClusterParameterGroupInput) String() string {
11097	return awsutil.Prettify(s)
11098}
11099
11100// GoString returns the string representation
11101func (s ResetDBClusterParameterGroupInput) GoString() string {
11102	return s.String()
11103}
11104
11105// Validate inspects the fields of the type to determine if they are valid.
11106func (s *ResetDBClusterParameterGroupInput) Validate() error {
11107	invalidParams := request.ErrInvalidParams{Context: "ResetDBClusterParameterGroupInput"}
11108	if s.DBClusterParameterGroupName == nil {
11109		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
11110	}
11111
11112	if invalidParams.Len() > 0 {
11113		return invalidParams
11114	}
11115	return nil
11116}
11117
11118// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
11119func (s *ResetDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *ResetDBClusterParameterGroupInput {
11120	s.DBClusterParameterGroupName = &v
11121	return s
11122}
11123
11124// SetParameters sets the Parameters field's value.
11125func (s *ResetDBClusterParameterGroupInput) SetParameters(v []*Parameter) *ResetDBClusterParameterGroupInput {
11126	s.Parameters = v
11127	return s
11128}
11129
11130// SetResetAllParameters sets the ResetAllParameters field's value.
11131func (s *ResetDBClusterParameterGroupInput) SetResetAllParameters(v bool) *ResetDBClusterParameterGroupInput {
11132	s.ResetAllParameters = &v
11133	return s
11134}
11135
11136// Contains the name of a cluster parameter group.
11137type ResetDBClusterParameterGroupOutput struct {
11138	_ struct{} `type:"structure"`
11139
11140	// The name of a cluster parameter group.
11141	//
11142	// Constraints:
11143	//
11144	//    * Must be from 1 to 255 letters or numbers.
11145	//
11146	//    * The first character must be a letter.
11147	//
11148	//    * Cannot end with a hyphen or contain two consecutive hyphens.
11149	//
11150	// This value is stored as a lowercase string.
11151	DBClusterParameterGroupName *string `type:"string"`
11152}
11153
11154// String returns the string representation
11155func (s ResetDBClusterParameterGroupOutput) String() string {
11156	return awsutil.Prettify(s)
11157}
11158
11159// GoString returns the string representation
11160func (s ResetDBClusterParameterGroupOutput) GoString() string {
11161	return s.String()
11162}
11163
11164// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
11165func (s *ResetDBClusterParameterGroupOutput) SetDBClusterParameterGroupName(v string) *ResetDBClusterParameterGroupOutput {
11166	s.DBClusterParameterGroupName = &v
11167	return s
11168}
11169
11170// Represents the output of ApplyPendingMaintenanceAction.
11171type ResourcePendingMaintenanceActions struct {
11172	_ struct{} `type:"structure"`
11173
11174	// A list that provides details about the pending maintenance actions for the
11175	// resource.
11176	PendingMaintenanceActionDetails []*PendingMaintenanceAction `locationNameList:"PendingMaintenanceAction" type:"list"`
11177
11178	// The Amazon Resource Name (ARN) of the resource that has pending maintenance
11179	// actions.
11180	ResourceIdentifier *string `type:"string"`
11181}
11182
11183// String returns the string representation
11184func (s ResourcePendingMaintenanceActions) String() string {
11185	return awsutil.Prettify(s)
11186}
11187
11188// GoString returns the string representation
11189func (s ResourcePendingMaintenanceActions) GoString() string {
11190	return s.String()
11191}
11192
11193// SetPendingMaintenanceActionDetails sets the PendingMaintenanceActionDetails field's value.
11194func (s *ResourcePendingMaintenanceActions) SetPendingMaintenanceActionDetails(v []*PendingMaintenanceAction) *ResourcePendingMaintenanceActions {
11195	s.PendingMaintenanceActionDetails = v
11196	return s
11197}
11198
11199// SetResourceIdentifier sets the ResourceIdentifier field's value.
11200func (s *ResourcePendingMaintenanceActions) SetResourceIdentifier(v string) *ResourcePendingMaintenanceActions {
11201	s.ResourceIdentifier = &v
11202	return s
11203}
11204
11205// Represents the input to RestoreDBClusterFromSnapshot.
11206type RestoreDBClusterFromSnapshotInput struct {
11207	_ struct{} `type:"structure"`
11208
11209	// Provides the list of Amazon EC2 Availability Zones that instances in the
11210	// restored DB cluster can be created in.
11211	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
11212
11213	// The name of the cluster to create from the snapshot or cluster snapshot.
11214	// This parameter isn't case sensitive.
11215	//
11216	// Constraints:
11217	//
11218	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
11219	//
11220	//    * The first character must be a letter.
11221	//
11222	//    * Cannot end with a hyphen or contain two consecutive hyphens.
11223	//
11224	// Example: my-snapshot-id
11225	//
11226	// DBClusterIdentifier is a required field
11227	DBClusterIdentifier *string `type:"string" required:"true"`
11228
11229	// The name of the subnet group to use for the new cluster.
11230	//
11231	// Constraints: If provided, must match the name of an existing DBSubnetGroup.
11232	//
11233	// Example: mySubnetgroup
11234	DBSubnetGroupName *string `type:"string"`
11235
11236	// Specifies whether this cluster can be deleted. If DeletionProtection is enabled,
11237	// the cluster cannot be deleted unless it is modified and DeletionProtection
11238	// is disabled. DeletionProtection protects clusters from being accidentally
11239	// deleted.
11240	DeletionProtection *bool `type:"boolean"`
11241
11242	// A list of log types that must be enabled for exporting to Amazon CloudWatch
11243	// Logs.
11244	EnableCloudwatchLogsExports []*string `type:"list"`
11245
11246	// The database engine to use for the new cluster.
11247	//
11248	// Default: The same as source.
11249	//
11250	// Constraint: Must be compatible with the engine of the source.
11251	//
11252	// Engine is a required field
11253	Engine *string `type:"string" required:"true"`
11254
11255	// The version of the database engine to use for the new cluster.
11256	EngineVersion *string `type:"string"`
11257
11258	// The AWS KMS key identifier to use when restoring an encrypted cluster from
11259	// a DB snapshot or cluster snapshot.
11260	//
11261	// The AWS KMS key identifier is the Amazon Resource Name (ARN) for the AWS
11262	// KMS encryption key. If you are restoring a cluster with the same AWS account
11263	// that owns the AWS KMS encryption key used to encrypt the new cluster, then
11264	// you can use the AWS KMS key alias instead of the ARN for the AWS KMS encryption
11265	// key.
11266	//
11267	// If you do not specify a value for the KmsKeyId parameter, then the following
11268	// occurs:
11269	//
11270	//    * If the snapshot or cluster snapshot in SnapshotIdentifier is encrypted,
11271	//    then the restored cluster is encrypted using the AWS KMS key that was
11272	//    used to encrypt the snapshot or the cluster snapshot.
11273	//
11274	//    * If the snapshot or the cluster snapshot in SnapshotIdentifier is not
11275	//    encrypted, then the restored DB cluster is not encrypted.
11276	KmsKeyId *string `type:"string"`
11277
11278	// The port number on which the new cluster accepts connections.
11279	//
11280	// Constraints: Must be a value from 1150 to 65535.
11281	//
11282	// Default: The same port as the original cluster.
11283	Port *int64 `type:"integer"`
11284
11285	// The identifier for the snapshot or cluster snapshot to restore from.
11286	//
11287	// You can use either the name or the Amazon Resource Name (ARN) to specify
11288	// a cluster snapshot. However, you can use only the ARN to specify a snapshot.
11289	//
11290	// Constraints:
11291	//
11292	//    * Must match the identifier of an existing snapshot.
11293	//
11294	// SnapshotIdentifier is a required field
11295	SnapshotIdentifier *string `type:"string" required:"true"`
11296
11297	// The tags to be assigned to the restored cluster.
11298	Tags []*Tag `locationNameList:"Tag" type:"list"`
11299
11300	// A list of virtual private cloud (VPC) security groups that the new cluster
11301	// will belong to.
11302	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
11303}
11304
11305// String returns the string representation
11306func (s RestoreDBClusterFromSnapshotInput) String() string {
11307	return awsutil.Prettify(s)
11308}
11309
11310// GoString returns the string representation
11311func (s RestoreDBClusterFromSnapshotInput) GoString() string {
11312	return s.String()
11313}
11314
11315// Validate inspects the fields of the type to determine if they are valid.
11316func (s *RestoreDBClusterFromSnapshotInput) Validate() error {
11317	invalidParams := request.ErrInvalidParams{Context: "RestoreDBClusterFromSnapshotInput"}
11318	if s.DBClusterIdentifier == nil {
11319		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
11320	}
11321	if s.Engine == nil {
11322		invalidParams.Add(request.NewErrParamRequired("Engine"))
11323	}
11324	if s.SnapshotIdentifier == nil {
11325		invalidParams.Add(request.NewErrParamRequired("SnapshotIdentifier"))
11326	}
11327
11328	if invalidParams.Len() > 0 {
11329		return invalidParams
11330	}
11331	return nil
11332}
11333
11334// SetAvailabilityZones sets the AvailabilityZones field's value.
11335func (s *RestoreDBClusterFromSnapshotInput) SetAvailabilityZones(v []*string) *RestoreDBClusterFromSnapshotInput {
11336	s.AvailabilityZones = v
11337	return s
11338}
11339
11340// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
11341func (s *RestoreDBClusterFromSnapshotInput) SetDBClusterIdentifier(v string) *RestoreDBClusterFromSnapshotInput {
11342	s.DBClusterIdentifier = &v
11343	return s
11344}
11345
11346// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
11347func (s *RestoreDBClusterFromSnapshotInput) SetDBSubnetGroupName(v string) *RestoreDBClusterFromSnapshotInput {
11348	s.DBSubnetGroupName = &v
11349	return s
11350}
11351
11352// SetDeletionProtection sets the DeletionProtection field's value.
11353func (s *RestoreDBClusterFromSnapshotInput) SetDeletionProtection(v bool) *RestoreDBClusterFromSnapshotInput {
11354	s.DeletionProtection = &v
11355	return s
11356}
11357
11358// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
11359func (s *RestoreDBClusterFromSnapshotInput) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBClusterFromSnapshotInput {
11360	s.EnableCloudwatchLogsExports = v
11361	return s
11362}
11363
11364// SetEngine sets the Engine field's value.
11365func (s *RestoreDBClusterFromSnapshotInput) SetEngine(v string) *RestoreDBClusterFromSnapshotInput {
11366	s.Engine = &v
11367	return s
11368}
11369
11370// SetEngineVersion sets the EngineVersion field's value.
11371func (s *RestoreDBClusterFromSnapshotInput) SetEngineVersion(v string) *RestoreDBClusterFromSnapshotInput {
11372	s.EngineVersion = &v
11373	return s
11374}
11375
11376// SetKmsKeyId sets the KmsKeyId field's value.
11377func (s *RestoreDBClusterFromSnapshotInput) SetKmsKeyId(v string) *RestoreDBClusterFromSnapshotInput {
11378	s.KmsKeyId = &v
11379	return s
11380}
11381
11382// SetPort sets the Port field's value.
11383func (s *RestoreDBClusterFromSnapshotInput) SetPort(v int64) *RestoreDBClusterFromSnapshotInput {
11384	s.Port = &v
11385	return s
11386}
11387
11388// SetSnapshotIdentifier sets the SnapshotIdentifier field's value.
11389func (s *RestoreDBClusterFromSnapshotInput) SetSnapshotIdentifier(v string) *RestoreDBClusterFromSnapshotInput {
11390	s.SnapshotIdentifier = &v
11391	return s
11392}
11393
11394// SetTags sets the Tags field's value.
11395func (s *RestoreDBClusterFromSnapshotInput) SetTags(v []*Tag) *RestoreDBClusterFromSnapshotInput {
11396	s.Tags = v
11397	return s
11398}
11399
11400// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
11401func (s *RestoreDBClusterFromSnapshotInput) SetVpcSecurityGroupIds(v []*string) *RestoreDBClusterFromSnapshotInput {
11402	s.VpcSecurityGroupIds = v
11403	return s
11404}
11405
11406type RestoreDBClusterFromSnapshotOutput struct {
11407	_ struct{} `type:"structure"`
11408
11409	// Detailed information about a cluster.
11410	DBCluster *DBCluster `type:"structure"`
11411}
11412
11413// String returns the string representation
11414func (s RestoreDBClusterFromSnapshotOutput) String() string {
11415	return awsutil.Prettify(s)
11416}
11417
11418// GoString returns the string representation
11419func (s RestoreDBClusterFromSnapshotOutput) GoString() string {
11420	return s.String()
11421}
11422
11423// SetDBCluster sets the DBCluster field's value.
11424func (s *RestoreDBClusterFromSnapshotOutput) SetDBCluster(v *DBCluster) *RestoreDBClusterFromSnapshotOutput {
11425	s.DBCluster = v
11426	return s
11427}
11428
11429// Represents the input to RestoreDBClusterToPointInTime.
11430type RestoreDBClusterToPointInTimeInput struct {
11431	_ struct{} `type:"structure"`
11432
11433	// The name of the new cluster to be created.
11434	//
11435	// Constraints:
11436	//
11437	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
11438	//
11439	//    * The first character must be a letter.
11440	//
11441	//    * Cannot end with a hyphen or contain two consecutive hyphens.
11442	//
11443	// DBClusterIdentifier is a required field
11444	DBClusterIdentifier *string `type:"string" required:"true"`
11445
11446	// The subnet group name to use for the new cluster.
11447	//
11448	// Constraints: If provided, must match the name of an existing DBSubnetGroup.
11449	//
11450	// Example: mySubnetgroup
11451	DBSubnetGroupName *string `type:"string"`
11452
11453	// Specifies whether this cluster can be deleted. If DeletionProtection is enabled,
11454	// the cluster cannot be deleted unless it is modified and DeletionProtection
11455	// is disabled. DeletionProtection protects clusters from being accidentally
11456	// deleted.
11457	DeletionProtection *bool `type:"boolean"`
11458
11459	// A list of log types that must be enabled for exporting to Amazon CloudWatch
11460	// Logs.
11461	EnableCloudwatchLogsExports []*string `type:"list"`
11462
11463	// The AWS KMS key identifier to use when restoring an encrypted cluster from
11464	// an encrypted cluster.
11465	//
11466	// The AWS KMS key identifier is the Amazon Resource Name (ARN) for the AWS
11467	// KMS encryption key. If you are restoring a cluster with the same AWS account
11468	// that owns the AWS KMS encryption key used to encrypt the new cluster, then
11469	// you can use the AWS KMS key alias instead of the ARN for the AWS KMS encryption
11470	// key.
11471	//
11472	// You can restore to a new cluster and encrypt the new cluster with an AWS
11473	// KMS key that is different from the AWS KMS key used to encrypt the source
11474	// cluster. The new DB cluster is encrypted with the AWS KMS key identified
11475	// by the KmsKeyId parameter.
11476	//
11477	// If you do not specify a value for the KmsKeyId parameter, then the following
11478	// occurs:
11479	//
11480	//    * If the cluster is encrypted, then the restored cluster is encrypted
11481	//    using the AWS KMS key that was used to encrypt the source cluster.
11482	//
11483	//    * If the cluster is not encrypted, then the restored cluster is not encrypted.
11484	//
11485	// If DBClusterIdentifier refers to a cluster that is not encrypted, then the
11486	// restore request is rejected.
11487	KmsKeyId *string `type:"string"`
11488
11489	// The port number on which the new cluster accepts connections.
11490	//
11491	// Constraints: Must be a value from 1150 to 65535.
11492	//
11493	// Default: The default port for the engine.
11494	Port *int64 `type:"integer"`
11495
11496	// The date and time to restore the cluster to.
11497	//
11498	// Valid values: A time in Universal Coordinated Time (UTC) format.
11499	//
11500	// Constraints:
11501	//
11502	//    * Must be before the latest restorable time for the instance.
11503	//
11504	//    * Must be specified if the UseLatestRestorableTime parameter is not provided.
11505	//
11506	//    * Cannot be specified if the UseLatestRestorableTime parameter is true.
11507	//
11508	//    * Cannot be specified if the RestoreType parameter is copy-on-write.
11509	//
11510	// Example: 2015-03-07T23:45:00Z
11511	RestoreToTime *time.Time `type:"timestamp"`
11512
11513	// The identifier of the source cluster from which to restore.
11514	//
11515	// Constraints:
11516	//
11517	//    * Must match the identifier of an existing DBCluster.
11518	//
11519	// SourceDBClusterIdentifier is a required field
11520	SourceDBClusterIdentifier *string `type:"string" required:"true"`
11521
11522	// The tags to be assigned to the restored cluster.
11523	Tags []*Tag `locationNameList:"Tag" type:"list"`
11524
11525	// A value that is set to true to restore the cluster to the latest restorable
11526	// backup time, and false otherwise.
11527	//
11528	// Default: false
11529	//
11530	// Constraints: Cannot be specified if the RestoreToTime parameter is provided.
11531	UseLatestRestorableTime *bool `type:"boolean"`
11532
11533	// A list of VPC security groups that the new cluster belongs to.
11534	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
11535}
11536
11537// String returns the string representation
11538func (s RestoreDBClusterToPointInTimeInput) String() string {
11539	return awsutil.Prettify(s)
11540}
11541
11542// GoString returns the string representation
11543func (s RestoreDBClusterToPointInTimeInput) GoString() string {
11544	return s.String()
11545}
11546
11547// Validate inspects the fields of the type to determine if they are valid.
11548func (s *RestoreDBClusterToPointInTimeInput) Validate() error {
11549	invalidParams := request.ErrInvalidParams{Context: "RestoreDBClusterToPointInTimeInput"}
11550	if s.DBClusterIdentifier == nil {
11551		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
11552	}
11553	if s.SourceDBClusterIdentifier == nil {
11554		invalidParams.Add(request.NewErrParamRequired("SourceDBClusterIdentifier"))
11555	}
11556
11557	if invalidParams.Len() > 0 {
11558		return invalidParams
11559	}
11560	return nil
11561}
11562
11563// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
11564func (s *RestoreDBClusterToPointInTimeInput) SetDBClusterIdentifier(v string) *RestoreDBClusterToPointInTimeInput {
11565	s.DBClusterIdentifier = &v
11566	return s
11567}
11568
11569// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
11570func (s *RestoreDBClusterToPointInTimeInput) SetDBSubnetGroupName(v string) *RestoreDBClusterToPointInTimeInput {
11571	s.DBSubnetGroupName = &v
11572	return s
11573}
11574
11575// SetDeletionProtection sets the DeletionProtection field's value.
11576func (s *RestoreDBClusterToPointInTimeInput) SetDeletionProtection(v bool) *RestoreDBClusterToPointInTimeInput {
11577	s.DeletionProtection = &v
11578	return s
11579}
11580
11581// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
11582func (s *RestoreDBClusterToPointInTimeInput) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBClusterToPointInTimeInput {
11583	s.EnableCloudwatchLogsExports = v
11584	return s
11585}
11586
11587// SetKmsKeyId sets the KmsKeyId field's value.
11588func (s *RestoreDBClusterToPointInTimeInput) SetKmsKeyId(v string) *RestoreDBClusterToPointInTimeInput {
11589	s.KmsKeyId = &v
11590	return s
11591}
11592
11593// SetPort sets the Port field's value.
11594func (s *RestoreDBClusterToPointInTimeInput) SetPort(v int64) *RestoreDBClusterToPointInTimeInput {
11595	s.Port = &v
11596	return s
11597}
11598
11599// SetRestoreToTime sets the RestoreToTime field's value.
11600func (s *RestoreDBClusterToPointInTimeInput) SetRestoreToTime(v time.Time) *RestoreDBClusterToPointInTimeInput {
11601	s.RestoreToTime = &v
11602	return s
11603}
11604
11605// SetSourceDBClusterIdentifier sets the SourceDBClusterIdentifier field's value.
11606func (s *RestoreDBClusterToPointInTimeInput) SetSourceDBClusterIdentifier(v string) *RestoreDBClusterToPointInTimeInput {
11607	s.SourceDBClusterIdentifier = &v
11608	return s
11609}
11610
11611// SetTags sets the Tags field's value.
11612func (s *RestoreDBClusterToPointInTimeInput) SetTags(v []*Tag) *RestoreDBClusterToPointInTimeInput {
11613	s.Tags = v
11614	return s
11615}
11616
11617// SetUseLatestRestorableTime sets the UseLatestRestorableTime field's value.
11618func (s *RestoreDBClusterToPointInTimeInput) SetUseLatestRestorableTime(v bool) *RestoreDBClusterToPointInTimeInput {
11619	s.UseLatestRestorableTime = &v
11620	return s
11621}
11622
11623// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
11624func (s *RestoreDBClusterToPointInTimeInput) SetVpcSecurityGroupIds(v []*string) *RestoreDBClusterToPointInTimeInput {
11625	s.VpcSecurityGroupIds = v
11626	return s
11627}
11628
11629type RestoreDBClusterToPointInTimeOutput struct {
11630	_ struct{} `type:"structure"`
11631
11632	// Detailed information about a cluster.
11633	DBCluster *DBCluster `type:"structure"`
11634}
11635
11636// String returns the string representation
11637func (s RestoreDBClusterToPointInTimeOutput) String() string {
11638	return awsutil.Prettify(s)
11639}
11640
11641// GoString returns the string representation
11642func (s RestoreDBClusterToPointInTimeOutput) GoString() string {
11643	return s.String()
11644}
11645
11646// SetDBCluster sets the DBCluster field's value.
11647func (s *RestoreDBClusterToPointInTimeOutput) SetDBCluster(v *DBCluster) *RestoreDBClusterToPointInTimeOutput {
11648	s.DBCluster = v
11649	return s
11650}
11651
11652type StartDBClusterInput struct {
11653	_ struct{} `type:"structure"`
11654
11655	// The identifier of the cluster to restart. Example: docdb-2019-05-28-15-24-52
11656	//
11657	// DBClusterIdentifier is a required field
11658	DBClusterIdentifier *string `type:"string" required:"true"`
11659}
11660
11661// String returns the string representation
11662func (s StartDBClusterInput) String() string {
11663	return awsutil.Prettify(s)
11664}
11665
11666// GoString returns the string representation
11667func (s StartDBClusterInput) GoString() string {
11668	return s.String()
11669}
11670
11671// Validate inspects the fields of the type to determine if they are valid.
11672func (s *StartDBClusterInput) Validate() error {
11673	invalidParams := request.ErrInvalidParams{Context: "StartDBClusterInput"}
11674	if s.DBClusterIdentifier == nil {
11675		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
11676	}
11677
11678	if invalidParams.Len() > 0 {
11679		return invalidParams
11680	}
11681	return nil
11682}
11683
11684// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
11685func (s *StartDBClusterInput) SetDBClusterIdentifier(v string) *StartDBClusterInput {
11686	s.DBClusterIdentifier = &v
11687	return s
11688}
11689
11690type StartDBClusterOutput struct {
11691	_ struct{} `type:"structure"`
11692
11693	// Detailed information about a cluster.
11694	DBCluster *DBCluster `type:"structure"`
11695}
11696
11697// String returns the string representation
11698func (s StartDBClusterOutput) String() string {
11699	return awsutil.Prettify(s)
11700}
11701
11702// GoString returns the string representation
11703func (s StartDBClusterOutput) GoString() string {
11704	return s.String()
11705}
11706
11707// SetDBCluster sets the DBCluster field's value.
11708func (s *StartDBClusterOutput) SetDBCluster(v *DBCluster) *StartDBClusterOutput {
11709	s.DBCluster = v
11710	return s
11711}
11712
11713type StopDBClusterInput struct {
11714	_ struct{} `type:"structure"`
11715
11716	// The identifier of the cluster to stop. Example: docdb-2019-05-28-15-24-52
11717	//
11718	// DBClusterIdentifier is a required field
11719	DBClusterIdentifier *string `type:"string" required:"true"`
11720}
11721
11722// String returns the string representation
11723func (s StopDBClusterInput) String() string {
11724	return awsutil.Prettify(s)
11725}
11726
11727// GoString returns the string representation
11728func (s StopDBClusterInput) GoString() string {
11729	return s.String()
11730}
11731
11732// Validate inspects the fields of the type to determine if they are valid.
11733func (s *StopDBClusterInput) Validate() error {
11734	invalidParams := request.ErrInvalidParams{Context: "StopDBClusterInput"}
11735	if s.DBClusterIdentifier == nil {
11736		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
11737	}
11738
11739	if invalidParams.Len() > 0 {
11740		return invalidParams
11741	}
11742	return nil
11743}
11744
11745// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
11746func (s *StopDBClusterInput) SetDBClusterIdentifier(v string) *StopDBClusterInput {
11747	s.DBClusterIdentifier = &v
11748	return s
11749}
11750
11751type StopDBClusterOutput struct {
11752	_ struct{} `type:"structure"`
11753
11754	// Detailed information about a cluster.
11755	DBCluster *DBCluster `type:"structure"`
11756}
11757
11758// String returns the string representation
11759func (s StopDBClusterOutput) String() string {
11760	return awsutil.Prettify(s)
11761}
11762
11763// GoString returns the string representation
11764func (s StopDBClusterOutput) GoString() string {
11765	return s.String()
11766}
11767
11768// SetDBCluster sets the DBCluster field's value.
11769func (s *StopDBClusterOutput) SetDBCluster(v *DBCluster) *StopDBClusterOutput {
11770	s.DBCluster = v
11771	return s
11772}
11773
11774// Detailed information about a subnet.
11775type Subnet struct {
11776	_ struct{} `type:"structure"`
11777
11778	// Specifies the Availability Zone for the subnet.
11779	SubnetAvailabilityZone *AvailabilityZone `type:"structure"`
11780
11781	// Specifies the identifier of the subnet.
11782	SubnetIdentifier *string `type:"string"`
11783
11784	// Specifies the status of the subnet.
11785	SubnetStatus *string `type:"string"`
11786}
11787
11788// String returns the string representation
11789func (s Subnet) String() string {
11790	return awsutil.Prettify(s)
11791}
11792
11793// GoString returns the string representation
11794func (s Subnet) GoString() string {
11795	return s.String()
11796}
11797
11798// SetSubnetAvailabilityZone sets the SubnetAvailabilityZone field's value.
11799func (s *Subnet) SetSubnetAvailabilityZone(v *AvailabilityZone) *Subnet {
11800	s.SubnetAvailabilityZone = v
11801	return s
11802}
11803
11804// SetSubnetIdentifier sets the SubnetIdentifier field's value.
11805func (s *Subnet) SetSubnetIdentifier(v string) *Subnet {
11806	s.SubnetIdentifier = &v
11807	return s
11808}
11809
11810// SetSubnetStatus sets the SubnetStatus field's value.
11811func (s *Subnet) SetSubnetStatus(v string) *Subnet {
11812	s.SubnetStatus = &v
11813	return s
11814}
11815
11816// Metadata assigned to an Amazon DocumentDB resource consisting of a key-value
11817// pair.
11818type Tag struct {
11819	_ struct{} `type:"structure"`
11820
11821	// The required name of the tag. The string value can be from 1 to 128 Unicode
11822	// characters in length and can't be prefixed with "aws:" or "rds:". The string
11823	// can contain only the set of Unicode letters, digits, white space, '_', '.',
11824	// '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").
11825	Key *string `type:"string"`
11826
11827	// The optional value of the tag. The string value can be from 1 to 256 Unicode
11828	// characters in length and can't be prefixed with "aws:" or "rds:". The string
11829	// can contain only the set of Unicode letters, digits, white space, '_', '.',
11830	// '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").
11831	Value *string `type:"string"`
11832}
11833
11834// String returns the string representation
11835func (s Tag) String() string {
11836	return awsutil.Prettify(s)
11837}
11838
11839// GoString returns the string representation
11840func (s Tag) GoString() string {
11841	return s.String()
11842}
11843
11844// SetKey sets the Key field's value.
11845func (s *Tag) SetKey(v string) *Tag {
11846	s.Key = &v
11847	return s
11848}
11849
11850// SetValue sets the Value field's value.
11851func (s *Tag) SetValue(v string) *Tag {
11852	s.Value = &v
11853	return s
11854}
11855
11856// The version of the database engine that an instance can be upgraded to.
11857type UpgradeTarget struct {
11858	_ struct{} `type:"structure"`
11859
11860	// A value that indicates whether the target version is applied to any source
11861	// DB instances that have AutoMinorVersionUpgrade set to true.
11862	AutoUpgrade *bool `type:"boolean"`
11863
11864	// The version of the database engine that an instance can be upgraded to.
11865	Description *string `type:"string"`
11866
11867	// The name of the upgrade target database engine.
11868	Engine *string `type:"string"`
11869
11870	// The version number of the upgrade target database engine.
11871	EngineVersion *string `type:"string"`
11872
11873	// A value that indicates whether a database engine is upgraded to a major version.
11874	IsMajorVersionUpgrade *bool `type:"boolean"`
11875}
11876
11877// String returns the string representation
11878func (s UpgradeTarget) String() string {
11879	return awsutil.Prettify(s)
11880}
11881
11882// GoString returns the string representation
11883func (s UpgradeTarget) GoString() string {
11884	return s.String()
11885}
11886
11887// SetAutoUpgrade sets the AutoUpgrade field's value.
11888func (s *UpgradeTarget) SetAutoUpgrade(v bool) *UpgradeTarget {
11889	s.AutoUpgrade = &v
11890	return s
11891}
11892
11893// SetDescription sets the Description field's value.
11894func (s *UpgradeTarget) SetDescription(v string) *UpgradeTarget {
11895	s.Description = &v
11896	return s
11897}
11898
11899// SetEngine sets the Engine field's value.
11900func (s *UpgradeTarget) SetEngine(v string) *UpgradeTarget {
11901	s.Engine = &v
11902	return s
11903}
11904
11905// SetEngineVersion sets the EngineVersion field's value.
11906func (s *UpgradeTarget) SetEngineVersion(v string) *UpgradeTarget {
11907	s.EngineVersion = &v
11908	return s
11909}
11910
11911// SetIsMajorVersionUpgrade sets the IsMajorVersionUpgrade field's value.
11912func (s *UpgradeTarget) SetIsMajorVersionUpgrade(v bool) *UpgradeTarget {
11913	s.IsMajorVersionUpgrade = &v
11914	return s
11915}
11916
11917// Used as a response element for queries on virtual private cloud (VPC) security
11918// group membership.
11919type VpcSecurityGroupMembership struct {
11920	_ struct{} `type:"structure"`
11921
11922	// The status of the VPC security group.
11923	Status *string `type:"string"`
11924
11925	// The name of the VPC security group.
11926	VpcSecurityGroupId *string `type:"string"`
11927}
11928
11929// String returns the string representation
11930func (s VpcSecurityGroupMembership) String() string {
11931	return awsutil.Prettify(s)
11932}
11933
11934// GoString returns the string representation
11935func (s VpcSecurityGroupMembership) GoString() string {
11936	return s.String()
11937}
11938
11939// SetStatus sets the Status field's value.
11940func (s *VpcSecurityGroupMembership) SetStatus(v string) *VpcSecurityGroupMembership {
11941	s.Status = &v
11942	return s
11943}
11944
11945// SetVpcSecurityGroupId sets the VpcSecurityGroupId field's value.
11946func (s *VpcSecurityGroupMembership) SetVpcSecurityGroupId(v string) *VpcSecurityGroupMembership {
11947	s.VpcSecurityGroupId = &v
11948	return s
11949}
11950
11951const (
11952	// ApplyMethodImmediate is a ApplyMethod enum value
11953	ApplyMethodImmediate = "immediate"
11954
11955	// ApplyMethodPendingReboot is a ApplyMethod enum value
11956	ApplyMethodPendingReboot = "pending-reboot"
11957)
11958
11959// ApplyMethod_Values returns all elements of the ApplyMethod enum
11960func ApplyMethod_Values() []string {
11961	return []string{
11962		ApplyMethodImmediate,
11963		ApplyMethodPendingReboot,
11964	}
11965}
11966
11967const (
11968	// SourceTypeDbInstance is a SourceType enum value
11969	SourceTypeDbInstance = "db-instance"
11970
11971	// SourceTypeDbParameterGroup is a SourceType enum value
11972	SourceTypeDbParameterGroup = "db-parameter-group"
11973
11974	// SourceTypeDbSecurityGroup is a SourceType enum value
11975	SourceTypeDbSecurityGroup = "db-security-group"
11976
11977	// SourceTypeDbSnapshot is a SourceType enum value
11978	SourceTypeDbSnapshot = "db-snapshot"
11979
11980	// SourceTypeDbCluster is a SourceType enum value
11981	SourceTypeDbCluster = "db-cluster"
11982
11983	// SourceTypeDbClusterSnapshot is a SourceType enum value
11984	SourceTypeDbClusterSnapshot = "db-cluster-snapshot"
11985)
11986
11987// SourceType_Values returns all elements of the SourceType enum
11988func SourceType_Values() []string {
11989	return []string{
11990		SourceTypeDbInstance,
11991		SourceTypeDbParameterGroup,
11992		SourceTypeDbSecurityGroup,
11993		SourceTypeDbSnapshot,
11994		SourceTypeDbCluster,
11995		SourceTypeDbClusterSnapshot,
11996	}
11997}
11998